ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2022/04/04][짤막한 이야기 - 악성코드 탐지]
    짤막한 이야기 2022. 4. 4. 14:59
    728x90
    반응형

    [2022/04/04][짤막한 이야기 - 악성코드 탐지]

    “악성코드 탐지(Malware Detection)”는 특정한 프로그램이 악성코드인지 아닌지 판단하는 분야이며, 매우 중요한 한편 아직도 연구할 거리가 많은 분야이다.

    보통 악성코드 탐지는 안티바이러스(Anti-Virus) 소프트웨어에서 수행하는 것으로 알려져있다.

    악성코드 탐지를 위한 방법은 다양하지만, 대표적으로 많이 활용되는 방법은 두 가지이다.

    “시그니처 기반 탐지(Signature-based Detection)”와 “행위 기반 탐지(Behavior-based Detection)”의 두 가지이다.

    시그니처 기반 탐지는 탐지 대상인 프로그램 내부에 특정한 바이트열(Byte Sequence)이 존재하는지 확인하는 것이다.

    이 때 존재를 확인해야하는 특정한 바이트열을 악성코드의 시그니처(Signature)라고 한다.

    악성코드마다 가지고 있는 시그니처가 다 다르기 때문(사람의 지문이 다 다른것처럼)에 이 방법을 사용하면 악성코드 전체를 분석하는 것보다 쉽게 악성 여부를 판단할 수 있다.

    예를 들어 프로그램에 “안!녕@하#세$요%”라는 시그니처가 있다면 악성코드로 판단하는 것이다.

    보통 시그니처를 충분히 길게, 우연히는 들어가지 않을 만한 것으로 설정한다. 

    반면 행위 기반 탐지는 탐지 대상인 프로그램을 실행하였을 때 이상한 행위를 수행하는지 확인하는 것이다.

    이상한 행위가 악성 행위이기 때문에 이 방법을 그냥 일반적인 시스템에서 적용하면 그 시스템이 크게 잘못될 수 있다.

    그래서 언제든지 정상으로 되돌릴 수 있고, 잘못되어도 문제가 되지 않는 가상의 시스템(가상머신)에서만 적용할 수 있는 방법이 이 행위 기반 탐지 방법이다.

    시그니처 기반 탐지 기법은 특징이 있다.

    시그니처 기반 탐지 도구에서 특정 프로그램을 악성코드라고 판단했다면, 그것은 거의 100%의 확률로 악성코드이다.

    반대로 시그니처 기반 탐지 도구에서 특정 프로그램을 정상 파일이라고 판단했다면, 그것은 정상 파일이 아닐 확률도 꽤 존재한다.

    왜냐하면 수많은 악성코드의 시그니처를 저장해둔 후 프로그램에 해당 시그니처가 존재하는지를 비교하는 것이기 때문에, 시그니처가 아예 없는 경우(즉, 프로그램이 완전히 새로운 악성코드인 경우)는 정상 파일로 판단할 수 밖에 없는 것이다.

    이러한 현상을 “미탐(False Negative)”이라고 한다.

    반면 정상 파일을 악성코드라고 잘못 알려주는 경우도 발생한다.

    이러한 현상을 “오탐(False Positive)”이라고 한다.

    시그니처 기반 탐지의 경우 일반적으로 오탐이 매우 적고 미탐이 더 많이 존재하는 편인데, 이는 시그니처의 일치 여부를 검사하는 것은 악성코드의 시그니처가 나에게 반드시 존재하는가 아예 존재하지 않는가에 의존하기 때문이다.

    #이야기 #루니프 #핀 #핀툴 #디스어셈블 #악성코드 #탐지 #시그니처 #행위 #미탐 #오탐 #프로그래머 #해커 #개발자 #분석가 #코딩

    728x90
    반응형
Designed by Tistory.