KR101530530B1 - Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal - Google Patents

Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal Download PDF

Info

Publication number
KR101530530B1
KR101530530B1 KR1020130132716A KR20130132716A KR101530530B1 KR 101530530 B1 KR101530530 B1 KR 101530530B1 KR 1020130132716 A KR1020130132716 A KR 1020130132716A KR 20130132716 A KR20130132716 A KR 20130132716A KR 101530530 B1 KR101530530 B1 KR 101530530B1
Authority
KR
South Korea
Prior art keywords
malicious
execution
information
process information
running
Prior art date
Application number
KR1020130132716A
Other languages
Korean (ko)
Other versions
KR20150052387A (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 KR1020130132716A priority Critical patent/KR101530530B1/en
Publication of KR20150052387A publication Critical patent/KR20150052387A/en
Application granted granted Critical
Publication of KR101530530B1 publication Critical patent/KR101530530B1/en

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

Abstract

이 발명은 모바일단말에서 실행되는 악성 프로세스를 실시간 또는 주기적으로 탐지하는 시스템 및 방법에 관한 것이다.
이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템은, 안드로이드 운영체제 상에서 실행중인 프로세스에 관한 정보를 수집하는 실행중 프로세스 정보 수집부와, 상기 실행중 프로세스 정보 수집부에서 수집된 실행중 프로세스 정보를 저장하는 실행중 프로세스 정보 저장부와, 로그관리기로부터 로그데이터를 수신하여 상기 로그데이터로부터 프로세스 정보를 추출하는 파싱부와, 상기 파싱부에서 추출된 프로세스 정보와 상기 실행중 프로세스 정보 저장부에 기저장된 프로세스 정보를 비교하여 신규 실행된 프로세스 정보를 추출하는 프로세스 비교부와, 상기 신규 실행된 프로세스가 악성 코드인지 여부를 검출하는 악성코드 검출부를 포함한다.
The present invention relates to a system and method for detecting a malicious process executed in a mobile terminal in real time or periodically.
The malicious process execution detection system of the mobile terminal according to the present invention includes a running process information collecting unit for collecting information about a process running on the Android operating system and a process information collecting unit for storing process information during execution, A parser for receiving the log data from the log manager and extracting the process information from the log data; a parser for extracting the process information extracted from the parser and the process stored in the process information storage unit And a malicious code detecting unit for detecting whether the newly executed process is a malicious code or not.

Description

모바일단말의 악성 프로세스 실행 탐지 시스템 및 방법 {Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal}TECHNICAL FIELD The present invention relates to a malicious process execution detection system and a malicious process execution detection method in a mobile terminal,

이 발명은 모바일단말의 악성 프로세스 실행 탐지 시스템 및 방법에 관한 것으로서, 보다 상세하게는 모바일단말에서 실행되는 악성 프로세스를 실시간 또는 주기적으로 탐지하는 시스템 및 방법에 관한 것이다.
The present invention relates to a malicious process execution detection system and method of a mobile terminal, and more particularly, to a system and method for detecting a malicious process executed in a mobile terminal in real time or periodically.

최근 널리 사용되는 모바일단말은 운영체제를 탑재하여 다양한 프로그램 및 데이터 사용이 가능하고 프로그램의 지속적인 추가와 삭제가 가능하는 등 PC와 같은 고급 기능을 제공하는 휴대전화로서, 스마트폰(smartphone)이라고도 한다. 이러한 기능의 모바일단말은 애플리케이션을 위한 표준화된 인터페이스와 플랫폼을 제공하며, 무선인터넷을 이용하여 인터넷에 접속할 수 있을 뿐 아니라 모바일단말 사용자가 다양한 기능의 애플리케이션을 직접 제작하거나 구매(무료 또는 유료)하여 자신이 사용하는 모바일단말을 자신의 사용 패턴에 맞게 최적화시킬 수 있다는 등의 장점이 있다. 최근, 금융사나 인터넷 쇼핑몰 등에서 모바일단말용 애플리케이션을 출시함에 따라 모바일단말을 이용한 금융거래나 인터넷쇼핑거래가 급격하게 증가하고 있는 바, 모바일단말에 각종 중요한 개인정보가 저장되고 있다.Recently, a widely used mobile terminal is called a smartphone as a mobile phone that provides advanced functions such as a PC, such as being able to use various programs and data by using an operating system, and to continuously add and delete programs. Mobile terminals with these functions provide a standardized interface and platform for applications. In addition to being able to connect to the Internet using wireless Internet, mobile terminal users can create or purchase various functions (free or paid) It is possible to optimize the mobile terminal to be used in accordance with its use pattern. In recent years, financial transactions and internet shopping transactions using mobile terminals have been rapidly increasing due to the launch of applications for mobile terminals at financial institutions and Internet shopping malls, and various important personal information is stored in mobile terminals.

위와 같이 스마트폰 등의 모바일단말 사용이 증가함에 따라 모바일단말을 타겟으로 하는 악성코드 또한 급격히 증가하고 있으며, 악성코드의 공격 수법도 다양해지고 있다. 예컨대, 모바일 바이러스, 웜, 트로이목마, 스파이웨어와 같은 악성코드가 수없이 많이 제작되어 유포되고 있는데, 이러한 악성코드의 유포는 곧 모바일단말의 개인정보 유출과 금융거래의 피해로 이어지게 된다.As the use of mobile terminals such as smart phones increases, malicious codes targeted to mobile terminals are also rapidly increasing, and attack methods of malicious codes are also diversifying. For example, numerous malicious codes such as mobile viruses, worms, Trojans, and spyware have been produced and distributed, and the spread of such malicious codes soon leads to the leakage of personal information of a mobile terminal and damage to financial transactions.

따라서, 모바일단말에서 악성코드를 탐지하는 보안 방법이 필요하게 되었다. 종래 모바일단말의 악성코드 탐지 방법은 전통적인 PC의 악성코드 탐지 방법을 전용하였는 바, 모바일단말에서 이미 실행중인 애플리케이션에 대해 프로세스 리스트를 주기적으로 검사하여 악성코드를 탐지한다. 이러한 악성코드 탐지 방법은 악성코드가 실행되는 시점에 정확하게 탐지하지 못하는 문제점이 있으며 또한 지속적으로 실행중인 모든 프로세스를 지정된 시간마다 검사하므로 모바일단말의 성능 저하 및 배터리 소모에 상당한 영향을 미치는 문제점이 있었다.Accordingly, there is a need for a security method for detecting malicious code on a mobile terminal. Conventionally, malicious code detection method of a mobile terminal has dedicated a malicious code detection method of a conventional PC, and a malicious code is detected by periodically inspecting a process list with respect to an application already executed in the mobile terminal. Such a malicious code detection method has a problem that it can not accurately detect when malicious code is executed, and also inspects all the processes continuously executed at a designated time, thereby causing a problem of deteriorating performance of a mobile terminal and battery consumption.

이러한 문제를 해결하기 위해, 대한민국 등록특허 제1256461호, "프로세스 실행 시점 판단장치 및 방법"에서는 휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 정보를 검출하고 상기 프로세스 실행 정보를 프로세스 정보 파일에 기록하는 실행 감시부와, 상기 프로세스 정보 파일에 기록되는 상기 프로세스 실행 정보의 변경 여부를 감시하여 상기 애플리케이션의 프로세스 실행 시점을 검출하는 파일 감시부를 포함한다.In order to solve such a problem, Korean Patent Registration No. 1256461, entitled " Apparatus and Method for Determining Process Execution Time ", discloses an apparatus for detecting execution of an application executed in a portable terminal, And a file monitoring unit for monitoring whether or not the process execution information recorded in the process information file is changed and detecting a process execution time of the application.

이러한 선행특허는 휴대용 단말기에 기설치된 애플리케이션 정보를 먼저 수집하고, 수집된 정보의 애플리케이션이 실행되는 시점을 검출하여 프로세스 실행 시점에 해당 애플리케이션에 대한 악성코드 진단을 수행한다. 즉, 이러한 선행특허는 휴대용 단말기에 설치된 애플리케이션 정보가 수집된 상태에서는, 해당 애플리케이션의 실행 시점을 검출할 수 있고, 프로세스 실행 시점에서 해당 프로세스가 악성코드인지 여부를 진단할 수 있다.This prior patent collects application information previously installed in the portable terminal, detects the time when the application of the collected information is executed, and performs malicious code diagnosis for the application at the time of execution of the process. That is, in this prior patent, when the application information installed in the portable terminal is collected, the execution time of the application can be detected, and it is possible to diagnose whether or not the process is malicious code at the time of execution of the process.

그러나, 이러한 선행특허는 휴대용 단말기에 처음 설치되어 그 정보가 수집되지 않은 애플리케이션에 대해서는, 해당 애플리케이션에 대한 정보가 수집되기 전에는 그 실행시점을 검출할 수 없는 문제점이 있다.
However, such prior patents have a problem in that, for an application that is installed in the portable terminal for the first time and the information is not collected, the execution time can not be detected until information about the application is collected.

상술한 종래기술의 문제점을 해결하기 위한 이 발명의 목적은, 모바일단말에 신규로 설치된 애플리케이션에 관한 정보를 수집하기 전이라도 해당 애플리케이션의 실행 프로세스를 검출하고 그 악성코드 여부를 검출할 수 있는 모바일단말의 악성 프로세스 실행 탐지 시스템 및 방법을 제공하기 위한 것이다.
SUMMARY OF THE INVENTION It is an object of the present invention to solve the problems of the prior art described above by providing a mobile terminal capable of detecting an execution process of a corresponding application even before collecting information on an application newly installed in the mobile terminal, A malicious process execution detection system and method.

상술한 목적을 달성하기 위한 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템은, 안드로이드 운영체제 상에서 실행중인 프로세스에 관한 정보를 수집하는 실행중 프로세스 정보 수집부와, 상기 실행중 프로세스 정보 수집부에서 수집된 실행중 프로세스 정보를 저장하는 실행중 프로세스 정보 저장부와, 로그관리기로부터 로그데이터를 수신하여 상기 로그데이터로부터 프로세스 정보를 추출하는 파싱부와, 상기 파싱부에서 추출된 프로세스 정보와 상기 실행중 프로세스 정보 저장부에 기저장된 프로세스 정보를 비교하여 신규 실행된 프로세스 정보를 추출하는 프로세스 비교부와, 상기 신규 실행된 프로세스가 악성 코드인지 여부를 검출하는 악성코드 검출부를 포함한 것을 특징으로 한다.In order to accomplish the above object, the malicious process execution detection system of the mobile terminal according to the present invention includes: a process information collecting unit for collecting information about a process running on the Android operating system; A parser for receiving log data from the log manager and extracting the process information from the log data, a parser for extracting the process information extracted from the parser, A process comparator for comparing the previously stored process information with the information stored in the information storing unit and extracting the newly executed process information; and a malicious code detecting unit for detecting whether the newly executed process is malicious code.

또한, 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 방법은, 모바일단말에 설치된 악성 프로세스 실행 탐지 시스템의 악성 프로세스 실행 탐지 방법에 있어서, 상기 악성 프로세스 실행 탐지 시스템이 안드로이드 운영체제 상에서 실행중인 프로세스에 관한 정보를 수집하는 제1단계와, 상기 악성 프로세스 실행 탐지 시스템이 상기 제1단계에서 수집된 실행중 프로세스 정보를 실행중 프로세스 정보 저장부에 저장하는 제2단계와, 상기 악성 프로세스 실행 탐지 시스템이 로그관리기로부터 로그데이터를 수신하여 상기 로그데이터로부터 프로세스 정보를 추출하는 제3단계와, 상기 악성 프로세스 실행 탐지 시스템이 상기 제3단계에서 추출된 프로세스 정보와 상기 제2단계에서 저장된 프로세스 정보를 비교하여 신규 실행된 프로세스 정보를 추출하는 제4단계와, 상기 악성 프로세스 실행 탐지 시스템이 상기 신규 실행된 프로세스가 악성 코드인지 여부를 검출하는 제5단계를 포함한 것을 특징으로 한다.
The malicious process execution detection method of the mobile terminal according to the present invention is a malicious process execution detection method of a malicious process execution detection system installed in a mobile terminal, the malicious process execution detection method comprising: A second step of the malicious process execution detection system storing the execution process information collected in the first process in the process information storage unit during execution; A malicious process execution detection system compares the process information extracted in the third process with the process information stored in the second process and extracts the process information from the log data, Process information Shipping is characterized in that the fourth step with the malignant process run detection system including a fifth step in which the new run of the process detecting whether the infection.

이상과 같이 이 발명에 따르면, 모바일단말기에 실행중인 프로세스 정보를 수집하여 수집된 프로세스의 악성코드 여부를 진단하고 실행 프로세스 목록에 저장하며, 로그관리기로부터 입력되는 로그데이터(log data)로부터 프로세스 정보를 수집하여 실행 프로세스 목록을 업데이트하고, 신규 실행된 프로세스를 검출하여 악성코드 여부를 진단함으로써, 모바일단말에 신규로 설치되어 실행되는 악성 프로세스도 검출할 수 있는 잇점이 있다.
As described above, according to the present invention, the process information is collected in the mobile terminal, the malicious code of the collected process is diagnosed and stored in the execution process list, and the process information is extracted from the log data input from the log manager There is an advantage that a malicious process newly installed and executed in the mobile terminal can be detected by collecting and updating the execution process list, detecting a newly executed process and diagnosing whether or not the malicious code is detected.

도 1은 이 발명이 적용되는 일반적인 안드로이드 구조를 간략하게 도시한 도면이다.
도 2는 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템을 도시한 구성 블록도이다.
도 3은 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 방법을 도시한 동작 흐름도이다.
FIG. 1 is a view schematically showing a general Android structure to which the present invention is applied.
2 is a block diagram showing a malicious process execution detection system of a mobile terminal according to the present invention.
3 is a flowchart illustrating a malicious process execution detection method of a mobile terminal according to the present invention.

이하, 첨부된 도면을 참조하여 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템 및 방법에 대해 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a malicious process execution detection system and method of a mobile terminal according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 이 발명이 적용되는 일반적인 안드로이드(Android) 구조를 간략하게 도시한 도면이다.FIG. 1 is a view schematically showing a general Android structure to which the present invention is applied.

안드로이드 운영체제(OS)(11)는 리눅스 커널(12) 위에서 동작하며, 다양한 안드로이드 시스템 구성요소에서 사용되는 C/C++ 라이브러리들을 포함한다. 안드로이드 운영체제(11)는 휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제와 미들웨어, 사용자 인터페이스, 그리고 표준 애플리케이션(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), 멀티미디어 메시지 서비스(MMS)등)을 포함하고 있는 소프트웨어 스택이자 모바일 운영 체제이다. 안드로이드 운영체제(11)는 개발자들이 자바 언어로 애플리케이션을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 소프트웨어 개발 키트(SDK)를 통해 애플케이션을 개발하기 위해 필요한 각종 도구들과 API를 제공한다.The Android operating system (OS) 11 runs on the Linux kernel 12 and includes C / C ++ libraries used in various Android system components. The Android operating system 11 includes an operating system and middleware, a user interface, and standard applications (web browser, email client, short message service (SMS), multimedia message service (MMS), etc.) for portable devices including mobile phones There is a software stack and a mobile operating system. The Android operating system (11) allows developers to write applications in the Java language and provides a runtime library to run compiled bytecode. It also provides various tools and APIs for developing applications through the Android Software Development Kit (SDK).

안드로이드 운영체제(11)는 달빅 가상머신(Davic Virtual Machine)(13-1, 13-2, 13-3)을 통해 자바로 작성된 애플리케이션(14-1, 14-2, 14-3)을 별도의 프로세스에서 실행하는 구조로 되어 있다. 달빅 가상머신(13-1, 13-2, 13-3)은 레지스터 머신 형태의 가상 머신으로서, 모든 안드로이드 애플리케이션(14-1, 14-2, 14-3)은 달빅 가상머신(13-1, 13-2, 13-3) 내에서 자신의 인스턴스를 가지고 자신의 프로세스 내에서 동작하며, 자신에게 할당된 영역 이외의 자원 영역으로는 접근 자체가 제한된다. 이러한 달빅 가상머신(13-1, 13-2, 13-3)은 임베디드 단말에 최적화된 가상머신(VM)으로서, 메모리 보호(Memory Protection), 가비지 컬렉션(Garbage-collection), 라이프 사이클 관리 등을 수행한다.The Android operating system 11 executes the applications 14-1, 14-2 and 14-3 written in Java via the Davic Virtual Machines 13-1, 13-2 and 13-3 in a separate process As shown in FIG. All of the Android applications 14-1, 14-2, and 14-3 are virtual machines in the form of register machines. The virtual machines 13-1, 13-2, 13-2, 13-3), it operates in its own process with its own instance, and access to the resource area other than the area allocated to itself is limited. These virtual machines (13-1, 13-2, 13-3) are virtual machines (VMs) optimized for embedded terminals, and can store memory protection, garbage-collection, .

달빅 가상머신(13-1, 13-2, 13-3)은 각각의 가비지콜렉터(13a, 13b, 13c)를사용하여 각 애플리케이션(14-1, 14-2, 14-3)에 할당된 메모리를 해제하거나, 메모리가 부족할 때에는 가비지콜렉션을 실행시켜 애플리케이션에서 더 이상 참조하지 않는 오브젝트가 점유하고 있는 메모리를 회수하여 할당가능한 상태로 확보한다. 달빅 가상머신(13-1, 13-2, 13-3)은 가비지콜렉터(13a, 13b, 13c)를 구동할 때마다 로그데이터를 생성하는데, 이 로그데이터에는 시간(time), 프로세스 식별자(PID), 태그(tag), 메시지가 포함된다. 이 로그데이터는 안드로이드 운영체제(11)의 로그관리기(15)에 접수된다. 이 발명의 실시예에서는 로그관리기(15)가 가비지콜렉터로부터 로그데이터를 수신하는 것으로 기재되어 있으나, 이에 한정되지 않으며, 다른 모바일 운영체제에 대응하는 로그발생기로부터 로그데이터를 수신할 수도 있다.The Dalvik virtual machines 13-1, 13-2 and 13-3 use the respective garbage collectors 13a, 13b and 13c to store the memory allocated to each of the applications 14-1, 14-2 and 14-3 When the memory is insufficient, the garbage collection is executed, and the memory occupied by the object, which is no longer referred to by the application, is retrieved and secured in an allocatable state. The Dalvik virtual machines 13-1, 13-2 and 13-3 generate log data each time the garbage collectors 13a, 13b and 13c are driven. The log data includes time, a process identifier PID ), A tag, and a message. This log data is received in the log manager 15 of the Android operating system 11. [ In the embodiment of the present invention, the log manager 15 is described as receiving log data from the garbage collector. However, the present invention is not limited thereto, and log data may be received from a log generator corresponding to another mobile operating system.

도 2는 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템을 도시한 구성 블록도이다.2 is a block diagram showing a malicious process execution detection system of a mobile terminal according to the present invention.

이 발명은 상술한 안드로이드 환경에 적용되는 바, 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템(20)은 APK 파일로 생성되어 통상적인 안드로이드 모바일 단말의 애플리케이션 설치 방법과 같이 모바일단말에 다운로드된 후 설치된다. 그러면, 악성 프로세스 실행 탐지 시스템(20)은 안드로이드 운영체제(11) 상의 달빅 가상머신(20a) 내에서 동작하게 된다.The present invention is applied to the above-described Android environment. The malicious process execution detection system 20 of the mobile terminal according to the present invention is created as an APK file, and is downloaded to a mobile terminal as a method of installing an application of a typical Android mobile terminal Respectively. Then, the malicious process execution detection system 20 operates in the Dalvik virtual machine 20a on the Android operating system 11.

이 발명에 따른 악성 프로세스 실행 탐지 시스템(20)은 현재 안드로이드 운영체제(11) 상에서 실행중인 프로세스에 관한 정보를 수집하는 실행중 프로세스 정보 수집부(21)와, 상기 실행중 프로세스 정보 수집부(21)에서 수집된 실행중 프로세스 정보를 저장하는 실행중 프로세스 정보 저장부(22)와, 로그관리기로부터 로그데이터를 수신하여 수신된 로그데이터로부터 프로세스 정보를 추출하는 파싱부(23)와, 상기 파싱부(23)에서 추출된 프로세스 정보와 상기 실행중 프로세스 정보 저장부(22)에 저장된 프로세스 정보를 비교하여 신규 실행된 프로세스 정보를 추출하는 프로세스 비교부(24)와, 상기 신규 실행된 프로세스가 악성 코드 여부를 검출하는 악성코드 검출부(25)를 포함한다.The malicious process execution detection system 20 according to the present invention includes a process information collecting unit 21 for collecting information on processes currently running on the Android operating system 11 and a process information collecting unit 21, A parsing unit 23 for receiving log data from the log management unit and extracting process information from the received log data, A process comparator 24 for comparing the process information extracted in the process information storage unit 22 with the process information stored in the process information storage unit 22 to extract newly executed process information, And a malicious code detecting unit 25 for detecting malicious code.

상기 프로세스 비교부(24)는 상기 신규 실행된 프로세스 정보를 상기 실행중 프로세스 정보 저장부(22)에 업데이트한다. 상기 실행중 프로세스 정보 수집부(21)는 주기적으로 구동하며, 상기 프로세스 비교부(24)는 실행중 프로세스 정보 수집부(21)에서 수집된 실행중 프로세스 정보와 상기 실행중 프로세스 정보 저장부(22)에 기저장된 실행중 프로세스 정보를 비교하여 신규 실행된 프로세스 정보를 추출한다. 상기 프로세스 정보는 프로세스 식별자(PID)를 이용하는 것이 바람직하다. 실행중 프로세스 정보 수집부(21)의 주기적인 구동에 따라 실행중 프로세스 정보 저장부(22)를 업데이트하여 종료된 프로세스는 목록에서 제거되고 신규 생성된 프로세스는 목록에 추가되도록 한다. 악성코드 검출부(25)는 통상적인 악성코드 검출방법을 적용할 수 있는 바, 시그니처 비교방식, 휴리스틱 방식 등을 적용할 수 있다.The process comparator 24 updates the newly executed process information to the in-process information storage unit 22. [ The process information collecting unit 21 periodically runs the process information collecting unit 21 and the process comparing unit 24 compares the process information collected in the process information collecting unit 21 during execution with the process information stored in the process information storing unit 22 ), And extracts the newly executed process information. The process information preferably uses a process identifier (PID). Updates the process information storage unit 22 during execution according to the periodical driving of the process information collecting unit 21 during execution so that the terminated process is removed from the list and the newly created process is added to the list. The malicious code detection unit 25 can apply a conventional malicious code detection method, and can apply a signature comparison method, a heuristic method, or the like.

도 3은 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 방법을 도시한 동작 흐름도이다. 이 발명에 따른 모바일단말의 악성 프로세스 실행 탐지 시스템의 악성 프로세스 실행 탐지 방법을 도 3을 참조하며 설명한다.3 is a flowchart illustrating a malicious process execution detection method of a mobile terminal according to the present invention. The malicious process execution detection method of the malicious process execution detection system of the mobile terminal according to the present invention will be described with reference to FIG.

먼저, 모바일단말에서 이 발명에 따른 악성 프로세스 실행 탐지 시스템이 구동되면, 실행중 프로세스 정보 수집부(21)는 현재 모바일단말에서 실행되는 실행중 프로세스 정보를 수집하고, 악성코드 검출부(25)는 수집된 실행중 프로세스에 대해 악성코드 여부를 검출한다(S31). 여기서, 악성코드 검출부(25)는 통상적인 악성코드 검출방법을 적용할 수 있다.First, when the malicious process execution detection system according to the present invention is activated in the mobile terminal, the process information collection unit 21 during execution collects the process information currently being executed in the mobile terminal, and the malicious code detection unit 25 collects The malicious code is detected for the currently executed process (S31). Here, the malicious code detection unit 25 can apply a conventional malicious code detection method.

다음, 실행중 프로세스 정보 저장부(22)는 수집된 실행중 프로세스 정보를 저장한다(S32).Next, the process information storage unit 22 stores the collected process information during execution (S32).

모바일단말에서 복수의 프로세스가 실행 및 종료됨에 따라 도 1에서 설명한 바와 같이, 안드로이드 운영체제(11)의 로그관리기(15)에는 모든 달빅 가상머신의 가비지콜렉터로부터 로그데이터가 수집된다. 파싱부(23)는 이 로그관리기(15)로부터 로그데이터 스트림을 수신하여 파싱함으로써 프로세스 정보를 추출한다(S34).As a plurality of processes are executed and terminated in the mobile terminal, log data is collected from the garbage collectors of all Dalvik virtual machines in the log manager 15 of the Android operating system 11, as described in FIG. The parsing unit 23 extracts the process information by receiving and parsing the log data stream from the log management unit 15 (S34).

프로세스 비교부(24)는 단계 S34를 통해 로그데이터로부터 추출된 프로세스 정보와 단계 S32에서 기저장된 실행중 프로세스 정보를 비교하여(S35), 실행중 프로세스 정보 저장부에 저장되어 있지 않는 신규 실행된 프로세스에 대해 악성코드 여부를 검출하며, 실행중 프로세스 정보 저장부에 업데이트한다(S36).The process comparing unit 24 compares the process information extracted from the log data with the process information currently being stored in the step S32 (S35) through the step S34, and compares the newly executed process (S36), and updates it to the process information storage unit during execution.

상술한 단계 S33 내지 단계 S36을 통해, 신규 실행된 프로세스에 대한 정보를 실시간으로 검출할 수 있으며, 신규 실행된 프로세스에 대해 악성코드 여부를 검출하기 때문에, 신규로 실행되는 악성 프로세스에 대한 실시간 검출이 가능하다.The information on the newly executed process can be detected in real time through the steps S33 to S36 described above and the presence or absence of the malicious code is detected with respect to the newly executed process so that the real- It is possible.

한편, 단계 S33 내지 단계 S36을 반복 수행하면 실행중 프로세스 정보 저장부에 저장되는 실행중 프로세스 목록이 증가함에 따라 로그데이터로부터 추출된 프로세스 정보와의 비교 대상이 증가하여 신규 실행된 프로세스를 추출하는데 많은 시간이 소요된다.On the other hand, if steps S33 to S36 are repeatedly performed, the number of processes to be compared with the process information extracted from the log data increases as the process list stored in the process information storage unit during execution increases, It takes time.

이 발명에서는 주기적으로 실행중 프로세스 정보 수집부(21)를 구동하여 실행중 프로세스 정보 저장부(22)를 업데이트함으로써, 종료된 프로세스는 실행중 프로세스 목록에서 제거되도록 한다.In the present invention, the process information collection unit 21 is periodically executed to update the process information storage unit 22 during execution so that the terminated process is removed from the process list during execution.

검출 주기가 도래하면(S37), 실행중 프로세스 정보 수집부(21)를 구동하여 실행중 프로세스 정보를 수집하고(S38), 새로 수집된 실행중 프로세스 정보를 기반으로 실행중 프로세스 정보 저장부를 업데이트하며, 신규 실행된 프로세스에 대해서는 악성코드 여부를 검출한다(S39).When the detection cycle comes (S37), the process information collecting unit 21 is executed to collect the process information during execution (S38), and updates the process information storage unit during execution based on the newly collected in-process information , And detects whether or not the newly executed process is a malicious code (S39).

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. In addition, it is a matter of course that various modifications and variations are possible without departing from the scope of the technical idea of the present invention by anyone having ordinary skill in the art.

20: 악성 프로세스 실행 탐지 시스템 20a : 달빅 가상머신
21: 실행중 프로세스 정보 수집부 22: 실행중 프로세스 정보 저장부
23: 파싱부 24: 프로세스 비교부
25: 악성코드 검출부
20: malicious process execution detection system 20a: Dalbig virtual machine
21: Process information collecting part during execution 22: Process information storing part during execution
23: parsing section 24: process comparing section
25: malicious code detection unit

Claims (6)

안드로이드 운영체제 상에서 실행중인 프로세스에 관한 정보를 수집하는 실행중 프로세스 정보 수집부와,
상기 실행중 프로세스 정보 수집부에서 수집된 실행중 프로세스 정보를 기반으로 실행중 프로세스 목록을 저장하는 실행중 프로세스 정보 저장부와,
로그관리기로부터 로그데이터를 수신하여 상기 로그데이터로부터 프로세스 정보를 추출하는 파싱부와,
상기 파싱부에서 추출된 프로세스 정보와 상기 실행중 프로세스 목록을 비교하여 상기 로그데이터를 기반으로 신규 실행된 프로세스 정보를 추출하는 프로세스 비교부와,
상기 신규 실행된 프로세스가 악성 코드인지 여부를 검출하는 악성코드 검출부를 포함하고,
상기 실행중 프로세스 정보 수집부는 주기적으로 실행되고 상기 실행중 프로세스 정보 저장부를 주기적으로 업데이트하여 상기 실행중 프로세스 목록에서 종료된 프로세스가 제거되도록 하는 것을 특징으로 하는 모바일단말의 악성 프로세스 실행 탐지 시스템.
A running-process-information collecting unit for collecting information about a process running on the Android operating system,
An execution-process-information storage unit for storing a list of processes in execution based on the process information collected during the execution;
A parser for receiving log data from the log manager and extracting the process information from the log data,
A process comparator for comparing the process information extracted by the parser with the process list and extracting the newly executed process information based on the log data,
And a malicious code detecting unit for detecting whether the newly executed process is a malicious code,
Wherein the process information collection unit is periodically executed and periodically updates the process information storage unit during the execution so that the terminated process is removed from the process list.
제 1 항에 있어서, 상기 프로세스 비교부는 상기 신규 실행된 프로세스 정보를 상기 실행중 프로세스 목록에 추가하는 것을 특징으로 하는 모바일단말의 악성 프로세스 실행 탐지 시스템.The malicious process execution detection system according to claim 1, wherein the process comparison unit adds the newly executed process information to the running process list. 삭제delete 모바일단말에 설치된 악성 프로세스 실행 탐지 시스템의 악성 프로세스 실행 탐지 방법에 있어서,
상기 악성 프로세스 실행 탐지 시스템이 안드로이드 운영체제 상에서 실행중인 프로세스에 관한 정보를 수집하는 제1단계와,
상기 악성 프로세스 실행 탐지 시스템이 상기 제1단계에서 수집된 실행중 프로세스 정보를 기반으로 실행중 프로세스 정보 저장부에 실행중 프로세스 목록을 저장하는 제2단계와,
상기 악성 프로세스 실행 탐지 시스템이 로그관리기로부터 로그데이터를 수신하여 상기 로그데이터로부터 프로세스 정보를 추출하는 제3단계와,
상기 악성 프로세스 실행 탐지 시스템이 상기 제3단계에서 추출된 프로세스 정보와 상기 실행중 프로세스 목록을 비교하여 상기 로그데이터를 기반으로 신규 실행된 프로세스 정보를 추출하는 제4단계와,
상기 악성 프로세스 실행 탐지 시스템이 상기 신규 실행된 프로세스가 악성 코드인지 여부를 검출하는 제5단계를 포함하고,
상기 제1단계와 제2단계는 주기적으로 실행되고 상기 실행중 프로세스 정보 저장부를 주기적으로 업데이트하여 상기 실행중 프로세스 목록에서 종료된 프로세스가 제거되도록 하는 것을 특징으로 하는 모바일단말의 악성 프로세스 실행 탐지 방법.
A malicious process execution detection method of a malicious process execution detection system installed in a mobile terminal,
A first step of the malicious process execution detection system collecting information on a process running on the Android operating system;
A second step of the malicious process execution detection system storing a running process list in a process information storing unit during execution based on the running process information collected in the first step;
A third step of the malicious process execution detection system receiving log data from the log manager and extracting process information from the log data;
A fourth step of the malicious process execution detection system comparing the process information extracted in the third step with the execution process list and extracting the newly executed process information based on the log data;
And a fifth step of the malicious process execution detection system detecting whether the newly executed process is a malicious code,
Wherein the first and second steps are performed periodically to periodically update the process information storage during execution so that the terminated process is removed from the running process list.
제 4 항에 있어서, 상기 제4단계는 상기 신규 실행된 프로세스 정보를 상기 실행중 프로세스 목록에 추가하는 것을 특징으로 하는 모바일단말의 악성 프로세스 실행 탐지 방법.5. The method of claim 4, wherein the fourth step adds the newly executed process information to the running process list. 삭제delete
KR1020130132716A 2013-11-04 2013-11-04 Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal KR101530530B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130132716A KR101530530B1 (en) 2013-11-04 2013-11-04 Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130132716A KR101530530B1 (en) 2013-11-04 2013-11-04 Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal

Publications (2)

Publication Number Publication Date
KR20150052387A KR20150052387A (en) 2015-05-14
KR101530530B1 true KR101530530B1 (en) 2015-06-23

Family

ID=53389305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130132716A KR101530530B1 (en) 2013-11-04 2013-11-04 Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal

Country Status (1)

Country Link
KR (1) KR101530530B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101666176B1 (en) * 2015-06-25 2016-10-14 한국전자통신연구원 Apparatus and method for of monitoring application based on android platform
KR101854391B1 (en) * 2016-07-21 2018-05-04 (주)레드스톤소프트 Method of security Inspection for terminal by using Log Searching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120076100A (en) * 2010-12-29 2012-07-09 한남대학교 산학협력단 A malware detection system in open mobile platform
KR101256461B1 (en) * 2012-09-03 2013-04-19 주식회사 안랩 Apparatus and method for detecting start point of process

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120076100A (en) * 2010-12-29 2012-07-09 한남대학교 산학협력단 A malware detection system in open mobile platform
KR101256461B1 (en) * 2012-09-03 2013-04-19 주식회사 안랩 Apparatus and method for detecting start point of process

Also Published As

Publication number Publication date
KR20150052387A (en) 2015-05-14

Similar Documents

Publication Publication Date Title
Corina et al. Difuze: Interface aware fuzzing for kernel drivers
KR101246623B1 (en) Apparatus and method for detecting malicious applications
KR102415971B1 (en) Apparatus and Method for Recognizing Vicious Mobile App
KR100938672B1 (en) The method and apparatus for detecting dll inserted by malicious code
US8713680B2 (en) Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
CN104834859B (en) The dynamic testing method of malicious act in a kind of Android applications
EP3175386B1 (en) Transparent detection and extraction of return-oriented-programming attacks
US20160378989A1 (en) Apparatus and method for monitoring android platform-based application
Canfora et al. Acquiring and analyzing app metrics for effective mobile malware detection
CN106951780A (en) Beat again the static detection method and device of bag malicious application
CN101515320A (en) Vulnerability testing method in attack and system thereof
Gianazza et al. Puppetdroid: A user-centric ui exerciser for automatic dynamic analysis of similar android applications
CN103294951B (en) A kind of malicious code sample extracting method based on document type bug and system
KR101325954B1 (en) Method of auto-executing android applications using code-analysis and view analysis, and computer-readable recording medium with android application auto-executing program for the same
KR101816751B1 (en) Apparatus and method for monitoring virtual machine based on hypervisor
CN103778373A (en) Virus detection method and device
CN105095759A (en) File detection method and device
CN103065090A (en) Method and device for intercepting malicious advertisements of application program
KR101256468B1 (en) Apparatus and method for detecting malicious file
Stirparo et al. Data-in-use leakages from Android memory—Test and analysis
CN114462044A (en) UEFI (unified extensible firmware interface) firmware vulnerability static detection method and device based on taint analysis
KR20090005933A (en) Method and apparatus for modeling computer program behavior for behavioral detection of malicious program
CN111931185A (en) Java anti-serialization vulnerability detection method and component
Sihag et al. Opcode n-gram based malware classification in android
CN114282212A (en) Rogue software identification method and device, electronic equipment and storage medium

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