KR101540089B1 - 어플리케이션 위변조 검증 시스템 및 방법 - Google Patents

어플리케이션 위변조 검증 시스템 및 방법 Download PDF

Info

Publication number
KR101540089B1
KR101540089B1 KR1020130164409A KR20130164409A KR101540089B1 KR 101540089 B1 KR101540089 B1 KR 101540089B1 KR 1020130164409 A KR1020130164409 A KR 1020130164409A KR 20130164409 A KR20130164409 A KR 20130164409A KR 101540089 B1 KR101540089 B1 KR 101540089B1
Authority
KR
South Korea
Prior art keywords
information
application
target method
monitoring
push message
Prior art date
Application number
KR1020130164409A
Other languages
English (en)
Other versions
KR20150075949A (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 KR1020130164409A priority Critical patent/KR101540089B1/ko
Publication of KR20150075949A publication Critical patent/KR20150075949A/ko
Application granted granted Critical
Publication of KR101540089B1 publication Critical patent/KR101540089B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

어플리케이션 위변조 검증 시스템 및 방법이 개시된다. 어플리케이션 위변조 검증 시스템은 어플리케이션의 타겟 메소드 정보를 수집 및 저장하고, 모니터링 요청 입력에 따라 사용자가 모니터링하고자 선택한 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 어플리케이션 모니터링 서버, 푸시 메시지를 처리하는 푸시 시스템, 이동단말에 설치되는 설치 어플리케이션에 포함되며, 푸시 시스템으로부터 푸시 메시지를 수신하는 푸시 메시지 핸들러 및 설치 어플리케이션에 포함되며, 푸시 메시지의 수신에 따라 깨어나 활성화되고, 푸시 메시지에 포함된 타겟 메소드 항목 정보를 이용하여 설치 어플리케이션에 포함된 DEX 파일을 분석하고, 분석에 따라 생성된 단말 수집 모니터링 정보를 어플리케이션 모니터링 서버로 전송하는 파일 분석기를 포함하되, 어플리케이션 모니터링 서버는 수집 및 저장된 타겟 메소드 정보를 이용하여 단말 수집 모니터링 정보를 분석하여 설치 어플리케이션의 타겟 메소드 정보의 위변조 여부를 검출한다.

Description

어플리케이션 위변조 검증 시스템 및 방법{System and method for verifying counterfeit of application}
본 발명은 어플리케이션 위변조 검증 시스템 및 방법에 관한 것이다.
안드로이드 어플리케이션 패키지에 포함되어 있는 DEX 파일은 자바 소스를 DEX 파일 형식으로 바이너리화 한 파일이다. 그래서, DEX 파일의 형식을 분석하면, 특정 Class와 그 Class에 선언된 멤버함수인 메소드들의 목록을 알 수 있고, 하나의 메소드의 소스가 순차적으로 인스트럭션(Instructions)으로 표현되어 있는 것을 확인할 수 있다. 따라서, 메소드 이름을 기준으로 그 메소드의 소스가 어떻게 구성되어 있는지를 확인할 수 있다.
한편, 이동통신, 금융, 및 국방 분야 등에서 개발되고 활용되는 어플리케이션들은 어플리케이션의 보안이 특히 중요하다. 온라인 게임 등이 모바일로 옮겨진 모바일 게임의 경우, 스마트폰의 보급이 확대되면서, 모바일 게임 산업이 급성장하고 있으며, 이에 비례하여, 모바일 게임 어플리케이션의 해킹 또한 증가되고 있다. 이러한 환경 하에서, 어플리케이션이 다루는 데이터의 민감성(개인 정보, 금융 정보, 전자 화폐 정보 등)뿐 아니라, 어플리케이션이 접속하는 서비스 또는 서버에 대한 정보(특정 서버 IP 등) 등의 보안이 중요해지고 있으며, 최근 모바일 인증서의 해킹 또는 스미싱, 트로이목마 같은 코드의 삽입 등의 어플리케이션 위변조 사례가 증가 추세에 있다.
따라서, 안드로이드 어플리케이션의 경우, 어플리케이션의 기능이 위변조 됨으로 인하여 해킹으로 이어지거나 금전적 피해가 발생하거나 중요한 서비스로 의도적으로 접근을 시도하는 행위를 방지하기 위한 위변조 검증 시스템이 요구된다.
본 발명은 안드로이드 어플리케이션에서 위변조가 방지되어야 하는 특정 메소드 단위의 기능들을 지속적으로 또는 중요하다고 판단되는 시점에 위변조 여부를 검증하는 시스템을 제안하는 것이다.
본 발명의 일 측면에 따르면, 어플리케이션 위변조 검증 시스템이 개시된다.
본 발명의 실시예에 따른 어플리케이션 위변조 검증 시스템은 어플리케이션의 타겟 메소드 정보를 수집 및 저장하고, 모니터링 요청 입력에 따라 사용자가 모니터링하고자 선택한 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 어플리케이션 모니터링 서버, 상기 푸시 메시지를 처리하는 푸시 시스템, 이동단말에 설치되는 설치 어플리케이션에 포함되며, 상기 푸시 시스템으로부터 상기 푸시 메시지를 수신하는 푸시 메시지 핸들러 및 상기 설치 어플리케이션에 포함되며, 상기 푸시 메시지의 수신에 따라 깨어나 활성화되고, 상기 푸시 메시지에 포함된 상기 타겟 메소드 항목 정보를 이용하여 상기 설치 어플리케이션에 포함된 DEX 파일을 분석하고, 분석에 따라 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 파일 분석기를 포함하되, 상기 어플리케이션 모니터링 서버는 상기 수집 및 저장된 타겟 메소드 정보를 이용하여 상기 단말 수집 모니터링 정보를 분석하여 상기 설치 어플리케이션의 타겟 메소드 정보의 위변조 여부를 검출한다.
상기 어플리케이션 모니터링 서버는 어플리케이션의 타겟 메소드 정보를 수집하고, 타겟 메소드 항목 정보를 포함하는 모니터링 요청을 입력받는 정보 수집부, 상기 수집된 타겟 메소드 정보를 저장하는 정보 저장부, 상기 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 메시지 생성부, 상기 생성된 푸시 메시지의 어플리케이션으로의 전송을 상기 푸시 시스템으로 요청하는 데이터 송신부, 상기 단말 수집 모니터링 정보를 수신하고, 상기 수신한 단말 수집 모니터링 정보에서 타겟 메소드의 인스트럭션 정보를 추출하는 데이터 수신부, 상기 정보 저장부에 저장된 타겟 메소드 정보들 중에서 모니터링 요청된 어플리케이션의 타겟 메소드 정보를 비교대상 정보로 추출하는 추출부, 상기 단말 수집 모니터링 정보에서 추출된 타겟 메소드의 인스트럭션 정보와 상기 비교 대상 정보를 비교하여 비교결과를 도출하는 비교부 및 상기 비교결과를 출력하는 출력부를 포함한다.
상기 파일 분석기는 상기 푸시 메시지를 수신하고, 상기 푸시 메시지에서 타겟 메소드 항목 정보를 추출하는 메시지 처리부, 상기 설치 어플리케이션의 DEX 파일을 로딩하는 파일 호출부, 상기 로딩된 DEX 파일에서 타겟 메소드의 인스트럭션(Instruction) 정보를 검색하는 검색부, 검색된 인스트럭션 정보를 수집하고, 상기 수집한 인스트럭션 정보를 가공하여 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 생성하는 수집부 및 상기 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 전송부를 포함한다.
상기 타겟 메소드 정보는 프로토타입(prototype)명, 클래스(class)명, 메소드(method)명, 파라미터(parameter) 정보를 포함한다.
상기 어플리케이션 모니터링 서버는 상기 타겟 메소드 정보 또는 상기 모니터링 요청의 입력과 모니터링 결과를 출력하는 어플리케이션 모니터링 웹서비스를 제공한다.
본 발명의 다른 측면에 따르면, 어플리케이션 위변조 검증 방법이 개시된다.
본 발명의 실시예에 따른 어플리케이션 위변조 검증 방법은 어플리케이션 모니터링 서버가 어플리케이션의 타겟 메소드 정보를 수집 및 저장하는 단계, 상기 어플리케이션 모니터링 서버가 모니터링 요청 입력에 따라 사용자가 모니터링하고자 선택한 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 단계, 푸시 시스템이 상기 푸시 메시지를 처리하는 단계, 상기 이동단말에 설치되는 설치 어플리케이션에 포함된 푸시 메시지 핸들러가 상기 푸시 시스템으로부터 상기 푸시 메시지를 수신하는 단계, 상기 설치 어플리케이션에 포함된 파일 분석기가 상기 푸시 메시지의 수신에 따라 깨어나 활성화되는 단계, 상기 파일 분석기가 상기 푸시 메시지에 포함된 상기 타겟 메소드 항목 정보를 이용하여 상기 설치 어플리케이션에 포함된 DEX 파일을 분석하고, 분석에 따라 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 단계 및 상기 어플리케이션 모니터링 서버가 상기 수집 및 저장된 타겟 메소드 정보를 이용하여 상기 단말 수집 모니터링 정보를 분석하여 상기 설치 어플리케이션의 타겟 메소드 정보의 위변조 여부를 검출하는 단계를 포함한다.
상기 파일 분석기가 상기 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 단계는, 상기 푸시 메시지에서 타겟 메소드 항목 정보를 추출하는 단계, 상기 설치 어플리케이션의 DEX 파일을 로딩하는 단계, 상기 로딩된 DEX 파일에서 타겟 메소드의 인스트럭션(Instruction) 정보를 검색하는 단계, 검색된 인스트럭션 정보를 수집하고, 상기 수집한 인스트럭션 정보를 가공하여 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 생성하는 단계 및 상기 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 단계를 포함한다.
상기 어플리케이션 모니터링 서버가 상기 위변조 여부를 검출하는 단계는, 상기 단말 수집 모니터링 정보를 수신하는 단계, 상기 수신한 단말 수집 모니터링 정보에서 타겟 메소드의 인스트럭션 정보를 추출하는 단계, 상기 수집 및 저장된 타겟 메소드 정보들 중에서 모니터링 요청된 어플리케이션의 타겟 메소드 정보를 비교대상 정보로 추출하는 단계, 상기 단말 수집 모니터링 정보에서 추출된 타겟 메소드의 인스트럭션 정보와 상기 비교 대상 정보를 비교하여 비교결과를 도출하는 단계 및 상기 비교결과를 출력하는 단계를 포함한다.
상기 타겟 메소드 정보는 프로토타입(prototype)명, 클래스(class)명, 메소드(method)명, 파라미터(parameter) 정보를 포함한다.
상기 어플리케이션 모니터링 서버는 상기 타겟 메소드 정보 또는 상기 모니터링 요청의 입력과 모니터링 결과를 출력하는 어플리케이션 모니터링 웹서비스를 제공한다.
본 발명은 안드로이드 어플리케이션에서 위변조가 방지되어야 하는 특정 메소드 단위의 기능들을 지속적으로 또는 중요하다고 판단되는 시점에 위변조 여부를 검증할 수 있다.
도 1은 어플리케이션 위변조 검증 시스템의 구성을 개략적으로 예시한 도면.
도 2는 도 1의 어플리케이션 위변조 검증 시스템에서의 어플리케이션 위변조 검증 방법을 나타낸 흐름도.
도 3은 어플리케이션 모니터링 서버의 구성을 개략적으로 예시한 도면.
도 4는 파일 분석기의 구성을 개략적으로 예시한 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 1은 어플리케이션 위변조 검증 시스템의 구성을 개략적으로 예시한 도면이다.
도 1을 참조하면, 어플리케이션 위변조 검증 시스템은 이동단말(10)에 설치되는 어플리케이션(20), 푸시 시스템(30) 및 어플리케이션 모니터링 서버(40)를 포함한다. 여기서, 어플리케이션(20)은 안드로이드 어플리케이션(예를 들어, APK 패키지 파일)으로, 파일 분석기(21) 및 푸시 메시지 핸들러(27)를 포함한다.
파일 분석기(21)는 푸시 시스템(30)을 통하여 어플리케이션 모니터링 서버(40)로부터 수신되는 푸시 메시지에 따라 깨어나(waking), 푸시 메시지에 포함된 타겟 메소드 항목 정보를 이용하여 어플리케이션(20)에 포함된 DEX 파일을 분석하고, 분석에 따라 생성된 단말 수집 모니터링 정보를 어플리케이션 모니터링 서버(40)로 전송한다. 예를 들어, 타겟 메소드 정보는 프로토타입(prototype)명, 클래스(class)명, 메소드(method)명, 파라미터(parameter) 정보를 포함할 수 있다.
푸시 메시지 핸들러(27)는 어플리케이션 모니터링 서버(40)가 전송한 푸시 메시지를 푸시 시스템(30)으로부터 수신하고, 수신한 푸시 메시지를 파일 분석기(21)로 전달한다.
푸시 시스템(30)은 어플리케이션 모니터링 서버(40)가 전송한 푸시 메시지를 이동단말(10)의 어플리케이션(20)으로 전송하는 기능을 수행한다.
어플리케이션 모니터링 서버(40)는 어플리케이션(20)의 타겟 메소드 정보를 입력받아 수집 및 저장하고, 사용자의 모니터링 요청 입력에 따라 사용자가 모니터링하고자 선택한 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하여 어플리케이션(20)의 파일 분석기(21)로 전송한다.
그리고, 어플리케이션 모니터링 서버(40)는 파일 분석기(21)로부터 수신되는 단말 수집 모니터링 정보를 분석하여 해당 어플리케이션(20)의 타겟 메소드 정보의 위변조 여부를 검출하고, 이에 따른 모니터링 결과를 출력한다.
예를 들어, 어플리케이션 모니터링 서버(40)는 사용자가 사용자 단말(미도시)을 통해 이용하는 어플리케이션 모니터링 웹서비스를 제공할 수 있으며, 사용자는 어플리케이션 모니터링 웹서비스를 통해 모니터링하고자 하는 어플리케이션(20)의 타겟 메소드 항목 정보를 포함하는 모니터링 요청을 입력할 수 있고, 모니터링 결과를 웹화면을 통해 제공받을 수 있다.
도 2는 도 1의 어플리케이션 위변조 검증 시스템에서의 어플리케이션 위변조 검증 방법을 나타낸 흐름도이다.
S211 단계에서, 어플리케이션 모니터링 서버(40)는 어플리케이션(20)의 타겟 메소드 정보를 수집 및 저장한다. 예를 들어, 어플리케이션 모니터링 서버(40)는 어플리케이션(20)의 타겟 메소드 정보의 이상 유무를 판단하기 위한 비교대상 정보로서의 타겟 메소드 정보들을 사전에 기등록 받을 수 있다.
S212 단계에서, 어플리케이션 모니터링 서버(40)는 어플리케이션(20)에 대한 모니터링 요청에 따른 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성한다. 예를 들어, 어플리케이션 모니터링 서버(40)는 어플리케이션 모니터링 웹서비스를 통해 모니터링하고자 하는 어플리케이션(20)의 타겟 메소드 항목 정보를 포함하는 모니터링 요청을 입력받을 수 있으며, 입력된 타겟 메소드 항목 정보를 파일 분석기(21)의 데이터 처리 규격으로 작성하여 푸시 메시지를 생성할 수 있다.
S213 단계에서, 어플리케이션 모니터링 서버(40)는 생성한 푸시 메시지의 어플리케이션(20)으로의 전송을 푸시 시스템(30)으로 요청한다.
S214 단계에서, 푸시 시스템(30)은 어플리케이션(20)으로의 푸시 메시지 전송 요청에 따라 푸시 메시지를 어플리케이션(20)으로 전송한다.
S215 단계에서, 푸시 메시지 핸들러(27)는 어플리케이션(20)으로 수신된 푸시 메시지를 수신 처리하여 파일 분석기(21)로 전달한다.
S216 단계에서, 파일 분석기(21)는 푸시 메시지를 전달받음에 따라 깨어나 활성화되고, 푸시 메시지에서 타겟 메소드 항목 정보를 확인한다. 예를 들어, 파일 분석기(21)는 푸시 메시지에서 타겟 메소드 항목 정보를 분리하고, 분리한 타겟 메소드 항목 정보를 이용하여 검색을 위한 기초 데이터 구조체를 생성할 수 있다.
S217 단계에서, 파일 분석기(21)는 어플리케이션(20)의 DEX 파일을 로딩한다. 예를 들어, 파일 분석기(21)는 APK 패키지 파일의 DEX 파일의 다이나믹 로딩(Dynamic loading) 과정을 수행하고, 로딩한 DEX 파일을 런타임 메모리(runtime memory)에 적재한 후, 핸들(handle)값을 반환할 수 있다.
S218 단계에서, 파일 분석기(21)는 로딩한 DEX 파일에서 타겟 메소드의 인스트럭션(Instruction) 정보를 검색한다. 예를 들어, 파일 분석기(21)는 검색을 위한 기초 데이터 구조체를 이용하여 DEX 파일에서 타겟 메소드 정보를 검색하고, 최종적으로 타겟 메소드의 인스트럭션 정보를 탐색할 수 있다.
S219 단계에서, 파일 분석기(21)는 인스트럭션 정보의 검색에 따라 인스트럭션 정보를 수집하고, 수집한 인스트럭션 정보를 가공하여 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 생성한다. 예를 들어, 파일 분석기(21)는 인스트럭션의 개수에 맞게 인스트럭션 정보를 수집할 수 있고, 수집한 인스트럭션 정보를 어플리케이션 모니터링 서버(40)로 전송할 수 있는 전송 규격으로 가공한 단말 수집 모니터링 정보를 생성할 수 있다.
S220 단계에서, 파일 분석기(21)는 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 어플리케이션 모니터링 서버(40)로 전송한다. 예를 들어, 파일 분석기(21)는 안전하게 전송하기 위한 미리 설정된 자체 보안 규격에 따라 단말 수집 모니터링 정보를 암호화하여 어플리케이션 모니터링 서버(40)로 전송할 수 있다.
S221 단계에서, 어플리케이션 모니터링 서버(40)는 단말 수집 모니터링 정보의 수신에 따라 단말 수집 모니터링 정보에서 타겟 메소드의 인스트럭션 정보를 추출하고, 수집 및 저장된 타겟 메소드 정보들 중에서 모니터링 요청된 어플리케이션(20)의 타겟 메소드 정보를 비교대상 정보로 추출한다. 예를 들어, 어플리케이션 모니터링 서버(40)는 이동단말(10)로부터 수신되는 모든 데이터 스트림에서 통신 규약과 관련된 부분을 제외한 데이터 스트림을 추출하고, 추출된 데이터 스트림에서 어플리케이션(20)의 타겟 메소드의 인스트럭션 정보를 추출할 수 있다.
S222 단계에서, 어플리케이션 모니터링 서버(40)는 단말 수집 모니터링 정보의 타겟 메소드의 인스트럭션 정보와 비교 대상 정보를 비교하여 비교결과를 도출한다. 즉, 어플리케이션 모니터링 서버(40)는 비교를 통해 타겟 메소드 정보의 위변조 여부를 검출할 수 있다.
S223 단계에서, 어플리케이션 모니터링 서버(40)는 비교결과를 출력한다. 예를 들어, 어플리케이션 모니터링 서버(40)는 어플리케이션 모니터링 웹서비스를 이용하여 모니터링 결과를 웹화면으로 출력할 수 있다.
도 3은 어플리케이션 모니터링 서버의 구성을 개략적으로 예시한 도면이다.
도 3을 참조하면, 어플리케이션 모니터링 서버(40)는 정보 수집부(41), 정보 저장부(42), 메시지 생성부(43), 데이터 송신부(44), 데이터 수신부(45), 추출부(46), 비교부(47) 및 출력부(48)를 포함한다.
정보 수집부(41)는 어플리케이션(20)의 타겟 메소드 정보를 수집하고, 수집한 타겟 메소드 정보를 정보 저장부(42)에 저장시킨다. 예를 들어, 정보 수집부(41)는 어플리케이션(20)의 타겟 메소드 정보의 이상 유무를 판단하기 위한 비교대상 정보로서의 타겟 메소드 정보들을 사전에 기등록 받을 수 있다.
또한, 정보 수집부(41)는 타겟 메소드 항목 정보를 포함하는 모니터링 요청을 입력받는다. 예를 들어, 정보 수집부(41)는 어플리케이션 모니터링 웹서비스를 통해 모니터링하고자 하는 어플리케이션(20)의 타겟 메소드 항목 정보를 포함하는 모니터링 요청을 입력받을 수 있다.
정보 저장부(42)는 정보 수집부(41)에 의하여 수집된 타겟 메소드 정보를 저장한다.
메시지 생성부(43)는 어플리케이션(20)에 대한 모니터링 요청에 따른 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성한다. 예를 들어, 메시지 생성부(43)는 입력된 타겟 메소드 항목 정보를 파일 분석기(21)의 데이터 처리 규격으로 작성하여 푸시 메시지를 생성할 수 있다.
데이터 송신부(44)는 생성된 푸시 메시지의 어플리케이션(20)으로의 전송을 푸시 시스템(30)으로 요청한다.
데이터 수신부(45)는 어플리케이션(20)의 파일 분석기(21)로부터 단말 수집 모니터링 정보를 수신하고, 수신한 단말 수집 모니터링 정보에서 타겟 메소드의 인스트럭션 정보를 추출한다. 예를 들어, 데이터 수신부(45)는 이동단말(10)로부터 수신되는 모든 데이터 스트림에서 통신 규약과 관련된 부분을 제외한 데이터 스트림을 추출하고, 추출된 데이터 스트림에서 어플리케이션(20)의 타겟 메소드의 인스트럭션 정보를 추출할 수 있다.
추출부(46)는 정보 저장부(42)에 저장된 타겟 메소드 정보들 중에서 모니터링 요청된 어플리케이션(20)의 타겟 메소드 정보를 비교대상 정보로 추출한다.
비교부(47)는 단말 수집 모니터링 정보에서 추출된 타겟 메소드의 인스트럭션 정보와 비교 대상 정보를 비교하여 비교결과를 도출한다. 즉, 비교부(47)는 비교를 통해 타겟 메소드 정보의 위변조 여부를 검출할 수 있다.
출력부(48)는 비교결과를 출력한다. 예를 들어, 출력부(48)는 어플리케이션 모니터링 웹서비스를 이용하여 모니터링 결과를 웹화면으로 출력할 수 있다.
도 4는 파일 분석기의 구성을 개략적으로 예시한 도면이다.
도 4를 참조하면, 파일 분석기(21)는 메시지 처리부(22), 파일 호출부(23), 검색부(24), 수집부(25) 및 전송부(26)를 포함한다.
메시지 처리부(22)는 어플리케이션 모니터링 서버(40)가 전송한 푸시 메시지를 수신하고, 수신한 푸시 메시지에서 타겟 메소드 항목 정보를 추출한다. 이때, 파일 분석기(21)는 메시지 처리부(22)가 푸시 메시지를 전달받음에 따라 깨어나 활성화될 수 있다.
예를 들어, 메시지 처리부(22)는 푸시 메시지에서 타겟 메소드 항목 정보를 분리하고, 분리한 타겟 메소드 항목 정보를 이용하여 검색을 위한 기초 데이터 구조체를 생성할 수 있다.
파일 호출부(23)는 어플리케이션(20)의 DEX 파일을 로딩한다. 예를 들어, 파일 호출부(23)는 APK 패키지 파일의 DEX 파일의 다이나믹 로딩(Dynamic loading) 과정을 수행하고, 로딩한 DEX 파일을 런타임 메모리(runtime memory)에 적재한 후, 핸들(handle)값을 반환할 수 있다.
검색부(24)는 로딩된 DEX 파일에서 타겟 메소드의 인스트럭션(Instruction) 정보를 검색한다. 예를 들어, 검색부(24)는 검색을 위한 기초 데이터 구조체를 이용하여 DEX 파일에서 타겟 메소드 정보를 검색하고, 최종적으로 타겟 메소드의 인스트럭션 정보를 탐색할 수 있다.
수집부(25)는 인스트럭션 정보의 검색에 따라 인스트럭션 정보를 수집하고, 수집한 인스트럭션 정보를 가공하여 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 생성한다. 예를 들어, 수집부(25)는 인스트럭션의 개수에 맞게 인스트럭션 정보를 수집할 수 있고, 수집한 인스트럭션 정보를 어플리케이션 모니터링 서버(40)로 전송할 수 있는 전송 규격으로 가공한 단말 수집 모니터링 정보를 생성할 수 있다.
전송부(26)는 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 어플리케이션 모니터링 서버(40)로 전송한다. 예를 들어, 전송부(26)는 안전하게 전송하기 위한 미리 설정된 자체 보안 규격에 따라 단말 수집 모니터링 정보를 암호화하여 어플리케이션 모니터링 서버(40)로 전송할 수 있다.
한편, 본 발명의 실시예에 따른 어플리케이션 위변조 검증 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 이동단말
20: 어플리케이션
21: 파일 분석기
27: 푸시 메시지 핸들러
30: 푸시 시스템
40: 어플리케이션 모니터링 서버

Claims (11)

  1. 어플리케이션의 타겟 메소드 정보를 수집 및 저장하고, 모니터링 요청 입력에 따라 사용자가 모니터링하고자 선택한 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 어플리케이션 모니터링 서버;
    상기 푸시 메시지를 처리하는 푸시 시스템;
    이동단말에 설치되는 설치 어플리케이션에 포함되며, 상기 푸시 시스템으로부터 상기 푸시 메시지를 수신하는 푸시 메시지 핸들러; 및
    상기 설치 어플리케이션에 포함되며, 상기 푸시 메시지의 수신에 따라 깨어나 활성화되고, 상기 푸시 메시지에 포함된 상기 타겟 메소드 항목 정보를 이용하여 상기 설치 어플리케이션에 포함된 DEX 파일을 분석하고, 분석에 따라 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 파일 분석기를 포함하되,
    상기 어플리케이션 모니터링 서버는
    상기 수집 및 저장된 타겟 메소드 정보를 이용하여 상기 단말 수집 모니터링 정보를 분석하여 상기 설치 어플리케이션의 타겟 메소드 정보의 위변조 여부를 검출하고,
    상기 어플리케이션 모니터링 서버는
    어플리케이션의 타겟 메소드 정보를 수집하고, 타겟 메소드 항목 정보를 포함하는 모니터링 요청을 입력받는 정보 수집부;
    상기 수집된 타겟 메소드 정보를 저장하는 정보 저장부;
    상기 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 메시지 생성부;
    상기 생성된 푸시 메시지의 어플리케이션으로의 전송을 상기 푸시 시스템으로 요청하는 데이터 송신부;
    상기 단말 수집 모니터링 정보를 수신하고, 상기 수신한 단말 수집 모니터링 정보에서 타겟 메소드의 인스트럭션 정보를 추출하는 데이터 수신부;
    상기 정보 저장부에 저장된 타겟 메소드 정보들 중에서 모니터링 요청된 어플리케이션의 타겟 메소드 정보를 비교대상 정보로 추출하는 추출부;
    상기 단말 수집 모니터링 정보에서 추출된 타겟 메소드의 인스트럭션 정보와 상기 비교 대상 정보를 비교하여 비교결과를 도출하는 비교부; 및
    상기 비교결과를 출력하는 출력부를 포함하는 것을 특징으로 하는 어플리케이션 위변조 검증 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 파일 분석기는
    상기 푸시 메시지를 수신하고, 상기 푸시 메시지에서 타겟 메소드 항목 정보를 추출하는 메시지 처리부;
    상기 설치 어플리케이션의 DEX 파일을 로딩하는 파일 호출부;
    상기 로딩된 DEX 파일에서 타겟 메소드의 인스트럭션(Instruction) 정보를 검색하는 검색부;
    검색된 인스트럭션 정보를 수집하고, 상기 수집한 인스트럭션 정보를 가공하여 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 생성하는 수집부; 및
    상기 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 전송부를 포함하는 것을 특징으로 하는 어플리케이션 위변조 검증 시스템.
  4. 제1항에 있어서,
    상기 타겟 메소드 정보는 프로토타입(prototype)명, 클래스(class)명, 메소드(method)명, 파라미터(parameter) 정보를 포함하는 것을 특징으로 하는 어플리케이션 위변조 검증 시스템.
  5. 제1항에 있어서,
    상기 어플리케이션 모니터링 서버는 상기 타겟 메소드 정보 또는 상기 모니터링 요청의 입력과 모니터링 결과를 출력하는 어플리케이션 모니터링 웹서비스를 제공하는 것을 특징으로 하는 어플리케이션 위변조 검증 시스템.
  6. 어플리케이션 위변조 검증 방법에 있어서,
    어플리케이션 모니터링 서버가 어플리케이션의 타겟 메소드 정보를 수집 및 저장하는 단계;
    상기 어플리케이션 모니터링 서버가 모니터링 요청 입력에 따라 사용자가 모니터링하고자 선택한 타겟 메소드 항목 정보를 포함하는 푸시 메시지를 생성하는 단계;
    푸시 시스템이 상기 푸시 메시지를 처리하는 단계;
    이동단말에 설치되는 설치 어플리케이션에 포함된 푸시 메시지 핸들러가 상기 푸시 시스템으로부터 상기 푸시 메시지를 수신하는 단계;
    상기 설치 어플리케이션에 포함된 파일 분석기가 상기 푸시 메시지의 수신에 따라 깨어나 활성화되는 단계;
    상기 파일 분석기가 상기 푸시 메시지에 포함된 상기 타겟 메소드 항목 정보를 이용하여 상기 설치 어플리케이션에 포함된 DEX 파일을 분석하고, 분석에 따라 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 단계; 및
    상기 어플리케이션 모니터링 서버가 상기 수집 및 저장된 타겟 메소드 정보를 이용하여 상기 단말 수집 모니터링 정보를 분석하여 상기 설치 어플리케이션의 타겟 메소드 정보의 위변조 여부를 검출하는 단계를 포함하되,
    상기 어플리케이션 모니터링 서버가 상기 위변조 여부를 검출하는 단계는,
    상기 단말 수집 모니터링 정보를 수신하는 단계;
    상기 수신한 단말 수집 모니터링 정보에서 타겟 메소드의 인스트럭션 정보를 추출하는 단계;
    상기 수집 및 저장된 타겟 메소드 정보들 중에서 모니터링 요청된 어플리케이션의 타겟 메소드 정보를 비교대상 정보로 추출하는 단계;
    상기 단말 수집 모니터링 정보에서 추출된 타겟 메소드의 인스트럭션 정보와 상기 비교 대상 정보를 비교하여 비교결과를 도출하는 단계; 및
    상기 비교결과를 출력하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 위변조 검증 방법.
  7. 제6항에 있어서,
    상기 파일 분석기가 상기 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 단계는,
    상기 푸시 메시지에서 타겟 메소드 항목 정보를 추출하는 단계;
    상기 설치 어플리케이션의 DEX 파일을 로딩하는 단계;
    상기 로딩된 DEX 파일에서 타겟 메소드의 인스트럭션(Instruction) 정보를 검색하는 단계;
    검색된 인스트럭션 정보를 수집하고, 상기 수집한 인스트럭션 정보를 가공하여 인스트럭션 정보를 포함하는 단말 수집 모니터링 정보를 생성하는 단계; 및
    상기 생성된 단말 수집 모니터링 정보를 상기 어플리케이션 모니터링 서버로 전송하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 위변조 검증 방법.
  8. 삭제
  9. 제6항에 있어서,
    상기 타겟 메소드 정보는 프로토타입(prototype)명, 클래스(class)명, 메소드(method)명, 파라미터(parameter) 정보를 포함하는 것을 특징으로 하는 어플리케이션 위변조 검증 방법.
  10. 제6항에 있어서,
    상기 어플리케이션 모니터링 서버는 상기 타겟 메소드 정보 또는 상기 모니터링 요청의 입력과 모니터링 결과를 출력하는 어플리케이션 모니터링 웹서비스를 제공하는 것을 특징으로 하는 어플리케이션 위변조 검증 방법.
  11. 제6항, 제7항, 제9항, 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.


KR1020130164409A 2013-12-26 2013-12-26 어플리케이션 위변조 검증 시스템 및 방법 KR101540089B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130164409A KR101540089B1 (ko) 2013-12-26 2013-12-26 어플리케이션 위변조 검증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130164409A KR101540089B1 (ko) 2013-12-26 2013-12-26 어플리케이션 위변조 검증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20150075949A KR20150075949A (ko) 2015-07-06
KR101540089B1 true KR101540089B1 (ko) 2015-08-06

Family

ID=53788981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130164409A KR101540089B1 (ko) 2013-12-26 2013-12-26 어플리케이션 위변조 검증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101540089B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214893B1 (ko) * 2011-12-16 2013-01-09 주식회사 안랩 어플리케이션의 유사성 검출 장치 및 방법
KR101277517B1 (ko) 2012-12-04 2013-06-21 주식회사 안랩 애플리케이션 위/변조 탐지장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101214893B1 (ko) * 2011-12-16 2013-01-09 주식회사 안랩 어플리케이션의 유사성 검출 장치 및 방법
KR101277517B1 (ko) 2012-12-04 2013-06-21 주식회사 안랩 애플리케이션 위/변조 탐지장치 및 방법

Also Published As

Publication number Publication date
KR20150075949A (ko) 2015-07-06

Similar Documents

Publication Publication Date Title
CN109743315B (zh) 针对网站的行为识别方法、装置、设备及可读存储介质
US9413781B2 (en) System and method employing structured intelligence to verify and contain threats at endpoints
JP6609047B2 (ja) アプリケーション情報リスクマネジメントのための方法及びデバイス
Kapratwar et al. Static and dynamic analysis of android malware
US9659175B2 (en) Methods and apparatus for identifying and removing malicious applications
CN109862003B (zh) 本地威胁情报库的生成方法、装置、系统及存储介质
US10148664B2 (en) Utilizing transport layer security (TLS) fingerprints to determine agents and operating systems
US20120255023A1 (en) Methods and systems of detecting and analyzing correlated operations in a common storage
CN110008428B (zh) 新闻数据处理方法、装置、区块链节点设备及存储介质
Dadkhah et al. An introduction to journal phishings and their detection approach
US20150128281A1 (en) Determining application vulnerabilities
CN112115468B (zh) 基于大数据和云计算的业务信息检测方法及云计算中心
CN114528457A (zh) Web指纹检测方法及相关设备
CN116340943A (zh) 应用程序保护方法、装置、设备、存储介质和程序产品
CN113568626A (zh) 动态打包、应用程序包开启方法、装置和电子设备
CN114491518A (zh) 一种越权访问的检测方法、装置、系统及介质
US11201728B1 (en) Data leakage mitigation with a blockchain
US11301522B1 (en) Method and apparatus for collecting information regarding dark web
Burgess et al. Manic: Multi-step assessment for crypto-miners
KR101480040B1 (ko) 웹 페이지 변조 식별방법, 시스템 및 컴퓨터로 판독 가능한 기록매체
KR101540089B1 (ko) 어플리케이션 위변조 검증 시스템 및 방법
KR101532765B1 (ko) 어플리케이션 위변조 방지 시스템 및 방법
Hindarto et al. Android-manifest extraction and labeling method for malware compilation and dataset creation.
CN113364766B (zh) 一种apt攻击的检测方法及装置
Cole et al. ScanMe mobile: a local and cloud hybrid service for analyzing APKs

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190620

Year of fee payment: 5