KR102490331B1 - 컴퓨터 인스트럭션 세트, 메모리 레지스터 및 포인터를 랜덤화하기 위한 방법 및 장치 - Google Patents

컴퓨터 인스트럭션 세트, 메모리 레지스터 및 포인터를 랜덤화하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102490331B1
KR102490331B1 KR1020177016354A KR20177016354A KR102490331B1 KR 102490331 B1 KR102490331 B1 KR 102490331B1 KR 1020177016354 A KR1020177016354 A KR 1020177016354A KR 20177016354 A KR20177016354 A KR 20177016354A KR 102490331 B1 KR102490331 B1 KR 102490331B1
Authority
KR
South Korea
Prior art keywords
ips
ops
instruction
instructions
memory
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
KR1020177016354A
Other languages
English (en)
Korean (ko)
Other versions
KR20170101912A (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 KR20170101912A publication Critical patent/KR20170101912A/ko
Application granted granted Critical
Publication of KR102490331B1 publication Critical patent/KR102490331B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017—Runtime instruction translation, e.g. macros
    • G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
    • G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533—Hypervisors; Virtual machine monitors
    • G06F9/45558—Hypervisor-specific management and integration aspects
    • 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
    • G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533—Hypervisors; Virtual machine monitors
    • G06F9/45558—Hypervisor-specific management and integration aspects
    • G06F2009/45587—Isolation or security of virtual machine instances
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
    • G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533—Hypervisors; Virtual machine monitors
    • G06F9/45558—Hypervisor-specific management and integration aspects
    • G06F2009/45591—Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)
KR1020177016354A 2014-12-16 2015-12-16 컴퓨터 인스트럭션 세트, 메모리 레지스터 및 포인터를 랜덤화하기 위한 방법 및 장치 Active KR102490331B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462092570P 2014-12-16 2014-12-16
US62/092,570 2014-12-16
PCT/US2015/066080 WO2016100506A1 (en) 2014-12-16 2015-12-16 Method and apparatus for randomizing computer instruction sets, memory registers and pointers

Publications (2)

Publication Number Publication Date
KR20170101912A KR20170101912A (ko) 2017-09-06
KR102490331B1 true KR102490331B1 (ko) 2023-01-18

Family

ID=56111428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177016354A Active KR102490331B1 (ko) 2014-12-16 2015-12-16 컴퓨터 인스트럭션 세트, 메모리 레지스터 및 포인터를 랜덤화하기 위한 방법 및 장치

Country Status (8)

Country Link
US (1) US9928102B2 (enExample)
EP (1) EP3234782A4 (enExample)
JP (1) JP6788160B2 (enExample)
KR (1) KR102490331B1 (enExample)
CN (1) CN107408072B (enExample)
AU (1) AU2015364751A1 (enExample)
CA (1) CA2970195A1 (enExample)
WO (1) WO2016100506A1 (enExample)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102455325B1 (ko) * 2014-12-10 2022-10-14 킨디 인코포레이티드 대량의 구조화되지 않은 데이터 필드에서 기술적 및 의미론적 신호 처리
US10110566B2 (en) 2015-07-21 2018-10-23 Baffle, Inc. Systems and processes for executing private programs on untrusted computers
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US11860996B1 (en) * 2018-04-06 2024-01-02 Apple Inc. Security concepts for web frameworks
CN109145654A (zh) * 2018-08-15 2019-01-04 阿里巴巴集团控股有限公司 防止破解算法模型的芯片及业务处理方法
CN109711119A (zh) * 2018-12-29 2019-05-03 360企业安全技术(珠海)有限公司 加密代码的运行方法及装置、存储介质、终端
CN110430209B (zh) * 2019-08-13 2021-12-14 中科天御(苏州)科技有限公司 一种基于动态多样化的工控系统安全防御方法及装置
CN110750304B (zh) * 2019-09-30 2022-04-12 百富计算机技术(深圳)有限公司 提升任务切换效率的方法及终端设备
JP7079502B2 (ja) * 2019-11-14 2022-06-02 株式会社アクセル 推論システム
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
WO2022044021A1 (en) * 2020-08-31 2022-03-03 Seraphic Algorithms Ltd. Exploit prevention based on generation of random chaotic execution context
CN112527457A (zh) * 2020-12-11 2021-03-19 成都云铀子网络科技有限公司 一种通用Unicorn模拟指令执行的虚拟机实现方法
WO2022212205A1 (en) * 2021-03-29 2022-10-06 Micron Technology, Inc. Sideband communication management
CN113673002B (zh) * 2021-08-09 2023-05-16 中国科学院软件研究所 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020046092A1 (en) 2000-02-11 2002-04-18 Maurice Ostroff Method for preventing fraudulent use of credit cards and credit card information, and for preventing unauthorized access to restricted physical and virtual sites
US20060294238A1 (en) 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
US20130007469A1 (en) 2011-06-29 2013-01-03 Internatioanl Business Machines Corporation Securely managing the execution of screen rendering instructions in a host operating system and virtual machine

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516436B1 (en) * 1999-03-04 2003-02-04 Lucent Technologies Inc. Error control coding for transmission equipment protection
JP2002132364A (ja) * 2000-10-19 2002-05-10 Yutaka Iizuka プログラムを内部解析から保護する方法、コンピュータ読み取り可能な記録媒体及びプログラムの配布方法
US20040201647A1 (en) * 2002-12-02 2004-10-14 Mark Jackson Pulver Stitching of integrated circuit components
US7353499B2 (en) * 2003-09-25 2008-04-01 Sun Microsystems, Inc. Multiple instruction dispatch tables for application program obfuscation
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US20070083770A1 (en) * 2005-09-17 2007-04-12 Technology Group Northwest Inc. System and method for foiling code-injection attacks in a computing device
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20110035601A1 (en) * 2007-12-21 2011-02-10 University Of Virginia Patent Foundation System, method and computer program product for protecting software via continuous anti-tampering and obfuscation transforms
US8762687B2 (en) * 2008-05-24 2014-06-24 Via Technologies, Inc. Microprocessor providing isolated timers and counters for execution of secure code
JP5775738B2 (ja) * 2011-04-28 2015-09-09 富士通株式会社 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム
US9032526B2 (en) * 2011-05-12 2015-05-12 Microsoft Technology Licensing, Llc Emulating mixed-code programs using a virtual machine instance
EP2972978A4 (en) * 2013-03-15 2016-11-09 Locus Analytics Llc SYNTACTIC MARKING IN A DOMAIN SPECIFIC CONTEXT
US9280490B2 (en) * 2013-04-17 2016-03-08 Laurence H. Cooke Secure computing
CN104219208B (zh) * 2013-06-03 2018-11-13 华为技术有限公司 一种数据输入的方法、装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020046092A1 (en) 2000-02-11 2002-04-18 Maurice Ostroff Method for preventing fraudulent use of credit cards and credit card information, and for preventing unauthorized access to restricted physical and virtual sites
US20060294238A1 (en) 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
US20130007469A1 (en) 2011-06-29 2013-01-03 Internatioanl Business Machines Corporation Securely managing the execution of screen rendering instructions in a host operating system and virtual machine

Also Published As

Publication number Publication date
JP6788160B2 (ja) 2020-11-25
KR20170101912A (ko) 2017-09-06
AU2015364751A1 (en) 2017-06-29
CN107408072A (zh) 2017-11-28
CN107408072B (zh) 2021-07-09
EP3234782A1 (en) 2017-10-25
CA2970195A1 (en) 2016-06-23
US9928102B2 (en) 2018-03-27
WO2016100506A1 (en) 2016-06-23
US20160171212A1 (en) 2016-06-16
JP2018500679A (ja) 2018-01-11
EP3234782A4 (en) 2018-10-17

Similar Documents

Publication Publication Date Title
JP6788160B2 (ja) コンピュータ命令セット、メモリレジスタ、およびポインタをランダム化するための方法および装置
Xu et al. Layered obfuscation: a taxonomy of software obfuscation techniques for layered security
CN107346401B (zh) 用于安全地执行程序的信息保障系统
EP3201822B1 (en) End-to-end security for hardware running verified software
Akram et al. Performance analysis of scientific computing workloads on general purpose tees
JP6880017B2 (ja) 信頼できないコンピュータ上でプライベートプログラムを実行するためのシステム及びプロセス
Choi et al. A hybrid approach to secure function evaluation using SGX
Tople et al. On the trade-offs in oblivious execution techniques
Wu et al. Exploring dynamic task loading in SGX-based distributed computing
Strenzke An analysis of OpenSSL’s random number generator
Alam et al. Making your program oblivious: a comparative study for side-channel-safe confidential computing
Rass et al. On the security of a universal cryptocomputer: The chosen instruction attack
Kuang et al. Exploiting dynamic scheduling for VM-based code obfuscation
CN108875321A (zh) 一种指令集的生成方法、装置和电子设备
Zhang et al. COVER: Enhancing virtualization obfuscation through dynamic scheduling using flash controller-based secure module
JP2023065323A (ja) コンピュータに実装された方法、システム及びコンピュータプログラム
Kang et al. Practical deep neural network protection for unmodified applications in Intel software guard extension environments
Baddour et al. Sidelink: Exposing nvlink to covert and side-channel attacks official work-in-progress paper
SCHRITTWIESER¹ et al. Code Obfuscation
Hossain et al. Firmware Protection
EP4396702A1 (en) Exploit prevention based on generation of random chaotic execution context
Rauti Security Mechanism–Benefits
Togan et al. Virtual machine for encrypted code execution
Wilke et al. Injection Attacks on Secure Encrypted Virtualization
RIERA LO! LLVM Obfuscator

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20170614

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20201216

Comment text: Request for Examination of Application

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

Comment text: Notification of reason for refusal

Patent event date: 20220121

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: 20221017

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230116

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230116

End annual number: 3

Start annual number: 1

PG1601 Publication of registration