KR101589656B1 - Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법 - Google Patents

Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법 Download PDF

Info

Publication number
KR101589656B1
KR101589656B1 KR1020150008756A KR20150008756A KR101589656B1 KR 101589656 B1 KR101589656 B1 KR 101589656B1 KR 1020150008756 A KR1020150008756 A KR 1020150008756A KR 20150008756 A KR20150008756 A KR 20150008756A KR 101589656 B1 KR101589656 B1 KR 101589656B1
Authority
KR
South Korea
Prior art keywords
malicious
api
malicious code
code
behavior
Prior art date
Application number
KR1020150008756A
Other languages
English (en)
Inventor
최보민
강홍구
황동욱
이태진
신영상
김병익
Original Assignee
한국인터넷진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국인터넷진흥원 filed Critical 한국인터넷진흥원
Priority to KR1020150008756A priority Critical patent/KR101589656B1/ko
Application granted granted Critical
Publication of KR101589656B1 publication Critical patent/KR101589656B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PI 기반의 기반의 변종 악성 코드를 탐지하고 조회하기 위한 악성 코드 변종 탐지 조회 시스템 및 방법이 개시된다.
본 발명에 따르면, 악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 추출하고, 추출된 상기 API 호출 정보를 이용하여 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템; 및 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 탐지된 적어도 둘 이상의 상기 악성 코드간 API 호출 유사도를 계산하는 유사도 분석 시스템을 포함하여, 윈도우즈 환경에서 API 호출 정보 및/또는 악성 코드 리스트 등을 이용하여 API 호출 유사도를 구함으로써 코드 일부가 변형된 변종 악성 코드를 효과적으로 탐지한다.

Description

API 기반 악성 코드 변종 탐지 조회 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING AND INQUIRING METAMORPHIC MALIGNANT CODE BASED ON ACTION}
본 실시예들은 API 기반의 기반의 변종 악성 코드를 탐지하고 조회하기 위한 악성 코드 변종 탐지 조회 시스템 및 방법에 관한 것이다.
보안제품 성능평가 기관에서 악성 코드를 체크한 결과, 2014년 10월까지 1억개가 넘는 새로운 악성 코드가 발견되었다고 발표하였다.
이 처럼, 급증하고 있는 악성 코드에 대한 신속한 대응을 위하여, 악성 코드 분석을 자동화하려는 연구가 활발하게 진행되고 있다.
이러한 흐름에 따라, 최근에는 커널 레벨에서 악성코드 행위를 자동적으로 분석하는 시스템이 제안되었다.
그러나, 기존의 악성 코드 탐지 시스템은 파일, 레지스터 및 프로세스 등의 기본적인 행위 이벤트만 모니터링하였기 때문에 세부적인 행위 분석이 불가능한 문제점을 안고 있었다.
더욱이, 악성 코드에 포함된 일부 코드를 바꾸는 변종 악성 코드가 날로 증가되고 있는 문제점을 안고 있었다.
한국공개특허 : 제2012-0124638호, 공개일자 : 2012년 11월 14일, 발명의 명칭 : 행위 기반의 악성코드 탐지 시스템 및 악성코드 탐지 방법.
본 실시예들은 악성 코드가 호출하는 API 호출 정보를 추출하여 악성 코드의 악성 행위를 탐지하기 API 기반 악성 코드 변종 탐지 시스템 및 방법을 제공하는데 그 목적이 있다.
또한, 본 실시예들은 변종 악성 코드 형태를 알 수 있는 API 호출 정보 또는/및 행위 코드와 행위 그룹을 이용하여 API 호출 유사도를 추출하는 API 기반 악성 코드 변종 탐지 시스템 및 방법을 제공하는데 그 다른 목적이 있다.
또한, 본 실시예들은 변종 악성 코드 형태를 알 수 있는 같은 군에 속하는 악성 행위를 분류한 행위 코드와 행위 그룹을 추출하는 API 기반 악성 코드 변종 탐지 시스템 및 방법을 제공하는데 또 다른 목적이 있다.
또한, 본 실시예들은 악성 행위, 변종 악성 코드를 조회하기 위한 행위 기반 악성 코드 변종 조회 시스템 및 방법을 제공하는데 또 다른 목적이 있다.
본 발명의 일 실시예에 따르면, 악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 추출하고, 추출된 상기 API 호출 정보를 이용하여 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템; 및 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 탐지된 적어도 둘 이상의 상기 악성 코드간 API 호출 유사도를 계산하는 유사도 분석 시스템을 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템이 제공된다.
여기서, 상기 악성 코드 분석 시스템은 네트워크망에 접속된 네트워크 트래픽 센서로부터 상기 악성 의심 실행 파일을 수집할 수 있다.
또한, 상기 악성 코드 분석 시스템은 상기 악성 의심 실행 파일, 제1 API 호출 정보 및 상기 악성 코드의 악성 행위를 저장하는 제1 데이테 베이스를 더 포함할 수 있다.
또한, 상기 악성 코드 분석 시스템은 사용자 레벨 및 커널 레벨상에서 API 후킹을 통해 상기 악성 코드가 호출하는 API 호출 정보를 추출할 수 있다.
또한, 상기 악성 코드 분석 시스템은 상기 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 상기 악성 행위를 탐지할 수 있다.
또한, 상기 악성 코드 분석 시스템은 후킹 필터링을 포함한 상기 악성 코드 룰셋을 적용할 수 있다.
또한, 상기 악성 코드 분석 시스템은 가상화 악성 행위 및 리얼 타임 악성 행위를 포함한 상기 악성 행위를 탐지할 수 있다.
또한, 상기 악성 코드 분석 시스템으로부터 제공받은 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 생성하고, 유사한 행위를 가진 상기 행위 코드들을 그룹화한 행위 그룹을 생성하는 행위 분류 시스템;을 더 포함하고, 상기 유사도 분석 시스템은 상기 행위 그룹 내의 탐지된 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 동일 행위 그룹내의 적어도 둘 이상의 악성 코드간 API 호출 유사도를 측정할 수 있다.
또한, 상기 행위 분류 규칙 정보는 상기 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호; 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터; 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API; 및 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함하여 이루어질 수 있다.
또한, 상기 행위 분류 시스템은 생성된 상기 행위 그룹에 포함된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출할 수 있다.
또한, 상기 행위 분류 시스템은 추출된 상기 API 시퀀스와 상기 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 상기 행위 코드별 비트 코드(1,0)를 생성할 수 있다.
또한, 상기 행위 분류 시스템은 상기 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드를 저장하는 제2 데이터베이스를 포함할 수 있다.
또한, 상기 제1 및 제2 데이터베이스에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 수행하는 악성코드 조회 시스템을 더 포함할 수 있다.
또한, 상기 유사도 분석 시스템은 상기 악성 코드 리스트에 포함된 임의의 적어도 둘 이상의 악성 코드간 개별 API 구성, API 호출 순서 및 빈도를 파악하여 상기 API 호출 유사도를 측정할 수 있다.
또한, 상기 유사도 분석 시스템은 악성코드 해쉬리스트를 포함한 상기 악성 코드 리스트를 활용할 수 있다.
또한, 상기 유사도 분석 시스템은 상기 악성코드 해쉬리스트에 포함된 임의의 둘 이상의 해쉬를 이용한 상기 API 호출 정보에 대한 API 코드화를 수행하여 API 코드 시퀀스를 추출할 수 있다.
또한, 상기 유사도 분석 시스템은 추출된 상기 API 코드 시퀀스와 더불어, N-gram을 이용하여 상기 API 호출 유사도를 측정할 수 있다.
또한, 상기 유사도 분석 시스템은 상기 API 호출 정보 집합, 악성 코드 리스트, API 코드화, API 코드 시퀀스 및 API 호출 유사도를 저장하는 제3 데이터베이스를 포함할 수 있다.
또한, 상기 제3 데이터베이스에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 수행하는 악성코드 조회 시스템을 더 포함할 수 있다.
또한, 본 발명의 다른 일 실시예에 따르면, (a) 악성 의심 실행 파일을 실행시킨 후, 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 악성 코드 분석 시스템에서 추출하는 단계; (b) 추출된 상기 API 호출 정보를 이용하여 상기 악성 코드에 대한 악성 행위를 악성 코드 분석 시스템에서 탐지하는 단계; 및 (c) 상기 API 호출 정보와 탐지된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 적어도 둘 이상의 상기 악성 코드간 API 호출 유사도를 유사도 분석 시스템에서 측정하는 단계를 포함하는 API 기반 악성 코드 변종 탐지 및 조회 방법이 제공된다.
여기서, API 기반 악성 코드 변종 탐지 및 조회 방법은 (d) 탐지된 상기 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 행위 분류 시스템에서 생성하는 단계; 및 (e) 상기 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 행위 분류 시스템에서 생성하는 단계;를 더 포함하고, 상기 (c) 단계는 상기 행위 그룹으로부터 추출된 API 호출 정보를 모아놓은 API 호출 정보 집합과 탐지된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 동일 행위 그룹내의 적어도 둘 이상의 악성 코드간 상기 API 호출 유사도를 측정할 수 있다.
또한, 상기 (c) 단계는 상기 악성 코드 리스트에 포함된 임의의 적어도 둘 이상의 악성 코드간 개별 API 구성, API 호출 순서 및 빈도를 파악하여 상기 API 호출 유사도를 측정할 수 있다.
이상과 같이, 실시예들에 따르면, 윈도우즈 환경에서 API 호출 정보 및/또는 악성 코드 리스트 등을 이용하여 API 호출 유사도를 구함으로써 코드 일부가 변형된 변종 악성 코드를 효과적으로 탐지하는 효과가 있다.
또한, 실시예들에 따르면, 윈도우즈 환경에서 API 호출 정보 및 행위 코드와 행위 그룹을 구하고, 이를 토대로 API 호출 유사도를 구함으로써 코드 일부가 변형된 변종 악성 코드를 효과적으로 탐지하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 악성 코드 분석 시스템을 보다 상세하게 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 악성 코드 관리 서버(110)에서 수신하는 분석 대상 트래픽 형태를 예시적으로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 리얼 타임 분석 에이젼트 관점의 악성 코드 탐지 시스템을 나타낸 도면이다.
도 5는 기존 시스템과 본 실시예의 시스템(가상화 환경)을 통해 처리된 API 기반 악성행위 분석 결과를 나타낸 도면이다.
도 6은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 분석 결과를 일례로서 나타낸 도면이다.
도 7은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 처리 결과를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 유사도 분석 시스템과 악성 코드 조회 시스템을 보다 상세하게 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템에서 생성된 악성 코드 리스트와 API 호출 정보의 형태를 예시적으로 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 유사도 분석 시스템에 적용되는 N-gram 알고리즘의 일례를 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 악성 코드 조회 시스템의 조회 결과를 예시적으로 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 행위 분류 시스템과 유사도 분석 시스템간의 관계와 악성 코드 조회 시스템을 보다 상세하게 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 따른 행위 분류 시스템에서 생성된 행위 코드들의 형태를 예시적으로 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 행위 분류 시스템에서 생성된 행위 그룹의 형태를 예시적으로 나타낸 도면이다.
도 15 및 도 16은 본 발명의 일 실시예에 따른 악성 코드 조회 시스템의 조회 결과를 예시적으로 나타낸 도면이다.
도 17은 본 발명의 일 실시예에 따른 API 기반 악성 코드 변종 탐지 및 조회 방법을 예시적으로 나타낸 순서도이다.
도 18은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 방법의 악성 행위 탐지 방법을 보다 상세하게 나타낸 순서도이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
<제1 실시예>
도 1은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템을 개략적으로 나타낸 구성도이다.
도 1를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템(1000)은 API 호출 정보를 추출하여 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템(100), 탐지된 악성 행위에 기반하여 행위 코드와 행위 그룹을 생성하여 변종된 악성 코드를 탐지하는 행위 분류 시스템(200), 상기 API 호출 정보 또는/및 행위 그룹내의 적어도 둘 이상의 악성 코드간 API 호출 유사도를 구하여 변종 악성 코드를 탐지하는 유사도 분석 시스템(300) 및 앞서 설명한 악성 행위와 변종 악성 코드 등을 조회하는 악성코드 조회 시스템(400)을 포함할 수 있다.
이러한 각 구성간에는 외부 네트워크 예컨대 유무선 통신망으로 연결되거나 내부 네트워크로 연결될 수 있다. 그러나, 각 구성간 연결되는 네트워크는 위와 같은 네트워크 구성에 한정되지는 않는다. 이하에서는, 각 구성에 대하여 보다 상세히 설명하고자 한다.
<악성 행위 탐지 예>
도 2는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 악성 코드 분석 시스템을 보다 상세하게 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 분석 시스템(100)은 API 분석 요청, 분석 할당 및 분석 결과 조회 및 저장을 포함한 악성 행위 분석 전반을 관리한다.
이를 위해, 악성 코드 분석 시스템(110)은 악성 코드 관리 서버(110) 및 가상화 분석 에이젼트(120)를 포함할 수 있다. 먼저, 악성 코드 관리 서버(110)는 악성 코드 분석 대상이 되는 분석 대상 트래픽을 네트워크 트래픽 센서(101)로부터 수집한다.
이때, 네트워크 트래픽 센서(101)는 네트워크, 예컨대 유,무선 네트워크에 접속되어 윈도우즈 환경에서 운영되는 시스템에서 실행된 응용 프로그램의 실행 파일을 포함한 트래픽을 수집하고, 분석이 필요한 분석 대상 트래픽을 추출하여 악성 코드 관리 서버(110)로 전송한다. 분석 요청된 분석 대상 트래픽의 일례는 도 3과 같이 나타낼 수 있다.
따라서, 악성 코드 관리 서버(110)는 네트워크 트래픽 센서(101)로부터 분석 대상 트래픽을 수신하고, 이를 Rest API를 사용하여 분석 대상 트래픽에 포함된 응용 프로그램의 제1 악성 의심 실행 파일 및 각종 메타 정보를 데이터베이스(111)에 저장할 수 있다.
이때, 수집된 응용 프로그램의 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다.
그러나, 수집이 아닌, 입력받을 수도 있다. 즉, 악성 코드 관리 서버(110)는 수동적으로 적어도 하나 이상의 실행 파일을 입력받아 데이터베이스(111)에 저장할 수 있다.
이때, 입력된 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다. 그러나, 앞서 설명한 PE(Portable Executable) 파일로만 제한되지 않음은 물론이다.
다음으로, 가상화 분석 에이젼트(120)는 가상화 기술을 이용하여 동시에 구동되는 적어도 하나 이상의 가상화 에이젼트 모듈(121)을 포함할 수 있다. 이러한 가상화 에이젼트 모듈(121)은 가상화 환경에서 수행되는 윈도우즈 시스템을 가리킬 수 있다.
가상화 에이젼트 모듈(121)이 구동이 되면, 가상화 에이젼트 모듈(121)은 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 실행시킬 수 있다. 실행 결과, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보가 추출될 수 있다.
보다 구체적으로, 가상화 분석 서버(120)는 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 적어도 하나 이상의 가상화 에이젼트 모듈(121)을 이용하여 실행시킨 후, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보를 추출할 수 있다.
바람직하게는, 사용자 레벨 및 커넬 레벨에서 API 후킹을 통해 악성코드가 호출하는 API 정보를 모니터링하여 제1 API 호출 정보를 추출할 수 있다. 제1 API 호출 정보가 추출되면, 악성 코드에 대한 악성 행위를 알 수 있다.
즉, '레지스트리 실행위치에 등록', '파일 복사', '웜 프로세스 실행', 'C:W에 로그 파일 생성', '중복실행방지를 위한 Mutex 생성' 및 '레지스트리의 실행 위치에 등록'과 같은 사용자 레벨 및 커널 레벨의 악성 행위를 알 수 있게 된다. 추출된 제1 API 호출 정보는 악성 코드 관리 서버(110)로 전송된다.
이와 같이, 사용자 레벨 및 커넬 레벨 상에서 모두 제1 API 호출 정보를 추출할 수 있기 때문에 다양한 API를 대상으로 악성코드 행위 분석이 가능한 잇점을 준다.
이런 경우, 악성 코드 관리 서버(110)는 가상화 분석 에이젼트(120)로부터 수신한 제1 API 호출 정보를 데이터베이스(101)에 저장할 수 있다.
한편, 저장된 제1 API 호출 정보를 이용하여 보다 세밀한 악성 행위를 탐지하기 위하여, 악성 코드 관리 서버(110)는 악성 행위 분석 관리 모듈(112)를 포함할 수 있다.
일 실시예에서, 악성 행위 분석 관리 모듈(112)은 가상화 분석 에이젼트(120)로부터 수신된 제1 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 가상화 환경에서의 가상화 악성 행위를 탐지할 수 있다.
이때, 악성 코드 룰셋은 후킹 필터링을 포함할 수 있다. 즉, 후킹 필터링을 포함한 악성 코드 룰셋을 제1 API 호출 정보에 적용하고, 후킹 필터링된 제1 API 호출 정보와 미리 정의된 악성 코드 룰셋을 비교하여 동일성이 확인되면, 악성 코드의 가상화 악성 행위를 탐지할 수 있다. 탐지된 가상화 악성 행위는 데이터베이스(111)에 저장됨은 물론이다.
그러나, 제1 악성 의심 실행 파일로부터 모든 악성 코드를 가상화 환경에서 탐지되지 않을 수도 있다. 이를 대비하고자, 본 일 실시예에서는 리얼 타임 분석 에이젼트를 더 포함할 수 있다. 이러한 리얼 타임 분석 에이젼트는 도 4와 같이 나타낼 수 있다.
도 4는 본 발명의 일 실시예에 따른 리얼 타임 분석 에이젼트 관점의 악성 코드 탐지 시스템을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 탐지 시스템(100)은 악성 코드 관리 서버(110) 및 리얼 타임 분석 에이젼트(130)를 포함할 수 있다. 이때, 악성 코드 관리 서버(110)는 악성 행위 분석 관리 모듈(112)을 포함할 수 있다.
먼저, 악성 행위 분석 관리 모듈(112)은 실질적인 악성 행위를 분석하는 모듈로서, 가상화 악성 행위를 탐지하지 않은 제2 악성 의심 실행 파일을 데이터베이스(111)에 저장된 제1 악성 의심 실행 파일로부터 추출할 수 있다. 추출된 제2 악성 의심 실행 파일은 이후에 설명할 리얼 분석 서버(130)로 전송될 수 있다.
다음으로, 일 실시예에서, 리얼 타임 분석 에이젼트(130)는 악성 행위 분석 관리 모듈(112)로부터 제공받은 제2 악성 의심 실행 파일을 실행시키는 적어도 하나 이상의 리얼 타임 에이젼트(131)를 포함할 수 있다.
즉, 리얼 타임 에이젼트(131)는 수신된 제2 악성 의심 실행 파일을 가상화 환경을 배제한 리얼 타임 환경에서 실행시킨 후, 악성 코드가 호출하는 제2 API(Application Program Interface) 호출 정보를 추출하게 된다.
바람직하게는, 사용자 레벨 및/또는 커널 레벨에서 API 후킹을 통해 악성 코드가 호출하는 API 정보를 모니터링함으로써, 리얼 타임 분석 에이젼트(130)는 제2 API 호출 정보를 추출할 수 있다. 추출된 제2 API 호출 정보는 악성 행위 분석 관리 모듈(112)로 전송될 수 있다.
이에 따라, 악성 행위 분석 관리 모듈(112)은 리얼 타임 에이젼트(131)로부터 수신한 제2 API 호출 정보를 데이터베이스(111)에 저장하고, 저장된 제2 API 호출 정보를 미리 설정된 악성 코드 룰셋을 다시 적용시켜, 리얼 타임 악성 행위를 탐지하게 된다.
이때, 악성 코드 룰셋은 앞서 설명한 바와 같이 동일한 관계로, 그 설명은 생략한다. 탐지된 리얼 타임 악성 행위는 데이테 베이스(111)에 저장됨은 물론이다.
이와 같이, 본 실시예에서는 가상화 환경 또는/및 리얼 타임 환경에서 사용자 레벨 및 커널 레벨에 해당하는 모든 API 호출 정보(예: 제1 API 호출 정보와 제2 API 호출 정보)를 추출함으로써, 세부적인 악성 코드의 악성 행위를 탐지할 수 있는 장점을 준다.
<비교 예>
도 5는 기존 시스템과 본 실시예의 시스템(가상화 환경)을 통해 처리된 API 기반 악성행위 분석 결과를 나타내고, 도 6은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 분석 결과를 일례로서 나타내며, 도 7은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 처리 결과를 나타낸다.
일 실시예에서, 도 5는 실험을 통해 기존 분석 시스템에서 탐지하지 못한 악성 코드 행위를 제안된 악성 코드 탐지 시스템(100)에서 탐지할 수 있는지 여부를 비교하였다.
실험에 의하면, 실제로 2013년도에 유포되었던 악성코드 샘플을 이용하였는데, 해당 악성코드 샘플은 윈도우즈 시스템 상의 백신 프로세스를 조회하고, 해당 백신 프로세스를 강제로 종료하였다.
그리고, 웹에서 실행 파일을 다운로드하는 등의 악성 행위를 수행하였다. 기존 분석 시스템에서는 백신 프로세스 종료에 대한 행위가 탐지되었지만, 백신 프로세스 조회 행위는 탐지하지 못하였다.
반면, 일 실시예에서 제안한 악성 코드 탐지 시스템(100)은 백신 프로세스 조회와 더불어, 도 5와 같이 악성 코드가 수행하는 세부적인 악성 행위를 알 수 있었다.
본 실험에서는 다수의 악성코드 샘플을 대상으로도 기존 행위 분석 시스템과 제안하는 시스템(100)의 분석 및 탐지 성능을 측정하였다. 실제로 유포된 110개 악성 코드 샘플을 이용한 분석 결과의 일례는 도 6과 같이 나타낼 수 있다.
도 6에서와 같이, 기존 분석 시스템은 탐지하지 못하는 행위를 일 실시예의 시스템(100)에서는 탐지되고 있음을 알 수 있었다. 이 결과로서, 도 7에서와 같이, 일 실시예에서 제안한 시스템(100)은 실험에 사용된 악성 코드 샘플 110개 중 97개를 탐지함으로써, 88%의 높은 성능을 보이고 있음을 알 수 있었으며, 기존 분석 시스템에서 탐지하지 못한 악성 코드의 악성 행위(예: 7개)까지도 더 탐지할 수 있었다.
<변형 악성 코드 탐지/ 조회 예 1>
도 8은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 유사도 분석 시스템과 악성 코드 조회 시스템을 보다 상세하게 나타낸 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템(1000)은 유사도 분석 시스템(300) 및 악성 코드 조회 시스템(400)을 포함하고, 상기 유사도 분석 시스템(300)은 API 기반의 변종 악성 코드를 탐지하기 위하여 유사도 분석 서버(310)와 데이터베이스(320)를 포함할 수 있다.
먼저, 유사도 분석 서버(310)는 악성 코드 분석 시스템(100)으로부터 API 호출 정보를 수신하여 데이터베이스(320)에 저장한다. 더욱이 악성 코드 분석 시스템(100)에서 탐지된 악성 코드를 모아놓은 악성 코드 리스트를 생성하게 된다.
이때, 생성된 악성 코드 리스트는 유사도 측정 대상 악성코드 해쉬 리스트를 지칭한다. 이러한 악성 코드 리스트는 시간정보, 프로세스정보(PID, PPID), API 명, 파라미터1~8 정보 등을 포함할 수 있다. 이러한 악성 코드 리스트는 도 9와 같이 나타내었다.
따라서, 유사도 분석 서버(310)는 위와 같은 악성 코드 리스트의 악성코드 해쉬 리스트를 이용하여 적어도 둘 이상의 악성 코드간 API 호출 유사도를 측정(계산)한다.
이때, 둘 이상의 악성 코드간 API 호출 유사도를 측정하기 위하여, 먼저 유사도 측정을 요청받은 적어도 둘 이상의 해쉬를 입력받아 API 호출 정보에 대한 코드화를 수행하여 API 코드 시퀀스를 추출한다. 이렇게 코드화된 API 코드 시퀀스는 파일로 만들어져 API 시퀀스 코드 폴더에 저장 및 관리된다.
이에 따라, 유사도 분석 서버(310)는 추출된 API 코드 시퀀스와 더불어 N-gram 알고리즘을 이용하여 API 호출 유사도를 계산할 수 있다. 예를 들면, 추출된 API 코드 시퀀스를 입력값으로 받아들이고, 이를 N-gram 알고리즘에 적용하면 API 호출 유사도를 계산해 낼 수 있다.
이때, 적용되는 N-gram 알고리즘은 한 문자열 내 N개의 인접한 음절(N-gram)의 출현 빈도를 확률적으로 표현한 것으로서, 전체 시퀀스로부터 서브 시퀀스들을 추출하고, 추출 가능한 서브 시퀀스에서 크기가 N인 서브 시퀀스를 추출할 수 있다.
예를 들면, 도 10(예: 3-gram)과 같이 N의 크기 = N개의 토큰이고, 문자열이 “SIGNATURE”의 3-gram 집합, 예컨대 {“SIGNA”, “IGNAT”, “GNATU”, “NATUR, ”ATURE“}인 경우, N의 값이 커질수록 호출 서열 정보를, N의 값이 작을수록 호출 빈도수가 크게 반영될 수 있다. 그러나, N= 1이면 일반 호출 빈도수의 유사도 계산과 동일하다. 다시 말해, N이 1일 때, 시퀀스에 포함된 각 문자 별 빈도수 누적 값이 같다.
이와 같이, N-gram 알고리즘이 적용되면, N의 크기 설정에 따라 호출 빈도, 호출 순서의 빈도 크기를 알 수 있기 때문에 적어도 둘 이상의 악성 코드간 API 코드 시퀀스에 대한 API 호출 유사도를 계산할 수 있게 된다. 이때, 유사도는 0~1 사이 값을 가질 수 있다.
다음으로, 본 실시예에서, 데이터베이스(320)는 앞서 설명한 API 호출 정보, 악성 코드 리스트, API 코드화, API 코드 시퀀스 및 계산된 API 호출 유사도 등을 저정하게 된다. 이와 같이, API 호출 유사도를 계산함으로써, 변종 악성 코드를 탐지하게 된다.
반면, 본 실시예에서, 악성 코드 조회 시스템(400)은 데이터베이스(320)에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 정보들의 조합과 산출을 수행할 수 있다. 이러한 조회 및 산출은 사용자 인터페이스(GUI)를 통해 실현될 수 있다.
예를 들면, 도 11에서와 같이 악성코드 A, 악성코드 B 간의 유사도를 조회하고자, "case1. [조회) mal1_id(24), mal2_id(11) 및 case2. [조회] mal1_id[24], mal2_id[67]"와 같이 조회 요청되면 요청받은 악성 코드 A,B가 동일 유사 그룹에 포함된다고 출력하며, 악성 코드 A, B가 상이한 그룹에 포함되어 과거 유사도 산출 결과가 없음을 출력할 수 있다. 이와 같이, 유사도 조회를 사용자 인터페이스(GUI)를 통해 실현할 수 있게 된다.
<변형 악성 코드 탐지/ 조회 예 2>
도 12는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 행위 분류 시스템과 유사도 분석 시스템간의 관계와 악성 코드 조회 시스템을 보다 상세하게 나타낸 도면이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템(1000)은 행위 분류 시스템(200), 유사도 분석 시스템(300) 및 악성 코드 조회 시스템(400)을 포함하고, 상기 행위 분류 시스템(200)은 행위 기반의 변종 악성 코드를 탐지하기 위하여 행위 분류 서버(210) 및 데이터베이스(220)를 포함할 수 있다.
먼저, 행위 분류 서버(210)는 악성 코드 분석 시스템(100)로부터 악성 코드의 악성 행위 및/또는 API 호출 정보를 수신한다. 그리고, 행위 분류 서버(210)는 수신된 악성 코드의 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 생성한다.
이때, 행위 분류 규칙 정보는 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호와, 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터와, 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API와 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함할 수 있다.
따라서, 수신된 악성 코드의 악성 행위가 행위 분류 규칙에 속하는지를 확인하여 매칭이 이루어져 행위 코드들을 생성할 수 있게 된다. 이 처럼 생성된 행위 코드들의 일례는 도 13과 같이 나타낼 수 있다.
도 13에서와 같이, 임의의 악성 행위들이 행위 분류 규칙에 따라 행위 코드로 구분되는 과정을 알 수 있다. 한편, 상기 행위 코드들은 악성코드별 행위를 식별하기 위한 코드로서, 복합적인 악성 행위를 하나의 비트열로 표현될 수 있다. 예를 들어, 행위 매칭시 '1', 비매칭시 '0'이라는 비트열로 표시될 수 있다.
이와 같이, 행위 코드가 생성되면, 행위 분류 서버(210)는 생성된 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 생성할 수 있다.
예를 들면, 도 14에 도시된 바와 같이 행위 코드를 부여받은 악성 코드들은 이를 기준으로 행위가 유사한 악성 코드들로 분류하기 위하여 위하여 그룹핑된 적어도 하나 이상의 행위 그룹을 생성할 수 있다.
이때, 동일 행위 코드를 가진 악성 코드는 하나의 그룹으로 그룹핑되고, 이들은 상호 유사한 행위를 갖는 악성 코드로 분류될 수 있다. 또한, 1개 시그니처의 행위 코드는 1개 행위 그룹으로 식별되며, 행위 코드의 전체 개수는 유사 행위 그룹의 개수와 동일한 상태를 가질 수 있다.
이와 같이, 생성된 행위 코드와 행위 그룹 생성으로 인하여, 본 실시예에서는 행위 기반의 변종 악성 코드를 쉽게 확인 가능하다.
또한, 일 실시예에서 행위 분류 서버(210)는 생성되어진 행위 그룹에 포함된 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출할 수 있다. 이때, 악성 코드 리스트에 대한 예는 앞서 설명한 도 9와 같이 나타낼 수 있다. 참고로, 도 9에서는 도 1에서 설명한 API 호출 정보도 함께 표시하였다.
이 처럼 추출된 API 시퀸스는 행위 코드별 비트 코드를 생성하는데 활용될 수 있다. 즉, 행위 분류 서버(210)는 추출되어진 API 시퀀스와 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 행위 코드별 비트 코드(1,0)를 생성할 수 있다.
이와 같이, 생성된 비트 코드는 차후에 설명할 악성 코드 변종 조회 시스템(300)에서 조회시 비트 코드를 입력하여 변종 악성 코드와 같은 다양한 정보를 확인하는데 매우 유용하게 쓰인다.
반면, 본 실시예에서, 데이터베이스(220)는 앞서 설명한 바와 같이 생성된 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드 등을 저장하는 역할을 한다. 저장된 정보들은 이후에 설명할 악성코드 조회 시스템(400)에 의해 조회될 수 있다.
다음으로, 본 실시예에서, 유사도 분석 시스템(300)은 앞서 설명한 행위 분류 서버(210)에서 생성한 행위 그룹 내의 탐지된 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 동일 행위 그룹내의 적어도 둘 이상의 악성 코드간 API 호출 유사도를 측정할 수 있다.
이때, API 호출 유사도 측정에 필요한 악성 코드 리스트는 앞서 설명한 도 8의 악성 코드 리스트와 동일하다. 다만, 본 실시예서는 행위 분류 시스템(200)과 관련된 동일 행위 그룹내의 적어도 둘 이상의 악성 코드간 API 호출 유사도를 측정할 수 있지만, 도 8에서는 행위 분류 시스템(200)이 아닌 악성 코드 분석 시스템(100)에서 탐지된 적어도 둘 이상의 악성 코드간 API 호출 유사도를 측정하는 것이 서로 차이가 있다.
이때, 본 실시예에서, 유사도 분석 시스템(300)도 API 코드 시퀀스와 더불어 N-gram 알고리즘을 이용하여 API 호출 유사도를 계산할 수 있다. 이러한 계산은 앞서 도 8에서 충분히 설명하였으므로 그 설명은 생략하기로 한다. 그리고, 위와 같이 계산되거나 입력 및 출력되는 정보들은 데이터베이스(320)에 저장될 수 있다.
마지막으로, 본 실시예에서, 악성 코드 조회 시스템(400)은 앞서 설명한 유사 분석 시스템(300)의 데이터베이스(320)와 행위 분류 시스템(200)의 데이터베이스(220)에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 정보들의 조합과 산출을 수행할 수 있다. 이러한 조회 및 산출은 사용자 인터페이스(GUI)를 통해 실현될 수 있다. 이러한 조회 및 산출은 사용자 인터페이스(GUI)를 통해 실현될 수 있다.
예를 들면, 도 15에서와 같이, 특정 그룹에 속한 변종 악성코드 목록을 조회하고자, 사용자 인터페이스를 통해 "[조회] group1_id(28), 채널정보(TYPE1), 변종판단결과(TRUE)"와 같이 조회 요청되면, MAL2_id 11, 52 ... 등이 변종 판단 결과에 따라 변종 그룹으로 산출되어 출력될 수 있다.
또한, 도 16에서와 같이, 특정 악성코드 A에 대한 변종 조회를 위하여, " case1. [조회) mal1_id(24), 변종판단결과(TRUE)와 case2. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE1) 및 case3. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE2)"과 조회 요청되면, mal1_ID[24]에 대한 전체 변종 리스트를 출력하고, 동일 그룹 내 변종 리스트만 출력하며, 서로 다른 그룹에 속하는 변종 리스트를 출력할 수 있다.
<악성 행위 탐지 방법 예>
도 17은 본 발명의 일 실시예에 따른 API 기반 악성 코드 변종 탐지 및 조회 방법을 예시적으로 나타낸 순서도이고, 도 18은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 방법의 악성 행위 탐지 방법을 보다 상세하게 나타낸 순서도이다.
도 17를 참조하면, 본 발명의 일 실시예에 따른 행위 기반 악성 코드 변종 탐지 및 조회 방법(S1000)은 API 호출 정보를 추출하여 악성 코드의 악성 행위를 악성 코드 분석 시스템(100)에서 탐지하는 단계(S100), 탐지된 악성 행위에 기반하여 행위 코드와 행위 그룹을 생성하여 변종된 악성 코드를 행위 분류 시스템(200)에서 탐지하는 단계(S200), 상기 API 호출 정보 또는/및 행위 그룹내의 적어도 둘 이상의 악성 코드간 API 호출 유사도를 구하여 변종 악성 코드를 유사도 분석 시스템(300)에서 탐지하는 단계(S300) 및 앞서 설명한 악성 행위와 변종 악성 코드 등을 악성코드 조회 시스템(400)에서 조회하는 단계(S400)를 포함하여 이루어질 수 있다.
이중에서 본 실시예에 따른 S100 단계는 도 18에서와 같이, 수집되거나 입력된 악성 의심 실행 파일을 저장하는 S110 단계, 악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 제1 API 호출 정보를 사용자 레벨 및 커널 레벨 상에서 추출하는 S120 단계, 상기 제1 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 가상화 악성 행위를 탐지하는 S130 단계 및 상기 가상화 악성 행위를 탐지하지 않은 제2 악성 의심 실행 파일로부터 악성 코드가 호출하는 제2 API 호출 정보를 추출하여 리얼 타임 악성 행위를 탐지하는 S140 단계를 포함할 수 있다.
먼저, S110 단계는 성 코드 분석 대상이 되는 분석 대상 트래픽을 악성 코드 관리 서버(110)에 의해 네트워크 트래픽 센서(101)로부터 수집한다.
이때, 네트워크 트래픽 센서(101)는 네트워크, 예컨대 유,무선 네트워크에 접속되어 윈도우즈 환경에서 운영되는 시스템에서 실행된 응용 프로그램의 실행 파일을 포함한 트래픽을 수집하고, 분석이 필요한 분석 대상 트래픽을 추출하여 악성 코드 관리 서버(110)로 전송한다.
따라서, S110 단계는 네트워크 트래픽 센서(101)로부터 분석 대상 트래픽을 수신하고, 이를 Rest API를 사용하여 분석 대상 트래픽에 포함된 응용 프로그램의 제1 악성 의심 실행 파일 및 각종 메타 정보를 악성 코드 관리 서버(110)의 데이터베이스(111)에 저장할 수 있다.
이때, 수집된 응용 프로그램의 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다.
그러나, 수집이 아닌, 입력받을 수도 있다. 즉, S110 단계는 수동적으로 적어도 하나 이상의 실행 파일을 입력받아 데이터베이스(111)에 저장할 수 있다. 이때, 입력받는 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다. 그러나, 앞서 설명한 PE(Portable Executable) 파일로만 제한되지 않음은 물론이다.
이후, 일 실시예에서, S120 단계는 가상화 기술을 이용하여 적어도 하나 이상의 가상화 에이젼트 모듈(121)를 동시에 구동시킬 수 있다. 이때, 연동되어 구동되는 가상화 에이젼트 모듈(121)은 가상화 환경에서 수행되는 윈도우즈 시스템을 가리킬 수 있다.
가상화 에이젼트 모듈(121)이 구동이 되면, 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 가상화 에이젼트 모듈(121)에서 실행시킬 수 있다. 실행 결과, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보가 추출될 수 있다.
역으로, S120 단계는 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 적어도 하나 이상의 가상화 에이젼트 모듈(121)을 이용하여 실행시킨 후, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보를 가상화 분석 서버(120)에서 추출할 수 있다.
바람직하게는, 사용자 레벨 및 커넬 레벨에서 API 후킹을 통해 악성코드가 호출하는 API 정보를 모니터링하여 제1 API 호출 정보를 가상화 분석 서버(120)에서 추출할 수 있다. 제1 API 호출 정보가 추출되면, 악성 코드에 대한 악성 행위를 알 수 있다.
즉, '레지스트리 실행위치에 등록', '파일 복사', '웜 프로세스 실행', 'C:W에 로그 파일 생성', '중복실행방지를 위한 Mutex 생성' 및 '레지스트리의 실행 위치에 등록'과 같은 사용자 레벨 및 커널 레벨의 악성 행위를 알 수 있게 된다. 추출된 제1 API 호출 정보는 가상화 분석 서버(120)에서 악성 코드 관리 서버(120)로 전송된다.
이와 같이, 사용자 레벨 및 커넬 레벨 상에서 모두 제1 API 호출 정보를 추출하기 때문에 다양한 API를 대상으로 악성코드 행위 분석이 가능한 잇점을 준다.
이런 경우, 가상화 분석 에이젼트(120)로부터 수신한 제1 API 호출 정보는 가상화 분석 서버(120)의 데이터베이스(101)에 저장할 수 있다.
이후, 저장된 제1 API 호출 정보를 이용하여 보다 세밀한 악성 행위를 탐지하기 위하여, S130 단계는 가상화 분석 에이젼트(120)로부터 수신된 제1 API 호출 정보를 미리 설정된 악성 코드 룰셋을 악성 행위 분석 관리 모듈(112)에서 적용하여 가상화 환경에서의 가상화 악성 행위를 탐지한다.
이때, 악성 코드 룰셋은 후킹 필터링을 포함할 수 있다. 즉, 후킹 필터링을 포함한 악성 코드 룰셋을 제1 API 호출 정보에 적용하고, 후킹 필터링된 제1 API 호출 정보와 미리 정의된 악성 코드 룰셋을 비교하여 동일성이 확인되면 악성 코드의 가상화 악성 행위를 악성 행위 분석 관리 모듈(112)에서 탐지할 수 있다. 탐지된 가상화 악성 행위는 악성 행위 분석 관리 모듈(112)의 데이터베이스(111)에 저장될 수 있다.
그러나, 제1 악성 의심 실행 파일로부터 모든 악성 코드를 가상화 환경에서 탐지할 수 없을 수도 있다. 이를 대비하고자, S130 단계는 가상화 악성 행위를 탐지하지 않은 제2 악성 의심 실행 파일을 데이터베이스(111)에 저장된 제1 악성 의심 실행 파일로부터 추출할 수 있다. 추출된 제2 악성 의심 실행 파일은 이후에 설명할 리얼 분석 서버(130)로 전송된다.
이후, 본 실시예에서, S140 단계는 악성 행위 분석 관리 모듈(112)로부터 수신된 제2 악성 의심 실행 파일을 리얼 타임 분석 에이젼트(130)의 리얼 타임 에이젼트(131)를 통해 실행시킨 후, 악성 코드가 호출하는 제2 API(Application Program Interface) 호출 정보를 리얼 타임 분석 에이젼트(130)에서 추출하게 된다.
바람직하게는, 사용자 레벨 및/또는 커널 레벨에서 API 후킹을 통해 악성 코드가 호출하는 API 정보를 모니터링함으로써, 제2 API 호출 정보를 리얼 타임 분석 에이젼트(130)에서 추출할 수 있다. 추출된 제2 API 호출 정보는 악성 행위 분석 관리 모듈(112)로 전송된다.
이에 따라, S140 단계는 리얼 타임 에이젼트(131)로부터 수신한 제2 API 호출 정보를 악성 행위 분석 관리 모듈(112)의 데이터베이스(111)에 저장하고, 저장된 제2 API 호출 정보를 미리 설정된 악성 코드 룰셋을 다시 적용시켜, 리얼 타임 악성 행위를 악성 행위 분석 관리 모듈(112)에서 탐지하게 된다.
이때, 악성 코드 룰셋은 앞서 설명한 바와 같이 동일한 관계로, 그 설명은 생략한다. 탐지된 리얼 타임 악성 행위는 데이테 베이스(111)에 저장된다. 따라서, 데이테 베이스(111)에 저장된 정보들은 필요에 따라 악성 행위 분석에 유용하게 사용될 수 있게 된다.
이와 같이, 본 실시예에서는 가상화 환경 또는/및 리얼 타임 환경에서 사용자 레벨 및 커널 레벨에 해당하는 모든 API 호출 정보를 추출함으로써, 악성 코드의 보다 세부적인 악성 행위를 탐지할 수 있는 장점을 준다.
다시 도 17로 돌아와, 본 실시예에 따른 S200 단계는 악성 코드 분석 시스템(100)로부터 악성 코드의 악성 행위 및/또는 API 호출 정보를 행위 분류 서버(210)에 의해 수신한다. 그리고, 수신된 악성 코드의 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 행위 분류 서버(210)에서 생성한다.
이때, 행위 분류 규칙 정보는 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호와, 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터와, 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API와 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함할 수 있다.
따라서, 수신된 악성 코드의 악성 행위가 행위 분류 규칙에 속하는지를 확인하여 매칭이 이루어져 행위 코드들을 생성할 수 있게 된다. 이 처럼, 생성된 행위 코드들의 일례는 도 13과 같이 나타낼 수 있다.
도 13에서와 같이, 임의의 악성 행위들이 행위 분류 규칙에 따라 행위 코드로 구분되는 과정을 알 수 있다. 한편, 상기 행위 코드들은 악성코드별 행위를 식별하기 위한 코드로서, 복합적인 악성 행위를 하나의 비트열로 표현될 수 있다. 예를 들어, 행위 매칭시 '1', 비매칭시 '0'이라는 비트열로 표시될 수 있다.
이와 같이, 행위 코드가 생성되면, S200 단계는 생성된 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 행위 분류 서버(210)에서 생성할 수 있다.
예를 들면, 도 14에 도시된 바와 같이 행위 코드를 부여받은 악성 코드들은 이를 기준으로 행위가 유사한 악성 코드들로 분류하기 위하여 위하여 그룹핑된 적어도 하나 이상의 행위 그룹을 생성할 수 있다.
이때, 동일 행위 코드를 가진 악성 코드는 하나의 그룹으로 그룹핑되고, 이들은 상호 유사한 행위를 갖는 악성 코드로 분류될 수 있다. 또한, 1개 시그니처의 행위 코드는 1개 행위 그룹으로 식별되며, 행위 코드의 전체 개수는 유사 행위 그룹의 개수와 동일한 상태를 가질 수 있다. 이와 같이, 생성된 행위 코드와 행위 그룹 생성으로 인하여, 본 실시예에서는 행위 기반의 변종 악성 코드를 쉽게 탐지할 수 있는 장점을 준다.
또한, 일 실시예에서 S200 단계는 생성되어진 행위 그룹에 포함된 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 행위 분류 서버(210)에서 추출할 수 있다. 이때, 악성 코드 리스트에 대한 예는 도 9와 같이 나타낼 수 있다. 참고로, 도 9에서는 도 17에서 설명한 API 호출 정보도 함께 표시하였다.
이 처럼 추출된 API 시퀸스는 행위 코드별 비트 코드를 생성하는데 활용될 수 있다. 즉, 행위 분류 서버(120)는 추출되어진 API 시퀀스와 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 행위 코드별 비트 코드(1,0)를 생성할 수 있다.
이와 같이, 생성된 비트 코드는 차후에 설명할 악성 코드 변종 조회 시스템(300)에서 조회시 비트 코드를 입력하여 변종 악성 코드와 같은 다양한 정보를 확인하는데 매우 유용하게 쓰인다.
이후, 본 실시예에서, S200 단계는 앞서 설명한 바와 같이 생성된 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드 등을 데이터베이스(220)에 저장한다. 저장된 정보들은 이후에 설명할 악성코드 조회 시스템(400)에 의해 조회될 수 있다.
본 실시예에서, S300 단계는 악성 코드 분석 시스템(100)으로부터 API 호출 정보를 수신하여 유사도 분석 서버(310)의 데이터베이스(320)에 저장한다. 더욱이 악성 코드 분석 시스템(100)에서 탐지된 악성 코도 및/또는 행위 분류 시스템(200)의 행위 그룹내에 악성 코드를 모아놓은 악성 코드 리스트를 유사도 분석 서버(310)에서 추출하게 된다.
이때, 추출된 악성 코드 리스트는 유사도 측정 대상 악성코드 해쉬 리스트를 지칭한다. 이러한 악성 코드 리스트는 시간정보, 프로세스정보(PID, PPID), API 명, 파라미터1~8 정보 등을 포함할 수 있다. 이러한 악성 코드 리스트는 도 9와 같이 나타내었다.
따라서, S300 단계는 위와 같은 악성 코드 리스트의 악성코드 해쉬 리스트를 이용하여 적어도 둘 이상의 악성 코드간 API 호출 유사도를 유사도 분석 서버(310)에서 측정(계산)한다.
이때, 둘 이상의 악성 코드간 API 호출 유사도를 측정하기 위하여, 먼저, 유사도 측정을 요청받은 적어도 둘 이상의 해쉬를 입력받아 API 호출 정보에 대한 코드화를 수행하여 API 코드 시퀀스를 추출한다. 이렇게 코드화된 API 코드 시퀀스는 파일로 만들어져 API 시퀀스 코드 폴더에 저장 및 관리된다.
이에 따라, S300 단계는 추출된 API 코드 시퀀스와 더불어 N-gram 알고리즘을 이용하여 API 호출 유사도를 유사도 분석 서버(310)에서 계산할 수 있다. 예를 들면, 추출된 API 코드 시퀀스를 입력값으로 받아들이고, 이를 N-gram 알고리즘에 적용하면 API 호출 유사도를 계산해 낼 수 있다.
이때, 적용되는 N-gram 알고리즘은 한 문자열 내 N개의 인접한 음절(N-gram)의 출현 빈도를 확률적으로 표현한 것으로서, 전체 시퀀스로부터 서브 시퀀스들을 추출하고, 추출 가능한 서브 시퀀스에서 크기가 N인 서브 시퀀스를 추출할 수 있다.
예를 들면, 도 10(예: 3-gram)과 같이 N의 크기 = N개의 토큰이고, 문자열이 “SIGNATURE”의 3-gram 집합, 예컨대 {“SIGNA”, “IGNAT”, “GNATU”, “NATUR, ”ATURE“}인 경우, N의 값이 커질수록 호출 서열 정보를, N의 값이 작을수록 호출 빈도수가 크게 반영될 수 있다. 그러나, N= 1이면 일반 호출 빈도수의 유사도 계산과 동일하다. 다시 말해, N이 1일 때, 시퀀스에 포함된 각 문자 별 빈도수 누적 값이 같다.
이와 같이, N-gram 알고리즘이 적용되면, N의 크기 설정에 따라 호출 빈도, 호출 순서의 빈도 크기를 알 수 있기 때문에 적어도 둘 이상의 악성 코드간 API 코드 시퀀스에 대한 API 호출 유사도를 계산할 수 있게 된다. 이때, 유사도는 0~1 사이 값을 가질 수 있다.
본 실시예에서, S300 단계는 앞서 설명한 API 호출 정보, 악성 코드 리스트, API 코드화, API 코드 시퀀스 및 계산된 API 호출 유사도 등을 데이터베이스(320)에 저장하게 된다. 이와 같이, API 호출 유사도를 계산함으로써, 변종 악성 코드를 탐지하게 된다.
반면, 본 실시예에서, S400 단계는 앞서 설명한 악성 행위 분석 시스템(100), 행위 분류 시스템(200) 및 유사도 분석 시스템(300)의 데이터베이스(110, 210, 310)에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 정보들의 조합과 산출을 수행할 수 있다. 이러한 조회 및 산출은 사용자 인터페이스(GUI)를 통해 실현될 수 있다.
예를 들면, 도 11에서와 같이 악성코드 A, 악성코드 B 간의 유사도를 조회하고자, "case1. [조회) mal1_id(24), mal2_id(11) 및 case2. [조회] mal1_id[24], mal2_id[67]"와 같이 조회 요청되면 요청받은 악성 코드 A,B가 동일 유사 그룹에 포함된다고 출력하며, 악성 코드 A, B가 상이한 그룹에 포함되어 과거 유사도 산출 결과가 없음을 출력할 수 있다.
또한, 도 15에서와 같이, 특정 그룹에 속한 변종 악성코드 목록을 조회하고자, 사용자 인터페이스를 통해 "[조회] group1_id(28), 채널정보(TYPE1), 변종판단결과(TRUE)"와 같이 조회 요청되면, MAL2_id 11, 52 ... 등이 변종 판단 결과에 따라 변종 그룹으로 산출되어 출력될 수 있다.
또한, 도 16에서와 같이, 특정 악성코드 A에 대한 변종 조회를 위하여, " case1. [조회) mal1_id(24), 변종판단결과(TRUE)와 case2. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE1) 및 case3. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE2)"과 조회 요청되면, mal1_ID[24]에 대한 전체 변종 리스트를 출력하고, 동일 그룹 내 변종 리스트만 출력하며, 서로 다른 그룹에 속하는 변종 리스트를 출력할 수 있다.
이와 같이, 본 실시예에서는 변종 악성 코드 및 악성 코드의 악성 행위들을 악성코드 조회 시스템(300)에 의해 다양한 조건하에 조회하고 산출할 수 있는 장점을 준다.
이상에서와 같이, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고 다른 구체적인 형태로 실시할 수 있다는 것을 이해할 수 있을 것이다. 따라서 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적이 아닌 것이다.
100 : 악성 코드 분석 시스템 101 : 네트워크 트래픽 센서
110 : 악성 코드 관리 서버 111 : 데이터베이스
112 : 악성 행위 분석 관리 모듈 120 : 가상화 분석 에이젼트
121 : 가상화 에이젼트 모듈 130 : 리얼 타임 분석 에이젼트
131 : 리얼 타임 에이젼트 200 : 행위 분류 시스템
210 : 행위 분류 서버 220 : 데이터베이스
300 : 유사도 분석 시스템 310 : 유사도 분석 서버
320 : 데이터베이스 400 : 악성코드 조회 시스템
1000 : 악성 코드 변종 탐지 및 조회 시스템

Claims (25)

  1. 악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 추출하고, 추출된 상기 API 호출 정보를 이용하여 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템;
    상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 탐지된 적어도 둘 이상의 상기 악성 코드간 API 호출 유사도를 계산하는 유사도 분석 시스템; 및
    상기 악성 코드 분석 시스템으로부터 제공받은 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 생성하고, 유사한 행위를 가진 상기 행위 코드들을 그룹화한 행위 그룹을 생성하는 행위 분류 시스템을 포함하여 구성되며,

    상기 유사도 분석 시스템은 상기 행위 그룹으로부터 추출된 API 호출 정보를 모아놓은 API 호출 정보 집합과 탐지된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 동일 행위 그룹내의 적어도 둘 이상의 악성 코드간 상기 API 호출 유사도를 측정하며,

    상기 유사도 분석 시스템은 상기 악성 코드 리스트에 포함된 임의의 적어도 둘 이상의 악성 코드간 개별 API 구성, API 호출 순서 및 빈도를 파악하여 상기 API 호출 유사도를 측정하는 것을 특징으로 하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  2. 제1항에 있어서,
    상기 악성 코드 분석 시스템은,
    네트워크망에 접속된 네트워크 트래픽 센서로부터 상기 악성 의심 실행 파일을 수집하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  3. 제1항에 있어서,
    상기 악성 코드 분석 시스템은,
    상기 악성 의심 실행 파일, 제1 API 호출 정보 및 상기 악성 코드의 악성 행위를 저장하는 제1 데이테 베이스;
    를 더 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  4. 제1항에 있어서,
    상기 악성 코드 분석 시스템은,
    사용자 레벨 및 커널 레벨상에서 API 후킹을 통해 상기 악성 코드가 호출하는 API 호출 정보를 추출하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  5. 제4항에 있어서,
    상기 악성 코드 분석 시스템은,
    상기 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 상기 악성 행위를 탐지하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  6. 제5항에 있어서,
    상기 악성 코드 분석 시스템은,
    후킹 필터링을 포함한 상기 악성 코드 룰셋을 적용하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  7. 제1항에 있어서,
    상기 악성 코드 분석 시스템은,
    가상화 악성 행위 및 리얼 타임 악성 행위를 포함한 상기 악성 행위를 탐지하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  8. 삭제
  9. 제1항에 있어서, 상기 행위 분류 규칙 정보는,
    상기 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호;
    해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터;
    상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API; 및
    상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  10. 제9항에 있어서,
    상기 행위 분류 시스템은,
    생성된 상기 행위 그룹에 포함된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  11. 제10항에 있어서,
    상기 행위 분류 시스템은,
    추출된 상기 API 시퀀스와 상기 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 상기 행위 코드별 비트 코드(1,0)를 생성하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  12. 제11항에 있어서,
    상기 행위 분류 시스템은,
    상기 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드를 저장하는 제2 데이터베이스;
    를 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  13. 제3항 또는 제12항에 있어서,
    상기 제1 및 제2 데이터베이스에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 수행하는 악성코드 조회 시스템;
    을 더 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  14. 삭제
  15. 제1항에 있어서, 상기 유사도 분석 시스템은,
    악성코드 해쉬리스트를 포함한 상기 악성 코드 리스트를 활용하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  16. 제15항에 있어서,
    상기 유사도 분석 시스템은,
    상기 악성코드 해쉬리스트에 포함된 임의의 둘 이상의 해쉬를 이용한 상기 API 호출 정보에 대한 API 코드화를 수행하여 API 코드 시퀀스를 추출하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  17. 제16항에 있어서,
    상기 유사도 분석 시스템은,
    추출된 상기 API 코드 시퀀스와 더불어, N-gram을 이용하여 상기 API 호출 유사도를 측정하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  18. 제17항에 있어서,
    상기 유사도 분석 시스템은,
    상기 API 호출 정보 집합, 악성 코드 리스트, API 코드화, API 코드 시퀀스 및 API 호출 유사도를 저장하는 제3 데이터베이스;
    를 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  19. 제18항에 있어서,
    상기 제3 데이터베이스에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 수행하는 악성코드 조회 시스템;
    을 더 포함하는 API 기반 악성 코드 변종 탐지 및 조회 시스템.
  20. (a) 악성 의심 실행 파일을 실행시킨 후, 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 악성 코드 분석 시스템에서 추출하는 단계;
    (b) 추출된 상기 API 호출 정보를 이용하여 상기 악성 코드에 대한 악성 행위를 악성 코드 분석 시스템에서 탐지하는 단계;
    (c) 상기 API 호출 정보와 탐지된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 적어도 둘 이상의 상기 악성 코드간 API 호출 유사도를 유사도 분석 시스템에서 측정하는 단계;
    (d) 탐지된 상기 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 행위 분류 시스템에서 생성하는 단계; 및
    (e) 상기 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 행위 분류 시스템에서 생성하는 단계;를 포함하여 이루어지며,
    상기 (c) 단계는 상기 행위 그룹으로부터 추출된 API 호출 정보를 모아놓은 API 호출 정보 집합과 탐지된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 동일 행위 그룹내의 적어도 둘 이상의 악성 코드간 상기 API 호출 유사도를 측정하며,
    상기 (c) 단계는 상기 악성 코드 리스트에 포함된 임의의 적어도 둘 이상의 악성 코드간 개별 API 구성, API 호출 순서 및 빈도를 파악하여 상기 API 호출 유사도를 측정하는 것을 특징으로 하는 API 기반 악성 코드 변종 탐지 및 조회 방법.
  21. 삭제
  22. 삭제
  23. 제20항에 있어서,
    상기 (c) 단계는,
    악성코드 해쉬리스트를 포함한 상기 악성 코드 리스트를 활용하는 API 기반 악성 코드 변종 탐지 및 조회 방법.
  24. 제23항에 있어서,
    상기 (c) 단계는,
    상기 악성코드 해쉬리스트에 포함된 임의의 둘 이상의 해쉬를 이용한 상기 API 호출 정보에 대한 API 코드화를 수행하여 API 코드 시퀀스를 추출하는 API 기반 악성 코드 변종 탐지 및 조회 방법.
  25. 제24항에 있어서,
    상기 (c) 단계는,
    추출된 상기 API 코드 시퀀스와 더불어, N-gram을 이용하여 상기 API 호출 유사도를 측정하는 API 기반 악성 코드 변종 탐지 및 조회 방법.
KR1020150008756A 2015-01-19 2015-01-19 Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법 KR101589656B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150008756A KR101589656B1 (ko) 2015-01-19 2015-01-19 Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150008756A KR101589656B1 (ko) 2015-01-19 2015-01-19 Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101589656B1 true KR101589656B1 (ko) 2016-01-28

Family

ID=55309981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150008756A KR101589656B1 (ko) 2015-01-19 2015-01-19 Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101589656B1 (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101839747B1 (ko) * 2017-11-27 2018-03-19 한국인터넷진흥원 악성코드 정보의 시각화 장치 및 그 방법
KR101907443B1 (ko) * 2017-10-31 2018-10-12 주식회사 윈스 구성 요소 기반 악성 파일 유사성 분석 장치 및 방법
KR101930293B1 (ko) 2017-09-12 2018-12-18 연세대학교 산학협력단 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법
KR102005107B1 (ko) 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치
KR102068605B1 (ko) * 2019-03-25 2020-01-21 (주)시큐레이어 함수 실행 순서를 이용한 악성코드 분류 방법 및 이를 사용한 장치
KR102090423B1 (ko) * 2019-04-25 2020-05-04 숭실대학교산학협력단 동적 api 추출 기반의 애플리케이션 악성코드 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
CN111797395A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质
WO2021071027A1 (ko) * 2019-10-07 2021-04-15 숭실대학교 산학협력단 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체
KR102283054B1 (ko) 2020-11-20 2021-07-29 숭실대학교 산학협력단 Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
KR102302484B1 (ko) 2020-11-26 2021-09-14 숭실대학교산학협력단 특성 선택에 기반한 모바일 악성 코드 분류 방법, 이를 수행하기 위한 기록 매체 및 장치
KR20230097974A (ko) 2021-12-24 2023-07-03 박승필 사이버 위협정보 탐지, 분석 및 교육 서비스를 지원하는 시스템 및 방법
US11768938B2 (en) 2020-11-20 2023-09-26 Foundation Of Soongsil University-Industry Cooperation Mobile application malicious behavior pattern detection method based on API call graph extraction and recording medium and device for performing the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120093564A (ko) * 2011-02-15 2012-08-23 주식회사 안랩 벡터량 산출을 이용한 악성코드의 분류 및 진단 방법과 장치
KR20120124638A (ko) 2011-05-04 2012-11-14 엔에이치엔비즈니스플랫폼 주식회사 행위 기반의 악성코드 탐지 시스템 및 악성코드 탐지 방법
KR101404882B1 (ko) * 2013-01-24 2014-06-11 주식회사 이스트시큐리티 행위를 기반으로 한 악성코드 분류시스템 및 분류방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120093564A (ko) * 2011-02-15 2012-08-23 주식회사 안랩 벡터량 산출을 이용한 악성코드의 분류 및 진단 방법과 장치
KR20120124638A (ko) 2011-05-04 2012-11-14 엔에이치엔비즈니스플랫폼 주식회사 행위 기반의 악성코드 탐지 시스템 및 악성코드 탐지 방법
KR101404882B1 (ko) * 2013-01-24 2014-06-11 주식회사 이스트시큐리티 행위를 기반으로 한 악성코드 분류시스템 및 분류방법

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101930293B1 (ko) 2017-09-12 2018-12-18 연세대학교 산학협력단 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법
KR101907443B1 (ko) * 2017-10-31 2018-10-12 주식회사 윈스 구성 요소 기반 악성 파일 유사성 분석 장치 및 방법
KR101839747B1 (ko) * 2017-11-27 2018-03-19 한국인터넷진흥원 악성코드 정보의 시각화 장치 및 그 방법
KR102005107B1 (ko) 2019-01-29 2019-07-29 엘아이지넥스원 주식회사 Api 호출 시퀀스를 이용한 악성코드의 기능 분석 방법 및 장치
KR102068605B1 (ko) * 2019-03-25 2020-01-21 (주)시큐레이어 함수 실행 순서를 이용한 악성코드 분류 방법 및 이를 사용한 장치
US11019099B2 (en) 2019-04-25 2021-05-25 Foundation Of Soongsil University-Industry Cooperation Method of application malware detection based on dynamic API extraction, and readable medium and apparatus for performing the method
KR102090423B1 (ko) * 2019-04-25 2020-05-04 숭실대학교산학협력단 동적 api 추출 기반의 애플리케이션 악성코드 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
WO2021071027A1 (ko) * 2019-10-07 2021-04-15 숭실대학교 산학협력단 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체
CN111797395A (zh) * 2020-06-28 2020-10-20 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质
CN111797395B (zh) * 2020-06-28 2023-08-29 韩山师范学院 恶意代码可视化及变种检测方法、装置、设备及存储介质
KR102283054B1 (ko) 2020-11-20 2021-07-29 숭실대학교 산학협력단 Api 호출 그래프 추출 기반 모바일 애플리케이션 악성 행위 패턴 탐지 방법, 이를 수행하기 위한 기록 매체 및 장치
US11768938B2 (en) 2020-11-20 2023-09-26 Foundation Of Soongsil University-Industry Cooperation Mobile application malicious behavior pattern detection method based on API call graph extraction and recording medium and device for performing the same
KR102302484B1 (ko) 2020-11-26 2021-09-14 숭실대학교산학협력단 특성 선택에 기반한 모바일 악성 코드 분류 방법, 이를 수행하기 위한 기록 매체 및 장치
US11809557B2 (en) 2020-11-26 2023-11-07 Foundation Of Soongsil University-Industry Cooperation Mobile malicious code classification method based on feature selection and recording medium and device for performing the same
KR20230097974A (ko) 2021-12-24 2023-07-03 박승필 사이버 위협정보 탐지, 분석 및 교육 서비스를 지원하는 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR101589656B1 (ko) Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법
CN102664875B (zh) 基于云模式的恶意代码类别检测方法
KR101969572B1 (ko) 악성코드 탐지 장치 및 방법
CN109684840B (zh) 基于敏感调用路径的Android恶意软件检测方法
Kim et al. Improvement of malware detection and classification using API call sequence alignment and visualization
US9621571B2 (en) Apparatus and method for searching for similar malicious code based on malicious code feature information
KR101589652B1 (ko) 행위 기반 악성 코드 변종 탐지 조회 시스템 및 방법
US10372909B2 (en) Determining whether process is infected with malware
US20170149830A1 (en) Apparatus and method for automatically generating detection rule
CN105491053A (zh) 一种Web恶意代码检测方法及***
CN101924762A (zh) 一种基于云安全的主动防御方法
US20160212156A1 (en) System and method for detecting malicious code based on application programming interface
CN102413142A (zh) 基于云平台的主动防御方法
CN104520871A (zh) 漏洞矢量信息分析
KR20120071834A (ko) 악성코드 그룹 및 변종 자동 관리 시스템
EP3531324B1 (en) Identification process for suspicious activity patterns based on ancestry relationship
US20170277887A1 (en) Information processing apparatus, information processing method, and computer readable medium
KR20150124020A (ko) 악성코드 식별 태그 설정 시스템 및 방법, 및 악성코드 식별 태그를 이용한 악성코드 검색 시스템
WO2017197942A1 (zh) 病毒库的获取方法及装置、设备、服务器、***
CN104504334A (zh) 用于评估分类规则选择性的***及方法
KR102318991B1 (ko) 유사도 기반의 악성코드 진단 방법 및 장치
CN108959922B (zh) 一种基于贝叶斯网的恶意文档检测方法及装置
CN114372519A (zh) 模型训练方法、api请求过滤方法、装置和存储介质
KR101605783B1 (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
KR20070077517A (ko) 프로파일 기반 웹 애플리케이션 침입탐지시스템 및 그 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200107

Year of fee payment: 5