KR20110072111A - 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 - Google Patents
소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20110072111A KR20110072111A KR1020090128914A KR20090128914A KR20110072111A KR 20110072111 A KR20110072111 A KR 20110072111A KR 1020090128914 A KR1020090128914 A KR 1020090128914A KR 20090128914 A KR20090128914 A KR 20090128914A KR 20110072111 A KR20110072111 A KR 20110072111A
- Authority
- KR
- South Korea
- Prior art keywords
- source code
- obfuscation
- obfuscated
- data
- terminal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 54
- 238000013075 data extraction Methods 0.000 claims description 12
- 238000011084 recovery Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method 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
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (14)
- 소프트웨어 소스코드의 유출을 방지하기 위한 시스템에 있어서,원본 소스코드를 난독화한 난독화된 소스코드로 생성하고, 상기 원본 소스코드 및 상기 난독화된 소스코드의 무결성을 검증하기 위해 해쉬 데이터를 추출하기 위한 난독화 처리부; 및 상기 난독화된 소스코드를 복원하거나 무결성을 검증하기 위한 난독화 검증 처리부를 포함하는 단말기; 및상기 단말기에 저장된 난독화 처리부 및 난독화 검증 처리부의 버전을 관리하고, 상기 난독화 처리부 및 상기 난독화 검증 처리부의 버전을 업데이트하기 위한 버전관리부; 상기 단말기의 상기 난독화 처리부에서 원본 소스코드를 난독화할 때 생성되는 원본 소스코드의 해쉬 데이터와 상기 난독화 처리부에서 난독화한 난독화된 소스코드의 해쉬 데이터를 상기 단말기로부터 전송받아 이를 비교하여 무결성을 검증하기 위한 난독화 검증 관리부; 상기 난독화 검증 관리부로부터 검증한 무결성 정보와 상기 난독화된 소스코드에 대한 상세 데이터를 전송받아 저장하기 위한 난독화 관리부; 및 상기 버전관리부, 난독화 검증 관리부 및 난독화 관리부를 제어하기 위한 제어부를 포함하는 관리서버를 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 시스템.
- 제 1항에 있어서,상기 단말기는 상기 관리서버로부터 상기 난독화 처리부 및 상기 난독화 검증 처리부를 전송받아 저장하는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 시스템.
- 제 1항에 있어서, 상기 단말기의 난독화 처리부는,상기 난독화 처리부의 버전을 관리하고, 상기 관리서버로부터 버전을 업데이트받기 위한 업데이트 관리 모듈;상기 원본 소스코드를 난독화하여 상기 난독화된 소스코드를 생성하기 위한 난독화 모듈;상기 원본 소스코드를 난독화할 때, 사용자로부터 복원 여부를 판단받아 복원이 필요하다고 입력받은 경우, 복원 데이터를 생성하기 위한 복원 데이터 생성 모듈;상기 원본 소스코드 및 상기 난독화된 소스코드의 무결성을 검증하기 위해 해쉬 데이터를 추출하기 위한 해쉬 데이터 추출모듈;상기 난독화 모듈에서 상기 원본 소스코드를 난독화할 때, 발생하는 난독화 알고리즘, 적용일시, 품질, 사용자 ID 또는 적용수준 중 어느 하나 이상을 포함하는 세부 데이터를 생성하기 위한 세부 데이터 생성 모듈; 및상기 업데이트 관리 모듈, 난독화 모듈, 복원 데이터 생성 모듈, 해쉬 데이터 추출모듈 및 세부 데이터 생성 모듈을 제어하기 위한 제어모듈을 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 시스템.
- 제 3항에 있어서,상기 제어모듈은 상기 난독화 모듈에서 난독화된 소스코드가 생성되면 사용자의 입력에 따라 원본 소스코드를 삭제하는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 시스템.
- 제 1항에 있어서, 상기 단말기의 난독화 검증 처리부는,상기 난독화 검증 처리부의 버전을 관리하고, 상기 관리서버로부터 버전을 업데이트받기 위한 업데이트 관리 모듈;상기 난독화된 소스코드를 복원하거나 상기 난독화된 소스코드의 무결성을 검증하기 위한 난독화 검증 모듈; 및상기 난독화 검증 모듈에서 무결성을 검증할 경우, 상기 난독화된 소스코드의 해쉬 데이터를 추출하기 위한 해쉬 데이터 추출모듈;상기 난독화 검증 처리부에서 처리되는 사용자 ID, 복원 결과 또는 무결성 검증 결과 중 어느 하나 이상을 포함하는 처리 데이터를 생성하기 위한 처리 데이터 생성 모듈; 및상기 업데이트 관리 모듈, 해쉬 데이터 추출모듈, 난독화 검증 모듈 및 처리 데이터 생성 모듈을 제어하기 위한 제어모듈을 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 시스템.
- 제 5항에 있어서,상기 난독화 검증 모듈에서 복원을 행할 경우, 상기 관리서버로부터 복원 데이터를 전송받고, 상기 난독화된 소스코드를 상기 복원 데이터를 이용하여 원본 소스코드로 복원하는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 시스템.
- 소프트웨어 소스코드의 유출을 방지하기 위한 난독화 방법에 있어서,단말기는 사용자로부터 난독화를 하기 위한 원본 소스코드를 선택받으면, 상기 원본 소스코드의 에러 여부를 확인하는 제 1단계;상기 원본 소스코드의 에러가 없을 경우, 하나 이상의 난독화 알고리즘인 난독화 옵션을 사용자로부터 선택받고, 복원 여부를 사용자로부터 선택받는 제 2단계;상기 원본 소스코드의 복원을 행하지 않을 경우, 상기 원본 소스코드를 난독화한 난독화된 소스코드를 생성하는 제 3단계;상기 원본 소스코드와 상기 난독화된 소스코드의 해쉬 데이터를 각각 생성하고, 상기 해쉬 테이터를 생성하면 사용자로부터 상기 원본 소스코드의 삭제유무를 확인받는 제 4단계; 및상기 단말기는 상기 해쉬 데이터를 관리서버로 전송하는 제 5단계를 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 제 7항에 있어서,상기 제 3단계에서 상기 원본 소스코드의 복원을 행할 경우, 상기 원본 소스코드의 복원 데이터를 생성하여 상기 관리서버로 전송하는 것을 더 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 제 7항에 있어서,상기 제 3단계에서 상기 원본 소스코드를 난독화할 때, 처리되는 난독화 알고리즘, 적용일시, 품질, 사용자 ID 또는 적용수준 중 어느 하나 이상을 포함하는 세부 데이터로 생성하여 상기 관리서버에 전송하는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 제 7항에 있어서,상기 제 3단계에서 상기 난독화된 소스코드의 에러 여부를 검사하고, 에러가 있을 경우, 에러 메시지를 생성하여 사용자에게 제공하며, 상기 난독화 옵션을 재선택받는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 소프트웨어 소스코드의 유출을 방지하기 위한 난독화 복원 방법에 있어서,단말기는 사용자로부터 난독화 복원을 하기 위한 제 1난독화된 소스코드를 선택받는 제 1단계;상기 단말기는 선택된 상기 제 1난독화된 소스코드의 해쉬 데이터를 생성하여 관리서버로 전송하는 제 2단계;상기 관리서버는 상기 해쉬 데이터와 기저장된 제 2난독화된 소스코드의 해쉬 데이터를 비교하여 소스코드를 식별하는 제 3단계;상기 소스코드가 식별되면 상기 제 2난독화된 소스코드에 대응하는 복원 데이터를 상기 단말기로 전송하는 제 4단계; 및상기 단말기는 전송받은 복원 데이터를 이용하여 상기 제 1난독화된 소스코드를 원본 소스코드로 복원하는 제 5단계를 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 제 11항에 있어서,상기 제 5단계에서 상기 단말기는 상기 제 1난독화된 소스코드를 복원할 때, 처리되는 내역을 처리 데이터로 생성하여 상기 관리서버로 전송하는 것을 더 포함하며, 상기 처리 데이터는 사용자 ID 또는 복원 결과 중 어느 하나 이상을 포함하는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 소프트웨어 소스코드의 유출을 방지하기 위한 난독화 검증 방법에 있어서,단말기는 사용자로부터 난독화 검증을 하기 위한 제 1난독화된 소스코드를 선택받는 제 1단계;상기 단말기는 선택된 상기 제 1난독화된 소스코드의 해쉬 데이터를 생성하여 관리서버로 전송하는 제 2단계;상기 관리서버는 상기 해쉬 데이터와 상기 관리서버에 저장된 제 2난독화된 소스코드의 해쉬 데이터를 비교하여 소스코드를 식별하는 제 3단계;상기 소스코드가 식별되면 상기 제 2난독화된 소스코드의 정보를 상기 단말기로 전송하는 제 4단계; 및상기 단말기는 전송받은 상기 제 2난독화된 소스코드의 정보와 상기 단말기에 기저장된 제 1난독화된 소스코드의 정보를 비교하여 무결성을 검증하는 제 5단계를 포함하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
- 제 13항에 있어서,상기 제 5단계에서 상기 단말기는 상기 무결성을 검증할 때, 처리되는 내역을 처리 데이터로 생성하여 상기 관리서버로 전송하는 것을 더 포함하며, 상기 처리 데이터는 사용자 ID 또는 무결성 검증 결과 중 어느 하나 이상을 포함하는 것을 특징으로 하는 소프트웨어 소스코드의 유출을 방지하기 위한 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090128914A KR101097103B1 (ko) | 2009-12-22 | 2009-12-22 | 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090128914A KR101097103B1 (ko) | 2009-12-22 | 2009-12-22 | 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110072111A true KR20110072111A (ko) | 2011-06-29 |
KR101097103B1 KR101097103B1 (ko) | 2011-12-22 |
Family
ID=44403082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090128914A KR101097103B1 (ko) | 2009-12-22 | 2009-12-22 | 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101097103B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101436536B1 (ko) * | 2013-06-19 | 2014-09-01 | 숭실대학교산학협력단 | 파일 서버 및 그것을 이용한 프로그램 파일의 전송 방법, 그리고 프로그램 파일 변조 방지 시스템 |
ES2545974A1 (es) * | 2014-03-17 | 2015-09-17 | Bankinter, S.A. | Sistema de protección automático y personalizado para aplicaciones móviles |
CN107919960A (zh) * | 2017-12-04 | 2018-04-17 | 北京深思数盾科技股份有限公司 | 一种应用程序的认证方法和系统 |
CN111383033A (zh) * | 2020-03-05 | 2020-07-07 | 云南阵码科技有限公司 | 用于化肥产品的防伪溯源方法及其装置 |
KR102618922B1 (ko) * | 2023-04-26 | 2023-12-28 | 한화시스템(주) | 무기체계 임베디드 시스템의 sw 역공학 방지장치 및 그 방법 |
KR102713149B1 (ko) * | 2023-08-23 | 2024-10-04 | 엘아이지넥스원 주식회사 | 기술 유출 방지 방법 및 시스템 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101378549B1 (ko) | 2013-03-11 | 2014-03-27 | 주식회사 예티소프트 | 패턴을 이용한 동적 웹 컨텐츠 보안 서버 및 방법 |
KR101423891B1 (ko) * | 2013-12-20 | 2014-07-28 | 김우재 | 사용자가 개발하거나 획득한 프로그램을 브라우저에서 제공하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100568228B1 (ko) * | 2003-05-20 | 2006-04-07 | 삼성전자주식회사 | 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치 |
-
2009
- 2009-12-22 KR KR1020090128914A patent/KR101097103B1/ko active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101436536B1 (ko) * | 2013-06-19 | 2014-09-01 | 숭실대학교산학협력단 | 파일 서버 및 그것을 이용한 프로그램 파일의 전송 방법, 그리고 프로그램 파일 변조 방지 시스템 |
ES2545974A1 (es) * | 2014-03-17 | 2015-09-17 | Bankinter, S.A. | Sistema de protección automático y personalizado para aplicaciones móviles |
CN107919960A (zh) * | 2017-12-04 | 2018-04-17 | 北京深思数盾科技股份有限公司 | 一种应用程序的认证方法和系统 |
CN111383033A (zh) * | 2020-03-05 | 2020-07-07 | 云南阵码科技有限公司 | 用于化肥产品的防伪溯源方法及其装置 |
KR102618922B1 (ko) * | 2023-04-26 | 2023-12-28 | 한화시스템(주) | 무기체계 임베디드 시스템의 sw 역공학 방지장치 및 그 방법 |
KR102713149B1 (ko) * | 2023-08-23 | 2024-10-04 | 엘아이지넥스원 주식회사 | 기술 유출 방지 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR101097103B1 (ko) | 2011-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101097103B1 (ko) | 소프트웨어 소스코드의 유출을 방지하기 위한 시스템 및 방법 | |
Tan et al. | A root privilege management scheme with revocable authorization for Android devices | |
CN108322461B (zh) | 应用程序自动登录的方法、系统、装置、设备和介质 | |
US8612398B2 (en) | Clean store for operating system and software recovery | |
CN101939754B (zh) | 使用混合匹配的手指感测设备及相关方法 | |
CN109284585B (zh) | 一种脚本加密方法、脚本解密运行方法和相关装置 | |
CN105656860A (zh) | Android系统的安全管控方法、装置及其系统 | |
JP2017021434A (ja) | 情報処理装置及びその制御方法 | |
CN107430658A (zh) | 安全软件认证及验证 | |
JP2004265286A (ja) | 環境に応じて選択されたセキュリティ・ポリシーに従うモバイル機器の管理 | |
CN102004887B (zh) | 程序保护方法和装置 | |
KR102256249B1 (ko) | 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
CN112948773A (zh) | 脚本加密与解密方法、终端设备及可读存储介质 | |
CN106155663A (zh) | 应用程序加载代码签名的方法和装置 | |
JP5141056B2 (ja) | 情報処理装置と情報処理装置のデータ転送方法 | |
CN109240723B (zh) | 应用程序更新方法、系统、计算机设备和存储介质 | |
CN111224826B (zh) | 基于分布式系统的配置更新方法、设备、系统及介质 | |
CN105809045A (zh) | 一种设备系统在数据重置时的处理方法和装置 | |
CN115795438B (zh) | 应用程序授权的方法、系统及可读存储介质 | |
Loftus et al. | Android 7 file based encryption and the attacks against it | |
JP2008009483A (ja) | 情報処理システム、情報処理方法、およびプログラム | |
KR101322402B1 (ko) | 어플리케이션 보안 시스템 및 방법, 이를 위한 통신 단말기 | |
CN107689934B (zh) | 一种保障信息安全的方法、服务器及客户端 | |
Cho et al. | A strengthened android signature management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141010 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151028 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160927 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170919 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181206 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190919 Year of fee payment: 9 |