KR20200000576A - A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain - Google Patents

A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain Download PDF

Info

Publication number
KR20200000576A
KR20200000576A KR1020180072564A KR20180072564A KR20200000576A KR 20200000576 A KR20200000576 A KR 20200000576A KR 1020180072564 A KR1020180072564 A KR 1020180072564A KR 20180072564 A KR20180072564 A KR 20180072564A KR 20200000576 A KR20200000576 A KR 20200000576A
Authority
KR
South Korea
Prior art keywords
app
hash value
blockchain
apk file
apk
Prior art date
Application number
KR1020180072564A
Other languages
Korean (ko)
Other versions
KR102107082B1 (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 KR1020180072564A priority Critical patent/KR102107082B1/en
Publication of KR20200000576A publication Critical patent/KR20200000576A/en
Application granted granted Critical
Publication of KR102107082B1 publication Critical patent/KR102107082B1/en

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a method for detecting a counterfeit mobile application based on a block chain. The method comprises: a first step of constructing a consortium block chain network consisting of trusted nodes receiving rights of verification on whether a mobile application is counterfeit and registration of a normal mobile application; a second step in which the trusted nodes verify APK files to store identification information of APK files including hash values of APK files determined to be normal in a block chain; a third step in which a client node generates a hash value of a downloaded APK file; a fourth step in which the client node transmits the generated hash value of the APK file to the consortium block chain network; a fifth step in which the trusted nodes compare whether a hash value among the stored hash values, which is equal to the received hash value, exists; and a sixth step in which the consortium block chain network transmits a comparison result of the hash value to the client node. According to the present invention, a detection and determination function for a mobile application of a normal form and a malicious counterfeit application is provided and security of a mobile terminal can be increased in using an application.

Description

블록체인 기반 모바일 위조 앱 검출 방법{A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain}A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain}

본 발명은 모바일 위조 앱 검출 방법에 관한 것으로서, 보다 상세하게는 승인된 기관들로 이루어지는 신뢰 노드의 각 블록에 정상 앱의 해시값을 트랜잭션에 등록하여 검증 대상 앱과 각 신뢰노드의 블록에 기록된 해시값을 비교하는 방식으로 앱의 정상 또는 위조 여부를 신속하게 판별할 수 있도록 하는 기술에 관한 것이다.The present invention relates to a mobile counterfeit app detection method, and more particularly, a hash value of a normal app is registered in a transaction in each block of a trusted node composed of authorized institutions, and recorded in a block of the app and the trusted node to be verified. The present invention relates to a technique for quickly determining whether an app is normal or fake by comparing hash values.

최근 몇 년 동안 스마트폰 사용자가 폭발적으로 증가함에 따라 안드로이드 플랫폼 기반 어플리케이션의 안정성과 보안성이 향상되어야 한다. 대부분의 이용자들이 스마트폰 앱(smart-phone application)을 이용하여 모바일 금융 거래, 모바일 주식, SNS, e-mail 및 문서 작업 등을 수행하고 있다.As the number of smartphone users exploded in recent years, the stability and security of Android platform-based applications should be improved. Most users use smart-phone applications to perform mobile financial transactions, mobile stocks, SNS, e-mail and paperwork.

특히 단말내에는 각종 앱이 설치되어 있어 이를 통해 시간과 장소에 상관없이 언제 어디에서라도 편리하게 업무를 수행하고 있다. 또한 단말내에는 중요한 개인정보 역시 저장되어 있어 현대 사회에서 없어서는 안될 가장 중요한 디바이스이다. 하지만 안드로이드 플랫폼 기반 앱인 경우 Java를 기반으로 제작되어 있어 안드로이드 앱은 역설계가 쉽고 이에 따라 위조앱 또한 쉽게 제작될 수 있다. 하지만 현재 대부분의 안드로이드 플랫폼 기반 스마트폰에서는 모바일 앱의 위조 여부를 판단할 수 있는 메카니즘이 제공되지 않고 있다. In particular, since various apps are installed in the terminal, they are conveniently performing anytime, anywhere regardless of time and place. In addition, important personal information is also stored in the terminal is the most important device indispensable in modern society. However, if the Android platform-based app is built on Java, Android apps are easy to reverse engineer, so counterfeit apps can be easily produced. However, most Android platform-based smartphones currently do not provide a mechanism for determining whether a mobile app is forged.

2017년 구글은 구글 플레이 스토어에 등록된 안드로이드 앱 중에서 매년 약 700,000개의 악성앱을 차단하고 있는 것으로 조사된 바 있다. 특히 기존의 정상앱과 외관 및 작동 방식이 거의 유사한 위조앱인 경우 모바일 단말 사용자도 모르게 개인정보 등을 외부로 유출하는 등의 문제가 발생하고 있기 때문에 심각한 보안위협으로 대두되고 있다. In 2017, Google blocked about 700,000 malicious apps every year among Android apps registered in the Google Play Store. In particular, the counterfeit app, which has almost the same appearance and operation as the existing normal app, is emerging as a serious security threat because it causes problems such as leaking personal information to the outside without the knowledge of the mobile terminal user.

온라인에서 사용자가 안드로이드 앱에 대한 악성/위조 여부를 판별하기 위해 VirusTotal 시스템 등의 온라인 악성코드 스캐닝 서비스를 사용할 수 있다.Online users can use online malware scanning services such as VirusTotal system to determine whether they are malicious or forged against Android apps.

사용자가 악성 여부를 판별하고자 원할 경우에 온라인 악성코드 스캐닝 시스템에 접속하여 검사 대상 파일을 업로드하면 온라인 악성코드 스캐닝 시스템에서는 자체적으로 구축한 DB와 정적/동적 분석 방법을 이용하여 안드로이드 앱의 정상 또는 위조 여부를 판별하여 그 결과를 제공한다.If the user wants to determine whether it is malicious or not, the user accesses the online malware scanning system and uploads the file to be scanned. The online malware scanning system uses the built-in DB and the static / dynamic analysis method to normal or counterfeit the Android app. Determine whether or not and provide the result.

VirusTotal 시스템의 경우 내부에는 각각의 앱에 대한 해시값을 저장하고 있으며,바이러스 검사 소프트웨어 엔진은 저장되어 있는 해시값을 이용하여 의심스러운 파일들에 대한 검사 과정을 수행한다. VirusTotal 시스템 최대 43개의 각기 다른 바이러스 검사 소프트웨어를 사용하여 사용자가 업로드한 파일에 대한 바이러스 유무를 판별하는 과정을 수행한다. 또한 VirusTotal 시스템은 안드로이드 앱에 대한 정적/동적 분석 기능을 수행하여 이미 발견된 기존 악성앱 DB 정보를 이용하여 악성코드와 유사도를 측정하여 결과를 제시한다. In the case of VirusTotal system, hash values for each app are stored internally, and the virus scanning software engine scans suspicious files using the stored hash values. VirusTotal System Performs the process of determining the presence or absence of virus for uploaded files by using up to 43 different virus scanning software. In addition, VirusTotal system performs static / dynamic analysis of Android apps to measure the similarity with malicious codes using the existing malicious app DB information and present the results.

그러나, VirusTotal 서비스 등의 온라인 악성코드 스캐닝 서비스를 이용하는 과정에서 각 사용자가 업로드한 파일은 다른 사용자에게도 공유되는 것에 기인하여, 기업의 기밀 정보가 담긴 e-mail 등이 유출되는 문제가 발생하고 있다. 이는 기업 보안 관리자는 의심스러운 e-mail 또는 파일에 대해서는 일차적으로 온라인 악성코드 스캐닝 시스템에 업로드하고 악성 여부를 판별하기 때문이다. 결국 악성코드 여부를 판별하기 위해 업로드한 e-mail 내용 등이 온라인 악성코드 스캐닝 시스템 내부 다른 사용자에게 공유된다는 문제점이 발생한다. 또한 일부 보안 장비의 경우 자동적으로 온라인 악성코드 스캐닝 시스템과 연동되어 담당자도 모르게 기업 내부 기밀 정보가 외부로 노출되는 사례도 발견되고 있다. However, in the process of using an online malware scanning service such as VirusTotal service, a file uploaded by each user is also shared with other users, so that an e-mail containing confidential corporate information is leaked. This is because the corporate security manager first uploads suspicious e-mails or files to an online malware scanning system and determines whether they are malicious. As a result, uploaded e-mail contents, etc., to determine whether or not malicious codes are shared with other users in the online malware scanning system. In addition, some security equipment is automatically linked with the online malware scanning system to reveal confidential information inside the company without a person in charge.

최근 각 기업에서 개발한 안드로이드 앱이 증가하고 있으며 이에 대한 위조앱 역시 급증하고 있다. Recently, Android apps developed by each company are increasing, and counterfeit apps are increasing rapidly.

블록체인을 이용하여 파일의 위변조를 검사하는 기술로서, 한국공개특허 제2018-0036140호가 제안된 바 있다. 상기 선행기술은 제 1 사용자 단말이 자신의 단말이나 외부 서버에 자신이 소유한 파일을 업로드하고, 업로드한 파일의 해시값을 계산하여 블록체인에 등록하면, 제 2 사용자 단말이 제 1 사용자 단말 또는 외부 서버에 접속하여 업로드된 파일을 다운로드한 후 다운로드한 파일의 해시값을 계산하고, 블록체인에 저장된 파일의 해시 값과 다운로드한 파일의 해시값과의 비교 결과에 따라 해당 파일의 위변조 여부를 검사하도록 하고 있다. As a technique for checking forgery and alteration of a file using a blockchain, Korean Patent Application Publication No. 2018-0036140 has been proposed. According to the prior art, when a first user terminal uploads a file owned by the first user terminal to its terminal or an external server, calculates a hash value of the uploaded file, and registers it in the blockchain, the second user terminal may be configured as a first user terminal or After downloading the uploaded file by accessing the external server, the hash value of the downloaded file is calculated, and the file is forged or not according to the comparison result between the hash value of the file stored in the blockchain and the downloaded file. I'm trying to.

상기 선행문헌에서 파일 해시값의 등록은, 사용자가 업로드하고자 하는 파일의 해시값을 계산하고 사용자 단말에 저장된 공개키에 기초하여 블록체인 주소를 생성한 후, 생성된 블록체인 주소에 기초하여 상기 계산된 파일의 해시값을 블록체인에 등록하도록 하고 있다. The registration of the file hash value in the prior document is calculated based on the generated blockchain address after calculating the hash value of the file to be uploaded by the user and generating the blockchain address based on the public key stored in the user terminal. The hash value of the compiled file is registered in the blockchain.

그러나, 상기 선행문헌은 사용자가 업로드하고자 하는 파일이 무결하다는 전제가 필수 요건으로서, 사용자가 악의적으로 위변조된 파일을 업로드하거나 업로드 과정에서 해커에 의해 파일이 위변조되는 경우에 사용자는 위변조된 파일을 다운로드 받을 수 있다는 문제점이 있다.However, the preceding document is a prerequisite that the file to be uploaded by the user is an essential requirement, and when the user uploads a file which has been maliciously forged or is forged by a hacker during the upload process, the user downloads the forged file. There is a problem that you can receive.

유사한 국내선행문헌으로서 한국공개특허 제2018-0030971호에도 블록체인 네트워크에 연결된 촬영장치에서 제1해시서명값과 최종해시서명값을 포함하는 트랜잭션을 생성하여 블록체인 네트워크로 전송하는 기술이 있으나, 이 또한 위의 선행문헌과 유사한 문제점을 갖고 있다. As a similar domestic precedent document, Korean Laid-Open Patent Publication No. 2018-0030971 also has a technology of generating a transaction including a first hash value and a final hash signature value from a photographing apparatus connected to the blockchain network and transmitting the transaction to the blockchain network. This also has a problem similar to the above literature.

따라서, 무결성 보장의 장점을 갖는 블록체인 기술의 장점을 효과적으로 모바일 어플리케이션의 위조 여부를 판별할 수 있는 기술의 개발이 절실히 요구되고 있다.Therefore, there is an urgent need for the development of a technology that can effectively determine whether a forgery of a mobile application is made with the advantages of a blockchain technology having the advantage of ensuring integrity.

1. 한국공개특허 제2018-0036140호 (발명의 명칭 : 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치)1. Korean Patent Application Publication No. 2018-0036140 (Invention name: File forgery test method and terminal device using the file hash value) 2. 한국공개특허 제2018-0030971호 (발명의 명칭 : 블록체인을 이용하여 위변조 검증이 가능한 디지털 영상을 생성하는 촬영장치, 이에 의한 디지털 영상 생성방법, 및 이에 의해 생성된 디지털 영상의 검증방법)2. Korean Patent Application Publication No. 2018-0030971 (Invention: Photographing apparatus for generating digital image capable of forgery verification using blockchain, digital image generating method by it, and digital image verification method generated by the same)

이에, 본 발명은 상기한 사정을 감안하여 창출된 것으로, 모바일 앱에 대한 정상 여부를 판별하기 위해서, 기존의 VirusTotal 서비스와 같이 특정 사이트에 의존적이지 않으면서도 권한이 있는 노드들은 분산 형태로 정보 노출의 위험 부담 없이 누구나 편리하게 검사 대상 앱에 대한 위조 여부를 판별할 수 있도록 함에 그 기술적 목적이 있다. Accordingly, the present invention was created in view of the above-described circumstances, and in order to determine whether the mobile app is normal, authorized nodes that do not depend on a specific site, such as the existing VirusTotal service, are distributed in a distributed form. Its technical purpose is to enable anyone to conveniently determine whether a forgery is a test target without risk.

또한, 모바일 앱에 대한 검증 권한이 부여된 신뢰 노드에서 모바일 앱을 검증한 후, 검증이 완료된 모바일 앱의 해시값만을 블록체인 형태로 저장하여 모바일 앱의 위변조 여부를 확실하게 판별할 수 있도록 하는 것이 또 다른 주된 목적이다. In addition, after verifying the mobile app in the trusted node authorized to verify the mobile app, only the hash value of the verified mobile app is stored in the form of a blockchain so that it is possible to reliably determine whether the mobile app is forged or not. Another major purpose.

상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 모바일 앱의 위조여부에 대한 검증 및 정상 모바일 앱의 등록 권한이 부여된 신뢰노드들로 이루어지는 컨소시엄 블록체인 네트워크를 구성하는 제1 단계, 상기 신뢰노드들이 APK 파일들을 검증하여 정상으로 판별된 APK 파일의 해시값을 포함하는 APK 파일 식별정보를 블록체인 내에 저장하는 제2 단계, 클라이언드 노드가 다운로드받은 APK 파일의 해시값을 생성하는 제3 단계, 상기 클라이언트 노드가 상기 생성된 APK 파일의 해시값을 상기 컨소시엄 블록체인 네트워크로 전송하는 제4 단계, 상기 각 신뢰노드들이 상기 저장되어 있는 해시값들중에서 상기 수신된 해시값과 동일한 해시값이 있는지 비교하는 제5 단계 및 상기 컨소시엄 블록체인 네트워크가 상기 해시값 비교 결과를 상기 클라이언트 노드로 전송하는 제6 단계를 포함하는 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법이 제공된다.According to an aspect of the present invention for achieving the above object, the first step of configuring a consortium blockchain network consisting of trusted nodes authorized to verify the forgery of the mobile app and registration of the normal mobile app, the trust A second step in which the nodes verify APK files and store APK file identification information including a hash value of the APK file determined as normal in the blockchain, and a third step in which the client node generates a hash value of the downloaded APK file A fourth step of transmitting, by the client node, the hash value of the generated APK file to the consortium blockchain network, wherein each of the trusted nodes has a hash value equal to the received hash value among the stored hash values. A fifth step of comparing and the consortium blockchain network to compare the hash value comparison result with the client The block chain based mobile forged app detection method comprising: a sixth step of transmitting the draw is provided.

여기서, 상기 APK 파일 식별정보는 상기 해시값 외에 번들 식별정보, 앱 명칭정보 및 버전정보 중 적어도 어느 하나를 포함할 수 있다.Here, the APK file identification information may include at least one of bundle identification information, app name information, and version information in addition to the hash value.

그리고, 상기 제2 단계에서 APK 파일 식별정보의 저장은, 정적분석을 통해 APK 파일에 존재하는 앱 관련 기본정보를 추출하는 단계, 상기 기본정보에 해시함수를 적용하여 해시값을 생성하는 단계 및 상기 기본정보와 해시값을 트랜잭션 데이터로 저장하는 단계를 통해 이루어지는 것이 바람직하다.In the storing of the APK file identification information in the second step, extracting app-related basic information existing in the APK file through static analysis, generating a hash value by applying a hash function to the basic information, and The basic information and the hash value are preferably stored through the step of storing the transaction data.

그리고, 상기 앱 관련 기본정보는 AndroidManifest.xml 파일에 대한 정적분석을 통해 추출될 수 있다.The basic information related to the app may be extracted through static analysis of the AndroidManifest.xml file.

그리고, 상기 제2 단계에서 검증대상 APK 파일은, 인터넷에 등록된 APK 파일을 다운받거나 앱 개발회사에서 검증을 요청한 APK 파일 중 어느 하나일 수 있다.In addition, the verification target APK file in the second step may be any one of the APK files that are downloaded from the Internet or downloaded from the APK file registered in the app development company.

본 실시예에서 상기 컨소시엄 블록체인 네트워크는 Hyperledger Fabric 프레임워크를 사용하고, 키값은 상기 번들 식별정보, 앱 명칭정보 및 버전정보이고, 상기 키값을 이용하여 블록체인에 등록된 정보를 조회하는 것이 바람직하다.In the present embodiment, the consortium blockchain network uses a Hyperledger Fabric framework, key values are the bundle identification information, app name information and version information, and it is preferable to query the information registered in the blockchain using the key values. .

본 발명에 의하면, 정상적인 형태의 모바일 앱과 악성 위조 앱에 대한 검출, 판별 기능을 제공하며, 앱 사용에 있어 모바일 단말의 보안성을 보다 향상시킬 수 있는 효과가 있다.According to the present invention, a detection and discrimination function for a normal mobile app and a malicious counterfeit app is provided, and the use of the app can further improve the security of the mobile terminal.

도1은 본 발명에 따른 블록체인 기반 모바일 위조 앱 검출 시스템의 구성을 도시한 것이다.
도 2는 본 발명에 따른 블록체인의 데이터 구조를 도시한 것이다.
도 3은 컨소시엄 블록체인의 세부 블록체인 연결 구조를 도시한 것이다.
도 4는 본 발명에 따른 블록체인 기반 모바일 위조 앱 검출 방법이 수행되는 과정을 나타낸 전체 흐름도이다.
도 5는 컨소시엄 블록체인 네트워크에서 모바일 앱의 검증 및 정상 모바일 앱 정보 등록 과정을 나타낸 흐름도이다.
도 6은 AndroidManifest.xml 파일의 구조를 나타낸 것이다.
도 7은 APK 파일에서 정적분석을 통해 모바일 앱 식별정보를 추출하는 것을 설명하기 위한 것이다.
도 8은 체인코드 데이터 구조체를 설명하기 위한 것이다.
도 9는 정상으로 판정된 APK 파일을 등록하기 위한 프로그램 코드이다.
도 10은 클라이언트 노드에서 다운받은 APK 파일의 위조 여부를 검증받는 과정을 도시한 흐름도이다.
도 11은 검증 대상 APK 파일의 해시값을 조회하기 위한 프로그램 코드를 나타낸 것이다.
1 is a block diagram of a blockchain-based mobile counterfeit app detection system according to the present invention.
2 shows a data structure of a blockchain according to the present invention.
3 illustrates a detailed blockchain connection structure of the consortium blockchain.
4 is an overall flowchart illustrating a process of performing a blockchain-based mobile counterfeit app detection method according to the present invention.
5 is a flowchart illustrating a process of verifying a mobile app and registering normal mobile app information in a consortium blockchain network.
Figure 6 shows the structure of the AndroidManifest.xml file.
7 is for explaining the extraction of mobile app identification information through static analysis from the APK file.
8 is for explaining the chaincode data structure.
9 is a program code for registering an APK file determined to be normal.
10 is a flowchart illustrating a process of verifying whether the APK file downloaded from the client node is forged.
11 illustrates a program code for querying a hash value of a verification target APK file.

본 발명에 기재된 실시예 및 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 표현하는 것은 아니므로, 본 발명의 권리범위는 본문에 설명된 실시예 및 도면에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Configurations shown in the embodiments and drawings described in the present invention are merely preferred embodiments of the present invention, and do not represent all of the technical idea of the present invention, the scope of the invention is the embodiments and drawings described in the text It should not be construed as limited by That is, since the embodiments may be variously modified and may have various forms, the scope of the present invention should be understood to include equivalents capable of realizing the technical idea. In addition, the objects or effects presented in the present invention does not mean that a specific embodiment should include all or only such effects, the scope of the present invention should not be understood as being limited thereby.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. The terms defined in the dictionary used in general should be interpreted to coincide with the meanings in the context of the related art, and should not be construed as having an ideal or excessively formal meaning not explicitly defined in the present invention.

도1은 본 발명에 따른 블록체인 기반 모바일 위조 앱 검출 시스템의 구성을 도시한 것이고, 도 2는 본 발명에 따른 블록체인의 데이터 구조를 도시한 것이며, 도 3은 컨소시엄 블록체인의 세부 블록체인 연결 구조를 도시한 것이다. Figure 1 shows the configuration of a blockchain-based mobile counterfeit app detection system according to the present invention, Figure 2 shows a data structure of the blockchain according to the present invention, Figure 3 is a detailed blockchain connection of the consortium blockchain The structure is shown.

도 1에 도시된 바와 같이, 본 발명에 따른 블록체인 기반 모바일 위조 앱 검출 시스템은 복수 개의 신뢰노드(10)와 다수의 클라이언트 노드(20)를 포함하여 구성된다.As shown in FIG. 1, the blockchain-based mobile counterfeit app detection system according to the present invention includes a plurality of trusted nodes 10 and a plurality of client nodes 20.

본 발명에서 복수 개의 신뢰노드(10)는 컨소시엄 블록체인(Consortium Blockchain)의 형태로 상호 연결된다. In the present invention, the plurality of trusted nodes 10 are interconnected in the form of a consortium blockchain.

블록 체인은 P2P 네트워크를 이용한 분산 원장 시스템을 제공하며, 블록 체인 기술을 이용하면 자체적으로 무결성과 안정성을 보장한다. 기본적으로 블록 체인은 관리 대상 데이터를 ‘블록’이라고 하는 소규모 데이터들을 생성하여 P2P 방식으로 생성된 체인 형태의 연결고리 형태의 분산 데이터로 저장된다. 누구도 임의로 수정할 수 없고 모든 사람이 변경 여부를 열람할 수 있는 분산 컴퓨팅 기술이다. Blockchain provides a distributed ledger system using P2P networks, and blockchain technology ensures its own integrity and stability. Basically, the blockchain generates small data called 'block' as the data to be managed and is stored as distributed data in the form of a chain link created in a P2P manner. It is a distributed computing technology that no one can modify arbitrarily, and everyone can read the change.

본 발명자들은 블록 체인 기술이 데이터에 대한 위조, 변조를 방지할 수 있는 기술이므로, 정상적인 안드로이드 앱에 대한 정보를 블록 체인으로 저장 및 관리한다면 악성/위조 앱에 대해 판별할 수 있는 기능을 제공할 수 있을 것이라는 점에 착안하여 본 발명을 제안하게 되었다.The inventors of the present invention can provide a function that can discriminate against malicious / counterfeit apps if the blockchain technology is a technology that can prevent forgery and tampering with data, and store and manage information on a normal Android app in the blockchain. The present invention has been proposed in consideration of the fact that there will be.

일반적으로 사용되는 블록 체인 기술은 퍼블릭 블록체인(Public Blockchain)에 해당한다. 퍼블릭 블록체인의 경우 누구나 네트워크에 참여하여 읽기, 검증, 트랜잭션 생성 등의 역할을 수행할 수 있다. 또한 퍼블릭 블록체인은 부분 분기를 허용하는 합의 알고리즘을 이용하기 때문에 처리 속도 또한 굉장히 느리다는 단점이 있다.Commonly used blockchain technology corresponds to the public blockchain. In the case of public blockchains, anyone can participate in the network to read, verify, and create transactions. In addition, the public blockchain uses a consensus algorithm that allows partial branching, and the processing speed is very slow.

이에 반해 컨소시엄 블록체인(Consortium blockchain)은 네트워크 참여에 멤버쉽 기능을 이용하여 제한을 할 수 있다. 따라서 승인된 기관만이 검증, 트랜잭션 생성 등의 역할을 담당하게 된다. 또한 합의 알고리즘 또한 부분 분기를 허용하지 않고 속도가 빠른 BFT(Byzantine Fault Tolerance) 기반의 알고리즘을 이용해 처리 속도가 빠르다는 장점이 있다.Consortium blockchains, on the other hand, can use network membership to restrict participation. Therefore, only authorized agencies are responsible for verifying and creating transactions. In addition, the consensus algorithm also has the advantage of fast processing speed by using fast BFT (Byzantine Fault Tolerance) based algorithm without allowing partial branching.

신뢰노드(10)들은 안드로이드 앱들을 검증하여 정상인 것으로 판별된 앱들의 해시값을 도 2에 도시된 블록체인 형태로 저장한다.The trusted nodes 10 verify the Android apps and store hash values of the apps determined to be normal in the blockchain form shown in FIG. 2.

블록체인은 다수의 블록이 체인 형태로 연결되는 것으로서, 각 블록(30)은 블록 헤더(31)와 블록 데이터(32)로 구분된다. 블록 헤더(31)에는 이전 블록의 해시값이 저장되어 있어 블록과 블록 간이 시계열적으로 연결되는 구조이다.In the blockchain, a plurality of blocks are connected in a chain form, and each block 30 is divided into a block header 31 and a block data 32. In the block header 31, a hash value of a previous block is stored so that the block and the block are connected in time series.

블록 헤더(31)에는 이전블록의 식별정보로서의 해시값 외에 Merkle root, 타임스탬프, Nonce 등의 정보가 기록된다.In the block header 31, information such as Merkle root, time stamp, and Nonnce are recorded in addition to the hash value as the identification information of the previous block.

블록 데이터(32)는 트랜잭션 영역으로 거래가 발생할 때마다 거래 내역이 트랜잭션 단위로 기록되는 부분이다.The block data 32 is a portion where transaction details are recorded in transaction units whenever a transaction occurs in the transaction area.

블록 구조를 이용하여 모바일 앱에 대한 위변조 판별을 위해 각 트랜잭션마다 전체 앱에 대한 정보를 등록한다면 저장 공간을 효율적으로 활용하지 못하게 될 가능성이 높다. 따라서, 본 발명에서는 정상 APK 파일의 해시값이 트랜잭션에 저장되는 방식을 통해 트랜잭션의 크기를 감소시킴과 아울러 모바일 앱에 대한 위변조 여부를 판별하는데 소요되는 비교 시간도 최소화할 수 있게 된다. 이때, 각 트랜잭션에는 해당 APK 파일의 해시값 외에 해당 앱의 명칭과 버전 정보가 같이 저장될 수 있다. If you use the block structure to register the information about the entire app for each transaction to determine the forgery of the mobile app, there is a high possibility that the storage space will not be utilized efficiently. Therefore, in the present invention, the hash value of the normal APK file is stored in the transaction, thereby reducing the size of the transaction and minimizing the comparison time required to determine whether the mobile app is forged or not. In this case, in addition to the hash value of the APK file, each transaction may store the name and version information of the corresponding app.

도 3에 도시된 바와 같이, 신뢰노드들(10)은 승인된 기관으로만 구성되어 하나의 폐쇄된 블록체인을 형성한다. 도 3에는 4개의 신뢰노드(10)가 상호 연결되어 컨소시엄 블록체인을 형성한 경우가 예시되어 있다. 각 신뢰노드(10)는 모두 정상앱들의 해시값 정보를 블록체인 내에 저장하고 있고, 클라이언트 노드(20)로부터 검사대상 APK 파일의 해시값을 수신하면 블록체인에 저장된 해시값과 비교하여 비교결과값을 클라이언트 노드(20)로 전송하게 된다. As shown in FIG. 3, the trusted nodes 10 consist only of approved institutions to form one closed blockchain. 3 illustrates a case in which four trust nodes 10 are interconnected to form a consortium blockchain. Each of the trusted nodes 10 stores hash value information of normal apps in the blockchain, and when the hash value of the inspection target APK file is received from the client node 20, the comparison result is compared with the hash value stored in the blockchain. To be transmitted to the client node 20.

만일 모든 클라이언트 노드(일반 사용자)들이 블록 체인에 등록 과정을 수행할 수 있다면, 위조 또는 변조된 어플리케이션도 등록이 가능해진다. 이 경우에는 악성앱과 정상앱에 대한 구분이 모호해지고, 악성앱이 정상 APP으로 판별되는 오류가 발생할 수 있다.If all client nodes (end users) can perform the registration process on the blockchain, counterfeit or forged applications can also be registered. In this case, the distinction between the malicious app and the normal app is blurred, and an error in which the malicious app is determined as a normal APP may occur.

따라서, 정상 앱을 등록하고 이를 기반으로 APK 파일을 비교하여 위조 여부를 판단하는 메카니즘을 구현하기 위해 승인된 기관만이 정상 앱을 등록과 검증 기능을 수행할 수 있도록 권한을 설정하는 것이 중요하다.  Therefore, in order to implement a mechanism that registers a normal app and compares APK files based on this, and implements a mechanism for judging whether it is a forgery, it is important to set a permission so that only an authorized agency can perform a normal app registration and verification function.

클라이언트 노드(20)는 일반 사용자들의 스마트 단말으로서 다운로드받은 모바일 앱의 APK 파일에서 해시값을 추출하여 이를 신뢰노드(10)들로 전송하여, 각 신뢰노드(10)로부터 비교결과값을 수신한다. 클라이언트 노드(20)는 모든 신뢰노드들로부터 해당 모바일 앱이 정상이라는 결과값을 수신하면 해당 모바일 앱이 위조 또는 변조되지 않은 정상앱으로 판단하여 해당 APK 파일을 설치하게 된다. The client node 20 extracts a hash value from the APK file of the mobile app downloaded as a smart terminal of general users and transmits the hash value to the trusted nodes 10 to receive a comparison result value from each trusted node 10. When the client node 20 receives a result value indicating that the mobile app is normal from all trusted nodes, the client node 20 determines that the mobile app is a counterfeit or unmodified normal app and installs the APK file.

도 4는 본 발명에 따른 블록체인 기반 모바일 위조 앱 검출 방법이 수행되는 과정을 나타낸 흐름도이다.4 is a flowchart illustrating a process of performing a blockchain-based mobile counterfeit app detection method according to the present invention.

도 4에는 클라이언트 노드에서의 수행 동작이 흑색 화살표로, 앱 개발회사의 앱 검증 및 등록을 위한 동작 과정이 청색으로 표시되어 있다.In FIG. 4, an operation performed by the client node is indicated by a black arrow, and an operation process for app verification and registration by an app developer is indicated in blue.

앱 검증 및 등록 과정(청색)App verification and registration process (blue)

앱 개발회사에서 컨소시엄 블록체인 네트워크(CB)로 APK 파일 검증을 요청하면 컨소시엄 블록체인 네트워크(CB)는 블록체인에 저장되어 있는 해시값들에 기초하여 APK 파일의 위조여부를 검증한 후 정상으로 판정된 경우 해당 APK 파일 정보를 등록하고 검증결과를 앱 개발회사로 통지한다.When app development company requests APK file verification to consortium blockchain network (CB), consortium blockchain network (CB) verifies whether APK file is forged based on hash values stored in blockchain and then judges it as normal. If so, register the APK file information and notify the app development company of the verification result.

클라이언트의 다운로드 앱 검증 과정(흑색)Download App Validation Process on Clients (Black)

그리고, 클라이언트 노드(20)는 다운로드 받은 APK 파일을 설치함에 앞서 해당 APK 파일의 해시값을 생성한 후, 이를 컨소시엄 블록체인 네트워크(CB)로 전송하고, 컨소시엄 블록체인 네트워크(CB)는 해당 APK 파일과 등록된 APK 파일의 해시값을 비교하여 검증대상 APK 파일의 정상여부를 판정하여 그 결과를 클라이언트 노드(20)로 제공한다. Then, the client node 20 generates a hash value of the APK file before installing the downloaded APK file, and transmits it to the consortium blockchain network (CB), and the consortium blockchain network (CB) sends the APK file. The hash value of the registered APK file is compared with the hash value of the APK file to be verified, and the result is provided to the client node 20.

앱 검증 및 등록 과정과 클라이언트의 다운로드 앱 검증 과정을 도 5 내지 도 11을 통해 보다 상세하게 설명하면 다음과 같다.The app verification and registration process and the download app verification process of the client will be described in more detail with reference to FIGS. 5 to 11 as follows.

도 5는 컨소시엄 블록체인 네트워크에서 모바일 앱의 검증 및 정상 모바일 앱 정보 등록 과정을 나타낸 흐름도이다.5 is a flowchart illustrating a process of verifying a mobile app and registering normal mobile app information in a consortium blockchain network.

앱 개발회사(의 단말)는 앱을 신규개발하거나 기존 앱이 업데이트된 경우, 개발 또는 업데이트된 APK 파일을 컨소시엄 블록체인 네트워크(CB)로 전송하여 APK 파일의 검증을 요청한다(S500).If the app development company (terminal) of the app is newly developed or the existing app is updated, and transmits the developed or updated APK file to the consortium blockchain network (CB) and requests verification of the APK file (S500).

컨소시엄 블록체인 네트워크(CB)를 구성하는 각 신뢰노드(10)는 앱 개발회사로부터 수신된 APK 파일을 분석하여 앱의 기본정보를 추출한다(S510). 앱의 기본정보는 AndroidManifest.xml 파일의 정적분석을 통해 얻어질 수 있다. Each trust node 10 constituting the consortium blockchain network (CB) extracts basic information of the app by analyzing the APK file received from the app developer (S510). Basic information of the app can be obtained through static analysis of the AndroidManifest.xml file.

AndroidManifest.xml 파일은 전체 안드로이드 앱의 환경설정을 담당하는 파일으로서, 애플리케이션의 명세서로서의 기능을 제공한다. 즉, AndroidManifest.xml 파일에는 프로젝트의 환경설정 파일(이름, 버전, 구성 등의 정보)가 포함되어 있다.The AndroidManifest.xml file is the file responsible for the configuration of the entire Android app, and serves as an application specification. In other words, AndroidManifest.xml file contains the project's configuration file (name, version, configuration, etc.).

AndroidManifest.xml 파일의 구조를 나타낸 도 6을 참조하면, 패키지 네임, 버전 코드, 앱 네임 등의 정보를 포함하고 있다. Referring to FIG. 6 showing the structure of the AndroidManifest.xml file, information about a package name, a version code, and an app name is included.

다음으로, 각 신뢰노드(10)는 해당 모바일 앱의 위조 여부를 검증한다(S520). Next, each trust node 10 verifies whether the corresponding mobile app is forged (S520).

각 신뢰노드(10)는 해당 모바일 앱에 대한 정적/동적 분석 기능을 수행하여 모바일 앱의 위조 여부를 판별한다. Each trust node 10 performs a static / dynamic analysis function for the corresponding mobile app to determine whether the mobile app is forged.

검증 결과, 해당 앱이 정상앱인 것으로 판별되면, 해당 APK에 해시함수를 적용하여 해시값을 생성한다(S530). 여기서, 해시함수는 MD1, MD4, MD5, SHS, SHA-1, HAS-16, HAVAL, RIMEMD-160 등 매우 다양하나, 본 실시예에서는 APK 미러 파일을 제공하는 대표적 사이트들에서 이용하는 SHA-1, SHA-256을 APK에 적용하여 SHA-1 및 SHA-256 해시값을 생성하였다. 도 7은 APK 파일에서 정적분석을 통해 모바일 앱 식별정보를 추출하는 것을 설명하기 위한 것으로서, 카카오톡 7.0.5 버전에 대하여 정적 분석 함수를 적용한 경우, 번들 ID(패키지 ID)(com.kakao.talk), 앱 네임(kakaoTalk) 및 버전 정보(7.0.5) 등의 기본정보와, SHA-1 및 SHA-256 해시값이 추출됨을 보여주고 있다. As a result of the verification, when it is determined that the app is a normal app, a hash value is generated by applying a hash function to the APK (S530). Here, the hash function is very diverse, such as MD1, MD4, MD5, SHS, SHA-1, HAS-16, HAVAL, RIMEMD-160, in this embodiment, SHA-1, which is used in representative sites that provide APK mirror files, SHA-256 was applied to the APK to generate SHA-1 and SHA-256 hash values. 7 is for explaining the extraction of mobile app identification information through static analysis from the APK file, when applying a static analysis function for KakaoTalk 7.0.5 version, bundle ID (package ID) (com.kakao.talk ), Basic information such as app name (kakaoTalk) and version information (7.0.5), and SHA-1 and SHA-256 hash values are extracted.

2개의 해시값이 생성되면, 이전에 추출한 앱 기본정보와 생성된 2개의 해시값이 블록의 트랜잭션 영역에 저장된다(S560). 도 8에는 블록체인에 저장되는 체인코드 데이터의 구조가 예시되어 있다. Hyperledger Fabric에서는 Key-Value Store를 통해 상태가 관리되므로 키(Key)는 유일한 것이어야 한다. 본 발명에서 이 키는 번들 ID(패키지 ID), 엡 네임(패키지 네임), 버전 정보로 이루어진다. 체인코드 데이터는 객체 유형, 번들 ID, APK 패키지 네임, 버전 정보, 2개의 해시값, 등록 일시 및 수정 일시의 정보를 포함한다. When two hash values are generated, previously extracted app basic information and the generated two hash values are stored in the transaction area of the block (S560). 8 illustrates a structure of chaincode data stored in a blockchain. Keys must be unique because the state is managed through the Key-Value Store in Hyperledger Fabric. In the present invention, this key consists of a bundle ID (package ID), an app name (package name), and version information. The chaincode data includes object type, bundle ID, APK package name, version information, two hash values, registration date and modification date and time.

도 9는 정상으로 판정된 APK 파일을 등록하는 호출 처리가 수행되는 프로그램 코드를 나타낸 것으로서, 도 9를 참조하면, 호출처리에는 체인코드 ID, 기능, arguments, 체인 ID 등이 포함된다. 여기서, 기능은 APK 파일의 등록이고, arguments에는 번들 ID, APK 패키지 네임, 버전 정보 및 2개의 해시값이 포함된다. 도 9에서 아래 그림에는 호출 처리 결과 트랜잭션 등록이 잘 처리되었음을 나타내고 있다. 즉, 등록하고자 하는 APK 파일의 앱 기본정보와 해시값이 트랜잭션 영역에 등록이 되었음을 의미한다.FIG. 9 illustrates a program code in which call processing for registering an APK file determined to be normal is performed. Referring to FIG. 9, the call processing includes a chaincode ID, a function, arguments, a chain ID, and the like. Here, the function is the registration of the APK file, and the arguments include the bundle ID, APK package name, version information, and two hash values. 9, the following figure shows that the transaction registration resulted in the call processing. In other words, the app basic information and hash value of the APK file to be registered are registered in the transaction area.

검증 결과, 해당 앱이 위조된 것으로 판별되면, 해당 APK 파일은 폐기 처리된다. If it is determined that the app is forged, the APK file is discarded.

마지막으로 컨소시엄 블록체인 네트워크(CB)는 클라이언트 노드(20)로 검증 결과를 통지한다(S570).Finally, the consortium blockchain network CB notifies the client node 20 of the verification result (S570).

이와 같이, 정상으로 판별된 모바일 앱들의 해시값이 블록체인 내에 저장되면, 일반 사용자인 클라이언트 노드(20)는 이를 이용하여 모바일 앱의 위변조 검증이 가능하게 되는데, 흑색 화살표로 표시된 검증 과정을 상세하게 설명하면 다음과 같다. 도 10은 클라이언트 노드에서 다운받은 APK 파일의 위조 여부를 검증받는 과정을 도시한 흐름도이다.As such, when the hash values of the mobile apps determined to be normal are stored in the blockchain, the client node 20 which is a general user may use the same to verify forgery and alteration of the mobile app. The explanation is as follows. 10 is a flowchart illustrating a process of verifying whether a forged APK file downloaded from a client node is forged.

클라이언트 노드(20)는 인터넷을 통하여 앱 스토어에 접속하여, 원하는 APK 파일을 다운로드 받는다(S600).The client node 20 accesses the app store through the Internet and downloads the desired APK file (S600).

클라어언트 노드(20)는 다운로드 받은 APK 파일을 설치하기에 앞서, APK 파일에 대해 해시 함수를 적용하여 해시값을 구한 후(S610), 이 해시값을 신뢰노드들(10)로 전송하여 다운로드 받은 APK 파일에 대한 검증을 요청한다(S620).Before installing the downloaded APK file, the client node 20 obtains a hash value by applying a hash function to the APK file (S610), and transmits the hash value to the trusted nodes 10 for download. Request verification for the received APK file (S620).

컨소시엄 블록체인 네트워크(CB)를 구성하는 각 신뢰노드(10)는 블록 체인 원장에서 정상 앱으로 등록된 APK 파일의 해시 값들을 읽어들인다(S630). 도 11은 검증 대상 APK 파일의 해시값을 조회하기 위한 프로그램 코드를 나타낸 것이다. 조회 기능은 앞서 호출 처리에서 등록된 APK 정보를 조회하거나 위조 앱의 판정을 위해 블록체인에 저장된 정보를 가져오기 위해 사용될 수 있다. 조회 처리에서는 앞서 정적 분석을 통해 얻어진 앱 기본정보를 킷값으로 이용하며, 체인코드 데이터에 기록되어 있는 정보들이 조회된다.Each trust node 10 constituting the consortium blockchain network (CB) reads the hash values of the APK file registered as a normal app in the blockchain ledger (S630). 11 illustrates a program code for querying a hash value of a verification target APK file. The inquiry function can be used to inquire APK information registered in the call processing or to fetch information stored in the blockchain for the determination of the counterfeit app. In the inquiry process, the app basic information obtained through the static analysis is used as a kit value, and information recorded in the chaincode data is inquired.

각 신뢰노드(10)는 각 정상 앱의 해시값들과 사용자가 다운로드 받은 APK 파일의 해시값을 비교하여 동일한 해시값이 존재하는지 확인한다(S640).Each trust node 10 checks whether the same hash value exists by comparing the hash values of each normal app and the hash value of the APK file downloaded by the user (S640).

컨소시엄 블록체인 네트워크(CB)는 존재 유무의 대한 결과로 정상 앱인지 위조, 변조 위협이 있는 앱인지 판단하고 결과를 클라이언트 노드(20)로 통지한다(S650).The consortium blockchain network (CB) determines whether the app is a normal app or a counterfeit or tampering threat as a result of the presence or absence, and notifies the client node 20 of the result (S650).

클라이언트 노드(20)는 컨소시엄 블록체인 네트워크(CB)의 판정 결과를 화면에 표시하거나 사용자에게 사운드를 통해 표출한다(S660).The client node 20 displays the determination result of the consortium blockchain network (CB) on the screen or expresses it to the user through sound (S660).

사용자는 클라이언트 노드(20) 즉, 단말기가 제공하는 판정 결과를 확인하고, 정상앱으로 판정된 경우 해당 APK를 설치하고(S670), 해당 앱이 위조된 것으로 판정된 경우 해당 APK 파일을 삭제한다(S680).The user checks the determination result provided by the client node 20, that is, the terminal, installs the corresponding APK when it is determined to be a normal app (S670), and deletes the corresponding APK file when the corresponding app is determined to be forged ( S680).

위에서는 앱 개발회사가 앱 검증을 요청하면 신뢰노드에서 해당 앱의 정상 여부를 검증하는 경우를 설명하였으나, 이 외에 각 신뢰기관별로 Play 스토어 등의 앱 스토어에 업로드 되어있는 앱을 다운로드하고 직접 검증을 통하여 정상으로 판명된 앱의 해시값을 트랜잭션에 등록하는 방법도 가능하다. In the above, when an app developer requests an app verification, the trusted node verifies whether the app is normal.In addition, each trusted institution downloads an app uploaded to an app store such as the Play Store, and directly verifies the app. It is also possible to register the hash value of the app that turns out to be normal in the transaction.

CB : 컨소시엄 블록체인
10 : 신뢰노드 20 : 클라이언트 노드
30 : 블록 31 : 블록 헤더
32 : 블록 데이터
CB: Consortium Blockchain
10: trusted node 20: client node
30: block 31: block header
32: block data

Claims (7)

모바일 앱의 위조여부에 대한 검증 및 정상 모바일 앱의 등록 권한이 부여된 신뢰노드들로 이루어지는 컨소시엄 블록체인 네트워크를 구성하는 제1 단계;
상기 신뢰노드들이 APK 파일들을 검증하여 정상으로 판별된 APK 파일의 해시값을 포함하는 APK 파일 식별정보를 블록체인 내에 저장하는 제2 단계;
클라이언드 노드가 다운로드받은 APK 파일의 해시값을 생성하는 제3 단계;
상기 클라이언트 노드가 상기 생성된 APK 파일의 해시값을 상기 컨소시엄 블록체인 네트워크로 전송하는 제4 단계;
상기 각 신뢰노드들이 상기 저장되어 있는 해시값들중에서 상기 수신된 해시값과 동일한 해시값이 있는지 비교하는 제5 단계; 및
상기 컨소시엄 블록체인 네트워크가 상기 해시값 비교 결과를 상기 클라이언트 노드로 전송하는 제6 단계를 포함하는 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
A first step of constructing a consortium blockchain network composed of trusted nodes authorized to verify forgery of the mobile app and to register a normal mobile app;
A second step in which the trusted nodes verify APK files and store APK file identification information including a hash value of the APK file determined as normal in the blockchain;
Generating a hash value of the APK file downloaded by the client node;
Transmitting, by the client node, a hash value of the generated APK file to the consortium blockchain network;
A fifth step of comparing each of the trusted nodes with a hash value equal to the received hash value among the stored hash values; And
And a sixth step of sending, by the consortium blockchain network, the hash value comparison result to the client node.
제1항에 있어서,
상기 APK 파일 식별정보는 상기 해시값 외에 번들 식별정보, 앱 명칭정보 및 버전정보 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
The method of claim 1,
The APK file identification information includes at least one of bundle identification information, app name information, and version information in addition to the hash value.
제2항에 있어서,
상기 제2 단계에서 APK 파일 식별정보의 저장은,
정적분석을 통해 APK 파일에 존재하는 앱 관련 기본정보를 추출하는 단계;
상기 기본정보에 해시함수를 적용하여 해시값을 생성하는 단계; 및
상기 기본정보와 해시값을 트랜잭션 데이터로 저장하는 단계를 통해 이루어지는 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
The method of claim 2,
The storing of the APK file identification information in the second step,
Extracting app-related basic information existing in the APK file through static analysis;
Generating a hash value by applying a hash function to the basic information; And
Blockchain-based mobile counterfeit app detection method characterized in that through the step of storing the basic information and the hash value as transaction data.
제3항에 있어서,
상기 앱 관련 기본정보는 AndroidManifest.xml 파일에 대한 정적분석을 통해 추출되는 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
The method of claim 3,
The app-related basic information is a blockchain-based mobile counterfeit app detection method, characterized in that extracted through static analysis of the AndroidManifest.xml file.
제1항에 있어서,
상기 제2 단계에서 검증대상 APK 파일은, 인터넷에 등록된 APK 파일을 다운받거나 앱 개발회사에서 검증을 요청한 APK 파일인 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
The method of claim 1,
In the second step, the verification target APK file is a blockchain-based mobile counterfeit app detection method, characterized in that the APK file downloaded from the Internet or requested to be verified by the app development company.
제1항에 있어서,
상기 컨소시엄 블록체인 네트워크는 Hyperledger Fabric 프레임워크를 사용하고, 키값은 상기 번들 식별정보, 앱 명칭정보 및 버전정보인 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
The method of claim 1,
The consortium blockchain network uses a Hyperledger Fabric framework, and key values are the bundle identification information, the app name information, and the version information.
제6항에 있어서,
상기 키값을 이용하여 블록체인에 등록된 정보를 조회하는 것을 특징으로 하는 블록체인 기반 모바일 위조 앱 검출 방법.
The method of claim 6,
Blockchain-based mobile counterfeit app detection method, characterized in that for querying the information registered in the blockchain using the key value.
KR1020180072564A 2018-06-25 2018-06-25 A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain KR102107082B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180072564A KR102107082B1 (en) 2018-06-25 2018-06-25 A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180072564A KR102107082B1 (en) 2018-06-25 2018-06-25 A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain

Publications (2)

Publication Number Publication Date
KR20200000576A true KR20200000576A (en) 2020-01-03
KR102107082B1 KR102107082B1 (en) 2020-05-06

Family

ID=69155655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180072564A KR102107082B1 (en) 2018-06-25 2018-06-25 A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain

Country Status (1)

Country Link
KR (1) KR102107082B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581283A (en) * 2020-04-29 2020-08-25 新华三信息安全技术有限公司 Application program processing system based on block chain
CN112200575A (en) * 2020-05-28 2021-01-08 支付宝(杭州)信息技术有限公司 Node group creating method and node group-based transaction method in alliance chain network
KR20210110963A (en) * 2020-03-02 2021-09-10 한화정밀기계 주식회사 Software Installing method for Plurality Device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101410255B1 (en) * 2012-12-20 2014-06-20 네이버비즈니스플랫폼 주식회사 System, device, method and computer readable recording medium for determining potential risk of application files
US20180030971A1 (en) 2015-02-16 2018-02-01 Doowon Technical College Variable-capacity swashplate-type compressor
US20180036140A1 (en) 2009-02-11 2018-02-08 Howmedica Osteonics Corp. Intervertebral implant with integrated fixation
KR20180036140A (en) * 2016-09-30 2018-04-09 고려대학교 산학협력단 Method and apparatus for examining forgery of file by using file hash value

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180036140A1 (en) 2009-02-11 2018-02-08 Howmedica Osteonics Corp. Intervertebral implant with integrated fixation
KR101410255B1 (en) * 2012-12-20 2014-06-20 네이버비즈니스플랫폼 주식회사 System, device, method and computer readable recording medium for determining potential risk of application files
US20180030971A1 (en) 2015-02-16 2018-02-01 Doowon Technical College Variable-capacity swashplate-type compressor
KR20180036140A (en) * 2016-09-30 2018-04-09 고려대학교 산학협력단 Method and apparatus for examining forgery of file by using file hash value

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210110963A (en) * 2020-03-02 2021-09-10 한화정밀기계 주식회사 Software Installing method for Plurality Device
CN111581283A (en) * 2020-04-29 2020-08-25 新华三信息安全技术有限公司 Application program processing system based on block chain
CN111581283B (en) * 2020-04-29 2024-03-08 新华三信息安全技术有限公司 Application program processing system based on block chain
CN112200575A (en) * 2020-05-28 2021-01-08 支付宝(杭州)信息技术有限公司 Node group creating method and node group-based transaction method in alliance chain network
CN112200575B (en) * 2020-05-28 2022-05-31 支付宝(杭州)信息技术有限公司 Node group creating method and node group-based transaction method in alliance chain network

Also Published As

Publication number Publication date
KR102107082B1 (en) 2020-05-06

Similar Documents

Publication Publication Date Title
CN111164948B (en) Managing network security vulnerabilities using blockchain networks
US11757641B2 (en) Decentralized data authentication
US8887278B2 (en) Restricting a processing system being compromised with a threat
JP5941872B2 (en) Systems and methods for authentication, data transfer and phishing protection
US20210256113A1 (en) Blockchain Validation of Software
US8286225B2 (en) Method and apparatus for detecting cyber threats
US7613918B2 (en) System and method for enforcing a security context on a downloadable
KR101948721B1 (en) Method and apparatus for examining forgery of file by using file hash value
US20080301441A1 (en) Secure Channel For Image Transmission
US9081985B1 (en) System and method for operating a computing device in a secure mode
JP2015508549A (en) Identify Trojanized applications for mobile environments
US10897361B1 (en) Automated hash validation
KR102107082B1 (en) A Method For Detecting Counterfeit application in Mobile Device Based On Blockchain
Cremona et al. Cybersecurity and the blockchain: preventing the insertion of child pornography images
US11057215B1 (en) Automated hash validation
US11539711B1 (en) Content integrity processing on browser applications
Hwang et al. Identification of counterfeit android malware apps using hyperledger fabric blockchain
Völker et al. Can internet users protect themselves? challenges and techniques of automated protection of HTTP communication
Cho et al. A strengthened android signature management method
KR102534012B1 (en) System and method for authenticating security level of content provider
US11687656B2 (en) Secure application development using distributed ledgers
US20220301376A1 (en) Method and System for Deployment of Authentication Seal in Secure Digital Voting
Mellberg Secure Updating of Configurations in a System of Devices
Liu et al. Liberate Your Servers: A Decentralized Content Compliance Validation Protocol
Rizvi et al. A Hybrid Framework for Detecting Repackaged Applications on the Android Market

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