KR20160001046A - 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치 - Google Patents

전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치 Download PDF

Info

Publication number
KR20160001046A
KR20160001046A KR1020140078732A KR20140078732A KR20160001046A KR 20160001046 A KR20160001046 A KR 20160001046A KR 1020140078732 A KR1020140078732 A KR 1020140078732A KR 20140078732 A KR20140078732 A KR 20140078732A KR 20160001046 A KR20160001046 A KR 20160001046A
Authority
KR
South Korea
Prior art keywords
code
electronic device
command code
app data
logging
Prior art date
Application number
KR1020140078732A
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 KR1020140078732A priority Critical patent/KR20160001046A/ko
Priority to US14/752,223 priority patent/US9680853B2/en
Publication of KR20160001046A publication Critical patent/KR20160001046A/ko

Links

Images

Classifications

    • 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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/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/562Static detection
    • G06F21/563Static detection by source code analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

다양한 실시예에 따르면, 전자 장치의 악성 코드 방지 방법에 있어서, 의심 명령 코드를 로깅 명령 코드로 변환하는 동작; 상기 변환된 로깅 명령 코드를 실행하는 동작; 및 상기 실행 결과, 상기 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하는 동작; 을 포함할 수 있다.

Description

전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치{Apparatus and Method for preventing malicious code in electronic device}
본 발명은 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치에 관한 것이다.
전자 장치는 통신, 인터넷의 발달로 카메라, 메신저, 음성 및 영상 통화, 소셜 네트워크 서비스 등의 다양한 기능을 제공하고 있다. 전자장치는 앱스토어 등의 어플리케이션 마켓을 통해 다양한 어플리케이션 또는 컨텐츠를 다운로드 받을 수 있다. 어플리케이션 또는 컨텐츠들 중에는 악의적인 목적으로 사용자의 동의 없이 개인 정보의 유출 또는 부정 과금을 유발하는 등의 악성 행위를 하는 악성 코드가 포함될 수 있다. 악성 코드를 포함하는 어플리케이션들은 점점 증가하는 추세이며, 악성 코드에 대한 피해를 사전에 방지하기 위한 다양한 방안들이 요구되고 있다.
일반적으로 악성 코드를 검출하는 방법은, 어플리케이션 설치 중 악성 코드로 판단된 패턴을 기록한 데이터베이스(DB: data base)와 비교하여 설치된 어플리케이션의 위험을 감지하는 방법과, 설치된 어플리케이션의 행위(예, 통신 패킷의 송수신)을 모니터링하고, 악성 행위의 패턴을 기록한 DB와 비교하여 해당 어플리케이션이 악성인지 판단하는 방법을 이용하고 있다.
이러한 악성 코드 검출 방법은, 사용자가 해당 어플리케이션의 위험 요소를 인식하기 이전에, 이미 악성 코드에 노출되어 피해가 발생될 수 있는 가능성이 있다.
본 발명의 다양한 실시예는 어플리케이션을 자유롭게 설치 및 삭제가 가능한 전자 장치에서 어플리케이션 동작(또는 설치) 이전에, 발생 가능한 위험 요소를 미연에 감지하고, 이를 사용자에게 알려주는 방안을 제안하고자 한다.
본 발명의 다양한 실시예는, 어플리케이션 동작(또는 설치)로 인해 발생될 수 있는 의심 동작을 어플리케이션 사전에 확인함으로써, 악의적이거나 의심스런 네트워크 동작 또는 파일 시스템 접근 동작 에 위험 요소를 감지하여 사용자에게 알려주는 방안을 제안하고자 한다.
본 발명의 다양한 실시예에 따른 악성 코드 방지 방법은, 의심 명령 코드를 로깅 명령 코드로 변환하는 동작; 변환된 로깅 명령 코드를 실행하는 동작; 및 상기 실행 결과, 상기 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하는 동작;을 포함할 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 외부 장치와 통신하는 통신부; 예측 동작 정보를 표시하는 표시부; 및 의심 명령 코드를 로깅 명령 코드로 변환하고, 변환된 로깅 명령 코드를 실행하고, 상기 실행 결과 상기 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하는 제어부를 포함할 수 있다.
본 발명은 어플리케이션의 설치가 자유로운 휴대 단말기 특히, 스마트폰 및 태블릿 PC의 사용자 수가 늘어남에 따라 점점 이슈가 되고 있는 악성 프로그램을 효과적으로 대응할 수 있다. 본 발명의 알고리즘은 기존의 기술과 달리, 어플리케이션과 관련하여 악성 코드의 가능성이 있는 부분 예를 들어, 네트워크 접속과 관련된 명령 코드, 파일 시스템에 접근하는 명령 코드를 로깅(logging) 명령 코드로 변환하고, 변환된 앱 데이터를 구동해봄으로써, 해당 어플리케이션의 위험 요소를 사전에 확인할 수 있다.
본 발명은 어플리케이션 설치 또는 실행 이전에, 어플리케이션 설치 또는 실행으로 인해 발생할 수 있는 네트워크 동작, 파일 시스템 접근 동작을 사전에 확인하고, 이를 사용자에게 제공함으로써, 악성 코드로 의심될 경우 설치를 하지 않도록 안내할 수 있다.
도 1은 다양한 실시예에 따른, 전자 장치의 개략적인 블록 구성도이다.
도 2는 다양한 실시예에 따른, 전자 장치의 악성 코드 방지를 위한 동작 시나리오를 설명하기 위한 개념도이다.
도 3은 일 실시예에 따른, 전자 장치의 악성 코드 방지 방법을 설명하는 흐름도이다.
도 4는 다른 실시예에 따른, 전자 장치의 악성 코드 방지 방법을 설명하는 흐름도이다.
도 5는 다양한 실시예에 따른, 악성 코드 방지를 위한 전자 장치와 서버장치의 연결 흐름도이다.
도 6은 다양한 실시예에 따른, 전자 장치와 서버 장치 블록도이다.
도 7은 다양한 실시예에 따른, 악성 코드 정보를 제공하는 유저 인터페이스 화면이다.
이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따라 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기에 대해서 상세하게 설명한다. 단, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.
본 발명의 상세한 설명에 앞서, 이하에서 사용되는 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. 따라서, 본 명세서와 도면은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
본 발명의 다양한 실시예에서, 전자 장치는 유/무선을 통해 네트워크에 접속이 가능하고 어플리케이션을 자유롭게 설치 및 삭제할 수 있는 전자 장치(예:스마트폰, 태블릿 PC 등)일 수 있다. 네트워크는 인터넷과 이동통신망을 포함할 수 있다.
도 1은 다양한 실시예에 따른, 전자 장치의 개략적인 블록 구성도이다.
도 1을 참조하면, 전자 장치 100 는 통신부110, 표시부 120, 입력부 130, 저장부 140 및 제어부 150를 포함할 수 있다.
상기 통신부 110은 상기 제어부 150의 제어 하에, 무선/유선 통신을 통해 네트워크에 연결되어 외부 장치(예, 타 전자 장치, 서버 장치 등)와 음성, 화상, 또는 데이터 통신할 수 있다. 상기 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 상기 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.
상기 통신부 110은 외부 장치로부터 어플리케이션 데이터(이하, 앱 데이터)를 수신할 수 있다. 앱 데이터는 앱 설치 파일(예, *.apk 등), 앱 실행 파일, 앱 관련 컨텐츠, 앱 관련 패키지 파일 등을 포함할 수 있다. 예를 들어, 앱 설치 파일, 앱 실행 파일 및, 앱 관련 패키지 파일은 바이너리(2 진수 기계어)로 된 파일일 수 있다. 앱 관련 컨텐츠는 텍스트, 오디오, 비디오 데이터 등을 디지털 방식으로 제작하여 처리 유포되는 파일, 데이터 또는 객체일 수 있다.
상기 통신부 110은 새로운 앱 데이터가 수신되면, 악성 코드 진단 기능을 제공하는 서버로 수신된 앱 데이터를 송신하고, 악성 코드 진단 결과를 수신할 수 있다.
상기 입력부 120은 사용자 설정 및 단말기의 기능 제어와 관련된 신호를 생성하여 제어부 150으로 전달할 수 있다. 상기 제어부 150은 이러한 키 신호에 응답하여 해당 입력 신호에 따른 기능들을 제어할 수 있다. 상기 입력부 120은 터치 패널, 펜 센서 및 키를 포함할 수 있다. 터치 패널은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 사용자에 의한 터치 입력을 인식할 수 있다. 터치 패널은 컨트롤러(미도시)를 더 포함할 수도 있다. 한편, 정전식의 경우에는 직접 터치 외에 근접 인식도 가능할 수 있다. 펜 센서는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일한 방식으로 별도의 펜 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 키에는, 예를 들어, 기계(Mechanical) 키 또는 터치 키 등이 있을 수 있다.
상기 표시부 130은 영상 또는 데이터를 사용자에게 표시하는 기능을 수행할 수 있다. 상기 표시부 130은 표시 패널을 포함할 수 있다. 표시 패널에는, 예를 들어, LCD(Liquid-Crystal Display) 또는 AM-OLED(Active-Matrix Organic Light-Emitting Diode) 등이 이용될 수 있다. 표시부 130은 표시 패널을 제어하는 컨트롤러를 더 포함할 수 있다. 표시 패널은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 한편, 표시부 130은 터치 패널과 결합되어 하나의 모듈(예; 터치 스크린의 형태)로 구성될 수 있다.
상기 저장부 140은 제어부 150 또는 다른 구성요소들(예, 표시부 130, 입력부 120 및 통신부 110 등)로부터 수신되거나 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 예를 들면, 저장부(170)는 전자 장치의 부팅 및 상술한 각 구성 운용을 위한 운영체제(OS, Operating System), 적어도 하나의 응용프로그램, 네트워크와 송수신하는 메시지 및 어플리케이션 실행에 따른 데이터 등을 저장할 수 있다.
상기 저장부 140는, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API: application programming interface) 또는 어플리케이션 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 저장부 140은 리버싱 프로그램(Decomplier)을 포함할 수 있다. 리버싱 프로그램은 바이너리(2진수 기계어)로 된 파일을 기계어와 1:1로 대응되는 중간 코드(intermediate code)로 복원하는 프로그램일 수 있다. 예를 들어, 중간 코드는, 원시 언어로 된 프로그램을 목적 코드로 번역하는 과정에서 생성되는 내부적 코드일 수 있다. 상기 저장부 140은 의심 명령 코드(operation code) 정보를 기록한 데이터를 포함할 수 있다. 여기서, 의심 명령 코드는, 네트워크 통신 기록, 전자 장치 운용(예, 저장소 사용 이력 등) 기록 등과 같이 로그(log)와 관련된 코드일 수 있다.. 예를 들어, 로그와 관련된 명령 코드 정보는, 네트워크 통신 접속 코드(예, Urlconnection 등) 정보, 파일 시스템 접근 코드(예, openfile 등) 정보 등일 수 있다.
상기 제어부 120는, 예를 들면, 전술한 다른 구성요소들(예: 통신부 110, 입력부 120, 표시부 130, 저장부 140 등)으로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다. 예를 들면, 상기 제어부 150은 전원이 공급되면, 전자 장치의 부팅 과정을 제어하고, 사용자의 설정에 따라 기능 실행을 위해 프로그램 영역에 저장된 각종 응용 프로그램을 실행할 수 있다. 제어부 150은 하나 이상의 어플리케이션 프로세서(AP: application processor) 또는 하나 이상의 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
상기 제어부 150은 감지 모듈 151, 변환 모듈 152 및 가상 실행 모듈 153을 포함하여 이루어질 수 있다.
상기 감지 모듈 151은 어플리케이션과 관련된 앱 데이터(이하, 앱 데이터)를 네트워크를 통해 수신(또는 다운로드) 신호를 감지할 수 있다. 수신된 앱 데이터는 전자 장치의 지정된 저장 장소(위치)에 저장될 수 있다. 이하, 저장 장소에 저장되어 있으나, 전자 장치에서 처리되기 전의 앱 데이터를 원본(original) 앱 데이터로 지칭하기로 한다.
상기 감지 모듈 151은 앱 데이터가 수신되면, 악성 코드 진단 모드가 활성화 됐는지를 판단할 수 도 있다. 전자 장치는 악성 코드 진단 모드의 온/오프 기능을 사용자 설정에 따라 변경하도록 제공할 수 있다. 감지 모듈 151는 악성 코드 진단 모드일 경우, 수신된 원본 앱 데이터를 변환 모듈 152로 전달할 수 있다.
상기 감지 모듈 151은 앱 데이터가 새로운 앱 데이터인 경우, 통신부를 제어하여, 악성 코드 진단 기능을 제공하는 서버 장치로 앱 데이터를 전송할 수 있다.
상기 변환 모듈 152는 원본 앱 데이터를 리버싱 (reverse engineering)하여 소스 코드(예, Java 코드)로 복원할 수 있다. 변환 모듈 152는 복원된 소스 코드 중 의심 명령 코드(operation code)를 로깅(logging) 명령 코드로 변환할 수 있다. 의심 명령 코드는, 예를 들어 URL connection, HTTP connection, openfile 등과 같이 특정 네트워크에 접속하기 위해 의심되는 코드, 외부 장치와의 네트워크 접속 연결 명령 코드 또는 로컬 파일 시스템(예; private data)에 접근 명령 코드, 개인 저장 장소로의 접근 명령 코드 등을 포함할 수 있다. 로깅 명령 코드는 특정 목적지와 연결을 시도하려는 동작, 또는 특정 목적지(예: 보안 저장소 등)를 오픈하거나 접근을 시도하려는 동작으로 처리하는 명령 코드일 수 있다.
상기 변환 모듈 152는 소스 코드 중 의심 명령 코드(operation code)를 확인하기 위해, 악성 패턴을 기록한 데이터베이스와 비교하고, 비교 결과 악성 코드의 가능성이 있는 의심 명령 코드를 확인할 수도 있다.
예를 들면, 변환 모듈 152는 의심 명령 코드가 존재하는 경우, 해당 의심 명령 코드를 로깅 명령 코드로 변환할 수 있다. 예를 들어, 변환 모듈 152는 'return stream handler openConnection(www.dada.com)' 와 같은 명령 코드를" logging('tried to connect to 'www.dada.com')"같은 로깅 명령 코드로 변환할 수 있다.
다른 예를 들면, 상기, 변환 모듈 152는 의심 명령 코드가 존재하는 경우, 네트워크 접속의 목적지를 임의의 목적지로 변환(예; www.dada.com를 www.dada.com`로 변경) 할 수 있다.
상기 변환 모듈 152는 파일 시스템에 접근하는 의심 명령 코드에서 파일 시스템의 접근 경로를 변경(예: openfile/etc/password 를 openfile/etc/password`로 변경)하거나, 파일 시스템으로의 접근을 시도하려는 로깅 명령 코드로 변환할 수 있다. 예를 들어, "open file: private file/etc/passwor" 라는 명령 코드를 "logging ('tried to open to 'open file: private file/etc/password')" 와 같은 로깅 명령 코드로 변환할 수 있다. 상술한 로깅 명령은 본 발명을 설명하기 위해 예시일 코드일 뿐이며, 소스 코드에 따라 다양하게 변경이 가능하다.
상기 변환 모듈 152는 변환된 명령 코드를 기반으로 변환된 앱 데이터를 생성할 수 있다. 변환된 앱 데이터는 변환된 명령 코드를 기반으로 컴파일링 된 패키지 파일일 수 있다. 예를 들어, 원본 앱 데이터가 A.apk 파일일 경우, 변환된 앱 데이터는 A`.apk 파일일 수 있다.
상기 변환 모듈 152는 생성된 앱 데이터를 가상 실행 모듈 153으로 전달할 수 있다.
상기 가상 실행 모듈 153은 변환된 앱 데이터를 임시적으로 처리할 수 있다. 앱 데이터의 처리는 어플리케이션의 설치 또는 실행하는 동작일 수 있다. 가상 실행 모듈 153은 변환된 앱 데이터를 처리하여, 앱 데이터 처리 시 전자 장치에서 발생되는 동작 또는 행위(action)에 대한 로그를 확인할 수 있다. 예를 들어, 전자 장치에서 변환된 앱 설치 파일을 실행시킬 경우, 백그라운드(background)에서 특정 서버와의 접속 연결 동작, 녹음 또는 녹화하는 동작, 로컬 파일을 오픈하는 동작의 로그(log)를 예측할 수 있다.
상기 가상 실행 모듈 153은 변환된 앱 데이터의 처리 결과를 분석하여 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하도록 제어할 수 있다. 예측 동작 정보는, 의심 명령 코드로 인해 발생되거나 예측할 수 있는 동작 정보 예를 들어, A 목적지로 네트워크 접속을 시도하는 동작, 로컬 시스템 파일에 접근하려는 동작 등에 대한 정보일 수 있다. 상기 가상 실행 모듈 153은 예측 동작 정보와 함께 앱 설치 여부를 안내하도록 표시부를 제어할 수 있다.
전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자장치의 종류에 따라서 달라질 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 2는 다양한 실시예에 따른, 전자 장치의 악성 코드 방지를 위한 동작 시나리오를 설명하기 위한 개념도이다.
도 2를 참조하면, 전자 장치 100는 A 목적지 210(예; URL 주소 등)로 연결 접속하는 명령 코드가 앱 설치 파일에 포함된 경우, 사용자의 의도와 상관없이, 백그라운드에서 자동으로 A 목적지 210로 접속을 요청하는 요청 신호(request signal)를 전송하는 동작, A 목적지 210로부터 응답 신호(response signal)를 수신하는 일련의 동작을 수행할 수 있다.
이 경우, 사용자는 앱 설치 파일의 소스 코드에 대한 명령 실행 정보를 일일이 확인할 수가 없었다. 예를 들어, 응답 신호에 악성 코드가 포함되어 유포되는 경우, 전자 장치 100는 아무런 대책 없이 악성 코드에 노출될 수 있다.
본 발명의 다양한 실시예에 따르면, 전자 장치 100는 악의적인 악성 코드 유포로 인한 피해를 미연에 방지하고자, 실질적으로 네트워크 통신이 발생되는 동작을 우회하도록 원본 앱 데이터에서 의심 명령 코드(예; 네트워크 통신, 개인 데이터 접근 코드 등 )를 로깅 명령 코드로 변환할 수 있다.
전자 장치 100은 변환된 명령 코드로 다시 컴파일(comfile)하고 변환된 앱 데이터를 임시적으로 처리할 수 있다. 전자 장치 100은 변환된 앱 데이터를 처리함으로써, 실질적으로 앱 데이터 처리 시 발생될 수 있는 동작 또는 행위에 대한 로그를 확보할 수 있다.
예를 들어, 전자 장치 100는, A 목적지 210로의 접속 명령 코드(예, httpconnection: 'A 목적지' )를 접속을 시도하려는 로깅 명령 코드(예, try to connction: 'A 목적지' , 또는 임의의 A` 목적지 220로 접속을 시도하려는 로깅 명령 코드(httpconnection: A` 목적지)로 변환할 수 있다.
그러면, 전자 장치는 변환된 앱 데이터 처리 시 실질적인 A 목적지 210로의 접속 연결하는 일련의 동작을 수행하지 않을 수 있다. 전자 장치 100은, A 목적지로 접속을 시도 예를 들어, 접속 연결에 대한 목적지만 설정되어 있을 뿐, 실질적으로 A 목적지와 통신 신호를 송수신하여 접속 연결을 요청하지 않을 수 있다.
다른 예를 들어, 전자 장치 100은 접속 연결에 대한 목적지를 임의의 A`목적지 220 변환할 경우, 전자 장치 100가 접속 연결을 요청하여도 A의 URL주소가 A`로 변경되었으므로, 실질적으로 A 목적지와의 접속 연결 동작에 대한 결과가 아닐 수 있다.
이와 같이, 사용자는 앱 설치 파일을 설치하기 이전에, 앱 설치 파일을 실행할 경우, a 목적지로 접근을 시도하려는 로그, 로컬 시스템 파일에 접근을 시도하려는 예측 동작 정보를 확인할 수 있다.
도 3은 일 실시예에 따른, 전자 장치의 악성 코드 방지 방법을 설명하는 흐름도이다.
도 3을 참조하면, 310 동작에서, 전자 장치는 앱 데이터를 외부 전자 장치(예; 서버, 주변 장치)로부터 수신(또는 다운로드)할 수 있다. 이하, 앱 데이터를 외부 장치에서 수신하는 경우로 예를 들어 설명하지만, 이에 한정하지 않고, 전자 장치를 구동하는 과정에서 의심 명령 코드가 발견되는 경우 본 발명의 실시가 가능하다. 예를 들면, 310 동작은 생략될 수 있다.
320 동작에서, 전자 장치는 앱 데이터 중 의심 명령 코드를 로깅 명령 코드로 변환하여 변환된 앱 데이터를 생성할 수 있다.
예를 들어, 전자 장치는 원본 앱 데이터를 리버싱하여 소스 코드로 복원하고, 소스 코드 중 네트워크 동작과 관련된 명령 코드, 로컬 파일 시스템(예, 비밀 저장 장소, 리소스 디렉토리, 보안 디렉토리 등)에 접근하려는 명령 코드 등과 같이 악성 행위로 의심되는 의심 명령 코드를 로깅 명령 코드로 변환할 수 있다. 전자 장치는 변환된 로깅 명령 코드를 기반으로 다시 컴파일하여 변환된 앱 데이터를 생성할 수 있다. 예를 들어, 전자 장치는 앱 설치 파일(예, *.apk )를 리버싱하는 경우, 해당 어플리케이션의 소스 코드(예; 자바스크립트) 정보를 다음의 표 1과 같이 확인할 수 있다.
URL url= new URL("http://www.android.com/")
HTTpURLConnectionurlConnection - HTTpURLConncection) url.OPENConnection();
Try {
InputStream in- new BufferedInputStream(urlConnection.getInputStrean());
readStream(in);
}Finally {
urlConnection.dissconnect();
}
전자 장치는, 앱 설치 파일의 소스 코드 중 로그와 관련된 명령 코드 예,urlConnection, url.OPENConnection등을 확인하고, 원본 웹 데이터의 명령 코드를 표 2에서 표 3으로 변환할 수 있다.
Public URLConnectionOpenConnection() ThorwsIOExecption{
Return StreamHandler.OpenConnection(This)
}
Public URLConnectionOpenConnection() ThorwsIOExecption{
Logging("Tried to connect to"+ this)
Return null;
}
전자 장치는 "return stream handler openConnection(www.dada.com)" 와 같은 명령 코드를 " logging('tried to connect to 'www.dada.com')" 와 같은 로깅 명령 코드로 변환하고, 변환된 로깅 명령 코드를 기반으로 다시 컴파일하여 변환된 앱 데이터를 생성할 수 있다.
330동작에서, 전자 장치는 변환된 앱 데이터를 처리할 수 있다. 예를 들어, 전자 장치는 가상 공간에 변환된 앱 데이터를 처리(예: 실행 또는 설치)할 수 있다. 전자 장치는 변환된 앱 데이터를 처리하고, 처리 결과에 따라 전자 장치에서 발생되는 동작 또는 행위에 대한 로그(log)를 확보할 수 있다.
340 동작에서, 전자 장치는 변환된 앱 데이터의 실행 결과를 분석하여 의심 명령 코드와 관련된 예측 동작 정보를 표시부에 표시할 수 있다. 에를 들어, 전자 장치는, 특정 사이트 접속 시도 예측 정보, 특정 로컬 파일 시스템 접근 시도 예측 정보, 특정 사이트 접속 시에 대한 위험 수준(risk) 정보 등으로 화면을 구성하고, 표시부에 표시할 수 있다.
다른 예를 들어, 전자 장치는 로그와 관련된 명령 코드를 악성 패턴을기록한 데이터베이스와 비교하고, 비교 결과 로그와 관련된 명령 코드에 대한 신뢰성을 판단하여 위험 수준을 확인할 수도 있다.
도 4는 다른 실시예에 따른, 전자 장치의 악성 코드 방지 방법을 설명하는 흐름도이다.
도 4를 참조하면, 410 동작에서, 전자 장치는 앱 데이터를 외부 전자 장치로부터 수신할 수 있다. 다른 예를 들어, 410 동작은 생략될 수 있으며, 전자 장치는 앱 데이터를 구동하는 과정에서, 앱 데이터에 대한 의심 명령 코드를 확인할 수 있다.
420 동작에서, 전자 장치는 새로운 앱 데이터가 수신되면, 새로운 앱 데이터에 대한 악성코드 진단 기능이 설정되어 있는지를 판단할 수 있다.
다른 예를 들면, 전자 장치는 악성 코드 진단 모드에 대한 설정 기능을 제공할 수 있다. 예를 들어, 전자 장치는 악성 코드 진단 모드기능이 켜진 경우, 사용자 설정에 따라, 모든 앱 데이터에 대한 악성 코드 진단을 실행하도록 설정되거나, 앱 데이터가 수신될 때마다 사용자에게 악성 코드 진단 여부를 묻는 과정이 선행되도록 설정될 수 있다.
430 동작에서, 전자 장치는 수신된 앱 데이터에 대해 악성 코드를 진단한다고 판단되면, 수신된 앱 데이터를 변환하여 변환된 앱 데이터를 생성할 수 있다. 예를 들어, 전자 장치는 수신된 앱 데이터의 소스 코드 중 의심 명령 코드를 우회하도록 로깅 명령 코드로 변환하고, 변환된 명령 코드를 기반으로 변환된 앱 데이터를 생성할 수 있다.
전자 장치는 수신된 앱 데이터에 대해 악성 코드를 진단하지 않을 경우, 470 동작으로 진행하여 수신된 앱 데이터를 실행하거나 처리할 수 있다.
440 동작에서, 전자 장치는 변환된 앱 데이터를 임시적으로 처리할 수 있다. 예를 들어, 전자 장치는 가상 공간에 변환된 앱 데이터를 처리할 수 있다. 전자 장치는 변환된 앱 데이터를 처리하고, 처리 결과에 따라 전자 장치에서 발생되는 동작, 또는 행위에 대한 로그를 확인할 수 있다.
450 동작에서, 전자 장치는 변환된 앱 데이터의 실행 결과를 분석하여 로그와 관련된 예측 동작 정보를 표시부에 표시할 수 있다. 예를 들어, 전자 장치는," 특정 사이트에 접속을 시도하려고 함" , "특정 로컬 파일 시스템에 접근하려고 함" 등과 같은, 로깅 예측 정보 또는 특정 명령 코드 실행 시 발생되는 위험 수준(예, 리스크(risk) 정보) 정보 등으로 화면을 구성할 수 있다.
전자 장치는 구성된 화면을 표시부에 표시하여 악성 코드로 의심되는 동작 또는 행위가 발생될 수 있음을 사용자에게 안내할 수 있다. 전자 장치는 예측 동작 정보와 함께 수신된 앱 데이터의 실행 여부 또는 설치 여부를 묻는 안내 정보를 제공할 수 있다. 예를 들어, 전자 장치는 로깅 예측 정보 또는 설치 또는 실행 안내 정보를 팝업창 형식으로 표시부에 표시할 수 있다.
460 동작에서, 전자 장치는 수신된 원본 앱 데이터의 처리를 수락하는 입력(예, 승인 입력 신호)이 검출되는지를 판단하고, 처리를 수락하는 입력이 검출되는 경우, 490 동작에서 전자 장치는 수신된 원본 앱 데이터를 처리할 수 있다. 예컨대, 전자 장치는 앱 데이터를 처리하여 어플리케이션을 설치 또는 실행하거나, 어플리케이션과 관련된 컨텐츠를 처리할 수 있다.
다른 예를 들면, 전자 장치는 원본 앱 데이터를 처리한 경우, 사용자 요청 또는 설정 정보에 따라 변환된 앱 데이터를 삭제할 수 있다.
전자 장치는 사용자의 입력 여부에 따라, 앱 데이터의 처리를 거절하는 입력(예; 거절 입력 신호)이 검출되는 경우, 프로세스를 종료할 수 있다. 다양한 실시예에 따르면, 전자 장치는 악성 코드의 가능성으로 인해 원본 앱 데이터를 처리하지 않을 경우, 사용자에게 원본 앱 데이터를 삭제할 것을 안내할 수 있다. 또는 전자 장치는 원본 앱 데이터를 처리하지 않을 경우, 사전 정의된 설정 정보에 따라 원본 앱 데이터를 삭제하거나, 유지할 수도 있다.
도 5는 다양한 실시예에 따른, 악성 코드 방지를 위한 전자 장치와 서버장치의 연결 흐름도이다.
도 5를 참조하면, 다양한 실시예에 따르면, 전자 장치 101의 악성 코드 진단 기능은 서버 장치 104와 연동할 수 있다. 510 동작에서 전자 장치 101은, 앱 데이터를 서버 장치 104로 전송할 수 있다.
520 동작에서, 서버 장치 104는 전자 장치 101로부터 수신된 앱 데이터를 변환하여 변환된 앱 데이터를 생성할 수 있다. 예컨대, 서버 장치 104는 도 3에서 설명한 바와 같이, 전자 장치 101의 310 동작과 동일한 동작을 수행하여 앱 데이터를 생성할 수 있다. 예를 들면, 서버 장치 104는 전자 장치 101로부터 수신된 앱 데이터를 소스코드로 복원하고, 소스 코드 중 의심 명령 코드를 로깅 명령 코드로 변환할 수 있다. 서버 장치 104는 변환된 명령 코드를 기반으로 변환된 앱 데이터를 생성할 수 있다.
530 동작에서, 서버 장치 104는 변환된 앱 데이터를 임시적으로 처리할 수 있다. 서버 장치 104는 변환된 앱 데이터를 처리함으로써, 발생될 수 있는 동작 또는 행위에 대한 로그를 확보하고, 예측 동작 정보를 확인할 수 있다.
예를 들면, 서버 장치 104는 의심 명령 코드의 신뢰성을 파악하기 위해 악성 패턴을 기록한 데이터베이스와 비교하여 악성 코드의 가능성 여부, 위험 수준을 파악할 수도 있다. 이를 위해, 540 동작에서, 서버 장치 104는 로그와 관련된 명령 코드를 코드 패턴 데이터 베이스(DB: data base)와 비교하는 동작을 수행할 수도 있다. 서버 장치 104는 이전 히스토리 등을 통해 악성 패턴으로 판단된 의심 명령 코드들을 기록하고, 이를 저장할 수 있다.
서버 장치 104는 전자 장치 101로부터 수신된 앱 데이터의 명령 코드를 코드 패턴 데이터베이스와 비교하여, 해당 코드들의 신뢰도를 파악할 수 있다. 여기서, 신뢰도는 비율(%) 또는 수치(Numerical Value)일 수 있다. 신뢰도는 히스토리 이력을 통해 의심되는 명령 코드가 실질적으로 전자 장치 101에 실행될 경우 악성 행위(예, 정보 유출, DOS 행위, 녹음, 녹화, 부정 과금 행위 등)로 판단됐는지 여부, 악성으로 분류된 이력이 있는지 여부, 출처가 공식처인지 여부, 저장된 위치에 접근 권한을 가지는지 여부 등으로 파악할 수 있다. 예를 들어, 네트워크 접속 연결에 대한 목적지가 공식처인 경우, 네트워크 연결 명령 코드의 신뢰도는 상대적으로 높으나, 네트워크 접속 연결에 대한 목적지가 불분명한 출처인 경우, 네트워크 연결 명령 코드의 신뢰도는 상대적으로 낮을 수 있다. 서버 장치 104는 명령 코드들을 비교하여 명령 코드들의 신뢰성을 파악하고, 신뢰성를 기반으로 위험 수준 정보를 전자 장치 101로 제공할 수도 있다.
550동작에서, 서버 장치 104는 명령 코드 비교 결과, 신뢰도가 낮거나 악성으로 의심되는 의심 명령 코드에 대한 앱 데이터의 처리 조건을 설정할 수 있다. 예를 들어, 서버 장치는 원본 앱 데이터에 대해 예측 동작 정보 및 위험 수준 정보를 사용자에게 안내하도록 설정하거나 또는, 앱 데이터의 처리를 금지하도록 설정할 수 있다.
다른 예를 들면, 서버 장치104는 540 동작 및 550 동작을 생략할 수도 있다.
560 동작에서, 서버 장치104는 로깅 예측 정보 및 앱 데이터의 위험 수준 정보를 전자 장치로 전송할 수 있다. 전자 장치101는 서버 장치104로부터 수신된 앱 데이터의 로깅 예측 정보 및 위험 수준 정보를 표시부에 표시하여 사용자에게 안내할 수 있다. 예를 들어, 전자 장치101는 서버로부터 로깅 예측 정보 및 위험 수준 정보를 수신할 경우, 도 4의 450 동작 내지 470동작을 수행하여 사용자에게 안내하고, 사용자의 선택에 따라 앱 데이터를 처리하거나 처리하지 않을 수 있다.
도 6은 다양한 실시예에 따른, 전자 장치와 서버 장치 블록도이다.
도 6을 참조하면, 전자 장치 101는 앱 데이터 예를 들어, 앱 파일, 앱 관련 컨텐츠 앱 관련 정보를 트랜시버 601를 통해 서버 장치 104로 전송할 수 있다. 서버 장치 104는 트랜시버 604를 통해 앱 데이터를 수신할 수 있다.
상기 서버 장치 104는 트랜시버 6004를 통해 수신된 앱 데이터를 변환부 610으로 전달할 수 있다. 변환부 610은 전자 장치 101로부터 전달된 앱 데이터를 소스 코드로 복원하고, 복원된 소스 코드 중 의심 명령 코드(operation code)를 로깅(logging) 명령 코드로 변환할 수 있다.
상기 변환부 610은 변환된 로깅 명령 코드를 기반으로 변환된 앱 데이터를 생성할 수 있다. 변환된 앱 데이터는 변환된 명령 코드를 기반으로 컴파일링된 패키지 파일일 수 있다. 변환부 610은 변환된 앱 데이터를 실행부 620으로 전달할 수 있다.
상기 실행부 620은 변환된 앱 데이터를 처리하고, 처리 결과 앱 데이터 처리 시 전자 장치에서 발생되는 동작 또는 행위(action)에 대한 로그를 확인할 수 있다. 상기 실행부 620은 변환된 앱 데이터의 처리 결과를 분석하여 로그와 관련된 예측 동작 정보를 구성할 수 있다.
다양한 실시예에 따르면, 서버 장치 104는 로그와 관련된 명령 코드들의 신뢰성을 파악하기 위해 명령 코드들의 정보를 분석부 630로 전달할 수 있다. 상기 분석부 630은 앱 데이터의 명령 코드들의 코드 패턴 데이터베이스 640과 비교하여, 해당 코드들의 신뢰도를 파악할 수 있다. 예를 들어, 상기 분석부 630은 국가 공인 사이트에 접속하려는 명령 코드인 경우 해당 코드의 신뢰도는 리스크 0%로 파악할 수 있다. 상기 분석부 630은 비밀 번호를 저장하는 로컬 시스템에 접속하려는 명령 코드인 경우, 해당 코드의 신뢰도는 리스크 90&로 파악할 수 있다.
상기 분석부 630는 로그와 관련된 명령 코드들의 신뢰도를 설정부 650로 전달할 수 있다. 상기 설정부 650은 로그와 관련된 명령 코드들의 신뢰성을 판단하여 전자 장치에서 실행되는 처리 조건을 설정할 수 있다. 예를 들어, 상기 설정부 650은 비밀 번호를 저장하는 로컬 시스템에 접속하려는 명령 코드에는 리스크 90% 신뢰도이므로, 해당 명령 코드를 처리하지 못하도록 처리 조건을 설정할 수 있다.
상기 서버 장치 104는 앱 데이터에 대한 악성 코드 진단 결과, 즉, 로깅 예측 정보 및 앱 데이터의 위험 수준 정보를 전자 장치로 전송할 수 있다
도 7은 다양한 실시예에 따른, 악성 코드 정보를 제공하는 유저 인터페이스 화면이다.
도 7을 참조하면, 전자 장치 101은 앱 데이터 처리 이전에, 앱 데이터에 대한 악성 코드 진단 화면 110를 표시부에 표시할 수 있다. 예를 들면, 악성 코드 진단 정보 710는 의심 명령 코드 정보(예, OP code 1, OP code 2 등) 720를 포함할 수 있다. 도 7에서 의심 명령 코드 정보는, OP code 1 등으로 표기되어 있으나, 사용자 편의를 위하여 " 특정 웹 사이트에 접근을 시도하려는 명령 코드" 등과 같이 안내할 수도 있다. 전자 장치는 의심 명령코드 정보를 리스트 형식으로 제공할 수 있다.
전자 장치 101는 악성 코드 진단 화면 710에 앱 데이터의 처리 여부를 확인하는 안내 메시지 760를 제공할 수 있다. 안내 메시지는 앱 데이터의 처리 여부를 확인하는 정보와, 처리 승인 항목721 및 거절 항목 732을 포함할 수 있다. 사용자는 의심 명령 코드에 따른 예측 동작 정보를 확인하고, 이에 따라 수신된 앱 데이터를 처리할 것인지 처리하지 않을 것인지 결정할 수 있다.
전자 장치 101는 로그와 관련된 명령 코드 정보와 함께 해당 명령 코드의 신뢰도를 기반으로 위험 수준 정보(예, 90% of risk)를 제공할 수도 있다.
본 발명의 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 제어부에 의해 실행될 경우, 상기 하나 이상의 제어부가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 저장부가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 제어부에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
다양한 실시예에 따르면, 명령들을 저장하고 있는 저장 매체에 있어서, 상기 명령들은 적어도 하나의 제어부에 의하여 실행될 때에 상기 적어도 하나의 제어부로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은 전자 장치의 악성 코드 방지 방법에 있어서, 의심 명령 코드를 로깅 명령 코드로 변환하는 동작; 상기 변환된 로깅 명령 코드를 실행하는 동작; 및 상기 실행 결과, 상기 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하는 동작; 을 포함할 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 실시예에 따른 기술 내용을 쉽게 설명하고 본 발명의 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.
101: 전자 장치
110: 통신부 120: 표시부
130: 입력부 140: 저장부
150: 제어부
151: 감지 모듈
152: 변환 모듈
153: 가상 실행 모듈

Claims (17)

  1. 전자 장치의 악성 코드 방지 방법에 있어서,
    의심 명령 코드를 로깅 명령 코드로 변환하는 동작;
    상기 변환된 로깅 명령 코드를 실행하는 동작; 및
    상기 실행 결과, 상기 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하는 동작; 을 포함하는 전자 장치의 악성 코드 방지 방법.
  2. 제1항에 있어서,
    상기 실행하는 동작은,
    상기 변환된 로깅 명령 코드를 컴파일하여 앱 데이터를 생성하는 동작;
    상기 생성된 앱 데이터를 실행하여 상기 예측 동작 정보를 확인하는 동작을 더 포함하는 전자 장치의 악성 코드 방지 방법.
  3. 제1항에 있어서,
    상기 표시부에 출력하는 동작은,
    상기 수신된 앱 데이터의 설치 여부를 확인하는 안내 메시지를 상기 예측 동작 정보와 함께 출력하는 전자 장치의 악성 코드 방지 방법.
  4. 제1항에 있어서,
    상기 의심 명령 코드는,
    네트워크 연결 접속을 명령하는 코드 또는 로컬 파일 시스템으로의 접근을 명령하는 코드, 개인 정보 파일로 접근을 명령하는 코드 중 하나인 전자 장치의 악성 코드 방지 방법
  5. 제1항에 있어서,
    상기 로깅 명령 코드는,
    특정 목적지와 네트워크 연결을 시도하려는 동작, 로컬 파일 시스템 오픈을 시도하려는 동작, 또는 보안 저장 데이터로 접근을 시도하는 동작 중 적어도 하나를 명령하는 명령 코드인 전자 장치의 악성 코드 방지 방법.
  6. 제1항에 있어서,
    상기 표시부에 출력하는 동작은,
    상기 의심 명령 코드들의 신뢰도 및 위험 수준 정보를 상기 예측 동작 정보에 대응하여 출력하는 전자 장치의 악성 코드 방지 방법.
  7. 제2항에 있어서,
    상기 의심 명령 코드는 앱 데이터와 관련된 명령 코드이며, 상기 출력하는 동작은,
    상기 앱 데이터의 명령 코드들을 악성 패턴을 기록하는 데이터베이스와 비교하여 명령 코드들의 신뢰도를 확인하는 동작; 및
    상기 신뢰도에 따른 명령 코드의 위험 수준을 결정하는 동작;을 더 포함하고,
    상기 결정된 위험 수준 정보와, 상기 예측 동작 정보를 출력하는 전자 장치의 악성 코드 방지 방법.
  8. 제7항에 있어서,
    상기 위험 수준을 결정하는 동작은,
    상기 신뢰도 결정을 기반으로 의심 명령 코드에 대응하여 상기 앱 데이터의 처리 조건을 설정하는 동작을 더 포함하는 전자 장치의 악성 코드 방지 방법.
  9. 전자 장치에 있어서,
    외부 장치와 통신하는 통신부;
    전자 장치의 예측 동작 정보를 표시하는 표시부; 및
    의심 명령 코드를 로깅 명령 코드로 변환하고, 변환된 로깅 명령 코드를 실행하고, 상기 실행 결과 상기 로깅 명령 코드에 대응하는 예측 동작 정보를 표시부에 출력하도록 제어하는 제어부를 포함하는 전자 장치.
  10. 제9항에 있어서,
    상기 제어부는,
    상기 변환된 로깅 명령 코드를 기반으로 컴파일하여 앱 데이터를 생성하고, 상기 생성된 앱 데이터를 실행하여 상기 예측 동작 정보를 확인하는 전자 장치.
  11. 제10항에 있어서,
    상기 제어부는,
    앱 데이터를 실행하고, 상기 예측 동작 정보를 기반으로 화면을 구성하는 가상 실행 모듈;을 더 포함하는 전자 장치.
  12. 제9항에 있어서,
    상기 제어부는,
    상기 앱 데이터의 설치 여부를 확인하는 안내 메시지를 상기 예측 동작 정보와 함께 출력하도록 상기 표시부를 제어하는 전자 장치.
  13. 제9항에 있어서,
    상기 제어부는,
    상기 의심 명령 코드들의 신뢰도 및 위험 수준 정보를 상기 예측 동작 정보에 대응하여 출력하도록 상기 표시부를 제어하는 전자 장치.
  14. 제13항에 있어서,
    상기 제어부는,
    상기 앱 데이터의 명령 코드들 중 악성 패턴을 기록하는 데이터베이스와 비교하여 의심 명령 코드들의 신뢰도를 파악하고, 상기 신뢰도에 따른 위험 수준 정보를 설정하는 전자 장치.
  15. 제13항에 있어서,
    상기 제어부는,
    상기 의심 명령 코드들의 신뢰도 및 위험 수준 정보를 서버로부터 수신하는 전자 장치.
  16. 제10항에 있어서,
    상기 통신부는,
    상기 앱 데이터의 처리 조건을 서버로부터 수신하는 전자 장치.
  17. 제16항에 있어서,
    상기 제어부는
    상기 수신된 앱 데이터의 처리조건을 기반으로 앱 데이터를 처리하는 전자 장치.
KR1020140078732A 2014-06-26 2014-06-26 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치 KR20160001046A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140078732A KR20160001046A (ko) 2014-06-26 2014-06-26 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치
US14/752,223 US9680853B2 (en) 2014-06-26 2015-06-26 Apparatus and method for preventing malicious code in electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140078732A KR20160001046A (ko) 2014-06-26 2014-06-26 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치

Publications (1)

Publication Number Publication Date
KR20160001046A true KR20160001046A (ko) 2016-01-06

Family

ID=54931823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140078732A KR20160001046A (ko) 2014-06-26 2014-06-26 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치

Country Status (2)

Country Link
US (1) US9680853B2 (ko)
KR (1) KR20160001046A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860273B2 (en) * 2015-10-09 2018-01-02 T-Mobile Usa, Inc. Logging encrypted data communications for QOE analysis
US10754947B2 (en) * 2015-11-30 2020-08-25 International Business Machines Corporation System, method and apparatus for usable code-level statistical analysis with applications in malware detection
CN112565274A (zh) * 2020-12-11 2021-03-26 国家计算机网络与信息安全管理中心江苏分中心 一种智能识别恶意app的方法及系统
CN115114626B (zh) * 2022-08-26 2022-12-30 国网江西省电力有限公司电力科学研究院 工业设备代码检测方法、系统、计算机设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739737B2 (en) * 2003-07-29 2010-06-15 Wisconsin Alumni Research Foundation Method and apparatus to detect malicious software
KR20120084184A (ko) 2011-01-19 2012-07-27 한남대학교 산학협력단 화이트 리스트 기반 스마트폰 악성 코드 차단 방법 및 그 기록매체
KR101389682B1 (ko) 2011-08-25 2014-04-28 주식회사 팬택 바이러스 피해를 방지하는 시스템 및 방법
US9424427B1 (en) * 2012-03-16 2016-08-23 Bitdefender IPR Management Ltd. Anti-rootkit systems and methods
CA2777434C (en) 2012-05-18 2019-09-10 Ibm Canada Limited - Ibm Canada Limitee Verifying application security vulnerabilities
KR101880796B1 (ko) * 2013-02-10 2018-08-17 페이팔, 인코포레이티드 예측보안 제품을 제공하고 기존의 보안제품을 평가하는 방법과 장치
US9536090B2 (en) * 2013-05-26 2017-01-03 Check Point Software Technologies Ltd. Method of defending a computer from malware

Also Published As

Publication number Publication date
US20150381644A1 (en) 2015-12-31
US9680853B2 (en) 2017-06-13

Similar Documents

Publication Publication Date Title
CN108804912B (zh) 一种基于权限集差异的应用程序越权检测方法
CN108932429B (zh) 应用程序的分析方法、终端及存储介质
US20140020096A1 (en) System to profile application software
US20150033320A1 (en) Safety Protection Method, Firewall, Terminal Device and Computer-Readable Storage Medium
KR20170087007A (ko) 악성 코드 분석을 위한 전자 장치 및 이의 방법
US9747449B2 (en) Method and device for preventing application in an operating system from being uninstalled
KR101277517B1 (ko) 애플리케이션 위/변조 탐지장치 및 방법
KR20110128632A (ko) 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치
KR20160001046A (ko) 전자 장치의 악성 코드 방지 방법 및 이를 지원하는 장치
KR101264102B1 (ko) 보안 기능을 가지는 스마트 폰 및 이의 보안방법
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
US11144345B2 (en) Methods and apparatus to protect open and closed operating systems
KR102156340B1 (ko) 웹 페이지 공격 차단 방법 및 장치
WO2018131910A1 (en) Electronic device and method for creating shortcut to web page in electronic device
WO2015037850A1 (ko) Url 호출 탐지장치 및 방법
JP6018344B2 (ja) 動的読み込みコード解析装置、動的読み込みコード解析方法及び動的読み込みコード解析プログラム
KR101283884B1 (ko) 세이프가드 장치, 방법 및 컴퓨터로 판독가능한 기록매체
CN109145598B (zh) 脚本文件的病毒检测方法、装置、终端及存储介质
KR101961939B1 (ko) 모바일 기기의 화면 녹화 탐지 장치 및 방법
CN105791253B (zh) 一种获取网站的认证信息的方法和装置
KR20140075839A (ko) 악성행위 탐지 장치 및 방법
KR102255369B1 (ko) 대체 서비스 제공 방법 및 그 전자 장치
JP5865180B2 (ja) 携帯通信端末、データ通信検知装置、データ通信検知方法、およびプログラム
JP5941745B2 (ja) アプリケーション解析装置、アプリケーション解析システム、およびプログラム
KR20200100565A (ko) 라이브러리 인젝션을 통한 취약점 분석 방법 및 서버

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application