본문 바로가기

Security Indicator/Insight

Mola Mola와 위기의 인터넷

- zdnet 컬럼입니다.

학명 ‘Mola Mola’는 개복치를 뜻한다. 어류중에 가장 많은 알을 낳는 것으로 알려져 있다. 한번에 3억개 가량의 알을 낳는데 이는 성체로 자라는 수가 극히 드물기 때문이다. 서식지는 전 세계 온대·열대 바다에 걸쳐 분포하고 있다. 또한 한국의 전 해안에 걸쳐 나타나고 있다. 

 

필자는 지금의 인터넷 보안의 현 상황을 어쩌면 가장 잘 설명할 수 있는 것이 개복치이고, 개복치의 학명이 아닐까 생각한다. 한국어 발음으로 ‘몰라 몰라’라고 외면하는 상태쯤 될 것이다. 

 

보안에 관해 지금의 복잡하고도 위험한 상황을 이해하기 쉽도록 알리는 것에 대해 항상 고민해 왔다. 그러나 이 상황을 표현할 가장 적절한 예를 찾는 것이 너무나도 어려웠다. 그러나 지난 1년여 간의 관찰로 자료가 축적되고 계속 갱신해 왔기에 이제는 좀 더 많은 것을 설명 할 수 있을 것 같다. 

 

필자가 보는 위기의 인터넷과 개복치는 대체 무슨 관계가 있을까? 자 이제 시작해 보자. 

 

▲ 개복치(학명 `Mola Mola`)

■악성코드 감염 범위와 대상의 변화 

 

악성코드라는 개념은 더 이상 국지적이고 네트워크 단위로 한정된 위협이 아니다. 인터넷 활성화 이전에는 전파 도구가 한정적이라 지역에 특화된 악성코드들이 출현 할 수 밖에 없었다. 그러나 지금은 인터넷상에 무차별적으로 유포·감염되고 있는 상황이다. 

 

이 감염의 주요 매체로는 영역의 제한 없이 접근 할 수 있는 웹 서비스가(SNS도 동일하다)가 주된 통로로 사용 되고 있다. 오늘 발견된 새로운 악성코드는 1시간 이내에 전 세계에서 동일하게 발견 할 수 있다. 즉 감염의 주체가 국가나 지역이 아닌 언어권역, 소속, 취미에 의한 분류로 변경 되었다고 볼 수 있다. 

 

동일한 취미를 가지고 있거나 특정 소속에 속하거나 특정 언어권역에서 활발한 서비스의 경우, 악성코드의 감염대상은 그 권역으로 제한이 된다. 또 특정 그룹의 사람들만이 접근 하는 사이트가 있다면 그 각각을 공격하는 것보다 더 효과적인 것은 특정 사이트만을 공격하고 방문자들에게 악성코드를 설치하게 하면 된다. 이걸 타깃화된 공격이라고도 할 수 있다. 

 

오늘날 공격분류는 크게 두 종류로 볼 수 있다. 감염대상을 가리지 않는 무차별적인 유포와 특정대상만을 목표로 한 타깃화된 공격이 전부이다. 이중 타깃화된 공격은 이메일이나 PDF, 오피스 문서의 취약성을 이용해 공격을 시도한다. 무차별적인 유포는 스팸메일, 웹을 통한 악성코드 유포가 주류를 이룬다. 웜은 이미 네트워크 단계에서 증상이 판별 가능하고 지금은 위험순위가 낮다고 보아야 한다. 

 

전체의 악성코드 확산에 대한 현황과 분류에 대해서 가볍게 정리를 해보았다. 이번 컬럼에서 말하고자 하는 부분은 무차별적인 유포도구로 활용되는 웹 서비스 그리고 악성코드의 확산에 대한 현실적인 문제이다. 

 

개복치가 알을 3억개나 낳는 이유는 생존가능성을 높이기 위한 자연의 법칙이다. 3억 개의 알 중 성체로 자라는 것은 1~2개체뿐이다. 만약 모두가 성체로 자란다면 바다는 곧 개복치로 가득 차게 될 것이다. 바다는 자연 개체 조절이 되나 지금의 인터넷 환경은 천적은 부족한 반면, 생산력이 극도로 강한 악성코드로 가득 찬 바다이다. 특히나 우리나라는 더욱 더 심각하다. 

 

■악성코드의 바다 

사회활동을 하는 대부분의 사람이 인터넷을 사용한다. 웹이라는 매개체를 통해 서로 의견과 정보를 교환하고 경제 활동을 한다. 페이스북이나 트위터 같은 SNS도 거대한 웹 서비스 플랫폼일 뿐이다. 

 

이렇듯 모든 사람이 접근하고 활용하는 홈페이지에서 방문자에게 악성코드를 뿌리는 것은 공격자들이 효과를 극대화 할 수 있는 방법이다. 웹 서비스 자체를 보호하기 위해 많은 보안적인 도구와 수단들이 동원 되지만 공격기술은 진화하고 확산도 빠르다. 즉 보호하는 부분에 있어서 기술적 차이를 감당 할 수 없고 금새 무용지물이 된다는 말이다. 웹 서비스 자체의 보호는 늘 한계를 가질 수 밖에 없다. 

 

직접적인 공격으로 공격자는 웹 서비스들의 권한을 획득하고 지켜본다. 그리고 수십 혹은 수백이 될지도 모르는 웹 서비스의 권한을 가진 공격자는 이제 손쉽게 공격코드를 사용자에게 뿌리도록 소스를 변경 한다. 웹 서비스의 소스를 변경 한다는 것은 모든 방문자가 영향을 받는다는 말이다. 예를 들어 회원이 7억명인 페이스북 서비스의 공용모듈이 변경 된다면, 그 모든 회원이 영향을 받는다. 가능성만으로 따지자면 7억에 해당하는 좀비 가능 PC를 확보하는 것과 마찬가지이다. 

 

쉽게 말해 Mola Mola 한 마리씩을 웹 서비스에 올려 두는 것이다. 그리고 모든 방문자에게 친절하게도 사용자 환경에 맞는 하나씩의 알을 선사한다. 이제 이 알의 부화를 막을 수 있는 방법은 개인 PC에 설치된 보안도구 이외에는 없다. 그러나 이 보안도구에서도 감지가 되지 않도록 공격자는 이미 조치를 한 상황이다. 

 

결론적으로 모든 방문자들에게 뿌려진 모든 알들이 그대로 성체 (악성코드화)로 커가는 것을 의미한다. 인터넷 비사용자를 제외하고 모두가 노출 될 수밖에 없는 상황이다. 어도비 사의 플래시 업데이트는 왜 이리도 잦은 것일까? 보안 업데이트는 이리도 많고 문제는 끊임없이 나온단 말인가? 

 

■다형성(Polymorphism) 그리고 '나 몰라(Na Mola)' 

 

악성코드 한 종류만 내려 온다면 문제는 쉽다. 그러나 상황은 그렇지 못하다. Mola Mola만 올려서 알을 뿌리는 것이 아니라 수시로 어종을 바꾸어 다른 종류의 알(악성코드)을 뿌려댄다. 올해 3월 이전까지는 3일 간격으로 다른 종류를 유포 하였으나 3월 이후에는 주말에만 유포를 한다. 그것도 순식간에 다른 종류로 바꾸기를 거듭한다. 

 

여기에서 뿌려지는 각각의 악성코드들을 어류에 비교하여 이름 붙이자면 학명으로 ‘Na Mola’ 정도 되지 않을까? 이는, 한국어 발음으로, 현재의 대응 상태와도 연관이 있다. 

 

백신업체들은 여기 뿌려지는 알들 각각을 상대한다. 분석과 제품업데이트에만도 많은 시간이 소요됨에도 불구하고 업데이트가 일어날 때쯤이면 이미 공격자들은 다른 종류의 알을 뿌리기 시작한다. 다시 처음부터 반복이 된다. 그만큼 공격자들이 가진 다양한 제작도구들과 백신이나 보안도구들의 회피로직들이 손쉽게 적용 되고 있고 효과적임을 의미한다. 인터넷 환경에서는 재앙과도 같은 일이다. 

 

▲ 한국을 대상으로 악성코드 설치에 사용되는 공격코드 중 하나(비유적으로 알을 가진 개복치쯤 된다). 전 세계 42개 주요 백신 중 단 3개만 탐지되고 있다. 

백신에서 탐지를 못하는 것은 APT(지능형지속가능공격)이고 정체를 모르면 무조건 어디의 소행이라는 것은 지금의 시대에 맞지 않다. 현재의 상황에 비추어 보자면 지금도 최소 수십 만개의 APT들은 사용자들의 PC에 안착되어 있는 상황이다. 발견될 때마다 APT라고 할 것인가? 똑같은 기능으로 목적만 다르게 활용하는건데 사건이 커지면 APT라하고 아니면 그냥 신규 악성코드인가? 

 

한계를 인정해야만 하고 역할과 기능의 차이점에 대해서 이해를 해야 하는데 아직 부족해 보인다. 책임전가는 오래가지 못한다. 역할분담과 협력을 해야하는 것이지 모든것을 다 하겠다는 것은 지금과 같은 위험의 시대에 현실인식이 없는 것과 마찬가지이다. 

 

사이버 상의 위험을 더 이상 단순한 계정탈취나 개인정보 유출의 문제로만 국한해서는 곤란하다. 이미 우리는 발전소를 위협하는 공격을 이미 목격 했고 올해에도 어떤 원인에서든 전력, 금융에 관련된 치명적 문제들을 확인 할 수 있었다. 즉 더 이상 사이버상의 위협은 사이버상에 국한되지 않는다는 것이다. 

 

■그렇다면 어떻게 대응해야 할까? 

 

국내 PC 환경에서 Flash Player가 깔리지 않은 비율은 5%도 되지 않을 것이다. 플래쉬를 배제한 애플사의 운영체제를 제외한 모든 곳에서 문제가 발생된다. ActiveX? 말을 말자. 지금의 문제는 플래쉬다. 사용자 PC에 설치된 플래쉬 플레이어의 취약성을 이용해 공격자는 소리소문 없이 새로운 악성코드들을 다운로드 받게 하고 시스템을 조정한다. 또한 이 악성코드들은 수시로 변경이 되고 새로운 종이 되기도 한다. 어떻게 해야만 대응이 가능한 것인가? 

 

단순한 비유로 예를 들자. 알은 퍼져 나간 상태에서 일일이 대응을 한다는 것은 정말로 어려운 이야기이다. 공격자는 단 한번의 클릭으로 악성코드의 종류를 변경하고 대규모로 유포하고 있다. 알과 같은 악성코드들은 퍼져 나가기 전에 대응을 해야 하고 근본적으로는 웹 서비스에 상주된 Mola Mola(악성코드 유포 경로)류의 위험이 더 이상 들어오지 못하도록 지속적이고 끊임 없는 노력을 해야만 문제 해결이 가능하다. 들어온 이후에는 피해를 최소화 할 수 있도록 빠른 인지가 되어야 할 것이고 대응이 되어야 위기 상황이 진정 될 것이다. 

 

지금과 같이 확산된 이후에 사후 대응을 하는 것은 “Na Mola(나 몰라!)” 이외에는 아무 것도 아닌 것이다. 확산을 최소화하기 위해 웹 서비스가 공격자에 의해 변형 되는 초기 단계에서 인지하고 대응을 해야 하며 더 이상 변형이 일어나지 않도록 문제를 계속적이고 끊임없이 보강해야 한다. 인터넷의 바다에 맞닿아 있는 모든 웹 서비스들은 동일한 과제를 지녀야만 문제를 해결 할 수 있다. 

 

근본적으로는 악성코드들이 대규모로 사용자 PC에 유포되기 이전에 초기 대응을 해야만 이 위기 상황 속의 인터넷을 견뎌 나갈 수 있을 것이다. 다시 한번 말하지만 퍼지고 난뒤에는 어떤 경우라도 수습이 어렵다. 

 

서비스를 운영하는 회사의 경우 생활과도 같은 점검을 모든 노출 웹서버에 대해 하지 못하면 1단계에서는 현대캐피탈 , 2단계에서는 소니, 3단계에서는 농협의 사례를 맞이하게 될 것이다. 그만큼 지금의 상황은 당장 공격자들이 점령군 행세를 해도 어쩔 수가 없는 위중한 상황이다. 

 

2007년에 IT서비스의 위험과 향후 대응에 대해 정리를 해두었다. 5년이 지난 지금조차도 대응은 여전히 더디고 제자리 상태다. (http://p4ssion.com/199

 

가장 뛰어난 사냥꾼은 쫓아 다니는 것이 아닌 길목에서 기다리는 사냥꾼이다. 지금은 발자국만 보고도 전부 허둥지둥 하지는 않는가? 전략이 절대적으로 필요한 시기이다. 다음에는 공격자들의 전략변화와 위기를 헤쳐나갈 준비된 해결 방안에 대해서 쓰도록 한다. ‘나 몰라’라 해서는 안 되는 것이다.