JP6698775B2 - 共有オブジェクトのコード保護のための保安提供装置と方法、及び保安実行装置と方法 - Google Patents
共有オブジェクトのコード保護のための保安提供装置と方法、及び保安実行装置と方法 Download PDFInfo
- Publication number
- JP6698775B2 JP6698775B2 JP2018175878A JP2018175878A JP6698775B2 JP 6698775 B2 JP6698775 B2 JP 6698775B2 JP 2018175878 A JP2018175878 A JP 2018175878A JP 2018175878 A JP2018175878 A JP 2018175878A JP 6698775 B2 JP6698775 B2 JP 6698775B2
- Authority
- JP
- Japan
- Prior art keywords
- security
- file
- shared object
- execution
- object file
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000006870 function Effects 0.000 claims description 84
- 239000000428 dust Substances 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 230000006835 compression Effects 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012917 library technology Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
- G06F21/53—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 by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Bioethics (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Description
120:保安提供装置
130:保安実行装置
410:SOファイル抽出部
420:コード暗号化部
430:オブジェクト管理部
440:保安モジュール生成部
450:パッケージ組み合わせ部
610:CPU
620:メインメモリーユニット
630:ディスプレイユニット
640:補助メモリーユニット
650:入力ユニット
660:ネットワークユニット
710:動的ローダー部
720:コード復号化部
730:オブジェクト管理部
Claims (19)
- 共有オブジェクトファイルと実行エンジンライブラリーとを組み合わせて生成された実行パッケージが貯蔵されている保安提供装置であって、
前記実行パッケージから前記共有オブジェクトファイルを抽出するオブジェクトファイル抽出部と、
前記共有オブジェクトファイルの初期化関数関連セクションの少なくとも一つのタグの値を別途貯蔵して、前記共有オブジェクトファイルの前記少なくとも一つのタグの値を0で埋めて保安共有オブジェクトファイルを提供するオブジェクト管理部と、
前記オブジェクト管理部で別途貯蔵した前記少なくとも一つのタグの値を含む保安モジュールファイルを生成する保安モジュール生成部と、
前記実行エンジンライブラリーと、前記オブジェクト管理部で提供された前記保安共有オブジェクトファイルと、前記保安モジュール生成部で提供された保安モジュールファイルとを含んで保安実行パッケージを生成するパッケージ組み合わせ部と、
を含むことを特徴とする、保安提供装置。 - 前記共有オブジェクトファイルの実行コードセクションのイメージを暗号化アルゴリズムで暗号化して保安実行コードファイルを生成するコード暗号化部をさらに含み、
前記パッケージ組み合わせ部は、前記コード暗号化部で生成された保安実行コードファイルをさらに含んで、前記保安実行パッケージを生成することを特徴とする、請求項1に記載の保安提供装置。 - 前記コード暗号化部は、前記暗号化アルゴリズムで暗号化する前に、前記共有オブジェクトファイルの前記実行コードセクションのイメージを圧縮プログラムで圧縮することを特徴とする、請求項2に記載の保安提供装置。
- 前記暗号化アルゴリズムは、AES(Advanced Encryption Standard)アルゴリズムであることを特徴とする、請求項3に記載の保安提供装置。
- 前記コード暗号化部は、前記共有オブジェクトファイルの前記実行コードセクションのイメージを別途のファイルに分離した後、前記暗号化アルゴリズムで暗号化することを特徴とする、請求項2乃至4のいずれかに記載の保安提供装置。
- 前記共有オブジェクトファイルの初期化関数関連セクションは、動的セクションであり、前記共有オブジェクトファイルの実行コードセクションは、テキストセクションであることを特徴とする、請求項2乃至4のいずれかに記載の保安提供装置。
- 運営体系を通じて共有オブジェクトファイルに対して動的ローダーが呼び出されると、前記動的ローダーの動作によって前記共有オブジェクトファイルをメモリーにロードして、前記ロードされた共有オブジェクトファイルのベースアドレスを取り戻す動的ローダー部と、
別途貯蔵された前記共有オブジェクトファイルの初期化関数関連セクションの少なくとも一つのタグの値を読み取って前記ベースアドレスに加え、前記ベースアドレスにタグの値を加えたアドレスに貯蔵されている初期化関数アドレスを持ってきて、該当初期化関数を呼び出すオブジェクト管理部とを含むことを特徴とする、保安実行装置。 - 前記オブジェクト管理部は、前記共有オブジェクトファイルの前記初期化関数関連セクションの動的テーブル初期化アレイ大きさの数だけ前記ベースアドレスにタグの値を加えたアドレスに貯蔵されている初期化関数アドレスからアレイの値を順に持ってきて、それぞれ初期化関数を呼び出すことを特徴とする、請求項7に記載の保安実行装置。
- 前記共有オブジェクトファイルの実行コードセクションのイメージを暗号化アルゴリズムで暗号化して提供された保安実行コードファイルを復号化するコード復号化部をさらに含むことを特徴とする、請求項7または8に記載の保安実行装置。
- 前記コード復号化部は、別途のファイルで貯蔵された前記保安実行コードファイルを復号化して、前記メモリーにロードされた前記共有オブジェクトファイルの前記実行コードセクションの位置に復元させることをさらに含むことを特徴とする、請求項9に記載の保安実行装置。
- 共有オブジェクトファイルと実行エンジンライブラリーとを組み合わせて生成された実行パッケージが貯蔵されている保安提供装置による保安提供方法であって, 前記保安提供装置による保安提供方法は:
前記実行パッケージから前記共有オブジェクトファイルを抽出する段階と、
前記共有オブジェクトファイルの初期化関数関連セクションの少なくとも一つのタグの値を別途貯蔵して、前記共有オブジェクトファイルの前記少なくとも一つのタグの値を0で埋めて保安共有オブジェクトファイルを提供する段階と、
前記保安共有オブジェクトファイルを提供する段階で別途貯蔵した前記少なくとも一つのタグの値を含む保安モジュールファイルを生成して提供する段階と、
前記実行エンジンライブラリーと、前記保安共有オブジェクトファイルを提供する段階で提供された前記保安共有オブジェクトファイルと、前記保安モジュールファイルを生成する段階で提供された保安モジュールファイルとを含んで保安実行パッケージを生成する段階と、を含むことを特徴とする、保安提供方法。 - 前記共有オブジェクトファイルの実行コードセクションのイメージを暗号化アルゴリズムで暗号化して保安実行コードファイルを生成する段階をさらに含み、
前記保安実行パッケージを生成する段階は、前記保安実行コードファイルを生成する段階で生成された保安実行コードファイルをさらに含んで、前記保安実行パッケージを生成することを特徴とする、請求項11に記載の保安提供方法。 - 前記保安実行コードファイルを生成する段階は、前記共有オブジェクトファイルの前記実行コードセクションのイメージを別途のファイルに分離した後、前記暗号化アルゴリズムで暗号化することを特徴とする、請求項12に記載の保安提供方法。
- 運営体系を通じて共有オブジェクトファイルに対して動的ローダーを呼び出す段階と、
前記動的ローダーの動作により、前記共有オブジェクトファイルをメモリーにロードして、前記ロードされた共有オブジェクトファイルのベースアドレスを取り戻す段階と、
別途貯蔵された前記共有オブジェクトファイルの初期化関数関連セクションの少なくとも一つのタグの値を読み取って、前記ベースアドレスに加える段階と、
前記ベースアドレスにタグの値を加えたアドレスに貯蔵されている初期化関数アドレスを持ってきて、該当初期化関数を呼び出す段階と、を含むことを特徴とする、保安実行方法。 - 前記該当初期化関数を呼び出す段階は、前記共有オブジェクトファイルの前記初期化関数関連セクションの動的テーブル初期化アレイ大きさの数だけ前記ベースアドレスにタグの値を加えたアドレスに貯蔵されている初期化関数アドレスからアレイの値を順に持ってきて、それぞれ初期化関数を呼び出すことを特徴とする、請求項14に記載の保安実行方法。
- 前記共有オブジェクトファイルの実行コードセクションのイメージを暗号化アルゴリズムで暗号化して提供された保安実行コードファイルを復号化する段階をさらに含むことを特徴とする、請求項14または15に記載の保安実行方法。
- 前記保安実行コードファイルを復号化する段階は、別途のファイルで貯蔵された前記保安実行コードファイルを復号化して、前記メモリーにロードされた前記共有オブジェクトファイルの前記実行コードセクションの位置に復元させることをさらに含むことを特徴とする、請求項16に記載の保安実行方法。
- 前記該当初期化関数を呼び出す段階の後に、前記共有オブジェクトファイルの前記初期化関数関連セクションの少なくとも一つのタグのオフセット値が指すオブジェクトファイル領域の位置に貯蔵されている初期化関数アドレスをゴミ値で埋める段階をさらに含むことを特徴とする、請求項14または15に記載の保安実行方法。
- 前記該当初期化関数を呼び出す段階の後に、前記共有オブジェクトファイルのELFヘッダー領域をゴミ値で埋める段階をさらに含むことを特徴とする、請求項18に記載の保安実行方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0158133 | 2017-11-24 | ||
KR1020170158133A KR102039380B1 (ko) | 2017-11-24 | 2017-11-24 | 공유 오브젝트의 코드 보호를 위한 보안 제공 장치와 방법, 및 보안 실행 장치와 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019096300A JP2019096300A (ja) | 2019-06-20 |
JP6698775B2 true JP6698775B2 (ja) | 2020-05-27 |
Family
ID=66632453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018175878A Active JP6698775B2 (ja) | 2017-11-24 | 2018-09-20 | 共有オブジェクトのコード保護のための保安提供装置と方法、及び保安実行装置と方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11061998B2 (ja) |
JP (1) | JP6698775B2 (ja) |
KR (1) | KR102039380B1 (ja) |
CN (1) | CN109840396B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800418B (zh) * | 2020-12-31 | 2022-05-13 | 北京深思数盾科技股份有限公司 | 自定义程序集的文件保护方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112025A (en) * | 1996-03-25 | 2000-08-29 | Sun Microsystems, Inc. | System and method for dynamic program linking |
US6598130B2 (en) * | 2000-07-31 | 2003-07-22 | Hewlett-Packard Development Company, L.P. | Technique for referencing distributed shared memory locally rather than remotely |
US7685596B1 (en) * | 2004-09-01 | 2010-03-23 | The Mathworks, Inc. | Deploying and distributing of applications and software components |
US9111036B2 (en) * | 2010-04-30 | 2015-08-18 | Red Hat, Inc. | Preloading unwind data for non-intrusive backtracing |
CN102591659A (zh) * | 2011-12-28 | 2012-07-18 | 中标软件有限公司 | 一种移动终端主界面上的微件实现方法及其管理方法 |
KR101536920B1 (ko) * | 2013-12-16 | 2015-07-15 | 주식회사 에스이웍스 | Arm 프로세서 기반의 파일 난독화 방법 |
TWI524208B (zh) * | 2013-12-31 | 2016-03-01 | Giga Byte Tech Co Ltd | Encryption and Decryption of Function Library of Open System |
KR101671336B1 (ko) * | 2014-02-27 | 2016-11-16 | (주)스마일게이트엔터테인먼트 | 코드 분리가 적용된 언패킹 보호 방법 및 장치 |
KR101695639B1 (ko) * | 2014-08-13 | 2017-01-16 | (주)잉카엔트웍스 | 클라우드 기반의 애플리케이션 보안 서비스 제공 방법 및 시스템 |
CN105227565B (zh) * | 2015-10-13 | 2019-02-22 | 北京娜迦信息科技发展有限公司 | 用于安卓系统的防逆向破解共享对象文件的方法和装置 |
CN105825087B (zh) * | 2016-03-16 | 2019-07-26 | 福建联迪商用设备有限公司 | Elf共享库保护方法及其系统 |
-
2017
- 2017-11-24 KR KR1020170158133A patent/KR102039380B1/ko active IP Right Grant
-
2018
- 2018-08-21 CN CN201810953350.8A patent/CN109840396B/zh active Active
- 2018-09-13 US US16/130,194 patent/US11061998B2/en active Active
- 2018-09-20 JP JP2018175878A patent/JP6698775B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN109840396B (zh) | 2023-09-29 |
KR102039380B1 (ko) | 2019-11-01 |
US11061998B2 (en) | 2021-07-13 |
CN109840396A (zh) | 2019-06-04 |
US20190163885A1 (en) | 2019-05-30 |
JP2019096300A (ja) | 2019-06-20 |
KR20190060181A (ko) | 2019-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160203087A1 (en) | Method for providing security for common intermediate language-based program | |
US20070271446A1 (en) | Application Execution Device and Application Execution Device Application Execution Method | |
US20080216071A1 (en) | Software Protection | |
CN108491235B (zh) | 结合动态加载和函数Native化的DEX保护方法 | |
CN106203006A (zh) | 基于dex与so文件动态执行的Android应用加固方法 | |
CN109784007B (zh) | 一种字节码加密的方法、字节码解密的方法及终端 | |
US20160275019A1 (en) | Method and apparatus for protecting dynamic libraries | |
CN107273723B (zh) | 一种基于so文件加壳的Android平台应用软件保护方法 | |
CN110826031B (zh) | 加密方法、装置、计算机设备及存储介质 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN109840400B (zh) | 提供安全性的设备和方法以及针对通用中间语言执行安全性的设备和方法 | |
CN105930695A (zh) | 一种软件开发工具包的保护方法及装置 | |
CN108133147B (zh) | 可执行代码的保护方法、设备及可读存储介质 | |
CN111159658B (zh) | 字节码处理方法、系统、装置、计算机设备和存储介质 | |
CN111737718A (zh) | 一种jar包的加解密方法、装置、终端设备和存储介质 | |
JP6698775B2 (ja) | 共有オブジェクトのコード保護のための保安提供装置と方法、及び保安実行装置と方法 | |
KR101667774B1 (ko) | 스크립트 프로그램을 위한 보안 제공 장치 및 방법 | |
JP2008040853A (ja) | アプリケーション実行方法およびアプリケーション実行装置 | |
KR101863325B1 (ko) | 역공학 방지 방법 및 장치 | |
CN111290781A (zh) | Npk方式打包脚本、运行npk格式脚本文件的方法及装置 | |
US9965621B2 (en) | Program protection device | |
KR101704703B1 (ko) | 더미 코드를 사용하는 애플리케이션 코드 은닉 장치 및 이를 이용한 애플리케이션 코드 은닉 방법 | |
Morris et al. | Privacy protected ELF for private computing on public platforms | |
CN117195166A (zh) | 组件源码保护方法、装置、计算机设备和存储介质 | |
CN117492900A (zh) | 类文件加载方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6698775 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |