http://securitywatch.eweek.com/microsoft_windows/microsoft_adds_new_antiexploit_apis_into_windows.html
"* If you support DEP but want to allow customers to disable DEP if there are serious compatibility issues, then this is the API to use because the argument can be a configuration option."
Prediction pour 2008: SetProcessDEPPolicy() adresse de reference pour les ret2libc sous Windows.
Lien original d'un blog de MS:
http://blogs.msdn.com/michael_howard/archive/2008/01/29/new-nx-apis-added-to-windows-vista-sp1-windows-xp-sp3-and-windows-server-2008.aspx
Merci Microsoft, depuis le temps que je demandais cette 'feature'.
Leveling Up Fuzzing: Finding more vulnerabilities with AI
-
Posted by Oliver Chang, Dongge Liu and Jonathan Metzman, Google Open Source
Security Team
Recently, OSS-Fuzz reported 26 new vulnerabilities to open source...
3 days ago
7 comments:
Etonnant, je pensais que le DEP pourrait plus etre disable. Plutot qu'il pourrait etre active sur des applications tierces. On verra bien ...
Je ne vois pas trop la différence avec NtSetInformationProcess(0x22, MEM_EXECUTE_OPTION_ENABLE) ... sauf que la nouvelle API est documentée :)
@mxatone: la nouveauté avec Vista c'est le flag "permanent" applicable par processus, qui empêche la désactivation ultérieure.
oki newsoft, c'est un truc fun que je savais pas ^^. Faudrait que j'ameliore ma culture Vista userland au lieu de regarder le kernel.
Avec NtSetInformationProcess tu pushes 4 arguments dont un pointeur vers '2'. Le probleme etant les 0, qui font en sorte que tu ne peux generalement pas l'appeler directement, d'ou la combo restauration d'ebp, mov al,1 , saut dans la fonction de desactivation, saut vers le shellcode. Le fait qu'il n'y ait qu'un parametre (helas 0), et pas besoin de sauter au milieu d'une fonction economise 75% du boulot.
Bien que la technique d'Uniformed soit complete, j'ai jamais eu a utiliser le mov al,1 (je controlais jamais la stack pour le ret vers le cmp). Par contre c'est clair que ca imposera moins de cabriole avec ou sans un ret2libc. Que c'était bon de passer entre 3 / 4 bout de code ou de rediriger esp sur un reg controle ...
NtSetInformationProcess(... 0x22, MEM_EXECUTE_OPTION_ENABLE ..)
not work on DEP = AlwaysOn!
@alto: SetProcessDEPPolicy() non plus.
http://msdn2.microsoft.com/en-us/library/bb736299(VS.85).aspx
"The system DEP policy setting must be OptIn or OptOut. If the system DEP policy is AlwaysOff or AlwaysOn, SetProcessDEPPolicy returns an error."
Post a Comment