KR102336521B1 - 프로그램 코드의 컴퓨터-지원 난독화를 위한 방법 - Google Patents

프로그램 코드의 컴퓨터-지원 난독화를 위한 방법 Download PDF

Info

Publication number
KR102336521B1
KR102336521B1 KR1020197029606A KR20197029606A KR102336521B1 KR 102336521 B1 KR102336521 B1 KR 102336521B1 KR 1020197029606 A KR1020197029606 A KR 1020197029606A KR 20197029606 A KR20197029606 A KR 20197029606A KR 102336521 B1 KR102336521 B1 KR 102336521B1
Authority
KR
South Korea
Prior art keywords
program code
value
mask
computing
computer
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
Application number
KR1020197029606A
Other languages
English (en)
Korean (ko)
Other versions
KR20190122837A (ko
Inventor
요하네스 즈완저
Original Assignee
지멘스 악티엔게젤샤프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지멘스 악티엔게젤샤프트 filed Critical 지멘스 악티엔게젤샤프트
Publication of KR20190122837A publication Critical patent/KR20190122837A/ko
Application granted granted Critical
Publication of KR102336521B1 publication Critical patent/KR102336521B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1066Hiding content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F21/52Monitoring 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/54Monitoring 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 adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • G06F2221/0748
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
KR1020197029606A 2017-03-10 2017-12-13 프로그램 코드의 컴퓨터-지원 난독화를 위한 방법 Active KR102336521B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102017204020.3 2017-03-10
DE102017204020.3A DE102017204020A1 (de) 2017-03-10 2017-03-10 Verfahren zur rechnergestützten Obfuskation von Programmcode
PCT/EP2017/082508 WO2018162107A1 (de) 2017-03-10 2017-12-13 Verfahren zur rechnergestützten obfuskation von programmcode

Publications (2)

Publication Number Publication Date
KR20190122837A KR20190122837A (ko) 2019-10-30
KR102336521B1 true KR102336521B1 (ko) 2021-12-06

Family

ID=61054302

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197029606A Active KR102336521B1 (ko) 2017-03-10 2017-12-13 프로그램 코드의 컴퓨터-지원 난독화를 위한 방법

Country Status (7)

Country Link
US (1) US11341216B2 (https=)
EP (1) EP3577588B1 (https=)
JP (1) JP6919973B2 (https=)
KR (1) KR102336521B1 (https=)
CN (1) CN110383275B (https=)
DE (1) DE102017204020A1 (https=)
WO (1) WO2018162107A1 (https=)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3609240A1 (de) 2018-08-09 2020-02-12 Siemens Aktiengesellschaft Computerimplementiertes verfahren und netzwerkzugangsserver zum verbinden einer netzwerkkomponente mit einem netzwerk, insbesondere einem mobilfunknetz, mit einem erweiterten netzwerkzugangskennzeichen
US11456855B2 (en) * 2019-10-17 2022-09-27 Arm Limited Obfuscating data at-transit
US20210303662A1 (en) * 2020-03-31 2021-09-30 Irdeto B.V. Systems, methods, and storage media for creating secured transformed code from input code using a neural network to obscure a transformation function
US11954213B2 (en) 2021-09-13 2024-04-09 International Business Machines Corporation Obfuscating intelligent data while preserving reserve values

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0900488A1 (en) 1996-06-13 1999-03-10 Intel Corporation Tamper resistant methods and apparatus
KR101328012B1 (ko) 2013-08-12 2013-11-13 숭실대학교산학협력단 애플리케이션 코드 난독화 장치 및 그 방법
US20140101458A1 (en) * 2010-11-05 2014-04-10 Apple Inc. Code tampering protection for insecure environments
KR101619458B1 (ko) * 2016-03-02 2016-05-10 (주)케이사인 애플리케이션 코드 난독화 장치 및 이를 이용한 애플리케이션 코드 난독화 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3627384B2 (ja) * 1996-01-17 2005-03-09 富士ゼロックス株式会社 ソフトウェアの保護機能付き情報処理装置及びソフトウェアの保護機能付き情報処理方法
JP2003280754A (ja) * 2002-03-25 2003-10-02 Nec Corp 隠蔽化ソースプログラム、ソースプログラム変換方法及び装置並びにソース変換プログラム
JP2003280755A (ja) 2002-03-25 2003-10-02 Nec Corp 自己復元型プログラム、プログラム生成方法及び装置、情報処理装置並びにプログラム
US7133525B1 (en) * 2002-05-17 2006-11-07 Communication Security Apparatus Corp. Communication security apparatus and method of using same
WO2009010338A1 (de) * 2007-07-13 2009-01-22 Siemens Aktiengesellschaft Verfahren zur rechnergestützten obfuskierung eines softwareprogramms und computerprogrammprodukt
US8667301B2 (en) * 2010-04-01 2014-03-04 Apple Inc. Obfuscating transformations on data array content and addresses
WO2013104969A1 (en) * 2012-01-09 2013-07-18 Koninklijke Philips N.V. Virtual machine device having key driven obfuscation and method
US8756435B2 (en) * 2012-03-02 2014-06-17 Apple Inc. Obfuscation of control flow of software
US9336370B2 (en) * 2012-12-06 2016-05-10 Apple Inc. Method and apparatus for dynamic obfuscation of static data
EP2937803B1 (en) * 2014-04-23 2019-02-20 Nxp B.V. Control flow flattening for code obfuscation where the next block calculation needs run-time information
US10599820B2 (en) * 2014-04-23 2020-03-24 Nxp B.V. Control flow flattening for code obfuscation where the next block calculation needs run-time information
US9830326B2 (en) * 2015-06-15 2017-11-28 Ca, Inc. Identifying data offsets using binary masks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0900488A1 (en) 1996-06-13 1999-03-10 Intel Corporation Tamper resistant methods and apparatus
US20140101458A1 (en) * 2010-11-05 2014-04-10 Apple Inc. Code tampering protection for insecure environments
KR101328012B1 (ko) 2013-08-12 2013-11-13 숭실대학교산학협력단 애플리케이션 코드 난독화 장치 및 그 방법
KR101619458B1 (ko) * 2016-03-02 2016-05-10 (주)케이사인 애플리케이션 코드 난독화 장치 및 이를 이용한 애플리케이션 코드 난독화 방법

Also Published As

Publication number Publication date
EP3577588A1 (de) 2019-12-11
CN110383275B (zh) 2023-08-22
JP6919973B2 (ja) 2021-08-18
US11341216B2 (en) 2022-05-24
KR20190122837A (ko) 2019-10-30
DE102017204020A1 (de) 2018-09-13
WO2018162107A1 (de) 2018-09-13
JP2020510935A (ja) 2020-04-09
US20200042677A1 (en) 2020-02-06
EP3577588B1 (de) 2021-09-01
CN110383275A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
KR102336521B1 (ko) 프로그램 코드의 컴퓨터-지원 난독화를 위한 방법
KR101490047B1 (ko) 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법
TWI724579B (zh) 區塊鏈資料處理方法、裝置、系統、處理設備及儲存媒體
KR102433011B1 (ko) Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체
US9298947B2 (en) Method for protecting the integrity of a fixed-length data structure
CN112100582B (zh) 一种应用强对称加密保护软件分发安全的方法
CN110826031B (zh) 加密方法、装置、计算机设备及存储介质
WO2019114122A1 (zh) 登录信息的加密方法、装置、电子设备及介质
CN108134673A (zh) 一种生成白盒库文件的方法及装置
CN110505054A (zh) 一种基于动态白盒的数据处理方法、装置及设备
RU2680761C1 (ru) Безопасные преобразования данных
KR102565443B1 (ko) 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법
KR102565442B1 (ko) 암호 알고리즘 생성 장치 및 방법, 암호화 장치 및 방법
CN114297589A (zh) 应用程序的资源保护方法、资源读取方法及装置
KR101536920B1 (ko) Arm 프로세서 기반의 파일 난독화 방법
US8719588B2 (en) Memory address obfuscation
KR101699176B1 (ko) Hdfs 데이터 암호화 및 복호화 방법
CN108932407A (zh) 一种程序安全保护方法及装置
CN108021790B (zh) 文件保护方法、装置、计算设备及计算机存储介质
CN117093964A (zh) 一种源代码的加密方法、装置、存储介质及电子设备
US20140105402A1 (en) Data protection using key translation
CN111602367B (zh) 用于保护在使白盒密码算法安全的对策中使用的熵源的方法
CN114465720A (zh) 密钥迁移方法及装置、存储介质和电子设备
WO2021175614A1 (en) Method for protecting a data in a software application
CN111737689A (zh) 数据处理方法、处理器、电子设备、存储介质及程序产品

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20191008

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20201111

Patent event code: PE09021S01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210427

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20210902

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20211202

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20211202

End annual number: 3

Start annual number: 1

PG1601 Publication of registration