KR20200058147A - Electronic apparatus and controlling method thereof - Google Patents
Electronic apparatus and controlling method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/54—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing 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
Description
본 개시는 전자 장치 및 그 제어방법에 관한 것으로, 보다 상세하게는 어플리케이션에 대한 감시(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
이를 위하여, 감시 시스템(10)은 기설정된 이벤트가 발생하는 경우 로그를 발생하게 하는 복수의 룰(11)을 포함하고 있다. To this end, the
가령, 어플리케이션에 의해 실행되는 프로세스(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
구체적으로, 어플리케이션에 의해 실행되는 프로세스에서 시스템 콜이 발생하는 경우, 전자 장치의 감시 프로세스(20)는 감시 시스템(10)에 포함된 기설정된 복수의 룰(110)을 순차적으로 순회하면서 시스템 콜에 대한 감시를 수행한다. 그리고, 발생된 이벤트가 기설정된 복수의 룰 중 어느 하나의 룰에 포함된 조건에 부합되는 경우, 감시 프로세스(20)는 해당 룰에 대한 로그를 남기게 된다. Specifically, when a system call occurs in a process executed by an application, the
이때, 발생된 로그는 로그 스토리지(Log storage)(50)에 저장되며, 전자 장치는 로그 스토리지(50)에 저장된 로그를 참조하여 프로세스(30-1 내지 30-3)에 의해 발생된 시스템 콜에 관한 정보를 획득할 수 있다. At this time, the generated log is stored in the
한편, 감시 시스템(20)에 기설정된 복수의 룰은 글로벌(global)하게 기정의된 룰들로, 전자 장치는 감시 프로세스(20)를 이용하여 어플리케이션에 의해 실행된 프로세스(30-1 내지 30-3) 각각에 대하여 기설정된 복수의 룰들을 순회하게 된다. On the other hand, a plurality of rules preset in the
이 경우, 기설정된 복수의 룰이 많을수록 하나의 프로세스에 대하여 감시 프로세스(20)가 기록하고 저장하여야 하는 로그가 많아지고, 시스템이 로그를 분석하는데 많은 시간이 소요된다는 점에서, 시스템의 오버헤드(overhead)가 증가하게 된다. In this case, as the plurality of preset rules increases, the number of logs to be recorded and stored by the
반면, 기설정된 복수의 룰이 적을수록 하나의 프로세스에 대하여 감시 프로세스(20)가 기록하고 저장하는 로그가 적어지고, 시스템이 로그를 분석하는데 적은 시간이 소요되지만, 시스템의 보안이 취약해지는 문제점이 있다.On the other hand, as the number of preset rules is less, the log recorded and stored by the
본 개시는 상술한 문제점들을 해결하기 위한 것으로, 본 개시의 목적은 보안 검증된 어플리케이션에 의해 실행된 프로세스에 대해서는 감시를 스킵(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
전자 장치(1000)는 커널(kernel)에 포함된 감시 시스템(110)을 이용하여 어플리케이션에 의해 실행된 프로세스(131 내지 133)를 감시할 수 있다. 구체적으로, 어플리케이션에 의해 실행된 프로세스(131 내지 133)가 시스템 콜을 통하여 커널상의 파일 시스템(140)에 접근하는 경우, 전자 장치는 감시 시스템(110)에 포함된 복수의 룰을 순차적으로 이용하여 시스템 콜에 관한 정보를 포함하는 로그 정보를 생성할 수 있으며, 생성된 로그 정보를 로그 스토리지(150)에 저장할 수 있다. 전자 장치는 로그 스토리지(150)에 저장된 로그 정보를 이용하여 프로세스(131 내지 133)가 발생한 시스템 콜에 대한 정보를 획득할 수 있으며, 프로세스를 감시할 수 있다. The
여기에서, 감시 시스템(110)에 포함된 복수의 룰은, 감시 시스템(110)에 기정의된 복수의 룰 및 전자 장치(1000)에 의해 추가된 룰을 포함할 수 있다. Here, the plurality of rules included in the
전자 장치(1000)는 감시 프로세스(audit process)(120)를 이용하여, 감시 시스템(110)에 프로세스를 감시하기 위한 룰을 추가할 수 있다. The
구체적으로 전자 장치(1000)는 전자 장치(1000)에 포함된 어플리케이션 중 바이러스나 해커의 침입으로부터 안전하다고 판단된 어플리케이션에 관한 리스트를 저장하고, 리스트에 포함된 어플리케이션에 관한 룰을 감시 시스템(110)에 추가할 수 있다.Specifically, the
여기에서 리스트는 보안 검증된 어플리케이션의 식별 정보, 어플리케이션의 실행 파일이 저장된 경로 등을 포함할 수 있다. 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
한편, 전자 장치(1000)는 감시 프로세스(120)를 이용하여, 리스트에 포함된 어플리케이션의 변조를 모니터링하는 룰을 생성하고, 이를 감시 시스템(110)의 기설정된 룰의 집합에 추가할 수 있다. On the other hand, the
여기에서, 어플리케이션의 변조는 권한이 없는 사용자 또는 시스템에 의해 어플리케이션의 실행과 관련된 파일의 바이러리(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
즉, 전자 장치(1000)는 신뢰할 수 있는 어플리케이션이 실행한 프로세스에 관해서는 감시를 생략하고, 신뢰할 수 없는 어플리케이션이 실행한 프로세스에 관해서만 감시를 수행함으로써, 전자 장치가 시스템 내에서 수행되는 프로세스에 대한 감시를 줄일 수 있고, 감시 결과 발생된 로그 정보를 분석하는데 시간 및 오버헤드를 줄일 수 있다. 이에 따라, 전자 장치의 시스템의 효율이 증대될 수 있다. That is, the
이하에서, 본 개시의 다양한 실시 예에 따른 전자 장치에 대해 구체적으로 설명하도록 한다. 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
메모리(100)는 전자 장치(1000)의 동작에 필요한 각종 프로그램 및 데이터 등을 저장할 수 있다. 메모리(100)는 전자 장치(1000)에 설치된 적어도 하나의 어플리케이션의 실행에 필요한 프로그램을 비롯하여, 프로그램 실행 중에 발생되는 다양한 데이터를 저장할 수 있다. The
메모리(100)는 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역에는 전자 장치(1000)를 부팅시키는 운영체제와 같은 전자 장치(1000)의 구동을 위한 관련 정보가 저장될 수 있다. 그리고, 데이터 영역에는 프로그램 실시 중에 송수신되는 다양한 데이터가 저장될 수 있다. The
또한, 메모리(100)는 커널(kernel) 및 적어도 하나의 어플리케이션을 저장한다. 커널은 전자 장치에 설치되는 운영체제에 포함된 프로그램으로, 전자 장치 상의 모든 시스템을 제어하는 역할을 한다. 한편, 운영 체제에 따라 커널을 포함하지 않는 경우, 전자 장치 상의 모든 시스템을 제어하는 프로그램이 본 개시의 커널에 해당될 수 있을 것이다. Also, the
메모리(100)는 사용자(user) 영역, 커널(kernel) 영역, 하드웨어 영역 중 적어도 하나를 포함할 수 있는데, 사용자 영역에는 적어도 하나의 어플리케이션 또는 적어도 하나의 어플리케이션에 의해 실행되는 프로세스, 컨테이너 등이 포함될 수 있다. The
메모리(100)의 사용자 영역은 커널 영역 내의 다양한 시스템에 의해 발생되는 로그 정보를 저장하기 위한 로그 스토리지(150)를 포함할 수 있다. 가령, 메모리(100)는 감시 시스템(110)에 포함된 복수의 룰에 의하여 발생되는 로그 정보를 포함하는 로그 스토리지(150)를 포함할 수 있다. The user area of the
그리고, 사용자 영역은 전자 장치(1000)에 포함된 어플리케이션 중 보안 검증된 어플리케이션에 대한 정보를 포함하는 리스트(160)를 포함할 수도 있다. 도 2에서 상술한 바와 같이, 보안 검증된 어플리케이션에 대한 정보는 보안 검증된 어플리케이션의 식별 정보, 어플리케이션의 실행 파일이 저장된 경로 등을 포함할 수 있다. In addition, the user area may include a
한편, 커널 영역에는 파일 시스템(140), 감시 시스템(110), 메모리 관리 시스템(미도시) 등이 포함될 수 있다. 여기에서 파일 시스템(140)은 메모리(100)에 저장된 모든 파일을 관리하는 시스템으로 네이티브 파일 시스템 및 가상 파일 시스템 등을 포함할 수 있다. 또한, 감시 시스템(110)은 파일 시스템(140)에 접근하려는 모든 시도들을 감시하는 시스템을 나타낼 수 있다. Meanwhile, the kernel area may include a
특히, 감시 시스템(110)은 전자 장치(1000) 내의 파일 시스템(140)에 접근하려는 시스템 콜에 대하여 감시하는 복수 개의 룰을 저장할 수 있다. 이때, 복수 개의 룰은 물리적 또는 시스템적으로 순차적으로 연결되어 있을 수 있으며, 하나의 시스템 콜이 발생되면, 감시 시스템(110)에 저장된 복수의 룰이 순차적으로 사용될 수 있다. In particular, the
한편, 하드웨어 영역에는 전자 장치(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
프로세서(200)는 메모리(100)와 전기적으로 연결되어 전자 장치(1000)의 전반적인 동작 및 기능을 제어할 수 있다. The
프로세서(200)는 전자 장치(1000)의 메모리(100)에 저장된 어플리케이션을 실행한다. 어플리케이션이 실행되면, 어플리케이션과 관련된 프로세스(process)가 생성되어 실행된다. 프로세스는 어플리케이션에 의해 전자 장치에서 실행되는 작업(task)을 나타내며, 복수의 어플리케이션 각각이 복수의 프로세스를 생성하여 실행할 수 있음은 물론, 하나의 어플리케이션이 복수의 프로세스를 생성하여 실행할 수도 있다. The
어플리케이션에 의해 실행된 프로세스에 의하여 발생된 시스템 콜이 커널로 전달되면, 프로세서(200)는 어플리케이션이 시스템 콜에 기초하여 커널에서 발생된 요청에 대응되는 동작을 수행하도록 어플리케이션을 실행한다. When the system call generated by the process executed by the application is delivered to the kernel, the
여기에서, 시스템 콜은 프로세스가 운영체제의 커널에 특정 동작을 수행하도록 요청하는 것을 의미하는 것으로, 프로세스 제어 시스템 콜, 파일 관리 시스템 콜, 장치 관리 시스템 콜, 정보 관리 시스템 콜, 통신 시스템 콜 등으로 나뉠 수 있다. 프로세스 제어 시스템 콜은 프로세스의 생성(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
복수의 기정의된 룰은 프로세스에 의해 발생된 시스템 콜이 기설정된 조건과 일치하는지 판단하기 위한 것으로, 대상, 조건, 조건과 일치할 경우의 반응 등의 정보를 포함할 수 있다. 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
즉, 프로세서(200)는 로그 정보를 이용하여 프로세스에 의해 호출된 시스템 콜에 대한 정보를 획득할 수 있으며, 이러한 정보를 기초로 전자 장치 내의 시스템을 감시할 수 있다. That is, the
한편, 프로세서(200)는 프로세스가 수행하는 시스템 콜과 관련된 적어도 하나의 룰을 감시시스템(110)에 추가할 수 있다. 즉, 감시 시스템(110)은 기설정된 룰 이외에도 프로세서(200)에 의해 추가된 룰을 이용하여 시스템 콜에 대한 감시를 수행할 수 있다. Meanwhile, the
도 5 및 도 6는 본 개시의 일 실시예에 따라 프로세서(200)에 의해 추가된 룰을 이용하여 감시를 수행하는 전자 장치를 설명하기 위한 도면이다. 5 and 6 are diagrams for explaining an electronic device that performs monitoring using rules added by the
도 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
어플리케이션이 프로세스를 실행하는 경우, 프로세스는 커널에 포함된 파일 시스템(140)에 시스템 콜(가령, execv())을 전달할 수 있다. When an application executes a process, the process may deliver a system call (eg, execv ()) to the
프로세서(200)는 메모리(100)에 저장된 감시 프로세스(120)를 이용하여 어플리케이션이 프로세스를 실행하기 위해 시스템 콜 하는 시점을 판단하는 제1 룰(112)을 생성할 수 있다. 여기에서, 제1 룰(112)은, 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜을 수행하면, 시스템 콜과 관련된 로그가 생성되는 룰을 포함할 수 있다. The
구체적으로, 제1 룰(112)은, 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜을 하는 경우, 시스템 콜 번호, 프로세스 ID, 프로세스가 다루는 파일의 경로, 시스템 콜이 발생된 시간 등의 정보를 포함하는 로그를 생성할 수 있다. Specifically, the
프로세서(200)는 제1 룰(112)에 기초하여 시스템 콜 하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단한다. 구체적으로, 프로세서(200)는 제1 룰(112)에 의해 어플리케이션이 수행한 시스템 콜에 대한 로그가 발생된 경우, 감시 프로세스(120)를 이용하여 로그를 분석하고, 로그에 대응되는 프로세스를 실행한 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단할 수 있다. The
이때, 프로세서(200)는 메모리(100)에 저장된 보안 검증된 어플리케이션에 대한 리스트(160)에 기초하여 프로세스를 실행하는 어플리케이션이 보안 검증 완료된 어플리케이션에 해당하는지 여부를 판단할 수 있다. 구체적으로, 프로세서(200)는 로그 정보에 포함된 프로세스 정보 및 프로세스를 실행한 어플리케이션에 관련된 정보를 메모리(100)에 저장된 보안 검증된 어플리케이션에 대한 리스트(160)와 매칭하여 프로세스를 실행하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는지 판단할 수 있다. At this time, the
시스템 콜 하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우, 프로세서(200)는 감시 시스템(110)에 포함된 기정의된 복수의 룰에 기초한 감시를 스킵하기 위한 제2 룰(113)을 생성한다. When the system call application corresponds to the security verified application, the
프로세서(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
프로세서(200)는 기정의된 복수의 룰(111-2) 이전에 제1 룰(112)을 추가하고 제1 룰(112)에 의해 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 기정의된 복수의 룰(111-2) 이전에 제2 룰(113)을 추가하여, 제2룰(113)에 의해 기정의된 복수의 룰에 기초한 감시를 스킵할 수 있다. When the
즉, 프로세서(200)는 제1 룰(112) 및 제2 룰(113)을 기정의된 복수의 룰에 추가할 수 있으며, 기정의된 복수의 룰을 이용하여 시스템 콜에 대한 감시를 수행하기 이전에 먼저 제1룰을 이용하여 어플리케이션이 프로세스를 실행하기 위하여 시스템 콜 하는 시점 및 시스템 콜 하는 어플리케이션을 파악하고, 시스템 콜 하는 어플리케이션이 보안 검증된 어플리케이션에 해당하는 경우 제2 룰을 이용하여 기정의된 복수의 룰을 이용한 감시를 생략할 수 있다.That is, the
즉, 도 5를 참조하면, 프로세서(200)는 다음과 같은 순서로 동작을 수행할 수 있다. That is, referring to FIG. 5, the
1. 감시 프로세스(120)를 이용하여 시스템 콜을 실행하는 프로세스를 모니터링하기 위한 룰을 감시 시스템(110)에 추가한다. 1. The rule for monitoring the process of executing the system call using the
2. 어플리케이션의 프로세스(180)가 시스템 콜을 실행하여 파일 시스템(140)에 접근하면, 제1 룰을 이용하여 시스템 콜을 실행하는 프로세스를 감시한다. 2. When the
3. 감시 프로세스(120)가 제1 룰로부터 로그 기록을 획득하고, 획득된 로그 기록을 분석한다. 3. The
4. 검증된 어플리케이션의 리스트(160)를 체크하여, 시스템 콜을 실행한 프로세스의 어플리케이션이 검증된 어플리케이션인지 판단한다.4. Check the list of verified
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
이를 위하여, 우선 프로세서(200)는 감시 프로세스(120)를 이용하여 검증된 어플리케이션의 리스트로부터 어플리케이션의 경로(path)를 획득할 수 있다. 어플리케이션의 경로는 어플리케이션의 실행과 관련된 파일 또는 프로그램, 어플리케이션에 대한 권한을 결정하거나 변경하기 위한 파일 또는 프로그램이 메모리(100)에 저장된 위치를 나타낼 수 있다. To this end, the
프로세서(200)는 검증된 어플리케이션의 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대하여 변조가 식별되면, 로그를 발생시키기 위한 제3 룰을 생성할 수 있다. The
그리고, 프로세서(200)는 검증된 어플리케이션의 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별할 수 있다. Then, the
예를 들어, 검증된 어플리케이션의 리스트에는 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
프로세서(200)는 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 검증된 어플리케이션의 리스트에서 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. 구체적으로, 제3 룰에 따라 변조가 식별된 어플리케이션은 더 이상 보안 검증된 어플리케이션으로 볼 수 없다는 점에서, 프로세서(200)는 감시 프로세스(120)를 이용하여, 보안 검증된 어플리케이션의 리스트에서 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. When the modulation for the application is identified according to the third rule, the
그리고, 프로세서(200)는 검증된 어플리케이션의 리스트와 대응되도록, 감시 시스템(110)에 추가된 제3룰을 수정할 수 있다. 구체적으로, 프로세서(200)는 제3 룰에 포함된 시스템 콜 번호, 어플리케이션의 프로세스 ID, 어플리케이션과 관련된 파일의 경로 등 어플리케이션과 관련된 정보 중에서 변조가 식별된 어플리케이션의 정보를 삭제할 수 있다. Then, the
그 후, 프로세서(200)는 변조가 식별된 어플리케이션이 실행하는 프로세스가 시스템 콜을 수행하면, 기정의된 복수의 룰을 순차적으로 이용하여 시스템 콜을 감시할 수 있다. 즉, 변조가 식별된 어플리케이션의 정보는 검증된 어플리케이션의 리스트에서 삭제되었다는 점에서, 도 5 및 도 6에서 상술한 실시 예가 적용될 수 없으며, 프로세서(200)는 감시 시스템(110)에 저장된 기정의된 복수의 룰을 이용하여 변조가 식별된 어플리케이션을 감시할 수 있다. Thereafter, the
즉, 도 6를 참조하면, 프로세서(200)는 다음과 같은 순서로 동작을 수행할 수 있다. That is, referring to FIG. 6, the
1. 감시 프로세스(120)를 이용하여 보안 검증된 어플리케이션의 경로를 획득한다. 1. Obtain the path of the security-verified application using the
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
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
이와 관련하여, 도 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
구체적으로, 전자 장치(100)가 부팅 되는 경우, 프로세서(200)는 메모리(100)에 저장된 어플리케이션에 대한 보안 검증을 수행할 수 있다. 여기에서의 보안 검증은 메모리(100)에 저장된 어플리케이션을 기정의된 악성 행위 패턴 또는 악성 코드와 비교하여 해당 어플리케이션이 악성으로 의심되는 어플리케이션인지 식별하는 것을 나타낸다. Specifically, when the
기 정의된 악성 행위 패턴은 예컨대, 주소록 유출, 메시지 유출, 사진 유출, 부정 과금 유발, 암호화되지 않은 개인 정보를 네트워크로 전송, 특정 서버와 지속적으로 연결(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
프로세서(200)는 메모리에 저장된 적어도 하나의 어플리케이션 중에서 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 메모리(100)에 저장할 수 있다. 이때, 어플리케이션에 대한 정보는 어플리케이션의 식별 정보, 어플리케이션의 실행 파일 또는 프로그램의 경로 등을 포함할 수 있으며, 어플리케이션의 실행 파일 또는 프로그램은 소스 코드 또는 바이너리 코드를 포함할 수 있다. The
프로세서(200)는 메모리(100)에 저장된 보안 검증된 어플리케이션의 리스트에 기초하여 프로세스를 실행하는 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 판단할 수 있다. The
예를 들어, 프로세서(200)는 특정 프로세스를 실행하는 어플리케이션이 보안 검증된 어플리케이션의 리스트에 포함되어 있다면, 해당 어플리케이션을 보안 검증된 어플리케이션으로 판단할 수 있다. 어플리케이션이 보안 검증된 어플리케이션으로 판단되는 경우, 프로세서(200)는 도 5에서 상술한 바에 따라 감시 시스템(110)에 추가된 룰들을 이용하여 보안 검증된 어플리케이션에 대한 감시를 생략할 수 있다. For example, if the application executing a specific process is included in the list of security verified applications, the
그리고, 특정 프로세스를 실행하는 어플리케이션이 보안 검증된 어플리케이션의 리스트에 포함되어 있지 않다면, 해당 어플리케이션을 보안 검증되지 않은, 안전하지 않은 어플리케이션으로 판단하고, 감시 시스템(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
도 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
통신부(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
디스플레이(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
스피커(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
입력부(700)는 사용자 입력을 수신하여 프로세서(200)로 전달할 수 있다. 입력부(700)는 예컨대, 터치 센서, (디지털) 펜 센서, 압력 센서, 키를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. The
카메라(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
메모리(100) 및 프로세서(200)에 대한 설명은 도 3의 메모리(100) 및 프로세서(200)에 대한 설명을 원용할 수 있다. The description of the
프로세서(200)는 RAM(210), ROM(220), CPU(230), GPU(Graphic Processing Unit)(240), 버스(250)를 포함할 수 있다. RAM(210), ROM(220), CPU(230), GPU(240) 등은 버스(250)를 통해 서로 연결될 수 있다. The
CPU(230)는 메모리(100)에 액세스하여, 메모리(100)에 저장된 O/S를 이용하여 부팅을 수행할 수 있다. 그리고, 메모리(100)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.The
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
도 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
이때, 전자 장치(1000)는 감시 시스템에 기정의된 복수의 룰 이전에 제1 룰을 추가할 수 있다. In this case, the
그리고, 어플리케이션에 의해 실행된 프로세스에 의해 발생된 시스템 콜이 커널로 전달될 수 있다(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
구체적으로, 제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
한편, 전자 장치(1000)는 전자 장치(1000)에 저장된 적어도 하나의 어플리케이션에 대한 보안 검증을 수행할 수 있다. 그리고, 적어도 하나의 어플리케이션 중에서 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 전자 장치에 저장할 수 있다. Meanwhile, the
이때, 전자 장치(1000)는 리스트에 기초하여 프로세스를 실행하는 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단할 수 있다. At this time, the
한편, 전자 장치(1000)는 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제3 룰을 생성할 수 있다. 이때, 제3 룰에 따라 어플리케이션에 대한 변조가 식별되면, 리스트에서 변조가 식별된 어플리케이션에 대한 정보를 삭제할 수 있다. Meanwhile, the
또한, 전자 장치(1000)는 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 변조가 식별되면 로그를 발생시키기 위한 제3 룰을 생성하고, 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션 중에서 제3 룰에 따라 발생된 로그에 포함된 어플리케이션이 변조된 것으로 식별할 수 있다. In addition, the
한편, 상술한 바와 같은 제어 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 프로그램은 비일시적 판독 가능 매체(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 룰에 의해 상기 시스템 콜에 대한 로그가 발생된 경우, 상기 제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룰에 의해 상기 어플리케이션이 보안 검증된 어플리케이션에 해당한다고 판단된 경우, 상기 기정의된 복수의 룰 이전에 상기 제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 룰에 기초하여 상기 시스템 콜에 대한 상기 로그가 발생된 경우, 상기 제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.
상기 프로세서는,
상기 메모리에 저장된 적어도 하나의 어플리케이션에 대한 보완 검증을 수행하고, 상기 적어도 하나의 어플리케이션 중에서 상기 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 상기 메모리에 저장하는, 전자 장치.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.
상기 프로세서는,
상기 리스트에 기초하여 상기 프로세스를 실행하는 상기 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단하는, 전자 장치.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.
상기 프로세서는,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제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.
상기 프로세서는,
상기 제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.
상기 프로세서는,
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대해 상기 변조가 식별되면 로그를 발생시키기 위한 상기 제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.
상기 제어 방법은,
상기 제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.
상기 제어 방법은,
상기 기정의된 복수의 룰 이전에 상기 제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.
상기 제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.
상기 제어 방법은,
상기 전자 장치에 저장된 적어도 하나의 어플리케이션에 대한 보완 검증을 수행하는 단계; 및
상기 적어도 하나의 어플리케이션 중에서 상기 보안 검증된 적어도 하나의 어플리케이션에 대한 정보를 포함하는 리스트를 생성하여 상기 전자 장치에 저장하는 단계;를 더 포함하는, 제어 방법.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.
상기 리스트에 기초하여 상기 프로세스를 실행하는 상기 어플리케이션이 보안 검증이 완료된 어플리케이션에 해당하는지 여부를 판단하는 단계;를 더 포함하는, 제어 방법.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.
상기 리스트에 포함된 보안 검증된 적어도 하나의 어플리케이션에 대한 변조를 모니터링하기 위한 제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.
상기 제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.
상기 제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.
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)
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 |
-
2018
- 2018-11-19 KR KR1020180142782A patent/KR20200058147A/en active Search and Examination
-
2019
- 2019-09-11 US US17/286,998 patent/US11809550B2/en active Active
- 2019-09-11 WO PCT/KR2019/011792 patent/WO2020105854A1/en active Application Filing
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 |