This document provides an overview of attacking firmware during early boot phases prior to UEFI. The presenters discuss exploiting vulnerabilities in the Pre-EFI (PEI) phase to achieve arbitrary code execution and persistence. Several real-world vulnerabilities are demonstrated, including BRLY-2022-009 which allows overwriting protected memory during S3 resume. Automating bug hunting in the PEI phase is also mentioned. The talk aims to bring attention to the increased attack surface in early boot processes as firmware security defenses evolve.
Alex Matrosov, Cylance
This presentation is meant to serve as an alarum for hardware vendors; BIOS-level security researchers and defenders; and sophisticated stakeholders who want to know the current state of UEFI exposure and threats. The situation is serious but, with the right tools and knowledge, we can prevail.
Hardware vendors such as Intel have introduced new protection technologies like Intel Boot Guard (since Haswell) and BIOS Guard (since Skylake). Boot Guard protects Secure Boot's "Root of Trust" from firmware-based attacks by verifying that a trusted UEFI firmware is booting the platform. When BIOS Guard is active, only guarded modules can modify SPI flash memory; this can protect from persistent implants. Both technologies run on a separate CPU known as the "Authenticated Code Module" (ACM), which isolates them from attackers and also protects from race condition attacks. Those "Guard" technologies are sometimes referred to as UEFI rootkit killers.
Not many details are publicly available regarding these technologies. In this presentation, I will discuss particular implementations on hardware with the most recent Intel CPUs such as Skylake and Kaby Lake. Most of the information has been extracted from UEFI firmware modules by reverse engineering. This DXE and PEI modules cooperated with ACM-code for enabling, configuration and initialization. This talk will also cover some weaknesses of those guards. Where are the BIOS guardians failing? How difficult is it to bypass these protections and install a persistent rootkit from the operating system?
This document discusses the history and evolution of bootkits from legacy BIOS to UEFI environments. It describes various bootkit techniques used in BIOS and UEFI, including MBR/VBR modification, hidden file systems, and replacing bootloaders. It also covers attacks against secure boot and forensic tools for analyzing firmware like HiddenFsReader and CHIPSEC.
Chipsec is an open source framework for assessing platform security. It can be used to find vulnerabilities in system firmware like BIOS, UEFI and Mac EFI. Some examples shown include exploiting S3 resume boot script vulnerabilities to gain persistence, attacking hypervisors via SMM pointers, and checking for issues with MMIO BAR registers. The tool can also detect "problems" like unlocked firmware, missing hardware protections, and analyze real-world malware implants targeting firmware like DerStarke and HackingTeam UEFI rootkits.
This document discusses fault injection attacks on secure boot implementations in embedded systems. It begins by explaining how secure boot works, using a hardware root of trust to verify that only authorized code is executed. It then introduces different methods of fault injection, such as voltage manipulation and electromagnetic interference, that can corrupt code verification and execution. Examples are given of how faults could bypass signature checks or modify execution. Countermeasures at both the software and hardware level are outlined to make systems more robust against fault injection. The document concludes that while hardware roots of trust increase security, physical attacks still remain a threat, and both hardware and software countermeasures are needed to protect against fault injection in secure embedded systems.
Blue Hat IL 2019 - Hardening Secure Boot on Embedded Devices for Hostile Envi...Cristofaro Mune
This talk has been presented at Microsoft BlueHat IL 2019 security conference, by Niek Timmers, Albert Spruyt and Cristofaro Mune.
Secure boot is the fundamental building block of the security implemented in a large variety of devices. From mobile phones, to Internet of Things (IoT) or Electronic Control Units (ECUs) found in modern cars.
In this talk we focus on software and hardware attacks that may be carried on against Secure Boot implementations. We leverage our decade long experience in reviewing and attacking secure boot on embedded devices from different industries
After a brief introduction, an overview of common attack patterns is provided, by discussing real vulnerabilities, exploits and attacks as case studies.
We then discuss two new attacks, not discussed or demonstrated before, with the purpose of bringing new insights.
The first one, takes place before CPU is even started, showing that a larger attack surface than usually explored is available.
This also shows that FI can affect pure HW implementations, with no SW involved.
The second one is an Encrypted Secure Boot bypass, yielding direct code execution. It is performed by using Fault Injection only and with a single glitch.
Contrary to common beliefs, we show that FI-only attacks are possible against an Encrypted Secure Boot implementation, without requiring any encryption key.
This shows that the need of reconsidering FI attacks impact and that encrypting boot stages alone is not a sufficient FI countermeasure.
We also discuss countermeasures and possible mitigations throughout the whole presentation.
With this talk, we hope to bring innovative and fresh material to a topic, which is a cornerstone of modern Product Security.
The presentation at BlueHat IL 2019 featured the live demo of an Encrypted Secure Boot bypass attack.
Reducing attack surface on ICS with Windows native solutionsJan Seidl
This document summarizes steps for hardening Windows systems used in industrial control systems (ICS). It recommends:
1. Performing basic hardening steps like removing unnecessary software, disabling services, and restricting file system access.
2. Leveraging the native Windows firewall to prevent backdoors and malware from communicating.
3. Implementing whitelisting of authorized software using Software Restriction Policies or AppLocker to prevent unauthorized code execution.
4. Using Enhanced Mitigation Experience Toolkit (EMET) for exploitation mitigation to reduce the impact of zero-day vulnerabilities.
5. Leveraging PowerShell remoting and Just Enough Administration (JEA) to restrict remote access without using
The document summarizes a presentation given by the Microsoft Malware Protection Center Threat Research and Response Team on their tool Paladin, which uses dynamic data flow analysis to automatically analyze exploits. Paladin was able to detect 60% of vulnerabilities tested on average, with better detection rates for simpler file-based and network-based exploits compared to more complex file-based and scripting exploits. The document discusses challenges faced like false positives, incomplete detections, and complex programs, and presents mitigation strategies to address these challenges.
Alex Matrosov, Cylance
This presentation is meant to serve as an alarum for hardware vendors; BIOS-level security researchers and defenders; and sophisticated stakeholders who want to know the current state of UEFI exposure and threats. The situation is serious but, with the right tools and knowledge, we can prevail.
Hardware vendors such as Intel have introduced new protection technologies like Intel Boot Guard (since Haswell) and BIOS Guard (since Skylake). Boot Guard protects Secure Boot's "Root of Trust" from firmware-based attacks by verifying that a trusted UEFI firmware is booting the platform. When BIOS Guard is active, only guarded modules can modify SPI flash memory; this can protect from persistent implants. Both technologies run on a separate CPU known as the "Authenticated Code Module" (ACM), which isolates them from attackers and also protects from race condition attacks. Those "Guard" technologies are sometimes referred to as UEFI rootkit killers.
Not many details are publicly available regarding these technologies. In this presentation, I will discuss particular implementations on hardware with the most recent Intel CPUs such as Skylake and Kaby Lake. Most of the information has been extracted from UEFI firmware modules by reverse engineering. This DXE and PEI modules cooperated with ACM-code for enabling, configuration and initialization. This talk will also cover some weaknesses of those guards. Where are the BIOS guardians failing? How difficult is it to bypass these protections and install a persistent rootkit from the operating system?
This document discusses the history and evolution of bootkits from legacy BIOS to UEFI environments. It describes various bootkit techniques used in BIOS and UEFI, including MBR/VBR modification, hidden file systems, and replacing bootloaders. It also covers attacks against secure boot and forensic tools for analyzing firmware like HiddenFsReader and CHIPSEC.
Chipsec is an open source framework for assessing platform security. It can be used to find vulnerabilities in system firmware like BIOS, UEFI and Mac EFI. Some examples shown include exploiting S3 resume boot script vulnerabilities to gain persistence, attacking hypervisors via SMM pointers, and checking for issues with MMIO BAR registers. The tool can also detect "problems" like unlocked firmware, missing hardware protections, and analyze real-world malware implants targeting firmware like DerStarke and HackingTeam UEFI rootkits.
This document discusses fault injection attacks on secure boot implementations in embedded systems. It begins by explaining how secure boot works, using a hardware root of trust to verify that only authorized code is executed. It then introduces different methods of fault injection, such as voltage manipulation and electromagnetic interference, that can corrupt code verification and execution. Examples are given of how faults could bypass signature checks or modify execution. Countermeasures at both the software and hardware level are outlined to make systems more robust against fault injection. The document concludes that while hardware roots of trust increase security, physical attacks still remain a threat, and both hardware and software countermeasures are needed to protect against fault injection in secure embedded systems.
Blue Hat IL 2019 - Hardening Secure Boot on Embedded Devices for Hostile Envi...Cristofaro Mune
This talk has been presented at Microsoft BlueHat IL 2019 security conference, by Niek Timmers, Albert Spruyt and Cristofaro Mune.
Secure boot is the fundamental building block of the security implemented in a large variety of devices. From mobile phones, to Internet of Things (IoT) or Electronic Control Units (ECUs) found in modern cars.
In this talk we focus on software and hardware attacks that may be carried on against Secure Boot implementations. We leverage our decade long experience in reviewing and attacking secure boot on embedded devices from different industries
After a brief introduction, an overview of common attack patterns is provided, by discussing real vulnerabilities, exploits and attacks as case studies.
We then discuss two new attacks, not discussed or demonstrated before, with the purpose of bringing new insights.
The first one, takes place before CPU is even started, showing that a larger attack surface than usually explored is available.
This also shows that FI can affect pure HW implementations, with no SW involved.
The second one is an Encrypted Secure Boot bypass, yielding direct code execution. It is performed by using Fault Injection only and with a single glitch.
Contrary to common beliefs, we show that FI-only attacks are possible against an Encrypted Secure Boot implementation, without requiring any encryption key.
This shows that the need of reconsidering FI attacks impact and that encrypting boot stages alone is not a sufficient FI countermeasure.
We also discuss countermeasures and possible mitigations throughout the whole presentation.
With this talk, we hope to bring innovative and fresh material to a topic, which is a cornerstone of modern Product Security.
The presentation at BlueHat IL 2019 featured the live demo of an Encrypted Secure Boot bypass attack.
Reducing attack surface on ICS with Windows native solutionsJan Seidl
This document summarizes steps for hardening Windows systems used in industrial control systems (ICS). It recommends:
1. Performing basic hardening steps like removing unnecessary software, disabling services, and restricting file system access.
2. Leveraging the native Windows firewall to prevent backdoors and malware from communicating.
3. Implementing whitelisting of authorized software using Software Restriction Policies or AppLocker to prevent unauthorized code execution.
4. Using Enhanced Mitigation Experience Toolkit (EMET) for exploitation mitigation to reduce the impact of zero-day vulnerabilities.
5. Leveraging PowerShell remoting and Just Enough Administration (JEA) to restrict remote access without using
The document summarizes a presentation given by the Microsoft Malware Protection Center Threat Research and Response Team on their tool Paladin, which uses dynamic data flow analysis to automatically analyze exploits. Paladin was able to detect 60% of vulnerabilities tested on average, with better detection rates for simpler file-based and network-based exploits compared to more complex file-based and scripting exploits. The document discusses challenges faced like false positives, incomplete detections, and complex programs, and presents mitigation strategies to address these challenges.
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesPeter Hlavaty
The document discusses exploiting TrueType font (TTF) vulnerabilities to achieve kernel code execution on Windows systems. It begins by describing the discovery of exploitable bugs in a TTF fuzzer. Despite mitigations like KASLR, NX, SMAP, and CFG, the researchers were able to bypass these protections through techniques like controlled overflows, abusing plain kernel structures, and function-driven attacks. They show how to leverage wild overflows, control kernel memory layout, and hijack control flow to achieve arbitrary code execution. The document emphasizes that OS design weaknesses allow bypassing modern defenses through clever bug chaining and memory manipulation.
The document discusses the challenges of securing virtualization from a technical perspective. It covers weaknesses in hardware-assisted virtualization approaches, software stacks used for virtualization, complex memory management, computer platform internals, and potential attack vectors against virtualization. The presentation aims to demonstrate that achieving secure virtualization is virtually impossible due to the numerous opportunities for exploitation throughout the software and hardware stack.
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
Joe FitzPatrick gave a presentation on exploiting PCIe (Peripheral Component Interconnect Express) buses for hardware attacks. He discussed using DMA (direct memory access) over PCIe to read and write system memory, modify firmware, and potentially bypass mitigations like IOMMU (input-output memory management unit). FitzPatrick demonstrated proof-of-concept attacks on Macs and Windows PCs using custom PCIe devices and software. However, he noted that fully bypassing protections like VT-d on Macbooks had not yet been achieved and more work is needed to build attacks without imitating a genuine device.
Nothing like starting off the new decade with rumors your computer cryptography has a vulnerability which can result in a lack of trust for almost everything you do! The reality is that this vulnerability has not been publicly disclosed nor exploited and our friends at Microsoft have a solution. Besides the Crypto vulnerability, the most notable news is still the final public patch release for Windows 7, Server 2008, and Server 2008 R2. Apply the updates soon; major security vulnerabilities are exploited quickly!
This document provides an introduction to secure boot. It begins with an overview of the topics to be covered, including attack surfaces, attack types, and basic defenses for embedded devices. It then describes the typical boot chain process, including the roles of the ROM bootloader, SPL, main bootloader, OS kernel, and initramfs. Finally, it discusses the basic chain of trust for secure boot and compares it to the PC bootchain, noting some vulnerabilities in the basic secure bootchain model.
Java Concurrency, A(nother) Peek Under the Hood [Code One 2019]David Buck
The document outlines a product direction intended for information purposes only and is not binding. Any features or functionality described may change or be removed at Oracle's sole discretion. Statements relating to Oracle's plans are forward-looking and subject to risks. All information is current as of September 2019. Oracle undertakes no duty to update any statement in light of new information or future events. The document is intended to provide a non-binding overview of Oracle's general product direction and is not a commitment to deliver any functionality.
This document summarizes key cyber warfare attacks and what can be learned from them. It discusses the Stuxnet worm targeting Iran's nuclear facilities, the Flame and Red October spyware platforms, and shared techniques like using stolen certificates and numerous zero-day exploits to remain undetected. It's noted that air-gapping is insufficient, logical flaws are hard to fix, and privilege escalation will be a continued threat. Strong encryption, SSL pinning, and focusing on local security are recommended over network-based detection. Fully automated attacks may soon compete with nation-states as trust breaks down in the new landscape.
ARM Linux Booting Process
One must be wondering How this Embedded Devices come to life? What goes into this devices that will tune to users Commands. We are going to explain about Embedded Arm based devices in general as The ARM architecture is a widely used 32-bit RISC processor architecture. In fact, the ARM family accounts for about 75% of all 32-bit CPUs, and about 90% of all embedded 32-bit CPUs.
The document provides an overview of the Converged Security Engine (CSE) and how it is virtualized in ACRN. It discusses how the CSE provides security features like DRM and dynamic application loading. It then explains how the Management Engine Interface (MEI) driver is used to access CSE features and how MEI is virtualized using a front-end and back-end driver with VirtIO and addressing extensions to support multiple guest VMs. The ACRN device model is used to configure virtual MEI devices for each VM.
The Internet of Insecure Things: 10 Most Wanted ListSecurity Weekly
The document discusses security issues with internet-connected embedded devices, known as the "Internet of Things". It outlines several vulnerabilities that have already been exploited, including devices being used to mine cryptocurrency or launch DDoS attacks without owner permission. Specific examples are given of vulnerabilities in D-Link routers, including backdoors, default credentials, buffer overflows and cross-site request forgery issues that can allow full device compromise. The document argues that many other device types like medical equipment and industrial controls face similar insecurity risks if not properly secured.
Secret of Intel Management Engine by Igor SkochinskyCODE BLUE
Intel Management Engine ("ME") is a dedicated microcontroller embedded in all recent Intel motherboard chipsets. It works independently from the main CPU, can be active even when the rest of the system is powered off, and has a dedicated connection to the network interface for out-of-band networking which bypasses the main CPU and the installed OS. It not only performs the management tasks for which it was originally designed, but also implements features such as Intel Identity Protection Technology (IPT), Protected Audio-Video Path, Intel Anti-Theft, Intel TPM, NFC communication and more. There is not much info available about how exactly it works, and this talk aims to fill the gap and describe the low-level details.
Igor Skochinsky
Igor Skochinsky is currently one of the main developers of the world-famous Interactive Disassembler and Hex-Rays Decompiler. Even before joining Hex-Rays in 2008 he had been interested in reverse engineering for a long time and had brief periods of Internet fame after releasing a dumper for DRM-ed iTunes files (QTFairUse6) and hacking the original Amazon Kindle. He spoke previously at Recon, Breakpoint and Hack.LU.
The document discusses how modern Intel CPUs contain debugging features like JTAG that could enable hardware trojans if activated. It describes how the Intel Direct Connect Interface allows activating JTAG-like debugging over USB, potentially allowing full system control. It demonstrates activating DCI on a laptop through the UEFI and explains how to detect if DCI is enabled. The document warns that DCI could lead to a "new age of BadUSB" if used maliciously.
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLReconSanjiv Kawa
Video: https://youtu.be/LsYSePobFWA
Conference: Black Hat USA Arsenal 2023
Presentation Title: Abusing Microsoft SQL Server with SQLRecon
Presenter: Sanjiv Kawa
Embedded Security in ARM-based microcontrollersteam-WIBU
CodeMeter µEmbedded from Wibu-Systems enhances the standard tool chain to provide secure firmware updates or functional upgrades in embedded systems built around the XMC4000 microcontrollers made by Infineon Technologies. This ARM Cortex™ family features a huge set of connectivity peripherals and is designed for controls of industrial applications, especially in harsh environments. It predominantly addresses five target markets: factory automation, building automation, transportation, power and energy, and home and professional applications. What these have in common is the many and diverse security challenges they face.
With CodeMeter µEmbedded, software developers of field programmable gate arrays and microcontrollers can protect their application code and intellectual property against reverse engineering and implement a license control system. The technology represents a practical answer to common security needs: How to protect intellectual property that is shared with a contractor from cloning, how to provide secure firmware upgrades in the field, how to make sure that only authorized devices are built in factory machines, or how to enable additional functionality in a microcontroller that is already operational in the field.
The tools for the protection of the application code are fully integrated in the development platform DAVE™. The user-friendly dialogue frontend of CodeMeter µEmbedded created for the DAVE plugin is a great help also to those developers who have little cryptography skills in their arsenal. In one single dialogue, they are able to input all required security settings to guarantee the effective and thorough integrity protection of their machine code.
Watch the webinar:
https://youtu.be/QlJuBbG8wZs
[HackInTheBox] Breaking virtualization by any meansMoabi.com
The document discusses various techniques for attacking virtualization systems and escalating privileges. It begins with an overview of virtualization definitions and market shares. It then covers methods such as privilege escalation on guest systems and the host, attacking isolation between guest operating systems, denial of service attacks targeting both the host and guests, and escaping the virtualized environment to the host system. Specific vulnerabilities and research are referenced to illustrate different attack vectors. The document concludes with a discussion of fuzzing the hypervisor or host operating system through techniques like virtual 8086 mode, I/O port fuzzing, and PCI device fuzzing to identify new ways to escalate privileges on the host system.
Operations Security - SF Bitcoin Hackday March 2015Mikko Ohtamaa
This document discusses various operational security (OPSEC) measures for protecting online services and user accounts. It recommends encrypting devices, using two-factor authentication, password managers, and SSH keys. For user security, it suggests moving past passwords and implementing login attempt throttling, two-factor authentication, and third authentication factors. The document also covers infrastructure security techniques like fail2ban, attack mitigation proxies, and flood attack prevention. Hosting provider and physical security are addressed as well, along with server security monitoring.
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik OpcodesCODE BLUE
Trueseeing is an automatic vulnerability scanner for Android apps. It is capable of not only directly conducting data flow analysis over Dalvik bytecode but also automatically fixing the code, i.e. without any decompilers. This capability makes it resillent against basic obfuscations and distinguishes it among similar tools -- including the QARK, the scanner/explotation tool shown by Linkedin in DEF CON 23. Currently it recognizes the most class of vulnerabilities (as in OWASP Mobile Top 10 (2015).) We have presented it in DEF CON 25 Demo Labs. Our tool is at: https://github.com/monolithworks/trueseeing.
Takahiro Yoshimura
TAKAHIRO YOSHIMURA: He is Chief Technology Officer at Monolith Works Inc. In 2012 METI-coodinated CTF, Challenge CTF Japan 2012, his team (Enemy10) had won local qualification round at the 1st prize. In 2013, his team (Sutegoma2) took the 6th prize in DEFCON 21 CTF. He like to read binaries and hack things. He loves a GSD.
https://keybase.io/alterakey
Ken-ya Yoshimura
KEN-YA YOSHIMURA: Working as Chief Executive Officer at Monolith Works Inc, he is supervising an R&D lab specializing in emerging technologies. His hacker life starts when he was 8 years old; he likes to hack MSXs, NEC PC-9800s, Sharp X68000s, Windows, Macs, iPhones, iOS/Android apps, and circumvent copyright protection (for fun,) etc. He adores a GSD.
https://keybase.io/ad3liae
Building your macOS Baseline Requirements MacadUK 2018Henry Stamerjohann
Slides from 2018 MacAD.UK confernce
Synopsis: https://www.macad.uk/speaker/henry-stamerjohann/
When tasked with (re)building a security baseline for macOS clients, where do you start?
There’s obviously decisions to be made about what’s feasible in your organization (beyond if admin privileges should be the default). You need to weigh system stability and security with end-user productivity. Luckily for the macOS platform a rich ecosystem of tools exist to fill in the gaps and general guidance is available. The crucial part of making mindful and informed decisions is to first aggregate data from your IT environment. You can then decide what configurations to deploy and run recurring compliance checks based on an appropriate strategy. This session will cover fundamentals, highlight advanced considerations, and outline practical examples to apply when you’re conducting a (new) baseline for macOS clients.
IoT exploitation: from memory corruption to code execution by Marco RomanoCodemotion
#Codemotion Rome 2018 - Attraverso un "IoT pentester's diary", analizzeremo i passaggi chiave di un penetration test su una IP webcam, che ci porterà dall'analisi delle superfici di attacco, all'individuazione di una vulnerabilità reale. Un'introduzione all'exploitation, per spostarci dall'overflow di un buffer all'esecuzione remota di codice.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesPeter Hlavaty
The document discusses exploiting TrueType font (TTF) vulnerabilities to achieve kernel code execution on Windows systems. It begins by describing the discovery of exploitable bugs in a TTF fuzzer. Despite mitigations like KASLR, NX, SMAP, and CFG, the researchers were able to bypass these protections through techniques like controlled overflows, abusing plain kernel structures, and function-driven attacks. They show how to leverage wild overflows, control kernel memory layout, and hijack control flow to achieve arbitrary code execution. The document emphasizes that OS design weaknesses allow bypassing modern defenses through clever bug chaining and memory manipulation.
The document discusses the challenges of securing virtualization from a technical perspective. It covers weaknesses in hardware-assisted virtualization approaches, software stacks used for virtualization, complex memory management, computer platform internals, and potential attack vectors against virtualization. The presentation aims to demonstrate that achieving secure virtualization is virtually impossible due to the numerous opportunities for exploitation throughout the software and hardware stack.
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
Joe FitzPatrick gave a presentation on exploiting PCIe (Peripheral Component Interconnect Express) buses for hardware attacks. He discussed using DMA (direct memory access) over PCIe to read and write system memory, modify firmware, and potentially bypass mitigations like IOMMU (input-output memory management unit). FitzPatrick demonstrated proof-of-concept attacks on Macs and Windows PCs using custom PCIe devices and software. However, he noted that fully bypassing protections like VT-d on Macbooks had not yet been achieved and more work is needed to build attacks without imitating a genuine device.
Nothing like starting off the new decade with rumors your computer cryptography has a vulnerability which can result in a lack of trust for almost everything you do! The reality is that this vulnerability has not been publicly disclosed nor exploited and our friends at Microsoft have a solution. Besides the Crypto vulnerability, the most notable news is still the final public patch release for Windows 7, Server 2008, and Server 2008 R2. Apply the updates soon; major security vulnerabilities are exploited quickly!
This document provides an introduction to secure boot. It begins with an overview of the topics to be covered, including attack surfaces, attack types, and basic defenses for embedded devices. It then describes the typical boot chain process, including the roles of the ROM bootloader, SPL, main bootloader, OS kernel, and initramfs. Finally, it discusses the basic chain of trust for secure boot and compares it to the PC bootchain, noting some vulnerabilities in the basic secure bootchain model.
Java Concurrency, A(nother) Peek Under the Hood [Code One 2019]David Buck
The document outlines a product direction intended for information purposes only and is not binding. Any features or functionality described may change or be removed at Oracle's sole discretion. Statements relating to Oracle's plans are forward-looking and subject to risks. All information is current as of September 2019. Oracle undertakes no duty to update any statement in light of new information or future events. The document is intended to provide a non-binding overview of Oracle's general product direction and is not a commitment to deliver any functionality.
This document summarizes key cyber warfare attacks and what can be learned from them. It discusses the Stuxnet worm targeting Iran's nuclear facilities, the Flame and Red October spyware platforms, and shared techniques like using stolen certificates and numerous zero-day exploits to remain undetected. It's noted that air-gapping is insufficient, logical flaws are hard to fix, and privilege escalation will be a continued threat. Strong encryption, SSL pinning, and focusing on local security are recommended over network-based detection. Fully automated attacks may soon compete with nation-states as trust breaks down in the new landscape.
ARM Linux Booting Process
One must be wondering How this Embedded Devices come to life? What goes into this devices that will tune to users Commands. We are going to explain about Embedded Arm based devices in general as The ARM architecture is a widely used 32-bit RISC processor architecture. In fact, the ARM family accounts for about 75% of all 32-bit CPUs, and about 90% of all embedded 32-bit CPUs.
The document provides an overview of the Converged Security Engine (CSE) and how it is virtualized in ACRN. It discusses how the CSE provides security features like DRM and dynamic application loading. It then explains how the Management Engine Interface (MEI) driver is used to access CSE features and how MEI is virtualized using a front-end and back-end driver with VirtIO and addressing extensions to support multiple guest VMs. The ACRN device model is used to configure virtual MEI devices for each VM.
The Internet of Insecure Things: 10 Most Wanted ListSecurity Weekly
The document discusses security issues with internet-connected embedded devices, known as the "Internet of Things". It outlines several vulnerabilities that have already been exploited, including devices being used to mine cryptocurrency or launch DDoS attacks without owner permission. Specific examples are given of vulnerabilities in D-Link routers, including backdoors, default credentials, buffer overflows and cross-site request forgery issues that can allow full device compromise. The document argues that many other device types like medical equipment and industrial controls face similar insecurity risks if not properly secured.
Secret of Intel Management Engine by Igor SkochinskyCODE BLUE
Intel Management Engine ("ME") is a dedicated microcontroller embedded in all recent Intel motherboard chipsets. It works independently from the main CPU, can be active even when the rest of the system is powered off, and has a dedicated connection to the network interface for out-of-band networking which bypasses the main CPU and the installed OS. It not only performs the management tasks for which it was originally designed, but also implements features such as Intel Identity Protection Technology (IPT), Protected Audio-Video Path, Intel Anti-Theft, Intel TPM, NFC communication and more. There is not much info available about how exactly it works, and this talk aims to fill the gap and describe the low-level details.
Igor Skochinsky
Igor Skochinsky is currently one of the main developers of the world-famous Interactive Disassembler and Hex-Rays Decompiler. Even before joining Hex-Rays in 2008 he had been interested in reverse engineering for a long time and had brief periods of Internet fame after releasing a dumper for DRM-ed iTunes files (QTFairUse6) and hacking the original Amazon Kindle. He spoke previously at Recon, Breakpoint and Hack.LU.
The document discusses how modern Intel CPUs contain debugging features like JTAG that could enable hardware trojans if activated. It describes how the Intel Direct Connect Interface allows activating JTAG-like debugging over USB, potentially allowing full system control. It demonstrates activating DCI on a laptop through the UEFI and explains how to detect if DCI is enabled. The document warns that DCI could lead to a "new age of BadUSB" if used maliciously.
Black Hat USA Arsenal 2023: Abusing Microsoft SQL Server with SQLReconSanjiv Kawa
Video: https://youtu.be/LsYSePobFWA
Conference: Black Hat USA Arsenal 2023
Presentation Title: Abusing Microsoft SQL Server with SQLRecon
Presenter: Sanjiv Kawa
Embedded Security in ARM-based microcontrollersteam-WIBU
CodeMeter µEmbedded from Wibu-Systems enhances the standard tool chain to provide secure firmware updates or functional upgrades in embedded systems built around the XMC4000 microcontrollers made by Infineon Technologies. This ARM Cortex™ family features a huge set of connectivity peripherals and is designed for controls of industrial applications, especially in harsh environments. It predominantly addresses five target markets: factory automation, building automation, transportation, power and energy, and home and professional applications. What these have in common is the many and diverse security challenges they face.
With CodeMeter µEmbedded, software developers of field programmable gate arrays and microcontrollers can protect their application code and intellectual property against reverse engineering and implement a license control system. The technology represents a practical answer to common security needs: How to protect intellectual property that is shared with a contractor from cloning, how to provide secure firmware upgrades in the field, how to make sure that only authorized devices are built in factory machines, or how to enable additional functionality in a microcontroller that is already operational in the field.
The tools for the protection of the application code are fully integrated in the development platform DAVE™. The user-friendly dialogue frontend of CodeMeter µEmbedded created for the DAVE plugin is a great help also to those developers who have little cryptography skills in their arsenal. In one single dialogue, they are able to input all required security settings to guarantee the effective and thorough integrity protection of their machine code.
Watch the webinar:
https://youtu.be/QlJuBbG8wZs
[HackInTheBox] Breaking virtualization by any meansMoabi.com
The document discusses various techniques for attacking virtualization systems and escalating privileges. It begins with an overview of virtualization definitions and market shares. It then covers methods such as privilege escalation on guest systems and the host, attacking isolation between guest operating systems, denial of service attacks targeting both the host and guests, and escaping the virtualized environment to the host system. Specific vulnerabilities and research are referenced to illustrate different attack vectors. The document concludes with a discussion of fuzzing the hypervisor or host operating system through techniques like virtual 8086 mode, I/O port fuzzing, and PCI device fuzzing to identify new ways to escalate privileges on the host system.
Operations Security - SF Bitcoin Hackday March 2015Mikko Ohtamaa
This document discusses various operational security (OPSEC) measures for protecting online services and user accounts. It recommends encrypting devices, using two-factor authentication, password managers, and SSH keys. For user security, it suggests moving past passwords and implementing login attempt throttling, two-factor authentication, and third authentication factors. The document also covers infrastructure security techniques like fail2ban, attack mitigation proxies, and flood attack prevention. Hosting provider and physical security are addressed as well, along with server security monitoring.
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik OpcodesCODE BLUE
Trueseeing is an automatic vulnerability scanner for Android apps. It is capable of not only directly conducting data flow analysis over Dalvik bytecode but also automatically fixing the code, i.e. without any decompilers. This capability makes it resillent against basic obfuscations and distinguishes it among similar tools -- including the QARK, the scanner/explotation tool shown by Linkedin in DEF CON 23. Currently it recognizes the most class of vulnerabilities (as in OWASP Mobile Top 10 (2015).) We have presented it in DEF CON 25 Demo Labs. Our tool is at: https://github.com/monolithworks/trueseeing.
Takahiro Yoshimura
TAKAHIRO YOSHIMURA: He is Chief Technology Officer at Monolith Works Inc. In 2012 METI-coodinated CTF, Challenge CTF Japan 2012, his team (Enemy10) had won local qualification round at the 1st prize. In 2013, his team (Sutegoma2) took the 6th prize in DEFCON 21 CTF. He like to read binaries and hack things. He loves a GSD.
https://keybase.io/alterakey
Ken-ya Yoshimura
KEN-YA YOSHIMURA: Working as Chief Executive Officer at Monolith Works Inc, he is supervising an R&D lab specializing in emerging technologies. His hacker life starts when he was 8 years old; he likes to hack MSXs, NEC PC-9800s, Sharp X68000s, Windows, Macs, iPhones, iOS/Android apps, and circumvent copyright protection (for fun,) etc. He adores a GSD.
https://keybase.io/ad3liae
Building your macOS Baseline Requirements MacadUK 2018Henry Stamerjohann
Slides from 2018 MacAD.UK confernce
Synopsis: https://www.macad.uk/speaker/henry-stamerjohann/
When tasked with (re)building a security baseline for macOS clients, where do you start?
There’s obviously decisions to be made about what’s feasible in your organization (beyond if admin privileges should be the default). You need to weigh system stability and security with end-user productivity. Luckily for the macOS platform a rich ecosystem of tools exist to fill in the gaps and general guidance is available. The crucial part of making mindful and informed decisions is to first aggregate data from your IT environment. You can then decide what configurations to deploy and run recurring compliance checks based on an appropriate strategy. This session will cover fundamentals, highlight advanced considerations, and outline practical examples to apply when you’re conducting a (new) baseline for macOS clients.
IoT exploitation: from memory corruption to code execution by Marco RomanoCodemotion
#Codemotion Rome 2018 - Attraverso un "IoT pentester's diary", analizzeremo i passaggi chiave di un penetration test su una IP webcam, che ci porterà dall'analisi delle superfici di attacco, all'individuazione di una vulnerabilità reale. Un'introduzione all'exploitation, per spostarci dall'overflow di un buffer all'esecuzione remota di codice.
Similar to US-22-Matrosov-Breaking-Firmware-Trust-From-Pre-EFI.pdf (20)
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
1. #BHUSA @BlackHatEvents
Breaking Firmware Trust From Pre-EFI:
Exploiting Early Boot Phases
Alex Matrosov, Yegor Vasilenko, Alex Ermolov and Sam Thomas
2. #BHUSA @BlackHatEvents
Information Classification: General
Who Are We?
Alex Matrosov Yegor Vasilenko Alex Ermolov Sam Thomas
@matrosov @yeggorv @flothrone @xorpse
https://www.binarly.io/advisories
Binarly REsearch Team
4. #BHUSA @BlackHatEvents
Information Classification: General
STM, PPAM, SMM CET, Intel HW Shield, …
😭
The party is over, no more easy SMM
exploitation?
6. #BHUSA @BlackHatEvents
Information Classification: General
A single byte can serve as a killchain for security features
https://www.binarly.io/posts/Who_Watches_BIOS_Watchers
7. #BHUSA @BlackHatEvents
Information Classification: General
New Security Boundaries == New Attack Vectors
https://www.binarly.io/posts/Breaking_through_another_SideBypassing_Firmware_Security_Boundaries
8. #BHUSA @BlackHatEvents
Information Classification: General
Supply Chain Issues Are The Worst (Intel BSSA DFT)
https://www.blackhat.com/us-21/briefings/schedule/#safeguarding-uefi-ecosystem-firmware-supply-chain-is-hardcoded-23685
9. #BHUSA @BlackHatEvents
Information Classification: General
As code complexity increases, memory corruptions remain forever
https://www.offensivecon.org/speakers/2022/alex-ermolov,-alex-matrosov-and-yegor-vasilenko.html
10. #BHUSA @BlackHatEvents
Information Classification: General
As code complexity increases, design issues remain forever
https://www.offensivecon.org/speakers/2022/alex-ermolov,-alex-matrosov-and-yegor-vasilenko.html
13. #BHUSA @BlackHatEvents
Information Classification: General
Intel Boot Guard 2.0 ACM
Previous version:
RSA2048
SHA256
New version:
RSA3072 (default exponent = 11h)
SHA384
14. #BHUSA @BlackHatEvents
Information Classification: General
Intel Boot Guard 2.0 ACM
● Size increased from 32 KB to 256 KB (Attack surface increased)
● Additional functionality (TXT SINIT ACM) (complexity increased with adding
support of new technologies)
● Updated KEYM & IBBM formats, stronger crypto algorithms used
● INTEL-SA-00527, 2021.2 IPU - BIOS Advisory, multiple CVEs
Reported by Oracle, short note in Twitter that these vulns are in ACM
As code complexity increases, design issues remain forever…
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00527.html
16. #BHUSA @BlackHatEvents
Information Classification: General
PEI->SMM Threat Model
Attacker Model:
The local attacker uses privileged host OS access to trigger the
vulnerability gaining PEI or DXE stage code execution in System
Management Mode (SMM).
Potential Impact:
PEI/DXE code execution in SMM context allows potential installation
of persistent implants in the NVRAM SPI flash region or directly in
SPI flash storage. Implant persistence across OS installations, can
further bypass Secure Boot attacking guest VM's in bare metal cloud
deployments.
17. #BHUSA @BlackHatEvents
Information Classification: General
NVRAM Persistence on SPI Flash
● NVRAM region is not protected by Intel Boot Guard and can be abused by
attacker with physical access (supply chain vector).
● Arbitrary code execution via GetVariable() and memory leak over
SetVariable() is common, attacker can modify persistent NVRAM storage and
install fileless DXE/SMM/PEI implant (shellcode payload).
Most security solutions inspect only UEFI drivers!
19. #BHUSA @BlackHatEvents
Information Classification: General
Pre-EFI attack vectors
Logical Errors and Memory Corruptions
during NVRAM Variables parsing.
Threat model tended to be
underestimated by vendors
Arbitrary code execution in PEI allows
to escalate privileges to SMM
20. #BHUSA @BlackHatEvents
Information Classification: General
Pre-EFI attack vectors
During the most part of PEI phase no
security protections against SPI
modifications are enabled!
BLE, SMM_BWP, PRx, Intel BIOS
Guard are not enabled at this moment.
24. #BHUSA @BlackHatEvents
Information Classification: General
S3Resume2Pei (BRLY-2022-009/CVE-2022-36372)
AMI implementation (S3Resume2Pei) Intel EDK2 implementation (FirmwarePerformancePei)
AcpiS3RerfomanceTable address extracted from the ACPI
and can not be modified by the attacker (because of
LockBox).
AcpiS3RerfomanceTable address extracted from
the memory pointed by NVRAM variable value and
can be modified by the attacker.
https://2021.zeronights.ru/wp-content/uploads/2021/09/zn2021-dataonly-attacks-bios-ermolov.pdf
Discovered multiple times in the past:
25. #BHUSA @BlackHatEvents
Information Classification: General
S3Resume2Pei (BRLY-2022-009/CVE-2022-36372)
Memory corruption at a controllable address.
1. Get the value of FPDT_Variable_NV variable
(S3PerformanceTablePointer)
2. Get AcpiS3PerformanceTable address
from memory pointed by
S3PerformanceTablePointer
3. Arbitrary write at a controllable address
26. #BHUSA @BlackHatEvents
Information Classification: General
S3Resume2Pei (Exploitation)
1. Get the value of FPDT_Variable_NV variable
from the dump of the BIOS region (e.g.
0x8ae9f398)
2. Overwrite the address of
AcpiS3PerformanceTable
3. S3 sleep / wake up
Restriction: the attacker can overwrite memory that satisfies the following conditions
PoC: https://github.com/binarly-io/Vulnerability-REsearch/tree/main/AMI/BRLY-2022-009-PoC/
29. #BHUSA @BlackHatEvents
Information Classification: General
PlatformInitAdvancedPreMem
(BRLY-2022-027/CVE-2022-28858)
● A double-GetVariable problem
will cause a arbitrary code
execution during early PEI
phase
● Usually the values of the
variables SaSetup, CpuSetup
cannot be changed from the
runtime
● But it was possible on the
target device (due to
incorrectly configured filtering
in NvramSmm) If the SaSetup, CpuSetup variables are filtered, their values can still be
changed by reflashing the NVRAM or through a vulnerability in SMM (!)
30. #BHUSA @BlackHatEvents
Information Classification: General
Modifying protected NVRAM
variables
Physical vector
○ Use a SPI flash programmer to overwrite NVRAM directly into the SPI flash
Software vector:
○ Use SMI-provided interface to reflash unprotected parts of SPI memory (SMIFlash,
ReflashSMM, etc.)
○ Use Runtime Services if filtration is missing in main NVRAM driver stack
(NvramSmm/NvramDxe)
■ only if the RT attribute is present
■ it was possible to modify the SaSetup, CpuSetup values this way
(BRLY-2022-027/CVE-2022-28858)
○ Exploit vulnerability in SMM stack to gain arbitrary code execution, then use
EFI_SMM_VARIABLES_PROTOCOL protocol or EFI_SMM_RUNTIME_SERVICES_TABLE
configuration table
■ it needs to be patched in SMRAM to bypass fitrations or change variable values
without RT attributes (check the demo for BRLY-2022-016/CVE-2022-33209)
32. #BHUSA @BlackHatEvents
Information Classification: General
Modifying protected NVRAM variables (SaSetup,
CpuSetup) values using Runtime Services
BRLY-2022-027
CVE-2022-28858
33. #BHUSA @BlackHatEvents
Information Classification: General
SmmSmbiosElog
(BRLY-2022-016/CVE-2022-33209)
gSmbiosElog->ApiFunc1()
ChildSwSmiHandler
{9c72f7fb-86b6-406f-b86e-f3809a86c138}
34. #BHUSA @BlackHatEvents
Information Classification: General
SmmSmbiosElog
(BRLY-2022-016/CVE-2022-33209)
● 4 functions are forwarded to the runtime through the ChildSwSmiHandler
{9c72f7fb-86b6-406f-b86e-f3809a86c138}:
● In the SmbiosElog->SmbiosElogApi.ApiFunc1() function, the attacker can trigger an
overflow on the stack (Src and Size are fully controlled by the attacker)
https://github.com/binarly-io/Vulnerability-REsearch/tree/main/AMI/BRLY-2022-016-PoC/
(PoC implements primitives for reading, writing and executing arbitrary code in SMRAM)
35. #BHUSA @BlackHatEvents
Information Classification: General
Reference Code Issues Are The Worst
https://www.binarly.io/posts/Firmware_Supply_Chain_is_Hard(coded)
38. #BHUSA @BlackHatEvents
Information Classification: General
OverclockSMIHandler Story
● Could be enabled in CpuSetup / OcSetup EFI variables via
EFI_RUNTIME_SERVICES_TABLE->SetVariable()
● Static Storage for Performance & Security Policies problem
https://binarly.io/posts/AMI_UsbRt_Repeatable_Failures_A_6_year_old_attack_vector_still_affecting_millions_of_enterprise_devices
https://www.ami.com/ami-clarification-on-uefi-firmware-vulnerabilities-presentation-at-offensivecon-2022/
39. #BHUSA @BlackHatEvents
Information Classification: General
BRLY-2022-003 / CVE-2022-27493
If an attacker sets the Buffer to point to [imagebase + 800h offset], this instruction will be rewritten with
a calculated value
41. #BHUSA @BlackHatEvents
Information Classification: General
SbPei (Exploitation)
1. Prepare PCD value with token 0xF2. This
can be done with PCD_PROTOCOL. The
new PCD value will be used even after
reboot.
2. Specify address via
AmiCspGlobalNvsPtrVar NVRAM
variable value.
3. This variable has no RT attribute, but its
value can be changed by NVRAM reflash
or through another vulnerability in
DXE/SMM.
4. S3 sleep / wake up.
43. #BHUSA @BlackHatEvents
Information Classification: General
SbPei (BRLY-2022-014/CVE-2022-32579)
In this demo we change the value of
the AmiCspGlobalNvsPtrVar variable
through a vulnerability in SMM.
Nevertheless, an attacker can change
the value of a variable with a
hardware write to NVRAM during S3
sleep.
44. #BHUSA @BlackHatEvents
Information Classification: General
Enable S3 sleep from the OS
Windows Linux
● Make sure that the operating system supports the S3 sleep mode
(powercfg /a)
● If the S0 Low Power Idle mode is enabled instead of S3, you need to
create the following registry value:
● echo deep >
/sys/power/mem_sleep
● after that you can enter S3 sleep in
the usual ways, e.g: rtcwake -m mem
-s {number of seconds}
Subkey HKLMSYSTEMCurrentControlSetControlPower
Value Name PlatformAoAcOverride
Value Type REG_DWORD
Value Data 0
● On some platforms, devices may not initialize correctly after S3 wakes up
● This does not prevent from executing arbitrary code in the PEI during the S3 sleep/wake up circle
45. #BHUSA @BlackHatEvents
Information Classification: General
AMITSE (BRLY-2022-015/CVE-2022-34345)
Arbitrary code execution in DXE.
1. Get the function pointer from
EsaVarPtr01 variable value
2. Execution of the function at the
controlled address
(GetPackageListHandle)
46. #BHUSA @BlackHatEvents
Information Classification: General
Intel BIOS Guard disable
PlatformInitPreMem EEEE611D-F78F-4FB9-B868-55907F169280:
47. #BHUSA @BlackHatEvents
Information Classification: General
The payload is not measured
and TPM PCR's are not extended.
Remote health attestation will not detect the exploitation!
Important Reminder
51. #BHUSA @BlackHatEvents
Information Classification: General
Limitations of current approaches
Limitations of existing approaches:
● Large number of false positives
● Based on syntactic properties (pattern matching on disassembly)
● Highlighted in research by SentinelOne (Brick2
):
○ Pattern matching on decompiler output
○ But: requires decompiler (Hex-Rays) & will not scale
Binarly team approach:
○ Leverage semantic properties
○ Use lightweight code pattern checkers to provide hints for deeper analysis
2: https://www.sentinelone.com/labs/another-brick-in-the-wall-uncovering-smm-vulnerabilities-in-hp-firmware/
52. #BHUSA @BlackHatEvents
Information Classification: General
Analysis pipeline
Inspired by: “Sys: A Static/Symbolic Tool for Finding Good Bugs in Good (Browser) Code” (Brown et al., USENIX Security 2020)
Typically takes 4-6s per firmware image (100s of modules)
53. #BHUSA @BlackHatEvents
Information Classification: General
IR lifting
● Extract uniform SSA form IR representation for 32-bit and 64-bit modules
● IR explicitly encodes instruction side-effects
Lifting
SSA transformation
54. #BHUSA @BlackHatEvents
Information Classification: General
Binarly Semantic annotations
● Annotate IR with types and service information (similar to efiXplorer3
and FwHunt4
)
● Identify analysis entry-points based on module type, e.g.:
○ SMI handlers (DXE/SMM modules)
○ PEI notification callbacks (PEI modules)
3: https://github.com/binarly-io/efiXplorer
4: https://github.com/binarly-io/fwhunt-scan
55. #BHUSA @BlackHatEvents
Information Classification: General
Binarly Static checkers
● Checkers based on lightweight static analysis defined using an eDSL:
○ Control-flow properties (reachability)
○ Data-flow properties (data-dependence)
○ Inferred call-site properties (e.g., arguments passed, type information)
○ Domain-specific annotations:
■ Service-specific (e.g., GetVariable variants in PEI and DXE phases)
■ Common APIs (e.g., CopyMem, ZeroMem, etc.)
56. #BHUSA @BlackHatEvents
Information Classification: General
Symbolic Execution
● We can ask questions such as:
○ What value of varA.0 is needed to reach loc4
○ Is there a way for buggy_function to be called?
57. #BHUSA @BlackHatEvents
Information Classification: General
Under-constrained Symbolic Execution
● Similar to past research:
“Finding BIOS Vulnerabilities with Symbolic Execution and Virtual Platforms” 5
● No source-code required
● Custom execution environment:
○ Instrument anything (IR operation granularity)
○ Simulate execution from anywhere
○ Reason about hardware interactions and partial state using symbolic variables
injected during simulation
● Identify violations of model assumptions (e.g., input to API should not be
user-controlled)
5: https://www.intel.com/content/www/us/en/developer/articles/technical/finding-bios-vulnerabilities-with-symbolic-execution-and-virtual-platforms.html
59. #BHUSA @BlackHatEvents
Information Classification: General
(BRLY-2022-014/CVE-2022-32579)
GetVariable leading to arbitrary write
PEI-phase vulnerabilities
63. #BHUSA @BlackHatEvents
Information Classification: General
(BRLY-2022-016/CVE-2022-33209)
Buffer overflow discovery
&
CommBuffer reconstruction
DXE/SMM vulnerabilities
64. #BHUSA @BlackHatEvents
Information Classification: General
“AMI is committed to working closely with Binarly to leverage its
innovative vulnerability detection technologies to strengthen the
security of our products and firmware supply chain.
We believe this collaboration is essential to protecting our customers
and improving AMI's overall security posture. AMI looks forward to
partnering with Binarly in this important effort.”
We would like to warmly thank AMI PSIRT team
for the collaboration during the disclosure.
65. #BHUSA @BlackHatEvents
Information Classification: General
“HP appreciates Binarly’s contributions to help make HP
products more secure.”
We would like to warmly thank HP PSIRT team for
the collaboration during the disclosure.
HP PC BIOS August 2022 Security Updates for Potential SMM and TOCTOU Vulnerabilities (HPSBHF03805 )
HP PC BIOS August 2022 Security Updates for Potential SMM and TOCTOU Vulnerabilities (HPSBHF03806)
67. #BHUSA @BlackHatEvents
Information Classification: General
Preparing an STM in UEFI
https://www.intel.com/content/dam/develop/external/us/en/documents/a-tour-beyond-bios-launching-stm-to-monitor-smm-in-efi-developer-kit-ii-819978.pdf
68. #BHUSA @BlackHatEvents
Information Classification: General
Preparing an PPAM in UEFI
The PPAM initialization process is inspired by the STM initialization process => the same bypassing
techniques from the PEI
70. #BHUSA @BlackHatEvents
Information Classification: General
Get PPAM support version (1)
PpamPlatformSmm
● 3 checks in GetPpamSupport function
● if (PpamSupport != 11) return EFI_UNSUPPORTED
● This procedure depends on the OEM/platform
71. #BHUSA @BlackHatEvents
Information Classification: General
EFI_SM_MONITOR_INIT_PROTOCOL
PpamLoadMonitor (PiSmmCpuDxeSmm)
PpamPlatformSmm
The hooking of EFI_SM_MONITOR_INIT_PROTOCOL
will break the PPAM initialization
Load PPAM image (2)
72. #BHUSA @BlackHatEvents
Information Classification: General
CheckPpamImage()
A single-byte write in the MSEG HOB will
break the PPAM initialization
LoadPpamImage()
Load PPAM image (2)
73. #BHUSA @BlackHatEvents
Information Classification: General
Install PPAM Manifest (2)
● PPAM Manifest saved in Configuration table
● Can be received by the OS component in the runtime
74. #BHUSA @BlackHatEvents
Information Classification: General
Install/Configure IO, MSR access policies (3)
● Only if (PpamSupports >= 11)
● It will use policies from SpsIoPolicyBitmap/MsrIoPolicyBitmap files
if gPcdPolicyOverride is set (usually, it is not)
● Otherwise policies from whitelisted IO/MSR will be used
76. #BHUSA @BlackHatEvents
Information Classification: General
● We looked at Intel's reference PpamPlatformSmm implementation
● The implementation of this module is OEM specific
○ this can produce additional attack surface
PpamPlatformSmm
(HP EliteBook x360 830 G7)
78. #BHUSA @BlackHatEvents
Information Classification: General
PpamPlatformSmm
(HP EliteBook x360 830 G7)
HP implementation Reference implementation
79. #BHUSA @BlackHatEvents
Information Classification: General
● If this function returns 0, PPAM will not be initialized
● HobData can be controlled by an attacker using an arbitrary write primitive from
the PEI/DXE phase
PpamPlatformSmm
(HP EliteBook x360 830 G7)
80. #BHUSA @BlackHatEvents
Information Classification: General
PpamPlatformSmm
(HP EliteBook x360 830 G7)
● If the HOB check will be passed, PpamSupport (Version) will be initialized by 11 on the target
platform
● But there are 2 ways to downgrade it
○ using the CpuSmm NVRAM variable
○ using PcdProtocol->SetBool(0x138, 0)
● After downgrading PpamSupport to version 10, EFI_SMM_RESOURCE_CONFIG_PROTOCOL (used
to install/configure IO, MSR access policies) will be useless
81. #BHUSA @BlackHatEvents
Information Classification: General
PPAM Manifest
Validity
Not Before: Aug 5 03:10:37 2019 GMT
Not After: Aug 5 03:10:37 2021 GMT
82. #BHUSA @BlackHatEvents
Information Classification: General
PPAM Manifest
https://github.com/binarly-io/ppam-parser
https://github.com/binarly-io/Vulnerability-REsearch/chipsec-modules/ppam_cmd.py
* Will be available soon after embargo ends. Stay tuned!
83. #BHUSA @BlackHatEvents
Information Classification: General
PPAM Manifest
Certificate validity (not after) Number of device firmwares
2020/06/12, 10:59:01 16
2020/08/05, 03:10:37 16
2021/08/05, 03:10:37 177
The table shows the results of PPAM 11 certificate parsing for 209 enterprise vendors firmware.
85. #BHUSA @BlackHatEvents
Information Classification: General
“Intel appreciates recent collaboration with Binarly involving
their security research and notification of affected vendors.”
We would like to warmly thank Intel PSIRT team
for the collaboration and assistance they have
provided during the disclosure process.
86. #BHUSA @BlackHatEvents
Information Classification: General
Conclusions
● STM & PPAM should be properly configured by Vendors
● Again, Static Storage Problem - the configuration is stored in PCD or other
accessible by the attacker storage.
● Could be modified in memory if arbitrary code execution gained during early boot.
Or with physical access to the device to access SPI flash storage.
88. #BHUSA @BlackHatEvents
Information Classification: General
Binarly FwHunt rules are available!
Binarly team provides FwHunt rules to detect vulnerable
devices at scale and help the industry recover from firmware
security repeatable failures.
➔ Community FwHunt Scanner: https://github.com/binarly-io/fwhunt-scan
➔ FwHunt detection rules: https://github.com/binarly-io/FwHunt/tree/main/rules