KR20160109870A - 안드로이드 멀웨어의 고속 검색 시스템 및 방법 - Google Patents

안드로이드 멀웨어의 고속 검색 시스템 및 방법 Download PDF

Info

Publication number
KR20160109870A
KR20160109870A KR1020150035055A KR20150035055A KR20160109870A KR 20160109870 A KR20160109870 A KR 20160109870A KR 1020150035055 A KR1020150035055 A KR 1020150035055A KR 20150035055 A KR20150035055 A KR 20150035055A KR 20160109870 A KR20160109870 A KR 20160109870A
Authority
KR
South Korea
Prior art keywords
signature
malware
search target
target application
substrings
Prior art date
Application number
KR1020150035055A
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 KR1020150035055A priority Critical patent/KR20160109870A/ko
Priority to US14/830,546 priority patent/US20160267270A1/en
Publication of KR20160109870A publication Critical patent/KR20160109870A/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
    • G06F21/562Static detection
    • 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
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • G06F17/2705
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

본 발명은 유알엘을 통해 다운로드 되는 안드로이드 앱에 대하여 유사한 정상 앱 또는 이미 멀웨어로 판정된 앱을 찾아줌으로써 안드로이드 앱의 정상 여부를 빠르게 검사하는 기술적 사상에 관한 것으로서, 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 검색 대상 앱에 대한 시그니처와 기저장된 시그니처들의 유사도를 확인하는 처리부, 및 상기 확인된 유사도에 기초하여 상기 검색 대상 앱에 대한 멀웨어 여부를 판단하는 판단부를 포함한다.

Description

안드로이드 멀웨어의 고속 검색 시스템 및 방법{SYSTEM AND METHOD OF FAST SEARCHING OF ANDROID MALWARE}
유알엘을 통해 다운로드 되는 안드로이드 앱에 대하여 유사한 정상 앱 또는 이미 멀웨어로 판정된 앱을 찾아줌으로써 안드로이드 앱의 정상 여부를 빠르게 검사하는 기술적 사상에 연관된다.
안드로이드 운영체제는 대표적인 스마트폰 용의 운영체제로서, 안드로이드 운영체제 상에서 운용될 목적으로 개발되는 앱은 APK 확장자를 갖는 ZIP으로 압축된 아카이브 파일의 형태이다. 이 아카이브 파일에는 요구되는 접근 권한, 라이브러리, 그외 리소스 파일을 포함하고, 실제 실행 코드는 classes.dex 로 Dalvik 바이트 코드 형태로 되어 있기 때문에, 안드로이드 운영체제는 디컴파일(decompile)하여 소스 확보가 용이한 구조이다.
안드로이드 멀웨어는 설치 시 개인 정보 또는 금융 정보 탈취 등 악성 행위를 수행하는 코드를 포함한 안드로이드 앱이다. 안드로이드의 앱 패키징(packaging) 방식과 허가 받지 않은 제 3자 마켓플레이스의 허용에 따라 악성 코드를 포함시켜 다시 패키징된 앱의 형태들이 안드로이드 멀웨어의 다수를 차지한다.
일반적인 안드로이드 멀웨어는 기존 앱과 매우 유사하나 악성 코드를 내포하고 있고, 신규의 안드로이드 멀웨어는 기존 멀웨어 코드를 활용, 변경하여 제작되므로 기존에 확인된 멀웨어들과 상당 부분 유사한 특징을 갖는다.
스마트폰에 설치하려는 앱이 안드로이드 멀웨어인지를 판별하는 가장 기초적인 방법은 기존에 멀웨어로 판정된 앱과 동일한 앱인지를 검사하는 것인데, 용량 문제로 인해 APK 파일 자체를 하나하나 비교하는 것은 비효율적이다.
(특허문헌) 대한민국 등록공보 제10-1392737호
안드로이드 멀웨어에 대한 유사도 기반 검사를 빠르게 수행하는 것을 목적으로 한다.
모바일 단말이 아닌 서버가 유알엘을 대리 방문하여 앱을 다운로드 받음으로써 단말이 아닌 서버에서 분석을 대행함으로써, 효율적인 고속 검사를 제공하는 것을 목적으로 한다.
해당 앱에 대한 시그니처를 생성하고, 서버가 가진 시그니처 데이터베이스의 1대1 비교가 아닌 유사 질의 인덱스를 통한 빠른 검사를 목적으로 한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 검색 대상 앱에 대한 시그니처와 기저장된 시그니처들의 유사도를 확인하는 처리부, 및 상기 확인된 유사도에 기초하여 상기 검색 대상 앱에 대한 멀웨어 여부를 판단하는 판단부를 포함한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 스마트폰으로부터 상기 검색 대상 앱에 대한 시그니처를 수신하는 수신부를 더 포함한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 스마트폰으로부터 수신된 유알엘을 이용하여 상기 검색 대상 앱을 다운로드하고, 상기 다운로드한 검색 대상 앱으로부터 상기 시그니처를 생성하는 생성부를 더 포함한다.
일실시예에 따른 상기 처리부는, 상기 기저장된 시그니처들을 제1 부분 문자열들로 분할하고, 상기 분할된 제1 부분 문자열들을 이용하여 역 인덱스를 생성하며, 상기 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도를 확인한다.
일실시예에 따른 상기 처리부는, 상기 제1 부분 문자열들을 키로 하여, 각 부분 문자열에 대한 데이터 항목들을 정렬하여 상기 역 인덱스를 생성한다.
일실시예에 따른 상기 데이터 항목들은 상기 제1 부분 문자열들이 포함된 시그니처의 시그니처 값, 상기 제1 부분 문자열들이 포함된 시그니처에서 상기 제1 부분 문자열들의 위치, 및 상기 제1 부분 문자열들이 포함된 시그니처가 대표하는 앱의 식별자 중에서 적어도 하나를 포함한다.
일실시예에 따른 상기 처리부는, 상기 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 상기 생성한 제2 부분 문자열들을 이용하여 상기 역 인덱스로부터 상기 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색한다.
일실시예에 따른 상기 처리부는, 상기 검색된 적어도 하나 이상의 시그니처 중에서, 상기 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인한다.
일실시예에 따른 상기 처리부는, 상기 제2 부분 문자열을 이용하여 시그니처 값, 위치 값, 앱 식별정보 중에서 적어도 하나를 포함하는 데이터 항목을 검색한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 검색 대상 앱에 대해 서버로 멀웨어 검색을 요청하는 요청 처리부, 및 상기 요청에 대한 응답으로 상기 서버로부터 멀웨어와의 유사도 정보를 수신하는 수신부를 포함하고, 상기 서버는 기저장된 시그니처들을 제1 부분 문자열들로 분할하여 역 인덱스를 생성하고, 상기 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도 정보를 생성하며, 상기 멀웨어 검색 요청에 대해 상기 생성한 유사도 정보를 회신한다.
일실시예에 따른 상기 요청 처리부는, 상기 검색 대상 앱을 다운로드 하는 유알엘을 상기 서버로 전송하여 상기 멀웨어 검색을 요청한다.
일실시예에 따른 상기 요청 처리부는, 상기 검색 대상 앱에 대한 시그니처를 생성하고, 상기 생성된 시그니처를서버로 전송하여 멀웨어 검색을 요청한다.
일실시예에 따른 상기 서버는, 상기 제1 부분 문자열들을 키로 하여, 각 제1 부분 문자열에 대한 데이터 항목들을 정렬하여 상기 역 인덱스를 생성한다.
일실시예에 따른 상기 서버는, 상기 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 상기 생성한 제2 부분 문자열들을 이용하여 상기 역 인덱스로부터 상기 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색하며, 상기 검색된 적어도 하나 이상의 시그니처 중에서, 상기 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 방법은 처리부에서, 검색 대상 앱에 대한 시그니처와 기저장된 시그니처들의 유사도를 확인하는 단계, 및 판단부에서, 상기 확인된 유사도에 기초하여 상기 검색 대상 앱에 대한 멀웨어 여부를 판단하는 단계를 포함하고, 상기 유사도를 확인하는 상기 단계는, 상기 기저장된 시그니처들을 제1 부분 문자열들로 분할하고, 상기 분할된 제1 부분 문자열들을 이용하여 역 인덱스를 생성하는 단계, 및 상기 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도를 확인하는 단계를 포함한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 방법은 스마트폰으로부터 상기 검색 대상 앱에 대한 시그니처를 수신하는 단계를 더 포함한다.
일실시예에 따른 안드로이드 멀웨어의 고속 검색 방법은 스마트폰으로부터 수신된 유알엘을 이용하여 상기 검색 대상 앱을 다운로드하고, 상기 다운로드한 검색 대상 앱으로부터 상기 시그니처를 생성하는 단계를 더 포함한다.
일실시예에 따른 상기 역 인덱스를 생성하는 단계는, 상기 제1 부분 문자열들을 키로 하여, 각 부분 문자열에 대한 데이터 항목들을 정렬하여 상기 역 인덱스를 생성하는 단계를 포함한다.
일실시예에 따른 상기 유사도를 확인하는 상기 단계는, 상기 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 상기 생성한 제2 부분 문자열들을 이용하여 상기 역 인덱스로부터 상기 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색하는 단계, 및 상기 검색된 적어도 하나 이상의 시그니처 중에서, 상기 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인하는 단계를 포함한다.
일실시예에 따른 상기 유사도를 확인하는 상기 단계는, 상기 제2 부분 문자열을 이용하여 시그니처 값, 위치 값, 및 앱 식별정보 중에서 적어도 하나를 포함하는 데이터 항목을 검색하는 단계를 포함한다.
실시예들에 따르면, 안드로이드 멀웨어에 대한 유사도 기반 검사를 빠르게 수행할 수 있다.
모바일 단말이 아닌 서버가 유알엘을 대리 방문하여 앱을 다운로드 받음으로써 단말이 아닌 서버에서 분석을 대행함으로써, 효율적인 고속 검사를 제공할 수 있다.
해당 앱에 대한 시그니처를 생성하고, 서버가 가진 시그니처 데이터베이스에의 1대1 비교가 아닌 유사 질의 인덱스를 통한 빠른 검사를 제공할 수 있다.
도 1은 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템이 적용된 전체 시스템을 설명하는 도면이다.
도 2는 서버 측 관점에서 안드로이드 멀웨어의 고속 검색 시스템을 설명하는 도면이다.
도 3은 서버의 데이터베이스에 저장된 시그니처를 기반으로 한 유사 질의 인덱스를 생성하는 과정을 설명하는 도면이다.
도 4는 주어진 안드로이드 앱에 대한 시그니처 검색을 인덱싱을 통해 빠르게 검사하는 과정을 설명하는 도면이다.
도 5는 클라이언트 측 관점에서 안드로이드 멀웨어의 고속 검색 시스템을 설명하는 도면이다.
도 6은 시그니처에 대한 부분 문자열을 키로 하는 역 인덱스의 생성과 이를 이용한 시그니처 검색을 포함하여, 안드로이드 앱에 대한 멀웨어 검사에 대한 전체 과정을 설명하는 도면이다.
이하에서, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 이러한 실시예들에 의해 권리범위가 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.
또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.
도 1은 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템이 적용된 전체 시스템(100)을 설명하는 도면이다.
전체 시스템(100)에 따르면, 안드로이드 앱을 다운로드 받기 위한 유알엘을 스마트 폰(110)이 서버(120)에 전송하고, 서버(120)는 해당 앱의 다운로드를 스마트 폰(110) 대신 수행하여 안드로이드 앱의 멀웨어 여부를 검사할 수 있다.
스마트 폰(110)은 SMS/MMS, email, 인터넷 기반의 온라인 메신저 등을 통해 유입되는 유알엘에 대하여 해당 유알엘에 대한 검사를 서버(120)에 의뢰한다. 이때 스마트 폰(110)은 유알엘 대신에 기 설치된 앱 파일들에 대한 시그니처를 생성하고 이들을 직접 서버(120)에 전달할 수도 있다.
이에, 서버(120)는 유알엘을 수신하면, 해당 유알엘에 대응하는 원격지 서버(130)에 접근하여 안드로이드 앱 파일(140)을 다운로드한다. 이에, 서버(120)는 다운로드된 앱 파일을 이용하여 해싱 등의 작업을 통해 해당 앱에 대한 시그니처(121)를 생성한다. 예를 들어, 서버(120)는 다운로드된 앱에 대한 언패키징과 언패키징을 통해 얻은 바이트 코드의 역컴파일을 수행하고, 이를 통해 얻은 소스 코드에 대한 특징점을 추출할 수 있다. 또한, 서버(120)는 앱 소스 코드의 추출된 특징점들을 가지고 시그니처를 생성할 수 있다.
다음으로 서버(120)는 생성된 시그니처와, 기보유한 안드로이드 멀웨어와 정상 앱들에 대한 시그니처들과 유사도 비교를 수행한다. 이를 위해 서버(120)는 안드로이드 멀웨어와 정상 앱들에 대한 시그니처들이 기록된 데이터베이스(122)를 참고할 수 있다. 유사도 비교를 위해, 서버(120)는 생성된 시그니처를 부분 문자열로 분할하고 이에 대한 역인덱스를 생성한다. 서버(120)는 주어진 시그니처를 부분 문자열로 분할하고, 이를 포함하는 시그니처들을 역 인덱스로 검색할 수 있다. 서버(120)는 검색된 시그니처들을 공통 문자열의 빈도에 따라 정렬하고 이를 기준으로 유사도를 비교하여, 유사도에 따라 안드로이드 앱의 멀웨어 여부를 검사할 수 있다.
이때 유사도 비교의 수행에 있어서는 시그니처 데이터베이스의 시그니처 값에 대하여 생성된 유사 질의 인덱스(123)를 이용하여 1대 1 비교가 아닌, 주어진 시그니처에 대하여 가장 유사한 시그니처들을 검색할 수 있다. 또한, 검색된 가장 유사한 시그니처들과 생성한 시그니처를 비교하는 방식으로 검사를 수행한다. 그리고 서버(120)는 이의 검사 결과(150)로 가장 유사한 시그니처들이 멀웨어 또는 정상 앱인지 여부와 이들간의 유사도 값을 스마트 폰에 제공한다.
도 2는 서버 측 관점에서 안드로이드 멀웨어의 고속 검색 시스템(200)을 설명하는 도면이다.
안드로이드 멀웨어의 고속 검색 시스템(200)은 수신부(210), 생성부(220), 처리부(230), 판단부(240), 및 데이터베이스(250)를 포함할 수 있다.
먼저, 안드로이드 멀웨어의 고속 검색 시스템(200)은 스마트폰으로부터 검색 대상 앱을 다운로드할 수 있는 유알엘을 수신하거나, 검색 대상 앱에 대한 시그니처를 수신할 수 있다.
수신부(210)는 스마트폰으로부터 검색 대상 앱에 대한 시그니처 또는 검색 대상 앱을 다운로드할 수 있는 유알엘을 수신한다. 또한, 생성부(220)는 수신부(210)가 검색 대상 앱에 대한 시그니처를 수신하지 않고 유알엘을 수신한 경우라면, 유알엘로 접속가능한 원격 머신으로부터 검색 대상 앱을 다운로드 한다. 또한, 생성부(220)는 다운로드한 검색 대상 앱으로부터 시그니처를 생성할 수 있다.
결국, 안드로이드 멀웨어의 고속 검색 시스템(200)은 검색 대상 앱에 대한 시그니처를 확보한다.
이에, 처리부(230)는 검색 대상 앱에 대한 시그니처와 기저장된 시그니처들의 유사도를 확인한다. 또한, 판단부(240)는 확인된 유사도에 기초하여 검색 대상 앱에 대한 멀웨어 여부를 판단할 수 있다.
일실시예에 따른 처리부(230)는 기저장된 시그니처들을 제1 부분 문자열들로 분할하고, 상기 분할된 제1 부분 문자열들을 이용하여 역 인덱스를 생성하고, 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도를 확인할 수 있다.
예를 들어, 처리부(230)는 제1 부분 문자열들을 키로 하여, 각 부분 문자열에 대한 데이터 항목들을 정렬하여 역 인덱스를 생성할 수 있다. 이때의 데이터 항목들은 제1 부분 문자열들이 포함된 시그니처의 시그니처 값, 제1 부분 문자열들이 포함된 시그니처에서 제1 부분 문자열들의 위치, 및 제1 부분 문자열들이 포함된 시그니처가 대표하는 앱의 식별자 중에서 적어도 하나를 포함한다.
일실시예에 따른 처리부(230)는 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 생성한 제2 부분 문자열들을 이용하여 역 인덱스로부터 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색할 수 있다. 일례로 처리부(230)는 검색된 적어도 하나 이상의 시그니처 중에서, 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인할 수 있다.
예를 들어, 처리부(230)는 제2 부분 문자열을 이용하여 시그니처 값, 위치 값, 앱 식별정보 중에서 적어도 하나를 포함하는 데이터 항목을 검색할 수 있다.
결국, 처리부(230)는 검색된 시그니처들을 공통 문자열의 빈도에 따라 정렬하고 이를 기준으로 유사도를 비교하여, 유사도에 따라 안드로이드 앱의 멀웨어 여부를 검사할 수 있다.
본 발명에 따르면, 앱 설치를 위한 유알엘만을 이용하여도 앱 설치 전에 멀웨어 검사를 수행할 수 있고, 전체 시그니처에 대한 비교가 아닌 일부 시그니처에 대한 비교만을 수행할 수 있도록 하여 빠른 검사가 가능하다.
도 3은 서버의 데이터베이스에 저장된 시그니처를 기반으로 한 유사 질의 인덱스를 생성하는 과정을 설명하는 도면이다.
데이터베이스(310)에는 정상적인 앱과 멀웨어에 대한 시그니처들(320)을 모두 저장 및 유지하고 있다. 이러한 시그니처들은 해싱 또는 퍼지 해싱 등 다양한 방법을 통해 생성될 수 있다.
생성된 시그니처들은 n 크기로 고정된 부분 문자열들로 분할된다(330).
본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 분할된 부분 문자열들을 이용하여 역 인덱스를 구축한다(350). 이렇게 생성되는 역 인덱스(360)는 각 부분 문자열 값을 키로 하여, 해당 부분 문자열에 대한 데이터 항목들을 정렬하여 나열한다(370). 이 역 인덱스에서 키로 찾아지는 각 데이터 항목(380)은 크게 해당 부분 문자열이 원래 존재하였던 시그니처 값(382)과, 이 시그니처에서 어느 위치에 존재하였는지를 나타내는 위치 값(381), 그리고 해당 시그니처가 대표하는 앱 식별정보(383)를 포함한다.
도 4는 주어진 안드로이드 앱에 대한 시그니처 검색을 인덱싱을 통해 빠르게 검사하는 과정을 설명하는 도면이다.
도 4는 도 3에서 설명하는 유사 질의 인덱스의 생성 과정을 통해 생성된 역 인덱스(410)를 이용하여, 안드로이드 앱에 대한 인덱싱을 통해 시그니처 검색을 빠르게 수행하는 과정을 도식화 한 것이다.
본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 검사하고자 하는 안드로이드 앱 파일에 대해서 먼저 시그니처(510)를 생성한다. 이 과정은 큰 크기의 파일로부터 적은 크기의 대표 값을 계산해내는 과정으로 해싱을 포함한 여러 가지 시그니처 생성 방법을 통해 수행될 수 있다.
본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 생성된 안드로이드 앱의 시그니처를 이후 고정된 크기의 부분 문자열들로의 분할하여 부분 문자열들로 변환한다(402).
또한, 본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 변환된 각 부분 문자열에 대해서 역 인덱스(410)를 조회하여 해당 부분 문자열을 포함하는 시그니처들을 검색한다(403).
본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 이렇게 검색된 시그니처들에 대해 빈도수를 고려하여 처리할 수 있다. 예를 들어, 본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 가장 많은 부분 문자열들을 공통으로 포함하는 시그니처 순으로 정렬하여 제공할 수 있다(404).
본 발명에 따른 안드로이드 멀웨어의 고속 검색 시스템은 이러한 과정을 통해서 가장 많은 공통 문자열을 포함하는 시그니처들을 이용하여 유사도 비교를 수행할 수 있다(405).
결국, 본 발명은 시그니처에 대해서 멀웨어와 정상 앱들에 대한 시그니처 비교를 모두 수행할 필요 없이 인덱스 검색을 통해 걸러진 시그니처 만을 대상으로 유사도 비교를 함으로써 비교 횟수를 현저히 줄일 수 있다.
도 5는 클라이언트 측 관점에서 안드로이드 멀웨어의 고속 검색 시스템을 설명하는 도면이다.
안드로이드 멀웨어의 고속 검색 시스템(500)은 요청 처리부(510)와 수신부(520)를 포함할 수 있다.
요청 처리부(510)는 검색 대상 앱에 대해 서버로 멀웨어 검색을 요청할 수 있다. 일례로, 요청 처리부(510)는 검색 대상 앱을 다운로드 하는 유알엘을 서버로 전송하여 멀웨어 검색을 요청할 수 있다. 다른 일례로, 요청 처리부(510)는 검색 대상 앱에 대한 시그니처를 생성하고, 생성된 시그니처를 서버로 전송하여 멀웨어 검색을 요청할 수도 있다.
이에 서버는 기저장된 시그니처들을 부분 문자열들로 분할하여 역 인덱스를 생성하고, 검색 대상 앱에 대한 시그니처와 생성된 역 인덱스를 비교하여 유사도 정보를 생성하며, 멀웨어 검색 요청에 대해 생성한 유사도 정보를 회신할 수 있다.
일례로, 서버는 제1 부분 문자열들을 키로 하여, 각 제1 부분 문자열에 대한 데이터 항목들을 정렬하여 역 인덱스를 생성할 수 있다.
서버는 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 생성한 제2 부분 문자열들을 이용하여 역 인덱스로부터 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색하며, 검색된 적어도 하나 이상의 시그니처 중에서, 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인할 수 있다.
일실시예에 따른 수신부(520)는 요청에 대한 응답으로 서버로부터 멀웨어와의 유사도 정보를 수신할 수 있다.
도 6은 시그니처에 대한 부분 문자열을 키로 하는 역 인덱스의 생성과 이를 이용한 시그니처 검색을 포함하여, 안드로이드 앱에 대한 멀웨어 검사에 대한 전체 과정을 설명하는 도면이다.
도 6은 시그니처에 대한 부분 문자열을 키로 하는 역 인덱스의 생성과 이를 이용한 시그니처 검색을 포함하여, 안드로이드 앱에 대한 멀웨어 검사에 대한 전체 과정을 도식화 한 것이다. 본 발명의 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템의 구동 환경에서 스마트 폰은 클라이언트로서 동작하고, 본 시스템은 서버로서 구동할 수 있다.
먼저 스마트 폰(615)은 수신되는 메시지 또는 이메일 등을 통해 유입되는 유알엘을 갖는다. 그리고 이 유알엘은 안드로이드 앱 파일(610)을 다운로드할 수 있는 주소 정보를 포함한다.
스마트 폰은 앱 파일(610)에 대해 멀웨어 인지 여부에 대해 확인하기 위해 서버 측으로 앱 파일(610)을 다운로드할 수 있는 유알엘을 전송하거나, 유알엘을 통해서 앱 파일을 직접 다운로드하고 앱 파일과 관련된 정보를 제공할 수 있다(620).
만약 스마트폰이 유알엘을 가지고 검사를 의뢰하는 경우에 서버는 APK 다운로더(625)를 이용해 해당 유알엘을 스마트 폰 대신에 방문하여 앱 파일을 다운로드할 수 있다.
서버쪽에 다운로드 된 앱 파일은 언패키징(630) 과정을 통해 압축이 풀리고 여러 파일들로 나뉘어진다. 이들 파일 중 실제 실행 파일인 classes.dex를 이용하여 역컴파일(635) 과정을 수행하여 소스 코드를 획득할 수 있다.
본 발명의 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 확보된 소스 코드로부터 해당 소스 코드를 식별할 수 있는 특징점(feature)들만을 추출(640)하고, 추출한 특징점(feature)들 중에서도 비교에 있어 가장 먼저 비교할 주요 블록들을 선정한다(645). 이후 본 발명의 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 해당 주요 특징점들을 입력으로 하여 시그니처를 생성(650)한다.
본 발명의 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 생성된 시그니처를 고정 크기의 여러 부분 문자열들로 분할하고(670), 각 부분 문자열들에 대해서 시그니처 데이터베이스(660)위에 구성된 인덱스를 통해 비교해야 할 시그니처만을 추출(675)한다. 참고로, 시그니처 데이터베이스(660)는 정상 앱에 대한 시그니처를 저장하는 정상 앱 시그니처 데이터베이스(665)와 멀웨어에 해당하는 시그니처를 저장하는 멀웨어 시그니처 데이터베이스(655)를 포함한다. 이후 본 발명의 일실시예에 따른 안드로이드 멀웨어의 고속 검색 시스템은 해당 시그니처를 이용하여 유사도 비교(685)를 수행하고, 그 결과를 스마트 폰에 전송한다.
결국, 본 발명은 안드로이드 앱의 멀웨어 여부를 검사하기 위한 기술을 제공하는데, 특히 유알엘을 통해 다운로드되는 안드로이드 앱에 대하여 서버가 대신 앱을 다운로드 받아 검사하며, 이 앱의 검사에 있어서 빠른 정적 검사를 수행할 수 있다.
본 발명의 효과로는 안드로이드 앱의 검사를 서버가 대신 수행하면서, 앱의 검사에 있어 전체 앱 검사가 아닌 시그니처 값을 이용한 유사도 비교를 수행하고, 이 시그니처 비교 또한 인덱스를 통한 필터링 과정을 거침으로써 유사도 비교 횟수를 줄여 빠른 검사가 가능하다.
본 발명의 일실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 검색 대상 앱에 대한 시그니처와 기저장된 시그니처들의 유사도를 확인하는 처리부; 및
    상기 확인된 유사도에 기초하여 상기 검색 대상 앱에 대한 멀웨어 여부를 판단하는 판단부
    를 포함하는 안드로이드 멀웨어의 고속 검색 시스템.
  2. 제1항에 있어서,
    스마트폰으로부터 상기 검색 대상 앱에 대한 시그니처를 수신하는 수신부
    를 더 포함하는 안드로이드 멀웨어의 고속 검색 시스템.
  3. 제1항에 있어서,
    스마트폰으로부터 수신된 유알엘을 이용하여 상기 검색 대상 앱을 다운로드하고, 상기 다운로드한 검색 대상 앱으로부터 상기 시그니처를 생성하는 생성부
    를 더 포함하는 안드로이드 멀웨어의 고속 검색 시스템.
  4. 제1항에 있어서,
    상기 처리부는,
    상기 기저장된 시그니처들을 제1 부분 문자열들로 분할하고, 상기 분할된 제1 부분 문자열들을 이용하여 역 인덱스를 생성하며,
    상기 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도를 확인하는 안드로이드 멀웨어의 고속 검색 시스템.
  5. 제4항에 있어서,
    상기 처리부는,
    상기 제1 부분 문자열들을 키로 하여, 각 부분 문자열에 대한 데이터 항목들을 정렬하여 상기 역 인덱스를 생성하는 안드로이드 멀웨어의 고속 검색 시스템.
  6. 제5항에 있어서,
    상기 데이터 항목들은 상기 제1 부분 문자열들이 포함된 시그니처의 시그니처 값, 상기 제1 부분 문자열들이 포함된 시그니처에서 상기 제1 부분 문자열들의 위치, 및 상기 제1 부분 문자열들이 포함된 시그니처가 대표하는 앱의 식별자 중에서 적어도 하나를 포함하는 안드로이드 멀웨어의 고속 검색 시스템.
  7. 제4항에 있어서,
    상기 처리부는,
    상기 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 상기 생성한 제2 부분 문자열들을 이용하여 상기 역 인덱스로부터 상기 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색하는 안드로이드 멀웨어의 고속 검색 시스템.
  8. 제7항에 있어서,
    상기 처리부는,
    상기 검색된 적어도 하나 이상의 시그니처 중에서, 상기 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인하는 안드로이드 멀웨어의 고속 검색 시스템.
  9. 제8항에 있어서,
    상기 처리부는,
    상기 제2 부분 문자열을 이용하여 시그니처 값, 위치 값, 앱 식별정보 중에서 적어도 하나를 포함하는 데이터 항목을 검색하는 안드로이드 멀웨어의 고속 검색 시스템.
  10. 검색 대상 앱에 대해 서버로 멀웨어 검색을 요청하는 요청 처리부; 및
    상기 요청에 대한 응답으로 상기 서버로부터 멀웨어와의 유사도 정보를 수신하는 수신부
    를 포함하고,
    상기 서버는 기저장된 시그니처들을 제1 부분 문자열들로 분할하여 역 인덱스를 생성하고, 상기 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도 정보를 생성하며, 상기 멀웨어 검색 요청에 대해 상기 생성한 유사도 정보를 회신하는 안드로이드 멀웨어의 고속 검색 시스템.
  11. 제10항에 있어서,
    상기 요청 처리부는,
    상기 검색 대상 앱을 다운로드 하는 유알엘을 상기 서버로 전송하여 상기 멀웨어 검색을 요청하는 안드로이드 멀웨어의 고속 검색 시스템.
  12. 제10항에 있어서,
    상기 요청 처리부는,
    상기 검색 대상 앱에 대한 시그니처를 생성하고, 상기 생성된 시그니처를서버로 전송하여 멀웨어 검색을 요청하는 안드로이드 멀웨어의 고속 검색 시스템.
  13. 제10항에 있어서,
    상기 서버는, 상기 제1 부분 문자열들을 키로 하여, 각 제1 부분 문자열에 대한 데이터 항목들을 정렬하여 상기 역 인덱스를 생성하는 안드로이드 멀웨어의 고속 검색 시스템.
  14. 제13항에 있어서,
    상기 서버는,
    상기 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 상기 생성한 제2 부분 문자열들을 이용하여 상기 역 인덱스로부터 상기 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색하며, 상기 검색된 적어도 하나 이상의 시그니처 중에서, 상기 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인하는 안드로이드 멀웨어의 고속 검색 시스템.
  15. 처리부에서, 검색 대상 앱에 대한 시그니처와 기저장된 시그니처들의 유사도를 확인하는 단계; 및
    판단부에서, 상기 확인된 유사도에 기초하여 상기 검색 대상 앱에 대한 멀웨어 여부를 판단하는 단계
    를 포함하고,
    상기 유사도를 확인하는 상기 단계는,
    상기 기저장된 시그니처들을 제1 부분 문자열들로 분할하고, 상기 분할된 제1 부분 문자열들을 이용하여 역 인덱스를 생성하는 단계; 및
    상기 검색 대상 앱에 대한 시그니처와 상기 생성된 역 인덱스를 비교하여 상기 유사도를 확인하는 단계
    를 포함하는 안드로이드 멀웨어의 고속 검색 방법.
  16. 제15항에 있어서,
    스마트폰으로부터 상기 검색 대상 앱에 대한 시그니처를 수신하는 단계
    를 더 포함하는 안드로이드 멀웨어의 고속 검색 방법.
  17. 제15항에 있어서,
    스마트폰으로부터 수신된 유알엘을 이용하여 상기 검색 대상 앱을 다운로드하고, 상기 다운로드한 검색 대상 앱으로부터 상기 시그니처를 생성하는 단계
    를 더 포함하는 안드로이드 멀웨어의 고속 검색 방법.
  18. 제15항에 있어서,
    상기 역 인덱스를 생성하는 단계는,
    상기 제1 부분 문자열들을 키로 하여, 각 부분 문자열에 대한 데이터 항목들을 정렬하여 상기 역 인덱스를 생성하는 단계
    를 포함하는 안드로이드 멀웨어의 고속 검색 방법.
  19. 제14항에 있어서,
    상기 유사도를 확인하는 상기 단계는,
    상기 검색 대상 앱에 대한 시그니처로부터 제2 부분 문자열들을 생성하고, 상기 생성한 제2 부분 문자열들을 이용하여 상기 역 인덱스로부터 상기 제2 부분 문자열들을 포함하는 적어도 하나 이상의 시그니처를 검색하는 단계; 및
    상기 검색된 적어도 하나 이상의 시그니처 중에서, 상기 제2 부분 문자열들이 공통 문자열로 포함된 개수를 고려하여 기저장된 시그니처들의 유사도를 확인하는 단계
    를 포함하는 안드로이드 멀웨어의 고속 검색 방법.
  20. 제19항에 있어서,
    상기 유사도를 확인하는 상기 단계는,
    상기 제2 부분 문자열을 이용하여 시그니처 값, 위치 값, 앱 식별정보 중에서 적어도 하나를 포함하는 데이터 항목을 검색하는 단계
    를 포함하는 안드로이드 멀웨어의 고속 검색 방법.
KR1020150035055A 2015-03-13 2015-03-13 안드로이드 멀웨어의 고속 검색 시스템 및 방법 KR20160109870A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150035055A KR20160109870A (ko) 2015-03-13 2015-03-13 안드로이드 멀웨어의 고속 검색 시스템 및 방법
US14/830,546 US20160267270A1 (en) 2015-03-13 2015-08-19 Method and system for fast inspection of android malwares

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150035055A KR20160109870A (ko) 2015-03-13 2015-03-13 안드로이드 멀웨어의 고속 검색 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20160109870A true KR20160109870A (ko) 2016-09-21

Family

ID=56887863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150035055A KR20160109870A (ko) 2015-03-13 2015-03-13 안드로이드 멀웨어의 고속 검색 시스템 및 방법

Country Status (2)

Country Link
US (1) US20160267270A1 (ko)
KR (1) KR20160109870A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200014979A (ko) * 2018-08-02 2020-02-12 주식회사 누리랩 역 색인 구성 방법, 역 색인을 이용한 유사 데이터 검색 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318262B2 (en) * 2015-03-25 2019-06-11 Microsoft Technology Licensing, Llc Smart hashing to reduce server memory usage in a distributed system
US20170116238A1 (en) * 2015-10-26 2017-04-27 Intelliresponse Systems Inc. System and method for determining common subsequences
US10241759B2 (en) * 2016-02-28 2019-03-26 WhiteSource Ltd. Detecting open source components built into mobile applications
US10686813B2 (en) * 2016-03-25 2020-06-16 AVAST Software s.r.o. Methods of determining a file similarity fingerprint
CN106055602A (zh) * 2016-05-24 2016-10-26 腾讯科技(深圳)有限公司 文件验证方法及装置
US10242187B1 (en) * 2016-09-14 2019-03-26 Symantec Corporation Systems and methods for providing integrated security management
US11709811B2 (en) 2017-01-06 2023-07-25 Crowdstrike, Inc. Applications of machine learning models to a binary search engine based on an inverted index of byte sequences
US10430585B2 (en) 2017-01-06 2019-10-01 Crowdstrike, Inc. Binary search of byte sequences using inverted indices
US11151249B2 (en) 2017-01-06 2021-10-19 Crowdstrike, Inc. Applications of a binary search engine based on an inverted index of byte sequences
CN107820129B (zh) * 2017-11-16 2020-07-07 四川长虹电器股份有限公司 一种自动维护智能设备应用数据包的方法
KR102046262B1 (ko) * 2017-12-18 2019-11-18 고려대학교 산학협력단 모바일 운영체제 환경에서 악성 코드 행위에 따른 위험을 관리하는 장치 및 방법, 이 방법을 수행하기 위한 기록 매체
EP3506142B1 (en) * 2017-12-29 2021-08-04 Crowdstrike, Inc. Applications of a binary search engine based on an inverted index of byte sequences
CN109120593A (zh) * 2018-07-12 2019-01-01 南方电网科学研究院有限责任公司 一种移动应用安全防护系统
US11963072B2 (en) * 2022-01-28 2024-04-16 VuSpex Inc. Computer-implemented system and method for uploading media to an inspection record via the multimedia messaging service (MMS)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101392737B1 (ko) 2013-09-11 2014-05-12 주식회사 안랩 Url 호출 탐지장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650639B2 (en) * 2005-03-31 2010-01-19 Microsoft Corporation System and method for protecting a limited resource computer from malware
WO2007117567A2 (en) * 2006-04-06 2007-10-18 Smobile Systems Inc. Malware detection system and method for limited access mobile platforms
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US9720925B1 (en) * 2012-04-12 2017-08-01 Orchard Valley Management Llc Software similarity searching
US20140096246A1 (en) * 2012-10-01 2014-04-03 Google Inc. Protecting users from undesirable content
US9256738B2 (en) * 2014-03-11 2016-02-09 Symantec Corporation Systems and methods for pre-installation detection of malware on mobile devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101392737B1 (ko) 2013-09-11 2014-05-12 주식회사 안랩 Url 호출 탐지장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200014979A (ko) * 2018-08-02 2020-02-12 주식회사 누리랩 역 색인 구성 방법, 역 색인을 이용한 유사 데이터 검색 방법 및 장치

Also Published As

Publication number Publication date
US20160267270A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
KR20160109870A (ko) 안드로이드 멀웨어의 고속 검색 시스템 및 방법
US10979444B2 (en) Automated detection of malware using trained neural network-based file classifiers and machine learning
US10152594B2 (en) Method and device for identifying virus APK
US10114946B2 (en) Method and device for detecting malicious code in an intelligent terminal
JP5694473B2 (ja) 危険度計算を通じたリパッケージアプリケーションの分析システム及び分析方法
US9525706B2 (en) Apparatus and method for diagnosing malicious applications
CN109154966B (zh) 易受攻击的应用程序检测
EP2693356B1 (en) Detecting pirated applications
WO2014166312A1 (zh) 一种广告插件识别的方法和系统
US20120102569A1 (en) Computer system analysis method and apparatus
KR102006245B1 (ko) 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템
KR101582601B1 (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
CN109983464B (zh) 检测恶意脚本
CN110023938B (zh) 利用函数长度统计确定文件相似度的系统和方法
CN106709336A (zh) 识别恶意软件的方法和装置
CN108353083A (zh) 用于检测域产生算法(dga)恶意软件的系统及方法
JP6000465B2 (ja) プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
CN114386032A (zh) 电力物联网设备的固件检测系统及方法
US11580220B2 (en) Methods and apparatus for unknown sample classification using agglomerative clustering
KR102462541B1 (ko) 오픈소스 소프트웨어의 라이선스를 검증하는 방법 및 시스템
Akram et al. DroidMD: an efficient and scalable android malware detection approach at source code level
KR101605783B1 (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
Oprişa et al. A scalable approach for detecting plagiarized mobile applications
US10789067B2 (en) System and method for identifying open source usage
KR101990998B1 (ko) 폰트 저작권 보호 시스템 및 방법