| 공공의 적 악성코드에 맞서는 백신기술 진화 | 2013.09.09 |
꾸준한 백신 업데이트·검사실행·수상한 메일·SNS의 URL 클릭 자제
비밀번호 변경·수상한 첨부파일 실행 자제 등 평소 보안 습관 중요
1980년대: 전쟁의 서막 최초의 PC용 바이러스는 1986년 9월, 파키스탄의 두 프로그래머 형제가 ‘브레인(Brain)’이란 악성코드를 제작해 유포한 것으로 알려져 있다. 브레인 바이러스는 당시 가장 많이 보급되고 있던 MS-DOS 운영체제에서 실행되었기 때문에, 전세계적으로 빠르게 확산되어 많은 피해를 끼쳤다. 이후 수많은 바이러스가 등장하기 시작했고, 이에 대응하기 위한 백신 프로그램의 개발이 이어졌다. 그러나 일각에서는 최초의 바이러스라고 언급된 ‘브레인’ 이전에, 다른 바이러스가 존재했다는 견해도 있다. 이러한 초기 바이러스와 백신 프로그램의 공격과 방어는 매우 단순한 방식이었다. 초기 백신프로그램에는 특정 바이러스에만 존재하는 문자열을 비교하는 ‘문자열 진단 기술’이 활용됐다. 이는 프로그램의 코드 중 문자열(string)을 단순 비교해 악성코드 여부를 판명하는 기술이다. 또한 당시 백신프로그램은 해시(hash)값을 통해서 작동했다. 해시값이란 각 파일이 생성됐을 때 갖고 있는 고유의 지문과 같은 것이다. 파일명을 변경해도 이 값은 변하지 않는다. 백신 프로그램은 악성코드에 해시값을 할당하여 해시값이 변조될 때마다 경고메시지가 뜨는 형태로 악성코드를 탐지해 사용자에게 경고 메시지를 띄우는 형태이다. 문제는 이 방법들은 주로 사용자 스스로 악성 여부를 판단해야 했고, 너무 많은 경고를 띄워서, 보안을 잘 모르는 대다수의 사람들은 무시하기 일쑤였다는 것이다. 또한, 고급언어를 사용한 트로이목마, 웜 등의 악성코드가 증가하면서 진단에 어려움을 겪게 되었다. 고급언어로 구성된 악성코드를 단순 문자열만으로 진단할 경우 오진이 발생하기 때문이다. 악성행위를 하는 바이러스, 웜, 트로이목마 등은 모두 저마다 특징이 있다. 요즘에는 이 모든 것을 악성코드(Malicious Software, 일명 멀웨어)라고 표현한다. 1990년대 : 대결의 고도화 이러한 악성코드는 1995년 윈도우 95가 대중화되어 MS-DOS를 대체해 사용되면서 큰 변화를 맞이하게 됐다. 악성코드 활동 영역이 도스에서 오피스 문서, 윈도우로 확대됐고 인터넷이 보편화 되면서 이메일을 악용하기도 했다. 또한, 악성코드 제작자들의 백신 연구로 각종 신·변종 악성코드가 출현하게 됐다. 따라서 새로운 기법과 함께 점차 증가하는 악성코드에 대응하기 위한 여러 가지 악성코드 대응기술이 등장했다. 이와 관련 안랩 측은 문자열 진단 기술과 해시진단은 모두 ‘시그니처 기반 기술’에 속한 것으로 시그니처기반 기술은 악성코드를 식별하는 가장 일반적인 방법이라고 설명했다. 백신 프로그램으로 PC 내 파일을 스캔해 사전에 백신 엔진에 등록된 바이러스 진단값(Virus Signature)은 바이러스의 고유한 비트열이나 이진수의 패턴, 특정 바이러스를 검색하기 위해 사용되는 지문과 같은 것으로 진단값과 일치하면 치료하는 방식이다. 하지만 기존의 시그니처 기반 기술은 백신 엔진에 지금까지 알려진 바이러스의 진단값만 등록되어 있어 신종 바이러스에는 빠르게 대처하기 어렵고 변종을 탐지하기 어렵다는 단점이 있다는 것. 따라서 이 시기부터는 단순 진단 외에 더욱 다양한 방법을 활용한 시그니처 기반 기술로 변화되기 시작했다는 것이 안랩 측의 설명이다. 뿐만 아니라 변종 악성코드를 탐지해 내기 위해 ‘휴리스틱 기술’이 개발됐다. 휴리스틱 기술은 원본 파일의 일부만 변경돼도 전혀 다른 파일로 인지해버리는 기존 기술의 한계를 극복하기 위한 기술이다. 특정 코드의 행위 방식이 이미 알려진 악성코드의 행위 방식과 얼마나 유사한지를 분석해 알려지지 않은 악성코드를 탐지해낸다. 다만 그 특성상 오진이나 과탐의 이슈가 발생하기도 한다는 것이다. 2000년대: 새로운 전쟁 2000년대 들어 파일이 아닌 네트워크 단에서 악성 여부를 검사하는 네트워크 검사 기술이 개발됐고, 백신 프로그램에 방화벽 기능이 탑재되기 시작했다. 이에 따라 악성코드도 새로운 장이 열리기 시작했다. 그중 가장 중요한 트렌드가 바로 금전적 목적의 악성코드 배포와 악성코드의 소규모 다품종 생산이다. 악성코드의 제작자들은 더 이상 실력과시가 아닌, 금전을 목적으로 악성코드를 만들기 시작했고, 이에 따라 자연스럽게 불특정 다수가 아닌, 특정 조직을 끈질기게 노리기 시작했다. 이러한 상황은 보안업체가 발견해서 백신 엔진에 업데이트 하기도 힘들어 지기도 했다. 또한, 이메일나 SNS 등 매체의 발달로, 악성코드가 퍼질 수 있는 길은 더욱 많아졌다. 이런 트렌드에 대응하기 위해 가상화된 공간에서 실행하고 악성코드의 위험 유무를 확인하는 행동기반 탐지기술과, 클라우드 기술을 이용해 악성코드 정보가 모여 있는 서버에서 판단해주는 클라우드 기반 탐지 기술, 파일에 대한 사용자 수, 제작일 등의 평판을 기반으로 하는 평판 기반 기술 등이 등장했다. 최근에는 실시간 대응을 위해 시그니처 기반과 평판기반, 행동기반 방식들을 더해 함께 사용하고 있는 추세이다. 현재 백신은 ‘알려진 악성코드’에 대한 대응적(reactive) 방어책에서 알려지지 않은 악성코드(unknown)에 대한 예방적(proactive) 솔루션으로 진화하고 있다. 이와 관련 안랩에서 밝힌 통계에 따르면, 하루에 15~50만개의 신·변종 악성코드가 생겨나고 있다고 밝혔다. 이는 열흘만 PC백신 업데이트를 하지 않아도, 이용자의 PC는 최대 500만개의 악성코드 위협에 노출될 수 있다는 것이다. 따라서 백신프로그램의 지속적인 업데이트 및 검사실행, 수상한 메일이나 SNS의 URL 클릭 자제하기, 비밀번호 자주 바꾸기, 수상한 첨부파일 실행 자제 등 생활 속의 작은 보안 습관이 더욱 중요하다. [김경애 기자(boan3@boannews.com)] <저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지> |
|
|
|