KR20200058147A - Electronic apparatus and controlling method thereof - Google Patents

Electronic apparatus and controlling method thereof Download PDF

Info

Publication number
KR20200058147A
KR20200058147A KR1020180142782A KR20180142782A KR20200058147A KR 20200058147 A KR20200058147 A KR 20200058147A KR 1020180142782 A KR1020180142782 A KR 1020180142782A KR 20180142782 A KR20180142782 A KR 20180142782A KR 20200058147 A KR20200058147 A KR 20200058147A
Authority
KR
South Korea
Prior art keywords
application
rule
electronic device
list
rules
Prior art date
Application number
KR1020180142782A
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 KR1020180142782A priority Critical patent/KR20200058147A/en
Priority to PCT/KR2019/011792 priority patent/WO2020105854A1/en
Priority to US17/286,998 priority patent/US11809550B2/en
Publication of KR20200058147A publication Critical patent/KR20200058147A/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

In the present disclosure, provided are an electronic device and a control method thereof. The electronic device includes: a memory in which a kernel and at least one application are stored; and a processor which creates a first rule to determine when an application calls a system to execute a process, determines whether the application corresponds to a security verified application based on the first rule, generates a second rule, when the application corresponds to the security-verified application, for skipping surveillance based on a plurality of predefined rules.

Description

전자 장치 및 그의 제어 방법 { ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF }Electronic device and its control method {ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}

본 개시는 전자 장치 및 그 제어방법에 관한 것으로, 보다 상세하게는 어플리케이션에 대한 감시(audit)를 수행하는 전자 장치 및 그의 제어 방법에 관한 것이다. The present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device performing an audit for an application and a control method thereof.

전자 통신 기술이 발전함에 따라, 무선 통신 기술이 보편화된 가운데, 해킹이나 개인 정보 유출을 방지하기 위한 보안 기술이 발전하고 있다. With the development of electronic communication technology, wireless communication technology has become common, and security technology for preventing hacking or leakage of personal information has been developed.

이와 관련하여, 최근에는 전자 장치에서 실행되는 운영체제가 보안관련 시스템을 포함하기도 한다. In this regard, recently, an operating system running on an electronic device includes a security-related system.

도 1은 보안관련 시스템 중 감시(audit) 시스템을 포함하는 종래의 전자 장치를 설명하기 위한 도면이다. 1 is a diagram for explaining a conventional electronic device including an audit system among security-related systems.

전자 장치는 감시(audit) 시스템(10)을 이용하여, 전자 장치에서 실행되는 어플리케이션에 의한 프로세스(30-1 내지 30-3)를 감시한다. 전자 장치에서 실행되는 프로세스(30-1 내지 30-3)에서 시스템 콜(system call)과 같은 이벤트가 발생되면, 전자 장치는 감시 시스템(10)을 이용하여 이벤트에 관한 많은 정보를 포함하는 로그(log)를 생성한다. 그리고, 전자 장치는 발생된 로그를 이용하여 전자 장치의 보안 정책에 위반되는 이벤트가 발생하였는지 파악한다. The electronic device monitors the processes 30-1 to 30-3 by an application running on the electronic device using the audit system 10. When an event such as a system call occurs in the processes 30-1 to 30-3 executed in the electronic device, the electronic device uses the monitoring system 10 to log a lot of information about the event ( log). Then, the electronic device uses the generated log to determine whether an event that violates the security policy of the electronic device has occurred.

이를 위하여, 감시 시스템(10)은 기설정된 이벤트가 발생하는 경우 로그를 발생하게 하는 복수의 룰(11)을 포함하고 있다. To this end, the monitoring system 10 includes a plurality of rules 11 that generate a log when a predetermined event occurs.

가령, 어플리케이션에 의해 실행되는 프로세스(30-1 내지 30-3)가 파일 시스템(40)에 접근하기 위하여 시스템 콜(system call)과 같은 이벤트를 발생하는 경우, 전자 장치는 감시 시스템(10)에 포함된 기설정된 복수의 룰(11)을 이용하여 해당 이벤트에 대한 감시를 수행한다. For example, when a process 30-1 to 30-3 executed by an application generates an event such as a system call to access the file system 40, the electronic device sends to the monitoring system 10. Monitoring of the event is performed using a plurality of preset rules 11 included.

구체적으로, 어플리케이션에 의해 실행되는 프로세스에서 시스템 콜이 발생하는 경우, 전자 장치의 감시 프로세스(20)는 감시 시스템(10)에 포함된 기설정된 복수의 룰(110)을 순차적으로 순회하면서 시스템 콜에 대한 감시를 수행한다. 그리고, 발생된 이벤트가 기설정된 복수의 룰 중 어느 하나의 룰에 포함된 조건에 부합되는 경우, 감시 프로세스(20)는 해당 룰에 대한 로그를 남기게 된다. Specifically, when a system call occurs in a process executed by an application, the monitoring process 20 of the electronic device sequentially traverses a plurality of pre-set rules 110 included in the monitoring system 10 to the system call. Surveillance. Then, when the generated event meets a condition included in any one of a plurality of preset rules, the monitoring process 20 logs a corresponding rule.

이때, 발생된 로그는 로그 스토리지(Log storage)(50)에 저장되며, 전자 장치는 로그 스토리지(50)에 저장된 로그를 참조하여 프로세스(30-1 내지 30-3)에 의해 발생된 시스템 콜에 관한 정보를 획득할 수 있다. At this time, the generated log is stored in the log storage 50, and the electronic device refers to the log stored in the log storage 50 to the system call generated by the processes 30-1 to 30-3. You can get information about.

한편, 감시 시스템(20)에 기설정된 복수의 룰은 글로벌(global)하게 기정의된 룰들로, 전자 장치는 감시 프로세스(20)를 이용하여 어플리케이션에 의해 실행된 프로세스(30-1 내지 30-3) 각각에 대하여 기설정된 복수의 룰들을 순회하게 된다. On the other hand, a plurality of rules preset in the monitoring system 20 are globally defined rules, and the electronic device processes 30-1 to 30-3 executed by an application using the monitoring process 20 ) A plurality of predetermined rules are traversed for each.

이 경우, 기설정된 복수의 룰이 많을수록 하나의 프로세스에 대하여 감시 프로세스(20)가 기록하고 저장하여야 하는 로그가 많아지고, 시스템이 로그를 분석하는데 많은 시간이 소요된다는 점에서, 시스템의 오버헤드(overhead)가 증가하게 된다. In this case, as the plurality of preset rules increases, the number of logs to be recorded and stored by the monitoring process 20 for one process increases, and the overhead of the system is reduced in that the system takes a lot of time to analyze the log ( overhead).

반면, 기설정된 복수의 룰이 적을수록 하나의 프로세스에 대하여 감시 프로세스(20)가 기록하고 저장하는 로그가 적어지고, 시스템이 로그를 분석하는데 적은 시간이 소요되지만, 시스템의 보안이 취약해지는 문제점이 있다.On the other hand, as the number of preset rules is less, the log recorded and stored by the monitoring process 20 for one process decreases, and the system takes less time to analyze the log, but the security of the system becomes weak. have.

본 개시는 상술한 문제점들을 해결하기 위한 것으로, 본 개시의 목적은 보안 검증된 어플리케이션에 의해 실행된 프로세스에 대해서는 감시를 스킵(skip)하고, 신뢰할 수 없는 프로세스에 대해서만 감시를 수행하는 전자 장치 및 이의 제어방법을 제공함에 있다.The present disclosure is intended to solve the above-described problems, and an object of the present disclosure is to skip an surveillance process for a process executed by a security-verified application and to skip an untrusted process only for an electronic device and its object. In providing a control method.

본 개시의 일 실시 예에 따른 전자 장치는, 커널(kernel) 및 적어도 하나의 어플리케이션이 저장된 메모리; 및 상기 어플리케이션에 의해 실행된 프로세스에 의해 발생된 시스템 콜이 상기 커널로 전달되면, 상기 어플리케이션이 상기 시스템 콜에 기초하여 상기 커널에서 발생된 요청에 대응되는 동작을 수행하도록 상기 어플리케이션을 실행하는 프로세서;를 포함한다. An electronic device according to an embodiment of the present disclosure includes a memory in which a kernel and at least one application are stored; And a processor that executes the application to perform an operation corresponding to a request generated in the kernel based on the system call when a system call generated by a process executed by the application is delivered to the kernel. It includes.

이때, 상기 커널은, 기정의된 복수의 룰(rules)에 기초하여 상기 시스템 콜에 대한 감시(audit)를 수행할 수 있다.At this time, the kernel may perform an audit of the system call based on a plurality of predefined rules.

또한, 상기 프로세서는, 상기 어플리케이션이 상기 프로세스를 실행하기 위하여 시스템 콜하는 시점을 판단하는 제1 룰을 생성하고, 상기 제1 룰에 기초하여 상기 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단하며, 상기 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵(skip)하기 위한 제2 룰을 생성할 수 있다. In addition, the processor generates a first rule for determining when the application calls the system to execute the process, and determines whether the application corresponds to a security verified application based on the first rule. When an application corresponds to a security verified application, a second rule for skipping the monitoring based on the predefined plurality of rules may be generated.

그리고, 프로세서는 상기 제1 룰에 의해 상기 시스템 콜에 대한 로그가 발생된 경우, 상기 제2 룰에 따라 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵할 수 있다. In addition, when a log for the system call is generated by the first rule, the processor may skip the monitoring based on the predefined plurality of rules according to the second rule.

또한, 상기 프로세서는, 상기 기정의된 복수의 룰 이전에 상기 제1 룰을 추가하고, 상기 제1룰에 의해 상기 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 상기 기정의된 복수의 룰 이전에 상기 제2 룰을 추가하여, 상기 제2 룰에 의해 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵할 수 있다. In addition, the processor adds the first rule before the predefined plurality of rules, and when it is determined by the first rule that the application corresponds to a security-verified application, the predefined plurality of rules By adding the second rule before, the monitoring based on the plurality of rules defined by the second rule can be skipped.

그리고, 제1 룰은, 상기 어플리케이션이 상기 프로세스를 실행하기 위하여 상기 시스템 콜을 수행하면 로그를 발생하는 룰을 포함할 수 있고, 상기 프로세서는 상기 제1 룰에 기초하여 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제2 룰을 생성할 수 있다. And, the first rule may include a rule that generates a log when the application makes the system call to execute the process, and the processor logs the system call based on the first rule. When is generated, the second rule may be generated.

또한, 상기 프로세서는, 상기 메모리에 저장된 적어도 하나의 어플리케이션에 대한 보완 검증을 수행하고, 상기 적어도 하나의 어플리케이션 중에서 상기 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 상기 메모리에 저장할 수 있다. In addition, the processor performs supplementary verification on at least one application stored in the memory, and generates a list including information on at least one application that has been securely verified among the at least one application, and stores it in the memory. Can be.

그리고, 상기 프로세서는, 상기 리스트에 기초하여 상기 프로세스를 실행하는 상기 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단할 수 있다. The processor may determine whether the application executing the process corresponds to an application for which security verification has been completed based on the list.

또한, 상기 프로세서는, 상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제3 룰을 생성할 수 있다. In addition, the processor may generate a third rule for monitoring tampering with respect to at least one security verified application included in the list.

그리고, 상기 프로세서는, 상기 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 상기 리스트에서 상기 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. In addition, when the modulation for the application is identified according to the third rule, the processor may delete information on the application for which the modulation is identified from the list.

또한, 상기 프로세서는, 상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 상기 변조가 식별되면 로그를 발생시키기 위한 상기 제3 룰을 생성하고, 상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 상기 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별할 수 있다. In addition, the processor generates the third rule for generating a log when the tampering is identified for at least one security verified application included in the list, and at least one security verified application included in the list Among them, it can be identified that the application included in the log generated according to the third rule is tampered with.

한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 있어서, 전자 장치는 어플리케이션이 상기 프로세스를 실행하기 위하여 시스템 콜 하는 시점을 판단하는 제1 룰을 생성하는 단계, 상기 어플리케이션에 의해 실행된 상기 프로세스에 의해 발생된 시스템 콜이 커널(kernel)로 전달되는 단계, 상기 제1 룰에 기초하여 상기 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우, 기정의된 복수의 룰에 기초한 감시(audit)를 스킵(skip)하기 위한 제2 룰을 생성하는 단계, 및 상기 시스템 콜에 기초하여 상기 커널에서 발생된 요청에 대응되는 동작을 수행하는 단계를 포함한다. On the other hand, in the method of controlling an electronic device according to an embodiment of the present disclosure, the electronic device generates a first rule for determining a point in time when an application makes a system call to execute the process, executed by the application The system call generated by the process is delivered to the kernel, and when the application corresponds to the security-verified application based on the first rule, an audit based on a plurality of predefined rules is performed. And generating a second rule for skipping, and performing an operation corresponding to the request generated by the kernel based on the system call.

이때, 상기 커널은, 기정의된 복수의 룰에 기초하여 상기 시스템 콜에 대한 감시를 수행한다. At this time, the kernel monitors the system call based on a plurality of predefined rules.

한편, 상기 제어 방법은, 상기 제1 룰에 의해 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제2 룰에 따라 상기 기정의된 복수의 룰에 기초한 감시를 스킵하는 단계를 더 포함할 수 있다. Meanwhile, the control method may further include, when the log for the system call is generated by the first rule, skipping monitoring based on the predefined plurality of rules according to the second rule. have.

그리고, 상기 제어 방법은, 상기 기정의된 복수의 룰 이전에 상기 제1 룰을 추가하는 단계, 및 상기 제1 룰에 의해 상기 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 상기 기정의된 복수의 룰 이전에 상기 제2 룰을 추가하여, 상기 제2 룰에 따라 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵하는 단계를 더 포함할 수 있다. In addition, the control method may include adding the first rule before the predefined plurality of rules, and when it is determined that the application corresponds to the security verified application by the first rule, the predefined method The method may further include skipping the monitoring based on the predefined plurality of rules according to the second rule, by adding the second rule before the plurality of rules.

또한, 상기 제1 룰은, 상기 어플리케이션이 상기 프로세스를 실행하기 위하여 상기 시스템 콜을 수행하면 로그를 발행하는 룰을 포함할 수 있다. Further, the first rule may include a rule that issues a log when the application performs the system call to execute the process.

그리고, 상기 제2 룰을 생성하는 단계는, 상기 제1 룰에 기초하여 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제2 룰을 생성하는 단계를 포함할 수 있다. The generating of the second rule may include generating the second rule when the log for the system call is generated based on the first rule.

또한, 상기 제어 방법은 상기 전자 장치에 저장된 적어도 하나의 어플리케이션에 대한 보완 검증을 수행하는 단계, 및 상기 적어도 하나의 어플리케이션 중에서 상기 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 상기 전자 장치에 저장하는 단계를 더 포함할 수 있다. In addition, the control method may include performing a supplementary verification of at least one application stored in the electronic device, and generating a list including information on the at least one securely verified application among the at least one application. The method may further include storing in the electronic device.

그리고, 상기 리스트에 기초하여 상기 프로세스를 실행하는 상기 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단하는 단계를 더 포함할 수 있다. The method may further include determining whether the application executing the process corresponds to an application for which security verification has been completed based on the list.

또한, 상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제3 룰을 생성하는 단계를 더 포함할 수 있다. In addition, the method may further include generating a third rule for monitoring tampering with respect to at least one security verified application included in the list.

그리고, 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 상기 리스트에서 상기 변조가 식별된 어플리케이션에 대한 정보를 삭제하는 단계를 더 포함할 수 있다. In addition, when the modulation for the application is identified according to the third rule, the method may further include deleting information on the application for which the modulation is identified from the list.

또한, 상기 제3룰을 생성하는 단계는, 상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 상기 변조가 식별되면 로그를 발생시키기 위한 상기 제3 룰을 생성하는 단계;를 포함할 수 있다.Further, the generating of the third rule may include generating the third rule for generating a log when the tampering is identified for at least one security verified application included in the list. .

그리고, 상기 제어 방법은,상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 상기 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별하는 단계;를 더 포함할 수 있다. In addition, the control method may further include identifying an application included in the log generated according to the third rule as being tampered with at least one security verified application included in the list.

상술한 바와 같은 실시 예에 따라, 전자 장치는 보안 검증된 어플리케이션에 의해 실행된 프로세스에 대해서는 감시를 스킵(skip)함에 따라 시스템의 보안은 유지하면서 오버헤드를 줄일 수 있다.According to the above-described embodiment, the electronic device may reduce overhead while maintaining the security of the system by skipping monitoring for a process executed by a security-verified application.

도 1은 종래의 전자 장치를 설명하기 위한 도면,
도 2는 본 개시의 다양한 실시 예에 따른 전자 장치를 설명하기 위한 도면,
도 3은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도,
도 4 내지 6은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따른 전자 장치를 상세히 설명하기 위한 블록도 및
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
1 is a view for explaining a conventional electronic device,
2 is a view for explaining an electronic device according to various embodiments of the present disclosure;
3 is a block diagram illustrating an electronic device according to an embodiment of the present disclosure;
4 to 6 are diagrams for describing an electronic device according to an embodiment of the present disclosure;
7 is a block diagram illustrating in detail an electronic device according to an embodiment of the present disclosure;
8 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.

본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. Terms used in the embodiments of the present disclosure, while considering the functions in the present disclosure, general terms that are currently widely used are selected, but this may vary depending on the intention or precedent of a person skilled in the art or the appearance of new technologies. . In addition, in certain cases, some terms are arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding disclosure. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the contents of the present disclosure, not simply the names of the terms.

본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the embodiments of the present disclosure can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope of the specific embodiments, it should be understood to include all conversions, equivalents, or substitutes included in the scope of the disclosed idea and technology. In the description of the embodiments, when it is determined that the detailed description of the related known technology may obscure the subject matter, the detailed description is omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are only used to distinguish one component from other components.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as “comprises” or “consist of” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, one or more other It should be understood that features or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.

본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.In the present disclosure, "module" or "unit" performs at least one function or operation, and may be implemented in hardware or software, or a combination of hardware and software. In addition, a plurality of "modules" or a plurality of "parts" are integrated into at least one module except for "modules" or "parts" that need to be implemented with specific hardware to be implemented with at least one processor (not shown). Can be.

아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present disclosure in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.

본 개시의 실시 예들에 따른 애플리케이션(application)은 컴퓨터용 OS(Operating System) 또는 모바일 OS 위에서 실행되어 사용자가 사용하는 소프트웨어를 의미한다. 예를 들어, 애플리케이션은 웹 브라우저(web browser), 카메라 애플리케이션, 모바일 결제(mobile payment) 애플리케이션(또는, 전자 결제 애플리케이션, 결제 애플리케이션), 포토 앨범(photo album) 애플리케이션, 워드 프로세서(word processor), 스프레드 시트(spread sheet), 연락처(contacts) 애플리케이션, 캘린더(calendar) 애플리케이션, 메모(memo) 애플리케이션, 알람(alarm) 애플리케이션, SNS(Social Network System) 애플리케이션, 통화 애플리케이션(call), 게임 장터(game store), 게임 애플리케이션(game), 채팅(chatting) 애플리케이션, 지도(Map) 애플리케이션, 뮤직 플레이어(music player) 또는 비디오 플레이어(video player) 등을 포함할 수 있다. An application according to embodiments of the present disclosure refers to software used by a user running on a computer operating system (OS) or a mobile OS. For example, the application may be a web browser, camera application, mobile payment application (or electronic payment application, payment application), photo album application, word processor, spread Spread sheet, contacts application, calendar application, memo application, alarm application, social network system (SNS) application, call application, game store , A game application, a chat application, a map application, a music player or a video player.

본 개시의 실시 예들에 따른 애플리케이션은 전자장치 또는 전자장치와 무선 또는 유선으로 연결되는 외부 장치(예를 들어, 웨어러블 장치, 서버 등)에서 실행되는 소프트웨어를 의미할 수 있다. The application according to embodiments of the present disclosure may refer to software that is executed on an electronic device or an external device (eg, a wearable device, a server, etc.) that is wirelessly or wiredly connected to the electronic device.

본 개시의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다. An electronic device according to various embodiments of the present disclosure includes, for example, a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, Desktop PC (desktop personal computer), laptop PC (laptop personal computer), netbook computer (netbook computer), workstation (workstation), server, PDA (personal digital assistant), PMP (portable multimedia player), MP3 player, mobile medical It may include at least one of a device, a camera, or a wearable device. According to various embodiments, the wearable device may be an accessory type (for example, a watch, ring, bracelet, anklet, necklace, glasses, contact lens, or head-mounted device (HMD)), a fabric or clothing integrated type ( For example, it may include at least one of an electronic garment), a body attachment type (eg, a skin pad or a tattoo), or a bio-implantable type (eg, an implantable circuit).

어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™, 게임 콘솔(예: Xbox™, PlayStation™, 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.In some embodiments, the electronic device may be a home appliance. Household appliances include, for example, televisions, digital video disk (DVD) players, audio, refrigerators, air conditioners, vacuum cleaners, ovens, microwave ovens, washing machines, air cleaners, set-top boxes, and home automation controls. Home automation control panel, security control panel, TV box (eg Samsung HomeSync ™, Apple TV ™, or Google TV ™, game console (eg Xbox ™, PlayStation ™, electronic dictionary, electronics) It may include at least one of a key, a camcorder, or an electronic picture frame.

다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.In another embodiment, the electronic device includes various medical devices (eg, various portable medical measurement devices (such as a blood glucose meter, heart rate meter, blood pressure meter, or body temperature meter), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), Computed tomography (CT), camera, or ultrasound, etc., navigation device, global navigation satellite system (GNSS), event data recorder (EDR), flight data recorder (FDR), automotive infotainment ) Devices, marine electronic equipment (e.g. marine navigation devices, gyro compasses, etc.), avionics, security devices, head units for vehicles, industrial or household robots, automatic teller's machines (ATMs) in financial institutions , Point of sales (POS) in stores, or Internet of things (e.g. light bulbs, various sensors, electricity or gas meters, sprinkler devices, fire alarms, thermostats, street lights, toasters) , Exercise equipment, hot water tank, heater, boiler, etc.).

어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.According to some embodiments, the electronic device may be a furniture or part of a building / structure, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, Water, electricity, gas, or radio wave measurement devices, etc.). In various embodiments, the electronic device may be a combination of one or more of the various devices described above. The electronic device according to an embodiment may be a flexible electronic device. In addition, the electronic device according to the embodiment of the present document is not limited to the above-described devices, and may include a new electronic device according to technological development.

이하에서는 도면을 참조하면 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명하도록 한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the drawings.

도 2는 본 개시의 다양한 실시 예에 따른 전자 장치를 설명하기 위한 도면이다. 구체적으로, 도 2는 감시 시스템(110)을 포함하는 전자 장치를 설명하기 위한 도면이다. 2 is a diagram for describing an electronic device according to various embodiments of the present disclosure. Specifically, FIG. 2 is a diagram for describing an electronic device including the monitoring system 110.

전자 장치(1000)는 커널(kernel)에 포함된 감시 시스템(110)을 이용하여 어플리케이션에 의해 실행된 프로세스(131 내지 133)를 감시할 수 있다. 구체적으로, 어플리케이션에 의해 실행된 프로세스(131 내지 133)가 시스템 콜을 통하여 커널상의 파일 시스템(140)에 접근하는 경우, 전자 장치는 감시 시스템(110)에 포함된 복수의 룰을 순차적으로 이용하여 시스템 콜에 관한 정보를 포함하는 로그 정보를 생성할 수 있으며, 생성된 로그 정보를 로그 스토리지(150)에 저장할 수 있다. 전자 장치는 로그 스토리지(150)에 저장된 로그 정보를 이용하여 프로세스(131 내지 133)가 발생한 시스템 콜에 대한 정보를 획득할 수 있으며, 프로세스를 감시할 수 있다. The electronic device 1000 may monitor the processes 131 to 133 executed by the application using the monitoring system 110 included in the kernel. Specifically, when the processes 131 to 133 executed by the application access the file system 140 on the kernel through a system call, the electronic device sequentially uses a plurality of rules included in the monitoring system 110 Log information including system call information may be generated, and the generated log information may be stored in the log storage 150. The electronic device may acquire information about a system call in which the processes 131 to 133 have occurred by using log information stored in the log storage 150 and may monitor the process.

여기에서, 감시 시스템(110)에 포함된 복수의 룰은, 감시 시스템(110)에 기정의된 복수의 룰 및 전자 장치(1000)에 의해 추가된 룰을 포함할 수 있다. Here, the plurality of rules included in the monitoring system 110 may include a plurality of rules defined in the monitoring system 110 and rules added by the electronic device 1000.

전자 장치(1000)는 감시 프로세스(audit process)(120)를 이용하여, 감시 시스템(110)에 프로세스를 감시하기 위한 룰을 추가할 수 있다. The electronic device 1000 may add a rule for monitoring a process to the monitoring system 110 using the audit process 120.

구체적으로 전자 장치(1000)는 전자 장치(1000)에 포함된 어플리케이션 중 바이러스나 해커의 침입으로부터 안전하다고 판단된 어플리케이션에 관한 리스트를 저장하고, 리스트에 포함된 어플리케이션에 관한 룰을 감시 시스템(110)에 추가할 수 있다.Specifically, the electronic device 1000 stores a list of applications determined to be safe from invasion of viruses or hackers among applications included in the electronic device 1000, and monitors the rules for applications included in the list 110 Can be added to

여기에서 리스트는 보안 검증된 어플리케이션의 식별 정보, 어플리케이션의 실행 파일이 저장된 경로 등을 포함할 수 있다. Here, the list may include identification information of the security-verified application, a path in which the executable file of the application is stored, and the like.

전자 장치(1000)는 감시 프로세스(120)를 이용하여 리스트에 포함된 보안 검증된 어플리케이션의 실행을 판단하는 룰을 생성하고, 이를 감시 시스템(110)의 기설정된 룰의 집합에 추가할 수 있다. 이 경우, 추가된 룰에 의해 리스트에 포함된 어플리케이션의 실행이 판단되면, 전자 장치(1000)는 추가적으로 보안 검증된 어플리케이션에 의해 실행되는 프로세스에 대한 감시를 스킵(skip)하는 룰을 감시시스템(110)에 추가할 수 있다. The electronic device 1000 may generate a rule for determining the execution of the security-verified application included in the list using the monitoring process 120, and add it to the set of predetermined rules of the monitoring system 110. In this case, when the execution of the application included in the list is determined by the added rule, the electronic device 1000 additionally monitors the rule for skipping the monitoring of the process executed by the security verified application 110 ).

한편, 전자 장치(1000)는 감시 프로세스(120)를 이용하여, 리스트에 포함된 어플리케이션의 변조를 모니터링하는 룰을 생성하고, 이를 감시 시스템(110)의 기설정된 룰의 집합에 추가할 수 있다. On the other hand, the electronic device 1000 may generate a rule for monitoring the modulation of the application included in the list using the monitoring process 120 and add it to the set of predetermined rules of the monitoring system 110.

여기에서, 어플리케이션의 변조는 권한이 없는 사용자 또는 시스템에 의해 어플리케이션의 실행과 관련된 파일의 바이러리(binary) 코드가 변경되는 것을 나타낸다. 즉, 어플리케이션에 대한 권한이 없는 사용자 또는 시스템이 어플리케이션과 관련된 파일에 변경을 가하는 것으로, 악성 코드나 해커에 의한 변조가 이에 해당될 수 있다. Here, the tampering of the application indicates that the binary code of the file related to the execution of the application is changed by an unauthorized user or system. That is, a user or system without permission for an application changes a file related to the application, and this may be tampered with by malicious codes or hackers.

어플리케이션의 변조를 모니터링하는 룰에 의해 어플리케이션의 변조가 식별되면, 해당 어플리케이션은 더 이상 보안 검증된 어플리케이션이 아니라는 점에서, 전자 장치는 해당 어플리케이션에 관한 정보를 리스트에 삭제할 수 있다. 그리고, 리스트에서 삭제된 어플리케이션이 실행되는 경우, 전자 장치는 감시 시스템(110)에 포함된 기정의된 복수의 룰을 이용하여 리스트에서 삭제된 어플리케이션을 감시할 수 있다. When an application's tampering is identified by a rule that monitors the tampering of the application, the electronic device may delete information about the application from the list in that the application is no longer a security-verified application. Then, when the application deleted from the list is executed, the electronic device may monitor the application deleted from the list using a plurality of predefined rules included in the monitoring system 110.

즉, 전자 장치(1000)는 신뢰할 수 있는 어플리케이션이 실행한 프로세스에 관해서는 감시를 생략하고, 신뢰할 수 없는 어플리케이션이 실행한 프로세스에 관해서만 감시를 수행함으로써, 전자 장치가 시스템 내에서 수행되는 프로세스에 대한 감시를 줄일 수 있고, 감시 결과 발생된 로그 정보를 분석하는데 시간 및 오버헤드를 줄일 수 있다. 이에 따라, 전자 장치의 시스템의 효율이 증대될 수 있다. That is, the electronic device 1000 omits monitoring of the processes executed by the trusted applications, and performs monitoring only on the processes executed by the untrusted applications, so that the electronic devices are attached to the processes performed in the system. Monitoring can be reduced, and time and overhead for analyzing log information generated as a result of monitoring can be reduced. Accordingly, the efficiency of the system of the electronic device can be increased.

이하에서, 본 개시의 다양한 실시 예에 따른 전자 장치에 대해 구체적으로 설명하도록 한다. Hereinafter, an electronic device according to various embodiments of the present disclosure will be described in detail.

도 3은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다.3 is a block diagram illustrating an electronic device according to an embodiment of the present disclosure.

도 3을 참조하면, 전자 장치(1000)는 메모리(100) 및 프로세서(200)를 포함할 수 있다. Referring to FIG. 3, the electronic device 1000 may include a memory 100 and a processor 200.

메모리(100)는 전자 장치(1000)의 동작에 필요한 각종 프로그램 및 데이터 등을 저장할 수 있다. 메모리(100)는 전자 장치(1000)에 설치된 적어도 하나의 어플리케이션의 실행에 필요한 프로그램을 비롯하여, 프로그램 실행 중에 발생되는 다양한 데이터를 저장할 수 있다. The memory 100 may store various programs and data necessary for the operation of the electronic device 1000. The memory 100 may store various data generated during program execution, including programs required for execution of at least one application installed in the electronic device 1000.

메모리(100)는 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역에는 전자 장치(1000)를 부팅시키는 운영체제와 같은 전자 장치(1000)의 구동을 위한 관련 정보가 저장될 수 있다. 그리고, 데이터 영역에는 프로그램 실시 중에 송수신되는 다양한 데이터가 저장될 수 있다. The memory 100 may include a program area and a data area. In the program area, related information for driving the electronic device 1000 such as an operating system for booting the electronic device 1000 may be stored. In addition, various data transmitted and received during program execution may be stored in the data area.

또한, 메모리(100)는 커널(kernel) 및 적어도 하나의 어플리케이션을 저장한다. 커널은 전자 장치에 설치되는 운영체제에 포함된 프로그램으로, 전자 장치 상의 모든 시스템을 제어하는 역할을 한다. 한편, 운영 체제에 따라 커널을 포함하지 않는 경우, 전자 장치 상의 모든 시스템을 제어하는 프로그램이 본 개시의 커널에 해당될 수 있을 것이다. Also, the memory 100 stores a kernel and at least one application. The kernel is a program included in an operating system installed on an electronic device, and serves to control all systems on the electronic device. Meanwhile, if a kernel is not included according to an operating system, a program that controls all systems on the electronic device may correspond to the kernel of the present disclosure.

메모리(100)는 사용자(user) 영역, 커널(kernel) 영역, 하드웨어 영역 중 적어도 하나를 포함할 수 있는데, 사용자 영역에는 적어도 하나의 어플리케이션 또는 적어도 하나의 어플리케이션에 의해 실행되는 프로세스, 컨테이너 등이 포함될 수 있다. The memory 100 may include at least one of a user area, a kernel area, and a hardware area. The user area may include at least one application or a process, container, etc. executed by at least one application. Can be.

메모리(100)의 사용자 영역은 커널 영역 내의 다양한 시스템에 의해 발생되는 로그 정보를 저장하기 위한 로그 스토리지(150)를 포함할 수 있다. 가령, 메모리(100)는 감시 시스템(110)에 포함된 복수의 룰에 의하여 발생되는 로그 정보를 포함하는 로그 스토리지(150)를 포함할 수 있다. The user area of the memory 100 may include a log storage 150 for storing log information generated by various systems in the kernel area. For example, the memory 100 may include a log storage 150 including log information generated by a plurality of rules included in the monitoring system 110.

그리고, 사용자 영역은 전자 장치(1000)에 포함된 어플리케이션 중 보안 검증된 어플리케이션에 대한 정보를 포함하는 리스트(160)를 포함할 수도 있다. 도 2에서 상술한 바와 같이, 보안 검증된 어플리케이션에 대한 정보는 보안 검증된 어플리케이션의 식별 정보, 어플리케이션의 실행 파일이 저장된 경로 등을 포함할 수 있다. In addition, the user area may include a list 160 including information on security verified applications among applications included in the electronic device 1000. As described above with reference to FIG. 2, the information on the security-validated application may include identification information of the security-validated application, a path in which an executable file of the application is stored, and the like.

한편, 커널 영역에는 파일 시스템(140), 감시 시스템(110), 메모리 관리 시스템(미도시) 등이 포함될 수 있다. 여기에서 파일 시스템(140)은 메모리(100)에 저장된 모든 파일을 관리하는 시스템으로 네이티브 파일 시스템 및 가상 파일 시스템 등을 포함할 수 있다. 또한, 감시 시스템(110)은 파일 시스템(140)에 접근하려는 모든 시도들을 감시하는 시스템을 나타낼 수 있다. Meanwhile, the kernel area may include a file system 140, a monitoring system 110, and a memory management system (not shown). Here, the file system 140 is a system that manages all files stored in the memory 100 and may include a native file system and a virtual file system. Also, the monitoring system 110 may represent a system that monitors all attempts to access the file system 140.

특히, 감시 시스템(110)은 전자 장치(1000) 내의 파일 시스템(140)에 접근하려는 시스템 콜에 대하여 감시하는 복수 개의 룰을 저장할 수 있다. 이때, 복수 개의 룰은 물리적 또는 시스템적으로 순차적으로 연결되어 있을 수 있으며, 하나의 시스템 콜이 발생되면, 감시 시스템(110)에 저장된 복수의 룰이 순차적으로 사용될 수 있다. In particular, the monitoring system 110 may store a plurality of rules for monitoring system calls to access the file system 140 in the electronic device 1000. At this time, a plurality of rules may be sequentially connected physically or systemically, and when one system call occurs, a plurality of rules stored in the monitoring system 110 may be sequentially used.

한편, 하드웨어 영역에는 전자 장치(1000)에 설치된 적어도 하나의 어플리케이션의 기능과 관련된 데이터 또는 데이터를 포함하는 적어도 하나의 폴더 또는 디렉토리와 같은 시스템 객체가 실제 저장된 물리적인 영역을 포함할 수 있다. 가령, 메모리(100)의 하드웨어 영역에는 플래시 메모리(Flash memory), 하드디스크(hard disk), 멀티미디어 카드(multimedia card), 마이크로(micro) 타입의 메모리(가령, SD 또는 XD 메모리), 램(RAM), 롬(ROM) 등이 포함될 수 있다. Meanwhile, the hardware area may include a physical area in which system objects such as at least one folder or directory including data or data related to a function of at least one application installed in the electronic device 1000 are actually stored. For example, in the hardware area of the memory 100, flash memory, hard disk, multimedia card, micro type memory (eg, SD or XD memory), RAM (RAM) ), ROM, and the like.

프로세서(200)는 메모리(100)와 전기적으로 연결되어 전자 장치(1000)의 전반적인 동작 및 기능을 제어할 수 있다. The processor 200 is electrically connected to the memory 100 to control overall operations and functions of the electronic device 1000.

프로세서(200)는 전자 장치(1000)의 메모리(100)에 저장된 어플리케이션을 실행한다. 어플리케이션이 실행되면, 어플리케이션과 관련된 프로세스(process)가 생성되어 실행된다. 프로세스는 어플리케이션에 의해 전자 장치에서 실행되는 작업(task)을 나타내며, 복수의 어플리케이션 각각이 복수의 프로세스를 생성하여 실행할 수 있음은 물론, 하나의 어플리케이션이 복수의 프로세스를 생성하여 실행할 수도 있다. The processor 200 executes an application stored in the memory 100 of the electronic device 1000. When the application is executed, a process related to the application is created and executed. The process represents a task executed in the electronic device by the application, and each of the plurality of applications may generate and execute a plurality of processes, and one application may also generate and execute a plurality of processes.

어플리케이션에 의해 실행된 프로세스에 의하여 발생된 시스템 콜이 커널로 전달되면, 프로세서(200)는 어플리케이션이 시스템 콜에 기초하여 커널에서 발생된 요청에 대응되는 동작을 수행하도록 어플리케이션을 실행한다. When the system call generated by the process executed by the application is delivered to the kernel, the processor 200 executes the application so that the application performs an operation corresponding to the request generated in the kernel based on the system call.

여기에서, 시스템 콜은 프로세스가 운영체제의 커널에 특정 동작을 수행하도록 요청하는 것을 의미하는 것으로, 프로세스 제어 시스템 콜, 파일 관리 시스템 콜, 장치 관리 시스템 콜, 정보 관리 시스템 콜, 통신 시스템 콜 등으로 나뉠 수 있다. 프로세스 제어 시스템 콜은 프로세스의 생성(create), 로드(load), 수행(execute), 종료 등을 위한 시스템 콜이고, 파일 관리 시스템 콜은 파일의 생성, 열림(open), 닫음(close), 읽기(read), 쓰기(write), 삭제(delete), 저장(save) 등을 위한 시스템 콜이며, 장치 관리 시스템 콜은 장치의 요청(request), 해제(release), 읽기(read), 쓰기(write), 재배치(reposition)을 위한 시스템 콜일 수 있다. 또한, 정보 관리 시스템 콜은 시간, 날짜 등의 시스템 자료의 설정 및 획득에 관한 프로세스일 수 있으며, 통신 시스템 콜은 통신 연결의 생성 및 제거, 메시지 송신/수신, 상태 정보 전달 등을 위한 시스템 콜일 수 있다.Here, the system call means that the process requests the kernel of the operating system to perform a specific operation, and is divided into a process control system call, a file management system call, a device management system call, an information management system call, and a communication system call. Can be. Process control system calls are system calls for creating, loading, executing, and terminating processes, and file management system calls are for creating, opening, closing, and reading files. System calls for (read), write (delete), save (save), etc., and device management system calls are device request (request), release (release), read (read), write (write) ), A system call for repositioning. In addition, the information management system call may be a process for setting and acquiring system data such as time and date, and the communication system call may be a system call for creating and removing a communication connection, sending / receiving a message, and transmitting status information. have.

한편, 어플리케이션에 의해 실행된 프로세스가 발생한 시스템 콜이라면, 본 개시의 시스템 콜일 수 있다. 즉, 본 개시의 시스템 콜은 파일 관리 시스템 콜에 한하지 않고, 프로세스 제어 시스템 콜, 장치 관리 시스템 콜, 정보 관리 시스템 콜 등이 될 수 있다. On the other hand, if the system call is a process executed by the application, it may be a system call of the present disclosure. That is, the system call of the present disclosure is not limited to a file management system call, and may be a process control system call, a device management system call, an information management system call, or the like.

시스템 콜이 커널로 전달되면, 커널은 복수의 기정의된 복수의 룰에 기초하여 시스템 콜에 대한 감시를 수행한다. 구체적으로, 커널에 포함된 감시 시스템(110)이 감시 시스템(110)에 포함된 복수의 기정의된 룰을 이용하여 시스템 콜에 대한 감시를 수행하게 된다. When the system call is delivered to the kernel, the kernel performs monitoring of the system call based on a plurality of predefined rules. Specifically, the monitoring system 110 included in the kernel performs monitoring of system calls using a plurality of predefined rules included in the monitoring system 110.

복수의 기정의된 룰은 프로세스에 의해 발생된 시스템 콜이 기설정된 조건과 일치하는지 판단하기 위한 것으로, 대상, 조건, 조건과 일치할 경우의 반응 등의 정보를 포함할 수 있다. The plurality of predefined rules are for determining whether the system call generated by the process matches a preset condition, and may include information such as a target, a condition, and a reaction when the condition is met.

룰에 포함되는 정보 중 '대상'은 프로세스에서 발생되는 시스템 콜 번호를 나타내고, '조건'은 프로세스의 ID(Process ID, PID), 프로세스 이름, 프로세스가 다루는 파일의 경로 등의 정보를 나타낼 수 있다. 여기에서 프로세스가 다루는 파일의 경로는 프로세스가 열기(open), 쓰기(write), 저장(save) 등을 하기 위하여 접근하고자 하는 파일의 경로를 의미할 수 있다. Among the information included in the rule, 'destination' indicates the system call number generated in the process, and 'condition' can indicate information such as the process ID (Process ID, PID), process name, and the path of the file handled by the process. . Here, the path of the file handled by the process may mean a path of a file that the process intends to access in order to open, write, and save.

또한, '조건과 일치할 경우의 반응'은 커널에 전달된 시스템 콜 번호 및 조건이 룰에 포함된 시스템 콜 번호 및 조건과 일치하는 경우 로그를 남길지 여부를 나타낼 수 있다. In addition, 'response when the condition is met' may indicate whether to leave a log when the system call number and condition passed to the kernel match the system call number and condition included in the rule.

감시 시스템(110)은 복수의 기정의된 룰을 순차적으로 순회한다. 이때, 프로세스에 의해 발생된 시스템 콜이 로그에 포함된 대상 및 정보와 일치하면, 감시 시스템(110)은 룰에 따라 로그 정보를 남길 수 있다. 이때, 로그 정보는 시스템 콜 번호, 조건, 시스템 콜이 발생된 시간 등 다양한 정보를 포함할 수 있다. The monitoring system 110 sequentially traverses a plurality of predefined rules. At this time, if the system call generated by the process matches the target and information included in the log, the monitoring system 110 may leave log information according to the rule. At this time, the log information may include various information such as a system call number, a condition, and a time when the system call occurred.

즉, 프로세서(200)는 로그 정보를 이용하여 프로세스에 의해 호출된 시스템 콜에 대한 정보를 획득할 수 있으며, 이러한 정보를 기초로 전자 장치 내의 시스템을 감시할 수 있다. That is, the processor 200 may acquire information about the system call called by the process using log information, and may monitor the system in the electronic device based on the information.

한편, 프로세서(200)는 프로세스가 수행하는 시스템 콜과 관련된 적어도 하나의 룰을 감시시스템(110)에 추가할 수 있다. 즉, 감시 시스템(110)은 기설정된 룰 이외에도 프로세서(200)에 의해 추가된 룰을 이용하여 시스템 콜에 대한 감시를 수행할 수 있다. Meanwhile, the processor 200 may add at least one rule related to a system call performed by the process to the monitoring system 110. That is, the monitoring system 110 may perform monitoring of the system call using rules added by the processor 200 in addition to the preset rules.

도 5 및 도 6는 본 개시의 일 실시예에 따라 프로세서(200)에 의해 추가된 룰을 이용하여 감시를 수행하는 전자 장치를 설명하기 위한 도면이다. 5 and 6 are diagrams for explaining an electronic device that performs monitoring using rules added by the processor 200 according to an embodiment of the present disclosure.

도 5는 본 개시의 일 실시 예에 따라 어플리케이션에 의해 프로세스가 실행되는 시점을 판단하기 위한 룰 및 감시 시스템(110)에 기저장된 복수의 룰 중 적어도 하나의 룰을 스킵(skip)하는 룰을 추가하여 시스템을 감시하는 전자 장치를 설명하기 위한 도면이다. FIG. 5 adds a rule for determining when a process is executed by an application according to an embodiment of the present disclosure and a rule for skipping at least one rule among a plurality of rules pre-stored in the monitoring system 110 A diagram for explaining an electronic device monitoring a system.

프로세서(200)는 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜하는 시점을 판단하는 제1 룰(112)을 생성한다. The processor 200 generates a first rule 112 that determines when an application makes a system call to execute a process.

어플리케이션이 프로세스를 실행하는 경우, 프로세스는 커널에 포함된 파일 시스템(140)에 시스템 콜(가령, execv())을 전달할 수 있다. When an application executes a process, the process may deliver a system call (eg, execv ()) to the file system 140 included in the kernel.

프로세서(200)는 메모리(100)에 저장된 감시 프로세스(120)를 이용하여 어플리케이션이 프로세스를 실행하기 위해 시스템 콜 하는 시점을 판단하는 제1 룰(112)을 생성할 수 있다. 여기에서, 제1 룰(112)은, 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜을 수행하면, 시스템 콜과 관련된 로그가 생성되는 룰을 포함할 수 있다. The processor 200 may use the monitoring process 120 stored in the memory 100 to generate a first rule 112 that determines when an application makes a system call to execute the process. Here, the first rule 112 may include a rule in which a log related to the system call is generated when an application makes a system call to execute a process.

구체적으로, 제1 룰(112)은, 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜을 하는 경우, 시스템 콜 번호, 프로세스 ID, 프로세스가 다루는 파일의 경로, 시스템 콜이 발생된 시간 등의 정보를 포함하는 로그를 생성할 수 있다. Specifically, the first rule 112 includes information such as a system call number, a process ID, a path of a file handled by a process, and a time when a system call occurred when an application makes a system call to execute a process. You can create logs.

프로세서(200)는 제1 룰(112)에 기초하여 시스템 콜 하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단한다. 구체적으로, 프로세서(200)는 제1 룰(112)에 의해 어플리케이션이 수행한 시스템 콜에 대한 로그가 발생된 경우, 감시 프로세스(120)를 이용하여 로그를 분석하고, 로그에 대응되는 프로세스를 실행한 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단할 수 있다. The processor 200 determines whether an application that makes a system call corresponds to a security verified application based on the first rule 112. Specifically, when a log for a system call performed by an application is generated by the first rule 112, the processor 200 analyzes the log using the monitoring process 120 and executes a process corresponding to the log It is possible to determine whether an application corresponds to a security verified application.

이때, 프로세서(200)는 메모리(100)에 저장된 보안 검증된 어플리케이션에 대한 리스트(160)에 기초하여 프로세스를 실행하는 어플리케이션이 보안 검증 완료된 어플리케이션에 해당하는지 여부를 판단할 수 있다. 구체적으로, 프로세서(200)는 로그 정보에 포함된 프로세스 정보 및 프로세스를 실행한 어플리케이션에 관련된 정보를 메모리(100)에 저장된 보안 검증된 어플리케이션에 대한 리스트(160)와 매칭하여 프로세스를 실행하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단할 수 있다. At this time, the processor 200 may determine whether the application executing the process corresponds to the security verified application based on the list 160 of the security verified application stored in the memory 100. Specifically, the processor 200 matches the process information included in the log information and the information related to the application that executed the process with the list 160 for the security-proven application stored in the memory 100 so that the application executing the process It can be determined whether it corresponds to the security-verified application.

시스템 콜 하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우, 프로세서(200)는 감시 시스템(110)에 포함된 기정의된 복수의 룰에 기초한 감시를 스킵하기 위한 제2 룰(113)을 생성한다. When the system call application corresponds to the security verified application, the processor 200 generates a second rule 113 for skipping monitoring based on a plurality of predefined rules included in the monitoring system 110.

프로세서(200)는 생성된 제1 룰(112) 및 제2 룰(113)은 기정의된 복수의 룰(111-1 및 111-2)에 추가할 수 있다. 이때, 감시 프로세스(120)는 제1 룰 및 제2 룰을 감시 시스템(110)에 기정의된 복수의 룰(111-1 및 111-2)의 앞에 추가하여, 감시 시스템(110)이 기정의된 복수의 룰(111-1 및 111-2) 이전에 제1 룰을 이용하여 프로세스를 검시하도록 할 수 있다. 한편, 이는 일 실시 예이며, 감시 프로세스(120)는 제1 룰 및 제2 룰을 감시 시스템(110)에 기정의된 복수의 룰(111-1 및 111-2) 사이에 추가할 수도 있다. The processor 200 may add the generated first rule 112 and second rule 113 to a plurality of predefined rules 111-1 and 111-2. At this time, the monitoring process 120 adds the first rule and the second rule to the plurality of rules 111-1 and 111-2 defined in the monitoring system 110, so that the monitoring system 110 is A process may be inspected by using the first rule before the plurality of rules 111-1 and 111-2. Meanwhile, this is one embodiment, and the monitoring process 120 may add the first rule and the second rule between a plurality of rules 111-1 and 111-2 defined in the monitoring system 110.

프로세서(200)는 기정의된 복수의 룰(111-2) 이전에 제1 룰(112)을 추가하고 제1 룰(112)에 의해 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 기정의된 복수의 룰(111-2) 이전에 제2 룰(113)을 추가하여, 제2룰(113)에 의해 기정의된 복수의 룰에 기초한 감시를 스킵할 수 있다. When the processor 200 adds the first rule 112 before a plurality of predefined rules 111-2 and determines that the application corresponds to the security verified application by the first rule 112, the processor 200 By adding the second rule 113 before the plurality of rules 111-2, the monitoring based on the plurality of rules defined by the second rule 113 can be skipped.

즉, 프로세서(200)는 제1 룰(112) 및 제2 룰(113)을 기정의된 복수의 룰에 추가할 수 있으며, 기정의된 복수의 룰을 이용하여 시스템 콜에 대한 감시를 수행하기 이전에 먼저 제1룰을 이용하여 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜 하는 시점 및 시스템 콜 하는 어플리케이션을 파악하고, 시스템 콜 하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우 제2 룰을 이용하여 기정의된 복수의 룰을 이용한 감시를 생략할 수 있다.That is, the processor 200 may add the first rule 112 and the second rule 113 to a plurality of predefined rules, and perform monitoring of system calls using the predefined plurality of rules Previously, the first rule is used to identify the system call time and the system call application in order to execute the process, and when the system call application corresponds to the security verified application, the second rule is used to define the application. Monitoring using a plurality of rules can be omitted.

즉, 도 5를 참조하면, 프로세서(200)는 다음과 같은 순서로 동작을 수행할 수 있다. That is, referring to FIG. 5, the processor 200 may perform operations in the following order.

1. 감시 프로세스(120)를 이용하여 시스템 콜을 실행하는 프로세스를 모니터링하기 위한 룰을 감시 시스템(110)에 추가한다. 1. The rule for monitoring the process of executing the system call using the monitoring process 120 is added to the monitoring system 110.

2. 어플리케이션의 프로세스(180)가 시스템 콜을 실행하여 파일 시스템(140)에 접근하면, 제1 룰을 이용하여 시스템 콜을 실행하는 프로세스를 감시한다. 2. When the process 180 of the application accesses the file system 140 by executing a system call, the process executing the system call is monitored using the first rule.

3. 감시 프로세스(120)가 제1 룰로부터 로그 기록을 획득하고, 획득된 로그 기록을 분석한다. 3. The monitoring process 120 obtains a log record from the first rule, and analyzes the obtained log record.

4. 검증된 어플리케이션의 리스트(160)를 체크하여, 시스템 콜을 실행한 프로세스의 어플리케이션이 검증된 어플리케이션인지 판단한다.4. Check the list of verified applications 160 to determine whether the application of the process that executed the system call is a verified application.

5. 시스템 콜을 실행한 프로세스의 어플리케이션이 검증된 어플리케이션인 경우, 기정의된 복수의 룰을 스킵하는 제2룰을 추가한다. 5. When the application of the process that executed the system call is a verified application, a second rule that skips a plurality of predefined rules is added.

한편, 도 6은 본 개시의 일 실시 예에 따라 어플리케이션의 변조를 감시하는 룰을 추가하여 시스템을 감시하는 전자 장치를 설명하기 위한 도면이다. Meanwhile, FIG. 6 is a diagram for describing an electronic device that monitors a system by adding a rule for monitoring modulation of an application according to an embodiment of the present disclosure.

프로세서(200)는 검증된 어플리케이션 리스트에 포함된, 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링 하기 위한 제3 룰을 생성할 수 있다. 어플리케이션에 대한 변조는 어플리케이션과 관련된 파일 또는 프로그램에 쓰기(write)를 통하여 이루어진다는 점에서, 프로세서(200)는 어플리케이션과 관련된 파일 또는 프로그램에 쓰기(write)를 시도하려는 시스템 콜이 발생되는지를 모니터링 하기 위한 제3 룰을 생성할 수 있다. 여기에서 어플리케이션과 관련된 파일 또는 프로그램은 어플리케이션을 실행하는 실행 프로그램, 어플리케이션에 대한 권한을 설정하거나 변경하기 위한 파일 등이 포함될 수 있다. The processor 200 may generate a third rule for monitoring tampering with respect to at least one security verified application included in the verified application list. Since the modification to the application is performed by writing to a file or program related to the application, the processor 200 monitors whether a system call is attempted to write to the file or program related to the application. A third rule can be generated. Here, the file or program related to the application may include an execution program for executing the application, a file for setting or changing authority for the application, and the like.

이를 위하여, 우선 프로세서(200)는 감시 프로세스(120)를 이용하여 검증된 어플리케이션의 리스트로부터 어플리케이션의 경로(path)를 획득할 수 있다. 어플리케이션의 경로는 어플리케이션의 실행과 관련된 파일 또는 프로그램, 어플리케이션에 대한 권한을 결정하거나 변경하기 위한 파일 또는 프로그램이 메모리(100)에 저장된 위치를 나타낼 수 있다. To this end, the processor 200 may obtain the path of the application from the list of verified applications using the monitoring process 120. The path of the application may indicate a file or program related to execution of the application, or a location where the file or program for determining or changing authority for the application is stored in the memory 100.

프로세서(200)는 검증된 어플리케이션의 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대하여 변조가 식별되면, 로그를 발생시키기 위한 제3 룰을 생성할 수 있다. The processor 200 may generate a third rule for generating a log when tampering is identified for at least one security verified application included in the list of verified applications.

그리고, 프로세서(200)는 검증된 어플리케이션의 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별할 수 있다. Then, the processor 200 may identify that the application included in the log generated according to the third rule among the at least one securely verified application included in the list of verified applications has been tampered with.

예를 들어, 검증된 어플리케이션의 리스트에는 A 어플리케이션, B 어플리케이션, C 어플리케이션 등이 포함되어 있고, 어플리케이션의 변조와 관련된 시스템 콜을 감시하는 제3 룰에 따라 발생된 로그 정보에 A 어플리케이션의 정보가 포함되어 있는 경우, 프로세서(200)는 제3 룰에 따라 생성된 로그 정보를 이용하여 A 어플리케이션이 변조되었음을 식별할 수 있다. For example, the list of verified applications includes A application, B application, C application, and the like, and application information of A application is included in log information generated according to the third rule that monitors system calls related to application modulation. If it is, the processor 200 may identify that the A application has been tampered with using log information generated according to the third rule.

프로세서(200)는 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 검증된 어플리케이션의 리스트에서 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. 구체적으로, 제3 룰에 따라 변조가 식별된 어플리케이션은 더 이상 보안 검증된 어플리케이션으로 볼 수 없다는 점에서, 프로세서(200)는 감시 프로세스(120)를 이용하여, 보안 검증된 어플리케이션의 리스트에서 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. When the modulation for the application is identified according to the third rule, the processor 200 may delete information about the application for which the modulation is identified from the list of verified applications. Specifically, in that the application for which the modulation is identified according to the third rule can no longer be viewed as a security verified application, the processor 200 uses the monitoring process 120 to perform modulation in the list of security verified applications. Information about the identified application can be deleted.

그리고, 프로세서(200)는 검증된 어플리케이션의 리스트와 대응되도록, 감시 시스템(110)에 추가된 제3룰을 수정할 수 있다. 구체적으로, 프로세서(200)는 제3 룰에 포함된 시스템 콜 번호, 어플리케이션의 프로세스 ID, 어플리케이션과 관련된 파일의 경로 등 어플리케이션과 관련된 정보 중에서 변조가 식별된 어플리케이션의 정보를 삭제할 수 있다. Then, the processor 200 may modify the third rule added to the monitoring system 110 to correspond to the list of verified applications. Specifically, the processor 200 may delete information of an application for which modulation has been identified from information related to the application, such as a system call number included in the third rule, an application process ID, and a path of a file associated with the application.

그 후, 프로세서(200)는 변조가 식별된 어플리케이션이 실행하는 프로세스가 시스템 콜을 수행하면, 기정의된 복수의 룰을 순차적으로 이용하여 시스템 콜을 감시할 수 있다. 즉, 변조가 식별된 어플리케이션의 정보는 검증된 어플리케이션의 리스트에서 삭제되었다는 점에서, 도 5 및 도 6에서 상술한 실시 예가 적용될 수 없으며, 프로세서(200)는 감시 시스템(110)에 저장된 기정의된 복수의 룰을 이용하여 변조가 식별된 어플리케이션을 감시할 수 있다. Thereafter, the processor 200 may monitor the system call by sequentially using a plurality of predefined rules when the process executed by the application for which the modulation is identified performs a system call. That is, in the fact that the information of the application for which the modulation has been identified has been deleted from the list of verified applications, the above-described embodiments in FIGS. 5 and 6 cannot be applied, and the processor 200 is defined as stored in the monitoring system 110. An application in which modulation is identified can be monitored using a plurality of rules.

즉, 도 6를 참조하면, 프로세서(200)는 다음과 같은 순서로 동작을 수행할 수 있다. That is, referring to FIG. 6, the processor 200 may perform operations in the following order.

1. 감시 프로세스(120)를 이용하여 보안 검증된 어플리케이션의 경로를 획득한다. 1. Obtain the path of the security-verified application using the monitoring process 120.

2. 획득된 보안 검증된 어플리케이션의 경로에 존재하는 어플리케이션에 대한 변조 여부를 모니터링 하기 위한 제3 룰을 추가한다.2. Add a third rule for monitoring whether an application exists in the path of the obtained security verified application is tampered with.

3. 악성 코드 등 의심 어플리케이션(suspicious application)이 보안 검증된 어플리케이션의 경로에 접근하여 어플리케이션을 변조하면, 제3 룰에 따라 어플리케이션의 변조를 감지한다.3. When a suspicious application such as malicious code accesses the path of the security-verified application and modulates the application, the application is detected according to the third rule.

4. 감시 프로세스(120)를 이용하여 제3 룰에 따라 발생된 로그 정보를 획득하고, 로그 정보를 분석하여 변조가 식별된 어플리케이션을 판단한다.4. Obtain log information generated according to the third rule using the monitoring process 120, and analyze the log information to determine an application for which modulation has been identified.

5. 보안 검증된 어플리케이션의 리스트로부터 변조가 식별된 어플리케이션의 정보를 삭제한다. 5. Delete the information of the application for which tamper is identified from the list of security verified applications.

6. 감시 시스템에 저장된 제3 룰에서 변조가 식별된 어플리케이션의 정보를 삭제한다. 6. In the third rule stored in the monitoring system, information of the application for which the modulation has been identified is deleted.

도 5 및 도 6에서 상술한 바와 같이, 프로세서(200)는 보안 검증된 어플리케이션의 리스트를 이용하여, 감시 시스템(110)에 시스템 콜과 관련된 룰을 추가할 수 있다. 이를 위하여 프로세서(200)는 보안 검증된 어플리케이션의 리스트를 생성할 수 있다. As described above with reference to FIGS. 5 and 6, the processor 200 may add a rule related to a system call to the monitoring system 110 using a list of security verified applications. To this end, the processor 200 may generate a list of security verified applications.

이와 관련하여, 도 4는 본 개시의 일 실시예에 따라 보안 검증된 어플리케이션의 리스트를 생성하는 전자 장치를 설명하기 위한 도면이다. In this regard, FIG. 4 is a diagram for describing an electronic device that generates a list of security verified applications according to an embodiment of the present disclosure.

프로세서(200)는 메모리(100)에 저장된 적어도 하나의 어플리케이션에 대한 보안 검증을 수행하고, 적어도 하나의 어플리케이션 중에서 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 메모리(100)에 저장할 수 있다. The processor 200 performs security verification on at least one application stored in the memory 100 and generates a list including at least one application for which security verification has been performed among the at least one application to the memory 100 Can be saved.

구체적으로, 전자 장치(100)가 부팅 되는 경우, 프로세서(200)는 메모리(100)에 저장된 어플리케이션에 대한 보안 검증을 수행할 수 있다. 여기에서의 보안 검증은 메모리(100)에 저장된 어플리케이션을 기정의된 악성 행위 패턴 또는 악성 코드와 비교하여 해당 어플리케이션이 악성으로 의심되는 어플리케이션인지 식별하는 것을 나타낸다. Specifically, when the electronic device 100 is booted, the processor 200 may perform security verification of the application stored in the memory 100. The security verification here indicates that the application stored in the memory 100 is compared with a predetermined malicious behavior pattern or malicious code to identify whether the application is a suspected malicious application.

기 정의된 악성 행위 패턴은 예컨대, 주소록 유출, 메시지 유출, 사진 유출, 부정 과금 유발, 암호화되지 않은 개인 정보를 네트워크로 전송, 특정 서버와 지속적으로 연결(SSH session)을 맺음, 공유 디렉토리의 파일들에 대한 지속적인 암호화 시도(랜섬웨어로 의심), 급격한 네트워크 통신 증가, 시스템 권한 및 파일들을 변경하려는 지속적인 시도, 다른 애플리케이션을 강제적으로 종료, 네트워크 권한이 없는 애플리케이션이 지속적으로 네트워크 통신을 시도, 셀룰러 데이터 통신을 유발, 스팸 메시지를 전송, GPS권한이 없는 애플리케이션이 좌표 정보를 네트워크로 전송, 지속적으로 특정 해외 불법 사이트에 접근, 국제 전화 걸기, 배터리 소진 등을 포함할 수 있다. Pre-defined malicious behavior patterns include, for example, address book leakage, message leakage, photo leakage, fraudulent charging, transmission of unencrypted personal information to the network, continuous connection with a specific server (SSH session), files in the shared directory Continuous encryption attempts (suspected as ransomware), rapid network communication increase, continuous attempts to change system privileges and files, forcibly shutting down other applications, applications without network privileges constantly trying to communicate with the network, cellular data communication This may include triggering spam messages, sending spam messages, applications without GPS permission, transmitting coordinate information to the network, continuously accessing certain overseas illegal sites, making international calls, and draining batteries.

프로세서(200)는 보안 검증을 수행한 후, 검증된 어플리케이션 생성 모듈(170)을 이용하여 보안 검증된 어플리케이션의 파일들을 탐색할 수 있다. 여기에서 어플리케이션의 파일은 어플리케이션을 실행하는데 사용되는 파일로, 바이너리 파일 또는 소스 파일을 포함할 수 있다. After performing the security verification, the processor 200 may search for files of the security verified application using the verified application generation module 170. Here, the file of the application is a file used to execute the application, and may include a binary file or a source file.

프로세서(200)는 메모리에 저장된 적어도 하나의 어플리케이션 중에서 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 메모리(100)에 저장할 수 있다. 이때, 어플리케이션에 대한 정보는 어플리케이션의 식별 정보, 어플리케이션의 실행 파일 또는 프로그램의 경로 등을 포함할 수 있으며, 어플리케이션의 실행 파일 또는 프로그램은 소스 코드 또는 바이너리 코드를 포함할 수 있다. The processor 200 may generate a list including information on at least one application that is securely verified among at least one application stored in the memory and store it in the memory 100. At this time, the information on the application may include identification information of the application, an executable file of the application, or a path of the program, and the executable file or program of the application may include source code or binary code.

프로세서(200)는 메모리(100)에 저장된 보안 검증된 어플리케이션의 리스트에 기초하여 프로세스를 실행하는 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 판단할 수 있다. The processor 200 may determine whether an application executing a process corresponds to an application for which security verification has been completed based on a list of security verified applications stored in the memory 100.

예를 들어, 프로세서(200)는 특정 프로세스를 실행하는 어플리케이션이 보안 검증된 어플리케이션의 리스트에 포함되어 있다면, 해당 어플리케이션을 보안 검증된 어플리케이션으로 판단할 수 있다. 어플리케이션이 보안 검증된 어플리케이션으로 판단되는 경우, 프로세서(200)는 도 5에서 상술한 바에 따라 감시 시스템(110)에 추가된 룰들을 이용하여 보안 검증된 어플리케이션에 대한 감시를 생략할 수 있다. For example, if the application executing a specific process is included in the list of security verified applications, the processor 200 may determine that the application is a security verified application. When the application is determined to be a security verified application, the processor 200 may omit monitoring of the security verified application using rules added to the monitoring system 110 as described above in FIG. 5.

그리고, 특정 프로세스를 실행하는 어플리케이션이 보안 검증된 어플리케이션의 리스트에 포함되어 있지 않다면, 해당 어플리케이션을 보안 검증되지 않은, 안전하지 않은 어플리케이션으로 판단하고, 감시 시스템(110)의 기정의된 복수의 룰들을 이용하여 해당 어플리케이션에 대한 감시를 수행할 수 있다. And, if the application that executes the specific process is not included in the list of security verified applications, the application is determined as an unsecured, unsafe application, and a plurality of predefined rules of the monitoring system 110 are determined. Can be used to monitor the application.

도 7은 본 개시의 일 실시 예에 따른 전자 장치를 상세히 설명하기 위한 블록도이다. 7 is a block diagram illustrating in detail an electronic device according to an embodiment of the present disclosure.

도 7을 참조하면, 메모리(100), 프로세서(200), 통신부(300), 디스플레이(4000), 스피커(500), GPS칩(600), 입력부(700), 카메라(800), 마이크(900)를 포함할 수 있다. 실시 형태에 따라 도시되지 않았더라도 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(1000)에 추가로 포함될 수 있다. 또한, 실시 형태에 따라 몇몇의 구성들이 제외될 수 있다. Referring to FIG. 7, a memory 100, a processor 200, a communication unit 300, a display 4000, a speaker 500, a GPS chip 600, an input unit 700, a camera 800, and a microphone 900 ). Although not illustrated according to the embodiment, appropriate hardware / software configurations of those skilled in the art may be additionally included in the electronic device 1000. In addition, some configurations may be excluded depending on the embodiment.

통신부(300)는 예를 들면 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치와 통신할 수 있다. 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신은, 예를 들면, WiFi 다이렉트(wireless fidelity direct), 블루투스(Bluetooth), NFC(near field communication), 직비(Zigbee) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.The communication unit 300 may be connected to a network through, for example, wireless communication or wired communication to communicate with external devices. Wireless communication is, for example, a cellular communication protocol, for example, long-term evolution (LTE), LTE Advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal (UMTS) Mobile telecommunications system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications) may be used. Further, the wireless communication may include short-range communication, for example. The short-range communication may include, for example, at least one of WiFi direct (wireless fidelity direct), Bluetooth (Bluetooth), near field communication (NFC), and Zigbee. The wired communication may include at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), a recommended standard232 (RS-232), or a plain old telephone service (POTS). The network may include at least one of a telecommunications network, for example, a computer network (eg, LAN or WAN), the Internet, or a telephone network.

디스플레이(400)는 영상을 출력하기 위한 구성이다. 디스플레이(500)는 예를 들면, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이(예컨대 AMOLED(active-matrix organic light-emitting diode), PMOLED(passive-matrix OLED)), 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이로 구현될 수 있다. 디스플레이(400)와 입력부(700)의 터치 센서가 상호 레이어 구조를 이루어 터치 스크린으로 구현될 수 있다. The display 400 is a configuration for outputting an image. The display 500 includes, for example, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display (such as AMOLED) (active-matrix organic light-emitting diode), PMOLED (passive-matrix OLED), or microelectromechanical systems (MEMS) display, or electronic paper display. The touch sensor of the display 400 and the input unit 700 may be implemented as a touch screen by forming a mutual layer structure.

스피커(500)는 오디오를 출력할 수 있는 구성이다. 예컨대, 스피커(500)는 의심 애플리케이션에 대한 정보, 애플리케이션의 격리, 격리 해제 등과 같은 다양한 정보를 소리로 출력할 수 있다.The speaker 500 is a component capable of outputting audio. For example, the speaker 500 may output various information, such as information about the suspect application, isolation of the application, release of the isolation, and the like.

GPS 칩(600)은 GPS(Grobal Positioning System) 위성으로부터 GPS 신호를 수신하여, 전자 장치(1000)의 현재 위치를 산출하기 위한 구성요소이다. 전자 장치(1000)의 위치 정보는 접근 권한에 따라 특정 애플리케이션이 접근할 수 있다. 해당 애플리케이션이 격리된 경우, 위치 정보에 대한 접근이 차단될 수 있다. The GPS chip 600 is a component for receiving a GPS signal from a GPS (Global Positioning System) satellite and calculating a current position of the electronic device 1000. The location information of the electronic device 1000 may be accessed by a specific application according to the access authority. If the application is isolated, access to location information may be blocked.

입력부(700)는 사용자 입력을 수신하여 프로세서(200)로 전달할 수 있다. 입력부(700)는 예컨대, 터치 센서, (디지털) 펜 센서, 압력 센서, 키를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. The input unit 700 may receive a user input and transmit it to the processor 200. The input unit 700 may include, for example, a touch sensor, a (digital) pen sensor, a pressure sensor, and a key. For the touch sensor, for example, at least one of capacitive, pressure-sensitive, infrared, and ultrasonic methods may be used. The (digital) pen sensor, for example, may be part of the touch panel or may include a separate recognition sheet. The key can include, for example, a physical button, an optical key, or a keypad.

카메라(800)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상하기 위한 구성이다. 카메라(800)는 전면 카메라, 후면 카메라와 같이 복수 개로 구현될 수 있다. 카메라(800)를 이용해 촬영한 사진, 동영상 등은 접근 권한에 따라 특정 애플리케이션이 접근할 수 있다. 해당 애플리케이션이 격리된 경우, 사진, 동영상에 대한 접근이 차단될 수 있다. The camera 800 is configured to capture a still image or a video according to a user's control. The camera 800 may be embodied as a plurality of front cameras and rear cameras. A specific application may access photos and videos taken using the camera 800 according to access rights. If the application is quarantined, access to photos and videos may be blocked.

마이크(900)는 외부에서부터 수신되는 음성(voice) 또는 사운드(sound)를 전기적인 신호로 생성(또는, 변환)할 수 있다. 마이크(900)에서 생성된 전기적인 신호는 메모리(100)에 저장되거나 또는 스피커(500)를 통해 출력될 수 있다. 마이크(900)는 하나 또는 복수 개로 구성될 수 있다.The microphone 900 may generate (or convert) a voice or sound received from the outside into an electrical signal. The electrical signal generated by the microphone 900 may be stored in the memory 100 or output through the speaker 500. The microphone 900 may be composed of one or a plurality of microphones.

메모리(100) 및 프로세서(200)에 대한 설명은 도 3의 메모리(100) 및 프로세서(200)에 대한 설명을 원용할 수 있다. The description of the memory 100 and the processor 200 may use the description of the memory 100 and the processor 200 of FIG. 3.

프로세서(200)는 RAM(210), ROM(220), CPU(230), GPU(Graphic Processing Unit)(240), 버스(250)를 포함할 수 있다. RAM(210), ROM(220), CPU(230), GPU(240) 등은 버스(250)를 통해 서로 연결될 수 있다. The processor 200 may include a RAM 210, a ROM 220, a CPU 230, a graphic processing unit (GPU) 240, and a bus 250. The RAM 210, the ROM 220, the CPU 230, and the GPU 240 may be connected to each other through the bus 250.

CPU(230)는 메모리(100)에 액세스하여, 메모리(100)에 저장된 O/S를 이용하여 부팅을 수행할 수 있다. 그리고, 메모리(100)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.The CPU 230 may access the memory 100 and boot using the O / S stored in the memory 100. Also, various operations may be performed using various programs, contents, and data stored in the memory 100.

ROM(220)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, CPU(230)는 ROM(220)에 저장된 명령어에 따라 메모리(100)에 저장된 O/S를 RAM(210)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU(230)는 메모리(100)에 저장된 각종 프로그램을 RAM(210)에 복사하고, RAM(210)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다. GPU(240)는 전자 장치(1000)의 부팅이 완료되면, 메모리(100)에 저장된 애플리케이션에 대응하는 UI 및 UI 요소들을 디스플레이(400)에 디스플레이할 수 있다.The ROM 220 stores a set of instructions for booting the system. When the turn-on command is input and power is supplied, the CPU 230 copies the O / S stored in the memory 100 to the RAM 210 according to the command stored in the ROM 220, and executes the O / S to operate the system. Boot. When the booting is completed, the CPU 230 performs various operations by copying various programs stored in the memory 100 to the RAM 210 and executing programs copied to the RAM 210. When the booting of the electronic device 1000 is completed, the GPU 240 may display UIs and UI elements corresponding to an application stored in the memory 100 on the display 400.

도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다. 8 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.

도 8을 참조하면, 전자 장치(1000)는 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜 하는 시점을 판단하는 제1 룰을 생성할 수 있다(S810). Referring to FIG. 8, the electronic device 1000 may generate a first rule that determines when an application makes a system call to execute a process (S810).

이때, 전자 장치(1000)는 감시 시스템에 기정의된 복수의 룰 이전에 제1 룰을 추가할 수 있다. In this case, the electronic device 1000 may add the first rule before a plurality of rules defined in the monitoring system.

그리고, 어플리케이션에 의해 실행된 프로세스에 의해 발생된 시스템 콜이 커널로 전달될 수 있다(S820).Then, the system call generated by the process executed by the application may be delivered to the kernel (S820).

또한, 제1 룰에 기초하여 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우, 기정의된 복수의 룰에 기초한 감시를 스킵하기 위한 제2 룰을 생성할 수 있다(S830).In addition, when the application corresponds to the security-verified application based on the first rule, a second rule for skipping monitoring based on a plurality of predefined rules may be generated (S830).

여기에서, 제1 룰은 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜을 수행하면 로그를 발행하는 룰을 포함하고, 제1 룰에 기초하여 시스템 콜에 대한 로그가 발생된 경우, 제2 룰을 생성할 수 있다. Here, the first rule includes a rule for issuing a log when an application performs a system call to execute a process, and when a log for a system call is generated based on the first rule, a second rule is generated. Can be.

이때, 전자 장치(1000)는 제1 룰에 의해 시스템 콜에 대한 로그가 발생된 경우, 제2 룰에 따라 기정의된 복수의 룰에 기초한 감시를 스킵할 수 있다. At this time, when the log for the system call is generated by the first rule, the electronic device 1000 may skip monitoring based on a plurality of rules defined according to the second rule.

구체적으로, 제1 룰에 의해 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 기정의된 복수의 룰 이전에 제2 룰을 추가하여, 제2 룰에 따라 기정의된 복수의 룰에 기초한 감시를 스킵할 수 있다. Specifically, when it is determined that the application corresponds to the security-verified application according to the first rule, the second rule is added before the predefined plurality of rules to monitor based on the plurality of rules defined according to the second rule Can be skipped.

그리고, 전자 장치(1000)는 시스템 콜에 기초하여 커널에서 발생된 요청에 대응되는 동작을 수행할 수 있다(S840).Then, the electronic device 1000 may perform an operation corresponding to the request generated in the kernel based on the system call (S840).

한편, 전자 장치(1000)는 전자 장치(1000)에 저장된 적어도 하나의 어플리케이션에 대한 보안 검증을 수행할 수 있다. 그리고, 적어도 하나의 어플리케이션 중에서 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 전자 장치에 저장할 수 있다. Meanwhile, the electronic device 1000 may perform security verification for at least one application stored in the electronic device 1000. Also, a list including information on at least one application that has been securely verified among at least one application may be generated and stored in the electronic device.

이때, 전자 장치(1000)는 리스트에 기초하여 프로세스를 실행하는 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단할 수 있다. At this time, the electronic device 1000 may determine whether the application executing the process corresponds to the application for which security verification has been completed based on the list.

한편, 전자 장치(1000)는 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제3 룰을 생성할 수 있다. 이때, 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 리스트에서 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. Meanwhile, the electronic device 1000 may generate a third rule for monitoring tampering with respect to at least one security verified application included in the list. At this time, if the modulation for the application is identified according to the third rule, information on the application for which the modulation is identified can be deleted from the list.

또한, 전자 장치(1000)는 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 변조가 식별되면 로그를 발생시키기 위한 제3 룰을 생성하고, 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별할 수 있다. In addition, the electronic device 1000 generates a third rule for generating a log when tampering is identified for at least one security verified application included in the list, and is selected from among at least one security verified application included in the list. 3 The application included in the log generated according to the rule can be identified as being tampered with.

한편, 상술한 바와 같은 제어 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다. Meanwhile, the control method as described above may be implemented as a program including an executable algorithm that can be executed on a computer, and the program can be provided stored in a non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 애플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.A non-transitory readable medium means a medium that stores data semi-permanently and that can be read by a device, rather than a medium that stores data for a short time, such as registers, caches, and memory. Specifically, the various applications or programs described above may be stored and provided on a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이상에서는 본 개시의 바람직한 실시예에 대해서 도시하고, 설명하였으나, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다. The preferred embodiments of the present disclosure have been described and described above, but the present disclosure is not limited to the specific embodiments described above, and it is not limited to the specific embodiments described in the claims, without departing from the gist of the present disclosure claimed in the claims. Of course, various modifications can be made to anyone having ordinary knowledge, and such changes are within the scope of the claims.

1000: 전자 장치 100: 메모리
200: 프로세서
1000: electronic device 100: memory
200: processor

Claims (18)

전자 장치에 있어서,
커널(kernel) 및 적어도 하나의 어플리케이션이 저장된 메모리; 및
상기 어플리케이션에 의해 실행된 프로세스에 의해 발생된 시스템 콜이 상기 커널로 전달되면, 상기 어플리케이션이 상기 시스템 콜에 기초하여 상기 커널에서 발생된 요청에 대응되는 동작을 수행하도록 상기 어플리케이션을 실행하는 프로세서;를 포함하며,
상기 커널은, 기정의된 복수의 룰(rules)에 기초하여 상기 시스템 콜에 대한 감시(audit)를 수행하며,
상기 프로세서는,
상기 어플리케이션이 상기 프로세스를 실행하기 위하여 시스템 콜하는 시점을 판단하는 제1 룰을 생성하고, 상기 제1 룰에 기초하여 상기 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단하며, 상기 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵(skip)하기 위한 제2 룰을 생성하는, 전자 장치.
In the electronic device,
A memory in which a kernel and at least one application are stored; And
A processor that executes the application to perform an operation corresponding to a request generated in the kernel based on the system call when a system call generated by a process executed by the application is delivered to the kernel; Includes,
The kernel performs an audit of the system call based on a plurality of predefined rules,
The processor,
Create a first rule to determine when the application calls the system to execute the process, determine whether the application corresponds to a security verified application based on the first rule, and the application is a security verified application If it corresponds to, the electronic device generates a second rule for skipping the monitoring based on the predefined plurality of rules.
제1항에 있어서,
상기 프로세서는,
상기 제1 룰에 의해 상기 시스템 콜에 대한 로그가 발생된 경우, 상기 제2 룰에 따라 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵하는, 전자 장치.
According to claim 1,
The processor,
If the log for the system call is generated by the first rule, the electronic device skips the monitoring based on the predefined plurality of rules according to the second rule.
제1항에 있어서,
상기 프로세서는,
상기 기정의된 복수의 룰 이전에 상기 제1 룰을 추가하고, 상기 제1룰에 의해 상기 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 상기 기정의된 복수의 룰 이전에 상기 제2 룰을 추가하여, 상기 제2 룰에 의해 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵하는, 전자 장치.
According to claim 1,
The processor,
If the first rule is added before the predefined plurality of rules, and it is determined that the application corresponds to the security verified application by the first rule, the second rule before the predefined plurality of rules In addition, the electronic device skips the monitoring based on the plurality of rules defined by the second rule.
제1항에 있어서,
상기 제1 룰은,
상기 어플리케이션이 상기 프로세스를 실행하기 위하여 상기 시스템 콜을 수행하면 로그를 발생하는 룰을 포함하고,
상기 프로세서는,
상기 제1 룰에 기초하여 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제2 룰을 생성하는, 전자 장치.
According to claim 1,
The first rule,
And a rule for generating a log when the application performs the system call to execute the process,
The processor,
When the log for the system call is generated based on the first rule, the electronic device generates the second rule.
제1항에 있어서,
상기 프로세서는,
상기 메모리에 저장된 적어도 하나의 어플리케이션에 대한 보완 검증을 수행하고, 상기 적어도 하나의 어플리케이션 중에서 상기 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 상기 메모리에 저장하는, 전자 장치.
According to claim 1,
The processor,
An electronic device that performs a supplementary verification of at least one application stored in the memory and generates a list including information on the at least one security verified application among the at least one application, and stores the list in the memory.
제5항에 있어서,
상기 프로세서는,
상기 리스트에 기초하여 상기 프로세스를 실행하는 상기 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단하는, 전자 장치.
The method of claim 5,
The processor,
Based on the list, it is determined whether the application that executes the process corresponds to an application for which security verification has been completed.
제5항에 있어서,
상기 프로세서는,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제3 룰을 생성하는, 전자 장치.
The method of claim 5,
The processor,
And generate a third rule for monitoring tampering for at least one securely verified application included in the list.
제7항에 있어서,
상기 프로세서는,
상기 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 상기 리스트에서 상기 변조가 식별된 어플리케이션에 대한 정보를 삭제하는, 전자 장치.
The method of claim 7,
The processor,
When the modulation for the application is identified according to the third rule, the information on the application for which the modulation is identified is deleted from the list.
제7항에 있어서,
상기 프로세서는,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 상기 변조가 식별되면 로그를 발생시키기 위한 상기 제3 룰을 생성하고, 상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 상기 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별하는, 전자 장치.
The method of claim 7,
The processor,
When the tampering is identified for at least one security verified application included in the list, the third rule for generating a log is generated, and the third rule among the at least one security verified application included in the list is generated. An electronic device that identifies that the application included in the generated log is tampered with.
전자 장치의 제어 방법에 있어서,
어플리케이션이 프로세스를 실행하기 위하여 시스템 콜 하는 시점을 판단하는 제1 룰을 생성하는 단계;
상기 어플리케이션에 의해 실행된 상기 프로세스에 의해 발생된 시스템 콜이 커널(kernel)로 전달되는 단계;
상기 제1 룰에 기초하여 상기 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우, 기정의된 복수의 룰에 기초한 감시(audit)를 스킵(skip)하기 위한 제2 룰을 생성하는 단계; 및
상기 시스템 콜에 기초하여 상기 커널에서 발생된 요청에 대응되는 동작을 수행하는 단계;를 포함하고,
상기 커널은, 기정의된 복수의 룰에 기초하여 상기 시스템 콜에 대한 감시를 수행하는, 제어 방법.
In the control method of the electronic device,
Generating a first rule for determining when an application calls a system to execute a process;
Passing a system call generated by the process executed by the application to a kernel;
Generating a second rule for skipping an audit based on a plurality of predefined rules when the application corresponds to a security verified application based on the first rule; And
And performing an operation corresponding to the request generated by the kernel based on the system call.
The kernel, the control method for performing monitoring of the system call based on a plurality of predefined rules.
제10항에 있어서,
상기 제어 방법은,
상기 제1 룰에 의해 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제2 룰에 따라 상기 기정의된 복수의 룰에 기초한 감시를 스킵하는 단계;를 더 포함하는, 제어 방법.
The method of claim 10,
The control method,
And if the log for the system call is generated by the first rule, skipping monitoring based on the predefined plurality of rules according to the second rule.
제10항에 있어서,
상기 제어 방법은,
상기 기정의된 복수의 룰 이전에 상기 제1 룰을 추가하는 단계; 및
상기 제1 룰에 의해 상기 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 상기 기정의된 복수의 룰 이전에 상기 제2 룰을 추가하여, 상기 제2 룰에 따라 상기 기정의된 복수의 룰에 기초한 상기 감시를 스킵하는 단계;를 더 포함하는, 제어 방법.
The method of claim 10,
The control method,
Adding the first rule before the predefined plurality of rules; And
When it is determined by the first rule that the application corresponds to a security-verified application, the second rule is added to the plurality of rules before the predefined plurality of rules, and the plurality of predefined rules according to the second rule And skipping the monitoring based on the control method.
제10항에 있어서,
상기 제1 룰은,
상기 어플리케이션이 상기 프로세스를 실행하기 위하여 상기 시스템 콜을 수행하면 로그를 발행하는 룰을 포함하고,
상기 제2 룰을 생성하는 단계는,
상기 제1 룰에 기초하여 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제2 룰을 생성하는 단계;를 포함하는, 제어 방법.
The method of claim 10,
The first rule,
And a rule for issuing a log when the application performs the system call to execute the process.
Generating the second rule,
And generating the second rule when the log for the system call is generated based on the first rule.
제10항에 있어서,
상기 제어 방법은,
상기 전자 장치에 저장된 적어도 하나의 어플리케이션에 대한 보완 검증을 수행하는 단계; 및
상기 적어도 하나의 어플리케이션 중에서 상기 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 상기 전자 장치에 저장하는 단계;를 더 포함하는, 제어 방법.
The method of claim 10,
The control method,
Performing complementary verification on at least one application stored in the electronic device; And
And generating a list including information on the at least one security-validated application among the at least one application, and storing the list in the electronic device.
제14항에 있어서,
상기 리스트에 기초하여 상기 프로세스를 실행하는 상기 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단하는 단계;를 더 포함하는, 제어 방법.
The method of claim 14,
And determining whether the application executing the process corresponds to an application for which security verification has been completed based on the list.
제14항에 있어서,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제3 룰을 생성하는 단계;를 더 포함하는, 제어 방법.
The method of claim 14,
And generating a third rule for monitoring tampering with respect to at least one security-validated application included in the list.
제16항에 있어서,
상기 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 상기 리스트에서 상기 변조가 식별된 어플리케이션에 대한 정보를 삭제하는 단계;를 더 포함하는 제어 방법.
The method of claim 16,
And if the modulation for the application is identified according to the third rule, deleting information on the application for which the modulation is identified from the list.
제16항에 있어서,
상기 제3룰을 생성하는 단계는,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 상기 변조가 식별되면 로그를 발생시키기 위한 상기 제3 룰을 생성하는 단계;를 포함하고,
상기 제어 방법은,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 상기 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별하는 단계;를 더 포함하는, 제어 방법.
The method of claim 16,
Generating the third rule,
And generating the third rule for generating a log when the tampering is identified for at least one security verified application included in the list.
The control method,
And identifying that the application included in the log generated according to the third rule among the at least one security verified application included in the list is tampered with.
KR1020180142782A 2018-11-19 2018-11-19 Electronic apparatus and controlling method thereof KR20200058147A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180142782A KR20200058147A (en) 2018-11-19 2018-11-19 Electronic apparatus and controlling method thereof
PCT/KR2019/011792 WO2020105854A1 (en) 2018-11-19 2019-09-11 Electronic device and control method therefor
US17/286,998 US11809550B2 (en) 2018-11-19 2019-09-11 Electronic device and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180142782A KR20200058147A (en) 2018-11-19 2018-11-19 Electronic apparatus and controlling method thereof

Publications (1)

Publication Number Publication Date
KR20200058147A true KR20200058147A (en) 2020-05-27

Family

ID=70774570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180142782A KR20200058147A (en) 2018-11-19 2018-11-19 Electronic apparatus and controlling method thereof

Country Status (3)

Country Link
US (1) US11809550B2 (en)
KR (1) KR20200058147A (en)
WO (1) WO2020105854A1 (en)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6058246B2 (en) * 1980-11-06 1985-12-19 住友ベークライト株式会社 Method for producing novolac type phenolic resin with wide molecular weight distribution
KR19990048880A (en) * 1997-12-11 1999-07-05 구자홍 How to monitor the operation of system users
US7734600B1 (en) * 2003-02-05 2010-06-08 Michael Wise Apparatus, method and system to implement an integrated data security layer
US8566585B2 (en) * 2008-07-14 2013-10-22 Nyotron Information Security Ltd. System and a method for processing system calls in a computerized system that implements a kernel
AU2008255227A1 (en) * 2008-12-10 2010-06-24 Canon Kabushiki Kaisha Document security method
CN101924761B (en) 2010-08-18 2013-11-06 北京奇虎科技有限公司 Method for detecting malicious program according to white list
US8549586B2 (en) * 2011-12-06 2013-10-01 Broadcom Corporation System utilizing a secure element
US9015832B1 (en) 2012-10-19 2015-04-21 Google Inc. Application auditing through object level code inspection
TWI494872B (en) 2012-11-06 2015-08-01 Quanta Comp Inc Automatic software audit system and automatic software audit method
CN103336925B (en) * 2013-07-29 2016-10-05 腾讯科技(深圳)有限公司 A kind of method and apparatus scanning acceleration
CN104133726A (en) * 2014-08-13 2014-11-05 浪潮电子信息产业股份有限公司 Process context mandatory access control method
JP6058246B2 (en) 2014-11-14 2017-01-11 三菱電機株式会社 Information processing apparatus, information processing method, and program
US9552481B1 (en) * 2014-12-30 2017-01-24 Symantec Corporation Systems and methods for monitoring programs
KR101778960B1 (en) 2016-01-19 2017-09-19 명지대학교 산학협력단 Security monitoring system for mobile device and method of security monitoring for mobile device using it
KR20170090645A (en) 2016-01-29 2017-08-08 조성욱 System and method for preventing from ransome virus
US10504045B2 (en) 2016-10-27 2019-12-10 Sap Se Audit schedule determination
KR101790761B1 (en) 2017-06-01 2017-10-31 (주)지란지교소프트 Process evaluation method based on user actions

Also Published As

Publication number Publication date
US11809550B2 (en) 2023-11-07
WO2020105854A1 (en) 2020-05-28
US20210390176A1 (en) 2021-12-16

Similar Documents

Publication Publication Date Title
KR102604046B1 (en) Method for Managing Program and Electronic Device supporting the same
KR102223609B1 (en) Content sharing method and apparatus
US11113368B2 (en) Method and electronic device for controlling permission of application program
KR102485830B1 (en) Processing for secure information
US10187359B2 (en) Secure message transmission apparatus and processing method thereof
US9762396B2 (en) Device theft protection associating a device identifier and a user identifier
US20160112415A1 (en) Method of providing information security and electronic device thereof
KR102544488B1 (en) Electronic apparatus and method for performing authentication
US9614673B2 (en) Method of managing keys and electronic device adapted to the same
KR102510846B1 (en) Electronic apparatus and controlling method thereof
US20160210130A1 (en) Apparatus and method for running multiple instances of a same application in mobile devices
KR102180529B1 (en) Application access control method and electronic device implementing the same
EP3021250B1 (en) Electronic device and method for suggesting response manual in occurrence of denial
KR102516345B1 (en) Method for determining illegal modification of data and electronic device supporting the same
KR102348217B1 (en) Method and apparatus for controlling the security screen in electronic device
KR102349714B1 (en) Method for Managing Program and Electronic Device supporting the same
US20180203941A1 (en) Electronic device and method for creating shortcut to web page in electronic device
US10868814B2 (en) System and method for flow-based architecture
KR20210026233A (en) Electronic device for controlling access for device resource and operating method thereof
Shrestha et al. Curbing mobile malware based on user-transparent hand movements
US11809550B2 (en) Electronic device and control method therefor
US11366766B2 (en) Electronic device and control method thereof
KR102365532B1 (en) Security function performing method and electronic device supporting the same
KR102018960B1 (en) Software code obfuscation using doubly packed structures
KR102419433B1 (en) Method and system for security-enhanced evaluation data inquiry

Legal Events

Date Code Title Description
A201 Request for examination