KR20200080386A - 커널 무결성 검사 장치 및 방법 - Google Patents

커널 무결성 검사 장치 및 방법 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
English (en)
Other versions
KR102137894B1 (ko
Inventor
호준원
Original Assignee
서울여자대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울여자대학교 산학협력단 filed Critical 서울여자대학교 산학협력단
Priority to KR1020180163730A priority Critical patent/KR102137894B1/ko
Publication of KR20200080386A publication Critical patent/KR20200080386A/ko
Application granted granted Critical
Publication of KR102137894B1 publication Critical patent/KR102137894B1/ko

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

본 발명은 커널 무결성 검사 장치 및 방법에 관한 것이다. 본 발명의 일 실시 예에 따른 커널 무결성 검사 장치 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치에 있어서, 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 시간 제어부, 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 개별 비정상 동작 검출기, 상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 전체 비정상 동작 횟수 평균 획득기 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 무결성 검사부를 포함한다.

Description

커널 무결성 검사 장치 및 방법{APPARATUS AND METHOD FOR CHECKING KERNEL INTEGRITY}
본 발명은 클라우드 환경 하에서 신뢰 실행 환경 기반의 커널 무결성 검사 장치 및 방법에 관한 것이다.
종래기술에서는 대개 무결성 검사 대상을 하나의 안드로이드 커널로만 한정한 경우가 많다. 그러나 실제로 굉장히 많은 수의 안드로이드 스마트폰들이 다양한 작업들을 수행하기 위해서 클라우드 환경을 구축할 수 있다.
이러한 안드로이드 스마트폰 클라우드 환경 하에서 안드로이드 커널에 대한 무결성 검사 방법은 종래 기술에서는 많이 다루어지 않았다. 안드로이드 스마트폰 클라우드가 다양한 분야에서 필요하다는 점에서 안드로이드 스마트폰 클라우드 환경 아래에서 안드로이드 커널에 대한 무결성 검사 방법에 대한 발명은 필수적이라고 볼 수 있다.
본 발명은 컴퓨팅 디바이스의 클라우드 환경에서 커널에 대한 안전하고 효과적인 무결성 검사를 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 커널 무결성 검사 장치는 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치에 있어서, 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 시간 제어부; 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 개별 비정상 동작 검출기; 상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 전체 비정상 동작 횟수 평균 획득기; 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 무결성 검사부를 포함할 수 있다.
또한, 상기 제 1 실행 영역은 비보안영역이고, 상기 제 2 실행 영역은 보안영역일 수 있다.
또한, 상기 개별 비정상 동작 검출기는, 상기 N개의 컴퓨팅 디바이스 중 j번째 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 t번째 타임 슬롯 동안 비정상적으로 동작한 횟수 Aj t를 측정하고, 상기 전체 비정상 동작 횟수 평균 획득기는,
[수학식 1]
Figure pat00001
상기 수학식 1을 통해 At를 산출할 수 있다.
상기 무결성 검사부는, 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률 ξ이, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 단말의 제 1 실행 영역에 있는 커널이 제 t번째 타임 슬롯 동안 공격자에 의해 악의적으로 변경되지 않았을 때 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률
Figure pat00002
보다 작거나 같으면 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않을 가능성이 높다고 결정할 수 있다.
또한, 상기 무결성 검사부는, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수
Figure pat00003
를 산출할 수 있다.
또한, 상기 무결성 검사부는, 산출된 상기 경우의 수
Figure pat00004
가 기 결정된 제 1 임계값 e0보다 작거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않은 것으로 결정하고, 상기 산출된 경우의 수가 기 결정된 제 2 임계값 e1보다 크거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것으로 결정할 수 있다.
또한, 상기 무결성 검사부는, 산출된 상기 경우의 수
Figure pat00005
가 상기 제 1 임계값 e0보다 크고 상기 제 2 임계값 e1보다 작으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수를 산출하여 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정할 수 있다.
본 발명의 다른 측면에 따르면, 커널 무결성 검사 방법은 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치가, 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 단계; 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 단계; 상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 단계; 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 단계를 포함할 수 있다.
또한, 스마트 디바이스와 결합되어 상기의 커널 무결성 검사 방법에 따른 커널 무결성 검사 방법을 실행시키기 위하여 매체에 저장된 애플리케이션일 수 있다.
본 발명의 일 실시 예에 의하면, 컴퓨팅 디바이스의 클라우드 환경에서 커널에 대한 안전하고 효과적인 무결성 검사를 제공할 수 있다
도 1은 본 발명의 일 실시 예에 따른 커널 무결성 검사 시스템의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 커널 무결성 검사 장치의 세부적인 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법에 대한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법의 구체적인 실시 예이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.
이하, 본 발명은 ARM 주식회사의 ARM TrustZone 기술을 기초로 설명하며, 본 명세서에 첨부된 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 커널 무결성 검사 시스템의 블록도이다.
도 1을 참조하면, 커널 무결성 검사 시스템은 클라우드 환경 하에서 다수 개의 컴퓨팅 디바이스(10)를 포함한다. 여기서, 컴퓨팅 디바이스(10)는 일반 사용자가 이용하는 단말기를 말하며, 예를 들면 스마트폰, 태블릿 PC일 수 있다.
본 발명은 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경 기반의 다수개의 안드로이드 스마트폰들로 구성된 클라우드 환경을 고려한다. 여기서, 제 1 실행 영역은 비보안영역(Normal World)이고, 제 2 실행 영역은 보안영역(Secure World)을 말한다.
또한, 제 1 실행 영역의 커널에 대한 무결성 검사를 수행하는 모듈이 각각의 컴퓨팅 디바이스의 제 2 실행 영역에 설치된다. 각각의 무결성 검사를 수행하는 모듈은 클라우드 내의 다른 모듈들과 커널이 비정상적으로 동작한 부분에 대한 정보를 교환한다. 교환되는 정보를 바탕으로 각각의 무결성 검사를 수행하는 모듈은 기 정의된 단계를 수행한다. 기 결정된 단계를 수행함으로써 빠른 시간에 정확한 결정을 내릴 수 있다.
도 2는 본 발명의 일 실시 예에 따른 커널 무결성 검사 장치의 세부적인 블록도이다.
도 2를 참조하면, 커널 무결성 검사 장치는 N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반으로, 시간 제어부(11), 개별 비정상 동작 검출기(12), 전체 비정상 동작 횟수 평균 획득기(13) 및 무결성 검사부(14)를 포함한다.
상기 시간 제어부(11)는 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10)에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스(10)의 시간을 다수의 타임 슬롯으로 분할한다.
상기 개별 비정상 동작 검출기(12)는 N개의 컴퓨팅 디바이스(10)의 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정한다. N개의 컴퓨팅 디바이스 중 j번째 개별 컴퓨팅 디바이스의 제 1 실행 영역에 구비된 커널이 t번째 타임 슬롯 동안 비정상적으로 동작한 횟수 Aj t를 측정한다.
상기 전체 비정상 동작 횟수 평균 획득기(13)는 N개의 컴퓨팅 디바이스(10)의 제 1 실행 영역에 구비된 커널이 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득한다. 여기서, 비정상 동작 횟수 평균 획득기(13)는 개별 컴퓨팅 디바이스에서 각각의 N개의 컴퓨팅 디바이스(10)로부터 제 1 실행 영역에 구비된 커널이 타임 슬롯 동안 비정상적으로 동작한 횟수를 수신하여 평균값을 산출할 수 있고, 클라우드 서버(20)가 각각의 N개의 컴퓨팅 디바이스로부터 제 1 실행 영역에 구비된 커널이 타임 슬롯 동안 비정상적으로 동작한 횟수를 수신하여 평균값을 산출할 수 있다
상기 무결성 검사부(14)는 제 2 실행 영역에 구비되어 개별 비정상 동작 횟수 및 전체 비정상 동작 횟수 평균을 기반으로 개별 컴퓨팅 디바이스의 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사한다.
도 3은 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법에 대한 흐름도이다.
도 3을 참조하면, N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치가 상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스(10)의 시간을 다수의 타임 슬롯으로 분할하는 단계(S10), 상기 개별 컴퓨팅 디바이스(10)의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 단계(S20), 상기 N개의 컴퓨팅 디바이스(10)의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 단계(S30) 및 상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스(10)의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 단계(S40)을 포함한다.
도 4는 본 발명의 일 실시 예에 따른 커널 무결성 검사 방법의 구체적인 실시 예이다. 도 4를 참조하여, 커널 무결성 검사 방법을 설명하면 아래와 같다.
먼저, 클라우드 환경을 구성하는 N개의 컴퓨팅 디바이스(10)에 적용되는 시간을 동기화하고, 각각의 컴퓨팅 디바이스(10)의 시간을 다수의 타임슬롯으로 분할한다. 또한, 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 중 j번째 컴퓨팅 디바이스(10)의 무결성 검사부(14)를 Mj라 하고, 상기 무결성 검사부(14)는 j번째 컴퓨팅 디바이스(10)의 제 2 실행 영역에 설치된다(j는 자연수, j≤N).
클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 중 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에서 동작하는 커널이 t번째 타임슬롯 동안 비정상적으로 동작한 횟수를 개별 비정상 동작 횟수 Aj t로 정의하고, 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 각각의 제 1 실행 영역에서 동작하는 커널이 t 번째 타임슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수의 평균 At를 아래와 같이 정의한다(t는 자연수).
Figure pat00006
또한, j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않는다는 가설(H0)과 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된다는 대립 가설(H1)을 설정한다.
그리고,
Figure pat00007
는 Bernoulli(베르누이) 확률 변수로 다음과 같이 정의한다.
Figure pat00008
여기서, δ는 미리 정의된 임계 값이며,
Figure pat00009
는 하나의 샘플로 보며 각각의 샘플들은 상호간에 독립적으로 측정되기 때문에
Figure pat00010
가 독립적으로 동일하게 분포되어 있다고 가정한다.
Bernoulli(베르누이) 확률 분포에 따른 성공확률 ξ는 다음과 같이 정의한다.
Figure pat00011
Figure pat00012
본 발명의 일 실시 예에 따르면, 무결성 검사부(14)는 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률(ξ)이, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스(10) 중 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 t번째 타임 슬롯 동안 공격자에 의해 악의적으로 변경되지 않았을 때 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값 보다 클 확률
Figure pat00013
보다 작거나 같으면 j번째 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않을 가능성이 높다고 결정한다.
나아가, j번째 컴퓨팅 디바이스의 제 1 타임슬롯, 제 2 타임슬롯 및 제 u 타임슬롯에서 각각 생성된 u(u는 자연수, 1≤t≤u)개의 샘플 중에서
Figure pat00014
인 샘플의 수를
Figure pat00015
라 한다. 여기서 하나의 타임슬롯마다 하나의 샘플이 생성된다. j번째 컴퓨팅 디바이스는 N개의 컴퓨팅 디바이스의 제 1 실행 영역에서 동작하는 커널이 t번째 타임슬롯 동안 비정상적으로 동작한 횟수를 개별 비정상 동작 횟수 Aj t를 획득한다. 획득된 정보를 기초로 t번째 타임슬롯 동안 커널 무결성 검사를 수행한다.
다시 말하면, 무결성 검사부(14)는 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수
Figure pat00016
를 산출한다(S41). 여기서, 경우의 수
Figure pat00017
는 j번째 컴퓨팅 디바이스의 u개의 베르누이 확률변수, 즉, j번째 컴퓨팅 디바이스의 1번째 타임슬롯 내지 u번째 타임슬롯에서 각각 생성된 샘플을 말한다.
본 발명의 일 실시 예에 따르면, 무결성 검사부(14)는 산출된 경우의 수가 기 결정된 제 1 임계값 e0보다 작거나 같으면(
Figure pat00018
, S42), 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않은 것으로 결정하고(S43), 산출된 경우의 수가 기 결정된 제 2 임계값 e1보다 크거나 같으면(
Figure pat00019
, S44), 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것으로 결정할 수 있다(S45).
더해서, 무결성 검사부(14)는 산출된 경우의 수가 제 1 임계값 e0보다 크고 제 2 임계값 e1보다 작으면(
Figure pat00020
, S46), 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수를 산출하여 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정할 수 있다.
예를 들면, 1번째 타임슬롯을 기초로 경우의 수를 산출하여 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부가 결정되지 않으면, 2번째 타임슬롯을 기초로 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정한다. 이와 같이, 타임슬롯을 순차적으로 선택하여 커널 무결성 검사를 진행할 수 있다.
Figure pat00021
여기서,
Figure pat00022
은 위와 같이 정의하고,
Figure pat00023
,
Figure pat00024
,
Figure pat00025
,
Figure pat00026
: 설정 가능한 파라미터이다.
본 발명의 커널 무결성 검사 장치는 컴퓨팅 디바이스(10)의 제 1 실행 영역에 있는 커널이 공격자에 의해 변경되었는지 여부를 제 2 실행 영역에 설치된 무결성 검사부(14)가 검사한다. 무결성 검사부(14)는 제 2 실행 영역에 설치되기 때문에 공격자의 제어 권한 아래에 놓이지 않게 되어 안전하게 커널에 대한 무결성 검사를 수행할 수 있다. 또한, 상기의 커널 무결성 검사 방법을 이용하면 빠르고 정확하게 결정을 내릴 수 있어 커널에 대한 무결성 검사 시점을 결정하는데 효율적이다.
또한, 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경 기반의 안드로이드 기반의 단말들 내에 설치된 다수의 가상머신들로 구성된 클라우드 환경에서도 본 발명이 적용이 가능하여 확장성이 뛰어난 것이 특징이다.
본 발명의 일 실시 예에 따르면, 스마트 디바이스와 결합되어 상기의 커널 무결성 검사 방법에 따른 커널 무결성 검사 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 저술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.
10 : 컴퓨팅 디바이스
20 : 클라우드 서버
30 : 클라우드
11 : 시간 제어부
12 : 개별 비정상 동작 검출기
13 : 전체 비정상 동작 횟수 평균 획득기
14 : 무결성 검사부

Claims (9)

  1. N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치에 있어서,
    상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 시간 제어부;
    상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 개별 비정상 동작 검출기;
    상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 전체 비정상 동작 횟수 평균 획득기; 및
    상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 무결성 검사부를 포함하는 커널 무결성 검사 장치.
  2. 제 1 항에 있어서,
    상기 제 1 실행 영역은 비보안영역이고, 상기 제 2 실행 영역은 보안영역인 커널 무결성 검사 장치.
  3. 제 1 항에 있어서, 상기 개별 비정상 동작 검출기는,
    상기 N개의 컴퓨팅 디바이스 중 j번째 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 t번째 타임 슬롯 동안 비정상적으로 동작한 횟수 Aj t를 측정하고,
    상기 전체 비정상 동작 횟수 평균 획득기는,
    [수학식 1]
    Figure pat00027

    상기 수학식 1을 통해 At를 산출하는 커널 무결성 검사 장치(j 및 t는 자연수, j≤N).
  4. 제 3 항에 있어서, 상기 무결성 검사부는,
    상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률 ξ이, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 단말의 제 1 실행 영역에 있는 커널이 제 t번째 타임 슬롯 동안 공격자에 의해 악의적으로 변경되지 않았을 때 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 클 확률
    Figure pat00028
    보다 작거나 같으면 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않을 가능성이 높다고 결정하는 커널 무결성 검사 장치.
  5. 제 4 항에 있어서, 상기 무결성 검사부는,
    상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수
    Figure pat00029
    를 산출하는 커널 무결성 검사 장치(u는 자연수, 1≤t≤u).
  6. 제 5 항에 있어서, 상기 무결성 검사부는,
    산출된 상기 경우의 수
    Figure pat00030
    가 기 결정된 제 1 임계값 e0보다 작거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경되지 않은 것으로 결정하고, 상기 산출된 경우의 수가 기 결정된 제 2 임계값 e1보다 크거나 같으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것으로 결정하는 커널 무결성 검사 장치.
  7. 제 6 항에 있어서, 상기 무결성 검사부는,
    산출된 상기 경우의 수
    Figure pat00031
    가 상기 제 1 임계값 e0보다 크고 상기 제 2 임계값 e1보다 작으면, 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스에서 상기 전체 비정상 동작 횟수 평균 획득기를 통해 획득한 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수 중 u번의 타임슬롯 동안 상기 Aj t와 상기 At의 차이의 절대값이 기 설정된 임계값보다 큰 경우의 수를 산출하여 상기 클라우드를 구성하는 N개의 컴퓨팅 디바이스 중 j번째 컴퓨팅 디바이스의 제 1 실행 영역에 있는 커널이 공격자에 의해 악의적으로 변경된 것인지에 대한 여부를 결정하는 커널 무결성 검사 장치.
  8. N개의 컴퓨팅 디바이스(N은 자연수)를 포함하는 클라우드 환경 하에서 서로 독립적으로 운영되는 제 1 실행 영역과 제 2 실행 영역을 포함하는 신뢰 실행 환경(Trusted Execution Environment) 기반의 커널 무결성 검사 장치가,
    상기 N개의 컴퓨팅 디바이스에 적용되는 시간을 동기화시키고, 개별 컴퓨팅 디바이스의 시간을 다수의 타임 슬롯으로 분할하는 단계;
    상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 하나의 타임 슬롯 동안 비정상적으로 동작한 횟수인 개별 비정상 동작 횟수를 측정하는 단계;
    상기 N개의 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널이 상기 타임 슬롯 동안 비정상적으로 동작한 횟수의 평균값인 전체 비정상 동작 횟수 평균을 획득하는 단계; 및
    상기 제 2 실행 영역에 구비되어 상기 개별 비정상 동작 횟수 및 상기 전체 비정상 동작 횟수 평균을 기반으로 상기 개별 컴퓨팅 디바이스의 상기 제 1 실행 영역에 구비된 커널에 대한 무결성을 검사하는 단계를 포함하는 커널 무결성 검사 방법.
  9. 스마트 디바이스와 결합되어 제 8 항에 따른 커널 무결성 검사 방법을 실행시키기 위하여 매체에 저장된 애플리케이션.
KR1020180163730A 2018-12-18 2018-12-18 커널 무결성 검사 장치 및 방법 KR102137894B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180163730A KR102137894B1 (ko) 2018-12-18 2018-12-18 커널 무결성 검사 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180163730A KR102137894B1 (ko) 2018-12-18 2018-12-18 커널 무결성 검사 장치 및 방법

Publications (2)

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

Family

ID=71603183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180163730A KR102137894B1 (ko) 2018-12-18 2018-12-18 커널 무결성 검사 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102137894B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170142672A (ko) * 2016-06-20 2017-12-28 주식회사 씨오티커넥티드 신뢰실행환경 기반의 컴퓨팅 장치
KR20180013854A (ko) * 2016-03-29 2018-02-07 후아웨이 인터내셔널 피티이. 엘티디. 전자 디바이스의 무결성을 검증하기 위한 시스템 및 방법
KR20180093038A (ko) * 2015-12-11 2018-08-20 제말토 에스에이 신뢰 실행 환경을 갖는 모바일 디바이스

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180093038A (ko) * 2015-12-11 2018-08-20 제말토 에스에이 신뢰 실행 환경을 갖는 모바일 디바이스
KR20180013854A (ko) * 2016-03-29 2018-02-07 후아웨이 인터내셔널 피티이. 엘티디. 전자 디바이스의 무결성을 검증하기 위한 시스템 및 방법
KR20170142672A (ko) * 2016-06-20 2017-12-28 주식회사 씨오티커넥티드 신뢰실행환경 기반의 컴퓨팅 장치

Non-Patent Citations (1)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
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
RU2013136976A (ru) Система и способ временной защиты операционной системы программно-аппаратных устройств от приложений, содержащих уязвимости
CN104081407A (zh) 云计算环境中的服务器和客户端的远程信任证明和地理位置
US11108818B2 (en) Credential spray attack detection
US20170271027A1 (en) Methods and systems of testing interfaces of computer storage for storage vulnerabilities
CN102722672B (zh) 一种检测运行环境真实性的方法及装置
US20210049281A1 (en) Reducing risk of smart contracts in a blockchain
US10929258B1 (en) Method and system for model-based event-driven anomalous behavior detection
CN106775971B (zh) 数据处理装置
CN103389939A (zh) 一种针对堆可控分配漏洞的检测方法及***
US11055207B2 (en) Automatic generation of integration tests from unit tests
US8949991B2 (en) Testing web services that are accessible via service oriented architecture (SOA) interceptors
CN113779562A (zh) 基于零信任的计算机病毒防护方法、装置、设备及介质
KR102137894B1 (ko) 커널 무결성 검사 장치 및 방법
CN112235300B (zh) 云虚拟网络漏洞检测方法、***、装置及电子设备
US11140186B2 (en) Identification of deviant engineering modifications to programmable logic controllers
CN104753741A (zh) 一种网卡测试性能调节的方法及装置
CN104462942A (zh) 移动终端可信用户输入输出接口的检测方法及***
CN111427737B (zh) 一种修改异常日志的方法、装置、及电子设备
EP3136278B1 (en) Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
CN115455414A (zh) 一种安全检测方法和装置
CN111767585A (zh) 对象识别方法、装置、电子设备及存储介质
US9703676B2 (en) Testing application internal modules with instrumentation
CN112672353A (zh) 基于云计算和5g互联的信息解析方法及、***及云平台

Legal Events

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