KR101410255B1 - 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101410255B1
KR101410255B1 KR1020120149243A KR20120149243A KR101410255B1 KR 101410255 B1 KR101410255 B1 KR 101410255B1 KR 1020120149243 A KR1020120149243 A KR 1020120149243A KR 20120149243 A KR20120149243 A KR 20120149243A KR 101410255 B1 KR101410255 B1 KR 101410255B1
Authority
KR
South Korea
Prior art keywords
application
reliability
application file
information
user terminal
Prior art date
Application number
KR1020120149243A
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 KR1020120149243A priority Critical patent/KR101410255B1/ko
Application granted granted Critical
Publication of KR101410255B1 publication Critical patent/KR101410255B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 애플리케이션 파일의 잠재적인 위험성을 판별하기 위한 시스템 에 관한 것으로, 특히 애플리케이션 파일의 잠재적인 위험성 판별 장치에 있어서, 사용자 단말로부터 수신된 서명 정보를 신뢰도 정보와 대비하여 애플리케이션 파일의 잠재적인 위험성을 판별하는 판별부; 및 상기 신뢰도 정보를 저장하는 신뢰도 데이터베이스를 포함하고, 상기 애플리케이션 파일은 상기 서명 정보를 갖는다.

Description

애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체{SYSTEM, DEVICE, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR DETERMINING POTENTIAL RISK OF APPLICATION FILES}
본 발명은 애플리케이션 파일의 잠재적인 위험성을 판별하기 위한 시스템 등에 관한 것으로, 보다 상세하게는 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단하기 위한 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
오늘날 인터넷의 광범위한 보급은 이제 유선을 넘어 무선 이동통신 기술로의 급발전을 가져오게 되었고, 실생활에 있어서도 휴대폰, PDA, 핸드헬드(Hand-Held) 컴퓨터 등의 휴대용 단말을 통한 인터넷상에서의 정보 검색이 시간과 장소에 구애받지 않고 가능하게 되었다.
한편, 최근 출시되는 스마트폰들의 성능이 향상되면서, 일반 휴대폰에서 스마트폰으로 사용자들이 많이 옮겨가고 있는 추세이다. 스마트폰(smart phone)이란 휴대폰에 컴퓨터 지원 기능을 추가한 지능형 휴대폰으로서, 휴대폰 기능에 충실하면서도 개인 휴대 정보 단말기(PDA) 기능, 인터넷 기능, 동영상 재생 기능 등이 추가되며, 다양한 입력 방식과 터치스크린 등이 구비되어 사용에 보다 편리한 인터페이스를 제공한다. 또한, 무선 인터넷 기능의 지원으로 인터넷 및 컴퓨터에 접속되어 이메일, 웹브라우징, 팩스, 뱅킹, 게임 등 단말기로서의 기능도 수행한다. 한편, 스마트폰은 다양한 기능의 수용을 위하여 표준화된 운영 체제(OS) 또는 전용 운영 체제를 갖추기도 한다.
이와 같이, 스마트폰 등 다양한 모바일 단말을 통해 다양한 기능의 구현이 가능해짐에 따라, 모바일 단말 내에서 구동되는 다양한 애플리케이션 프로그램(application program) 파일들이 개발되고 있다.
이러한, 스마트폰에 설치되어 구동되는 애플리케이션 파일은 통상적으로 '앱(App.)'이라고도 하며, 각종 애플리케이션 마켓 등을 통해 유료 또는 무료로 다운로드 받아 스마트폰에 설치하여 사용된다. 따라서, 사용자는 스마트폰에서 특정 애플리케이션 마켓에 접속하여 원하는 애플리케이션을 검색하고, 해당 애플리케이션을 선택하여 다운로드 받아 설치할 수 있다.
특히, 안드로이드 기반의 운영체제에서는 리소스 파일과 소스 코드를 패키징한 형태(즉, APK 파일 포맷)로 애플리케이션 파일을 제작 및 배포한다. 상기 안드로이드 기반의 APK 파일은 패키징 상태에서 공개키 및 비밀키가 저장된 파일(Keystore)를 이용하여 전자 서명(signing)을 하여야 배포가 가능하며, 파일 내에 서명 정보 및 서명 정보를 확인하기 위한 공개키가 함께 포함된다. 따라서, 동일한 서명으로 서명하여야 기존의 애플리케이션을 업데이트할 수 있다.
한편, 상기 안드로이드 기반의 애플리케이션 파일은 원본 소스와 거의 유사한 정도로 디컴파일(de-compile)이 가능하여 역분석(reverse engineering)이 용이하다. 이와 같이, 역분석을 통해 애플리케이션의 원래 제작자가 아닌 일반 사용자라도 소스 코드 또는 리소스 파일을 직접 조작한 후, 리패키징하여 재배포하는 것이 가능하다.
도 1은 일반적인 안드로이드 기반의 애플리케이션 리패키징 절차를 나타낸 흐름도이다. 도 1을 참조하면, APK 파일을 다운로드(S101) 또는 전송받은 후, 소정의 디컴파일 툴(예컨대, ApkTool.jar, dex2jar, jd 등)을 이용하여 디컴파일(S102)하면, 소스 코드 및 리소스 파일을 확인할 수 있다. 이때, 상기 소스 코드를 수정(S103)한 후, 다시 컴파일(S104)하고, 서명 정보를 이용하여 서명(S105)함으로써 다시 패키징하면 리패키징된 APK 파일이 생성되며, 이를 재배포하여 사용할 수 있다.
상기 APK 파일을 디컴파일하는 방법의 예를 보다 구체적으로 설명하면 다음과 같다. 도 2는 안드로이드 기반의 애플리케이션 파일 구조를 나타내는 도면이다. 즉, APK 파일 포맷은 일반 압축과 같은 방식으로 압축되어 있으므로, 일반적인 압축툴로 압축을 해제하면 도 2에 도시된 바와 같은 폴더 및 파일을 확인할 수 있다.
상기 도 2에서 'META-INF' 폴더는, APK 서명 정보를 포함하는 폴더를 나타낸다. 'res' 폴더는 안드로이드 기반에서 사용하는 이미지, 레이아웃(layout), 스트링(string) 등을 저장하는 폴더이다. 'AndroidManifest' 파일은 해당 프로젝트에서 사용하는 액티비티(activity)/서비스(service)에 대한 정의를 나타내며 XML 형태로 구성된다. 'classes.dex' 파일은 소스 파일을 컴파일한 후, 클래스(class) 파일을 다시 dex 파일 포맷으로 변경한 파일이다. 'resources.arsc' 파일은 해당 프로젝트의 리소스 테이블 정보를 나타낸다.
이때, 상기 'classes.dex' 파일로부터 소스 코드의 내용을 확인하기 위해서는 도 3에 도시된 바와 같이 몇 가지 툴을 사용하여 디컴파일하여야 한다. 예컨대, 'dex' 파일 포맷을 'jar' 파일 포맷으로 변환하고, 'jar'파일 포맷을 디컴파일하여 패키지 주소와 함께 소스 코드를 확인할 수 있다. 이처럼, APK 파일을 디컴파일함으로써 소스 코드를 사용자가 확인하여 수정할 수가 있다.
이와 같이, 안드로이드 기반의 APK 파일은 디컴파일을 통한 역분석이 용이하기 때문에 일반인이 악의적으로 애플리케이션을 조작한 후 재배포할 수 있는 문제가 있다. 예컨대, 애플리케이션에 포함된 광고 정보를 변경하거나 클릭 수 등을 조작함으로써 애플리케이션을 악용하는, 즉 변조 애플리케이션으로 조작되어 재배포될 수 있으며, 또는 바이러스 등 단말기에 악영향 또는 피해를 입히는 악성 애플리케이션으로 조작되어 재배포될 수 있는 문제가 있다.
또한, 누구라도 애플리케이션을 제작하고 배포할 수 있으며 배포 전에 악성 애플리케이션 여부를 검사하는 절차나 과정이 전혀 존재하지 않으므로 몇몇 제작자는 악의적인 악성 애플리케이션을 제작하여 배포하는 경우가 종종 있고, 이 경우 사용자에게 큰 피해가 돌아갈 문제점이 존재한다.
한편, 변조 애플리케이션 또는 악성 애플리케이션 여부를 판별하기 위한 다양한 백신 프로그램들이 개발되고 있으며, 그 기술 중의 하나로서 대한민국 공개특허공보 제10-2011-0084693호 “안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법(주식회사 쉬프트웍스)”(문헌 1)에는 안드로이드 단말 플랫폼에서 애플리케이션의 시그니쳐(signature) 기반의 패턴 검사 또는 휴리스틱(heuristic) 검사를 통해 악성 코드 또는 위험 파일 여부를 진단하는 방법 등이 개시된다.
그러나, 이와 같은 시그니쳐 기반의 패턴 검사 또는 휴리스틱 검사에 의하더라도 이미 추출된 시그니쳐 또는 미리 규정된 특정 휴리스틱 패턴에 기초하여 악성 코드 등의 여부를 판단하게 되므로 비록 잠재적으로 변조 또는 악성 애플리케이션의 위험성이 존재하는 애플리케이션, 예를 들어 개발자가 정상적인 애플리케이션에 대한 업데이트를 통해 변조 또는 악성 코드를 삽입하거나 또는 종래의 시그니쳐 또는 휴리스틱 패턴에 속하지 않는 새로운 패턴을 갖는 변조 또는 악성 애플리케이션, 의 경우에는 종래 기술에 의해서는 전혀 진단이나 판별을 할 수 없다는 문제점이 존재한다. 또한, 종래에 변조 또는 악성 애플리케이션을 만든 적이 있는 제작자의 경우에는 향후에도 또 다른 변조 또는 악성 애플리케이션을 만들 가능성이 상당히 높은데도 불구하고 종래에는 제작자 기반에 의한 애플리케이션의 잠재적인 위험성에 대해 전혀 검토되고 있지 않는 실정이다.
따라서, 종래 기술에 의해 진단되지 않는, 즉 새로운 패턴을 갖거나 또는 장래에 변조 또는 악성 애플리케이션으로 될 가능성이 있는 애플리케이션에 대한 잠재적인 위험성을 미리 판단할 수 있는 방법의 필요성이 요구되고 있는 실정이다.
[문헌 1] 대한민국공개특허공보 제10-2011-0084693호 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법(주식회사 쉬프트웍스) 2011.07.26
본 발명의 목적은 특정 패턴 없이도 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단할 수 있는 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
또한, 본 발명의 다른 목적은 특정 패턴 없이도 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단하고, 잠재적인 위험성이 존재하는 경우 정밀 검사를 통해서 해당 애플리케이션 파일에 대한 실제적인 위험성이 존재하는지 여부를 판단할 수 있는 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
또한, 본 발명의 또 다른 목적은 특정 패턴 없이도 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단하기 위해 각 제작자에 대한 신뢰도 정보를 수집하고 저장할 수 있는 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 측면에 따르면, 애플리케이션 파일의 잠재적인 위험성 판별 장치는 사용자 단말로부터 수신된 서명 정보를 신뢰도 정보와 대비하여 애플리케이션 파일의 잠재적인 위험성을 판별하는 판별부 및 상기 신뢰도 정보를 저장하는 신뢰도 데이터베이스를 포함하고, 상기 애플리케이션 파일은 상기 서명 정보를 갖는다.
바람직하게는, 상기 판별부는, 상기 서명 정보에 해당하는 신뢰도 정보가 존재하는지 판별하고, 만일 존재하는 경우 상기 신뢰도 정보에 기초하여 상기 애플리케이션 파일의 잠재적인 위험성을 판별한다.
바람직하게는, 상기 장치는, 상기 신뢰도 데이터베이스를 업데이트하는 수집 검사부를 더 포함한다.
바람직하게는, 상기 수집 검사부는, 배포된 다수의 애플리케이션 파일들을 수집하고, 수집된 상기 다수의 애플리케이션 파일들의 신뢰도 판단 지표를 추출하며, 상기 추출된 신뢰도 판단 지표 중 적어도 하나 이상의 조합에 기초하여 상기 다수의 애플리케이션 파일들의 신뢰도 정보를 상기 신뢰도 데이터베이스에 업데이트한다.
바람직하게는, 상기 장치는, 제2 애플리케이션 파일을 상기 사용자 단말에 제공하는 제공부를 더 포함하고, 상기 제2 애플리케이션 파일은 상기 사용자 단말 내에 설치되고 상기 서명 정보를 상기 애플리케이션 파일로부터 추출하는 추출부를 포함한다.
바람직하게는, 상기 제2 애플리케이션 파일은, 상기 판별부에 의해 판별된 상기 애플리케이션 파일의 잠재적인 위험성을 상기 사용자 단말에 표시하는 표시부를 더 포함한다.
바람직하게는, 상기 제2 애플리케이션 파일은, 상기 잠재적인 위험성에 기초하여 상기 애플리케이션 파일에 대한 정밀 검사를 수행하는 정밀 검사부를 더 포함한다.
바람직하게는, 상기 정밀 검사에 따른 검사 결과는 상기 신뢰도 데이터베이스의 업데이트에 반영된다.
본 발명의 다른 측면에 따르면, 애플리케이션 파일의 잠재적인 위험성 판별 단말 장치는 서명 정보를 애플리케이션 파일로부터 추출하는 추출부 및 상기 서명 정보에 기초하여 판별되는 상기 애플리케이션 파일의 잠재적인 위험성을 표시하는 표시부를 포함하고, 상기 잠재적인 위험성은 상기 서명 정보를 신뢰도 정보와 대비하여 판별된다.
본 발명의 또 다른 측면에 따르면, 애플리케이션 파일의 잠재적인 위험성 판별 방법은 판별 서버에 의해 수행되는 각 단계가, 사용자 단말로부터 서명 정보를 수신하는 단계 및 상기 수신된 서명 정보를 신뢰도 데이터베이스에 저장된 신뢰도 정보와 대비하여 애플리케이션 파일의 잠재적인 위험성을 판별하는 단계를 포함하고, 상기 애플리케이션 파일은 상기 서명 정보를 갖는다.
한편, 상기 애플리케이션 파일의 잠재적인 위험성 판별 방법을 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따르면 특정 패턴 없이도 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단할 수 있는 장점이 있다.
또한, 본 발명에 따르면 특정 패턴 없이도 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단하고, 잠재적인 위험성이 존재하는 경우 정밀 검사를 통해서 해당 애플리케이션 파일에 대한 실제적인 위험성이 존재하는지 여부를 판단할 수 있는 장점이 있다.
또한, 본 발명에 따르면 특정 패턴 없이도 애플리케이션 파일을 제작하는 제작자의 신뢰도 정보를 기반으로 해당 제작자의 특정 애플리케이션 파일에 대한 잠재적인 위험성이 존재하는지 여부를 판단하기 위해 각 제작자에 대한 신뢰도 정보를 수집하고 저장할 수 있다는 장점이 있다.
도 1은 일반적인 안드로이드 기반의 애플리케이션 리패키징 절차를 나타낸 흐름도이다.
도 2는 안드로이드 기반의 애플리케이션 파일 구조를 나타내는 도면이다.
도 3은 안드로이드 기반의 애플리케이션 파일에 대한 디컴파일 단계를 나타내는 도면이다.
도 4는 본 발명에 따른 애플리케이션 파일의 잠재적인 위험성 판별 기능을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 애플리케이션 파일의 잠재적인 위험성 판별 시스템을 나타내는 도면이다.
도 6a 및 도 6b는 본 발명의 다양한 실시예에 따른 사용자 단말에서 애플리케이션 파일의 잠재적인 위험성 판별 기능의 적어도 일부를 수행하는 세부 구조를 나타내는 블록도이다.
도 7은 본 발명의 실시예에 따른 애플리케이션 파일의 잠재적인 위험성 판별 기능의 적어도 일부를 수행하는 판별 서버의 세부 구조를 나타내는 블록도이다.
도 8은 본 발명의 일 실시예에 따른 애플리케이션 파일의 잠재적인 위험성 판별 절차를 나타내는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 신뢰도 데이터베이스의 내부 구성도를 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따른 서명 정보를 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명은 서명 정보가 파일 내에 포함된 안드로이드 기반의 애플리케이션 파일(예컨대, APK 파일)의 설치시, 업데이트시 또는 별도의 백신 프로그램의 실행시 등 특정 상황이 발생하면 상기 파일 내에 포함된 서명 정보를 추출하고 제작자의 신뢰도 정보와 대비함으로써 잠재적인 위험성 여부를 판단할 수 있는 애플리케이션의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 개시한다.
본 발명에서 용어 “신뢰도 정보”는 특정 제작자에 의해 개발되고 배포된 애플리케이션들이 신뢰성이 있는 지 여부를 판단하기 위한 정보로서, 배포된 애플리케이션들의 개수, 위조나 변조 이력 및/또는 그 비율, 버전 업데이트 여부, 공식적인 마켓을 통해서 배포가 되었는지 여부 등 다양한 지표들 중 적어도 하나 이상에 기초하여 산출될 수 있다. 신뢰도 정보를 산출하기 위한 다양한 실시예들은 상세히 후술하도록 한다.
한편, 후술하는 설명에서의 사용자 단말은 일반적인 데스크톱 컴퓨터뿐만 아니라 스마트폰을 포함하는 개념으로서, 이동 통신 단말기, 데스크톱 컴퓨터, 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant: PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말로서 채택될 수 있다.
또한, 후술하는 설명에서의 애플리케이션 파일은 서명 정보가 파일 내에 포함되어 배포되는 어떠한 애플리케이션 파일도 본 발명의 애플리케이션 파일에 포함될 수 있으며, 설명의 용이성을 위해 이하에서는 안드로이드 기반의 애플리케이션 파일을 예시적으로 설명하기로 한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
먼저, 도 4 내지 도 7을 참조하여 본 발명의 실시예에 따른 시스템 및 장치의 구조를 설명하며, 다음으로 도 8를 참조하여 본 발명의 실시예에 따른 절차를 상세히 설명한다.
애플리케이션 파일의 잠재적인 위험성 판별 시스템
도 4는 본 발명에 따른 애플리케이션 파일의 잠재적인 위험성 판별 기능을 나타내는 도면이다. 도 4를 참조하면, 안드로이드 기반의 애플리케이션과 같이 서명 정보가 포함된 애플리케이션에 대해 본 발명에 따라 상기 서명 정보를 제작자의 신뢰도 정보와 대비함으로써 위험성 여부를 판별할 수 있다.
보다 구체적으로 설명하면, 애플리케이션 파일의 설치시, 업데이트시, 실행시 또는 별도의 백신 프로그램의 실행시 등 특정 상황이 발생하면 사용자 단말에서는 애플리케이션 파일에 포함된 서명 정보를 추출하고, 판별 서버 측으로 전송한다. 또는, 사용자 단말은 특정 상황의 발생 이전에 서명 정보를 추출하고 있다가 특정 상황의 발생시 판별 서버측으로 전송할 수도 있다.
한편, 판별 서버 측에서는 전송된 서명 정보를 제작자의 신뢰도 정보와 대비하고, 해당 서명 정보에 해당하는 신뢰도 정보에 기초하여 해당 애플리케이션의 신뢰성이 있는지, 또는 어느 정도의 신뢰도를 갖는지(이하, “잠재적인 위험성”이라 한다)를 판단한다. 또한, 실시예에 따라서는 판별 서버 측에서 사용자에게 잠재적인 위험성이 높은 애플리케이션에 대해 정밀 검사를 통한 삭제 또는 치료를 수행하도록 추가적인 기능을 제공도록 구현할 수도 있다.
도 5는 본 발명의 실시예에 따른 애플리케이션 파일의 잠재적인 위험성 판별 시스템을 나타내는 도면이다. 도 5를 참조하면, 사용자 단말(510) 내에는 제1 애플리케이션 파일(511) 및 제2 애플리케이션 파일(513)이 저장 또는 설치되고, 상기 제1 애플리케이션 파일(511)은 서명 정보(512)를 포함하고 있다. 상기 서명 정보(512)는 제작자가 제1 애플리케이션을 제작한 후 배포를 위해 패키징 한 후 서명을 위해 사용자가 설정하는 키 값 및/또는 패스워드 등에 의해 생성되는 정보로서 해쉬 함수 등에 의해 암호화되어 저장될 수도 있다. 도 10을 참조하여 서명 정보(512)에 대해 보다 상세히 설명하면, 암호화되기 전의 서명 정보(1010)에 미리 생성된 비밀키를 적용하여 암호화하는 방식으로 전자 서명이 이루어진다. 서명 정보(1010)에는 프로젝트 명(Alias), 비밀번호, 서명의 유효 기간(validity), 제작자의 이름, 조직 명, 조직의 부서명, 도시 명, 주 명, 국가 코드 등을 포함할 수 있으나 이에 한정되는 것이 아니다. 전자 서명 결과 제1 애플리케이션에 포함되는 서명 정보(512)는 임의의 숫자, 문자, 기호 등의 연속된 형태로 된 바이너리 형식의 서명 정보(1030)에 해당하며 제1 애플리케이션에 포함되어 배포되고, 함께 포함된 공개키에 의해서 복호화될 수 있다.
도 5에서 제1 애플리케이션 파일(511)은 잠재적인 위험성 판별의 대상이 되는 파일이며 제2 애플리케이션 파일(512)은 그 실행을 통해 잠재적인 위험성 판별 대상인 제1 애플리케이션 파일(511)의 잠재적인 위험성을 판별하는 기능을 수행하는 파일로서 그 일 예로는 백신 프로그램 등이 있다. 이 밖에도, 도 5에는 도시되지는 않았지만 사용자 단말(510)은 판별 서버(530)로부터 위험성 판단 결과를 수신하고 사용자에게 알려주는 표시부 및 제1 애플리케이션 파일에 대해 잠재적인 위험성이 존재하는 경우 정밀 검사를 수행하는 정밀 검사부 등을 더 포함할 수 있으며, 상기 구성요소들은 본 발명의 실시예에 따라 상기 제2 애플리케이션 파일의 내부에 포함될 수도 있다. 본 발명의 실시예에 따라 제2 애플리케이션 파일은 판별 서버로부터 또는 이와는 별개의 다른 서버로부터 제공될 수도 있다.
다음으로, 판별 서버(530)에는 제작자의 신뢰도 정보를 저장하는 신뢰도 데이터베이스(531)가 더 포함될 수 있다. 이 밖에도, 도 5에 도시되지는 않았지만 판별 서버(530)는 사용자 단말(510)와 각종 정보를 송수신하는 송수신부, 수신된 상기 서명 정보와 신뢰도 데이터베이스(531)에 저장된 제작자의 신뢰도 정보를 대비하는 판별부, 상기 신뢰도 데이터베이스(531)에 저장된 제작자의 신뢰도 정보를 수집 및 업데이트하는 수집 검사부, 제2 애플리케이션 파일을 제공하는 제공부 등을 더 포함할 수 있다.
한편, 본 발명에 따라 상기 사용자 단말(510)에는 특정 상황이 발생하면 제1 애플리케이션 파일의 서명 정보를 추출하여 판별 서버(530)로 전송한다. 여기서 특정 상황은 제1 애플리케이션 파일(511)의 최초 설치시, 업데이트시, 최초 실행시, 실행시마다 등을 포함할 수 있으나 이에 한정되지 않으며, 제1 애플리케이션 파일(511) 내부의 특정 루틴 또는 알고리즘에 따라 서명 정보 추출 및 전송 기능을 수행할 수도 있고, 또는 사용자 단말(510)에 설치되어 있는 제2 애플리케이션 파일(513)의 실행 및 특정 기능(예컨대, 변조/악성 애플리케이션 검사 기능)을 수행함으로써 서명 정보 추출 및 전송 기능을 수행할 수도 있다.
통신 네트워크(520)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 통신 네트워크(520)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
한편, 도 5에는 도시되지 않았으나, 본 발명의 다른 실시예에 따르면 애플리케이션 파일의 잠재적인 위험성 판별 시스템은 제2 애플리케이션 파일을 제공하는 배포 서버를 더 포함할 수 있다. 배포 서버는 전술한 기능을 수행하는 제2 애플리케이션 파일을 사용자 단말(510)의 요청에 따라 제공하며 구체적인 예로서 공식적인 안드로이드 마켓인 구글 플레이, 제2 애플리케이션 파일의 제작자에 의해 설정된 파일 제공 서버, 또는 이를 모두 포함하여 배포 서버라 할 수 있다.
애플리케이션 파일의 잠재적인 위험성 판별 장치
도 6a 및 도 6b는 본 발명의 다양한 실시예에 따른 사용자 단말에서 애플리케이션 파일의 잠재적인 위험성 판별 기능의 적어도 일부를 수행하는 세부 구조를 나타내는 블록도이다. 본 발명에 따라 사용자 단말 내에 설치되었거나 설치될 제1 애플리케이션 파일에 대한 잠재적인 위험성을 판별한다. 이 때, 상기 판별을 위해 사용자 단말 내에서 제1 애플리케이션 파일에 대한 서명 파일이 추출되고, 실시예에 따라 판별 서버로 전송하고 그 결과를 수신하거나 또는 사용자 단말기 내부에서 자체적으로 제작자의 신뢰도 정보와 대비를 통해 잠재적인 위험성을 판별하게 된다. 또한, 본 발명의 다양한 실시예에 따른 각 기능들은 잠재적인 위험성 판별 대상인 제1 애플리케이션 파일 내에 또는 이와는 독립적인 제2 애플리케이션 내에 포함되어 동작할 수 있다.
먼저, 도 6a를 참조하면 본 발명의 일 실시예에 따른 사용자 단말(510a)은 추출부(610a), 송수신부(611a), 표시부(612a) 및 정밀 검사부(613a)를 포함하여 구성될 수 있다. 추출부(610a)는 특정 상황이 발생하면 사용자 단말 내에 설치되었거나 설치되고 있는 하나 이상의 제1 애플리케이션 파일에 대한 서명 정보를 추출하는 기능을 수행한다. 전술한 바와 같이 특정 상황은 설치되고 있는 제1 애 플리케이션 파일의 최초 설치시, 업데이트시, 최초 실행시, 또는 실행시 마다를 포함할 수 있으며, 이와는 별도로 이미 사용자 단말(510a)에 설치되어 있는 독립적인 제2 애플리케이션의 실행 및 특정 기능 수행(예컨대, 백신 프로그램의 실행 및 검사 시작 등)시도 포함할 수 있으나 반드시 설시된 예에 한정되는 것은 아니다.
다음으로, 송수신부(611a)는 추출된 서명 정보를 통신 네트워크(520)를 통해 판별 서버(530)로 전송하고, 판별 서버(530)로부터 판별된 잠재적인 위험성을 수신하는 기능을 수행한다.
또한, 표시부(612a)는 판별 서버(530)로부터 수신된 잠재적인 위험성을 사용자 단말(510a)의 사용자가 인식할 수 있도록 사용자 단말(510a)의 디스플레이 화면 등에 표시하는 기능을 수행한다. 또한, 표시부(612a)는 단순한 표시에 한정되는 것이 아닌, 잠재적인 위험성에 따라 사용자가 추가적인 조치를 취할 수 있도록 다양한 선택 기능을 더 제공할 수 있으며, 그 예로서는 잠재적인 위험성이 존재하는 제1 애플리케이션 파일의 설치 중단, 삭제, 또는 변조나 악성 애플리케이션인지 여부에 대한 정밀 검사 수행 등을 포함할 수 있으나 반드시 설시된 예에 한정되는 것은 아니다.
마지막으로, 정밀 검사부(613a)는 사용자의 선택 등에 의해 정밀 검사 수행이 요청된 경우 잠재적인 위험성이 존재하는 제1 애플리케이션 파일, 또는 사용자 단말에 설치된 일부 또는 전체 애플리케이션 파일을 대상으로 변조나 악성 애플리케이션인지 여부를 정밀 검사한다. 정밀 검사는 선행기술에 언급된 바와 같은 시그니쳐(signature) 기반의 패턴 검사 또는 휴리스틱(heuristic) 검사 방식을 이용하여 수행될 수 있으므로 정밀 검사 방식에 대한 상세한 설명은 생략하도록 하며, 정밀 검사부(613a)는 검사 결과에 따라 변조나 악성 애플리케이션으로 판단되는 애플리케이션 파일의 삭제나 치료 등의 기능을 더 수행할 수 있고, 제작자의 신뢰도 정보를 저장하는 신뢰도 데이터베이스(531)를 업데이트하기 위해 검사 결과를 송수신부(611a)를 거쳐 판별 서버(530)로 더 전송할 수 있다.
다음으로, 도 6b를 참조하면 본 발명의 다른 실시예에 따른 사용자 단말(510b)은 추출부(610b), 송수신부(611b), 표시부(612b), 정밀 검사부(613b), 판별부(614b) 및 신뢰도 데이터베이스(615b)를 포함하여 구성될 수 있다. 먼저 추출부(610b)는 도 6a에서 전술한 바 있는 추출부(610a)의 기능과 동일한 기능을 수행하므로 별도의 상세한 설명은 생략하도록 한다.
다음으로, 송수신부(611b)는 판별 서버(530)의 신뢰도 데이터베이스(531)로부터 신뢰도 정보의 일부 또는 전부를 실시간으로 또는 주기적으로 수신 받아 사용자 단말(510b) 내의 신뢰도 데이터베이스(615b)에 저장 및/또는 업데이트하는 기능 및 도 6a에서 전술한 바와 같이 정밀 검사에 따른 검사 결과를 판별 서버(530)로 전송하는 기능을 수행한다.
한편, 표시부(612b)는 잠재적인 위험성이 판별 서버(530)가 아닌 판별부(614b)에서 판별된다는 점에서만 상이하고 그 이외에는 도 6a에서 전술한 표시부(612a)와 동일한 기능을 수행하며, 정밀 검사부(613b) 역시 도 6a에서 전술한 정밀 검사부(613a)와 동일한 기능을 수행한다.
마지막으로, 판별부(614b)는 추출부(610b)에서 추출된 서명 정보와 신뢰도 데이터베이스(615b)에 저장되어 있는 신뢰도 정보를 대비하여 서명 정보를 갖고 있는 제1 애플리케이션 파일의 잠재적인 위험성을 판단한다.
신뢰도 정보 산출
특정 애플리케이션이 신뢰성이 있는지 여부는 해당 애플리케이션 자체에 대한 검사를 포함하여 다양한 지표들에 의해 산출될 수 있다. 지표들의 다양한 예로서, 이하에 설시된 예에 한정되는 것은 아니나 애플리케이션의 개발 및 배포는 서명 정보로 판단될 수 있으므로 해당 애플리케이션을 개발하여 배포한 제작자가 과거에 악성 또는 변조 애플리케이션을 개발하여 배포한 적이 있었는지 여부, 만일 개발하여 배포한 적이 있다면 그 개수는 몇 개나 되고 해당 제작자가 개발 배포한 전체 애플리케이션의 개수 중 어느 정도의 비율을 차지하는지 여부, 해당 제작자가 개발 및 배포한 애플리케이션들이 꾸준히 업데이트되는지 여부(해당 제작자가 자신이 개발 및 배포한 애플리케이션을 성실하게 관리하고 있는지 여부를 확인할 수 있는 지표로서 애플리케이션의 버전 넘버로부터 확인 가능), 해당 제작자가 대기업 또는 특정 규모 이상의 회사에 해당하는지 여부(규모가 특정 규모 이상인 회사에서 제작한 애플리케이션들의 경우 신뢰성이 상대적으로 높다고 판단할 수 있으며, 그 판단에 사용되는 지표임), 해당 제작자가 지금까지 개발 및 배포한 애플리케이션들의 개수(개발 및 배포한 개수가 많을수록 신뢰성이 높은 제작자라고 판단할 수 있으며, 개발 및 배포한 개수가 특정 개수 이하인 경우 특정 목적 특히 부정한 목적으로 애플리케이션을 개발 및 배포하였을 가능성이 전자에 비해 높다고 볼 수 있으므로 신뢰성이 상대적으로 낮다고 판단하는데 사용될 수 있는 지표임), 또는 공식적인 마켓을 통해서 애플리케이션들이 배포가 되었는지 여부(예컨대, 애플리케이션들이 공식적인 안드로이드 마켓인 구글 플레이를 통해 배포가 된 경우, 다른 사설 서버를 통해 배포된 경우보다 제작자의 신뢰성이 더 높다고 판단할 수 있는 지표임) 등을 들 수 있다.
신뢰도 정보는 전술한 바와 같은 지표들 중 하나 이상을 조합하여 산출할 수 있는 정보로서, 특정 제작자의 서명 정보 및 해당 제작자가 개발 및 배포하는 애플리케이션들이 신뢰성이 있는지 또는 어느 정도의 신뢰성이 있는지를 나타내는 정보를 포함할 수 있다. 가장 간단한 예로서, 지표 중 과거에 악성 또는 변조 애플리케이션을 개발하여 배포한 적이 있었는지 여부만을 이용하여 신뢰성 높음, 또는 신뢰성이 낮은 경우 악성 경력이 있는지 또는 변조 경력이 있는지로 나뉘어지는 신뢰도 정보가 있다고 가정할 때, 이러한 신뢰도 정보는 도 9에 개시된 바와 같이 화이트리스트(Whitelist) 데이터베이스 및 블랙리스트(Blacklist) 데이터베이스로 논리적 및/또는 물리적으로 나누어 저장될 수 있다. 도 9를 참조하면, 신뢰도 데이터베이스(531) 및/또는 신뢰도 데이터베이스(615b)는 화이트리스트(Whitelist) 데이터베이스 및 블랙리스트(Blacklist) 데이터베이스를 각각 포함할 수 있으며 또는 두 데이터베이스를 결합한 하나의 논리적인 데이터베이스를 운영할 수도 있다. 화이트리스트 데이터베이스는 신뢰도가 높은 제작자들의 서명 정보를 포함하는 데이터베이스이며 이와 반대로 블랙리스트 데이터베이스는 신뢰도가 낮은 제작자들의 서명 정보 및 잠재적인 위험성(변조 경력이 있음에 따른 변조 위험 아니면 악성 경력이 있음에 따른 악성 위험 등)를 포함하는 데이터베이스이다. 한편, 제작자들의 서명 정보는 저장 및 대비를 쉽게 하기 위해 그 자체가 아닌 해시 코드 등으로 변환하여 저장할 수 있으며 도 9에 개시된 신뢰도 정보는 해시 코드로 변환한 제작자들의 서명 정보 및 잠재적인 위험성을 나타낸 것이다. 이 때, 판별부(614b)는 먼저 추출된 서명 정보를 화이트리스트 데이터베이스에 저장된 신뢰도 정보와 대비할 수 있다. 만일 추출된 서명 정보가 화이트리스트 데이터베이스에 저장된 내용과 일치하는 경우 해당 서명 정보를 포함하는 애플리케이션 파일은 신뢰할 수 있는 제작자에 의해 제작된 것으로 볼 수 있으므로 신뢰도가 높은, 즉 잠재적인 위험성이 없는 것으로 판단한다. 반면에, 추출된 서명 정보가 화이트리스트 데이터베이스에 저장된 내용과 일치하지 않는 경우 판별부(614b)는 다음으로 블랙리스트 데이터베이스에 저장된 신뢰도 정보와 대비한다. 만일 추출된 서명 정보가 블랙리스트 데이터베이스에 저장된 서명 정보와 일치하는 경우 판별부(614b)는 추가적으로 잠재적인 위험성을 확인하고 표시부(612b)를 통해 해당 애플리케이션 파일의 제작자가 이전에 변조 또는 악성 애플리케이션을 제작하여 배포한 전적이 있으므로 잠재적인 위험이 존재한다는 내용을 사용자가 인식할 수 있도록 사용자 단말(510b)의 디스플레이 화면 등에 표시하고, 사용자의 선택에 따라 설치 중단, 삭제, 또는 정밀 검사부(613b)에 의한 정밀 검사 수행 등을 수행하도록 처리할 수 있다. 판별부(614b)는 이와 함께, 신뢰도 데이터베이스(531)의 업데이트를 위해 정밀 검사에 따른 검사 결과를 판별 서버(530)로 전송할 수 있다.
신뢰도 정보를 산출하는 다른 예로서, 이하의 표 1에 도시된 바와 같이 각각의 지표에 따른 수치를 합산하고, 합산된 최종 수치가 속하는 범위에 따라 이하의 표 2와 같이 해당 애플리케이션 파일의 잠재적인 위험성을 세분화 할 수도 있다.
지표 수치
과거에 악성 애플리케이션 배포된 경우 개당 +10
과거에 변조 애플리케이션 배포된 경우 개당 +4
제작자의 애플리케이션이 업데이트되는지 여부 2회 이상 업데이트된 경우 개당 -1
제작자가 이미 특정 규모 이상의 회사인 경우 해당되면 -3
해당 안되면 -1
제작자가 지금까지 배포한 애플리케이션 개수 5개 이상은 -3
2개 이하는 +1
합산된 최종 수치 (x) 잠재적인 위험도
x≤0 위험도 없음
0≤x≤3 판단 정보 부족(정밀 검사 권장)
3<x<9 주의 요함(정밀 검사 추천)
x>9 위험(정밀 검사 또는 삭제 강력추천)
따라서, 도 9에서 도시된 데이터 구조는 일 실시예에 불과하며, 잠재적인 위험성을 구분할 때 단순한 과거의 이력만을 기초로 변조, 악성 또는 위험성 없음으로 나누는 것이 아닌, 전술한 다양한 지표들 중 적어도 일부를 취사 선택하고 조합함으로써 다양한 수준으로 잠재적인 위험성을 세분화할 수도 있고 신뢰도 데이터베이스를 다양하게 구현할 수 있는 등 다양한 응용이 가능함은 본 기술분야의 통상의 기술자들에 있어 자명하다.
도 7은 본 발명의 실시예에 따른 애플리케이션 파일의 잠재적인 위험성 판별 기능의 적어도 일부를 수행하는 판별 서버의 세부 구조를 나타내는 블록도이다. 도 7을 참조하면, 판별 서버(530)는 제작자의 신뢰도 정보를 저장하는 신뢰도 데이터베이스(531), 사용자 단말과 각종 정보를 송수신하는 송수신부(710), 사용자 단말로부터 수신된 서명 정보에 기초하여 해당 서명 정보를 갖고 있는 애플리케이션 파일의 잠재적인 위험성을 판별하는 판별부(711) 및 신뢰도 데이터베이스(531)에 저장된 신뢰도 정보를 수집 및 업데이트하기 위한 수집 검사부(712)를 더 포함하여 구성될 수 있다. 또한, 비록 도 7에는 도시되지 않았지만 사용자 단말에 설치된 또는 설치되고 있는 하나 이상의 제1 애플리케이션 파일에 대한 잠재적인 위험성 여부를 판별하기 위해 상기 도 6a 또는 도 6b에 도시된 각 구성요소 중 적어도 일부의 기능을 제공하는 제2 애플리케이션 파일을 사용자 단말에게 제공하는 제공부를 더 포함할 수 있다.
먼저, 신뢰도 데이터베이스(531)는 도 9에서 예시되는 바와 같이 다수의 제작자들에 대한 서명 정보 및 잠재적인 위험성을 포함하는 신뢰도 정보를 저장하고 있으며, 판별부(711)에서 제1 애플리케이션 파일의 잠재적인 위험성 판별시 참조되고 사용자 단말(510)로부터 수신되는 정보 및/또는 수집 검사부(712)의 기능 수행에 따라 저장된 내용이 업데이트된다. 또한, 본 발명의 다른 실시예에 따라서는 사용자 단말(510b)의 신뢰도 데이터베이스(615b)에 저장 및/또는 업데이트하기 위해 저장된 신뢰도 정보의 일부 또는 전부를 송수신부(710)를 통해 사용자 단말(510b)로 실시간 또는 주기적으로 전송하기도 한다.
다음으로, 송수신부(710)는 본 발명의 실시예에 따라 사용자 단말(510a)로부터 추출된 서명 정보를 수신하고 판별부(711)에서 판단한 상기 서명 정보를 갖는 제1 애플리케이션 파일의 잠재적인 위험성을 송신하거나, 또는 실시간 또는 주기적으로 신뢰도 데이터베이스(531)에 저장된 신뢰도 정보의 일부 또는 전부를 사용자 단말(510b)로 전송한다. 또한, 송수신부(710)는 사용자 단말의 정밀 검사부(613a, 613b)에서 수행된 검사 결과를 더 수신하여 신뢰도 데이터베이스(531)에 저장 또는 업데이트할 수 있다.
한편, 판별부(711)는 도 6b에서 전술한 판별부(614b)와 유사한 기능을 수행하며, 본 발명의 실시예에 따라 사용자 단말(510a)에서 추출된 서명 정보와 신뢰도 데이터베이스(531)에 저장되어 있는 신뢰도 정보를 대비하여 해당 서명 정보를 갖고 있는 제1 애플리케이션 파일의 잠재적인 위험성을 판단하고, 그 결과를 송수신부(710)를 통해 사용자 단말(510a)로 전송할 수 있다. 만일 본 발명의 다른 실시예에 따라 사용자 단말(510b) 내에 유사한 기능을 갖는 판별부(614b)가 존재하는 경우에는 판별 서버(530) 내의 판별부(711)는 생략될 수 있다.
마지막으로, 수집 검사부(712)는 신뢰도 데이터베이스(531)에 저장된 신뢰도 정보를 수집 및 업데이트하기 위해 다수의 제작자들에 의해 배포된 다수의 애플리케이션 파일을 수집하고, 전술한 다양한 지표들을 검사하는 기능을 수행한다. 다수의 애플리케이션 파일을 수집하기 위해서 수집 검사부(712)는 조직적, 자동화된 방법으로 애플리케이션 파일을 배포하는 웹사이트를 탐색하고 수집하는 웹 크롤링(Web Crawling) 기능을 포함할 수 있으며 수작업에 의해 입력되는 웹사이트를 탐색할 수도 있고 전술한 두 가지 방식을 병행할 수도 있다. 애플리케이션 파일을 배포하는 웹사이트는 공식적인 안드로이드 마켓이라 불리우는 구글 플레이(play.google.com)가 대표적이나 이에 한정되는 것은 아니다. 또한, 수집 검사부(712)는 수집된 각 애플리케이션 파일에 대해 전술한 다양한 지표들을 검사하여 신뢰도 데이터베이스(531)에 저장된 신뢰도 정보를 필요시 추가 또는 업데이트한다. 일 예로서, 수집 검사부(712)는 수집된 애플리케이션 파일이 변조 또는 악성 애플리케이션인지 여부를 정밀 검사하는 기능을 더 수행할 수 있으며, 그 구체적인 방식으로 도 6a, 6b에서 전술한 정밀 검사부(613a, 613b)의 기능과 유사한 기능으로 시그니쳐(signature) 기반의 패턴 검사 또는 휴리스틱(heuristic) 검사를 이용할 수 있다. 검사 결과 변조 또는 악성 애플리케이션으로 판단되는 경우 수집 검사부(712)는 신뢰도 데이터베이스(531)에 저장된 신뢰도 정보를 추가 또는 업데이트할 수 있으며 검사 결과 정상적인 애플리케이션으로 판단되는 경우에는 이에 기초해서 그 신뢰도 정보를 추가 또는 업데이트할 수 있다. 이와 같이 가장 최근의 신뢰도 정보를 갖고 있는 신뢰도 데이터베이스(531)를 이용하여 제1 애플리케이션 파일에 대한 잠재적인 위험성을 정확하게 판별할 수 있다.
애플리케이션 파일의 잠재적인 위험성 판별 방법
도 8은 본 발명의 일 실시예에 따른 애플리케이션 파일의 잠재적인 위험성 판별 절차를 나타내는 흐름도이다. 도 8을 참조하면, 사용자 단말에서 특정 상황이 발생(S801)하면, 추출부에서는 사용자 단말 내에 설치되었거나 설치되고 있는 하나 이상의 제1 애플리케이션 파일에 대한 서명 정보를 추출(S802)한다. 전술한 바와 같이 특정 상황에는 제1 애플리케이션의 최초 설치시, 업데이트시, 최초 실행시, 또는 실행시마다를 포함할 수 있으며, 이와는 별도로 이미 사용자 단말에 설치되어 있는 제2 애플리케이션의 실행 및 특정 기능 수행(예컨대, 백신 프로그램의 실행 및 검사 시작 등)시도 포함할 수 있으나 반드시 이에 한정되는 것은 아니다.
추출된 서명 정보는 송수신부를 통해 판별 서버로 전송(S803)되며, 판별 서버에서는 수신된 서명 정보를 신뢰도 데이터베이스 내에 저장된 신뢰도 정보와 대비하여 해당 서명 정보를 갖고 있는 제1 애플리케이션 파일의 잠재적인 위험성 을 판단(S804)하고, 그 판단 결과를 다시 송수신부를 통해 사용자 단말로 전송(S805)한다. 사용자 단말은 전송 받은 판단 결과를 표시부를 통해 사용자에게 표시(S806)하고 만일 잠재적인 위험성이 존재하는 경우에는 사용자의 정밀 검사 요청(S807)에 따라 정밀 검사부에서 정밀 검사를 수행(S808)한다. 한편, 도 8에는 도시되지 않았으나, 본 발명의 다른 실시예에 따르면 정밀 검사를 수행하지 않고서도 사용자의 선택에 따라 잠재적인 위험성이 존재하는 제1 애플리케이션 파일의 설치 중단 또는 삭제를 수행할 수도 있다.
정밀 검사를 수행한 결과 변조나 악성 애플리케이션으로 검출되면, 사용자 단말은 검사 결과를 판별 서버로 전송(S809)하는 한편, 검출된 변조나 악성 애플리케이션의 삭제 또는 치료를 수행(S810)한다. 검사 결과에는 제1 애플리케이션의 서명 정보 및 잠재적인 위험성 (예컨대, 변조인지 또는 악성인지) 등을 포함할 수 있으나 반드시 이에 한정되는 것은 아니다. 또한, 판별 서버는 전송 받은 검사 결과에 기초하여 신뢰도 데이터베이스에 저장된 신뢰도 정보들 중 해당 서명 정보를 갖는 신뢰도 정보를 필요에 따라 업데이트(S811)한다.
한편, 판별 서버는 신뢰도 데이터베이스를 업데이트하기 위해 다수의 제작자들에 의해 배포된 다수의 애플리케이션 파일을 수집하고, 수집된 애플리케이션 파일들의 전술한 다양한 지표들을 검사한다. 예컨대, 다양한 지표 중 대표적인 예로 변조 또는 악성 애플리케이션이 존재하는지 여부를 판단하기 위해 정밀 검사를 수행할 수 있다. 이후, 정밀 검사의 결과에 따라 해당 애플리케이션의 서명 정보를 포함하는 신뢰도 정보를 신뢰도 데이터베이스에 새로이 등재하거나, 또는 기존에 저장된 신뢰도 정보, 특히 잠재적인 위험성을 변경함으로써 신뢰도 데이터베이스를 업데이트한다. 이는 예시적인 것에 불과하고 해당 단계들의 실행 순서는 단계 S801 내지 S811과는 독립적으로 수행될 수 있으므로 어느 시점에서도 실행될 수 있음은 이해될 수 있다.
또한, 본 발명의 다른 실시예에 따라 사용자 단말 내에 정밀 검사부 및 신뢰도 데이터베이스가 포함되는 경우 도 8에는 도시되지는 않았지만 추출된 서명정보가 판별 서버로 전송되는 단계S803 및 판단 결과가 사용자 단말로 전송되는 단계S805가 생략되고 판별 서버에서 수행되는 잠재적인 위험성을 판단하는 단계S804가 사용자 단말에서 수행될 수 있다. 그리고 본 실시예의 경우에는 사용자 단말 내의 신뢰도 데이터베이스가 항상 최신의 정보를 유지할 수 있도록 단계 S801 내지 S811과는 독립적으로 판별 서버 내의 신뢰도 데이터베이스에 저장된 정보 중 일부 또는 전부를 실시간으로 또는 특정 주기로 전송하여 사용자 단말 내의 신뢰도 데이터베이스에 저장하는 단계가 더 실행될 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시예는 여기에 설명된 하나 이상의 실시예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
510, 510a, 510b : 사용자 단말 511 : 제1 애플리케이션 파일
512 : 서명 정보 513 : 제2 애플리케이션 파일
520 : 통신 네트워크 530 : 판별 서버
531 : 신뢰도 데이터베이스 610a, 610b : 추출부
611a, 611b : 송수신부 612a, 612b : 표시부
613a, 613b : 정밀 검사부 614b : 판별부
615b : 신뢰도 데이터베이스 710 : 송수신부
711 : 판별부 712 : 수집 검사부

Claims (18)

  1. 사용자 단말로부터 수신된 서명 정보를 신뢰도 정보와 대비하여 애플리케이션 파일의 잠재적인 위험성을 판별하는 판별부;
    상기 신뢰도 정보를 저장하는 신뢰도 데이터베이스; 및
    상기 신뢰도 데이터베이스를 업데이트하는 수집 검사부;를 포함하고,
    상기 애플리케이션 파일은 상기 서명 정보를 가지며,
    상기 수집 검사부는,
    배포된 다수의 애플리케이션 파일들을 수집하고, 수집된 상기 다수의 애플리케이션 파일들의 신뢰도 판단 지표를 추출하며, 상기 추출된 신뢰도 판단 지표 중 적어도 하나 이상의 조합에 기초하여 상기 다수의 애플리케이션 파일들의 신뢰도 정보를 상기 신뢰도 데이터베이스에 업데이트하는,
    애플리케이션 파일의 잠재적인 위험성 판별 장치.
  2. 청구항 1에 있어서, 상기 판별부는,
    상기 서명 정보에 해당하는 신뢰도 정보가 존재하는지 판별하고, 만일 존재하는 경우 상기 신뢰도 정보에 기초하여 상기 애플리케이션 파일의 잠재적인 위험성을 판별하는, 애플리케이션 파일의 잠재적인 위험성 판별 장치.
  3. 청구항 1에 있어서,
    상기 애플리케이션 파일들의 신뢰도 판단 지표는, 상기 애플리케이션을 제작한 제작자에 의해 배포된 애플리케이션들의 개수, 상기 제작자의 악성 또는 변조 애플리케이션 개발 또는 배포 여부, 상기 제작자가 개발 또는 배포한 애플리케이션의 업데이트 여부, 및 상기 제작자가 개발 또는 배포한 애플리케이션이 공식적인 마켓을 통해서 배포되었는지 여부 중 하나 이상을 포함하는, 애플리케이션 파일의 잠재적인 위험성 판별 장치.
  4. 삭제
  5. 청구항 1에 있어서, 상기 장치는,
    제2 애플리케이션 파일을 상기 사용자 단말에 제공하는 제공부를 더 포함하고,
    상기 제2 애플리케이션 파일은 상기 사용자 단말 내에 설치되고 상기 서명 정보를 상기 애플리케이션 파일로부터 추출하는 추출부를 포함하는, 애플리케이션 파일의 잠재적인 위험성 판별 장치.
  6. 청구항 5에 있어서, 상기 제2 애플리케이션 파일은,
    상기 판별부에 의해 판별된 상기 애플리케이션 파일의 잠재적인 위험성을 상기 사용자 단말에 표시하는 표시부를 더 포함하는, 애플리케이션 파일의 잠재적인 위험성 판별 장치.
  7. 청구항 6에 있어서, 상기 제2 애플리케이션 파일은,
    상기 잠재적인 위험성에 기초하여 상기 애플리케이션 파일에 대한 정밀 검사를 수행하는 정밀 검사부를 더 포함하는, 애플리케이션 파일의 잠재적인 위험성 판별 장치.
  8. 청구항 7에 있어서,
    상기 정밀 검사에 따른 검사 결과는 상기 신뢰도 데이터베이스의 업데이트에 반영되는, 애플리케이션 파일의 잠재적인 위험성 판별 장치.
  9. 사용자 단말에서 동작하는 위험성 판별 애플리케이션을 네트워크를 통해 제공하는 배포 서버로서,
    상기 위험성 판별 애플리케이션은,
    상기 사용자 단말의 애플리케이션 파일로부터 서명 정보를 추출하고 상기 사용자 단말에 저장된 신뢰도 정보와 대비하여 상기 애플리케이션 파일의 잠재적인 위험성을 판별하거나, 또는 판별 서버로 상기 서명 정보를 전송하고 상기 판별 서버로부터 잠재적인 위험성 판별결과를 수신하며,
    상기 신뢰도 정보는,
    다수의 애플리케이션 파일들로부터 추출된 신뢰도 판단 지표 중 적어도 하나 이상의 조합에 기초하여 업데이트 되는 것을 특징으로 하는, 애플리케이션 배포 서버.
  10. 애플리케이션 파일의 잠재적인 위험성 판별 방법에 있어서, 판별 서버에 의해 수행되는 각 단계가,
    사용자 단말로부터 서명 정보를 수신하는 단계;
    상기 수신된 서명 정보를 신뢰도 데이터베이스에 저장된 신뢰도 정보와 대비하여 애플리케이션 파일의 잠재적인 위험성을 판별하는 단계; 및
    상기 신뢰도 데이터베이스를 업데이트하는 단계;를 포함하고,
    상기 애플리케이션 파일은 상기 서명 정보를 가지며,
    상기 업데이트하는 단계는,
    배포된 다수의 애플리케이션 파일들을 수집하는 단계;
    수집된 상기 다수의 애플리케이션 파일들의 신뢰도 판단 지표를 추출하는 단계; 및
    상기 추출된 신뢰도 판단 지표 중 적어도 하나 이상의 조합에 기초하여 상기 다수의 애플리케이션 파일들의 신뢰도 정보를 상기 신뢰도 데이터베이스에 업데이트하는 단계를 포함하는, 방법.
  11. 청구항 10에 있어서, 상기 판별하는 단계는,
    상기 서명 정보에 해당하는 신뢰도 정보가 존재하는지 판별하는 단계; 및
    만일 존재하는 경우 상기 신뢰도 정보에 기초하여 상기 애플리케이션 파일의 잠재적인 위험성을 판별하는 단계를 포함하는, 방법.
  12. 청구항 10에 있어서,
    상기 애플리케이션 파일들의 신뢰도 판단 지표는, 상기 애플리케이션을 제작한 제작자에 의해 배포된 애플리케이션들의 개수, 상기 제작자의 악성 또는 변조 애플리케이션 개발 또는 배포 여부, 상기 제작자가 개발 또는 배포한 애플리케이션의 업데이트 여부, 및 상기 제작자가 개발 또는 배포한 애플리케이션이 공식적인 마켓을 통해서 배포되었는지 여부 중 하나 이상을 포함하는, 방법.
  13. 삭제
  14. 청구항 10에 있어서,
    상기 서명 정보는 상기 애플리케이션 파일로부터 추출되는, 방법.
  15. 청구항 10에 있어서,
    상기 판별하는 단계에 의해 판별된 상기 애플리케이션 파일의 잠재적인 위험성은 상기 사용자 단말에 표시되는, 방법.
  16. 청구항 15에 있어서,
    상기 잠재적인 위험성에 기초하여 상기 애플리케이션 파일에 대한 정밀 검사가 더 수행되는, 방법.
  17. 청구항 16에 있어서, 상기 방법은,
    상기 정밀 검사에 따른 검사 결과를 상기 사용자 단말로부터 수신하고 상기 신뢰도 데이터베이스의 업데이트에 반영하는 단계를 더 포함하는, 방법.
  18. 청구항 10 내지 청구항 12 및 청구항 14 내지 청구항 17 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020120149243A 2012-12-20 2012-12-20 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 KR101410255B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120149243A KR101410255B1 (ko) 2012-12-20 2012-12-20 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120149243A KR101410255B1 (ko) 2012-12-20 2012-12-20 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR101410255B1 true KR101410255B1 (ko) 2014-06-20

Family

ID=51133586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120149243A KR101410255B1 (ko) 2012-12-20 2012-12-20 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101410255B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016159496A1 (ko) * 2015-04-03 2016-10-06 라인 가부시키가이샤 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
KR101782145B1 (ko) * 2015-04-03 2017-09-26 라인 가부시키가이샤 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
CN109766496A (zh) * 2018-12-28 2019-05-17 北京奇安信科技有限公司 一种内容风险识别方法、系统、设备及介质
KR20200000576A (ko) * 2018-06-25 2020-01-03 한신대학교 산학협력단 블록체인 기반 모바일 위조 앱 검출 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005291A1 (en) * 2008-04-16 2010-01-07 Microsoft Corporation Application reputation service
KR20110111714A (ko) * 2010-04-05 2011-10-12 주식회사 안철수연구소 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법
KR20120004536A (ko) * 2009-04-27 2012-01-12 퀄컴 인코포레이티드 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
KR20120090711A (ko) * 2011-02-08 2012-08-17 (주)바이너리소프트 모바일 단말용 애플리케이션 위변조 검증 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005291A1 (en) * 2008-04-16 2010-01-07 Microsoft Corporation Application reputation service
KR20120004536A (ko) * 2009-04-27 2012-01-12 퀄컴 인코포레이티드 코드 및 데이터 서명을 개선하기 위한 방법 및 장치
KR20110111714A (ko) * 2010-04-05 2011-10-12 주식회사 안철수연구소 단말 장치 및 상기 단말 장치의 악성코드 방어 방법, 신뢰도 분석 장치 및 방법
KR20120090711A (ko) * 2011-02-08 2012-08-17 (주)바이너리소프트 모바일 단말용 애플리케이션 위변조 검증 시스템 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016159496A1 (ko) * 2015-04-03 2016-10-06 라인 가부시키가이샤 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
KR101782145B1 (ko) * 2015-04-03 2017-09-26 라인 가부시키가이샤 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
US10216941B2 (en) 2015-04-03 2019-02-26 Line Corporation Method of distributing application with security features and method of operating the application
KR20200000576A (ko) * 2018-06-25 2020-01-03 한신대학교 산학협력단 블록체인 기반 모바일 위조 앱 검출 방법
KR102107082B1 (ko) * 2018-06-25 2020-05-06 한신대학교 산학협력단 블록체인 기반 모바일 위조 앱 검출 방법
CN109766496A (zh) * 2018-12-28 2019-05-17 北京奇安信科技有限公司 一种内容风险识别方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
US11791987B2 (en) Content validation using blockchain
US10348756B2 (en) System and method for assessing vulnerability of a mobile device
JP5694473B2 (ja) 危険度計算を通じたリパッケージアプリケーションの分析システム及び分析方法
Arslan et al. Permission-based malware detection system for android using machine learning techniques
CN102306256B (zh) 对获取的文件进行信誉检查
TWI461953B (zh) 運算環境安全方法和電子運算系統
JP6609047B2 (ja) アプリケーション情報リスクマネジメントのための方法及びデバイス
US20190394221A1 (en) Detecting repackaged applications based on file format fingerprints
CN101398875A (zh) 软件发行商信任扩展应用程序
CN104683409A (zh) 终端间应用共享的方法和终端
CN104246785A (zh) 用于移动应用声誉的众包的系统和方法
Calciati et al. Automatically granted permissions in Android apps: An empirical study on their prevalence and on the potential threats for privacy
KR101410255B1 (ko) 애플리케이션 파일의 잠재적인 위험성 판별 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
CN104424423A (zh) 应用程序的权限确定方法和装置
JP2012008732A (ja) インストール制御装置およびプログラム
CN110858247A (zh) 安卓恶意应用检测方法、系统、设备及存储介质
CN111177720A (zh) 基于大数据生成威胁情报的方法、装置及可读存储介质
KR101605783B1 (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
KR101990979B1 (ko) 변조/복제 애플리케이션 판별을 위한 시스템 및 방법
JP5851311B2 (ja) アプリケーション検査装置
KR101462669B1 (ko) 광고 네트워크 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101494431B1 (ko) 모바일 애플리케이션 파일 조작 여부 탐지 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR102658869B1 (ko) 사용자에게 제공된 웹사이트 검증 방법 및 시스템
CN115022096B (zh) 下载软件方法和装置
KR101472073B1 (ko) 악의적인 메시지 검출 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180405

Year of fee payment: 5