Lock, Stock And Two Smoking Apples - XNU Kernel Security

Presented at DeepSec 2017 „Science First!“, Unknown date/time (Unknown duration)

This talk will aim to cover the research which has been undertaken following on from the Defcon presentation on MWR's platform agnostic kernel fuzzing, to automatically identify critical flaws within Apple macOS. It was observed that there have been limited attempts to create automated kernel fuzzing solutions for macOS, hence the drive to modify our existing frameworks to support the platform and develop support utility tooling to aid vulnerability research. This talk will focus on how the researchers approached developing fuzzing automation to test the core subsystems of the XNU kernel and the insights gained. The talk will also highlight architectural differences between other supported platforms which needed to be addressed whilst performing integration into the framework. The old adage of 'different fuzzers find different bugs' will also be explored, as we look into the effectiveness of using targeted fuzzing for specific components considered most likely to yield vulnerabilities. An in-memory fuzzer based on a combination of static and dynamic analysis was also constructed to target these components with the aim to achieve greater code coverage, efficiency and to allow attacks on other privileged components within macOS via IPC. Finally we will discuss the issues discovered by the fuzzers and highlight future improvements which could be made to the tooling going forward to increase coverage and effectiveness. It is also the aim to release the code developed, to make it easier for other researchers who may wish to develop similar fuzzers and provide additional tooling to the macOS research community to aid in vulnerability hunting. Specifically, we will release python tooling for capture, replay and mutation of macOS IPC based communication, corpus generation and monitoring, together with the existing kernel fuzzer platform integration targeting core kernel subsystems.

Presenters:

  • James Loureiro - MWR InfoSecurity
    Alex is Head of Technical Research at MWR InfoSecurity in the UK. Alex is best known for mobile and embedded vulnerability research and exploitation. Alex has previously presented at Deepsec, TROOPERS16, BlueHat, T2.Fi, Confidence, 44con and SyScan. James is a senior researcher at MWR InfoSecurity, and has interests in vulnerability research and reverse engineering. James has previously presented on Windows Kernel fuzzing at DefCon in 2016 and on Adobe Reader in 2015
  • Alex Plaskett - MWR InfoSecurity
    Alex is Head of Technical Research at MWR InfoSecurity in the UK. Alex is best known for mobile and embedded vulnerability research and exploitation. Alex has previously presented at Deepsec, TROOPERS16, BlueHat, T2.Fi, Confidence, 44con and SyScan. James is a senior researcher at MWR InfoSecurity, and has interests in vulnerability research and reverse engineering. James has previously presented on Windows Kernel fuzzing at DefCon in 2016 and on Adobe Reader in 2015

Links:

Similar Presentations: