Introduction Windows Kernel Conclusions
Windows Kernel & Driver Development
Marcus Botacin1
1Informatics - Federal University of Parana (UFPR) - Brazil
mfbotacin@inf.ufpr.br
November 2018
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Agenda
1 Introduction
2 Windows Kernel
3 Conclusions
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Agenda
1 Introduction
2 Windows Kernel
3 Conclusions
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
About Me
Malware Analyst (2012)
BsC. Computer Engineer @ UNICAMP (2015)
Sandbox Development
MsC. Computer Science @ UNICAMP (2017)
Hardware-Assisted Malware Analysis
PhD. Computer Science @ UFPR (Present)
Hardware-Assisted Malware Detection
AntiVirus Evaluation
Future Threats
Contextual and Social Malware effects
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Windows Model: Kernel Entering
Figure: https://blogs.msdn.microsoft.com/hanybarakat/2007/
02/25/deeper-into-windows-architecture/
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Function Prototypes: Multiple Contexts
Wrapper
1 HANDLE OpenProcess (
2 DWORD dwDesiredAccess ,
3 BOOL bInheritHandle ,
4 DWORD dwProcessId ) ;
Complete Version
1 k e r n e l e n t r y NTSYSCALLAPI NTSTATUS NtOpenProcess (
2 PHANDLE ProcessHandle ,
3 ACCESS MASK DesiredAccess ,
4 POBJECT ATTRIBUTES ObjectAttributes ,
5 PCLIENT ID C l i e n t I d ) ;
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Functions: Undocumented things
Figure: http://undocumented.ntinternals.net/
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
64-bit Windows
Kernel Patch Protection (KPP).
Driver Signing.
Session Isolation.
API Changes (Ex versions)
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Agenda
1 Introduction
2 Windows Kernel
3 Conclusions
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Requirements
VCC + WDK
You don’t need Visual Studio but You need Visual Studio
SysInternals (DebugView)
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Basics
Driver Models: FileFilter, WDK & NDIS.
Basics: Loading and Unloading.
Debugging: Printing debug messages.
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Userland Interaction
Loading Driver Object as a file.
Writing IO routines.
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
First Time Low Level
Privileged instructions with intrinsics.
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Monitoring
My First Process Callback.
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Agenda
1 Introduction
2 Windows Kernel
3 Conclusions
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
References: Books
Figure:
https://blogs.msdn.microsoft.com/microsoft_press/2017/05/
09/new-book-windows-internals-seventh-edition-part-1/
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
References: Books
Figure: https://www.amazon.com/
Rootkits-Subverting-Windows-Greg-Hoglund/dp/0321294319
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
References: Papers
Who watches the watchmen: A security-focused review on
current state-of-the-art techniques, tools and methods for
systems and binary analysis on modern platforms—ACM
Computing Surveys.
Enhancing Branch Monitoring for Security Purposes: From
Control Flow Integrity to Malware Analysis and
Debugging—ACM Transactions on Privacy and Security.
Windows Sandbox → The other guys: automated analysis of
marginalized malware—Journal of Computer Virology and
Hacking techniques.
Windows Kernel & Driver Development FAU @ Erlangen
Introduction Windows Kernel Conclusions
Conclusions
Thanks
Thanks Tilo for hosting me.
Thanks CTF guys for inviting me.
Open to hear your questions.
Contact
mfbotacin@inf.ufpr.br
https://github.com/marcusbotacin
Windows Kernel & Driver Development FAU @ Erlangen

More Related Content

PDF
Back to basics - PHPUnit
PDF
30+ Nexus Integrations to Accelerate DevOps
PPTX
Cool .NET tools, techniques and libraries
PPTX
CI adventures in .NET
PPT
Icsm2009 adams ph_d
PPTX
Test Driven Development
PDF
Windows 2000 Performance Guide 1st Edition Mark Friedman
Back to basics - PHPUnit
30+ Nexus Integrations to Accelerate DevOps
Cool .NET tools, techniques and libraries
CI adventures in .NET
Icsm2009 adams ph_d
Test Driven Development
Windows 2000 Performance Guide 1st Edition Mark Friedman

Similar to Windows Kernel & Driver Development (20)

PDF
Explaining the WinBuilder framework
PDF
Modern IoT and Embedded Linux Deployment - Berlin
PPTX
1 Win7 For Devs Fund Search
PPT
Overview of asp .net
PDF
Decoder Open Research Webinar
PPTX
Lecture 1 dev_environment
PDF
Why is .Net Technology Recognised for Software Development?
DOC
report_barc
PPTX
Windows 8 and Phone App Development
ODP
Analysis and Exploiting Windows and Linux Security
PDF
Inptools Manual
PPTX
Why is .Net Technology Recognised for Software Development?
PPT
Introduction to Software Build Technology
PPTX
01 intro to programming in .net
PPTX
Lecture 1 dev_environment
PPT
What's new in p2 (2009)?
PPTX
(WPF + WinForms) * .NET Core = Modern Desktop
PDF
CRAXweb: Automatic Exploit Generation for Web Applications
PDF
Windows Offender: Reverse Engineering Windows Defender's Antivirus Emulator
PDF
Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edi...
Explaining the WinBuilder framework
Modern IoT and Embedded Linux Deployment - Berlin
1 Win7 For Devs Fund Search
Overview of asp .net
Decoder Open Research Webinar
Lecture 1 dev_environment
Why is .Net Technology Recognised for Software Development?
report_barc
Windows 8 and Phone App Development
Analysis and Exploiting Windows and Linux Security
Inptools Manual
Why is .Net Technology Recognised for Software Development?
Introduction to Software Build Technology
01 intro to programming in .net
Lecture 1 dev_environment
What's new in p2 (2009)?
(WPF + WinForms) * .NET Core = Modern Desktop
CRAXweb: Automatic Exploit Generation for Web Applications
Windows Offender: Reverse Engineering Windows Defender's Antivirus Emulator
Programming Microsoft SQL Server 2000 with Microsoft Visual Basic NET 1st edi...
Ad

More from Marcus Botacin (20)

PDF
Cross-Regional Malware Detection via Model Distilling and Federated Learning
PDF
What do malware analysts want from academia? A survey on the state-of-the-pra...
PDF
GPThreats: Fully-automated AI-generated malware and its security risks
PDF
[Texas A&M University] Research @ Botacin's Lab
PDF
Pilares da Segurança e Chaves criptográficas
PDF
Machine Learning by Examples - Marcus Botacin - TAMU 2024
PDF
Near-memory & In-Memory Detection of Fileless Malware
PDF
GPThreats-3: Is Automated Malware Generation a Threat?
PDF
[HackInTheBOx] All You Always Wanted to Know About Antiviruses
PDF
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
PDF
Hardware-accelerated security monitoring
PDF
How do we detect malware? A step-by-step guide
PDF
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
PDF
Extraindo Caracterı́sticas de Arquivos Binários Executáveis
PDF
On the Malware Detection Problem: Challenges & Novel Approaches
PDF
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
PDF
Near-memory & In-Memory Detection of Fileless Malware
PDF
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
PDF
Integridade, confidencialidade, disponibilidade, ransomware
PDF
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
Cross-Regional Malware Detection via Model Distilling and Federated Learning
What do malware analysts want from academia? A survey on the state-of-the-pra...
GPThreats: Fully-automated AI-generated malware and its security risks
[Texas A&M University] Research @ Botacin's Lab
Pilares da Segurança e Chaves criptográficas
Machine Learning by Examples - Marcus Botacin - TAMU 2024
Near-memory & In-Memory Detection of Fileless Malware
GPThreats-3: Is Automated Malware Generation a Threat?
[HackInTheBOx] All You Always Wanted to Know About Antiviruses
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
Hardware-accelerated security monitoring
How do we detect malware? A step-by-step guide
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
Extraindo Caracterı́sticas de Arquivos Binários Executáveis
On the Malware Detection Problem: Challenges & Novel Approaches
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
Near-memory & In-Memory Detection of Fileless Malware
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
Integridade, confidencialidade, disponibilidade, ransomware
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
Ad

Recently uploaded (20)

PPTX
2currentelectricity1-201006102815 (1).pptx
PPTX
Understanding the Circulatory System……..
PPTX
Presentation1 INTRODUCTION TO ENZYMES.pptx
PDF
Social preventive and pharmacy. Pdf
PPTX
Introcution to Microbes Burton's Biology for the Health
PDF
5.Physics 8-WBS_Light.pdfFHDGJDJHFGHJHFTY
PPTX
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
PDF
BET Eukaryotic signal Transduction BET Eukaryotic signal Transduction.pdf
PPT
Enhancing Laboratory Quality Through ISO 15189 Compliance
PDF
Integrative Oncology: Merging Conventional and Alternative Approaches (www.k...
PPTX
Substance Disorders- part different drugs change body
PDF
CuO Nps photocatalysts 15156456551564161
PPTX
perinatal infections 2-171220190027.pptx
PPT
Cell Structure Description and Functions
PDF
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
PPTX
A powerpoint on colorectal cancer with brief background
PPTX
gene cloning powerpoint for general biology 2
PPTX
Platelet disorders - thrombocytopenia.pptx
PDF
GROUP 2 ORIGINAL PPT. pdf Hhfiwhwifhww0ojuwoadwsfjofjwsofjw
PDF
7.Physics_8_WBS_Electricity.pdfXFGXFDHFHG
2currentelectricity1-201006102815 (1).pptx
Understanding the Circulatory System……..
Presentation1 INTRODUCTION TO ENZYMES.pptx
Social preventive and pharmacy. Pdf
Introcution to Microbes Burton's Biology for the Health
5.Physics 8-WBS_Light.pdfFHDGJDJHFGHJHFTY
GREEN FIELDS SCHOOL PPT ON HOLIDAY HOMEWORK
BET Eukaryotic signal Transduction BET Eukaryotic signal Transduction.pdf
Enhancing Laboratory Quality Through ISO 15189 Compliance
Integrative Oncology: Merging Conventional and Alternative Approaches (www.k...
Substance Disorders- part different drugs change body
CuO Nps photocatalysts 15156456551564161
perinatal infections 2-171220190027.pptx
Cell Structure Description and Functions
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
A powerpoint on colorectal cancer with brief background
gene cloning powerpoint for general biology 2
Platelet disorders - thrombocytopenia.pptx
GROUP 2 ORIGINAL PPT. pdf Hhfiwhwifhww0ojuwoadwsfjofjwsofjw
7.Physics_8_WBS_Electricity.pdfXFGXFDHFHG

Windows Kernel & Driver Development

  • 1. Introduction Windows Kernel Conclusions Windows Kernel & Driver Development Marcus Botacin1 1Informatics - Federal University of Parana (UFPR) - Brazil mfbotacin@inf.ufpr.br November 2018 Windows Kernel & Driver Development FAU @ Erlangen
  • 2. Introduction Windows Kernel Conclusions Agenda 1 Introduction 2 Windows Kernel 3 Conclusions Windows Kernel & Driver Development FAU @ Erlangen
  • 3. Introduction Windows Kernel Conclusions Agenda 1 Introduction 2 Windows Kernel 3 Conclusions Windows Kernel & Driver Development FAU @ Erlangen
  • 4. Introduction Windows Kernel Conclusions About Me Malware Analyst (2012) BsC. Computer Engineer @ UNICAMP (2015) Sandbox Development MsC. Computer Science @ UNICAMP (2017) Hardware-Assisted Malware Analysis PhD. Computer Science @ UFPR (Present) Hardware-Assisted Malware Detection AntiVirus Evaluation Future Threats Contextual and Social Malware effects Windows Kernel & Driver Development FAU @ Erlangen
  • 5. Introduction Windows Kernel Conclusions Windows Model: Kernel Entering Figure: https://blogs.msdn.microsoft.com/hanybarakat/2007/ 02/25/deeper-into-windows-architecture/ Windows Kernel & Driver Development FAU @ Erlangen
  • 6. Introduction Windows Kernel Conclusions Function Prototypes: Multiple Contexts Wrapper 1 HANDLE OpenProcess ( 2 DWORD dwDesiredAccess , 3 BOOL bInheritHandle , 4 DWORD dwProcessId ) ; Complete Version 1 k e r n e l e n t r y NTSYSCALLAPI NTSTATUS NtOpenProcess ( 2 PHANDLE ProcessHandle , 3 ACCESS MASK DesiredAccess , 4 POBJECT ATTRIBUTES ObjectAttributes , 5 PCLIENT ID C l i e n t I d ) ; Windows Kernel & Driver Development FAU @ Erlangen
  • 7. Introduction Windows Kernel Conclusions Functions: Undocumented things Figure: http://undocumented.ntinternals.net/ Windows Kernel & Driver Development FAU @ Erlangen
  • 8. Introduction Windows Kernel Conclusions 64-bit Windows Kernel Patch Protection (KPP). Driver Signing. Session Isolation. API Changes (Ex versions) Windows Kernel & Driver Development FAU @ Erlangen
  • 9. Introduction Windows Kernel Conclusions Agenda 1 Introduction 2 Windows Kernel 3 Conclusions Windows Kernel & Driver Development FAU @ Erlangen
  • 10. Introduction Windows Kernel Conclusions Requirements VCC + WDK You don’t need Visual Studio but You need Visual Studio SysInternals (DebugView) Windows Kernel & Driver Development FAU @ Erlangen
  • 11. Introduction Windows Kernel Conclusions Basics Driver Models: FileFilter, WDK & NDIS. Basics: Loading and Unloading. Debugging: Printing debug messages. Windows Kernel & Driver Development FAU @ Erlangen
  • 12. Introduction Windows Kernel Conclusions Userland Interaction Loading Driver Object as a file. Writing IO routines. Windows Kernel & Driver Development FAU @ Erlangen
  • 13. Introduction Windows Kernel Conclusions First Time Low Level Privileged instructions with intrinsics. Windows Kernel & Driver Development FAU @ Erlangen
  • 14. Introduction Windows Kernel Conclusions Monitoring My First Process Callback. Windows Kernel & Driver Development FAU @ Erlangen
  • 15. Introduction Windows Kernel Conclusions Agenda 1 Introduction 2 Windows Kernel 3 Conclusions Windows Kernel & Driver Development FAU @ Erlangen
  • 16. Introduction Windows Kernel Conclusions References: Books Figure: https://blogs.msdn.microsoft.com/microsoft_press/2017/05/ 09/new-book-windows-internals-seventh-edition-part-1/ Windows Kernel & Driver Development FAU @ Erlangen
  • 17. Introduction Windows Kernel Conclusions References: Books Figure: https://www.amazon.com/ Rootkits-Subverting-Windows-Greg-Hoglund/dp/0321294319 Windows Kernel & Driver Development FAU @ Erlangen
  • 18. Introduction Windows Kernel Conclusions References: Papers Who watches the watchmen: A security-focused review on current state-of-the-art techniques, tools and methods for systems and binary analysis on modern platforms—ACM Computing Surveys. Enhancing Branch Monitoring for Security Purposes: From Control Flow Integrity to Malware Analysis and Debugging—ACM Transactions on Privacy and Security. Windows Sandbox → The other guys: automated analysis of marginalized malware—Journal of Computer Virology and Hacking techniques. Windows Kernel & Driver Development FAU @ Erlangen
  • 19. Introduction Windows Kernel Conclusions Conclusions Thanks Thanks Tilo for hosting me. Thanks CTF guys for inviting me. Open to hear your questions. Contact mfbotacin@inf.ufpr.br https://github.com/marcusbotacin Windows Kernel & Driver Development FAU @ Erlangen