KR101256462B1 - 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법 - Google Patents

모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR101256462B1
KR101256462B1 KR1020120085615A KR20120085615A KR101256462B1 KR 101256462 B1 KR101256462 B1 KR 101256462B1 KR 1020120085615 A KR1020120085615 A KR 1020120085615A KR 20120085615 A KR20120085615 A KR 20120085615A KR 101256462 B1 KR101256462 B1 KR 101256462B1
Authority
KR
South Korea
Prior art keywords
forgery
application
forgery detection
code
verification
Prior art date
Application number
KR1020120085615A
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 KR1020120085615A priority Critical patent/KR101256462B1/ko
Application granted granted Critical
Publication of KR101256462B1 publication Critical patent/KR101256462B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 위변조 탐지 서비스와의 연동을 통해 모바일 단말기 내 설치된 애플리케이션에 대한 위변조 여부를 판단할 수 있다는 것입니다.
이를 위하여, 본 발명은 위변조 탐지용 코드를 제공하며, 애플리케이션 서버와의 연동을 통해 배포되는 애플리케이션 파일에 관련된 원본 데이터를 애플리케이션 서버로부터 전송받아 저장하는 위변조 탐지 서비스 서버와, 위변조 탐지 서비스 서버로부터 위변조 탐지용 코드를 제공받으며, 위변조 탐지용 코드를 실행을 통해 애플리케이션의 위변조 여부를 판단하기 위한 검증용 데이터를 생성하며, 생성된 검증용 데이터와 애플리케이션의 정보를 상기 위변조 탐지 서비스 서버에 전송하는 모바일 단말기를 제공한다.

Description

모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법{SYSTEM, APPARATUS AND METHOD FOR DETECTING FORGE A MOBILE APPLICATION}
본 발명은 애플리케이션의 위변조를 감지하여 차단하기 위한 것으로, 더욱 상세하게는 위변조 탐지 서비스 서버로부터 위변조 탐지용 코드를 제공받고, 위변조 탐지용 코드에 의해 생성된 검증용 데이터를 위변조 탐지 서비스 서버에 전송한 후 이에 대한 응답으로 검증 결과를 수신하여 애플리케이션에 대한 위변조 여부를 판단할 수 있는 모바일 애플리케이션의 위변조 탐지 시스템, 장치 및 방법에 관한 것이다.
근래 들어, 스마트폰, 개인휴대정보단말기(PDA: Personal Digital Assistant), 와이브로(WiBro) 단말기 등이 널리 보급되면서 이러한 휴대 단말기들은 현대인의 생활 필수품으로 자리매김하고 있다. 많은 사람들이 휴대 단말기(mobile device)를 이용하여 서로 안부를 묻고 정보를 교환하며 음성 및 데이터 통신을 통하여 업무상 중요한 정보를 교환하기도 한다.
그런데, 휴대 단말기의 하드웨어의 기능이 확대되고 고급화되면서 휴대 단말기에서 수행되는 애플리케이션(응용프로그램)이 다양해지고 복잡해져 감에 따라 기존에 컴퓨터를 공격하던 악성코드가 휴대 단말기에도 심각한 폐해를 일으킬 가능성이 높아지고 있다. 특히 무선 휴대 인터넷 서비스가 확산되는 추세에 따라 기존 컴퓨터용 응용 프로그램의 취약성을 공격하는 악성코드에 더하여 블루투스(Bluetooth), MMS(MMS: Multimedia Messaging System) 등 휴대 단말기용 응용 프로그램 및 서비스의 취약점을 공격하는 모바일 악성코드(mobile malware)가 등장하고 있다.
특히, 오픈 소스 기반의 모바일 플랫폼에서는 위변조된 애플리케이션을 실행시킬 경우 그 과정에서 여러 가지 공격에 노출된다. 예를 들어, 사용자가 루팅을 통해 휴대 단말기의 어드민(admin) 권한을 획득한 경우 보안성이 떨어지기 때문에 여러 가지 공격에 노출될 수 있으며, 애플의 iOS의 실행 환경에서도 "jailbreak"라는 기법을 이용하여 애플리케이션의 실행 환경이 공격에 노출되고 있다.
최근에, 휴대 단말기를 이용한 모바일 뱅킹 애플리케이션이 널리 보급되고 있으며, 이러한 모바일 뱅킹 애플리케이션의 보급에 맞춰서 뱅킹의 인증 정보와 같은 각종 중요 정보가 위변조 애플리케이션의 실행에 의해 유출되고 있다.
이런 이유로, 최근 루팅 또는 "jailbreak"라는 기법을 감지하는 모듈을 애플리케이션 설치 시 제공하며, 상기 모듈을 통해 루팅이나 "jailbreak"라는 기법을 감지될 때 해당 애플리케이션의 서비스를 제공하지 않는 방법이 개발되었다.
그러나, 이러한 방법은 단순히 루팅이나 "jailbreak"라는 기법만을 감지할 뿐 애플리케이션의 위변조 여부를 감지할 수 없는 단점이 있을 뿐만 아니라 공격자에 의해 상기 모듈이 변경되는 경우 해당 기능을 제대로 수행하지 못하는 단점이 있다.
삼성에스디에스(공개특허 제10-2010-0112255호)의 "휴대 단말기에서의 시스템 온칩 기반의 악성 코드 검출 장치"에는 휴대 단말기로 유입되는 악성 코드를 검출할 수 있는 기술이 기재되어 있다.
본 발명의 목적은 위변조 탐지 서비스 서버와의 연동을 통해 위변조 탐지용 코드를 다운받고, 위변조 탐지용 코드에 의해 생성된 검증용 데이터를 위변조 탐지 서비스 서버에 전송하여 검증 결과를 수신함으로써, 애플리케이션의 위변조를 동적으로 감시할 수 있는 모바일 애플리케이션의 위변조 탐지 시스템 및 방법을 제공하는데 있다.
또한, 본 발명은 위변조 탐지 서비스 서버에 임의의 애플리케이션에 대한 검증을 요청하여 위변조 탐지용 코드를 수신하고, 이를 기반으로 검증용 데이터를 위변조 탐지 서비스 서버에 전송한 후 이에 대한 응답으로 검증 결과를 수신하여 임의의 애플리케이션에 대한 위변조 여부를 판단함으로써, 애플리케이션 자체의 위변조를 감지할 수 있는 모바일 애플리케이션의 위변조 탐지 장치 및 방법을 제공하는데 있다.
또한, 본 발명은 모바일 단말기로부터 검증 요청이 있을 경우 위변조 탐지용 코드를 생성하여 제공하며, 위변조 탐지용 코드의 실행에 따라 생성된 검증용 데이터를 이용하여 검증 결과를 모바일 단말기 또는 애플리케이션 서버에 제공할 수 있는 모바일 애플리케이션의 위변조 탐지 서비스 서버를 제공하는데 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 관점에 따르면, 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치는 임의의 애플리케이션에 대한 위변조를 검사하기 위한 위변조 탐지용 코드를 위변조 탐지 서비스 서버에 요청하는 코드 요청부와, 상기 위변조 탐지용 코드를 수신한 후 이를 실행하여 상기 임의의 애플리케이션에 대한 검증용 데이터를 생성하며, 상기 생성된 검증용 데이터를 상기 위변조 탐지 서버에 전송하는 검증용 데이터 생성부와, 상기 위변조 탐지 서비스 서버로부터 검증용 데이터에 대응되는 검증 결과를 수신한 후 이를 기반으로 상기 임의의 애플리케이션에 대한 실행 요청을 처리하는 처리부를 포함할 수 있다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 코드 요청부는, 상기 임의의 애플리케이션에 대한 실행 요청이 있거나 기 설정된 시간 간격 또는 상기 임의의 애플리케이션이 업데이트될 때 상기 위변조 탐지용 코드를 상기 위변조 탐지 서비스 서버에 요청하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 코드 요청부는, 상기 임의의 애플리케이션이 설치될 때 상기 임의의 애플리케이션을 배포하는 애플리케이션 서버로부터 제공받아 설치되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 검증용 데이터 생성부는, 상기 위변조 탐지용 코드의 실행을 통해 상기 임의의 애플리케이션에 대응되는 실행 파일에 전체 또는 특정 부분을 추출한 후 이를 기반으로 상기 검증용 데이터를 생성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 검증용 데이터는, 상기 추출된 전체 또는 특정 부분에 대한 해쉬 값인 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 위변조 탐지용 코드는, 상기 검증용 데이터를 추출하기 위한 적어도 하나 이상의 함수로 정의되어 있으며, 상기 함수 내 각각의 코드는, 상기 임의의 애플리케이션이 설치될 때 상기 모바일 단말기에 설치되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 처리부는, 상기 검증 결과에 의거하여 상기 임의의 애플리케이션을 삭제하거나 실행을 차단하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치는 모바일 단말기의 요청에 따라 애플리케이션의 위변조를 검사하기 위한 위변조 탐지용 코드를 생성하여 제공하는 코드 생성부와, 애플리케이션 서버에서 배포되는 애플리케이션 파일에 관련된 원본 데이터가 저장된 원본 데이터베이스와, 상기 모바일 단말기에서 위변조 탐지용 코드의 실행에 따라 생성된 검증용 데이터를 수신하며, 상기 원본 데이터베이스에서 상기 애플리케이션의 원본 데이터를 검색한 후 상기 검색된 원본 데이터와 상기 검증용 데이터를 이용하여 상기 애플리케이션에 대한 위변조 여부의 검증 결과를 상기 모바일 단말기 또는 애플리케이션 서버에 제공하는 위변조 검증 수행부를 포함할 수 있다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 코드 생성부는, 상기 모바일 단말기의 요청이 있을 때마다 서로 다른 위변조 탐지용 코드를 생성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 코드 생성부는, 상기 애플리케이션의 버전별 위변조 검출 횟수 또는 배포 비율 또는 네트워크 성능 또는 서버 부하 상태 중 적어도 하나 이상을 고려하여 탐지 방식을 설정하고, 상기 설정된 탐지 방식이 적용된 위변조 탐지용 코드를 생성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 탐지 방식은, 상기 애플리케이션의 실행 파일 고정된 특정 정보를 추출하는 방식 또는 해쉬 알고리즘 변경 방식 또는 해쉬 값 길이를 변경하는 방식을 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 코드 생성부는, 상기 모바일 단말기의 요청 시 수신되는 상기 애플리케이션의 버전 정보에 해당되는 요청 횟수 또는 배포 횟수를 상기 원본 데이터베이스에서 검색하며, 상기 검색된 요청 횟수 또는 배포 횟수에 의거하여 파일 접근 범위가 서로 다른 위변조 탐지용 코드를 생성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 장치에서 상기 위변조 검증 수행부는, 상기 검증 결과를 상기 애플리케이션을 배포한 애플리케이션 서버에 전달하며, 상기 애플리케이션 서버는, 상기 모바일 단말기로부터 애플리케이션의 실행에 따른 서비스 요청이 있을 경우 상기 검증 결과에 의거하여 상기 서비스 요청을 거절하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 시스템은, 외부의 요청에 따라 위변조 탐지용 코드를 제공하며, 애플리케이션 서버와의 연동을 통해 배포되는 애플리케이션 파일에 관련된 원본 데이터를 상기 애플리케이션 서버로부터 전송받아 저장하는 위변조 탐지 서비스 서버와, 상기 위변조 탐지 서비스 서버로부터 위변조 탐지용 코드를 제공받으며, 상기 위변조 탐지용 코드를 실행을 통해 애플리케이션의 위변조 여부를 판단하기 위한 검증용 데이터를 생성하며, 상기 생성된 검증용 데이터와 상기 애플리케이션의 정보를 상기 위변조 탐지 서비스 서버에 전송하는 모바일 단말기를 포함하며, 상기 위변조 탐지 서비스 서버는, 상기 애플리케이션의 정보에 대응되는 원본 데이터와 상기 검증용 데이터를 이용하여 상기 애플리케이션에 대한 위변조 여부를 판단한 후 이를 상기 모바일 단말기에 제공하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 방법은 모바일 단말기에서 임의의 애플리케이션에 대한 위변조를 검사하기 위한 위변조 탐지용 코드를 위변조 탐지 서비스 서버에 요청하는 단계와, 상기 위변조 탐지용 코드를 수신한 후 이를 실행하여 상기 임의의 애플리케이션에 대한 검증용 데이터를 생성하는 단계와, 상기 생성된 검증용 데이터를 상기 위변조 탐지 서버에 전송하는 단계와, 상기 위변조 탐지 서비스 서버로부터 검증용 데이터에 대응되는 검증 결과를 수신한 후 이를 기반으로 상기 임의의 애플리케이션에 대한 위변조 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 방법에서 상기 위변조 탐지용 코드를 위변조 탐지 서비스 서버에 요청하는 단계는, 상기 임의의 애플리케이션에 대한 실행 요청이 있거나 기 설정된 시간 간격 또는 상기 임의의 애플리케이션이 업데이트될 때 상기 위변조 탐지용 코드를 상기 위변조 탐지 서비스 서버에 요청할 수 있다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 방법에서 상기 검증용 데이터를 생성하는 단계는, 상기 위변조 탐지용 코드의 실행을 통해 상기 임의의 애플리케이션에 대응되는 실행 파일에 전체 또는 특정 부분을 추출한 후 이를 기반으로 상기 검증용 데이터를 생성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 방법은 상기 검증 결과 상기 임의의 애플리케이션이 위변조된 경우, 상기 임의의 애플리케이션을 삭제하거나 실행을 차단하는 단계를 포함할 수 있다.
본 발명의 또 다른 측면에 따르면, 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 탐지 방법은 위변조 탐지 서비스 서버에서 모바일 단말기로부터 임의의 애플리케이션에 대한 검증 요청을 수신하는 단계와, 상기 검증 요청에 따라 상기 임의의 애플리케이션의 위변조를 검사하기 위한 위변조 탐지용 코드를 생성하여 상기 모바일 단말기에 제공하는 단계와, 상기 모바일 단말기로부터 위변조 탐지용 코드의 실행에 따라 생성된 검증용 데이터를 수신하는 단계와, 기 저장된 임의의 애플리케이션의 원본 데이터와 상기 검증용 데이터를 이용하여 상기 임의의 애플리케이션에 대한 위변조 여부의 검증 결과를 생성하는 단계와, 상기 검증 결과를 상기 모바일 단말기에 제공하는 단계를 포함할 수 있다.
본 발명은 위변조 탐지 서비스 서버와의 연동을 통해 위변조 탐지용 코드를 제공받아 애플리케이션에 대한 검증을 수행함으로써, 위변조된 애플리케이션의 실행을 사전에 차단할 수 있어 위변조된 애플리케이션에 의한 중요한 정보 유출을 막을 수 있는 효과가 있다.
또한, 본 발명은 서로 다른 위변조 탐지용 코드를 변경하여 제공하기 때문에 검증용 데이터에 대한 보안성을 높일 수 있다.
본 발명은 애플리케이션의 실행 파일 전체 부분이 아닌 일부분만을 이용하여 검증용 데이터를 생성하기 때문에 검증용 데이터의 용량을 최소화시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 방지 시스템을 도시한 블록도,
도 2는 본 발명의 실시 예에 적용되는 위변조 탐지용 코드를 설명하기 위한 도면,
도 3a 및 도 3b는 본 발명의 실시 예에서 검증용 데이터 생성 과정을 설명하기 위한 도면,
도 4는 본 발명의 일 실시 예에 따른 모바일 단말기에 설치된 애플리케이션의 위변조 여부를 탐지하기 위한 과정을 도시한 흐름도,
도 4는 본 발명의 다른 실시 예에 따른 모바일 단말기에 설치된 애플리케이션의 위변조 여부를 탐지하기 위한 과정을 도시한 흐름도이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술 요지는 모바일 플랫폼 내부에서만 동작하는 기존의 루팅 및 jailbreak 탐지 루틴의 한계를 벗어나 동적으로 생성된 위변조 검증 코드를 제공받아 이를 이용하여 애플리케이션(앱 : APP)의 위변조 여부를 판단할 수 있도록 한다는 것이다. 이하, 첨부된 도면을 참조하여 이러한 기술적 요지에 대해 설명한다.
도 1은 본 발명의 실시 예에 따른 모바일 애플리케이션의 위변조 방지 시스템을 도시한 블록도이다.
도 1에 도시된 바와 같이, 모바일 애플리케이션의 위변조 방지 시스템은 모바일 단말기(200), 위변조 탐지 서비스 서버(100) 및 애플리케이션 서버(300) 등을 포함할 수 있다.
먼저, 위변조 탐지 서비스 서버(100)는 모바일 단말기(200)의 요청에 따라 위변조 탐지용 코드(200a)를 모바일 단말기(200)로 전송하며, 애플리케이션 서버(300)와의 연동을 통해 다양한 버전에 대한 애플리케이션 정보를 제공받을 수 있다. 여기에서, 애플리케이션 정보는 애플리케이션을 실행하기 위한 버전별 원본 데이터를 의미할 수 있다.
또한, 위변조 탐지 서비스 서버(100)는 위변조 탐지용 코드(200a)의 전송에 따른 응답으로 수신한 검증용 데이터를 기반으로 모바일 단말기(200) 내 설치된 애플리케이션의 위변조 여부를 검증하며, 검증 결과를 애플리케이션 서버(300)에 제공할 수 있다.
한편, 위변조 탐지 서비스 서버(100)는 모바일 단말기(200)로부터 요청이 있을 때마다 서로 다른 탐지 방식이 적용된 위변조 탐지용 코드(200a)를 생성한 후 이를 모바일 단말기(200)로 전송할 수 있다. 여기에서, 위변조 탐지용 코드(200a)에 적용되는 탐지 방식의 예로는 해당 애플리케이션의 실행 파일의 고정된 특정 정보, 예컨대 안드로이드 플랫폼에서 APK Signing 정보, 압축 메타 정보를 추출하는 방식, 해쉬 알고리즘, 해쉬 값 길이를 변경하는 방식, 접근 범위 조절하는 방식 등을 들 수 있다.
또한, 위변조 탐지 서비스 서버(100)는 각 버전별 위변조 검출 횟수, 배포 비율, 배포 횟수, 네트워크 상태, 서버 상태 등을 고려하여 상기의 탐지 방식을 적용하여 위변조 탐지용 코드(200a)를 생성할 수 있다. 예를 들어, 위변조 검출 횟수, 배포 비율, 배포 횟수가 많은 경우에는 해당 버전이 중요도가 높기 때문에 해쉬 값 길이를 길게 설정하거나, 접근 범위가 넓은 탐지 방식이 적용된 위변조 탐지용 코드(200a)를 생성한다.
이와 같이 위변조 탐지 서비스 서버(100)가 버전별 정보를 기반으로 탐지 방식을 설정하여 위변조 탐지용 코드(200a)를 생성하는 것에 대해 상세히 설명하면 아래와 같다.
먼저, 위변조 탐지 서비스 서버(100)는 애플리케이션의 각 버전별 위변조 검출 횟수를 카운트하고, 이를 기반으로 서로 다른 탐지 방식의 위변조 탐지용 코드(200a)를 생성할 수 있다. 예를 들어, 위변조 횟수가 많은 버전의 애플리케이션의 경우에는 위변조 탐지용 코드(200a)의 파일 접근 범위를 넓거나 해쉬 값 길이를 길게 설정한 탐지 방식을 적용하여 위변조 탐지용 코드(200a)가 생성되고, 그렇지 않을 경우에는 위변조 탐지용 코드(200a)의 파일 접근 범위를 작거나, 해쉬 값 길이를 짧게 설정하는 탐지 방식으로 위변조 탐지용 코드(200a)가 생성될 수 있다.
한편, 위변조 탐지 서비스 서버(100)는 버전별 애플리케이션 배포 정보를 애플리케이션 서버(300)로부터 수신하며, 배포 정보를 기반으로 서로 다른 탐지 방식이 적용된 위변조 탐지용 코드(200a)를 생성할 수 있다. 즉, 배포 횟수 또는 배포 비율이 높은 애플리케이션의 버전에 대해서는 파일 접근 범위가 기 설정된 범위보다 넓거나 해쉬 값 길이기 길게 설정된 탐지 방식을 적용하여 위변조 탐지용 코드(200a)를 생성하며, 그렇지 않을 경우에는 파일 접근 범위가 작거나 해쉬 값 길이가 짧은 설정된 탐지 방식을 적용하여 위변조 탐지용 코드(200a)를 생성할 수 있다. 여기에서, 배포 정보는 배포 횟수 또는 전체 배포 횟수 대비 각 버전별 배포 횟수인 버전별 배포 비율이 될 수 있다.
또한, 위변조 탐지 서비스 서버(100)는 네트워크 상태, 즉 모바일 단말기(200)와 위변조 탐지 서버(100)간의 네트워크 연결 속도, 연결 여부 등 또는 위변조 탐지 서비스 서버(100)의 성능, 부하 등을 고려하여 위변조 탐지용 코드(200a)를 생성할 수 있다. 예를 들어, 네트워크 연결 속도 또는 성능 상태가 좋지 않을 경우 비교적 간단한 탐지 방식을 적용한 위변조 탐지용 코드(200a)를 생성하고, 그렇지 않을 경우 비교적 복잡한 탐지 방식을 위변조 탐지용 코드(200a)를 생성할 수 있다.
이러한 동작을 위해 위변조 탐지 서비스 서버(100)는 모바일 단말기(200)의 요청이 있을 경우 위변조 탐지용 코드(200a)를 생성하기 위한 코드 생성부(110), 원본 데이터베이스(120), 위변조 검증 수행부(130), 암호화 및 복호화부(140)등을 구비할 수 있다.
위변조 탐지 서비스 서버(100)에서 코드 생성부(110)는 모바일 단말기(200)의 요청에 따라 해당 애플리케이션의 위변조 여부를 검사하기 위한 위변조 탐지용 코드(200a)를 생성할 수 있다. 이렇게 생성된 위변조 탐지용 코드(200a)는 모바일 단말기(200)에 전송될 수 있다. 여기에서, 위변조 탐지용 코드(200a)에는 해당 애플리케이션의 실행 파일의 일부분에 접근한 후 접근한 일부분에 대한 소정의 특징 값, 예컨대 해쉬 값을 추출할 수 있는 기능이 탐지되어 있다. 따라서, 위변조 탐지용 코드(200a)를 수신한 모바일 단말기(200)에서는 파일 시스템에 접근하여 해당 애플리케이션의 실행 파일 일부분을 추출한 후 추출된 실행 파일의 일부분에 대한 해쉬 값을 추출하여 위변조 탐지 서비스 서버(100)에 전송할 수 있다.
이러한 위변조 탐지용 코드(200a)에는 해당 애플리케이션의 실행 파일의 접근 범위가 설정되어 있다. 또한, 위변조 탐지용 코드(200a)는, 도 2에 도시된 바와 같이, 검증용 데이터를 추출하기 위한 다수의 함수만 정의되어 있으며, 함수에 관련된 각 스크립트 코드는 애플리케이션 서버(300)에 의해 해당 애플리케이션이 배포될 때 해당 애플리케이션에 포함되어 배포될 수 있다. 이를 통해 모바일 환경에서의 모바일 단말기(200)의 제한된 성능과 네트워크 전송량을 경량화시킬 수 있다.
다수의 함수의 예로는 파일읽기(filereader), 암호화(encrypt) 및 해쉬(hash) 함수 등을 들 수 있으나, 이에 한정하지는 않는다.
원본 데이터베이스(120)에는 다수의 애플리케이션 서버(300)와의 연동을 통해 배포되는 애플리케이션의 버전별 원본 데이터가 저장되어 있다.
또한, 원본 데이터베이스(120)에는 다수의 모바일 단말기(200)에 설치된 애플리케이션의 설치 현황, 위변조가 이루어지는 시각, 횟수, 빈도, 애플리케이션의 버전별 요청 횟수, 각 버전별 배포 횟수, 배포 비율, 네트워크 상태, 위변조 탐지 서비스 서버(100)의 성능 부하 등의 다양한 정보가 저장되어 있다. 여기에서, 배포 비율은 애플리케이션의 전체 배포 횟수와 각 버전별 배포 횟수를 기반으로 산출될 수 있으며, 애플리케이션 서버(300)로부터 제공받을 수 있다.
한편, 코드 생성부(110)는 모바일 단말기(200)로부터 애플리케이션의 버전 정보를 수신하며, 수신된 버전 정보와 원본 데이터베이스(120)에 저장된 정보를 기반으로 위변조 탐지용 코드(200a)의 탐지 방식을 설정할 수 있다. 예를 들어, 코드 생성부(110)는 위변조 탐지를 위한 애플리케이션의 버전에 대한 위변조 검출 횟수, 배포 비율 등을 원본 데이터베이스(120)에서 검색하며, 검색된 위변조 검출 횟수 또는 배포 비율에 의거하여 탐지 방식을 적용하여 위변조 탐지용 코드(200a)를 생성할 수 있다.
위변조 검증 수행부(130)는 위변조 탐지용 코드(200a)의 송신에 따라 모바일 단말기(200)로부터 검증용 데이터가 수신되면, 검증용 데이터와 데이터베이스(120)에 저장된 원본 데이터를 이용하여 애플리케이션의 위변조 여부를 검증할 수 있다. 여기에서, 검증용 데이터는 위변조 검사 요청한 애플리케이션의 실행 파일 일부분에 대한 특징 값이며, 그 예로서 해쉬 값을 들 수 있으나, 이에 한정하지는 않는다.
즉, 위변조 검증 수행부(130)는 위변조 탐지용 코드(200a)의 파일 접근 범위에 해당되는 부분을 원본 데이터에서 추출한 후 추출된 부분에 대한 해쉬 값과 검증용 데이터간의 비교를 통해 애플리케이션의 위변조 여부를 검증할 수 있다. 위변조 검증 수행부(130)에서 계산한 해쉬 값과 검증용 데이터가 다른 경우 애플리케이션이 위변조 되었음을 의미할 수 있다.
또한, 위변조 검증 수행부(130)는 위변조 여부의 검증 결과를 애플리케이션 서버(300)에 전송할 수 있다. 이때, 애플리케이션 서버(300)는 검증 결과에 의거하여 모바일 단말기(200)로부터 애플리케이션 실행을 위해 서비스 요청이 있을 경우 이를 차단함으로써, 모바일 단말기(200)에서의 애플리케이션 실행을 차단할 수 있다.
한편, 위변조 검증 수행부(130)는 검증 결과를 모바일 단말기(200)에 전송할 수 있는데, 이 경우 모바일 단말기(200)는 검증 결과에 의거하여 해당 애플리케이션을 삭제하거나 실행을 차단할 수 있다.
암호화 및 복호화부(140)는 위변조 탐지용 코드(200a)를 모바일 단말기(200)에 전송하거나 애플리케이션 서버(300)에 위변조 탐지 결과를 전송할 때 해당 데이터를 암호화하여 전송하며, 모바일 단말기(200) 또는 애플리케이션 서버(300)로부터 암호화된 데이터를 수신할 경우 이를 복호화할 수 있다. 여기에서, 암호화 및 복호화의 예로는 대칭키 기반을 들 수 있으나, 이에 한정하지는 않는다.
모바일 단말기(200)에는 애플리케이션 서버(300)와의 연동을 통해 다수의 애플리케이션이 설치되어 있으며, 다수의 애플리케이션 중 선택적으로 위변조 여부를 검사하기 위한 요청을 위변조 탐지 서비스 서버(100)에 요청하여 위변조 탐지용 코드(200a)를 전송받을 수 있다.
또한, 모바일 단말기(200)는 위변조 탐지용 코드(200a)가 수신되면, 이를 실행시켜 검증용 데이터를 생성한 후 이를 위변조 탐지 서비스 서버(100)에 전송한 후 이에 대한 응답으로 해당 애플리케이션의 위변조 여부에 대한 검증 결과를 전송받을 수 있다.
한편, 모바일 단말기(200)는 검증 결과에 의거하여 해당 애플리케이션의 사용을 차단할 수 있다.
이러한 기능을 위해 본 발명의 실시 예에 따른 모바일 단말기(200)에는 파일 시스템 영역(210), 코드 요청부(220), 검증용 데이터 추출부(230), 처리부(240) 등을 포함할 수 있다. 여기에서, 코드 요청부(220)는 애플리케이션이 설치될 때 해당 애플리케이션에 포함되어 있을 수 있으며, 애플리케이션 설치 시 동시에 모바일 단말기(200)에 설치될 수 있다.
이러한 코드 요청부(220)는 애플리케이션이 실행될 때 동시에 실행될 수 있다.
한편, 모바일 단말기(200)는 위변조 탐지 서비스 서버(100)로부터 제공받은 위변조 탐지용 코드(200a)가 실행될 때 필요한 스크립트 코드를 애플리케이션 설치 시 동시에 설치할 수 있다. 이러한 위변조 탐지용 코드(200a)에 기능이 추가되거나 업그레이되는 경우 스크립트 코드 또한 업데이트가 필요할 수 있는데, 이 경우 애플리케이션의 버전이 업그레이드될 때 스크립트 코드를 업데이트시키거나 교체시킬 수 있다.
파일 시스템 영역(210)에는 애플리케이션 파일이 설치될 때 파일들의 파일들이 저장매체(미도시됨)에 저장된 위치 정보가 저장되어 있다.
코드 요청부(220)는 기 설정된 간격 또는 애플리케이션에 대한 실행 요청 또는 애플리케이션이 업데이트될 경우 해당 애플리케이션의 위변조 여부를 판단하기 위한 위변조 탐지용 코드(200a)를 위변조 탐지 서비스 서버(100)에 요청할 수 있다.
검증용 데이터 추출부(230)는 위변조 탐지용 코드(200a)가 수신되면, 위변조 탐지용 코드(200a)를 실행시킬 수 있다. 이러한 위변조 탐지용 코드(200a)는 실행을 통해 파일 시스템 영역(210)에 접근하여 해당 애플리케이션의 실행 파일을 추출하고, 추출된 실행 파일의 소정 부분 또는 전체에 대한 특징 값, 예컨대 해쉬 값을 계산하여 검증용 데이터를 생성할 수 있다.
위변조 탐지용 코드(200a)가 검증용 데이터를 생성하는 예에 대해 도 3a 및 도 3b를 참조하여 설명한다.
위변조 탐지용 코드(200a)는 도 3a에 도시된 바와 같이, 실행 파일을 파일 시스템 영역(210)에서 추출한 후 애플리케이션 실행에 필수 코드를 추출하고, 필수 코드를 제외한 나머지 부분을 다수 개, 즉 R1, R2, R3, R4, R5, R6 등으로 분할하고, 분할된 다수개의 부분 중 적어도 하나 이상을 선택, 예컨대 R1, R2, R5을 선택한다.
그런 다음, 도 3b에 도시된 바와 같이, 위변조 탐지용 코드(200a)는 필수 코드 부분과 선택된 부분인 R1, R2, R5에 대한 해쉬 값을 생성함으로써, 검증용 데이터를 생성할 수 있다.
검증용 데이터 추출부(230)는 검증용 데이터를 위변조 탐지 서비스 서버(100)에 전송할 수 있다.
상술한 바와 같이, 해당 애플리케이션의 검증용 데이터를 생성할 때 필수 코드 부분을 제외한 영역을 다수 개로 분할하고, 분할된 다수 개의 영역 중 위변조 탐지용 코드(200a)가 지시하는 부분을 선택하여 검증용 데이터를 생성함으로써, 다양한 패턴의 검증용 데이터를 생성할 수 있다.
처리부(240)는 검증용 데이터를 위변조 탐지 서비스 서버(100)에 전송한 후 이에 대한 응답으로 위변조 검증 결과를 수신하며, 수신된 위변조 검증 결과를 이용하여 애플리케이션의 실행 여부를 처리할 수 있다. 즉, 해당 애플리케이션이 위변조된 경우에는 애플리케이션을 삭제하거나 애플리케이션의 실행을 차단할 수 있다.
한편, 모바일 단말기(200)는 검증용 데이터를 생성할 때 암호화하여 생성할 수 있으며, 암호화된 데이터가 위변조 탐지 서비스 서버(100)로부터 수신되면 암호화된 데이터를 복호화할 수 있다. 이를 위하여 본 발명의 실시 예에 따른 모바일 단말기(200)는 암호화 및 복호화를 수행할 수 있는 모듈(미도시됨)을 더 구비할 수 있다.
애플리케이션 서버(300)는 위변조 탐지 서비스 서버(100)에 버전별 애플리케이션의 실행 파일, 즉 원본 데이터를 제공할 수 있으며, 애플리케이션의 버전별 배포 현황 정보를 위변조 탐지 서비스 서버(100)에 제공할 수 있다.
또한, 애플리케이션 서버(300)는 위변조 탐지 서비스 서버(100)로부터 위변조된 애플리케이션이 설치된 모바일 단말기(200)의 정보와 해당 애플리케이션의 버전 정보 등을 저장하고 있는 검증용 데이터베이스(310)를 구비할 수 있다.
한편, 애플리케이션 서버(300)는 임의의 모바일 단말기(200)로부터 애플리케이션의 실행에 따라 서비스 요청이 있을 경우 검증용 데이터베이스(310)에 저장된 정보를 기반으로 서비스 요청을 처리할 수 있다. 즉, 애플리케이션 서버(300)는 임의의 모바일 단말기(200)에 설치된 애플리케이션이 위변조된 경우라면 서비스 요청에 응답으로 서비스 이용 불가 메시지를 전송할 수 있다.
또한, 애플리케이션 서버(300)는 모바일 단말기(200)의 애플리케이션 설치 요청이 있을 경우 애플리케이션 설치에 필요한 설치 파일뿐만 아니라 위변조 탐지용 코드(200a) 내 정의된 함수 실행에 필요한 코드를 전송할 수 있다. 여기에서, 코드의 예로는 스크립트 코드를 들 수 있으나, 이에 한정하지 않는다.
상기와 같은 구성을 갖는 위변조 방지 시스템이 동작하는 과정에 대해 도 4를 참조하여 설명한다.
도 4는 본 발명의 실시 예에 따른 모바일 애플리케이션이 위변조되는 경우 이를 처리하는 과정을 도시한 흐름도이다.
도 4에 도시된 바와 같이, 모바일 단말기(200)에 설치된 다수의 애플리케이션 중 어느 하나의 애플리케이션(이하, 검증 애플리케이션이라고 함)에 대한 검증 요청이 있는 경우, 모바일 단말기(200) 내 코드 요청부(220)는 위변조 탐지용 코드(200a)를 위변조 탐지 서비스 서버(100)에 요청한다(S400).
이에 따라, 위변조 탐지 서비스 서버(100)의 코드 생성부(120)는 위변조 탐지용 코드(200a)를 생성(S402)한 후 이를 모바일 단말기(200)에 전송한다(S404). 이때, 위변조 탐지용 코드(200a)는 대칭키 기반으로 암호화되어 모바일 단말기(200)에 전송될 수 있다.
이후, 모바일 단말기(200)는 암호화된 위변조 탐지용 코드(200a)를 복호화한 후 검증용 데이터 생성부(230)를 이용하여 복호화된 위변조 탐지용 코드를 실행(S406)시킨다.
검증용 데이터 생성부(230)에 의해 실행된 위변조 탐지용 코드(200a)는 파일 시스템 영역(210)에 접근하여 검증 애플리케이션의 실행 파일을 추출하고, 추출된 실행 파일 영역 중 실행 코드 부분을 제외한 영역을 소정 개수로 분할한 후 분할된 영역 중 적어도 하나 이상을 선택한다. 위변조 탐지용 코드(200a)는 선택된 영역과 실행 코드 부분에 대한 해쉬 값을 계산(S408)한 후 이를 검증용 데이터로 반환한다. 이에 따라, 검증용 데이터 생성부(230)는 검증용 데이터를 위변조 탐지 서비스 서버(100)에 전송한다(S410).
위변조 탐지 서비스 서버(100)의 위변조 검증 수행부(130)는 원본 데이터베이스(110)에 저장된 검증 애플리케이션의 원본 데이터를 이용하여 원본 데이터에 대한 해쉬 값을 계산하며, 계산된 해쉬 값과 검증용 데이터간의 비교를 수행하여 검증 결과를 생성한다(S412).
그런 다음, 위변조 검증 수행부(130)는 검증 결과를 모바일 단말기(200)에 전송한다(S414).
모바일 단말기(200)의 처리부(240)는 검증 결과에 따라 검증 애플리케이션을 삭제하거나 검증 애플리케이션에 대한 실행 요청이 있을 경우 이를 차단한다(S416).
본 발명의 실시 예에 따르면, 모바일 단말기(200)에서 검증 애플리케이션에 대한 검증 결과를 위변조 탐지 서비스 서버(100)로부터 제공받은 후 이를 기반으로 검증 애플리케이션을 삭제하거나 실행 요청을 차단하는 것으로 예를 들어 설명하였지만, 애플리케이션 서버(300)를 통해 검증 애플리케이션의 실행에 따른 서비스 요청을 차단시킬 수 있다. 이에 대해 도 5를 참조하여 설명한다.
도 5는 본 발명의 다른 실시 예에 따른 모바일 애플리케이션의 위변조 여부를 검증하는 과정을 도시한 흐름도이다.
도 5에 도시된 바와 같이, 모바일 단말기(200)에 설치된 다수의 애플리케이션 중 어느 하나의 애플리케이션(이하, 검증 애플리케이션이라고 함)에 대한 검증 요청이 있는 경우, 모바일 단말기(200) 내 코드 요청부(220)는 위변조 탐지용 코드(200a)를 위변조 탐지 서비스 서버(100)에 요청(S500)한다.
이후, 상기의 도 4에 도시된 바와 같은 단계, 즉 S402에서 S412까지의 동작을 수행하여 검증 애플리케이션에 대한 검증 결과를 생성한다.
그런 다음, 위변조 탐지 서비스 서버(100)는 검증 결과를 애플리케이션 서버(300)에 전송한다(S502). 이에 따라 애플리케이션 서버(300)는 검증 결과와 애플리케이션에 대한 검증을 요청한 모바일 단말기(200)의 정보를 검증용 데이터베이스(310)에 저장한다(S504).
이후, 사용자로부터 검증 애플리케이션에 대한 실행 요청이 있는 경우(S506), 모바일 단말기(200)는 애플리케이션 서버(300)에 서비스를 요청한다(S508).
애플리케이션 서버(300)는 검증용 데이터베이스(310)에서 검증 애플리케이션의 실행을 통해 서비스 요청한 모바일 단말기(200)의 정보에 대응되는 검증 결과를 토대로 서비스 요청에 따라 응답한다. 즉, 검증 결과가 검증 애플리케이션의 위변조 상태라면(S510), 애플리케이션 서버(300)는 서비스 이용 불가 메시지를 모바일 단말기(200)에 전송(S512)하며, 그렇지 않을 경우 검증 애플리케이션에 대한 서비스를 제공한다.
본 발명의 실시 예들에 따르면, 위변조 탐지 서비스 서버(100)를 통해 위변조 탐지용 코드를 제공받아 애플리케이션에 대한 검증을 수행함으로써, 위변조된 애플리케이션의 실행을 사전에 차단할 수 있어 위변조된 애플리케이션에 의한 중요한 정보 유출을 막을 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 당업자는 각 구성요소를 적용 분야에 따라 변경하거나, 개시된 실시형태들을 조합 또는 치환하여 본 발명의 실시 예에 명확하게 개시되지 않은 형태로 실시할 수 있으나, 이 역시 본 발명의 범위를 벗어나지 않는 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것으로 한정적인 것으로 이해해서는 안 되며, 이러한 변형된 실시 예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.
100 : 위변조 탐지 서비스 서버
110 : 코드 생성부 120 : 원본 데이터베이스
130 : 위변조 검증 수행부 140 : 암호화 및 복호화부
200 : 모바일 단말기 210 : 파일 시스템 영역
220 : 코드 요청부 230 : 검증용 데이터 생성부
240 : 처리부 300 : 애플리케이션 서버
310 : 검증용 데이터베이스

Claims (21)

  1. 임의의 애플리케이션에 대한 위변조를 검사하기 위한 위변조 탐지용 코드를 위변조 탐지 서비스 서버에 요청하는 코드 요청부와,
    상기 위변조 탐지용 코드를 수신한 후 이를 실행하여 상기 임의의 애플리케이션에 대한 검증용 데이터를 생성하며, 상기 생성된 검증용 데이터를 상기 위변조 탐지 서버에 전송하는 검증용 데이터 생성부와,
    상기 위변조 탐지 서비스 서버로부터 검증용 데이터에 대응되는 검증 결과를 수신한 후 이를 기반으로 상기 임의의 애플리케이션에 대한 실행 요청을 처리하는 처리부를 포함하는
    모바일 애플리케이션의 위변조 탐지 장치.
  2. 제 1 항에 있어서,
    상기 코드 요청부는,
    상기 임의의 애플리케이션에 대한 실행 요청이 있거나 기 설정된 시간 간격 또는 상기 임의의 애플리케이션이 업데이트될 때 상기 위변조 탐지용 코드를 상기 위변조 탐지 서비스 서버에 요청하는
    모바일 애플리케이션의 위변조 탐지 장치.
  3. 제 1 항에 있어서,
    상기 코드 요청부는,
    상기 임의의 애플리케이션이 설치될 때 상기 임의의 애플리케이션을 배포하는 애플리케이션 서버로부터 제공받아 설치되는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  4. 제 1 항에 있어서,
    상기 검증용 데이터 생성부는, 상기 위변조 탐지용 코드의 실행을 통해 상기 임의의 애플리케이션에 대응되는 실행 파일에 전체 또는 특정 부분을 추출한 후 이를 기반으로 상기 검증용 데이터를 생성하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  5. 제 4 항에 있어서,
    상기 검증용 데이터는, 상기 추출된 전체 또는 특정 부분에 대한 해쉬 값인 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  6. 제 1 항에 있어서,
    상기 위변조 탐지용 코드는, 상기 검증용 데이터를 추출하기 위한 적어도 하나 이상의 함수로 정의되어 있으며,
    상기 함수 내 각각의 코드는, 상기 임의의 애플리케이션이 설치될 때 상기 모바일 단말기에 설치되는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  7. 제 1 항에 있어서,
    상기 처리부는,
    상기 검증 결과에 의거하여 상기 임의의 애플리케이션을 삭제하거나 실행을 차단하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  8. 모바일 단말기의 요청에 따라 애플리케이션의 위변조를 검사하기 위한 위변조 탐지용 코드를 생성하여 제공하는 코드 생성부와,
    애플리케이션 서버에서 배포되는 애플리케이션 파일에 관련된 원본 데이터가 저장된 원본 데이터베이스와,
    상기 모바일 단말기에서 위변조 탐지용 코드의 실행에 따라 생성된 검증용 데이터를 수신하며, 상기 원본 데이터베이스에서 상기 애플리케이션의 원본 데이터를 검색한 후 상기 검색된 원본 데이터와 상기 검증용 데이터를 이용하여 상기 애플리케이션에 대한 위변조 여부의 검증 결과를 상기 모바일 단말기 또는 애플리케이션 서버에 제공하는 위변조 검증 수행부를 포함하는
    모바일 애플리케이션의 위변조 탐지 장치.
  9. 제 8 항에 있어서,
    상기 코드 생성부는,
    상기 모바일 단말기의 요청이 있을 때마다 서로 다른 탐지 방식이 적용된 위변조 탐지용 코드를 생성하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  10. 제 8 항에 있어서,
    상기 코드 생성부는, 상기 애플리케이션의 버전별 위변조 검출 횟수 또는 배포 비율 또는 네트워크 성능 또는 서버 부하 상태 중 적어도 하나 이상을 고려하여 탐지 방식을 설정하고, 상기 설정된 탐지 방식이 적용된 위변조 탐지용 코드를 생성하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  11. 제 10 항에 있어서,
    상기 탐지 방식은,
    상기 애플리케이션 내 실행 파일의 일부분을 추출하는 방식 또는 해쉬 알고리즘 변경 방식 또는 해쉬 값 길이를 변경하는 방식을 포함하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  12. 제 8 항에 있어서,
    상기 위변조 탐지용 코드는,
    상기 애플리케이션의 상기 실행 파일 전체 또는 일부분의 특징 값을 추출하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  13. 제 8 항에 있어서,
    상기 위변조 검증 수행부는,
    상기 검증 결과를 상기 애플리케이션을 배포한 애플리케이션 서버에 전달하며,
    상기 애플리케이션 서버는, 상기 모바일 단말기로부터 애플리케이션의 실행에 따른 서비스 요청이 있을 경우 상기 검증 결과에 의거하여 상기 서비스 요청을 거절하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 장치.
  14. 외부의 요청에 따라 위변조 탐지용 코드를 제공하며, 애플리케이션 서버와의 연동을 통해 배포되는 애플리케이션 파일에 관련된 원본 데이터를 상기 애플리케이션 서버로부터 전송받아 저장하는 위변조 탐지 서비스 서버와,
    상기 위변조 탐지 서비스 서버로부터 위변조 탐지용 코드를 제공받으며, 상기 위변조 탐지용 코드를 실행을 통해 애플리케이션의 위변조 여부를 판단하기 위한 검증용 데이터를 생성하며, 상기 생성된 검증용 데이터와 상기 애플리케이션의 정보를 상기 위변조 탐지 서비스 서버에 전송하는 모바일 단말기를 포함하며,
    상기 위변조 탐지 서비스 서버는, 상기 애플리케이션의 정보에 대응되는 원본 데이터와 상기 검증용 데이터를 이용하여 상기 애플리케이션에 대한 위변조 여부를 판단한 후 이를 상기 모바일 단말기에 제공하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 시스템.
  15. 모바일 단말기에서 임의의 애플리케이션에 대한 위변조를 검사하기 위한 위변조 탐지용 코드를 위변조 탐지 서비스 서버에 요청하는 단계와,
    상기 위변조 탐지용 코드를 수신한 후 이를 실행하여 상기 임의의 애플리케이션에 대한 검증용 데이터를 생성하는 단계와,
    상기 생성된 검증용 데이터를 상기 위변조 탐지 서버에 전송하는 단계와,
    상기 위변조 탐지 서비스 서버로부터 검증용 데이터에 대응되는 검증 결과를 수신한 후 이를 기반으로 상기 임의의 애플리케이션에 대한 위변조 여부를 판단하는 단계를 포함하는
    모바일 애플리케이션의 위변조 탐지 방법.
  16. 제 15 항에 있어서,
    상기 위변조 탐지용 코드를 위변조 탐지 서비스 서버에 요청하는 단계는,
    상기 임의의 애플리케이션에 대한 실행 요청이 있거나 기 설정된 시간 간격 또는 상기 임의의 애플리케이션이 업데이트될 때 상기 위변조 탐지용 코드를 상기 위변조 탐지 서비스 서버에 요청하는
    모바일 애플리케이션의 위변조 탐지 방법.
  17. 제 15 항에 있어서,
    상기 검증용 데이터를 생성하는 단계는,
    상기 위변조 탐지용 코드의 실행을 통해 상기 임의의 애플리케이션에 대응되는 실행 파일에 전체 또는 특정 부분을 추출한 후 이를 기반으로 상기 검증용 데이터를 생성하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 방법.
  18. 제 17 항에 있어서,
    상기 검증용 데이터는, 상기 추출된 전체 또는 특정 부분에 대한 해쉬 값인 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 방법.
  19. 제 15 항에 있어서,
    상기 검증 결과 상기 임의의 애플리케이션이 위변조된 경우, 상기 임의의 애플리케이션을 삭제하거나 실행을 차단하는 단계를 포함하는
    모바일 애플리케이션의 위변조 탐지 방법.
  20. 위변조 탐지 서비스 서버에서 모바일 단말기로부터 임의의 애플리케이션에 대한 검증 요청을 수신하는 단계와,
    상기 검증 요청에 따라 상기 임의의 애플리케이션의 위변조를 검사하기 위한 위변조 탐지용 코드를 생성하여 상기 모바일 단말기에 제공하는 단계와,
    상기 모바일 단말기로부터 위변조 탐지용 코드의 실행에 따라 생성된 검증용 데이터를 수신하는 단계와,
    기 저장된 임의의 애플리케이션의 원본 데이터와 상기 검증용 데이터를 이용하여 상기 임의의 애플리케이션에 대한 위변조 여부의 검증 결과를 생성하는 단계와,
    상기 검증 결과를 상기 모바일 단말기에 제공하는 단계를 포함하는
    모바일 애플리케이션의 위변조 탐지 방법.
  21. 제 20 항에 있어서,
    상기 검증 결과를 상기 임의의 애플리케이션을 배포한 애플리케이션 서버에 전달하는 단계를 더 포함하며,
    상기 애플리케이션 서버는, 상기 모바일 단말기로부터 애플리케이션의 실행에 따른 서비스 요청이 있을 경우 상기 검증 결과에 의거하여 상기 서비스 요청을 거절하는 것을 특징으로 하는
    모바일 애플리케이션의 위변조 탐지 방법.
KR1020120085615A 2012-08-06 2012-08-06 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법 KR101256462B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120085615A KR101256462B1 (ko) 2012-08-06 2012-08-06 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120085615A KR101256462B1 (ko) 2012-08-06 2012-08-06 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101256462B1 true KR101256462B1 (ko) 2013-04-19

Family

ID=48443488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120085615A KR101256462B1 (ko) 2012-08-06 2012-08-06 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101256462B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101537205B1 (ko) * 2014-10-20 2015-07-16 숭실대학교산학협력단 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
KR20150134254A (ko) * 2014-05-21 2015-12-01 단국대학교 산학협력단 서버 및 휴대용 단말의 에플리케이션 보호방법 및 장치
KR20160139914A (ko) * 2015-05-29 2016-12-07 삼성에스디에스 주식회사 소프트웨어의 변조 여부 탐지 시스템 및 방법
KR20180001878A (ko) * 2016-06-28 2018-01-05 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
KR101932656B1 (ko) * 2016-12-16 2018-12-26 아토리서치(주) 소프트웨어 정의 네트워크를 방어하는 방법, 장치 및 컴퓨터 프로그램
KR20230051949A (ko) * 2021-10-12 2023-04-19 한전케이디엔주식회사 블록체인을 이용하여 루팅 정보를 관리하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120069173A (ko) * 2010-12-20 2012-06-28 한국인터넷진흥원 악성코드 자동 분석 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120069173A (ko) * 2010-12-20 2012-06-28 한국인터넷진흥원 악성코드 자동 분석 시스템 및 그 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150134254A (ko) * 2014-05-21 2015-12-01 단국대학교 산학협력단 서버 및 휴대용 단말의 에플리케이션 보호방법 및 장치
KR101661817B1 (ko) * 2014-05-21 2016-09-30 단국대학교 산학협력단 서버 및 휴대용 단말의 에플리케이션 보호방법 및 장치
KR101537205B1 (ko) * 2014-10-20 2015-07-16 숭실대학교산학협력단 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
WO2016064041A1 (ko) * 2014-10-20 2016-04-28 숭실대학교 산학협력단 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
KR20160139914A (ko) * 2015-05-29 2016-12-07 삼성에스디에스 주식회사 소프트웨어의 변조 여부 탐지 시스템 및 방법
KR20180001878A (ko) * 2016-06-28 2018-01-05 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
KR102509594B1 (ko) * 2016-06-28 2023-03-14 삼성전자주식회사 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치
KR101932656B1 (ko) * 2016-12-16 2018-12-26 아토리서치(주) 소프트웨어 정의 네트워크를 방어하는 방법, 장치 및 컴퓨터 프로그램
KR20230051949A (ko) * 2021-10-12 2023-04-19 한전케이디엔주식회사 블록체인을 이용하여 루팅 정보를 관리하는 방법
KR102546157B1 (ko) * 2021-10-12 2023-06-20 한전케이디엔주식회사 블록체인을 이용하여 루팅 정보를 관리하는 방법

Similar Documents

Publication Publication Date Title
US11038876B2 (en) Managing access to services based on fingerprint matching
US11301569B2 (en) Quarantine of software based on analysis of updated device data
EP3706022B1 (en) Permissions policy manager to configure permissions on computing devices
US8549641B2 (en) Pattern-based application classification
Delac et al. Emerging security threats for mobile platforms
Wang et al. Smartphone security challenges
CN102414689B (zh) 用于改进代码和数据签署的方法和设备
KR101256462B1 (ko) 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법
US10050977B2 (en) Preventing misuse of code signing certificates
US20160330030A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same
US20150113272A1 (en) Method and apparatus for authenticating and managing application using trusted platform module
Yesilyurt et al. Security threats on mobile devices and their effects: estimations for the future
CN104199657A (zh) 开放平台的调用方法及装置
Walls et al. A review of free cloud-based anti-malware apps for android
Zheng et al. Security analysis of modern mission critical android mobile applications
CN106971105B (zh) 一种基于iOS的应用程序遭遇假面攻击的防御方法
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
US11689551B2 (en) Automatic identification of applications that circumvent permissions and/or obfuscate data flows
CN111046440B (zh) 一种安全区域内容的篡改验证方法及系统
KR101286767B1 (ko) 동적 해싱을 이용한 애플리케이션 프로그램 검증 방법
KR101527098B1 (ko) 랜덤 실행 코드를 이용한 스마트 기기 내 어플리케이션 검증 서버 및 검증방법
US12026261B2 (en) Quarantine of software by an evaluation server based on authenticity analysis of user device data
Seacord Mobile device security
KR101782145B1 (ko) 보안 기능이 추가된 애플리케이션 배포 방법, 상기 애플리케이션의 동작 방법
de Andrade Case study to identify vulnerabilities in applications developed for the Android

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20170417

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 7