WO2016024838A1 - 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 - Google Patents
클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 Download PDFInfo
- Publication number
- WO2016024838A1 WO2016024838A1 PCT/KR2015/008512 KR2015008512W WO2016024838A1 WO 2016024838 A1 WO2016024838 A1 WO 2016024838A1 KR 2015008512 W KR2015008512 W KR 2015008512W WO 2016024838 A1 WO2016024838 A1 WO 2016024838A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- security
- unit
- library
- application
- cloud
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 59
- 238000012795 verification Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 description 45
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000005496 tempering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1062—Editing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Definitions
- the present invention relates to a method and system for providing a cloud-based application security service.
- an object of the present invention is to provide a cloud-based application security service providing method and system that enables the convenience of security application and the rapid response to hacker attacks.
- a method for providing a cloud-based application security service in a security service providing system including a client device and a cloud device, by compiling an application source in the client device A binary generation process of generating a binary; An execution package configuration process of constructing an execution package including the binary generated in the binary generation process in the client device; An uploading process of uploading, at the client device, an execution package configured in the execution package configuration process to the cloud device; An execution package decomposition step of extracting binaries by decomposing the execution package uploaded in the uploading step in the cloud device; A security library application process of generating a security application binary by applying one of the security libraries of the plurality of security libraries to the binary extracted in the execution package decomposition process in the cloud device; An execution package reconfiguration process of reconfiguring, in the cloud device, a security application execution package including a security application binary generated in the security library application process; And a downloading process of downloading the security application package reconfigured in the package reconfiguration process at the client device.
- the security library includes a hash verification function for integrity verification, and the cloud device generates a hash code for a binary extracted in the execution package decomposition process for a hash verification function in the security library. It may further include.
- the security library may include an anti-debugging function, an anti-dump function, or an anti-debugging function and a dump function in addition to the hash verification function.
- the client device may further include a security tag setting process of setting a security tag for a specific function of the application source before the binary generation process.
- the client device may further include a debugger library linking process for automatically connecting a debugger library related to the security tag when a security tag set in the security tag setting process is detected.
- the execution package decomposition process parses the execution package uploaded in the uploading process to extract a debugger library, and the secure library applying process extracts the debugger library extracted in the execution package decomposition process of any one of a plurality of security libraries. You can create a secured binary by replacing it with a secured library.
- the hash code generation process may generate a hash code for a specific function in which a security tag is set in the binary extracted in the execution package decomposition process.
- the cloud device further encrypts a security application binary generated in the security library applying process after the hash code generation process by using an encryption key provided corresponding to any one of a plurality of security libraries. It may include.
- a cloud-based application security service providing method includes a binary generation process of generating binary by compiling an application source on the client device. ; In the cloud device, providing a security library of any one of a plurality of security libraries to the client device; And providing a security library application process of generating a security application binary by applying the security library provided in the security library providing process to the binary generated in the binary generation process in the client device.
- the client device is a compiler unit for generating a binary by compiling the application source, and generated by the compiler unit
- An execution package configuration unit constituting an execution package including binaries, an upload unit uploading the execution package configured in the execution package configuration unit to the cloud device, and a security applied execution package downloading from the cloud device
- the cloud device is a security live providing a security package of any one of a plurality of security libraries and an execution package decomposition unit for extracting the binary by decomposing the execution package uploaded from the upload unit;
- a security library applying unit and a security library applying unit generating a security applying binary by applying the security library provided by the security library providing unit to the binaries extracted by the execution package decomposing unit, and the security application generated by the security library applying unit.
- the cloud device may include any one of a plurality of security libraries in the client providing unit.
- the convenience of security application and the quick response to the hacker attack are possible based on the cloud.
- the security tag when executing a computer program that is sensitive to the execution performance of a program and needs security against binary tampering, the security tag is applied to an important function that needs to be protected for integrity verification using a memory hash, and the function to which the security tag is applied is called. In this case, by checking whether the binary is tampered with the memory hash only for the function to which the security tag is applied, the burden on the calculation of the hash can prevent the execution performance and system performance of the computer program from being degraded.
- the security tag is not a function that is repeatedly called at a short time interval, but rather than an account authentication, password input, payment related, security related (hash check, anti-debugging, etc.), encryption / decryption, certificate verification, product purchase / sale, initialization, It is suitable for important functions that need protection in server communication, read and write configuration file (safe file), operation result judgment and program execution.
- the above functions have the characteristic that they are not called repeatedly at regular intervals, and even if called repeatedly, the verification can be skipped within a certain time interval after the integrity verification for the function is called again.
- FIG. 1 is a schematic block diagram of a cloud-based application security service system according to an embodiment of the present invention.
- FIG. 2 is a diagram showing a specific block diagram of the client device shown in FIG. 1.
- FIG. 3 is a diagram illustrating a specific block diagram of the cloud device illustrated in FIG. 1.
- FIG. 4 is a flowchart illustrating a method for providing an application security service according to an embodiment of the present invention.
- FIG. 5 is a diagram illustrating a detailed block diagram of the user terminal device illustrated in FIG. 1.
- FIG. 6 is a diagram showing a configuration related to an application program loaded in the main memory shown in FIG.
- FIG. 7 is a diagram illustrating a process of calling a module included in a dynamic library by an application according to an embodiment of the present invention.
- Cloud-based application security service providing method is a program language that can generate native code (native code), such as C / C + + hardware, such as PC, server, smartphone, Windows, UNIX, Linux, OS X The same may be applied regardless of the operating system on which the application software is executed.
- native code such as C / C + + hardware, such as PC, server, smartphone, Windows, UNIX, Linux, OS X
- native code such as PC, server, smartphone, Windows, UNIX, Linux, OS X
- FIG. 1 is a schematic block diagram of a cloud-based application security service system according to an embodiment of the present invention.
- the application security service system includes a client device 100, a cloud device 150, and a user terminal device 190.
- the client device 100 includes a client memory unit 110, a compiler unit 120, an execution package configuration unit 125, an upload unit 130, and a download unit 140.
- the client memory unit 110 stores the application source code 112 on which application program development is completed.
- the compiler unit 120 generates the binary code 114 by compiling the application source code 112 stored in the client memory unit 110, and the generated binary code 114 is stored in the client memory unit 110.
- the execution package constructing unit 125 combines the binary code 114 stored in the client memory unit 110 with other resources to form the execution package 116, and the configured execution package 116 is stored in the client memory unit 110. Stored.
- the upload unit 130 uploads the execution package 116 stored in the client memory unit 110 to the cloud device 150, and the download unit 140 downloads the security application execution package 118 from the cloud device 150.
- the downloaded security application execution package 118 is stored in the client memory unit 110.
- the cloud device 150 includes a cloud memory unit 160, an execution package decomposition unit 170, a security library applying unit 172, a hash code generation unit 174, an encryption unit 176, and an execution package reconstruction unit 178. And a security library providing unit 180.
- the cloud memory unit 160 stores the execution package 116 uploaded from the upload unit 130.
- the execution package decomposing unit 170 decomposes the execution package to extract the binary code 114, and the binary code 144 is stored in the cloud memory unit 160.
- the security library applying unit 172 applies the security library provided by the security library providing unit 180 to the binary code 114.
- the hash code generator 174 generates a hash code using a hash function for the binary code to which the security is applied.
- the hash code generator 174 may generate a hash code in a file unit or a memory unit.
- the encryption unit 176 performs encryption using an encryption algorithm on the secured binary code and the hash code generated by the hash code generator 174.
- the execution package reconstruction unit 178 combines the secured binary code and other resources and reconfigures the secured execution package 118.
- the security library providing unit 180 is for providing a security library to the security library applying unit 172 and stores a plurality of security libraries.
- Many security libraries are composed of security libraries having different forms since code obfuscation is used every time they are created.
- Security libraries typically include hash verification, and also include anti-debugging capabilities that can not be exploited by tools such as debuggers to statically or dynamically analyze programs or to insert malicious code to attack them. And anti-dump, which can prevent you from dumping the memory state of a running process.
- the user terminal device 190 downloads the security application execution package 118 stored in the client memory unit 110 and drives the application.
- FIG. 2 is a diagram showing a specific block diagram of the client device shown in FIG. 1.
- the client device 100 includes a client memory unit 210, a security tag editing unit 220, a security tag checking unit 230, a security application compiler unit 240, and an APK (Android PacKage) configuration unit. 250, an APK uploader 260, and an APK downloader 270.
- the client memory unit 210 stores application source code 212 in which application program development is completed.
- the security tag editing unit 220 is provided to edit a security tag for a specific function requiring security in the application source code 212.
- the security tag may be composed of a start tag indicating a point to start integrity verification and an end tag indicating an end point.
- the security tag application source code 213 edited by the security tag editing unit 220 is stored in the client memory unit 210.
- the security tag editing unit 220 may add a library for debugging in relation to the security tag.
- the library for debugging is replaced with a security library for release in the security library applying unit 172 of the cloud device 150.
- debugging is sometimes difficult during development due to anti-debugging function when applying SDK.
- the security tag checking unit 230 checks the security tag in the security tag application source code 213, and automatically connects the debugger library to the security tag when the security tag is found.
- the security application compiler 240 generates a security tag applying binary code 214 by compiling the source code including at least one function to which the security tag applied to the security tag checker 230 is applied, and applying the generated security tag.
- the binary code 214 is stored in the client memory unit 210.
- the APK configuration unit 250 configures a security tag application execution package 216 by combining the security tag application binary code and other resources stored in the client memory unit 210, and the configured security tag application execution package 216 is a client memory. Stored in the unit 210.
- the APK upload unit 260 uploads the security tag application execution package 216 stored in the client memory unit 210 to the cloud device 150, and the APK download unit 270 uploads the security application execution package from the cloud device 150. 218 is downloaded, and the downloaded security application execution package 218 is stored in the client memory unit 210.
- FIG. 3 is a diagram illustrating a specific block diagram of the cloud device illustrated in FIG. 1.
- the cloud device 150 includes a cloud memory unit 310, an APK parser 320, a secure library applying unit 330, a hash code generator 340, an encryption unit 350, The APK reconstructor 360 and the security library provider 370 are included.
- the cloud memory unit 310 stores the security tag application execution package 216 uploaded from the APK upload unit 260.
- the APK parsing unit 320 parses the security tag application execution package 216 which is an APK file and extracts a debugger library.
- the security library application unit 330 replaces the parsed debugger library with the release security library provided by the security library provider 370.
- the security library applying unit 330 may be provided with an encryption key in addition to the release security library.
- the hash code generator 340 may generate a hash code by using a specific function to which a security tag is applied among the release security-applied binary codes as an input of a hash function (MD5, SHA, Checksum, etc.).
- the hash code generation unit 340 also generates a hash code for each file by inputting a required file, an application file, etc. necessary for the execution of a program according to the implementation as a hash function (MD5, SHA, Checksum, etc.)
- MD5 SHA, Checksum, etc.
- Essential files required for program execution in Unity-based applications are, for example, libmono.so, libunity.so MonoSecurity.dll, and UnityEngine.dll.
- the encryption unit 350 performs encryption using an encryption key provided by the security library provider 370 as an encryption algorithm such as DES, AES, or RSA for a specific function to which a security tag is applied among the release security applied binary codes.
- the encryption unit 350 may encrypt the dynamic library according to the implementation.
- the encryption unit 350 may execute encryption on the hash code generated by the hash code generator 340.
- the APK reconstruction unit 360 reassembles the encrypted release security-applied binary code and other resources into an executable package.
- the security library provider 370 stores a plurality of security libraries and encryption keys 372. Many security libraries and encryption keys are composed of security libraries with different values because code obfuscation is used every time they are generated.
- the secure library providing unit 370 provides the secure library applying unit 330 with a secure dynamic library and an encryption key randomly selected from among a plurality of secure libraries and encryption keys. In addition, the security library providing unit 370 deletes the already used security library and encryption key so that they cannot be used again.
- one cloud device 150 includes a cloud memory unit 310, an APK parser 320, a security library applying unit 330, a hash code generator 340, an encryption unit 350, and an APK reconstruction unit.
- 360 and the security library provider 370 are both shown to include, this does not mean a physically integrated one, the security library provider 370 may be provided from another device.
- FIG. 4 is a flowchart illustrating a method for providing an application security service according to an embodiment of the present invention.
- the application source code 212 in which the application program development is completed is stored in the client memory unit 210 (S402).
- the application developer sets a security tag for a specific function requiring security in the application source code 212 using the security tag editing unit 220 (S404). For example, account authentication, password input, payment related, security related (hash check, anti-debugging, etc.), encryption / decryption, certificate verification, product purchase and sale, initialization, server, etc.
- Security tags can be set for at least one function, such as critical functions that need protection in communication, read and write configuration files (safe file), operation result determination, and program execution. These functions are of primary interest to those who would like to tamper with a computer program, although they usually have a property that is not called repeatedly. Therefore, even if the integrity verification is performed only for the above functions, the validity is very high, and the execution performance of the program can be minimized due to the integrity verification.
- the security tag checking unit 230 checks the security tag in the security tag application source code 213, and automatically connects the debugger library to the security tag when the security tag is found (S406).
- the security application compiler 240 generates a security tag application binary code 214 by compiling the source code including at least one function to which the security tag stored in the client memory unit 210 is applied (S408).
- the tag application binary code 214 is stored in the client memory unit 210.
- the APK configuration unit 250 configures the security tag application execution package 216 by combining the security tag application binary code 214 and other resources stored in the client memory unit 210 (S410), and the configured security tag application execution package. 216 is stored in the client memory unit 210.
- the APK upload unit 260 uploads the security tag application execution package 216 stored in the client memory unit 210 to the cloud device 150 (S412).
- the cloud memory unit 310 stores the security tag application execution package 216 uploaded from the APK upload unit 260, and the APK parsing unit 320 parses the security tag application execution package 216 which is an APK file and debuggers. Extract the library (S414).
- the security library applying unit 330 replaces the parsed debugger library with the release security library provided by the security library provider 370 (S416).
- the hash code generation unit 340 may generate a hash code by using a specific function to which a security tag is applied among the release security applied binary codes as an input of a hash function (MD5, SHA, Checksum, etc.) (S420).
- the hash code generation unit 340 also generates a hash code for each file by inputting a required file, an application file, etc. necessary for the execution of a program according to the implementation as a hash function (MD5, SHA, Checksum, etc.), and the generated file.
- MD5 SHA, Checksum, etc.
- Essential files required for program execution in Unity-based applications are, for example, libmono.so, libunity.so MonoSecurity.dll, and UnityEngine.dll.
- the encryption unit 350 encrypts a specific function to which the security tag is applied among the release security applied binary codes using an encryption key provided from the security library provider 370 using an encryption algorithm such as DES, AES, or RSA (S418). According to an implementation, the encryption unit 350 may encrypt the dynamic library.
- the APK reconstruction unit 360 reassembles the encrypted release security application binary code and other resources into a security application execution package 218 (S422).
- the APK download unit 270 downloads the security application execution package 218 from the cloud device 150 (S424), and the downloaded security application execution package 218 is stored in the client memory unit 210.
- FIG. 5 is a diagram illustrating a detailed block diagram of the user terminal device illustrated in FIG. 1.
- the security application execution package 218 stored in the client memory unit 210 is stored in the auxiliary memory unit 540 of the user terminal device 190 through distribution means such as a network unit 560 or a storage medium.
- distribution means such as a network unit 560 or a storage medium.
- the execution package for example, a game program is executed, the CPU 510 loads the main memory unit 520 to execute the execution package.
- the execution result of the game program is displayed on the display unit 530.
- the game program may receive a new value through the input unit 550 or the network unit 560.
- a user terminal device 190 may be a personal computer (PC), a notebook computer, a tablet, a personal digital assistant (PDA), a game console, a portable multimedia player (PMP). Player), PlayStation Portable (PSP: PlayStation Portable), a wireless communication terminal (Wireless Communication Terminal), a smart phone (Smart Phone), a TV, a media player and the like.
- the user terminal device 190 according to an embodiment of the present invention may be a server terminal such as an application server and a service server.
- the user terminal device 190 according to an embodiment of the present invention is (i) a communication device such as a communication modem for performing communication with various devices or wired and wireless communication networks, and (ii) a memory for storing data for executing a program.
- the memory may be a computer such as random access memory (RAM), read only memory (ROM), flash memory, optical disk, magnetic disk, solid state disk (SSD), or the like. It may be a readable recording / storage medium.
- the microprocessor may be programmed to selectively perform one or more of the operations and functions described in the specification.
- FIG. 6 is a diagram showing a configuration related to an application program loaded in the main memory shown in FIG.
- the security library 630 illustrates security functions such as hash verification function 632, anti-debugging function 634, and antidump function 638.
- the game program is executed, the binary of the game program is loaded from the auxiliary memory unit 540 into the main memory unit 520.
- the verification function 632, the anti-debugging function 634, the anti-dump function 638, etc. of the security library 630 is executed.
- FIG. 7 is a diagram illustrating a process of calling a module included in a dynamic library by an application according to an embodiment of the present invention.
- the security application execution package 218 stored in the client memory unit 210 is stored in the auxiliary memory unit 540 of the user terminal device 190 through distribution means such as a network unit 560 or a storage medium (S702).
- the CPU 510 loads the game program 610, which is the security application execution package 218, into the main memory unit 520 (S704).
- the security library 630 is loaded and operated according to the execution of the game program 610 (S706).
- the security library 630 is operated to detect tampering (tempering) (S708), the game program is terminated, and if tampering is not detected, the game program is operated (S710).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Power Engineering (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (19)
- 클라이언트 장치와 클라우드 장치를 포함하는 보안 서비스 제공 시스템에서 클라우드 기반의 애플리케이션 보안 서비스 제공 방법으로서,상기 클라이언트 장치에서, 애플리케이션 소스를 컴파일하여 바이너리를 생성하는 바이너리 생성 공정;상기 클라이언트 장치에서, 상기 바이너리 생성 공정에서 생성된 바이너리를 포함하는 실행 패키지를 구성하는 실행 패키지 구성 공정;상기 클라이언트 장치에서, 상기 실행 패키지 구성 공정에서 구성된 실행 패키지를 상기 클라우드 장치로 업로딩하는 업로딩 공정;상기 클라우드 장치에서, 상기 업로딩 공정에서 업로딩된 실행 패키지를 분해하여 바이너리를 추출하는 실행 패키지 분해 공정;상기 클라우드 장치에서, 복수의 보안 라이브러리 중 어느 하나의 보안 라이브러리를 상기 실행 패키지 분해 공정에서 추출된 바이너리에 적용하여 보안 적용 바이너리를 생성하는 보안 라이브러리 적용 공정;상기 클라우드 장치에서, 상기 보안 라이브러리 적용 공정에서 생성된 보안 적용 바이너리를 포함하는 보안 적용 실행 패키지를 재구성하는 실행 패키지 재구성 공정; 및상기 클라이언트 장치에서, 상기 패키지 재구성 공정에서 재구성된 보안 적용 실행 패키지를 다운로딩하는 다운로딩 공정을 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제1항에 있어서,상기 보안 라이브러리에는 무결성 검증을 위한 해시 검증 기능이 포함되고,상기 클라우드 장치에서, 상기 보안 라이브러리에서의 해시 검증 기능을 위해 상기 실행 패키지 분해 공정에서 추출된 바이너리에 대해 해시 코드를 생성하는 해시 코드 생성 공정을 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제2항에 있어서,상기 보안 라이브러리에는 상기 해시 검증 기능 외에 안티디버깅 기능, 안티덤프 기능, 또는 안티디버깅 기능 및 덤프 기능이 포함되어 있는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제2항 또는 제3항에 있어서,상기 클라이언트 장치에서, 상기 바이너리 생성 공정 전에 상기 애플리케이션 소스의 특정 함수에 대해 보안 태그를 설정하는 보안 태그 설정 공정을 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제4항에 있어서,상기 클라이언트 장치에서, 상기 보안 태그 설정 공정에서 설정된 보안 태그가 검출되면 자동으로 보안 태그에 관련된 디버거용 라이브러리를 연결시키는 디버거용 라이브러리 연결 공정을 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제5항에 있어서,상기 실행 패키지 분해 공정은 상기 업로딩 공정에서 업로딩된 실행 패키지를 파싱하여 디버거용 라이브러리를 추출하고,상기 보안 라이브러리 적용 공정은 상기 실행 패키지 분해 공정에서 추출된 디버거용 라이브러리를 복수의 보안 라이브러리 중 어느 하나의 보안 라이브러리로 교체하여 보안 적용 바이너리를 생성하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제6항에 있어서,상기 해시 코드 생성 공정은 상기 실행 패키지 분해 공정에서 추출된 바이너리에서 보안 태그가 설정된 특정 함수에 대해 해시 코드를 생성하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 제7항에 있어서,상기 클라우드 장치에서, 상기 해시 코드 생성 공정 후 상기 보안 라이브러리 적용 공정에서 생성된 보안 적용 바이너리에 대해, 복수의 보안 라이브러리 중 어느 하나의 보안 라이브러리에 대응하여 제공된 암호화 키를 이용하여 암호화하는 암호화 공정을 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 클라이언트 장치와 클라우드 장치를 포함하는 보안 서비스 제공 시스템에서 클라우드 기반의 애플리케이션 보안 서비스 제공 방법으로서,상기 클라이언트 장치에서, 애플리케이션 소스를 컴파일하여 바이너리를 생성하는 바이너리 생성 공정;상기 클라우드 장치에서, 상기 클라이언트 장치에 복수의 보안 라이브러리 중 어느 하나의 보안 라이브러리를 제공하는 보안 라이브러리 제공 공정; 및상기 클라이언트 장치에서, 상기 보안 라이브러리 제공 공정에서 제공된 보안 라이브러리를 상기 바이너리 생성 공정에서 생성된 바이너리에 적용하여 보안 적용 바이너리를 생성하는 보안 라이브러리 적용 공정을 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 방법.
- 클라이언트 장치와 클라우드 장치를 포함하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템으로서,상기 클라이언트 장치는 애플리케이션 소스를 컴파일하여 바이너리를 생성하는 컴파일러부와, 상기 컴파일러부에서 생성된 바이너리를 포함하는 실행 패키지를 구성하는 실행 패키지 구성부와, 상기 실행 패키지 구성부에서 구성된 실행 패키지를 상기 클라우드 장치로 업로딩하는 업로드부와, 및 상기 클라우드 장치로부터 보안이 적용된 보안 적용 실행 패키지를 다운로딩하는 다운로드부를 포함하고,상기 클라우드 장치는 상기 업로드부에서 업로딩된 실행 패키지를 분해하여 바이너리를 추출하는 실행 패키지 분해부와, 복수의 보안 라이브러리 중 어느 하나의 보안 라이브러리를 제공하는 보안 라이브러리 제공부와, 상기 보안 라이브러리 제공부에서 제공된 보안 라이브러리를 상기 실행 패키지 분해부에서 추출된 바이너리에 적용하여 보안 적용 바이너리를 생성하는 보안 라이브러리 적용부와, 및 상기 보안 라이브러리 적용부에서 생성된 보안 적용 바이너리를 포함하는 실행 패키지를 재구성하는 실행 패키지 재구성부를 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제10항에 있어서,상기 보안 라이브러리에는 무결성 검증을 위한 해시 검증 기능이 포함되고,상기 클라우드 장치는, 상기 보안 라이브러리에서의 해시 검증 기능을 위해 상기 실행 패키지 분해부에서 추출된 바이너리에 대해 해시 코드를 생성하는 해시 코드 생성부를 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제11항에 있어서,상기 보안 라이브러리에는 상기 해시 검증 기능 외에 안티디버깅 기능, 안티덤프 기능, 또는 안티디버깅 기능 및 덤프 기능이 포함되어 있는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제11항 또는 제12항에 있어서,상기 클라이언트 장치는, 상기 애플리케이션 소스의 특정 함수에 대해 보안 태그를 설정하는 보안 태그 설정부를 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제13항에 있어서,상기 클라이언트 장치는, 상기 보안 태그 설정부에서 설정된 보안 태그가 검출되면 자동으로 보안 태그에 관련된 디버거용 라이브러리를 연결시키는 보안 태그 검사부를 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제14항에 있어서,상기 실행 패키지 분해부는 상기 업로드부에서 업로딩된 실행 패키지를 파싱하여 디버거용 라이브러리를 추출하고,상기 보안 라이브러리 적용부는 상기 실행 패키지 분해부에서 추출된 디버거용 라이브러리를 상기 보안 라이브러리 제공부에서 제공된 보안 라이브러리로 교체하여 보안 적용 바이너리를 생성하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제15항에 있어서,상기 해시 코드 생성부는 상기 실행 패키지 분해부에서 추출된 바이너리에서 보안 태그가 설정된 특정 함수에 대해 해시 코드를 생성하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제16항에 있어서,상기 클라우드 장치는, 상기 해시 코드 생성부에서 생성된 보안 적용 바이너리에 대해, 상기 보안 라이브러리 제공부에서 제공된 보안 라이브러리에 대응하여 제공된 암호화 키를 이용하여 암호화하는 암호화부를 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 제10항 내지 제12항 중 어느 한 항에 있어서,상기 클라이언트 장치에서 제공된 보안 적용 실행 패키지를 다운받아 애플리케이션을 실행하는 사용자 단말 장치를 더 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
- 클라이언트 장치와 클라우드 장치를 포함하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템으로서,상기 클라우드 장치는 복수의 보안 라이브러리 중 어느 하나의 보안 라이브러리를 상기 클라이언트 제공부에 제공하는 보안 라이브러리 제공부를 포함하고,상기 클라이언트 장치는 애플리케이션 소스를 컴파일하여 바이너리를 생성하는 컴파일러부와, 상기 클라우드 장치에서 제공된 보안 라이브러리를 상기 컴파일러부에 생성된 바이너리에 적용하여 보안 적용 바이너리를 생성하는 보안 라이브러리 적용부를 포함하는 것을 특징으로 하는 클라우드 기반의 애플리케이션 보안 서비스 제공 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201580043438.0A CN107077540B (zh) | 2014-08-13 | 2015-08-13 | 用于提供基于云的应用安全服务的方法和系统 |
JP2017507698A JP6392446B2 (ja) | 2014-08-13 | 2015-08-13 | クラウドベースのアプリケーションセキュリティサービスの提供方法及びシステム |
US15/503,473 US10296728B2 (en) | 2014-08-13 | 2015-08-13 | Method and system for providing cloud-based application security service |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0105445 | 2014-08-13 | ||
KR1020140105445A KR101695639B1 (ko) | 2014-08-13 | 2014-08-13 | 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016024838A1 true WO2016024838A1 (ko) | 2016-02-18 |
Family
ID=55304383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2015/008512 WO2016024838A1 (ko) | 2014-08-13 | 2015-08-13 | 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10296728B2 (ko) |
JP (1) | JP6392446B2 (ko) |
KR (1) | KR101695639B1 (ko) |
CN (1) | CN107077540B (ko) |
WO (1) | WO2016024838A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180167275A1 (en) * | 2016-12-09 | 2018-06-14 | Vmware, Inc. | Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment |
US10776385B2 (en) | 2016-12-02 | 2020-09-15 | Vmware, Inc. | Methods and apparatus for transparent database switching using master-replica high availability setup in relational databases |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255443B2 (en) | 2016-02-11 | 2019-04-09 | Line Corporation | Method, apparatus, system and non-transitory computer readable medium for code protection |
US10235218B2 (en) * | 2016-05-03 | 2019-03-19 | International Business Machines Corporation | Automatic correction of cryptographic application program interfaces |
CN106971098B (zh) * | 2016-10-11 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 一种防重打包的方法及其装置 |
KR102039380B1 (ko) | 2017-11-24 | 2019-11-01 | (주)잉카엔트웍스 | 공유 오브젝트의 코드 보호를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법 |
US11055417B2 (en) | 2018-04-17 | 2021-07-06 | Oracle International Corporation | High granularity application and data security in cloud environments |
KR102156379B1 (ko) * | 2020-03-19 | 2020-09-16 | 주식회사 이글루시큐리티 | 정보수집 프로세스를 통한 에이전트리스 방식 취약점 진단시스템 및 그 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140075785A (ko) * | 2011-10-10 | 2014-06-19 | 오픈픽 아이엔씨. | 보안 애플리케이션 생성 방법 및 시스템 |
KR20140077539A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | 애플리케이션 프로그램 보호 방법 및 장치 |
KR20140090279A (ko) * | 2012-12-10 | 2014-07-17 | (주) 이노디에스 | 서비스 보안 인증 방법 및 이를 구현한 웹 애플리케이션 서버 |
US20140223426A1 (en) * | 2011-10-06 | 2014-08-07 | Thales | Method of generating, from an initial package file comprising an application to be secured and an initial configuration file, a package file for securing the application, and associated computer program product and computing device |
KR20140097927A (ko) * | 2013-01-30 | 2014-08-07 | 삼성전자주식회사 | 소프트웨어의 보안을 높이는 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US7660985B2 (en) * | 2003-04-30 | 2010-02-09 | At&T Corp. | Program security through stack segregation |
US7424706B2 (en) * | 2003-07-16 | 2008-09-09 | Microsoft Corporation | Automatic detection and patching of vulnerable files |
US8392910B1 (en) * | 2007-04-10 | 2013-03-05 | AT & T Intellectual Property II, LLP | Stochastic method for program security using deferred linking |
US8341751B2 (en) * | 2007-12-26 | 2012-12-25 | Wilson Kelce S | Software license management |
US8522015B2 (en) * | 2008-06-27 | 2013-08-27 | Microsoft Corporation | Authentication of binaries in memory with proxy code execution |
EP2430584B1 (en) * | 2009-05-06 | 2019-11-13 | Irdeto B.V. | Interlocked binary protection using whitebox cryptography |
US20120284696A1 (en) * | 2009-12-21 | 2012-11-08 | Nokia Corporation | Method, Apparatuses and a System for Compilation |
US9639377B2 (en) * | 2010-03-31 | 2017-05-02 | Irdeto B.V. | Method for linking and loading to protect applications |
US8549656B2 (en) * | 2011-02-11 | 2013-10-01 | Mocana Corporation | Securing and managing apps on a device |
US9396325B2 (en) * | 2011-03-21 | 2016-07-19 | Mocana Corporation | Provisioning an app on a device and implementing a keystore |
US9473485B2 (en) * | 2011-03-21 | 2016-10-18 | Blue Cedar Networks, Inc. | Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing |
US9158902B2 (en) * | 2011-12-29 | 2015-10-13 | Intel Corporation | Software modification for partial secure memory processing |
US9355223B2 (en) * | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
CN103226673A (zh) * | 2013-04-09 | 2013-07-31 | 四三九九网络股份有限公司 | 批量处理swf打散加密方法及装置 |
CN103327125A (zh) * | 2013-07-15 | 2013-09-25 | 厦门金龙联合汽车工业有限公司 | 一种代码远程升级系统及其文件传输方法 |
US9961105B2 (en) * | 2014-12-31 | 2018-05-01 | Symantec Corporation | Systems and methods for monitoring virtual networks |
-
2014
- 2014-08-13 KR KR1020140105445A patent/KR101695639B1/ko active IP Right Grant
-
2015
- 2015-08-13 JP JP2017507698A patent/JP6392446B2/ja active Active
- 2015-08-13 US US15/503,473 patent/US10296728B2/en active Active
- 2015-08-13 CN CN201580043438.0A patent/CN107077540B/zh active Active
- 2015-08-13 WO PCT/KR2015/008512 patent/WO2016024838A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140223426A1 (en) * | 2011-10-06 | 2014-08-07 | Thales | Method of generating, from an initial package file comprising an application to be secured and an initial configuration file, a package file for securing the application, and associated computer program product and computing device |
KR20140075785A (ko) * | 2011-10-10 | 2014-06-19 | 오픈픽 아이엔씨. | 보안 애플리케이션 생성 방법 및 시스템 |
KR20140090279A (ko) * | 2012-12-10 | 2014-07-17 | (주) 이노디에스 | 서비스 보안 인증 방법 및 이를 구현한 웹 애플리케이션 서버 |
KR20140077539A (ko) * | 2012-12-14 | 2014-06-24 | 삼성전자주식회사 | 애플리케이션 프로그램 보호 방법 및 장치 |
KR20140097927A (ko) * | 2013-01-30 | 2014-08-07 | 삼성전자주식회사 | 소프트웨어의 보안을 높이는 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10776385B2 (en) | 2016-12-02 | 2020-09-15 | Vmware, Inc. | Methods and apparatus for transparent database switching using master-replica high availability setup in relational databases |
US20180167275A1 (en) * | 2016-12-09 | 2018-06-14 | Vmware, Inc. | Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment |
US10873501B2 (en) * | 2016-12-09 | 2020-12-22 | Vmware, Inc. | Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment |
Also Published As
Publication number | Publication date |
---|---|
US10296728B2 (en) | 2019-05-21 |
KR20160020294A (ko) | 2016-02-23 |
JP2017531236A (ja) | 2017-10-19 |
CN107077540A (zh) | 2017-08-18 |
JP6392446B2 (ja) | 2018-09-19 |
US20170242986A1 (en) | 2017-08-24 |
CN107077540B (zh) | 2019-12-31 |
KR101695639B1 (ko) | 2017-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016024838A1 (ko) | 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 | |
CN105683990B (zh) | 用于保护动态库的方法和装置 | |
Costin et al. | A {Large-scale} analysis of the security of embedded firmwares | |
WO2015026091A1 (ko) | 공통 중간 언어 기반 프로그램을 위한 보안 제공 방법 | |
Caballero et al. | Binary Code Extraction and Interface Identification for Security Applications. | |
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
WO2015023093A1 (ko) | 해시를 이용한 동적코드의 무결성 검증 방법 | |
CN107408176A (zh) | 恶意对象的执行剖析检测 | |
CN112231702B (zh) | 应用保护方法、装置、设备及介质 | |
CN109241707A (zh) | 应用程序的混淆方法、装置和服务器 | |
WO2013100320A1 (ko) | 시스템 파일 보호 및 복구를 위한 장치, 방법, 사용자 단말기 및 시스템 | |
CN114547558A (zh) | 授权方法、授权控制方法及装置、设备和介质 | |
Kotipalli et al. | Hacking Android | |
Masid et al. | Application of the SAMA methodology to Ryuk malware | |
WO2024128533A1 (ko) | 난독화 장치 및 방법 | |
Niu et al. | Clone analysis and detection in android applications | |
Taubmann | Improving digital forensics and incident analysis in production environments by using virtual machine introspection | |
CN113742340A (zh) | 一种数据库表处理方法及相关设备 | |
KR20220141490A (ko) | 바이너리 파일 재구성 방법 및 그 장치 | |
CN115413342A (zh) | 用于识别嵌入式设备固件中的软件漏洞的系统和方法 | |
CN111984944B (zh) | 一种源代码处理方法、相关装置及存储介质 | |
Grammatikakis et al. | System threats | |
Nurgaliyev et al. | Analysis of reverse engineering | |
WO2016048070A1 (ko) | 실행파일 복원 장치 및 방법 | |
Busch | On the Security of ARM TrustZone-Based Trusted Execution Environments |
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: 15832142 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017507698 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15503473 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15832142 Country of ref document: EP Kind code of ref document: A1 |