loading...

코로나 사태로 돌아본 컴퓨터 바이러스에 대한 단상

코로나 사태로 돌아본 컴퓨터 바이러스에 대한 단상

코로나 바이러스가 전 세계를 강타하고 있습니다. 2020년 1월 최초 중국 우한에서 코로나 바이러스가 출현된 이후, 불과 넉 달 사이에 전 세계적으로 362만 명이 감염되었고 25만 명이 목숨을 잃었습니다. 그뿐만 아니라 코로나는 우리의 삶의 형태를 바꿔놓고 있습니다. 덕분에 많은 국민들이 바이러스 전문가가 되어가고 있습니다. 팬데믹(Pandemic)이라는 용어를 알게 되었고, 바이러스의 특성을 학습하게 되고, 이전에는 비슷하게 알고 있었던 세균과 바이러스의 차이점을 인지하게 되었습니다.

바이러스의 특성을 갖고 있는 컴퓨터 바이러스의 등장

컴퓨터 바이러스가 처음 소개된 것은 1980년대로 기억합니다. 우리나라 각 가정에 286 컴퓨터가 보급되면서 컴퓨터가 대중화되는 시점과 비슷하게 등장합니다. 그 당시에는 컴퓨터 바이러스라는 말이 생소했지만, 이 악성코드의 행동 패턴이 생물학에서 정의한 바이러스의 행동 패턴과 매우 유사하여 컴퓨터 바이러스라고 명명한 것으로 추정됩니다.

컴퓨터 바이러스는, 생물학적 바이러스처럼 혼자서 단독으로 생존할 수 없어 정상 생명체에 기생하면서 정상적인 생명체를 파괴하는 바이러스적인 특성을 그대고 가지고 있습니다. 이제는 역사 속으로 사라져 버린 지 오래지만, 한 번쯤 들어봤을 법한‘예루살렘 바이러스’,‘멜리사 바이러스’,‘CIH 바이러스’ 등이 한 시대를 풍미했던 컴퓨터 바이러스들입니다.

우리 나라에서 컴퓨터 바이러스 하면 빼놓을 수 없는 인물이 있습니다. 안철수 씨는 이제는 정치인이라서 언급하기가 조심스럽지만, 분명한 사실은 그가 대한민국에서 컴퓨터 바이러스에 관해서는 빼놓을 수 없는 족적을 남긴 인물입니다. 그는 1988년에 한국 최초로 지금의 V3라는 백신 프로그램의 모태가 되는 컴퓨터 백신을 만든 사람입니다.

안철수 (전 안철수연구소 대표)

1988년 플로피 디스크를 통해 감염되는 '브레인 바이러스'가 한국에서 유행했습니다. ‘브레인 바이러스’는 세계 최초의 바이러스로 알려져 있습니다. 인터넷에서 브레인 바이러스를 검색하면 재미있는 탄생 배경을 찾아볼 수 있습니다. ‘브레인 바이러스’를 만든 사람은 1986년에 파키스탄 프로그래머들이라고 합니다. 이들 형제는 자신들이 애써 개발한 프로그램이 팔리지 않고 불법 복제를 통해 사용되는 것을 보고 화가 났습니다. 그래서 불법 복제한 사람의 컴퓨터에 피해를 주도록 악성코드를 만들었는데 그것이 바로 최초의 컴퓨터 바이러스인 ‘브레인 바이러스’였습니다. 파키스탄에서 시작한 이 바이러스는 이후 전 세계로 퍼져나갔습니다. 2년 뒤 1988년에는 필자가 다니던 대학교 컴퓨터 실습실에서도 발견되는 바이러스가 되었습니다. 마치 우한에서 발현한 코로나 바이러스가 지금은 전 세계로 번져나간 것과 닮은꼴입니다.

‘브레인 바이러스’는 플로피 디스크의 부트 섹터를 오염시켜 플로피 디스크를 무용지물로 만들어 버렸습니다. 그뿐만 아니라 컴퓨터 본체를 감염시켜 다음 번에 삽입되는 플로피 디스크를 계속해서 감염시켰습니다. 브레인 바이러스에 감염된 디스크는 치료할 대책이 없었고, 눈물을 머금고 교수님이 내준 과제 Report가 저장된 플로피 디스크를 포맷할 수밖에 없었습니다.

플로피 디스크

잠시 “~라떼는 말이야.”를 좀 말해 보자면 필자가 대학을 다니던 시절은 5.25인치 플로피 디스크로 소프트웨어를 복제하고 데이터도 저장하던 시절이었습니다. 필자도 대학 시절 플로피 디스크를 이용해 유명한 ‘Lotus 123’회계 프로그램의 데이터를 저장하고 대학 과제를 제출했던 기억이 생생합니다. 90년대 출생한 직원들은 들어본 적이 없을 수도 있습니다. 전설적인 물건입니다. 저장 공간은 1.44MB에 불과한 물건이었지만, 컴퓨터 작업에 반드시 필요한 필수품이었습니다.

5.25인치 플로피 디스켓 10장 가까이 있어야 Windows 3.1 OS를 설치할 수 있었던 기억이 있습니다. 어쨌든 그 당시에도 컴퓨터 바이러스는 공포의 대상이었습니다. 갑자기 파란색 화면이 뜨면서 컴퓨터를 순식간에 먹통으로 만들어버리는 컴퓨터 바이러스는 밤새워‘Lotus 123’를 이용해 작성했던 필자의 경영학 통계 과제를 순식간에 날려버리는 공포의 대상이었습니다.

당시 서울대 의대 대학원생이었던 안철수는 백신을 만들어 무료로 배포했고 반응은 폭발적이었습니다. 이것이 우리나라 백신의 시초였습니다. 지금 와서 생각해 보면 생명공학 측면의 바이러스와 싸우는 의대생이 컴퓨터 바이러스를 치료하는 백신을 만들어냈다는 것이 참! “세상에 이런 일이”에 나올 법한 스토리인 것 같습니다. 이후, 수많은 컴퓨터 바이러스가 등장하면서 진화했고, 많은 영화와 소설에서 매우 중요한 매개체로 등장하곤 합니다.

예를 들자면 영화를 보면서 중요한 장면에서 실소가 나왔던 영화가 1996년에 개봉한 헐리우드 영화 ‘인디펜던스 데이’라는 헐리우드 영화입니다. 컴퓨터 바이러스가 매우 중요한 장면에 등장합니다. 어느날 갑자기 지구를 침공한 미지의 외계인들은 막강 과학기술을 자랑하며 압도적인 전투 병기로 지구상의 인류를 멸망 직전까지 몰고 갔습니다. 지구인들은 외계인의 거대한 우주 모선을 공격하지만 보이지 않는 방어막으로 보호받는 모선은 피해가 없었습니다. 하지만 주인공들이 외계인 우주선에 컴퓨터 바이러스를 침투시켜 우주 모선의 방어 시스템에 오작동을 일으켜 방어막이 해제됩니다. 이틈을 타서 핵미사일을 장착한 공군기에 의해 우주선은 격추되며, 외계인의 지구침공을 막아내는 스토리입니다.

영화 인디펜던스 데이 포스터영화 "인디펜던스 데이"

필자는 이 장면에서 실소가 나왔습니다. IT 지식이 조금만 있는 사람이라면 외계인의 우주선에 탑재된 컴퓨터는 지구의 컴퓨터와 소위 OS 운영체제가 전혀 다를 텐데 Windows에서 작동되는 지구의 바이러스가 외계인 컴퓨터에서 작동하여 시스템을 마비시킨다는 것은 말도 안 되는 스토리라는 것을 눈치챘을 것입니다. 어쨌든 컴퓨터 바이러스는 지금과 같은 초연결 시대에 전쟁의 승패를 좌우할 만큼 매우 위험한 위협이 될 수 있다는 것은 분명한 사실이 되었습니다.

생물학 바이러스처럼 컴퓨터 바이러스도 생존을 위해 진화합니다

다시 ‘브레인 바이러스’ 이야기를 좀 더 해 보겠습니다. 필자의 대학 시절‘브레인 바이러스’는 플로피 디스크만 손상시켰고, 안철수 박사가 배포한 무료 백신으로 치료하면 원 데이터도 복구가 되었습니다. 하지만 이후 수많은 바이러스가 등장하였고 새로 등장하는 컴퓨터 바이러스는 점차 독성이 강해졌습니다.

기억에 남는 바이러스는 부트 바이러스라고 불리는‘미켈란젤로 바이러스’였습니다. 기존의 바이러스는 단순히 플로피 디스크를 손상시키는 수준이었으나, 부트 바이러스는 컴퓨터 본체의 부트 섹터를 손상시켜 컴퓨터가 부팅이 안 되게 했기 때문에 피해가 컸습니다. 한 번은 실습실 컴퓨터 여러 대가 동시에 바이러스에 감염되어 부팅이 안 되면서, 선배와 같이 밤늦게까지 수십 대의 컴퓨터를 재설치했던 기억이 있습니다.

부트 바이러스에 감염된 컴퓨터 화면

생물학적 바이러스가 생존을 위해서 진화한다는 것은 보편적인 상식입니다. 시간이 지나면서 각종 변종이 등장합니다. 생명을 가진 모든 생명체의 본능인 것 같습니다. 컴퓨터 바이러스도 마찬가지입니다. 악성코드의 진화 모습은 아주 지능적이며 복합적입니다. 최초 정상 파일에 기생하여 단순 오류만 일으키던‘브레인 바이러스’와 같은 모습에서, 보다 치명적으로 컴퓨터 OS 시스템 파일이나 부트 섹터를 파괴해 버리는 파괴형으로 진화합니다. 이후 정상 파일에 기생하지 않고 악성코드 스스로 동작하고 네트워크를 타고 스스로 전파되는 Worm 바이러스가 등장합니다.

웜(악성코드) / 출처: 나무위키
특징 Virus Worm
자기복제
독립실행 X
전파 X
파일감염 X
웜(악성코드) / 출처: 나무위키


1990년대 중반부터 본격적으로 문제가 되었던 Worm은 바이러스와 다른 새로운 문제를 불러왔다. 그동안 등장했던 파일형 바이러스는 감염된 PC만 문제가 되었었습니다. 하지만 Worm은 많은 컴퓨터가 연결된 네트워크를 통해 자신을 복제 전파를 하면서 짧은 시간에 대량의 시스템을 감염시켜 버리는 파괴력을 보여주었습니다. 또한, 감염된 컴퓨터는 엄청난 양의 Garbage 트래픽을 발생시켜 네트워크 대역폭을 잠식하면서 정상적인 서비스를 마비시키는 문제점이 발생했습니다.

Worm 바이러스의 위력을 보여준 사례가 2003년 있었던‘SQL Slammer’이었습니다. ‘SQL Slammer’는 MSSQL DB의 보안취약점을 이용하여 전파되었는데 네트워크를 타고 순식간에 퍼져 나갔으며 전 세계적으로 수백만 대의 컴퓨터를 감염시켰습니다. 우리나라에서도 혜화동 KT IDC의 국내 최대의 DNS 서버가 감염되어 몇 시간 동안 우리나라 전체 인터넷이 마비되었던 초유의 사건이 기억납니다. 이 사건은‘2003 인터넷 대란’이라는 명칭으로 아직도 회자되고 있습니다.

2000년대에 들어서면서 등장하는 바이러스는 뚜렷한 목적성을 갖게 됩니다. 이전에는 단순 호기심이나 자신의 컴퓨터 실력을 과시하기 위한 목적으로 해킹을 하거나 악성코드를 만들었지만, 2000년 이후부터는 해킹을 위한 Backdoor, 정보 유출을 위한 Infor_Stolen, 비트코인 채굴을 노리는 Miner, 최근까지도 극성인 Ransomware 등과 같이 금전 탈취 또는 금융/개인정보 유출이라는 분명한 목적성을 띠고 있습니다. 정상 파일을 감염시키고 네트워크로 전염되는 기존 바이러스 형태와 특성을 넘어서게 되면서 보안전문가들은 ‘악성코드(Malware)’라고 통칭하게 됩니다.

또한 백신과의 공방전도 치열하게 전개됩니다. 대부분의 백신이 파일의 고유값인 해쉬값을 비교하는 Signature 방식으로 작동합니다. 이러한 백신의 감시를 회피하기 위해 악성코드가 일단 동작하면 메모리에서 작동하고 실제 악성코드는 지워버리는 ⁢ Fileless형 악성코드 >가 등장합니다.

한 개의 파일 자체로는 악성 행위를 하지 않는 보통 파일로 위장하지만, PC에서 일단 실행되면 연관된 두세 개의 파일과 연합하여 PC 내에 새로운 악성코드를 만들어 내는 ⁢ Dropper형 악성코드 >도 있습니다.

메일 또는 PC나 Internet Explorer 취약점을 이용해 PC에 악성코드를 설치한 이후, 해당 악성코드를 통해 필요에 따라 Backdoor, Rootkit, Keylogger, Ransomware 등을 다운로드 받는 ⁢ Downloader형 악성코드 >도 존재합니다.

그리고 피해 측면에서도 단순 동작 오류에서 지금은 컴퓨터 내 캐쉬나 메모리에 저장된 금융정보 개인정보를 탈취할 뿐만 아니라 악성코드가 스스로 PC에 저장되어 있는 메일 주소록으로 PC 사용자를 위장하여 다시 악성 메일을 자동으로 발송하는 지능적인 상태까지 발전했습니다.

코로나바이러스 예방 대책과 컴퓨터 바이러스 예방 대책

우리는 지난 두 달 간 코로나바이러스가 어떻게 우리의 삶을 무너뜨리는지 생생하게 지켜 보았습니다. 그리고 미지의 바이러스로부터 우리 자신을 지키려면 어떻게 해야 하는지 배웠습니다.

∙ 손으로 눈과 코 등 얼굴을 만지지 않는다.
∙ 흐르는 물에 비누로 손을 20초 동안 자주 씻는다.
∙ 기침이나 재채기 시에는 팔로 코와 입을 가린다.
∙ 마스크를 착용한다.
∙ 개인 간 간격은 2미터 이상 유지한다.
∙ 몸이 아프면 출근하지 않고 집에서 쉰다.

어쩌면 약간 귀찮기는 하지만 그리 어렵지 않은 수칙들입니다.
컴퓨터 바이러스로부터 우리 자신을 지키는 것도 마찬가지입니다.

∙ 의심스러운 메일은 개봉하지 않는다.
∙ 불법 파일은 다운로드 하지 않는다.
∙ 최신 백신 업데이트를 유지한다.
∙ 각종 소프트웨어와 OS 보안 패치는 항상 최신으로 유지한다.
∙ 의심스런 사이트는 방문하지 않는다.

어떻게 보면 귀찮고 불편하지만 어렵지 않은 수칙들입니다. 코로나바이러스나 컴퓨터 바이러스나 특성도 유사하지만, 대응 방법도 원론적인 측면에서는 그리 크게 다르지 않은 것 같습니다. 여러모로 닮은꼴인 것입니다. 생물학 바이러스도 신종 바이러스가 먼저 출현하고 이후 백신과 치료제가 나옵니다. 안타깝게도 코로나 바이러스는 아직까지 백신과 치료제가 없습니다. 컴퓨터 바이러스도 마찬가지입니다. 신형 바이러스가 나온 후, 백신 회사에서 악성코드를 분석하여 백신을 내놓습니다. 통상 백신이 나오기까지는 짧게 몇 시간에서 길게는 2~3일도 걸립니다. 코로나도 그렇지만 컴퓨터 바이러스도 백신이 나오기까지는 조심하는 것 이외에는 달리 방법이 없습니다.

코로나에 감염되지 않기 위해서 선택한 가장 확실한 방법이 격리입니다. 컴퓨터 바이러스도 마찬가지입니다. 이러한 알려지지 않은 바이러스로부터 중요한 시스템을 지키기 위한 궁여지책이 바로 격리 즉, 망 분리/인터넷 차단입니다. 필자가 10년 전에 망 분리 대책을 처음 접했을 때 누구 아이디어인지 정말 무식한 방법이라고 생각했었는데, 지금은 망 분리/인터넷 차단이 당연하게 여겨집니다. 중요한 시스템을 보호하는데 격리만큼 확실한 방법이 없는 것이 현실이기 때문입니다.

최근 들어 코로나바이러스 이후의 세계를 예측하는 많은 글들을 읽을 수 있습니다. 공통적으로 말하는 Fact 중 하나가 새로운 바이러스는 또 다시 인류에게 닥쳐올 것입니다. 바이러스는 인류의 탄생 이전부터 존재했고 또 앞으로도 인류와 영원히 같이 할 존재이기 때문입니다. 컴퓨터 바이러스도 마찬가지입니다. 컴퓨터와 같이 탄생했으며 컴퓨터가 존재하는 한 언제까지나 악성코드의 방식과 형태를 변형해 가며 존재할 것입니다. 특히 컴퓨터와 정보가 돈이 되는 현실에서 악성코드는 더더욱 치밀하고 정교하게 발전할 것입니다. 왜냐하면 악성코드를 제작하는 해커들은 돈이 되는 것은 절대로 포기하지 않기 때문입니다.

Total malware (AV-Test.org, 2020년 5월 5일): 2011년 65.26m / 2012년 99.71m / 2013년 182.90m / 2014년 326.04m / 2015년 470.01m / 2016년 597.49m / 2017년 719.15m / 2018년 856.62m / 2019년 1001.52m / 2020년 1050.05mTotal malware (출처: AV-Test.org)
현재 전 세계에서 발견된 악성코드는 10억 개 이상으로 계속 증가 추세에 있음을 알 수 있습니다.

알려지지 않은 취약점을 이용하는 악성코드는 선제 대응에 한계가 있습니다. 마치 코로나처럼 바이러스가 먼저 등장한 이후 백신과 치료 약을 찾을 수밖에 없는 것과 마찬가지입니다. 하지만 매일 12시에 TV에 등장하는 정은경 질병관리본부장이 항상 말하듯이, 개인 방역 수칙을 잘 지키면 코로나로부터 개인과 주변을 안전하게 지킬 수 있습니다. 사이버 세상에서도 마찬가지입니다. 비록 귀찮고 불편하더라도 앞서 언급한 개인의 컴퓨터 사용 수칙을 잘 지켜 조금만 주의를 기울인다면, 비록 알려지지 않은 악성코드라 할지라도 충분히 예방이 가능합니다.



▶  해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶  해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.


이 글이 좋으셨다면 구독&좋아요

여러분의 “구독”과 “좋아요”는
저자에게 큰 힘이 됩니다.

subscribe

구독하기

subscribe

김문진
김문진 보안 전문가

삼성SDS 통합보안센터 보안진단그룹

삼성SDS 보안진단그룹 그룹장으로서, 10년간 해킹 및 보안사고 조사 업무를 담당해 왔던 Security Guy입니다. 영화 속에 등장하는 해커와 맞서는 간지나는 스마트한 분석가의 모습을 추구하지만, 실상은 수염이 더부룩하고 약간은 히스테릭한 대한민국 중년의 아저씨입니다. 정부가 코로나 대응을 위해 3T(Test·진단, Trace·추적, Treat·치료) 전략을 수행하는 것처럼, 회사의 IT 보안 위협에 대응하기 위해 해킹, 악성코드 분석 등 각 분야의 뛰어난 동료들과 현장에서 Test, Trace, Treat을 수행하고 있습니다.

공유하기