WO2017030288A1 - 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법 - Google Patents

원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법 Download PDF

Info

Publication number
WO2017030288A1
WO2017030288A1 PCT/KR2016/007463 KR2016007463W WO2017030288A1 WO 2017030288 A1 WO2017030288 A1 WO 2017030288A1 KR 2016007463 W KR2016007463 W KR 2016007463W WO 2017030288 A1 WO2017030288 A1 WO 2017030288A1
Authority
WO
WIPO (PCT)
Prior art keywords
rce
code
execution
client
return
Prior art date
Application number
PCT/KR2016/007463
Other languages
English (en)
French (fr)
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 (주)케이사인
Publication of WO2017030288A1 publication Critical patent/WO2017030288A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Definitions

  • the present invention relates to a system and method for verifying execution integrity using remote code execution, and more particularly, to prevent sensitive code of a mobile application from being exposed, verifying execution integrity, and using remote code execution.
  • the present invention relates to an execution integrity verification system using remote code execution and a method thereof.
  • reverse engineering attack technique In general, mobile applications are vulnerable to reverse engineering attack techniques due to their technical characteristics. Therefore, in the related art, in order to have resistance to reverse engineering attack technique, the reverse engineering attack time is delayed by applying security techniques such as obfuscation.
  • security techniques such as obfuscation.
  • reverse engineering attacks on most mobile applications can be repackaging attacks that modify and then redistribute program comparison routines or execution result values. There is a problem that resistance to is not effective.
  • the background technology of the present invention is disclosed in Korean Unexamined Patent Publication No. 10-2014-0082408 (July 02, 2014).
  • the present invention has been created to improve the above problems, and an object of the present invention is to prevent remote code execution from exposing important codes of mobile applications, and verify and guarantee execution integrity.
  • the present invention provides a system and method for verifying execution integrity using remote code execution to increase engineering resistance.
  • the RCE service to the RCE server through the RCE Remote Code Execution
  • the RCE server generating the generated return value as an argument of the service call function to the client through Reverse-RCE, and the client processes the return function using the return value as an argument. can do.
  • the client may transmit the memory code of the return function loaded in the memory to the RCE server.
  • the client may dump the memory code of the return function and deliver it to the RCE server, and the RCE server may generate the first hash value by hashing the binary of the transferred memory code.
  • the RCE server may store the second hash value generated by hashing the binary of the memory code of the original return function.
  • the RCE server determines that the integrity of the memory code of the return function is verified when the generated first hash value and the second stored hash value are identical to the client through the reverse-RCE. You can pass a return value.
  • the execution integrity verification method performed by the execution integrity verification system using the remote code execution according to an embodiment of the present invention, the client through the RCE (Remote Code Execution) using a pointer of the return function as the argument of the service call function Requesting an RCE service from an RCE server; Requesting, by the RCE server, a memory code of the return function to the client through Reverse-RCE using the pointer of the return function; Receiving, by the RCE server, the memory code from the client and generating a first hash value of the memory code; Comparing, by the RCE server, the generated first hash value with a second hash value of a memory code of a previously stored original return function; The RCE server executing a service function according to the comparison result to generate a return value, and passing the generated return value as an argument of the service call function to the client through Reverse-RCE; And processing, by the client, the return function using the return value as an argument.
  • RCE Remote Code Execution
  • Execution integrity verification system and method using remote code execution in accordance with the present invention is based on the Remote Code Execution (Remote Code Execution) communication technology using a remote code execution (Remote Code Execution) so that important code of the mobile application is not exposed This prevents remote code changes and increases reverse engineering resistance by ensuring execution integrity.
  • FIG. 1 is a diagram illustrating an execution integrity verification system using remote code execution according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram illustrating a preprocessing process of an execution integrity verification system using remote code execution according to an embodiment of the present invention.
  • FIG. 3 is a detailed block diagram of a client and an RCE server.
  • FIG. 4 is a diagram illustrating a service flow of an execution integrity verification system using remote code execution according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating the operation of the execution integrity verification method using remote code execution according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram for explaining FIG. 5.
  • a Remote Code Execution (RCE) service may include a client (or caller) calling an RCE code and an RCE server providing an RCE service.
  • RCE Remote Code Execution
  • FIG. 1 is a view showing an execution integrity verification system using remote code execution according to an embodiment of the present invention
  • Figure 2 is a view for explaining a pre-processing process of the execution integrity verification system using remote code execution according to an embodiment of the present invention Conceptual diagram.
  • the execution integrity verification system using remote code execution includes a client 100, an RCE server 200 and an application providing server 300.
  • the application providing server 300 separates the application file into a general code and an important code. Then, the separated general code and the important code are delivered to the client 100 and the RCE server 200, respectively.
  • the application providing server 300 may set an important code through an executable file decompiled from an application package.
  • the application providing server 300 generates a general code by removing important codes from the application files.
  • the general code and the important code may be in the form of a file that can be installed and executed in the client 100 and the RCE server 200, respectively.
  • the important code may be generated by reconfiguring the important code that needs to be protected from a security attack from the user's point of view into a C code, and may be stored in an Executable and Linkable Format (ELF).
  • ELF Executable and Linkable Format
  • the ELF type has an advantage that the structure of the code is not explicitly distinguished, so it is not easily exposed to dynamic or static analysis for code forgery compared to the DEX type.
  • the ELF form consists of lower level CPU instructions than Dalvik instructions, making it difficult for an attacker to perform dynamic and static analysis.
  • the application providing server 300 may store various kinds of application general codes and important codes such as finance, news, shopping, and games, and the client 100 and the RCE server 200 may store the general codes and the important codes of these applications. Code can be downloaded and installed from the application providing server 300.
  • the application providing server 300 may be a mobile application market.
  • various mobile application markets such as Google Play or Apple's App Store correspond to the application providing server 300.
  • the return function of the general code generated from the application providing server 300 is stored in the client 100, the original return function of the important code is stored in the remote RCE server 200.
  • the RCE server 200 hashes the binary of the memory code with respect to the original return function as shown in FIG. 2 to generate and store a hash value.
  • the client 100 requests the RCE service to the RCE server 200 through the RCE, using the pointer of the return function as an argument of the service call function, and the RCE.
  • the memory code of the return function is transferred to the RCE server 200.
  • the client 100 dumps a memory code of a return function loaded in a memory (not shown), and delivers it to the RCE server 200.
  • the client 100 when the client 100 receives a return value generated by executing a service function from the RCE server 200 as an argument of the service call function, the client 100 processes the return function using the corresponding return value as an argument.
  • the service call function of the client 100 may check the processing result of the return function.
  • FIG. 3 is a detailed block diagram of a client and an RCE server.
  • the client 100 includes the following modules.
  • the RCE client module 110 is a module for requesting the RCE service to the RCE server 200
  • the RCE general module 120 is a common function (access, authentication, decryption, hashing required for RCE or Reverse-RCE). , Unmarshalling, etc.)
  • the RCE communication module 130 is stubs that are objects that operate on behalf of a remote object for RCE communication
  • the Reverse-RCE communication module 140 is a skel for reverse-RCE communication. Skeleton) and a return function
  • the Reverse-RCE dispatcher module 150 is a module that registers the services corresponding to the Reverse-RCE, and properly connects the service request. In this case, an execution flow obfuscation technique that complicates the call flow when connecting each service request to the RCE service may be applied.
  • the RCE server 200 When the RCE server 200 receives the RCE request using the pointer of the return function from the client 100 as an argument of the service call function, the RCE server 200 requests the reverse-RCE to receive the memory code of the return function to the client 100, and the client When the memory code is passed from 100, a hash value of the transferred memory code is generated.
  • the RCE server 200 hashes the binary of the memory code transmitted from the client 100 to generate a hash value.
  • the RCE server 200 compares the hash value generated by hashing the binary of the memory code transmitted from the client 100 with the hash value of the memory code of the prestored original return function through the above-described preprocessing process. If the hash value is the same as the stored hash value, it is determined that the integrity of the memory code of the return function is verified, and the service function is executed to generate a return value (ie, an execution result value). Then, the generated return value is passed as a parameter of the service call function to the client 100 through Reverse-RCE.
  • the RCE server 200 is composed of the following modules as can be seen with reference to FIG.
  • the RCE service module 210 is a service function requested by the RCE
  • the verification module 220 is a function of calculating and verifying a hash value for a return function
  • the RCE general module 230 is a RCE or Reverse-RCE.
  • Common features access, authentication, encryption, decryption, chess, unmarshalling, etc.
  • the RCE communication module 240 are skels, which are objects that act on behalf of remote objects for RCE communication, and RCE dispatcher modules. 250 registers the services corresponding to the RCE and properly associates the service request. In this case, the execution flow obfuscation technique that complicates the call flow when connecting each service request to the service may be applied.
  • the reverse-RCE communication module 250 is functions for receiving stubs and return functions for reverse-RCE communication.
  • FIG. 4 is a diagram illustrating a service flow of an execution integrity verification system using remote code execution according to an embodiment of the present invention.
  • the upper part is a client 100 and the lower part is an RCE server 200 based on the RCE / RRCE communication.
  • the RCE_Service_Caller of the client 100 passes through the RCE_Service of the RCE server 200 to verify the integrity, and the RRCE_Code_Memory (return function code in memory) through the RRCE_Service of the client 100 through the RRCE_Service_Caller. After the access, the RRCE_Code_Memory is passed back through the RRCE_Service_Caller and the RCE_Service to the RCE_Service_Caller of the client 100.
  • RCE and Reverse-RCE communication communicates in RCE / RRCE communication method through each of RCE_Stub / RCE_Skel and RRCE_Stub / RRCE_Skel.
  • Each Skel registers and selects the appropriate service through RCE_Dispatcher and RRCE_Dispatcher.
  • FIG. 5 is a flowchart illustrating an operation flow of a method for verifying execution integrity using remote code execution according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram for describing FIG. 5. do.
  • the client 100 uses an RCE as shown in the RCE call service () of FIG. Request RCE service to the RCE server 200 through (S510).
  • the RCE server 200 receives the RCE service request from the client 100, the client through the reverse-RCE as shown in the ReverseRCE call dump_code () of Figure 6 by using a pointer of the return function delivered from the client 100
  • the memory code of the return function is requested to 100 (S520).
  • the client 100 transmits the memory code of the return function to the RCE server 200 (S530).
  • the client 100 dumps a memory code of a return function loaded in a memory (not shown), and delivers it to the RCE server 200.
  • the RCE server 200 generates a hash value of the memory code transferred in step S530 (S540).
  • the RCE server 200 generates a hash value by hashing the binary of the memory code transferred from the client 100 as shown in hash () of FIG. 6.
  • the RCE server 200 compares the hash value generated in step S540 with the hash value of the memory code of the original return function previously stored in the RCE server 200 (S550).
  • operation S550 it is verified that the return function loaded in the memory of the client 100 has not changed through the integrity_check () of FIG. 6.
  • step S550 when the comparison result of step S550, the hash value generated in step S540 and the previously stored hash value is the same, it is determined that the integrity of the memory code of the return function is verified and the service function is executed to return the value (that is, execution result value) ) Is generated (S560).
  • the return value generated in operation S560 is used as a parameter of the service call function, and is transmitted to the client 100 through Reverse-RCE (S570).
  • step S570 the return value for the service function execution of the RCE server 200 is directly processed in the return function of the client 100 without changing the memo code or the return value of the client 100 through the reverse-RCE call. It is guaranteed to be accurately reflected in the calling function.
  • the client 100 processes the return function of the client 100 using the return value received in step S570 as a factor (S580).
  • the service call function of the client 100 may check the processing result of the return function.
  • the steps S510 to S560 of FIG. 5 may verify the integrity, and the step S570 to S580 may be divided into a step of guaranteeing indetermination.
  • the return function is a designated function that allows the client 100 to receive a return value from the service of the RCE server 200.
  • the return function is called through Reverse-RCE and directly receives the return value from the RCE server 200.
  • the code of the return function is not changed, that is, the integrity can be verified, and execution integrity can be guaranteed by passing the return value to the return function whose integrity has been verified.
  • the execution integrity verification system using the remote code execution and the method according to an embodiment of the present invention is a mobile application using Remote Code Execution based on Remote Code Execution communication technology
  • the code can be prevented from being changed remotely, and execution integrity can be increased to increase reverse engineering resistance.
  • Reverse-RCE communication module 150 Reverse-RCE dispatcher module
  • RCE server 210 RCE service module
  • verification module 230 RCE general module
  • RCE communication module 250 RCE dispatcher module

Landscapes

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

Abstract

본 발명은 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법에 대한 것이다. 본 발명에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템은 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE(Remote Code Execution)를 통해 RCE서버에 RCE 서비스를 요청하고, RCE서버로부터 반환함수의 메모리 코드를 전달받기 위한 Reverse-RCE가 요청되면, RCE서버에 반환함수의 메모리 코드를 전달하는 클라이언트 및 전달된 메모리 코드의 해쉬 값을 생성하여 생성된 해쉬 값과 기 저장된 원본 반환함수의 메모리 코드의 해쉬 값을 비교하고, 비교 결과에 따라 서비스 함수를 실행하여 반환 값을 생성하고, 생성된 반환 값을 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 클라이언트에 전달하는 RCE서버를 포함한다.

Description

원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법
본 발명은 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법에 관한 것으로서, 보다 상세하게는 원격 코드 실행(Remote Code Execution)을 이용하여 모바일 애플리케이션의 중요 코드가 노출되지 않도록 하고, 실행 무결성을 검증 및 보장하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법에 관한 것이다.
2014년 1분기 IT 전문 조사기관인 가트너에 따르면 스마트 태블릿 및 스마트폰의 2014년 전 세계 기기 출하량이 2013년 대비 11% 증가한 20억대에 이르는 것으로 전망했고, 2015년에는 23억대를 넘어설 것으로 전망하고 있다. 이에 따라 애플리케이션 공급자인 안드로이드 구글 플레이의 앱 규모가 커짐과 동시에 모바일 애플리케이션을 보호하는 기술에 대한 수요 또한 증가할 것으로 전망된다.
일반적으로 모바일 애플리케이션은 기술적 특성상 역공학 공격 기법에 매우 취약하다. 따라서 종래에는 역공학 공격 기법에 대한 저항성을 가지기 위해 난독화 등의 보안기법을 적용하여 역공학 공격시간이 지연되도록 하였다. 그러나, 대부분의 모바일 애플리케이션에 대한 역공학 공격은 대부분 프로그램 비교 루틴이나 실행 결과 값을 변조하여 프로그램 로직을 변경한 후 재배포하는 리패키징 공격이 가능하므로 이러한 종래 기술만으로는 모바일 애플리케이션을 대상으로 하는 역공학 공격에 대한 저항이 효과적이지 못하다는 문제점이 있다.
즉, 이와 같은 리패키징 공격을 수행할 경우, 반환 값의 수정이나 프로그램 로직 변경이 가능하므로 실질적으로 이를 해결하기 위한 기술의 개발이 필요하다.
본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제10-2014-0082408호(2014.07.02.공개)에 개시되어 있다.
본 발명은 상기와 같은 문제점을 개선하기 위해 창출된 것으로, 본 발명의 목적은 원격 코드 실행(Remote Code Execution)을 이용하여 모바일 애플리케이션의 중요 코드가 노출되지 않도록 하고, 실행 무결성을 검증 및 보장하여 역공학 저항성이 증가되도록 하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템은, 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE(Remote Code Execution)를 통해 RCE서버에 RCE 서비스를 요청하고, 상기 RCE서버로부터 상기 반환함수의 메모리 코드를 전달받기 위한 Reverse-RCE가 요청되면, 상기 RCE서버에 상기 반환함수의 메모리 코드를 전달하는 클라이언트; 및 상기 전달된 메모리 코드의 제1 해쉬 값을 생성하여 상기 생성된 해쉬 값과 기 저장된 원본 반환함수의 메모리 코드의 제2 해쉬 값을 비교하고, 상기 비교 결과에 따라 서비스 함수를 실행하여 반환 값을 생성하고, 상기 생성된 반환 값을 상기 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 상기 클라이언트에 전달하는 상기 RCE서버를 포함하고, 상기 클라이언트는, 상기 반환 값을 인자로 하여 상기 반환함수를 처리할 수 있다.
또한, 상기 클라이언트는, 메모리에 로드된 상기 반환함수의 메모리 코드를 상기 RCE서버에 전달할 수 있다.
또한, 상기 클라이언트는 상기 반환함수의 메모리 코드를 덤프(dump)하여 상기 RCE서버에 전달하고, 상기 RCE서버는, 상기 전달된 메모리 코드의 바이너리를 해싱하여 상기 제1 해쉬 값을 생성할 수 있다.
또한, 상기 RCE서버는, 상기 원본 반환함수의 메모리 코드의 바이너리를 해싱하여 생성된 상기 제2 해쉬 값을 저장할 수 있다.
또한, 상기 RCE서버는, 상기 생성된 제1 해쉬 값과 상기 기 저장된 제2 해쉬 값이 동일한 경우, 상기 반환함수의 메모리 코드에 대한 무결성이 검증된 것으로 판단하여 Reverse-RCE를 통해 상기 클라이언트에 상기 반환 값을 전달할 수 있다.
또한, 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템에 의해 수행되는 실행 무결성 검증 방법은, 클라이언트가 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE(Remote Code Execution)를 통해 RCE서버에 RCE 서비스를 요청하는 단계; 상기 RCE서버가 상기 반환함수의 포인터를 이용하여 Reverse-RCE를 통해 상기 클라이언트에 상기 반환함수의 메모리 코드를 요청하는 단계; 상기 RCE서버가 상기 클라이언트로부터 상기 메모리 코드를 전달받아 상기 메모리 코드의 제1 해쉬 값을 생성하는 단계; 상기 RCE서버가 상기 생성된 제1 해쉬 값과 기 저장된 원본 반환함수의 메모리 코드의 제2 해쉬 값을 비교하는 단계; 상기 RCE서버가 상기 비교 결과에 따라 서비스 함수를 실행하여 반환 값을 생성하고, 상기 생성된 반환 값을 상기 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 상기 클라이언트에 전달하는 단계; 및 상기 클라이언트가 상기 반환 값을 인자로 하여 상기 반환함수를 처리하는 단계를 포함한다.
본 발명에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법은 원격 코드 실행(Remote Code Execution) 통신 기술을 기반으로 원격 코드 실행(Remote Code Execution)을 이용하여 모바일 애플리케이션의 중요 코드가 노출되지 않도록 함으로써 원격지에서의 코드 변경을 방지할 수 있고, 실행 무결성을 확보함으로써 역공학 저항성을 증가시킬 수 있다.
도 1은 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템의 전처리 과정을 설명하기 위한 개념도이다.
도 3은 클라이언트와 RCE서버의 세부블록도이다.
도 4는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템의 서비스 흐름을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 방법의 동작 흐름을 도시한 순서도이다.
도 6은 도 5를 설명하기 위한 개념도이다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법을 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다.
또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
일반적으로 원격 코드 실행(Remote Code Execution, 이하 RCE) 서비스는, RCE 코드를 호출하는 클라이언트(또는, 호출자(caller)) 및 RCE 서비스를 제공하는 RCE서버(server)로 구성될 수 있다.
본 발명에서는, 이러한 RCE 서비스를 기반으로 원격 코드 실행을 설계하여 이를 역공학 공격에 취약한 모바일 애플리케이션에 적용함으로써, 중요 코드의 노출을 방지하고, 실행 무결성을 확보할 수 있는 원격 코드 실행을 이용한 실행 무결성 검증 시스템을 구현하고자 한다.
먼저, 도 1 내지 도 4를 통해 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템에 대하여 설명한다.
도 1은 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템을 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템의 전처리 과정을 설명하기 위한 개념도이다.
도 1 및 도 2에서와 같이 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템은, 클라이언트(100), RCE서버(200) 및 애플리케이션 제공 서버(300)를 포함한다.
이때, 애플리케이션 제공 서버(300)는 애플리케이션 파일을 일반코드와 중요코드로 분리한다. 그리고 분리된 일반코드 및 중요코드를 각각 클라이언트(100) 및 RCE서버(200)로 전달한다.
즉, 애플리케이션 제공 서버(300)는 애플리케이션 패키지로부터 디컴파일된 실행 파일을 통하여 중요코드를 설정할 수 있다. 그리고 애플리케이션 제공 서버(300)는 애플리케이션 파일 중에서 중요코드를 제거하여 일반코드를 생성한다. 이때, 일반코드와 중요코드는 각각 클라이언트(100) 및 RCE서버(200)에 설치되어 실행될 수 있는 파일 형태일 수 있다.
이때, 중요코드는 사용자의 관점에서 보안 공격으로부터 보호될 필요가 있는 중요한 코드를 C코드로 재구성하여 생성된 것일 수 있으며, ELF(Executable and Linkable Format) 형태로 저장될 수 있다. ELF 형태는 코드의 구조가 명시적으로 구분되지 않아 DEX 형태에 비해 코드 위변조를 위한 동적 분석 또는 정적 분석에 상대적으로 쉽게 노출되지 않는 장점이 있다. 또한, ELF 형태는 명령어 구성이 Dalvik 명령어에 비해 낮은 수준의 CPU 명령어로 구성되어 있어서 공격자의 동적 분석 및 정적 분석을 어렵게 한다.
상세히 하자면, 애플리케이션 제공 서버(300)는 금융, 뉴스, 쇼핑, 게임 등 다양한 종류의 애플리케이션 일반코드 및 중요코드를 저장할 수 있으며, 클라이언트(100) 및 RCE서버(200)가 이러한 애플리케이션의 일반코드 및 중요코드를 애플리케이션 제공 서버(300)로부터 다운로드 받아 설치할 수 있도록 한다. 여기서 애플리케이션 제공 서버(300)는 모바일 애플리케이션 마켓일 수 있으며, 예를 들어, 구글 플레이나 애플의 앱스토어와 같은 각종 모바일 애플리케이션 마켓이 애플리케이션 제공 서버(300)에 해당된다.
즉, 애플리케이션 제공 서버(300)로부터 생성된 일반코드의 반환함수는 클라이언트(100)에 저장되고, 중요코드의 원본 반환함수는 원격지의 RCE서버(200)에 저장된다. 이때, RCE서버(200)는 도 2에서와 같이 원본 반환함수에 대하여 메모리 코드의 바이너리를 해싱하여 해쉬 값을 생성하여 저장한다.
따라서, 본 발명의 실시예에 따른 클라이언트(100)는 위와 같은 전처리 과정이 수행되면, 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE를 통해 RCE서버(200)에 RCE 서비스를 요청하고, RCE서버(200)로부터 반환함수의 메모리 코드를 전달받기 위한 Reverse-RCE가 요청되면, RCE서버(200)에 반환함수의 메모리 코드를 전달한다.
이때, 클라이언트(100)는 메모리(미도시)에 로드된 반환함수의 메모리 코드를 덤프(dump)하여 RCE서버(200)에 전달한다.
또한, 클라이언트(100)는 RCE서버(200)로부터 서비스 함수를 실행하여 생성된 반환 값을 서비스 호출 함수의 인자로 하여 전달받으면 해당 반환 값을 인자로 하여 반환함수를 처리한다. 그리고, 클라이언트(100)의 서비스 호출 함수는 반환함수의 처리 결과를 확인할 수도 있다.
도 3은 클라이언트와 RCE서버의 세부블록도이다.
클라이언트(100)는 도 3을 참조하면 알 수 있듯이 다음의 모듈들로 구성된다.
먼저, RCE 클라이언트 모듈(110)은 RCE서버(200)에 RCE 서비스를 요청하는 모듈이고, RCE 일반 모듈(120)은 RCE 혹은 Reverse-RCE 시에 필요한 공통 기능(접속, 인증, 암복호화, 먀샬링, 언마샬링 등)이며, RCE 통신 모듈(130)은 RCE 통신을 위해 원격 객체를 대행해서 동작해주는 객체인 스터브(stub)들이고, Reverse-RCE 통신 모듈(140)은 Reverse-RCE 통신을 위한 skel(스켈레톤)들과 반환 함수를 전해주기 위한 모듈이며, Reverse-RCE 디스패처 모듈(150)은 Reverse-RCE 에 해당하는 서비스들을 등록하고, 서비스 요청을 적절히 연결하는 모듈이다. 이 때 각 서비스 요청을 RCE 서비스로 연결할 때 호출 흐름을 복잡하게 하는 실행 흐름 난독화 기법이 적용될 수도 있다.
RCE서버(200)는 클라이언트(100)로부터 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE 요청을 받으면, 클라이언트(100)로 반환함수의 메모리 코드를 전달받기 위한 Reverse-RCE를 요청하고, 클라이언트(100)로부터 메모리 코드가 전달되면, 전달된 메모리 코드의 해쉬 값을 생성한다.
이때, RCE서버(200)는, 클라이언트(100)로부터 전달된 메모리 코드의 바이너리를 해싱하여 해쉬 값을 생성한다.
그리고, RCE서버(200)는 클라이언트(100)로부터 전달된 메모리 코드의 바이너리를 해싱하여 생성된 해쉬 값과, 앞서 설명한 전처리 과정을 통해 기 저장된 원본 반환함수의 메모리 코드의 해쉬 값을 비교하여, 생성된 해쉬 값과 기 저장된 해쉬 값이 동일한 경우, 반환함수의 메모리 코드에 대한 무결성이 검증된 것으로 판단하고, 서비스 함수를 실행하여 반환 값(즉, 실행 결과 값)을 생성한다. 그리고, 생성된 반환 값을 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 클라이언트(100)에 전달한다.
이때, RCE 서버(200)는 도 3을 참조하면 알 수 있듯이 다음의 모듈들로 구성된다.
먼저, RCE 서비스 모듈(210)은 RCE로 요청된 서비스 기능들이고, 검증 모듈(220)은 반환 함수에 대한 해쉬 값을 계산하여 검증하는 기능들이며, RCE 일반 모듈(230)은 RCE 혹은 Reverse-RCE 시에 필요한 공통 기능(접속, 인증, 암복호화, 먀샬링, 언마샬링 등)이고, RCE 통신 모듈(240)은 RCE 통신을 위해 원격 객체를 대행해서 동작해주는 객체인 skel(스켈레톤) 들이고, RCE 디스패처 모듈(250)은 RCE에 해당하는 서비스들을 등록하고, 서비스 요청을 적절히 연결한다. 이 때 각 서비스 요청을 서비스로 연결할 때 호출 흐름을 복잡하게 하는 실행 흐름 난독화 기법이 적용 될 수 있다. 또한, Reverse-RCE 통신 모듈(250)은 Reverse-RCE 통신을 위한 stub 들과 반환 함수를 전달받기 위한 기능들이다.
도 4는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템의 서비스 흐름을 설명하기 위한 도면이다.
도 4에서 RCE/RRCE Communication을 중심으로 위쪽은 클라이언트(100)이고, 아래 쪽은 RCE서버(200)이다.
이를 참조하여 서비스 실행 흐름을 살펴보면, 무결성 검증을 위해 클라이언트(100)의 RCE_Service_Caller에서 RCE서버(200)의 RCE_Service를 거치고, RRCE_Service_Caller를 거쳐 클라이언트(100)의 RRCE_Service를 통해 RRCE_Code_Memory(메모리 상의 반환 함수 코드)에 접근한 다음, RRCE_Code_Memory로부터 RRCE_Service_Caller와 RCE_Service를 거쳐서 다시 클라이언트(100)의 RCE_Service_Caller로 돌아온다.
이때, RCE와 Reverse-RCE 통신은 각 RCE_Stub / RCE_Skel 및 RRCE_Stub / RRCE_Skel을 통하여 RCE/RRCE Communication 방식으로 통신한다. 그리고 각 Skel은 RCE_Dispatcher 및 RRCE_Dispatcher를 통해서 적절한 서비스를 등록 및 선택한다.
이하에서는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템에 의해 수행되는 실행 무결성 검증 방법에 대하여 설명한다.
도 5는 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 방법의 동작 흐름을 도시한 순서도이고, 도 6은 도 5를 설명하기 위한 개념도로서, 이를 참조하여 본 발명의 구체적인 동작을 설명한다.
본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 방법에 따르면, 먼저, 클라이언트(100)가 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 도 6의 RCE call service()와 같이 RCE를 통해 RCE서버(200)에 RCE 서비스를 요청한다(S510).
그 다음, RCE서버(200)가 클라이언트(100)로부터 RCE 서비스를 요청받으면, 클라이언트(100)로부터 전달된 반환함수의 포인터를 이용하여 도 6의 ReverseRCE call dump_code()와 같이 Reverse-RCE를 통해 클라이언트(100)에 반환함수의 메모리 코드를 요청한다(S520).
그 다음, 클라이언트(100)가 RCE서버(200)에 반환함수의 메모리 코드를 전달한다(S530).
이때, 클라이언트(100)는 메모리(미도시)에 로드된 반환함수의 메모리 코드를 덤프(dump)하여 RCE서버(200)에 전달한다.
그 다음, RCE서버(200)가 S530 단계에서 전달된 메모리 코드의 해쉬 값을 생성한다(S540).
자세히는, RCE서버(200)가 도 6의 hash()와 같이 클라이언트(100)로부터 전달된 메모리 코드의 바이너리를 해싱하여 해쉬 값을 생성한다.
그 다음, RCE서버(200)가 S540 단계에서 생성된 해쉬 값과 RCE서버(200)에 기 저장된 원본 반환함수의 메모리 코드의 해쉬 값을 비교한다(S550).
즉, S550 단계에서는 도 6의 integrity_check()를 통해 클라이언트(100)의 메모리에 로드된 반환함수가 변경되지 않았음을 검증한다.
따라서 S550 단계의 비교 결과, S540 단계에서 생성된 해쉬 값과 기 저장된 해쉬 값이 동일한 경우, 반환함수의 메모리 코드에 대한 무결성이 검증된 것으로 판단하고 서비스 함수를 실행하여 반환 값(즉, 실행 결과 값)을 생성한다(S560).
그리고, 도 6의 callback *return()과 같이 S560 단계에서 생성된 반환 값을 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 클라이언트(100)에 전달한다(S570).
즉, S570 단계에서는 Reverse-RCE 호출을 통해 RCE서버(200)의 서비스 함수 실행에 대한 반환 값이 클라이언트(100)의 메모 코드나 반환 값의 변경 없이 클라이언트(100)의 반환함수에 직접 처리됨으로써 서비스 호출 함수에 정확히 반영됨을 보장한다.
그 다음, 클라이언트(100)가 S570 단계에서 전달받은 반환 값을 인자로 하여 클라이언트(100)의 반환함수를 처리한다(S580).
이때, 클라이언트(100)의 서비스 호출 함수는 반환함수의 처리 결과를 확인할 수도 있다.
이와 같이, 도 5의 S510 단계에서 S560 단계까지는 무결성을 검증하는 단계이고, S570 단계에서 S580 단계는 무결정을 보장하는 단계로 구분할 수 있다.
즉, 반환함수는 클라이언트(100)가 RCE서버(200)의 서비스로부터 반환 값을 받을 수 있는 지정 함수로서, Reverse-RCE를 통하여 호출되고, 그 반환 값을 RCE서버(200)로부터 직접 입력 받는다.
따라서, 본 발명의 실시예에 따른 무결성 검증 방법을 통해 반환함수의 코드가 변경되지 않음 즉 무결성을 검증하고, 무결성이 검증된 반환함수에 반환 값을 넘겨 줌으로써 실행 무결성을 보장할 수 있다.
상술한 바와 같이, 본 발명의 실시예에 따른 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법은 원격 코드 실행(Remote Code Execution) 통신 기술을 기반으로 원격 코드 실행Remote Code Execution)을 이용하여 모바일 애플리케이션의 중요 코드가 노출되지 않도록 함으로써 원격지에서의 코드 변경을 방지할 수 있고, 실행 무결성을 확보함으로써 역공학 저항성을 증가시킬 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
<부호의 설명>
100 : 클라이언트 110 : RCE 클라이언트 모듈
120 : RCE 일반 모듈 130 : RCE 통신 모듈
140 : Reverse-RCE 통신 모듈 150 : Reverse-RCE 디스패처 모듈
200 : RCE서버 210 : RCE 서비스 모듈
220 : 검증 모듈 230 : RCE 일반 모듈
240 : RCE 통신 모듈 250 : RCE 디스패처 모듈
260 : Reverse-RCE 통신 모듈 300 : 애플리케이션 제공 서버

Claims (10)

  1. 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE(Remote Code Execution)를 통해 RCE서버에 RCE 서비스를 요청하고, 상기 RCE서버로부터 상기 반환함수의 메모리 코드를 전달받기 위한 Reverse-RCE가 요청되면, 상기 RCE서버에 상기 반환함수의 메모리 코드를 전달하는 클라이언트; 및
    상기 전달된 메모리 코드의 제1 해쉬 값을 생성하여 상기 생성된 제1 해쉬 값과 기 저장된 원본 반환함수의 메모리 코드의 제2 해쉬 값을 비교하고, 상기 비교 결과에 따라 서비스 함수를 실행하여 반환 값을 생성하고, 상기 생성된 반환 값을 상기 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 상기 클라이언트에 전달하는 상기 RCE서버를 포함하고,
    상기 클라이언트는, 상기 반환 값을 인자로 하여 상기 반환함수를 처리하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템.
  2. 제1항에 있어서,
    상기 클라이언트는,
    메모리에 로드된 상기 반환함수의 메모리 코드를 상기 RCE서버에 전달하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템.
  3. 제1항에 있어서,
    상기 클라이언트는
    상기 반환함수의 메모리 코드를 덤프(dump)하여 상기 RCE서버에 전달하고,
    상기 RCE서버는,
    상기 전달된 메모리 코드의 바이너리를 해싱하여 상기 제1 해쉬 값을 생성하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템.
  4. 제1항에 있어서,
    상기 RCE서버는,
    상기 원본 반환함수의 메모리 코드의 바이너리를 해싱하여 생성된 상기 제2 해쉬 값을 저장하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템.
  5. 제1항에 있어서,
    상기 RCE서버는,
    상기 생성된 제1 해쉬 값과 상기 기 저장된 제2 해쉬 값이 동일한 경우, 상기 반환함수의 메모리 코드에 대한 무결성이 검증된 것으로 판단하여 Reverse-RCE를 통해 상기 클라이언트에 상기 반환 값을 전달하는 원격 코드 실행을 이용한 실행 무결성 검증 시스템.
  6. 원격 코드 실행을 이용한 실행 무결성 검증 시스템에 의해 수행되는 방법에 있어서,
    클라이언트가 반환함수의 포인터를 서비스 호출 함수의 인자로 하여 RCE(Remote Code Execution)를 통해 RCE서버에 RCE 서비스를 요청하는 단계;
    상기 RCE서버가 상기 반환함수의 포인터를 이용하여 Reverse-RCE를 통해 상기 클라이언트에 상기 반환함수의 메모리 코드를 요청하는 단계;
    상기 RCE서버가 상기 클라이언트로부터 상기 메모리 코드를 전달받아 상기 메모리 코드의 제1 해쉬 값을 생성하는 단계;
    상기 RCE서버가 상기 생성된 제1 해쉬 값과 기 저장된 원본 반환함수의 메모리 코드의 제2 해쉬 값을 비교하는 단계;
    상기 RCE서버가 상기 비교 결과에 따라 서비스 함수를 실행하여 반환 값을 생성하고, 상기 생성된 반환 값을 상기 서비스 호출 함수의 인자로 하여 Reverse-RCE를 통해 상기 클라이언트에 전달하는 단계; 및
    상기 클라이언트가 상기 반환 값을 인자로 하여 상기 반환함수를 처리하는 단계를 포함하는 실행 무결성 검증 방법.
  7. 제6항에 있어서,
    상기 반환함수의 메모리 코드를 요청하는 단계는,
    상기 클라이언트의 메모리에 로드된 상기 반환함수의 메모리 코드를 요청하는 실행 무결성 검증 방법.
  8. 제6항에 있어서,
    상기 클라이언트는,
    상기 메모리 코드를 덤프(dump)하여 상기 RCE서버에 전달하고,
    상기 메모리 코드의 상기 제1 해쉬 값을 생성하는 단계는,
    상기 클라이언트로부터 전달된 상기 메모리 코드의 바이너리를 해싱하여 상기 제1 해쉬 값을 생성하는 실행 무결성 검증 방법.
  9. 제6항에 있어서,
    상기 RCE서버는,
    상기 원본 반환함수의 메모리 코드의 바이너리를 해싱하여 생성된 상기 제2 해쉬 값을 저장하는 실행 무결성 검증 방법.
  10. 제6항에 있어서,
    상기 Reverse-RCE를 통해 상기 클라이언트에 전달하는 단계는,
    상기 비교 결과 상기 생성된 제1 해쉬 값과 상기 기 저장된 제2 해쉬 값이 동일한 경우, 상기 RCE서버가 상기 반환함수의 메모리 코드에 대한 무결성이 검증된 것으로 판단하여 상기 Reverse-RCE를 통해 상기 클라이언트에 상기 반환 값을 전달하는 실행 무결성 검증 방법.
PCT/KR2016/007463 2015-08-19 2016-07-08 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법 WO2017030288A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0116678 2015-08-19
KR1020150116678A KR101624606B1 (ko) 2015-08-19 2015-08-19 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
WO2017030288A1 true WO2017030288A1 (ko) 2017-02-23

Family

ID=56106163

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/007463 WO2017030288A1 (ko) 2015-08-19 2016-07-08 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US20170054693A1 (ko)
KR (1) KR101624606B1 (ko)
WO (1) WO2017030288A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111111209B (zh) * 2019-12-23 2022-04-26 福建天晴在线互动科技有限公司 一种游戏客户端完整性校验和修复的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060043336A (ko) * 2004-03-01 2006-05-15 마이크로소프트 코포레이션 코드 실행 계측 방법 및 코드 실행 디바이스
KR20080018902A (ko) * 2005-06-28 2008-02-28 마이크로소프트 코포레이션 사람 입력 보안 코드
KR20090000228A (ko) * 2007-02-05 2009-01-07 삼성전자주식회사 무결성 검증이 가능한 컨텐츠 제공 방법 및 컨텐츠 이용방법과 그 장치
KR20100080398A (ko) * 2008-12-30 2010-07-08 인텔 코오퍼레이션 런타임 무결성 검증을 위한 장치 및 방법
KR20110028968A (ko) * 2009-09-14 2011-03-22 고려대학교 산학협력단 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060043336A (ko) * 2004-03-01 2006-05-15 마이크로소프트 코포레이션 코드 실행 계측 방법 및 코드 실행 디바이스
KR20080018902A (ko) * 2005-06-28 2008-02-28 마이크로소프트 코포레이션 사람 입력 보안 코드
KR20090000228A (ko) * 2007-02-05 2009-01-07 삼성전자주식회사 무결성 검증이 가능한 컨텐츠 제공 방법 및 컨텐츠 이용방법과 그 장치
KR20100080398A (ko) * 2008-12-30 2010-07-08 인텔 코오퍼레이션 런타임 무결성 검증을 위한 장치 및 방법
KR20110028968A (ko) * 2009-09-14 2011-03-22 고려대학교 산학협력단 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템

Also Published As

Publication number Publication date
US20170054693A1 (en) 2017-02-23
KR101624606B1 (ko) 2016-05-27

Similar Documents

Publication Publication Date Title
CN110266764B (zh) 基于网关的内部服务调用方法、装置及终端设备
CN110874236B (zh) 一种跨平台应用装置、终端及存储介质
WO2019072008A1 (zh) 小程序的安全扫描方法、装置以及电子设备
US7613918B2 (en) System and method for enforcing a security context on a downloadable
CN112016106B (zh) 开放接口的认证调用方法、装置、设备和可读存储介质
CN106295255B (zh) 应用程序的加固方法和装置
WO2014027859A1 (en) Device and method for processing transaction request in processing environment of trust zone
CN109769010B (zh) 基于SDK访问CloudStack服务器的方法、装置、设备及存储介质
CN114600108A (zh) 异构处理器通过开放式连接器进行具有远距认证及信息独立的可信运算系统及方法
CN1869927A (zh) 设备控制器、控制设备的方法及其程序
CN111783051A (zh) 身份认证方法及装置和电子设备
US20100100955A1 (en) System and method for secure os access in an ecma-script virtual machine
WO2017030288A1 (ko) 원격 코드 실행을 이용한 실행 무결성 검증 시스템 및 그 방법
US12015502B2 (en) Artificial intelligence integration of third-party software into large-scale digital platforms
CN111160905B (zh) 一种区块链节点用户请求处理保护方法及装置
CN111447273B (zh) 云处理系统及基于云处理系统的数据处理方法
CN112887199A (zh) 网关和云平台及其配置方法、装置、计算机可读存储介质
CN106534047A (zh) 一种基于Trust应用的信息传输方法及装置
CN115048630A (zh) 应用程序的完整性校验方法及装置、存储介质及电子设备
CN115695400A (zh) 一种Web页面与本地应用交互的方法及终端
CN112417402B (zh) 权限控制方法、权限控制装置、权限控制设备及存储介质
Titze et al. Preventing library spoofing on android
CN110704066B (zh) 代码编译方法、装置、设备及存储介质
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
US9240988B1 (en) Computer system employing dual-band authentication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16837230

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16837230

Country of ref document: EP

Kind code of ref document: A1