KR20200080386A - Apparatus and method for checking kernel integrity - Google Patents

Apparatus and method for checking kernel integrity Download PDF

Info

Publication number
KR20200080386A
KR20200080386A KR1020180163730A KR20180163730A KR20200080386A KR 20200080386 A KR20200080386 A KR 20200080386A KR 1020180163730 A KR1020180163730 A KR 1020180163730A KR 20180163730 A KR20180163730 A KR 20180163730A KR 20200080386 A KR20200080386 A KR 20200080386A
Authority
KR
South Korea
Prior art keywords
kernel
execution region
computing devices
computing device
individual
Prior art date
Application number
KR1020180163730A
Other languages
Korean (ko)
Other versions
KR102137894B1 (en
Inventor
호준원
Original Assignee
서울여자대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울여자대학교 산학협력단 filed Critical 서울여자대학교 산학협력단
Priority to KR1020180163730A priority Critical patent/KR102137894B1/en
Publication of KR20200080386A publication Critical patent/KR20200080386A/en
Application granted granted Critical
Publication of KR102137894B1 publication Critical patent/KR102137894B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software 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
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to an apparatus for checking kernel integrity for providing a safe and effective integrity check for a kernel in a cloud environment of a computing device and a method thereof. According to an embodiment of the present invention, the apparatus for checking kernel integrity, which is based on a trusted execution environment including a first execution region and a second execution region operated independently of each other under a cloud environment including N computing devices (where N is a natural number), includes: a time control unit for synchronizing pieces of time applied to the N computing devices and dividing the time of an individual computing device into a plurality of time slots; an individual abnormal operation detector for measuring the number of individual abnormal operations of a kernel, which is provided in the first execution region of the individual computing device, during one time slot; a total abnormal operation count average acquirer for acquiring an average of the total abnormal operation count, which is an average value of the number of abnormally operations during the time slot by the kernel provided in the first execution region of the N computing devices; and an integrity checker provided in the second execution region to check integrity of the kernel provided in the first execution region of the individual computing device based on the number of individual abnormal operations and an average of the total number of abnormal operations.

Description

커널 무결성 검사 장치 및 방법{APPARATUS AND METHOD FOR CHECKING KERNEL INTEGRITY}Kernel integrity checking device and method{APPARATUS AND METHOD FOR CHECKING KERNEL INTEGRITY}

본 발명은 클라우드 환경 하에서 신뢰 실행 환경 기반의 커널 무결성 검사 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for checking kernel integrity based on a trusted execution environment in a cloud environment.

종래기술에서는 대개 무결성 검사 대상을 하나의 안드로이드 커널로만 한정한 경우가 많다. 그러나 실제로 굉장히 많은 수의 안드로이드 스마트폰들이 다양한 작업들을 수행하기 위해서 클라우드 환경을 구축할 수 있다.In the prior art, the integrity check target is usually limited to only one Android kernel. However, in fact, a very large number of Android smartphones can build a cloud environment to perform various tasks.

이러한 안드로이드 스마트폰 클라우드 환경 하에서 안드로이드 커널에 대한 무결성 검사 방법은 종래 기술에서는 많이 다루어지 않았다. 안드로이드 스마트폰 클라우드가 다양한 분야에서 필요하다는 점에서 안드로이드 스마트폰 클라우드 환경 아래에서 안드로이드 커널에 대한 무결성 검사 방법에 대한 발명은 필수적이라고 볼 수 있다.In the Android smartphone cloud environment, the integrity checking method for the Android kernel has not been dealt with in the prior art. Since the Android smartphone cloud is required in various fields, it can be considered that the invention of the integrity checking method for the Android kernel under the Android smartphone cloud environment is essential.

본 발명은 컴퓨팅 디바이스의 클라우드 환경에서 커널에 대한 안전하고 효과적인 무결성 검사를 제공하기 위한 것이다.The present invention is to provide a secure and effective integrity check for the kernel in the cloud environment of the computing device.

본 발명의 일 측면에 따르면, 커널 무결성 검사 장치는 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치에 있어서, 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 시간 제어부; 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 개별 비정상 동작 검출기; 상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 전체 비정상 동작 횟수 평균 획득기; 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 무결성 검사부를 포함할 수 있다.According to an aspect of the present invention, the kernel integrity checking apparatus is a trusted execution environment including a first execution region and a second execution region independently operated from each other under a cloud environment including N computing devices (N is a natural number) (Trusted) An execution environment based kernel integrity checking apparatus comprising: a time control unit synchronizing time applied to the N computing devices and dividing the time of each computing device into a plurality of time slots; An individual abnormal motion detector that measures the number of individual abnormal operations, which is the number of times the kernel provided in the first execution region of the individual computing device operates abnormally during one time slot; A total number of abnormal operation averages for obtaining an average of the total number of abnormal operations, which is an average value of the number of abnormal operations of the kernel provided in the first execution region of the N computing devices during the time slot; And an integrity checker provided in the second execution region to check the integrity of the kernel provided in the first execution region of the individual computing device based on the average number of the individual abnormal operations and the total number of abnormal operations. have.

또한, 상기 제 1 실행 영역은 비보안영역이고, 상기 제 2 실행 영역은 보안영역일 수 있다.Also, the first execution area may be a non-security area, and the second execution area may be a security area.

또한, 상기 개별 비정상 동작 검출기는, 상기 N개의 컴퓨팅 디바이스 중 j번째 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 t번째 타임 슬롯 동안 비정상적으로 동작한 횟수 Aj t를 측정하고, 상기 전체 비정상 동작 횟수 평균 획득기는,Further, the individual abnormal motion detector measures the number of times A j t of the kernel provided in the first execution region of the j-th individual computing device among the N computing devices abnormally operating during the t-th time slot, and the total Average number of abnormal operation

[수학식 1] [Equation 1]

Figure pat00001
Figure pat00001

상기 수학식 1을 통해 At를 산출할 수 있다.A t may be calculated through Equation 1 above.

상기 무결성 검사부는, 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률 ξ이, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 단말의 제 1 실행 영역에 있는 커널이 제 t번째 타임 슬롯 동안 공격자에 의해 악의적으로 변경되지 않았을 때 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률

Figure pat00002
보다 작거나 같으면 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않을 가능성이 높다고 결정할 수 있다.The integrity checker has a probability ξ that the absolute value of the difference between A j t and A t is greater than a preset threshold value, and the kernel in the first execution region of the j th terminal among N computing devices constituting the cloud. Probability that the absolute value of the difference between A j t and A t is greater than a preset threshold when it is not maliciously changed by an attacker during the t-th time slot
Figure pat00002
If less than or equal, it can be determined that the kernel in the first execution region of the j-th computing device is highly unlikely to be maliciously modified by an attacker.

또한, 상기 무결성 검사부는, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수

Figure pat00003
를 산출할 수 있다.In addition, the integrity check unit, the kernel provided in the first execution region of the individual computing device obtained through the average of the total number of abnormal operations in the j-th computing device of the N computing devices constituting the cloud is one time The number of cases in which the absolute value of the difference between A j t and A t is greater than a preset threshold during u timeslots among the number of abnormal operations during the slot.
Figure pat00003
Can be calculated.

또한, 상기 무결성 검사부는, 산출된 상기 경우의 수

Figure pat00004
가 기 결정된 제 1 임계값 e0보다 작거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않은 것으로 결정하고, 상기 산출된 경우의 수가 기 결정된 제 2 임계값 e1보다 크거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것으로 결정할 수 있다.In addition, the integrity check unit, the number of cases calculated
Figure pat00004
If is less than or equal to the determined first threshold value e 0, it is determined that the kernel in the first execution region of the j-th computing device among the N computing devices constituting the cloud has not been maliciously modified by an attacker, If the number of calculated cases is greater than or equal to the predetermined second threshold value e 1 , it can be determined that the kernel in the first execution region of the jth computing device among the N computing devices constituting the cloud has been maliciously modified by an attacker. have.

또한, 상기 무결성 검사부는, 산출된 상기 경우의 수

Figure pat00005
가 상기 제 1 임계값 e0보다 크고 상기 제 2 임계값 e1보다 작으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수를 산출하여 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정할 수 있다.In addition, the integrity check unit, the number of cases calculated
Figure pat00005
If is greater than the first threshold value e 0 and less than the second threshold value e 1 , the individual computing devices acquired through the total number of abnormal operation averages from the jth computing device among the N computing devices constituting the cloud. The number of cases in which the absolute value of the difference between the A j t and the A t is greater than a preset threshold value during u timeslots among the number of times the kernel provided in the first execution region has abnormally operated during one time slot. By calculating, it is possible to determine whether the kernel in the first execution region of the j-th computing device among the N computing devices constituting the cloud has been maliciously modified by an attacker.

본 발명의 다른 측면에 따르면, 커널 무결성 검사 방법은 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치가, 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 단계; 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 단계; 상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 단계; 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 단계를 포함할 수 있다.According to another aspect of the present invention, the kernel integrity check method is a trusted execution environment including a first execution region and a second execution region that are independently operated from each other under a cloud environment including N computing devices (N is a natural number). Execution Environment) based kernel integrity checking apparatus, synchronizing the time applied to the N computing devices, and dividing the time of each computing device into a plurality of time slots; Measuring an individual number of abnormal operations, which is the number of times the kernel provided in the first execution region of the individual computing device operates abnormally during one time slot; Obtaining an average of the total number of abnormal operations, which is an average value of the number of times the kernel provided in the first execution region of the N computing devices has abnormally operated during the time slot; And checking the integrity of the kernel provided in the first execution region of the individual computing device based on the average of the number of abnormal operations and the total number of abnormal operations provided in the second execution region. .

또한, 스마트 디바이스와 결합되어 상기의 커널 무결성 검사 방법에 따른 커널 무결성 검사 방법을 실행시키기 위하여 매체에 저장된 애플리케이션일 수 있다.In addition, it may be an application stored in a medium to execute a kernel integrity check method according to the above-described kernel integrity check method in combination with a smart device.

본 발명의 일 실시 예에 의하면, 컴퓨팅 디바이스의 클라우드 환경에서 커널에 대한 안전하고 효과적인 무결성 검사를 제공할 수 있다According to an embodiment of the present invention, it is possible to provide a safe and effective integrity check for the kernel in the cloud environment of the computing device.

도 1은 본 발명의 일 실시 예에 따른 커널 무결성 검사 시스템의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 커널 무결성 검사 장치의 세부적인 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법에 대한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법의 구체적인 실시 예이다.
1 is a block diagram of a kernel integrity check system according to an embodiment of the present invention.
2 is a detailed block diagram of a kernel integrity checking apparatus according to an embodiment of the present invention.
3 is a flowchart of a kernel integrity check method according to an embodiment of the present invention.
4 is a detailed embodiment of a kernel integrity check method according to an embodiment of the present invention.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Other advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and the common knowledge in the technical field to which the present invention pertains. It is provided to fully inform the holder of the scope of the invention, and the invention is only defined by the scope of the claims.

만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.If not defined, all terms (including technical or scientific terms) used herein have the same meaning as generally accepted by universal technology in the prior art to which this invention belongs. Terms defined by general dictionaries can be interpreted as having the same meaning as meaning in the text of the present application and/or related descriptions, and are not conceptualized or over-formally interpreted, even if not explicitly defined herein. Will not.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein,'includes' and/or various conjugations of this verb, such as'includes','includes','includes','includes', etc. The steps, operations and/or elements do not exclude the presence or addition of one or more other compositions, ingredients, components, steps, operations and/or elements. The term'and/or' used herein refers to each of the listed configurations or various combinations thereof.

한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Meanwhile, terms such as'~ unit','~ group','~ block', and'~ module' used throughout this specification may refer to a unit that processes at least one function or operation. For example, it can mean a hardware component such as software, FPGA or ASIC. However,'~bu','~gi','~block', and'~module' are not limited to software or hardware. The'~unit','~gi','~block', and'~module' may be configured to be in an addressable storage medium or may be configured to play one or more processors.

따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.Thus, as examples,'~unit','~gi','~block', and'~module' are components such as software components, object-oriented software components, class components and task components. Fields, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and Includes variables. Components and functions provided in'~unit','~gi','~block', and'~module' have a smaller number of components and'~unit','~gi','~block It can be combined with','~modules', or can be further separated into additional components and'~units','~gi','~blocks', and'~modules'.

이하, 본 발명은 ARM 주식회사의 ARM TrustZone 기술을 기초로 설명하며, 본 명세서에 첨부된 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.Hereinafter, the present invention will be described based on the ARM TrustZone technology of ARM Corporation, and embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 커널 무결성 검사 시스템의 블록도이다.1 is a block diagram of a kernel integrity check system according to an embodiment of the present invention.

도 1을 참조하면, 커널 무결성 검사 시스템은 클라우드 환경 하에서 다수 개의 컴퓨팅 디바이스(10)를 포함한다. 여기서, 컴퓨팅 디바이스(10)는 일반 사용자가 이용하는 단말기를 말하며, 예를 들면 스마트폰, 태블릿 PC일 수 있다. Referring to FIG. 1, a kernel integrity check system includes a plurality of computing devices 10 under a cloud environment. Here, the computing device 10 refers to a terminal used by a general user, and may be, for example, a smart phone or a tablet PC.

본 발명은 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경 기반의 다수개의 안드로이드 스마트폰들로 구성된 클라우드 환경을 고려한다. 여기서, 제 1 실행 영역은 비보안영역(Normal World)이고, 제 2 실행 영역은 보안영역(Secure World)을 말한다.The present invention contemplates a cloud environment composed of a plurality of Android smartphones based on a trusted execution environment including a first execution region and a second execution region. Here, the first execution area is a non-secure area (Normal World), and the second execution area is a secure area (Secure World).

또한, 제 1 실행 영역의 커널에 대한 무결성 검사를 수행하는 모듈이 각각의 컴퓨팅 디바이스의 제 2 실행 영역에 설치된다. 각각의 무결성 검사를 수행하는 모듈은 클라우드 내의 다른 모듈들과 커널이 비정상적으로 동작한 부분에 대한 정보를 교환한다. 교환되는 정보를 바탕으로 각각의 무결성 검사를 수행하는 모듈은 기 정의된 단계를 수행한다. 기 결정된 단계를 수행함으로써 빠른 시간에 정확한 결정을 내릴 수 있다.In addition, a module that performs an integrity check on the kernel of the first execution region is installed in the second execution region of each computing device. The module that performs each integrity check exchanges information about the abnormal operation of the kernel with other modules in the cloud. The module that performs each integrity check based on the exchanged information performs predefined steps. By performing the predetermined steps, it is possible to make an accurate decision in a short time.

도 2는 본 발명의 일 실시 예에 따른 커널 무결성 검사 장치의 세부적인 블록도이다.2 is a detailed block diagram of a kernel integrity checking apparatus according to an embodiment of the present invention.

도 2를 참조하면, 커널 무결성 검사 장치는 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반으로, 시간 제어부(11), 개별 비정상 동작 검출기(12), 전체 비정상 동작 횟수 평균 획득기(13) 및 무결성 검사부(14)를 포함한다.Referring to FIG. 2, the kernel integrity check apparatus is a trusted execution environment including a first execution region and a second execution region that operate independently of each other under a cloud environment including N computing devices (N is a natural number). ), based on the time control unit 11, the individual abnormal motion detector 12, the total number of abnormal operation average acquirer 13 and the integrity checker 14.

상기 시간 제어부(11)는 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10)에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스(10)의 시간을 다수의 타임 슬롯으로 분할한다.The time control unit 11 synchronizes the time applied to the N computing devices 10 constituting the cloud, and divides the time of the individual computing device 10 into a plurality of time slots.

상기 개별 비정상 동작 검출기(12)는 N개의 컴퓨팅 디바이스(10)의 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정한다. N개의 컴퓨팅 디바이스 중 j번째 개별 컴퓨팅 디바이스의 제 1 실행 영역에 구비된 커널이 t번째 타임 슬롯 동안 비정상적으로 동작한 횟수 Aj t를 측정한다.The individual abnormal operation detector 12 measures the number of individual abnormal operations, which is the number of times the kernel provided in the first execution region of the N computing devices 10 has abnormally operated during one time slot. The number of times A j t of the kernel provided in the first execution region of the jth individual computing device among the N computing devices operated abnormally during the tth time slot is measured.

상기 전체 비정상 동작 횟수 평균 획득기(13)는 N개의 컴퓨팅 디바이스(10)의 제 1 실행 영역에 구비된 커널이 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득한다. 여기서, 비정상 동작 횟수 평균 획득기(13)는 개별 컴퓨팅 디바이스에서 각각의 N개의 컴퓨팅 디바이스(10)로부터 제 1 실행 영역에 구비된 커널이 타임 슬롯 동안 비정상적으로 동작한 횟수를 수신하여 평균값을 산출할 수 있고, 클라우드 서버(20)가 각각의 N개의 컴퓨팅 디바이스로부터 제 1 실행 영역에 구비된 커널이 타임 슬롯 동안 비정상적으로 동작한 횟수를 수신하여 평균값을 산출할 수 있다The total number of abnormal operation averages 13 acquires the average of the total number of abnormal operations, which is an average value of the number of times the kernel provided in the first execution region of the N computing devices 10 operates abnormally during a time slot. Here, the average number of times of abnormal operation 13 is calculated by receiving the number of times the kernel provided in the first execution region operates abnormally during a time slot from each of N computing devices 10 in individual computing devices. The cloud server 20 may calculate the average value by receiving the number of times the kernel provided in the first execution region has operated abnormally during the time slot from each of the N computing devices.

상기 무결성 검사부(14)는 제 2 실행 영역에 구비되어 개별 비정상 동작 횟수 및 전체 비정상 동작 횟수 평균을 기반으로 개별 컴퓨팅 디바이스의 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사한다.The integrity checker 14 is provided in the second execution region to check the integrity of the kernel provided in the first execution region of the individual computing device based on the average of the number of abnormal operations and the total number of abnormal operations.

도 3은 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법에 대한 흐름도이다.3 is a flowchart of a kernel integrity check method according to an embodiment of the present invention.

도 3을 참조하면, N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치가 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스(10)의 시간을 다수의 타임 슬롯으로 분할하는 단계(S10), 상기 개별 컴퓨팅 디바이스(10)의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 단계(S20), 상기 N개의 컴퓨팅 디바이스(10)의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 단계(S30) 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스(10)의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 단계(S40)을 포함한다.Referring to FIG. 3, kernel integrity based on a trusted execution environment including a first execution region and a second execution region independently operated from each other in a cloud environment including N computing devices (N is a natural number) Synchronizing the time that the inspection apparatus is applied to the N computing devices, and dividing the time of the individual computing device 10 into a plurality of time slots (S10), the first execution area of the individual computing device 10 Measuring an individual number of abnormal operations, which is the number of times the kernel provided in one of the time slots operated abnormally (S20), the kernel provided in the first execution region of the N computing devices 10 is the time slot Obtaining an average of the total number of abnormal operations, which is an average value of the number of abnormal operations during operation (S30), and provided in the second execution region, the individual computing device based on the individual abnormal operation number and the average of the total abnormal operation number ( And checking the integrity of the kernel provided in the first execution region of 10) (S40).

도 4는 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법의 구체적인 실시 예이다. 도 4를 참조하여, 커널 무결성 검사 방법을 설명하면 아래와 같다.4 is a detailed embodiment of a kernel integrity check method according to an embodiment of the present invention. Referring to FIG. 4, a kernel integrity check method will be described below.

먼저, 클라우드 환경을 구성하는 N개의 컴퓨팅 디바이스(10)에 적용되는 시간을 동기화하고, 각각의 컴퓨팅 디바이스(10)의 시간을 다수의 타임슬롯으로 분할한다. 또한, 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 중 j번째 컴퓨팅 디바이스(10)의 무결성 검사부(14)를 Mj라 하고, 상기 무결성 검사부(14)는 j번째 컴퓨팅 디바이스(10)의 제 2 실행 영역에 설치된다(j는 자연수, j≤N).First, time applied to N computing devices 10 constituting a cloud environment is synchronized, and time of each computing device 10 is divided into a plurality of timeslots. Also, the integrity checking unit 14 of the j-th computing device 10 among the N computing devices 10 constituting the cloud is called M j , and the integrity checking unit 14 is the second of the j-th computing device 10. It is installed in the execution region (j is a natural number, j≤N).

클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 중 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에서 동작하는 커널이 t번째 타임슬롯 동안 비정상적으로 동작한 횟수를 개별 비정상 동작 횟수 Aj t로 정의하고, 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 각각의 제 1 실행 영역에서 동작하는 커널이 t 번째 타임슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수의 평균 At를 아래와 같이 정의한다(t는 자연수).The number of times the kernel operating in the first execution region of the jth computing device 10 among the N computing devices 10 constituting the cloud operates abnormally during the tth timeslot is defined as the number of individual abnormal operations A j t , The average A t of the total number of abnormal operations, which is the average value of the number of times the kernel operating in the first execution region of each of the N computing devices 10 constituting the cloud operates abnormally during the t th timeslot, is defined as follows ( t is a natural number).

Figure pat00006
Figure pat00006

또한, j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않는다는 가설(H0)과 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된다는 대립 가설(H1)을 설정한다.In addition, the hypothesis (H 0 ) that the kernel in the first execution region of the j-th computing device 10 is not maliciously changed by the attacker and the kernel in the first execution region of the j-th computing device 10 is provided to the attacker. An alternative hypothesis (H 1 ) that is maliciously altered is set.

그리고,

Figure pat00007
는 Bernoulli(베르누이) 확률 변수로 다음과 같이 정의한다.And,
Figure pat00007
Is defined as the Bernoulli random variable as follows.

Figure pat00008
Figure pat00008

여기서, δ는 미리 정의된 임계 값이며,

Figure pat00009
는 하나의 샘플로 보며 각각의 샘플들은 상호간에 독립적으로 측정되기 때문에
Figure pat00010
가 독립적으로 동일하게 분포되어 있다고 가정한다.Where δ is a predefined threshold,
Figure pat00009
Is considered as one sample, and each sample is measured independently of each other.
Figure pat00010
Is assumed to be distributed equally independently.

Bernoulli(베르누이) 확률 분포에 따른 성공확률 ξ는 다음과 같이 정의한다.The probability of success ξ according to the Bernoulli probability distribution is defined as follows.

Figure pat00011
Figure pat00011

Figure pat00012
Figure pat00012

본 발명의 일 실시 예에 따르면, 무결성 검사부(14)는 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률(ξ)이, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 중 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 t번째 타임 슬롯 동안 공격자에 의해 악의적으로 변경되지 않았을 때 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값 보다 클 확률

Figure pat00013
보다 작거나 같으면 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않을 가능성이 높다고 결정한다.According to an embodiment of the present invention, the integrity checker 14 has N probability that the absolute value of the difference between the A j t and the A t is greater than a preset threshold value (ξ), and N computing devices constituting the cloud. When the kernel in the first execution region of the j-th computing device 10 in (10) is not maliciously changed by an attacker during the t-th time slot, the absolute value of the difference between the A j t and the A t is preset Probability greater than threshold
Figure pat00013
If less than or equal, it is determined that the kernel in the first execution region of the j-th computing device 10 is highly unlikely to be maliciously modified by an attacker.

나아가, j번째 컴퓨팅 디바이스의 제 1 타임슬롯, 제 2 타임슬롯 및 제 u 타임슬롯에서 각각 생성된 u(u는 자연수, 1≤t≤u)개의 샘플 중에서

Figure pat00014
인 샘플의 수를
Figure pat00015
라 한다. 여기서 하나의 타임슬롯마다 하나의 샘플이 생성된다. j번째 컴퓨팅 디바이스는 N개의 컴퓨팅 디바이스의 제 1 실행 영역에서 동작하는 커널이 t번째 타임슬롯 동안 비정상적으로 동작한 횟수를 개별 비정상 동작 횟수 Aj t를 획득한다. 획득된 정보를 기초로 t번째 타임슬롯 동안 커널 무결성 검사를 수행한다.Furthermore, among u (u is a natural number, 1≤t≤u) samples respectively generated in the first timeslot, the second timeslot, and the u timeslot of the jth computing device,
Figure pat00014
The number of samples
Figure pat00015
It says. Here, one sample is generated for each time slot. The j-th computing device acquires the number of times of abnormal operation A j t of the number of times the kernel operating in the first execution region of the N computing devices operates abnormally during the t-th timeslot. Kernel integrity check is performed during the t-th timeslot based on the obtained information.

다시 말하면, 무결성 검사부(14)는 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수

Figure pat00016
를 산출한다(S41). 여기서, 경우의 수
Figure pat00017
는 j번째 컴퓨팅 디바이스의 u개의 베르누이 확률변수, 즉, j번째 컴퓨팅 디바이스의 1번째 타임슬롯 내지 u번째 타임슬롯에서 각각 생성된 샘플을 말한다.In other words, the integrity checker 14 includes one kernel provided in the first execution region of the individual computing devices obtained through the average number of abnormal operation counts from the jth computing device among the N computing devices constituting the cloud. The number of cases in which the absolute value of the difference between the A j t and the A t is greater than a preset threshold during u timeslots among the number of abnormal operations during the timeslot of
Figure pat00016
Calculate (S41). Where number of cases
Figure pat00017
Denotes samples generated from u Bernoulli random variables of the j-th computing device, that is, from the first timeslot to the u-th timeslot of the j-th computing device.

본 발명의 일 실시 예에 따르면, 무결성 검사부(14)는 산출된 경우의 수가 기 결정된 제 1 임계값 e0보다 작거나 같으면(

Figure pat00018
, S42), 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않은 것으로 결정하고(S43), 산출된 경우의 수가 기 결정된 제 2 임계값 e1보다 크거나 같으면(
Figure pat00019
, S44), 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것으로 결정할 수 있다(S45).According to an embodiment of the present invention, the integrity checking unit 14 is less than or equal to the predetermined first threshold value e 0 when the number of calculated cases (
Figure pat00018
, S42), it is determined that the kernel in the first execution region of the j-th computing device among the N computing devices constituting the cloud has not been maliciously changed by the attacker (S43), and the calculated number of cases is previously determined. If it is greater than or equal to the threshold e 1 (
Figure pat00019
, S44), among the N computing devices constituting the cloud, the kernel in the first execution region of the j-th computing device may be determined as being maliciously modified by an attacker (S45).

더해서, 무결성 검사부(14)는 산출된 경우의 수가 제 1 임계값 e0보다 크고 제 2 임계값 e1보다 작으면(

Figure pat00020
, S46), 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수를 산출하여 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정할 수 있다.In addition, if the number of calculated cases is greater than the first threshold e 0 and less than the second threshold e 1 (
Figure pat00020
, S46), a kernel provided in the first execution region of an individual computing device obtained through the average number of times the total number of abnormal operations in the jth computing device among N computing devices constituting the cloud is abnormal during one time slot Of the number of times when u is operated, the number of cases in which the absolute value of the difference between A j t and A t is greater than a preset threshold during u timeslots is calculated from the j th computing device among the N computing devices constituting the cloud. It is possible to determine whether the kernel in the first execution region has been maliciously modified by the attacker.

예를 들면, 1번째 타임슬롯을 기초로 경우의 수를 산출하여 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부가 결정되지 않으면, 2번째 타임슬롯을 기초로 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정한다. 이와 같이, 타임슬롯을 순차적으로 선택하여 커널 무결성 검사를 진행할 수 있다.For example, it is determined whether the kernel in the first execution region of the jth computing device among the N computing devices configuring the cloud by calculating the number of cases based on the first timeslot is maliciously changed by the attacker. Otherwise, it is determined whether the kernel in the first execution region of the j-th computing device among the N computing devices configuring the cloud based on the second timeslot is maliciously changed by the attacker. As such, the kernel integrity check may be performed by sequentially selecting timeslots.

Figure pat00021
Figure pat00021

여기서,

Figure pat00022
은 위와 같이 정의하고,
Figure pat00023
,
Figure pat00024
,
Figure pat00025
,
Figure pat00026
: 설정 가능한 파라미터이다.here,
Figure pat00022
Is defined as above,
Figure pat00023
,
Figure pat00024
,
Figure pat00025
,
Figure pat00026
: This is a configurable parameter.

본 발명의 커널 무결성 검사 장치는 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 변경되었는지 여부를 제 2 실행 영역에 설치된 무결성 검사부(14)가 검사한다. 무결성 검사부(14)는 제 2 실행 영역에 설치되기 때문에 공격자의 제어 권한 아래에 놓이지 않게 되어 안전하게 커널에 대한 무결성 검사를 수행할 수 있다. 또한, 상기의 커널 무결성 검사 방법을 이용하면 빠르고 정확하게 결정을 내릴 수 있어 커널에 대한 무결성 검사 시점을 결정하는데 효율적이다.In the kernel integrity checking apparatus of the present invention, the integrity checking unit 14 installed in the second execution area checks whether the kernel in the first execution area of the computing device 10 has been changed by an attacker. Since the integrity checker 14 is installed in the second execution region, it is not placed under the control authority of the attacker, so that the integrity check of the kernel can be safely performed. In addition, by using the above kernel integrity check method, a decision can be made quickly and accurately, which is efficient in determining the integrity check point for the kernel.

또한, 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경 기반의 안드로이드 기반의 단말들 내에 설치된 다수의 가상머신들로 구성된 클라우드 환경에서도 본 발명이 적용이 가능하여 확장성이 뛰어난 것이 특징이다.In addition, the present invention can be applied to a cloud environment composed of a plurality of virtual machines installed in Android-based terminals based on a trusted execution environment including a first execution region and a second execution region, and is excellent in scalability. .

본 발명의 일 실시 예에 따르면, 스마트 디바이스와 결합되어 상기의 커널 무결성 검사 방법에 따른 커널 무결성 검사 방법을 실행시키기 위하여 매체에 저장될 수 있다.According to an embodiment of the present invention, it may be stored in a medium in combination with a smart device to execute a kernel integrity check method according to the above kernel integrity check method.

이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 저술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.The above detailed description is to illustrate the present invention. In addition, the above-described content is to describe and describe preferred embodiments of the present invention, and the present invention can be used in various other combinations, modifications and environments. That is, it is possible to change or modify the scope of the concept of the invention disclosed herein, the scope equivalent to the disclosed contents, and/or within the scope of technology or knowledge in the art. The embodiments described describe the best state for implementing the technical idea of the present invention, and various changes required in specific application fields and uses of the present invention are possible. Therefore, the detailed description of the above invention is not intended to limit the present invention to the disclosed embodiments. In addition, the appended claims should be construed to include other embodiments.

10 : 컴퓨팅 디바이스
20 : 클라우드 서버
30 : 클라우드
11 : 시간 제어부
12 : 개별 비정상 동작 검출기
13 : 전체 비정상 동작 횟수 평균 획득기
14 : 무결성 검사부
10: computing device
20: cloud server
30: Cloud
11: Time control
12: individual abnormal motion detector
13: Average number of abnormal operation counts
14: integrity checker

Claims (9)

N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치에 있어서,
상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 시간 제어부;
상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 개별 비정상 동작 검출기;
상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 전체 비정상 동작 횟수 평균 획득기; 및
상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 무결성 검사부를 포함하는 커널 무결성 검사 장치.
In the kernel integrity check apparatus based on the trusted execution environment (Trusted Execution Environment) comprising a first execution region and a second execution region independent of each other under a cloud environment containing N computing devices (N is a natural number),
A time control unit synchronizing time applied to the N computing devices and dividing the time of each computing device into a plurality of time slots;
An individual abnormal motion detector that measures the number of individual abnormal operations, which is the number of times the kernel provided in the first execution region of the individual computing device operates abnormally during one time slot;
A total number of abnormal operation average acquirers for obtaining an average of the total number of abnormal operations, which is an average value of the number of times the kernel provided in the first execution region of the N computing devices operates abnormally during the time slot; And
Kernel integrity including an integrity checker provided in the second execution region to check the integrity of the kernel provided in the first execution region of the individual computing device based on the average of the number of individual abnormal operations and the total number of abnormal operations. Inspection device.
제 1 항에 있어서,
상기 제 1 실행 영역은 비보안영역이고, 상기 제 2 실행 영역은 보안영역인 커널 무결성 검사 장치.
According to claim 1,
The first execution area is a non-security area, and the second execution area is a security area.
제 1 항에 있어서, 상기 개별 비정상 동작 검출기는,
상기 N개의 컴퓨팅 디바이스 중 j번째 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 t번째 타임 슬롯 동안 비정상적으로 동작한 횟수 Aj t를 측정하고,
상기 전체 비정상 동작 횟수 평균 획득기는,
[수학식 1]
Figure pat00027

상기 수학식 1을 통해 At를 산출하는 커널 무결성 검사 장치(j 및 t는 자연수, j≤N).
The method of claim 1, wherein the individual abnormal motion detector,
The number of times A j t of the kernel provided in the first execution region of the jth individual computing device among the N computing devices is abnormally operated during the tth time slot is measured,
The total number of abnormal operation average acquirers,
[Equation 1]
Figure pat00027

Kernel integrity check device for calculating A t through Equation 1 (j and t are natural numbers, j ≤ N).
제 3 항에 있어서, 상기 무결성 검사부는,
상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률 ξ이, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 단말의 제 1 실행 영역에 있는 커널이 제 t번째 타임 슬롯 동안 공격자에 의해 악의적으로 변경되지 않았을 때 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률
Figure pat00028
보다 작거나 같으면 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않을 가능성이 높다고 결정하는 커널 무결성 검사 장치.
According to claim 3, The integrity checker,
The probability ξ that the absolute value of the difference between A j t and A t is greater than a preset threshold value is the t th time of the kernel in the first execution region of the j th terminal among the N computing devices constituting the cloud. The probability that the absolute value of the difference between the A j t and the A t is greater than a preset threshold when it is not maliciously changed by an attacker during the slot
Figure pat00028
If less than or equal, a kernel integrity checker that determines that the kernel in the first execution region of the jth computing device is highly unlikely to be maliciously modified by an attacker.
제 4 항에 있어서, 상기 무결성 검사부는,
상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수
Figure pat00029
를 산출하는 커널 무결성 검사 장치(u는 자연수, 1≤t≤u).
According to claim 4, The integrity checker,
The number of times the kernel provided in the first execution region of the individual computing device obtained through the average number of times the total number of abnormal operations in the jth computing device among the N computing devices constituting the cloud has been abnormally operated during one time slot The number of cases in which the absolute value of the difference between A j t and A t is greater than a preset threshold during u timeslot
Figure pat00029
Kernel integrity check device for calculating (u is a natural number, 1≤t≤u).
제 5 항에 있어서, 상기 무결성 검사부는,
산출된 상기 경우의 수
Figure pat00030
가 기 결정된 제 1 임계값 e0보다 작거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않은 것으로 결정하고, 상기 산출된 경우의 수가 기 결정된 제 2 임계값 e1보다 크거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것으로 결정하는 커널 무결성 검사 장치.
According to claim 5, The integrity checker,
Number of cases calculated above
Figure pat00030
If is less than or equal to the determined first threshold value e 0, it is determined that the kernel in the first execution region of the jth computing device among the N computing devices constituting the cloud has not been maliciously modified by an attacker, If the number of calculated cases is greater than or equal to the predetermined second threshold value e 1 , the kernel in the first execution region of the j-th computing device among the N computing devices constituting the cloud is determined to be maliciously changed by an attacker Kernel integrity checking device.
제 6 항에 있어서, 상기 무결성 검사부는,
산출된 상기 경우의 수
Figure pat00031
가 상기 제 1 임계값 e0보다 크고 상기 제 2 임계값 e1보다 작으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수를 산출하여 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정하는 커널 무결성 검사 장치.
The method of claim 6, wherein the integrity checker,
Number of cases calculated above
Figure pat00031
If is greater than the first threshold value e 0 and less than the second threshold value e 1 , the individual computing devices acquired through the total number of abnormal operation averages from the jth computing device among the N computing devices constituting the cloud. The number of cases in which the absolute value of the difference between the A j t and the A t is greater than a preset threshold value during u timeslots among the number of times the kernel provided in the first execution region has abnormally operated during one time slot. Kernel integrity checking apparatus for determining whether the kernel in the first execution region of the j-th computing device among the N computing devices constituting the cloud is maliciously changed by an attacker.
N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치가,
상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 단계;
상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 단계;
상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 단계; 및
상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 단계를 포함하는 커널 무결성 검사 방법.
A kernel integrity checking apparatus based on a trusted execution environment including a first execution region and a second execution region that are independently operated from each other in a cloud environment including N computing devices (N is a natural number),
Synchronizing the time applied to the N computing devices, and dividing the time of the individual computing devices into a plurality of time slots;
Measuring an individual number of abnormal operations, which is the number of times the kernel provided in the first execution region of the individual computing device operates abnormally during one time slot;
Obtaining an average of the total number of abnormal operations, which is an average value of the number of times the kernel provided in the first execution region of the N computing devices has abnormally operated during the time slot; And
And checking the integrity of the kernel provided in the first execution region of the individual computing device based on the average of the number of the individual abnormal operations and the total number of abnormal operations provided in the second execution region. Way.
스마트 디바이스와 결합되어 제 8 항에 따른 커널 무결성 검사 방법을 실행시키기 위하여 매체에 저장된 애플리케이션.An application stored in the medium to execute the kernel integrity check method according to claim 8 in combination with a smart device.
KR1020180163730A 2018-12-18 2018-12-18 Apparatus and method for checking kernel integrity KR102137894B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180163730A KR102137894B1 (en) 2018-12-18 2018-12-18 Apparatus and method for checking kernel integrity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180163730A KR102137894B1 (en) 2018-12-18 2018-12-18 Apparatus and method for checking kernel integrity

Publications (2)

Publication Number Publication Date
KR20200080386A true KR20200080386A (en) 2020-07-07
KR102137894B1 KR102137894B1 (en) 2020-07-24

Family

ID=71603183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180163730A KR102137894B1 (en) 2018-12-18 2018-12-18 Apparatus and method for checking kernel integrity

Country Status (1)

Country Link
KR (1) KR102137894B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170142672A (en) * 2016-06-20 2017-12-28 주식회사 씨오티커넥티드 Computing apparatus based on trusted execution environment
KR20180013854A (en) * 2016-03-29 2018-02-07 후아웨이 인터내셔널 피티이. 엘티디. System and method for verifying the integrity of electronic devices
KR20180093038A (en) * 2015-12-11 2018-08-20 제말토 에스에이 A mobile device with a trusted execution environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180093038A (en) * 2015-12-11 2018-08-20 제말토 에스에이 A mobile device with a trusted execution environment
KR20180013854A (en) * 2016-03-29 2018-02-07 후아웨이 인터내셔널 피티이. 엘티디. System and method for verifying the integrity of electronic devices
KR20170142672A (en) * 2016-06-20 2017-12-28 주식회사 씨오티커넥티드 Computing apparatus based on trusted execution environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌1 *

Also Published As

Publication number Publication date
KR102137894B1 (en) 2020-07-24

Similar Documents

Publication Publication Date Title
US10607015B1 (en) Security risk assessment and control for code
AU2017206394B2 (en) Method, system and device for testing and readable storage medium
US9372779B2 (en) System, method, apparatus and computer program for automatic evaluation of user interfaces in software programs
EP3396905B1 (en) Method and device for securely sending a message
RU2013136976A (en) SYSTEM AND METHOD FOR TEMPORARY PROTECTION OF OPERATING SYSTEM OF SOFTWARE AND HARDWARE DEVICES FROM APPLICATIONS CONTAINING VULNERABILITY
CN104081407A (en) Remote trust attestation and geo-location of servers and clients in cloud computing environments
US20170271027A1 (en) Methods and systems of testing interfaces of computer storage for storage vulnerabilities
US20210049281A1 (en) Reducing risk of smart contracts in a blockchain
US20200267178A1 (en) Credential spray attack detection
CN106775971B (en) Data processing apparatus
US10929258B1 (en) Method and system for model-based event-driven anomalous behavior detection
EP3722942B1 (en) Running integration tests using unit tests
US8949991B2 (en) Testing web services that are accessible via service oriented architecture (SOA) interceptors
CN113779562A (en) Zero trust based computer virus protection method, device, equipment and medium
KR102137894B1 (en) Apparatus and method for checking kernel integrity
CN112235300B (en) Cloud virtual network vulnerability detection method, system, device and electronic equipment
CN104753741A (en) Network card test performance adjustment method and device
CN104462942A (en) Method and system for detecting trusted user input/output interface of mobile terminal
CN111427737B (en) Method and device for modifying exception log and electronic equipment
US20200036737A1 (en) Identification of deviant engineering modifications to programmable logic controllers
EP3136278B1 (en) Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
CN115130114B (en) Gateway secure starting method and device, electronic equipment and storage medium
CN115455414A (en) Safety detection method and device
CN111767585A (en) Object identification method and device, electronic equipment and storage medium
US20160188443A1 (en) Testing application internal modules with instrumentation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant