IL273068B2 - Dynamic memory protection - Google Patents
Dynamic memory protectionInfo
- Publication number
- IL273068B2 IL273068B2 IL273068A IL27306820A IL273068B2 IL 273068 B2 IL273068 B2 IL 273068B2 IL 273068 A IL273068 A IL 273068A IL 27306820 A IL27306820 A IL 27306820A IL 273068 B2 IL273068 B2 IL 273068B2
- Authority
- IL
- Israel
- Prior art keywords
- memory
- code
- block
- allocated block
- blocks
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- 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/54—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 adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/441—Register allocation; Assignment of physical memory space to logical memory space
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Virology (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862751774P | 2018-10-29 | 2018-10-29 | |
| PCT/IL2019/051076 WO2020089885A1 (en) | 2018-10-29 | 2019-10-02 | Dynamic memory protection |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| IL273068A IL273068A (en) | 2020-04-30 |
| IL273068B1 IL273068B1 (en) | 2024-02-01 |
| IL273068B2 true IL273068B2 (en) | 2024-06-01 |
Family
ID=70327133
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IL273068A IL273068B2 (en) | 2018-10-29 | 2019-10-02 | Dynamic memory protection |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US11176060B2 (https=) |
| EP (1) | EP3864545B1 (https=) |
| JP (1) | JP7432523B2 (https=) |
| IL (1) | IL273068B2 (https=) |
| WO (1) | WO2020089885A1 (https=) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10860709B2 (en) | 2018-06-29 | 2020-12-08 | Intel Corporation | Encoded inline capabilities |
| US11176060B2 (en) | 2018-10-29 | 2021-11-16 | Sternum Ltd. | Dynamic memory protection |
| US11853598B2 (en) * | 2021-05-10 | 2023-12-26 | Microsoft Technology Licensing, Llc | Software memory tagging for heap overflow protection |
| CN115906014B (zh) * | 2021-08-13 | 2024-07-23 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
| US12056387B2 (en) * | 2022-06-03 | 2024-08-06 | Bmc Software, Inc. | Writing and reading data sets to and from cloud storage for legacy mainframe applications |
| US12511374B2 (en) * | 2023-05-23 | 2025-12-30 | Arm Limited | Reconfigurable attack countermeasures deployed in software |
| US12505256B2 (en) * | 2024-04-24 | 2025-12-23 | Dell Products L.P. | Method and system for detecting a change in memory |
| KR102834100B1 (ko) * | 2024-11-06 | 2025-07-16 | 대한민국 | 해양자료동화시스템의 관측자료 통합 전처리 시스템 및 방법 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6832302B1 (en) * | 2001-10-24 | 2004-12-14 | At&T Corp. | Methods and apparatus for detecting heap smashing |
| US20090249289A1 (en) * | 2008-03-28 | 2009-10-01 | Microsoft Corporation | Detecting memory errors using write integrity testing |
| US20110258516A1 (en) * | 2010-04-16 | 2011-10-20 | Thomson Licensing | Method, a device and a computer program support for verification of checksums for self-modified computer code |
| US20160026791A1 (en) * | 2014-07-23 | 2016-01-28 | Grammatech, Inc. | Systems and/or methods for automatically protecting against memory corruption vulnerabilities |
| US20170286278A1 (en) * | 2016-03-31 | 2017-10-05 | Intel Corporation | Trusted execution of called function |
| US20180046585A1 (en) * | 2016-08-11 | 2018-02-15 | Massachusetts Institute Of Technology | Timely address space randomization |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3552627B2 (ja) * | 2000-02-04 | 2004-08-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スタック保護システム、コンピュータシステム、コンパイラ、スタック保護方法および記憶媒体 |
| US7752459B2 (en) | 2001-12-06 | 2010-07-06 | Novell, Inc. | Pointguard: method and system for protecting programs against pointer corruption attacks |
| US7673345B2 (en) * | 2005-03-31 | 2010-03-02 | Intel Corporation | Providing extended memory protection |
| US8510596B1 (en) | 2006-02-09 | 2013-08-13 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
| EP1870829B1 (en) | 2006-06-23 | 2014-12-03 | Microsoft Corporation | Securing software by enforcing data flow integrity |
| JP5011234B2 (ja) | 2008-08-25 | 2012-08-29 | 株式会社日立情報システムズ | 攻撃ノード群判定装置およびその方法、ならびに情報処理装置および攻撃対処方法、およびプログラム |
| EP2691861A4 (en) | 2011-03-30 | 2015-01-14 | Irdeto Bv | PROCEDURE FOR SAFEGUARDING A MEMORY FROM POOR ATTACK |
| GB201105474D0 (en) | 2011-03-31 | 2011-05-18 | Albagaia Ltd | Testing apparatus |
| US20130312058A1 (en) * | 2012-01-06 | 2013-11-21 | Optio Labs, Inc. | Systems and methods for enhancing mobile security via aspect oriented programming |
| WO2015038944A1 (en) | 2013-09-12 | 2015-03-19 | Virsec Systems, Inc. | Automated runtime detection of malware |
| CN106687971B (zh) | 2014-06-24 | 2020-08-28 | 弗塞克系统公司 | 用来减少软件的攻击面的自动代码锁定 |
| EP3472746B1 (en) * | 2016-06-16 | 2020-05-13 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
| US10656885B2 (en) | 2017-10-30 | 2020-05-19 | Board Of Regents, The University Of Texas System | Using object flow integrity to improve software security |
| US11231948B2 (en) | 2018-10-18 | 2022-01-25 | Sternum Ltd. | Applying security mitigation measures for stack corruption exploitation in intermediate code files |
| US11176060B2 (en) | 2018-10-29 | 2021-11-16 | Sternum Ltd. | Dynamic memory protection |
| IL269897B2 (en) | 2018-11-15 | 2023-08-01 | Sternum Ltd | Implementing control flow correctness verification in code intermediate files |
-
2019
- 2019-10-02 US US16/590,403 patent/US11176060B2/en active Active
- 2019-10-02 IL IL273068A patent/IL273068B2/en unknown
- 2019-10-02 EP EP19880731.5A patent/EP3864545B1/en active Active
- 2019-10-02 JP JP2020558916A patent/JP7432523B2/ja active Active
- 2019-10-02 WO PCT/IL2019/051076 patent/WO2020089885A1/en not_active Ceased
- 2019-10-02 US US16/642,027 patent/US10983923B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6832302B1 (en) * | 2001-10-24 | 2004-12-14 | At&T Corp. | Methods and apparatus for detecting heap smashing |
| US20090249289A1 (en) * | 2008-03-28 | 2009-10-01 | Microsoft Corporation | Detecting memory errors using write integrity testing |
| US20110258516A1 (en) * | 2010-04-16 | 2011-10-20 | Thomson Licensing | Method, a device and a computer program support for verification of checksums for self-modified computer code |
| US20160026791A1 (en) * | 2014-07-23 | 2016-01-28 | Grammatech, Inc. | Systems and/or methods for automatically protecting against memory corruption vulnerabilities |
| US20170286278A1 (en) * | 2016-03-31 | 2017-10-05 | Intel Corporation | Trusted execution of called function |
| US20180046585A1 (en) * | 2016-08-11 | 2018-02-15 | Massachusetts Institute Of Technology | Timely address space randomization |
Also Published As
| Publication number | Publication date |
|---|---|
| US10983923B2 (en) | 2021-04-20 |
| JP7432523B2 (ja) | 2024-02-16 |
| IL273068B1 (en) | 2024-02-01 |
| WO2020089885A1 (en) | 2020-05-07 |
| JP2022511170A (ja) | 2022-01-31 |
| IL273068A (en) | 2020-04-30 |
| EP3864545A4 (en) | 2022-06-15 |
| US20200242238A1 (en) | 2020-07-30 |
| EP3864545A1 (en) | 2021-08-18 |
| EP3864545B1 (en) | 2025-02-12 |
| US11176060B2 (en) | 2021-11-16 |
| US20200133885A1 (en) | 2020-04-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10983923B2 (en) | Dynamic memory protection | |
| EP3654215B1 (en) | Applying control flow integrity verification in intermediate code files | |
| US20170161498A1 (en) | Systems and methods for detection of malicious code in runtime generated code | |
| Zeng et al. | Combining control-flow integrity and static analysis for efficient and validated data sandboxing | |
| US12517744B2 (en) | Applying security mitigation measures for stack corruption exploitation in intermediate code files | |
| US20160210216A1 (en) | Application Control Flow Models | |
| Stüttgen et al. | Robust Linux memory acquisition with minimal target impact | |
| Saito et al. | A survey of prevention/mitigation against memory corruption attacks | |
| US20210150028A1 (en) | Method of defending against memory sharing-based side-channel attacks by embedding random value in binaries | |
| Sabanal | Hiding behind ART | |
| WO2016126206A1 (en) | Method for obfuscation of code using return oriented programming | |
| KR102271273B1 (ko) | 네이티브 코드 분석방지 우회를 위한 프로세스 래핑 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
| Saeed et al. | Tag‐Protector: An Effective and Dynamic Detection of Illegal Memory Accesses through Compile Time Code Instrumentation | |
| KR102544801B1 (ko) | 데이터 재사용 공격에 대한 방어 방법 및 시스템 | |
| Saito et al. | Safe trans loader: mitigation and prevention of memory corruption attacks for released binaries | |
| Gionta | Prevention and detection of memory compromise | |
| Davison et al. | Kevlar: Transitioning helix for research to practice | |
| Kugler et al. | SCADS: Separated Control-and Data-Stacks | |
| Saito et al. | Mitigating use-after-free attack with application program loader | |
| WO2022044021A1 (en) | Exploit prevention based on generation of random chaotic execution context | |
| Davidson et al. | Kevlar: Transitioning Helix from Research to Practice |