KR102345016B1 - 랜섬웨어 감지 방법 및 장치 - Google Patents

랜섬웨어 감지 방법 및 장치 Download PDF

Info

Publication number
KR102345016B1
KR102345016B1 KR1020200023892A KR20200023892A KR102345016B1 KR 102345016 B1 KR102345016 B1 KR 102345016B1 KR 1020200023892 A KR1020200023892 A KR 1020200023892A KR 20200023892 A KR20200023892 A KR 20200023892A KR 102345016 B1 KR102345016 B1 KR 102345016B1
Authority
KR
South Korea
Prior art keywords
ransomware
application
data
code
database
Prior art date
Application number
KR1020200023892A
Other languages
English (en)
Other versions
KR20210108811A (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 KR1020200023892A priority Critical patent/KR102345016B1/ko
Publication of KR20210108811A publication Critical patent/KR20210108811A/ko
Application granted granted Critical
Publication of KR102345016B1 publication Critical patent/KR102345016B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시의 기술적 사상에 의한 일 양태에 따른 랜섬웨어 감지 방법은, 애플리케이션을 획득하는 단계와, 애플리케이션으로부터 코드 및 리소스 데이터를 획득하는 단계와, 코드 및 리소스 데이터에 기초하여 애플리케이션이 요청하는 권한, 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계와, 분석 결과에 기초하여 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계, 및 판단 결과에 기초하여 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하는 단계를 포함할 수 있다.

Description

랜섬웨어 감지 방법 및 장치{METHOD AND APPARATUS FOR DETECTING RANSOMWARE}
본 개시(disclosure)의 기술적 사상은 멀웨어(malicious software, malware)의 감지 분야에 관한 것으로, 보다 상세하게는, 디바이스에 설치되는 다양한 애플리케이션들 중 랜섬웨어를 감지하는 장치 및 방법에 관한 것이다.
스마트 폰(Smart Phone), 태블릿(Tablet), 스마트 TV, 전자 리더(ex. kindle fire) 등의 스마트 디바이스(smart device)의 사용이 일반화되고 있다. 이에 따라 스마트 디바이스에서 이용되는 애플리케이션(application)의 종류와 수가 급격히 증가하고 있다. 다만, 애플리케이션의 종류와 수가 급격히 증가함에 따라 랜섬웨어 또한 급격히 증가하여 심각한 피해를 주고 있다.
랜섬웨어는 사용자의 중요한 데이터를 암호화하고, 비활성화하고, 피해를 복구하려면 비용을 요구하는 악성 프로그램이다. 랜섬웨어는 다른 멀웨어와 달리 공격자만 암호 해독 키를 가지고 있기 때문에 암호화된 데이터를 복구할 수 없다. 랜섬웨어의 확산은 주로 피싱 메일, 신뢰할 수 없는 사이트 및 사회 공학 기술(social engineering techniques)을 사용한 파일 공유 사이트를 통해 촉진된다.
안드로이드 OS는 세계화 및 조각화가 가능한 오픈 소스 플랫폼이기 때문에 멀웨어의 타겟이 되고 있다. 특히, 안드로이드 OS 기반으로 동작하는 디바이스는 신뢰된 앱 스토어뿐만 아니라, 신뢰할 수 없는 사이트로부터도 애플리케이션을 다운받아 설치할 수 있으므로, 이를 통해 해커는 사용자를 속일 수 있다.
안드로이드 OS 기반의 디바이스에 설치되는 랜섬웨어는 두 가지의 타입, 화면 잠금 타입과 암호화 타입을 포함한다. 화면 잠금 타입의 랜섬웨어에서는 화면을 완전히 덮는 이미지에 의해, 디바이스의 리소스에 대한 접근이 차단된다. 또한, 암호화 타입의 랜섬웨어에서는 사용자의 중요한 데이터들이 암호화된다.
랜섬웨어의 피해를 막기 위해 가장 중요한 점은 랜섬웨어에 의한 데이터 암호화를 방지하는 것이다. 따라서, 애플리케이션이 랜섬웨어인지, 또는 암호화 과정이 정상적인 암호화 과정인지를 실시간으로 판단하는 다양한 방법들이 연구되고 있다.
랜섬웨어를 탐지하는 애플리케이션의 분석 방법에는 동적 분석 방법과 정적 분석 방법이 존재한다. 동적 분석 방법은 애플리케이션의 실행을 통한 분석 방법으로써, 애플리케이션의 성능 저하가 유발되고, 애플리케이션의 모든 동작을 실행시켜보기는 현실적으로 어렵다. 따라서 정적 분석 방법이 선호될 수 있다. 다만, 정적 분석 방법은 애플리케이션 내의 코드만을 기준으로 애플리케이션을 분석하므로, 정확도 및 성능이 떨어질 수 있으며, 하나의 애플리케이션 내에 이종의 언어로 작성된 코드가 포함되어 있는 경우, 효율적인 분석이 불가능하다.
따라서, 애플리케이션의 정적 분석 방법의 성능 및 정확도를 개선하는 방법이 필요하다.
본 개시의 기술적 사상에 따른 랜섬웨어 감지 장치 및 이에 의한 랜섬웨어 감지 방법은, 정적 분석 방식을 통해 애플리케이션 내에 포함된 랜섬웨어를 감지하는데 목적이 있다.
또한, 본 개시의 기술적 사상에 따른 랜섬웨어 감지 장치 및 이에 의한 랜섬웨어 감지 방법은, 랜섬웨어를 데이터베이스에 저장하고 공유하는데 목적이 있다.
본 개시의 기술적 사상에 따른 랜섬웨어 감지 장치 및 이에 의한 랜섬웨어 감지 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 실시예에 따른 랜섬 웨어 감지 방법은, 애플리케이션을 획득하는 단계; 상기 애플리케이션으로부터 코드 및 리소스 데이터를 획득하는 단계; 상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계; 상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계는, 상기 분석 결과를 정규화된 데이터로 변환하는 단계; 및 상기 정규화된 데이터를 시그니쳐 데이터베이스에 저장하는 단계를 포함하며, 상기 정규화된 데이터로 변환하는 단계는, 상기 분석 결과가 랜섬웨어 판단에 필요한 데이터인지 판단하고, 판단 결과에 기초하여 소정의 데이터를 검색, 추가 또는 삭제하고, 상기 분석 결과에 기초하여 소정의 데이터 리스트를 생성하고, 상기 애플리케이션의 설치 경로를 분석할 수 있다.
예시적인 실시예에 따르면, 상기 시그니쳐 데이터베이스에 저장하는 단계는, 상기 애플리케이션의 정보 및 상기 애플리케이션이 실행되는 환경 정보를 함께 저장할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션의 정보는 상기 애플리케이션의 버전 정보 및 상기 애플리케이션의 업데이트 정보 중 적어도 하나를 포함할 수 있고, 상기 환경 정보는 상기 애플리케이션이 실행되는 디바이스의 기기 정보, OS 정보 및 플랫폼 정보 중 적어도 하나를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 시그니쳐 데이터베이스 및 상기 랜섬웨어 데이터베이스는 주기적으로 업데이트 또는 동기화되며, 외부 서버에 저장되고, 상기 외부 서버는 적어도 하나의 다른 디바이스들과 연결될 수 있다.
예시적인 실시예에 따르면, 상기 판단 결과에 기초하여 상기 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하는 단계는, 상기 애플리케이션의 시스템 구조를 분석하여 랜섬웨어가 저장된 경로를 판단하고, 상기 판단된 경로에 따라 상기 애플리케이션에 포함된 랜섬웨어를 검출하고, 검출된 랜섬웨어를 저장할 수 있다.
예시적인 실시예에 따르면, 상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계는, 상기 코드 및 리소스 데이터에 포함된 텍스트 데이터를 수집하는 단계; 상기 수집한 텍스트 데이터를 유형별로 분류하는 단계; 상기 분류된 텍스트 데이터를 문자열로 변환하는 단계; 및 상기 변환된 문자열과 상기 랜섬웨어 데이터베이스를 비교하는 단계;를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계는, 상기 비교 결과에 기초하여, 의심 문자열이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 상기 애플리케이션을 랜섬웨어로 판단할 수 있다.
예시적인 실시예에 따르면, 상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계는, 상기 코드 및 리소스 데이터로부터, 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 단계; 및 상기 애플리케이션이 요청하는 권한에 관한 정보와 상기 랜섬웨어 데이터베이스 내의 권한 리스트와 비교하는 단계;를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계는, 상기 비교 결과에 기초하여, 의심 권한 요청이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 상기 애플리케이션이 랜섬웨어로 판단할 수 있다.
예시적인 실시예에 따르면, 상기 코드 및 리소스 데이터로부터, 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 단계는, 상기 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수 또는 명령어를 소정의 기준에 따라 적어도 하나의 카테고리로 분류하고, 상기 적어도 하나의 카테고리에 기초하여 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다.
예시적인 실시예에 따르면, 상기 코드 및 리소스 데이터로부터, 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 단계는, 상기 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수에 기초하여 수행되는 태스크에 기초하여 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다.
예시적인 실시예에 따르면, 상기 애플리케이션으로부터 코드 및 리소스 데이터를 획득하는 단계는, 상기 획득한 애플리케이션을 디컴파일함으로써, 상기 코드 및 리소스 데이터를 획득하는 것이고, 상기 코드 및 리소스 데이터는 XML 파일, 매니페스트 파일, 자바 파일, 드로어블(Drawable) 파일 및 밉맵(Mipmap) 파일 중 적어도 하나를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 방법은, 상기 애플리케이션이 랜섬웨어로 판단되면, 이에 대한 판단 결과를 출력하는 단계; 및 사용자 입력에 기초하여 상기 애플리케이션을 삭제하거나, 상기 애플리케이션이 랜섬웨어가 아닌 것으로 결정하는 단계;를 더 포함할 수 있다.
본 개시의 다른 실시예에 따르면, 랜섬웨어 감지 장치는 적어도 하나의 메모리; 및 상기 메모리에 전기적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 애플리케이션을 획득하고, 상기 애플리케이션으로부터 코드 및 리소스 데이터를 획득하고, 상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하고, 상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하고, 상기 판단 결과에 기초하여, 상기 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하도록 구성될 수 있다.
본 개시의 기술적 사상에 의한 실시예들에 따른 랜섬웨어 감지 장치 및 이에 의한 랜섬웨어 감지 방법은, 디바이스에 설치되는 애플리케이션 내에 랜섬웨어가 포함되는지를 효과적으로 감지할 수 있다.
또한, 본 개시의 기술적 사상에 의한 실시예들에 따른 랜섬웨어 감지 장치 및 이에 의한 랜섬웨어 감지 방법은, 감지된 랜섬웨어를 다른 사용자들과 공유할 수 있도록 한다.
본 개시의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 일 실시예에 따른 랜섬웨어 감지 시스템을 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 랜섬웨어 데이터베이스의 공유 시스템을 나타내는 도면이다.
도 3은 본 개시의 일 실시예에 따른 랜섬웨어 감지 방법의 순서도이다.
도 4는 본 개시의 일 실시예에 따른 랜섬웨어 감지 방법의 세부 순서도이다.
도 5 및 도 6은 본 개시의 일 실시예에 따른 애플리케이션 내의 랜섬웨어 감지 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 랜섬웨어 감지 장치의 세부 동작들을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 랜섬웨어 데이터베이스 저장 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 의심 권한을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 랜섬웨어 감지 장치의 구성을 설명하기 위한 블록도이다.
본 개시의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 개시의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 애플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
명세서 전체에서 코드 및 리소스 데이터는 소스 코드(Source Code), 기계어 코드, 어셈블리 코드(Assembly Code) 등을 포함할 수 있으며, 애플리케이션 내에 포함된, 애플리케이션을 구동하기 위해 특정 언어로 작성된 코드 형태의 데이터를 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
명세서 전체에서 함수(Function)란 명령어(Instruction)를 포함하며, 애플리케이션과 같은 소프트웨어에서 특정 동작을 수행하는 코드 또는 코드의 집합을 의미할 수 있으며, 상기 예시에 제한되지 않는다.
명세서 전체에서, 애플리케이션(Application)이란, 애플리케이션뿐만 아니라, 프로그램(Program), 애플리케이션 패키지(Application Package) 등을 포함하며, 상기 예시에 제한되지 않는다. 즉, 애플리케이션은 코드 데이터를 포함하는 모든 소프트웨어를 포함할 수 있다.
이하, 본 개시의 기술적 사상에 따른 실시 예들을 차례로 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 랜섬웨어 감지 시스템을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 개시의 일 실시예에 따른 랜섬웨어 감지 시스템은 랜섬웨어 감지 장치(110)가 애플리케이션(101)을 획득하고, 획득한 애플리케이션(101)을 분석하여, 분석 결과(107)를 사용자에게 제공하고, 랜섬웨어 데이터베이스(100)에 저장할 수 있다. 또한 랜섬웨어 감지 장치(110)는 획득한 애플리케이션(101)을 분석할 때 랜섬웨어 데이터베이스(100)와 비교할 수 있다. 물론 본 개시의 일 실시예에 따른 랜섬웨어 감지 시스템은 상기 도시된 구성요소가 모두 제공될 필요는 없으며, 또한 도시된 구성요소보다 많은 구성요소에 의해 랜섬웨어 감지 시스템이 구현 될 수도 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치(110)는 다양한 방법을 통해 애플리케이션(101)을 획득할 수 있다. 디바이스(103)는 구글(Google)의 플레이 스토어(Play Store), 애플의 앱스토어(App Store), 티 스토어(T-store) 등의 서버로부터 애플리케이션(101)을 획득할 수 있다. 또한 랜섬웨어 감지 장치(110)는 외부 디바이스로부터 애플리케이션(101)을 획득할 수도 있고, 랜섬웨어 감지 장치(110) 내의 저장부로부터 애플리케이션(101)을 획득할 수도 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치(110)는 애플리케이션을 분석하는 디바이스로서, 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 랜섬웨어 감지 장치(110)는, 데스크톱 컴퓨터, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라, IPTV(Internet Protocol Television), DTV(Digital Television), CE 기기(예컨대, 디스플레이 장치를 갖는 냉장고, 에이컨 등) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 일 실시예에 따르면, 애플리케이션(101)은 애플리케이션을 구성하는 구성요소들을 포함할 수 있다. 애플리케이션의 구성요소는 객체를 포함할 수 있으며, 각 객체는 코드 데이터의 집합을 포함할 수 있다. 객체란 특정한 속성을 가지고 특정한 행위를 하는 함수, 명령어를 포함하며, 코드 및 리소스 데이터 내에 포함된 언어의 집합을 의미할 수 있다. 객체는 당업자에게 자명하므로, 자세한 설명은 생략한다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치(110)는 애플리케이션(101)으로부터 코드 및 리소스 데이터를 획득하고. 획득한 코드 및 리소스 데이터를 분석함으로써 랜섬웨어가 포함되어 있는지 여부를 판단할 수 있다.
본 개시의 일 실시예에 따르면, 코드 및 리소스 데이터의 분석은 정적 분석을 의미할 수 있다. 정적 분석 방식은 애플리케이션의 코드 및 리소스 데이터를 획득하고, 이를 실행하지 않고, 검사하는 방법이다. 정적 분석 방식은 코드 및 리소스 데이터로부터 코드 구조와 명령문 시퀀스가 확인되고, 다양한 함수 호출에서 변수가 처리되는 방식이 확인되며, XML과 같은 정보 파일의 문자열의 분석 결과, 랜섬웨어 여부가 산출될 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치(110)는 애플리케이션(101)을 획득하고 획득한 애플리케이션의 적어도 일부가 랜섬웨어 데이터베이스(100) 내에 포함된 데이터와 대응되는지 판단할 수 있다.
만약 획득한 애플리케이션(101)의 적어도 일부가 랜섬웨어 데이터베이스(100) 내에 포함된 데이터와 대응되는 경우, 랜섬웨어 감지 장치(110)는 획득한 애플리케이션(101)을 랜섬웨어로 판단할 수 있다.
만약 획득한 애플리케이션(101)의 적어도 일부가 랜섬웨어 데이터베이스(100) 내에 포함된 데이터와 대응되지 않는 경우, 랜섬웨어 감지 장치(110)는 획득한 애플리케이션(101)을 분석할 수 있다. 애플리케이션(101)을 분석하는 방법은 이하에서 더 자세히 설명한다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치(110)는 분석 결과에 따라 랜섬웨어 데이터베이스(100)에 분석 결과 또는 애플리케이션(101)의 적어도 일부를 저장할 수 있다. 랜섬웨어 데이터베이스(100)에 저장된 데이터는 다른 디바이스들과 공유될 수 있다. 이는 이하의 도 2에서 더 자세히 설명한다.
기존의 랜섬웨어 분석 시스템은 RandsomwareElite, SafeDroid, RansomwareProber, SUPOR, HelDroid 등 다양한 프로그램이 존재한다.
RansomwareElite는 안드로이드 기기에서 랜섬웨어의 존재를 탐지하는 시스템으로, 정적 분석 방법에 따른 랜섬웨어 탐지 시스템이다. RansomwareElite는 Threatening Text Detecter, Lock Detecter, Offline Permission Verfication Module, Ransomware Database와 같이 4가지 모듈로 구성되며 앱이 설치되기 전 APK 상태일 때 랜섬웨어 여부를 판단한다. 이미지에서 위협이 되는 텍스트를 감지하고, 시스템을 잠그거나 암호화시키는 기능 또는 클래스를 찾고, 랜섬웨어 앱의 정보에 대한 공유를 이루는 데이터베이스를 만드는 동작을 수행한다
SafeDroid 또한 안드로이드 기기에서 랜섬웨어의 존재를 탐지하는 시스템으로, 정적 분석 방법의 시스템이다. SafeDroid는 랜섬웨어 앱에서 발견된 이미지에서 위협이 되는 키워드를 감지하고 정적 텍스트 분석 접근 방식의 확장을 표시하며, 이미지에서 텍스트를 추출하고, 기기의 제어를 되찾고 의심스러운 앱을 제거하고, 중요 파일을 온라인 서버에 업로드하는 기능을 제공한다.
RansomwareProber는 안드로이드 기기에서 랜섬웨어의 존재를 탐지하는 시스템으로, 정적 및 동적 분석 시스템이다. RansomwareProber는 랜섬웨어의 암호화 작업을 실시간으로 검출할 수 있으며, Encryption Analysis, Foreground Analysis, Layout Analysis와 같이 3가지의 주요 단계를 가지고 안드로이드 랜섬웨어의 특성 분석 및 실시간 탐지를 제공하고, 파일 암호화 동작을 탐지하고며 암호화 동작의 비정상 여부를 결정하고, 레이아웃 정보를 자동으로 기록한다.
SUPOR는 안드로이드 기기에서 랜섬웨어의 존재를 탐지하는 시스템으로, 정적 분석 시스템이다. SUPOR는 Layout Analysis, UI Sensitiveness Analysis, Variable Binding와 같이 3가지 모듈로 구성되며 중요한 사용자 데이터를 포함하는 사용자 입력을 식별하고, 레이아웃 정보를 기록하고, UI를 자동으로 검사하고, 리소스 파일과 바이트 코드를 추출한다.
HelDroid는 안드로이드 기기에서 랜섬웨어의 존재를 탐지하는 시스템으로, 정적 및 동적 분석 방법의 시스템이다. HellDroid는 Threatening Text Detector, Encryption Detector, Locking Detector와 같이 3가지 모듈로 구성되며 사용자 동의 없는 비정상적인 암호화 작업을 감지한다. 특히 HellDroid는 정적 분석 방법으로 랜섬웨어 실행화면을 인식하여 UI를 분석하고, 문자열에서 위협적인 문구를 탐지하고, 파일 암호화 작업이 불필요하게 수행된 흔적이 있는지 확인하고, 분석 대상 애플리케이션이 기기를 잠글 수 있는지 확인한다.
앞서 설명한 랜섬웨어 감지 시스템은 UI 분석, 권한 분석, 앱 제거, 랜섬웨어 정보 수집을 통해 랜섬웨어를 감지한다. 예를 들면, UI 분석은 실행화면을 분석하여 랜섬웨어를 감지하는 기능이고, 권한 분석은 앱의 권한 요청을 분석하는 방법이며, 랜섬웨어 정보 수집은 서버에 저장하는 방식이다.
다만, 각 시스템은 각각 기능들을 제공하고 있어 서로 데이터베이스의 공유가 어렵다. 따라서 랜섬웨어 감지 시스템의 데이터베이스의 정규화 및 랜섬웨어 데이터의 분석 방법을 더욱 효율화 하기 위해 본 개시에서는 아래의 실시예들을 제공하고자 한다.
도 2는 본 개시의 일 실시예에 따른 랜섬웨어 데이터베이스의 공유 시스템을 나타내는 도면이다.
본 개시에 따르면, 랜섬웨어 데이터베이스(100) 적어도 하나의 사용자 단말(110 내지 160)과 연결될 수 있다. 랜섬웨어 데이터베이스(100)는 서버에 저장될 수 있다. 본 개시의 일 실시예에 따르면, 서버라 함은, 단일 서버, 서버의 집합체, 클라우드 서버 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
본 개시의 일 실시예에 따르면, 네트워크란 모든 통신 방식을 이용하여 설립(또는 형성)된 연결을 의미하며, 단말과 단말간의 또는 단말과 서버간의 데이터를 송수신하는, 모든 통신 방식을 통해 연결된 통신망을 의미할 수 있다.
모든 통신 방식이라 함은 소정의 통신 규격, 소정의 주파수 대역, 소정의 프로토콜 또는 소정의 채널을 통한 통신 등 모든 통신 방식을 포함할 수 있다. 예를 들면, 블루투스, BLE, Wi-Fi, Zigbee, 3G, LTE, 초음파를 통한 통신 방식 등을 포함할 수 있으며, 근거리 통신, 원거리 통신, 무선 통신 및 유선 통신을 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
일부 실시예에 따르면 근거리 통신 방식이라 함은, 통신을 수행하는 디바이스(단말 또는 서버)가 소정의 범위 내에 있을 때에만 통신이 가능한 통신 방식을 의미할 수 있으며, 예를 들어, 블루투스, NFC 등을 포함할 수 있다. 원거리 통신 방식이라 함은, 통신을 수행하는 디바이스가 거리와 관계 없이 통신이 가능한 통신 방식을 의미할 수 있다. 예를 들면, 원거리 통신 방식은 AP와 같은 중계기를 통해 통신을 수행하는 두 디바이스가 소정의 거리 이상일 때에도 통신할 수 있는 방식을 의미할 수 있으며, SMS, 전화와 같은 셀룰러 네트워크(3G, LTE)를 이용한 통신 방식을 포함할 수 있다. 물론 상기 예시에 제한되지 않는다. 네트워크 망을 이용하여 온라인 활동을 제공받는다는 의미는 모든 통신 방식을 통해 서버와 단말 간의 통신이 수행될 수 있다는 의미를 포함할 수 있다.
도 2의 적어도 하나의 사용자 단말(110 내지 160)은 앞서 설명한 랜섬웨어 감지 장치와 대응될 수 있다.
도 2에 따르면, 랜섬웨어 데이터베이스(100)는 제1 랜섬웨어 감지 장치(110)로부터의 데이터를 저장할 수 있으며, 제2 랜섬웨어 감지 장치(120)에게 저장된 데이터를 제공할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 데이터베이스(100)는 애플리케이션의 적어도 일부를 저장할 수 있다. 예를 들면, 랜섬웨어 데이터베이스(100)는 애플리케이션의 전체 또는 애플리케이션 중 랜섬웨어로 판단된 부분을 저장할 수 있다. 즉, 랜섬웨어 데이터베이스(100)는 샘플로써 랜섬웨어를 저장할 수 있다. 또한 본 개시의 일 실시예에 따르면, 랜섬웨어 데이터베이스(100)는 애플리케이션의 분석 결과를 저장할 수도 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 데이터베이스(100)는 시그니처 데이터베이스(미도시)를 포함할 수 있다. 시그니처 데이터베이스란 랜섬웨어의 흔적, 특징을 저장하는 데이터베이스일 수 있다. 예를 들면, 시그니처 데이터베이스(미도시)는 랜섬웨어의 분석 결과를 저장할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 데이터베이스(100) 또는 시그니처 데이터베이스(미도시)에 저장되는 데이터는 정규화된 데이터일 수 있다. 이를 통해 다양한 시스템 또는 다양한 디바이스가 랜섬웨어 데이터베이스(100) 또는 시그니처 데이터베이스(미도시)에 저장된 데이터를 이용할 수 있다.
도 3은 본 개시의 일 실시예에 따른 랜섬웨어 감지 방법의 순서도이다.
단계 301에서 랜섬웨어 감지 장치는 애플리케이션 획득할 수 있다.
본 개시의 일 실시예에 따른 애플리케이션은 코드 및 리소스 데이터를 포함하는 프로그램들을 모두 포함할 수 있으며, 애플리케이션 패키지를 포함할 수도 있다.
본 개시의 일 실시예에 따른 애플리케이션은 응용 소프트웨어로서 앱(App)을 포함할 수 있으며, 다양한 언어와, 다양한 플랫폼, 다양한 OS에서 실행되는 프로그램들을 모두 포함할 수 있다.
본 개시의 일 실시예에 따르면, 디바이스는 다양한 방법을 통해 애플리케이션을 획득할 수 있다. 디바이스의 저장부에서 애플리케이션을 획득할 수도 있고, 플레이스토어, 앱스토어와 같은 서버로부터 애플리케이션을 획득할 수도 있다. 또한 디바이스는 외부 디바이스로부터 애플리케이션을 수신함으로써 획득할 수도 있다.
단계 303에서 랜섬웨어 감지 장치는 애플리케이션으로부터 코드 및 리소스 데이터를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 획득한 애플리케이션을 디컴파일함으로써, 상기 코드 및 리소스 데이터를 획득할 수 있다. 또한 코드 및 리소스 데이터는 XML 파일, 매니페스트 파일, 자바 파일, 드로어블(Drawable) 파일 및 밉맵(Mipmap) 파일 중 적어도 하나를 포함할 수 있다. 물론 상기 예시에 제한되지 않으며, 디컴파일된 데이터를 다른 디바이스로부터 획득할 수도 있다.
단계 305에서 랜섬웨어 감지 장치는 코드 및 리소스 데이터에 기초하여 애플리케이션이 요청하는 권한, 코드 및 리소스 데이터에 포함된 문자열을 분석할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 코드 및 리소스 데이터에 포함된 텍스트 데이터를 수집하고, 수집한 텍스트 데이터를 유형별로 분류하고, 분류된 텍스트 데이터를 문자열로 변환하고, 변환된 문자열과 상기 랜섬웨어 데이터 베이스를 비교할 수 있다.
본 개시의 일 실시예에 따르면, 텍스트 데이터는 이미지 형태의 텍스트 또는 암호화된 텍스트 또한 포함할 수 있다. 랜섬웨어 감지 장치는 획득한 텍스트 데이터를 문자열로 변환하고, 자연어 처리 분류기를 이용하여 의심 문자열이 포함되어 있는지 판단할 수 있다.
본 개시의 일 실시예에 따르면, 의심 문자열은 소정의 명령어 또는 함수일 수 있다. 예를 들면, 디바이스의 정보를 외부 디바이스로 유출하는 명령어, 사용자 민감 정보(예를 들면, 사용자 개인 정보)를 동의 또는 허가 없이 독출하는 명령어, 불필요한 권한을 요청하는 명령어일 수도 있고, 문구 자체로 사용자에게 위협이 되는 문자열을 포함할 수 있다.
다시 말해서 본 개시에서는 이미지 형태의 텍스트, 암호화된 텍스트, 코드 내의 문자열을 모두 자연어 처리 분류기를 이용하여 분류하고, 랜섬웨어 데이터베이스에 저장된 의심 문자열이 저장된 리스트와 비교할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 비교 결과에 기초하여, 의심 문자열이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 애플리케이션을 랜섬웨어로 판단할 수 있다. 애플리케이션을 랜섬웨어로 판단한다는 의미는 애플리케이션 내에 랜섬웨어가 포함된다는 의미를 포함할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 코드 및 리소스 데이터로부터, 애플리케이션이 요청하는 권한에 관한 정보를 획득하고, 애플리케이션이 요청하는 권한에 관한 정보와 랜섬웨어 데이터베이스 내의 권한 리스트와 비교할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 애플리케이션의 종류, 애플리케이션의 타입, 애플리케이션의 버전 등에 기초하여 랜섬웨어 데이터베이스 내의 권한 리스트를 참고할 수 있다.
예를 들어, 랜섬웨어 데이터베이스 내에 동영상 재생 애플리케이션이 사용자 전화번호부 열람 권한 요청 및 송신 권한을 요청하는 경우 랜섬웨어 임이 저장되어 있는 경우, 랜섬웨어 감지 장치는 획득한 동영상 재생 애플리케이션이 사용자 전화번호부 열람 권한 요청 및 송신 권한을 요청하고 있는지 판단하고, 판단 결과에 따라 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단할 수 있다.
본 개시의 일 실시예에 따르면 랜섬웨어 감지 장치는 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수 또는 명령어를 소정의 기준에 따라 적어도 하나의 카테고리로 분류할 수 있다. 또한 랜섬웨어 감지 장치는 적어도 하나의 카테고리에 기초하여 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는함수 또는 명령어를 카테고리로 분류하고, 애플리케이션의 정보까지 고려하여 랜섬웨어 데이터베이스와 비교함으로써 빠르고 효율적으로 애플리케이션이 랜섬웨어인지 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수에 기초하여 수행되는 태스크에 기초하여 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다. 예를 들어, 랜섬웨어 디바이스는 함수가 수행하는 태스크가 어떤 동작을 수행하는지 랜섬웨어 데이터베이스에 기초하여 예측함으로써, 애플리케이션이 랜섬웨어인지 판단할 수 있다.
단계 307에서 랜섬웨어 감지 장치는 분석 결과에 기초하여 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 의심 권한 요청이 코드 및 리소스 데이터에 포함되어 있는 경우, 애플리케이션을 랜섬웨어로 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 , 의심 문자열이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 상기 애플리케이션을 랜섬웨어로 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 분석 결과를 정규화된 데이터로 변환하여 시그니쳐 데이터베이스에 저장할 수 있다. 이는 도 4에서 더 자세히 설명한다.
단계 309에서 랜섬웨어 감지 장치는 판단 결과에 기초하여, 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 랜섬웨어로 판단된 애플리케이션의 전부 또는 일부를 저장할 수 있다. 즉, 랜섬웨어 감지 장치는 애플리케이션을 샘플로써 저장할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 애플리케이션이 랜섬웨어로 판단되면, 이에 대한 판단 결과를 출력하고, 사용자 입력에 기초하여 상기 애플리케이션을 삭제하거나, 애플리케이션이 랜섬웨어가 아닌 것으로 결정할 수 있다.
또한 시그니쳐 데이터베이스 및 랜섬웨어 데이터베이스는 주기적으로 업데이트 또는 동기화되며, 외부 서버에 저장될 수 있으며, 외부 서버는 적어도 하나의 다른 디바이스들과 연결될 수 있다.
도 4는 본 개시의 일 실시예에 따른 랜섬웨어 감지 방법의 세부 순서도이다.
단계 401에서 랜섬웨어 감지 장치는 분석 결과가 랜섬웨어 판단에 필요한 데이터인지 판단할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 분석 결과를 검증함으로써 랜섬웨어 판단에 필요한 데이터인지 판단할 수 있다. 예를 들어, 랜섬웨어 감지 장치는 애플리케이션 버전, 애플리케이션의 실행 환경 등을 고려하여 애플리케이션의 실행을 예측하여 구동되지 않는 문자열등은 랜섬웨어 판단에 필요하지 않은 데이터로 판단할 수도 있다.
단계 403에서 랜섬웨어 감지 장치는 판단 결과에 기초하여 소정의 데이터를 검색, 추가 또는 삭제할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 불필요한 데이터를 검색하고, 삭제할 수 있으며, 필요한 경우 새로운 데이터를 추가할 수도 있다. 예를 들어, 랜섬웨어 감지 장치는 랜섬웨어 데이터베이스의 저장을 위해 태그나 식별자를 추가할 수도 있고, 특정 기호나 문구를 검색하거나 삭제할 수도 있다.
단계 405에서 랜섬웨어 감지 장치는 분석 결과에 기초하여 소정의 데이터 리스트를 생성할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 랜섬웨어 데이터베이스에 저장하기 위해 데이터 리스트를 생성할 수 있다. 데이터 리스트에는 분석 결과가 포함될 수도 있으며, 분석 결과를 일부 삭제하거나 새로운 데이터가 추가된 데이터가 포함될 수도 있다.
단계 407에서 랜섬웨어 감지 장치는 애플리케이션의 설치 경로를 분석할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 애플리케이션이 어디 설치되어 있는지 판단할 수 있으며, 특히 애플리케이션 중 랜섬웨어로 판단된 부분이 어디 설치되어 있는지 판단할 수 있다.
예를 들면, 랜섬웨어 감지 장치는 애플리케이션의 시스템 구조를 분석하여 랜섬웨어가 저장된 경로를 검출한다. 경로 중 부모 디렉토리에서 랜섬웨어 실행 파일이 검출되었다면 자식 디렉토리 또한 감염된 것으로 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 검출한 랜섬웨어 애플리케이션을 랜섬웨어 데이터베이스에 저장할 수 있다. 랜섬웨어 감지 장치는 애플리케이션의 일부 또는 전부를 저장할 수 있다. 다시 말해서, 어랜섬웨어 감지 장치는 애플리케이션 전체를 저장할 수도 있고, 애플리케이션 중 랜섬웨어로 판단된 부분만 저장할 수도 있다.
단계 409에서 랜섬웨어 감지 장치는 정규화된 데이터를 시그니쳐 데이터베이스에 저장할 수 있다.
본 개시의 일 실시예에 따르면, 정규화된 데이터란 앞선 단계 401 내지 단계 405에 기초하여 생성된 데이터일 수 있다. 즉, 정규화된 데이터란 분석 결과에 기초하여 랜섬웨어 데이터베이스에 저장하기 위해 변환된 데이터로 변환된 데이터일 수 있다.
또한 앞서 설명한 바와 같이, 시그니처 데이터베이스는 랜섬웨어 데이터베이스 내에 포함될 수 있다. 따라서, 본 개시의 일 실시예에 따르면, 분석 결과를 정규화된 데이터로 저장함으로써 많은 사용자가 분석 결과를 공유할 수 있다. 또한 정규화된 데이터에는 애플리케이션의 정보가 저장될 수 있으며, 랜섬웨어 데이터베이스에 저장된 랜섬웨어와 대응되도록 저장될 수 있다.
본 개시의 일 실시예에 따르면, 정규화된 데이터를 통해 랜섬웨어인지 여부를 비교 및 판단하므로, 기존의 방식에 비해 더욱 빠르고 효율적으로 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단할 수 있다.
도 5 및 도 6은 본 개시의 일 실시예에 따른 애플리케이션 내의 랜섬웨어 감지 방법을 설명하기 위한 도면이다.
구체적으로, 도 5의 시스템은 도 4의 동작을 설명하기 위한 도면이다. 도 5를 참조하면, 랜섬웨어 감지 장치는 검증 모듈(503)을 포함할 수 있으며, 검증 모듈을 통해 애플리케이션을 검증할 수 있다.
본 개시의 일 실시예에 따르면, 검증 모듈(503)은 애플리케이션 데이터베이스(501)로부터 획득한 애플리케이션을 분석한 분석 결과를 수집할 수 있다. 예를 들면, 검증 모듈(503)은 권한 분석 및 문자열 검출을 통한 분석 결과에 대한 데이터를 획득할 수 있다. 권한 분석 및 문자열 검출은 별도의 모듈에서 수행될 수도 있고 검증 모듈(503)이 직접 수행할 수 있다.
본 개시의 일 실시예에 따르면, 수집되는 데이터(601)는 응용 단계와 커널 단계의 데이터로 나누어 두 가지 측면에서 분석 및 분류하게 된다. 도 6을 참조하면, 응용 단계(603)는 데이터(분석 결과 데이터)가 정규화되는 단계를 의미하며, 커널 단계(605)는 랜섬웨어가 설치된 디렉토리를 검출하는 단계를 의미할 수 있다. 랜섬웨어 감지 장치는 랜섬웨어를 데이터베이스에 저장하여 데이터를 공유(607)할 수 있다.
수집한 데이터가 랜섬웨어 판별에 필요한(또는 유용한) 데이터인지 여부를 검증하기 위해 검증 모듈이 동작한다. 검증 모듈은 데이터 검색, 데이터 추가 및 삭제, 데이터 리스트 생성, 애플리케이션의 설치 경로 분석의 기능을 수행할 수 있다. 데이터 검색, 데이터 추가 및 삭제, 데이터 리스트 생성, 애플리케이션의 설치 경로 분석은 순차적으로 수행될 수도 있고, 순서와 관계없이 수행될 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 데이터 검색, 데이터 추가 및 삭제, 데이터 리스트 생성, 애플리케이션의 설치 경로 분석을 통해 정규화된 데이터를 시그니처 데이터베이스(505)에 등록할 수 있다. 따라서 시그니처 데이터베이스에는 랜섬웨어 애플리케이션이 사용자의 장치를 감염시키는 동작에 대한 데이터가 저장될 수 있다. 앞서 설명한 바와 같이 시그니처란 랜섬웨어의 흔적, 특징을 저장하는 데이터베이스일 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 응용 단계와 커널 단계를 통해 데이터를 정규화하고, 랜섬웨어가 위치한 디렉토리를 검출함으로써 수집된 데이터를 효율적으로 랜섬웨어 데이터베이스(507)에 저장하고, 공유할 수 있다.
도 7은 본 개시의 일 실시예에 따른 랜섬웨어 감지 장치의 세부 동작들을 설명하기 위한 도면이다.
본 개시의 일 실시예에 따르면 랜섬웨어 감지 장치는 애플리케이션을 획득할 수 있다. 도 7에는 예시로써 안드로이드 애플리케이션이라 기재되어 있으나 이에 제한되지 않는다.
랜섬웨어 감지 장치는 랜섬웨어 데이터베이스와 획득한 애플리케이션을 비교할 수 있다. 랜섬웨어 데이터베이스에 저장된 데이터에 기초할 때, 애플리케이션에 랜섬웨어가 포함되었다고 판단된 경우, 랜섬웨어 감지 장치는 사용자 입력에 기초하여 애플리케이션을 삭제할 수 있으며, 획득한 애플리케이션에 관한 정보를 랜섬웨어 데이터베이스에 저장할 수 있다.
즉, 랜섬웨어 감지 장치는 다른 사용자가 이미 랜섬웨어로 판단한 애플리케이션은 별도의 분석 없이도 랜섬웨어 데이터베이스와 비교하여 랜섬웨어인지 여부를 판단, 확인 또는 식별할 수 있다.
만약 랜섬웨어 데이터베이스에 기초하여 랜섬웨어인지 판단할 수 없는 경우, 랜섬웨어 감지 장치는 애플리케이션을 디컴파일(Decompile)하여 코드 및 리소스 데이터를 획득할 수 있다. 이는 앞서 설명한 바와 대응되므로 자세한 설명은 생략한다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 오프라인 권한 검증(Offline Permission Verification) 을 수행할 수 있다. 이는 앞서 설명한 애플리케이션이 요청하는 권한을 검증하는 것일 수 있다.
구체적으로, 랜섬웨어 감지 장치는 매니페스트 파일(Manifest file)을 추출하고, 매니페스트 파일을 스캔하여 애플리케이션이 요청하는 권한을 독출할 수 있다. 랜섬웨어 감지 장치는 애플리케이션이 요청하는 권한을 랜섬웨어 데이터베이스와 비교하여 애플리케이션이 랜섬웨어를 포함하는지 판단할 수 있다. 랜섬웨어로 판단되면, 랜섬웨어 감지 장치는 랜섬웨어 데이터베이스에 분석 결과를 저장할 수 있으며, 애플리케이션 중 적어도 일부를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 위협 문자열 검출기(Threatening String Detecor)를 통해 위협 문자를 검출할 수 있다. 이는 앞서 설명한 의심 문자열을 판단하는 것일 수 있다.
구체적으로, 랜섬웨어 감지 장치는 애플리케이션의 XML, 매니페스트 파일, Drawable, Mipmap 파일을 추출하고, 추출한 파일 내의 텍스트를 분류할 수 있다. 랜섬웨어 감지 장치는 분류한 텍스트를 분석하여 위협 문자가 포함되어 있는지 판단할 수 있다. 랜섬웨어로 판단되면, 랜섬웨어 감지 장치는 랜섬웨어 데이터베이스에 분석 결과를 저장할 수 있으며, 애플리케이션 중 적어도 일부를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 잠금 검출기(Lock Detecor)를 통해 애플리케이션이 사용자 동의 없는 잠금 동작을 수행하는지 여부를 검출할 수 있다. 즉, 애플리케이션이 사용자 동의 없이 디바이스의 기능, 동작, 소정의 데이터, 파일에 대해 잠금을 수행하는지 검출할 수 있다. 물론 상기 예시에 제한되지 않으며, 잠금 검출은 권한 검증시 함께 수행될 수도 있다.
구체적으로, 랜섬웨어 감지 장치는 애플리케이션의 자바(java) 파일을 추출하고, 추출한 자바 파일을 스캔하여, 소정의 클래스, 오브젝트 또는 함수가 검출되는지 판단할 수 있다. 물론 상기 예시에 제한되지 않으며, 랜섬웨어 감지 장치는 소정의 액티비티 또는 서비스 검출 여부를 판단할 수 있다.
예를 들면, 랜섬웨어 감지 장치는 잠금 기능을 수행하는 소정의 클래스, 오브젝트 또는 함수가 자바 파일 내에 포함되는지 판단할 수 있다. 또한 랜섬웨어 감지 장치는 애플리케이션의 타입에 기초하여 적절한 클래스, 오브젝트 또는 함수가 포함된 것인지 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면 오브젝트란 객체란 특정한 속성을 가지고 특정한 행위를 하는 함수, 명령어를 포함하며, 코드 및 리소스 데이터 내에 포함된 언어의 집합을 의미할 수 있다.
랜섬웨어로 판단되면, 랜섬웨어 감지 장치는 랜섬웨어 데이터베이스에 분석 결과를 저장할 수 있으며, 애플리케이션 중 적어도 일부를 저장할 수 있다.
또한 본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 오프라인 권한 검증 동작, 위협 문자를 검출 동작, 애플리케이션이 사용자 동의 없는 잠금 동작을 수행하는지 여부를 검출 동작 중 적어도 하나만을 수행할 수도 있으며, 각 동작은 병렬적으로 수행될 수 있고, 독립적으로 수행될 수 있다.
도 8은 본 개시의 일 실시예에 따른 랜섬웨어 데이터베이스 저장 방법을 설명하기 위한 도면이다.
앞서 설명한 바와 같이 랜섬웨어 데이터베이스는 정규화된 데이터가 저장될 수 있다. 즉, 본 개시의 일 실시예에 따른 랜섬웨어 데이터베이스는 정규화된 데이터베이스일 수 있다.
구체적으로, 정규화된 데이터를 저장하는 랜섬웨어 데이터베이스는 데이터베이스 내의 소정의 데이터의 일부 내용이 변경되면, 데이터베이스 내의 나머지 데이터에도 변경 내용이 적용되는 정규화된 데이터베이스일 수 있다.
따라서, 랜섬웨어 감지 장치는 분석 결과, 애플리케이션의 정보, 디바이스의 정보, 애플리케이션의 적어도 일부 또는 랜섬웨어를 정규화(Normailized data)하고, 정규화된 데이터의 분류 가능(Classfiable) 여부를 판단할 수 있다. 예를 들면, 분류가 가능한 경우라 함은 이미 정규화된 데이터가 저장될 수 있도록 데이터베이스 내에 정규화된 데이터와 관련된 데이터(예를 들면, 카테고리, 대응되는 데이터)가 생성 또는 저장되어 있는 경우를 의미할 수 있다.
만약 분류가 가능하다고 판단된 경우, 랜섬웨어 감지 장치는 정규화된 데이터를 저장할 수 있다. 만약 분류가 가능하다고 판단되지 않는 경우, 랜섬웨어 감지 장치는 테이블을 생성하고, 랜섬웨어 감지 장치 데이터베이스 서버로부터 테이블을 인증받고, 데이터를 업데이트할 수 있으며, 랜섬웨어 검출을 수행할 수 있다.
즉, 랜섬웨어 데이터베이스 내에 정규화된 데이터와 연관된 데이터가 생성또는 저장되어 있지 않으면, 정규화된 데이터를 저장하기 위해 테이블을 생성하고, 서버(랜섬웨어 데이터베이스가 저장된 서버)에 저장하기 위해 테이블을 인증받고, 업데이트할 수 있으며, 랜섬웨어를 검출하여 저장할 수 있다.
도 9는 본 개시의 일 실시예에 따른 의심 권한을 설명하기 위한 도면이다.
본 개시의 일 실시예에 따르면, 랜섬웨어 감지 장치는 데이터베이스 내에 저장된 의심 권한 리스트에 기초하여 애플리케이션 내에 랜섬웨어가 포함되는지 여부를 판단할 수 있다.
도 9를 참조하면, 랜섬웨어 데이터베이스 내에는 의심 권한 및 비의심 권한이 구분되어 저장될 수 있다. 또한 랜섬웨어 데이터베이스 내에는 각 권한이 소정의 기준 별로 분류되어 저장될 수 있다.
예를 들면, RECEIVE_BOOT_COMPLETED, READ_PHONE_STATE, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORE, WAKE_LOCK, GET_ACCOUNTS, BIND_DEVICE_ADMIN, DISABLE_KEYGUARD, INSTALL_SHORTCUT 는 의심 권한을 요청하는 함수일 수 있으며, GET_TASK, WRITE_SETTING, SYSTEM_ALERT_WINDOW, CAMERA 등은 의심 권한을 요청하는 함수가 아닐 수 있다.
또한 랜섬웨어 데이터베이스는 의심 권한 뿐만 아니라, 의심 문구를 저장할 수 있다. 의심 문구는 예를 들면, coin, bitcoin, money, pay 등의 문자열을 포함할 수 있다. 물론 상기 예시에 제한되는 것은 아니다. 랜섬웨어 감지 장치 애플리케이션 내에 의심 문구가 포함되면, 랜섬웨어 감지 장치는 해당 애플리케이션이 랜섬웨어인 것으로 결정할 수 있다.
또한 의심 문구 및 의심 권한은 애플리케이션의 타입에 따라 상이할 수도 있다. 예를 들어, e-book 애플리케이션이 카메라 제어 권한을 요청하는 것은 의심 권한을 요청하는 것이라 판단될 수 있으나, 카메라 어플리 카메라 제어 권한을 요청하는 것은 애플리케이션의 사용을 위해 필요한 것이므로 의심 권한을 요청한다고 판단하지 않을 수도 있다. 즉, 의심 권한 및 의심 문구는 애플리케이션의 타입, 디바이스의 타입 등에 기초하여 결정될 수도 있다.
도 10은 본 개시의 일 실시예에 따른 랜섬웨어 감지 장치의 구성을 설명하기 위한 블록도이다.
도 10에 도시되는 바와 같이, 본 개시의 랜섬웨어 감지 장치(1000)는 프로세서(1001) 및 메모리(1003)를 포함할 수 있다. 다만, 랜섬웨어 감지 장치(1000)의 구성 요소가 전술한 예에 한정되는 것은 아니다. 예를 들어, 랜섬웨어 감지 장치(1000)는 전술한 구성 요소들 보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다. 또한 프로세서(1001)는 적어도 하나일 수 있으며, 메모리(1003) 또한 적어도 하나일 수 있다. 또한 프로세서(1001) 및 메모리(1003)가 하나의 칩으로 결합된 형태일 수도 있다.
본 개시의 일 실시예에 따르면, 프로세서(1001)는 랜섬웨어 감지 장치(1000)의 동작에 필요한 프로그램 및 데이터를 저장할 수 있다. 프로세서(1001)는 애플리케이션을 획득하고, 애플리케이션으로부터 코드 및 리소스 데이터를 획득하고, 상기 코드 및 리소스 데이터에 기초하여 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하고, 분석 결과에 기초하여 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하고, 판단 결과에 기초하여, 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 분석 결과를 정규화된 데이터로 변환하고, 정규화된 데이터를 시그니쳐 데이터베이스에 저장하며, 분석 결과가 랜섬웨어 판단에 필요한 데이터인지 판단하고, 판단 결과에 기초하여 소정의 데이터를 검색, 추가 또는 삭제하고, 분석 결과에 기초하여 소정의 데이터 리스트를 생성하고, 애플리케이션의 설치 경로를 분석할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 애플리케이션의 시스템 구조를 분석하여 랜섬웨어가 저장된 경로를 판단하고, 판단된 경로에 따라 애플리케이션에 포함된 랜섬웨어를 검출하고, 검출된 랜섬웨어를 저장할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 코드 및 리소스 데이터에 포함된 텍스트 데이터를 수집하고, 수집한 텍스트 데이터를 유형별로 분류하고, 분류된 텍스트 데이터를 문자열로 변환하고, 변환된 문자열과 상기 랜섬웨어 데이터 베이스를 비교하는 단계를 포함할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 비교 결과에 기초하여, 의심 문자열이 코드 및 리소스 데이터에 포함되어 있는 경우 애플리케이션을 랜섬웨어로 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 코드 및 리소스 데이터로부터, 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다. 또한 프로세서(1001)는 애플리케이션이 요청하는 권한에 관한 정보와 랜섬웨어 데이터베이스 내의 권한 리스트와 비교할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 비교 결과에 기초하여, 의심 권한 요청이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 애플리케이션이 랜섬웨어로 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수 또는 명령어를 소정의 기준에 따라 적어도 하나의 카테고리로 분류하고, 적어도 하나의 카테고리에 기초하여 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수에 기초하여 수행되는 태스크에 기초하여 애플리케이션이 요청하는 권한에 관한 정보를 획득할 수 있다. 예를 들어, 프로세서(1001)는 어떤 태스크를 수행하는 함수인지 판단하고, 판단 결과에 따라 어떤 권한을 요청하는 함수인지 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 획득한 애플리케이션을 디컴파일함으로써, 코드 및 리소스 데이터를 획득하는 것이고, 코드 및 리소스 데이터는 XML 파일, 매니페스트 파일, 자바 파일, 드로어블(Drawable) 파일 및 밉맵(Mipmap) 파일 중 적어도 하나를 포함할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 애플리케이션의 정보 및 애플리케이션이 실행되는 환경 정보를 함께 저장할 수 있다. 애플리케이션의 정보는 애플리케이션의 버전 정보 및 애플리케이션의 업데이트 정보 중 적어도 하나를 포함할 수 있으며, 환경 정보는 애플리케이션이 실행되는 디바이스의 기기 정보, OS 정보 및 플랫폼 정보 중 적어도 하나를 포함할 수 있다.
또한 본 개시의 일 실시예에 따르면, 프로세서(1001)는 애플리케이션이 랜섬웨어로 판단되면, 이에 대한 판단 결과를 출력하고, 사용자 입력에 기초하여 애플리케이션을 삭제하거나, 애플리케이션이 랜섬웨어가 아닌 것으로 결정할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1003)는 프로세서(1001)를 통해 생성되거나, 획득한 데이터 중 적어도 하나를 저장할 수 있다. 메모리(1003)는 롬(ROM), 램(RAM), 하드디스크, CD-ROM 및 DVD 등과 같은 저장 매체 또는 저장 매체들의 조합으로 구성될 수 있다.
한편, 본 명세서와 도면에 개시된 본 개시의 실시 예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 즉 본 개시의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 개시의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상술된 각각의 실시 예는 필요에 따라 서로 조합되어 운용할 수 있다.
100: 랜섬웨어 데이터베이스
1000: 랜섬웨어 감지 장치

Claims (15)

  1. 랜섬웨어 감지 장치의 랜섬웨어 감지 방법에 있어서,
    애플리케이션을 획득하는 단계;
    상기 애플리케이션으로부터 코드 및 리소스 데이터를 획득하는 단계;
    상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계;
    상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기초하여 상기 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하는 단계를 포함하고,
    상기 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하는 단계는,
    상기 애플리케이션의 적어도 일부를 상기 랜섬웨어 데이터베이스에 저장하기 위해 변환하여 정규화된 데이터를 획득하는 단계;
    정규화된 데이터의 분류 가능 여부를 판단하는 단계; 및
    상기 분류 가능 여부 판단 결과에 기초하여 상기 정규화된 데이터를 랜섬웨어 데이터베이스에 저장하는 단계;를 포함하며,
    상기 정규화된 데이터의 분류 가능 여부를 판단하는 단계는,
    상기 랜섬웨어 데이터베이스 내에 상기 정규화된 데이터와 관련된 데이터가 생성 또는 저장되어 있는 경우 분류가 가능한 것으로 판단하는 단계; 및
    상기 랜섬웨어 데이터베이스 내에 상기 정규화된 데이터와 관련된 데이터가 생성 또는 저장되어 있지 않은 경우 분류가 가능하지 않은 것으로 판단하고, 상기 정규화된 데이터와 관련된 테이블을 생성하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계는,
    상기 분석 결과를 정규화된 데이터로 변환하는 단계; 및
    상기 정규화된 데이터를 시그니쳐 데이터베이스에 저장하는 단계;를 포함하며,
    상기 정규화된 데이터로 변환하는 단계는,
    상기 분석 결과에 대한 검증을 기초로 상기 분석 결과가 랜섬웨어 판단에 필요한 데이터인지 판단하는 단계; 및
    판단 결과에 기초하여 상기 분석 결과, 일부 데이터가 삭제된 분석 결과, 또는 새로운 데이터가 추가된 분석 결과를 포함하는 데이터 리스트를 생성하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 시그니쳐 데이터베이스에 저장하는 단계는,
    상기 애플리케이션의 정보 및 상기 애플리케이션이 실행되는 환경 정보를 함께 저장하는 것인, 방법.
  4. 제3항에 있어서,
    상기 애플리케이션의 정보는 상기 애플리케이션의 버전 정보 및 상기 애플리케이션의 업데이트 정보 중 적어도 하나를 포함하고,
    상기 환경 정보는 상기 애플리케이션이 실행되는 디바이스의 기기 정보, OS 정보 및 플랫폼 정보 중 적어도 하나를 포함하는 것인, 방법.
  5. 제2항에 있어서,
    상기 시그니쳐 데이터베이스 및 상기 랜섬웨어 데이터베이스는 주기적으로 업데이트 또는 동기화되며, 외부 서버에 저장되고,
    상기 외부 서버는 적어도 하나의 다른 디바이스들과 연결되는 것인, 방법.
  6. 제2항에 있어서,
    상기 판단 결과에 기초하여 상기 애플리케이션의 적어도 일부를 랜섬웨어 데이터베이스에 저장하는 단계는,
    상기 애플리케이션의 시스템 구조를 분석하여 랜섬웨어가 저장된 경로를 판단하고, 상기 판단된 경로에 따라 상기 애플리케이션에 포함된 랜섬웨어를 검출하고, 검출된 랜섬웨어를 저장하는 것인, 방법.
  7. 제1항에 있어서,
    상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계는,
    상기 코드 및 리소스 데이터에 포함된 텍스트 데이터를 수집하는 단계;
    상기 수집한 텍스트 데이터를 유형별로 분류하는 단계;
    상기 분류된 텍스트 데이터를 문자열로 변환하는 단계; 및
    상기 변환된 문자열과 상기 랜섬웨어 데이터베이스를 비교하는 단계;를 포함하는 방법.
  8. 제7항에 있어서,
    상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계는,
    상기 비교 결과에 기초하여, 의심 문자열이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 상기 애플리케이션을 랜섬웨어로 판단하는 것인, 방법.
  9. 제1항에 있어서,
    상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하는 단계는,
    상기 코드 및 리소스 데이터로부터, 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 단계; 및
    상기 애플리케이션이 요청하는 권한에 관한 정보와 상기 랜섬웨어 데이터베이스 내의 권한 리스트와 비교하는 단계;를 포함하는 방법.
  10. 제9항에 있어서,
    상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하는 단계는,
    상기 비교 결과에 기초하여, 의심 권한 요청이 상기 코드 및 리소스 데이터에 포함되어 있는 경우 상기 애플리케이션이 랜섬웨어로 판단하는 것인, 방법.
  11. 제9항에 있어서,
    상기 코드 및 리소스 데이터로부터, 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 단계는,
    상기 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수 또는 명령어를 소정의 기준에 따라 적어도 하나의 카테고리로 분류하고, 상기 적어도 하나의 카테고리에 기초하여 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 것인, 방법.
  12. 제9항에 있어서,
    상기 코드 및 리소스 데이터로부터, 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 단계는,
    상기 코드 및 리소스 데이터 내에 포함된 하나 이상의 함수에 기초하여 수행되는 태스크에 기초하여 상기 애플리케이션이 요청하는 권한에 관한 정보를 획득하는 것인, 방법.
  13. 제1항에 있어서,
    상기 애플리케이션으로부터 코드 및 리소스 데이터를 획득하는 단계는,
    상기 획득한 애플리케이션을 디컴파일함으로써, 상기 코드 및 리소스 데이터를 획득하는 것이고,
    상기 코드 및 리소스 데이터는 XML 파일, 매니페스트 파일, 자바 파일, 드로어블(Drawable) 파일 및 밉맵(Mipmap) 파일 중 적어도 하나를 포함하는 것인 방법.
  14. 제1항에 있어서,
    상기 방법은,
    상기 애플리케이션이 랜섬웨어로 판단되면, 이에 대한 판단 결과를 출력하는 단계; 및
    사용자 입력에 기초하여 상기 애플리케이션을 삭제하거나, 상기 애플리케이션이 랜섬웨어가 아닌 것으로 결정하는 단계;를 더 포함하는 방법.
  15. 적어도 하나의 메모리; 및
    상기 메모리에 전기적으로 연결된 적어도 하나의 프로세서;
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    애플리케이션을 획득하고, 상기 애플리케이션으로부터 코드 및 리소스 데이터를 획득하고, 상기 코드 및 리소스 데이터에 기초하여 상기 애플리케이션이 요청하는 권한, 상기 코드 및 리소스 데이터에 포함된 문자열을 분석하고, 상기 분석 결과에 기초하여 상기 애플리케이션이 랜섬웨어를 포함하는지 여부를 판단하고, 상기 판단 결과에 기초하여, 상기 애플리케이션의 적어도 일부를 변환한 정규화된 데이터를 획득하고, 정규화된 데이터의 분류 가능 여부에 따라 상기 정규화된 데이터를 랜섬웨어 데이터베이스에 저장하도록 구성되고,
    상기 적어도 하나의 프로세서는,
    상기 랜섬웨어 데이터베이스 내에 상기 정규화된 데이터와 관련된 데이터가 저장되어 있는 경우 상기 정규화된 데이터의 분류가 가능한 것으로 판단하고 상기 정규화된 데이터를 저장하고,
    상기 랜섬웨어 데이터베이스 내에 상기 정규화된 데이터와 관련된 데이터가 저장되어 있지 않은 경우 상기 정규화된 데이터의 분류가 불가능한 것으로 판단하고, 상기 정규화된 데이터를 저장하기 위한 테이블을 생성하는 랜섬웨어 감지 장치
KR1020200023892A 2020-02-26 2020-02-26 랜섬웨어 감지 방법 및 장치 KR102345016B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200023892A KR102345016B1 (ko) 2020-02-26 2020-02-26 랜섬웨어 감지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023892A KR102345016B1 (ko) 2020-02-26 2020-02-26 랜섬웨어 감지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210108811A KR20210108811A (ko) 2021-09-03
KR102345016B1 true KR102345016B1 (ko) 2021-12-29

Family

ID=77785137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023892A KR102345016B1 (ko) 2020-02-26 2020-02-26 랜섬웨어 감지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102345016B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886824B (zh) * 2021-09-29 2024-06-04 西安电子科技大学 安卓勒索软件检测防御方法、装置、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246623B1 (ko) * 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
US20180293379A1 (en) 2017-04-05 2018-10-11 Asher Dahan System and Method for Blocking Ransomware Infections

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102011725B1 (ko) * 2017-12-28 2019-08-19 숭실대학교산학협력단 악성코드 검출을 위한 화이트리스트 구축 방법 및 이를 수행하기 위한 기록매체 및 장치
KR102111556B1 (ko) * 2018-02-06 2020-05-15 한남대학교 산학협력단 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법
KR102058966B1 (ko) * 2018-02-26 2019-12-24 한국인터넷진흥원 악성 어플리케이션 탐지 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246623B1 (ko) * 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
US20180293379A1 (en) 2017-04-05 2018-10-11 Asher Dahan System and Method for Blocking Ransomware Infections

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Shivangi et al, "Enhancing RansomwareElite App for Detection of Ransomware in Android Applications", Proceedings of 2018 Eleventh International Conference on Contemporary Computing(2018.08.)

Also Published As

Publication number Publication date
KR20210108811A (ko) 2021-09-03

Similar Documents

Publication Publication Date Title
Spreitzenbarth et al. Mobile-Sandbox: combining static and dynamic analysis with machine-learning techniques
US10915659B2 (en) Privacy detection of a mobile application program
US11055410B2 (en) Malicious program identification based on program behavior
US10783254B2 (en) Systems and methods for risk rating framework for mobile applications
US9594904B1 (en) Detecting malware based on reflection
US9336389B1 (en) Rapid malware inspection of mobile applications
US9158919B2 (en) Threat level assessment of applications
CN110929264B (zh) 漏洞检测方法、装置、电子设备及可读存储介质
CN110119614B (zh) 检测浏览器扩展的隐藏行为的***和方法
CN112084497A (zh) 嵌入式Linux***恶意程序检测方法及装置
US11580220B2 (en) Methods and apparatus for unknown sample classification using agglomerative clustering
CN102867143A (zh) 一种恶意应用程序的快速过滤方法
Faruki et al. Droidanalyst: Synergic app framework for static and dynamic app analysis
Kapratwar Static and dynamic analysis for android malware detection
Alfalqi et al. Android platform malware analysis
Ren et al. MobiSentry: Towards easy and effective detection of android malware on smartphones
CN109818972B (zh) 一种工业控制***信息安全管理方法、装置及电子设备
KR20160090566A (ko) 유효마켓 데이터를 이용한 apk 악성코드 검사 장치 및 방법
KR102345016B1 (ko) 랜섬웨어 감지 방법 및 장치
KR20160031589A (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
CN112149126A (zh) 确定文件的信任级别的***和方法
Bokolo et al. Hybrid analysis based cross inspection framework for android malware detection
Ban et al. A Survey on IoT Vulnerability Discovery
Bashir et al. Hybrid machine learning model for malware analysis in android apps
CN109714371B (zh) 一种工控网络安全检测***

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right