본문 바로가기

Avast기술정보

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

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


악성 코드 이름 부분에는 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. 악성 코드 제작자가 코드의 내용 중 일부 또는 전체가 암호화된 형식.


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

감사합니다.