KR20210041317A - 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체 - Google Patents

운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR20210041317A
KR20210041317A KR1020190123874A KR20190123874A KR20210041317A KR 20210041317 A KR20210041317 A KR 20210041317A KR 1020190123874 A KR1020190123874 A KR 1020190123874A KR 20190123874 A KR20190123874 A KR 20190123874A KR 20210041317 A KR20210041317 A KR 20210041317A
Authority
KR
South Korea
Prior art keywords
information
api
classification
operation information
level
Prior art date
Application number
KR1020190123874A
Other languages
English (en)
Other versions
KR102271269B9 (ko
KR102271269B1 (ko
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 KR1020190123874A priority Critical patent/KR102271269B1/ko
Priority to PCT/KR2019/018068 priority patent/WO2021071027A1/ko
Publication of KR20210041317A publication Critical patent/KR20210041317A/ko
Application granted granted Critical
Publication of KR102271269B1 publication Critical patent/KR102271269B1/ko
Publication of KR102271269B9 publication Critical patent/KR102271269B9/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

악성코드를 분류하는 방법에 있어서, 시스템 기능 정보를 수집하는 단계; 상기 API 레벨을 분류하여 API 분류 정보를 생성하는 단계; 어플리케이션의 목표 API 레벨에 따라 기준 동작 정보를 추출하는 단계; 상기 어플리케이션에 대해, 다른 API 레벨에서 동작하는 변형 동작 정보를 추출하는 단계; 및 동작 정보에 따라 악성코드를 분류하는 단계를 포함하는, 악성코드 분류 방법을 제공한다.

Description

운영체제의 API 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체{RECORDED MEDIA RECORDING OF THE MALWARE CLASSIFICATION DEVICE, METHOD AND PROGRAM THAT IS TRANSFORMED ACCORDING TO THE API LEVEL OF THE OPERATING SYSTEM}
본 발명은 운영체제의 API 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체에 관한 것으로, 보다 상세하게는, 서로 다른 API 레벨에 따라 동작이 변형되는 악성코드를 분류하는 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체에 관한 것이다.
하드웨어, 운영체제 버전, API(Application Programming Interface) 레벨 및 OEM(Original Equipment Manufacturers) 등의 다양성은 사용자에게 광범위한 제품 라인, 풍부한 기능 및 맞춤형 설계 등을 제공하지만, 이러한 다양성에 따라 해당 기기를 여러가지 위험에 노출시키기도 한다.
예를 들어, 장치에 설치되는 소프트웨어의 업데이트가 늦어지면, 장치에 상당한 보안 위험을 초래할 수 있으며, 하드웨어가 최신 릴리즈를 실행할 수 있더라도, 장치가 다양한 CVE(Common Vulnerability Exposures)에 대해 취약해지게 한다.
또한, 안드로이드(Android)는 장치 제조사의 커스터마이징으로 인해 프레임워크 등에서의 단편화가 발생한다. 현재 최신 안드로이드 버전은 Pie 버전으로, 출시된 지 상당한 기간이 지났지만 점유율은 약 10.4퍼센트에 불과하다. 또한 Lollipop을 비롯하여 Marshmallow, Nougat, Oreo 버전에 걸쳐 그 점유율이 고르게 분산되어 있다. 이러한 안드로이드 API는 새로운 버전이 배포될 때마다 어플리케이션 및 장치에 새로운 기능이 도입된다. 이러한 변경은 안드로이드의 동작을 내부적으로 정의하는 새로운 API, 매니페스트(Manifest), 드라이버 및 하드웨어에 영향을 준다.
이와 관련하여, 악성코드는 목표 SDK(Software Development Kit) 버전이 23보다 낮다고 선언함으로써 안드로이드 6.0(Marshmallow)의 런타임 권한 정책을 회피할 수 있으며, Android.Bakosy의 경우에는, 새로운 런타임 버전에 적응하려 할 수도 있다. 이에 따라, 서로 다른 운영체제 버전에서 다르게 동작하는 악성코드를 분류하는 방안이 요구되는 실정이다.
본 발명이 해결하고자 하는 기술적 과제는, 서로 다른 API 레벨에 따라 동작이 변형되는 악성코드를 분류하는 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체를 제공하는 것이다.
본 발명의 일측면은, 모바일 운영체제의 API 레벨에 따른 시스템 기능 정보를 수집하는 단계; 상기 API 레벨을 사전에 설정되는 레벨 분류 정보에 따라 분류하여 API 분류 정보를 생성하는 단계; 상기 모바일 운영체제에서 실행되는 어플리케이션의 목표 API 레벨에 따라 기준 동작 정보를 추출하는 단계; 상기 어플리케이션에 대해, 상기 목표 API 레벨과 다른 API 레벨에서 동작하는 변형 동작 정보를 추출하는 단계; 및 상기 기준 동작 정보 및 상기 변형 동작 정보 중 적어도 하나의 정보에 따라 악성코드를 분류하는 단계를 포함할 수 있다.
또한, 상기 기준 동작 정보를 생성하는 단계는, 상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 설정되는 각각의 목표 API 레벨에 따라 기준 동작 정보를 추출할 수 있다.
또한, 상기 변형 동작 정보를 생성하는 단계는, 상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 대해, 각각의 기준 동작 정보가 생성되는 목표 API 레벨과 다른 API 레벨이 구비되는 API 분류 정보에 따라 적어도 하나 이상의 변형 동작 정보를 추출할 수 있다.
또한, 상기 악성코드를 분류하는 단계는, 상기 API 분류 정보에 따라 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 수집하는 단계; 상기 기준 동작 정보를 추출하는 단계 및 상기 변형 동작 정보를 추출하는 단계 중 적어도 하나의 단계로부터 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보를 전달받는 단계; 및 상기 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보와 수집된 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 비교하여 계산되는 유사도에 따라 상기 다른 어플리케이션을 분류하는 단계를 더 포함할 수 있다.
또한, 상기 시스템 기능 정보를 수집하는 단계는, 상기 모바일 운영체제의 업데이트에 따라 변경되는 적어도 하나 이상의 API 레벨에 구비되는 시스템 기능 정보를 수집할 수 있다.
또한, 상기 레벨 분류 정보는, 상기 모바일 운영체제의 버전이 변경되는 시점에 변경되는 API 레벨을 분류 지점으로 설정할 수 있다.
본 발명의 다른 일측면은, 악성코드 분류 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체일 수 있다.
본 발명의 또 다른 일측면은, 모바일 운영체제의 API 레벨에 따른 시스템 기능 정보를 수집하고, 상기 API 레벨을 사전에 설정되는 레벨 분류 정보에 따라 분류하여 API 분류 정보를 생성하는 정보 수집부; 상기 모바일 운영체제에서 실행되는 어플리케이션의 목표 API 레벨에 따라 기준 동작 정보를 추출하고, 상기 어플리케이션에 대해, 상기 목표 API 레벨과 다른 API 레벨에서 동작하는 변형 동작 정보를 추출하는 정보 추출부; 및 상기 기준 동작 정보 및 상기 변형 동작 정보 중 적어도 하나의 정보에 따라 악성코드를 분류하는 악성코드 분류부를 포함할 수 있다.
또한, 상기 정보 추출부는, 상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 설정되는 각각의 목표 API 레벨에 따라 기준 동작 정보를 추출할 수 있다.
또한, 상기 정보 추출부는, 상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 대해, 각각의 기준 동작 정보가 생성되는 목표 API 레벨과 다른 API 레벨이 구비되는 API 분류 정보에 따라 적어도 하나 이상의 변형 동작 정보를 추출할 수 있다.
또한, 상기 악성코드 분류부는, 상기 API 분류 정보에 따라 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 수집하고, 상기 정보 추출부로부터 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보를 전달받고, 상기 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보와 수집된 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 비교하여 계산되는 유사도에 따라 상기 다른 어플리케이션을 분류할 수 있다.
상술한 본 발명의 일측면에 따르면, 운영체제의 API 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체를 제공함으로써, 서로 다른 API 레벨에 따라 동작이 변형되는 악성코드를 분류할 수 있다.
도1은 본 발명의 일 실시예에 따라 악성코드를 분류하는 악성코드 분류 시스템의 개략도이다.
도2는 본 발명의 일 실시예에 따른 악성코드 분류 장치의 제어블록도이다.
도3은 본 발명의 일 실시예에 따라 어플리케이션의 동작 정보를 수집하는 방법을 나타내는 개략도이다.
도4는 본 발명의 일 실시예에 따라 악성코드를 분류하는 방법을 나타내는 개략도이다.
도5는 본 발명의 일 실시예에 따른 악성코드 분류 방법의 순서도이다.
도6은 도5의 악성코드를 분류하는 단계의 세부 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도1은 본 발명의 일 실시예에 따라 악성코드를 분류하는 악성코드 분류 시스템의 개략도이다.
악성코드 분류 시스템(100)은 모바일 운영체제에 대한 API 레벨(110)에 따른 시스템 기능 정보를 수집할 수 있다.
이때, API는 어플리케이션(180)에 의해 호출되고, 동작을 수행하는 시스템 기능 정보를 포함할 수 있으며, API는 모바일 운영체제가 업데이트 되는 경우에, 시스템 기능 정보가 일부 변경될 수 있으며, 이와 같이, 모바일 운영체제의 업데이트에 따라 변경되는 API를 구분할 수 있도록 API 레벨(110)이 지정되는 것으로 이해할 수 있다.
한편, API의 시스템 기능 정보는 어플리케이션(180)으로부터 호출되는 동작을 수행하도록 구비되는 프로그래밍 언어를 나타낼 수 있으며, 이는, 클래스(Class), 메소드(Method), 변수 등을 포함할 수 있다.
또한, 시스템 기능 정보는 API 레벨(110)에 따라 API에 추가되거나, 운영체제 제조자에 의한 지원이 중단될 수 있다. 표1은 안드로이드 버전에 따라 추거되거나, 지원이 중단된 클래스 및 메소드를 나타내는 표이다.
Figure pat00001
표1을 참조하면, 첫째 열에 나열되는 명칭은 안드로이드 버전의 명칭이며, 첫째 행의 AC는 추가 클래스, DC는 중단 클래스, AM은 추가 메소드, DM은 중단 메소드를 의미하는 것으로 이해할 수 있다.
이에 따라, 안드로이드의 버전 업데이트에 따라 추가되거나, 중단되는 클래스 및 메소드의 개수를 확인할 수 있다.
한편, 안드로이드와 같은 모바일 운영체제의 버전 업데이트는 버전 명칭은 유지되나, API 레벨(110)이 변하는 형태의 업데이트가 존재할 수 있으며, 버전 명칭과 API 레벨(110)이 모두 변하는 형태의 업데이트가 존재할 수도 있다.
이와 관련하여, 악성코드 분류 시스템(100)은 레벨 분류 정보(120)에 따라 분류하여 API 분류 정보(130)를 생성할 수 있다.
여기에서, 레벨 분류 정보(120)는 모바일 운영체제의 중요 업데이트를 기준으로, 복수 개의 API 레벨(110)을 적어도 하나 이상의 묶음으로 분류하도록 설정되는 정보일 수 있다.
예를 들어, 안드로이드는 API 레벨(110)이 1부터 26까지 존재하며, 안드로이드 버전의 명칭이 변하는 API 레벨(110) 중에서 16 레벨 및 21 레벨을 기준으로 API 레벨(110)을 분류하여 API 분류 정보(130)를 생성할 수 있으며, 이러한 경우에, API 분류 정보(130)는 1 레벨부터 15 레벨까지의 API 레벨(110)을 포함하는 제1 레벨 분류(131a), 16 레벨부터 20 레벨까지의 API 레벨(110)을 포함하는 제2 레벨 분류(131b) 및 21 레벨부터 26 레벨까지의 API 레벨(110)을 포함하는 제3 레벨 분류(131c)로 분류될 수 있다.
한편, 여기에 기재되어 있는 API 레벨(110)의 개수, 레벨 분류 정보(120)에 따라 분류되는 API 분류 정보(130)에 포함되는 레벨 분류(131)의 개수 등은 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다.
악성코드 분류 시스템(100)은 모바일 운영체제에서 실행되는 어플리케이션(180)의 목표 API 레벨(110)에 따라 기준 동작 정보(140)를 추출할 수 있다.
여기에서, 목표 API 레벨(110)은 어플리케이션(180)의 실행이 권장되는 API 레벨(110)을 의미할 수 있으며, 이러한 목표 API 레벨(110)은 어플리케이션(180) 내에 설정 값이 존재할 수 있다.
또한, 기준 동작 정보(140)는 어플리케이션(180)이 목표 API 레벨(110)에서 수행하는 동작을 나타낼 수 있으며, 해당 API 레벨(110)에서 어플리케이션(180)에 의해 이용되는 클래스, 메소드 및 변수 등을 나열하는 정보일 수 있다.
악성코드 분류 시스템(100)은 어플리케이션(180)이 목표 API 레벨과 다른 API 레벨(110)에서 동작하는 변형 동작 정보를 추출할 수 있다.
여기에서, 목표 API 레벨(110)과 다른 API 레벨(110)은 목표 API 레벨(110)이 포함되는 레벨 분류(131) 외의 다른 레벨 분류(131)에 포함되는 API 레벨(110)을 의미할 수 있다.
예를 들어, 목표 API 레벨(110)이 5 레벨인 경우에, 목표 API 레벨(110)은 제1 레벨 분류(131a)에 포함되는 API 레벨(110)일 수 있으며, 다른 API 레벨(110)은 제2 레벨 분류(131b) 및 제3 레벨 분류(131c)에 포함되는 API 레벨(110)일 수 있다. 이때, 목표 API 레벨(110)에 의해 생성되는 제1 레벨 분류(131a)는 목표 API 레벨(110)을 대표 API로 설정하여, 어플리케이션(180)의 기준 동작 정보(140)를 대표 API에서 수행되는 동작으로 추출될 수 있으며, 다른 API 레벨(110)에 의해 생성되는 제2 레벨 분류(131b) 및 제3 레벨 분류(131c)는 각각 다른 API 분류 정보(130)와 시스템 기능 정보에 포함되는 정보의 차이가 가장 큰 API 레벨(110)의 API에서 수행되는 동작으로 추출될 수 있다.
악성코드 분류 시스템(100)은 서로 다른 어플리케이션(180)으로부터 기준 동작 정보(140) 및 변형 동작 정보(150)를 추출하여, API 분류 정보(130)에 따라 서로 다른 동작 정보의 데이터베이스(160)를 생성할 수 있다.
이때, 서로 다른 동작 정보는 기준 동작 정보(140) 및 변형 동작 정보(150)를 포함할 수 있으며, 이러한 동작 정보는 API 분류 정보(130)에 따라 구분될 수 있다.
또한, 데이터베이스(160)는 서로 다른 동작 정보를 API 분류 정보(130)에 따라 분류하여 수집하고, 동일한 API 분류 정보(130) 내의 서로 다른 동작 정보의 유사도를 계산하여, 유사도가 사전에 설정되는 값을 만족하는 경우에, 해당하는 적어도 하나 이상의 동작 정보를 동일한 악성코드로 분류할 수 있다.
이에 따라, 악성코드 분류 시스템(100)은 기준 동작 정보(140) 및 변형 동작 정보(150) 중 적어도 하나의 정보에 따라 생성되는 데이터베이스에 의해 악성코드를 분류할 수 있다.
이를 위해, 악성코드 분류 시스템(100)은 새로운 어플리케이션(180)의 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보를 추출할 수 있으며, 악성코드 분류 시스템(100)은 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보를 데이터베이스(160)에 저장되어 있는 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보와 비교하여 유사도를 계산하고, 유사도가 사전에 설정되는 값을 만족하는 경우에, 새로운 어플리케이션(180)을 해당하는 악성코드로 분류할 수 있다.
도2는 본 발명의 일 실시예에 따른 악성코드 분류 장치의 제어블록도이다.
악성코드 분류 장치(200)는 정보 수집부(210), 정보 추출부(220) 및 악성코드 분류부(230)를 포함할 수 있다.
정보 수집부(210)는 모바일 운영체제의 API 레벨(110)에 따른 시스템 기능 정보를 수집할 수 있다.
이와 관련하여, API는 어플리케이션(180)에 의해 호출되고, 동작을 수행하는 시스템 기능 정보를 포함할 수 있으며, API는 모바일 운영체제가 업데이트 되는 경우에, 시스템 기능 정보가 일부 변경될 수 있으며, 이와 같이, 모바일 운영체제의 업데이트에 따라 변경되는 API를 구분할 수 있도록 API 레벨(110)이 지정되는 것으로 이해할 수 있다.
이때, 정보 수집부(210)는 모바일 운영체제의 업데이트에 따라 변경되는 적어도 하나 이상의 API 레벨(110)을 수집할 수 있으며, 이에 따라, 각각의 API 레벨(110)에 구비되는 시스템 기능 정보를 수집하는 것으로 이해할 수 있다.
정보 수집부(210)는 API 레벨(110)을 레벨 분류 정보(120)에 따라 분류하여 API 분류 정보(130)를 생성할 수 있다.
이때, 정보 수집부(210)는 모바일 운영체제의 버전이 변경되는 시점에 변경되는 API 레벨(110)을 분류 지점으로 설정할 수 있다. 이때, 모바일 운영체제의 버전이 변경되는 것은 모바일 운영체제의 버전을 나타내는 명칭이 변경되는 것으로 이해할 수 있으며, 예를 들어, 안드로이드의 경우에는, 젤리빈(Jelly Bean) 버전에서 킷캣(KitKat) 버전으로 변경되거나, 또는 누가(Nougat) 버전에서 오레오(Oreo) 버전으로 변경되는 지점을 의미할 수 있다.
정보 추출부(220)는 모바일 운영체제에서 실행되는 어플리케이션(180)의 목표 API 레벨(110)에 따라 기준 동작 정보(140)를 추출할 수 있다.
여기에서, 목표 API 레벨은 어플리케이션(180)의 실행이 권장되는 API 레벨(110)을 의미할 수 있으며, 이러한 목표 API 레벨은 어플리케이션(180) 내에 설정 값이 존재할 수 있다.
또한, 기준 동작 정보(140)는 어플리케이션(180)이 목표 API 레벨에서 수행하는 동작을 나타낼 수 있으며, 해당 API 레벨(110)에서 어플리케이션(180)에 의해 이용되는 클래스, 메소드 및 변수 등의 소스 코드를 나열하는 정보일 수 있다.
한편, 정보 추출부(220)는 적어도 하나 이상의 서로 다른 어플리케이션(180)으로부터 각각의 어플리케이션(180)에 설정되는 목표 API 레벨(110)에 따라 기준 동작 정보(140)를 각각 추출할 수 있다.
이때, 서로 다른 어플리케이션(180)에 설정되는 목표 API 레벨(110)은 서로 다른 레벨 분류(131)에 포함될 수 있으므로, 서로 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140)는 서로 다른 레벨 분류(131)에서의 어플리케이션(180)의 동작을 나타낼 수 있다.
정보 추출부(220)는 기준 동작 정보(140)가 추출된 어플리케이션(180)에 대해, 기준 동작 정보(140)를 추출하는 목표 API 레벨(110)과 다른 API 레벨(110)에서 동작하는 변형 동작 정보(150)를 추출할 수 있다.
이때, 목표 API 레벨(110)과 다른 API 레벨(110)은 서로 다른 레벨 분류(131)에 포함되는 API 레벨(110)일 수 있다.
한편, 정보 추출부(220)는 적어도 하나 이상의 서로 다른 어플리케이션(180)으로부터 각각의 어플리케이션(180)에 설정되는 목표 API 레벨(110)과 다른 API 레벨(110)에 따라 변형 동작 정보(150)를 각각 추출할 수 있다.
이때, 목표 API 레벨(110)과 다른 API 레벨(110)은 서로 다른 레벨 분류(131)에 포함되는 API 레벨(110)일 수 있으며, 서로 다른 어플리케이션(180)에 설정되는 다른 API 레벨(110)은 서로 다른 레벨 분류(131)에 포함될 수 있으므로, 서로 다른 어플리케이션(180)으로부터 추출되는 변형 동작 정보(150)는 서로 다른 레벨 분류(131)에서의 어플리케이션(180)의 동작을 나타낼 수 있다.
악성코드 분류부(230)는 기준 동작 정보(140) 및 변형 동작 정보(150) 중 적어도 하나의 동작 정보에 따라 악성코드를 분류할 수 있다.
이를 위해, 악성코드 분류부(230)는 서로 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140) 및 변형 동작 정보(150)를 수집하여, API 분류 정보(130)에 따라 서로 다른 동작 정보의 데이터베이스(160)를 생성할 수 있다.
이때, 악성코드 분류부(230)는 데이터베이스(160)에 서로 다른 동작 정보를 API 분류 정보(130)에 따라 분류하여 수집할 수 있다.
이에 따라, 악성코드 분류부(230)는 데이터베이스(160)에 수집되는 동일한 API 분류 정보(130) 내의 서로 다른 동작 정보의 유사도를 계산할 수 있으며, 유사도가 사전에 설정되는 값을 만족하는 경우에, 해당 동작 정보가 추출된 적어도 하나 이상의 어플리케이션(180)을 동일한 악성코드로 분류할 수 있다.
이와 같이, 악성코드 분류부(230)는 API 분류 정보(130)에 따라 적어도 하나 이상의 기준 동작 정보(140) 및 적어도 하나 이상의 변형 동작 정보(150)를 수집하여 데이터베이스(160)를 생성할 수 있다.
이때, 데이터베이스(160)를 생성하기 위해 수집되는 동작 정보가 추출되는 어플리케이션(180)은 사전에 악성코드로 알려진 복수 개의 어플리케이션(180)을 포함할 수 있다.
또한, 악성코드 분류부(230)는 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보를 정보 추출부(220)로부터 전달받을 수 있으며, 이때, 다른 어플리케이션(180)은 데이터베이스(160)를 생성하도록 수집된 기준 동작 정보(140) 또는 변형 동작 정보(150)가 추출된 어플리케이션(180)과 다른 어플리케이션(180)인 것으로 이해할 수 있다.
악성코드 분류부(230)는 다른 어플리케이션(180)의 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보와 데이터베이스(160)에 수집된 적어도 하나 이상의 기준 동작 정보(140) 및 적어도 하나 이상의 변형 동작 정보(150)를 비교하여 계산되는 유사도에 따라 다른 어플리케이션(180)을 분류할 수 있다.
이때, 악성코드로 분류되는 다른 어플리케이션(180)은 데이터베이스(160)에 수집된 동작 정보 중 적어도 하나의 정보와 정보 추출부(220)에서 추출되는 동작 정보를 비교하여 생성되는 유사도가 사전에 설정되는 값을 만족하는 어플리케이션(180)일 수 있으며, 이때, 동작 정보를 비교하는 것은 동일한 API 분류 정보(130)에 대해 추출되는 동작 정보를 비교하는 것일 수 있다.
도3은 본 발명의 일 실시예에 따라 어플리케이션의 동작 정보를 수집하는 방법을 나타내는 개략도이다.
도3을 참조하면, 서로 다른 어플리케이션(180a, 180b, 180c)으로부터 각각의 기준 동작 정보(140a, 140b, 140c) 및 변형 동작 정보(150a, 150b, 150c)가 추출되는 것을 확인할 수 있으며, 이에 따라, 데이터베이스(160)는 각각의 레벨 분류(131a, 131b, 131c)에 따라 서로 다른 기준 동작 정보(140a, 140b, 140c) 및 변형 동작 정보(150a, 150b, 150c)를 수집하는 것을 확인할 수 있다.
이때, 데이터베이스(160)는 각각의 동작 정보를 해당 동작 정보의 기반이 되는 API 분류 정보(130)에 따라 분류하여 수집할 수 있다.
또한, 서로 다른 어플리케이션(180a, 180b, 180c)의 기준 동작 정보(140a, 140b, 140c)는 각각의 목표 API 레벨(110)이 포함되는 레벨 분류(131a, 131b, 131c)의 API에 대해 수행되는 동작을 나타낼 수 있으며, 이와 관련하여, 서로 다른 어플리케이션(180a, 180b, 180c)의 기준 동작 정보(140a, 140b, 140c)는 서로 다른 레벨 분류(131a, 131b, 131c)에서 추출될 수 있다.
이에 따라, 임의의 레벨 분류(131)에는 특정 어플리케이션(180)의 기준 동작 정보(140)가 저장될 수 있으며, 다른 어플리케이션(180)의 변형 동작 정보(150)가 저장될 수도 있다.
도4는 본 발명의 일 실시예에 따라 악성코드를 분류하는 방법을 나타내는 개략도이다.
도4를 참조하면, 다른 어플리케이션(180d)으로부터 추출되는 기준 동작 정보(140d) 및 변형 동작 정보(150d)를 데이터베이스(160)에 레벨 분류(131) 별로 수집되어 있는 기준 동작 정보(140) 및 변형 동작 정보(150)와 비교하여 유사도를 생성하고, 유사도가 사전에 설정되는 값을 만족하는 경우에, 어플리케이션(180d)을 악성코드로 분류하는 것을 확인할 수 있다.
이때, 데이터베이스(160)에 수집되어 있는 동작 정보(140, 150)와 다른 어플리케이션(180d)으로부터 추출된 동작 정보(140d, 150d)를 비교하는 것은 각각의 동작 정보로부터 나타나는 클래스, 메소드, 변수 등의 소스 코드를 비교하여 유사도를 생성할 수 있다.
또한, 유사도는 데이터베이스(160)에 수집되어 있는 동작 정보(140, 150)에 대해, 다른 어플리케이션(180d)으로부터 추출된 동작 정보(140d, 150d)가 유사한 정도를 나타낼 수 있다.
도5는 본 발명의 일 실시예에 따른 악성코드 분류 방법의 순서도이다.
본 발명의 일 실시예에 따른 악성코드 분류 방법은 도 2에 도시된 악성코드 분류 장치(200)와 실질적으로 동일한 구성 상에서 진행되므로, 도 2의 악성코드 분류 장치(200)와 동일한 구성요소에 대해 동일한 도면 부호를 부여하고, 반복되는 설명은 생략하기로 한다.
악성코드 분류 방법은 시스템 기능 정보를 수집하는 단계(500), API 분류 정보를 생성하는 단계(510), 기준 동작 정보를 추출하는 단계(520), 변형 동작 정보를 추출하는 단계(530) 및 악성코드를 분류하는 단계(540)를 포함할 수 있다.
시스템 기능 정보를 수집하는 단계(500)는 모바일 운영체제의 API 레벨(110)에 따른 시스템 기능 정보를 수집할 수 있다.
이때, 시스템 기능 정보를 수집하는 단계(500)는 모바일 운영체제의 업데이트에 따라 변경되는 적어도 하나 이상의 API 레벨(110)을 수집할 수 있으며, 이에 따라, 각각의 API 레벨(110)에 구비되는 시스템 기능 정보를 수집하는 것으로 이해할 수 있다.
API 분류 정보를 생성하는 단계(510)는 API 레벨(110)을 레벨 분류 정보(120)에 따라 분류하여 API 분류 정보(130)를 생성할 수 있다.
이때, API 분류 정보를 생성하는 단계(510)는 모바일 운영체제의 버전이 변경되는 시점에 변경되는 API 레벨(110)을 분류 지점으로 설정할 수 있다. 이때, 모바일 운영체제의 버전이 변경되는 것은 모바일 운영체제의 버전을 나타내는 명칭이 변경되는 것으로 이해할 수 있다.
기준 동작 정보를 추출하는 단계(520)는 모바일 운영체제에서 실행되는 어플리케이션(180)의 목표 API 레벨(110)에 따라 기준 동작 정보(140)를 추출할 수 있다.
한편, 기준 동작 정보를 추출하는 단계(520)는 적어도 하나 이상의 서로 다른 어플리케이션(180)으로부터 각각의 어플리케이션(180)에 설정되는 목표 API 레벨(110)에 따라 기준 동작 정보(140)를 각각 추출할 수 있다.
변형 동작 정보를 추출하는 단계(530)는 기준 동작 정보(140)가 추출된 어플리케이션(180)에 대해, 기준 동작 정보(140)를 추출하는 목표 API 레벨(110)과 다른 API 레벨(110)에서 동작하는 변형 동작 정보(150)를 추출할 수 있다.
한편, 변형 동작 정보를 추출하는 단계(530)는 적어도 하나 이상의 서로 다른 어플리케이션(180)으로부터 각각의 어플리케이션(180)에 설정되는 목표 API 레벨(110)과 다른 API 레벨(110)에 따라 변형 동작 정보(150)를 각각 추출할 수 있다.
악성코드를 분류하는 단계(540)는 기준 동작 정보(140) 및 변형 동작 정보(150) 중 적어도 하나의 동작 정보에 따라 악성코드를 분류할 수 있다.
이를 위해, 악성코드를 분류하는 단계(540)는 서로 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140) 및 변형 동작 정보(150)를 수집하여, API 분류 정보(130)에 따라 서로 다른 동작 정보의 데이터베이스(160)를 생성할 수 있다.
이때, 악성코드를 분류하는 단계(540)는 데이터베이스(160)에 서로 다른 동작 정보를 API 분류 정보(130)에 따라 분류하여 수집할 수 있다.
이에 따라, 악성코드를 분류하는 단계(540)는 데이터베이스(160)에 수집되는 동일한 API 분류 정보(130) 내의 서로 다른 동작 정보의 유사도를 계산할 수 있으며, 유사도가 사전에 설정되는 값을 만족하는 경우에, 해당 동작 정보가 추출된 적어도 하나 이상의 어플리케이션(180)을 동일한 악성코드로 분류할 수 있다.
이와 같이, 악성코드를 분류하는 단계(540)는 API 분류 정보(130)에 따라 적어도 하나 이상의 기준 동작 정보(140) 및 적어도 하나 이상의 변형 동작 정보(150)를 수집하여 데이터베이스(160)를 생성할 수 있다.
또한, 악성코드를 분류하는 단계(540)는 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보를 기준 동작 정보를 추출하는 단계(520) 및 변형 동작 정보를 추출하는 단계(530) 중 적어도 하나의 단계로부터 전달받을 수 있다.
이에 따라, 악성코드를 분류하는 단계(540)는 다른 어플리케이션(180)의 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보와 데이터베이스(160)에 수집된 적어도 하나 이상의 기준 동작 정보(140) 및 적어도 하나 이상의 변형 동작 정보(150)를 비교하여 계산되는 유사도에 따라 다른 어플리케이션(180)을 분류할 수 있다.
도6은 도5의 악성코드를 분류하는 단계의 세부 순서도이다.
악성코드를 분류하는 단계(540)는 동작 정보를 수집하는 단계(541), 동작 정보를 전달받는 단계(542) 및 어플리케이션을 분류하는 단계(543)를 더 포함할 수 있다.
동작 정보를 수집하는 단계(541)는 서로 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140) 및 변형 동작 정보(150)를 수집하여, API 분류 정보(130)에 따라 서로 다른 동작 정보의 데이터베이스(160)를 생성할 수 있다.
동작 정보를 전달받는 단계(542)는 다른 어플리케이션(180)으로부터 추출되는 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보를 기준 동작 정보를 추출하는 단계(520) 및 변형 동작 정보를 추출하는 단계(530) 중 적어도 하나의 단계로부터 전달받을 수 있다.
어플리케이션을 분류하는 단계(543)는 다른 어플리케이션(180)의 기준 동작 정보(140) 또는 변형 동작 정보(150) 중 적어도 하나의 정보와 데이터베이스(160)에 수집된 적어도 하나 이상의 기준 동작 정보(140) 및 적어도 하나 이상의 변형 동작 정보(150)를 비교하여 계산되는 유사도에 따라 다른 어플리케이션(180)을 분류할 수 있다.
이와 같은, 악성코드 분류 방법은 어플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 악성코드 분류 시스템

Claims (11)

  1. 모바일 운영체제의 서로 다른 API 레벨에 따라 동작이 변형되는 악성코드를 분류하는 방법에 있어서,
    모바일 운영체제의 API 레벨에 따른 시스템 기능 정보를 수집하는 단계;
    상기 API 레벨을 사전에 설정되는 레벨 분류 정보에 따라 분류하여 API 분류 정보를 생성하는 단계;
    상기 모바일 운영체제에서 실행되는 어플리케이션의 목표 API 레벨에 따라 기준 동작 정보를 추출하는 단계;
    상기 어플리케이션에 대해, 상기 목표 API 레벨과 다른 API 레벨에서 동작하는 변형 동작 정보를 추출하는 단계; 및
    상기 기준 동작 정보 및 상기 변형 동작 정보 중 적어도 하나의 정보에 따라 악성코드를 분류하는 단계를 포함하는, 악성코드 분류 방법.
  2. 제1항에 있어서, 상기 기준 동작 정보를 생성하는 단계는,
    상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 설정되는 각각의 목표 API 레벨에 따라 기준 동작 정보를 추출하는, 악성코드 분류 방법.
  3. 제2항에 있어서, 상기 변형 동작 정보를 생성하는 단계는,
    상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 대해, 각각의 기준 동작 정보가 생성되는 목표 API 레벨과 다른 API 레벨이 구비되는 API 분류 정보에 따라 적어도 하나 이상의 변형 동작 정보를 추출하는, 악성코드 분류 방법.
  4. 제3항에 있어서, 상기 악성코드를 분류하는 단계는,
    상기 API 분류 정보에 따라 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 수집하는 단계;
    상기 기준 동작 정보를 추출하는 단계 및 상기 변형 동작 정보를 추출하는 단계 중 적어도 하나의 단계로부터 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보를 전달받는 단계; 및
    상기 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보와 수집된 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 비교하여 계산되는 유사도에 따라 상기 다른 어플리케이션을 분류하는 단계를 더 포함하는, 악성코드 분류 방법.
  5. 제1항에 있어서, 상기 시스템 기능 정보를 수집하는 단계는,
    상기 모바일 운영체제의 업데이트에 따라 변경되는 적어도 하나 이상의 API 레벨에 구비되는 시스템 기능 정보를 수집하는, 악성코드 분류 방법.
  6. 제1항에 있어서, 상기 레벨 분류 정보는,
    상기 모바일 운영체제의 버전이 변경되는 시점에 변경되는 API 레벨을 분류 지점으로 설정하는, 악성코드 분류 방법.
  7. 제1항 내지 제6항 중 어느 하나의 항에 따른 악성코드 분류 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록매체.
  8. 모바일 운영체제의 API 레벨에 따른 시스템 기능 정보를 수집하고, 상기 API 레벨을 사전에 설정되는 레벨 분류 정보에 따라 분류하여 API 분류 정보를 생성하는 정보 수집부;
    상기 모바일 운영체제에서 실행되는 어플리케이션의 목표 API 레벨에 따라 기준 동작 정보를 추출하고, 상기 어플리케이션에 대해, 상기 목표 API 레벨과 다른 API 레벨에서 동작하는 변형 동작 정보를 추출하는 정보 추출부; 및
    상기 기준 동작 정보 및 상기 변형 동작 정보 중 적어도 하나의 정보에 따라 악성코드를 분류하는 악성코드 분류부를 포함하는, 악성코드 분류 장치.
  9. 제8항에 있어서, 상기 정보 추출부는,
    상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 설정되는 각각의 목표 API 레벨에 따라 기준 동작 정보를 추출하는, 악성코드 분류 장치.
  10. 제9항에 있어서, 상기 정보 추출부는,
    상기 모바일 운영체제에서 실행되는 적어도 하나 이상의 어플리케이션에 대해, 각각의 기준 동작 정보가 생성되는 목표 API 레벨과 다른 API 레벨이 구비되는 API 분류 정보에 따라 적어도 하나 이상의 변형 동작 정보를 추출하는, 악성코드 분류 장치.
  11. 제10항에 있어서, 상기 악성코드 분류부는,
    상기 API 분류 정보에 따라 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 수집하고,
    상기 정보 추출부로부터 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보를 전달받고,
    상기 다른 어플리케이션의 기준 동작 정보 또는 변형 동작 정보 중 적어도 하나의 정보와 수집된 상기 적어도 하나 이상의 기준 동작 정보 및 상기 적어도 하나 이상의 변형 동작 정보를 비교하여 계산되는 유사도에 따라 상기 다른 어플리케이션을 분류하는, 악성코드 분류 장치.

KR1020190123874A 2019-10-07 2019-10-07 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체 KR102271269B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190123874A KR102271269B1 (ko) 2019-10-07 2019-10-07 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체
PCT/KR2019/018068 WO2021071027A1 (ko) 2019-10-07 2019-12-19 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190123874A KR102271269B1 (ko) 2019-10-07 2019-10-07 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체

Publications (3)

Publication Number Publication Date
KR20210041317A true KR20210041317A (ko) 2021-04-15
KR102271269B1 KR102271269B1 (ko) 2021-06-29
KR102271269B9 KR102271269B9 (ko) 2021-08-23

Family

ID=75437189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190123874A KR102271269B1 (ko) 2019-10-07 2019-10-07 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체

Country Status (2)

Country Link
KR (1) KR102271269B1 (ko)
WO (1) WO2021071027A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100760534B1 (ko) * 2006-02-07 2007-09-20 에스케이 텔레콤주식회사 콘텐츠 검증 시스템 및 방법
US8990942B2 (en) * 2013-02-18 2015-03-24 Wipro Limited Methods and systems for API-level intrusion detection
KR101589656B1 (ko) * 2015-01-19 2016-01-28 한국인터넷진흥원 Api 기반 악성 코드 변종 탐지 조회 시스템 및 방법
KR20170108330A (ko) * 2016-03-17 2017-09-27 한국전자통신연구원 악성 코드 탐지 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Daoyuan Wu et al, "Measuring the Declared SDK Versions and Their Consistency with API Calls in Android App"(2017.03.)* *
Linghui Luo et al, "A Qualitative Analysis of Taint-Analysis Results"(2018.08.)* *

Also Published As

Publication number Publication date
WO2021071027A1 (ko) 2021-04-15
KR102271269B9 (ko) 2021-08-23
KR102271269B1 (ko) 2021-06-29

Similar Documents

Publication Publication Date Title
JP5992622B2 (ja) 悪意あるアプリケーション診断装置及び方法
EP2743854B1 (en) Clustering processing method and device for virus files
KR102189295B1 (ko) 컴퓨터 보안 어플리케이션들을 위한 연속형 분류자들
JP5656136B2 (ja) クラスタリングを使用した行動シグネチャの生成
JP6455738B2 (ja) パッチファイル分析システム
US8108931B1 (en) Method and apparatus for identifying invariants to detect software tampering
US20160021174A1 (en) Computer implemented method for classifying mobile applications and computer programs thereof
KR101631242B1 (ko) 잠재 디리클레 할당을 이용한 악성 트래픽의 시그니처의 자동화된 식별 방법 및 장치
US11163877B2 (en) Method, server, and computer storage medium for identifying virus-containing files
CN104504334A (zh) 用于评估分类规则选择性的系统及方法
US20080127043A1 (en) Automatic Extraction of Programming Rules
US8930970B2 (en) Method and computer for obtaining using-frequency of application program
KR101819322B1 (ko) 악성코드 분석모듈 및 그 악성코드 분석방법
US20180165145A1 (en) Device driver telemetry
KR102367859B1 (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
O'Kane et al. N-gram density based malware detection
KR102271269B1 (ko) 운영체제의 api 레벨에 따라 변형되는 악성코드 분류 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체
Guerra-Manzanares et al. Differences in android behavior between real device and emulator: a malware detection perspective
CN110489256B (zh) 一种宕机定位修复方法及系统
KR101328641B1 (ko) 악성코드 통합정보 생성 시스템 및 이를 포함하는 악성코드 통합관리 시스템
KR20210025448A (ko) 인공지능 행위분석 기반의 edr 장치 및 방법
US20130247215A1 (en) Information processing device for detecting an illegal stored document,illegal stored document detection method and recording medium
US8615805B1 (en) Systems and methods for determining if a process is a malicious process
Dam et al. Learning malware using generalized graph kernels
CN103593614A (zh) 一种未知病毒检索方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]