보안

악성 프로그램과의 20년 투쟁사①

Steven J. Vaughan-Nichols | Computerworld 2008.06.30
1988년 11월 2일 나사 고다드 우주비행센터의 아침은 여느 날과 다를 바 없었다. 당시 나는 데이터 통신팀에서 일하고 있었는데, 고요한 시작과는 달리 그 날 오후 정말 잊을 수 없는 사건이 발생했다. 엄밀히 말해 그 날은 ‘끝’이 없는 날이었었다고 해도 과언이 아니다. 그 날, 우리 부서 전체는 서버와 네트워크를 살리기 위해 밤새 고군분투했다. 그럼에도 불구하고 인터넷과 연결되어 있었던 SunOS와 VAX/BSD 서버는 점점 작동 속도가 느려지더니 결국은 멈춰버리고 말았다.

우리는 그 때 시스템이 멈춰 버린 것도 모른 채 인터넷으로 유포되는 최초의 악성 프로그램인 로버트 모리스 인터넷 웜을 상대로 열심히 싸웠다. 잊을 수 없는 그 날, 24시간을 꼬박 바친 뒤에야 캘리포니아 대학에서 개발한 패치를 받아 온라인으로 복구를 할 수가 있었다.

알고 보니, 모리스 웜의 공격은 고의적인 것은 아니었다. 모리스 웜은 그저 지금보다 훨씬 작은 규모였던 당시의 인터넷을 마비시켜버릴 정도의 빠른 속도를 가진 복제 버그가 들어 있는 자기복제 프로그램이었을 뿐이었다. 이것이 거의 20년 전의 일이었고, 결국 로버트 모리스 주니어가 그 같은 대혼란을 일부러 의도한 것은 아니었다는 게 밝혀지긴 했다. 그는 그저 인터넷에 연결된 시스템이 몇 개나 되는지 알고 싶었을 뿐이었다.

이와는 달리 오늘날의 악성 프로그램들은 눈에 보이는 피해는 과거보다는 덜하지만 훨씬 더 교묘하게 우리를 괴롭히고 있다. 21세기의 해커들은 실력 과시를 위해 악성 프로그램을 만들거나 사악한 재미를 만끽하기 위해 시스템을 파괴하지는 않는다. 요즘은 다른 사람의 시스템으로 숨어들어가 개인 정보나 PC 자원을 빼돌려 팔기 위해 악성 프로그램을 만들고 있다. 바야흐로 자본주의 해킹의 시대로 접어든 것이다.

이에 맞서기 위해 보안업체들은 안티멀웨어 프로그램을 내놓고 있다. 우리는 네트워크와 컴퓨터, 그리고 개인정보를 둘러싼 해커와 보안업체 간의 꼬리에 꼬리를 무는 싸움에 갇혀버리고 만 것이다. 현재로서는 나쁜 놈들이 이기고 있는 것으로 보인다. 악성 프로그램이 전보다 훨씬 더 많아졌으니 말이다.

지치지 않는 도전자
어쩌면 맬웨어, 즉 악성 프로그램이라는 말은 정확한 용어가 아닐지도 모르겠다. 과거의 바이러스나 웜들은 치고 빠지는 양상의 공격을 했다. 들어와서 잽을 몇 번 날리고는 잡혀서 삭제되기 전에 다른 PC로 도망가는 것이었다. 그러나 요즘의 침투 프로그램들은 시스템에 몰래 비집고 들어와 제멋대로 시스템을 조종하면서도 파일이나 컴퓨터 자체에는 피해를 주지 않도록 만들어진다. 2000년에 유행했던 유명한 컴퓨터 바이러스인 아이러브유(ILOVEYOU) 같이 윈도우 시스템의 파일들을 파괴하는 식의 파괴적인 방법은 더 이상 쓰이지 않는다.

요즘의 악성 프로그램은 중요한 비밀번호나 신용카드 번호를 낚아채고, 피해자의 PC를 새벽 두 시에 스팸을 생성해내는 스팸제조기로 만들어버리거나 혹은 해당 시스템 하드웨어가 아닌 다른 사용자들에게 피해를 가하고 데이터를 손상시키기 위해 숨어 들어와 기회를 노리며 한참을 엿보기만 하곤 한다. 최후의 타깃은 현재의 컴퓨터가 아닐 수 있다.

사실인지 아닌지 증명은 어렵지만, 아무튼 사람들을 더욱 심란하게 만드는 루머가 또 하나 있다. 바로 조직적인 사이버범죄 집단이 아닌 테러리스트나 정부 기관이 앞잡이로 일하는 악성 프로그램도 있다는 소문이 그것이다. 지난 해 발틱해에 위치한 에스토니아의 웹사이트가 대규모 DDoS (Distributed Denial of Service) 공격을 받은 적이 있는데, 러시아 해커 집단의 소행으로 여겨지고 있다.

그렇다고 멜리사나, 아이러브유, 사서(Sasser)같은 바이러스들이 입힌 피해가 전처럼 엄청난 게 아니었다는 말은 아니다. 피해는 엄청났었다. 하지만, 이용자들은 상대적으로 적고 간단한 예방책들을 통해 이들 바이러스의 감염을 피할 수 있었다. 이메일에 첨부된 실행 파일을 절대로 열지 않는다든가 하는 식으로 말이다. 극단적으로는 시스템을 취약하게 만들 수 있는 이메일 클라이언트인 아웃룩을 절대 안쓰는 방법도 있다. 하지만 그렇게까지 하지 않아도 최신 바이러스 탐지 프로그램을 사용하고 안전하게 이메일을 사용한다면 괜찮다.

그렇다고는 해도, 그 때와 같은 위험들은 여전히 도처에 도사리고 있다. 심혈을 기울여 구축한 내 컴퓨터의 안티바이러스 시스템에서도 여전히 2005년에 유행했던 postcard.exe 같은 프로그램들이 왕왕 탐지된다. 불과 얼마 전까지도 말이다. 이런 형식의 구식 트로이목마가 아직도 존재한다는 것은 매 분마다 이런 악성 프로그램이 탄생한다는 사실을 시사한다. 유력 용의자들이 유독성 첨부파일을 담고 있는 이메일을 날릴 때마다 발생하는 바이러스 감염의 홍수를 생각해 볼 때, 언제고 흔하게 받아 보는 스팸 메일에도 원치 않는 "무언가"가 얹혀 있을 수도 있음을 의심해 볼 수 있다. 그럼에도 불구하고 여전히 사람들은 반짝거리며 지나가는 개체가 있으면 클릭하게 마련이다. 소환영장이 첨부되었다는 제목의 메일을 특정 타깃에게 발송해 C 레벨 임원들을 낚으려는 "스피어피싱"이 최근 기승을 부리고 있는 것도 이러한 무심한 클릭질이 대기업에서도 자행될 수 있다는 것을 보여준다.

그러나 진짜 문제는 스톰 어택과 같은 골칫거리들을 수동으로 찾아내는 손쉬운 방법이 21세기 악성 프로그램에는 통하지 않는다는 것이다. 오늘날의 악성 프로그램은 과거처럼 요란뻑적지근하게 시스템에 침투하지 않는다. 대신 XSS(cross-site scripting)가 들어 있는 해킹된 사이트나 CSRF(cross-site request forgery)가 숨겨진 링크가 방문객에 의해 추가된 무방비 상태의 소셜 네트워킹 사이트를 방문할 때 이메일 첨부파일이나 삭제 가능한 미디어의 형태로 시스템에 슬쩍 흘러 들어온다. 링크로 보여지는 것을 클릭하면 (실제로 원하는 웹페이지가 나타날 수도 있다), 뒤 이은 작업을 하는 사이 PC는 자기도 모르는 사이에 최신 어택 코드를 다운받거나 저장된 쿠키들을 도난당하게 되는 것이다.

한 가지 더. 최근 급증하는 매킨토시의 인기도 비단 아군들만의 전유물이 아니다. 최근 CanSecWest의 Pwn 2 Own 대회에서 매킨토시를 상대로 참가했던 해커들이 승리를 거둔 바 있는데, 맥북에어(MacBook Air)의 보안이 윈도우 비스타보다 먼저 뚫려 모두를 놀라게 했다. 이는 윈도우 사용자들이 수년간 겪어온 문제로부터 자유로울 것으로 생각되어 온 플랫폼들도 더 이상 안전하지 않다는 것을 보여준다. 그럼 그 다음은 뭐냐고? 전문가들은 대부분 모바일 기기 이용자들을 타깃으로 하는 악성 프로그램이 판칠 날이 머지않았다고 보고 있다.

지치지 않는 수비팀
시만텍에 따르면, 현재 알려진 모든 악성 프로그램들 중 거의 2/3에 해당하는 숫자가 2007년에 발견된 것이라고 한다. 그러니 2008년에는 얼마나 더 많은 악성 프로그램이 등장할지 불 보듯 뻔하다. F-Secure의 아태지역 총괄 부사장인 자리 헤이노넨(Jari Heinonen)은 2009년 말에 알려진 바이러스와 트로이목마의 총 개수가 100만 고지를 넘어설 것이라고 내다보고 있다. 하지만 몇몇 보고서는 이미 100만 고지가 돌파되었다고 주장한다. 어쨌든 신종 악성 프로그램은 전보다 훨씬 발견도 어렵고, 보안 프로그램 개발자들은 숫자도 숫자지만, 전혀 새로운 종류의 악성 프로그램과 계속 새로운 싸워야 하는 고충을 겪게 되었다.

전에는 안티바이러스 프로그램의 임무라고 해 봤자 바이러스의 단순한 시그니처, 버그의 실행 코드에서 파생한 독특한 수열을 감지해 침입자를 식별해내서 폭파시켜버리는 것이 다였다. 그 당시에는 그랬다. 그런데, 지금도 그렇다. 오늘날 존재하는 좀 더 자존감 있는 프로그램은 다형화(Polymorphic) 프로그램이라고 한다. 이 용어는 안티바이러스 프로그램에서 동일한 것으로 인식하지 못하게 하기 위해 악성 프로그램이 스스로를 계속 변형한다는 것을 좀 멋있게 표현한 말인데, 이들 프로그램들은 점점 더 서버쪽 다형화를 애용하는 추세, 다시 말해 이미 변이가 진행된 시스템에 감염이 일어나는 것이어서 안티바이러스 패키지에서는 변이 엔진의 코드가 들어있다는 것을 전혀 감지조차 하지 못한다.

또 다른 흔한 악성 프로그램의 트릭은 압축 프로그램을 이용해 최신 버그를 위장하는 것인데, 파일 압축 및 압축풀기에 흔히 사용되는 Zip 유틸리티처럼 보이는 프로그램을 이용해 불순한 프로그램을 식별 불가능한 포맷으로 압축해버리는 것이다. 그렇게 하면, 향후 적절한 시간에 버그는 스스로 압축을 풀고, PC를 엉망진창으로 만들기 시작한다. 새로 부상하는 또 다른 위장술에는 암호화와 스크립트 기반의 공격, 난독화(Obfuscation) 등이 있다.

보안 프로그램 개발자들은 계속해서 다형화되고 압축되고 암호화되고 또 난독화된 다양한 악성 프로그램에 대항하기 위한 무기로 시그니처를 사용한다. 짐작하겠지만, 쉬운 일이 아니다. 오늘날의 안티바이러스 업체들은 주 7일 24시간 내내 가동하며 보안 프로그램을 위한 최신 시그니처를 만들어내고 있다.

악성코드에 대처하는 효과적이고 현대적인 방법은 프로그램의 겉모습을 보는 게 아니라 그 프로그램에 어떤 일을 할 수 있는 지를 살피는 것이다. 이러한 기술을 경험적 지식 (Heuristics) 이라고 한다. 이 용어는 "경험에 의해 터득한 법칙"이라는 뜻의 그리스어에서 유래된 것으로, 인간의 뇌에서 수행되는 상식과 창의력의 조합이라고 할 수 있다. 보안 소프트웨어로서의 우리의 "뇌"는, 단순한 패턴 매칭이 아닌 행동법칙의 적용을 수반한다.

예를 들어, 보안 프로그램이 사용자의 명령 없이 아웃룩이나 지메일 주소록을 열어볼 수 있는 새로운 프로그램을 검색해 냈다고 가정해 보자. 보안 프로그램은 이렇게 혼잣말을 하지 않을까? "음..이거 안 좋아 보이는데..."

가능한 또 다른 방법은 의심스러운 프로그램에 가상 공간을 부여해 시스템 내의 다른 공간으로부터 격리하는 것이다. 이러한 방법을 샌드박스라고 하는데, 해당 프로그램이 어떤 작용을 하는지 보기 위해 가상 공간에서 실행시켜보는 것이다. 실행시켜 봤더니 내 재무 관련 파일들을 가지고 수상한 짓을 하더라, 하면 악성 프로그램으로 보면 된다. 어떤 프로그램들은 샌드박스에 대비가 되어 있는 것들도 있고, 어떤 프로그램들은 관리자 설정이 필요하기도 하다.
함께 보면 좋은 콘텐츠

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.