d라이브러리









PART1 컴퓨터 바이러스는 살아있다

사이버 생명 20년사

1986년 1월, 파키스탄에서 세계 최초의 사이버 생명이 탄생했다. ‘브레인’(Brain) 바이러스라는 이름이 붙은 이 사이버 생명은 360KB 플로피 디스크에만 감염할 수 있는 원시적인 존재였다. 그러나 그 뒤로 바이러스는 마치 생물처럼 진화를 거듭하며 번성과 멸종을 거듭했다.

점점 교묘해지고 강해진 바이러스는 이제 컴퓨터 안에 갇혀있지 않고 밖으로 나왔다. 그로부터 정확히 20년이 지난 지금, 컴퓨터 바이러스는 기종과 운영체제를 뛰어넘어 사이버 세계를 자신들의 코드로 뒤덮었다. 그 짧은 진화의 역사 동안 어떤 일이 일어난 것일까.

표본실의 바이러스

브레인 바이러스가 탄생하기 전에도 사이버 생명과 비슷한 존재는 있었다. 1970년대 초 미국 국방성 네트워크에서 발견된 ‘크리퍼’(Creeper)라는 프로그램이다. 그러나 크리퍼는 자신의 코드를 복사할 뿐, 파일을 지우는 파괴 활동은 하지 않았다. 자기 복제 기능만을 갖춘 원시 핵산(DNA나 RNA)과 비슷한 존재였던 셈이다.

이 사이버 DNA에 담긴 유전정보가 진화해 브레인 바이러스처럼 공격 능력을 갖추는데 10여년이 걸렸다. 사이버 세상의 진화는 이처럼 처음엔 느리게 시작됐다.

브레인 바이러스는 1988년 봄부터 세계로 퍼져나가기 시작했다. 플로피 디스크 외에는 다른 경로가 없었기 때문에 확산에 2년이나 걸렸다.

이때 브레인처럼 부트 섹터(boot sector)를 감염시키는 부트 바이러스와 COM, EXE 확장자를 가진 파일에 감염하는 ‘예루살렘’(Jerusalem) 같은 파일 바이러스가 생겨나 컴퓨터 바이러스의 원생대(1986년~1987년)를 열었다. 그러나 단순한 감염 기법만 가졌던 이들은 환경이 바뀐 오늘날 완전히 멸종돼 연구실(백신 업체의 보관실)에 표본(디스켓)으로만 남아있다.

1988년 안철수 박사가 한국 최초의 백신 프로그램 ‘V3’를 개발해 바이러스의 숙주인 컴퓨터에 면역 시스템이 갖춰졌다. 바이러스 세계에서도 백신 프로그램을 피하기 위해 다양한 진화가 이뤄졌다.

이때가 바이러스의 고생대(1987년~1995년)다. 암호로 무장해 백신을 피하는 암호화 바이러스와 컴퓨터를 감염시키고도 정상인 것처럼 위장하는 은폐형 바이러스가 나타났다. 감염할 때마다 다른 암호화 기법을 사용하는 ‘V2PX’라는 다형성(polymorphic) 바이러스가 등장했고, 분석을 어렵게 만드는 코드를 삽입한 갑옷형 바이러스까지 나왔다. 에이즈 바이러스가 면역 세포의 공격을 피하기 위해 표면 단백질을 바꾸는 것과 비슷한 방법이다.

생물의 진화에서도 고생대는 급격한 진화가 일어나 다양한 종이 형성된 시기다. 1993년 3월까지 세계적으로 3000종이 넘는 바이러스가 발견됐다.

월드와이드웹(WWW) 기술이 발전하면서 고생대 후기에는 인터넷을 타고 확산되는 최초의 바이러스인 ‘Kaos4’가 발견됐다. 바이러스가 조금씩 컴퓨터 밖으로 나오기 시작한 것이다.

윈도 95, 인터넷과 이메일이 대중화 된 중생대(1996년~2000년)는 다양한 모습의 바이러스가 번창한 시대다. 마이크로소프트 ‘워드’와 ‘엑셀’의 매크로(macro) 기능을 이용해 퍼지는 바이러스가 나왔다. 최초의 윈도 바이러스도 이때 나왔다.

1999년 2월에는 이메일 첨부 파일로 배달되는 최초의 웜 ‘멜리사’(Melissa)가 등장했다. 멜리사는 인터넷을 타고 순식간에 퍼져 ‘인터넷 흑사병’이라는 별명을 얻었다. 2000년 ‘러브레터’(Love_Letter) 웜은 성적 접촉을 통해 감염하는 매독균처럼, 이메일에 ‘I Love You’라는 제목을 달고 사람의 심리를 노려 번식에 성공한 특이한 종이었다.

중생대가 끝날 무렵, 윈도 2000이 등장하며 다시 한 번 세대교체가 일어난다. 한편 고생대까지 활발히 번식하던 도스 바이러스는 쇠퇴해 멸종의 길을 걷기 시작했다.

더 빨리, 더 멀리, 더 많이

신생대(2001년~2006년)에는 혁명적인 변화가 일어났다. 고도로 진화한 컴퓨터 바이러스는 드디어 컴퓨터 밖으로 뛰쳐나와 모바일 기기로 서식처를 넓혀갔고, ‘악랄한’ 기법을 서슴없이 구사했다.

2001년 7월엔 파일이 아닌 메모리 형태로만 존재하는 ‘코드레드’(Code Red)웜이 나왔다. 이 웜은 백도어(back door)까지 설치해 해킹과 바이러스의 경계를 모호하게 만들었다.

2003년 인터넷에 접속하는 것만으로도 감염되는 ‘블래스터’(Blaster) 웜이 등장했다. 시스템의 취약점을 이용해 침투하기 때문에 치료되지 못한 PC가 몇 대만 남아있어도 시스템이 다시 감염될 수 있어 ‘바이러스는 백신으로 치료하면 끝’이라는 개념을 완전히 바꿨다.

2004년 1월 탄생한 ‘마이둠’(Mydoom) 웜은 역사상 가장 빨리 전파된 악성코드다. 이때 세계적으로 100만대 이상의 컴퓨터가 앓아누웠다. 특히 ‘베이글’ ‘넷스카이’ 웜과 함께 서로를 공격하거나 치료해주는 등 여러 변종을 만들어내며 ‘웜 삼총사’로 사이버 세상을 누볐다.

2004년부터 바이러스는 완전히 다른 목적을 갖고 세상에 나왔다. 지금까지 바이러스의 ‘존재의 이유’가 프로그래머의 실력을 과시하기 위한 것이었다면, 게임 아이템을 빼내 팔기 위한 ‘리니지 핵’ 등 돈을 목적으로 태어난 악성코드가 점점 늘어났다. 광고를 보여주는 애드웨어(Adware)와 개인 정보를 빼내는 스파이웨어(spyware)도 나타났다.

최근엔 스파이웨어 치료 프로그램들이 서로를 스파이웨어로 인식해 공격하는 일도 생겼다. 면역세포가 자기 조직을 적으로 알고 공격하는 자가 면역 질환과 비슷한 현상이 사이버 세계에 나타난 것이다.
 

전파식별(RFID) 태그. 최근 여기에 악성코드를 집어놓는 시도가 성공했다. 사이버 생명의 영역은 계속 확장되고 있다.


종(種)을 가리지 않고 달려드는 악성코드

이제 컴퓨터 밖으로 나온 바이러스는 현실 세상을 돌아다니고 있다. 디스켓 하나뿐이던 악성코드의 감염 경로는 이제 인터넷, 이메일, 공유 폴더, 메신저 등으로 다양해졌다.

그뿐인가. 휴대전화와 PDA, 나아가 게임기마저 바이러스의 공격에서 자유로울 수 없게 됐다. 새로운 모바일 기기가 생겨날 때마다 악성코드도 계속 생겨나고 있는 셈이다. 최근엔 악성코드가 출현하는 즉시 확산돼 피해를 입히는 제로 데이(zero day) 공격까지 나타났다.

2004년 6월 휴대전화를 공격하는 ‘카비르’(Cabir) 웜을 시작으로, 2005년 3월에는 감염된 휴대전화에 저장된 번호로 악성코드를 퍼뜨리는 ‘컴워리어’(CommWarrior)라는 악성코드가 등장했다.

바이러스의 감염 대상은 지금도 급속도로 확장되고 있다. 2005년 10월엔 인터넷 연결 기능을 갖춘 휴대용 게임기인 소니의 PSP와 닌텐도의 DS에서 작동하는 트로이 목마까지 나타났다. 지난 3월에는 악성코드가 PC와 PDA를 한꺼번에 감염시키는 이종(異種) 감염 사례도 보고돼 관심을 끌었다.

최근엔 악성코드가 전파식별(RFID) 태그를 파고들 수 있다는 연구 결과까지 나왔다. ‘뉴 사이언티스트’는 3월 17일 네덜란드 브리제대 연구팀이 RFID 태그에 악성코드를 집어넣는데 성공했다고 소개했다. RFID 태그는 각종 제품의 정보가 담긴 작은 칩을 부착해 무선으로 인식할 수 있도록 만든 장치로, 크기가 작아 바코드나 교통카드를 대체할 수 있고 사람에도 이식할 수 있다. 만약 웜에 감염되면 교통카드의 잔액이 빠져나가거나 개인의 건강기록이 노출될 수도 있다.

돈벌이 도구로 변신한 바이러스

중생대까지 해킹과 바이러스는 서로 별개의 분야였다. 그러나 이젠 바이러스가 시스템에서 자신을 복제한 다음 네트워크를 통해 이웃한 다른 시스템까지 공격하고 있다. 완전히 자동화된 해킹 기법이다. 따라서 피해도 감염된 PC 한 대로 끝나지 않고 치료할 때까지 계속 커진다.

왜 이런 악성코드가 생겨나는 걸까. 보안업체 시만텍은 지난 3월 발표한 ‘인터넷 보안 위협 보고서’에서 “최근 가장 많은 공격 대상이 된 것은 금융 서비스”라며 “지난 해 보고된 상위 50개의 악성 코드 중 80%가 중요한 핵심 정보를 유출시키는 것”이었다고 밝혔다. 금전적 이득을 위해 금융정보나 회사 기밀을 훔치는 일이 증가하고 있는 것이다.

최근 사이버 세계에는 ‘풍토병’이 번지고 있다. 사스(SARS)처럼 무차별적으로 넓게 확산되던 악성코드가 아프리카에서만 집중적으로 발생한 에볼라(Evola) 바이러스처럼 조금씩 국지성을 띠게 된 것이다. 실제로 한두 곳에서만 보고된 악성코드의 수가 계속 늘어나고 있다.

세계적으로 퍼진 악성코드는 곧 사방에서 공격받지만, 한 곳만 공격하는 악성코드는 추적하거나 대처하기 무척 어렵다. 이 가운데 많은 경우가 금전적 목적으로 은행이나 기업 등 특정 대상을 겨냥한 것이기 때문에 큰 피해를 입힐 가능성이 높다. 물론 한국도 사이버 세계에선 풍토병 위험지역이 될 수 있다.

안철수연구소에 따르면 2006년 현재 15만종 이상의 사이버 생명이 지구를 뒤덮고 있다. 이들 가운데 일부는 멸종 위기에 놓여있고, 반대로 긴 시간 동안 성공적으로 번창해 온 종도 있다. 똑똑한 바이러스들은 컴퓨터 밖으로 나와 모바일 기기나 전자 태그까지 파고들었다.

앞으로는 어떤 바이러스가 살아남을까. 사이버 세상의 법칙은 ‘적자생존’(適者生存)이 아닌 ‘혁자생존’(革者生存)이다. 컴퓨터 환경이 변할 때마다 가장 빨리 취약점을 발견하고, 가장 강력하고 혁신적인 방법으로 침투하며, 새로운 영역으로 퍼져나가는 바이러스만이 성공했다. 그리고 그 희생자는 이제 당신이 될지도 모른다.
 

2004년 영화 '트로이'에 등장한 트로이 목마의 모습. 최근 금융 사기를 목적으로 정상 프로그램을 가장한 악성코드가 늘어나고 있는 추세다.


악성코드 구분

지금은 바이러스를 악성코드(malicious code)의 한 종류로 분류한다. 악성코드는 바이러스, 웜(worm), 트로이 목마(Trojan horse)로 나눌 수 있다. 바이러스는 다른 프로그램에 자신의 코드를 덧붙여 번식한다. 웜은 다른 프로그램을 감염시키지 않고 스스로 자신을 복제해서 피해를 일으킨다는 점에서 박테리아와 비슷하다. 트로이 목마는 다른 파일을 감염시키지도, 자신의 복사본을 만들지도 않지만 정상적인 프로그램처럼 가장해 사용자에게 피해를 끼치는 프로그램이다. 목마 속에 숨어 있던 그리스 병사들이 트로이를 멸망시킨 것과 비슷한 방법을 사용해서 이런 이름이 붙었다.

백도어 : 해커가 시스템에 침입한 뒤 다시 쉽게 침입하기 위해 만들어 놓은 일종의 비밀통로. 원래는 관리자가 시스템에 쉽게 접속하기 위해 만들었지만 악성코드에서 악용된다.

제로 데이 공격 : 시스템의 취약점이 알려지고 난 뒤 하루도 지나지 않아 이를 공격할 수 있는 코드를 가진 바이러스가 바로 등장하는 것을 말한다.



▼관련기사를 계속 보시려면?

컴퓨터 밖으로 나온 바이러스
PART1 컴퓨터 바이러스는 살아있다
PART2 바이러스 버스터가 왔다
PART3 인간을 노리는 컴퓨터 바이러스

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2006년 04월 과학동아 정보

  • 이상엽 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 정보·통신공학
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?