KR20170070694A - 전자 장치 및 그 동작방법 - Google Patents

전자 장치 및 그 동작방법 Download PDF

Info

Publication number
KR20170070694A
KR20170070694A KR1020150178525A KR20150178525A KR20170070694A KR 20170070694 A KR20170070694 A KR 20170070694A KR 1020150178525 A KR1020150178525 A KR 1020150178525A KR 20150178525 A KR20150178525 A KR 20150178525A KR 20170070694 A KR20170070694 A KR 20170070694A
Authority
KR
South Korea
Prior art keywords
resource
electronic device
power
input
unit
Prior art date
Application number
KR1020150178525A
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 KR1020150178525A priority Critical patent/KR20170070694A/ko
Priority to PCT/KR2016/013156 priority patent/WO2017104977A1/en
Priority to EP16875919.9A priority patent/EP3380978A4/en
Priority to US15/352,818 priority patent/US20170169218A1/en
Publication of KR20170070694A publication Critical patent/KR20170070694A/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)

Abstract

전자 장치의 전원 오프 입력을 감지하는 감지부, 프로세서, 메모리, 및 상기 메모리에 저장되고, 상기 프로세서에 의해 실행되는 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은, 상기 전원 오프 입력이 감지되면, 적어도 하나의 프로세스에 의한 상기 전자 장치에 포함되는 리소스의 사용을 모니터링하고, 사용하려는 상기 리소스가 중요 리소스인 경우, 상기 리소스의 사용을 차단하기 위한 인스트럭션들(instructions)을 포함하는 전자 장치가 개시된다.

Description

전자 장치 및 그 동작방법{Electronic device and operating method for the same}
다양한 실시예들은 전자 장치 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 악성 소프트웨어를 탐지하는 전자 장치 및 그 동작방법에 관한 것이다.
최근 스마트 TV, 스마트 폰, 태블릿 PC 등과 같은 전자 장치가 대중화됨에 따라, 전자 장치의 하드웨어 및 소프트웨어 또한 비약적으로 발전하여 전자 장치의 사용 환경은 PC와 유사해지고 있다. 또한, 인터넷, 앱 스토어 등으로부터 다양한 어플리케이션을 다운로드하여 사용자가 원하는 편리한 기능이 제공되고 있다.
반면, 다양한 어플리케이션이 다운로드됨에 따라 바이러스나 웜, 트로이 목마, 스파이 웨어 등을 포함하는 악성 소프트웨어가 전자 장치로 유입되어 네트워크 트래픽, 시스템 성능 저하, 파일 삭제, 개인 정보 유출 등의 피해를 입히고 있다.
스마트 TV 또한, 어플리케이션을 위한 표준화된 인터페이스와 플랫폼을 제공하며, 무선 인터넷을 이용하여 인터넷에 접속할 수 있어, 스마트 TV를 타겟으로 하는 악성 소프트웨어가 급격히 증가하고 있으며, 악성 소프트웨어의 공격 수법도 다양해지고 있다. 따라서, 이러한 악성 소프트웨어를 탐지하는 방법이 필요하다.
다양한 실시예들은, 전자 장치에서 전원이 오프(off)되는 과정에서, 악성 프로세스에 의해 수행되는 의심스러운 활동(suspicious activities)을 모니터링하여, 의심스러운 활동이 수행되는 것을 차단하고, 악성 소프트웨어를 검출하는 전자 장치 및 그 동작방법을 제공할 수 있다.
일 실시예에 따른 전자 장치는, 상기 전자 장치의 전원 오프 입력을 감지하는 감지부, 프로세서, 메모리, 및 상기 메모리에 저장되고, 상기 프로세서에 의해 실행되는 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은, 상기 전원 오프 입력이 감지되면, 적어도 하나의 프로세스에 의한 상기 전자 장치에 포함되는 리소스의 사용을 모니터링하고, 사용하려는 상기 리소스가 중요 리소스인 경우, 상기 리소스의 사용을 차단하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
일 실시예에 따른 하나 이상의 프로그램들은, 상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스를 종료시키기 위한 인스트럭션들을 더 포함할 수 있다.
일 실시예에 따른 하나 이상의 프로그램들은, 상기 전원 오프 입력이 감지되면, Power-Off API를 호출하고, 상기 Power-Off API가 호출된 이후, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작을 모니터링하고, 오픈하려고 하는 상기 리소스가 상기 중요 리소스인지를 결정하기 위한 인스트럭션들을 더 포함할 수 있다.
일 실시예에 따른 메모리는, 상기 Power-Off API와 상기 리소스에 대한 오픈 시스템 콜(“open” system call)을 후킹(hooking)하여, 상기 적어도 하나의 프로세스에 의한 상기 리소스의 사용을 모니터링하는 보안 모듈을 포함할 수 있다.
일 실시예에 따른 프로세서는 보안 영역(secure world)를 포함하고, 상기 하나 이상의 프로그램들은, 상기 보안 모듈을 상기 보안 영역에서 실행시키기 위한 인스트럭션들을 더 포함할 수 있다.
일 실시예에 따른 메모리는, 유효한 디지털 서명을 가지지 않고, 악성 소프트웨어(malicious software)에 대응하는 적어도 하나의 바이너리를 포함하는 제1 리스트를 저장하고, 상기 하나 이상의 프로그램들은, 상기 적어도 하나의 프로세스에 대한 바이너리를 검출하고, 검출된 상기 바이너리가 상기 제1 리스트에 포함되는 경우, 상기 적어도 하나의 프로세스에 대한 바이너리를 삭제하기 위한 인스트럭션들을 더 포함할 수 있다.
일 실시예에 따른 전자 장치는, 상기 제1 리스트를 외부 서버로부터 수신하는 통신부를 더 포함할 수 있다.
일 실시예에 따른 전자 장치는, 통신부를 더 포함하고, 상기 하나 이상의 프로그램들은, 상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작에 대한 보고서를 생성하고, 상기 전자 장치가 재 부팅되면, 상기 보고서를 외부 서버로 전송하도록 상기 통신부를 제어하기 위한 인스트럭션들을 더 포함할 수 있다.
일 실시예에 따른 전자 장치의 동작방법은, 상기 전자 장치의 전원 오프 입력을 감지하는 단계, 상기 전원 오프 입력이 감지되면, 적어도 하나의 프로세스에 의한 상기 전자 장치에 포함되는 리소스의 사용을 모니터링하는 단계, 및 사용하려는 상기 리소스가 중요 리소스인 경우, 상기 리소스의 사용을 차단하는 단계를 포함할 수 있다.
일 실시예에 따른 동작방법은, 상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스를 종료시키는 단계를 더 포함할 수 있다.
일 실시예에 따른 동작방법은, 상기 전원 오프 입력이 감지되면, Power-Off API를 호출하는 단계를 더 포함하고, 상기 리소스의 사용을 모니터링하는 단계는, 상기 Power-Off API가 호출된 이후, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작을 모니터링하는 단계, 및 오픈하려고 하는 상기 리소스가 상기 중요 리소스인지를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 동작방법은, 상기 Power-Off API와 상기 리소스에 대한 오픈 시스템 콜(“open” system call)을 후킹(hooking)하는 단계를 더 포함할 수 있다.
일 실시예에 따른 동작방법은, 유효한 디지털 서명을 가지지 않고, 악성 소프트웨어(malicious software)에 대응하는 적어도 하나의 바이너리를 포함하는 제1 리스트를 저장하는 단계, 상기 적어도 하나의 프로세스에 대한 바이너리를 검출하는 단계, 및 검출된 상기 바이너리가 상기 제1 리스트에 포함되는 경우, 상기 적어도 하나의 프로세스에 대한 바이너리를 삭제하는 단계를 더 포함할 수 있다.
일 실시예에 따른 동작방법은, 상기 제1 리스트를 외부 서버로부터 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따른 동작방법은, 상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작에 대한 보고서를 생성하는 단계, 및 상기 전자 장치가 재 부팅되면, 상기 보고서를 외부 서버로 전송하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 전자 장치는 전원 오프가 진행되는 상태에서도 악성 소프트웨어에 의한 중요 리소스의 사용과 같은 의심스러운 활동을 모니터링하고, 차단할 수 있다.
일 실시예에 따라, 전자 장치는 전원 오프가 진행되는 상태에서도 악성 소프트웨어를 검출하고, 악성 소프트웨어에 대한 바이너리를 삭제함으로써, 전자 장치를 보호할 수 있다.
도 1은 일 실시예에 따른 전자 장치를 나타내는 도면이다.
도 2는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 다른 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 4는 일 실시예에 따른 보안 모듈의 동작방법을 나타내는 도면이다.
도 5는 일 실시예에 따른 전자 장치의 동작방법을 나타내는 흐름도이다.
도 6은 일 실시예에 따른 전자 장치의 동작방법을 나타내는 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른, 전자 장치를 나타내는 도면이다.
도 1에 도시된 바와 같이, 전자 장치(100)는 TV일 수 있으나, 이는 일 실시예에 불과하며, 디스플레이를 포함하는 전자 장치로 구현될 수 있다. 예를 들어, 전자 장치(100)는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
일 실시예에 따른 전자 장치(100)는 어플리케이션을 위한 표준화된 인터페이스와 플랫폼을 제공하며, 무선 인터넷을 이용하여 인터넷에 접속할 수 있다. 또한, 인터넷 등으로부터 다양한 어플리케이션을 다운로드할 수 있다.
일 실시예에 따른 전자 장치(100)는 제어 장치(200)에 의해 제어될 수 있다. 제어 장치(200)는 리모컨 또는 휴대폰과 같이 전자 장치(100)를 제어하기 위한 다양한 형태의 장치로 구현될 수 있다. 일 실시예에 따른 제어 장치(200)는 전자 장치(100)의 전원을 온 시키거나 오프 시키기 위한 전원 온/오프 버튼을 포함할 수 있다. 제어 장치(200)는 또한 사용자 입력에 의해 전자 장치(100)의, 채널 변경, 음량 조정, 지상파 방송/케이블 방송/위성 방송 선택, 또는 환경 설정(setting)을 할 수 있다.
또한, 제어 장치(400)는 적외선(infrared) 또는 블루투스(bluetooth)를 포함하는 근거리 통신을 이용하여 전자 장치(100)를 제어할 수 있다. 제어 장치(200)는 구비된 키(버튼을 포함), 터치 패드(touchpad), 사용자의 음성의 수신이 가능한 마이크(도시되지 아니함), 및 제어 장치(200)의 모션 인식이 가능한 센서(도시되지 아니함) 중 적어도 하나를 이용하여 전자 장치(100)의 기능을 제어할 수 있다.
한편, 본 명세서의 실시예에서 “사용자”라는 용어는 제어 장치(200)를 이용하여 영상 표시 장치(100)의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
일 실시예에 따른 전자 장치(100)는 전자 장치의 전원-오프(Power-Off) 입력이 감지되면, 전자 장치(100)의 전원-오프(Power-Off) 동작을 수행할 수 있다. 예를 들어, 전자 장치(100)는 제어 장치(200)의 전원 온/오프 버튼을 누르는 입력이 감지되면, 전원-오프 명령으로 감지할 수 있다. 다만, 이에 한정하는 것은 아니다.
전자 장치(100)는 전원-오프 동작이 시작되면, 전자 장치(100)가 전원-오프 상태가 되기 전에, 전자 장치(100)에 포함되는 리소스들의 사용을 종료한다(close). 예를 들어, 전자 장치(100)에서 실행되고 있는 각 프로세스들에 의한 리소스의 사용을 종료하도록 제어할 수 있다.
일 실시예에 따른 전자 장치(100)는 전원-오프 동작 수행 중에, 적어도 하나의 프로세스에 의해 의심스러운 활동(suspicious activities)이 발생되는지를 모니터링할 수 있다. 의심스러운 활동은, 전자 장치에 포함되는 중요 리소스를 사용하려는 행동, 보안(secure) 데이터 또는 프로세스, 사적인(privacy) 데이터 또는 프로세스, 비밀(confidential) 데이터 또는 프로세스에 접근하거나 수정하려는 행동, 외부 장치로 데이터를 전송하려는 행동, 외부 장치로부터 데이터(예를 들어, 악의적인 페이로드(malicious payload))를 다운로딩하려는 행동 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
일 실시예에 따른 전자 장치(100)는 의심스러운 활동이 검출되면, 의심스러운 활동을 종료시키고, 악성 프로세스를 삭제할 수 있다. 또는 의심스러운 활동 및 악성 프로세스에 대한 보고서를 생성하여, 외부 서버로 전송할 수 있다.
도 2 는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다. 도 2의 전자 장치는 도 1의 전자 장치의 일 실시예일 수 있다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(100)는 감지부(110), 프로세서(120) 및 메모리(130)를 포함할 수 있다.
감지부(110)는 사용자의 음성, 사용자의 영상 또는 사용자의 인터랙션을 감지할 수 있다. 또는, 전자 장치(100)의 상태를 감지할 수 있다.
일 실시예에 따른 감지부(110)는 전자 장치(100)의 전원-오프 입력을 감지할 수 있다. 예를 들어, 전자 장치(100)에 포함되는 전원 온/오프 버튼 입력이 감지되는 경우, 제어 장치(200)에 포함되는 전원 온/오프 버튼 입력이 감지되는 경우, 시간 설정에 의해 전자 장치(100)의 전원이 오프되는 경우, 전원-오프 명령에 대응하는 사용자의 음성 또는 사용자의 제스쳐가 감지되는 경우 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 프로세서(120)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 또한, 프로세서(120)는 복수의 프로세서를 포함할 수 있다. 예를 들어, 프로세서(120)는 메인 프로세서(main processor, 도시되지 아니함) 및 슬립 모드(sleep mode)에서 동작하는 서브 프로세서(sub processor, 도시되지 아니함)로 구현될 수 있다.
일 실시예에 따른 메모리(130)는 전자 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 전원-오프 입력이 감지되면, 전원-오프 동작을 수행할 수 있다. 프로세서(120)는 전원-오프 동작이 시작되면, 적어도 하나의 프로세스에 의해 의심스러운 활동이 발생되는지를 모니터링하도록 제어할 수 있다. 프로세서(120)는 전원-오프 동작이 시작되고 정상적인 프로세스에 의해 리소스의 사용이 종료되기 전까지, 리소스의 사용이 종료되고 전자 장치(100)가 전원-오프 상태가 될 때까지, 또는 전자 장치(100)가 전원-오프 상태가 되고 다시 전원-온(Power-On) 상태가 될 때까지, 적어도 하나의 프로세스에 의해 의심스러운 활동이 발생되는지를 모니터링하도록 제어할 수 있다. 다만, 이에 한정되는 것은 아니다.
프로세서(120)는 의심스러운 활동이 검출되는 경우, 의심스러운 활동을 종료시키고, 악성 프로세스를 삭제하도록 제어할 수 있다. 이때, 의심스러운 활동은, 전자 장치에 포함되는 중요 리소스를 사용하려는 행동, 보안(secure) 데이터 또는 프로세스, 사적인(privacy) 데이터 또는 프로세스, 비밀(confidential) 데이터 또는 프로세스에 접근하거나 수정하려는 행동, 외부 장치로부터 악의적인 페이로드(malicious payload)를 다운로딩하려는 행동 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
예를 들어, 프로세서(120)는 적어도 하나의 프로세스가 사용하려는 리소스가 중요 리소스인 경우, 리소스의 사용을 차단하도록 제어할 수 있다. 프로세서(120)는 전원 오프가 감지되면, Power-Off API를 호출할 수 있다. Power-Off API가 호출된 이후, 적어도 하나의 프로세스에 의해 리소스를 오픈하기 위한 오픈 시스템 콜(“Open” system call)이 요청되면, 오픈하려는 리소스가 중요 리소스인지를 판단할 수 있다. 이때, 오픈하려는 리소스가 중요 리소스인 경우, 리소스의 오픈을 차단하고, 리소스의 오픈을 시도한 프로세스를 종료하도록 제어할 수 있다.
또한, 프로세서(120)는 발생한 의심스러운 활동 또는 의심스러운 프로세스에 대한 보고서를 생성하고, 전자 장치(100)가 전원-오프 상태가 되도록 제어할 수 있다. 프로세서(120)는 전자 장치(100)가 재 부팅되면, 생성한 보고서를 외부 서버(예를 들어, 보안 서버)로 전송할 수 있다.
도 3은 다른 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다. 도 3의 전자 장치(300)는 도 1의 전자 장치(100)의 다른 실시예일 수 있다.
도 3을 참조하면, 일 실시예에 따른 전자 장치(300)는 제어부(310), 디스플레이부(320), 비디오 처리부(380), 오디오 처리부(315), 오디오 출력부(325), 전원부(360), 튜너부(340), 통신부(350), 감지부(330), 입/출력부(370), 저장부(390)를 포함할 수 있다.
도 2의 감지부(110)는 도 3의 감지부(330)에, 도 2의 프로세서(120)는 도 3의 제어부(310)에, 도 2의 메모리(130)는 도 3의 저장부(390)에 각각 대응될 수 있다. 도 2에서 설명한 내용과 동일한 내용은 도 3에서 생략하기로 한다.
통신부(350)는 제어부(310)의 제어에 의해 전자 장치(300)를 외부 장치와 연결할 수 있다. 제어부(310)는 통신부(350)를 통해 연결된 외부 장치로 컨텐츠를 송/수신, 외부 장치에서부터 어플리케이션(application)을 다운로드 하거나 또는 웹 브라우징을 할 수 있다. 통신부(350)는 전자 장치(300)의 성능 및 구조에 대응하여 무선랜(예를 들어, 와이- 파이(Wi-Fi)), 블루투스, 및 유선 이더넷(Ethernet) 중 하나를 포함할 수 있다. 또한, 통신부(350)는 무선랜, 블루투스 및 유선 이더넷의 조합을 포함할 수 있다. 통신부(350)는 제어부(310)의 제어에 의해, 제어 장치(200)의 제어 신호를 수신할 수 있다. 제어 신호는 블루투스 타입, RF 신호 타입 또는 와이-파이 타입으로 구현될 수 있다.
통신부(350)는 블루투스 외에 다른 근거리 통신(예를 들어, NFC(near field communication, 도시되지 아니함), BLE(bluetooth low energy, 도시되지 아니함)를 더 포함할 수 있다.
일 실시예에 따른 통신부(350)는 보안 서버로 악성 소프트웨어에 대한 리포트를 전송하고, 악성 소프트웨어에 대응하는 바이너리 리스트를 수신할 수 있다.
비디오 처리부(380)는, 전자 장치(300)가 수신한 비디오 데이터에 대한 처리를 수행한다. 비디오 처리부(380)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
디스플레이부(320)는, 제어부(310)에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이부(320)는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이부(320)는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.
디스플레이부(320)는 제어부(310)의 제어에 의해 튜너부(340)를 통해 수신된 방송 신호에 포함된 비디오를 화면에 표시한다. 또한, 디스플레이부(320)는 통신부(350) 또는 입/출력부(370)를 통해 입력되는 컨텐츠(예를 들어, 동영상)를 표시할 수 있다. 디스플레이부(320)는 제어부(310)의 제어에 의해 저장부(390)에 저장된 영상을 출력할 수 있다. 또한, 디스플레이부(320)는 음성 인식에 대응되는 음성 인식 태스크를 수행하기 위한 음성 UI(User Interface: 예를 들어, 음성 명령어 가이드를 포함하는) 또는 모션 인식에 대응되는 모션 인식 태스크를 수행하기 위한 모션 UI(예를 들어, 모션 인식을 위한 사용자 모션 가이드를 포함)를 표시할 수 있다.
오디오 처리부(315)는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부(315)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다. 한편, 오디오 처리부(315)는 복수의 컨텐츠에 대응되는 오디오를 처리하기 위해 복수의 오디오 처리 모듈을 구비할 수 있다.
오디오 출력부(325)는 제어부(380)의 제어에 의해 튜너부(340)를 통해 수신된 방송 신호에 포함된 오디오를 출력한다. 오디오 출력부(325)는 통신부(350) 또는 입/출력부(370)를 통해 입력되는 오디오(예를 들어, 음성, 사운드)를 출력할 수 있다. 또한, 오디오 출력부(325)는 제어부(310)의 제어에 의해 저장부(390)에 저장된 오디오를 출력할 수 있다. 오디오 출력부(325)는 스피커(326), 헤드폰 출력 단자(327) 또는 S/PDIF(Sony/Philips Digital Interface: 출력 단자(328) 중 적어도 하나를 포함할 수 있다. 오디오 출력부(325)는 스피커(326), 헤드폰 출력 단자(327) 및 S/PDIF 출력 단자(328)의 조합을 포함할 수 있다.
전원부(360)는 제어부(310)의 제어에 의해 전자 장치(300) 내부의 구성 요소들로 외부의 전원 소스에서부터 입력되는 전원을 공급한다. 또한, 전원부(360)는 제어부(310)의 제어에 의해 전자 장치(300) 내부에 위치하는 하나 또는 둘 이상의 배터리(도시되지 아니함)에서부터 출력되는 전원을 내부의 구성 요소들에게 공급할 수 있다.
튜너부(340)는 유선 또는 무선으로 수신되는 방송 신호를 증폭(amplification), 혼합(mixing), 공진(resonance)등을 통하여 많은 전파 성분 중에서 전자 장치(300)에서 수신하고자 하는 채널의 주파수만을 튜닝(tuning)시켜 선택할 수 있다. 방송 신호는 오디오(audio), 비디오(video) 및 부가 정보(예를 들어, EPG(Electronic Program Guide))를 포함한다.
튜너부(340)는 사용자 입력(예를 들어, 제어 장치(400)로부터 수신되는 제어 신호, 예컨대, 채널 번호 입력, 채널의 업다운(up-down) 입력 및 EPG 화면에서 채널 입력)에 따라 채널 번호(예를 들어, 케이블 방송 506번)에 대응되는 주파수 대역에서 방송 신호를 수신할 수 있다.
튜너부(340)는 지상파 방송, 케이블 방송, 위성 방송, 인터넷 방송 등과 같이 다양한 소스로부터 방송 신호를 수신할 수 있다. 튜너부(340)는 아날로그 방송 또는 디지털 방송 등과 같은 소스로부터 방송 신호를 수신할 수도 있다. 튜너부(340)를 통해 수신된 방송 신호는 디코딩(decoding, 예를 들어, 오디오 디코딩, 비디오 디코딩 또는 부가 정보 디코딩)되어 오디오, 비디오 및/또는 부가 정보로 분리된다. 분리된 오디오, 비디오 및/또는 부가 정보는 제어부(310)의 제어에 의해 저장부(390)에 저장될 수 있다.
전자 장치(300)의 튜너부(340)는 하나이거나 복수일 수 있다. 튜너부(340)는 전자 장치(300)와 일체형(all-in-one)으로 구현되거나 또는 전자 장치(300)와 전기적으로 연결되는 튜너부를 가지는 별개의 장치(예를 들어, 셋탑 박스(set-top box, 도시되지 아니함), 입/출력부(370)에 연결되는 튜너부(도시되지 아니함))로 구현될 수 있다.
감지부(330)는 사용자의 음성, 사용자의 영상 또는 사용자의 인터랙션을 감지한다. 감지부(110)는 마이크(331), 카메라부(332) 및 광 수신부(333)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
마이크(331)는 사용자의 발화(utterance)된 음성을 수신한다. 마이크(131)는 수신된 음성을 전기 신호로 변환하여 제어부(310)로 출력할 수 있다. 마이크(331)는 전자 장치(300)와 일체형 또는 분리형으로 구현될 수 있다. 분리된 마이크(331)는 통신부(350) 또는 입/출력부(370)를 통해 전자 장치(300)와 전기적으로 연결될 수 있다. 전자 장치(300)의 성능 및 구조에 따라 마이크(331)가 제외될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다. 일 실시예에 따른 마이크(331)는 전자 장치(300)의 전원-오프 명령에 대응하는 음성을 전기 신호로 변환하여 제어부(310)로 출력할 수 있다.
카메라부(332)는 카메라 인식 범위에서 제스처를 포함하는 사용자의 모션에 대응되는 영상(예를 들어, 연속되는 프레임)을 수신한다. 사용자 모션은 예를 들어, 사용자의 얼굴, 표정, 손, 주먹, 손가락과 같은 사용자의 신체 일부분 또는 사용자 일부분의 모션 등을 포함할 수 있다. 카메라부(332)는 제어부(310)의 제어에 따라 수신된 영상을 전기 신호로 변환하여 제어부(310)로 출력할 수 있다. 일 실시예에 따른 카메라부(332)는 전자 장치(300)의 전원-오프 명령에 대응하는 모션(제스쳐)을 전기 신호로 변환하여 제어부(310)로 출력할 수 있다.
제어부(310)는 수신된 모션의 인식 결과를 이용하여 전자 장치(300)에 표시되는 메뉴를 선택하거나 모션 인식 결과에 대응되는 제어를 할 수 있다. 예를 들어, 전원 온/오프, 채널 조정, 볼륨 조정, 지시자 이동, 커서 이동을 포함할 수 있다.
카메라부(332)는 렌즈(도시되지 아니함) 및 이미지 센서(도시되지 아니함)로 구성될 수 있다. 카메라부(332)는 복수의 렌즈와 이미지 프로세싱을 이용하여 광학 줌(optical zoom) 또는 디지털 줌(digital zoom)을 지원할 수 있다. 카메라부(332)의 인식 범위는 카메라의 각도 및 주변 환경 조건에 따라 다양하게 설정될 수 있다. 카메라부(332)가 복수개의 카메라로 구성되는 경우, 복수의 카메라를 이용하여 3차원 정지 이미지 또는 3차원 모션을 수신할 수 있다.
카메라부(332)는 전자 장치(300)와 일체형 또는 분리형으로 구현될 수 있다. 분리된 카메라부(332)를 포함하는 별도의 장치(도시되지 아니함)는 통신부(350) 또는 입/출력부(370)를 통해 전자 장치(300)와 전기적으로 연결될 수 있다.
전자 장치(300)의 성능 및 구조에 따라 카메라부(332)가 제외될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
광 수신부(333)는 외부의 제어 장치(400)에서부터 수신되는 광 신호(제어 신호를 포함)를 디스플레이부(320)의 베젤의 광창(도시되지 아니함) 등을 통해 수신한다. 광 수신부(333)는 제어 장치(200)로부터 사용자 입력(예를 들어, 터치, 눌림, 터치 제스처, 음성, 또는 모션)에 대응되는 광 신호를 수신할 수 있다. 수신된 광 신호로부터 제어부(310)의 제어에 의해 제어 신호가 추출될 수 있다.
일 실시예에 따른 광 수신부(333)는 제어 장치(200)의 전원 온/오프 버튼 입력에 대응되는 광 신호를 수신할 수 있다.
입/출력부(370)는 제어부(310)의 제어에 의해 제어 장치(300)의 외부에서부터 비디오(예를 들어, 동영상 등), 오디오(예를 들어, 음성, 음악 등) 및 부가 정보(예를 들어, EPG 등) 등을 수신한다. 입/출력부(370)는 HDMI 포트(High-Definition Multimedia Interface port, 371), 컴포넌트 잭(component jack, 372), PC 포트(PC port, 373), 및 USB 포트(USB port, 374) 중 하나를 포함할 수 있다. 입/출력부(370)는 HDMI 포트(371), 컴포넌트 잭(372), PC 포트(373), 및 USB 포트(374)의 조합을 포함할 수 있다.
입/출력부(370)의 구성 및 동작은 본 발명의 실시예에 따라 다양하게 구현될 수 있다는 것은 당해 기술 분야의 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
제어부(310)는 전자 장치(300)의 전반적인 동작 및 전자 장치(300)의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부(310)는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 저장부(390)에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.
일 실시예에 따른 제어부(310)는 영상 신호를 처리하여 디스플레이부(320)로 입력할 수 있다. 이에 따라, 해당 영상 신호에 대응하는 영상이 디스플레이부(320)에 표시될 수 있다. 또한, 제어부(310)는 감지부(330)를 통하여 감지된 사용자 명령 또는 내부 프로그램에 의하여 전자 장치(300)를 제어할 수 있다.
제어부(310)는 전자 장치(300)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치(300)에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램(RAM, 381), 전자 장치(300)의 제어를 위한 제어 프로그램이 저장된 롬(ROM, 382) 및 프로세서(Processor, 383)를 포함할 수 있다.
프로세서(383)는 비디오에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit, 도시되지 아니함)를 포함할 수 있다. 프로세서(383)는 코어(core, 도시되지 아니함)와 GPU(도시되지 아니함)를 통합한 SoC(System On Chip)로 구현될 수 있다.
그래픽 처리부(384)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부는 감지부(330)를 통해 감지된 사용자 입력을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다. 렌더링부에서 생성된 화면은 디스플레이부(320)의 디스플레이 영역 내에 표시된다.
제1 내지 n 인터페이스(385-1 내지 385-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
램(381), 롬(382), 프로세서(383), 그래픽 처리부(384), 제1 내지 n 인터페이스(385-1 내지 385-n)는 내부 버스(bus)(386)를 통해 상호 연결될 수 있다.
본 실시예에서 “전자 장치의 제어부”라는 용어는 프로세서(383), 롬(382) 및 램(381)을 포함한다.
저장부(390)는 제어부(310)의 제어에 의해 전자 장치(300)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 저장부(390)는 비디오 처리부(380), 디스플레이부(320), 오디오 처리부(315), 오디오 출력부(325), 전원부(330), 튜너부(340), 통신부(350), 감지부(330), 입/출력부(370)의 구동에 대응되는 입력/출력되는 신호 또는 데이터를 저장할 수 있다. 저장부(390)는 전자 장치(300) 및 제어부의 제어를 위한 제어 프로그램, 제조사에서 최초 제공되거나 외부에서부터 다운로드 받은 어플리케이션, 어플리케이션과 관련된 GUI(graphical user interface), GUI를 제공하기 위한 오브젝트(예를 들어, 이미지 텍스트, 아이콘, 버튼 등), 사용자 정보, 문서, 데이터베이스들 또는 관련 데이터들을 저장할 수 있다.
또한, 일 실시예에 따른 저장부(390)는 중요 리소스 리스트 및 악성 소프트웨어에 대한 바이너리 리스트를 저장할 수 있다.
일 실시예에서 “저장부” 라는 용어는 저장부(390), 제어부의 롬(382), 램(381) 또는 전자 장치(300)에 장착되는 메모리 카드(예를 들어, micro SD 카드, USB 메모리, 도시되지 아니함)를 포함한다. 또한, 저장부(390)는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.
저장부(390)는 도시되지 아니한 방송 수신 모듈, 채널 제어 모듈, 볼륨 제어 모듈, 통신 제어 모듈, 음성 인식 모듈, 모션 인식 모듈, 광 수신 모듈, 디스플레이 제어 모듈, 오디오 제어 모듈, 외부 입력 제어 모듈, 전원 제어 모듈, 무선(예를 들어, 블루투스)으로 연결되는 외부 장치의 전원 제어 모듈, 음성 데이터베이스(DB), 또는 모션 데이터베이스(DB)를 포함할 수 있다. 저장부(390)의 도시되지 아니한 모듈들 및 데이터 베이스는 전자 장치(300)에서 방송 수신의 제어 기능, 채널 제어 기능, 볼륨 제어 기능, 통신 제어 기능, 음성 인식 기능, 모션 인식 기능, 광 수신 제어 기능, 디스플레이 제어 기능, 오디오 제어 기능, 외부 입력 제어 기능, 전원 제어 기능 또는 무선(예를 들어, 블루투스)으로 연결되는 외부 장치의 전원 제어 기능을 수행하기 위하여 소프트웨어 형태로 구현될 수 있다. 제어부(310)는 저장부(390)에 저장된 이들 소프트웨어를 이용하여 각각의 기능을 수행할 수 있다.
한편, 일 실시예에 따른 저장부(390)는 보안 모듈을 포함하는 소프트웨어가 저장될 수 있다. 보안 모듈이란 하드웨어에 대한 인증(Certification), 요청 허용(Permission), 보안 저장(Secure Storage), 악성 소프트웨어 탐지 등을 지원하는 프로그램 모듈이다. 일 실시예에 따른 보안 모듈의 동작에 대해서는 도 4를 참조하여, 구체적으로 설명하기로 한다.
한편, 도 2 및 3에 도시된 전자 장치(100, 300)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 장치(100, 300)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 4는 일 실시예에 따른 보안 모듈의 동작방법을 나타내는 도면이다.
도 4에 도시된 바와 같이, 일 실시예에 따른 전자 장치에서 실행되는 프로세스(410)는 정당한 프로세스(legitimate process, 413) 및 의심스러운 프로세스(suspicious process, 415)를 포함할 수 있다. 예를 들어, 정당한 프로세스(413)는 전원-오프 입력 감지 후, 전자 장치를 전원-오프 시키기 위해 수행되는 정상적인 프로세스를 의미할 수 있다. 정당한 프로세스는 전원-오프 입력이 감지되면, 전자 장치(100)에 포함되는 리소스들의 사용을 종료한다.
반면에, 의심스러운 프로세스(415)는, 전원-오프 입력 감지 후, 전자 장치(100)의 중요 리소스에 접근하거나, 사용하려는 프로세스를 의미할 수 있다.
일 실시예에 따른 리소스(Device Resource, 430)는, 전자 장치에 포함되는 하드웨어, 소프트웨어, 또는 데이터의 한 구성요소를 의미하며, 프로그램들이 활용할 수 있는 데이터나 루틴들을 포함할 수 있다. 예를 들어, 소프트웨어 리소스는 프로그램, 유틸리티, 프로그램 내의 작은 구성요소 등을 포함할 수 있으며, 데이터 리소스는 액세스할 수 있는 파일이나 데이터베이스 등을 포함할 수 있다.
일 실시예에 따른 전자 장치(100)에 포함되는 중요 리소스는 카메라, 마이크, 네트워크, 파일 시스템 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
일 실시예에 따른 보안 모듈(420)은, 전원-오프 동작이 시작되고, 정상적인 프로세스에 의해 리소스의 사용이 종료되기 전까지, 리소스의 사용이 종료되고 전자 장치(100)가 전원-오프 상태가 될 때까지, 또는 전자 장치(100)가 전원-오프 상태가 되고 다시 전원-온 상태가 될 때까지, 적어도 하나의 프로세스에 의해 의심스러운 활동이 발생되는지를 모니터링하기 위한 모듈일 수 있다.
예를 들어, 보안 모듈(420)은 Power-Off API 및 오픈 시스템 콜을 후킹(hooking)하도록 설정될 수 있다. 전원 오프가 감지되어, Power-Off API가 호출된 이후, 적어도 하나의 프로세스에 의해 리소스를 오픈하기 위한 오픈 시스템 콜이 요청되면, 보안 모듈(420)은 오픈하려는 리소스를 검출할 수 있다.
보안 모듈(420)은 검출된 리소스가 중요 리소스인지 여부를 결정할 수 있다. 예를 들어, 전자 장치(100)는 중요 리소스 리스트를 이용하여, 검출된 리소스가 중요 리소스 리스트에 포함되는지를 판단하여, 검출된 리소스가 중요 리소스인지 여부를 결정할 수 있다. 다만, 이에 한정하는 것은 아니다.
검출된 리소스가 중요 리소스가 아닌 경우, 리소스를 오픈하려고 한 프로스세는 정당한 프로세스일 수 있으며, 해당 리소스의 오픈은 허용될 수 있다.
반면에, 검출된 리소스가 중요 리소스인 경우, 보안 모듈(420)은 프로세스에 의한 리소스 오픈을 차단하고, 프로세스를 종료할 수 있다.
일 실시예에 따른 프로세스들 각각에 대한 바이너리는 블랙 리스트, 화이트 리스트, 언노운 리스트 중 어느 하나에 포함될 수 있다.
예를 들어, 제조사에 의한 유효한 디지털 서명을 가지지 않고, 이전에 악성 소프트웨어(malware)로 확인된, 바이너리는 블랙 리스트에, 제조사에 의한 유효한 디지털 서명을 포함하는 바이너리는 화이트 리스트에, 제조사에 의한 유효한 디지털 서명을 포함하지 않고, 이전에 악성 소프트웨어로 확인되지 않은 바이너리는 언노운 리스트(unknown list)에 포함될 수 있다.
일 실시예에 따른 전자 장치(100)는 블랙 리스트, 화이트 리스트 및 언노운 리스트 중 적어도 하나를 저장하거나, 외부 서버로부터 수신할 수 있다.
일 실시예에 따른 보안 모듈(420)은 리소스 오픈을 시도한 프로세스에 대한 바이너리가 어느 리스트에 포함되는지를 판단할 수 있다. 보안 모듈(420)은 리소스 오픈을 시도한 프로세스에 대한 바이너리가 블랙 리스트 또는 언노운 리스트에 포함되는 경우, 바이너리를 삭제할 수 있다.
또한, 보안 모듈(420)은 검출된 리소스 및 리소스의 오픈을 시도한 프로세스에 대한 보고서를 생성할 수 있다. 이때, 보고서에는, 프로세스 명, 바이너리 명, 바이너리 해쉬(MD5 또는 SAH-256), 프로세스가 오픈을 시도한 리소스 명, 바이너리 파일 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다. 보안 모듈(420)은 전자 장치(100)가 재 부팅되면, 생성한 보고서를 외부 서버로 전송할 수 있다.
일 실시예에 따른 보안 모듈(420)은 악성 소프트웨어로부터 보호되기 위해, 프로세서의 보안 영역(secure world)에서 실행되는 소프트웨어일 수 있다. 일 실시예에 따른 프로세서는 보안 영역 및 일반적인 소프트웨어가 실행되는 일반 영역(Normal world)을 포함할 수 있다. 보안 영역은 하드웨어적으로 일반 영역과 분리되어, 일반 영역보다 보안 레벨이 높은 영역이며, 보안 영역에서는 별도의 보안 운영체계(secure OS)가 설치되어 구동된다. 또한, 보안 영역은 제한된 인터페이스를 통하여, 일반 영역과 통신할 수 있다.
도 5는 일 실시예에 따른 전자 장치의 동작방법을 나타내는 흐름도이다.
도 5를 참조하면, 전자 장치(100)는 전원 오프 입력을 감지할 수 있다(S510).
예를 들어, 전자 장치(100)는 전자 장치(100)에 포함되는 전원 온/오프 버튼 입력을 감지하거나, 제어 장치(200)에 포함되는 전원 온/오프 버튼 입력을 감지하거나, 전원-오프 명령에 대응하는 사용자의 음성 또는 사용자의 제스쳐를 감지할 수 있다. 또는, 전자 장치(100)는 전원 오프에 대한 시간을 설정해 놓은 경우, 설정해 놓은 시간에 도달하는 것을 감지할 수 있다. 다만, 이에 한정되는 것은 아니다.
전자 장치(100)는 전원 오프 입력이 감지되면, 적어도 하나의 프로세스에 의한 리소스의 사용을 모니터링 할 수 있다(S520).
전자 장치(100)는 전원 오프 입력이 감지되면, 전원 오프 동작을 시작할 수 있다. 전자 장치(100)는 전원 오프 동작이 시작되고, 전자 장치(100)가 전원 오프 상태가 될 때까지 적어도 하나의 프로세스에 의한 리소스의 사용을 모니터링 할 수 있다. 또는, 전자 장치(100)가 전원 오프 상태가 되고, 다시 전원 온 상태가 될 때까지 적어도 하나의 프로세스에 의한 리소스의 사용을 모니터링 할 수 있다.
전자 장치(100)는 적어도 하나의 프로세스에 의해 리소스에 대한 오픈 시스템 콜이 요청되면, 오픈하려는 리소스가 중요 리소스인지 여부를 결정할 수 있다(S530).
전자 장치(100)는 사용하려는 리소스가 중요 리소스인 경우, 프로세스에 의한 리소스 오픈을 차단할 수 있다(S540).
한편, 일 실시예에 따른 전자 장치(100)는 적어도 하나의 프로세스에 의한 리소스 사용 이외에도, 적어도 하나의 프로세스에 의해 의심스러운 활동이 발생되는지를 모니터링 할 수 있다. 예를 들어, 전자 장치(100)는 보안(secure) 데이터 또는 프로세스, 사적인(privacy) 데이터 또는 프로세스, 비밀(confidential) 데이터 또는 프로세스에 접근하거나 수정하려는 행동, 외부 장치로부터 악의적인 페이로드(malicious payload)를 다운로딩하려는 행동 등을 검출할 수 있다. 다만, 이에 한정하는 것은 아니다. 전자 장치(100)는 의심스러운 활동이 검출되면, 의심스러운 활동을 종료시킬 수 있다.
도 6은 일 실시예에 따른 전자 장치의 동작방법을 나타내는 흐름도이다.
도 6을 참조하면, 전자 장치(100)는 전원 오프 입력을 감지할 수 있다(S610).
전자 장치(100)는 전원 오프 입력이 감지되면, Power-off API를 호출할 수 있다(S620).
전자 장치(100)는 적어도 하나의 프로세스가 리소스를 오픈하려는 동작을 감지할 수 있다(S630). 예를 들어, 적어도 하나의 프로세스는, 전자 장치에 포함되는 리소스를 오픈하려는 경우, 리소스에 대한 오픈 시스템 콜(“open” system call)을 요청할 수 있다.
전자 장치(100)는 오픈 시스템 콜이 요청되면, 오픈하려는 리소스를 검출할 수 있다(S640). 예를 들어, 전자 장치(100)는 오픈 시스템 콜에 포함되는 파라미터들을 이용하여, 오픈하려는 리소스와 프로세스 정보를 인출(fetch)할 수 있다.
전자 장치(100)는 검출된 리소스가 중요 리소스인지 여부를 결정할 수 있다(S650). 예를 들어, 전자 장치(100)는 중요 리소스 리스트를 이용하여, 검출된 리소스가 중요 리소스 리스트에 포함되는지를 판단하여, 검출된 리소스가 중요 리소스인지 여부를 결정할 수 있다.
전자 장치(100)는 검출된 리소스가 중요 리소스가 아닌 경우, 리소스의 오픈을 허용할 수 있다(S660).
반면에, 검출된 리소스가 중요 리소스인 경우, 전자 장치(100)는 프로세스에 의한 리소스 오픈을 차단하고, 프로세스를 종료할 수 있다(S670).
또한, 전자 장치(100)는 리소스 오픈을 시도한 프로세스에 대한 바이너리가 제조사에 의한 유효한 디지털 서명을 포함하지 않는 경우, 바이너리를 삭제할 수 있다.
또한, 전자 장치(100)는 검출된 리소스 및 리소스의 오픈을 시도한 프로세스에 대한 보고서(report)를 생성할 수 있다(S770). 이때, 보고서에는, 프로세스 명, 바이너리 명, 바이너리 해쉬(MD5 또는 SAH-256), 프로세스가 오픈을 시도한 리소스 명, 바이너리 파일 등을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
전자 장치(100)는 전원-오프 상태로 진입할 수 있다(S685).
전자 장치(100)는, 전자 장치(100)가 재 부팅되면, 생성한 보고서를 외부 서버로 전송할 수 있다(S690).
한편, 610 단계(S610) 및 620 단계(S620)에서는, 전원 오프 입력이 감지되고, Power-off API가 호출된 경우에 대해서만 도시하고 있지만, 이에 한정되는 것은 아니다.
예를 들어, 전자 장치(100)에서, 전원 오프 동작 이외에도, IOT(Internet Of Things) 관련 동작을 수행하기 위하여, IOT API가 호출되거나, B2B(Business to Business) 관련 동작들을 수행하기 위하여, B2B API가 호출되는 경우에도 630 단계(S630) 내지 690 단계(S690)의 동작들이 적용될 수 있다.
일 실시예에 따른 전자 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (16)

  1. 전자 장치에 있어서,
    상기 전자 장치의 전원 오프 입력을 감지하는 감지부;
    프로세서;
    메모리; 및
    상기 메모리에 저장되고, 상기 프로세서에 의해 실행되는 하나 이상의 프로그램들을 포함하고,
    상기 하나 이상의 프로그램들은,
    상기 전원 오프 입력이 감지되면, 적어도 하나의 프로세스에 의한 상기 전자 장치에 포함되는 리소스의 사용을 모니터링하고, 사용하려는 상기 리소스가 중요 리소스인 경우, 상기 리소스의 사용을 차단하기 위한 인스트럭션들(instructions)을 포함하는, 전자 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 프로그램들은,
    상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스를 종료시키기 위한 인스트럭션들을 더 포함하는, 전자 장치.
  3. 제1항에 있어서,
    상기 하나 이상의 프로그램들은,
    상기 전원 오프 입력이 감지되면, Power-Off API를 호출하고,
    상기 Power-Off API가 호출된 이후, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작을 모니터링하고,
    오픈하려고 하는 상기 리소스가 상기 중요 리소스인지를 결정하기 위한 인스트럭션들을 더 포함하는, 전자 장치.
  4. 제3항에 있어서,
    상기 메모리는,
    상기 Power-Off API와 상기 리소스에 대한 오픈 시스템 콜(“open” system call)을 후킹(hooking)하여, 상기 적어도 하나의 프로세스에 의한 상기 리소스의 사용을 모니터링하는 보안 모듈을 포함하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는 보안 영역(secure world)를 포함하고,
    상기 하나 이상의 프로그램들은,
    상기 보안 모듈을 상기 보안 영역에서 실행시키기 위한 인스트럭션들을 더 포함하는, 전자 장치.
  6. 제1항에 있어서,
    상기 메모리는,
    유효한 디지털 서명을 가지지 않고, 악성 소프트웨어(malicious software)에 대응하는 적어도 하나의 바이너리를 포함하는 제1 리스트를 저장하고,
    상기 하나 이상의 프로그램들은,
    상기 적어도 하나의 프로세스에 대한 바이너리를 검출하고, 검출된 상기 바이너리가 상기 제1 리스트에 포함되는 경우, 상기 적어도 하나의 프로세스에 대한 바이너리를 삭제하기 위한 인스트럭션들을 더 포함하는, 전자 장치.
  7. 제6항에 있어서,
    상기 전자 장치는,
    상기 제1 리스트를 외부 서버로부터 수신하는 통신부를 더 포함하는, 전자 장치.
  8. 제1항에 있어서,
    상기 전자 장치는,
    통신부를 더 포함하고,
    상기 하나 이상의 프로그램들은,
    상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작에 대한 보고서를 생성하고,
    상기 전자 장치가 재 부팅되면, 상기 보고서를 외부 서버로 전송하도록 상기 통신부를 제어하기 위한 인스트럭션들을 더 포함하는 전자 장치.
  9. 전자 장치의 동작방법에 있어서,
    상기 전자 장치의 전원 오프 입력을 감지하는 단계;
    상기 전원 오프 입력이 감지되면, 적어도 하나의 프로세스에 의한 상기 전자 장치에 포함되는 리소스의 사용을 모니터링하는 단계; 및
    사용하려는 상기 리소스가 중요 리소스인 경우, 상기 리소스의 사용을 차단하는 단계를 포함하는, 전자 장치의 동작방법.
  10. 제9항에 있어서,
    상기 동작방법은,
    상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스를 종료시키는 단계를 더 포함하는, 전자 장치의 동작방법.
  11. 제9항에 있어서,
    상기 동작방법은,
    상기 전원 오프 입력이 감지되면, Power-Off API를 호출하는 단계를 더 포함하고,
    상기 리소스의 사용을 모니터링하는 단계는,
    상기 Power-Off API가 호출된 이후, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작을 모니터링하는 단계; 및
    오픈하려고 하는 상기 리소스가 상기 중요 리소스인지를 결정하는 단계를 포함하는, 전자 장치의 동작방법.
  12. 제11항에 있어서,
    상기 동작방법은,
    상기 Power-Off API와 상기 리소스에 대한 오픈 시스템 콜(“open” system call)을 후킹(hooking)하는 단계를 더 포함하는 전자 장치의 동작방법.
  13. 제9항에 있어서,
    상기 동작방법은,
    유효한 디지털 서명을 가지지 않고, 악성 소프트웨어(malicious software)에 대응하는 적어도 하나의 바이너리를 포함하는 제1 리스트를 저장하는 단계;
    상기 적어도 하나의 프로세스에 대한 바이너리를 검출하는 단계; 및
    검출된 상기 바이너리가 상기 제1 리스트에 포함되는 경우, 상기 적어도 하나의 프로세스에 대한 바이너리를 삭제하는 단계를 더 포함하는, 전자 장치의 동작방법.
  14. 제13항에 있어서,
    상기 동작방법은,
    상기 제1 리스트를 외부 서버로부터 수신하는 단계를 더 포함하는, 전자 장치의 동작방법.
  15. 제9항에 있어서,
    상기 동작방법은,
    상기 리소스가 상기 중요 리소스인 경우, 상기 적어도 하나의 프로세스가 상기 리소스를 오픈하려는 동작에 대한 보고서를 생성하는 단계; 및
    상기 전자 장치가 재 부팅되면, 상기 보고서를 외부 서버로 전송하는 단계를 더 포함하는 전자 장치의 동작방법.
  16. 제9항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020150178525A 2015-12-14 2015-12-14 전자 장치 및 그 동작방법 KR20170070694A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150178525A KR20170070694A (ko) 2015-12-14 2015-12-14 전자 장치 및 그 동작방법
PCT/KR2016/013156 WO2017104977A1 (en) 2015-12-14 2016-11-15 Electronic device and method of operating the same
EP16875919.9A EP3380978A4 (en) 2015-12-14 2016-11-15 Electronic device and method of operating the same
US15/352,818 US20170169218A1 (en) 2015-12-14 2016-11-16 Electronic device and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150178525A KR20170070694A (ko) 2015-12-14 2015-12-14 전자 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
KR20170070694A true KR20170070694A (ko) 2017-06-22

Family

ID=59019353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150178525A KR20170070694A (ko) 2015-12-14 2015-12-14 전자 장치 및 그 동작방법

Country Status (4)

Country Link
US (1) US20170169218A1 (ko)
EP (1) EP3380978A4 (ko)
KR (1) KR20170070694A (ko)
WO (1) WO2017104977A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491748B (zh) * 2018-11-12 2021-07-23 广东小天才科技有限公司 一种基于小程序的可穿戴设备管控方法及管控终端
US11552972B2 (en) * 2020-07-14 2023-01-10 Bank Of America Corporation Trusted travel devices equipped with on-the-fly monitoring
US11334662B2 (en) * 2020-07-14 2022-05-17 Bank Of America Corporation Tamper-evident travel devices equipped with secure re-image file (s)
CN111901677B (zh) * 2020-07-24 2022-08-02 海信视像科技股份有限公司 一种统一控制进程启动的方法及显示设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410713A (en) * 1992-01-02 1995-04-25 Smith Corona/Acer Power-management system for a computer
US7233916B2 (en) * 2004-06-15 2007-06-19 Motorola, Inc. Method and system for tracking content rental
WO2010039149A1 (en) * 2008-10-03 2010-04-08 Hewlett-Packard Development Company, L.P. Clearing secure system resources in a computing device
US8590045B2 (en) * 2009-10-07 2013-11-19 F-Secure Oyj Malware detection by application monitoring
US9665712B2 (en) * 2010-02-22 2017-05-30 F-Secure Oyj Malware removal
US9245114B2 (en) * 2010-08-26 2016-01-26 Verisign, Inc. Method and system for automatic detection and analysis of malware
US8700913B1 (en) * 2011-09-23 2014-04-15 Trend Micro Incorporated Detection of fake antivirus in computers
CN104335220B (zh) * 2012-03-30 2018-04-20 爱迪德技术有限公司 用于防止和检测安全威胁的方法和系统
CN102722680B (zh) * 2012-06-07 2014-11-05 腾讯科技(深圳)有限公司 清除恶意程序的方法和系统
CN102750477B (zh) * 2012-06-11 2014-03-19 腾讯科技(深圳)有限公司 控制终端关闭的方法和系统
CN104081314A (zh) * 2012-07-27 2014-10-01 惠普发展公司,有限责任合伙企业 实现计算设备中的关机状态

Also Published As

Publication number Publication date
WO2017104977A1 (en) 2017-06-22
EP3380978A1 (en) 2018-10-03
US20170169218A1 (en) 2017-06-15
EP3380978A4 (en) 2018-10-24

Similar Documents

Publication Publication Date Title
US10123366B2 (en) Wireless connection method, machine-readable storage medium and electronic device using out-of-band channel
US20220413670A1 (en) Content Sharing Method and Electronic Device
KR102347069B1 (ko) 전자 장치 및 그 동작방법
CN105338391B (zh) 智能电视控制方法与移动终端
CN110536008B (zh) 一种投屏方法及移动终端
US9609588B2 (en) Information processing apparatus and display control method
KR20160043869A (ko) 전자 기기, 상기 전자 기기의 음량 조절 방법 및 상기 전자 기기의 제어 방법
KR102209840B1 (ko) 가상화 서비스 제공 장치 및 그 방법
KR20170091436A (ko) 영상 표시 장치 및 그 동작방법
EP3016377B1 (en) Display apparatus, controlling method and display system
KR20170070694A (ko) 전자 장치 및 그 동작방법
US9411399B2 (en) Portable electronic device and method of providing remaining amount of electric power of battery in portable electronic device
KR20160060846A (ko) 디스플레이 장치 및 디스플레이 방법
CN110084035B (zh) 用于在发生拒绝时建议响应指南的电子设备和方法
KR20170009087A (ko) 영상 표시 장치 및 그 동작 방법
KR20140105343A (ko) 디바이스 및 디바이스에서 복수의 모드를 이용한 데이터의 보안 방법
KR20200027249A (ko) 디스플레이 장치의 제어 방법 및 그에 따른 디스플레이 장치
CN112262548B (zh) 一种文件处理方法及终端设备
KR102508148B1 (ko) 디지털 디바이스 및 그를 이용한 컬러 제어 시스템 및 방법
CN110958474B (zh) 显示装置及其控制方法
KR102429433B1 (ko) 영상 표시 장치 및 그 구동 방법
KR20150000286A (ko) 보안 환경 전환 장치 및 방법
KR20170011363A (ko) 디스플레이 장치 및 디스플레이 방법
KR102121535B1 (ko) 전자 장치, 보조 장치 및 전자 장치의 동작 방법
US11126479B2 (en) Disturbance setting adjustment