KR20160065261A - 앱 위변조 방지시스템 및 그 방법 - Google Patents

앱 위변조 방지시스템 및 그 방법 Download PDF

Info

Publication number
KR20160065261A
KR20160065261A KR1020140168203A KR20140168203A KR20160065261A KR 20160065261 A KR20160065261 A KR 20160065261A KR 1020140168203 A KR1020140168203 A KR 1020140168203A KR 20140168203 A KR20140168203 A KR 20140168203A KR 20160065261 A KR20160065261 A KR 20160065261A
Authority
KR
South Korea
Prior art keywords
file
application
forgery
verification code
verification
Prior art date
Application number
KR1020140168203A
Other languages
English (en)
Other versions
KR101642267B1 (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 KR1020140168203A priority Critical patent/KR101642267B1/ko
Publication of KR20160065261A publication Critical patent/KR20160065261A/ko
Application granted granted Critical
Publication of KR101642267B1 publication Critical patent/KR101642267B1/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
    • 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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 앱 위변조 방지시스템 및 그 방법에 관한 것으로서, 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스를 일반 클래스와 분리관리하고, 앱과 서버간 검증을 통한 앱의 위변조를 방지하기 위한 앱 위변조 방지시스템 및 그 방법에 관한 것이다.
상술한 바에 의하면, 어플리케이션 앱 빌드시 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스를 일반 클래스와 분리하여 관리하고, 앱과 서버간 검증을 통해 위조되거나 변조된 어플리케이션을 BL 등록처리하여 연결을 종료시켜 현재 연결의 정당성을 관리할 수 있는 효과가 있다.

Description

앱 위변조 방지시스템 및 그 방법{System for preventing forgery of application and method therefor}
본 발명은 앱 위변조 방지시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스를 일반 클래스와 분리관리하고, 앱과 서버간 검증을 통한 앱의 위변조를 방지하기 위한 앱 위변조 방지시스템 및 그 방법에 관한 것이다.
종래, 도 1에 도시된 바와 같이, 한국공개특허 10-2007-0111816, 서버에서 위변조 차단칩이나 암호화 소프트웨어 애플리케이션을 통해 위변조를 차단하는 기술 외에 다수 출원 및 공개된 바 있다.
도 2는 앱 빌드과정을 나타낸 도면이다. 도 2에 도시된 바와 같이, 안드로이드 앱 빌드 과정은 N개의 자바 class(N은 자연수)로 이루어진 class 파일을 dex파일 형식으로 생성하고, 앱 빌더와 jarsigner를 통해 어플리케이션 앱을 생성한다.
도 3은 앱 위변조 과정설명을 위한 도면이다. 도 3에 도시된 바와 같이, 안드로이드 앱 위변조 과정은 APK파일의 class.dex파일을 dex2jar를 통해 class 파일로 추출하고, 추출된 class파일은 jad 툴을 이용하여 java 소스 파일로 디컴파일하며, java 소스 수정 후 apk 툴을 이용하여 APK'로 리패키징하게 된다.
최근, 스마트폰이나 태블릿 PC등과 같은 휴대용 기기가 널리 보급되면서, 이러한 휴대용 기기에서 사용 가능한 다양한 어플리케이션에 대한 관심이 증가하고 있다.
스마트폰이나 태블릿 PC등과 같은 휴대용 기기를 사용하는 사용자는 자신의 휴대용 기기를 통해 소정의 어플리케이션 제공 서버에 접속하여 게임이나 온라인 금융 서비스 등과 같은 다양한 어플레케이션을 다운로드받아 사용할 수 있다.
이렇게 어플리케이션의 활용이 증가하면서 어플리케이션을 불법으로 위조하거나 변조하여 사용하는 행위도 증가하고 있다. 이러한 어플리케이션이 불법으로 위변조되는 경우, 휴대용 기기 사용자의 개인 정보가 무방비로 노출될 수 있고, 어플리케이션 저작권이 침해되는 경우가 발생할 수 있다. 지난해 국내 인기 모바일게임의 소스코드를 해킹해 이를 바탕으로 불법복제한 사건이 발생했다.
또한, 어플리케이션을 불법으로 사용하기 위해, 스마트폰이나 태블릿 PC 등을 루팅(Rooting)하거나 탈옥(Jailbreak)하는 등 다양한 해킹 기술이 등장하고 있다. 특히, 모바일 뱅킹과 같은 금융 애플리케이션의 경우 금융당국 규제상 해킹 또는 루팅된 스마트폰에서는 사용할 수 없는데 이를 위변조한 앱을 통해 이러한 정책을 우회하고 있다. 이때 앱 안에 금융정보 유출과 같은 악의적인 기능을 삽입, 위변조해 배포한다면 심각한 2차 피해로 이어질 가능성이 있다.
따라서, 어플리케이션의 위조나 변조를 방지할 수 있고, 휴대용 기기의 해킹을 통해 불법적으로 어플리케이션을 사용하는 것을 방지할 수 있는 기술에 대한 연구가 필요한 실정이다.
본 발명의 목적은 전술한 점들을 감안하여 안출된 것으로, 어플리케이션 빌드시 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스를 일반 클래스와 분리하여 관리하는 앱 위변조 방지시스템 및 그 방법을 제공함에 있다.
그리고 앱과 서버간 검증을 통해 위조되거나 변조된 어플리케이션을 BL 등록처리하여 연결을 종료시키는 앱 위변조 방지시스템 및 그 방법을 제공함에도 있다.
본 발명은 어플리케이션 앱을 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하는 분리부; 제1 파일의 위변조 여부를 검증하기 위한 검증코드를 생성하여 제1 파일에 추가하도록 하는 검증서버부; 및 검증코드가 추가된 제1 파일을 암호화하여 검증서버부에 저장하고, 제1 파일을 제외한 어플리케이션 앱을 외부로 배포하는 앱 생성부;를 포함한다.
바람직하게는 제1 파일은 위변조 방지 대상파일이다. 분리부는 어플리케이션 앱의 위변조를 방지하기 위한 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하여 dex파일을 생성하는 dex파일 생성모듈; 및 dex파일 생성시, 검증서버부로부터 수신하는 검증코드를 제1 파일에 추가하는 위변조 감지모듈;을 더 포함한다.
검증서버부는 어플리케이션 앱 실행시, 일회용 위변조 검증코드를 생성하는 검증코드 생성모듈; 상기 일회용 위변조 검증코드에 해당하는 암호화된 제1 파일을 어플리케이션 앱을 실행하는 사용자 단말기로 전달하여 상기 제1 파일이 동적 로딩되도록 하는 제1 파일 전송모듈; 및 사용자 단말기의 어플리케이션 앱의 동적 로딩 과정에서 수신하는 일회용 위변조 검증코드를 기등록된 값과 비교하여 위변조를 검증하는 검증모듈;을 포함한다. 이때, 앱 생성부는 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하도록 하는 암호화모듈; 및 제2 파일로 구성된 어플리케이션 앱을 외부로 배포하는 앱 배포모듈;을 포함한다.
한편, 앱 위변조 방지시스템을 이용한 방법은 (a) 어플리케이션 앱을 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하는 단계; (b) 상기 제1 파일의 위변조 여부를 검증하기 위한 검증코드를 생성하여 상기 제1 파일에 추가하는 단계; 및 (c) 상기 검증코드가 추가된 제1 파일을 암호화하여 저장하고, 상기 제1 파일을 제외한 어플리케이션 앱을 외부로 배포하는 단계;를 포함한다.
바람직하게 제1 파일은 위변조 방지 대상파일이고, 제 (a) 단계는 (a-1) 상기 어플리케이션 앱의 위변조를 방지하기 위한 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하여 dex파일을 생성하는 단계; 및 (a-2) 상기 dex파일 생성시, 검증서버부로부터 수신하는 검증코드를 상기 제1 파일에 추가하는 단계;를 더 포함하고, 제 (b) 단계는 (b-1) 상기 어플리케이션 앱 실행시, 일회용 위변조 검증코드를 생성하는 단계; (b-2) 상기 일회용 위변조 검증코드에 해당하는 암호화된 제1 파일을 상기 어플리케이션 앱을 실행하는 사용자 단말기로 전달하여 상기 제1 파일이 동적 로딩되도록 하는 단계; 및 (b-3) 상기 사용자 단말기의 어플리케이션 앱의 동적 로딩 과정에서 수신하는 일회용 위변조 검증코드를 기등록된 값과 비교하여 위변조를 검증하는 단계;를 더 포함한다.
상기 제 (c) 단계는 (c-1) 상기 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하도록 하는 단계; 및 (c-2) 상기 제2 파일로 구성된 어플리케이션 앱을 외부로 배포하는 단계;를 포함한다.
본 발명은 어플리케이션 앱 빌드시 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스를 일반 클래스와 분리하여 관리하고, 앱과 서버간 검증을 통해 위조되거나 변조된 어플리케이션을 BL 등록처리하여 연결을 종료시켜 현재 연결의 정당성을 관리할 수 있는 효과가 있다.
도 1은 종래기술의 위변조 차단기능을 구비한 시스템을 설명하는 도면이고,
도 2는 앱 빌드과정을 나타낸 도면이며,
도 3은 앱 위변조 과정설명을 위한 도면이고,
도 4는 본 발명의 일실시예에 따른 앱 위변조 방지시스템을 나타낸 도면이며,
도 5는 본 발명의 일실시예에 따른 앱 위변조 방지시스템의 위변조 방지를 위한 앱 빌드 절차를 나타낸 도면이고,
도 6은 본 발명의 일실시예에 따른 앱 위변조 방지시스템의 앱 위변조 검증 절차를 나타낸 도면이며,
도 7은 본 발명의 일실시예에 따른 앱 위변조 방지시스템을 이용한 방법에 대한 전체 흐름도이다.
본 발명의 구체적 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명을 상세하게 설명한다.
도 4는 본 발명의 일실시예에 따른 앱 위변조 방지시스템을 나타낸 도면이다.
도 4에 도시된 바와 같이, 본 발명에 따른 앱 위변조 방지시스템은 분리부(100), 검증서버부(200), 앱 생성부(300)를 포함한다.
분리부(100)는 어플리케이션 앱을 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하는 구성이다. 여기서, 제1 파일은 위변조 방지 대상파일로, 어플리케이션 앱 개발시 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스들을 구반하여 구현한다. 이러한 제1 파일은 Core Class이고, 제2 파일은 Normal Class이다.
이러한 분리부(100)는 dex파일 생성모듈(110)과 위변조 감지모듈(120)을 포함할 수 있다.
dex파일 생성모듈(110)은 어플리케이션 앱의 위변조를 방지하기 위한 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하여 dex파일을 생성하는 구성이다. 위변조 감지모듈(120)은 dex파일 생성시, 검증서버부로부터 수신하는 검증코드를 상기 제1 파일에 추가할 수 있다.
검증서버부(200)는 제1 파일의 위변조 여부를 검증하기 위한 검증코드를 생성하여 상기 제1 파일에 추가하도록 할 수 있다. 이러한 검증서버부(200)는 검증코드 생성모듈(210), 제1 파일 전송모듈(220), 검증모듈(230)을 포함할 수 있다.
검증코드 생성모듈(210)은 어플리케이션 앱 실행시, 일회용 위변조 검증코드를 생성할 수 있다.
제1 파일 전송모듈(220)은 일회용 위변조 검증코드에 해당하는 암호화된 제1 파일을 상기 어플리케이션 앱을 실행하는 사용자 단말기로 전달하여 상기 제1 파일이 동적 로딩되도록 할 수 있다.
검증모듈(230)은 사용자 단말기의 어플리케이션 앱의 동적 로딩 과정에서 수신하는 일회용 위변조 검증코드를 기등록된 값과 비교하여 위변조를 검증할 수 있다.
앱 생성부(300)는 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하고, 상기 제1 파일을 제외한 어플리케이션 앱을 외부로 배포할 수 있는 구성이다. 이러한 기능을 수행하기 위한 앱 생성부(300)는 암호화모듈(310), 앱 배포모듈(320)을 포함할 수 있다.
암호화모듈(310)은 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하도록 하는 구성이다.
앱 배포모듈(320)은 제1 파일을 제외한 제2 파일로 구성된 어플리케이션 앱을 외부로 배포하는 구성이다.
도 5는 본 발명의 일실시예에 따른 앱 위변조 방지시스템의 위변조 방지를 위한 앱 빌드 절차를 나타낸 도면이다.
도 5에 도시된 바와 같이, 어플리케이션 앱 개발시 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스들을 구분하여 제1 파일인 Core Class로 구현한다.
빌드 과정에서 Normal Class와 Core Class들을 분리하여 dex파일을 생성하고, Core Class의 dex 파일 생성시 사전 컴파일된 Tamper Detection.class(검증코드와 인증프로세스가 구현된 위변조 검증용 클래스)가 추가된다.
이때, Core Classes.dex 파일은 JAR포맷으로 압축하여 별도 서버에 보관할 수 있다. 그리고 APK 파일은 Core Class들이 누락된 채로 생성되어 사용자들에게 배포된다.
도 6은 본 발명의 일실시예에 따른 앱 위변조 방지시스템의 앱 위변조 검증 절차를 나타낸 도면이다.
도 6에 도시된 바와 같이, 앱과 서버간 앱 위변조 검증절차를 설명하면 다음과 같다.
사용자 단말기에서 어플리케이션 앱을 실행하면, 어플리케이션 앱의 사용자 정보 또는 사용자 단말기의 고유정보에 따라 Core Class를 요청하고, 서버에서는 Core Class제공 및 위변조 검증을 준비한다.
여기서, Core Class 전송시 OTP(일회용 검증코드 : One Time Password)를 요청한 앱정보와 함께 서버에 등록할 수 있다.
다음으로 Core Class 다운로드 위치를 전송하면 사용자 단말기에 Core Class가 다운로드되어 Core Class 동적 로딩을 실행한다.
다음으로 Core Class와 함께 동적 로딩된 위변조 검증 클래스는 Core Class파일을 삭제하고, 서버에 검증코드를 이용한 위변조 검증을 요청한다. 다음으로 서버에서는 위변조 검증을 판단하는데, 동적 로딩된 Core Class가 보내준 OTP를 등록된 값과 비교하여 현재 연결의 정당성을 관리한다.
이때, 위변조 검증에 실패하면 사용자 또는 USIM 또는 단말기에 대한 차단처리(BL, 블록처리)를 서버에 등록하고, 어플리케이션 앱 연결을 종료한다.
그리고 위변조 검증에 성공하면 사용자 단말기의 어플리케이션 앱에서 검증결과를 확인하여 검증에 성공하면 어플리케이션 앱 연결을 유지하고, 위변조 검증 실패이거나 서버가 미응답인 경우 어플리케이션 앱 연결을 종료한다.
본 발명의 일실시예에 따른 앱 위변조 방지시스템 및 그 방법은 어플리케이션 앱 영역에서 살펴보면 다음과 같다.
어플리케이션 앱을 Core Class(앱에서 보안성 유지와 중요한 업무 로직을 처리하는 핵심 클래스)와 이러한 Core Class를 실행하는 Launcher로 분리하여 빌드를 수행한다.
빌드 과정에서 Core Class 위변조 여부를 검증하기 위한 검증코드와 인증 프로세스를 제공하는 Tamper Detection Class를 추가하고, 분리한 Core Class들은 dex포맷으로 jar 압축하여 서버에서 관리하고 Launcher만 APK형태로 사용자에게 배포/설치된다.
Core Class는 앱 실행 후에 서버에서 다운로드 받아 단말기의 운영체제에 동적되고, 동적 로딩된 Core Class 내부에 저장된 위변조 검증코드(OTP)와 인증 프로세스를 이용하여 서버와 위변조 여부를 검증을 실시하고, 위변조 검증 실패시 해당 사용자 BL처리(사용 제한) 후 앱 강제 종료를 한다.
본 발명의 일실시예에 따른 앱 위변조 방지시스템 및 그 방법은 서버 영역에서 살펴보면 다음과 같다. 각 앱별로 위변조 검증코드의 수만큼 Core Classes.jar 파일을 관리할 수 있다. 여기서, Core Classes.jar은 Core Class들과 Tamper Detection Class를 포함한 dex파일을 JAR포맷으로 압축한 파일이다.
어플리케이션 앱 실행시 마다 일회용 위변조 검증코드를 선택하고 선택된 검증코드에 해당하는 Core Classes.jar파일을 사용자 단말기에 다운로딩되도록 처리하고, 앱이 전송한 검증코드와 서버의 검증코드를 비교하여 Core Class 위변조 여부를 검증한다. 이때, 위변조 검증 실패시 해당 사용자 또는 USIM 또는 단말기에 대한 BL처리를 수행한다.
도 7은 본 발명의 일실시예에 따른 앱 위변조 방지시스템을 이용한 방법에 대한 전체 흐름도이다. 앱 위변조 방지시스템을 이용한 방법은 도 7을 참조하여 설명하면 다음과 같다.
우선, 각 단계는 앱 위변조 방지시스템의 제어수단을 이용한 단계로서, 우선, 어플리케이션 앱을 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리한다(a). 여기서, 제 (a) 단계는 어플리케이션 앱의 위변조를 방지하기 위한 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하여 dex파일을 생성하는 단계(a-1)와, 상기 dex파일 생성시, 검증서버부로부터 수신하는 검증코드를 상기 제1 파일에 추가하는 단계(a-2)를 더 포함할 수 있다.
다음으로 제1 파일의 위변조 여부를 검증하기 위한 검증코드를 생성하여 제1 파일에 추가한다(b). 여기서, 제 (b) 단계는 어플리케이션 앱 실행시, 일회용 위변조 검증코드를 생성하는 단계(b-1)와, 일회용 위변조 검증코드에 해당하는 암호화된 제1 파일을 어플리케이션 앱을 실행하는 사용자 단말기로 전달하여 제1 파일이 동적 로딩되도록 하는 단계(b-2)와, 사용자 단말기의 어플리케이션 앱의 동적 로딩 과정에서 수신하는 일회용 위변조 검증코드를 기등록된 값과 비교하여 위변조를 검증하는 단계(b-3)를 더 포함할 수 있다.
그리고 검증코드가 추가된 제1 파일을 암호화하여 저장하고, 제1 파일을 제외한 어플리케이션 앱을 외부로 배포하는 단계를 포함한다(c). 제 (c) 단계는 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하도록 하는 단계(c-1)와, 제2 파일로 구성된 어플리케이션 앱을 외부로 배포하는 단계(c-2)를 포함할 수 있다.
상술한 본 발명에 의하면, 어플리케이션 앱 빌드시 위변조가 되어서는 안되는 중요한 업무를 처리하는 클래스를 일반 클래스와 분리하여 관리하고, 앱과 서버간 검증을 통해 위조되거나 변조된 어플리케이션을 BL 등록처리하여 연결을 종료시켜 현재 연결의 정당성을 관리할 수 있는 효과가 있다.
100 : 분리부 110 : dex파일 생성모듈
120 : 위변조 감지모듈 200 : 검증서버부
210 : 검증코드 생성모듈 220 : 제1 파일 전송모듈
230 : 검증모듈 300 : 앱 생성부
310 : 암호화 모듈 320 : 앱 배포모듈

Claims (10)

  1. 어플리케이션 앱을 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하는 분리부;
    상기 제1 파일의 위변조 여부를 검증하기 위한 검증코드를 생성하여 상기 제1 파일에 추가하도록 하는 검증서버부; 및
    상기 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하고, 상기 제1 파일을 제외한 어플리케이션 앱을 외부로 배포하는 앱 생성부;를 포함하는 것을 특징으로 하는 앱 위변조 방지시스템.
  2. 제 1 항에 있어서,
    상기 제1 파일은 위변조 방지 대상파일인 것을 특징으로 하는 앱 위변조 방지시스템.
  3. 제 1 항에 있어서,
    상기 분리부는,
    상기 어플리케이션 앱의 위변조를 방지하기 위한 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하여 dex파일을 생성하는 dex파일 생성모듈; 및
    상기 dex파일 생성시, 상기 검증서버부로부터 수신하는 검증코드를 상기 제1 파일에 추가하는 위변조 감지모듈;을 더 포함하는 것을 특징으로 하는 앱 위변조 방지시스템.
  4. 제 1 항에 있어서,
    상기 검증서버부는,
    상기 어플리케이션 앱 실행시, 일회용 위변조 검증코드를 생성하는 검증코드 생성모듈;
    상기 일회용 위변조 검증코드에 해당하는 암호화된 제1 파일을 상기 어플리케이션 앱을 실행하는 사용자 단말기로 전달하여 상기 제1 파일이 동적 로딩되도록 하는 제1 파일 전송모듈; 및
    상기 사용자 단말기의 어플리케이션 앱의 동적 로딩 과정에서 수신하는 일회용 위변조 검증코드를 기등록된 값과 비교하여 위변조를 검증하는 검증모듈;을 포함하는 것을 특징으로 하는 앱 위변조 방지시스템.
  5. 제 1 항에 있어서,
    상기 앱 생성부는,
    상기 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하도록 하는 암호화모듈; 및
    상기 제2 파일로 구성된 어플리케이션 앱을 외부로 배포하는 앱 배포모듈;을 포함하는 것을 특징으로 하는 앱 위변조 방지시스템.
  6. 앱 위변조 방지시스템을 이용한 방법에 있어서,
    (a) 어플리케이션 앱을 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하는 단계;
    (b) 상기 제1 파일의 위변조 여부를 검증하기 위한 검증코드를 생성하여 상기 제1 파일에 추가하는 단계; 및
    (c) 상기 검증코드가 추가된 제1 파일을 암호화하여 저장하고, 상기 제1 파일을 제외한 어플리케이션 앱을 외부로 배포하는 단계;를 포함하는 것을 특징으로 하는 앱 위변조 방지방법.
  7. 제 6 항에 있어서,
    상기 제1 파일은 위변조 방지 대상파일인 것을 특징으로 하는 앱 위변조 방지방법.
  8. 제 6 항에 있어서,
    상기 제 (a) 단계는,
    (a-1) 상기 어플리케이션 앱의 위변조를 방지하기 위한 제1 파일 및 상기 제1 파일을 실행하기 위한 제2 파일로 분리하여 dex파일을 생성하는 단계; 및
    (a-2) 상기 dex파일 생성시, 검증서버부로부터 수신하는 검증코드를 상기 제1 파일에 추가하는 단계;를 더 포함하는 것을 특징으로 하는 앱 위변조 방지방법.
  9. 제 6 항에 있어서,
    상기 제 (b) 단계는,
    (b-1) 상기 어플리케이션 앱 실행시, 일회용 위변조 검증코드를 생성하는 단계;
    (b-2) 상기 일회용 위변조 검증코드에 해당하는 암호화된 제1 파일을 상기 어플리케이션 앱을 실행하는 사용자 단말기로 전달하여 상기 제1 파일이 동적 로딩되도록 하는 단계; 및
    (b-3) 상기 사용자 단말기의 어플리케이션 앱의 동적 로딩 과정에서 수신하는 일회용 위변조 검증코드를 기등록된 값과 비교하여 위변조를 검증하는 단계;를 더 포함하는 것을 특징으로 하는 앱 위변조 방지방법.
  10. 제 6 항에 있어서,
    상기 제 (c) 단계는,
    (c-1) 상기 검증코드가 추가된 제1 파일을 암호화하여 상기 검증서버부에 저장하도록 하는 단계; 및
    (c-2) 상기 제2 파일로 구성된 어플리케이션 앱을 외부로 배포하는 단계;를 포함하는 것을 특징으로 하는 앱 위변조 방지방법.
KR1020140168203A 2014-11-28 2014-11-28 앱 위변조 방지시스템 및 그 방법 KR101642267B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140168203A KR101642267B1 (ko) 2014-11-28 2014-11-28 앱 위변조 방지시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140168203A KR101642267B1 (ko) 2014-11-28 2014-11-28 앱 위변조 방지시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20160065261A true KR20160065261A (ko) 2016-06-09
KR101642267B1 KR101642267B1 (ko) 2016-08-01

Family

ID=56138606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140168203A KR101642267B1 (ko) 2014-11-28 2014-11-28 앱 위변조 방지시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101642267B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506651A (zh) * 2017-07-04 2017-12-22 上海斐讯数据通信技术有限公司 一种代码加密方法及系统
KR20180060814A (ko) * 2016-11-29 2018-06-07 충남대학교산학협력단 어플리케이션의 무결성을 검증하기 위한 어플리케이션 서버 및 그 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180089645A (ko) 2017-02-01 2018-08-09 주식회사 에스씨테크원 보안카드를 이용한 앱 위변조 방지 시스템 및 방법
KR101825402B1 (ko) 2017-03-06 2018-02-06 올댓소프트 코. 애플리케이션 코드의 코드 분리 인증을 수행하는 모바일 장치 및 이를 포함하는 모바일 시스템
KR20210083780A (ko) 2019-12-27 2021-07-07 주식회사 린아레나 Dex 파일 분할 및 난독화를 통한 안드로이드 앱 보안성 향상 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030075018A (ko) * 2002-03-15 2003-09-22 주식회사 셈틀로미디어 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법
KR20040027826A (ko) * 2004-03-08 2004-04-01 최철 컴퓨터 파일 변형을 이용한 소프트웨어 보호 방법
KR101328012B1 (ko) * 2013-08-12 2013-11-13 숭실대학교산학협력단 애플리케이션 코드 난독화 장치 및 그 방법
KR20140082408A (ko) * 2012-12-24 2014-07-02 숭실대학교산학협력단 어플리케이션 관리 방법 및 그 관리 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030075018A (ko) * 2002-03-15 2003-09-22 주식회사 셈틀로미디어 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법
KR20040027826A (ko) * 2004-03-08 2004-04-01 최철 컴퓨터 파일 변형을 이용한 소프트웨어 보호 방법
KR20140082408A (ko) * 2012-12-24 2014-07-02 숭실대학교산학협력단 어플리케이션 관리 방법 및 그 관리 장치
KR101328012B1 (ko) * 2013-08-12 2013-11-13 숭실대학교산학협력단 애플리케이션 코드 난독화 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180060814A (ko) * 2016-11-29 2018-06-07 충남대학교산학협력단 어플리케이션의 무결성을 검증하기 위한 어플리케이션 서버 및 그 제어 방법
CN107506651A (zh) * 2017-07-04 2017-12-22 上海斐讯数据通信技术有限公司 一种代码加密方法及系统
CN107506651B (zh) * 2017-07-04 2021-10-22 环玺信息科技(上海)有限公司 一种代码加密方法及系统

Also Published As

Publication number Publication date
KR101642267B1 (ko) 2016-08-01

Similar Documents

Publication Publication Date Title
US9270466B2 (en) System and method for temporary secure boot of an electronic device
CN111404696B (zh) 协同签名方法、安全服务中间件、相关平台及系统
JP2019505887A (ja) 信頼できる実行環境を有するモバイル装置
EP2875460B1 (en) Anti-cloning system and method
KR101642267B1 (ko) 앱 위변조 방지시스템 및 그 방법
KR102218572B1 (ko) 복제 공격을 방지하기 위한 처리 방법, 및 서버 및 클라이언트
CN106529218B (zh) 一种应用校验方法和装置
TW202109320A (zh) 基於可信執行環境的應用程式啟動方法及裝置
WO2013182155A1 (zh) 一种固件版本升级的方法及系统
JP2022172099A (ja) ポータブル電子デバイスと関連したデジタルシークレットの生成、格納、管理および使用のためのシステムおよび方法
JP4226556B2 (ja) プログラム実行制御装置、os、クライアント端末、サーバ、プログラム実行制御システム、プログラム実行制御方法、プログラム実行制御プログラム
Cheng et al. A secure and practical key management mechanism for NFC read-write mode
CN111327561B (zh) 认证方法、系统、认证服务器和计算机可读存储介质
JP5781678B1 (ja) 電子データ利用システム、携帯端末装置、及び電子データ利用システムにおける方法
US9614671B2 (en) User access control based on a graphical signature
KR102026279B1 (ko) 애플리케이션을 관리하는 방법
US9977907B2 (en) Encryption processing method and device for application, and terminal
KR101630462B1 (ko) 키보드 보안 장치 및 방법
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
CN106603237B (zh) 一种安全支付方法及装置
KR101906484B1 (ko) 어플리케이션 보안 방법 및 이를 수행하기 위한 시스템
CN105046174A (zh) 磁盘数据的保护方法及系统
CN114785845B (zh) 会话的建立方法、装置、存储介质及电子装置
KR101945738B1 (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: 20190719

Year of fee payment: 4