악성 코드는 진단명으로 특징을 쉽게 알아 볼 수 있다!

2009. 8. 12. 11:54Avast기술정보

어베스트!에서 악성 프로그램(바이러스, 악성 코드 등등)을 진단하는 경우에는 경고창과 함께 악성 프로그램의 진단 이름을 보여 주게 됩니다. 아래 화면은 어베스트! 사용자가 보내 주신 샘플 파일을 진단한 화면입니다.


악성 코드 이름 부분에는 Win32:Rootkit-gen [Rtk] 즉, 악성 프로그램의 진단명이 표시됩니다. 악성코드 형태 부분에서는 악성 코드가 어떤 방식으로 동작하는지 설명합니다.

즉, 진단 이름은 모두 3가지의 부분으로 나눠져 있습니다.

  • 동작 환경/형태/파일 확장자 - ex) Win32
  • 악성 코드의 고유한 이름 - ex) Rootkit-gen
  • 악성 코드 분류 형식 - ex) Rtk


1. 첫 번째 항목은 보통 악성 코드가 동작하는 운영 체제의 종류, 악성 스크립트의 확장자 이름, 저장되는 파일의 확장자 형식을 나타냅니다. 가장 많은 예로는 Win32, JS, HTML, BV 등이 있습니다.

  • Win32 - 악성 코드가 윈도우 운영체제에서 동작하는 경우입니다. 일반적으로 파일을 감염(변조)시키는 형태가 대부분입니다.
  • JS - Java Script. 악성 코드가 자바 스크립트 형태로 제작되어 유포되는 경우입니다. 일반적으로 변조된 웹사이트를 방문하는 경우에 나타납니다.
  • HTML - 방문하는 웹 사이트에 Iframe과 같은 형태의 HTML 코드가 삽입되어 유포되는 경우입니다. 일반적으로 해킹당하거나 SQL-Injection 공격을 당한 사이트를 방문하는 경우에 나타납니다.
  • BV - autorun 바이러스 형태로 동작하는 경우입니다. 오토런 바이러스를 치료하는 방법은 http://www.avast.co.kr/553 을 참고하십시오.
  • VBS - Visual Basic Script. 비주얼 베이직 스크립트로 작성된 악성 코드의 형태로, BV와 유사합니다.
  • MSIL
  • NSIS
  • EICAR - 바이러스를 진단하는지 확인하기 위해 만든 문자열로, 실제 바이러스는 아닙니다.
  • SWF
  • AutoIt


2. 두 번째 항목은 악성 코드를 실제 부르는 이름입니다. 이름은 악성 코드를 분석한 당사자가 정하는 경우가 많으며 보통, 신고한 사람의 이름/별명, 악성 코드를 유포한 사람의 이름/별명, 악성 코드를 분석한 결과 내부에 있는 고유한 문자열 패턴 등이 주로 사용됩니다. 또한, 기존에 진단한 악성코드와 유사하거나 변종인 경우에는 기존 이름 뒷부분에 알파벳 2글자를 추가하는 형태도 있습니다. 예를 들면, Win32:Swizzor-XX [Trj]. 마지막으로 동작하는 형태에 따라 이름을 정하고 그 뒤에 숫자나 문자열로 표시하는 경우도 있습니다. 예를 들면, HTML:IFrame-IF [Trj].


3. 마지막 항목은 악성 코드를 분류하는 형식을 나타냅니다.

  • Trj - Toyoan horse. 트로이 목마.
  • Wrm - Worm. 웜 바이러스
  • Rtk - Rootkit. 루트킷
  • Expl - Exploit. 익스플로잇. 특정한 소프트웨어의 취약점을 이용하여 공격하는 형식.
  • Cryp - Cryptor. 악성 코드 제작자가 코드의 내용 중 일부 또는 전체가 암호화된 형식.


하지만, 최근의 악성 코드들은 어느 한가지 형태의 공격 방식이나 감염 형태를 가지지 않고 복합적으로 동작하기 때문에 실제로는 두 세가지의 이름을 가져야 하지만, 분석자의 성향에 따라 이름을 짓기도 합니다.

감사합니다.