KR101113249B1 - 난독화된 데이터 해독방법 및 장치 - Google Patents

난독화된 데이터 해독방법 및 장치 Download PDF

Info

Publication number
KR101113249B1
KR101113249B1 KR1020110093292A KR20110093292A KR101113249B1 KR 101113249 B1 KR101113249 B1 KR 101113249B1 KR 1020110093292 A KR1020110093292 A KR 1020110093292A KR 20110093292 A KR20110093292 A KR 20110093292A KR 101113249 B1 KR101113249 B1 KR 101113249B1
Authority
KR
South Korea
Prior art keywords
data
obfuscated data
obfuscated
obfuscation
dictionary
Prior art date
Application number
KR1020110093292A
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 KR1020110093292A priority Critical patent/KR101113249B1/ko
Application granted granted Critical
Publication of KR101113249B1 publication Critical patent/KR101113249B1/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 난독화된 데이터를 해독하는 방법 및 그에 사용되는 장치에 관한 것으로, 보다 구체적으로는 기존에 알려진 난독화 해석함수를 일일이 난독화된 데이터에 삽입하여 난독화된 데이터를 해독하는 방식에서 벗어나, 난독화된 데이터를 별도로 실행시킨 후 난독화된 데이터의 실행 프로세스에서 평문화된 데이터를 검색함으로써 난독화된 데이터를 빠르고 정확하게 해독할 수 있고, 난독화된 데이터의 실행에 있어서 별도의 가상환경을 이용하여 난독화된 데이터를 실행시킴으로써 난독화된 데이터의 실행과정에서 의도되지 않은 피해를 사전에 방지할 수 있으며, 난독화된 데이터의 탐지율을 높이면서, 아울러 난독화된 데이터의 실행으로 인해 평문화된 데이터가 완전히 해독된 것인지 여부를 정확하게 판단해낼 수 있는 난독화된 데이터 해독방법 및 장치에 관한 것이다.

Description

난독화된 데이터 해독방법 및 장치{An Apparatus and Method for deciphering obfuscated data}
본 발명은 난독화된 데이터를 해독하는 방법 및 그에 사용되는 장치에 관한 것으로, 보다 구체적으로는 기존에 알려진 난독화 해석함수를 일일이 난독화된 데이터에 삽입하여 난독화된 데이터를 해독하는 방식에서 벗어나, 난독화된 데이터를 별도로 실행시킨 후 난독화된 데이터의 실행 프로세스에서 평문화된 데이터를 검색함으로써 난독화된 데이터를 빠르고 정확하게 해독할 수 있고, 난독화된 데이터의 실행에 있어서 별도의 가상환경을 이용하여 난독화된 데이터를 실행시킴으로써 난독화된 데이터의 실행과정에서 의도되지 않은 피해를 사전에 방지할 수 있으며, 난독화된 데이터의 탐지율을 높이면서, 아울러 난독화된 데이터의 실행으로 인해 평문화된 데이터가 완전히 해독된 것인지 여부를 정확하게 판단해낼 수 있는 난독화된 데이터 해독방법 및 장치에 관한 것이다.
네트워크화되어 있는 인터넷과 같은 정보통신망이 발달함에 따라 웹사이트나 사용자의 PC와 같은 단말기에서는 항상 수없이 많은 데이터들이 정보통신망을 통해 다운로드되고 있는 실정이다.
최근, 기술의 무단복제를 방지하거나 또는 사용자의 의도와는 무관하게 보안장비 등에 의해 차단되지 않고 목적하는 웹사이트나 PC 등에 특정 데이터(일 예로, 특정 프로그램, 악성코드 등)를 다운로드시키기 위해 데이터를 난독화(즉, 소스코드나 프로그램 특정 코드의 일부 또는 전부를 난독화)하는 기법이 사용되고 있다.
종래에 이러한 난독화된 데이터를 해독하는 방식으로는 난독화된 데이터, 즉 난독화된 코드를 해석할 수 있는 함수를 난독화된 코드의 위험 스크립트 함수 앞에 삽입하여, 난독화된 코드가 실행되기 전에 난독화된 코드가 어떤 코드인지를 해독(확인)하는 작업을 수행하는 것이 일반적이었다.
그러나, 이러한 종래의 난독화 해독방법은 기 알려진 난독화 해석함수를 모두 저장하고 있어야 함은 물론, 이를 하나하나 난독화된 코드에 삽입,매칭시켜 해독작업을 수행해야 하는 번거로움을 안고 있는 문제가 있다.
또한, 이러한 종래의 난독화 해독방법은 기존에 알려지지 않은 새로운 난독화 기법이 사용된 경우나, 또는 저장하고 있는 난독화 해석함수에 대응되지 않는 난독화 기법이 사용되는 경우 등에 있어서는, 난독화 해독률이 떨어지는 문제가 있다.
즉, 종래와 같이 일일이 난독화된 코드 내에 기 알려진 난독화 해석함수를 삽입, 매칭시켜 난독화를 해독하는 방식은 작업이 번거롭고 해독시간이 많이 소요됨은 물론, 새로운 난독화 기법에는 대응이 늦어져 난독화 해독률이 떨어지는바, 위와 같은 문제를 해결할 수 있는 새로운 방식의 난독화 해독방법에 대한 필요가 높아지고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로,
본 발명의 목적은 기존에 알려진 난독화 해석함수를 일일이 난독화된 데이터에 삽입하여 난독화된 데이터를 해독하는 방식에서 벗어나, 난독화된 데이터를 별도로 실행시킨 후 난독화된 데이터의 실행 프로세스에서 평문화된 데이터를 검색함으로써 난독화된 데이터를 빠르고 정확하게 해독할 수 있는 방법 및 그 장치를 제공하고자 하는 것이다.
본 발명의 다른 목적은 난독화된 데이터의 실행에 있어서, 별도의 가상환경을 이용하여 난독화된 데이터를 실행시킴으로써 난독화된 데이터의 실행과정에서 의도되지 않은 피해를 사전에 방지할 수 있는 난독화된 데이터 해독방법 및 장치를 제공하고자 하는 것이다.
본 발명의 또 다른 목적은 난독화된 데이터의 탐지율을 높이면서, 아울러 난독화된 데이터의 실행으로 인해 평문화된 데이터가 완전히 해독된 것인지 여부를 정확하게 판단해낼 수 있는 난독화된 데이터 해독방법 및 장치를 제공하고자 하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 난독화된 데이터 해독방법 및 장치는 다음과 같은 구성을 포함한다.
본 발명의 일 실시예에 따른 난독화된 데이터 해독장치는 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 난독화탐지부; 상기 난독화탐지부에서 탐지한 난독화된 데이터를 실행하는 난독화실행부; 상기 난독화실행부에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 해독판단부;를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독장치에 있어서 상기 난독화탐지부는 난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제1탐지모듈과, 난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제2탐지모듈과, 난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제3탐지모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독장치에 있어서 상기 난독화실행부는 상기 난독화탐지부에서 탐지한 난독화된 데이터를 가상환경에서 실행시켜 분석하는 가상환경분석부를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독장치에 있어서 상기 해독판단부는 상기 가상환경분석부에서 실행된 평문화된 데이터를 검색하는 검색부와, 상기 검색부에서 검색한 평문화된 데이터를 분석하여 해독여부를 판단하는 판단부를 포함하며, 상기 검색부는 상기 가상환경분석부에서 실행되는 프로세스를 감시하여 난독화된 데이터가 실행되는 프로세스를 분별하는 프로세스감시모듈과, 상기 프로세스감시모듈에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 메모리감시모듈을 포함하고, 상기 판단부는 검색된 평문화된 데이터의 단어를 자바스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제1판단모듈과, 검색된 평문화된 데이터의 단어를 VB스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제2판단모듈과, 검색된 평문화된 데이터의 단어를 영문 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제3판단모듈과, 상기 제1, 2, 3판단모듈에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 통합판단모듈을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독장치에 있어서 상기 검색부는 상기 프로세스감시모듈이 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 저장하는 제1프로세스DB와, 상기 프로세스감시모듈이 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 저장하는 제2프로세스DB를 추가로 포함하여, 상기 프로세스감시모듈이 상기 제1, 2프로세스DB에 저장된 프로세스 리스트를 대비하여 난독화된 데이터가 실행되는 프로세스를 분별하고, 상기 판단부는 자바스크립트 사전, VB스크립트 사전, 영문 사전 데이터를 각각 저장하는 자바스크립트DB, VB스크립트DB, 영문DB를 추가로 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 난독화된 데이터 해독방법은 난독화탐지부를 통해 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 난독화탐지단계; 난독화실행부를 통해 상기 난독화탐지단계에서 탐지한 난독화된 데이터를 실행하는 난독화실행단계; 해독판단부를 통해 상기 난독화실행단계에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 해독판단단계;를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독방법에 있어서 상기 난독화탐지단계는 제1탐지모듈을 통해 난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제1탐지단계와, 제2탐지모듈을 통해 난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제2탐지단계와, 제3탐지모듈을 통해 난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제3탐지단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독방법에 있어서 상기 난독화실행단계는 가상환경분석부를 통해 상기 난독화탐지단계에서 탐지한 난독화된 데이터를 가상환경에서 실행시켜 분석하는 가상환경분석단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 난독화된 데이터 해독방법에 있어서 상기 해독판단단계는 프로세스감시모듈을 통해 상기 가상환경분석부에서 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 저장하는 제1프로세스DB와, 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 저장하는 제2프로세스DB에 저장된 프로세스 리스트를 대비하여 난독화된 데이터가 실행되는 프로세스를 분별하는 프로세스감시단계와; 메모리감시모듈을 통해 상기 프로세스감시단계에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 메모리감시단계와; 제1판단모듈을 통해 상기 메모리감시단계에서 검색된 평문화된 데이터의 단어를 자바스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제1판단단계와; 제2판단모듈을 통해 상기 메모리감시단계에서 검색된 평문화된 데이터의 단어를 VB스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제2판단단계와; 제3판단모듈을 통해 상기 메모리감시단계에서 검색된 평문화된 데이터의 단어를 영문 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제3판단단계와; 통합판단모듈을 통해 상기 제1, 2, 3판단단계에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 통합판단단계;를 포함하는 것을 특징으로 한다.
본 발명은 앞서 본 실시예와 하기에 설명할 구성과 결합, 사용관계에 의해 다음과 같은 효과를 얻을 수 있다.
본 발명은 기존에 알려진 난독화 해석함수를 일일이 난독화된 데이터에 삽입하여 난독화된 데이터를 해독하는 방식에서 벗어나, 난독화된 데이터를 별도로 실행시킨 후 난독화된 데이터의 실행 프로세스에서 평문화된 데이터를 검색함으로써 난독화된 데이터를 빠르고 정확하게 해독할 수 있는 효과를 갖는다.
본 발명은 난독화된 데이터의 실행에 있어서, 별도의 가상환경을 이용하여 난독화된 데이터를 실행시킴으로써 난독화된 데이터의 실행과정에서 의도되지 않은 피해를 사전에 방지할 수 있는 효과를 갖는다.
본 발명은 난독화된 데이터의 탐지율을 높이면서, 아울러 난독화된 데이터의 실행으로 인해 평문화된 데이터가 완전히 해독된 것인지 여부를 정확하게 판단해낼 수 있는 효과를 갖는다.
도 1은 본 발명에 따른 난독화된 데이터 해독방법의 개념도
도 2는 본 발명의 일 실시예에 따른 난독화된 데이터 해독장치의 구성도
도 3은 도 2의 각 구성들을 기능적으로 나타낸 참고도
도 4는 본 발명의 일 실시예에 따른 난독화된 데이터 해독방법의 단계를 도시한 블럭도
도 5는 도 4의 해독판단단계가 수행되는 과정을 구체적으로 도시한 참고도
이하에서는 본 발명에 따른 난독화된 데이터 해독방법 및 장치의 바람직한 실시예들을 첨부된 도면을 참조하여 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하도록 한다.
도 1은 본 발명에 따른 난독화된 데이터 해독방법의 개념도이고, 도 2는 본 발명의 일 실시예에 따른 난독화된 데이터 해독장치의 구성도이고, 도 3은 도 2의 각 구성들을 기능적으로 나타낸 참고도이고, 도 4는 본 발명의 일 실시예에 따른 난독화된 데이터 해독방법의 단계를 도시한 블럭도이고, 도 5는 도 4의 해독판단단계가 수행되는 과정을 구체적으로 도시한 참고도이다. 먼저, 본 발명에 따른 난독화된 데이터 해독장치에 대해 설명한 후, 이를 이용한 해독방법에 대해 설명하도록 한다. 참고로, 본 발명에서 사용하고 있는 '난독화된 데이터'란 용어는 구체적으로는 난독화된 소스코드나 난독화된 프로그램 등을 통칭하는 의미로 사용된 것이다.
도 1 내지 5를 참조하면, 본 발명의 일 실시예에 따른 난독화된 데이터 해독장치는 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 난독화탐지부(10); 상기 난독화탐지부(10)에서 탐지한 난독화된 데이터를 실행하는 난독화실행부(30); 상기 난독화실행부(30)에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 해독판단부(50);를 포함할 수 있다.
상기 난독화탐지부(10)는 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 구성으로, 사용자의 PC 등에 다운로드 되는 프로그램의 특정 코드나 웹페이지의 소스코드 등과 같은 데이터에 난독화된 데이터가 포함되어 있는지 여부를 사전에 탐지하여, 만약 난독화된 데이터가 탐지되는 경우에는 이를 신속하게 해독할 수 있게 하기 위한 전제가 되는 구성이다. 이를 위해 상기 난독화탐지부(10)는 난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제1탐지모듈(11)과, 난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제2탐지모듈(12)과, 난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제3탐지모듈(13)을 포함할 수 있다.
상기 제1탐지모듈(11)은 난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 부분으로, 주로 자바스크립트를 이용하여 특정코드나 소스코드를 난독화시키는 데이터에서는 eval, replace, fromCharCode 등과 같은 특정 함수를 사용하여 난독화된 문자열을 평문화하는 부분이 포함되기 때문에, 이러한 특징을 이용하여 난독화된 데이터에서 위와 같은 예들의 특정함수가 포함되어 있는지 여부를 검색하는 것으로 난독화된 데이터인지 여부를 판별하게 되면 보다 쉽고 빠르게 난독화된 데이터를 탐지할 수 있게 된다.
상기 제2탐지모듈(12)은 난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 부분으로, 주로 자바스크립트를 이용하여 특정코드나 소스코드를 난독화시키는 데이터에서는 하나의 문자열을 나누어 사용하거나 단일 문자열의 길이를 줄여 차후에 '+'연산을 통해 결합시키는 방식이 존재하기 때문에, 이러한 특징을 이용하여 난독화된 데이터에서 위와 같은 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하는 것으로 난독화된 데이터인지 여부를 판별하게 되면 보다 쉽고 빠르게 난독화된 데이터를 탐지할 수 있게 된다.
상기 제3탐지모듈(13)은 난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 부분으로, 특정코드나 소스코드를 난독화시키는 작업이 수행된 이후에는 기존의 문자열보다 난독화 이후 문자열의 길이가 증가하는 경우가 일반적이므로, 이러한 특징을 이용하여 난독화된 데이터에서 위와 같은 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하는 것으로 난독화된 데이터인지 여부를 판별하게 되면 보다 쉽고 빠르게 난독화된 데이터를 탐지할 수 있게 된다.
따라서, 본 발명에서 상기 난독화탐지부(10)는 위와 같은 제1탐지모듈(11), 제2탐지모듈(12), 제3탐지모듈(13)을 포함하여, 상기 제1탐지모듈(11), 제2탐지모듈(12), 제3탐지모듈(13) 중 하나 이상에서 난독화된 데이터를 판별하게 되면 이를 난독화된 데이터로 탐지함으로써 난독화된 데이터를 쉽고 빠르게 탐지할 수 있게 된다.
상기 난독화실행부(30)는 상기 난독화탐지부(10)에서 탐지한 난독화된 데이터를 실행하는 구성으로, 앞서 종래기술의 문제점 및 본 발명의 목적에서 설명한 바와 같이, 종래와 같은 난독화된 코드 내에 일일이 기 알려진 난독화 해석함수를 삽입, 매칭시켜 난독화를 해독하는 방식은 작업이 번거롭고 해독시간이 많이 소요됨은 물론, 새로운 난독화 기법에는 대응이 늦어져 난독화 해독률이 떨어지는 문제점이 있었던바, 본 발명은 기존에 알려진 난독화 해석함수를 일일이 난독화된 데이터에 삽입하여 난독화된 데이터를 해독하는 방식에서 벗어나, 난독화된 데이터를 별도로 실행시킨 후 난독화된 데이터의 실행 프로세스에서 평문화된 데이터를 검색함으로써 난독화된 데이터를 빠르고 정확하게 해독할 수 있게 하는 새로운 방식을 제시하고자 하는 것인바, 이와 같은 기술적 특징을 구현하기 위해 상기 난독화실행부(30)는 난독화탐지부(10)에서 탐지한 난독화된 데이터를 실제 실행시키게 된다. 이를 위해 상기 난독화실행부(30)는 상기 난독화탐지부(10)에서 탐지한 난독화된 데이터를 가상환경에서 실행시켜 분석하는 가상환경분석부(31)를 포함할 수 있다.
상기 가상환경분석부(31)는 난독화된 데이터가 다운로드되어 실제 실행되어질 PC 등과 동일한 환경을 갖춘 별도의 가상환경을 이용하여 난독화된 데이터를 실행시킴으로써, 난독화된 데이터의 실행과정에서 의도되지 않은 피해를 사전에 방지할 수 있게 하기 위한 구성이다. 즉, 난독화된 데이터가 실행되는 과정에서 난독화된 데이터 내에 악성코드 등이 포함되어 있는 경우라면, 그 실행에 따라 PC가 악성코드에 감염되는 등의 피해가 발생할 우려가 있기 때문에, 위와 같이 별도의 가상환경에서 난독화된 데이터를 실행시킴으로써 그러한 피해를 방지할 수 있게 된다.
상기 해독판단부(50)는 상기 난독화실행부(30)에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 구성으로, 앞서 설명한 바와 같이 상기 난독화실행부(30), 보다 구체적으로는 가상환경분석부(31)에서 난독화된 데이터가 실행되게 되면 실행 이후에는 데이터가 평문화되어져 평문화된 데이터로 존재하게 되는데, 상기 해독판단부(50)에서는 이러한 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하게 된다. 이를 위해 상기 해독판단부(50)는 상기 가상환경분석부에서 실행된 평문화된 데이터를 검색하는 검색부(51)와, 상기 검색부(51)에서 검색한 평문화된 데이터를 분석하여 해독여부를 판단하는 판단부(52)를 포함할 수 있다.
상기 검색부(51)는 상기 가상환경분석부에서 실행된 평문화된 데이터를 검색하는 구성으로, 보다 세부적으로는 상기 가상환경분석부(31)에서 실행되는 프로세스를 감시하여 난독화된 데이터가 실행되는 프로세스를 분별하는 프로세스감시모듈(511)과, 상기 프로세스감시모듈(511)에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 메모리감시모듈(512)을 포함할 수 있다.
상기 프로세스감시모듈(511)은 상기 가상환경분석부(31)에서 실행되는 프로세스를 감시하여 난독화된 데이터가 실행되는 프로세스를 분별하는 구성으로, 구체적으로 상기 프로세스감시모듈(511)은 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 제1프로세스DB(513)에 별도로 저장시키고, 또한 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 제2프로세스DB(514)에 역시 저장한 후, 상기 제1프로세스DB(513) 및 제2프로세스DB(514)에 각각 저장된 프로세스 리스트 양자를 대비하여 제1프로세스DB(513)의 리스트에 없던 새로운 프로세스가 제2프로세스DB(514)의 리스트에 나타나면 이를 난독화된 데이터가 실행되는 프로세스로 분별하게 된다. 상기 프로세스감시모듈(511)이 위와 같은 방식을 사용하여 분별하게 되면, 가상환경분석부(31)에서 실행되는 모든 프로세스에 대한 메모리 검사를 수행하지 않게 됨으로써 보다 신속하고 정확한 분별이 가능하게 된다.
상기 메모리감시모듈(512)은 상기 프로세스감시모듈(511)에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 구성으로, 앞서 설명한 바와 같이 상기 프로세스감시모듈(511)이 난독화된 데이터가 실행되는 프로세스만을 정확하게 분별해내게 되면, 상기 메모리감시모듈(512)은 가상환경의 모든 메모리 영역을 검사할 필요없이 난독화된 데이터의 실행 프로세스의 메모리 영역만을 검사하여 실행 후 평문화된 데이터를 검색함으로써 신속하고 정확하게 평문화된 데이터를 찾아낼 수 있게 된다.
상기 판단부(52)는 상기 검색부(51)에서 검색한 평문화된 데이터를 분석하여 해독여부를 판단하는 구성으로, 보다 세부적으로는 검색된 평문화된 데이터의 단어를 자바스크립트DB(525)의 자바스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제1판단모듈(521)과, 검색된 평문화된 데이터의 단어를 VB스크립트DB(526)의 VB스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제2판단모듈(522)과, 검색된 평문화된 데이터의 단어를 영문DB(527)의 영문 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제3판단모듈(523)과, 상기 제1, 2, 3판단모듈에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 통합판단모듈(524)을 포함할 수 있다.
상기 제1판단모듈(521)은 상기 검색부(51), 보다 구체적으로는 상기 메모리감시모듈(512)에서 검색된 평문화된 데이터를 각 단어별로 세분하여 각각의 단어를 자바스크립트DB(525)의 자바스크립트 사전에 등록되어 있는 단어와 비교하여, 사전에 등록되어 있는 단어와의 일치비율을 환산하게 되는데, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터는 대부분 자바스크립트를 사용한 것일 것이므로 문자열의 단어가 자바스크립트 사전에 등록된 명령어, 변수명, 함수명 등과 일치되는 비율이 높아지게 될 것이어서, 상기 제1판단모듈(521)은 그 일치비율을 환산하게 된다.
상기 제2판단모듈(522)은 상기 검색부(51), 보다 구체적으로는 상기 메모리감시모듈(512)에서 검색된 평문화된 데이터를 각 단어별로 세분하여 각각의 단어를 VB스크립트DB(526)의 VB스크립트 사전에 등록되어 있는 단어와 비교하여, 사전에 등록되어 있는 단어와의 일치비율을 환산하게 되는데, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터에는 VB스크립트를 사용하여 작성된 것도 있을 수 있으므로 그러한 경우 문자열의 단어가 VB스크립트 사전에 등록된 명령어, 변수명, 함수명 등과 일치되는 비율이 높아지게 될 것이어서, 상기 제2판단모듈(522)은 그 일치비율을 환산하게 된다.
상기 제3판단모듈(523)은 상기 검색부(51), 보다 구체적으로는 상기 메모리감시모듈(512)에서 검색된 평문화된 데이터를 각 단어별로 세분하여 각각의 단어를 영문DB(527)의 영문 사전에 등록되어 있는 단어와 비교하여, 사전에 등록되어 있는 단어와의 일치비율을 환산하게 되는데, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터에는 영어가 사용되어 있기 때문에 상기 제3판단모듈(523)에서는 평문화된 문자열의 단어가 영문 사전에 등록된 영어 단어와 일치되는 비율을 환산하게 된다.
상기 통합판단모듈(524)은 상기 제1판단모듈(521), 제2판단모듈(522) 및 제3판단모듈(523)에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 구성으로, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터의 문자열의 단어들은 대부분 자바스크립트나 VB스크립트 사전에 등록된 명령어, 변수명, 함수명 등이나 영문 사전의 영어 단어와 일치될 것이므로, 상기 통합판단모듈(524)은 상기 제1판단모듈(521), 제2판단모듈(522) 및 제3판단모듈(523)에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치(통상, 90~95%) 이상인 경우를 난독화된 데이터의 해독이 완전하게 이루어진 것으로 판단하여, 해당 평문화된 데이터를 수요가 있는 곳에 전송하게 된다. 결국, 위와 같은 해독판단부(50)의 구체적인 구성들에 의한 해독판단과정은 난독화된 데이터의 실행으로 인해 평문화된 데이터가 완전히 해독된 것인지 여부를 정확하게 판단해낼 수 있는 특징을 갖게 된다. 참고로, 본 발명에서는 상기 제1,2,3판단모듈(521,522,523) 및 자바스크립트사전, VB스크립트사전, 영문사전을 구체적인 예시로 설명하고 있으나, 필요에 따라 추가적인 사전 및 이를 이용한 추가적인 판단모듈이 상기 판단부(52)에 추가로 포함될 수 있음을 배제하는 것은 아니다.
이하에서는, 위에서 설명한 본 발명의 난독화된 데이터 해독장치를 이용한 난독화된 데이터 해독방법의 구체적인 과정에 대해 설명하도록 한다.
본 발명의 일 실시예에 따른 난독화된 데이터 해독방법은 난독화탐지부(10)를 통해 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 난독화탐지단계(S1); 난독화실행부(30)를 통해 상기 난독화탐지단계(S1)에서 탐지한 난독화된 데이터를 실행하는 난독화실행단계(S3); 해독판단부(50)를 통해 상기 난독화실행단계(S3)에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 해독판단단계(S5);를 포함한다.
상기 난독화탐지단계(S1)는 난독화탐지부(10)를 통해 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 과정으로, 보다 구체적으로 상기 난독화탐지단계(S1)는 제1탐지모듈(11)을 통해 난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제1탐지단계(S11)와, 제2탐지모듈(12)을 통해 난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제2탐지단계(S12)와, 제3탐지모듈(13)을 통해 난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제3탐지단계(S13)를 포함할 수 있다.
상기 제1탐지단계(S11)는 주로 자바스크립트를 이용하여 특정코드나 소스코드를 난독화시키는 데이터에서는 eval, replace, fromCharCode 등과 같은 특정 함수를 사용하여 난독화된 문자열을 평문화하는 부분이 포함되는 특징을 이용하여, 난독화된 데이터에서 위와 같은 예들의 특정함수가 포함되어 있는지 여부를 검색하는 과정으로, 이러한 과정을 통해 난독화된 데이터인지 여부를 판별하게 되면 보다 쉽고 빠르게 난독화된 데이터를 탐지할 수 있게 된다.
상기 제2탐지단계(S12)는 주로 자바스크립트를 이용하여 특정코드나 소스코드를 난독화시키는 데이터에서는 하나의 문자열을 나누어 사용하거나 단일 문자열의 길이를 줄여 차후에 '+'연산을 통해 결합시키는 방식이 존재하는 특징을 이용하여, 난독화된 데이터에서 위와 같은 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하는 과정으로, 이러한 과정을 통해 난독화된 데이터인지 여부를 판별하게 되면 보다 쉽고 빠르게 난독화된 데이터를 탐지할 수 있게 된다.
상기 제3탐지단계(S13)는 특정코드나 소스코드를 난독화시키는 작업이 수행된 이후에는 기존의 문자열보다 난독화 이후 문자열의 길이가 증가하는 경우가 일반적인 특징을 이용하여, 난독화된 데이터에서 위와 같은 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하는 과정으로, 이러한 과정을 통해 난독화된 데이터인지 여부를 판별하게 되면 보다 쉽고 빠르게 난독화된 데이터를 탐지할 수 있게 된다.
상기 난독화실행단계(S3)는 난독화실행부(30)를 통해 상기 난독화탐지단계(S1)에서 탐지한 난독화된 데이터를 실행하는 과정으로, 보다 구체적으로 상기 난독화실행단계(S3)는 가상환경분석부(31)를 통해 상기 난독화탐지단계(S1)에서 탐지한 난독화된 데이터를 가상환경에서 실행시켜 분석하는 가상환경분석단계(S31)를 포함할 수 있다.
상기 가상환경분석단계(S31)는 난독화된 데이터가 다운로드되어 실제 실행되어질 PC 등과 동일한 환경을 갖춘 별도의 가상환경을 이용하여 난독화된 데이터를 실행시킴으로써, 난독화된 데이터의 실행과정에서 의도되지 않은 피해를 사전에 방지할 수 있게 하기 위한 과정으로, 만약 난독화된 데이터가 실행되는 과정에서 난독화된 데이터 내에 악성코드 등이 포함되어 있는 경우라면, 그 실행에 따라 PC가 악성코드에 감염되는 등의 피해가 발생할 우려가 있기 때문에, 위와 같이 별도의 가상환경에서 난독화된 데이터를 실행시킴으로써 그러한 피해를 방지할 수 있게 된다.
상기 해독판단단계(S5)는 해독판단부(50)를 통해 상기 난독화실행단계(S3)에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 과정으로, 보다 구체적으로 상기 해독판단단계(S5)는 프로세스감시모듈(511)을 통해 상기 가상환경분석부(31)에서 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 저장하는 제1프로세스DB(513)와, 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 저장하는 제2프로세스DB(514)에 저장된 프로세스 리스트를 대비하여 난독화된 데이터가 실행되는 프로세스를 분별하는 프로세스감시단계(S51)와; 메모리감시모듈(512)을 통해 상기 프로세스감시단계(S51)에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 메모리감시단계(S52)와; 제1판단모듈(521)을 통해 상기 메모리감시단계(S52)에서 검색된 평문화된 데이터의 단어를 자바스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제1판단단계(S53)와; 제2판단모듈(522)을 통해 상기 메모리감시단계(S52)에서 검색된 평문화된 데이터의 단어를 VB스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제2판단단계(S54)와; 제3판단모듈(523)을 통해 상기 메모리감시단계(S52)에서 검색된 평문화된 데이터의 단어를 영문 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제3판단단계(S55)와; 통합판단모듈(524)을 통해 상기 제1, 2, 3판단단계(S53,S54,S55)에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 통합판단단계(S56);를 포함할 수 있다.
상기 프로세스감시단계(S51)는 구체적으로 상기 프로세스감시모듈(511)이 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 제1프로세스DB(513)에 별도로 저장시키고, 또한 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 제2프로세스DB(514)에 역시 저장한 후, 상기 제1프로세스DB(513) 및 제2프로세스DB(514)에 각각 저장된 프로세스 리스트 양자를 대비하여 제1프로세스DB(513)의 리스트에 없던 새로운 프로세스가 제2프로세스DB(514)의 리스트에 나타나면 이를 난독화된 데이터가 실행되는 프로세스로 분별하는 과정이다. 상기 프로세스감시모듈(511)이 위와 같은 방식을 사용하여 분별하게 되면, 가상환경분석부(31)에서 실행되는 모든 프로세스에 대한 메모리 검사를 수행하지 않게 됨으로써 보다 신속하고 정확한 분별이 가능하게 된다.
상기 메모리감시단계(S52)는 앞서 설명한 바와 같이 상기 프로세스감시단계(S51)에서 상기 프로세스감시모듈(511)이 난독화된 데이터가 실행되는 프로세스만을 정확하게 분별해내게 되면, 상기 메모리감시단계(S52)에서는 상기 메모리감시모듈(512)이 가상환경의 모든 메모리 영역을 검사할 필요없이, 난독화된 데이터의 실행 프로세스의 메모리 영역만을 검사하여 실행 후 평문화된 데이터를 검색함으로써, 신속하고 정확하게 평문화된 데이터를 찾아낼 수 있게 된다.
상기 제1판단단계(S53)는 상기 검색부(51), 보다 구체적으로는 상기 메모리감시모듈(512)에서 검색된 평문화된 데이터를 각 단어별로 세분하여 각각의 단어를 자바스크립트DB(525)의 자바스크립트 사전에 등록되어 있는 단어와 비교하여, 사전에 등록되어 있는 단어와의 일치비율을 환산하게 되는 과정으로, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터는 대부분 자바스크립트를 사용한 것일 것이므로 문자열의 단어가 자바스크립트 사전에 등록된 명령어, 변수명, 함수명 등과 일치되는 비율이 높아지게 될 것이어서, 상기 제1판단단계(S53)에서는 상기 제1판단모듈(521)을 통해 그 일치비율을 환산하게 된다.
상기 제2판단단계(S54)는 상기 검색부(51), 보다 구체적으로는 상기 메모리감시모듈(512)에서 검색된 평문화된 데이터를 각 단어별로 세분하여 각각의 단어를 VB스크립트DB(526)의 VB스크립트 사전에 등록되어 있는 단어와 비교하여, 사전에 등록되어 있는 단어와의 일치비율을 환산하게 되는 과정으로, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터에는 VB스크립트를 사용하여 작성된 것도 있을 수 있으므로 그러한 경우 문자열의 단어가 VB스크립트 사전에 등록된 명령어, 변수명, 함수명 등과 일치되는 비율이 높아지게 될 것이어서, 상기 제2판단단계(S54)에서는 상기 제2판단모듈(522)을 통해 그 일치비율을 환산하게 된다.
상기 제3판단단계(S55)는 상기 검색부(51), 보다 구체적으로는 상기 메모리감시모듈(512)에서 검색된 평문화된 데이터를 각 단어별로 세분하여 각각의 단어를 영문DB(527)의 영문 사전에 등록되어 있는 단어와 비교하여, 사전에 등록되어 있는 단어와의 일치비율을 환산하게 되는 과정으로, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터에는 영어가 사용되어 있기 때문에 상기 제3판단단계(S55)에서는 상기 제3판단모듈(523)을 통해 평문화된 문자열의 단어가 영문 사전에 등록된 영어 단어와 일치되는 비율을 환산하게 된다.
상기 통합판단단계(S56)는 상기 제1판단단계(S53), 제2판단단계(S54) 및 제3판단단계(S55)에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 과정으로, 난독화된 데이터가 평문화된 데이터로 완전하게 해독되었다면 평문화된 데이터의 문자열의 단어들은 대부분 자바스크립트나 VB스크립트 사전에 등록된 명령어, 변수명, 함수명 등이나 영문 사전의 영어 단어와 일치될 것이므로, 상기 통합판단단계(S56)에서는 상기 통합판단모듈(524)을 통해 상기 상기 제1판단단계(S53), 제2판단단계(S54) 및 제3판단단계(S55)에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치(통상, 90~95%) 이상인 경우를 난독화된 데이터의 해독이 완전하게 이루어진 것으로 판단하여, 해당 평문화된 데이터를 수요가 있는 곳에 전송하게 된다.
이상에서, 출원인은 본 발명의 바람직한 실시예들을 설명하였지만, 이와 같은 실시예들은 본 발명의 기술적 사상을 구현하는 일 실시예일 뿐이며 본 발명의 기술적 사상을 구현하는 한 어떠한 변경예 또는 수정예도 본 발명의 범위에 속하는 것으로 해석되어야 한다.
10: 난독화탐지부
11: 제1탐지모듈 12: 제2탐지모듈 13: 제3탐지모듈
30: 난독화실행부 31: 가상환경분석부
50: 해독판단부
51: 검색부 511: 프로세스감시모듈 512: 메모리감시모듈
513: 제1프로세스DB 514: 제2프로세스DB
52: 판단부 521: 제1판단모듈 522: 제2판단모듈
523: 제3판단모듈 524: 통합판단모듈
525: 자바스크립트DB 526: VB스크립트DB 527: 영문DB

Claims (9)

  1. 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 난독화탐지부;
    상기 난독화탐지부에서 탐지한 난독화된 데이터를 실행하는 난독화실행부;
    상기 난독화실행부에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 해독판단부;를 포함하며,
    상기 난독화실행부는 상기 난독화탐지부에서 탐지한 난독화된 데이터를 가상환경에서 실행시켜 분석하는 가상환경분석부를 포함하며,
    상기 해독판단부는 상기 가상환경분석부에서 실행된 평문화된 데이터를 검색하는 검색부와, 상기 검색부에서 검색한 평문화된 데이터를 분석하여 해독여부를 판단하는 판단부를 포함하며,
    상기 검색부는 상기 가상환경분석부에서 실행되는 프로세스를 감시하여 난독화된 데이터가 실행되는 프로세스를 분별하는 프로세스감시모듈과, 상기 프로세스감시모듈에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 메모리감시모듈을 포함하고,
    상기 판단부는 검색된 평문화된 데이터의 단어를 자바스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제1판단모듈과, 검색된 평문화된 데이터의 단어를 VB스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제2판단모듈과, 검색된 평문화된 데이터의 단어를 영문 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제3판단모듈과, 상기 제1, 2, 3판단모듈에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 통합판단모듈을 포함하는 것을 특징으로 하는 난독화된 데이터 해독장치.
  2. 제 1 항에 있어서, 상기 난독화탐지부는
    난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제1탐지모듈과,
    난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제2탐지모듈과,
    난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제3탐지모듈을 포함하는 것을 특징으로 하는 난독화된 데이터 해독장치.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 검색부는 상기 프로세스감시모듈이 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 저장하는 제1프로세스DB와, 상기 프로세스감시모듈이 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 저장하는 제2프로세스DB를 추가로 포함하여, 상기 프로세스감시모듈이 상기 제1, 2프로세스DB에 저장된 프로세스 리스트를 대비하여 난독화된 데이터가 실행되는 프로세스를 분별하고,
    상기 판단부는 자바스크립트 사전, VB스크립트 사전, 영문 사전 데이터를 각각 저장하는 자바스크립트DB, VB스크립트DB, 영문DB를 추가로 포함하는 것을 특징으로 하는 난독화된 데이터 해독장치.
  6. 난독화탐지부를 통해 난독화된 데이터가 포함되어 있는지 여부를 탐지하는 난독화탐지단계;
    난독화실행부를 통해 상기 난독화탐지단계에서 탐지한 난독화된 데이터를 실행하는 난독화실행단계;
    해독판단부를 통해 상기 난독화실행단계에서 실행된 평문화된 데이터를 검색하고 이를 분석하여 해독여부를 판단하는 해독판단단계;를 포함하며,
    상기 난독화실행단계는 가상환경분석부를 통해 상기 난독화탐지단계에서 탐지한 난독화된 데이터를 가상환경에서 실행시켜 분석하는 가상환경분석단계를 포함하며,
    상기 해독판단단계는
    프로세스감시모듈을 통해 상기 가상환경분석부에서 난독화된 데이터가 실행되기 전 감시한 프로세스 리스트를 저장하는 제1프로세스DB와, 난독화된 데이터가 실행된 이후 감시한 프로세스 리스트를 저장하는 제2프로세스DB에 저장된 프로세스 리스트를 대비하여 난독화된 데이터가 실행되는 프로세스를 분별하는 프로세스감시단계와;
    메모리감시모듈을 통해 상기 프로세스감시단계에서 판별된 난독화 데이터 실행 프로세스의 메모리 영역을 검사하여 평문화된 데이터를 검색하는 메모리감시단계와;
    제1판단모듈을 통해 상기 메모리감시단계에서 검색된 평문화된 데이터의 단어를 자바스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제1판단단계와;
    제2판단모듈을 통해 상기 메모리감시단계에서 검색된 평문화된 데이터의 단어를 VB스크립트 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제2판단단계와;
    제3판단모듈을 통해 상기 메모리감시단계에서 검색된 평문화된 데이터의 단어를 영문 사전에 등록되어 있는 단어와 비교하여 사전에 등록되어 있는 단어와의 일치비율을 환산하는 제3판단단계와;
    통합판단모듈을 통해 상기 제1, 2, 3판단단계에서 각각 환산된 비율을 합산하여 합산된 비율이 임계치 이상인 경우를 해독된 것으로 판단하는 통합판단단계;를 포함하는 것을 특징으로 하는 난독화된 데이터 해독방법.
  7. 제 6 항에 있어서, 상기 난독화탐지단계는
    제1탐지모듈을 통해 난독화된 데이터에 특정함수가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제1탐지단계와,
    제2탐지모듈을 통해 난독화된 데이터에 열병합 연산자 '+'가 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제2탐지단계와,
    제3탐지모듈을 통해 난독화된 데이터에 일정 길이 이상의 문자열이 포함되어 있는지 여부를 검색하여 난독화된 데이터를 탐지하는 제3탐지단계를 포함하는 것을 특징으로 하는 난독화된 데이터 해독방법.
  8. 삭제
  9. 삭제
KR1020110093292A 2011-09-16 2011-09-16 난독화된 데이터 해독방법 및 장치 KR101113249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110093292A KR101113249B1 (ko) 2011-09-16 2011-09-16 난독화된 데이터 해독방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110093292A KR101113249B1 (ko) 2011-09-16 2011-09-16 난독화된 데이터 해독방법 및 장치

Publications (1)

Publication Number Publication Date
KR101113249B1 true KR101113249B1 (ko) 2012-02-20

Family

ID=45840268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110093292A KR101113249B1 (ko) 2011-09-16 2011-09-16 난독화된 데이터 해독방법 및 장치

Country Status (1)

Country Link
KR (1) KR101113249B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102286451B1 (ko) 2020-11-18 2021-08-04 숭실대학교산학협력단 자연어 처리 기반 난독화된 식별자 인식 방법, 이를 수행하기 위한 기록 매체 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010749A (ko) * 2008-07-23 2010-02-02 한국전자통신연구원 난독화된 악성 웹페이지 탐지 방법 및 장치
KR101060639B1 (ko) * 2010-12-21 2011-08-31 한국인터넷진흥원 자바스크립트 난독화 강도 분석을 통한 악성 의심 웹사이트 탐지 시스템 및 그 탐지방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100010749A (ko) * 2008-07-23 2010-02-02 한국전자통신연구원 난독화된 악성 웹페이지 탐지 방법 및 장치
KR101060639B1 (ko) * 2010-12-21 2011-08-31 한국인터넷진흥원 자바스크립트 난독화 강도 분석을 통한 악성 의심 웹사이트 탐지 시스템 및 그 탐지방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102286451B1 (ko) 2020-11-18 2021-08-04 숭실대학교산학협력단 자연어 처리 기반 난독화된 식별자 인식 방법, 이를 수행하기 위한 기록 매체 및 장치

Similar Documents

Publication Publication Date Title
US10891378B2 (en) Automated malware signature generation
CN108280350B (zh) 一种面向Android的移动网络终端恶意软件多特征检测方法
CN109525556B (zh) 一种用于确定嵌入式系统固件中协议漏洞的轻量级方法及系统
CN110443045B (zh) 一种基于机器学习方法的模糊测试用例生成方法
US20150205960A1 (en) Method of detecting a malware based on a white list
US20070152854A1 (en) Forgery detection using entropy modeling
CN114077741B (zh) 软件供应链安全检测方法和装置、电子设备及存储介质
US20120159625A1 (en) Malicious code detection and classification system using string comparison and method thereof
US20170061126A1 (en) Process Launch, Monitoring and Execution Control
KR100870140B1 (ko) 악성 코드가 숨겨진 파일 탐지 장치 및 방법
CN111488590A (zh) 一种基于用户行为可信分析的sql注入检测方法
CN114386032A (zh) 电力物联网设备的固件检测系统及方法
CN108268773B (zh) Android应用升级包本地存储安全性检测方法
CN113158197B (zh) 一种基于主动iast的sql注入漏洞检测方法、系统
KR20100073126A (ko) 실행압축 특성을 이용한 악성코드 탐지장치 및 그 방법
CN105791250B (zh) 应用程序检测方法及装置
Ladisa et al. Towards the detection of malicious java packages
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
KR20160090566A (ko) 유효마켓 데이터를 이용한 apk 악성코드 검사 장치 및 방법
CN110287722B (zh) iOS应用中用于隐私条例检查的敏感权限提取方法
KR101113249B1 (ko) 난독화된 데이터 해독방법 및 장치
Ravula et al. Learning attack features from static and dynamic analysis of malware
Hassan et al. Android malware variant detection by comparing traditional antivirus
Sufatrio et al. Accurate specification for robust detection of malicious behavior in mobile environments
CN114741692A (zh) 一种后门流量识别的方法、系统、设备及可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150203

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200122

Year of fee payment: 9