SlideShare a Scribd company logo
1 of 173
Download to read offline
fG! @ CODE BLUE 2015
Is there an EFI
monster inside
your apple?
Who am I?
§  An Economist.
§  Who loves Human Behavior.
§  And politics.
§  Oh, and a bit of computers.
EFI Monsters?
§  Introduction to EFI.
§  How to
§  Reverse engineer (U)EFI binaries.
§  Search for (U)EFI rootkits.
Assumptions
§  Reference machine
§  MacBook Pro Retina 10,1.
§  64-bit only OS X versions.
§  Sandy Bridge or newer.
Why EFI?
§  BIOS replacement.
§  Initially developed by Intel.
§  http://www.intel.com/content/www/us/en/
architecture-and-technology/unified-extensible-
firmware-interface/efi-specifications-general-
technology.html
§  Now UEFI, managed by UEFI consortium.
§  http://www.uefi.org
Why EFI?
§  Initializes your machine.
§  Access to low level features.
§  Modular.
§  Feature rich.
§  Rather easy development in C.
What evil things can we do?
§  Diskless kernel/userland rootkits
§  Rootkit data stored in the flash chip.
§  Unpack and patch kernel on boot.
§  RAM only, never touch hard-disk.
§  Check Snare’s SyScan 2012 presentation.
What evil things can we do?
§  Can be hard to detect.
§  With regular available tools.
§  And with some anti-forensics.
§  For example anti-memory dumping.
What evil things can we do?
§  Persistence across operating system installs
§  HackingTeam built a UEFI rootkit.
§  https://github.com/hackedteam/vector-edk
§  https://github.com/informationextraction/vector-
edk/blob/master/MdeModulePkg/Application/
fsbg/fsbg.c
What evil things can we do?
§  Attack full-disk encryption
§  Install a keylogger.
§  Recover FileVault2 password.
What evil things can we do?
§  Attack “secure” operating systems
§  For example, Tails.
§  Recover PGP keys and/or passphrases.
§  https://www.youtube.com/watch?
v=sNYsfUNegEA.
What evil things can we do?
§  Bootloader
§  Redirect to a custom bootloader.
§  SMM backdoors
§  http://blog.cr4.sh/2015/07/building-reliable-
smm-backdoor-for-uefi.html
A zero day story…
§  Firmware related zero day.
§  Disclosed a few months ago.
§  https://reverse.put.as/2015/05/29/the-
empire-strikes-back-apple-how-your-mac-
firmware-security-is-completely-broken/
A zero day story…
§  Failure to lock the flash.
§  Write to the flash from userland.
§  Similar to Thunderstrike but better.
§  Thunderstrike requires physical access.
§  Prince Harming allows remote attack.
A zero day story…
§  Extremely simple to trigger.
§  Put machine to sleep.
§  Close, wait for fans to stop, and reopen.
§  Or force sleep with “pmset sleepnow”.
A zero day story…
§  Sandy Bridge and Ivy Bridge Macs are
vulnerable.
§  Haswell or newer are not.
§  All older machines are vulnerable
§  Core 2 Duo or older.
§  No flash protections at all.
A zero day story…
§  Available updates:
MacBook Air MacBook Pro Mac Mini Mac Pro iMac
4,1 8,1 5,1 6,1 12,1
5,1 9,1 6,1 13,1
6,1 10,1 7,1 14,1
7,1 10,2   14,2
  11,1   14,3
  11,2   14,4
  11,4   15,1
  12,1      
A zero day story…
§  Reversing and understanding the
vulnerability.
§  https://reverse.put.as/2015/07/01/reversing-
prince-harmings-kiss-of-death/
§  Contains links to relevant EFI
documentation.
A zero day story…
§  Venamis aka Dark Jedi was also patched.
§  http://events.ccc.de/congress/2014/Fahrplan/
events/6129.html
§  http://blog.cr4.sh/2015/02/exploiting-uefi-
boot-script-table.html
§  Slightly more complex, same results.
A zero day story…
§  The story doesn’t end here.
§  Check ThunderStrike 2 slides.
§  Other unpatched vulnerabilities.
§  Can be exploited with remote attack
vectors.
Apple ...
Where is EFI?
§  Usually stored in a CMOS serial flash.
§  Two popular chips
§  Macronix MX25L6406E.
§  Micron N25Q064A.
§  SPI compatible.
§  Most are 64 Mbits/8 Mbytes.
Where is EFI?
§  Newer machines flash chip(s)
§  Winbond W25Q64FV.
§  Chip list from EfiFlasher.efi:
SST 25VF080 Macronix 25L1605 ST Micro M25P16 WinBond 25X32
SST 25VF016 Macronix 25L3205 ST Micro M25P32 Winbond 25X64
SST 25VF032 Macronix 25L6436E Eon M25P32 Winbond 25X128
SST 25VF064 Atmel 45DB321 Eon M25P16 Numonyx N25Q064
Where is EFI?
§  Most chips are 8 pin SOIC.
§  SMD or BGA versions used?
§  Retinas 13”?
§  New MacBook 12”?
Where is EFI?
§  You can buy the chips bulk and cheap.
§  Useful for flashing experiments.
§  Good results from Aliexpress.com.
§  Around $14 for 10 N25Q064A.
§  Around $8 for 10 MX25L640E.
Where is EFI?
§  Easy access on some models.
§  Retinas 15” are the easiest.
§  Extensive disassembly required on others.
§  Still, a MacBook Pro 8,1 can be
disassembled in 5 mins or less.
uv
How to dump EFI
§  Hardware
§  The best and most reliable way.
§  Trustable.
§  Software
§  Possible if chip supported by flashrom.
§  Not (very) trustable.
Hardware
§  Any SPI compatible programmer.
§  http://flashrom.org/Supported_programmers
§  I use Trammell Hudson’s SPI flasher.
§  https://trmm.net/SPI
Hardware
§  Based on Teensy 2.0 or 3.x.
Hardware
§  Easy to build.
§  Cheap, ~ $30.
§  Fast, dumps a 64Mbit flash in 8 mins.
§  The Teensy 3 version is even faster.
§  It just works!
Flash chip SPI pinout
Teensy 2.0 pinout
Teensy 2.0 pinout
§  Teensy 2 default voltage is 5v.
§  Flash chips are 3,3.v.
§  Requires voltage regulator MCP1825.
§  https://www.pjrc.com/store/mcp1825.html
Teensy 3.1 pinout
Tips & Tricks
§  Shunt WP and RST pins to VCC.
§  Different SPI pins names
§  SCLK, SCK, CLK.
§  MOSI, SIMO, SDO, DO, DOUT, SO, MTSR.
§  MISO, SOMI, SDI, DI, DIN, SI, MRST.
§  SS, nCS, CS, CSB, CSN, nSS, STE, SYNC.
Hardware
§  How to read entire flash
Hardware
§  How to write entire 64MB flash
Hardware
§  Linux works best to write the flash.
§  Some issues with OS X version.
§  pv or serial driver issues?
§  http://www.ivarch.com/programs/pv.shtml
Software
§  Requirements
§  Flashrom
§  DirectHW.kext
§  Rwmem by Trammell also works.
§  Or readphysmem.
Software
§  DarwinDumper.
§  Contains binary versions of flashrom and
DirectHW.kext.
§  Kernel extension is not code signed.
§  (Still) Whitelisted by Apple.
Software
§  http://flashrom.org/Flashrom
§  http://www.coreboot.org/DirectHW
§  https://bitbucket.org/blackosx/
darwindumper/downloads
§  https://github.com/osresearch/rwmem
§  https://github.com/gdbinit/readphysmem
Software
§  AppleHWAccess.kext.
§  readphysmem utility.
§  Can read bios without external kext.
§  Default on Mavericks and Yosemite.
§  Not anymore on El Capitan.
Software
§  Good enough to play around.
§  Mostly useless to chase (U)EFI rootkits.
§  Unless it is made by HackingTeam.
§  Their version makes no attempt to hide itself
from software dumps.
What’s in the flash
What’s in the flash
What’s in the flash
What’s in the flash
Descriptor region
§  Location of other regions.
§  Access permissions.
§  OS/BIOS shouldn’t access ME region.
§  VSCC configures ME flash access.
Intel ME region
§  A CPU inside your CPU J.
§  Runs Java.
§  Can be active with system powered off.
§  Out of band network access!
§  No access from BIOS and OS.
Intel ME region
§  Mostly a blackbox.
§  Three presentations by Igor Skochinsky.
§  Definitely requires more research!
§  Unpacker
§  http://io.smashthestack.org/me/
Intel ME region
§  Rootkit in your laptop: Hidden code in
your chipset and how to discover what
exactly it does
§  Intel ME Secrets
§  Intel ME: Two years later
§  https://github.com/skochinsky/papers
BIOS region
§  Contains
§  EFI binaries for different phases.
§  NVRAM.
§  Microcode (not for some models).
§  Each on its own firmware volume (FVH).
BIOS region
§  Everything is labeled with a GUID.
§  No filenames.
§  Many GUID can be found in EFI specs.
§  Others are vendor specific/private.
§  Google and luck are your friends!
EFI Boot Phases
§  Different initialization phases.
§  Make resources available to next phase.
§  Memory for example.
The PEI/DXE Dispatchers
§  PEI and DXE phases have a dispatcher.
§  Guarantees dependencies and load
order.
§  Dependency expressions.
§  Available as a section.
gFrameworkEfiMpServiceProtocol
Guid	
  
Tools
§  UEFITool and UEFIExtract
§  https://github.com/LongSoft/UEFITool
§  Snare’s IDA EFI Utils
§  https://github.com/snare/ida-efiutils/
§  UEFI Firmware parser
§  https://github.com/snare/ida-efiutils/
§  CHIPSEC
§  https://github.com/chipsec/chipsec
EFI file types
§  Two executable file types.
§  PE32/PE32+ (as in Windows).
§  TE – Terse Executable.
§  16/32/64 bit code, depending on phase.
TE file format
§  TE is just a stripped version of PE.
§  Unnecessary PE headers are removed.
§  To save space.
§  Used by SEC and PEI phase binaries.
TE file format
§  IDA unable to correctly disassemble.
§  Fails to parse the TE headers.
§  Afaik, still not fixed in 6.8.
§  Solution is to build your own TE loader.
§  https://github.com/gdbinit/TELoader
EFI Services
§  No standard libraries to link against.
§  Instead there are services.
§  Basic functions made available on each
phase.
§  Access via function pointers.
EFI Services
EFI Services
EFI Services
§  Each phase has different services.
§  Entrypoint function contains a pointer to
the tables.
EFI Services
EFI Services
§  Code that you often see in DXE drivers
Calling conventions
§  32-bit binaries use standard C convention
§  Arguments passed on the stack.
§  SEC/PEI phase binaries.
Calling conventions
§  64-bit binaries use Microsoft’s x64
§  First four arguments: RCX, RDX, R8, R9.
§  Remaining on the stack.
§  32-byte shadow space on stack.
§  First stack argument starts at offset 0x20.
§  DXE phase binaries.
Protocols & PPIs
§  The basic services aren’t enough.
§  How are more services made available?
§  Via Protocols and PPIs.
§  Installed (published) by (U)EFI binaries.
§  Others can locate and use them.
Protocols & PPIs
§  Protocol (and PPI) is a data structure.
§  Contains an identification, GUID.
§  Optionally, function pointers and data.
Protocols & PPIs
§  Protocols exist in DXE phase.
§  PPIs exist in PEI phase.
§  In practice we can assume they are
equivalent.
Sample PPI usage
§  First, locate the PPI.
Sample PPI usage
§  Second, use it.
Sample Protocol usage
Apple EFI customizations
§  Apple specific modifications.
§  To reserved fields.
§  Must be taken care of.
§  Else bricked firmware.
§  UEFITool v0.27+ handles everything.
Apple EFI customizations
§  The first 8 bytes.
§  Constant between firmware volumes with
the same GUID.
§  Changes between versions?
§  Unknown meaning, doesn’t seem
relevant.
Apple EFI customizations
§  Next 4 bytes.
§  CRC32 value.
§  Of the firmware volume contents.
§  By spec, header got its own 16-bit
checksum.
Apple EFI customizations
§  Last 4 bytes.
§  Total space used by firmware files.
§  Must be updated if there are any
modifications to volume free space.
§  Bricked firmware if wrong.
0xA0000 – 0x34E30 = 0x06B1D0
How to find EFI monsters
§  Dump the flash contents.
§  Via hardware, if possible.
§  Have a known good image.
§  A previously certified/trusted dump.
§  Or firmware updates.
How to find EFI monsters
§  Firmware updates available from Apple.
§  Direct downloads.
§  https://support.apple.com/en-us/HT201518
§  Or combined with OS installer or updates.
§  No hashes from Apple available (yet).
How to find EFI monsters
§  Only useful for machines with available
updates.
§  Newly released machines need to wait
for a firmware update.
How to find EFI monsters
§  Firmware & signatures vault
§  https://github.com/gdbinit/firmware_vault
§  Signed by my PGP key.
§  Extracted from available Apple updates.
§  Soon, the SMC updates.
How to find EFI monsters
§  Two file formats used for updates.
§  SCAP (most common).
§  FD (some newer and older models).
§  UEFITool can process both.
SCAP
§  EFI Capsule.
§  Used to deliver updates.
§  Recommended delivery mechanism.
§  Composed by firmware volumes.
§  Flash dumps parser can be reused.
u
v
SCAP
§ u is the EfiFlasher.efi or also known as
UpdateDriverDxe.
§ v are the BIOS region contents.
§  Encapsulated on different GUIDs.
u
v
w
SCAP
§ u is NVRAM region.
§ v is Microcode.
§ w is Boot volume.
SCAP
§  SCAP is signed.
§  RSA2048 SHA256.
§  Apple backported from UEFI.
§  First reported by Trammell Hudson.
How to find EFI monsters
§  Compare the flash dump against SCAP.
§  Locate all EFI binaries in the dump.
§  Checksum against SCAP contents.
How to find EFI monsters
§  We also need to verify:
§  New files.
§  Missing files.
§  Free/padding space?
How to find EFI monsters
§  Verify NVRAM contents!
§  Boot device is stored there.
§  HackingTeam had a new variable there.
§  A simple “fuse” to decide to infect or not
target system.
INFECT	
  SYSTEM	
  
DO	
  NOT	
  INFECT	
  SYSTEM	
  
How to find EFI monsters
§  Don’t forget boot.efi.
§  Not very stealth.
§  Always keep in mind that sophistication is
not always required!
§  If it works, why not?
How to find EFI monsters
§  SCAP is used by EfiFlasher.
§  We can stitch our own firmware.
§  Extract files from SCAP and build it.
§  Reflash via SPI.
§  Assumption that SCAP is legit.
How to find EFI monsters
§  Stitch utility still in TODO list.
§  Potential issues:
§  NVRAM contents?
§  Serial numbers?
§  Use current dump and just replace
binaries?
Conclusions
§  (U)EFI rootkits aren’t unicorns.
§  Although they are very rare.
§  Honestly, we don’t know what’s out there.
§  HackingTeam developed one in 2014.
§  Although it was too simple and not
advanced.
Conclusions
§  Chasing them requires hardware
assistance.
§  Disassembling computers monthly is not
scalable/efficient/viable.
§  How to deal with this at enterprise level?
Conclusions
§  Vendors are usually slow releasing
updates.
§  If they ever do it.
§  Check legbacore.com work.
Conclusions
§  SMC is another interesting chip.
§  Alex Ionescu and Andrea Barisani did
some work in this area.
§  Great rootkit possibilities?
Conclusions
§  Intel Management Engine (ME).
§  Big Pandora Box?
§  Security researchers should have easier
access to it.
Conclusions
§  Option ROMs.
§  Still an issue with Apple’s EFI
implementation.
§  No SecureBoot (signed OptionROMs).
§  Check Thunderstrike 2 OptionROM worm.
Conclusions
§  Trolling?
§  Real?
§  Maybe a mix of both.
§  Check Apple logic board schematics.
§  There’s a ton of interconnected stuff.
Conclusions
§  We need trusted hardware solutions.
§  If we can’t trust hardware we are wasting
a lot of time solving some software
problems.
Conclusions
§  Bring back physical protections?
§  Switches to enable:
§  Flash writes.
§  MIC.
§  Camera.
§  Etc...
Conclusions
Conclusions
§  Acer C720 & C720P Chromebook.
§  https://www.chromium.org/chromium-os/
developer-information-for-chrome-os-
devices/acer-c720-chromebook
§  #7 is a write-protect screw.
Conclusions
§  Might require new hardware design?
§  NVRAM needs to be writable.
§  An independent flash chip for writable
regions?
§  BOM/space restrictions?
Conclusions
§  Apple has a great opportunity here.
§  Full control of design and supply chain.
§  Can improve designs.
§  Can force faster updates.
§  Only matched by Chromebook?
Greetings
§  CODE BLUE team, Snare, Trammell, Xeno,
Corey, Saure, cr4sh.
https://reverse.put.as
https://github.com/gdbinit
reverser@put.as
@osxreverser
#osxre @ irc.freenode.net
PGP key
https://reverse.put.as/wp-content/uploads/2008/06/publickey.txt
PGP Fingerprint
7B05 44D1 A1D5 3078 7F4C E745 9BB7 2A44 ED41 BF05
A day full of possibilities!
Let's go exploring!
References
§  Images from images.google.com. Credit due to all their authors.
§  Thunderstrike presentation
§  https://trmm.net/Thunderstrike_31c3
§  Thunderstrike 2 presentation
§  https://trmm.net/Thunderstrike_2
§  Snare EFI rootkits presentations
§  https://reverse.put.as/wp-content/uploads/2011/06/
De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf
§  https://reverse.put.as/wp-content/uploads/2011/06/
De_Mysteriis_Dom_Jobsivs_Black_Hat_Slides.pdf
§  Legbacore.com papers and presentations
§  http://legbacore.com/Research.html
References
§  Alex Ionescu, Ninjas and Harry Potter: “Spell”unking in Apple SMC
Land
§  http://www.nosuchcon.org/talks/2013/D1_02_Alex_Ninjas_and_Harry_Potter.pdf
§  Alex Ionescu, Apple SMC The place to be definitely For an implant
§  https://www.youtube.com/watch?v=nSqpinjjgmg
§  Andrea Barisani, Daniele Bianco, Practical Exploitation of Embedded
Systems
§  http://dev.inversepath.com/download/public/
embedded_systems_exploitation.pdf
References
§  fG!, The Empire Strikes Back Apple – how your Mac firmware
security is completely broken
§  https://reverse.put.as/2015/05/29/the-empire-strikes-back-apple-how-your-
mac-firmware-security-is-completely-broken/
§  fG!, Reversing Prince Harming’s kiss of death
§  https://reverse.put.as/2015/07/01/reversing-prince-harmings-kiss-of-death/
§  Cr4sh, Exploiting UEFI boot script table vulnerability
§  http://blog.cr4.sh/2015_02_01_archive.html
References
§  Cr4sh, Building reliable SMM backdoor for UEFI based platforms
§  http://blog.cr4.sh/2015/07/building-reliable-smm-backdoor-for-uefi.html
§  Firmware papers and presentations timeline
§  http://timeglider.com/timeline/5ca2daa6078caaf4
§  Archive of OS X/iOS and firmware papers & presentations
§  https://reverse.put.as/papers/
§  ‪Intel ATR - Black Hat 2015 / Def Con 23 - Firmware rootkit‬
§  ‬https://www.youtube.com/watch?v=sJnIiPN0104&app=desktop

More Related Content

What's hot

Sisteme de Operare: Planificarea proceselor
Sisteme de Operare: Planificarea proceselorSisteme de Operare: Planificarea proceselor
Sisteme de Operare: Planificarea proceselorAlexandru Radovici
 
Indexes, Filters, and Other Animals
Indexes, Filters, and Other AnimalsIndexes, Filters, and Other Animals
Indexes, Filters, and Other AnimalsScyllaDB
 
Using the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackUsing the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackShapeBlue
 
Page reclaim
Page reclaimPage reclaim
Page reclaimsiburu
 
stock-fonction.pdf
stock-fonction.pdfstock-fonction.pdf
stock-fonction.pdffoundiassana
 
Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
Linux reversing study_basic_1
Linux reversing study_basic_1Linux reversing study_basic_1
Linux reversing study_basic_1Jinkyoung Kim
 
The Linux Scheduler: a Decade of Wasted Cores
The Linux Scheduler: a Decade of Wasted CoresThe Linux Scheduler: a Decade of Wasted Cores
The Linux Scheduler: a Decade of Wasted Coresyeokm1
 
XilinxのxsimでSoftware Driven Verification.pdf
XilinxのxsimでSoftware  Driven Verification.pdfXilinxのxsimでSoftware  Driven Verification.pdf
XilinxのxsimでSoftware Driven Verification.pdfMr. Vengineer
 
Linux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use CasesLinux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use CasesKernel TLV
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?Pradeep Kumar
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64Yi-Hsiu Hsu
 
SSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLSSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLYoshinori Matsunobu
 
Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory modelSeongJae Park
 
eMMC Embedded Multimedia Card overview
eMMC Embedded Multimedia Card overvieweMMC Embedded Multimedia Card overview
eMMC Embedded Multimedia Card overviewVijayGESYS
 
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...linuxlab_conf
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupalsdmaxey
 

What's hot (20)

Sisteme de Operare: Planificarea proceselor
Sisteme de Operare: Planificarea proceselorSisteme de Operare: Planificarea proceselor
Sisteme de Operare: Planificarea proceselor
 
Qemu Pcie
Qemu PcieQemu Pcie
Qemu Pcie
 
Introduction to Modern U-Boot
Introduction to Modern U-BootIntroduction to Modern U-Boot
Introduction to Modern U-Boot
 
Indexes, Filters, and Other Animals
Indexes, Filters, and Other AnimalsIndexes, Filters, and Other Animals
Indexes, Filters, and Other Animals
 
Using the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackUsing the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStack
 
Page reclaim
Page reclaimPage reclaim
Page reclaim
 
stock-fonction.pdf
stock-fonction.pdfstock-fonction.pdf
stock-fonction.pdf
 
Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN hypervisor introduction
Project ACRN hypervisor introduction
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Linux reversing study_basic_1
Linux reversing study_basic_1Linux reversing study_basic_1
Linux reversing study_basic_1
 
The Linux Scheduler: a Decade of Wasted Cores
The Linux Scheduler: a Decade of Wasted CoresThe Linux Scheduler: a Decade of Wasted Cores
The Linux Scheduler: a Decade of Wasted Cores
 
XilinxのxsimでSoftware Driven Verification.pdf
XilinxのxsimでSoftware  Driven Verification.pdfXilinxのxsimでSoftware  Driven Verification.pdf
XilinxのxsimでSoftware Driven Verification.pdf
 
Linux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use CasesLinux Kernel Cryptographic API and Use Cases
Linux Kernel Cryptographic API and Use Cases
 
QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?QEMU Disk IO Which performs Better: Native or threads?
QEMU Disk IO Which performs Better: Native or threads?
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64
 
SSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLSSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQL
 
Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory model
 
eMMC Embedded Multimedia Card overview
eMMC Embedded Multimedia Card overvieweMMC Embedded Multimedia Card overview
eMMC Embedded Multimedia Card overview
 
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
Marco Cavallini - Yocto Project, an automatic generator of embedded Linux dis...
 
Introduction to Drupal
Introduction to DrupalIntroduction to Drupal
Introduction to Drupal
 

Viewers also liked

[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes
[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes
[CB16] Who put the backdoor in my modem? by Ewerson GuimaraesCODE BLUE
 
Teensy Programming for Everyone
Teensy Programming for EveryoneTeensy Programming for Everyone
Teensy Programming for EveryoneNikhil Mittal
 
Kautilya: Teensy beyond shell
Kautilya: Teensy beyond shellKautilya: Teensy beyond shell
Kautilya: Teensy beyond shellNikhil Mittal
 
Why Candidate Experience Will Make or Break More Than Just Hiring
Why Candidate Experience Will Make or Break More Than Just HiringWhy Candidate Experience Will Make or Break More Than Just Hiring
Why Candidate Experience Will Make or Break More Than Just HiringMonster
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKAmazon Web Services
 
Mobile Web and App Development with AWS
Mobile Web and App Development with AWSMobile Web and App Development with AWS
Mobile Web and App Development with AWSAmazon Web Services
 
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...Amazon Web Services
 

Viewers also liked (7)

[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes
[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes
[CB16] Who put the backdoor in my modem? by Ewerson Guimaraes
 
Teensy Programming for Everyone
Teensy Programming for EveryoneTeensy Programming for Everyone
Teensy Programming for Everyone
 
Kautilya: Teensy beyond shell
Kautilya: Teensy beyond shellKautilya: Teensy beyond shell
Kautilya: Teensy beyond shell
 
Why Candidate Experience Will Make or Break More Than Just Hiring
Why Candidate Experience Will Make or Break More Than Just HiringWhy Candidate Experience Will Make or Break More Than Just Hiring
Why Candidate Experience Will Make or Break More Than Just Hiring
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
 
Mobile Web and App Development with AWS
Mobile Web and App Development with AWSMobile Web and App Development with AWS
Mobile Web and App Development with AWS
 
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
 

Similar to Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015

44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON
 
Continuous Integration with Hackintosh
Continuous Integration with HackintoshContinuous Integration with Hackintosh
Continuous Integration with HackintoshDavid Ventura, M.E.T.
 
ChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadAndrewWright224
 
ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220AndrewWright224
 
Linux On V Mware ESXi
Linux On V Mware ESXiLinux On V Mware ESXi
Linux On V Mware ESXiMasafumi Ohta
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureAndrew Petukhov
 
VM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingVM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingTamas K Lengyel
 
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇACODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇACODE BLUE
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareCylance
 
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...DefconRussia
 
Distributed Compiler Icecc
Distributed Compiler IceccDistributed Compiler Icecc
Distributed Compiler IceccSZ Lin
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalChad Woolley
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Puppet
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/LinuxYogesh Ks
 
Lessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersLessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersAll Things Open
 

Similar to Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015 (20)

44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?
 
Continuous Integration with Hackintosh
Continuous Integration with HackintoshContinuous Integration with Hackintosh
Continuous Integration with Hackintosh
 
ChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPad
 
ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220
 
Linux On V Mware ESXi
Linux On V Mware ESXiLinux On V Mware ESXi
Linux On V Mware ESXi
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
 
VM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingVM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzing
 
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇACODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
 
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
 
Xen time machine
Xen time machineXen time machine
Xen time machine
 
Distributed Compiler Icecc
Distributed Compiler IceccDistributed Compiler Icecc
Distributed Compiler Icecc
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
 
OpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 WorkshopOpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 Workshop
 
Raspberry pi-video-looper
Raspberry pi-video-looperRaspberry pi-video-looper
Raspberry pi-video-looper
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/Linux
 
Mhdd advanced-diag
Mhdd advanced-diagMhdd advanced-diag
Mhdd advanced-diag
 
Lessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for ContainersLessons Learned in Automating Compliance for Containers
Lessons Learned in Automating Compliance for Containers
 

More from CODE BLUE

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...CODE BLUE
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten NohlCODE BLUE
 
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo PupilloCODE BLUE
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫CODE BLUE
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...CODE BLUE
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka CODE BLUE
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...CODE BLUE
 
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...CODE BLUE
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...CODE BLUE
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...CODE BLUE
 
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也CODE BLUE
 
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...CODE BLUE
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...CODE BLUE
 

More from CODE BLUE (20)

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl
 
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
 
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
 
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
 
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
 

Recently uploaded

专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degreeyuu sss
 
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRReal Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRdollysharma2066
 
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...Authentic No 1 Amil Baba In Pakistan
 
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一ss ss
 
(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一C SSS
 
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》o8wvnojp
 
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degreeyuu sss
 
existing product research b2 Sunderland Culture
existing product research b2 Sunderland Cultureexisting product research b2 Sunderland Culture
existing product research b2 Sunderland CultureChloeMeadows1
 
NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...
NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...
NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...Amil baba
 
Call Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall AvailableCall Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall AvailableCall Girls in Delhi
 
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一diploma 1
 
Hifi Babe North Delhi Call Girl Service Fun Tonight
Hifi Babe North Delhi Call Girl Service Fun TonightHifi Babe North Delhi Call Girl Service Fun Tonight
Hifi Babe North Delhi Call Girl Service Fun TonightKomal Khan
 
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...ttt fff
 
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一ss ss
 
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree 毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree z zzz
 
Presentation.pptxjnfoigneoifnvoeifnvklfnvf
Presentation.pptxjnfoigneoifnvoeifnvklfnvfPresentation.pptxjnfoigneoifnvoeifnvklfnvf
Presentation.pptxjnfoigneoifnvoeifnvklfnvfchapmanellie27
 
RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作f3774p8b
 
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Bookvip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Bookmanojkuma9823
 

Recently uploaded (20)

专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国旧金山艺术学院毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
 
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCRReal Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
Real Sure (Call Girl) in I.G.I. Airport 8377087607 Hot Call Girls In Delhi NCR
 
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...
 
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
 
(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一(办理学位证)多伦多大学毕业证成绩单原版一比一
(办理学位证)多伦多大学毕业证成绩单原版一比一
 
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
《1:1仿制麦克马斯特大学毕业证|订制麦克马斯特大学文凭》
 
9953330565 Low Rate Call Girls In Jahangirpuri Delhi NCR
9953330565 Low Rate Call Girls In Jahangirpuri  Delhi NCR9953330565 Low Rate Call Girls In Jahangirpuri  Delhi NCR
9953330565 Low Rate Call Girls In Jahangirpuri Delhi NCR
 
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
1:1原版定制美国加州州立大学东湾分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
 
young call girls in Gtb Nagar,🔝 9953056974 🔝 escort Service
young call girls in Gtb Nagar,🔝 9953056974 🔝 escort Serviceyoung call girls in Gtb Nagar,🔝 9953056974 🔝 escort Service
young call girls in Gtb Nagar,🔝 9953056974 🔝 escort Service
 
existing product research b2 Sunderland Culture
existing product research b2 Sunderland Cultureexisting product research b2 Sunderland Culture
existing product research b2 Sunderland Culture
 
NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...
NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...
NO1 WorldWide kala jadu Love Marriage Black Magic Punjab Powerful Black Magic...
 
Call Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall AvailableCall Girls In Munirka>༒9599632723 Incall_OutCall Available
Call Girls In Munirka>༒9599632723 Incall_OutCall Available
 
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
办理(CSU毕业证书)澳洲查理斯特大学毕业证成绩单原版一比一
 
Hifi Babe North Delhi Call Girl Service Fun Tonight
Hifi Babe North Delhi Call Girl Service Fun TonightHifi Babe North Delhi Call Girl Service Fun Tonight
Hifi Babe North Delhi Call Girl Service Fun Tonight
 
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
 
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
 
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree 毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Presentation.pptxjnfoigneoifnvoeifnvklfnvf
Presentation.pptxjnfoigneoifnvoeifnvklfnvfPresentation.pptxjnfoigneoifnvoeifnvklfnvf
Presentation.pptxjnfoigneoifnvoeifnvklfnvf
 
RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作RBS学位证,鹿特丹商学院毕业证书1:1制作
RBS学位证,鹿特丹商学院毕业证书1:1制作
 
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Bookvip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
vip Krishna Nagar Call Girls 9999965857 Call or WhatsApp Now Book
 

Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015

  • 1. fG! @ CODE BLUE 2015 Is there an EFI monster inside your apple?
  • 2. Who am I? §  An Economist. §  Who loves Human Behavior. §  And politics. §  Oh, and a bit of computers.
  • 3.
  • 4.
  • 5. EFI Monsters? §  Introduction to EFI. §  How to §  Reverse engineer (U)EFI binaries. §  Search for (U)EFI rootkits.
  • 6.
  • 7. Assumptions §  Reference machine §  MacBook Pro Retina 10,1. §  64-bit only OS X versions. §  Sandy Bridge or newer.
  • 8.
  • 9. Why EFI? §  BIOS replacement. §  Initially developed by Intel. §  http://www.intel.com/content/www/us/en/ architecture-and-technology/unified-extensible- firmware-interface/efi-specifications-general- technology.html §  Now UEFI, managed by UEFI consortium. §  http://www.uefi.org
  • 10. Why EFI? §  Initializes your machine. §  Access to low level features. §  Modular. §  Feature rich. §  Rather easy development in C.
  • 11.
  • 12. What evil things can we do? §  Diskless kernel/userland rootkits §  Rootkit data stored in the flash chip. §  Unpack and patch kernel on boot. §  RAM only, never touch hard-disk. §  Check Snare’s SyScan 2012 presentation.
  • 13. What evil things can we do? §  Can be hard to detect. §  With regular available tools. §  And with some anti-forensics. §  For example anti-memory dumping.
  • 14. What evil things can we do? §  Persistence across operating system installs §  HackingTeam built a UEFI rootkit. §  https://github.com/hackedteam/vector-edk §  https://github.com/informationextraction/vector- edk/blob/master/MdeModulePkg/Application/ fsbg/fsbg.c
  • 15. What evil things can we do? §  Attack full-disk encryption §  Install a keylogger. §  Recover FileVault2 password.
  • 16. What evil things can we do? §  Attack “secure” operating systems §  For example, Tails. §  Recover PGP keys and/or passphrases. §  https://www.youtube.com/watch? v=sNYsfUNegEA.
  • 17. What evil things can we do? §  Bootloader §  Redirect to a custom bootloader. §  SMM backdoors §  http://blog.cr4.sh/2015/07/building-reliable- smm-backdoor-for-uefi.html
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. A zero day story… §  Firmware related zero day. §  Disclosed a few months ago. §  https://reverse.put.as/2015/05/29/the- empire-strikes-back-apple-how-your-mac- firmware-security-is-completely-broken/
  • 24. A zero day story… §  Failure to lock the flash. §  Write to the flash from userland. §  Similar to Thunderstrike but better. §  Thunderstrike requires physical access. §  Prince Harming allows remote attack.
  • 25.
  • 26. A zero day story… §  Extremely simple to trigger. §  Put machine to sleep. §  Close, wait for fans to stop, and reopen. §  Or force sleep with “pmset sleepnow”.
  • 27. A zero day story… §  Sandy Bridge and Ivy Bridge Macs are vulnerable. §  Haswell or newer are not. §  All older machines are vulnerable §  Core 2 Duo or older. §  No flash protections at all.
  • 28. A zero day story… §  Available updates: MacBook Air MacBook Pro Mac Mini Mac Pro iMac 4,1 8,1 5,1 6,1 12,1 5,1 9,1 6,1 13,1 6,1 10,1 7,1 14,1 7,1 10,2   14,2   11,1   14,3   11,2   14,4   11,4   15,1   12,1      
  • 29. A zero day story… §  Reversing and understanding the vulnerability. §  https://reverse.put.as/2015/07/01/reversing- prince-harmings-kiss-of-death/ §  Contains links to relevant EFI documentation.
  • 30. A zero day story… §  Venamis aka Dark Jedi was also patched. §  http://events.ccc.de/congress/2014/Fahrplan/ events/6129.html §  http://blog.cr4.sh/2015/02/exploiting-uefi- boot-script-table.html §  Slightly more complex, same results.
  • 31. A zero day story… §  The story doesn’t end here. §  Check ThunderStrike 2 slides. §  Other unpatched vulnerabilities. §  Can be exploited with remote attack vectors.
  • 32.
  • 33.
  • 35.
  • 36. Where is EFI? §  Usually stored in a CMOS serial flash. §  Two popular chips §  Macronix MX25L6406E. §  Micron N25Q064A. §  SPI compatible. §  Most are 64 Mbits/8 Mbytes.
  • 37. Where is EFI? §  Newer machines flash chip(s) §  Winbond W25Q64FV. §  Chip list from EfiFlasher.efi: SST 25VF080 Macronix 25L1605 ST Micro M25P16 WinBond 25X32 SST 25VF016 Macronix 25L3205 ST Micro M25P32 Winbond 25X64 SST 25VF032 Macronix 25L6436E Eon M25P32 Winbond 25X128 SST 25VF064 Atmel 45DB321 Eon M25P16 Numonyx N25Q064
  • 38. Where is EFI? §  Most chips are 8 pin SOIC. §  SMD or BGA versions used? §  Retinas 13”? §  New MacBook 12”?
  • 39. Where is EFI? §  You can buy the chips bulk and cheap. §  Useful for flashing experiments. §  Good results from Aliexpress.com. §  Around $14 for 10 N25Q064A. §  Around $8 for 10 MX25L640E.
  • 40. Where is EFI? §  Easy access on some models. §  Retinas 15” are the easiest. §  Extensive disassembly required on others. §  Still, a MacBook Pro 8,1 can be disassembled in 5 mins or less.
  • 41.
  • 42.
  • 43.
  • 44.
  • 46.
  • 47. How to dump EFI §  Hardware §  The best and most reliable way. §  Trustable. §  Software §  Possible if chip supported by flashrom. §  Not (very) trustable.
  • 48. Hardware §  Any SPI compatible programmer. §  http://flashrom.org/Supported_programmers §  I use Trammell Hudson’s SPI flasher. §  https://trmm.net/SPI
  • 49. Hardware §  Based on Teensy 2.0 or 3.x.
  • 50. Hardware §  Easy to build. §  Cheap, ~ $30. §  Fast, dumps a 64Mbit flash in 8 mins. §  The Teensy 3 version is even faster. §  It just works!
  • 51. Flash chip SPI pinout
  • 53. Teensy 2.0 pinout §  Teensy 2 default voltage is 5v. §  Flash chips are 3,3.v. §  Requires voltage regulator MCP1825. §  https://www.pjrc.com/store/mcp1825.html
  • 55. Tips & Tricks §  Shunt WP and RST pins to VCC. §  Different SPI pins names §  SCLK, SCK, CLK. §  MOSI, SIMO, SDO, DO, DOUT, SO, MTSR. §  MISO, SOMI, SDI, DI, DIN, SI, MRST. §  SS, nCS, CS, CSB, CSN, nSS, STE, SYNC.
  • 56. Hardware §  How to read entire flash
  • 57. Hardware §  How to write entire 64MB flash
  • 58. Hardware §  Linux works best to write the flash. §  Some issues with OS X version. §  pv or serial driver issues? §  http://www.ivarch.com/programs/pv.shtml
  • 59. Software §  Requirements §  Flashrom §  DirectHW.kext §  Rwmem by Trammell also works. §  Or readphysmem.
  • 60. Software §  DarwinDumper. §  Contains binary versions of flashrom and DirectHW.kext. §  Kernel extension is not code signed. §  (Still) Whitelisted by Apple.
  • 61. Software §  http://flashrom.org/Flashrom §  http://www.coreboot.org/DirectHW §  https://bitbucket.org/blackosx/ darwindumper/downloads §  https://github.com/osresearch/rwmem §  https://github.com/gdbinit/readphysmem
  • 62.
  • 63.
  • 64.
  • 65. Software §  AppleHWAccess.kext. §  readphysmem utility. §  Can read bios without external kext. §  Default on Mavericks and Yosemite. §  Not anymore on El Capitan.
  • 66. Software §  Good enough to play around. §  Mostly useless to chase (U)EFI rootkits. §  Unless it is made by HackingTeam. §  Their version makes no attempt to hide itself from software dumps.
  • 67.
  • 72. Descriptor region §  Location of other regions. §  Access permissions. §  OS/BIOS shouldn’t access ME region. §  VSCC configures ME flash access.
  • 73. Intel ME region §  A CPU inside your CPU J. §  Runs Java. §  Can be active with system powered off. §  Out of band network access! §  No access from BIOS and OS.
  • 74. Intel ME region §  Mostly a blackbox. §  Three presentations by Igor Skochinsky. §  Definitely requires more research! §  Unpacker §  http://io.smashthestack.org/me/
  • 75. Intel ME region §  Rootkit in your laptop: Hidden code in your chipset and how to discover what exactly it does §  Intel ME Secrets §  Intel ME: Two years later §  https://github.com/skochinsky/papers
  • 76. BIOS region §  Contains §  EFI binaries for different phases. §  NVRAM. §  Microcode (not for some models). §  Each on its own firmware volume (FVH).
  • 77.
  • 78.
  • 79. BIOS region §  Everything is labeled with a GUID. §  No filenames. §  Many GUID can be found in EFI specs. §  Others are vendor specific/private. §  Google and luck are your friends!
  • 80.
  • 81.
  • 82.
  • 83. EFI Boot Phases §  Different initialization phases. §  Make resources available to next phase. §  Memory for example.
  • 84.
  • 85. The PEI/DXE Dispatchers §  PEI and DXE phases have a dispatcher. §  Guarantees dependencies and load order. §  Dependency expressions. §  Available as a section.
  • 86.
  • 88.
  • 89. Tools §  UEFITool and UEFIExtract §  https://github.com/LongSoft/UEFITool §  Snare’s IDA EFI Utils §  https://github.com/snare/ida-efiutils/ §  UEFI Firmware parser §  https://github.com/snare/ida-efiutils/ §  CHIPSEC §  https://github.com/chipsec/chipsec
  • 90. EFI file types §  Two executable file types. §  PE32/PE32+ (as in Windows). §  TE – Terse Executable. §  16/32/64 bit code, depending on phase.
  • 91. TE file format §  TE is just a stripped version of PE. §  Unnecessary PE headers are removed. §  To save space. §  Used by SEC and PEI phase binaries.
  • 92. TE file format §  IDA unable to correctly disassemble. §  Fails to parse the TE headers. §  Afaik, still not fixed in 6.8. §  Solution is to build your own TE loader. §  https://github.com/gdbinit/TELoader
  • 93.
  • 94. EFI Services §  No standard libraries to link against. §  Instead there are services. §  Basic functions made available on each phase. §  Access via function pointers.
  • 97. EFI Services §  Each phase has different services. §  Entrypoint function contains a pointer to the tables.
  • 99. EFI Services §  Code that you often see in DXE drivers
  • 100.
  • 101. Calling conventions §  32-bit binaries use standard C convention §  Arguments passed on the stack. §  SEC/PEI phase binaries.
  • 102.
  • 103. Calling conventions §  64-bit binaries use Microsoft’s x64 §  First four arguments: RCX, RDX, R8, R9. §  Remaining on the stack. §  32-byte shadow space on stack. §  First stack argument starts at offset 0x20. §  DXE phase binaries.
  • 104.
  • 105.
  • 106. Protocols & PPIs §  The basic services aren’t enough. §  How are more services made available? §  Via Protocols and PPIs. §  Installed (published) by (U)EFI binaries. §  Others can locate and use them.
  • 107. Protocols & PPIs §  Protocol (and PPI) is a data structure. §  Contains an identification, GUID. §  Optionally, function pointers and data.
  • 108.
  • 109. Protocols & PPIs §  Protocols exist in DXE phase. §  PPIs exist in PEI phase. §  In practice we can assume they are equivalent.
  • 110. Sample PPI usage §  First, locate the PPI.
  • 111. Sample PPI usage §  Second, use it.
  • 113.
  • 114.
  • 115.
  • 116. Apple EFI customizations §  Apple specific modifications. §  To reserved fields. §  Must be taken care of. §  Else bricked firmware. §  UEFITool v0.27+ handles everything.
  • 117.
  • 118. Apple EFI customizations §  The first 8 bytes. §  Constant between firmware volumes with the same GUID. §  Changes between versions? §  Unknown meaning, doesn’t seem relevant.
  • 119. Apple EFI customizations §  Next 4 bytes. §  CRC32 value. §  Of the firmware volume contents. §  By spec, header got its own 16-bit checksum.
  • 120.
  • 121.
  • 122. Apple EFI customizations §  Last 4 bytes. §  Total space used by firmware files. §  Must be updated if there are any modifications to volume free space. §  Bricked firmware if wrong.
  • 123.
  • 124.
  • 125. 0xA0000 – 0x34E30 = 0x06B1D0
  • 126.
  • 127. How to find EFI monsters §  Dump the flash contents. §  Via hardware, if possible. §  Have a known good image. §  A previously certified/trusted dump. §  Or firmware updates.
  • 128. How to find EFI monsters §  Firmware updates available from Apple. §  Direct downloads. §  https://support.apple.com/en-us/HT201518 §  Or combined with OS installer or updates. §  No hashes from Apple available (yet).
  • 129. How to find EFI monsters §  Only useful for machines with available updates. §  Newly released machines need to wait for a firmware update.
  • 130. How to find EFI monsters §  Firmware & signatures vault §  https://github.com/gdbinit/firmware_vault §  Signed by my PGP key. §  Extracted from available Apple updates. §  Soon, the SMC updates.
  • 131. How to find EFI monsters §  Two file formats used for updates. §  SCAP (most common). §  FD (some newer and older models). §  UEFITool can process both.
  • 132. SCAP §  EFI Capsule. §  Used to deliver updates. §  Recommended delivery mechanism. §  Composed by firmware volumes. §  Flash dumps parser can be reused.
  • 134. SCAP § u is the EfiFlasher.efi or also known as UpdateDriverDxe. § v are the BIOS region contents. §  Encapsulated on different GUIDs.
  • 136. SCAP § u is NVRAM region. § v is Microcode. § w is Boot volume.
  • 137. SCAP §  SCAP is signed. §  RSA2048 SHA256. §  Apple backported from UEFI. §  First reported by Trammell Hudson.
  • 138.
  • 139. How to find EFI monsters §  Compare the flash dump against SCAP. §  Locate all EFI binaries in the dump. §  Checksum against SCAP contents.
  • 140. How to find EFI monsters §  We also need to verify: §  New files. §  Missing files. §  Free/padding space?
  • 141. How to find EFI monsters §  Verify NVRAM contents! §  Boot device is stored there. §  HackingTeam had a new variable there. §  A simple “fuse” to decide to infect or not target system.
  • 142.
  • 143. INFECT  SYSTEM   DO  NOT  INFECT  SYSTEM  
  • 144. How to find EFI monsters §  Don’t forget boot.efi. §  Not very stealth. §  Always keep in mind that sophistication is not always required! §  If it works, why not?
  • 145. How to find EFI monsters §  SCAP is used by EfiFlasher. §  We can stitch our own firmware. §  Extract files from SCAP and build it. §  Reflash via SPI. §  Assumption that SCAP is legit.
  • 146. How to find EFI monsters §  Stitch utility still in TODO list. §  Potential issues: §  NVRAM contents? §  Serial numbers? §  Use current dump and just replace binaries?
  • 147.
  • 148. Conclusions §  (U)EFI rootkits aren’t unicorns. §  Although they are very rare. §  Honestly, we don’t know what’s out there. §  HackingTeam developed one in 2014. §  Although it was too simple and not advanced.
  • 149. Conclusions §  Chasing them requires hardware assistance. §  Disassembling computers monthly is not scalable/efficient/viable. §  How to deal with this at enterprise level?
  • 150. Conclusions §  Vendors are usually slow releasing updates. §  If they ever do it. §  Check legbacore.com work.
  • 151. Conclusions §  SMC is another interesting chip. §  Alex Ionescu and Andrea Barisani did some work in this area. §  Great rootkit possibilities?
  • 152. Conclusions §  Intel Management Engine (ME). §  Big Pandora Box? §  Security researchers should have easier access to it.
  • 153. Conclusions §  Option ROMs. §  Still an issue with Apple’s EFI implementation. §  No SecureBoot (signed OptionROMs). §  Check Thunderstrike 2 OptionROM worm.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158. Conclusions §  Trolling? §  Real? §  Maybe a mix of both. §  Check Apple logic board schematics. §  There’s a ton of interconnected stuff.
  • 159. Conclusions §  We need trusted hardware solutions. §  If we can’t trust hardware we are wasting a lot of time solving some software problems.
  • 160. Conclusions §  Bring back physical protections? §  Switches to enable: §  Flash writes. §  MIC. §  Camera. §  Etc...
  • 162.
  • 163. Conclusions §  Acer C720 & C720P Chromebook. §  https://www.chromium.org/chromium-os/ developer-information-for-chrome-os- devices/acer-c720-chromebook §  #7 is a write-protect screw.
  • 164. Conclusions §  Might require new hardware design? §  NVRAM needs to be writable. §  An independent flash chip for writable regions? §  BOM/space restrictions?
  • 165. Conclusions §  Apple has a great opportunity here. §  Full control of design and supply chain. §  Can improve designs. §  Can force faster updates. §  Only matched by Chromebook?
  • 166.
  • 167. Greetings §  CODE BLUE team, Snare, Trammell, Xeno, Corey, Saure, cr4sh.
  • 168. https://reverse.put.as https://github.com/gdbinit reverser@put.as @osxreverser #osxre @ irc.freenode.net PGP key https://reverse.put.as/wp-content/uploads/2008/06/publickey.txt PGP Fingerprint 7B05 44D1 A1D5 3078 7F4C E745 9BB7 2A44 ED41 BF05
  • 169. A day full of possibilities! Let's go exploring!
  • 170. References §  Images from images.google.com. Credit due to all their authors. §  Thunderstrike presentation §  https://trmm.net/Thunderstrike_31c3 §  Thunderstrike 2 presentation §  https://trmm.net/Thunderstrike_2 §  Snare EFI rootkits presentations §  https://reverse.put.as/wp-content/uploads/2011/06/ De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf §  https://reverse.put.as/wp-content/uploads/2011/06/ De_Mysteriis_Dom_Jobsivs_Black_Hat_Slides.pdf §  Legbacore.com papers and presentations §  http://legbacore.com/Research.html
  • 171. References §  Alex Ionescu, Ninjas and Harry Potter: “Spell”unking in Apple SMC Land §  http://www.nosuchcon.org/talks/2013/D1_02_Alex_Ninjas_and_Harry_Potter.pdf §  Alex Ionescu, Apple SMC The place to be definitely For an implant §  https://www.youtube.com/watch?v=nSqpinjjgmg §  Andrea Barisani, Daniele Bianco, Practical Exploitation of Embedded Systems §  http://dev.inversepath.com/download/public/ embedded_systems_exploitation.pdf
  • 172. References §  fG!, The Empire Strikes Back Apple – how your Mac firmware security is completely broken §  https://reverse.put.as/2015/05/29/the-empire-strikes-back-apple-how-your- mac-firmware-security-is-completely-broken/ §  fG!, Reversing Prince Harming’s kiss of death §  https://reverse.put.as/2015/07/01/reversing-prince-harmings-kiss-of-death/ §  Cr4sh, Exploiting UEFI boot script table vulnerability §  http://blog.cr4.sh/2015_02_01_archive.html
  • 173. References §  Cr4sh, Building reliable SMM backdoor for UEFI based platforms §  http://blog.cr4.sh/2015/07/building-reliable-smm-backdoor-for-uefi.html §  Firmware papers and presentations timeline §  http://timeglider.com/timeline/5ca2daa6078caaf4 §  Archive of OS X/iOS and firmware papers & presentations §  https://reverse.put.as/papers/ §  ‪Intel ATR - Black Hat 2015 / Def Con 23 - Firmware rootkit‬ §  ‬https://www.youtube.com/watch?v=sJnIiPN0104&app=desktop