ESET백신 이셋코리아
FAQ

홈 > FAQ





 
작성일 : 15-06-16 09:56
악성코드 탐지 방법과 ESET ThreatSense 엔진
 글쓴이 : ESTC
조회 : 1,482  

악성코드 탐지 방법과 ESET ThreatSense 엔진

 

 ESET 보안 제품의 핵심이 되는 ESET ThreatSense엔진은 다음 그림과 같이 4개의 엔진 모듈로 구성되며, 이들 엔진 모듈이 상호 협력하여 동작함으로써 각종 악성코드 진단과 관련한 ESET 제품의 우수한 성능과 진단의 정확성을 이끌어 내게 됩니다

   

1.png

  

 1.    악성코드 시그니쳐 (Malware Signatures)

 

악성코드 역사와 함께 해 온 전통적인 진단 방법입니다. 새로운 악성코드가 발견되면, 이에 대한 고유의 시그니쳐를 추출한 후, 추출된 악성코드 시그니쳐를 데이터베이스에 저장합니다. 이 후 악성코드 검사 대상 파일의 시그니쳐와 데이터베이스에 저장된 시그니쳐를 비교한 후 두 시그니쳐가 동일한 경우에는 악성코드로 진단하게 됩니다.

 

이러한 방법의 장점은, 일단 악성코드 시그니쳐 데이터베이스에 시그니쳐가 등록된 악성코드에 대해서는 매우 빠르고 정확하게 진단이 가능하다는 것입니다.

 

반면에, 이 방법은 오직 이미 알려진 악성코드의 시그니쳐가 확보된 경우에만 효과가 있다는 단점이 있습니다. 따라서, 안티바이러스 제작사는 새로운 악성코드 발생에 끊임없이 주목해야만 하며, 새로운 악성코드 등장시 해당 샘플을 신속하게 입수하고 분석하여 시그니쳐를 등록해야 하기 때문에 많은 시간과 노력이 필요할 뿐더러, 많은 노력을 기울여도 실시간 대응에는 한계가 있을 수 밖에 없습니다. 이러한 단점으로 인해, 새롭게 제작된 악성코드나 기존 악성코드의 변종에 대한 대응력이 매우 취약할 수 밖에 없으며, 이러한 단점을 극복하기 위해 다음에서 말씀드릴 고급 휴리스틱 방법을 함께 사용하게 됩니다.

 

 

2.    고급 휴리스틱 (Advanced Heuristics)

 

a.    일반화된 시그니쳐 (Generic Signatures)

앞서 말씀드린 악성코드 시그니쳐를 일반화시킴으로써 변종 악성코드와 유사 악성코드를 진단할 수 있도록 한 방법입니다. , 특정 악성코드와 이에 대한 다양한 변종 악성코드 및 유사 악성코드가 포함하는 공통 시그니쳐를 추출하여 데이터베이스에 추가함으로써, 하나의 하나의 악성코드 시그니쳐만으로 여러 종류의 변종 및 유사 악성코드에 대응할 수 있습니다.

 

b.    에뮬레이션 (Emulation) 

동적 분석 (Dynamic Analysis) 방법이라고도 불리며, 코드를 격리된 실행 공간에서  실제로 실행시킨 후  동작을 모니터링하여 악성 행위 여부를 검사하는 방법입니다. 다양한 악성 행위를 데이터베이스에 등록한 후, 등록된 악성 행위와 동일한 행위 발견시 악성코드로 판단하는 방법이 주로 사용되지만, 기업의 보안 정책에 따라, 다양한 정상 행위를 데이터베이스에 등록한 후, 등록된 정상 행위와 다른 행위 발견시 악성코드로 판단하는 방법이 사용되기도 합니다. 전자를 오용 탐지 (Misuse Detection)”, 후자를 비정상 행위 탐지 (Anomaly Detection)” 라 합니다.

 

코드 에뮬레이션의 장점은, 알려지지 않은 신종 악성코드나 악성 행위 진단에 매우 효율적이라는 것입니다. 각각의 악성코드 시그니쳐를 등록하지 않아도 되기 때문이죠. 다만, 행위를 기반으로 진단을 하기 때문에 오진율이 높고(편의점에서 칼을 구입한다고 해서 모두 범죄에 이용하지는 않으니까요), 격리된 실행 공간에서  코드를 실행해야 하기 때문에 시스템 리소스를 많이 사용하게 된다는 단점이 있습니다

 

c.    코드 분석 (Code Analysis) 

정적 분석 (Static Analysis) 방법이라고도 불리며, 코드를 역 어셈블하거나 역 분석한 후 해당 코드 실행 시 어떤 행위가 일어날지를 추측하여 악성코드 여부를 판단하는 방법입니다. 보통, 실행 코드를 역 분석하면 시스템 호출 정보나 라이브러리 호출 정보 등을 알 수 있는데, 이러한 정보를 기반으로 행위를 추측할 수 있습니다. 물론 이러한 정보를 인위적으로 숨기거나 우회하는 경우에는 악성코드 진단이 어려워질 수도 있습니다

 

코드 분석 또한 코드 에뮬레이션과 마찬가지로, 알려지지 않은 신종 악성코드 진단에 효율적으로 대응할 수 있다는 장점이 있지만, 행위를 추측하여 진단을 하기 때문에 오진율이 높고, 코드를 역 분석해야 하기 때문에 시스템 리소스를 많이 사용하게 된다는 단점이 있습니다

 

 결국, 어느 한가지 방법에만 의존해서는 정확한 악성코드 진단에 한계가 있으며, 악성코드 감염 가능성 및 진단율, 시스템의 리소스 점유율, 사용의 편의성 등 다양한 조건을 고려한 최적의 진단 방법을 선택적으로 사용하는 것이 안티바이러스 솔루션의 기술력을 나타낸다고 볼 수 있습니다