2013.09.06
-악성코드 진화와 더불어 백신기술도 발전
-문자열진단, 시그니처기반/휴리스틱 기술 거쳐 최근 여러가지 기법 복합 적용
본 자료는 보안에 대한 올바른 정보 전파를 통해 자신과 직장의 정보와 재산을 보호하기 위한 안랩의 보안지식 공유 캠페인인 ‘보안 바로알기(Know the security) 캠페인’의 일환으로 제공해드리는 자료입니다.
V3 탄생 25주년을 맞은 글로벌 보안 기업 안랩(대표 김홍선www.ahnlab.com)은 ‘보안 바로알기(Know the security) 캠페인’의 일환으로 지난 ‘백신 바로알기’, ‘APT 바로알기’, ‘보안 종결론 바로알기’, ‘위장 악성코드 바로알기’, ‘인터넷뱅킹 보안위협 바로알기’ 에 이어, <아래> 정보를 안랩의 블로그 및 SNS를 통해 배포했습니다.
---< 아 래 >---
악성코드 VS 백신기술, 승자는 누구?
영화 ‘고지전’을 보신 분이라면 애록고지를 놓고 매일같이 싸운 악어중대와 북한군을 기억하실 겁니다. 고지점령에 성공했다 싶으면 바로 상대편에게 빼앗기고, 다시 되찾기 위해 또다시 전투를 시작합니다. 이 과정에서 상대의 전술을 확인하고 자신의 전력을 가다듬던 장면들이 생생하게 기억납니다.
악성코드와 백신기술은 마치 이들과 닮아 있습니다. 이들은 서로의 진화에 맞서 발전해 왔기 때문입니다. 특정 악성코드가 발견되면 이를 막기 위해 백신 프로그램이 개발되었습니다. 결국 서로에 대한 공격과 방어 과정이 백신 기술의 발전을 이끌고 가고 있습니다.
[보안 바로알기 캠페인 6회: 백신기술의 진화 바로알기] 편에서는 악성코드가 변모하는 동안 백신의 악성코드 대응기술이 어떤 방향으로 진화해 왔는지 알아보도록 하겠습니다.
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 클릭 자제하기, 비밀번호 자주 바꾸기, 수상한 첨부파일 실행 자제 등 생활 속의 작은 보안 습관이 더욱 중요합니다. <Ahn>
'AhnLab 보안in > AhnLab 보안 바로알기' 카테고리의 다른 글
[안랩 보안 바로알기(Know the security) 캠페인]#8 스피어 피싱 바로알기 (0) | 2020.04.18 |
---|---|
[안랩 보안 바로알기(Know the security) 캠페인]#7 스미싱 바로알기 (0) | 2020.04.18 |
[안랩 보안 바로알기(Know the security) 캠페인]#5 인터넷뱅킹 보안 위협 바로알기 (0) | 2020.04.18 |
[안랩 보안 바로알기(Know the security) 캠페인]#4 위장 악성코드 바로알기 (0) | 2020.04.18 |
[안랩 보안 바로알기(Know the security) 캠페인]#3 보안 종결론 바로알기 (0) | 2020.04.17 |