KR101161493B1 - 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법 - Google Patents

안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법 Download PDF

Info

Publication number
KR101161493B1
KR101161493B1 KR1020100004386A KR20100004386A KR101161493B1 KR 101161493 B1 KR101161493 B1 KR 101161493B1 KR 1020100004386 A KR1020100004386 A KR 1020100004386A KR 20100004386 A KR20100004386 A KR 20100004386A KR 101161493 B1 KR101161493 B1 KR 101161493B1
Authority
KR
South Korea
Prior art keywords
file
dangerous
pattern
malicious code
heuristic
Prior art date
Application number
KR1020100004386A
Other languages
English (en)
Other versions
KR20110084693A (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 KR1020100004386A priority Critical patent/KR101161493B1/ko
Publication of KR20110084693A publication Critical patent/KR20110084693A/ko
Application granted granted Critical
Publication of KR101161493B1 publication Critical patent/KR101161493B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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/561Virus type analysis
    • 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/564Static detection by virus signature recognition
    • 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • H04B1/403Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency
    • H04B1/408Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency the transmitter oscillator frequency being identical to the receiver local oscillator frequency
    • 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/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 안드로이드 단말 플랫폼에서 apk의 확장자를 갖는 실행 파일에 대하여 시그니쳐(signature) 기반의 패턴 검사와 휴리스틱(heuristic) 검사를 통해 악성 코드 또는 위험 파일 여부를 보다 효과적으로 진단하고 제거할 수 있도록 하기 위한 것으로, 본 발명에 따르면 모바일용 안드로이드 운영체계를 갖는 휴대단말기에서 악성 코드와 위험 파일을 진단하고 처리하기 위한 방법에 있어서, 상기 휴대단말기에 구비된 저장매체로부터 파일 목록을 불러오는 단계; 상기 휴대단말기에 설치된 애플리케이션 목록을 불러오는 단계; 상기 저장매체의 파일과 상기 애플리케이션의 파일 중 apk 확장자를 갖는 실행 파일을 검색하는 단계; 상기 apk 확장자를 갖는 실행파일을 시그니쳐(signature) 기반의 패턴 검사를 통해 악성 코드와의 일치 여부를 판단하는 단계; 상기 시그니쳐 기반의 패턴 검사 결과 악성 코드와 일치하는 apk 확장자를 갖는 실행파일이 존재하지 않는 경우, 휴리스틱(heuristic) 검사를 통해 위험성 여부를 판단하는 단계; 및 상기 apk 확장자를 갖는 실행파일이 상기 시그니쳐 기반의 패턴 검사와 상기 휴리스틱 검사를 통해 악성 코드와 일치하거나 위험 파일로 판단된 경우, 위험 메시지를 상기 휴대단말기에 표시하는 단계를 포함하는 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법을 제공한다.

Description

안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법{Method of Examining Malicious Codes and Dangerous Files in Android Terminal Platform}
본 발명은 안드로이드(Android) 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법에 관한 것으로, 보다 상세하게는 안드로이드 단말 플랫폼에서 apk의 확장자를 갖는 실행 파일을 시그니쳐(signature) 기반의 패턴 검사를 통해 패턴 데이터베이스에 존재하는 실행 파일인지의 여부를 판단하고, 휴리스틱(heuristic) 검사를 통해 위험성 여부를 판단하여 해당 파일이 악성 코드이거나 위험성이 있다고 판단되는 경우, 설치된 애플리케이션은 제거하고 일반 파일은 삭제하는 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법에 관한 것이다.
최근 모바일 인프라의 발전과 모바일 시장의 성숙에 따라 모바일 디바이스를 겨냥한 새로운 바이러스 및 악성 코드가 더욱 확산되고 있다.
바이러스 및 악성 코드는 피디에이(PDA)와 유사 기기의 시스템 및 데이터 베이스(DB)에 치명적인 손상을 입힐 수 있다.
한편, 스마트폰의 모바일 운영체계는 현재 애플의 아이폰, 팜의 웹 오에스(OS), 구글의 안드로이드, 노키아의 심비안, RIM의 블랙베리, 마이크로 소프트의 윈도우 모바일 등 6가지의 종류가 있다.
이러한 모바일 운영체계가 설치된 스마트폰에 사용되고 있는 모바일용 백신의 종류는 많지 않다.
또한 모바일용 백신이 있다 하더라도 그 사용에 제한성이 있는데, 이는 각각의 모바일용 백신이 특정 단말기만을 위해 제공되거나, 기존 PC용 백신을 그대로 이용하는 경우에는 모바일용으로 사용되기에는 용량이 지나치게 크기 때문이다.
상기 모바일 운영체계 중 안드로이드는 안드로이드 마켓이라는 애플리케이션 마켓을 통해 전세계의 안드로이드 개발자가 쉽게 자신이 만든 애플리케이션을 타인이 이용할 수 있으며, 웹 사이트에서도 애플리케이션을 다운로드받아 설치할 수 있는 운영체계이다.
따라서, 애플리케이션을 만들고 전파하는 것이 쉽기 때문에 악의적인 사용자가 임의의 악성 애플리케이션을 작성하여 배포하는 행위를 통해 휴대폰의 개인 정보를 탈취하기가 매우 용이하다.
본 발명의 목적은 안드로이드 운영체계를 갖는 스마트폰에서 악성 코드와 위험 파일을 진단하고 필요한 경우 이를 처리하기 위한 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법을 제공하는 데 있다.
본 발명의 다른 목적은 apk의 확장자를 갖는 실행 파일에 대하여 시그니쳐 기반의 패턴 검사와 휴리스틱 검사를 단계적으로 실시함으로써 안드로이드 운영체계를 갖는 스마트폰에서 보다 효과적으로 악성 코드와 위험 파일을 진단하기 위한 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명의 일 측면에 따르면 모바일용 안드로이드 운영체계를 갖는 휴대단말기에서 악성 코드와 위험 파일을 진단하고 처리하기 위한 방법에 있어서, 상기 휴대단말기에 구비된 저장매체로부터 파일 목록을 불러오는 단계; 상기 휴대단말기에 설치된 애플리케이션 목록을 불러오는 단계; 상기 저장매체의 파일과 상기 애플리케이션의 파일 중 apk 확장자를 갖는 실행 파일을 검색하는 단계; 상기 apk 확장자를 갖는 실행파일을 시그니쳐(signature) 기반의 패턴 검사를 통해 악성 코드와의 일치 여부를 판단하는 단계; 상기 시그니쳐 기반의 패턴 검사 결과 악성 코드와 일치하는 apk 확장자를 갖는 실행파일이 존재하지 않는 경우, 휴리스틱(heuristic) 검사를 통해 위험성 여부를 판단하는 단계; 및 상기 apk 확장자를 갖는 실행파일이 상기 시그니쳐 기반의 패턴 검사와 상기 휴리스틱 검사를 통해 악성 코드와 일치하거나 위험 파일로 판단된 경우, 위험 메시지를 상기 휴대단말기에 표시하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 상기 apk 확장자를 갖는 실행파일이 악성 코드 또는 위험 파일로 판단된 경우, 상기 애플리케이션은 설치를 제거하고 상기 저장매체의 파일은 삭제하는 단계를 더 포함하는 것을 특징으로 한다.
또한 본 발명에 따르면, 상기 apk 확장자를 갖는 실행파일이 상기 휴리스틱 검사를 통해 위험 파일로 판단된 경우, 해당 파일을 분석하여 패턴을 등록하도록 서버로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
또한 본 발명에 따르면, 패턴 서버로부터 암호화된 최신 패턴을 다운로드받아 패턴 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 한다.
또한 본 발명에 따르면, 브라우저를 통한 다운로드와 외부로부터 입력된 애플리케이션을 주기적으로 탐지하여 새로운 애플리케이션이 설치된 경우, 해당 애플리케이션에 대한 악성 코드 및 위험성 여부를 진단하고 상기 애플리케이션의 파일이 악성 코드 또는 위험 파일로 판단되면 위험 메시지를 상기 휴대단말기에 출력하는 단계를 더 포함하는 것을 특징으로 한다.
또한 본 발명에 따르면, 상기 휴리스틱 검사를 통해 위험성 여부를 판단하는 단계는, apk 확장자를 갖는 실행파일을 압축해제하는 단계; 상기 압축해제된 실행파일 중 액세스(access) 권한이 저장된 AndroidManifest.xml 파일을 검색하는 단계; 상기 액세스 권한을 갖는 파일의 바이트를 비교하는 단계; 및 상기 바이트를 비교하여 상기 액세스 권한을 갖는 파일 패턴이 휴리스틱 패턴과 바이러스 패턴으로 구성된 패턴 데이터베이스에 존재하는지 여부를 확인함으로써 위험성 여부를 판단하는 단계를 포함하는 것을 특징으로 한다.
또한 본 발명에 따르면, 상기 액세스 권한은 주소록 읽기, 데이터 읽기, 문자메시지 읽기, 폰 기록 읽기, 위치정보 확인, 인터넷 접속 중 적어도 어느 하나인 것을 특징으로 한다.
또한 본 발명에 따르면, 상기 휴리스틱 검사를 통해 위험성 여부를 판단하는 단계는, 상기 인터넷 접속 권한과 그 이외의 액세스 권한이 조합된 경우 위험성이 있는 파일로 판단하는 것을 특징으로 한다.
상기와 같은 본 발명에 따르면, 안드로이드 단말 플랫폼에서 apk의 확장자를 갖는 실행 파일을 시그니쳐 기반의 패턴 검사를 통해 패턴 데이터베이스에 존재하는 실행파일인지의 여부를 판단하고, 휴리스틱 검사를 통해 위험성 여부를 판단하여 해당 파일이 악성 코드이거나 위험성이 있다고 판단되는 경우, 설치된 애플리케이션은 제거하고 일반 파일은 삭제함으로써, 안드로이드 운영체계에서 악성 코드와 위험 파일을 보다 정확하게 진단하고 제거할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 안드로이드 플랫폼에서의 안티바이러스(Antivirus)의 구성을 나타낸 블록도.
도 2는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사 과정을 나타낸 흐름도.
도 3은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴리스틱 검사 방법을 나타낸 흐름도.
도 4는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 삭제 패턴을 나타낸 블록도.
도 5는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 실시간 탐지 방법을 나타낸 흐름도.
도 6은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 안티바이러스의 메인 화면을 나타낸 도면.
도 7은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사 화면을 나타낸 도면.
도 8은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사를 통한 바이러스의 정보 조회 화면을 나타낸 도면.
도 9는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사를 통해 검색된 바이러스의 치료 화면을 나타낸 도면.
도 10은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 실시간 검사화면을 나타낸 도면.
도 11은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 패턴 업데이트 화면을 나타낸 도면.
도 12는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 검사 목록 화면을 나타낸 도면.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 관하여 상세하게 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 안티바이러스(Antivirus)의 구성을 나타낸 블록도이다.
본 발명에서 표현되는 "안티바이러스(Antivirus)"는 안드로이드 운영체계 기반의 휴대단말기에서 악성 코드와 위험 파일을 진단하고 처리하기 위해 개발된 프로그램 명인 "VGuard"를 지칭하며, 이후에는 "안티바이러스"로 통용하여 설명하도록 한다.
또한 본 발명에서는 휴대단말기(1)가 휴대폰인 경우를 예로 들어 설명하며, 필요에 따라 "휴대단말기"와 "휴대폰"을 교대로 사용한다.
도 1에 도시된 바와 같이, 휴대단말기(1)는 리눅스 커널(Linux Kernel)(5)을 기반으로 샘플 애플리케이션(Sample Application)(10)이 실행되는 애플리케이션부(2)와, 휴대폰 검사(Scan)(12), 실시간 탐지(Real Time)(14), 검사목록(History)(16)의 확인, 패턴 업데이트(Pattern Update)(18) 등의 기능을 수행하기 위한 애플리케이션 프레임워크(Application Framework)(3)와, 파일 체크(Check File)(20)와 암호화(Encryption)된 크립토(Crypto)(22)로 구성된 라이브러리(Libraries)(4)를 포함하여 구성된다.
패턴 서버(Pattern Server)(50)는 상기 휴대단말기(1)의 악성 코드와 위험 파일의 진단을 위한 패턴 업데이트를 위해 패턴 데이터(54)와, 상기 패턴 데이터(54)를 암호화하여 상기 휴대단말기(1)로 제공하기 위한 크립토 서버(Crypto Server)(52)를 포함하여 구성된다.
도 2는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사 과정을 나타낸 흐름도이다.
휴대단말기(1)의 SD카드 폴더 및 애플리케이션에 대한 검사가 시작되면(S200), SD카드의 파일 전체 목록과 상기 휴대단말기(1)에 설치되어 있는 애플리케이션 목록을 로딩한다(S202, S204).
상기 휴대단말기(1)에 설치되어 있는 애플리케이션의 목록은 리눅스 운영체계의 권한상 그냥 읽어올 수 없기 때문에 제공되는 함수를 통해 읽어오는 것이 바람직하다.
안드로이드 운영체계에서의 실행 파일의 확장자는 apk이며 여러 가지 파일이 압축되어 있다.
확장자가 apk인 실행 파일에 대해 시그니쳐 기반의 패턴 검사를 진행한다(S206).
상기 시그니쳐 기반의 패턴 검사는 사전에 정의되어 저장된 악성 코드와의 패턴을 비교하는 것으로서, 악성 코드 여부의 검사를 위해 패턴의 일치 여부를 판단한다(S208).
단계 208의 판단결과, 검사된 실행 파일의 패턴과 일치하는 패턴이 존재하는 경우, 해당 실행 파일을 악성 코드로 판단한다(S210).
단계 208의 판단결과, 검사된 실행 파일의 패턴과 일치하는 패턴이 존재하지 않는 경우에는 휴리스틱 검사를 통해 해당 파일의 위험성 여부를 판단하게 된다(S212).
이와 같은 검사가 모두 완료되면 검사 결과를 데이터베이스에 저장하도록 한다(S214).
도 3은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴리스틱 검사 방법을 나타낸 흐름도이다.
도 3에 도시된 바와 같이, 휴리스틱 검사로 파일의 위험성 여부를 진단하는 방법은, 먼저 apk의 확장자를 갖는 파일의 압축을 해제하여(S300), Android Manifest.xml 파일을 확인한다(S302).
상기 Android Manifest.xml 파일은 인터넷 연결, 주소록 접근, 시스템 접근 등과 같은 권한이 저장되어 있는 파일로서, 바이트를 비교하여 어떤 권한이 패턴 데이터베이스에 있는지의 여부를 확인한다(S304).
상기 패턴 데이터베이스는 휴리스틱 패턴과 바이러스 패턴으로 구분되어 있다.
휴리스틱 패턴 검사는 일례로 인터넷 접속 권한과 그 이외의 권한이 조합될 경우 위험성이 있는 파일로 간주하는데, 이는 인터넷 접속 권한과 주소록 읽기, 데이터 읽기, 문자메시지 읽기, 휴대폰 기록 확인, 위치정보 확인, 휴대폰 정보 확인 등의 권한이 조합되면 타 서버로 전송이 가능해지기 되기 때문이다.
상기와 같은 문제의 소지가 있는 애플리케이션의 경우에는 사용자가 알지 못하는 사이에 휴대폰의 정보를 취득하여 외부로 보낼 수 있기 때문에 위험성이 있는 악성 애플리케이션으로 간주하여 사용자에게 알려주는 것이 바람직하다.
도 4는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 삭제 패턴을 나타낸 블록도이다.
도 4에 도시된 바와 같이, 파일과 애플리케이션을 진단하기 위한 단계(S400)는 상술한 바와 같은 시그니쳐 패턴 검사 단계(S401)와 휴리스틱 위험성 검사 단계(S402)로 구분될 수 있다.
상기 시그니쳐 패턴 검사 단계(S401)에서 검사된 악성 코드는 "Virus"라고 메시지를 출력하고, 상기 휴리스틱 위험성 검사 단계(S402)에서 발견된 위험 파일은 "Danger"라는 메시지를 출력하여 사용자에게 알린다.
상기 "Virus"와 "Danger"라는 메시지를 출력하면서 상세 내용도 함께 출력할 수 있으며, 설치되어 있는 애플리케이션인 경우에는 설치를 제거하고, 그 외에 저장된 일반 실행 파일인 경우에는 이를 삭제하도록 한다(S406, S408).
한편 상기 휴리스틱 위험성 검사 단계(S402)에서 위험 파일로 판단되는 경우에는 신고 기능을 통하여 해당 파일을 서버에 전송하여 분석을 통해 패턴으로 등록될 수 있도록 하는 것이 바람직하다(S404).
도 5는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 실시간 탐지 방법을 나타낸 흐름도이다.
도 5에 도시된 바와 같이, 새로운 애플리케이션이 브라우저를 통해 다운로드되거나 외부에서 휴대폰으로 저장되는 것으로 판단되면(S500), 주기적인 탐지를 통해 해당 애플리케이션의 악성 코드 및 위험 파일 여부를 체크한다(S504).
상기 애플리케이션이 악성 코드 또는 위험 파일로 진단되면 위험 메시지를 표시하고, 악성 코드 또는 위험 파일 정보를 데이터베이스에 저장한다(S508, S510).
또한, 실시간으로 데이터베이스에서 검사되지 않은 파일을 검색하여 검사하도록 하는 것이 바람직하며, 위험 표시 메시지를 선택하면 검사 목록과 상세 정보가 표시되도록 하여 선택에 따라 삭제 가능하도록 구성되는 것이 바람직하다.
휴대단말기(1)의 패턴 데이터베이스는 패턴 서버(50)를 통해 암호화된 패턴 데이터를 요청하여 전송받도록 함으로써, 새로운 악성 코드와 위험성이 있는 파일에 대한 방어가 되도록 하는 것이 바람직하다.
도 6은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 안티바이러스의 메인 화면을 나타낸 도면이다.
도 6에 도시된 화면은 실제 안드로이드 운영체계가 설치된 휴대폰에서의 안티바이러스(VGuard)의 실행화면으로서, 휴대폰 검사(Scan), 실시간 검사(Real Time), 업데이트(Update), 히스토리(History), 어바웃(About) 및 EXIT로 구성되어 있다.
상기 어바웃(About)을 클릭하면 안티바이러스에 대한 구체적인 정보가 표시된다.
도 7은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사 화면을 나타낸 도면이고, 도 8은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사를 통한 바이러스의 정보 조회 화면을 나타낸 도면이고, 도 9는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 휴대폰 검사를 통해 검색된 바이러스의 치료 화면을 나타낸 도면이다.
먼저 도 7은 검사화면과 검사 목록을 표시한 것인데, SD 카드에 존재하는 apk 파일을 검사하여, 검사된 목록 중 시그니쳐 패턴 검사에 의해 악성 코드로 검사된 SD 카드에는 "Virus"로, 그리고 휴리스틱 검사에 의해 위험 파일로 검사된 SD 카드에는 "Danger"라고 각각 표시된다.
도 8에 도시된 바와 같이, 상기 바이러스(Virus)로 표시된 파일을 클릭하면, 상세정보가 표시되고 선택에 다라 삭제할 수 있는 메뉴를 표시된다.
또한 위험 파일(Danger)로 표시된 파일을 클릭하면, 어떠한 문제점이 발생할 위험이 있는지를 표시하고 역시 선택에 따라 삭제할 수 있는 메뉴를 표시한다.
도 9에 도시된 바와 같이, 악성 코드 또는 위험 파일로 판단된 실행 파일 중 이미 설치된 애플리케이션의 경우에는 "Uninstall" 메뉴를 표시하여 정상적으로 설치를 제거할 수 있도록 한다.
도 10은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 실시간 검사화면을 나타낸 도면이다.
도 10에 도시된 바와 같이, 실시간 감시 동작 여부를 선택할 수 있도록 구성하고, 작업중 자동으로 다운로드되는 파일을 검사하며, 위험 파일이라는 경고메시지가 표시되어 클릭된 경우 히스토리 항목으로 이동하여 추후에도 확인할 수 있도록 하는 것이 바람직하다.
도 11은 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 패턴 업데이트 화면을 나타낸 도면이다.
도 11에 도시된 바와 같이, 새로운 패턴을 업데이트할 수 있도록 메뉴가 구성되며, 업데이트가 완료되면 몇 개의 패턴이 업데이트 되었는지 표시한다.
도 12는 본 발명의 실시 예에 따른 안드로이드 단말 플랫폼에서의 검사 목록 화면을 나타낸 도면이다.
도 12에 도시된 바와 같이, 검사목록을 확인함으로써 원하는 파일을 삭제할 수 있도록 한다.
상기와 같이, 안드로이드 단말 플랫폼에서 apk의 확장자를 갖는 실행 파일을 시그니쳐 기반의 패턴 검사를 통해 패턴 데이터베이스에 존재하는지의 여부를 판단하고, 휴리스틱 검사를 통해 위험성 여부를 판단하여 악성 코드나 위험성이 있다고 판단되는 경우, 설치된 애플리케이션은 제거하고 일반 파일은 삭제함으로써, 안드로이드 운영체계에서 악성 코드와 위험 파일을 보다 정확하게 진단하고 제거할 수 있는 효과가 있다.
이상 설명된 내용은 본 발명의 실시 예에 대한 것으로, 본 발명의 내용은 상기한 실시 예에 한정되지 아니하며 당업자라면 본 발명의 기술적 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함은 물론이다. 따라서 본 발명의 기술적 범위는 명세서에 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.
1 : 휴대단말기 2 : 애플리케이션부
3 : 애플리케이션 프레임워크 4 : 라이브러리
5 : 리눅스 커널 10 : 샘플 애플리케이션
12 : 휴대폰 검사 14 : 실시간 탐지
16 : 검사목록 18 : 패턴 업데이트
20 : 파일 체크 22 : 크립토
50 : 패턴 서버 52 : 크립토 서버
54 : 패턴 데이터

Claims (8)

  1. 모바일용 안드로이드 운영체계를 갖는 휴대단말기에서 악성 코드와 위험 파일을 진단하고 처리하기 위한 방법에 있어서,
    상기 휴대단말기에 구비된 저장매체로부터 파일 목록을 불러오는 단계;
    상기 휴대단말기에 설치된 애플리케이션 목록을 불러오는 단계;
    상기 저장매체의 파일과 상기 애플리케이션의 파일 중 apk 확장자를 갖는 실행 파일을 검색하는 단계;
    상기 apk 확장자를 갖는 실행파일을 시그니쳐(signature) 기반의 패턴 검사를 통해 악성 코드와의 일치 여부를 판단하는 단계;
    상기 시그니쳐 기반의 패턴 검사 결과 악성 코드와 일치하는 apk 확장자를 갖는 실행파일이 존재하지 않는 경우, 휴리스틱(heuristic) 검사를 통해 개인정보 유출의 위험이 되는 파일인지의 여부를 판단하는 단계; 및
    상기 apk 확장자를 갖는 실행파일이 상기 시그니쳐 기반의 패턴 검사와 상기 휴리스틱 검사를 통해 악성 코드와 일치하거나 위험 파일로 판단된 경우, 위험 메시지를 상기 휴대단말기에 표시하는 단계를 포함하되,
    상기 휴리스틱 검사를 통해 개인정보 유출의 위험이 되는 파일인지의 여부를 판단하는 것은, 인터넷 접속 권한과 주소록 읽기, 데이터 읽기, 문자메시지 읽기, 위치정보 확인 및 인터넷 접속의 액세스 권한중 적어도 어느 하나의 액세스 권한이 조합된 경우 위험성이 있는 파일로 판단하며,
    상기 휴리스틱 검사를 통해 개인정보 유출의 위험이 되는 파일인지의 여부를 판단하는 단계는,
    apk 확장자를 갖는 실행파일을 압축해제하는 단계;
    상기 압축해제된 실행파일 중 액세스(access) 권한이 저장된 AndroidManifest.xml 파일을 검색하는 단계;
    상기 액세스 권한을 갖는 파일의 바이트를 비교하는 단계; 및
    상기 바이트를 비교하여 상기 액세스 권한을 갖는 파일 패턴이 휴리스틱 패턴과 바이러스 패턴으로 구성된 패턴 데이터베이스에 존재하는지 여부를 확인함으로써 개인정보 유출의 위험이 되는 파일인지의 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020100004386A 2010-01-18 2010-01-18 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법 KR101161493B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100004386A KR101161493B1 (ko) 2010-01-18 2010-01-18 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100004386A KR101161493B1 (ko) 2010-01-18 2010-01-18 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법

Publications (2)

Publication Number Publication Date
KR20110084693A KR20110084693A (ko) 2011-07-26
KR101161493B1 true KR101161493B1 (ko) 2012-06-29

Family

ID=44921739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100004386A KR101161493B1 (ko) 2010-01-18 2010-01-18 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법

Country Status (1)

Country Link
KR (1) KR101161493B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246623B1 (ko) * 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
KR101256468B1 (ko) * 2012-09-11 2013-04-19 주식회사 안랩 악성 파일 진단 장치 및 방법
WO2014010829A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 캐싱을 이용한 악성코드 진단장치 및 방법
WO2014010847A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
KR101369254B1 (ko) * 2013-04-19 2014-03-06 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
KR101383010B1 (ko) 2012-09-04 2014-04-07 주식회사 인프라웨어테크놀러지 안드로이드 운영체제에서 apk 파일의 시그니처 추출 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
KR20140114437A (ko) * 2012-07-19 2014-09-26 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스
KR20160025881A (ko) 2014-08-28 2016-03-09 주식회사 안랩 공유 라이브러리 파일의 악성을 진단하기 위한 장치 및 방법
US10467413B2 (en) 2017-10-23 2019-11-05 Foundation Of Soongsil University-Industry Cooperation Method and apparatus of dynamic loading file extraction for an application running in an android container

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101295428B1 (ko) * 2011-09-09 2013-08-23 주식회사 팬택 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법
KR101290565B1 (ko) * 2011-09-20 2013-07-31 주식회사 인프라웨어테크놀러지 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
US20130276123A1 (en) * 2011-09-30 2013-10-17 Paul J. Thadikaran Mechanism for providing a secure environment for acceleration of software applications at computing devices
CN103135813A (zh) * 2011-11-25 2013-06-05 亚旭电子科技(江苏)有限公司 手持式电子装置测试方法
EP2795505A4 (en) 2011-12-22 2015-09-02 Intel Corp ACTIVATION AND MONETIZATION OF INTEGRATED FUNCTIONS IN STORAGE SUBSYSTEMS USING A RELIABLE CONNECTION SERVICE BACKPACK INFRASTRUCTURE
KR101303249B1 (ko) * 2012-02-16 2013-09-16 숭실대학교산학협력단 바이러스 백신 프로그램을 이용한 응용 소프트웨어의 불법 복제 방지 장치 및 방법
KR101308351B1 (ko) 2012-02-24 2013-09-17 주식회사 팬택 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법
KR101896503B1 (ko) 2012-03-12 2018-09-07 삼성전자주식회사 디바이스 정보자원이 유출되는지 여부를 탐지하는 방법 및 장치
CN103366118A (zh) * 2012-04-06 2013-10-23 腾讯科技(深圳)有限公司 进行安装包病毒查杀的方法及装置
US9152784B2 (en) * 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
KR101429452B1 (ko) * 2012-04-18 2014-08-13 라온시큐어(주) 무선 단말기 상에서 침입 차단 방법
US20130333039A1 (en) * 2012-06-07 2013-12-12 Mcafee, Inc. Evaluating Whether to Block or Allow Installation of a Software Application
KR101388053B1 (ko) * 2012-09-17 2014-04-22 주식회사 인프라웨어테크놀러지 권한탐지 기반의 안드로이드 어플리케이션 보안강화 방법, 그리고 이를 위한 권한탐지 기반의 안드로이드 보안 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR101386605B1 (ko) * 2012-10-23 2014-04-21 순천향대학교 산학협력단 권한정보 관리를 통한 악성코드 탐지방법
WO2014098387A1 (ko) * 2012-12-17 2014-06-26 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
CN103177077B (zh) * 2013-01-08 2016-08-10 杭州米加科技有限公司 一种apk文件的存储及输出方法
CN103246586B (zh) * 2013-04-19 2014-12-10 福州瑞芯微电子有限公司 android平台上利用USB存储设备进行ADB调试的方法
CN103246587B (zh) * 2013-04-19 2014-12-10 福州瑞芯微电子有限公司 android平台上利用SD卡进行ADB调试的方法
KR101480244B1 (ko) * 2013-08-23 2015-01-12 한양대학교 산학협력단 클래스 단위의 시그니처를 이용한 악성 어플리케이션 탐지 방법 및 장치
KR20150044490A (ko) * 2013-10-16 2015-04-27 (주)이스트소프트 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
KR101688922B1 (ko) 2015-03-17 2016-12-22 주식회사 안랩 어플리케이션 패키지 파일 수집 장치 및 방법
KR101642222B1 (ko) * 2015-03-21 2016-07-22 홍동철 안드로이드 운영체제에서의 스파이 애플리케이션 및 시스템 변조 탐지 방법
KR101673367B1 (ko) * 2015-07-22 2016-11-07 주식회사 엔에스에이치씨 경고 어플리케이션을 이용하여 메인 어플리케이션의 보안 위협 시도를 경고할 수 있는 모바일 단말기의 어플리케이션 보안 제공 방법
KR101718916B1 (ko) 2015-08-21 2017-03-23 주식회사 안랩 패키지 파일의 전달 단말과 패키지 파일의 수집 서버 및 이들을 이용하여 패키지 파일을 전달하고 수집하는 방법
KR101716110B1 (ko) 2015-11-04 2017-03-15 충북대학교 산학협력단 시그니처 모니터링을 통한 애플리케이션 검증 시스템 및 방법
KR101857009B1 (ko) 2017-01-19 2018-05-11 숭실대학교산학협력단 안드로이드 악성코드 분석을 위한 컨테이너 플랫폼 및 이를 이용한 모바일 장치의 보안 방법
KR102016226B1 (ko) 2017-11-22 2019-08-29 숭실대학교산학협력단 적응형 동적 분석 방법, 적응형 동적 분석 플랫폼 및 이를 탑재한 장치
CN112988561B (zh) * 2019-12-18 2023-09-08 腾讯科技(深圳)有限公司 检测显示配置代码的方法、装置、服务器和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074271A (ko) * 2007-02-08 2008-08-13 삼성전자주식회사 휴대단말 악성코드 처리장치 및 그 처리 방법
KR20100005518A (ko) * 2008-07-07 2010-01-15 주식회사 안철수연구소 확장자를 위장한 파일을 탐지하는 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080074271A (ko) * 2007-02-08 2008-08-13 삼성전자주식회사 휴대단말 악성코드 처리장치 및 그 처리 방법
KR20100005518A (ko) * 2008-07-07 2010-01-15 주식회사 안철수연구소 확장자를 위장한 파일을 탐지하는 방법 및 그 장치

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014010829A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 캐싱을 이용한 악성코드 진단장치 및 방법
WO2014010847A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
KR20140114437A (ko) * 2012-07-19 2014-09-26 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스
KR101691948B1 (ko) 2012-07-19 2017-01-02 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 어플리케이션 설치 패키지로부터 서명 정보를 추출하는 방법, 장치 및 클라이언트 디바이스
KR101246623B1 (ko) * 2012-09-03 2013-03-25 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
WO2014035043A1 (ko) * 2012-09-03 2014-03-06 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
US9525706B2 (en) 2012-09-03 2016-12-20 Ahnlab, Inc. Apparatus and method for diagnosing malicious applications
KR101383010B1 (ko) 2012-09-04 2014-04-07 주식회사 인프라웨어테크놀러지 안드로이드 운영체제에서 apk 파일의 시그니처 추출 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
KR101256468B1 (ko) * 2012-09-11 2013-04-19 주식회사 안랩 악성 파일 진단 장치 및 방법
KR101369254B1 (ko) * 2013-04-19 2014-03-06 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
KR20160025881A (ko) 2014-08-28 2016-03-09 주식회사 안랩 공유 라이브러리 파일의 악성을 진단하기 위한 장치 및 방법
US10467413B2 (en) 2017-10-23 2019-11-05 Foundation Of Soongsil University-Industry Cooperation Method and apparatus of dynamic loading file extraction for an application running in an android container

Also Published As

Publication number Publication date
KR20110084693A (ko) 2011-07-26

Similar Documents

Publication Publication Date Title
KR101161493B1 (ko) 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR101402057B1 (ko) 위험도 계산을 통한 리패키지 애플리케이션의 분석시스템 및 분석방법
Xing et al. Upgrading your android, elevating my malware: Privilege escalation through mobile os updating
CN108268771B (zh) 用于指示恶意对象的设备和方法和非瞬态计算机可读介质
TWI559166B (zh) 應用程式的威脅程度評估
US10943015B2 (en) Continuous monitoring for detecting firmware threats
CN103390130B (zh) 基于云安全的恶意程序查杀的方法、装置和服务器
US20160070911A1 (en) Rapid malware inspection of mobile applications
US20130160126A1 (en) Malware remediation system and method for modern applications
JP6030566B2 (ja) 不正アプリケーション検知システム及び、方法
CN105095759A (zh) 文件的检测方法及装置
JP6000465B2 (ja) プロセス検査装置、プロセス検査プログラムおよびプロセス検査方法
US20180341769A1 (en) Threat detection method and threat detection device
KR101228902B1 (ko) 클라우드 컴퓨팅 기반 악성코드 분석 지원 시스템
JP5441043B2 (ja) プログラム、情報処理装置、及び情報処理方法
CN105791250A (zh) 应用程序检测方法及装置
KR101324691B1 (ko) 모바일 악성 행위 어플리케이션 탐지 시스템 및 방법
US20170171224A1 (en) Method and System for Determining Initial Execution of an Attack
CN113656809A (zh) 镜像的安全检测方法、装置、设备及介质
JP6018344B2 (ja) 動的読み込みコード解析装置、動的読み込みコード解析方法及び動的読み込みコード解析プログラム
JP2011186823A (ja) ウイルスチェックシステム、ウイルスチェック装置、及び、プログラム
CN106407815A (zh) 漏洞检测方法及装置
US8898789B2 (en) Detecting malicious software on a computing device with a mobile device
KR101369254B1 (ko) 악성 애플리케이션 진단장치 및 방법
KR101453357B1 (ko) 휴대 단말에서의 악성코드 진단 및 제거 방법과 그 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150616

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee