본문 바로가기

Security_Space

우리들이 알거나 혹은 모르고 있는 바이러스의 진실

컴퓨터 바이러스 따라잡기


현재 ‘컴퓨터 바이러스’라고 불리는 악성 프로그램을 예방하기 위해 수많은 백신 프로그램과 그에 대한 대비책이 나와 있다. 하지만 아직도 바이러스 프로그램에 대해 정확히 인식하지 못하거나, 그것의 위험성에 대해 제대로 파악하지 못하고 있는 사용자 또한 많은 것이 사실이다. 그래서 이번 호에는 우리들이 잘 안다고 생각했지만 모르고 지나칠 수 있는 바이러스의 진실에 대해 이야기를 풀어보고자 한다.


컴퓨터 바이러스는 유기적인 생물체다?

 

컴퓨터 바이러스를 ‘바이러스 프로그램’이라고 한다면 이해하기가 훨씬 수월할 것이다. 그러나 그것은 덜 자극적인(?) 이름이라서 그런지 별로 사랑받지 못하고 있다. 누구는 또 그것을 ‘소프트웨어 AIDS’라고도 부르며 ‘쓰레기 프로그램(garbageware)’이라고 부르는 사람도 있다.


컴퓨터 바이러스란 컴퓨터에서 실행되는 프로그램의 일종이다. 그러나 이 프로그램은 다른 프로그램들과는 달리 사용자가 원하지 않는 이상한 기능을 수행한다. 즉, 생물학적으로 살아있는 바이러스가 사람이 전혀 원하지 않는데도 불구하고 침입해 들어와서는 인체 내에서 증식하는 것과 비슷하게 사용자가 원하지 않는데도 여러 경로를 통해 들어와서 여기 저기 이상한 기능을 수행하는 것이다.

 

컴퓨터 바이러스는 프로그램이 실행되면 사용자 몰래 그것과 똑같은 프로그램을 다른 곳에 복사하는 기능을 갖고 있다. 복사가 되지 않으면 널리 퍼질 수가 없기 때문이다. 살아있는 바이러스 또한, 자기 자신을 복제할 수 있는 유전 인자를 갖고 있어 몸 안에 바이러스의 수요가 많아지게 하고, 다른 사람들에게로 퍼지게 한다. 컴퓨터 바이러스라는 이름이 붙은 것도 이러한 유사점 때문이다.


또한, 컴퓨터 바이러스 중에는 이렇게 감염활동만 하고, 사용자에게 들키지 않게 잠복하고 있는 것도 있지만, 살아있는 바이러스 중에는 인체 내에서 증식할 뿐만 아니라 병을 일으키는 것들도 있듯이 컴퓨터 바이러스도 여기 저기 감염될 뿐만 아니라 하드디스크의 자료들을 지워버리는 등의 부작용을 가진 것들도 많다.


결론적으로 컴퓨터 바이러스란 ‘사용자 몰래 다른 프로그램에 자기 자신을 복사하는 프로그램’이라고 할 수 있다. 더 정확하게 정의를 내리자면 ‘컴퓨터의 프로그램이나 실행 가능한 부분을 변형하여 여기에 자기 자신 또는 자기 자신의 변형을 복사하는 명령어들의 조합’이라는 다소 어려운(?) 말로도 표현할 수 있다.


바이러스는 어떤 경로로 전파되나?


컴퓨터 바이러스에 감염된 프로그램을 실수로 실행시키면, 컴퓨터 바이러스도 일반 프로그램과 마찬가지로 컴퓨터의 기억장소에서 실행된다. 컴퓨터 바이러스는 원래 프로그램보다 먼저 동작을 시작한다. 그리고 다른 프로그램이 그 컴퓨터 바이러스에 감염되어 있는지를 확인한다.


만약 프로그램이 이미 감염되었다면 그대로 놓아두고, 감염되지 않았다면 자기 자신을 거기에 복사한다. 컴퓨터 바이러스가 볼 일(?)을 다 본 후에는 원래 프로그램을 실행시켜 준다. 따라서 사용자가 보기에는 원래 프로그램이 실행되기 때문에 컴퓨터 바이러스에 감염된 것을 모르고 지나치기 쉬운 것이다.


이렇게 해서 새로 감염된 프로그램은 다음에 실행시키면 같은 과정을 거쳐서 또 다른 프로그램을 감염시킬 수 있게 된다. 따라서 만약 하나의 프로그램이 감염되었다면 사용자가 모르는 사이에 컴퓨터 내의 거의 모든 프로그램에 컴퓨터 바이러스가 확산된다. 그리고 그 컴퓨터를 사용한 다른 사람의 디스켓으로도 옮겨가게 되는 것이다. 실제로 학원이나 학교 등에서 한 컴퓨터를 여러 사람이 공동으로 사용하는 경우 컴퓨터 바이러스가 전파될 확률은 높아진다.


또한, 감염되었다 하더라도 당장에 그 위력을 발휘하지 않고 잠복기를 가지는 바이러스들도 있다. 그것 또한 살아있는 바이러스의 성질과 닮은 데가 있다. 악명을 떨친 컴퓨터 바이러스 중에 예루살렘 바이러스(Jerusalem virus)라는 것이 있다. 다른 이름으로는 13일의 금요일 바이러스(Friday 13th virus)라고도 한다.


이것은 평소에 실행되는 여러 프로그램들을 감염시키기만 하다가, 13일의 금요일이 되면 실행되는 프로그램들을 모두 지워버리는 특징을 갖고 있다. 언론을 통해 많은 사람들에게 익히 알려진 미켈란젤로 바이러스(Michelangelo virus)라는 것도 평소에는 자기 증식 활동만 열심히 하다가 미켈란젤로의 생일로 알려진 3월 6일이 되면 하드디스크의 내용을 전부 파괴해 버리는 특징을 가지고 있다.


게다가 생물학적 바이러스가 널리 퍼지는 것처럼 컴퓨터 바이러스도 세계 각국으로 전파된다. 머나먼 불가리아에서 만들어진 컴퓨터 바이러스가 유럽, 미국을 거쳐서 국내로 들어오기도 하고, 남아프리카 공화국이나 폴란드에서 만들어진 것이 전 세계로 퍼지기도 한다. 최근에는 인터넷 등의 컴퓨터 통신망을 통해서 더욱 빠른 속도로 광범위하게 퍼져 나가고 있다.


컴퓨터 바이러스도 일종의 프로그램이기 때문에, 다른 프로그램에 자신을 감염되게 하기 위해서는 먼저 자신이 컴퓨터에서 실행되어야 한다. 만일 어떤 디스켓에 컴퓨터 바이러스가 감염되었다 하더라도 그것을 컴퓨터에 넣고 실행시키지만 않으면 다른 프로그램을 감염시킬 일은 절대로 없다.


그러므로 여러 사람들이 사용한다고 해서 감염이 예상되는 프로그램이 든 디스켓을 실행시키지 않거나 혹은 컴퓨터 바이러스가 감염되어 있는지 먼저 꼼꼼하게 살펴보아야 한다. 예를 들어 다른 곳에서 가져온 디스켓이라면 예외 없이 최신판 백신 프로그램을 먼저 실행시켜 조사한 다음에 사용해야 할 것이다.


가끔은 컴퓨터에 전혀 해가 없는 또는 오히려 득이 되는 바이러스도 있다?


간혹 어떤 사람들은 큰 피해를 일으키지 않고 장난으로 만든 컴퓨터 바이러스 정도는 귀엽게(?) 봐줄 수도 있지 않느냐고 말한다. 그러나 그렇게 쉽게 생각할 일은 절대 아니다. 생물학적인 미생물들 중에는 사람에게 이로운 일을 하는 것도 있지만, 컴퓨터 바이러스는 장난으로 만들었다고 하더라도 원래 컴퓨터가 수행해야 할 기능을 방해하는 존재일 뿐이다. 사람에게 이로운 컴퓨터 바이러스란 애초부터 존재하지 않는다.


따라서 바이러스는 기본적으로 사용자가 원하지 않는 행위를 하기 때문에 득이 되는 것은 있을 수 없다고 할 수 있다. 다만 치명적인 오작동을 유발하지 않고 특정 문자열을 출력하는 정도의 가벼운 증상을 보이는 바이러스는 있다.


컴퓨터 바이러스는 이메일(특히 첨부파일)만 조심하면 된다?


바이러스는 통신이 가능한 환경에서는 대부분 전파될 수 있다. 이메일은 물론 메신저, P2P 프로그램으로도 전파되며, LAN 환경에서는 네트워크 공유 폴더를 통해서도 전염된다. 또한, 보안에 취약한 웹사이트에 접속했을 경우 그 페이지에 심어져 있는 바이러스에 감염되기도 한다.


덧붙여 사용자의 PC에 설치된 OS나 웹브라우저에 보안 취약점이 있을 경우 이메일을 열기만 해도 감염될 수 있다. 심지어 일부 핸드폰으로 전파되는 웜도 있다. 동영상 플레이어를 설치하는 과정에서 몰래 설치되는 스파이웨어도 있으며, 블로그나 인터넷 카페 등에 게시물로 위장해 클릭시 설치되는 바이러스도 있다.


컴퓨터 바이러스는 인공지능이 있어 스스로 확산된다?


컴 퓨터 바이러스의 정의는 ‘사용자 몰래 다른 프로그램에 자기 자신을 복사하는 프로그램’이라고 할 수 있으며, 더 정확하게는 ‘컴퓨터의 프로그램이나 실행 가능한 부분을 변형하여 여기에 자기 자신 또는 자기 자신의 변형을 복사하는 명령어들의 조합’이라고 할 수 있다.


여기서 실행 가능한 부분의 예로는 오버레이(Overlay), 장치 구동기(Device Driver), 부트 레코드(Boot Record), 운영체제(Operating System) 등을 들 수 있다. 여기서 ‘자기 자신의 변형’이란 용어를 사용한 이유는 컴퓨터 바이러스에 따라서 자기 자신을 그대로 다른 곳에 복사하는 것이 아니라 자기 자신을 일부 변형시켜서 다른 곳에 복사하는 것도 있기 때문이다.


바이러스가 확산되는 것은 인공 지능이 있어서라기보다 사용자가 의도하지 않게 복사 명령을 실행하도록 만들어진 프로그램이기 때문이다. 근래에는 PC에 설치된 후 특정 인터넷 주소나 서버로 접속해 다른 바이러스를 내려받거나 다른 컴퓨터를 공격하도록 명령을 받아 DDoS 공격을 하기도 한다.


진단·치료하는 바이러스 개수가 많은 백신 프로그램이 성능이 좋은 것이다?


진단·치료하는 방식은 보안 제품마다 다르기 때문에 단순히 숫자만 갖고 판단하는 것은 무리가 있다. 예를 들어 바이러스가 아닌데도 불구하고 바이러스로 진단하는 오진이 많은 제품도 있는 것이다.


과거 인터넷이 발달하기 전에는 특정 지역에서만 출현했다가 사라진 바이러스도 많은데, 바이러스가 많이 등장했던 지역의 제품은 당연히 더 많은 DB를 갖고 있을 수밖에 없다. 근 10년 간 인터넷 메일로 무차별 배포된 웜이 높은 비중을 차지했고, 1~2년 전부터는 특정 목표를 겨냥해 국지적 공격을 하는 트로이목마의 비중이 높게 나타나고 있다.


따라서 단순하게 진단 DB 수가 많다는 것으로 판단할 게 아니라 실시간으로 발생하는 악성코드들을 얼마나 신속하게 진단하고 치료 엔진을 개발해 제공하느냐를 보고 판단해야 할 것이다.

 

바이러스는 인터넷 랜선을 연결하는 순간(수초 내) 감염되기 때문에 백신 프로그램을 설치하고 랜선을 연결하는 것이 좋다?


만일을 대비하기 위해 먼저 컴퓨터를 진단해보고 랜선을 연결하는 것은 나쁘지 않은 방법이다. 하지만 아무 행위도 하지 않고, 인터넷 랜선만 꽂는 행위 자체로 바이러스에 감염되는 일은 거의 없기 때문에 과도하게 두려워하지 않아도 된다.


포맷이야 말로 바이러스를 제거하는 최상의 방법이다?


웬만한 바이러스는 백신 제품으로 치료할 수 있다. 포맷을 해야 할 정도로 손상을 주는 바이러스는 1999년에 우리나라에 들어와 컴퓨터 20~30만 대를 먹통으로 만든 ‘CIH 바이러스’ 정도에 불과하다. 따라서 굳이 바이러스에 걸렸다고 해서 포맷을 할 필요는 없다. 


백신 프로그램만 있다면 내 컴퓨터는 100% 안전하다?


백신 프로그램이란 사용자가 컴퓨터 바이러스에 대처할 수 있도록 도와주는 도구에 불과하며, 나름대로의 한계점을 갖고 있다. 백신은 이미 발견된 컴퓨터 바이러스를 진단 및 치료할 수는 있지만, 신종 바이러스에 대해서는 이를 퇴치할 수 있는 새로운 버전이 만들어지기 전에는 아무런 효력이 없다. 또한, 백신이 설치되어 있어도 최신 엔진이 아니면 최신 바이러스를 진단·치료할 수 없다. 항상 최신 엔진을 유지할 수 있도록 수시 업데이트를 해야 하며, 실시간 감시기능을 활성화해 언제 어떻게 침투할지 모르는 바이러스를 차단해야 한다.


▲ 바이러스는 매킨토시 컴퓨터에서 활동하지 못한다?


매킨토시에서 활동하는 바이러스가 비교적 적기는 하지만 아주 없는 것도 아니다. 이것은 리눅스도 마찬가지다. 바이러스 제작자는 사용자가 많은 대중적인 OS나 애플리케이션을 노리기 때문에 윈도우즈나 MS사의 애플리케이션에서 작동하는 바이러스가 압도적으로 많다고 할 수 있다. 하지만 분명한 것은 매킨토시나 리눅스에서도 활동하는 바이러스가 있으므로 안전하다고 할 수만은 없다는 것이다.      

[도움말 : 안철수연구소]



출처 : 보안뉴스