LU500621B1 - Enhancing shadow stack enforcement after process creation - Google Patents
Enhancing shadow stack enforcement after process creation Download PDFInfo
- Publication number
- LU500621B1 LU500621B1 LU500621A LU500621A LU500621B1 LU 500621 B1 LU500621 B1 LU 500621B1 LU 500621 A LU500621 A LU 500621A LU 500621 A LU500621 A LU 500621A LU 500621 B1 LU500621 B1 LU 500621B1
- Authority
- LU
- Luxembourg
- Prior art keywords
- mode
- shadow stack
- stack
- enforcement
- shadow
- Prior art date
Links
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/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
Claims (15)
1. Procédé (400), mis en œuvre au niveau d’un système informatique (101) présentant un processeur (102), pour améliorer la mise en application de pile fantôme après une création de processus, le procédé comprenant : la création (116) d’un processus à partir d’un binaire d’application (109), y compris la création (120) d’une pile d’appels (113) associée au processus ; l'exposition (115) d’une interface de programmation d'application (API) d’amélioration de pile fantôme (123) au processus ; après la création du processus à partir du binaire d’application, la réception d’un appel d’API d'amélioration de pile fantôme (122) en provenance du processus ; et en fonction au moins de la réception de l’appel d’API d’amélioration de pile fantôme, l’amélioration (122) d’un mode de mise en application de pile fantôme pour le processus.
2. Procédé selon la revendication 1, dans lequel, au moment de la création du processus à partir du binaire d’application, le mode de mise en application de pile fantôme pour le processus est un mode de désactivation.
3. Procédé selon la revendication 2, dans lequel l’amélioration du mode de mise en application de pile fantôme pour le processus comprend au moins l’une des opérations suivantes : la mise à niveau du mode de mise en application de pile fantôme pour le processus en passant du mode de désactivation à un mode d’audit ; la mise à niveau du mode de mise en application de pile fantôme pour le processus en passant du mode de désactivation à un mode de compatibilité ; ou la mise à niveau du mode de mise en application de pile fantôme pour le processus en passant du mode de désactivation à un mode strict.
4. Procédé selon l’une quelconque des revendications 2 et 3, dans lequel l’amélioration du mode de mise en application de pile fantôme pour le processus comprend l’ensemencement(121) d’une pile fantôme (114) associée au processus à partir de la pile d’appels.
5. Procédé selon la revendication 4, dans lequel l’ensemencement de la pile fantôme à partir de la pile d’appels comprend : l’identification d’un ensemble d’adresses de retour sur la pile d’appels ; et la copie de l’ensemble d’adresses de retour dans la pile fantôme.
6. Procédé selon la revendication 5, dans lequel chaque adresse de retour présente dans l’ensemble d’adresses de retour est identifiée à partir d’une trame de pile différente. 1
410345-LU-NP
7. Procédé selon l’une quelconque des revendications 5 et 6, dans lequel chaque LU500621 adresse de retour présente dans l’ensemble d’adresses de retour est vérifiée pour pointer vers un binaire présent dans un ensemble de binaires sûrs.
8. Procédé selon la revendication 7, dans lequel l’ensemble de binaires sûrs comprend : un ou plusieurs binaires de système d'exploitation ; et/ou un ou plusieurs binaires ayant un indicateur demandant la mise en application de piles fantômes.
9. Procédé selon la revendication 1, dans lequel, au moment de la création du processus à partir du binaire d’application, le mode de mise en application de pile fantôme pour le processus est un mode d'audit, un mode de compatibilité ou un mode strict.
10. Procédé selon la revendication 9, dans lequel l’amélioration du mode de mise en application de pile fantômepour le processus comprend au moins l’une des opérations suivantes : la mise à niveau du mode de mise en application de pile fantôme pour le processus en passant du mode d’audit au mode de compatibilité ; la mise à niveau du mode de mise en application de pile fantôme pour le processus en passant du mode d’audit au mode strict ; ou la mise à niveau du mode de mise en application de pile fantôme pour le processus en passant du mode de compatibilité au mode strict.
11. Procédé selon la revendication 9, dans lequel le binaire d'application présente un indicateur demandant la mise en application de piles fantômes ; et en fonction au moins de l'indicateur, la création du processus à partir du binaire d’application comprend également la création d’une pile fantôme associée au processus.
12. Procédé selon la revendication 9, dans lequel la création du processus à partir d’un binaire d’application est provoquée par un appel à destination d’une API de création de processus qui lance la mise en application d’une pile fantôme au moment de la création du processus ; et en fonction au moins de l’appel à destination d’une API de création de processus, la création du processus à partir du binaire d’application comprend également la création d’une pile fantôme associée au processus.
13. Procédé selon l’une quelconque des revendications précédentes, dans lequel la réception de l’appel d’API d’amélioration de pile fantôme comprend la réception d’un mode de mise en application de pile fantôme demandé. 2
410345-LU-NP
14. Procédé selon l’une quelconque des revendications précédentes, dans lequel la LU500621 réception de l’appel d’API d’amélioration de pile fantôme comprend la réception d’une demande d'amélioration inconditionnelle du mode de mise en application de pile fantôme.
15. Procédé selon l’une quelconque des revendications 1 à 13, dans lequel la réception de l’appel d’API d'amélioration de pile fantôme comprend la réception d’une demande d’amélioration conditionnelle du mode de mise en application de pile fantôme qui est conditionnée par une vérification de l’état de compatibilité de système informatique ; et le procédé comprend en outre : sur la base au moins de la réception de l’appel d’API d’amélioration de pile fantôme, le fait de déterminer si un état de compatibilité au niveau du système informatique est satisfait ; et en fonction de la satisfaction de l’état de compatibilité au niveau du système informatique, la détermination du fait que le mode de mise en application de pile fantôme pour le processus peut être amélioré. 3
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
LU500621A LU500621B1 (en) | 2021-09-06 | 2021-09-06 | Enhancing shadow stack enforcement after process creation |
PCT/US2022/075970 WO2023035006A1 (fr) | 2021-09-06 | 2022-09-06 | Amélioration de l'exécution d'une pile fantôme après la création de processus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
LU500621A LU500621B1 (en) | 2021-09-06 | 2021-09-06 | Enhancing shadow stack enforcement after process creation |
Publications (1)
Publication Number | Publication Date |
---|---|
LU500621B1 true LU500621B1 (en) | 2023-03-06 |
Family
ID=77655606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
LU500621A LU500621B1 (en) | 2021-09-06 | 2021-09-06 | Enhancing shadow stack enforcement after process creation |
Country Status (2)
Country | Link |
---|---|
LU (1) | LU500621B1 (fr) |
WO (1) | WO2023035006A1 (fr) |
-
2021
- 2021-09-06 LU LU500621A patent/LU500621B1/en active IP Right Grant
-
2022
- 2022-09-06 WO PCT/US2022/075970 patent/WO2023035006A1/fr unknown
Non-Patent Citations (5)
Title |
---|
ANONYMOUS: "Intel CET in action", 29 April 2021 (2021-04-29), pages 1 - 12, XP055918505, Retrieved from the Internet <URL:https://web.archive.org/web/20210429140142/https://www.offensive-security.com/offsec/intel-cet-in-action/> [retrieved on 20220505] * |
ANONYMOUS: "PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY structure (winnt.h)", 21 February 2021 (2021-02-21), pages 1 - 4, XP055918508, Retrieved from the Internet <URL:https://web.archive.org/web/20210607230717/https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-process_mitigation_user_shadow_stack_policy> [retrieved on 20220505] * |
ANONYMOUS: "SetProcessMitigationPolicy function (processthreadsapi.h)", 5 December 2018 (2018-12-05), pages 1 - 5, XP055918507, Retrieved from the Internet <URL:https://web.archive.org/web/20210101175120/https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setprocessmitigationpolicy> [retrieved on 20220505] * |
IONESCU ALEX: "Windows 8 Security and ARM", BREAKPOINT 2012, 31 December 2012 (2012-12-31), pages 1 - 50, XP055918509, Retrieved from the Internet <URL:http://ruxconbreakpoint.com/assets/Uploads/bpx/alex-breakpoint2012.pdf> [retrieved on 20220505] * |
LIN JIN: "Developer Guidance for Hardware-enforced Stack Protection", 24 February 2021 (2021-02-24), pages 1 - 9, XP055918512, Retrieved from the Internet <URL:https://web.archive.org/web/20210504193405/https://techcommunity.microsoft.com/t5/windows-kernel-internals/developer-guidance-for-hardware-enforced-stack-protection/ba-p/2163340> [retrieved on 20220505] * |
Also Published As
Publication number | Publication date |
---|---|
WO2023035006A1 (fr) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475217B (zh) | 用于审计虚拟机的系统及方法 | |
US9904527B1 (en) | Optimizing API implementer programs using fine-grained code analysis | |
EP2973179B1 (fr) | Environnement mesuré et chargé dynamiquement pour le lancement d'un code sécurisé | |
EP2950206B1 (fr) | Extraction d'un code source | |
US8489708B2 (en) | Virtual application extension points | |
EP3035191B1 (fr) | Identification d'un code source utilisé pour construire des fichiers exécutables | |
US9378013B2 (en) | Incremental source code analysis | |
US20100306766A1 (en) | Adding aspects to virtual machine monitors | |
US11709931B2 (en) | Shadow stack violation enforcement at module granularity | |
US20210232416A1 (en) | Extension application mechanisms through intra-process operation systems | |
US20230266984A1 (en) | Container-based operating system translation | |
EP2511820A1 (fr) | Contournement de la redirection du mode utilisateur | |
US20100169308A1 (en) | Dynamic translator for requests for system resources | |
EP3926470B1 (fr) | Émulateur et procédé d'émulation | |
US11500981B2 (en) | Shadow stack enforcement range for dynamic code | |
WO2022017242A1 (fr) | Procédé et appareil pour exécuter une application de second système dans un premier système, dispositif et support | |
LU500621B1 (en) | Enhancing shadow stack enforcement after process creation | |
US11656888B2 (en) | Performing an application snapshot using process virtual machine resources | |
US10742491B2 (en) | Reducing initial network launch time of container applications | |
Goonasekera et al. | A hardware virtualization based component sandboxing architecture | |
US20230350710A1 (en) | Fast memory mapped io support by register switch | |
CN115756657A (zh) | 基于java的智能合约加载器实现方法及智能合约加载器 | |
CN116010100A (zh) | 区块链系统中的合约调用方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Patent granted |
Effective date: 20230306 |