KR20170105353A - 전자장치 및 그 제어방법 - Google Patents

전자장치 및 그 제어방법 Download PDF

Info

Publication number
KR20170105353A
KR20170105353A KR1020160028467A KR20160028467A KR20170105353A KR 20170105353 A KR20170105353 A KR 20170105353A KR 1020160028467 A KR1020160028467 A KR 1020160028467A KR 20160028467 A KR20160028467 A KR 20160028467A KR 20170105353 A KR20170105353 A KR 20170105353A
Authority
KR
South Korea
Prior art keywords
memory
program
protection area
access
security
Prior art date
Application number
KR1020160028467A
Other languages
English (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 KR1020160028467A priority Critical patent/KR20170105353A/ko
Priority to US15/440,283 priority patent/US20170262383A1/en
Publication of KR20170105353A publication Critical patent/KR20170105353A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • 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/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Abstract

본 발명에 따른 전자장치에 있어, 보호영역을 가지며, 보호영역에 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 저장하는 메모리와; 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행하는 적어도 하나의 프로세서와; 메모리의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 액세스를 차단하고, 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 하는 메모리 감시부를 포함한다.
이와 같은 전자장치에 있어, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 전자장치의 무결성을 보장할 수 있는 효과가 있다.

Description

전자장치 및 그 제어방법 {ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF}
본 발명은 전자장치 및 그 제어방법에 관한 것으로서, 보다 상세하게는 메모리의 감시를 통해 소프트웨어의 해킹을 방지하기 위한 전자장치 및 그 제어방법에 관한 것이다.
종래에는 단말기의 운영체제의 무결성을 검증하기 위해, CPU의 일반영역에서 보안과 관련된 주요 동작에 대해 미리 트랩(Trap)을 걸고 이에 대한 이벤트 발생 시, 이를 보안영역으로 전달하여 이벤트에 대한 검증을 수행한다. 또한, 잘못된 메모리 주소 공간에 데이터를 읽거나 쓰는 경우가 발생할 때마다 보안영역으로 전달하여 검증을 수행한다.
이 경우, 주요 동작에 대한 이벤트 발생으로 인해 보안영역으로의 전달이 빈번하게 일어나게 되면 단말기에 대한 정상적인 동작이 보장되지 않을 수 있다. 또한, 프로세서의 자원소모가 일어나기 때문에 성능 저하가 일어날 수 있는 문제점이 있다.
다른 종래 기술의 경우, 하나의 도메인만이 존재하는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 정적(static) 메모리 영역을 모니터링하고, 메모리 영역의 값이 수정된 경우 외부의 무결성 검증장치로 이를 전달하여 검증을 수행하도록 한다. 이 경우 외부의 무결성 검증장치를 이용하게 되므로 소형 모바일 단말기에는 적용하기 어렵다. 또한, 내부의 무결성 검증장치를 이용하는 경우에도, 하나의 도메인에서 검증이 일어나기 때문에 검증 환경에 대한 무결성 보장이 어려운 문제점이 있다.
따라서, 본 발명의 목적은, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 전자장치의 무결성을 보장하기 위한 전자장치 및 그 제어방법을 제공하는 것이다.
또한, 본 발명의 또 다른 목적은, 메모리의 보호영역에 대한 액세스 발생 시 이를 차단하고, 이에 대한 검증을 수행하기 위한 전자장치 및 그 제어방법을 제공하기 위한 것이다.
상기 목적은, 본 발명에 따라, 전자장치에 있어, 보호영역을 가지며, 보호영역에 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 저장하는 메모리와; 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행하는 적어도 하나의 프로세서와; 메모리의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 액세스를 차단하고, 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 하는 메모리 감시부를 포함하는 전자장치에 의해 달성될 수 있다.
이와 같은 본 발명의 실시예에 따라, 전자장치에 있어, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 전자장치의 무결성을 보장할 수 있는 효과가 있다. 또한, 메모리의 보호영역에 대한 액세스 발생 시 이를 차단하고, 안전한 환경에서 검증을 수행하도록 함에 의해, 검증 환경에 대한 무결성 보장이 가능하다.
상기 적어도 하나의 프로세서는, 상기 메모리의 보호영역을 감시하기 위한 보안 프로그램을 실행할 수 있다. 이에 따라, 메모리 감지부에 메모리의 보호영역에 대한 변조 여부를 탐지하도록 요청하고, 탐지된 결과를 전달 받아 검증을 수행하는 역할을 할 수 있다.
상기 메모리 감시부는, 상기 메모리의 보호영역에 대한 액세스 발생시 상기 액세스 발생에 관한 정보를 상기 보안 프로그램으로 전송할 수 있다. 이에 따라, 메모리의 보호영역에 저장된 데이터에 대해 읽기(Read), 쓰기(Write), 실행(Execute) 등의 액세스가 감지되면, 감지된 액세스에 대한 정보를 보안 프로그램으로 전송하여 보안 검증을 수행하도록 할 수 있다.
상기 액세스 발생에 관한 정보는, 상기 액세스가 발생한 상기 메모리의 보호영역에 대한 주소와 데이터 값을 포함할 수 있다.
상기 메모리 감시부는, 상기 액세스 발생에 관한 정보를 레지스터에 저장하고, 상기 보안 프로그램으로 전송하기 위해 인터럽트 요청(Interrupt Request)을 발생시킬 수 있다. 이에 따라, 메모리의 보호영역에 대한 액세스 발생 시, 액세스가 발생한 메모리 보호영역 상의 주소 및 데이터 값을 레지스터에 저장하고, 보안 프로그램이 레지스터에 저장된 값을 읽도록 할 수 있다.
상기 보안 프로그램은, 상기 메모리 감시부와 상기 메모리의 보호영역에 관한 정보를 주고 받는 매니저 프로그램과; 상기 메모리 감시부로부터 전송되는 상기 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램을 포함할 수 있다. 이에 따라, 메모리 보호영역을 설정하고 메모리 감시부로부터 메모리 보호영역에 대한 액세스 발생에 관한 정보를 수신하는 기능과, 이를 기초로 메모리 보호영역에 대한 보안 검증을 수행하는 기능을 별도의 프로그램으로 구현하여, 무결성 검증의 성능을 향상시킬 수 있다.
상기 보안 프로그램은, 상기 제2운영체제의 지원에 의해 실행될 수 있다. 이에 따라, 보다 안전한 CPU 환경에서 보안 검증을 위한 프로그램을 구현함에 의해 검증 환경에 대한 무결성 보장이 가능하다.
상기 매니저 프로그램은, 상기 검증 프로그램의 요청에 따라 상기 메모리의 보호영역을 설정할 수 있다. 이에 따라, 장치의 부팅시에 암호화된 채로 보안영역으로 전달된 보호영역의 설정 및 검증을 위한 정보를 이용하여 메모리 감지부가 모니터링할 메모리의 보호영역을 설정할 수 있다.
상기 매니저 프로그램은, 상기 검증 프로그램의 요청에 따라 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 설정할 수 있다. 이에 따라, 정적 메모리 보호영역에 대한 액세스 뿐만 아니라 동적 메모리 보호영역에 대한 비정상적인 액세스 발생을 감지하도록 할 수 있다.
상기 적어도 하나의 프로세서는, 상기 적어도 하나의 제1프로그램에 관한 적어도 하나의 동작을 설정하고, 상기 설정된 동작의 변조 여부를 판단하는 동작감시 프로그램을 실행할 수 있다. 이에 따라, CPU의 일반영역에서 실행되는 제1프로그램에 대한 복수의 동작들 중 특정 동작에 대한 변조 여부를 감지하여 제3의 프로그램에 의한 공격 유무를 판단할 수 있다.
상기 목적은, 본 발명에 따라, 전자장치의 제어방법에 있어, 제1운영체제 및 상기 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 메모리의 보호영역에 저장하는 단계와; 적어도 하나의 프로세서에 의해, 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행하는 단계와; 메모리 감시부에 의해, 메모리의 보호영역에 대한 액세스 발생 여부를 감지하는 단계와; 메모리 감시부에 의해, 액세스 발생 시 액세스를 차단하는 단계와; 메모리 감시부에 의해, 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 하는 단계를 포함하는 전자장치의 제어방법에 의해서도 달성될 수 있다.
이와 같은 본 발명의 실시예에 따라, 전자장치에 있어, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 전자장치의 무결성을 보장할 수 있는 효과가 있다. 또한, 메모리의 보호영역에 대한 액세스 발생 시 이를 차단하고, 안전한 환경에서 검증을 수행하도록 함에 의해, 검증 환경에 대한 무결성 보장이 가능하다.
상기 적어도 하나의 프로세서는, 상기 메모리의 보호영역을 감시하기 위한 보안 프로그램을 실행할 수 있다. 이에 따라, 메모리 감지부에 메모리의 보호영역에 대한 변조 여부를 탐지하도록 요청하고, 탐지된 결과를 전달 받아 검증을 수행하는 역할을 할 수 있다.
상기 메모리 감시부에 의해, 상기 메모리의 보호영역에 대한 액세스 발생시 상기 액세스 발생에 관한 정보를 상기 보안 프로그램으로 전송하는 단계를 포함할 수 있다. 이에 따라, 메모리의 보호영역에 저장된 데이터에 대해 읽기(Read), 쓰기(Write), 실행(Execute) 등의 액세스가 감지되면, 감지된 액세스에 대한 정보를 보안 프로그램으로 전송하여 보안 검증을 수행하도록 할 수 있다.
상기 액세스 발생에 관한 정보는, 상기 액세스가 발생한 상기 메모리의 보호영역에 대한 주소와 데이터 값을 포함할 수 있다.
상기 메모리 감시부에 의해, 상기 액세스 발생에 관한 정보를 레지스터에 저장하고, 상기 보안 프로그램으로 전송하기 위해 인터럽트 요청을 발생시키는 단계를 포함할 수 있다. 이에 따라, 메모리의 보호영역에 대한 액세스 발생 시, 액세스가 발생한 메모리 보호영역 상의 주소 및 데이터 값을 레지스터에 저장하고, 보안 프로그램이 레지스터에 저장된 값을 읽도록 할 수 있다.
상기 보안 프로그램은, 상기 메모리 감시부와 상기 메모리의 보호영역에 관한 정보를 주고 받는 매니저 프로그램과; 상기 메모리 감시부로부터 전송되는 상기 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램을 포함할 수 있다. 이에 따라, 메모리 보호영역을 설정하고 메모리 감시부로부터 메모리 보호영역에 대한 액세스 발생에 관한 정보를 수신하는 기능과, 이를 기초로 메모리 보호영역에 대한 보안 검증을 수행하는 기능을 별도의 프로그램으로 구현하여, 무결성 검증의 성능을 향상시킬 수 있다.
상기 보안 프로그램은, 상기 제2운영체제의 지원에 의해 실행될 수 있다. 이에 따라, 보다 안전한 CPU 환경에서 보안 검증을 위한 프로그램을 구현함에 의해 검증 환경에 대한 무결성 보장이 가능하다.
상기 매니저 프로그램에 의해, 상기 검증 프로그램의 요청에 따라 상기 메모리의 보호영역을 설정하는 단계를 포함할 수 있다. 이에 따라, 장치의 부팅시에 암호화된 채로 보안영역으로 전달된 보호영역의 설정 및 검증을 위한 정보를 이용하여 메모리 감지부가 모니터링할 메모리의 보호영역을 설정할 수 있다.
상기 매니저 프로그램에 의해, 상기 검증 프로그램의 요청에 따라 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 설정하는 단계를 포함할 수 있다. 이에 따라, 정적 메모리 보호영역에 대한 액세스 뿐만 아니라 동적 메모리 보호영역에 대한 비정상적인 액세스 발생을 감지하도록 할 수 있다.
상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 제1프로그램에 관한 적어도 하나의 동작을 설정하고, 상기 설정된 동작의 변조 여부를 판단하는 동작감시 프로그램을 실행하는 단계를 포함할 수 있다. 이에 따라, CPU의 일반영역에서 실행되는 제1프로그램에 대한 복수의 동작들 중 특정 동작에 대한 변조 여부를 감지하여 제3의 프로그램에 의한 공격 유무를 판단할 수 있다.
상기한 바와 같이, 본 발명에 의하면, 전자장치에 있어, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 메모리 보호영역의 변조 여부를 즉시 탐지할 수 있고, 기존 운영체제의 수정 없이 즉각적인 대처가 가능하다.
또한, 본 발명에 의하면, 전자장치에 있어, 안전한 환경에서 보안 검증을 수행하도록 함에 의해, 검증 환경에 대한 무결성 보장이 가능하다.
또한, 본 발명에 의하면, 전자장치에 있어, CPU의 일반영역과 보안영역 간의 단방향성 정보의 교환이 가능하므로, 양방향 통신시 발생할 수 있는 중간자 공격 위험성을 줄일 수 있다.
도 1은 본 발명의 일실시예에 따른 전자장치의 구성을 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 디스플레이장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하기 위한 구성을 도시한 예이다.
도 4는 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하기 위한 구성을 도시한 예이다.
도 5는 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하는 프로세스를 도시한 예이다.
도 6은 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하는 프로세스를 도시한 예이다.
도 7은 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하는 프로세스를 도시한 예이다.
도 8은 본 발명의 일실시예에 따른 전자장치의 제어방법을 도시한 흐름도이다.
이하, 첨부도면을 참조하여 본 발명의 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙이도록 한다.
이하에서는, 먼저 도 1을 통해 본 발명에 따른 전자장치의 구성에 대해 구체적으로 설명하기로 한다. 도 1은 본 발명의 일실시예에 따른 전자장치의 구성을 도시한 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 전자장치(10)는 메모리(11), 프로세서(12) 및 메모리 감시부(13)를 포함하고, 예컨대 스마트 TV, 스마트 폰, 태블릿, 컴퓨터, 노트북 등으로 구현될 수 있다. 다른 예로서, 전자장치(10)는 컴퓨팅 시스템을 포함하는 일반 가전기기, 산업용 전자기기 등으로 구현될 수도 있다. 본 발명의 전자장치(10)에 포함되는 구성은 앞서 기재된 일실시예에 의해 한정되지 않고, 추가적인 다른 구성들을 포함하여 구현될 수 있다.
본 발명에 의한 전자장치(10)는 일반영역 및 보안영역으로 구분되는 CPU 환경에서 어플리케이션 등의 프로그램을 실행한다. 일반영역 및 보안영역은 CPU의 동작상태에 따라 구분되고, 페이지 테이블(Page Table) 관련 레지스터와 주소 공간이 분리되어 있다. 일반영역 및 보안영역은 각각 다른 종류의 운영체제(OS)를 구동할 수 있고, 예컨대 보안영역에서는 충분히 검증되고 보안에 강한 OS를, 일반영역에서는 검증은 힘들지만 일반적으로 많이 사용하는 OS를 구동할 수 있다. 일반영역에서 처리되는 동작은, 예컨대 암호화되지 않은 채널의 재생, 일반 어플리케이션의 실행, 멀티미디어 데이터의 처리 등을 포함할 수 있다. 또한, 보안영역에서 처리되는 동작은, 예컨대 중요한 개인정보 데이터의 처리, 암호화된 데이터의 처리 등을 포함할 수 있다.
전자장치(10)는 일반영역 및 보안영역으로 구분된 CPU 환경에서, 일반영역에서 실행되는 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 메모리(11)의 보호영역에 저장한다. 전자장치(10)는 적어도 하나의 프로세서(12)에 의해, 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행한다. 전자장치(10)는 메모리 감시부(13)에 의해, 메모리(11)의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 액세스를 차단한다. 또한, 전자장치(10)는 메모리 감시부(13)에 의해, 메모리(11)의 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 한다.
이와 같은 본 발명의 실시예에 따라, 전자장치에 있어, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 전자장치의 무결성을 보장할 수 있는 효과가 있다. 또한, 메모리의 보호영역에 대한 액세스 발생 시 이를 차단하고, 안전한 환경에서 검증을 수행하도록 함에 의해, 검증 환경에 대한 무결성 보장이 가능하다.
메모리(11)는 휘발성(volatile) 저장매체로서, 저장된 정보를 유지하기 위해 전기의 공급을 요구한다. 예로서, 메모리(11)는 랜덤 액세스 메모리(RAM: Random Access Memory)로 구현될 수 있다. 메모리(11)는 보호영역을 가지며, 보호영역에 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 저장한다. 메모리(11)의 보호영역은 정적(static) 메모리 보호영역 또는 동적(dynamic) 메모리 보호영역으로 설정될 수 있다. 메모리(11)의 보호영역은 전자장치의 부팅 시 암호화된 채로 CPU의 보안영역으로 전달된 정보에 의해 설정될 수 있다. 이 때, 보안영역으로 전달된 정보는, 보호영역의 설정 및 검증을 위한 정보로서, 보안영역으로 전달되어 복호화 된다.
제1운영체제는 CPU의 일반영역에서 구동되는 OS(Operating System)로 검증은 어려우나 일반적으로 많이 사용하는 OS에 해당한다. 제1프로그램은 제1운영체제의 지원에 의해 실행될 수 있는 일반적인 프로그램으로 구현된다. 메모리(11)는 이와 같은 제1프로그램과 관련된 실행코드 및 데이터를 저장하게 되는데, 악의적인 해킹에 의해 노출될 위험성이 있으므로, 이를 감시할 필요가 있다.
적어도 하나의 프로세서(12)는 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행한다. 여기서, 적어도 하나의 제1프로그램은 CPU의 일반영역에서 제1운영체제에 의해 실행되는 일반적인 프로그램으로 구현될 수 있다. 적어도 하나의 제2프로그램은 CPU의 보안영역에서 제1운영체제보다 높은 권한을 가지는 제2운영체제에 의해 실행되는 보안이 요구되는 프로그램으로 구현될 수 있다.
메모리 감시부(13)는 메모리(11)의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 메모리(11)의 보호영역에 대한 액세스를 차단한다. 또한, 메모리 감시부(13)는 메모리(11)의 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 한다. 일실시예로서, 메모리 감시부(13)는 전자장치(10) 내에서 별도의 하드웨어로 구현될 수 있다. 메모리 감시부(13)가 하드웨어로 구현되는 경우, 메모리(11) 상에 로드되는 데이터가 없으므로 소프트웨어로 구현되는 경우에 비해 성능 면에서 뛰어나다. 또한, 메모리 감시부(13)가 하드웨어로 구현되는 경우, 실시간으로 메모리(11)의 변조를 탐지하여 즉각적인 대처가 가능하다. 그러나, 메모리 감시부(13)가 구현되는 형태는 이에 한정되지 않고, CPU의 성능 및 처리 속도가 뛰어난 경우 제1운영체제 또는 제2운영체제에 의해 실행되는 소프트웨어로 구현될 수도 있다.
일실시예로서, 적어도 하나의 프로세서(12)는, 메모리(11)의 보호영역을 감시하기 위한 보안 프로그램을 실행할 수 있다. 보안 프로그램은 CPU의 보안영역에서 제2운영체제의 지원에 의해 실행될 수 있다. 이에 따라, 보다 안전한 CPU 환경에서 보안 검증을 위한 프로그램을 구현함에 의해 검증 환경에 대한 무결성을 보장할 수 있는 장점이 있다.
메모리 감시부(13)는 메모리(11)의 보호영역에 대한 액세스 발생시 액세스 발생에 관한 정보를 보안 프로그램으로 전송할 수 있다. 여기서, 액세스 발생에 관한 정보는, 액세스가 발생한 메모리의 보호영역에 대한 주소와 데이터 값을 포함할 수 있다. 즉, 메모리 감시부(13)는 메모리(11)의 보호영역에 저장된 데이터에 대해 읽기, 쓰기, 실행 등의 액세스가 감지되면, 액세스가 감지된 주소 및 데이터 값 등의 정보를 제2운영체제에 의해 실행되는 보안 프로그램으로 전송하여 안전한 환경에서 보안 검증을 수행하도록 할 수 있다.
일실시예로서, 메모리 감시부(13)는 액세스 발생에 관한 정보를 레지스터에 저장하고, 보안 프로그램으로 전송하기 위해 인터럽트 요청을 발생시킬 수 있다. 예를 들어, 메모리 감시부(13)는 메모리(11)의 보호영역에 저장된 데이터에 대해 읽기, 쓰기, 실행 등의 액세스가 감지되면, 액세스가 감지된 주소를 레지스터에 저장하고, FIQ(Fast Interrupt Request)를 발생시켜 보안 프로그램으로 전달할 수 있다. 이 때, 보안 프로그램은 메모리 감시부(13)로부터 전달된 FIQ에 기초하여 레지스터에 저장된 주소를 읽고, 미리 설정된 검증을 위한 정보를 통해 공격 여부에 대한 검증을 수행할 수 있다.
일실시예로서, 보안 프로그램은, 메모리 감시부(13)와 메모리(11)의 보호영역에 관한 정보를 주고 받는 매니저 프로그램과, 메모리 감시부(13)으로부터 전송되는 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램을 포함할 수 있다.
일실시예로서, 매니저 프로그램은, 검증 프로그램의 요청에 따라 메모리(11)의 보호영역을 설정할 수 있다. 즉, 매니저 프로그램은 메모리 감시부(13)가 감시해야 하는 메모리(11)의 보호영역을 설정하고, 설정한 메모리(11)의 보호영역에 대한 정보를 메모리 감시부(13)로 전송할 수 있다. 또한, 매니저 프로그램은, 메모리(11)의 보호영역에 대한 액세스 발생에 관한 정보를 메모리 감시부(13)로부터 수신하고, 수신한 정보를 검증 프로그램으로 전송하여 보안 검증을 수행하도록 할 수 있다.
다른 실시예로서, 매니저 프로그램은 검증 프로그램의 요청에 따라 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 설정할 수 있다. 예로서, 정적 메모리 보호영역이 설정된 경우, 메모리 감시부(13)는 보호영역에 대해 변조가 발생했는지를 감지하여 해킹 등에 의한 공격 여부를 검증하도록 할 수 있다. 다른 예로서, 동적 메모리 보호영역이 설정된 경우, 메모리 감시부(13)는 보호영역에 대해 비정상적인 변조가 발생했는지를 감지하여 해킹 등에 의한 공격 여부를 검증하도록 할 수 있다.
일실시예로서, 검증 프로그램은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리 보호영역의 설정 및 검증을 위한 정보에 기초하여, 매니저 프로그램으로 메모리 보호영역의 설정을 요청할 수 있다. 또한, 검증 프로그램은 매니저 프로그램으로부터 전송되는 메모리(11)의 보호영역에 대한 액세스 발생에 관한 정보에 기초하여, 해킹 등에 의한 공격 여부를 검증할 수 있다. 또한, 검증 프로그램은 검증된 결과에 대해 리포트를 생성하여 기록할 수 있다.
일실시예로서, 적어도 하나의 프로세서(12)는, 적어도 하나의 제1프로그램에 관한 적어도 하나의 동작을 설정하고, 설정된 동작의 변조 여부를 판단하는 동작감시 프로그램을 실행할 수 있다. 동작감시 프로그램은, CPU의 일반영역에서 제1운영체제에 의해 실행되도록 구현될 수 있다. 예로서, 동작감시 프로그램은, 제1운영체제에 의해 실행되는 제1프로그램에 대한 복수의 동작들 중 적어도 하나의 주요 동작을 설정하고, 설정된 주요 동작이 비정상적으로 실행되는 경우, 이에 대한 주소와 데이터 값을 메모리(11)의 특정 영역에 기록하도록 할 수 있다.
이와 같은 동작감시 프로그램의 실행 결과에 의해, 메모리 감시부(13)가 메모리(11)의 특정 영역에 대한 액세스를 감지하면, 액세스가 감지된 주소 및 데이터 값을 레지스터에 저장하고, FIQ를 발생시켜 보안 프로그램으로 전달할 수 있다. 이에 따라, 보안 프로그램은, 메모리 감시부(13)로부터 전달된 FIQ에 기초하여 레지스터에 저장된 주소를 읽고, 미리 설정된 검증을 위한 정보를 통해 공격 여부에 대한 검증을 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 디스플레이장치의 구성을 도시한 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 디스플레이장치(20)는 신호수신부(21), 신호처리부(22), 디스플레이부(23), 사용자입력부(24), 프로세서(25), 통신부(26), 메모리(27) 및 메모리 감시부(28)를 포함하고, 예컨대 스마트 TV, 스마트 폰, 태블릿, 컴퓨터, 노트북 등으로 구현될 수 있다. 디스플레이장치(20)는 블루투스(Bluetooth), 와이파이(Wi-Fi), 지그비(Zigbee) 등의 근거리 통신방식을 이용하여 외부장치(29)와 연결되거나, TCP/IP를 이용하는 인터넷 네트워크를 통해 외부장치(29)와 연결될 수 있다. 외부장치(29)는 예컨대 스마트 TV, 스마트 폰과 같은 디스플레이장치로 구현되거나, 에어컨, 세탁기, 냉장고, 로봇 청소기 등과 같은 전자기기로 구현될 수도 있다. 외부장치(29)의 종류는 이에 한정되지 않고 다양한 종류의 전자기기로 구현될 수 있다. 디스플레이장치(20)의 구성 중 프로세서(25), 메모리(27) 및 메모리 감시부(28)는, 도 1에서 전자장치(10)의 구성 중 프로세서(12), 메모리(11) 및 메모리 감시부(13)에 각각 대응하므로, 구체적인 설명은 생략하고 차이가 있는 부분에 대해서만 설명하기로 한다. 본 발명의 디스플레이장치(20)에 포함되는 구성은 앞서 기재된 일실시예에 의해 한정되지 않고, 추가적인 다른 구성들을 포함하여 구현될 수 있다.
본 발명에 의한 디스플레이장치(20)는 일반영역 및 보안영역으로 구분되는 CPU 환경에서 어플리케이션 등의 프로그램을 실행한다. 일반영역 및 보안영역은 CPU의 동작상태에 따라 구분되고, 각각 다른 종류의 운영체제(OS)를 구동할 수 있다. 예로서, 보안영역에서는 충분히 검증되고 보안에 강한 OS를, 일반영역에서는 검증은 힘들지만 일반적으로 많이 사용하는 OS를 구동할 수 있다. 일반영역에서 처리되는 동작은, 예컨대 암호화되지 않은 채널의 재생, 일반 어플리케이션의 실행, 멀티미디어 데이터의 처리 등을 포함할 수 있다. 또한, 보안영역에서 처리되는 동작은, 예컨대 중요한 개인정보 데이터의 처리, 암호화된 데이터의 처리 등을 포함할 수 있다.
디스플레이장치(20)는 일반영역 및 보안영역으로 구분된 CPU 환경에서, 일반영역에서 실행되는 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 메모리(27)의 보호영역에 저장한다. 디스플레이장치(20)는 적어도 하나의 프로세서(25)에 의해, 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행한다. 디스플레이장치(20)는 메모리 감시부(28)에 의해, 메모리(27)의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 액세스를 차단한다. 또한, 디스플레이장치(20)는 메모리 감시부(28)에 의해, 메모리(27)의 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 한다.
신호수신부(21)는 방송신호 또는 영상신호를 수신한다. 신호수신부(21)는 수신하는 방송신호 또는 영상신호의 규격 및 디스플레이장치(20)의 구현 형태에 따라 다양한 형식으로 마련될 수 있는데, 예를 들어, 방송국으로부터 송출되는 RF(Radio Frequency) 방송신호나 위성신호를 수신하는 튜너로 구현될 수 있다. 다른 예로서, 신호수신부(21)는 디스플레이장치(20)와 연결된 외부장치, 예컨대 DVD 장치, USB 장치 등으로부터 영상신호를 수신할 수도 있다. 이와 같이, 신호수신부(21)는 본 발명의 일실시예에 의해 한정되지 않고, 다양한 구현 형태로 방송신호 또는 영상신호를 수신할 수 있다.
신호처리부(22)는 신호수신부(21)에서 수신된 방송신호 또는 영상신호에 대해 기 설정된 신호처리 프로세스를 수행한다. 신호처리부(22)에서 수행하는 신호처리 프로세스의 예로써, 디코딩(decoding), 디인터레이싱 (de-interlacing), 스케일링(scaling), 노이즈 감소(noise reduction), 디테일 인핸스먼트(detail enhancement) 등이 있으며, 그 종류는 한정되지 않는다. 신호처리부(22)는 이러한 여러 기능을 통합시킨 SOC(System-On-Chip) 또는 각 프로세스를 독자적으로 수행할 수 있는 개별 구성들이 장착된 영상처리보드로 구현될 수 있다.
디스플레이부(23)는 신호처리부(22)에서 처리된 방송신호 또는 영상신호에 기초하여 영상을 표시한다. 디스플레이부(23)의 구현 방식은 한정되지 않는 바, 디스플레이부(23)는 PDP(Plasma Display Panel), LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes), 플렉시블 디스플레이(flexible display) 등 다양한 형태로 구현될 수 있다.
사용자입력부(24)는 디스플레이장치(20)의 적어도 하나의 기능을 제어하기 위한 사용자의 입력을 수신한다. 예로서, 사용자입력부(24)는 디스플레이장치(20)와 연결되는 키보드, 마우스 등으로 구현될 수 있고, 디스플레이장치(20)의 외측에 구비된 입력패널의 형태로도 구현될 수 있다. 다른 예로서, 사용자입력부(24)는 디스플레이장치(20)에 마련되는 터치스크린을 포함할 수 있다. 터치 스크린은 터치 입력 위치, 터치된 면적 및 터치 입력을 검출하도록 구성될 수 있다. 또한, 터치 스크린은 직접 터치(real-touch) 뿐만 아니라 근접 터치(proximity touch)도 검출될 수 있도록 구성될 수 있다. 여기서, 직접 터치라 함은, 화면에 실제로 사용자의 신체(예컨대, 손가락), 또는 터치 도구로서 마련되는 터치펜(예컨대, 포인팅 디바이스, 스타일러스(stylus), 햅틱 펜(haptic pen), 전자펜 등)이 터치된 경우를 말한다. 또한, 근접 터치라 함은, 사용자의 신체 또는 터치 도구가 화면에 실제로 터치는 되지 않고, 화면으로부터 소정 거리 떨어져 접근된 경우(예를 들어, 검출 가능한 거리가 30mm 이하인 경우)를 말한다.
통신부(26)는 외부장치(29)와 통신한다. 통신부(26)는 블루투스(Bluetooth), 와이파이(Wi-Fi), 지그비(Zigbee) 등의 근거리 통신방식을 이용하여 외부장치(29)와 연결되거나, TCP/IP를 이용하는 인터넷 네트워크를 통해 외부장치(29)와 연결될 수 있다. 일실시예로서, 통신부(26)는 외부장치(29)와 블루투스 방식으로 통신하는 경우, 페어링(pairing)을 수행하여 연결될 수 있다. 예로서, 통신부(26)는 외부장치(29)로부터 페어링을 수행하기 위한 요청을 수신하고, 수신된 요청을 인식하여 연결을 허가하도록 할 수 있다. 이 때, 통신부(26)는 외부장치(29)와의 연결을 허가하기 위해 사용자입력부(24)를 통해 사용자로부터 비밀번호 등의 입력을 수신할 수 있다.
메모리(27)는 보호영역을 가지며, 보호영역에 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 저장한다. 메모리(27)의 보호영역은 정적 메모리 보호영역 또는 동적 메모리 보호영역으로 설정될 수 있다.
적어도 하나의 프로세서(25)는 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행한다. 여기서, 적어도 하나의 제1프로그램은 CPU의 일반영역에서 제1운영체제에 의해 실행되고, 일반적인 프로그램으로 구현될 수 있다. 적어도 하나의 제2프로그램은 CPU의 보안영역에서 제1운영체제보다 높은 권한을 가지는 제2운영체제에 의해 실행되고, 보안이 요구되는 프로그램으로 구현될 수 있다.
메모리 감시부(28)는 메모리(27)의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 메모리(27)의 보호영역에 대한 액세스를 차단한다. 또한, 메모리 감시부(28)는 메모리(27)의 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 한다. 일실시예로서, 메모리 감시부(28)는 디스플레이장치(20) 내에서 별도의 하드웨어로 구현될 수 있다. 메모리 감시부(28)가 하드웨어로 구현되는 경우, 메모리(27) 상에 로드되는 데이터가 없으므로 소프트웨어로 구현되는 경우에 비해 성능 면에서 뛰어나다. 또한, 메모리 감시부(28)가 하드웨어로 구현되는 경우, 실시간으로 메모리(27)의 변조를 탐지하여 즉각적인 대처가 가능하다. 그러나, 메모리 감시부(28)가 구현되는 형태는 이에 한정되지 않고, CPU의 성능 및 처리 속도가 뛰어난 경우 제1운영체제 또는 제2운영체제에 의해 실행되는 소프트웨어로 구현될 수도 있다.
이와 같은 본 발명의 실시예에 따라, 디스플레이장치에 있어, 보안영역과 일반영역이 분리되어 있는 CPU 환경에서 메모리를 직접 감시할 수 있는 하드웨어 장치를 이용하여 디스플레이장치의 무결성을 보장할 수 있는 효과가 있다. 또한, 메모리의 보호영역에 대한 액세스 발생 시 이를 차단하고, 안전한 환경에서 검증을 수행하도록 할 수 있다.
도 3은 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하기 위한 구성을 도시한 예이다. 도 3에 도시된 바와 같이, 전자장치(30)는 일반영역(31) 및 보안영역(32)로 구분되어 각각의 영역에서 서로 다른 운영체제에 의해 적어도 하나의 프로그램을 실행하는 적어도 하나의 프로세서, 메모리(33) 및 메모리 감시부(34)를 포함한다. 적어도 하나의 프로세서는 일반영역(31)에서 제1운영체제(313)와 연관된 적어도 하나의 제1프로그램(311)을 실행하고, 보안영역(32)에서 제2운영체제(323)와 연관된 적어도 하나의 제2프로그램(321)을 실행한다. 제1운영체제(313)는 검증은 힘들지만 일반적으로 많이 사용하는 OS로 구현되고, 제2운영체제(323)는 충분히 검증되고 보안에 강한 OS로 구현될 수 있다.
적어도 하나의 제1프로그램(311)은 제1운영체제(313)의 지원에 의해 실행될 수 있는 일반적인 프로그램으로, 예컨대 암호화되지 않은 채널의 재생을 위한 프로그램, 일반 어플리케이션, 멀티미디어 데이터의 처리를 위한 프로그램 등으로 구현될 수 있다. 또한, 적어도 하나의 제2프로그램(321)은 제2운영체제(323)의 지원에 의해 실행될 수 있는 보안이 요구되는 프로그램으로, 예컨대 시스템 보안을 위한 프로그램, 중요한 개인정보 데이터의 처리를 위한 프로그램, 암호화된 데이터의 처리를 위한 프로그램 등을 포함할 수 있다.
클라이언트 API(Application Programming Interface)(312)는 일반영역(31)에서 적어도 하나의 제1프로그램(311)이 제1운영체제(313) 또는 시스템 프로그램과 통신할 때 사용하는 언어로, 제1프로그램(311)의 실행을 위한 함수를 호출함에 의해 구현될 수 있다. 마찬가지로, 보안 API(322)는 보안영역(32)에서 적어도 하나의 제2프로그램(321)이 제2운영체제(323) 또는 시스템 프로그램과 통신할 때 사용하는 언어로, 제2프로그램(321)의 실행을 위한 함수를 호출함에 의해 구현될 수 있다.
메모리(33)는 보호영역을 가지며, 보호영역에 제1운영체제(313) 및 제1운영체제(313)와 연관된 적어도 하나의 제1프로그램(311)의 데이터를 저장한다. 메모리(33)에 저장되는 제1프로그램(311)의 데이터는 적어도 하나의 제1프로그램(311)과 관련된 실행코드 및 데이터 값을 포함할 수 있다. 제1프로그램(311)은 보안 측면에서 낮은 권한을 가지는 제1운영체제의 커널(kernel) 환경에서 실행되므로, 악의적인 해킹에 노출될 가능성이 있다. 따라서, 외부로부터의 해킹 등의 공격 여부를 판단하기 위해, 메모리(33)의 보호영역에 저장되는 제1프로그램(311)의 데이터가 변경되는지 여부를 감시할 필요가 있다.
메모리 감시부(34)는 메모리(33)의 보호영역에 대한 액세스 발생 여부를 감지하고, 액세스 발생 시 메모리(33)의 보호영역에 대한 액세스를 차단한다. 또한, 메모리 감시부(34)는 메모리(33)의 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 한다. 일실시예로서, 메모리 감시부(34)는 전자장치(30) 내에서 별도의 하드웨어로 구현될 수 있다. 메모리 감시부(34)가 하드웨어로 구현되는 경우, 메모리(33) 상에 로드되는 데이터가 없으므로 소프트웨어로 구현되는 경우에 비해 성능 면에서 뛰어나다. 또한, 메모리 감시부(34)가 하드웨어로 구현되는 경우, 실시간으로 메모리(33)의 변조를 탐지하여 즉각적인 대처가 가능하다.
일실시예로서, 메모리 감시부(34)는 메모리(33)의 보호영역에 대한 액세스 발생시 액세스 발생에 관한 정보를 보안 프로그램(326)으로 전송할 수 있다. 여기서, 액세스 발생에 관한 정보는, 액세스가 발생한 메모리(33)의 보호영역에 대한 주소와 데이터 값을 포함할 수 있다. 즉, 메모리 감시부(34)는 메모리(33)의 보호영역에 저장된 데이터에 대해 읽기, 쓰기, 실행 등의 액세스가 감지되면, 액세스가 감지된 주소 및 데이터 값 등의 정보를 제2운영체제(323)에 의해 실행되는 보안 프로그램(326)으로 전송하여 안전한 환경에서 보안 검증을 수행하도록 할 수 있다.
일실시예로서, 메모리 감시부(34)는 액세스 발생에 관한 정보를 레지스터에 저장하고, 보안 프로그램(326)으로 전송하기 위해 인터럽트 요청을 발생시킬 수 있다. 예를 들어, 메모리 감시부(34)는 메모리(33)의 보호영역에 저장된 데이터에 대해 읽기, 쓰기, 실행 등의 액세스가 감지되면, 액세스가 감지된 주소를 레지스터에 저장하고, FIQ를 발생시켜 보안 프로그램(326)으로 전달할 수 있다. 이 때, 보안 프로그램(326)은 메모리 감시부(34)로부터 전달된 FIQ에 기초하여 레지스터에 저장된 주소를 읽고, 미리 설정된 검증을 위한 정보를 통해 공격 여부에 대한 검증을 수행할 수 있다.
보안 프로그램(326)은 보안영역(32)에서 제2운영체제(323)의 지원에 의해 실행되고, 메모리(33)의 보호영역을 감시하도록 메모리 감시부(34)와 정보를 주고 받고, 보안 검증을 수행하는 역할을 한다. 보안 프로그램(326)은, 메모리 감시부(34)와 메모리(33)의 보호영역에 관한 정보를 주고 받는 매니저 프로그램(324)과, 메모리 감시부(34)으로부터 전송되는 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램(325)을 포함할 수 있다.
일실시예로서, 매니저 프로그램(324)은, 검증 프로그램(325)의 요청에 따라 메모리(33)의 보호영역을 설정할 수 있다. 즉, 매니저 프로그램(324)은 메모리 감시부(34)가 감시해야 하는 메모리(33)의 보호영역을 설정하고, 설정한 메모리(33)의 보호영역에 대한 정보를 메모리 감시부(34)로 전송할 수 있다. 또한, 매니저 프로그램(324)은, 메모리(33)의 보호영역에 대한 액세스 발생에 관한 정보를 메모리 감시부(34)로부터 수신하고, 수신한 정보를 검증 프로그램(325)으로 전송하여 보안 검증을 수행하도록 할 수 있다.
일실시예로서, 매니저 프로그램(324)은 검증 프로그램(325)의 요청에 따라 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 설정할 수 있다. 예로서, 정적 메모리 보호영역이 설정된 경우, 메모리 감시부(34)는 메모리(33)의 보호영역에 대해 변조가 발생했는지를 감지하여 해킹 등에 의한 공격 여부를 검증하도록 할 수 있다. 다른 예로서, 동적 메모리 보호영역이 설정된 경우, 메모리 감시부(34)는 메모리(33)의 보호영역에 대해 비정상적인 변조가 발생했는지를 감지하여 해킹 등에 의한 공격 여부를 검증하도록 할 수 있다.
일실시예로서, 검증 프로그램(325)은 전자장치(30)의 부팅 시 암호화된 상태로 전달되는 메모리(33)의 보호영역의 설정 및 검증을 위한 정보에 기초하여, 매니저 프로그램(324)으로 메모리(33)의 보호영역의 설정을 요청할 수 있다. 또한, 검증 프로그램(325)은 매니저 프로그램(324)으로부터 전송되는 메모리(33)의 보호영역에 대한 액세스 발생에 관한 정보에 기초하여, 해킹 등에 의한 공격 여부를 검증할 수 있다. 또한, 검증 프로그램(325)은 검증된 결과에 대해 리포트를 생성하여 기록할 수 있다. 이와 같은 본 발명의 실시예에 의해, 보다 안전한 CPU 환경에서 보안 검증을 위한 프로그램을 구현함에 의해 검증 환경에 대한 무결성을 보장할 수 있다.
도 4는 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하기 위한 구성을 도시한 예이다. 도 4에 도시된 바와 같이, 전자장치(40)는 일반영역(41) 및 보안영역(42)로 구분되어 각각의 영역에서 서로 다른 운영체제에 의해 적어도 하나의 프로그램을 실행하는 적어도 하나의 프로세서, 메모리(43) 및 메모리 감시부(44)를 포함한다. 전자장치(40)의 구성 중 적어도 하나의 프로세서, 메모리(43) 및 메모리 감시부(44)는 도 3의 전자장치(30)의 구성 중 적어도 하나의 프로세서, 메모리(33) 및 메모리 감시부(34) 각각에 대응하므로, 구체적인 설명은 생략하고, 차이가 있는 구성을 중심으로 설명하기로 한다.
적어도 하나의 프로세서는 일반영역(41)에서 제1운영체제(413)와 연관된 적어도 하나의 제1프로그램(411)을 실행하고, 보안영역(42)에서 제2운영체제(423)와 연관된 적어도 하나의 제2프로그램(421)을 실행한다. 클라이언트 API(412)는 일반영역(41)에서 적어도 하나의 제1프로그램(411)이 제1운영체제(413) 또는 시스템 프로그램과 통신하기 위한 인터페이스로 구현되고, 보안 API(422)는 보안영역(42)에서 적어도 하나의 제2프로그램(421)이 제2운영체제(423) 또는 시스템 프로그램과 통신하기 위한 인터페이스로 구현될 수 있다.
메모리(43)는 보호영역을 가지며, 보호영역에 제1운영체제(413) 및 제1운영체제(413)와 연관된 적어도 하나의 제1프로그램(411)의 데이터를 저장한다.
일실시예로서, 적어도 하나의 프로세서는 일반영역(41)에서 제1운영체제(413)의 지원에 의해 동작감시 프로그램(414)을 실행할 수 있다. 동작감시 프로그램(414)는 적어도 하나의 제1프로그램(411)에 관한 적어도 하나의 동작을 설정하고, 설정된 동작의 변조 여부를 판단할 수 있다. 즉, 제1프로그램(411)이 수행하는 일련의 동작들 중 특정 동작들이 변조되었는지를 판단하기 위해, 감시하고자 하는 적어도 하나의 동작을 설정하고, 설정된 동작을 점검하여 변조 유무를 판단할 수 있다. 예를 들면, 리눅스(Linux)가 제공하는 패킷 필터링 도구인 넷필터(netfilter)의 경우, 네트워크 패킷(packet)이 들어오면 이를 가공하고, 전송 및 조작을 하도록 할 수 있다. 그러나, 임의의 해커가 넷필터에 악의적인 필터(filter)를 추가하는 경우, 네트워크 패킷을 가로채는 등의 공격이 가능할 수 있다. 따라서, 이러한 공격을 막기 위해, 넷필터가 수행하는 일련의 동작들 중 주요한 동작들을 중간에 가로채서 점검함에 의해 임의로 변조되었는지를 확인할 수 있다.
일실시예로서, 동작감시 프로그램(414)은 제1프로그램(411)에 대한 복수의 동작들 중 적어도 하나의 주요 동작을 설정하고, 설정된 주요 동작이 비정상적으로 실행되는 경우, 이에 대한 주소와 데이터 값을 메모리(43)의 특정 영역에 기록하도록 할 수 있다.
이와 같은 동작감시 프로그램(414)의 실행 결과에 의해, 메모리 감시부(44)가 메모리(43)의 특정 영역에 대한 액세스를 감지하면, 메모리(43)의 특정 영역에 대한 액세스를 차단한다. 또한, 메모리 감시부(44)는 액세스가 감지된 주소 및 데이터 값을 레지스터에 저장하고, FIQ를 발생시켜 매니저 프로그램(424)으로 전달할 수 있다. 이 때, 매니저 프로그램(424)은, 메모리 감시부(44)로부터 전달된 FIQ에 기초하여 레지스터에 저장된 주소를 읽어 검증 프로그램(425)으로 전달할 수 있다. 검증 프로그램(425)은 매니저 프로그램(424)으로부터 전달된 주소에 대한 메모리(43)의 영역을 확인하여 해킹 등에 의한 공격 여부를 검증할 수 있다. 또한, 검증 프로그램(425)은 검증된 결과에 대해 리포트를 생성하여 기록할 수 있다.
도 5는 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하는 프로세스를 도시한 예이다. 도 5에 도시된 바와 같이, (1)에서, 보안 프로그램(52)은 메모리 감시부(51)가 감시하도록 하기 위한 메모리(50)의 보호영역을 설정한다. 이 때 메모리(50)의 보호영역은 정적 메모리 보호영역 또는 동적 메모리 보호영역을 포함할 수 있다. 정적 메모리 보호영역은 제1운영체제에서 실행되는 제1프로그램의 실행 코드가 장치의 부팅시에 컴파일(compile)되어 저장되는 영역으로, 변경이 발생하는지에 대한 모니터링이 요구된다. 동적 메모리 보호영역은 변경이 발생할 수 있는 제1프로그램의 데이터를 저장하는 영역으로, 비정상적인 변경인지에 대한 모니터링이 필요하다. 일실시예로서, 보안 프로그램(52)은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리(50)의 보호영역의 설정 및 검증을 위한 정보에 기초하여, 메모리(50)의 보호영역을 설정할 수 있다.
(2)에서, 메모리 감시부(51)는 메모리(50)의 보호영역에 대한 액세스 발생 여부를 감지한다. 일실시예로서, 정적 메모리 보호영역이 설정된 경우, 액세스의 발생은 메모리(50)의 보호영역에 저장된 데이터에 대한 읽기, 쓰기, 실행 등의 발생 여부에 의해 감지될 수 있다. 다른 실시예로서, 동적 메모리 보호영역이 설정된 경우, 액세스의 발생은 메모리(50)의 보호영역에 저장된 데이터에 대한 비정상적인 쓰기 등의 발생 여부에 의해 감지될 수 있다.
다음으로, (3)에서 메모리 감시부(51)는 메모리(50)의 보호영역에 대한 액세스 발생시 액세스를 차단한다. 즉, 본 발명에 의한 메모리 감시부(51)는 별도의 하드웨어로 구현되므로, 실시간으로 메모리(50)의 보호영역에 대한 액세스 발생을 감지하여 즉각 차단하도록 할 수 있다. 또한, 페이지 테이블을 사용하지 않는 직접적인 메모리(50)에 대한 공격에 대해서도 탐지하여 대처할 수 있다.
(4)에서, 메모리 감시부(51)는 액세스가 차단된 주소를 레지스터에 저장하고, (5)에서 보안 프로그램(52)으로 전달하기 위해 인터럽트 요청을 발생시킬 수 있다.
다음으로 (6)에서, 보안 프로그램(52)은 메모리 감시부(51)로부터 전달된 인터럽트 요청에 기초하여 레지스터에 저장된 주소에 대한 메모리(50) 상의 영역을 확인하고, 보안 검증을 수행한다. 이 때, 보안 검증은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리(50)의 보호영역의 설정 및 검증을 위한 정보에 기초하여 수행될 수 있다. 마지막으로, (7)에서, 보안 프로그램(52)은 (6)에서 수행된 보안 검증의 결과에 관한 리포트를 생성하여 기록할 수 있다.
이와 같은 본 발명의 실시예에 따라, 일반영역 및 보안영역으로 구분되는 CPU 환경에서 안전한 보안영역에 보안 검증을 위한 프로그램을 구현함에 의해 검증 환경에 대한 무결성 보장이 가능하다. 또한, 메모리 감시를 위한 별도의 하드웨어 장치를 구현함에 의해, 정적 메모리 보호영역 및 동적 메모리 보호영역의 변조에 대한 즉각적인 탐지가 가능하다.
또한, 메모리의 보호영역의 변조 시 일반영역에서 보안영역으로의 단방향적인 정보의 전송이 이루어지므로, 양방향으로 정보를 전송하는 경우에 발생할 수 있는 중간자 공격 위험성을 줄일 수 있는 효과가 있다.
또한, 메모리의 감시를 위한 별도의 하드웨어를 구현함에 의해, 메모리의 보호영역의 변조 시 운영체제의 수정 없이 즉각적인 대처가 가능하고, 전자장치의 크기가 작은 경우에도 적용할 수 있는 장점이 있다.
도 6은 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하는 프로세스를 도시한 예이다. 도 6에 도시된 바와 같이, (1)에서, 검증 프로그램(63)은 매니저 프로그램(62)으로 메모리(60)의 보호영역의 설정을 요청한다. 이 때 메모리(60)의 보호영역은 정적 메모리 보호영역 또는 동적 메모리 보호영역을 포함할 수 있다. 검증 프로그램(63)은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리(60)의 보호영역의 설정 및 검증을 위한 정보에 기초하여, 메모리(60)의 보호영역의 설정을 요청할 수 있다.
(2)에서, 매니저 프로그램(62)은 검증 프로그램(63)의 요청에 따라, 메모리 감시부(61)가 감시하도록 하기 위한 메모리(60)의 보호영역을 설정한다.
다음으로, (3)에서, 메모리 감시부(61)는 메모리(60)의 보호영역에 대한 액세스 발생 여부를 감지한다. 예로서, 액세스의 발생은 메모리(60)의 보호영역에 저장된 데이터에 대한 읽기, 쓰기, 실행 등의 발생 여부에 의해 감지될 수 있다.
(4)에서 메모리 감시부(61)는 메모리(60)의 보호영역에 대한 액세스 발생시 액세스를 차단한다. 즉, 본 발명에 의한 메모리 감시부(61)는 별도의 하드웨어로 구현되므로, 실시간으로 메모리(50)의 보호영역에 대한 액세스 발생을 감지하여 즉각 차단하도록 할 수 있다.
(5)에서, 메모리 감시부(61)는 액세스가 차단된 주소를 레지스터에 저장하고, (6)에서 매니저 프로그램(62)으로 전달하기 위해 인터럽트 요청을 발생시킬 수 있다.
다음으로 (7)에서, 매니저 프로그램(62)은 메모리 감시부(61)로부터 전달된 인터럽트 요청에 기초하여 레지스터에 저장된 주소를 읽어 검증 프로그램(63)에 전달한다.
(8)에서, 검증 프로그램(63)은 매니저 프로그램(62)으로부터 전달된 주소에 대한 메모리(60) 상의 영역을 확인하여 보안 검증을 수행한다. 이 때, 보안 검증은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리(60)의 보호영역의 설정 및 검증을 위한 정보에 기초하여 수행될 수 있다. 마지막으로, (9)에서, 검증 프로그램(63)은 (8)에서 수행된 보안 검증의 결과에 관한 리포트를 생성하여 기록할 수 있다.
도 7은 본 발명의 일실시예에 따른 메모리 감시 및 보안 검증을 수행하는 프로세스를 도시한 예이다. 도 7에 도시된 바와 같이, (1)에서, 검증 프로그램(73)은 매니저 프로그램(72)으로 메모리(70)의 보호영역의 설정을 요청한다. 이 때 메모리(70)의 보호영역은 정적 메모리 보호영역 또는 동적 메모리 보호영역을 포함할 수 있다. 검증 프로그램(73)은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리(70)의 보호영역의 설정 및 검증을 위한 정보에 기초하여, 메모리(70)의 보호영역의 설정을 요청할 수 있다.
(2)에서, 매니저 프로그램(72)은 검증 프로그램(73)의 요청에 따라, 메모리 감시부(71)가 감시하도록 하기 위한 메모리(70)의 보호영역을 설정한다. 이 때, 매니저 프로그램(72)은 설정한 메모리(70)의 보호영역에 대한 정보를 메모리 감시부(71)로 전송한다.
다음으로, (3)에서, 메모리 감시부(71)는 설정된 메모리(70)의 보호영역에 대한 액세스 발생 여부를 감지한다. 예로서, 액세스의 발생은 메모리(70)의 보호영역에 저장된 데이터에 대한 읽기, 쓰기, 실행 등의 발생 여부에 의해 감지될 수 있다.
(3-1)에서, 동작감시 프로그램(74)은 제1프로그램에 관한 적어도 하나의 동작을 설정하고, (3-2)에서, 설정된 동작의 변조 시, 변조된 동작에 대한 데이터를 특정 메모리 영역에 기록한다.
다음으로, (4)에서, 동작감시 프로그램(74)의 실행 결과에 의해, 메모리 감시부(71)가 메모리(70)의 특정 영역에 대한 액세스를 감지하면, 메모리(70)의 특정 영역에 대한 액세스를 차단한다.
(5)에서, 메모리 감시부(71)는 액세스가 차단된 주소를 레지스터에 저장하고, (6)에서 매니저 프로그램(72)으로 전달하기 위해 인터럽트 요청을 발생시킬 수 있다.
다음으로 (7)에서, 매니저 프로그램(72)은 메모리 감시부(71)로부터 전달된 인터럽트 요청에 기초하여 레지스터에 저장된 주소를 읽어 검증 프로그램(73)에 전달한다.
(8)에서, 검증 프로그램(73)은 매니저 프로그램(72)으로부터 전달된 주소에 대한 메모리(70) 상의 영역을 확인하여 보안 검증을 수행한다. 이 때, 보안 검증은 전자장치의 부팅 시 암호화된 상태로 전달되는 메모리(70)의 보호영역의 설정 및 검증을 위한 정보에 기초하여 수행될 수 있다. 마지막으로, (9)에서, 검증 프로그램(73)은 (8)에서 수행된 보안 검증의 결과에 관한 리포트를 생성하여 기록할 수 있다.
이와 같은 본 발명의 실시예에 따라, CPU의 일반영역에서 실행되는 제1프로그램에 대한 복수의 동작들 중 특정 동작에 대한 변조 여부를 감지하여 제3의 프로그램에 의한 공격 유무를 판단할 수 있다.
도 8은 본 발명의 일실시예에 따른 전자장치의 제어방법을 도시한 흐름도이다. 도 8에 도시된 바와 같이, 먼저 동작 S80에서, 제1운영체제 및 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 메모리의 보호영역에 저장한다. 제1운영체제는 CPU의 일반영역에서 구동되는 OS로, 검증은 어려우나 일반적으로 많이 사용하는 OS에 해당한다. 제1운영체제는 예컨대 리눅스로 구현될 수 있다. 제1프로그램은 제1운영체제의 지원에 의해 실행될 수 있는 일반적인 프로그램으로, 예컨대 암호화되지 않은 채널의 재생을 위한 프로그램, 일반 어플리케이션, 멀티미디어 데이터의 처리를 위한 프로그램 등으로 구현될 수 있다.
동작 S80에서, 메모리의 보호영역에 저장되는 제1프로그램과 관련된 실행코드 및 데이터는 악의적인 해킹에 의해 노출될 위험성이 있으므로, 이를 감시할 필요가 있다.
다음으로, 동작 S81에서, 적어도 하나의 프로세서의 의해, 적어도 하나의 제1프로그램과, 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행한다. 제2운영체제는 CPU의 보안영역에서 구동되는 OS로, 충분히 검증되고 보안에 강한OS로 구현될 수 있다. 적어도 하나의 제2프로그램은 제2운영체제의 지원에 의해 실행될 수 있는 보안이 요구되는 프로그램으로, 예컨대 시스템 보안을 위한 프로그램, 중요한 개인정보 데이터의 처리를 위한 프로그램, 암호화된 데이터의 처리를 위한 프로그램 등을 포함할 수 있다. 이와 같이, 일반 프로그램 및 보안이 요구되는 프로그램을 서로 다른 권한을 가지는 각각의 OS 환경에서 실행되도록 함에 의해 안전한 보안 환경을 구현할 수 있다.
다음으로, 동작 S82에서, 메모리 감시부에 의해, 메모리의 보호영역에 대한 액세스 발생 여부를 감지하고, 동작 S83에서, 메모리의 보호영역에 대한 액세스 발생 시 액세스를 차단한다. 이 때, 액세스의 발생은 메모리의 보호영역에 저장된 데이터에 대한 읽기, 쓰기, 실행 등의 발생 여부에 의해 감지될 수 있다. 또한, 메모리 감시부는 별도의 하드웨어로 구현되어 메모리를 감시하므로, 메모리의 보호영역에 대한 액세스 발생시 실시간으로 액세스를 차단하도록 할 수 있다.
일실시예로서, 적어도 하나의 프로세서는, 메모리의 보호영역을 감시하기 위한 보안 프로그램을 실행할 수 있다. 동작 S82는, 메모리 감시부에 의해, 메모리의 보호영역에 대한 액세스 발생시, 액세스 발생에 관한 정보를 보안 프로그램으로 전송하는 동작을 포함할 수 있다. 이 때, 액세스 발생에 관한 정보는, 액세스가 발생한 메모리의 보호영역에 대한 주소와 데이터 값을 포함할 수 있다. 또한, 동작 S82는, 메모리 감시부에 의해, 액세스 발생에 관한 정보를 레지스터에 저장하고, 보안 프로그램으로 전송하기 위해 인터럽트 요청을 발생시키는 동작을 포함할 수 있다. 마지막으로, 동작 S84에서, 메모리의 보호영역에 저장된 데이터에 대한 보안 검증을 수행한다.
일실시예로서, 보안 프로그램은, 메모리 감시부와 메모리의 보호영역에 관한 정보를 주고 받는 매니저 프로그램과, 메모리 감시부로부터 전송되는 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램을 포함하여 구현될 수 있다. 또한, 보안 프로그램은 제2운영체제의 지원에 의해 실행될 수 있고, 이에 따라 보다 안전한 환경에서 보안 검증을 수행할 수 있다.
일실시예로서, 매니저 프로그램에 의해, 검증 프로그램의 요청에 따라 메모리의 보호영역을 설정하는 동작을 포함할 수 있다. 이 때, 메모리의 보호영역은 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 포함할 수 있다. 메모리의 보호영역의 설정은, 전자장치의 부팅 시 암호화된 상태로 보안영역으로 전달되는 메모리의 보호영역의 설정 및 검증을 위한 정보에 기초하여, 검증 프로그램에 의해 요청될 수 있다.
일실시예로서, 적어도 하나의 프로세서에 의해, 적어도 하나의 제1프로그램에 관한 적어도 하나의 동작을 설정하고, 설정된 동작의 변조 여부를 판단하는 동작감시 프로그램을 실행하는 동작을 포함할 수 있다. 동작감시 프로그램은 설정된 동작의 변조 시, 변조된 동작에 대한 데이터를 특정 메모리 영역에 기록할 수 있다. 이와 같은 동작감시 프로그램의 실행 결과에 의해, 메모리 감시부가 메모리의 특정 영역에 대한 액세스를 감지하면, 메모리의 특정 영역에 대한 액세스를 차단할 수 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 특허청구범위 내에서 다양하게 실시될 수 있다.
10: 전자장치
11: 메모리
12: 프로세서
13: 메모리 감시부
20: 디스플레이장치
21: 신호수신부
22: 신호처리부
23: 디스플레이부
24: 사용자입력부
25: 프로세서
26: 통신부
27: 메모리
28: 메모리 감시부
29: 외부장치

Claims (20)

  1. 전자장치에 있어,
    보호영역을 가지며, 상기 보호영역에 제1운영체제 및 상기 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 저장하는 메모리와;
    상기 적어도 하나의 제1프로그램과, 상기 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행하는 적어도 하나의 프로세서와;
    상기 메모리의 보호영역에 대한 액세스 발생 여부를 감지하고, 상기 액세스 발생 시 상기 액세스를 차단하고, 상기 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 하는 메모리 감시부를 포함하는 전자장치.
  2. 제 1항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 메모리의 보호영역을 감시하기 위한 보안 프로그램을 실행하는 전자장치.
  3. 제 2항에 있어서,
    상기 메모리 감시부는, 상기 메모리의 보호영역에 대한 액세스 발생시 상기 액세스 발생에 관한 정보를 상기 보안 프로그램으로 전송하는 전자장치.
  4. 제 3항에 있어서,
    상기 액세스 발생에 관한 정보는, 상기 액세스가 발생한 상기 메모리의 보호영역에 대한 주소와 데이터 값을 포함하는 전자장치.
  5. 제 3항에 있어서,
    상기 메모리 감시부는, 상기 액세스 발생에 관한 정보를 레지스터에 저장하고, 상기 보안 프로그램으로 전송하기 위해 인터럽트 요청을 발생시키는 전자장치.
  6. 제 3항에 있어서,
    상기 보안 프로그램은,
    상기 메모리 감시부와 상기 메모리의 보호영역에 관한 정보를 주고 받는 매니저 프로그램과;
    상기 메모리 감시부로부터 전송되는 상기 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램을 포함하는 전자장치.
  7. 제 2항에 있어서,
    상기 보안 프로그램은, 상기 제2운영체제의 지원에 의해 실행되는 전자장치.
  8. 제 6항에 있어서,
    상기 매니저 프로그램은, 상기 검증 프로그램의 요청에 따라 상기 메모리의 보호영역을 설정하는 전자장치.
  9. 제 8항에 있어서,
    상기 매니저 프로그램은, 상기 검증 프로그램의 요청에 따라 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 설정하는 전자장치.
  10. 제 1항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 적어도 하나의 제1프로그램에 관한 적어도 하나의 동작을 설정하고, 상기 설정된 동작의 변조 여부를 판단하는 동작감시 프로그램을 실행하는 전자장치.
  11. 전자장치의 제어방법에 있어,
    제1운영체제 및 상기 제1운영체제와 연관된 적어도 하나의 제1프로그램의 데이터를 메모리의 보호영역에 저장하는 단계와;
    적어도 하나의 프로세서에 의해, 상기 적어도 하나의 제1프로그램과, 상기 제1운영체제보다 높은 권한의 제2운영체제와 연관된 적어도 하나의 제2프로그램을 실행하는 단계와;
    메모리 감시부에 의해, 상기 메모리의 보호영역에 대한 액세스 발생 여부를 감지하는 단계와;
    상기 메모리 감시부에 의해, 상기 액세스 발생 시 상기 액세스를 차단하는 단계와;
    상기 메모리 감시부에 의해, 상기 보호영역에 저장된 데이터에 대한 보안 검증을 수행하도록 하는 단계를 포함하는 전자장치의 제어방법.
  12. 제 11항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 메모리의 보호영역을 감시하기 위한 보안 프로그램을 실행하는 전자장치의 제어방법.
  13. 제 12항에 있어서,
    상기 메모리 감시부에 의해, 상기 메모리의 보호영역에 대한 액세스 발생시 상기 액세스 발생에 관한 정보를 상기 보안 프로그램으로 전송하는 단계를 포함하는 전자장치의 제어방법.
  14. 제 13항에 있어서,
    상기 액세스 발생에 관한 정보는, 상기 액세스가 발생한 상기 메모리의 보호영역에 대한 주소와 데이터 값을 포함하는 전자장치의 제어방법.
  15. 제 13항에 있어서,
    상기 메모리 감시부에 의해, 상기 액세스 발생에 관한 정보를 레지스터에 저장하고, 상기 보안 프로그램으로 전송하기 위해 인터럽트 요청을 발생시키는 단계를 포함하는 전자장치의 제어방법.
  16. 제 13항에 있어서,
    상기 보안 프로그램은,
    상기 메모리 감시부와 상기 메모리의 보호영역에 관한 정보를 주고 받는 매니저 프로그램과;
    상기 메모리 감시부로부터 전송되는 상기 액세스 발생에 관한 정보에 기초하여 보안 검증을 수행하는 검증 프로그램을 포함하는 전자장치의 제어방법.
  17. 제 12항에 있어서,
    상기 보안 프로그램은, 상기 제2운영체제의 지원에 의해 실행되는 전자장치의 제어방법.
  18. 제 16항에 있어서,
    상기 매니저 프로그램에 의해, 상기 검증 프로그램의 요청에 따라 상기 메모리의 보호영역을 설정하는 단계를 포함하는 전자장치의 제어방법.
  19. 제 18항에 있어서,
    상기 매니저 프로그램에 의해, 상기 검증 프로그램의 요청에 따라 정적 메모리 보호영역 및 동적 메모리 보호영역 중 적어도 하나를 설정하는 단계를 포함하는 전자장치의 제어방법.
  20. 제 11항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 적어도 하나의 제1프로그램에 관한 적어도 하나의 동작을 설정하고, 상기 설정된 동작의 변조 여부를 판단하는 동작감시 프로그램을 실행하는 단계를 포함하는 전자장치의 제어방법.

KR1020160028467A 2016-03-09 2016-03-09 전자장치 및 그 제어방법 KR20170105353A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160028467A KR20170105353A (ko) 2016-03-09 2016-03-09 전자장치 및 그 제어방법
US15/440,283 US20170262383A1 (en) 2016-03-09 2017-02-23 Electronic apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160028467A KR20170105353A (ko) 2016-03-09 2016-03-09 전자장치 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20170105353A true KR20170105353A (ko) 2017-09-19

Family

ID=59786744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160028467A KR20170105353A (ko) 2016-03-09 2016-03-09 전자장치 및 그 제어방법

Country Status (2)

Country Link
US (1) US20170262383A1 (ko)
KR (1) KR20170105353A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190052510A (ko) * 2017-11-08 2019-05-16 삼성전자주식회사 전자 장치 및 그 제어 방법

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US20190004878A1 (en) * 2017-07-01 2019-01-03 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10936211B2 (en) * 2017-09-07 2021-03-02 Arm Ip Ltd Optimized storage protection
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
KR20210132253A (ko) 2020-04-24 2021-11-04 삼성전자주식회사 메모리 장치
CN114519186A (zh) * 2020-11-20 2022-05-20 华为技术有限公司 一种数据保护的方法、装置、存储介质和计算机设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003278350A1 (en) * 2002-11-18 2004-06-15 Arm Limited Secure memory for protecting against malicious programs
JP4220476B2 (ja) * 2002-11-18 2009-02-04 エイアールエム リミテッド 安全ドメインおよび非安全ドメインを有するシステム内での仮想−物理メモリアドレスマッピング
DE60304602T2 (de) * 2002-11-18 2006-12-28 Arm Ltd., Cherry Hinton Ausnahmearten innerhalb eines sicheren verarbeitungssystems
US8286164B2 (en) * 2009-08-07 2012-10-09 International Business Machines Corporation Secure recursive virtualization
US20150052616A1 (en) * 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
JP6117068B2 (ja) * 2013-09-20 2017-04-19 株式会社東芝 情報処理装置、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190052510A (ko) * 2017-11-08 2019-05-16 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2019093762A1 (ko) * 2017-11-08 2019-05-16 삼성전자주식회사 전자 장치 및 그 제어 방법
US11669614B2 (en) 2017-11-08 2023-06-06 Samsung Electronics Co., Ltd. Electronic device and control method therefor

Also Published As

Publication number Publication date
US20170262383A1 (en) 2017-09-14

Similar Documents

Publication Publication Date Title
KR20170105353A (ko) 전자장치 및 그 제어방법
CN110651269B (zh) 隔离的容器事件监视
US9858411B2 (en) Execution profiling mechanism
US8850517B2 (en) Runtime risk detection based on user, application, and system action sequence correlation
US8997230B1 (en) Hierarchical data security measures for a mobile device
KR101006721B1 (ko) 키보드 입력정보 보안장치 및 그 방법
US20150365427A1 (en) Techniques for integrated endpoint and network detection and eradication of attacks
US10068068B2 (en) Trusted timer service
KR101837678B1 (ko) 신뢰실행환경 기반의 컴퓨팅 장치
US20120265980A1 (en) Apparatus and method for securing user input data
JP2023078262A (ja) 改良されたデータ制御及びアクセスの方法及びシステム
KR102100456B1 (ko) 전자장치에서 디지털 저작권 관리 서비스를 제공하기 위한 장치 및 방법
KR20060093932A (ko) 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법
US20170372311A1 (en) Secure payment-protecting method and related electronic device
KR20140111943A (ko) 보안 환경 장치 및 구현 방법
US20160335439A1 (en) Method and apparatus for detecting unsteady flow in program
CN114826785B (zh) 一种动态防护方法、系统级芯片、电子设备及介质
KR101784312B1 (ko) 인증되지 않는 액세스를 방지하기 위해 클라우드 데이터에 보안을 제공하는 전자 장치 및 이의 보안 제공 방법
KR20150098123A (ko) 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체
US11328055B2 (en) Process verification
US20140181527A1 (en) Unsecure network socket communication
US20180225468A1 (en) System and method for selecting a data entry mechanism during application creation
CN111095251A (zh) 电子设备及其控制方法
US20130074190A1 (en) Apparatus and method for providing security functions in computing system
KR101594317B1 (ko) 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법과 이를 저장하는 기록 매체