KR101256461B1 - Apparatus and method for detecting start point of process - Google Patents

Apparatus and method for detecting start point of process Download PDF

Info

Publication number
KR101256461B1
KR101256461B1 KR1020120097159A KR20120097159A KR101256461B1 KR 101256461 B1 KR101256461 B1 KR 101256461B1 KR 1020120097159 A KR1020120097159 A KR 1020120097159A KR 20120097159 A KR20120097159 A KR 20120097159A KR 101256461 B1 KR101256461 B1 KR 101256461B1
Authority
KR
South Korea
Prior art keywords
information
process execution
application
file
execution time
Prior art date
Application number
KR1020120097159A
Other languages
Korean (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 KR1020120097159A priority Critical patent/KR101256461B1/en
Application granted granted Critical
Publication of KR101256461B1 publication Critical patent/KR101256461B1/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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

PURPOSE: A process execution point determination device and a method thereof are provided to effectively execute the diagnosis of a malignant code by inspecting a process corresponding to a process execution point by detecting the process execution point of an application executed in a portable terminal. CONSTITUTION: An execution monitoring unit(200) records process execution information in a process information file by detecting the process execution information of an application executed in a portable terminal. A file monitoring unit(204) detects a process execution point of the application by monitoring the conversion of the process execution information. A diagnosis unit(116) inspects whether malignant codes for the application are existed in the process execution point. The execution monitoring unit detects the process execution information of the application by continuously confirming log file recording log information for all events generated in the portable terminal. [Reference numerals] (200) Execution monitoring unit; (202) Process information file; (204) File monitoring unit; (210) Control unit; (212) Inspection unit; (214) Signature DB; (AA) Log cat;

Description

프로세스 실행 시점 판단장치 및 방법{APPARATUS AND METHOD FOR DETECTING START POINT OF PROCESS}DETERMINATION AND METHOD FOR DETERMINING PROCESS EXECUTION {APPARATUS AND METHOD FOR DETECTING START POINT OF PROCESS}

본 발명은 프로세스 실행 시점 판단에 관한 것으로, 특히 스마트폰(smartphone) 등의 휴대용 단말기에 설치되는 애플리케이션(application) 파일에 대한 악성코드 진단 시 휴대용 단말기에서 실행되는 애플리케이션의 프로세스(process) 실행 시점을 검출하고, 프로세스 실행 시점에 해당 프로세스만 검사하여 악성코드 진단을 수행함으로서 악성코드의 진단을 보다 효율적으로 수행할 수 있으며, 보안강도를 높일 수 있도록 하는 프로세스 실행 시점 판단 장치 및 방법에 관한 것이다.
The present invention relates to the determination of the execution time of a process. In particular, when the malware is diagnosed for an application file installed in a portable terminal such as a smartphone, a process execution time of an application executed in the portable terminal is detected. In addition, the present invention relates to an apparatus and method for determining a process execution time point, which can diagnose a malicious code more efficiently by inspecting only a corresponding process at a process execution time, and to increase the security strength.

근래에 들어, 유무선 인터넷뿐만 아니라 이동통신 기술의 발달로, 단순히 전화통화 기능뿐만이 아닌 무선 인터넷 기능 등 다양한 기능을 갖춘 휴대폰이 보급되고 있다. 특히 최근에 보급이 확산되고 있는 스마트폰은 멀티미디어 재생기능 등의 다양한 기능의 응용프로그램의 설치가 가능하여, 사용자들이 여러 용도로 스마트폰을 이용하고 있다.Recently, with the development of mobile communication technology as well as wired and wireless Internet, mobile phones having various functions such as wireless Internet function as well as telephone call function have been widely used. In particular, smart phones, which are recently spreading, can install various functions such as multimedia playback functions, and users are using smart phones for various purposes.

일반적으로 스마트폰은 휴대전화와 개인휴대단말기(personal digital assistant : PDA)의 장점을 합친 것으로, 휴대 전화기에 일정관리, 메일 송수신 및 인터넷 접속 등의 데이터 통신기능을 통합시켜 구현된다. 통상 스마트폰에는 와이파이(wifi)와 같은 무선통신모듈이 장착되어 인터넷망을 통한 데이터 송수신도 가능하며, 인터넷 정보검색은 물론 액정디스플레이에 전자펜으로 문자를 입력하거나 약도 등 그림 정보를 송수신할 수 있다. In general, a smart phone combines the advantages of a mobile phone and a personal digital assistant (PDA), and is implemented by integrating data communication functions such as schedule management, e-mail transmission, and Internet access. In general, a smart phone is equipped with a wireless communication module such as Wi-Fi, and can transmit and receive data through the Internet network. Also, it is possible to search for information on the Internet and to send and receive picture information such as directions by using an electronic pen on the liquid crystal display. .

이러한 스마트폰과, 테블릿 PC 등의 휴대용 단말기는 예를들어 iOS, 안드로이드 등 각각의 운영체제가 존재하며, 해당 운영체제에 의해 실행 가능한 애플리케이션의 개발이 활발히 이루어지고 있다.Such smart phones and portable terminals such as tablet PCs have respective operating systems such as iOS and Android, and development of applications executable by the corresponding operating systems is being actively performed.

한편, 위와 같이 스마트폰 등의 휴대용 단말기 사용자가 늘어남에 따라 휴대용 단말기를 타겟으로 하는 악성코드 또한 급격히 증가하고 있으며, 악성코드의 공격 수법도 다양해지고 있다. Meanwhile, as users of mobile terminals such as smart phones are increasing in number as described above, malicious codes targeting portable terminals are also rapidly increasing, and attack methods of malicious codes are also diversifying.

이러한 악성코드로 예를 들어 모바일 바이러스, 웜, 트로이목마, 스파이웨어와 같은 악성코드가 수없이 많이 제작되고 유포되고 있고, 악성코드의 유포는 곧 휴대용 단말기의 개인정보 유출과 금융거래의 피해로 이어지게 된다.Such malicious codes are produced and distributed innumerably, such as mobile viruses, worms, Trojan horses, and spyware, and the distribution of malicious codes can lead to the leakage of personal information and financial transactions on mobile devices. do.

따라서, 휴대용 단말기에서 악성코드를 효율적으로 탐지하는 다양한 보안 방법이 제안되고 있다.Therefore, various security methods for efficiently detecting malicious codes in portable terminals have been proposed.

그러나, 종래 악성코드의 탐지를 위한 보안 방법에서는 대부분 휴대용 단말기에서 이미 실행중인 애플리케이션에 대해 프로세스 리스트를 주기적으로 검사하는 방식으로 악성코드를 탐지하고 있어, 악성코드가 실행되는 시점에 정확하게 탐지하지 못하는 문제점이 있었으며, 또한 지속적으로 실행중인 모든 프로세스를 지정된 시간마다 검사하므로 휴대용 단말기의 성능 저하 및 배터리 소모에 상당한 영향을 미치는 문제점이 있었다.
However, in the conventional security methods for detecting malicious codes, most mobile devices detect malicious codes by periodically checking a process list for applications that are already running on the mobile terminal, and thus cannot accurately detect the malicious code at the time of execution. In addition, there is a problem that significantly affects the performance and battery consumption of the portable terminal because it checks every running process every specified time.

(특허문헌)(Patent Literature)

대한민국 공개특허번호 10-2012-0029734호 공개일자 2012년 03월 27일에는 이동통신 기기를 위한 악성 프로그램 탐지방법 및 장치에 관한 기술이 개시되어 있다.
Republic of Korea Patent Publication No. 10-2012-0029734 Publication Date March 27, 2012 discloses a technique for a malicious program detection method and apparatus for a mobile communication device.

따라서, 본 발명은 스마트폰 등의 휴대용 단말기에 설치되는 애플리케이션 파일에 대한 악성코드 진단 시 휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 시점을 검출하고, 프로세스 실행 시점에 해당 프로세스만 검사하여 악성코드 진단을 수행함으로서 악성코드의 진단을 보다 효율적으로 수행할 수 있으며, 보안강도를 높일 수 있도록 하는 프로세스 실행 시점 판단 장치 및 방법을 제공하고자 한다.
Therefore, the present invention detects a process execution time of an application executed on a portable terminal when diagnosing malware on an application file installed in a portable terminal such as a smartphone, and performs only a malicious code diagnosis by inspecting only the corresponding process at the time of execution of the process. By doing so, it is possible to more efficiently diagnose malicious code, and to provide an apparatus and method for determining a process execution time to increase security strength.

상술한 본 발명은 프로세스 실행시점 판단장치로서, 휴대용 단말기에서 실행되는 상기 애플리케이션의 프로세스 실행 정보를 검출하고, 상기 프로세스 실행 정보를 프로세스 정보 파일에 기록하는 실행 감시부와, 상기 프로세스 정보 파일에 기록되는 상기 프로세스 실행 정보의 변경 여부를 감시하여 상기 애플리케이션의 프로세스 실행 시점을 검출하는 파일 감시부를 포함한다.The present invention described above is a process execution time determination apparatus, comprising: an execution monitoring unit for detecting process execution information of the application executed in a portable terminal and recording the process execution information in a process information file, and recorded in the process information file; And a file monitoring unit that monitors whether the process execution information is changed and detects a process execution time of the application.

또한, 상기 장치는, 상기 프로세스 실행 시점에 상기 애플리케이션에 대한 악성코드 여부를 검사하는 진단부를 더 포함한다.The apparatus may further include a diagnosis unit that checks whether the malicious code for the application is executed at the time of executing the process.

또한, 상기 프로세스 실행 검출부는, 상기 휴대용 단말기에서 실행되는 상기 애플리케이션의 프로세스 실행 정보를 검출하고, 상기 프로세스 실행 정보를 프로세스 정보 파일에 기록하는 실행 감시부와, 상기 프로세스 정보 파일에 기록되는 상기 프로세스 실행 정보의 변경 여부를 감시하여 상기 애플리케이션의 프로세스 실행 시점을 검출하는 파일 감시부를 포함하는 것을 특징으로 한다.The process execution detection unit may further include: an execution monitoring unit that detects process execution information of the application executed in the portable terminal, records the process execution information in a process information file, and executes the process recorded in the process information file. And a file monitoring unit that monitors whether information is changed and detects a process execution time of the application.

또한, 상기 실행 감시부는, 상기 휴대용 단말기에서 발생하는 모든 이벤트에 대한 로그 정보를 기록하는 로그파일을 지속적으로 확인하여 상기 애플리케이션의 프로세스 실행 정보를 검출하는 것을 특징으로 한다.The execution monitoring unit may continuously check a log file that records log information of all events occurring in the portable terminal to detect process execution information of the application.

또한, 상기 실행 감시부는, 상기 로그 정보 중 상기 애플리케이션의 프로세스 실행 정보만을 필터링하여 검출하는 것을 특징으로 한다.The execution monitoring unit may filter and detect only process execution information of the application among the log information.

또한, 상기 실행 감시부는, 상기 프로세스 실행 정보 및 상기 프로세스 정보를 기록하는 것을 특징으로 한다.The execution monitoring unit may record the process execution information and the process information.

또한, 상기 프로세스 정보는, 상기 프로세스에 해당하는 애플리케이션의 패키지명(package id), 클래스명(class id) 또는 PID(process ID) 중 적어도 하나 이상인 것을 특징으로 한다.The process information may include at least one of a package id, a class id or a PID of an application corresponding to the process.

또한, 상기 파일 감시부는, 상기 프로세스 정보 파일에서, 이전 기록된 프로세스 실행 정보에 추가적인 프로세스 실행 정보가 기록되는 경우 상기 프로세스 실행 정보의 변경으로 판단하는 것을 특징으로 한다.The file monitoring unit may determine that the process execution information is changed when additional process execution information is recorded in previously recorded process execution information in the process information file.

또한, 상기 진단부는, 상기 악성코드 판단을 위한 시그니처 정보를 저장하고 있는 시그니처 DB와, 상기 애플리케이션의 상기 프로세스 실행 시점을 수신하는 경우 상기 시그니처 DB를 이용하여 상기 애플리케이션에 대한 악성코드 여부를 검사하는 검사부와, 상기 검사부의 결과에 따라 악성코드로 검사되는 경우 상기 애플리케이션의 실행을 차단시키는 제어부를 포함하는 것을 특징으로 한다.The diagnosis unit may include a signature DB that stores signature information for determining the malicious code, and an inspection unit that checks whether the application is malicious code by using the signature DB when receiving the process execution time of the application. And a controller which blocks the execution of the application when the malicious code is inspected according to a result of the inspection unit.

또한, 상기 휴대용 단말기는, 스마트폰, 테블릿 PC 또는 PDA 중 어느 하나인 것을 특징으로 한다.The portable terminal may be any one of a smartphone, a tablet PC, and a PDA.

또한, 프로세스 실행시점을 이용한 악성코드 진단방법으로서, 휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 시점을 검출하는 단계와, 상기 프로세스 실행 시점에 상기 애플리케이션에 대한 악성코드 여부를 검사하는 단계를 포함한다.In addition, a method for diagnosing malware using a process execution time, the method comprising detecting a process execution time of an application executed in a portable terminal, and checking whether the malicious code for the application at the process execution time.

또한, 상기 프로세스 실행 시점을 검출하는 단계는, 상기 휴대용 단말기에서 실행되는 상기 애플리케이션의 상기 프로세스 실행 정보를 검출하는 단계와, 상기 프로세스 실행 정보를 프로세스 정보 파일에 기록하는 단계와, 상기 프로세스 정보 파일에 기록되는 상기 프로세스 실행 정보의 변경 여부를 감시하는 단계와, 상기 프로세스 실행 정보의 변경이 있는 경우 상기 애플리케이션의 상기 프로세스 실행 시점을 검출하는 단계를 포함하는 것을 특징으로 한다.The detecting of the process execution time may include detecting the process execution information of the application executed in the portable terminal, recording the process execution information in a process information file, and in the process information file. Monitoring whether or not the recorded process execution information is changed; and detecting the process execution time of the application when there is a change in the process execution information.

또한, 상기 프로세스 실행 정보를 검출하는 단계는, 상기 휴대용 단말기에서 발생하는 모든 이벤트에 대한 로그 정보를 기록하는 로그파일을 지속적으로 확인하는 단계와, 상기 로그파일로부터 상기 애플리케이션의 프로세스 실행 정보를 검출하는 단계를 포함하는 것을 특징으로 한다.The detecting of the process execution information may include continuously checking a log file that records log information of all events occurring in the portable terminal, and detecting process execution information of the application from the log file. Characterized in that it comprises a step.

또한, 상기 프로세스 실행 정보를 검출하는 단계는, 상기 로그파일의 정보 중 상기 애플리케이션의 상기 프로세스 실행 정보만을 필터링하여 검출하는 것을 특징으로 한다.The detecting of the process execution information may include detecting and filtering only the process execution information of the application from among the log file information.

또한, 상기 기록하는 단계는, 상기 프로세스 실행 정보 및 상기 프로세스 정보를 기록하는 것을 특징으로 한다.The recording may include recording the process execution information and the process information.

또한, 상기 프로세스 정보는, 상기 프로세스에 해당하는 애플리케이션의 패키지명, 클래스명 또는 PID 중 적어도 하나 이상인 것을 특징으로 한다.The process information may include at least one of a package name, a class name, and a PID of an application corresponding to the process.

또한, 상기 변경 여부를 감시하는 단계는, 상기 프로세스 정보 파일에서, 이전 기록된 프로세스 실행 정보에 추가적인 프로세스 실행 정보가 기록되는지 여부를 검사하는 단계와, 상기 추가적인 프로세스 실행 정보가 기록되는 경우 상기 프로세스 실행 정보의 변경으로 판단하는 단계를 포함하는 것을 특징으로 한다.The monitoring of the change may include: checking whether additional process execution information is recorded in previously recorded process execution information in the process information file, and executing the process when the additional process execution information is recorded. And determining the change of information.

또한, 상기 악성코드 여부를 검사하는 단계는, 상기 애플리케이션의 상기 프로세스 실행 시점을 수신하는 단계와, 상기 프로세스 실행 시점에 시그니처 DB를 이용하여 상기 애플리케이션에 대한 악성코드 여부를 검사하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of checking whether the malicious code includes the step of receiving the process execution time of the application, and the step of checking whether the malicious code for the application using a signature DB at the process execution time. It features.

또한, 상기 악성코드 여부의 검사결과, 악성코드로 판단되는 경우 해당 애플리케이션의 실행을 종료시키는 단계를 더 포함하는 것을 특징으로 한다.
The method may further include terminating the execution of the application if it is determined that the malicious code is a malicious code.

본 발명은 스마트폰 등의 휴대용 단말기에 설치되는 애플리케이션 파일에 대한 악성코드 진단 시 휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 시점을 검출하고, 프로세스 실행 시점에 해당 프로세스만 검사하여 악성코드 진단을 수행함으로서 악성코드의 진단을 보다 효율적으로 수행할 수 있으며, 보안강도를 높일 수 있는 이점이 있다. The present invention detects a process execution time of an application running on a portable terminal when diagnosing malware on an application file installed in a portable terminal such as a smartphone, and performs malicious code diagnosis by inspecting only the corresponding process at the time of execution of the process. Diagnosis of the code can be performed more efficiently, and there is an advantage to increase the security strength.

또한, 휴대용 단말기에서 애플리케이션이 실행되는 경우 프로세스 실행 시점을 정확히 판단하고, 해당 프로세스만 검사하여 악성코드를 진단함으로써 종래 휴대용 단말기에서 실행되는 모든 프로세스에 대해 주기적으로 악성코드 진단을 수행함에 따라 발생하는 단말기의 성능 저하 및 배터리 소모 등의 문제점을 개선시킬 수 있는 이점이 있다.
In addition, when an application is executed in the portable terminal, the terminal is generated by periodically determining the execution time of the process, inspecting only the corresponding process, and diagnosing the malicious code to periodically diagnose all the processes executed in the conventional portable terminal. There is an advantage that can improve problems such as performance degradation and battery consumption.

도 1은 본 발명의 실시예에 따른 프로세스 실행 시점 판단장치가 적용되는 휴대용 단말기의 상세 블록 구성도,
도 2는 본 발명의 실시예에 따른 프로세스 실행 시점 판단장치의 상세 블록 구성도,
도 3은 본 발명의 실시예에 따른 프로세스 실행 시점을 이용한 악성코드 진단 제어 흐름도.
1 is a detailed block diagram of a portable terminal to which a process execution time determination apparatus according to an embodiment of the present invention is applied;
2 is a detailed block diagram of an apparatus for determining a process execution time according to an embodiment of the present invention;
3 is a flowchart for controlling malware diagnosis using a process execution point in accordance with an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention. In the following description of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which may be executed by a processor of a computer or other programmable data processing apparatus, And means for performing the functions described in each step are created.

이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram.

컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

도 1은 본 발명의 실시예에 따른 프로세스 실행 시점 판단장치가 적용되는 휴대용 단말기(100)의 상세 블록 구성을 도시한 것이다. 이러한 휴대용 단말기는 스마트폰, 테블릿 PC 등의 단말기를 포함할 수 있다. 1 is a block diagram illustrating a detailed block configuration of a portable terminal 100 to which a process execution time determination apparatus according to an exemplary embodiment of the present invention is applied. Such a portable terminal may include a terminal such as a smartphone or a tablet PC.

이하, 도 1을 참조하여 휴대용 단말기(100)의 각 구성요소와 프로세스 실행 시점 판단장치(112)의 동작을 상세히 설명하기로 한다.Hereinafter, the operation of each component of the portable terminal 100 and the process execution time determination device 112 will be described in detail with reference to FIG. 1.

도 1을 참조하면, 본 발명의 일 실시예에 따른 휴대용 단말기(100)는 키입력부(102), 통신부(104), 표시부(106), 제어부(108), 메모리부(110), 프로세스 실행 시점 판단장치(112)로 구성될 수 있다.Referring to FIG. 1, a portable terminal 100 according to an embodiment of the present invention may include a key input unit 102, a communication unit 104, a display unit 106, a control unit 108, a memory unit 110, and a process execution time. The determination device 112 may be configured.

먼저, 키입력부(102)는 휴대용 단말기(100)의 다양한 동작 요청을 위한 다수의 숫자키 및 기능키로 구성될 수 있으며, 사용자가 소정의 키를 누를 때 해당하는 키데이터를 발생하여 제어부(108)로 출력한다. 위와 같은 키입력부(102)는 제조사별, 국가별로 문자 배열의 차이가 있다. 또한, 키입력부(102)는 스마트폰(smart phone), 테블릿 PC 등에서는 물리적인 키패드(keypad) 대신, 소프트웨어 방식으로 필요시마다 표시부(106)상에 터치 스크린(touch screen) 형식으로 표시될 수도 있다.First, the key input unit 102 may be composed of a plurality of numeric keys and function keys for various operation requests of the portable terminal 100, and generates a corresponding key data when the user presses a predetermined key control unit 108 Will output The key input unit 102 as described above has a difference in character arrangement by manufacturer and country. In addition, the key input unit 102 may be displayed on the display unit 106 in a touch screen format whenever necessary by a software method, instead of a physical keypad in a smart phone, a tablet PC, or the like. have.

통신부(104)는 유선망 또는 무선망을 통해 인터넷에 연결되어 데이터 송수신을 수행하며, 예를 들어, 휴대용 단말기가 안드로이드 기반의 스마트폰 등인 경우 안드로이드 플레이스토어(play store)등의 앱스토어로부터 사용자에 의해 다운로드 선택된 애플리케이션 파일을 수신할 수 있다.The communication unit 104 is connected to the Internet via a wired or wireless network to perform data transmission and reception. For example, when the portable terminal is an Android-based smartphone, the communication unit 104 is used by a user from an app store such as an Android play store. Download Can receive the selected application file.

표시부(106)는 제어부(108)의 제어에 따라 휴대용 단말기(100)의 각종 정보를 표시하며, 키입력부(102)에서 발생되는 키데이터 및 제어부(108)의 각종 정보신호를 입력받아 디스플레이한다. The display unit 106 displays various types of information of the portable terminal 100 under the control of the controller 108, and receives and displays key data generated by the key input unit 102 and various information signals of the controller 108.

제어부(108)는 메모리부(110)에 저장된 동작 프로그램에 따라 휴대용 단말기(100)의 전반적인 동작을 제어한다. 위와 같은 동작 프로그램은 단말기(100)의 동작에 필요한 기본적인 운영 시스템(operating system) 뿐만 아니라, 표시부(106)와 키입력부(102)를 연결하고, 데이터의 입/출력을 관리하거나, 단말기(100)의 내부 애플리케이션(application) 등을 동작시키도록 제조 시 미리 프로그램밍(programing)되는 소프트웨어(software)를 통칭한다.The controller 108 controls the overall operation of the portable terminal 100 according to the operation program stored in the memory unit 110. The operation program as described above connects the display unit 106 and the key input unit 102 as well as the basic operating system required for the operation of the terminal 100, and manages input / output of data or the terminal 100. It refers to software that is preprogrammed at the time of manufacture to operate the internal application of the same.

또한, 제어부(108)는 안드로이드 플레이 스토어 등에서 사용자에 의해 선택된 애플리케이션 파일을 통신부(104)를 통해 수신받은 후, 이를 설치하여 휴대용 단말기(100)에서 해당 애플리케이션이 실행될 수 있도록 제어한다. In addition, the controller 108 receives the application file selected by the user from the Android play store through the communication unit 104 and installs it to control the application to be executed in the portable terminal 100.

이때, 위와 같이 휴대용 단말기(100)에 설치되는 다양한 애플리케이션에는 악의적인 사용자에 의해 제작된 악성 애플리케이션이 존재할 수 있으며, 휴대용 단말기(100)의 제조시 탑재되는 애플리케이션 등은 악성코드에 감염되는 경우 발생할 수 있는데, 이와 같은 악성 애플리케이션이 실행되는 경우 휴대용 단말기(100)의 사용자 개인 정보를 탈취하거나 단말기 기능을 손상시키는 등의 여러 가지 문제점이 있을 수 있다.At this time, a variety of applications installed on the portable terminal 100 as described above may exist a malicious application produced by a malicious user, the application mounted during the manufacturing of the portable terminal 100 may occur when infected with malware. However, when such a malicious application is executed, there may be various problems such as taking user's personal information of the portable terminal 100 or damaging the terminal function.

따라서, 본 발명에 따라 예를 들어 휴대용 단말기(100)에 탑재되는 프로세스실행 시점 판단장치(112)에서는 휴대용 단말기(100)에 설치되는 애플리케이션 파일을 포함하는 모든 파일에 대한 악성코드 유무의 진단 수행 시 휴대용 단말기(100)에 설치된 모든 파일에 대해 진단을 수행하되, 휴대용 단말기(100)에서 실행되는 애플리케이션의 프로세스 실행 시점을 검출하여 프로세스 실행 시점에 해당 애플리케이션에 대한 악성코드 진단을 수행함으로서 악성코드를 포함한 애플리케이션의 경우 악성코드가 실행하는 시점에 탐지할 수 있도록 한다.Therefore, according to the present invention, for example, in the process execution time determination device 112 mounted on the portable terminal 100, when performing diagnosis of the presence or absence of malicious code for all files including application files installed on the portable terminal 100. Diagnose all files installed in the portable terminal 100, and detect a process execution time of an application executed in the portable terminal 100, and perform malicious code diagnosis on the application at the process execution time, including malicious code. Applications can be detected at the time the malware runs.

즉, 프로세스 실행 시점 판단장치(112)내 프로세스 실행 검출부(114)에서는 휴대용 단말기(100)에서 실행되는 애플리케이션의 프로세스 실행 정보를 검출하고, 검출된 프로세스 실행 정보를 이용하여 상기 애플리케이션의 프로세스 실행 시점을 검출하며, 이와 같이 프로세스 실행 시점이 검출되는 경우 진단부(116)에서는 프로세스 실행 시점에 애플리케이션에 대한 악성코드 여부를 검사하게 되어 악성코드가 실행되는 정확한 시점에 악성코드에 대한 탐지가 수행될 수 있도록 한다.That is, the process execution detection unit 114 in the process execution time determination apparatus 112 detects process execution information of an application executed in the portable terminal 100 and uses the detected process execution information to determine a process execution time of the application. When the process execution time is detected as described above, the diagnosis unit 116 inspects whether the malicious code for the application is executed at the process execution time so that the detection of the malicious code can be performed at the exact time when the malicious code is executed. do.

이에 따라, 종래 이미 실행중인 애플리케이션에 대해 프로세스 리스트를 주기적으로 검사하는 등으로 악성코드를 탐지하는 경우 악성코드가 실행되는 시점에 정확하게 탐지할 수 없었던 것과 비교하여 보다 효율적인 진단이 가능하고 보안강도 또한 높일 수 있게 된다. 또한, 프로세스가 새로이 시작되는 애플리케이션에 대해서만 프로세스 실행 시점에 선택적으로 해당 프로세스만 검사하여 진단을 수행하도록 함으로서, 종래 주기적으로 실행중인 모든 프로세스를 지정된 시간마다 검사함에 따라 발생하는 휴대용 단말기의 성능 저하 및 배터리 소모 등의 문제점도 해결할 수 있다.Accordingly, when detecting malicious code by periodically checking a process list for an already running application, a more efficient diagnosis is possible and security strength is increased compared to that when the malicious code was not executed correctly. It becomes possible. In addition, by selectively inspecting only the corresponding process at the time of executing the process, only the newly started application is executed to perform diagnosis, thereby degrading the performance and battery of the portable terminal caused by inspecting all the processes that are conventionally executed at regular intervals. Problems such as consumption can also be solved.

도 2는 본 발명의 실시예에 따른 휴대용 단말기(100)의 프로세스 실행 시점판단장치(112)의 상세 블록 구성을 도시한 것으로, 프로세스 실행 검출부(114)와 진단부(116) 등을 포함할 수 있다.2 illustrates a detailed block configuration of the process execution time determining apparatus 112 of the portable terminal 100 according to an embodiment of the present invention, and may include a process execution detecting unit 114 and a diagnosis unit 116. have.

이하, 도 2를 참조하여 본 발명의 실시예의 악성코드 진단장치(112)의 각 구성 요소에서의 동작을 상세히 설명하기로 한다.Hereinafter, the operation of each component of the malware diagnosis apparatus 112 of the embodiment of the present invention will be described in detail with reference to FIG. 2.

먼저, 프로세스 실행 검출부(114)는 실행 감시부(200), 프로세스 정보 파일(202), 파일 감시부(204)를 포함하며, 휴대용 단말기(100)에서 실행되는 애플리케이션의 프로세스 실행 정보를 검출하고, 검출된 프로세스 실행 정보를 이용하여 애플리케이션의 프로세스 실행 시점을 검출한다.First, the process execution detection unit 114 includes an execution monitoring unit 200, a process information file 202, and a file monitoring unit 204, and detects process execution information of an application executed in the portable terminal 100, The process execution time of the application is detected using the detected process execution information.

실행 감시부(200)는 휴대용 단말기(100)에서 실행되는 애플리케이션의 프로세스 실행 정보를 검출하고, 이와 같이 검출한 프로세스 실행 정보를 프로세스 정보 파일(202)에 기록한다. 예를 들어, 안드로이드 기반의 휴대용 단말기(100)에서는 단말에서 발생하는 모든 이벤트(event)에 대해 로그(log) 정보를 기록하는 로그캣(log cat)이라고 하는 모듈(module)이 존재할 수 있는데, 실행 감시부(200)는 이와 같은 로그캣에 기록되는 로그 정보를 감시하면서 애플리케이션의 실행에 따른 프로세스 실행 정보가 기록되는 경우, 해당 프로세스 실행 정보를 검출할 수 있다. 즉, 실행 감시부(200)에서는 로그캣으로부터 필터링(filtering)할 정보가 셋팅(setting)되는 경우 로그캣에 해당 정보가 기록될 시 이를 검출하여 프로세스 정보 파일(202)에 기록할 수 있다. The execution monitoring unit 200 detects process execution information of an application executed in the portable terminal 100 and records the detected process execution information in the process information file 202. For example, in the Android-based portable terminal 100, there may be a module called log cat that records log information for all events occurring in the terminal. The monitoring unit 200 may detect the process execution information when the process execution information according to the execution of the application is recorded while monitoring the log information recorded in the logcat. That is, when the information to be filtered from the logcat is set, the execution monitoring unit 200 may detect when the information is recorded in the logcat and record the information in the process information file 202.

또한, 실행 감시부(200)는 프로세스 실행 정보와 함께 프로세스에 대응되는 애플리케이션의 패키지명(package ID), 클래스명(class ID) 또는 PID(process ID) 등의 프로세스 정보를 기록하여 진단부(116)에서 악성코드 여부에 대한 진단을 수행할 때 해당 애플리케이션에 대한 정보를 쉽게 확인할 수 있도록 한다.In addition, the execution monitoring unit 200 records process information such as a package ID, a class name, a PID, or a process ID of an application corresponding to the process together with the process execution information. ) Makes it easy to check information about the application when performing a diagnosis of malware.

파일 감시부(204)는 프로세스 정보 파일(202)에 기록되는 프로세스 실행 정보의 변경 여부를 감시하여 애플리케이션의 프로세스 실행 시점을 검출한다. 즉, 실행 감시부(200)에 의해 프로세스 정보 파일(202)내 특정 애플리케이션의 프로세스 시작 정보가 기록된 이후, 실제로 프로세스가 실행되어 프로세스 실행 정보가 추가로 기록될 수 있는데, 파일 감시부(204)는 위와 같이 프로세스 정보 파일내 프로세스 실행 정보에 대한 추가적인 기록이 수행되는 경우 프로세스 실행 정보의 변경을 판단하여 애플리케이션의 프로세스 실행 시점으로 검출할 수 있다.The file monitoring unit 204 monitors whether or not the process execution information recorded in the process information file 202 has been changed to detect a process execution time of the application. That is, after the process start information of a specific application in the process information file 202 is recorded by the execution monitoring unit 200, the process may be actually executed to further record the process execution information. The file monitoring unit 204 When the additional recording of the process execution information in the process information file is performed as described above, the processor may determine the change of the process execution information and detect the process execution time of the application.

다음으로, 진단부(116)는 제어부(210), 검사부(212), 시그니처(signature) DB(214)를 포함하며, 프로세스 실행 검출부(114)에서 검출되는 프로세스 실행 시점에 애플리케이션에 대한 악성코드 여부를 검사한다.Next, the diagnosis unit 116 includes a control unit 210, an inspection unit 212, and a signature DB 214, and whether the application is malicious code at a process execution time detected by the process execution detection unit 114. Check it.

검사부(212)는 프로세스 실행 검출부(114)의 파일 감시부(204)로부터 애플리케이션의 프로세스 실행 시점을 수신하는 경우 악성코드 판단을 위한 시그니처 정보를 저장하고 있는 시그니처 DB(214)를 이용하여 애플리케이션에 대한 악성코드 여부를 검사한다.When the inspecting unit 212 receives a process execution time of an application from the file monitoring unit 204 of the process execution detecting unit 114, the inspecting unit 212 uses a signature DB 214 that stores signature information for determining malicious code. Check for malware.

제어부(210)는 검사부(212)로부터 검사결과를 수신하고, 애플리케이션의 프로세스 실행 시점에 악성코드 여부에 대한 검사가 수행된 해당 애플리케이션이 악성코드인 것으로 판단된 경우 해당 애플리케이션의 실행을 차단시키는 등으로 애플리케이션에 대한 제어를 수행할 수 있다.The controller 210 receives the inspection result from the inspection unit 212 and blocks the execution of the application when it is determined that the application, which has been tested for malicious code at the time of execution of the application, is malicious code. You can control the application.

도 3은 본 발명의 실시예에 따른 프로세스 실행 시점 판단장치(112)에서 프로세스 실행 시점을 이용하여 휴대용 단말기(100)에서 실행되는 애플리케이션에 대한 악성코드 여부를 진단하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1, 도 2 및 도 3을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.3 is a flowchart illustrating an operation control flow for diagnosing malicious code for an application executed in the portable terminal 100 using the process execution time in the process execution time determination apparatus 112 according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 3.

먼저, 프로세스 실행 시점 판단장치(112)내 실행 감시부(200)는 휴대용 단말기(100)에서 발생하는 모든 이벤트에 대한 로그 정보를 기록하는 로그캣 등의 모듈을 감시하여 로그캣에 운영자 등에 의해 필터링하도록 설정된 프로세스 실행 정보가 기록되는지에 대한 프로세스 감시를 실행하고(S300), 프로세스 실행 정보가 기록되는 경우 해당 프로세스 실행 정보를 검출하여 프로세스 정보 파일(202)에 기록한다(S302). First, the execution monitoring unit 200 in the process execution time determination apparatus 112 monitors a module such as a logcat that records log information on all events occurring in the portable terminal 100 and filters the logcat by an operator or the like. Process monitoring is executed to determine whether the process execution information set to be recorded is recorded (S300). When the process execution information is recorded, the corresponding process execution information is detected and recorded in the process information file 202 (S302).

이때, 휴대용 단말기(100)에서는 주로 애플리케이션에 대한 악성코드를 검사하게 되므로, 필터링하도록 설정되는 정보는 휴대용 단말기(100)에서 실행되는 애플리케이션의 프로세스에 대한 정보가 될 수 있으며, 실행 감시부(200)는 로그캣으로부터 애플리케이션의 프로세스가 실행됨에 따라 기록되는 프로세스 실행 정보를 검출하여 프로세스 정보 파일(202)에 기록하는 등의 동작으로 프로세스 감시를 실행한다. At this time, since the portable terminal 100 mainly checks the malicious code for the application, the information set to be filtered may be information about a process of an application executed in the portable terminal 100, and the execution monitoring unit 200. Detects process execution information that is recorded as a process of the application is executed from the logcat and records the process execution information in the process information file 202 to execute process monitoring.

다음으로, 프로세스 실행 시점 판단장치(112)내 파일 감시부(204)에서는 애플리케이션의 프로세스 실행 시점을 검출하기 위해 프로세스 정보 파일(202)에 대한 감시를 실행하고(S304), 프로세스 정보 파일(202)내 기록되는 프로세스 실행 정보의 변경이 발생하는지를 검사하게 된다(S306).Next, the file monitoring unit 204 in the process execution time determination apparatus 112 executes monitoring on the process information file 202 to detect the process execution time of the application (S304), and the process information file 202. It is checked whether a change in the recorded process execution information occurs (S306).

그 이후, 파일 감시부(204)는 프로세스 정보 파일에 기록되는 프로세스 실행 정보의 변경이 발생한 것으로 검사되는 경우 애플리케이션의 프로세스 실행 시점을 검출한다(S308). Thereafter, the file monitoring unit 204 detects the process execution time of the application when it is checked that the change of the process execution information recorded in the process information file has occurred (S308).

즉, 실행 감시부(200)에 의해 프로세스 정보 파일(202)내 특정 애플리케이션의 프로세스 시작 정보가 기록된 이후, 실제로 프로세스가 실행되어 프로세스 실행 정보가 추가로 기록될 수 있는데, 파일 감시부(204)는 이와 같은 경우를 프로세스 실행 정보의 변경으로 판단하여 애플리케이션의 프로세스 실행 시점으로 검출할 수 있다.That is, after the process start information of a specific application in the process information file 202 is recorded by the execution monitoring unit 200, the process may be actually executed to further record the process execution information. The file monitoring unit 204 In such a case, it may be determined that the process execution information is changed and detected as the process execution time of the application.

다음으로, 위와 같이 파일 감시부(204)에서 검출된 프로세스 실행 시점에 대한 정보는 프로세스 실행 시점 판단장치(112)내 검사부(212)로 제공된다.Next, the information on the process execution time detected by the file monitoring unit 204 as described above is provided to the inspection unit 212 in the process execution time determination device 112.

그러면, 검사부(212)는 파일 감시부(204)로부터 애플리케이션의 프로세스 실행 시점을 수신하는 경우 악성코드 판단을 위한 시그니처 정보를 저장하고 있는 시그니처 DB(214)를 이용하여 애플리케이션에 대한 악성코드 여부를 검사한다(S310). 이와 같이 검사된 검사결과는 제어부(210)로 전송되며, 이에 따라 제어부(210)에서는 악성코드로 판단된 해당 애플리케이션에 대해 애플리케이션의 실행을 차단시키는 등과 같이 제어하여 악성코드의 실행에 따른 피해가 발생하지 않도록 할 수 있다.Then, when receiving a process execution time of the application from the file monitoring unit 204, the inspection unit 212 checks whether the malicious code for the application using the signature DB 214, which stores the signature information for determining the malicious code. (S310). The inspection result inspected as described above is transmitted to the control unit 210. Accordingly, the control unit 210 controls such as blocking the execution of the application for the corresponding application determined as malicious code, thereby causing damage due to the execution of the malicious code. You can do it.

상기한 바와 같이, 본 발명은 스마트폰 등의 휴대용 단말기에 설치되는 애플리케이션 파일에 대한 악성코드 진단 시 휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 시점을 검출하고, 프로세스 실행 시점에 해당 프로세스만 검사하여 악성코드 진단을 수행함으로서 악성코드의 진단을 보다 효율적으로 수행할 수 있으며, 보안강도를 높일 수 있다. 또한, 휴대용 단말기에서 애플리케이션이 실행되는 경우 프로세스 실행 시점에 해당 프로세스만 검사하여 악성코드를 진단함으로써 종래 휴대용 단말기에서 실행되는 모든 프로세스에 대해 주기적으로 악성코드 진단을 수행함에 따라 발생하는 단말기의 성능 저하 및 배터리 소모 등의 문제점을 개선시킬 수 있다.As described above, the present invention detects a process execution time of an application running on the portable terminal when diagnosing a malicious code for an application file installed in a portable terminal such as a smartphone, and checks only the corresponding process at the time of execution of the malicious code. By performing the diagnosis, the malicious code can be diagnosed more efficiently and the security strength can be increased. In addition, when an application is executed in the portable terminal, the malicious code is diagnosed by only inspecting the corresponding process at the time of executing the process, thereby degrading the performance of the terminal caused by periodically performing the malware diagnosis on all processes executed in the conventional portable terminal. Problems such as battery consumption can be improved.

한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.

200 : 실행 감시부 202 : 프로세스 정보 파일
204 : 파일 감시부 210 : 제어부
212 : 검사부 214 : 시그니처 DB
200: execution monitoring unit 202: process information file
204: File monitoring unit 210: Control unit
212: Inspection unit 214: Signature DB

Claims (18)

휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 정보를 검출하고, 상기 프로세스 실행 정보를 프로세스 정보 파일에 기록하는 실행 감시부와,
상기 프로세스 정보 파일에 기록되는 상기 프로세스 실행 정보의 변경 여부를 감시하여 상기 애플리케이션의 프로세스 실행 시점을 검출하는 파일 감시부
를 포함하는 것을 특징으로 하는 프로세스 실행시점 판단장치.
An execution monitoring unit for detecting process execution information of an application executed in the portable terminal and recording the process execution information in a process information file;
A file monitoring unit that monitors whether or not the process execution information recorded in the process information file is changed and detects a process execution time of the application;
Process execution time determination apparatus comprising a.
제 1 항에 있어서,
상기 장치는,
상기 프로세스 실행 시점에 상기 애플리케이션에 대한 악성코드 여부를 검사하는 진단부
를 더 포함하는 프로세스 실행시점 판단장치.
The method of claim 1,
The apparatus comprises:
Diagnostic unit for checking whether or not the malicious code for the application at the time of execution of the process
Process execution time determination apparatus further comprising a.
제 1 항에 있어서,
상기 실행 감시부는,
상기 휴대용 단말기에서 발생하는 모든 이벤트에 대한 로그 정보를 기록하는 로그파일을 지속적으로 확인하여 상기 애플리케이션의 프로세스 실행 정보를 검출하는 것을 특징으로 하는 프로세스 실행시점 판단장치.
The method of claim 1,
The execution monitoring unit,
And a process for determining process execution information of the application by continuously checking a log file that records log information of all events occurring in the portable terminal.
제 3 항에 있어서,
상기 실행 감시부는,
상기 로그 정보 중 상기 애플리케이션의 프로세스 실행 정보만을 필터링하여 검출하는 것을 특징으로 하는 프로세스 실행시점 판단장치.
The method of claim 3, wherein
The execution monitoring unit,
The process execution time determination apparatus, characterized in that for detecting only the process execution information of the application of the log information by filtering.
제 1 항에 있어서,
상기 실행 감시부는,
상기 프로세스 실행 정보 및 상기 프로세스 정보를 기록하는 것을 특징으로 하는 프로세스 실행시점 판단장치.
The method of claim 1,
The execution monitoring unit,
And the process execution information and the process information are recorded.
제 5 항에 있어서,
상기 프로세스 정보는,
상기 프로세스에 해당하는 애플리케이션의 패키지명(package id), 클래스명(class id) 또는 PID(process ID) 중 적어도 하나 이상인 것을 특징으로 하는 프로세스 실행시점 판단장치.
The method of claim 5, wherein
The process information,
And at least one of a package id, a class id, and a PID of the application corresponding to the process.
제 1 항에 있어서,
상기 파일 감시부는,
상기 프로세스 정보 파일에서, 이전 기록된 프로세스 실행 정보에 추가적인 프로세스 실행 정보가 기록되는 경우 상기 프로세스 실행 정보의 변경으로 판단하는 것을 특징으로 하는 프로세스 실행시점 판단장치.
The method of claim 1,
The file monitoring unit,
And in the process information file, if additional process execution information is recorded in previously recorded process execution information, determining that the process execution information is a change.
제 2 항에 있어서,
상기 진단부는,
상기 악성코드 판단을 위한 시그니처 정보를 저장하고 있는 시그니처 DB와,
상기 애플리케이션의 상기 프로세스 실행 시점을 수신하는 경우 상기 시그니처 DB를 이용하여 상기 애플리케이션에 대한 악성코드 여부를 검사하는 검사부와,
상기 검사부의 결과에 따라 악성코드로 검사되는 경우 상기 애플리케이션의 실행을 차단시키는 제어부
를 포함하는 것을 특징으로 하는 프로세스 실행시점 판단장치.
3. The method of claim 2,
Wherein the diagnosis unit comprises:
A signature DB that stores signature information for determining the malicious code;
A check unit that checks whether the application is malicious code by using the signature DB when receiving the process execution time of the application;
Control unit to block the execution of the application when it is inspected with malicious code according to the result of the inspection unit
Process execution time determination apparatus comprising a.
제 1 항에 있어서,
상기 휴대용 단말기는,
스마트폰, 테블릿 PC 또는 PDA 중 어느 하나인 것을 특징으로 하는 프로세스 실행시점 판단장치.
The method of claim 1,
The portable terminal,
Process execution time determination device, characterized in that any one of the smartphone, tablet PC or PDA.
휴대용 단말기에서 실행되는 애플리케이션의 프로세스 실행 시점을 검출하는 단계와,
상기 프로세스 실행 시점에 상기 애플리케이션에 대한 악성코드 여부를 검사하는 단계
를 포함하는 프로세스 실행시점 판단방법.
Detecting a process execution time of an application executed in the portable terminal;
Checking whether the application is malicious at the time of executing the process
Process execution time determination method comprising a.
제 10 항에 있어서,
상기 프로세스 실행 시점을 검출하는 단계는,
상기 휴대용 단말기에서 실행되는 상기 애플리케이션의 상기 프로세스 실행 정보를 검출하는 단계와,
상기 프로세스 실행 정보를 프로세스 정보 파일에 기록하는 단계와,
상기 프로세스 정보 파일에 기록되는 상기 프로세스 실행 정보의 변경 여부를 감시하는 단계와,
상기 프로세스 실행 정보의 변경이 있는 경우 상기 애플리케이션의 상기 프로세스 실행 시점을 검출하는 단계
를 포함하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
11. The method of claim 10,
Detecting the process execution time,
Detecting the process execution information of the application executed in the portable terminal;
Recording the process execution information in a process information file;
Monitoring whether or not the process execution information recorded in the process information file is changed;
Detecting the process execution time of the application when there is a change in the process execution information
Process execution time determination method comprising a.
제 11 항에 있어서,
상기 프로세스 실행 정보를 검출하는 단계는,
상기 휴대용 단말기에서 발생하는 모든 이벤트에 대한 로그 정보를 기록하는 로그파일을 지속적으로 확인하는 단계와,
상기 로그파일로부터 상기 애플리케이션의 프로세스 실행 정보를 검출하는 단계
를 포함하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
The method of claim 11,
Detecting the process execution information,
Continuously checking a log file for recording log information of all events occurring in the portable terminal;
Detecting process execution information of the application from the log file
Process execution time determination method comprising a.
제 12 항에 있어서,
상기 프로세스 실행 정보를 검출하는 단계는,
상기 로그파일의 정보 중 상기 애플리케이션의 상기 프로세스 실행 정보만을 필터링하여 검출하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
13. The method of claim 12,
Detecting the process execution information,
The process execution time determination method, characterized in that for filtering only the process execution information of the application of the log file information.
제 11 항에 있어서,
상기 기록하는 단계는,
상기 프로세스 실행 정보 및 상기 프로세스 정보를 기록하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
The method of claim 11,
Wherein the recording step comprises:
And recording the process execution information and the process information.
제 14 항에 있어서,
상기 프로세스 정보는,
상기 프로세스에 해당하는 애플리케이션의 패키지명, 클래스명 또는 PID 중 적어도 하나 이상인 것을 특징으로 하는 프로세스 실행시점 판단방법.
15. The method of claim 14,
The process information,
Process execution time determination method, characterized in that at least one or more of the package name, class name or PID of the application corresponding to the process.
제 11 항에 있어서,
상기 변경 여부를 감시하는 단계는,
상기 프로세스 정보 파일에서, 이전 기록된 프로세스 실행 정보에 추가적인 프로세스 실행 정보가 기록되는지 여부를 검사하는 단계와,
상기 추가적인 프로세스 실행 정보가 기록되는 경우 상기 프로세스 실행 정보의 변경으로 판단하는 단계
를 포함하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
The method of claim 11,
Monitoring whether the change is,
Checking whether, in the process information file, additional process execution information is recorded in previously recorded process execution information;
Determining that the process execution information is changed when the additional process execution information is recorded.
Process execution time determination method comprising a.
제 10 항에 있어서,
상기 악성코드 여부를 검사하는 단계는,
상기 애플리케이션의 상기 프로세스 실행 시점을 수신하는 단계와,
상기 프로세스 실행 시점에 시그니처 DB를 이용하여 상기 애플리케이션에 대한 악성코드 여부를 검사하는 단계
를 포함하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
11. The method of claim 10,
Checking whether the malicious code is,
Receiving the process execution time of the application;
Checking whether the malicious code for the application is executed by using a signature DB at the time of executing the process.
Process execution time determination method comprising a.
제 17 항에 있어서,
상기 악성코드 여부의 검사결과, 악성코드로 판단되는 경우 해당 애플리케이션의 실행을 종료시키는 단계를 더 포함하는 것을 특징으로 하는 프로세스 실행시점 판단방법.
The method of claim 17,
And a step of terminating the execution of the corresponding application when it is determined that the malicious code is determined as the malicious code.
KR1020120097159A 2012-09-03 2012-09-03 Apparatus and method for detecting start point of process KR101256461B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120097159A KR101256461B1 (en) 2012-09-03 2012-09-03 Apparatus and method for detecting start point of process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120097159A KR101256461B1 (en) 2012-09-03 2012-09-03 Apparatus and method for detecting start point of process

Publications (1)

Publication Number Publication Date
KR101256461B1 true KR101256461B1 (en) 2013-04-19

Family

ID=48443487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120097159A KR101256461B1 (en) 2012-09-03 2012-09-03 Apparatus and method for detecting start point of process

Country Status (1)

Country Link
KR (1) KR101256461B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101530530B1 (en) * 2013-11-04 2015-06-23 주식회사 잉카인터넷 Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal
KR101735652B1 (en) 2015-07-30 2017-05-15 아주대학교산학협력단 Terminal apparatus and method for detecting cyber attack application thereby
KR20190020998A (en) * 2017-08-22 2019-03-05 주식회사 하우리 Apparatus, method and system for detecting malicious code
WO2020189822A1 (en) * 2019-03-20 2020-09-24 주식회사 하우리 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100897849B1 (en) 2007-09-07 2009-05-15 한국전자통신연구원 Apparatus and Method for finding malicious process
KR100910761B1 (en) 2006-11-23 2009-08-04 한국전자통신연구원 Anomaly Malicious Code Detection Method using Process Behavior Prediction Technique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100910761B1 (en) 2006-11-23 2009-08-04 한국전자통신연구원 Anomaly Malicious Code Detection Method using Process Behavior Prediction Technique
KR100897849B1 (en) 2007-09-07 2009-05-15 한국전자통신연구원 Apparatus and Method for finding malicious process

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101530530B1 (en) * 2013-11-04 2015-06-23 주식회사 잉카인터넷 Apparatus and Method for Detecting Malicious Process Execution in a Mobile Terminal
KR101735652B1 (en) 2015-07-30 2017-05-15 아주대학교산학협력단 Terminal apparatus and method for detecting cyber attack application thereby
KR20190020998A (en) * 2017-08-22 2019-03-05 주식회사 하우리 Apparatus, method and system for detecting malicious code
KR102042045B1 (en) * 2017-08-22 2019-11-08 주식회사 하우리 Apparatus, method and system for detecting malicious code
WO2020189822A1 (en) * 2019-03-20 2020-09-24 주식회사 하우리 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Similar Documents

Publication Publication Date Title
KR101161493B1 (en) Method of Examining Malicious Codes and Dangerous Files in Android Terminal Platform
US8782793B2 (en) System and method for detection and treatment of malware on data storage devices
US20130014262A1 (en) Mobile communication terminal having a behavior-based malicious code detection function and detection method thereof
CN108702421B (en) Electronic device and method for controlling applications and components
CN107145782B (en) Abnormal application program identification method, mobile terminal and server
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
KR101489152B1 (en) Apparatus and method for preventing screen capture
US20130276124A1 (en) Systems, methods, apparatuses and computer program products for providing mobile device protection
US8661543B2 (en) Mobile terminal having security diagnosis functionality and method of making diagnosis on security of mobile terminal
KR101256461B1 (en) Apparatus and method for detecting start point of process
KR101324691B1 (en) System and method for detecting malicious mobile applications
KR101130088B1 (en) Malware detecting apparatus and its method, recording medium having computer program recorded
CN106709335B (en) Vulnerability detection method and device
WO2014010847A1 (en) Apparatus and method for diagnosing malicious applications
EP3136278B1 (en) Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
KR102472523B1 (en) Method and apparatus for determining document action based on reversing engine
KR101369254B1 (en) Apparatus and method for detecting malicious application
KR101633490B1 (en) Apparatus and Method for User Interface to Check Details of Sensitive Data Usage on Mobile Device
KR101626581B1 (en) Test method for error applition of portable communication terminal
CN108958746B (en) Configuration file processing method, mobile terminal and computer readable storage medium
KR101256453B1 (en) Apparatus and method for detecting rooting
KR102581932B1 (en) Methods and devices for detecting seh overwrite mitigation bypass using a reverting engine
CN111444070B (en) Interface interaction data processing method and user terminal
KR102556413B1 (en) Method and apparatus for managing a virtual machine using semaphore
KR101453357B1 (en) Method and apparatus for diagnosing and removing malware in portable device

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: 20170417

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 7