KR20170056369A - 전자 장치를 보호하기 위한 장치 및 방법 - Google Patents

전자 장치를 보호하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20170056369A
KR20170056369A KR1020150159962A KR20150159962A KR20170056369A KR 20170056369 A KR20170056369 A KR 20170056369A KR 1020150159962 A KR1020150159962 A KR 1020150159962A KR 20150159962 A KR20150159962 A KR 20150159962A KR 20170056369 A KR20170056369 A KR 20170056369A
Authority
KR
South Korea
Prior art keywords
signal
data
address
hacking
storage device
Prior art date
Application number
KR1020150159962A
Other languages
English (en)
Other versions
KR102411770B1 (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 KR1020150159962A priority Critical patent/KR102411770B1/ko
Priority to US15/775,519 priority patent/US11126712B2/en
Priority to CN201680066265.9A priority patent/CN108292353B/zh
Priority to PCT/KR2016/012383 priority patent/WO2017082567A1/ko
Priority to EP16864493.8A priority patent/EP3376427B1/en
Publication of KR20170056369A publication Critical patent/KR20170056369A/ko
Application granted granted Critical
Publication of KR102411770B1 publication Critical patent/KR102411770B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

다양한 실시 예들에 따른 장치(apparatus)의 동작 방법은, 제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된(designated) 주소를 포함하는지 여부를 검출하는 동작과, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하는 동작을 포함할 수 있고, 상기 제1 신호는, 상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호일 수 있고, 상기 제2 신호는, 상기 제1 신호로부터 생성된 신호에 이상(uncommon) 데이터가 포함되었는지 여부를 검출하기 위한 신호일 수 있다.

Description

전자 장치를 보호하기 위한 장치 및 방법{APPARATUS AND METHOD FOR PROTECTING ELECTRONIC DEVICE}
아래의 실시 예들은 전자 장치의 보호에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 단말기, 스마트 폰(smart phone), 테블릿(tablet) PC(Personal Computer), PDA(Personal Digital Assistant), 전자수첩, 노트북(notebook) 또는 웨어러블 디바이스(wearable device) 등과 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 상기 전자 장치는, 다른 장치들의 기능까지 아우르는 모바일 컨버전스(mobile convergence) 단계에 이르고 있다. 예를 들어, 전자 장치는 음성통화 및 영상통화 등과 같은 통화 기능, SMS(Short Message Service)/MMS(Multimedia Message Service) 및 전자 메일(e-mail) 등과 같은 메시지 송수신 기능, 전자수첩 기능, 촬영 기능, 방송 재생 기능, 동영상 재생 기능, 음악 재생 기능, 인터넷 기능, 메신저 기능, 게임 기능, 또는 소셜 네트워크 서비스(SNS, Social Networking Service) 기능 등을 제공할 수 있다.
아래의 실시 예들은, 전자 장치를 대상으로 발생되는 공격으로부터 상기 전자 장치를 보호하는 장치 및 방법을 제공하기 위한 것이다.
다양한 실시 예들에 따른 장치(apparatus)는, 송수신부와, 상기 송수신부와 동작적으로 결합된 제어부를 포함할 수 있고, 상기 제어부는, 제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된 주소를 포함하는지 여부를 검출하도록 구성되고, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하도록 구성되며, 상기 제1 신호는, 상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호일 수 있고, 상기 제2 신호는, 상기 제1 신호로부터 생성된 신호에 이상 데이터가 포함되었는지 여부를 검출하기 위한 신호일 수 있다.
다양한 실시 예들에 따른 장치의 동작 방법은, 제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된 주소를 포함하는지 여부를 검출하는 동작과, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하는 동작을 포함할 수 있고, 상기 제1 신호는, 상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호일 수 있고, 상기 제2 신호는, 상기 제1 신호로부터 생성된 신호에 이상 데이터가 포함되었는지 여부를 검출하기 위한 신호일 수 있다.
다양한 실시 예들에 따른 장치(apparatus) 및 그의 동작 방법은, 다양한 공격으로부터 전자 장치를 보호할 수 있다.
본 개시에 대한 보다 완전한 이해를 위해 첨부된 도면을 참조하여 아래의 상세한 설명이 이뤄진다. 도면에서 동일한 참조번호는 동일한 구성 요소를 나타낸다.
도 1은 전자 장치의 동작 환경을 도시한다.
도 2는 다양한 기능을 수행하는 전자 장치의 기능적 블록 구성을 도시한다.
도 3은 소프트웨어를 이용한 보안 기술의 구조를 도시한다.
도 4는 하드웨어를 이용한 보안 기술의 구조를 도시한다.
도 5는 다양한 실시 예들에 따른 전자 장치의 기능적 블록 구성을 도시한다.
도 6은 다양한 실시 예들에 따른 보안 장치의 기능적 블록 구성을 도시한다.
도 7은 다양한 실시 예들에 따른 전자 장치의 하드웨어 구성을 도시한다.
도 8은 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 전자 장치의 하드웨어 구성을 도시한다.
도 9는 다양한 실시 예들에 따른 신호에 따른 동작 패턴을 통해 해킹을 감지하는 전자 장치의 하드웨어 구성을 도시한다.
도 10은 다양한 실시 예들에 따른 데이터 패턴을 통해 해킹을 감지하는 예를 도시한다.
도 11은 다양한 실시 예들에 따른 신호를 통해 해킹을 예측하는 전자 장치의 하드웨어 구성을 도시한다.
도 12는 다양한 실시 예들에 어플리케이션 영역의 신호를 통해 해킹을 감지하는 전자 장치의 하드웨어 구성을 도시한다.
도 13은 다양한 실시 예들에 따른 어플리케이션 영역의 신호의 예를 도시한다.
도 14는 다양한 실시 예들에 따른 어플리케이션 영역의 신호를 통해 해킹을 감지하는 전자 장치의 다른 하드웨어 구성을 도시한다.
도 15는 다양한 실시 예들에 따른 해킹을 감지하는 전자 장치의 동작 예를 도시한다.
도 16은 다양한 실시 예들에 따른 보안 장치가 자동차에 장착된 예를 도시한다.
도 17은 다양한 실시 예들에 따른 장치의 동작을 도시한 흐름도이다.
도 18은 다양한 실시 예들에 따른 해킹을 예측하는 장치의 동작을 도시한 흐름도이다.
도 19는 다양한 실시 예들에 따른 해킹을 예측하여 경고 메시지를 표시하는 장치의 동작을 도시한 흐름도이다.
도 20은 다양한 실시 예들에 따른 해킹을 예측하는 전자 장치의 신호 흐름을 도시한다.
도 21은 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 장치의 동작을 도시한 흐름도이다.
도 22는 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 장치의 다른 동작을 도시한 흐름도이다.
도 23은 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 전자 장치의 신호 흐름을 도시한다.
도 24는 다양한 실시 예들에 따른 신호에 대응하는 동작을 통해 해킹을 감지하는 장치의 동작을 도시한 흐름도이다.
도 25는 다양한 실시 예들에 따른 신호에 대응하는 동작을 통해 해킹을 감지하는 장치의 다른 동작을 도시한 흐름도이다.
도 26을 다양한 실시 예들에 따른 해킹을 감지하는 전자 장치의 다른 신호 흐름을 도시한다.
도 27을 다양한 실시 예들에 따른 어플리케이션 영역의 해킹을 감지하는 장치의 동작을 도시한 흐름도이다.
도 28은 다양한 실시 예들에 따른 어플리케이션 영역의 해킹을 감지하는 장치의 다른 동작을 도시한 흐름도이다.
도 29는 다양한 실시 예들에 따른 어플리케이션 영역의 해킹을 감지하는 전자 장치의 신호 흐름을 도시한다.
이하, 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나 이는 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하 설명에서 이용되는 하드웨어 구성 요소를 지칭하는 용어, 구성 요소들 간 송수신되는 신호/데이터를 지칭하는 용어, 신호의 처리 동작을 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 이용될 수 있다.
다양한 실시 예들에 따른 전자 장치(electronic device)는, 예를 들면, 스마트폰(smartphone), 테블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예들에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리착용형 장치(HMD, head-mounted-device 등), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
통신 기술의 발달로 가전 제품, 모바일 장치, 웨어러블 컴퓨터 등과 같은 다양한 임베디드 시스템(embedded system)에 통신기능이 내장되고 있다. 이에 따라, 통신 기능을 가지는 다양한 전자 장치(electronic device) 또는 임베디드 시스템들은 개인 정보의 보호, 금융 정보의 보호 등에 취약할 수 있다. 예를 들면, 스마트폰의 사용자는 스마트폰 내의 개인 정보를 탈취 당할 수 있고, 통신 기능이 탑재된 가전 제품의 사용자는 상위 네트워크에 대한 DDoS(denial of service attack) 공격에 노출될 수 있으며, IoT(internet of things) 조명기를 설치한 가정은 조명 ON/OFF 컨트롤 공격에 노출될 수 있다.
전자 장치에 대한 여러 해킹들을 방어하기 위한 방법은 하드웨어 보안 기술을 이용하는 방법과 소프트웨어 보안 기술을 이용하는 방법으로 나눌 수 있다. 상기 해킹은 전자 장치에 사용자의 허락 없이 침입하여 데이터를 추출하거나 손상시키는 모든 동작들을 포괄하는 용어일 수 있다. 상기 해킹은 사용자의 의도와는 다르게 전자 장치를 동작하도록 하는 모든 동작들을 포괄하는 용어일 수 있다. 상기 해킹은 상기 전자 장치가 지정되지 않은 동작을 수행하도록 하는 모든 동작들을 포괄하는 용어일 수 있다.
소프트웨어를 이용한 보안 기술은 일반적으로 시스템 콜(system call)에 대한 정보를 기록하고, 상기 기록을 분석하여 보안을 유지할 수 있다. 상기 시스템 콜은 어플리케이션에 의해 발생되는 신호일 수 있다. 상기 시스템 콜은 상기 전자 장치에 설치(install)된 운영 체제(OS, operating system)를 통해 상기 전자 장치 내의 여러 구성 요소들에게 전달될 수 있다. 소프트웨어를 이용한 보안 기술은 감지 대상이 시스템 콜로 한정된다는 문제점을 가질 수 있다. 또한, 소프트웨어를 이용한 보안 기술은 감지 대상이 어플리케이션으로 한정된다는 문제점을 가질 수 있다.
하드웨어를 이용한 보안 기술은 일반적으로 처리 장치와 저장 장치에 연결된 보안 장치를 이용하여 발생되는 메모리 트래픽(traffic)을 모니터링하여 보안을 유지할 수 있다. 하드웨어를 이용한 보안 기술은 해킹 발생 이후에 해킹을 감지할 수 있다는 문제점을 가질 수 있다. 하드웨어를 이용한 보안 기술은 감지 영역을 유연하게 확장할 수 없다는 문제점을 가질 수 있다. 하드웨어를 이용한 보안 기술은 감지 대상이 OS로 한정될 수 있다는 문제점을 가질 수 있다.
다양한 실시 예들에 따른 장치(apparatus)는 해킹을 예측할 수 있다. 상기 장치는 하드웨어를 통해 상기 전자 장치에 대한 해킹을 실시간으로 감지할 수 있다. 상기 장치는 유연한 관리를 통해 상기 전자 장치에 대한 다양한 공격들을 감지할 수 있다. 상기 장치는 성능의 저하 없이 상기 장치를 포함하는 전자 장치에 대한 해킹에 대응할 수 있다. 상기 장치는 OS 영역에 대한 해킹 뿐만 아니라, 어플리케이션 영역에 대한 해킹도 감지할 수 있다.
상기 장치는 전자 장치에 대한 해킹을 예측할 수 있다. 상기 장치는 읽기(read) 신호를 분석하여 해킹을 예측할 수 있다. 상기 읽기 신호는 제어 장치가 저장 장치에게 요청하는 데이터를 포함할 수 있다. 상기 읽기 신호는 상기 저장 장치에서 상기 제어 장치로 전송될 수 있다. 상기 장치는 상기 읽기 신호에 포함된 일련의 명령어(instruction) 정보를 분석하여 해킹 발생 이전에 해킹을 예측할 수 있다. 예를 들면, 상기 장치는 해킹과 관련된다고 의심되거나 해킹이 발생하기 용이하다고 판단되는 읽기 신호를 검출할 수 있다. 상기 장치는 상기 읽기 신호를 추적하여 상기 전자 장치에 대한 해킹을 예측할 수 있다.
상기 장치는 상기 전자 장치에 대한 해킹을 검출할 수 있다. 상기 장치는 상기 전자 장치 내의 신호들을 분석하여 OS 영역에 대한 해킹 뿐만 아니라, 어플리케이션 영역에 대한 해킹도 검출할 수 있다. 예를 들면, 상기 장치는 쓰기(write) 신호를 분석하여 해킹을 예측할 수 있다. 상기 쓰기 신호는 상기 제어 장치가 상기 저장 장치에 기록하기를 원하는 데이터를 포함할 수 있다. 상기 쓰기 신호는 상기 제어 장치에서 상기 저장 장치로 송신될 수 있다. 상기 장치는 OS에서 이용 중인 메모리 영역에 대한 쓰기 신호를 분석하여 OS 영역의 해킹을 실시간으로 감지할 수 있다. 다른 예를 들면, 상기 장치는 상기 제어 장치와 하드웨어 장치들 사이의 송수신 정보와 어플리케이션 정보를 분석하여 해킹을 검출할 수 있다. 상기 하드웨어 장치들은 직접 또는 간접적으로 상기 제어 장치와 통신하는 장치일 수 있다. 상기 하드웨어 장치들은 상기 제어 장치가 동작을 제어할 수 있는 장치일 수 있다. 상기 하드웨어 장치는 통신 장치(예를 들면, NIC(network interface card), Wi-Fi 모듈 등), 저장 장치(예를 들면, DRAM(dynamic random access memory), SD(secure digital) 카드 등), 센서 장치(예를 들면, GPS(global positioning system), 자이로스코프(gyroscope) 등), 입출력 장치(예를 들면, 디스플레이, 키보드, 터치패드, 터치스크린 등) 등일 수 있다. 상기 장치는 실행 중인 어플리케이션에서 접근이 허용되지 않은 하드웨어 장치에 대한 통신 또는 제어가 발생되는 경우, 이를 해킹으로 판단하여 실시간으로 해킹 공격을 감지할 수 있다. 상기 장치는 접근 가능한 하드웨어 장치 사이의 연관성을 확인하여, 해킹을 감지할 수 있다. 서로 연관성이 없거나 같이 이용되면 안되는 복수의 하드웨어 장치가 동시에 이용되는 경우, 또는 하드웨어 장치를 이용해서는 안되는 상황인데도 불구하고 상기 하드웨어 장치를 이용하려고 하는 경우, 상기 장치는 이를 해킹으로 판단하여 해킹 공격을 감지할 수 있다.
상기 장치는 상기 검출된 해킹에 대하여 대응 방법을 제공할 수 있다. 해킹이 검출된 경우, 상기 장치는 상기 해킹에 대한 대응 방법을 결정할 수 있다. 상기 대응 방법은 하드웨어를 제어하여 대응하는 방법을 포함할 수 있다. 상기 대응 방법은 상기 해킹 공격과 관련된 어플리케이션을 제어하여 대응하는 방법을 포함할 수 있다. 예를 들면, 상기 장치는 상기 검출된 해킹과 관련된 명령어, 데이터, 또는 신호의 전송을 차단할 수 있다. 다른 예를 들면, 상기 장치는 상기 검출된 해킹과 관련된 명령어, 데이터, 또는 신호를 폐기할 수 있다. 또 다른 예를 들면, 사용자가 상기 해킹을 인지할 수 있도록, 상기 장치는 해킹이 발생되었음을 출력 장치(예를 들면, 표시 장치)에 표시할 수 있다.
도 1은 전자 장치의 동작 환경을 도시한다.
상기 도 1을 참조하면, 전자 장치 100은 유선 또는 무선 경로를 통해 서비스 제공 서버 130 또는 어플리케이션 제공 서버 160 등과 통신할 수 있다.
상기 전자 장치 100은 휴대폰(mobile phone), 스마트 폰(smart phone), 개인 정보 단말기(PDA, personal digital assistant), 휴대용 멀티미디어 플레이어(PMP, portable multimedia player), 디지털 카메라(digital camera), 음악 재생기(music player), 휴대용 게임 콘솔(portable game console), 네비게이션(navigation) 시스템, 랩탑 컴퓨터(laptop computer) 등과 같은 임의의 모바일 시스템일 수 있다. 또한, 상기 전자 장치 100은 MIC(machine type communication)을 지원하는 비-이동 장치, PC(personal computer) 등과 같은 고정된 시스템일 수 있다.
상기 전자 장치 100은 어플리케이션 또는 서비스 유저 인터페이스(UI, user interface)를 제공받기 위해 어플리케이션 제공 서버 160과 통신할 수 있다. 예를 들면, 상기 전자 장치 100은 상기 어플리케이션 제공 서버 160에게 어플리케이션을 요청할 수 있다. 상기 어플리케이션의 요청에 대응하여, 상기 어플리케이션 제공 서버 160은 상기 전자 장치 100에게 어플리케이션 또는 서비스 UI를 제공할 수 있다.
상기 전자 장치 100은 서비스를 제공받기 위해 상기 서비스 제공 서버 130과 통신할 수 있다. 예를 들면, 상기 전자 장치 100은 상기 전자 장치 100에 설치(install)된 서비스 UI를 통해 상기 서비스 제공 서버 130에게 서비스를 요청할 수 있다. 상기 서비스의 요청에 대응하여, 상기 서비스 제공 서버 130은 상기 전자 장치 100에게 서비스를 제공할 수 있다. 다른 예를 들면, 상기 전자 장치 100은 상기 전자 장치 100에 설치된 어플리케이션을 통해 상기 서비스 제공 서버 130에게 서비스를 요청할 수 있다. 상기 서비스의 요청에 대응하여, 상기 서비스 제공 서버 130은 상기 전자 장치 100에게 서비스를 제공할 수 있다.
상기 도 1에 도시된 예시와 같이, 전자 장치 100은 통신 기능을 포함할 수 있다. 통신 기능을 가지는 전자 장치 100은 사용자에게 편의를 제공할 수 있다. 하지만 통신 기능을 가지는 전자 장치 100은 다양한 종류의 해킹 공격에 쉽게 노출될 수 있다.
도 2는 다양한 기능을 수행하는 전자 장치의 기능적 블록 구성을 도시한다. 상기 도 2에 예시된 블록 구성은 상기 도 1에 도시된 전자 장치 100에 포함될 수 있다.
상기 도 2를 참조하면, 상기 전자 장치 100은 제어 장치 210, 저장 장치 220, 통신 장치 230, 감지 장치 240, 입출력 장치 250, 표시 장치 260을 포함할 수 있다.
상기 제어 장치 210은 상기 전자 장치 100의 전반적인 동작을 제어할 수 있다. 상기 전자 장치 100은 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션을 실행할 수 있다. 실시 예에 따라, 상기 제어 장치 210은 하나의 프로세서 코어(single core)를 포함하거나, 복수의 프로세서 코어들(multi-core)를 포함할 수 있다. 예를 들어, 상기 제어 장치 210은 듀얼 코어(dual-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core) 등의 멀티 코어들을 포함할 수 있다. 실시 예에 따라, 상기 제어 장치 210은 내부 또는 외부에 위치한 캐시 메모리(cache memory)를 더 포함할 수 있다.
상기 저장 장치 220은 상기 전자 장치 210을 제어하는 제어 명령어 코드, 제어 데이터, 또는 사용자 데이터를 저장할 수 있다. 상기 저장 장치 220은 휘발성 메모리(volatile memory) 또는 불휘발성 메모리(nonvolatile memory) 중 적어도 하나를 포함할 수 있다. 불휘발성 메모리는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically Programmable ROM), EEPROM(electrically erasable ROM), 플래시 메모리, PRAM(phase-change RAM), MRAM(magnetic RAM), RRAM(resistive RAM), FRAM(ferroelectric RAM) 등을 포함할 수 있다. 휘발성 메모리는 DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous DRAM), PRAM(phase-change RAM), MRAM(magnetic RAM), RRAM(resistive RAM), FeRAM(ferroelectric RAM) 등과 같은 다양한 메모리들 중 적어도 하나를 포함할 수 있다.
상기 저장 장치 220은 하드 디스크 드라이브(HDD, hard disk drive), 솔리드 스테이트 디스크(SSD, solid state disk), eMMC(embedded multi media card), UFS(universal flash storage)와 같은 불휘발성 매체를 포함할 수 있다. 상기 저장 장치 220은 상기 입출력 장치 250을 통해 제공되는 사용자의 정보 및 상기 감지 장치 240을 통해 수집된 센싱(sensing) 정보들을 저장할 수 있다.
상기 통신 장치 230은 송신부(transceiver) 및/또는 수신부(receiver)를 포함할 수 있다. 상기 전자 장치 100은 상기 송신부 및/또는 수신부를 통하여 다른 장치들(예를 들면, 게이트웨이, 액세스 포인트, 기지국, 단말 등)으로부터 정보를 수신할 수 있다. 상기 전자 장치 100은 상기 송신부 및/또는 수신부를 통하여 다른 장치들에게 정보를 송신할 수 있다.
상기 감지 장치 240은 외부의 정보들을 감지하는 센서일 수 있다. 예를 들면, 상기 감지 장치 240은 이미지 센서일 수 있다. 상기 감지 장치 240은 상기 제어 장치 210과 연결되어, 생성된 이미지 정보를 상기 제어 장치 210으로 전송할 수 있다. 다른 예를 들면, 상기 감지 장치 240은 신체 정보(biometric information)을 감지하는 바이오 센서일 수 있다. 상기 감지 장치 240은 지문, 홍채 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 상응하는 센싱 데이터를 생성하여 상기 제어 장치 210에게 제공할 수 있다. 상기의 예시 뿐 아니라, 상기 감지 장치 240은 카메라, 조도(illuminance) 센서, 음향 센서 가속도 센서 등과 같은 임의의 센서일 수 있다.
상기 입출력 장치 250은 터치패드, 키패드, 입력 버튼 등과 같은 입력 수단 및 스피커 등과 같은 출력 수단을 포함할 수 있다. 상기 입출력 장치 250은 상기 전자 장치 100의 입력을 감지할 수 있다. 상기 입출력 장치 250은 손가락 및 펜의 터치 또는 호버링(hovering) 입력을 감지할 수 있다.
상기 표시 장치 260은 상기 제어 장치 210에 의해 가공된 영상 신호를 표시할 수 있다. 상기 표시 장치 260은 캡쳐(capture) 또는 스틸(still) 이미지를 표시할 수 있고, 동영상 또는 카메라 프리뷰(preview) 이미지를 표시할 수 있다. 상기 표시 장치 260은 LCD(liquid crystal display) 또는 OLED(organic light emitting diode)일 수 있다.
상기 입출력 장치 250과 상기 표시 장치 260은 일체형의 터치 스크린(touch screen)으로 구성될 수도 있다.
도 3은 소프트웨어를 이용한 보안 기술의 구조를 도시한다. 상기 도 3에 예시된 구조는 상기 도 1에 도시된 상기 전자 장치 100에 의해 수행될 수 있다.
상기 도 3을 참조하면, 사용자는 310 단계에서, 상기 전자 장치 100에 설치된 사용자 어플리케이션(user application) 을 실행할 수 있다. 상기 사용자의 제어에 따라, 상기 사용자 어플리케이션은 시스템 콜을 발생시킬 수 있다. 실시 예에 따라, 상기 사용자 어플리케이션은 320 단계에서와 같이 라이브러리(library)를 통해 상기 시스템 콜을 발생시킬 수 있다. 상기 라이브러리는 상기 사용자 어플리케이션을 위한 제어 정보, 명령어, 데이터 등을 포함할 수 있다. 상기 전자 장치 100이 소프트웨어를 이용한 보안 기술을 이용하지 않는 경우, 상기 전자 장치 100은 330 단계에서 시스템 콜을 활성화할 수 있다.
340 단계에서, 상기 전자 장치 100은 소프트웨어를 이용한 보안 기술의 적용을 위해 상기 시스템 콜을 일시적으로 차단(intercept)할 수 있다. 350 단계에서, 상기 전자 장치 100은 보안 기술의 적용을 위해 상기 차단된 시스템 콜을 기록(logging)할 수 있다. 360-1 단계에서, 상기 전자 장치 100은 상기 기록된 시스템 콜에 해킹과 관련된 데이터 등이 포함되어 있는지 여부를 분석(analysis)할 수 있다. 상기 기록된 시스템 콜의 분석은 상기 전자 장치 100의 내부에서 수행될 수 있다. 실시 예에 따라, 360-2 단계에서, 상기 기록된 시스템 콜의 분석은 상기 전자 장치 100의 외부(예를 들면, 서버 등)에서 수행될 수 있다. 시스템 콜은 360-1 단계에 같이 상기 전자 장치 100에 의해 분석되거나 360-2 단계와 같이 상기 서버에 의해 분석될 수 있다.
상기 330 단계에서, 상기 기록된 시스템 콜에서 해킹과 관련된 데이터가 검출되지 않은 경우, 상기 전자 장치 100은 상기 시스템 콜의 처리를 위한 동작을 수행할 수 있다.
370 단계에서, 상기 시스템 콜은 커널(kernel)을 통해 전달될 수 있다. 상기 커널은 상기 전자 장치 100에 설치된 OS의 영역을 의미할 수 있다.
380 단계에서, 상기 시스템 콜은 장치 드라이버(device driver) 등에 제공될 수 있다. 상기 장치 드라이버는 상기 시스템 콜에 대응하는 동작들을 수행할 수 있다.
상기 도 3에 도시된 바와 같이, 소프트웨어를 이용한 보안 기술은 상기 340 단계와 같은 시스템 콜의 차단 동작, 상기 350 단계와 같은 기록 동작, 상기 360 단계와 같은 분석 동작을 포함할 수 있다. 이러한 동작들을 포함하는 소프트웨어를 이용한 보안 기술은 어플리케이션 등의 성능을 저하시킬 수 있다. 또한, 이러한 동작들을 포함하는 소프트웨어를 이용한 보안 기술은 어플리케이션의 실행 속도를 저하시킬 수 있다. 또한, 소프트웨어를 이용한 보안 기술은 감지 대상이 어플리케이션으로 한정될 수 있다는 문제점을 가질 수 있다.
도 4는 하드웨어를 이용한 보안 기술의 구조를 도시한다. 상기 도 4에 예시된 구조는 상기 도 1에 도시된 상기 전자 장치 100에 의해 수행될 수 있다.
상기 도 4를 참조하면, 하드웨어를 이용한 보안 기술을 수행하는 전자 장치는 보안 장치 410을 포함할 수 있다. 상기 보안 장치 410은 상기 도 2에 도시된 상기 제어 장치 210와 상기 저장 장치 220 간의 신호를 모니터링할(monitoring) 수 있다. 상기 보안 장치 410은 상기 모니터링된 신호를 분석할 수 있다.
하드웨어를 이용한 보안 기술의 경우, 상기 도 3에서 예시한 소프트웨어를 이용한 보안 기술과 달리, 시스템 콜을 차단하는 동작, 기록하는 동작, 분석하는 동작을 수행하지 않을 수 있다. 이러한 측면에서, 하드웨어를 이용한 보안 기술은 어플리케이션의 성능 저하, 어플리케이션의 실행 속도 저하 등을 발생시키지 않을 수 있다. 하지만, 하드웨어를 이용한 보안 기술은 감지 대상이 OS 영역으로 한정될 수 있다. 또한, 하드웨어를 이용한 보안 기술은 감지 대상을 유연하게 확장할 수 없다. 또한, 하드웨어를 이용한 보안 기술은 해킹 발생 이후 사후 대처만이 가능할 수 있다.
상기 도 3 및 상기 도 4에 예시된 보안 기술을 적용한 전자 장치와 달리, 다양한 실시 예들에 따른 장치는 성능 저하를 발생시키지 않고 전자 장치를 보호할 수 있다. 또한, 상기 장치는 해킹이 발생하기 이전에 해킹을 예측할 수 있다. 또한, 상기 장치는 OS 영역 뿐만 아니라 어플리케이션 영역에 대하여도 모니터링을 수행하여 해킹 감지 영역을 확장시킬 수 있다. 또한, 상기 장치는 다양한 종류의 해킹들에 대하여 유연하게 대처할 수 있다.
도 5는 다양한 실시 예들에 따른 전자 장치의 기능적 블록 구성을 도시한다. 이하, 이용되는 용어 "장치"는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 상기 용어 "장치"는 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 하드웨어로 구현되는 경우. 상기 용어 "장치"는 "회로(circuitry)"로 지칭될 수 있다.
상기 도 5를 참조하면, 전자 장치 500은 상기 도 2에 도시된 상기 제어 장치 210, 상기 저장 장치 220, 보안 장치 510, 주변 장치(들) 520을 포함할 수 있다. 상기 주변 장치 520은 도 2에 예시된 상기 통신 장치 230, 상기 감지 장치 240, 상기 입출력 장치 250, 상기 표시 장치 260 등을 포함할 수 있다. 상기 제어 장치 210, 상기 저장 장치 220, 상기 주변 장치 520(예를 들면, 상기 통신 장치 230, 상기 감지 장치 240, 상기 입출력 장치 250, 상기 표시 장치 260)등은 상기 도 2에서 예시된 기능들을 수행할 수 있다. 또한, 상기 제어 장치 210, 상기 저장 장치 220, 상기 주변 장치 520(예를 들면, 상기 통신 장치 230, 상기 감지 장치 240, 상기 입출력 장치 250, 상기 표시 장치 260 등)은 상기 도 2에서 예시된 방식들로 구현될 수 있다.
상기 전자 장치 500의 다른 구성 요소들(예를 들면, 상기 저장 장치 220, 상기 주변 장치 520 등)은 다양한 종류의 신호들을 발생시킬 수 있다. 예를 들면, 상기 신호는 요청 신호일 수 있고, 응답 신호일 수 있다. 상기 신호는 주소(address)를 포함할 수 있다. 상기 주소는 신호를 발생 시킨 주체(예를 들면, 상기 전자 장치 500의 구성 요소)를 지시할 수 있다. 상기 주소는 신호가 수신되는 주체를 지시할 수 있다.
상기 제어 장치 210은 상기 전자 장치 500에 설치된 OS 및/또는 어플리케이션에 대한 제어를 수행할 수 있다. 예를 들면, 상기 제어 장치 210은 상기 OS 및/또는 어플리케이션으로부터 발생되는 시스템 콜에 따라 상기 전자 장치 100의 다른 구성 요소들을 제어할 수 있다.
상기 제어 장치 210은 상기 OS 및/또는 어플리케이션을 실행할 수 있다. 예를 들면, 상기 제어 장치 210은 상기 감지 장치 240, 또는 상기 입출력 장치 250으로부터 수신된 신호 또는 데이터에 기반하여 상기 OS 및/또는 어플리케이션을 실행할 수 있다.
상기 제어 장치 210은 상기 OS 및/또는 상기 어플리케이션에서 생성되거나 발생되는 데이터 또는 신호를 처리할 수 있다. 예를 들면, 상기 제어 장치 210은 상기 OS 또는 상기 어플리케이션을 위해 상기 저장 장치 220에게 데이터 또는 신호를 요청할 수 있다. 상기 제어 장치 210은 상기 OS 또는 상기 어플리케이션을 위해 상기 저장 장치 220에 데이터 또는 신호를 기록(또는 저장)하거나 갱신할 수 있다.
상기 저장 장치 220은 상기 전자 장치 500의 다른 구성 요소들을 위한 데이터, 명령어 등을 저장할 수 있다. 상기 저장 장치 220은 상기 전자 장치 500에 설치된 프로그램 및/또는 모듈을 위한 데이터, 명령어 등을 저장할 수 있다. 예를 들면, 상기 저장 장치 220은 상기 전자 장치 500에 설치된 OS 및/또는 어플리케이션에 대한 데이터, 명령어 등을 저장할 수 있다.
상기 저장 장치 220은 상기 전자 장치 500의 다른 구성 요소들로부터 요청 신호를 수신할 수 있다.
상기 요청 신호는 상기 저장 장치 220에 저장된 데이터 또는 명령어를 제공해 줄 것을 요청하는 신호일 수 있다. 예를 들어, 상기 제어 장치 210이 상기 저장 장치 220에게 데이터를 요청하는 경우, 상기 저장 장치 220은 읽기(read) 신호를 상기 제어 장치 210에게 제공할 수 있다. 상기 읽기 신호는 상기 제어 장치 210이 요청한 데이터를 포함하는 신호일 수 있다.
상기 요청 신호는 상기 저장 장치 220에 저장된 데이터 또는 명령어를 갱신할 것을 요청하는 신호일 수 있다. 상기 요청 신호는 상기 저장 장치 220에 저장되길 원하는 데이터 또는 명령어를 제공하는 신호일 수 있다. 예를 들면, 상기 저장 장치 220은 상기 제어 장치 210으로부터 쓰기 신호를 수신할 수 있다. 상기 쓰기 신호는 상기 제어 장치 210이 상기 저장 장치 220에 저장하고자 하는 데이터를 포함할 수 있다. 상기 쓰기 신호는 상기 데이터를 저장할 상기 저장 장치 220 상의 주소를 포함할 수 있다. 상기 쓰기 신호는 상기 데이터를 전달하는 신호 및 상기 주소를 전달하는 신호의 조합일 수 있다. 상기 쓰기 신호는 데이터를 포함하는 페이로드 및 주소를 포함하는 제어 정보를 포함하는 데이터 유닛의 형태일 수 있다.
상기 표시 장치 260은 상기 전자 장치 500에서 해킹이 발생되었음을 경고하는 메시지를 표시할 수 있다. 예를 들면, 상기 표시 장치 260은 상기 제어 장치 또는 상기 보안 장치 510으로부터 수신한 신호에 기반하여 경고 메시지를 표시할 수 있다.
상기 통신 장치 230, 상기 감지 장치 240, 상기 입출력 장치 250, 및/또는 상기 표시 장치 260은 상기 주변 장치 520으로 지칭될 수 있다.
상기 보안 장치 510은 상기 전자 장치 500에 대한 해킹을 감지할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 전자 장치 500에 대한 해킹과 관련된 신호 또는 데이터를 검출할 수 있다.
상기 보안 장치 510은 상기 전자 장치 500에 대한 해킹을 예측할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 전자 장치 500에서 생성되고, 변경되는 신호 또는 데이터 중에서 해킹에 취약할 수 있는 신호 또는 데이터를 특정할 수 있다. 해킹에 취약할 수 있는 신호 또는 데이터가 활성화되는 경우, 상기 보안 장치 510은 상기 신호 또는 데이터를 추적하기 위한 태그(tag) 신호를 생성할 수 있다. 해킹에 취약할 수 있는 신호 또는 데이터가 활성화되는 경우, 상기 보안 장치 510은 상기 신호 또는 데이터에 태그를 삽입할 수도 있다. 상기 보안 장치 510은 상기 생성된 태그 또는 태그 신호를 통해 해킹 발생 여부를 예측할 수 있다.
상기 보안 장치 510은 상기 전자 장치 500에서 발생한 해킹에 대한 대응 방법을 제공할 수 있다. 예를 들면, 상기 전자 장치 500에서 해킹이 발생한 경우, 상기 보안 장치 510은 상기 해킹과 관련된 데이터 또는 신호를 차단하여 상기 해킹에 대응할 수 있다. 다른 예를 들면, 상기 보안 장치 510은 상기 해킹과 관련된 데이터 또는 신호를 제거하여 상기 해킹에 대응할 수 있다. 또 다른 예를 들면, 상기 보안 장치 510은 상기 해킹과 관련된 데이터 또는 신호에 대한 정보를 포함하는 경고 메시지를 상기 표시 장치 260에 표시할 수 있다.
상기 보안 장치 510은 신호 검출부, 주소 변환부, 신호 생성부, 데이터 기록부, 임시 저장부를 포함할 수 있다.
도 6은 다양한 실시 예들에 따른 보안 장치의 기능적 블록 구성을 도시한다. 이러한 블록 구성은 상기 도 5에 도시된 상기 보안 장치 510에 포함될 수 있다.
상기 도 6을 참조하면, 상기 보안 장치 510은 신호 검출부 610, 주소 변환부 620, 데이터 기록부 630, 임시 저장부 640, 신호 생성부 650을 포함할 수 있다.
상기 신호 검출부 610은 상기 제어 장치 210에서 상기 저장 장치 220으로 송신되는 읽기 요청 신호들 중에서 해킹에 취약한 읽기 요청 신호를 검출할 수 있다. 상기 신호 검출부 610은 읽기 요청 신호에 포함된 주소 및/또는 데이터에 기반하여 해킹에 취약한 읽기 요청 신호를 검출할 수 있다. 예를 들어, 읽기 요청 신호에 포함된 주소가 상기 통신 장치 230, 입출력 장치 250 등을 지시하는 경우, 상기 신호 검출부 610은 상기 읽기 요청 신호를 해킹에 취약한 읽기 요청 신호로 검출할 수 있다. 다른 예를 들어, 읽기 요청 신호에 의해 요청되는 데이터가 개인 정보, 또는 금융 정보에 대한 내용을 포함하고 있는 경우, 상기 신호 검출부 610은 상기 읽기 요청 신호를 해킹에 취약한 읽기 요청 신호로 검출할 수 있다. 상기 신호 검출부 610은 지정된 주소와 수신되는 읽기 요청 신호에 포함된 주소와 비교하여 해킹에 취약한 읽기 요청 신호를 검출할 수 있다. 이러한 읽기 요청 신호의 검출을 통해, 다양한 실시 예들에 따른 장치는 해킹을 예측할 수 있다.
상기 신호 검출부 610은 상기 저장 장치에게 제공되는 쓰기 신호들 중에서 해킹과 관련된 쓰기 신호를 검출할 수 있다. 예를 들면, 상기 신호 검출부 610은 쓰기 신호에 포함된 주소 및/또는 데이터에 기반하여 해킹과 관련된 쓰기 신호를 검출할 수 있다. 쓰기 신호가 불변(immutable) 영역에 대한 주소를 포함하고 있는 경우, 상기 신호 검출부 610은 상기 쓰기 신호를 해킹과 관련된 쓰기 신호로 검출할 수 있다. 상기 불변 영역은 영구적, 반영구적, 또는 일시적으로 쓰기 금지된 영역일 수 있다. 상기 불변 영역은, 상기 전자 장치 500의 제조 시 미리 정의되거나, OS에 의해 정의될 수 있다. 예를 들면, 상기 불변 영역은 OS의 코드 영역, 시스템 콜 테이블, 및 인터럽트(interrupt) 설명자 테이블 중 하나일 수 있다. 이러한 쓰기 신호의 검출을 통해, 다양한 실시 예들에 따른 장치는 해킹을 검출할 수 있다.
상기 신호 검출부 610은 쓰기 신호에 대한 기록에 기반하여 해킹과 관련된 신호를 검출할 수 있다. 상기 데이터 기록부 630 등에 기록되어 있는 제1 쓰기 신호의 데이터 구조는, 데이터 A, 데이터 B, 데이터 C로 구성된다고 가정하자. 이러한 제1 쓰기 신호의 데이터 구조가 상기 데이터 A, 상기 데이터 B, 데이터 D, 상기 데이터 C로 변경된 경우, 상기 신호 검출부 610은 이러한 데이터의 갱신(상기 데이터 D의 추가)을 인지할 수 있다. 추가된 상기 데이터 D의 경우, 어플리케이션의 갱신에 따른 데이터일 수 있지만, 해킹에 따른 데이터일 수도 있다. 상기 신호 검출부 610은 상기 데이터 A 내지 상기 데이터 D를 추적할 수 있다. 상기 데이터 D가 실제로 이용되지 않는 경우, 상기 데이터 D, 상기 데이터 D와 관련된 신호, 또는 상기 제1 쓰기 신호를 해킹과 관련된 신호로 검출할 수 있다. 이러한 검출을 통해, 다양한 실시 예들에 따른 장치는 해킹을 검출할 수 있다.
상기 신호 검출부 610은 상기 주변 장치 520 등을 활성화하기 위한 데이터를 포함하는 신호에 기반하여 해킹과 관련된 신호 또는 데이터를 검출할 수 있다. 상기 신호 검출부 610은 상기 주변 장치 520 등을 활성화하기 위한 신호가 상기 신호에 대응하는 어플리케이션과 관련되지 않은 상기 주변 장치 520을 활성화하는 데이터를 포함하는 경우, 상기 신호를 상기 해킹과 관련된 신호로 검출할 수 있다. 상기 어플리케이션과 상기 주변 장치 520이 관련되는지 여부는 상기 어플리케이션의 설치 과정에서 사용자의 인증 또는 지정된 절차에 의해 설정될 수 있다. 상기 어플리케이션과 상기 주변 장치 520이 관련되는지 여부는 상기 어플리케이션의 업데이트 과정에서 사용자의 인증 또는 지정된 절차에 의해 설정될 수 있다. 예를 들어, 신호 A에 대응하는 어플리케이션은 상기 입출력 장치 250과 상기 표시 장치 260을 이용한다고 가정하자. 상기 신호 A가 상기 통신 장치 230 또는 상기 감지 장치 240을 활성화하기 위한 데이터를 포함하는 경우, 상기 신호 검출부 610을 상기 신호 A를 해킹과 관련된 신호로 검출할 수 있다.
상기 신호 검출부 610은 플래그(flag)가 첨부된 정보, 데이터, 또는 신호에 기반하여 해킹과 관련된 신호를 검출할 수 있다. 상기 플래그는 해킹으로부터 상기 데이터 또는 신호를 보호하기 위한 표시일 수 있다. 상기 신호 생성부 650은 상기 플래그가 첨부된 신호에 대하여 지속적인 감시를 수행할 수 있다. 상기 플래그가 첨부된 신호가 어플리케이션의 시나리오 상의 동작을 수행하지 않거나, 권한 밖의 범위에 노출되는 경우, 상기 신호 생성부 650은 해킹이 발생하였다고 판단하여 해킹과 관련된 신호들을 검출할 수 있다.
상기 주소 변환부 620은 해킹과 관련된 신호에 포함된 주소를 변환할 수 있다. 해킹과 관련된 신호가 상기 저장 장치 220 등에 저장되는 경우, 상기 전자 장치 500은 해킹으로 인하여 손상될 수 있다. 상기 주소 변환부 620은 해킹과 관련된다고 판단되는 신호에 포함된 주소를 변환하여 상기 저장 장치 220으로의 전송을 차단할 수 있다. 예를 들면, 쓰기 신호가 불변 영역에 대한 주소를 포함하고 있다고 검출된 경우, 상기 주소 변환부 620은 검출된 쓰기 신호에 포함된 주소를 상기 임시 저장부 640에 대한 주소로 변환할 수 있다. 이러한 주소 변환을 통해, 다양한 실시 예들에 따른 장치는 해킹에 대한 피해를 방지할 수 있다.
상기 데이터 기록부 630은 쓰기 신호에 따른 동작을 기록할 수 있다. 상기 데이터 기록부 630은 쓰기 신호에 따른 동작을 상기 쓰기 신호에 포함된 주소와 데이터에 기반하여 그룹화할 수 있다. 상기 데이터 기록부 630은 데이터 패턴 매칭(data pattern matching)을 통해 상기 쓰기 신호에 따른 동작을 그룹화하여 기록할 수 있다.
상기 임시 저장부 640은 상기 주소 변환부 620에 의해 변환된 주소를 포함하는 신호를 저장할 수 있다. 상기 변환된 주소는 상기 임시 저장부 640의 주소일 수 있다. 상기 임시 저장부 640은 해킹과 관련된 신호를 저장하여 해킹과 관련된 신호가 전자 장치 500의 내부 또는 외부로 유출되는 것을 방지할 수 있다.
상기 임시 저장부 640은 상기 보안 장치 510에서 분리되어 구성될 수 있다. 예를 들면, 상기 임시 저장부 640은 상기 전자 장치 500의 독립된 구성 요소일 수도 있고, 상기 저장 장치 220에 포함될 수도 있다. 또한, 상기 임시 저장부 640은 구현에 따라, 상기 임시 저장부 640은 생략될 수도 있다.
상기 신호 생성부 650은 해킹에 취약한 신호, 또는 해킹과 관련된 신호를 추적하기 위한 신호를 생성할 수 있다. 상기 신호 검출부 610을 통해 해킹에 취약한 신호가 검출된 경우, 상기 신호 생성부 650은 지속적인 감시를 위해 독립된 태그 신호를 생성할 수 있다. 실시 예에 따라, 상기 신호 생성부 650은 지속적인 감시를 위해 상기 해킹에 취약한 신호에 태그를 첨부할 수도 있다. 다양한 실시 예들에 따른 장치는 상기 태그 또는 태그 신호를 통해 해킹을 예측할 수 있다.
상기 신호 생성부 650은 보안이 필요한 정보, 데이터, 또는 신호에 플래그를 첨부할 수 있다. 예를 들어, 상기 신호 생성부 650은 개인 정보, 금융 정보 등을 포함하는 데이터 또는 신호에 플래그(flag)를 첨부할 수 있다. 다양한 실시 예들에 따른 장치는 상기 플래그가 첨부된 신호를 통해 해킹을 감지할 수 있다.
상기 신호 생성부 650은 해킹과 관련된 신호가 수신되는 경우, 상기 수신되는 신호를 변환하여 널(null) 데이터를 포함하는 신호를 생성할 수 있다. 상기 신호 생성부 650은 상기 널 데이터가 포함된 신호의 생성을 통해 상기 전자 장치 500에 해킹과 관련된 신호가 전송되는 것을 막을 수 있다. 예를 들어, 상기 전자 장치 500의 상기 통신 장치 230을 통해 금융 정보를 유출하기 위한 데이터를 포함하는 신호가 수신되는 경우, 상기 신호 생성부 650은 상기 수신되는 신호를 변환하여, 널 데이터가 포함된 신호를 생성할 수 있다.
상기 신호 생성부 650은 해킹에 대응하기 위한 신호를 생성할 수 있다. 예를 들어, 상기 신호 검출부 610을 통해 해킹과 관련된 신호가 검출된 경우, 상기 신호 생성부 650은 경고 메시지를 위한 신호를 생성할 수 있다. 상기 경고 메시지를 위한 신호는 직접 상기 도 5에 도시된 상기 표시 장치 260에 전달되거나, 상기 제어 장치 210을 통해 상기 표시 장치 260에 전달될 수 있다. 상기 경고 메시지를 위한 신호를 수신한 상기 표시 장치 260은 상기 경고 메시지를 표시할 수 있다.
상기 도 6에 도시하지 않았지만, 상기 보안 장치 510은 상기 전자 장치 500의 구성 요소들과 통신하는 송수신부를 포함할 수 있다. 상기 보안 장치 510은 상기 송수신부를 통해, 상기 전자 장치 500의 구성 요소들로부터 신호 또는 데이터를 수신할 수 있다. 상기 보안 장치 510은 상기 송수신부를 통해, 상기 전자 장치 500의 구성 요소들에게 신호 또는 데이터를 전송할 수 있다.
상기 신호 검출부 610, 상기 주소 변환부 620, 상기 데이터 기록부 630, 및 상기 신호 생성부 650는 제어부로 지칭될 수도 있다. 다양한 실시 예들에 따른 상기 보안 장치 510은 상기 제어부와 상기 송수신부로 구성될 수도 있다.
도 7은 다양한 실시 예들에 따른 전자 장치의 하드웨어 구성을 도시한다. 상기 도 7에 예시된 하드웨어 구성은 상기 도 5에 도시된 상기 전자 장치 500에 포함될 수 잇다.
상기 도 7을 참조하면, 상기 전자 장치 500은 상기 도 5에 도시된 제어 장치 210, 상기 저장 장치 220, 상기 보안 장치 510, 상기 주변 장치 520를 포함할 수 있다.
상기 보안 장치 510은 상기 제어 장치 210과 상기 저장 장치 220 간의 전송 경로에 동작적으로 결합될 수 있다. 어플리케이션의 실행 또는 제어 등을 위해, 상기 제어 장치 210은 상기 저장 장치 220과 신호를 주고 받을 수 있다. 상기 신호는 쓰기 신호 또는 읽기 신호일 수 있다. 상기 보안 장치 510은 상기 제어 장치 210과 상기 저장 장치 220 간의 전송 경로를 모니터링하여 해킹에 취약한 신호 또는 해킹과 관련된 신호를 검출할 수 있다.
상기 보안 장치 510은 상기 제어 장치 210과 동작적으로 결합될 수 있다. 상기 보안 장치 510은 상기 제어 장치 210으로부터 보안에 필요한 참조 신호 또는 참조 데이터를 수신할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 제어 장치 210으로부터 수신된 참조 신호에 기반하여 해킹에 취약한 신호 또는 해킹과 관련된 신호를 검출할 수 있다.
상기 보안 장치 510은 상기 주변 장치 520과 동작적으로 결합될 수 있다. 상기 보안 장치 510은 상기 주변 장치 520으로부터 생성된 신호(예를 들면, 상기 주변 장치 520을 활성화하는 신호 등)에 기반하여 해킹에 취약한 신호 또는 해킹과 관련된 신호를 검출할 수 있다. 예를 들어, GPS와 관련이 없는 신호가 GPS를 활성화하는 경우, 상기 보안 장치 510은 상기 신호를 해킹에 취약한 신호 또는 해킹과 관련된 신호로 검출할 수 있다.
도 8은 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 전자 장치의 하드웨어 구성을 도시한다. 이러한 하드웨어 구성은 상기 도 5에 도시된 전자 장치 500에 포함될 수 있다.
상기 도 8을 참조하면, 상기 전자 장치 500은 상기 제어 장치 210, 상기 저장 장치 220, 상기 보안 장치 510, 상기 임시 저장부 640, 버스 810을 포함할 수 있다. 상기 보안 장치 510은 상기 도 6에 도시된 상기 신호 검출부 610, 상기 주소 변환부 620을 포함할 수 있다.
상기 버스 810은 상기 보안 장치 510, 상기 저장 장치 230, 및/또는 상기 임시 저장부 640을 동작적으로 결합하기 위한 장치일 수 있다. 상기 버스 810은 신호에 포함된 주소에 기반하여 신호를 다른 장치들에게 제공할 수 있다.
상기 제어 장치 210은 상기 저장 장치 220에 데이터를 저장하기 위해 쓰기 신호를 송신할 수 있다. 상기 쓰기 신호는 상기 데이터 및 상기 데이터를 저장할 주소를 포함할 수 있다. 상기 쓰기 신호는 상기 저장 장치 220에 수신되기 이전에, 상기 보안 장치 510에 수신될 수 있다. 상기 신호 검출부 610은 상기 쓰기 신호에 포함된 주소를 검출할 수 있다. 상기 검출된 주소는 불변 영역에 대한 주소를 포함할 수 있다. 상기 불변 영역은 사용자에 의해 제어되지 않는 영역일 수 있기 때문에, 상기 신호 검출부 610은 상기 쓰기 신호를 해킹과 관련된 신호로 검출할 수 있다. 상기 신호 검출부 610은 상기 쓰기 신호가 해킹과 관련될 수 있음을 상기 주소 변환부 620에 전달할 수 있다.
상기 주소 변환부 620은 상기 쓰기 신호에 포함된 주소를 변환할 수 있다. 해킹에 따른 피해를 방지하기 위해, 상기 주소 변환부 620은 상기 쓰기 신호에 포함된 주소를 상기 저장 장치 220의 주소에서 상기 도 6에 도시된 임시 저장부 640의 주소로 변환할 수 있다.
쓰기 신호가 해킹과 관련된 신호라고 판단된 경우, 상기 임시 저장부 640은 상기 쓰기 신호를 임시 저장할 수 있다. 상기 임시 저장부 640은 더미(dummy)로 지칭될 수도 있다. 상기 주소 변환부 620에 의해 주소가 변환된 쓰기 신호가 해킹과 관련이 없는 신호인 경우(예를 들어, 업데이트 등을 통해 새롭게 생성된 유형의 신호인 경우), 상기 임시 저장부 640에 저장된 신호는 복원될 수 있다. 예를 들어, 상기 보안 장치 510은 상기 임시 저장부 640에 저장된 신호가 해킹과 관련된 신호가 아닌 경우, 상기 저장된 신호를 상기 저장 장치 220에 저장되도록 할 수 있다.
상기 도 8은 상기 임시 저장부 640이 상기 보안 장치 510의 외부에서 구현되는 예시를 도시한다. 실시 예에 따라, 상기 임시 저장부 640은 상기 보안 장치 510의 내부에 포함될 수도 있다.
상기 도 8은 상기 저장 장치 220 및 상기 임시 저장부 640이 별도의 구성 요소로 구성된 경우를 예시한다. 실시 예에 따라, 상기 저장 장치 220 및 상기 임시 저장부 640은 하나의 구성요소로 구현될 수 있다. 예를 들면, 상기 임시 저장부 640은 상기 저장 장치 220에 포함될 수 있다.
다양한 실시 예들에 따른 장치는 저장 장치에 대한 OS의 쓰기 동작을 분석하여 실시간으로 해킹을 감지할 수 있다. 상기 장치는 OS의 쓰기 동작이 정상 동작인지 여부를 판정할 수 있다. 예를 들어, 상기 OS의 상기 쓰기 동작이 코드 영역에 대한 동작인 경우, 상기 장치는 상기 쓰기 동작이 비정상적인 동작이라고 판정할 수 있다. 상기 장치는 비정상적이라고 판정된 쓰기 동작에 대응하는 주소와 데이터를 특정할 수 있다. 상기 장치는 상기 특정된 주소에 상기 특정된 데이터가 기록되는 것을 방지할 수 있다. 예를 들면, 상기 장치는 상기 특정된 데이터가 임시 저장부에 기록되도록 처리하여 상기 특정된 데이터가 상기 특정된 주소에 기록되는 것을 방지할 수 있다.
도 9는 다양한 실시 예들에 따른 신호에 따른 동작 패턴을 통해 해킹을 감지하는 전자 장치의 하드웨어 구성을 도시한다. 이러한 하드웨어 구성은 도 5에 도시된 상기 전자 장치 500에 포함될 수 있다.
상기 도 9를 참조하면, 상기 전자 장치 500은 상기 제어 장치 210, 상기 저장 장치 220, 상기 보안 장치 510, 상기 버스 810을 포함할 수 있다. 상기 보안 장치 510은 상기 도 6에 도시된 상기 신호 검출부 610, 상기 데이터 기록부 630을 포함할 수 있다.
상기 제어 장치 210은 어플리케이션의 실행에 따른 결과, 데이터의 저장 등을 위해 상기 버스 810을 통해 상기 저장 장치 220에 데이터를 저장할 수 있다. 상기 데이터는 쓰기 신호를 통해 전송될 수 있다. 상기 쓰기 신호는 주소와 데이터를 포함할 수 있다. 상기 데이터 기록부 630은 상기 쓰기 신호의 데이터들을 기록할 수 있다. 상기 쓰기 신호의 데이터들이 갱신되는 경우, 상기 데이터 기록부 630은 갱신된 데이터를 기록할 수 있다. 상기 갱신된 데이터가 있는 경우, 상기 신호 검출부 610은 상기 갱신된 데이터의 구조가 변경되는지 여부를 추적할 수 있다. 상기 갱신된 데이터의 구조가 변경되는 경우, 상기 신호 검출부 610은 상기 변경된 데이터와 관련된 데이터 또는 상기 쓰기 신호를 해킹과 관련된 데이터 또는 신호로 검출할 수 있다. 예를 들어, 상기 쓰기 신호에 포함된 데이터의 구조는 데이터 A, 데이터 B, 데이터 C의 순의 연결 리스트(linked-list)를 포함하지만, 상기 저장 장치 220에 저장된 데이터 구조가 상기 데이터 A, 상기 데이터 C로 변경된 경우, 상기 신호 검출부 610은 상기 데이터 B와 관련된 데이터 또는 신호를 해킹과 관련된 데이터 또는 신호로 검출할 수 있다. 예를 들어, 상기 데이터 A가 지시하는 주소가 상기 데이터 B의 주소에서 상기 데이터 C의 주소로 변경된 경우, 상기 신호 검출부 610은 상기 데이터 B, 또는 상기 데이터 B와 관련된 신호를 해킹과 관련된 신호로 검출할 수 있다.
다양한 실시 예들에 따른 상기 보안 장치 510은 쓰기 신호에 따른 동작을 그룹화하여 주소와 데이터를 특정할 수 잇다. 상기 보안 장치 510은 데이터 패턴 매칭을 통해 쓰기 신호에 따른 동작을 그룹화할 수 있다. 예를 들면, 상기 보안 장치 510은 데이터 패턴 매칭을 이용하여 연결 리스트의 변조를 이용한 해킹을 감지할 수 있다. 상기 연결 리스트는 각 노드 간의 관련성을 노드에 보관하여 중간 노드의 삽입, 제거를 손쉽게할 수 있는 리스트일 수 있다. 상기 연결 리스트는 노드 배열이 주소와 일치하지 않고, 저장 공간과 독립적으로 이루어진 리스트일 수 있다. 해킹으로 인하여 변조가 발생한 부분의 주소를 특정할 수 없는 경우, 상기 장치는 해당 영역에 기록되는 데이터 패턴을 특정할 수 있다. 상기 장치는 상기 데이터 패턴을 기준으로 하여 해킹을 감시할 수 있다. 상술한 방법을 통해, 상기 장치는 실시간으로 해킹을 감지하면서, 상기 장치의 복잡도를 낮출 수 있으며, 상기 장치의 공간적 크기를 줄일 수 있다.
도 10은 다양한 실시 예들에 따른 데이터 패턴을 통해 해킹을 감지하는 예를 도시한다. 이러한 해킹 감지는 상기 도 5에 도시된 상기 보안 장치 510에서 수행될 수 있다.
상기 도 10을 참조하면, 상기 보안 장치 510은 쓰기 신호에 따른 동작에 대응하는 리스트(list) 구조 1000을 기록할 수 있다. 상기 리스트 구조 1000은 데이터 A와 데이터 B를 포함할 수 있다.
상기 리스트 구조 1020은 쓰기 신호에 따라, 상기 리스트 구조 1000가 갱신된 것일 수 있다. 상기 리스트 구조 1020은 상기 데이터 A, 상기 데이터 B 뿐만 아니라, 데이터 C를 포함할 수 있다. 상기 데이터 C는 상기 도 5에 도시된 상기 제어 장치 210 등에 의해 생성된 데이터이거나, 해킹에 의해 생성된 데이터일 수 있다. 상기 리스트 구조 1020과 같이 리스트 구조의 갱신이 이뤄진 경우, 상기 보안 장치 510은 해킹 방지를 위해 상기 리스트 구조 1020을 감시할 수 있다.
리스트 구조 1040은 상기 저장 장치에 저장된 리스트 구조일 수 있다. 상기 리스트 구조 1040은 상기 신호 검출부 610이 감시하고 있는 리스트 구조일 수 있다. 상기 리스트 구조 1040은 상기 리스트 구조 1020이 변조된 것일 수 있다. 상기 리스트 구조 1040은 상기 리스트 구조 1020에서 데이터 C의 연결이 끊어진 구조 1035를 가질 수 있다. 이러한 경우, 상기 신호 검출부 610은 상기 데이터 C를 지시하는 주소가 상기 데이터 A를 지시하는 주소로 변경된 것을 인지할 수 있다. 상기 신호 검출부 610은 상기 데이터 C 또는 상기 데이터 C와 관련된 신호를 해킹과 관련된 데이터 또는 신호로 검출할 수 있다.
상기 보안 장치 510은 해킹을 방지하기 위해 상기 검출된 데이터 또는 신호를 가공할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 검출된 데이터 또는 신호를 폐기할 수 있다. 다른 예를 들면, 상기 보안 장치 510은 상기 검출된 데이터 또는 신호를 상기 임시 저장부 640에 임시 저장할 수 있다.
도 11은 다양한 실시 예들에 따른 신호를 통해 해킹을 예측하는 전자 장치의 하드웨어 구성을 도시한다. 이러한 하드웨어 구성은 상기 도 5에 도시된 상기 전자 장치 500에 의해 수행될 수 있다.
상기 전자 장치 500은 상기 도 5에 도시된 상기 제어 장치 210, 상기 보안 장치 510, 상기 저장 장치 220, 상기 버스 810을 포함할 수 있다. 상기 보안 장치 510은 상기 도 6에 도시된 상기 신호 검출부 610, 상기 신호 생성부 650을 포함할 수 있다.
상기 제어 장치 210은 상기 저장 장치 220에게 읽기 요청 신호를 송신할 수 있다. 상기 읽기 요청 신호는 상기 보안 장치 510을 통해 상기 저장 장치 220에 수신될 수 있다. 상기 신호 검출부 610은 상기 읽기 요청 신호에 포함된 주소에 기반하여 상기 읽기 요청 신호가 해킹에 취약한 신호인지 여부를 판정할 수 있다. 예를 들어, 상기 읽기 요청 신호가 개인 정보를 포함하는 신호인 경우, 상기 신호 검출부 610은 상기 읽기 요청 신호가 해킹에 취약한 신호라고 판정할 수 있다. 상기 신호 생성부 650은 이후에 발생할 수 있는 해킹을 예측하기 위해 상기 읽기 요청 신호에 태그를 첨부할 수 있다. 실시 예에 따라, 상기 신호 생성부 650은 이후에 발생할 수 있는 해킹을 예측하기 위해 상기 읽기 요청 신호와 독립된 태그 신호를 송신할 수 있다. 상기 보안 장치 510은 상기 태그 또는 상기 태그 신호를 통해, 상기 읽기 요청 신호에 기반하여 생성된 신호 또는 데이터를 추적할 수 있다. 상기 보안 장치 510은 상기 추적되는 데이터 또는 신호에 따른 동작들을 기록하여 해킹을 예측할 수 있다.
도 12는 다양한 실시 예들에 어플리케이션 영역의 신호를 통해 해킹을 감지하는 전자 장치의 하드웨어 구성을 도시한다. 이러한 하드웨어 구성은 상기 도 5에 도시된 상기 전자 장치 500에 포함될 수 있다.
상기 도 12를 참조하면, 상기 전자 장치 500은 상기 제어 장치 210, 상기 임시 저장부 640, 상기 저장 장치 220, 상기 버스 810, 상기 보안 장치 510, 상기 표시 장치 260, 상기 감지 장치 240을 포함할 수 있다. 상기 보안 장치 510은 상기 신호 검출부 610, 상기 주소 변환부 620, 표시 제어부 1210, 명령 제어부 1220, 전력 제어부 1230을 포함할 수 있다.
상기 제어 장치 210은 상기 버스 810을 통해 상기 표시 장치 260과 동작적으로 결합될 수 있다. 상기 제어 장치 210은 상기 표시 장치 260에 UI 등을 표시하기 위해, 상기 표시 제어부 1210을 통해 신호를 송신할 수 있다. 상기 제어 장치 210은 상기 표시 장치 260에 표시된 UI 등을 갱신하기 위해, 상기 명령 제어부 1220을 통해 신호를 송신할 수 있다. 상기 제어 장치 210은 상기 표시 장치 260의 전력 제어를 위해 상기 전력 제어부 1230을 통해 신호를 송신할 수 있다. 상기 감지 장치 240은 카메라일 수 있다. 상기 표시 장치 260이 비활성화되었는데, 상기 감지 장치 240으로부터 신호가 송신되는 경우, 또는 상기 표시 장치 260이 비활성화되었는데, 상기 감지 장치 240에게 신호가 수신되는 경우, 상기 보안 장치 510은 상기 신호들을 해킹과 관련된 신호로 검출할 수 있다. 왜냐하면 프리뷰 등의 화면 없이 상기 감지 장치 240을 이용하는 것은 사용자의 의사와 무관할 수 있기 때문이다.
상기 주소 변환부 620은 상기 검출된 신호에 포함된 주소를 상기 임시 저장부 640의 주소로 변환할 수 있다. 상기 검출된 신호에 포함된 주소의 변경을 통해, 상기 보안 장치 510은 상기 검출된 신호가 상기 제어 장치 210 또는 상기 저장 장치 220으로 전송되는 것을 차단할 수 있다. 도 12에 도시하지 않았지만, 실시 예에 따라, 상기 보안 장치 510은 상기 도 6에 도시된 상기 신호 생성부 650을 통해 경고 메시지를 생성할 수 있다. 상기 표시 장치 260은 상기 생성된 경고 메시지를 표시할 수 있다.
상술한 바와 같이, 상기 전자 장치 500은 구성 요소들 간의 관계에 기초하여 해킹 가능성을 판단할 수 있다. 상기 도 12의 경우, 상기 표시 장치 260과 상기 감지 장치 240 간의 관계를 예시하였으나, 다른 장치들 간에서도 유사한 절차가 수행될 수 있다. 실시 예에 따라, 상기 보안 장치 510은 각각의 구성요소들을 모니터링하는 장치를 각각의 구성요소에 추가할 수 있다.
도 13은 다양한 실시 예들에 따른 어플리케이션 영역의 신호의 예를 도시한다.
상기 도 13을 참조하면, 신호 1310은 상기 도 5에 도시된 상기 표시 장치 260에 대한 신호일 수 있다. 상기 신호 1310은 구간 1320에서 상기 표시 장치 260이 비활성화 상태임을 지시할 수 있다.
신호 1350은 상기 도 5에 도시된 상기 감지 장치 240에 대한 신호일 수 있다. 상기 신호 1350은 구간 1360에서 상기 감지 장치 240이 활성화 상태임을 지시할 수 있다. 상기 감지 장치 240은 카메라일 수 있다.
상기 신호 1310과 상기 신호 1350은 같은 시간축을 공유할 수 있다. 상기 신호 1310과 상기 신호 1350은 상기 표시 장치 260이 비활성화되어 있는 동안, 상기 감지 장치 240이 활성화되어 있다는 것을 지시할 수 있다. 이러한 상황에서는, 사용자 등이 프리뷰 화면 등을 이용할 수 없기 때문에, 상기 보안 장치 500은 상기 신호 1350을 해킹 신호로 검출할 수 있다.
도 14는 다양한 실시 예들에 따른 어플리케이션 영역의 신호를 통해 해킹을 감지하는 전자 장치의 다른 하드웨어 구성을 도시한다. 이러한 하드웨어 구성은 상기 도 5에 도시된 상기 전자 장치 500에 포함될 수 있다.
상기 전자 장치 500은 상기 도 5에 도시된 상기 제어 장치 210, 상기 저장 장치 220, 상기 버스 810, 상기 보안 장치 510, 상기 통신 장치 230을 포함할 수 있다. 상기 보안 장치 510은 상기 도 6에 도시된 상기 신호 검출부 610, 상기 신호 생성부 650을 포함할 수 있다.
상기 제어 장치 210은 상기 버스 810을 통해 상기 통신 장치 230에게 신호를 송신할 수 있다. 상기 신호는 상기 통신 장치 230을 통해 다른 장치에게 송신되는 신호일 수 있다. 상기 제어 장치 210은 상기 버스 810을 통해 상기 통신 장치 230으로부터 신호를 수신할 수 있다.
상기 신호 검출부 610은 상기 통신 장치 230에게 송신되는 신호 또는 상기 통신 장치 230으로부터 수신되는 신호가 해킹과 관련된 신호인지 여부를 검출할 수 있다. 상기 신호 검출부 610은 상기 신호들의 소스 포트 넘버(source port number)와 프로세서 ID(identifier)를 비교하여 상기 신호가 해킹과 관련된 신호인지 여부를 검출할 수 있다. 예를 들어, 상기 신호 검출부 610은 상기 소스 포트 넘버와 상기 프로세서 ID에 기반하여 상기 통신 장치 230과 관련성이 없는 어플리케이션을 통해 전송되거나 생성된 신호를 해킹과 관련된 신호로 검출할 수 있다. 다른 예를 들어, 플래그가 첨부된 신호가 상기 플래그와 대응하지 않는 영역으로 노출된다고 판단되는 경우, 상기 신호 검출부 610은 상기 플래그가 첨부된 신호에 대한 신호들을 해킹과 관련된 신호로 검출할 수 있다.
상기 신호 생성부 650은 보안이 필요한 신호 또는 데이터(예를 들면, 유출되지 않아야 할 개인 정보, 금융 정보 등)에 플래그를 삽입할 수 있다. 상기 신호 생성부 650은 해킹에 대한 감시가 요구되는 신호 또는 데이터(예를 들면, 상기 신호 검출부 610을 통해 해킹에 취약할 수 있다고 판단된 신호 또는 데이터)에 태그를 삽입할 수 있다. 예를 들면, 상기 신호 생성부 650은 외부로부터 수신된 신호에 태그를 삽입할 수 있다.
상기 통신 장치 230을 통해 해킹과 관련된 신호가 수신된다고 판단되는 경우, 상기 신호 생성부 650은 상기 해킹과 관련된 신호를 변환하여 널(null) 데이터가 포함된 신호를 생성할 수 있다. 예를 들어, 개인 정보를 유출할 수 있는 데이터를 포함하는 신호가 상기 통신 장치 230을 통해 수신된다고 하자. 상기 신호 검출부 610은 상기 수신되는 신호에 포함된 데이터에 기반하여 상기 수신되는 신호를 해킹과 관련된 신호로 검출할 수 있다. 이에 대응하여 상기 신호 생성부 650은 상기 수신되는 신호의 전송을 중단시키기 위해, 상기 수신되는 신호를 변환하여 널 데이터가 포함된 신호를 생성할 수 있다.
상술한 바와 같이, 상기 보안 장치 510은 어플리케이션 및 구성 요소들 간의 관계에 기초하여 해킹 가능성을 판단할 수 있다. 상기 도 13의 경우, 상기 통신 장치 230에 대한 관계를 예시하였지만, 다른 구성 요소들에 대하여도 유사한 절차가 수행될 수 있다.
도 15는 다양한 실시 예들에 따른 해킹을 감지하는 전자 장치의 동작 예를 도시한다. 이러한 동작 예는 상기 도 5에 도시된 상기 전자 장치 500에 의해 수행될 수 있다.
상기 전자 장치 500은 상기 도 5에 도시된 제어 장치 210, 상기 통신 장치 230, 상기 감지 장치 240, 상기 입출력 장치 250, 상기 보안 장치 510을 포함할 수 있다. 상기 보안 장치 510은 상기 도 6에 도시된 상기 신호 검출부 610을 포함할 수 있다.
상기 제어 장치 210은 사용자의 입력 등에 의해 사용자 어플리케이션(예를 들면, 채팅 앱) 1510을 실행할 수 있다. 상기 제어 장치 210은 상기 사용자 어플리케이션의 실행에 의해 발생되는 신호들을 각각의 주변 장치 520에게 송신할 수 있다. 상기 보안 장치 510은 상기 제어 장치 210과 상기 주변 장치 520 간의 신호들에 해킹과 관련된 신호가 포함되었는지 여부를 감지할 수 있다.
상기 보안 장치 510에 포함된 상기 신호 검출부 610은 상기 제어 장치 210과 상기 주변 장치 520 간의 신호들을 분석할 수 있다. 예를 들어, 상기 사용자 어플리케이션 1510이 실행되고 있는 상기 전자 장치 500은 상기 통신 장치 230, 상기 감지 장치 240, 상기 입출력 장치 250을 활성화할 수 있다.
상기 어플리케이션 1510의 실행(채팅 앱의 실행)을 위해, 상기 제어 장치 210은 상기 통신 장치 230을 활성화할 수 있다. 상기 통신 장치 230은 여러 가지 통신 방식을 통해 텍스트 정보 등을 송수신할 수 있다.
상기 어플리케이션 1510의 실행(채팅 앱의 실행)을 위해, 상기 제어 장치 210은 상기 입출력 장치 250을 활성화할 수 있다. 상기 도 15의 예시에서, 상기 입출력 장치 250은 사용자의 터치 입력을 상기 제어 장치 210에게 전달할 수 있다.
상기 도 15의 예시에서, 상기 감지 장치 240은 상기 사용자 어플리케이션 1510의 실행과 관련성이 없을 수 있다. 그럼에도 불구하고, 상기 제어 장치 210이 상기 감지 장치 240을 활성화하는 경우, 상기 제어 장치 210에서 상기 감지 장치 240으로 전달되는 신호는 해킹과 관련된 신호일 수 있다. 또한, 이미 활성화된 상기 감지 장치 240으로부터 상기 제어 장치 210이 신호를 수신하는 경우, 상기 신호는 해킹과 관련된 신호일 수 있다. 왜냐하면 상기 사용자 어플리케이션 1510의 실행과 상기 감지 장치 240의 활성화는 관련이 없을 수 있기 때문이다.
상기 신호 검출부 610은 상기 제어 장치와 상기 감지 장치 240 간의 신호를 해킹과 관련된 신호로 검출할 수 있다. 예를 들어, 상기 신호 검출부 610은 상기 제어 장치 210와 상기 주변 장치 520 간의 신호가 상기 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는지 여부를 판정할 수 있다. 상기 신호 검출부 610은 상기 제어 장치 210과 상기 주변 장치 520 간의 신호가 상기 신호와 관련되지 않은 장치를 활성화하는 경우(예를 들면, 상기 감지 장치 240), 상기 제어 장치 210과 상기 주변 장치 520 간의 신호를 해킹과 관련된 신호로 검출할 수 있다.
실시 예에 따라, 상기 보안 장치 510은 상기 제어 장치 210과 상기 주변 장치 520 간의 신호를 폐기할 수도 있다.
도 16은 다양한 실시 예들에 따른 보안 장치가 자동차에 장착된 예를 도시한다. 상기 자동차에 장착된 보안 장치는 상기 도 5에 도시된 상기 보안 장치 510일 수 있다.
상기 도 16을 참조하면, 상기 보안 네트워크 환경 1600은 보안 네트워크 서버 1605, 안전 시스템 1610, 구동 시스템 1620, 바디 시스템 1630, 편의 시스템 1640을 포함할 수 있다.
상기 안전 시스템 1610은 자동차의 주행 안전 또는 운전자의 안전을 위한 장치들을 포함할 수 있다. 예를 들면, 상기 안전 시스템 1610은 브레이크, 에어백 등을 포함할 수 있다. 상기 자동차는 통신 기능을 포함할 수 있다. 상기 자동차는 상기 통신 기능을 통해, 편의성을 추구할 수 있다. 하지만, 상기 자동차는 상기 통신 기능으로 인하여 해킹에 노출될 수 있다. 예를 들면, 상기 자동차는 해킹 공격으로 인하여 브레이크의 오작동을 일으킬 수 있다. 이러한 해킹 공격을 검출하고, 상기 해킹 공격에 대응하기 위하여 상기 도 5에 도시된 상기 보안 장치 510은 상기 브레이크, 상기 에어백 등에 각각 설치될 수 있다. 상기 보안 장치 510은 상기 자동차에 수신되는 해킹과 관련된 신호를 검출할 수 있다. 상기 보안 장치 510은 상기 검출된 신호의 수신을 차단하여 해킹 공격으로부터 상기 자동차를 보호할 수 있다. 상기 보안 장치 510은 상기 보안 네트워크 서버 1605과 통신할 수 있다. 상기 보안 장치 510은 상기 보안 네트워크 서버 1605으로부터 업데이트 정보를 포함하는 신호를 수신하여 업데이트를 수행할 수 있다.
상기 구동 시스템 1620은 자동차의 구동계와 관련된 장치들을 포함할 수 잇다. 예를 들면, 상기 구동 시스템 1620은 ECU(engine control unit), 엔진, 트랜스미션 등을 포함할 수 있다. 상기 자동차는 통신 기능을 포함할 수 있기 때문에, 상기 구동 시스템 1620은 해킹 공격에 노출될 수 있다. 해킹으로 인하여 상기 구동 시스템 1620이 오작동하는 경우, 상기 자동차의 사용자는 위험에 처할 수 있다. 이러한 해킹 공격을 검출하고, 상기 해킹 공격에 대응하기 위하여 상기 보안 장치 510은 상기 ECU, 상기 엔진, 상기 트랜스미션 등에 각각 설치될 수 있다. 상기 보안 장치 510은 상기 자동차에 수신되는 해킹과 관련된 신호를 검출할 수 있다. 상기 보안 장치 510은 상기 검출된 신호의 수신을 차단하여 해킹 공격으로부터 상기 자동차를 보호할 수 있다. 상기 보안 장치 510은 상기 보안 네트워크 서버 1605과 통신하여 상기 구동 시스템 1620을 위한 업데이트를 수행할 수 있다.
상기 바디 시스템 1630은 자동차의 구조와 관련된 장치들을 포함할 수 있다. 예를 들면, 상기 바디 시스템 1630은 공조 장치, 시트 장치 등을 포함할 수 있다. 상기 자동차는 통신 기능을 포함할 수 있기 때문에, 상기 바디 시스템 1630은 해킹 공격에 노출될 수 있다. 해킹으로 인하여 상기 구동 시스템 1630이 오작동하는 경우, 상기 자동차의 사용자는 위험에 처할 수 있다. 예를 들어, 운전 중인 사용자가 착석한 시트 장치가 움직이는 경우, 상기 사용자는 위험에 처할 수 있다. 이러한 해킹 공격을 예측하고, 검출하며, 상기 해킹 공격에 대응하기 위하여 상기 보안 장치 510은 상기 공조 장치, 상기 시트 장치 각각에 설치될 수 있다. 상기 보안 장치 510은 상기 자동차에 수신되는 해킹과 관련된 신호를 검출하여, 해킹 공격으로부터 상기 바디 시스템 1630을 보호할 수 있다.
상기 편의 시스템 1640은 사용자의 편의를 위한 장치들을 포함할 수 있다. 예를 들면, 상기 편의 시스템은 네비게이션 시스템, 텔레메틱스 등을 포함할 수 있다. 상기 편의 시스템 1640은 상기 자동차의 통신 기능으로 인하여 해킹 공격에 노출될 수 있다. 예를 들어, 상기 네비게이션 시스템은 해킹과 관련된 신호의 수신으로 인하여 오작동할 수 있다. 상기 해킹 공격에 대응하기 위하여 상기 보안 장치 510은 해킹 공격을 예측하고, 해킹 공격을 검출하며, 상기 해킹 공격에 대응할 수 있다.
각각의 시스템(예를 들면, 상기 안전 시스템 1610, 상기 구동 시스템 1620, 상기 바디 시스템 1630, 상기 편의 시스템 1640 등)들은 상호 간에 정보 교환을 수행할 수 있다. 상기 정보 교환은 사용자 등에게 편의를 제공할 수 있다. 하지만 이에 대한 트레이드-오프(trade-off)로 상기 정보 교환은 해킹 공격에 쉽게 노출될 수 있는 환경을 제공할 수도 있다. 상기 보안 장치 510은 각각의 시스템에 설치되어 해킹과 관련된 데이터, 신호 등을 공유할 수 있다. 또한, 상기 보안 장치 510은 상기 보안 네트워크 서버 1605와의 통신을 통해 상기 보안 장치 510을 업데이트할 수 있다. 상술한 바와 같은 정보 공유 및 업데이트를 통해, 상기 보안 장치 510은 유연하게 해킹에 대처할 수 있다.
상술한 바와 같은 다양한 실시 예들에 따른 장치(apparatus)는, 송수신부와, 상기 송수신부와 동작적으로 결합된 제어부를 포함할 수 있고, 상기 제어부는, 제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된(designated) 주소를 포함하는지 여부를 검출하도록 구성되고, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하도록 구성될 수 있으며, 상기 제1 신호는, 상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호일 수 있고, 상기 제2 신호는, 상기 제1 신호로부터 생성된 신호에 이상(uncommon) 데이터가 포함되었는지 여부를 검출하기 위한 신호일 수 있다. 상기 제어부는, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 상기 제1 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하도록 더 구성될 수 있다.
또한, 상기 제어부는, 상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호가 불변(immutable) 영역에 대한 주소를 포함하는지 여부를 검출하도록 더 구성될 수 있고, 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호의 주소를 변환하여 상기 저장 장치로의 전송을 차단하도록 더 구성될 수 있으며, 상기 제3 신호는, 상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함할 수 있다. 상기 제어부는, 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하도록 더 구성될 수 있다. 또한, 상기 제어부는, 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호를 폐기(discard)하도록 구성될 수 있다.
또한, 상기 제어부는, 상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호에 포함된 주소에 기반하여 상기 제3 신호의 데이터를 기록하도록 더 구성되고, 상기 기록된 데이터가 갱신되는지 여부를 검출하도록 더 구성되고, 상기 기록된 데이터가 갱신되는 경우, 상기 제3 신호가 상기 저장 장치에 저장된 후 상기 데이터의 구조가 변경되는지 여부를 검출하도록 더 구성되고, 상기 데이터의 구조가 변경되는 경우, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 검출하도록 더 구성되고, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 폐기하도록 더 구성될 수 있으며, 상기 제3 신호는, 상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함할 수 있다. 상기 제어부는, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호가 검출된 경우, 경고 메시지를 표시 장치에 표시하도록 더 구성되될 수 있다.
또한, 상기 제어부는, 상기 제어 장치와 다른 장치 간의 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는지 여부를 검출하도록 더 구성되고, 상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호의 전송을 차단하도록 더 구성될 수 있다. 또한, 상기 제어부는, 상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호를 폐기(discard)하도록 구성될 수 있다.
도 17은 다양한 실시 예들에 따른 장치의 동작을 도시한 흐름도이다. 이러한 동작은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다. 상기 보안 장치 510은 장치(apparatus)로 지칭될 수도 있다.
상기 도 17을 참조하면, 1710 단계에서, 상기 보안 장치 510은 상기 제어 장치 210에서 상기 저장 장치 220으로 송신되는 제1 신호가 지정된 주소를 포함하는지 여부를 검출할 수 있다. 상기 제1 신호는 상기 제어 장치 210이 상기 저장 장치 220에게 데이터를 요청하는 신호일 수 있다. 상기 제1 신호는 읽기 요청 신호에 대응할 수 있다. 상기 지정된 주소는 사용자의 설정, 상기 전자 장치 500의 설정에 의해 미리 정해진 주소일 수 있다. 상기 지정된 주소는 해킹이 발생하기 쉬운 위치를 의미하는 주소일 수 있다.
1720 단계에서, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 상기 보안 장치 510은 제2 신호를 상기 제어 장치 210에게 송신할 수 있다. 상기 제1 신호는 상기 제어 장치 210에 수신된 후, 가공될 수 있다. 예를 들면, 상기 제어 장치 210은 상기 제1 신호에 기반하여 여러 개의 제어 신호 등을 생성할 수 있다. 상기 생성된 여러 개의 제어 신호들은 해킹에 노출될 위험이 큰 신호일 수 있다. 상기 보안 장치 510은 상기 생성된 여러 개의 제어 신호들을 추적할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 생성된 여러 개의 제어 신호들에 태그를 삽입하거나, 태그 신호를 부가할 수 있다. 상기 제2 신호는 상기 제1 신호로부터 생성된 신호에 이상(uncommon) 데이터가 포함되었는지 여부를 검출하기 위한 신호일 수 있다. 상기 제2 신호는 태그 또는 태그 신호를 의미할 수 있다.
다양한 실시 예들에 따른 상기 보안 장치 510은 상기 제1 신호를 통해 해킹이 발생할 수 있을지 여부를 예측할 수 있다. 상기 제1 신호가 해킹에 노출되기 쉬운 신호라고 판정한 경우, 해킹 발생 여부를 예측하기 위해, 상기 보안 장치 510은 상기 제1 신호와 상기 제1 신호로부터 생성된 신호들을 감시할 수 있다.
도 18은 다양한 실시 예들에 따른 해킹을 예측하는 장치의 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 18을 참조하면, 1810 단계에서, 상기 보안 장치 510은 상기 제어 장치 210에서 상기 저장 장치 220으로 송신되는 제1 신호가 지정된 주소를 포함하는지 여부를 검출할 수 있다. 상기 제1 신호가 지정된 주소를 포함하지 않는 경우, 상기 보안 장치 510은 상기 제1 신호를 더 이상 추적하지 않을 수 있다. 지정된 주소를 포함하는 않는 경우, 상기 제1 신호는 해킹에 노출될 위험이 적은 신호일 수 있기 때문이다. 이러한 동작을 통해, 상기 보안 장치 510은 회로의 점유 면적을 줄일 수 있고, 복잡도를 감소시킬 수 있으며, 효율적으로 해킹에 대응할 수 있다.
상기 제1 신호가 지정된 주소를 포함하는 경우, 1820 단계에서, 상기 보안 장치 510은 상기 제2 신호를 상기 제어 장치에게 송신할 수 있다. 상기 제2 신호의 송신을 통해, 상기 보안 장치 510은 상기 제1 신호와 상기 제1 신호로부터 비롯된 신호들을 추적할 수 있다. 상기 보안 장치 510은 이러한 추적을 통해, 상기 제1 신호와 상기 제1 신호로부터 비롯된 신호들에서 해킹이 발생되는지 여부, 해킹이 발생될 수 있는지 여부를 검출할 수 있다.
다양한 실시 예들에 따른 상기 보안 장치 510은 읽기 요청 신호에 기반하여 해킹을 예측할 수 있다. 다양한 실시 예들에 따른 상기 보안 장치 510은 읽기 요청 신호에 기반하여 해킹을 예측함으로써, 해킹 공격에 대하여 보다 유연하게 대응할 수 있다.
도 19는 다양한 실시 예들에 따른 해킹을 예측하여 경고 메시지를 표시하는 장치의 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 19를 참조하면, 1910 단계와 1920 단계는 상기 도 18의 상기 1810 단계와 상기 1820 단계에 대응될 수 있다.
해킹이 예측되는 경우, 1930 단계에서, 상기 보안 장치 510은 사용자에게 해킹이 발생될 수 있다는 것을 경고하기 위해 경고 메시지를 상기 도 5에 도시된 상기 표시 장치 260에 표시할 수 있다.
상기 1920 단계의 동작과, 상기 1930 단계에서의 동작은 상기 도 19의 예시와 달리, 동시에 수행될 수도 있고, 역순으로 수행될 수도 있다.
다양한 실시 예들에 따른 상기 보안 장치 510은 해킹이 발생될 수 있는 상황을 사용자 등에게 표시하여 보다 나은 보안을 제공할 수 있다.
도 20은 다양한 실시 예들에 따른 해킹을 예측하는 전자 장치의 신호 흐름을 도시한다. 이러한 신호 흐름은 상기 도 5에 도시된 상기 전자 장치 500의 내부에서 발생될 수 있다.
상기 도 20을 참조하면, 2010 단계에서, 상기 제어 장치 210은 상기 저장 장치 220에게 제1 신호를 송신할 수 있다. 상기 제1 신호는 읽기 요청 신호일 수 있다. 어플리케이션의 실행, 상기 전자 장치 500의 제어를 위해 상기 제어 장치 210은 상기 저장 장치 220에게 명령어, 데이터 등을 요구할 수 있다. 상기 읽기 요청 신호는 상기 명령어, 상기 데이터 등을 요구하는 신호일 수 있다.
2030 단계에서, 상기 보안 장치 510은 상기 제1 신호가 지정된 주소를 포함하는지 여부를 검출할 수 있다. 상기 보안 장치 510은 상기 제1 신호의 주소가 지정된 주소인지 여부를 판정할 수 있다. 예를 들어, 지정된 주소가 상기 도 5에 도시된 상기 통신 장치 230의 주소를 포함하고, 상기 제1 신호가 상기 통신 장치 230의 주소를 포함하는 경우, 상기 보안 장치 510은 상기 제1 신호의 주소가 지정된 주소를 포함한다고 검출할 수 있다.
상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 2040 단계에서, 상기 보안 장치 510은 제2 신호를 생성할 수 있다. 상기 제2 신호는 상기 제1 신호를 추적하기 위한 신호일 수 있다. 상기 제2 신호는 상기 제1 신호로부터 생성된 신호들을 추적하기 위한 신호일 수 있다.
2050 단계에서, 상기 보안 장치 510은 상기 제2 신호를 상기 제어 장치 210에게 송신할 수 있다. 상기 제2 신호를 통해, 상기 보안 장치 510은 해킹이 발생되는지 여부를 검출할 수 있다.
2060 단계에서, 상기 보안 장치 510은 경고 메시지 표시 명령을 상기 표시 장치 260에게 송신할 수 있다. 이에 대응하여, 상기 표시 장치 260은 상기 경고 메시지 표시 명령을 수신할 수 있다.
상기 2050 단계와 상기 2060 단계의 동작들 각각은 순차적으로 수행될 수도 있고, 역순으로 수행될 수도 있으며, 동시에 수행될 수도 있다.
2070 단계에서, 상기 표시 장치 260은 경고 메시지를 표시할 수 있다. 상기 경고 메시지를 통해, 상기 전자 장치 500의 사용자는 상기 전자 장치 500에서 해킹이 발생될 수 있음을 예측할 수 있다.
상기 2060 단계 및 상기 2070 단계는 실시 예에 따라, 생략될 수 있다.
도 21은 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 장치의 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 21을 참조하면, 2110 단계에서, 상기 보안 장치 510은 제3 신호가 불변 영역에 대한 주소를 포함하는지 여부를 검출할 수 있다. 상기 제3 신호는 상기 제어 장치가 상기 저장 장치 220에 기록하기 위한 데이터를 포함하는 신호일 수 있다. 상기 제3 신호는 쓰기 신호일 수 있다. 상기 제어 장치 210은 갱신이 필요한 데이터, 새로 저장할 데이터를 상기 쓰기 신호를 통해 상기 저장 장치 220에게 저장할 수 있다. 상기 불변 영역은 OS의 코드 영역, 시스템 콜 테이블, 및 인터럽트(interrupt) 설명자 테이블 중 하나일 수 있다. 상기 불변 영역은 갱신이 발생될 수 없거나, 제한된 영역일 수 있다. 이러한 불변 영역에 특정 신호가 송신된다는 것은 해킹일 수도 있다. 상기 보안 장치 510은 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는지 여부를 검출하여 상기 전자 장치 500에서 해킹이 발생되는지 여부를 검출할 수 있다.
상기 제3 신호가 불변 영역에 대한 주소를 포함하지 않는 경우, 상기 보안 장치 510은 상기 제3 신호가 해킹과 관련이 없다고 판단하고, 상기 제3 신호를 상기 저장 장치 220에게 전달되도록 할 수 있다.
상기 제3 신호가 불변 영역에 대한 주소를 포함하는 경우, 2120 단계에서, 상기 보안 장치 510은 상기 제3 신호의 주소를 변환하여 상기 저장 장치 220으로의 전송을 차단할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 제3 신호의 기존 주소를 상기 도 6에 도시된 상기 임시 저장부 640의 주소로 변경하여 상기 제3 신호가 상기 저장 장치 220에 기록되는 것을 방지할 수 있다.
2130 단계에서, 상기 보안 장치 510은 상기 도 5에 도시된 상기 표시 장치 260에 경고 메시지를 표시할 수 있다. 상기 경고 메시지는 해킹이 발생되었다는 것을 나타내는 메시지일 수 있다. 상기 경고 메시지를 통해, 상기 전자 장치 500의 사용자는 해킹이 상기 전자 장치 500에서 발생하였음을 인지할 수 있다. 상기 경고 메시지는 상기 제3 신호에서 해킹이 발견되어 전송이 차단되었음을 나타내는 메시지일 수도 있다. 실시 예에 따라, 상기 2130 단계는 생략될 수 있다.
다양한 실시 예들에 따른 보안 장치 510은 해킹과 관련된 신호가 상기 저장 장치 220에게 저장되지 않도록 하여 해킹을 막을 수 있다. 다양한 실시 예들에 따른 보안 장치 510은 쓰기 신호에서 해킹을 검출하여 상기 전자 장치 500의 보안을 유지할 수 있다.
도 22는 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 장치의 다른 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 22를 참조하면, 2210 단계는 상기 도 21에 도시된 상기 2110 단계에 대응될 수 있다.
2220 단계에서, 상기 보안 장치 510은 상기 제3 신호를 폐기할 수 있다. 상기 제3 신호가 해킹과 관련된 신호라고 판정된 경우, 상기 보안 장치 510은 상기 제3 신호를 폐기(discard)할 수 있다.
다양한 실시 예들에 따른 상기 보안 장치 510은 해킹과 관련된 신호를 폐기하여 상기 도 5에 도시된 상기 전자 장치 500의 보안을 유지할 수 있다.
도 23은 다양한 실시 예들에 따른 신호를 통해 해킹을 감지하는 전자 장치의 신호 흐름을 도시한다. 이러한 신호 흐름은 상기 도 5에 도시된 상기 전자 장치 500에 의해 수행될 수 있다.
상기 도 23을 참조하면, 2310 단계에서, 상기 제어 장치 210은 상기 보안 장치 510에게 제3 신호를 송신할 수 있다. 상기 제3 신호는 쓰기 신호일 수 있다. 상기 제3 신호는 상기 보안 장치 510을 통해 상기 저장 장치 220에게 전송될 수 있다. 상기 제3 신호는 상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함할 수 있다.
2320 단계에서, 상기 보안 장치 510은 상기 제3 신호가 불변 영역에 대한 주소를 포함하는지 여부를 검출할 수 있다. 불변 영역은 갱신이 제한되는 영역이기 때문에, 상기 보안 장치 510은 상기 제3 신호가 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호를 해킹과 관련된 신호로 검출할 수 있다.
상기 제3 신호가 불변 영역에 대한 주소를 포함하는 경우, 2330 단계에서, 상기 보안 장치 510은 상기 임시 저장부 640에게 상기 제3 신호를 전송할 수 있다. 상기 보안 장치 510은 상기 제3 신호의 주소를 상기 임시 저장부 640의 주소로 변환하여 상기 제3 신호가 상기 저장 장치 220에게 전송되는 것을 차단할 수 있다.
2340 단계에서, 상기 보안 장치 510은 경고 메시지 표시 명령을 상기 표시 장치 260에게 전송할 수 있다. 상기 경고 메시지는 상기 제3 신호가 해킹과 관련된 신호임을 지시하는 메시지일 수 있다.
상기 2330 단계의 동작과 상기 2340 단계의 동작은 동시에 수행될 수도 있고, 순차적으로 수행될 수도 있다.
2350 단계에서, 상기 경고 메시지 표시 명령의 수신에 대응하여, 상기 표시 장치 260은 경고 메시지를 표시할 수 있다. 상기 전자 장치 500의 사용자는 상기 경고 메시지를 통해 상기 전자 장치 500에서 해킹이 발생되었음을 인지할 수 있다. 또한, 상기 전자 장치 500의 사용자는 상기 경고 메시지를 통해 상기 제3 신호가 차단되었음을 인지할 수 있다. 상기 제3 신호가 해킹과 관련된 신호가 아닌 경우, 상기 사용자의 입력을 통해 상기 경고 메시지는 상기 저장 장치 220에 저장될 수도 있다.
상기 제3 신호가 불변 영역에 대한 주소를 포함하지 않는 경우, 2360 단계에서, 상기 보안 장치 510은 상기 제3 신호를 상기 저장 장치 220에게 전송할 수 있다. 상기 저장 장치 220은 상기 제3 신호를 수신할 수 있다. 상기 저장 장치 220은 상기 제3 신호에 포함된 데이터를 기록할 수 있다.
도 24는 다양한 실시 예들에 따른 신호에 대응하는 동작을 통해 해킹을 감지하는 장치의 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 24를 참조하면, 2410 단계에서, 상기 보안 장치 510은 제3 신호의 데이터를 기록할 수 있다. 상기 보안 장치 510은 상기 기록된 데이터에 기반하여 상기 데이터의 갱신 여부를 모니터링할 수 있다.
2420 단계에서, 상기 보안 장치 510은 상기 기록된 데이터에 대한 갱신이 이뤄지는지 여부를 판정할 수 있다. 데이터가 갱신되는 경우, 상기 보안 장치 510은 상기 갱신된 데이터를 모니터링할 수 있다.
데이터의 갱신이 있는 경우, 2430 단계에서, 상기 보안 장치 510은 상기 저장 장치 220에 저장된 후, 상기 갱신된 데이터와 관련된 구조가 변경되는지 여부를 모니터링할 수 있다. 예를 들면, 상기 보안 장치 510은 상기 제3 신호에 포함된 데이터를 지시하는 주소가 상기 저장 장치 220에 저장된 후 변경되는지 여부를 모니터링할 수 있다.
상기 저장 장치 220에 저장된 데이터의 구조가 변경되는 경우, 상기 2440 단계에서, 상기 보안 장치 510은 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 검출할 수 있다. 예를 들어, 데이터 A, 데이터 B, 데이터 C 순의 연결 리스트 구조를 가지는 데이터 구조가 상기 저장 장치 220에 저장된 후, 상기 데이터 A, 상기 데이터 C 순의 연결 리스트 구조를 가지는 데이터 데이터 구조로 변경된 경우, 상기 보안 장치 510은 상기 데이터 B 또는 상기 데이터 B와 관련된 신호(예를 들면, 상기 제3 신호)를 해킹과 관련된 데이터 또는 신호로 검출할 수 있다.
2450 단계에서, 상기 보안 장치 510은 상기 표시 장치 260에 경고 메시지를 표시할 수 있다. 상기 경고 메시지는 상기 전자 장치 500의 사용자에게 해킹과 관련된다고 판단되는 신호 또는 데이터가 있음을 지시할 수 있다. 상기 경고 메시지는 상기 전자 장치 500의 사용자에게 해킹과 관련된다고 판단되는 신호 또는 데이터의 전송이 차단되었음을 지시할 수 있다.
도 25는 다양한 실시 예들에 따른 신호에 대응하는 동작을 통해 해킹을 감지하는 장치의 다른 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 25를 참조하면, 2510 단계 내지 2540 단계의 동작은 상기 도 24에 도시된 2410 단계 내지 상기 2440 단계의 동작에 대응될 수 있다.
2550 단계에서, 상기 보안 장치 510은 변경된 데이터 또는 변경된 데이터와 관련된 신호를 폐기할 수 있다. 상기 2550 단계에서의 동작은 상기 2450 단계에서의 동작의 다른 예시일 수 있다. 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호가 해킹과 관련된 데이터라고 확정된 경우, 상기 보안 장치 510은 상기 데이터 또는 신호를 폐기할 수 있다. 상기 2550 단계에서의 동작을 통해, 상기 보안 장치 510은 상기 전자 장치 500의 보안을 유지할 수 있다.
도 26을 다양한 실시 예들에 따른 해킹을 감지하는 전자 장치의 다른 신호 흐름을 도시한다. 이러한 신호 흐름은 상기 도 5에 도시된 상기 전자 장치 500에 의해 수행될 수 있다.
상기 도 26을 참조하면, 2610 단계에서, 상기 제어 장치 210은 상기 보안 장치 510에게 제3 신호를 송신할 수 있다. 상기 제3 신호는 상기 저장 장치 220에 데이터를 기록하기 위한 신호일 수 있다. 상기 제3 신호는 상기 전자 장치 500의 내부 구성요소의 동작을 제어하는 신호일 수 있다. 예를 들면, 상기 제3 신호는 상기 전자 장치 500의 상기 주변 장치 520, 상기 저장 장치 220 등의 동작을 제어하는 신호일 수 있다. 상기 보안 장치 510은 상기 제3 신호를 수신할 수 있다.
2620 단계에서, 상기 보안 장치 510은 상기 제3 신호의 데이터를 기록할 수 있다. 예를 들어, 상기 제3 신호가 데이터 A, 데이터 B, 데이터 C를 포함하는 경우, 상기 보안 장치 510은 상기 데이터 A, 상기 데이터 B, 상기 데이터 C의 데이터 구조를 기록할 수 있다. 상기 기록된 데이터들은 상기 데이터 구조가 갱신되는지 여부를 판단하기 위한 참조로 이용될 수 있다.
2630 단계에서, 상기 보안 장치 510은 상기 기록된 데이터 구조를 이용하여 상기 데이터가 갱신되었는지 여부를 판정할 수 있다. 예를 들어, 새로운 데이터가 상기 데이터 구조에 추가되는 경우, 상기 보안 장치 510은 상기 제3 신호에 따른 데이터가 갱신되었음을 인지할 수 있다.
상기 제3 신호에 따른 데이터가 갱신되었다고 판단되는 경우, 2640 단계에서, 상기 보안 장치 510은 갱신된 데이터가 상기 저장 장치 220에 저장된 후 데이터의 구조가 변경되었는지 여부를 검출할 수 있다. 예를 들어, 상기 저장 장치 220에 저장된 데이터 구조가 데이터 A, 데이터 C 순의 구조를 가졌다고 가정하자. 상기 제3 신호는 상기 데이터 A, 상기 데이터 C 순의 구조를 가지는 데이터 구조를 갱신하는 신호일 수 있다. 상기 제3 신호는 상기 데이터 A와 상기 데이터 C 사이에 데이터 B를 추가하기 위한 신호일 수 있다. 이러한 경우, 상기 데이터 구조는 상기 데이터 A, 상기 데이터 B, 상기 데이터 C의 순의 구조로 갱신될 수 있다. 상기 보안 장치 510은 이러한 데이터 구조의 갱신(또는 데이터의 추가)을 인지할 수 있다. 상기 보안 장치 510은 상기 갱신된 데이터 구조가 상기 저장 장치 220에 저장된 후, 변경되는지 여부를 검출할 수 있다.
상기 저장 장치 220에 저장된 후, 상기 갱신된 데이터의 구조가 변경되는 경우, 2650 단계에서, 상기 보안 장치 510은 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 검출할 수 있다. 상기의 예시에서, 상기 저장 장치 220에 저장된 후, 상기 데이터의 구조가 상기 데이터 B를 제외한 상기 데이터 A, 상기 데이터 C 순으로 변경되는 경우, 상기 보안 장치 510은 상기 데이터 B 또는 상기 데이터 B와 관련된 신호를 해킹과 관련된 데이터 또는 신호로 검출할 수 있다. 구체적으로, 상기 보안 장치 510은 상기 데이터 A가 지시하는 주소가 상기 데이터 B에서 상기 데이터 C로 변경되는 경우, 상기 데이터 B와 상기 데이터 B와 관련된 신호를 해킹과 관련된 데이터 또는 신호로 검출할 수 있다.
2660 단계에서, 상기 보안 장치 510은 상기 표시 장치 260에게 경고 메시지 표시 명령을 송신할 수 있다. 상기 표시 장치 260은 상기 보안 장치 510으로부터 상기 경고 메시지 표시 명령을 수신할 수 있다.
2670 단계에서, 상기 표시 장치 260은 상기 경고 메시지 표시 명령의 수신에 대응하여 경고 메시지를 표시할 수 있다. 상기 경고 메시지를 통해, 상기 전자 장치 500의 사용자는 상기 전자 장치 500이 해킹에 노출되었음을 인지할 수 있다.
다양한 실시 예들에 따른 상기 보안 장치 510은 2610 단계에서의 동작 내지 2670 단계에서의 동작을 통해, 실시간으로 해킹을 감지할 수 있다. 상기 보안 장치 510은 상술한 동작들을 통해, 보다 높은 정확도로 해킹을 감지할 수 있다. 상기 보안 장치 510은 상술한 동작들을 통해, 상기 전자 장치 500에 대한 해킹 공격에 효율적으로 대응할 수 있다.
도 27을 다양한 실시 예들에 따른 어플리케이션 영역의 해킹을 감지하는 장치의 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 27을 참조하면, 2710 단계에서, 상기 보안 장치 510은 제4 신호가 관련되지 않은 장치를 활성화하는지 여부를 검출할 수 있다. 상기 제4 신호는 어플리케이션의 시스템 콜에 의해 생성되는 신호일 수 있다. 상기 제4 신호는 상기 도 5에 도시된 상기 주변 장치 520을 활성화하기 위한 신호일 수 있다. 상기 보안 장치 510은 상기 제4 신호에 포함된 데이터와 상기 제4 신호에 대응하는 어플리케이션에 기반하여 상기 제4 신호가 관련되지 않은 장치를 활성화하는지 여부를 검출할 수 있다. 예를 들어, 상기 제4 신호와 대응하는 어플리케이션이 카메라(예를 들면, 상기 감지 장치 240) 어플리케이션임에도 불구하고, 상기 제4 신호가 상기 전자 장치 500 내의 전원 장치, 상기 통신 인터페이스 230 등을 활성화하는 경우, 상기 보안 장치 510은 상기 제4 신호가 관련되지 않은 장치를 활성화한다는 것을 검출할 수 있다.
이와 달리, 상기 제4 신호가 관련된 장치들을 활성화하는 경우, 상기 보안 장치 510은 상기 제4 신호에 해킹과 관련된 데이터가 포함되지 않았다고 판정할 수 있다.
상기 제4 신호가 관련되지 않은 장치를 활성화하는 경우, 2720 단계에서, 상기 보안 장치 510은 상기 제4 신호의 전송을 차단할 수 있다. 상기 보안 장치 510은 상기 제4 신호에 포함된 주소를 변환하여 상기 제4 신호의 전송을 차단할 수 있다. 상기 2720 단계에서의 동작을 통해, 상기 보안 장치 510은 해킹과 관련된 신호가 상기 전자 장치 500 내에서 확산되는 것을 막을 수 있다.
도 28은 다양한 실시 예들에 따른 어플리케이션 영역의 해킹을 감지하는 장치의 다른 동작을 도시한 흐름도이다. 이러한 동작 흐름은 상기 도 5에 도시된 상기 보안 장치 510에 의해 수행될 수 있다.
상기 도 28을 참조하면, 2810 단계에서의 동작은 상기 도 27에 도시된 상기 2710 단계에서의 동작에 대응될 수 있다.
2820 단계에서, 상기 보안 장치 510은 상기 제4 신호를 폐기할 수 있다. 상기 제4 신호가 해킹과 관련된 신호라고 확정된 경우, 상기 보안 장치 510은 상기 전자 장치 500의 보안 유지를 위해 상기 제4 신호를 폐기할 수 있다.
도 29는 다양한 실시 예들에 따른 어플리케이션 영역의 해킹을 감지하는 전자 장치의 신호 흐름을 도시한다. 이러한 신호 흐름은 상기 도 5에 도시된 상기 전자 장치 500에서 발생될 수 있다.
상기 도 29를 참조하면, 2910 단계에서, 상기 제어 장치 210은 상기 저장 장치 220과 통신할 수 있다. 상기 제어 장치 210과 상기 저장 장치 220은 상기 전자 장치 500에 설치된 어플리케이션의 실행을 위해 통신할 수 있다. 상기 제어 장치 210과 상기 저장 장치 220은 상기 전자 장치 500에 포함된 구성 요소들을 제어하기 위해 통신할 수 있다.
2920 단계에서, 상기 제어 장치 210은 상기 제4 신호를 상기 보안 장치 510에게 송신할 수 있다. 상기 제4 신호는 상기 주변 장치 520에게 전달될 신호일 수 있다. 상기 제4 신호는 상기 주변 장치 520을 제어하기 위한 신호일 수 있다. 상기 2920 단계의 동작은 상기 제어 장치 210이 상기 주변 장치 520에게 상기 제4 신호를 전송하는 경우를 예시하고 있지만, 상기 주변 장치 520이 상기 제어 장치 210에게 상기 제4 신호를 전송하는 경우에도 동일하게 적용될 수 있다. 상기 보안 장치 510은 상기 제어 장치 210으로부터 상기 제4 신호를 수신할 수 있다.
2930 단계에서, 상기 보안 장치 510은 상기 제4 신호와 관련되지 않은 장치를 상기 제4 신호가 활성화하는지 여부를 검출할 수 있다. 예를 들어, 카메라 기능이 없는 채팅 앱의 실행에 대응하여 상기 제어 장치 210이 상기 감지 장치 240에게 상기 제4 신호를 송신하는 경우, 상기 보안 장치 510은 상기 제4 신호가 해킹과 관련된 신호라고 판정할 수 있다. 이와 달리, 카메라 기능이 없는 채팅 앱의 실행에 대응하여 상기 제어 장치 210이 상기 입출력 장치 250에게 상기 제4 신호를 송신하는 경우, 상기 보안 장치 510은 상기 제4 신호가 해킹과 관련되지 않은 신호라고 판정할 수 있다.
상기 제4 신호가 상기 제4 신호와 관련된 장치를 활성화하는 경우, 2970 단계에서, 상기 보안 장치 510은 상기 제4 신호를 상기 주변 장치 520에게 송신할 수 있다.
상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하는 경우, 2940 단계에서, 상기 보안 장치 510은 상기 제4 신호의 전송을 차단할 수 있다. 상기 보안 장치 510은 상기 제4 신호에 포함된 주소를 변환하여 상기 제4 신호의 전송을 차단할 수 있다.
2950 단계에서, 상기 보안 장치 510은 상기 표시 장치 260에게 경고 메시지 표시 명령을 송신할 수 있다. 상기 표시 장치 260은 상기 보안 장치 510으로부터 상기 경고 메시지 표시 명령을 수신할 수 있다.
2960 단계에서, 상기 표시 장치 260은 경고 메시지를 표시할 수 있다. 상기 경고 메시지의 표시를 통해, 상기 전자 장치 500의 사용자는 상기 전자 장치 500 내에서 해킹 공격이 감지되었음을 인지할 수 있다. 상기 경고 메시지의 표시를 통해, 상기 전자 장치 500의 사용자는 상기 전자 장치 500 내에서 특정 신호가 차단되었음을 인지할 수 있다. 상기 특정 신호는 해킹과 관련된 신호일 수 있다.
상기 2910 단계 내지 상기 2960 단계에서의 동작을 통해, 다양한 실시 예들에 따른 상기 보안 장치 510은 상기 전자 장치 500의 보안을 유지할 수 있다. 상기 보안 장치 510은 상기 전자 장치 500의 어플리케이션의 영역에 대한 해킹 공격을 감지할 수 있다. 상기 보안 장치 510은 상기 전자 장치 500의 어플리케이션의 영역에 대한 해킹 공격에 실시간으로 대응할 수 있다.
상술한 바와 같은, 다양한 실시 예들에 따른 장치의 동작 방법은, 제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된(designated) 주소를 포함하는지 여부를 검출하는 동작과, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하는 동작을 포함할 수 있고, 상기 제1 신호는, 상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호일 수 있고, 상기 제2 신호는, 상기 제1 신호로부터 생성된 신호에 이상(uncommon) 데이터가 포함되었는지 여부를 검출하기 위한 신호일 수 있다. 상기 장치의 동작 방법은, 상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 상기 제1 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하는 동작을 더 포함할 수 있다.
또한, 상기 장치의 동작 방법은, 상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호가 불변(immutable) 영역에 대한 주소를 포함하는지 여부를 검출하는 동작과, 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호의 주소를 변환하여 상기 저장 장치로의 전송을 차단하는 동작을 더 포함할 수 있고, 상기 제3 신호는, 상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함할 수 있다. 상기 장치의 동작 방법은, 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하는 동작을 더 포함할 수 있다. 또한, 상기 장치의 동작 방법은, 상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호를 폐기(discard)할 수 있다.
또한, 상기 장치의 동작 방법은, 상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호에 포함된 주소에 기반하여 상기 제3 신호의 데이터를 기록하는 동작과, 상기 기록된 데이터가 갱신되는지 여부를 검출하는 동작과, 상기 기록된 데이터가 갱신되는 경우, 상기 제3 신호가 상기 저장 장치에 저장된 후 상기 데이터의 구조가 변경되는지 여부를 검출하는 동작과, 상기 데이터의 구조가 변경되는 경우, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 검출하는 동작과, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 폐기하는 동작을 더 포함할 수 있고, 상기 제3 신호는, 상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함할 수 있다. 또한, 상기 장치의 동작 방법은, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호가 검출된 경우, 경고 메시지를 표시 장치에 표시하는 동작을 더 포함할 수 있다.
또한, 상기 장치의 동작 방법은, 상기 제어 장치와 다른 장치 간의 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는지 여부를 검출하는 동작과, 상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호의 전송을 차단하는 동작을 더 포함할 수 있다. 상기 장치의 동작 방법은, 상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호를 폐기(discard)할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 장치(apparatus)의 동작 방법에 있어서,
    제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된(designated) 주소를 포함하는지 여부를 검출하는 동작과,
    상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하는 동작을 포함하고,
    상기 제1 신호는,
    상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호이고,
    상기 제2 신호는,
    상기 제1 신호로부터 생성된 신호에 이상(uncommon) 데이터가 포함되었는지 여부를 검출하기 위한 신호인 방법.
  2. 청구항 1에 있어서,
    상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 상기 제1 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하는 동작을 더 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호가 불변(immutable) 영역에 대한 주소를 포함하는지 여부를 검출하는 동작과,
    상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호의 주소를 변환하여 상기 저장 장치로의 전송을 차단하는 동작을 더 포함하고,
    상기 제3 신호는,
    상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함하는 방법.
  4. 청구항 3에 있어서,
    상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하는 동작을 더 포함하는 방법.
  5. 청구항 3에 있어서,
    상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호를 폐기(discard)하는 방법.
  6. 청구항 1에 있어서,
    상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호에 포함된 주소에 기반하여 상기 제3 신호의 데이터를 기록하는 동작과,
    상기 기록된 데이터가 갱신되는지 여부를 검출하는 동작과,
    상기 기록된 데이터가 갱신되는 경우, 상기 제3 신호가 상기 저장 장치에 저장된 후 상기 데이터의 구조가 변경되는지 여부를 검출하는 동작과,
    상기 데이터의 구조가 변경되는 경우, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 검출하는 동작과,
    상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 폐기하는 동작을 더 포함하고,
    상기 제3 신호는,
    상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함하는 방법.
  7. 청구항 6에 있어서,
    상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호가 검출된 경우, 경고 메시지를 표시 장치에 표시하는 동작을 더 포함하는 방법.
  8. 청구항 6에 있어서,
    상기 갱신된 동작과 관련된 데이터가 지정되지 않은 동작을 활성화하는 경우, 상기 갱신된 동작과 관련된 데이터를 폐기(discard)하는 방법.
  9. 청구항 1에 있어서,
    상기 제어 장치와 다른 장치 간의 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는지 여부를 검출하는 동작과,
    상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호의 전송을 차단하는 동작을 더 포함하는 방법.
  10. 청구항 9에 있어서,
    상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호를 폐기(discard)하는 방법.
  11. 장치(apparatus)에 있어서,
    송수신부와,
    상기 송수신부와 동작적으로 결합된 제어부를 포함하고,
    상기 제어부는,
    제어 장치에서 저장 장치로 송신되는 제1 신호가 지정된(designated) 주소를 포함하는지 여부를 검출하도록 구성되고,
    상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 제2 신호를 상기 제어 장치에게 송신하도록 구성되며,
    상기 제1 신호는,
    상기 제어 장치가 상기 저장 장치에게 데이터를 요청하는 신호이고,
    상기 제2 신호는,
    상기 제1 신호로부터 생성된 신호에 이상(uncommon) 데이터가 포함되었는지 여부를 검출하기 위한 신호인 장치.
  12. 청구항 11에 있어서, 상기 제어부는,
    상기 제1 신호가 상기 지정된 주소를 포함하는 경우, 상기 제1 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하도록 더 구성되는 장치.
  13. 청구항 11에 있어서, 상기 제어부는,
    상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호가 불변(immutable) 영역에 대한 주소를 포함하는지 여부를 검출하도록 더 구성되고,
    상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호의 주소를 변환하여 상기 저장 장치로의 전송을 차단하도록 더 구성되며,
    상기 제3 신호는,
    상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함하는 장치.
  14. 청구항 13에 있어서, 상기 제어부는,
    상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호에 대한 정보를 포함하는 경고 메시지를 표시 장치에 표시하도록 더 구성되는 장치.
  15. 청구항 13에 있어서, 상기 제어부는,
    상기 제3 신호가 상기 불변 영역에 대한 주소를 포함하는 경우, 상기 제3 신호를 폐기(discard)하도록 구성되는 장치.
  16. 청구항 11에 있어서, 상기 제어부는,
    상기 제어 장치에서 상기 저장 장치로 송신되는 제3 신호에 포함된 주소에 기반하여 상기 제3 신호의 데이터를 기록하도록 더 구성되고,
    상기 기록된 데이터가 갱신되는지 여부를 검출하도록 더 구성되고,
    상기 기록된 데이터가 갱신되는 경우, 상기 제3 신호가 상기 저장 장치에 저장된 후 상기 데이터의 구조가 변경되는지 여부를 검출하도록 더 구성되고,
    상기 데이터의 구조가 변경되는 경우, 상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 검출하도록 더 구성되고,
    상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호를 폐기하도록 더 구성되며,
    상기 제3 신호는,
    상기 제어 장치가 상기 저장 장치에 기록하기 위한 데이터를 포함하는 장치.
  17. 청구항 16에 있어서, 상기 제어부는,
    상기 변경된 데이터 또는 상기 변경된 데이터와 관련된 신호가 검출된 경우, 경고 메시지를 표시 장치에 표시하도록 더 구성되는 장치.
  18. 청구항 16에 있어서, 상기 제어부는,
    상기 갱신된 동작과 관련된 데이터가 지정되지 않은 동작을 활성화하는 경우, 상기 갱신된 동작과 관련된 데이터를 폐기(discard)하도록 구성되는 장치.
  19. 청구항 11에 있어서, 상기 제어부는,
    상기 제어 장치와 다른 장치 간의 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는지 여부를 검출하도록 더 구성되고,
    상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호의 전송을 차단하도록 더 구성되는 장치.
  20. 청구항 19에 있어서, 상기 제어부는,
    상기 제4 신호가 상기 제4 신호와 관련되지 않은 장치를 활성화하기 위한 데이터를 포함하는 경우, 상기 제4 신호를 폐기(discard)하도록 구성되는 장치.
KR1020150159962A 2015-11-13 2015-11-13 전자 장치를 보호하기 위한 장치 및 방법 KR102411770B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150159962A KR102411770B1 (ko) 2015-11-13 2015-11-13 전자 장치를 보호하기 위한 장치 및 방법
US15/775,519 US11126712B2 (en) 2015-11-13 2016-10-31 Apparatus and method for protecting electronic device
CN201680066265.9A CN108292353B (zh) 2015-11-13 2016-10-31 用于保护电子设备的装置和方法
PCT/KR2016/012383 WO2017082567A1 (ko) 2015-11-13 2016-10-31 전자 장치를 보호하기 위한 장치 및 방법
EP16864493.8A EP3376427B1 (en) 2015-11-13 2016-10-31 Apparatus and method for protecting electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150159962A KR102411770B1 (ko) 2015-11-13 2015-11-13 전자 장치를 보호하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170056369A true KR20170056369A (ko) 2017-05-23
KR102411770B1 KR102411770B1 (ko) 2022-06-22

Family

ID=58695706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150159962A KR102411770B1 (ko) 2015-11-13 2015-11-13 전자 장치를 보호하기 위한 장치 및 방법

Country Status (5)

Country Link
US (1) US11126712B2 (ko)
EP (1) EP3376427B1 (ko)
KR (1) KR102411770B1 (ko)
CN (1) CN108292353B (ko)
WO (1) WO2017082567A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507656B2 (en) * 2020-12-23 2022-11-22 Intel Corporation Ransomware detection and remediation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239751A1 (en) * 2006-03-31 2007-10-11 Sap Ag Generic database manipulator
US20080109620A1 (en) * 2006-11-08 2008-05-08 Hitachi, Ltd Storage system and controller for controlling remote copying
KR101358815B1 (ko) * 2013-06-04 2014-02-11 서울대학교산학협력단 스누프 기반의 커널 무결성 감시 장치 및 그 방법
US20150220707A1 (en) * 2014-02-04 2015-08-06 Pegasus Media Security, Llc System and process for monitoring malicious access of protected content
US20150288720A1 (en) * 1996-11-08 2015-10-08 Finjan, Inc. Malicious Mobile Code Runtime Monitoring System and Methods

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362146A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd ストレージ制御装置の制御方法及びストレージ制御装置
KR100527274B1 (ko) 2004-06-04 2005-12-13 주식회사 르노소프트 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법
US7739466B2 (en) * 2006-08-11 2010-06-15 Intel Corporation Method and apparatus for supporting immutable memory
WO2008067335A2 (en) 2006-11-27 2008-06-05 Smobile Systems, Inc. Wireless intrusion prevention system and method
US8510569B2 (en) 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
CN102034045B (zh) 2010-12-15 2012-11-28 上海交通大学 低计算机系统资源开销的软件漏洞检测系统
US20130145439A1 (en) * 2011-12-06 2013-06-06 Samsung Electronics Co. Ltd. Apparatus and method for secure storage of information on a mobile terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150288720A1 (en) * 1996-11-08 2015-10-08 Finjan, Inc. Malicious Mobile Code Runtime Monitoring System and Methods
US20070239751A1 (en) * 2006-03-31 2007-10-11 Sap Ag Generic database manipulator
US20080109620A1 (en) * 2006-11-08 2008-05-08 Hitachi, Ltd Storage system and controller for controlling remote copying
KR101358815B1 (ko) * 2013-06-04 2014-02-11 서울대학교산학협력단 스누프 기반의 커널 무결성 감시 장치 및 그 방법
US20150220707A1 (en) * 2014-02-04 2015-08-06 Pegasus Media Security, Llc System and process for monitoring malicious access of protected content

Also Published As

Publication number Publication date
EP3376427A1 (en) 2018-09-19
KR102411770B1 (ko) 2022-06-22
CN108292353B (zh) 2023-04-07
EP3376427B1 (en) 2021-08-18
CN108292353A (zh) 2018-07-17
EP3376427A4 (en) 2018-09-26
US11126712B2 (en) 2021-09-21
US20180357417A1 (en) 2018-12-13
WO2017082567A1 (ko) 2017-05-18

Similar Documents

Publication Publication Date Title
US9154466B2 (en) Systems and methods for introducing variation in sub-system output signals to prevent device fingerprinting
EP3161645B1 (en) Fast data protection using dual file systems
US9781143B1 (en) Systems and methods for detecting near field communication risks
US8671455B1 (en) Systems and methods for detecting unintentional information disclosure
US20160378691A1 (en) System, apparatus and method for protecting a storage against an attack
JP2016503219A (ja) 認知挙動認識のためのシステムおよびその方法
JP7448593B2 (ja) 改良されたデータ制御及びアクセスの方法及びシステム
US10049214B2 (en) Systems and methods for detecting malicious processes on computing devices
US10409734B1 (en) Systems and methods for controlling auxiliary device access to computing devices based on device functionality descriptors
KR102411770B1 (ko) 전자 장치를 보호하기 위한 장치 및 방법
CN114826785B (zh) 一种动态防护方法、系统级芯片、电子设备及介质
US9246943B2 (en) Determining security factors associated with an operating environment
EP4024248B1 (en) Systems and methods for preventing injections of malicious processes in software
US11809550B2 (en) Electronic device and control method therefor
US9690934B1 (en) Systems and methods for protecting computing devices from imposter accessibility services
US11449605B2 (en) Systems and methods for detecting a prior compromise of a security status of a computer system
KR20170115338A (ko) 보안 예보 시스템 및 방법
EP4315119A1 (en) Identification and mitigation of permissions elevating attack vector

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right