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