KR102036847B1 - 런타임 특징 프로파일링 방법 - Google Patents

런타임 특징 프로파일링 방법 Download PDF

Info

Publication number
KR102036847B1
KR102036847B1 KR1020170173843A KR20170173843A KR102036847B1 KR 102036847 B1 KR102036847 B1 KR 102036847B1 KR 1020170173843 A KR1020170173843 A KR 1020170173843A KR 20170173843 A KR20170173843 A KR 20170173843A KR 102036847 B1 KR102036847 B1 KR 102036847B1
Authority
KR
South Korea
Prior art keywords
file
time
determined
malware
execution
Prior art date
Application number
KR1020170173843A
Other languages
English (en)
Other versions
KR20190072784A (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 KR1020170173843A priority Critical patent/KR102036847B1/ko
Publication of KR20190072784A publication Critical patent/KR20190072784A/ko
Application granted granted Critical
Publication of KR102036847B1 publication Critical patent/KR102036847B1/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
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Abstract

런타임 특징 프로파일링 방법이 개시된다. 컴퓨팅 장치에서 프로세스가 수행하는 실행 내용을 모니터링하여 그 프로세서의 런타임 특징 정보를 수집한다. 수집된 런타임 특징 정보에 기초하여 프로파일링하여 그 프로세스의 행위를 모델링한다. 모델링 된 행위에 기초하여, 그 프로세스가 멀웨어에 의한 이상 동작을 하는지 여부를 판단한다. 이상 동작을 수행하는 것으로 판단된 프로세스의 컴퓨터 자원 접근 및/또는 네트워크 사용에 관한 필요한 제어를 수행한다. 이와 같은 프로파일링 작업은 프로그램의 실행 시작 시점부터 실행 종료 시점까지의 시간 동안에 그 실행 시작 시점부터 임의의 시간 구간(△T)에서의 프로세스 행위에 대하여 수행된다. 임의의 시간 구간(△T)의 만료 시점은 런타임 특징 정보에 변화가 나타나는 이벤트가 발생하는지 시점을 기준으로 정해질 수 있다. 본 발명에 의하면, 프로그램 실행 후 (Post-Execution 단계)에서도 멀웨어를 탐지할 수 있다.

Description

런타임 특징 프로파일링 방법 {METHOD OF PROFILING RUNTIME FEATURE}
본 발명은 멀웨어 탐지 기술 분야에 관한 것으로, 보다 상세하게는 실행되고 있는 파일에 관하여 그 파일이 멀웨어인지 여부를 탐지하는 멀웨어 탐지 기술에 관한 것이다.
악성 프로그램(Malicious Program) 즉, 멀웨어(Malware)는 소유자의 사전 동의 없이 컴퓨터 시스템에 침투하거나 손상시키도록 고안된 소프트웨어로 정의될 수 있다. 멀웨어는 간단하게 구분하면 파일 감염자(file infector)와 독립실행형(stand-alone) 멀웨어로 구분할 수 있다. 멀웨어는 웜 바이러스, 백도어 프로그램, 트로이 목마, 루트킷(rootkits), 스파이웨어, 애드웨어, 랜섬웨어 등과 같이 멀웨어가 수행하는 특정 작업을 기준으로 구분할 수도 있다.
멀웨어는 인터넷에 연결된 컴퓨터들을 공격하고, 원하는 정보를 탈취하는 등의 공격을 하기도 한다. 멀웨어로 인한 폐해는 개인정보의 유출 및 도용, 네트워크 트래픽 증대, 시스템의 성능 저하, 파일 삭제, 이메일 자동발송, 원격제어 등 다양한 증상으로 나타나고 있다. 멀웨어로 인한 피해를 줄이기 위한 멀웨어 탐지 기술은 매우 중요하다.
종래에 많이 이용된 멀웨어 탐지 방법들 중 하나로서 정적 분석(Static Analysis) 방법이 있다. 정적 분석 방법은 파일을 실행시키지 않고 그 파일의 바이트 값을 기반으로 멀웨어 분석을 위한 프로파일링을 수행하는 방법이다. 이 방법은 실행 전의 파일에 관한 파일 특징 정보, 예를 들어 엔트로피(Entropy), 사용한 DLL 목록, API 목록, Printable String, Byte code n-gram, Opcode n-gram, Control Flow Graph 등과 같은 파일 특징 정보를 추출하고, 그 추출된 특징 정보가 멀웨어에 해당하는지 여부를 분석한다.
종래에 많이 이용된 멀웨어 탐지 방법들 중 하나로서 동적 분석(Dynamic Analysis) 방법이 있다. 이 방법은 격리되고 통제되는 환경 즉, 샌드박스(Sandbox)에서 파일을 직접 실행시켜서 추출되는 정보를 기반으로 멀웨어 분석을 위한 프로파일링을 수행하는 방법이다. 이 방법은 해당 파일과 관련하여 API Sequence, API Frequency, Instruction Set, Behavior Graph, Data Dependencies 등과 같은 정보를 이용할 수 있다.
상기 정적 분석 방법과 동적 분석 방법을 조합한 하이브리드 분석 방법도 이용되기도 한다.
이들 분석 방법의 공통점은 프로파일링 정보의 적용 시점이다. 정적 분석과 동적 분석으로 만들어진 프로파일링 정보는 파일의 실행 전(Pre-execution)에만 사용되는 점이다. 즉, 정적 분석이든 동적 분석이든 어떤 파일이 멀웨어에 해당하는지 여부를 분석하는 작업을 그 파일의 정식 실행 전에 수행한다는 점이다. 정적 분석 방법은 실제 운영 환경에서 프로그램 실행 전에 실행 파일을 정적으로 분석하고, 분석 결과 멀웨어가 아니라고 판단되면 실제 운영 환경에서 그 파일이 실행되도록 한다. 동적 분석 방법은 실제 운영 환경에서 프로그램 실행 전에 실행 파일을 샌드 박스로 전송하고, 그 샌드박스에서 실행시켜 본 후 동적 분석을 수행한다. 분석 결과 멀웨어가 아니라고 판단되면 그 때 비로소 실제 운영 환경에서 실행될 수 있게 해준다.
이처럼 종래의 멀웨어 분석 방법들은 실행 전(Pre-execution) 단계에서만 멀웨어인지 여부를 검사한다. 만약 그 단계에서 멀웨어를 탐지를 못하면 실제 운영 환경에서 멀웨어가 실행될 가능성이 있다. 멀웨어의 실행에 따른 피해가 발생할 수 있다.
본 발명의 일 목적은 멀웨어 탐지 확률을 더 높이기 위해 파일(프로그램)이 실행 된 후 (Post-execution 단계)에도 실행 중인 파일을 프로파일링하여 멀웨어 해당 여부를 분석을 할 수 있는 런타임 특징 프로파일링(Runtime Feature Profiling) 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 상술한 과제들에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
상기 본 발명의 일 목적을 실현하기 위한 실시예들에 따른 런타임 특징 프로파일링 방법은, 컴퓨팅 장치에서 프로세스가 수행하는 실행 내용을 모니터링 하여 그 프로세서의 런타임 특징 정보를 수집하는 단계와, 수집된 런타임 특징 정보에 기초하여 프로파일링하여 상기 프로세스의 행위를 모델링하는 단계와, 모델링 된 행위에 기초하여, 상기 프로세스가 멀웨어에 의한 이상 동작을 하는지 여부를 판단하는 단계를 포함한다.
예시적인 실시예에 있어서, 상기 런타임 특징 프로파일링 방법은 이상 동작을 수행하는 것으로 판단된 프로세스의 컴퓨터 자원 접근 및/또는 네트워크 사용에 관한 필요한 제어를 수행하는 단계를 더 포함할 수 있다.
예시적인 실시예에 있어서, 상기 수집하는 단계, 상기 모델링하는 단계, 그리고 상기 판단하는 단계는 상기 프로세스에 대응하는 프로그램의 실행 시작 시점부터 실행 종료 시점까지의 시간 동안에 상기 실행 시작 시점부터 임의의 시간 구간(△T)에서의 프로세스 행위에 대하여 수행될 수 있다.
예시적인 실시예에 있어서, 상기 임의의 시간 구간(△T)의 만료 시점은 런타임 특징 정보에 변화가 나타나는 이벤트가 발생하는지 시점을 기준으로 정해질 수 있다.
예시적인 실시예에 있어서, 상기 수집된 런타임 특징 정보는 (i) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 CPU 사용량의 변화, (ii) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 메모리 사용량의 변화, (iii) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 파일 내역, (iv) 상기 임의의 시간 구간 동안 상기 프로세스가 접근한 레지스트리 내역, (v) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 송수신한 네트워크 패킷 내용, 그리고 (vi) 상기 임의의 시간 구간 동안 상기 프로세스가 실행시키거나 종료시킨 다른 프로세스 내역 중 적어도 일부를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 판단하는 단계는, 상기 수집된 런타임 특징 정보에 기초하여, 상기 프로세스가 네트워크를 통해 데이터를 수신한 다음 그 수신된 내용을 파일로 저장하는 작업을 적어도 1회 이상 반복하고 난 후 그 저장한 파일을 실행하는 것으로 판단되는 경우, 멀웨어가 원격지에서 백도어로 다운로드 받은 파일을 실행시키는 행위로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 판단하는 단계는, 상기 수집된 런타임 특징 정보에 기초하여, 상기 프로세스가 특정 파일을 열어서 읽고 그에 따라 CPU 및 메모리 사용량이 증가하고 그 파일을 저장하는 일련의 과정이 적어도 1회 이상 반복되는 것으로 판단되는 경우, 랜섬웨어가 상기 파일을 암호화 하는 행위로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 판단하는 단계는, 상기 수집된 런타임 특징 정보에 기초하여, 상기 프로세스가 짧은 시간 동안의 파일의 열기를 지정된 수 이상 수행하는 것으로 판단되는 경우, 랜섬웨어가 상기 파일의 암호화를 위해 준비하는 행위로 판단하는 단계를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 판단하는 단계는, 상기 수집된 런타임 특징 정보에 기초하여, 상기 프로세스가 레지스트리 키를 열어서 '네트워크를 통해 데이터를 수신하고 파일을 열어서 읽고 그에 따라 CPU와 메모리의 사용량이 증가한 후 상기 파일을 저장하는 작업'이 적어도 1회 이상 반복되는 것으로 판단되는 경우, 랜섬웨어가 레지스트리를 직접 수정해서 윈도우 서비스 설정 내용을 변경한 다음에 네트워크에서 암호 키를 수신하여 파일들을 암호화하는 행위로 판단하는 단계를 포함할 수 있다.
본 발명의 예시적인 실시예들에 따르면, 프로그램 실행 후 (Post-Execution 단계)에서도 멀웨어를 탐지할 수 있다. 멀웨어들도 계속 진화 발전한다. 프로그램 실행 후에도 여러 가지 정황을 살펴서 보다 은밀하게 이상 동작을 수행하려고 한다. 본 발명은 프로그램 실행 후 임의의 시간구간 동안의 런타임 특징 정보를 종합적으로 모니터링하여 의심 행위를 판단하므로, 멀웨어의 진화된 은밀한 이상 동작까지도 탐지해낼 수 있다.
도 1은 본 발명의 실시예에 따른 런타임 특징 프로파일링 방법의 실행을 위한 시스템의 동작을 예시하는 블록도이다.
도 2는 본 발명의 실시예에 따른 런타임 특징 프로파일링 방법의 실행 절차를 예시하는 흐름도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 런타임 특징 프로파일링 방법의 실행을 위한 시스템(100)의 동작을 예시하는 블록도이다.
도 1을 참조하면, 런타임 특징 프로파일링 방법은 컴퓨터에서 실행되는 소프트웨어로 구현될 수 있다. 런타임 특징 프로파일링 방법을 실행하기 위한 소프트웨어 구성요소는 프로세서 모니터링부(210), 프로파일링부(220), 행위판단부(230), 그리고 프로세스 제어부(240)를 포함할 수 있다.
프로세서 모니터링부(210)는 컴퓨터에서 실행 중인 프로세스의 런타임 특징 정보를 수집할 수 있다. 수집하는 런타임 특징 정보로는 실행 중인 프로세스가 사용하는 CPU와 메모리의 사용량 정보, 읽기 및/또는 쓰기 행위를 한 파일 정보, 프로세스가 접근한 레지스트리 정보, 프로세스가 외부와 통신하기 위해 송수신한 네트워크 패킷 정보, 프로세스가 실행시키거나 종료시킨 프로세스 정보 등을 들 수 있다.
프로파일링부(220)는 프로세서 모니터링부(210)가 수집한 프로세스의 런타임 특징 정보를 기반으로 하여 그 프로세스의 행위를 모델링할 수 있다. 이 모델링은 그 행위가 멀웨어에 의한 의심스러운 행위에 해당하는지 여부를 판별하기 위한 것이다.
행위판단부(230)는 프로파일링부(220)가 모델링 한 행위를 기반으로 비정상적인 동작 즉, 멀웨어에 의해 이루어지는 의심스러운 행위에 해당하는지 여부를 판단한다. 이 판단은 기계학습된 멀웨어 탐지 모델을 이용하여 수행될 수 있다. 이 판단은 시그니쳐 분석 방법을 이용하여 수행될 수도 있다. 이 판단은 기존에 알려진 멀웨어 분석 방법들 중 그 어떤 것에 의해서도 수행될 수 있다.
프로세스 제어부(240)는 행위판단부(230)의 판단 결과에 기초하여 프로세스의 동작을 제어할 수 있다. 즉, 프로세스가 의심스러운 동작(행위)을 하고 있는 것으로 판단된 경우, 그 프로세스가 더 이상 컴퓨터 자원들에 대한 접근을 하지 못하도록 통제할 수 있고, 그 프로세서가 네트워크를 사용하지 못하도록 제한할 수 잇다. 이러한 통제를 수행함으로써 멀웨어에 의한 피해가 확산되는 것을 방지할 수 있다.
컴퓨터는 기본적으로 프로세스를 실행하는 CPU(300)와 메인 메모리(310), 운영체제 프로그램과 각종 파일들을 저장하는 보조기억장치(예: 하드디스크, 또는 솔리드 스테이트 드라이브(SSD)(400)를 구비할 수 있다. 프로세서 모니터링부(210)와 프로세스 제어부(240)는 컴퓨터 운영체제의 커널 공간에서 수행되는 드라이버일 수 있다. 프로파일링부(220)와 행위판단부(230)는 운영체제의 사용자 공간에서 수행되는 애플리케이션 프로그램일 수 있다.
도 2는 본 발명의 실시예에 따른 런타임 특징 프로파일링 방법의 실행 절차를 예시하는 흐름도이다. 이 방법은 프로그램의 실행 후에 그 프로그램이 멀웨어로 볼 수 있는 의심스러운 행위를 하는지를 검출하는 방법이다.
도 2를 참조하면, CPU(300)가 특정 프로그램을 구동하면, 그 프로그램에 대응하는 프로세스가 생성된다. 그 프로세스는 순서에 따라 CPU(300)의 할당을 받아 명령어들을 실행한다(S10). 프로세스는 메인 메모리(310)를 명령어 처리를 위한 작업 공간으로 사용한다.
프로세스 모니터링부(210)는 특정 프로세스가 실행되기 시작하는 시점부터 메인 메모리(310) 상에서 수행되는 그 프로세스의 실행 내용을 모니터링할 수 있다. 프로세스 모니터링부(210)는 모니터링을 통해 그 프로세서의 런타임 특징 정보를 수집할 수 있다(S12). 런타임 특징 정보는 임의의 시간구간 △T 에서의 프로세스 행위에 관한 특징 정보일 수 있다. 런타임 특징 정보의 대표적인 예는 다음의 것들을 들 수 있다.
(i) △T 동안 해당 프로세스가 사용한 CPU 사용량의 변화
(ii) △T 동안 해당 프로세스가 사용한 메모리 사용량의 변화
(iii) △T 동안 해당 프로세스가 사용한 파일 내역
(iv) △T 동안 해당 프로세스가 접근한 레지스트리 내역
(v) △T 동안 해당 프로세스가 송수신한 네트워크 패킷 내용
(vi) △T 동안 해당 프로세스가 실행시키거나 종료 시킨 다른 프로세스 내역
위의 6가지 프로세스의 런타임 특징 정보는 멀웨어에 의한 의심스러운 행위가 일어날 때 그 행위에 따른 특징적인 변화를 나타낼 수 있는 정보를 종합적으로 열거한 것이다. 멀웨어의 종류에 따라 위 6가지의 런타임 특징 정보 중 관련을 갖는 것은 일부일 수 있다. 예컨대 랜섬웨어에 의한 의심스러운 행위는 특정 파일을 열어 엉뚱한 자료를 기록하면서 기존 자료를 손상시키는 것인데, 이런 행위는 상기 (i), (ii), (iii)의 정보만으로도 충분히 파악할 수 있다.
이와 같은 런타임 특징 정보 수집을 통해 프로세스 행위를 프로파일링하는 작업은 프로그램의 실행 시작 시각(T start )과 종료 시각(T end ) 사이의 시간 동안에 상기 실행 시작 시각(T start )부터 임의의 시간 구간(△T)에서의 프로세서 행위를 대상으로 할 수 있다. 상기 임의의 시간 구간(△T)의 만료 시점은 예컨대 런타임 특징 정보의 변화가 나타나는 이벤트가 발생하는지 시점을 기준으로 정해질 수 있다(이에 관해서는 후술함). 멀웨어가 악성 행위를 개시하는 시점은 임의적일 수 있기 때문이다. 따라서 프로세스의 실행 시작부터 런타임 특징 정보를 수집하면서 그 수집된 런타임 특징 정보에 기초하여 이벤트가 발생하는지 여부를 판별할 수 있다(S14). 이벤트의 예로는 CPU 사용량 또는 메모리 사용량이 갑자기 많이 늘거나, 파일을 열거나, 레지스트리에 접근하거나, 네트워크를 통한 패킷의 송수신이 발생하거나, 프로세스의 종료가 발생하는 등을 들 수 있다.
프로파일링부(220)는 수집된 프로세스의 런타임 특징 정보를 기반으로 하여, 이벤트가 발생할 때마다 그 프로세서의 행위를 프로파일링할 수 있다(S14, S16)). 프로파일링 작업은 이벤트 발생을 기준으로 하지 않고 시간 주기를 정하여 주기적으로 수행할 수도 있을 것이다. 만약 이벤트 발생 여부의 판단 결과(S14), 이벤트가 발생하지 않으면 프로세스의 실행 내용을 모니터링하여 런타임 특징 정보를 수집하는 동작(S12)을 반복할 수 있다.
이벤트가 발생한 경우에는, 프로파일링부(220)는 수집된 프로세스의 런타임 특징 정보 6가지 중 적어도 일부를 이용하여 프로파일링하여 그 프로세스의 행위를 모델링할 수 있다(S16). 멀웨어에 의한 의심스러운 행위의 프로파일링 예를 들면 다음과 같다. 아래에서 중괄호 {...}로 묶은 부분은 적어도 1회 이상 반복하는 행위 단위이다.
(i) 의심 행위 1: {네트워크(500)를 통한 데이터의 수신 후 그 수신된 데이터를 파일로 저장하는 행위}를 적어도 1회 이상 반복하고 난 다음 그 저장한 파일을 실행하는 경우: 이 경우는 멀웨어가 원격지에서 백도어로 다운로드 받은 파일을 실행시키는 행위로 의심할 수 있다.
(ii) 의심 행위 2: {보조기억장치(400)에 저장된 특정 파일(410)을 열어서 읽고, 그에 따라 CPU(300)와 메모리(310)의 사용량이 증가한 다음, 그 파일(410)을 저장하는 행위}를 적어도 1회 이상 반복하는 경우: 이와 같이 반복적인 파일 읽기와 쓰기는 랜섬웨어의 파일 암호화 행위로 의심할 수 있다.
(iii) 의심 행위 3: 짧은 시간 동안의 {파일(410) 열기}를 미리 설정한 회수를 초과하여 이루어지는 경우(예: 1초안에 '파일 열기'가 10번 이상 동작한 경우 등): 이 경우는 랜섬웨어의 파일 암호화를 위한 준비단계 행위로 의심할 수 있다.
(iv) 의심 행위 4: 레지스트리 키 열기를 한 다음 {네트워크(500)를 통해 데이터를 수신하고, 파일(410) 열기를 하여 그 파일(410)을 읽고 그에 따라 CPU(300)와 메인 메모리(310)의 사용량이 증가하고, 그 파일을 저장하는 행위}가 적어도 1회 이상 반복하는 경우: 이 경우는 랜섬웨어가 레지스트리를 직접 수정해서 운영체제(예: 윈도우) 서비스 설정 내용을 변경한 다음에 네트워크(500)에서 암호키를 수신하여, 파일들을 암호화하는 행위로 의심할 수 있다.
행위판단부(230)는 위와 같은 의심 행위 시나리오에 기초하여, 프로파일링부(200)가 프로파일링한 행위가 멀웨어에 의해 수행되는 이상 동작에 해당하는지 여부를 판단할 수 있다(S18).
행위판단부(230)는 판단 결과 멀웨어에 의한 이상 동작으로 보이지 않으면, 그 프로세스의 실행이 계속되도록 허용할 수 있다. 그럼에도 불구하고, 다시 그 프로세스의 실행 내용을 계속 모니터링하면서 런타임 특징 정보를 계속 수집하는 작업을 수행할 수 있다(S12).
행위판단부(230)는 판단 결과 멀웨어에 의한 이상 동작으로 의심되는 경우, 그 사실을 프로세스 제어부(240)에 통지해줄 수 있다. 프로세스 제어부(240)는 통지받은 프로세스가 이상 동작을 실행하지 못하도록 차단할 수 있다(S20). 즉, 이상 동작을 하는 것으로 판단된 프로세스가 예컨대 보조기억장치(400) 등과 같은 컴퓨터 자원에 접근하지 못하도록 그 접근경로 상의 임의의 수단(420)을 차단할 수 있다. 또한, 그 프로세스가 네트워크(500)를 사용하지 못하도록 그 네트워크(500)에 연결되는 통신요소(510)(예컨대 통신모뎀이나 스위치 장비 등)를 제어하여 네트워크(500) 연결을 차단할 수 있다. 예를 들어, 의심 행위 1의 경우 파일 저장을 차단하거나 또는 저장된 파일에 대한 멀웨어 치료 등의 조치를 취할 수 있을 것이다. 의심 행위 2, 3, 4 등의 경우에도, 그 랜섬웨어를 찾아내어 제거하는 조치를 취하고, 피해 확산을 방지할 수 있는 적절한 조치들을 취할 수 있을 것이다.
본 발명에 따른 런타임 특징 프로파일링 방법을 구현한 소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
본 발명은 컴퓨터, 네트워크 보안을 위한 기술로서 활용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 런타임 특징 프로파일링 방법을 실행하기 위한 시스템
200: 운영체제 210: 프로세스 모니터링부
220: 프로파일링부 230: 행위판단부
240: 프로세스 제어부 300: CPU
310: 메인 메모리 400: 보조기억장치
410: 파일 500: 네트워크

Claims (9)

  1. 컴퓨팅 장치에서 프로세스가 수행하는 실행 내용을 모니터링하여 그 프로세스의 런타임 특징 정보를 수집하는 단계;
    수집된 런타임 특징 정보에 기초하여 프로파일링하여 상기 프로세스의 행위를 모델링하는 단계; 및
    모델링 된 행위에 기초하여, 상기 프로세스가 멀웨어에 의한 이상 동작을 하는지 여부를 판단하는 단계를 포함하고,
    상기 수집하는 단계, 상기 모델링하는 단계, 그리고 상기 판단하는 단계는 상기 프로세스에 대응하는 프로그램의 실행 시작 시점부터 실행 종료 시점까지의 시간 동안에 상기 실행 시작 시점부터 임의의 시간 구간(△T)에서의 프로세스 행위에 대하여 수행되고,
    상기 수집된 런타임 특징 정보는 (i) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 CPU 사용량의 변화, (ii) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 메모리 사용량의 변화, (iii) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 파일 내역, (iv) 상기 임의의 시간 구간 동안 상기 프로세스가 접근한 레지스트리 내역, (v) 상기 임의의 시간 구간 동안 상기 프로세스가 사용한 송수신한 네트워크 패킷 내용, 그리고 (vi) 상기 임의의 시간 구간 동안 상기 프로세스가 실행시키거나 종료시킨 다른 프로세스 내역을 포함하며,
    상기 판단하는 단계에서, 상기 수집된 런타임 특징 정보에 기초하여, (a) 상기 프로세스가 네트워크를 통해 데이터를 수신한 다음 그 수신된 내용을 파일로 저장하는 작업을 적어도 1회 이상 반복하고 난 후 그 저장한 파일을 실행하는 것으로 판단되는 경우, 멀웨어가 원격지에서 백도어로 다운로드 받은 파일을 실행시키는 행위로 판단하고, (b) 상기 프로세스가 보조기억장치에 저장된 특정 파일을 열어서 읽고, 그에 따라 CPU 및 메모리 사용량이 증가하고, 그 파일을 저장하는 일련의 과정이 적어도 1회 이상 반복되는 것으로 판단되는 경우, 랜섬웨어가 상기 파일을 암호화 하는 행위로 판단하며, (c) 상기 프로세스가 짧은 시간 동안의 파일의 열기를 지정된 수 이상 수행하는 것으로 판단되는 경우, 랜섬웨어가 상기 파일의 암호화를 위해 준비하는 행위로 판단하고, (d) 상기 프로세스가 레지스트리 키를 열어서 '네트워크를 통해 데이터를 수신하고 파일을 열어서 읽고 그에 따라 CPU와 메모리의 사용량이 증가한 후 상기 파일을 저장하는 작업'이 적어도 1회 이상 반복되는 것으로 판단되는 경우, 랜섬웨어가 레지스트리를 직접 수정해서 윈도우 서비스 설정 내용을 변경한 다음에 네트워크에서 암호 키를 수신하여 파일들을 암호화하는 행위로 판단하는 것을 특징으로 하는 런타임 특징 프로파일링 방법.
  2. 제1항에 있어서, 이상 동작을 수행하는 것으로 판단된 프로세스의 컴퓨터 자원 접근 및/또는 네트워크 사용에 관한 필요한 제어를 수행하는 단계를 더 포함하는 것을 특징으로 하는 런타임 특징 프로파일링 방법.
  3. 삭제
  4. 제1항에서, 상기 임의의 시간 구간(△T)의 만료 시점은 런타임 특징 정보에 변화가 나타나는 이벤트가 발생하는지 시점을 기준으로 정해지는 것을 특징으로 하는 런타임 특징 프로파일링 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
KR1020170173843A 2017-12-18 2017-12-18 런타임 특징 프로파일링 방법 KR102036847B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170173843A KR102036847B1 (ko) 2017-12-18 2017-12-18 런타임 특징 프로파일링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170173843A KR102036847B1 (ko) 2017-12-18 2017-12-18 런타임 특징 프로파일링 방법

Publications (2)

Publication Number Publication Date
KR20190072784A KR20190072784A (ko) 2019-06-26
KR102036847B1 true KR102036847B1 (ko) 2019-10-25

Family

ID=67104944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170173843A KR102036847B1 (ko) 2017-12-18 2017-12-18 런타임 특징 프로파일링 방법

Country Status (1)

Country Link
KR (1) KR102036847B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020130264A1 (ko) 2018-12-18 2020-06-25 (주) 엘지화학 방향족 비닐 화합물-비닐시안 화합물 중합체의 제조방법 및 제조장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378988A1 (en) * 2015-06-26 2016-12-29 Quick Heal Technologies Private Limited Anti-ransomware

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323928B2 (en) * 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes
KR102017756B1 (ko) * 2014-01-13 2019-09-03 한국전자통신연구원 이상행위 탐지 장치 및 방법
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378988A1 (en) * 2015-06-26 2016-12-29 Quick Heal Technologies Private Limited Anti-ransomware

Also Published As

Publication number Publication date
KR20190072784A (ko) 2019-06-26

Similar Documents

Publication Publication Date Title
Continella et al. Shieldfs: a self-healing, ransomware-aware filesystem
RU2522019C1 (ru) Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной
US11200314B2 (en) Ransomware attack monitoring
US8752179B2 (en) System and method for removal of malicious software from computer systems and management of treatment side-effects
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
Lin et al. Efficient dynamic malware analysis using virtual time control mechanics
US7409719B2 (en) Computer security management, such as in a virtual machine or hardened operating system
KR102307534B1 (ko) 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들
US8621628B2 (en) Protecting user mode processes from improper tampering or termination
EP3039608B1 (en) Hardware and software execution profiling
US20090300764A1 (en) System and method for identification and blocking of malicious code for web browser script engines
US20110067105A1 (en) Operating System Sandbox
KR101086203B1 (ko) 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법
WO2009035902A2 (en) Malware prevention system monitoring kernel events
WO2021046811A1 (zh) 一种攻击行为的判定方法、装置及计算机存储介质
US8201253B1 (en) Performing security functions when a process is created
KR102036847B1 (ko) 런타임 특징 프로파일링 방법
US20170331857A1 (en) Non-transitory recording medium storing data protection program, data protection method, and data protection apparatus
EP2881883B1 (en) System and method for reducing load on an operating system when executing antivirus operations
Continella et al. ShieldFS: The Last Word in Ransomware Resilient Filesystems
Canzanese et al. Inoculation against malware infection using kernel-level software sensors
Cheng et al. dptCry: an approach to decrypting ransomware WannaCry based on API hooking
Mirza et al. Malicious Software Detection, Protection & Recovery Methods: A Survey
Huang et al. Identifying HID-based attacks through process event graph using guilt-by-association analysis
JP6687844B2 (ja) マルウエア解析装置、マルウエア解析方法及びマルウエア解析プログラム

Legal Events

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