KR101537205B1 - 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법 - Google Patents

해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법 Download PDF

Info

Publication number
KR101537205B1
KR101537205B1 KR1020150002936A KR20150002936A KR101537205B1 KR 101537205 B1 KR101537205 B1 KR 101537205B1 KR 1020150002936 A KR1020150002936 A KR 1020150002936A KR 20150002936 A KR20150002936 A KR 20150002936A KR 101537205 B1 KR101537205 B1 KR 101537205B1
Authority
KR
South Korea
Prior art keywords
application program
hash value
user terminal
authentication server
peripheral device
Prior art date
Application number
KR1020150002936A
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 PCT/KR2015/002200 priority Critical patent/WO2016064041A1/ko
Priority to US15/109,235 priority patent/US20160330030A1/en
Application granted granted Critical
Publication of KR101537205B1 publication Critical patent/KR101537205B1/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]
    • G06F21/12Protecting executable software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법에 관한 것으로, 본 발명의 일 실시예에 따른 사용자 단말기는 상기 설치된 응용 프로그램이 실행될 때, 플랫폼 레벨에서 인증 서버로 상기 사용자 단말기 정보와 상기 응응 프로그램의 정보를 전송하여 상기 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하거나, 상기 사용자 단말기와 페어링된 주변 기기로부터 상기 응용 프로그램의 해쉬값 원본을 수신하는 통신부, 플랫폼 레벨에서 상기 사용자 단말기에 설치된 상기 응용 프로그램의 해쉬값을 생성하는 해쉬값 생성부, 그리고 플랫폼 레벨에서 상기 인증 서버 또는 상기 주변 기기로부터 수신한 상기 해쉬값 원본과 상기 생성된 해쉬값을 비교하여 상기 응용 프로그램의 위변조 여부를 판단하는 위변조 판단부를 포함한다.
이와 같이 본 발명에 의하면, 위변조 된 응용 프로그램으로부터 사용자 단말기를 보호할 수 있다. 또한 플랫폼 수준에서 응용 프로그램 위변조를 탐지함으로써, 우회 및 회피가 가능한 응용 프로그램 수준에서의 위변조 탐지 방법의 한계점을 극복할 수 있다.

Description

해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법{User Terminal to Detect the Tampering of the Applications Using Hash Value and Method for Tamper Detection Using the Same}
본 발명은 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법에 관한 것으로서, 더욱 상세하게는 플랫폼 레벨에서 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법에 관한 것이다.
많은 사용자들이 스마트폰 뱅킹을 이용하지만 아직 스마트폰 뱅킹의 보안은 취약하다. 스마트폰은 공용 네트워크 망에 해당하는 인터넷에 연결하므로 보안의 위험성이 크다. 인터넷 망을 통하여 침입한 해커가 스마트폰 내의 정보를 유출할 수 있고, 악성코드나 피싱 공격으로부터도 자유롭지 못하다. 또한 위변조 뱅킹 애플리케이션으로 사용자의 금융 정보가 탈취될 수 있다.
스마트폰 뱅킹을 지원하는 금융 애플리케이션뿐만 아니라 게임, SNS 애플리케이션도 보안에 취약하다. 유명 게임 애플리케이션의 위변조 애플리케이션에 삽입된 트로이 목마 바이러스로 개인정보가 유출되는 사건이 있었고, SNS 애플리케이션의 위변조 애플리케이션이 불법 과금하는 사건도 있었다.
이러한 애플리케이션의 위변조를 방지하고, 무결성을 확보하려는 애플리케이션 위변조 방지 솔루션에 관한 연구가 진행되고 있다. 주로 난독화 기법과 안티 디버깅 기능을 이용하여 리버스 엔지니어링과 위변조 위험성을 낮추는 기술이 적용되고 있다.
그러나 응용 프로그램 레벨에서 위변조 탐지용 코드를 적용하여 실행하는 기존의 위변조 탐지 기술은 애플리케이션의 구조를 분석할 수 있어 위변조 공격으로부터 안전하지 못하다. 특히 안드로이드 모바일 시스템의 달빅 가상 머신에서 수행되는 달빅 바이트 코드를 추출하면 해당 응용 애플리케이션의 구조를 분석할 수 있다. 즉 응용 프로그램 레벨의 위변조 탐지 기술은 우회 및 회피가 가능하다. 따라서 응용 프로그램 레벨이 아니라 플랫폼 레벨의 위변조 탐지 기술이 필요하다.
본 발명의 배경이 되는 기술은 한국등록특허 제10-1256462호 (2013.04.19공고)에 개시되어 있다.
본 발명은 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법에 관한 것으로서, 더욱 상세하게는 플랫폼 레벨에서 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법을 제공하는데 목적이 있다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따른 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기에 따르면, 상기 응용 프로그램이 설치될 때, 상기 사용자 단말기에 설치된 상기 응용 프로그램의 해쉬값을 생성하는 해쉬값 생성부, 상기 설치된 응용 프로그램이 실행되면, 인증 서버로 상기 사용자 단말기 정보와 상기 응응 프로그램의 정보를 전송하여 상기 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하거나, 상기 사용자 단말기와 페어링된 주변 기기로부터 상기 응용 프로그램의 해쉬값 원본을 수신하는 통신부, 그리고 상기 인증 서버 또는 상기 주변 기기로부터 수신한 상기 해쉬값 원본과 상기 생성된 해쉬값을 비교하여 상기 응용 프로그램의 위변조 여부를 판단하는 위변조 판단부를 포함한다.
또한, 상기 응용 프로그램이 설치될 때 상기 사용자 단말기가 상기 주변 기기와 페어링 되어 있는 경우, 상기 통신부는, 상기 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하여 상기 주변 기기로 전달할 수 있다.
또한, 상기 위변조 판단부는, 상기 응용 프로그램이 위변조된 것으로 판단되면 상기 응용 프로그램의 실행을 종료하고, 상기 응용 프로그램이 위변조되지 않은 것으로 판단되면 상기 응용 프로그램을 실행할 수 있다.
또한, 상기 위변조 판단부는, 상기 응용 프로그램이 위변조된 것으로 판단되면, 상기 응용 프로그램이 위변조 되었음을 알리는 위변조 위험 경고창을 출력할 수 있다.
또한, 상기 해쉬값 생성부는, 상기 응용 프로그램의 실행 코드와 설정 파일 또는 상기 응용 프로그램 전체에 해싱 기법을 적용하여 상기 해쉬값을 생성할 수 있다.
또한, 상기 인증 서버로부터 수신한 상기 응용 프로그램의 해쉬값 원본을 복호화하는 암복호화부를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기에 의해 수행되는 응용 프로그램의 위변조 여부를 탐지하는 방법은 응용 프로그램이 설치될 때, 상기 응용 프로그램의 해쉬값을 생성하여 저장하는 단계, 상기 설치된 응용 프로그램이 실행되면, 인증 서버로 상기 사용자 단말기 정보와 상기 응응 프로그램의 정보를 전송하여 상기 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하거나, 상기 사용자 단말기와 페어링된 주변 기기로부터 상기 응용 프로그램의 해쉬값 원본을 수신하는 단계, 그리고 상기 인증 서버 또는 상기 주변 기기로부터 수신한 상기 해쉬값 원본과 상기 생성된 해쉬값을 비교하여 상기 응용 프로그램의 위변조 여부를 판단하는 단계를 포함한다.
따라서 본 발명에 따르면 위변조 된 응용 프로그램으로부터 사용자 단말기를 보호할 수 있다. 또한 플랫폼 수준에서 응용 프로그램 위변조를 탐지함으로써, 우회 및 회피가 가능한 응용 프로그램 수준에서의 위변조 탐지 방법의 한계점을 극복할 수 있다.
또한 응용 프로그램의 위변조 여부 탐지에 필요한 해쉬값 원본을 주변기기에 저장하는 경우, 인터넷 환경이 열악한 조건에서도 사용자 단말기는 주변기기로부터 해쉬값 원본을 수신하여 해당 응용 프로그램의 위변조 여부를 탐지할 수 있다.
도 1은 본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템을 나타내는 구성도이다.
도 2는 본 발명의 실시예에 따른 인증 서버의 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 사용자 단말기의 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 주변기기의 구성을 나타낸 블록도이다.
도 5은 본 발명의 제1 실시예에 따른 응용 프로그램의 위변조 여부를 탐지하는 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 제2 실시예에 따른 응용 프로그램의 위변조 여부를 탐지하는 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 제2 실시예에 따른 응용 프로그램의 위변조 여부를 탐지하는 방법을 설명하기 위한 도면이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템을 나타내는 구성도이다. 도 1과 같이 본 발명의 실시예에 따른 위변조 탐지 시스템은 응용 프로그램 제공 서버(100), 인증 서버(200) 및 사용자 단말기(300)를 포함하며, 주변기기(400)를 더 포함할 수 있다.
도 1에 나타낸 것처럼, 응용 프로그램 제공 서버(100)와 인증 서버(200), 사용자 단말기(300) 및 주변기기(400)는 네트워크(network)를 통해 연결된다. 즉, 도 1과 같이, 네트워크를 통하여 사용자 단말기(300)는 응용 프로그램 제공 서버(100), 인증 서버(200) 및 주변기기(400)와 연결될 수 있다. 또한 응용 프로그램 제공 서버(100)는 인증 서버(200)와 네트워크를 통하여 연결될 수 있다.
여기서, 네트워크는 사용자 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예는, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE, Wi-Fi 등이 포함되나 이에 한정되지는 않는다.
특히, 사용자 단말기(300)와 주변기기(400)는 블루투스(Bluetooth), 지그비(ZigBee), 적외선통신모듈(IrDA, Infrared Data Association) 등을 이용하여 연결될 수 있다.
먼저, 응용 프로그램 제공 서버(100)는 응용 프로그램 파일을 저장하며, 사용자 단말기(300)로부터 응용 프로그램 파일의 전송을 요청 받으면 해당 사용자 단말기(300)로 해당 응용 프로그램 파일을 전송한다. 즉 사용자 단말기(300)는 응용 프로그램 제공 서버(100)에 저장된 응용 프로그램 파일을 다운로드 받아 사용자 단말기(300)에 설치하여 해당 응용 프로그램을 실행할 수 있다.
그리고 본 발명의 실시예에 따른 응용 프로그램 제공 서버(100)는 금융, 뉴스, 쇼핑, 게임 등 다양한 종류의 응용 프로그램 파일을 저장할 수 있으며, 사용자 단말기(300)가 이러한 응용 프로그램 파일을 응용 프로그램 제공 서버(100)로부터 다운로드 받아 사용자 단말기(300)에 설치할 수 있도록 응용 프로그램 제공 서버(100)는 응용 프로그램 파일을 저장한다. 예를 들어, 구글 플레이나 애플의 앱스토어와 같은 각종 모바일 애플리케이션 마켓이 응용 프로그램 제공 서버(100)에 해당된다.
응용 프로그램 제공 서버(100)는 응용 프로그램의 실행 코드와 설정 파일 또는 응용 프로그램 전체에 해싱 기법(Hashing)을 적용하여 해쉬값을 생성한다. 그리고 생성한 해쉬값을 저장한다. 이때 응용 프로그램 제공 서버(100)가 생성한 해쉬값이 해당 응용 프로그램의 해쉬값 원본이다. 그리고 응용 프로그램 제공 서버(100)는 응용 프로그램의 해쉬값 원본을 인증 서버(200)로 전송한다.
다음으로 인증 서버(200)는 응용 프로그램 제공 서버(100)로부터 각종 응용 프로그램의 해쉬값 원본을 네트워크를 통하여 수신하여 저장한다. 그리고 인증 서버(200)는 사용자 단말기(300)로부터 위변조 여부를 확인하고자 하는 응용 프로그램의 정보와 사용자 단말기(300) 정보를 네트워크 연결을 통하여 수신하고, 해당 사용자 단말기(300)로 해당 응용 프로그램의 해쉬값 원본을 전송한다.
또한 인증 서버(200)는 응용 프로그램 제공 서버(100)로부터 해쉬값 원본을 수신하지 않고, 응용 프로그램 파일만 수신하며, 인증 서버(200) 자체적으로 응용 프로그램의 실행 코드와 설정 파일 또는 응용 프로그램 전체를 해싱하여 해쉬값 원본을 생성하고, 생성한 해쉬값 원본을 저장 할 수도 있다.
그리고 사용자 단말기(300)는 인증 서버(200)로부터 수신한 해쉬값 원본을 사용자 단말기(300)와 페어링된 주변기기(400)로 전달한다. 그리고 응용 프로그램이 실행될 때, 사용자 단말기(300)는 인증 서버(200) 또는 페어링된 주변기기(400)로부터 해쉬값 원본을 수신한다. 그리고 수신한 해쉬값 원본과 생성한 해쉬값을 비교하여 해당 응용 프로그램의 위변조 여부를 판단한다.
여기서 사용자 단말기(300)는 응용 프로그램을 설치하여 실행할 수 있는 단말기로서, 스마트폰, 스마트 패드, 휴대폰, 노트북 컴퓨터, 태블릿 PC, PDA(Personal Digital Assistant) 등이 해당된다. 특히, 스마트폰 또는 스마트 패드의 경우 응용 프로그램은 기기 상에 애플리케이션으로 제공할 수 있다.
여기서 애플리케이션은 단말 상의 응용 프로그램을 의미하며, 예를 들어 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다. 사용자는 앱(app)을 모바일 콘텐츠를 자유롭게 사고 파는 가상의 장터인 모바일 애플리케이션 마켓에서 다운로드 받아 스마트폰 등의 사용자 단말기(300)에 설치할 수 있으며, 여기서 모바일 애플리케이션 마켓은 응용 프로그램 제공 서버(100)에 해당한다.
또한 사용자 단말기(300)는 응용 프로그램 제공 서버(100)에서 응용 프로그램 파일을 다운로드 받아서 설치하여 응용 프로그램을 실행할 수도 있고, 사용자 단말기(300) 자체에 기 설치된 다양한 애플리케이션을 실행할 수도 있다.
마지막으로, 주변기기(400)는 사용자 단말기(300)로부터 응용 프로그램의 해쉬값 원본을 수신하여 저장한다. 그리고 주변기기(400)는 사용자 단말기(300)로부터 실행 알림 메시지를 수신하면, 실행 알림 메시지를 통하여 요청받은 응용 프로그램의 해쉬값 원본을 포함하는 원본 메시지를 사용자 단말기(300)로 전송한다.
여기서 주변기기(400)는 사용자 단말기(300)와 통신할 수 있고, 해쉬값 원본을 저장할 수 있는 전기기기이다. 주변기기(400)는 스마트 와치, 스마트 안경, 스마트 밴드 등의 웨어러블 기기일 수 있으며, 사용자 단말기(300)와 통신이 가능한 외장하드, USB, OTG 등의 주변기기일 수 있다.
또한 활동 추적기, 모바일 포토 프린터, 홈모니터링 장치, 장난감, 의료기기 등의 앱세서리(Appcessory)를 주변기기(400)로 사용할 수 있다. 여기서 앱세서리는 사용자 단말기(300)인 스마트폰이 애플리케이션과 연동되어 스마트폰의 기능을 확장시켜주는 액세서리를 의미한다.
도 2는 본 발명의 실시예에 따른 인증 서버의 구성을 나타낸 블록도이다.
도 2와 같이, 인증 서버(200)는 통신부(210), 암복호화부(220), 데이터베이스(230)를 포함한다.
먼저, 통신부(210)는 사용자 단말기(300)로부터 실행 알림 메시지를 수신하고, 사용자 단말기(300)로 원본 메시지를 전송한다. 여기서 실행 알림 메시지는 해당 사용자 단말기(300)의 정보와 위변조 여부를 검사할 응용 프로그램의 정보를 포함한다. 실행 알림 메시지를 수신한 인증 서버(200)는 사용자 단말기(300)로 해당 응용 프로그램의 해쉬값 원본이 포함된 원본 메시지를 전송한다.
또한, 본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템이 주변기기(400)를 포함하는 경우, 인증 서버(200)는 사용자 단말기(300)로부터 요청 메시지를 수신하고, 사용자 단말기(300)로 응답 메시지를 전송한다.
여기서 요청 메시지는 실행 알림 메시지와 동일하게 사용자 단말기(300)의 정보와 위변조 여부를 검사할 응용 프로그램의 정보를 포함하며, 응답 메시지는 원본 메시지와 같이 해당 응용 프로그램의 해쉬값 원본을 포함한다.
다음으로 암복호화부(220)는 사용자 단말기(300)로 전송할 원본 메시지를 암호화한다. 또한 암복호화부(220)는 사용자 단말기(300)가 실행 알림 메시지를 암호화하여 전송한 경우, 수신한 실행 알림 메시지를 복호화 할 수 있다.
그리고, 본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템이 주변기기(400)를 포함하는 경우, 암복호화부(220)는 사용자 단말기(300)로부터 수신한 요청 메시지를 복호화하고, 사용자 단말기(300)로 전송할 응답 메시지를 암호화할 수 있다.
마지막으로 데이터베이스(230)는 응용 프로그램의 해쉬값 원본을 저장한다. 데이터베이스(230)는 서로 다른 복수의 응용 프로그램의 해쉬값 원본을 저장할 수 있으며, 복수의 해쉬값 원본을 저장하고 있는 경우, 통신부(210)는 데이터베이스(230)에 저장된 복수의 해쉬값 원본 중에서 수신한 요청 메시지 또는 실행 알림 메시지에 포함된 응용 프로그램 정보에 대응하는 해쉬값 원본을 사용자 단말기(300)로 전송한다.
여기서 해쉬값 원본은 응용 프로그램 제공 서버(100)로부터 수신한 것이거나, 응용 프로그램 제공 서버(100)로부터 수신한 응용 프로그램 파일을 이용하여 인증 서버(200)가 생성한 것이다.
인증 서버(200)가 직접 해쉬값 원본을 생성하는 경우, 데이터베이스(230)는 응용 프로그램 제공 서버(100)로부터 수신한 응용 프로그램 파일을 더 저장할 수 있다.
도 3은 본 발명의 실시예에 따른 사용자 단말기의 구성을 나타낸 블록도이다.
도 3과 같이, 본 발명의 실시예에 따른 사용자 단말기(300)는 통신부(310), 암복호화부(320), 해쉬값 생성부(330), 위변조 판단부(340)를 포함한다.
먼저, 통신부(310)는 사용자 단말기(300)가 인증 서버(200)와 통신할 수 있도록 한다. 통신부(310)는 사용자 단말기(300)에 설치된 응용 프로그램 중에서 위변조 여부를 탐지하고자 하는 응용 프로그램의 정보와 사용자 단말기(300)의 정보를 포함하는 실행 알림 메시지를 인증 서버(200)로 전송한다.
이때, 위변조 여부를 탐지하고자 하는 응용 프로그램은 사용자가 실행시키고자 하는 응용 프로그램이며, 응용 프로그램 실행시 통신부(310)는 인증 서버(200)로 실행 알림 메시지를 전송한다. 그리고 통신부(310)는 인증 서버(200)로부터 해당 응용 프로그램의 해쉬값 원본이 포함된 원본 메시지를 수신한다.
또한, 본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템이 주변기기(400)를 포함하는 경우, 사용자 단말기(300)의 통신부(310)는 주변기기(400)와도 통신을 수행한다. 사용자 단말기(300)가 주변기기(400)와 페어링을 수행할 때, 인증 서버(200)로부터 수신한 해쉬값 원본을 주변기기(400)로 전송한다. 그리고, 응용 프로그램이 실행될 때, 주변기기(400)로 실행 알림 메시지를 전송하고, 주변기기(400)로부터 해당 응용 프로그램의 해쉬값 원본이 포함된 원본 메시지를 수신한다.
다음으로 암복호화부(320)는 통신부(310)를 통하여 인증 서버(200)로부터 수신한 원본 메시지를 복호화한다. 또한 암복호화부(320)는 인증 서버(200)로 전송할 실행 알림 메시지를 암호화할 수 있다. 그리고 사용자 단말기(300)가 인증 서버(200)로부터 수신한 응답 메시지를 복호화하지 않고 주변기기(400)로 전송하는 경우, 암복호화부(320)는 응용 프로그램 실행시 주변기기(400)로부터 수신한 원본 메시지를 복호화하여 응용 프로그램의 해쉬값 원본을 획득할 수도 있다.
그리고 해쉬값 생성부(330)는 응용 프로그램 제공 서버(100)로부터 응용 프로그램 파일을 다운로드 받아 사용자 단말기(300)에 설치할 때, 해당 응용 프로그램의 해쉬값을 생성한다. 또한 해쉬값 생성부(330)는 생성한 해쉬값을 저장한다.
마지막으로, 위변조 판단부(340)는 저장된 해쉬값을 로딩하여 인증 서버(200)로부터 수신한 해쉬값 원본과 비교한다. 이때, 사용자 단말기(300)는 검사모드로 전환하여 해쉬값을 비교할 수 있다.
그리고 위변조 판단부(340)는 해쉬값을 비교하여 해당 응용 프로그램의 위변조 여부를 판단하고, 위변조 여부 판단 결과에 따라 해당 응용 프로그램의 실행 여부를 결정한다.
본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템은 주변기기를 더 포함할 수 있으며, 도 4는 본 발명의 실시예에 따른 주변기기의 구성을 나타낸 블록도이다.
도 4에 나타낸 것처럼, 주변기기(400)는 통신부(410)와 저장부(420)를 포함한다. 먼저 통신부(410)는 사용자 단말기(300)와 통신을 수행한다. 사용자 단말기(300)와 유선 또는 무선으로 페어링 연결할 때, 사용자 단말기(300)로부터 응용 프로그램의 해쉬값 원본을 수신한다. 그리고 사용자 단말기(300)에 설치된 응용 프로그램이 실행될 때, 사용자 단말기(300)로부터 실행 알림 메시지를 수신하고, 사용자 단말기(300)로 원본 메시지를 전송한다.
그리고 저장부(420)는 통신부(410)가 수신한 응용 프로그램의 해쉬값 원본을 저장한다.
저장부(420)는 서로 다른 복수의 응용 프로그램의 해쉬값 원본을 저장할 수 있으며, 복수의 해쉬값 원본을 저장하고 있는 경우, 통신부(410)는 저장부(420)에 저장된 복수의 해쉬값 원본 중에서 수신한 실행 알림 메시지에 포함된 응용 프로그램 정보에 대응하는 해쉬값 원본을 사용자 단말기(300)로 전송한다.
이하에서는 도 5 및 도 7을 통하여 본 발명의 실시예에 따른 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 방법에 대하여 더욱 상세하게 설명한다.
먼저, 도 5은 본 발명의 제1 실시예를 설명하기 위한 도면으로, 주변기기를 포함하지 않고 인증 서버를 통하여 수신한 해쉬값 원본을 이용하여 위변조 여부를 판단하기 위한 기술이며, 도 6은 본 발명의 제2 실시예를 설명하기 위한 도면으로, 주변 기기를 통하여 수신한 해쉬값 원본을 이용하여 위변조 여부를 판단하기 위한 기술이다.
도 5은 본 발명의 제1 실시예에 따른 응용 프로그램의 위변조 여부를 탐지하는 방법을 설명하기 위한 순서도이다.
도 5에 나타낸 것처럼, 사용자 단말기(300)에 설치된 응용 프로그램이 실행되면, 사용자 단말기(300)는 인증 서버(200)로 실행 알림 메시지를 전송한다(S510). 이때, 실행 알림 메시지는 사용자 단말기(300)의 정보와 사용자가 실행시키고자 하는 응용 프로그램의 정보를 포함하며, 사용자 단말기(300)는 응용 프로그램의 위변조 여부 탐지에 필요한 해쉬값 원본을 요청하기 위하여 실행 알림 메시지를 인증 서버(200)로 전송한다.
여기서, 인증 서버(200)는 사용자 단말기(300)에 설치된 응용 프로그램의 해쉬값 원본을 응용 프로그램 제공 서버(100)로부터 수신하여 미리 저장하고 있다. 또한 인증 서버(200)는 응용 프로그램 제공 서버(100)로부터 해쉬값 원본을 수신하지 않고, 인증 서버(200)가 응용 프로그램 제공 서버(100)로부터 수신한 응용 프로그램 파일의 실행 코드와 설정 파일 또는 응용 프로그램 전체에 해싱 기법을 적용하여 해쉬값 원본을 생성하고, 생성한 해쉬값 원본을 저장하고 있을 수 있다.
그리고 사용자 단말기(300)는 인증 서버(200)로부터 원본 메시지를 수신한다(S520). 원본 메시지에는 S510 단계에서 사용자 단말기(300)가 인증 서버(200)로 실행 알림 메시지를 전송하며 요청한 응용 프로그램의 해쉬값 원본이 포함되어 있다.
인증 서버(200)가 원본 메시지를 암호화 하여 전송한 경우, 사용자 단말기(300)는 수신한 원본 메시지를 복호화한다(S530). 사용자 단말기(300)는 수신한 원본 메시지를 복호화하여 응용 프로그램의 해쉬값 원본을 획득한다.
여기서 해쉬값은 임의의 데이터로부터 일종의 짧은 전자 지문을 생성하는 해쉬 함수(Hash Function) 또는 해쉬 알고리즘(Hash Algorithm)으로부터 생성된 결과값을 의미한다.
해쉬 함수란 임의의 길이의 문자열을 고정된 길이의 이진 문자열로 매핑하여 주는 함수를 의미한다. 데이터를 자르고, 치환하거나 위치를 바꾸는 방법을 이용하여 해쉬값(Hash Value)을 생성한다. 대표적인 해쉬 함수로는 SHA(Secure Hash Algorithm) 또는 국내에서 개발된 HAS-160가 있다.
해쉬 함수 또는 해쉬 알고리즘을 적용하여 생성한 해쉬값이 다르면 그 해쉬값에 대응하는 원래의 데이터도 다르다. 이러한 해쉬의 특징을 이용하여 해쉬값은 데이터의 무결성, 인증, 부인 방지 등에 응용된다. 즉, 해쉬값을 이용하여 다운로드 된 파일을 검증하거나, 전자 서명에서 원문의 내용이 변조되었는지 여부를 판단하며, 암호화에 해쉬값을 이용하기도 한다.
그리고 사용자 단말기(300)는 설치된 응용 프로그램의 해쉬값을 생성한다(S510).
사용자 단말기(300)는 응용 프로그램의 실행 코드와 설정 파일 또는 응용 프로그램 전체에 해싱 기법을 적용하여 해쉬값을 생성하고, 생성한 해쉬값을 저장한다. 이때 생성하여 저장된 해쉬값은 S550 단계에서 로딩되어 해당 응용 프로그램의 위변조 여부를 탐지할 때 사용된다.
다음으로 사용자 단말기(300)는 저장되어 있는 생성된 해쉬값을 로딩하여 인증 서버(200)로부터 수신한 해쉬값 원본과 생성된 해쉬값을 비교한다(S550). 이때, 사용자 단말기(300)를 검사모드로 전환한 상태에서 해쉬값을 비교할 수 있다.
그리고 사용자 단말기(300)는 해쉬값의 비교 결과에 따라 해당 응용 프로그램의 실행 여부를 결정한다(S560).
S550 단계에서 해쉬값을 비교한 결과 해쉬값 원본과 생성된 해쉬값이 동일하다고 판단된 경우, 사용자 단말기(300)는 해당 응용 프로그램을 위변조 되지 않은 것으로 판단하고, 사용자 단말기(300)를 실행 모드로 전환하여 해당 응용 프로그램을 실행한다.
그러나 해쉬값 원본과 생성된 해쉬값이 동일하지 않은 경우, 사용자 단말기(300)는 해당 응용 프로그램이 위변조 된 것으로 판단하여 해당 응용 프로그램의 실행을 종료한다.
또한, 사용자 단말기(300)에 설치된 응용 프로그램이 위변조 된 것으로 판단되면, 사용자 단말기(300)는 해당 응용 프로그램이 위변조 되었음을 알리는 메시지를 사용자 단말기(300)에 표시할 수 있다. 그리고 응용 프로그램 제공 서버(100) 또는 인증 서버(200)로 해당 응용 프로그램의 위변조 된 프로그램이 유포되었음을 알리는 메시지를 전송할 수 있다.
이하에서는 도 6 및 도 7을 통하여 본 발명의 실시예에 따른 응용 프로그램의 위변조 여부 탐지 시스템이 주변기기(400)를 포함하는 경우, 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 방법에 대하여 상세하게 설명한다.
도 6은 본 발명의 제2 실시예에 따른 응용 프로그램의 위변조 여부를 탐지하는 방법을 설명하기 위한 순서도이고, 도 7은 본 발명의 제2 실시예에 따른 응용 프로그램의 위변조 여부를 탐지하는 방법을 설명하기 위한 도면이다.
도 6 및 도 7에 나타낸 것처럼, 사용자 단말기(300)에 응용 프로그램이 설치되는 과정에서, 사용자 단말기(300)의 주변에 주변기기(400)가 존재하는 경우, 사용자 단말기(300)는 해당 주변기기(400)와 페어링 연결을 수행한다(S610).
페어링(Pairing)이란 유선 또는 무선 통신을 통하여 두 기기를 하나의 쌍으로 묶는 것을 의미하며, 본 발명의 실시예에 따른 모바일 응용 프로그램 위변조 탐지 방법에서는 사용자 단말기(300)와 주변기기(400)를 하나의 쌍으로 연결하는 페어링 작업을 수행한다. 사용자 단말기(300)는 페어링 작업으로 주변기기(400)와 연결한 후, 후술할 S660 단계를 통하여 페어링된 주변기기(400)로 응용 프로그램의 해쉬값 원본을 전송할 수 있다.
페어링 연결을 수행할 때, 사용자 단말기(300)는 주변기기(400)로 주변 전자 기기를 탐색하는 메시지를 전송하고, 주변기기(400)는 주변기기(400)의 정보를 포함하는 메시지를 사용자 단말기(400)로 전송한다. 그리고 사용자 단말기(300)는 주변기기(400)로 사용자 단말기(400)의 정보와 주변기기(400)에 저장하고자 하는 해쉬값 원본에 대응하는 응용 프로그램의 정보를 전송한다. 사용자 단말기(400)의 정보와 응용 프로그램의 정보를 수신한 주변기기(400)는 해당 사용자 단말기(400)와 응용 프로그램의 정보를 주변기기(400)에 등록시킨다.
사용자 단말기(300)와 주변기기(400)의 페어링 연결이 완료되면, 주변기기(400)는 사용자 단말기(300)로 해쉬값 원본을 요청한다(S620).
그리고 사용자 단말기(300)는 인증 서버(200)로 해쉬값 원본을 요청하는 요청 메시지를 전송한다(S630).
사용자 단말기(300)가 인증 서버(200)로 요청 메시지를 전송하는 S630 단계는 도 5의 S510 단계에서 사용자 단말기(300)가 인증 서버(200)로 실행 알림 메시지를 전송하는 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
그리고 사용자 단말기(300)는 인증 서버(200)로부터 응답 메시지를 수신한다(S640). 이때, 응답 메시지에는 도 5의 S520 단계에서 인증 서버(200)로부터 수신하는 원본 메시지와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
다음으로 사용자 단말기(300)는 수신한 응답 메시지를 복호화한다(S650). 사용자 단말기(300)가 응답 메시지를 복호화하여 해쉬값 원본을 획득하는 과정은 도 5의 S530 단계에서 사용자 단말기(300)가 수신한 원본 메시지를 복호화하는 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
그리고 사용자 단말기(300)는 주변기기(400)로 해쉬값 원본을 전송하고(S660), 주변기기(400)는 수신한 해쉬값 원본을 저장한다(S670).
설명의 편의상, 사용자 단말기(300)는 S650 단계에서 인증 서버(200)로부터 수신한 응답 메시지를 복호화한 후, S660 단계를 통하여 주변기기(400)로 해쉬값 원본을 전송한다고 하였다. 그러나 이에 한정하지 않고, S640 단계에서 수신한 응답 메시지를 복호화하지 않고 주변기기(400)로 전송하고, 후술할 S690 단계에서 주변기기(400)로부터 해쉬값 원본이 포함된 원본 메시지를 수신한 이후에 원본 메시지를 복호화하여 해쉬값 원본을 획득할 수도 있다.
반면, 사용자 단말기(300)에 이미 설치되어 있는 응용 프로그램이 실행되는 경우, 주변기기(400)는 해당 응용 프로그램의 해쉬값 원본을 이미 저장하고 있으므로 위변조 여부 탐지 시스템은 S610 단계 내지 S670 단계를 생략하고, 후술할 S680 단계를 진행한다.
사용자 단말기(300)에 이미 설치되어 있는 응용 프로그램이 실행되는 경우, 사용자 단말기(300)는 해당 응용 프로그램의 해쉬값 원본을 저장하고 있는 주변기기(400)로 실행 알림 메시지를 전송한다(S680).
이때, 실행 알림 메시지는 도 5의 S510 단계에서 사용자 단말기(300)가 인증 서버(200)로 전송하는 실행 알림 메시지와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
그리고 사용자 단말기(300)는 주변기기(400)로부터 해당 응용 프로그램의 해쉬값 원본이 포함된 원본 메시지를 수신한다(S690).
이때, 원본 메시지는 도 5의 S520 단계에서 수신한 원본 메시지와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
그리고 사용자 단말기(300)는 설치된 응용 프로그램의 해쉬값을 생성하고, 생성한 해쉬값을 저장한다(S700).
다음으로 사용자 단말기(300)는 S700 단계에서 생성하여 저장한 해쉬값을 로딩하여 주변기기(400)로부터 수신한 해쉬값 원본과 비교한다(S710). 이때, 사용자 단말기(300)를 검사모드로 전환한 상태에서 해쉬값을 비교할 수 있다.
그리고 사용자 단말기(300)는 S710 단계의 해쉬값 비교 결과에 따라 응용 프로그램의 실행 여부를 결정한다(S720). 응용 프로그램의 위변조 여부를 판단하여 응용 프로그램의 실행 여부를 결정하는 S720 단계는 도 5의 S560 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
이와 같이 본 발명의 실시예에 따르면, 위변조 된 응용 프로그램으로부터 사용자 단말기를 보호할 수 있다. 또한 플랫폼 수준에서 응용 프로그램 위변조를 탐지함으로써, 우회 및 회피가 가능한 응용 프로그램 수준에서의 위변조 탐지 방법의 한계점을 극복할 수 있다.
또한 응용 프로그램의 위변조 여부 탐지에 필요한 해쉬값 원본을 주변기기에 저장하는 경우, 인터넷 환경이 열악한 조건에서도 사용자 단말기는 주변기기로부터 해쉬값 원본을 수신하여 해당 응용 프로그램의 위변조 여부를 탐지할 수 있다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 응용 프로그램 제공 서버 200 : 인증 서버
210 : 통신부 220 : 암복호화부
230 : 데이터베이스 300 : 사용자 단말기
310 : 통신부 320 : 암복호화부
330 : 해쉬값 생성부 340 : 위변조 판단부
400 : 주변기기 410 : 통신부
420 : 저장부

Claims (12)

  1. 설치된 응용 프로그램의 위변조를 탐지하기 위한 사용자 단말기에 있어서,
    상기 응용 프로그램이 설치될 때 상기 사용자 단말기가 주변 기기와 페어링 되어 있는 경우, 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하여 상기 주변 기기로 전달하고, 상기 설치된 응용 프로그램이 실행될 때, 플랫폼 레벨에서 상기 인증 서버로 상기 사용자 단말기 정보와 상기 응용 프로그램의 정보를 전송하여 상기 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하거나, 상기 사용자 단말기와 페어링된 상기 주변 기기로부터 상기 응용 프로그램의 해쉬값 원본을 수신하는 통신부,
    플랫폼 레벨에서 상기 사용자 단말기에 설치된 상기 응용 프로그램의 해쉬값을 생성하는 해쉬값 생성부, 그리고
    플랫폼 레벨에서 상기 인증 서버 또는 상기 주변 기기로부터 수신한 상기 해쉬값 원본과 상기 생성된 해쉬값을 비교하여 상기 응용 프로그램의 위변조 여부를 판단하는 위변조 판단부를 포함하는 사용자 단말기.
  2. 삭제
  3. 제1항에 있어서,
    상기 위변조 판단부는,
    상기 응용 프로그램이 위변조된 것으로 판단되면 상기 응용 프로그램의 실행을 종료하고, 상기 응용 프로그램이 위변조되지 않은 것으로 판단되면 상기 응용 프로그램을 실행하는 사용자 단말기.
  4. 제1항에 있어서,
    상기 위변조 판단부는,
    상기 응용 프로그램이 위변조된 것으로 판단되면,
    상기 응용 프로그램이 위변조 되었음을 알리는 위변조 위험 경고창을 출력하는 사용자 단말기.
  5. 제1항에 있어서,
    상기 해쉬값 생성부는,
    상기 응용 프로그램의 실행 코드와 설정 파일 또는 상기 응용 프로그램 전체에 해싱 기법을 적용하여 상기 해쉬값을 생성하는 사용자 단말기.
  6. 제1항에 있어서,
    상기 인증 서버로부터 수신한 상기 응용 프로그램의 해쉬값 원본을 복호화하는 암복호화부를 더 포함하는 사용자 단말기.
  7. 응용 프로그램이 설치된 사용자 단말기의 응용 프로그램 위변조 탐지 방법에 있어서,
    상기 응용 프로그램이 설치될 때 상기 사용자 단말기가 주변 기기와 페어링 되어 있는 경우, 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하여 상기 주변 기기로 전달하는 단계,
    상기 설치된 응용 프로그램이 실행될 때, 플랫폼 레벨에서 상기 인증 서버로 상기 사용자 단말기 정보와 상기 응용 프로그램의 정보를 전송하여 상기 인증 서버로부터 상기 응용 프로그램의 해쉬값 원본을 수신하거나, 상기 사용자 단말기와 페어링된 상기 주변 기기로부터 상기 응용 프로그램의 해쉬값 원본을 수신하는 단계,
    플랫폼 레벨에서 상기 사용자 단말기에 설치된 상기 응용 프로그램의 해쉬값을 생성하는 단계, 그리고
    플랫폼 레벨에서 상기 인증 서버 또는 상기 주변 기기로부터 수신한 상기 해쉬값 원본과 상기 생성된 해쉬값을 비교하여 상기 응용 프로그램의 위변조 여부를 판단하는 단계를 포함하는 응용 프로그램 위변조 탐지 방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 응용 프로그램이 위변조된 것으로 판단되면 상기 응용 프로그램의 실행을 종료하고, 상기 응용 프로그램이 위변조되지 않은 것으로 판단되면 상기 응용 프로그램을 실행하는 응용 프로그램 위변조 탐지 방법.
  10. 제7항에 있어서,
    상기 응용 프로그램이 위변조된 것으로 판단되면,
    상기 응용 프로그램이 위변조 되었음을 알리는 위변조 위험 경고창을 출력하는 응용 프로그램 위변조 탐지 방법.
  11. 제7항에 있어서,
    상기 해쉬값을 생성하는 단계는,
    상기 응용 프로그램의 실행 코드와 설정 파일 또는 상기 응용 프로그램 전체에 해싱 기법을 적용하여 상기 해쉬값을 생성하는 응용 프로그램 위변조 탐지 방법.
  12. 제7항에 있어서,
    상기 인증 서버로부터 수신한 상기 응용 프로그램의 해쉬값 원본을 복호화하는 단계를 더 포함하는 응용 프로그램 위변조 탐지 방법.
KR1020150002936A 2014-10-20 2015-01-08 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법 KR101537205B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2015/002200 WO2016064041A1 (ko) 2014-10-20 2015-03-06 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
US15/109,235 US20160330030A1 (en) 2014-10-20 2015-03-06 User Terminal For Detecting Forgery Of Application Program Based On Hash Value And Method Of Detecting Forgery Of Application Program Using The Same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20140141954 2014-10-20
KR1020140141954 2014-10-20

Publications (1)

Publication Number Publication Date
KR101537205B1 true KR101537205B1 (ko) 2015-07-16

Family

ID=53884963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150002936A KR101537205B1 (ko) 2014-10-20 2015-01-08 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법

Country Status (3)

Country Link
US (1) US20160330030A1 (ko)
KR (1) KR101537205B1 (ko)
WO (1) WO2016064041A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101616793B1 (ko) * 2015-12-18 2016-04-29 국방과학연구소 애플리케이션 무결성 검사 방법
CN106850519A (zh) * 2016-01-08 2017-06-13 北京万维星辰科技有限公司 应用安全性认证方法及装置
KR101932656B1 (ko) * 2016-12-16 2018-12-26 아토리서치(주) 소프트웨어 정의 네트워크를 방어하는 방법, 장치 및 컴퓨터 프로그램
KR20200055251A (ko) * 2018-11-13 2020-05-21 네이버비즈니스플랫폼 주식회사 사용자 개인키를 활용한 어플리케이션 위변조 판단 방법, 동적 토큰을 활용한 어플리케이션 관련 패킷 유효성 인증 방법 및 그 시스템
KR20210113840A (ko) * 2020-03-09 2021-09-17 엔에이치엔 주식회사 프로그램 코드 조작 검출 방법 및 그 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2016325188A1 (en) * 2016-06-17 2018-01-18 Hewlett-Packard Development Company, L.P. Replaceable item authentication
KR101917560B1 (ko) 2018-02-01 2018-11-09 강최희 바이럴 마케팅을 위한 블로깅 서비스 제공장치
KR101917561B1 (ko) 2018-02-01 2018-11-09 강최희 바이럴 마케팅을 위한 블로깅 서비스 제공 시스템
BR102021001278A2 (pt) * 2021-01-22 2022-08-09 Rogerio Atem De Carvalho Dispositivo e método para autenticação de hardware e/ou software embarcado

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101256462B1 (ko) * 2012-08-06 2013-04-19 주식회사 안랩 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법
KR101277517B1 (ko) * 2012-12-04 2013-06-21 주식회사 안랩 애플리케이션 위/변조 탐지장치 및 방법
KR20140004819A (ko) * 2012-06-20 2014-01-14 (주)쉬프트웍스 안드로이드 난독화 기법을 이용한 어플리케이션 위변조 탐지 방법
KR20140106940A (ko) * 2013-02-27 2014-09-04 한국전자통신연구원 모바일 단말용 애플리케이션 검증 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006101549A2 (en) * 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
US8818897B1 (en) * 2005-12-15 2014-08-26 Rockstar Consortium Us Lp System and method for validation and enforcement of application security

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140004819A (ko) * 2012-06-20 2014-01-14 (주)쉬프트웍스 안드로이드 난독화 기법을 이용한 어플리케이션 위변조 탐지 방법
KR101256462B1 (ko) * 2012-08-06 2013-04-19 주식회사 안랩 모바일 애플리케이션의 위변조 탐지 장치, 시스템 및 방법
KR101277517B1 (ko) * 2012-12-04 2013-06-21 주식회사 안랩 애플리케이션 위/변조 탐지장치 및 방법
KR20140106940A (ko) * 2013-02-27 2014-09-04 한국전자통신연구원 모바일 단말용 애플리케이션 검증 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101616793B1 (ko) * 2015-12-18 2016-04-29 국방과학연구소 애플리케이션 무결성 검사 방법
CN106850519A (zh) * 2016-01-08 2017-06-13 北京万维星辰科技有限公司 应用安全性认证方法及装置
KR101932656B1 (ko) * 2016-12-16 2018-12-26 아토리서치(주) 소프트웨어 정의 네트워크를 방어하는 방법, 장치 및 컴퓨터 프로그램
KR20200055251A (ko) * 2018-11-13 2020-05-21 네이버비즈니스플랫폼 주식회사 사용자 개인키를 활용한 어플리케이션 위변조 판단 방법, 동적 토큰을 활용한 어플리케이션 관련 패킷 유효성 인증 방법 및 그 시스템
KR102200553B1 (ko) 2018-11-13 2021-01-11 네이버클라우드 주식회사 사용자 개인키를 활용한 어플리케이션 위변조 판단 방법, 동적 토큰을 활용한 어플리케이션 관련 패킷 유효성 인증 방법 및 그 시스템
KR20210113840A (ko) * 2020-03-09 2021-09-17 엔에이치엔 주식회사 프로그램 코드 조작 검출 방법 및 그 장치
KR102337963B1 (ko) * 2020-03-09 2021-12-10 엔에이치엔 주식회사 프로그램 코드 조작 검출 방법 및 그 장치

Also Published As

Publication number Publication date
WO2016064041A1 (ko) 2016-04-28
US20160330030A1 (en) 2016-11-10

Similar Documents

Publication Publication Date Title
KR101537205B1 (ko) 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
EP3704613B1 (en) Provisioning trusted execution environment(s) based on chain of trust including platform
EP3446435B1 (en) Key-attestation-contingent certificate issuance
US20240187249A1 (en) Provisioning trusted execution environment based on chain of trust including platform
KR101891420B1 (ko) DaaS를 위한 컨텐츠 보호
CN108763917B (zh) 一种数据加解密方法及装置
US9338012B1 (en) Systems and methods for identifying code signing certificate misuse
JP5827692B2 (ja) バインドされたデータカード及び移動ホストの認証方法、装置及びシステム
KR101566141B1 (ko) 서명정보를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
CN111163094B (zh) 网络攻击检测方法、网络攻击检测装置、电子设备和介质
US20170230184A1 (en) Granting access through app instance-specific cryptography
CN111163095A (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
KR101518689B1 (ko) 핵심 코드를 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
KR101472346B1 (ko) 암호화된 웹 어플리케이션 제공 방법, 이를 지원하는 단말, 및 이를 위한 기록매체
KR101235517B1 (ko) 메모리에서 실행되는 컴퓨터 프로그램의 변조 탐지 방법
CN109729045B (zh) 单点登录方法、***、服务器以及存储介质
CN111224826B (zh) 基于分布式***的配置更新方法、设备、***及介质
CN113127844A (zh) 一种变量访问方法、装置、***、设备和介质
JP2008176429A (ja) 機密情報漏洩防止システム、機密情報漏洩防止方法、機密情報漏洩防止プログラム
CN111541682B (zh) 一种数据安全检测方法、装置、存储介质和电子设备
US20160275271A1 (en) User Terminal And Method For Protecting Core Codes Using Peripheral Device of User Terminal
CN108804122B (zh) 信息安全处理***、虚拟专用服务器及其控制方法
CN105323287B (zh) 第三方应用程序的登录方法及***
KR101566142B1 (ko) 사용자 단말기 및 그것을 이용한 응용 프로그램의 핵심코드 보호 방법
KR102534012B1 (ko) 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법

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: 20180702

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 5