SlideShare a Scribd company logo
1 of 45
Attacking DRM subsystem to gain kernel privilege
on Chromebooks
Di Shen a.k.a. Retme (@returnsme)
Keen Lab of Tencent
• Di Shen a.k.a. Retme
• Sr. Security Researcher of Keen Lab, Tencent
• Kernel vulnerability hunting and exploitation since 2014
• @returnsme
• github.com/retme7
• Fan of console games, anime and mystery novels( )
• Chrome OS security: a brief look
• Choose a better attack surface: for Chrome PWNium
• The Direct Rendering Manager(DRM)
• CVE-2019-16508: analysis and exploitation
• Demonstration
• running the Linux-
based Chrome OS
• Different brands and
models
• HP,Dell,ASUS,Lenovo…
• Not for video gamers
• But still good enough to
finish daily work
• Easy to use
• Some models can be very
cheap
• It is very SECURE.
• Chrome browser
• Sandbox
• Both apps and system services are isolated and sandboxed.
• Secure file system / storage
• Read-only root file system
• Verified boot and dm-verity
• Additional Linux security module is stacked ahead of SELinux
• Automatic updates
• Fix known bugs ASAP
• Apply security patches to the kernel regularly
• Use minijail0 to execute system services
• Apply different kind of restrictions:
• User id
• Capabilities
• Namespace
• Seccomp filter policy
• SeLinux policy
• More details check the official documents [1] [2]
• Firmware, root disk(kernel),system partition can be
verified
• System partition is verified by dm-verity in kernel.
• Details of verified boot [1]
• Used by Chrome OS and Android
• Implemented in Linux kernel.
• Protect system partition from being modified.
• Will calculate the checksum of every block on the disk
before I/O operation.
• Will crash the whole system if the checksum is wrong.
• ‘Persistence’ means keep your malicious process
persistently alive across reboots
• Chrome OS has multiple features to stop persistent
attack
• dm-verity
• noexec mount for writable data partition
• Linux security module (LSM)
• Have other mitigations for specific persistent
exploits in the history
) ( )
• A Linux security module
• Reject symlinks that will redirect system’s write actions
during boot (designed_docs)
• Refuse to mount a path with symlinks
• Hardening against loading module/firmware
• Chrome OS security: a brief look
• Choose a better attack surface: for Chrome PWNium
• The Direct Rendering Manager(DRM)
• CVE-2019-16508: analysis and exploitation
• Demonstration
• “We have a standing $150,000 reward for participants
that can compromise a Chromebook or Chromebox with
device persistence in guest mode (i.e. guest to guest
persistence with interim reboot, delivered via a web
page).” – Chrome VRP
• Previously it was $100k, raised to $150k this July.
) ( (
• Chrome browser Renderer RCE (in guest mode)
• Sandbox escape
• OS Persistence
'
• CVE-2019-5825: Out-of-bounds write in V8
• CVE-2019-5826: Use-after-free in IndexedDB
• CVE-2019-16508: Privilege escalation in kernel mode
• CVE-2019-13690: Privilege escalation in user mode
• CVE-2019-13689: Chrome OS persistence bug
• Credit goes to Gengming Liu, Jianyu Chen, Zhen Feng,
Jessica Liu and Retme at Tencent Keenlab
CVE-2019-5825
By Jessica on Kcon, Beijing
CVE-2019-5826
By Gengming
on Blackhat USA, Las Vegas
CVE-2019-16508
By Retme
on Code Blue, Tokyo
CVE-2019-13690 & CVE-2019-13689
By Gengming & Melody
on POC, Seoul
• The end of March,2019
• We already had V8 bug for RCE and sandbox escape
• But no privilege escalation and Persistence
• We need ROOT privilege to trigger the persistent
exploitation
• I didn’t need to find a Linux kernel vulnerability that
affect all Linux distribution.
• A bug targeted at official Chrome OS hardware will be
fine.
• Need to make it within 30 days or so
• Let’s find a vendor bug on specific Chromebook.
• Mediatek, the paradise for bug hunter…
• Lenovo S330
• Based on MT8173 platform
• Board name ”hana” (-?)
Mitigation Enabled
PXN * Yes
PAN Yes
UAO No
KASLR No
Any others No
* PXN : Privileged eXecute Never
PAN : Privileged Access Never
UAO : User Access Override
• Bought Lenovo S330 from Amazon UK…
• Then wait 2 weeks for the global delivery
• Think about which part of code may be vulnerable
during my wait
• It ‘s Direct Rendering Manager
• Chrome OS security: a brief look
• Choose a better attack surface: for Chrome pwnium
• The Direct Rendering Manager(DRM)
• CVE-2019-16508: analysis and exploitation
• Demonstration
• a subsystem of the Linux kernel
• drivers/gpu/drm/
• responsible for interfacing with GPUs
• MT8173 is using PowerVR GPU by Imagination
• There will be card0,card1,card2… , if you have multiple
video card
• It is accessible for normal user (chronos) on Chrom OS.
• It exposes IOCTL interface for users
) ( ( )
• We have no permission to
request the commands which
is set these flags:
• DRM_ROOT_ONLY
• DRM_MASTER
• DRM_AUTH
• Few commands are OK to
request
• Not a big attack surface
• Will call vendor’s private IOCTL
handler if nr >
DRM_COMMAND_BASE
• /dev/dri/card0
• mkt_ioctls()
• /dev/dri/card1
• pvr_drm_ioctls()
• Handles PVR_SRVKM_CMD request
• Argument
• bridge_id [0-24]
• bridge_func_id [0-N]
• Handles PVR_SRVKM_CMD request
• Argument
• bridge_id [0-24]
• bridge_func_id [0-N]
• (bridge_id*bridge_func_id) interfaces can be accessed
by user mode
• Exactly the attack surface I want!
• Recompile the kernel and flash it to Chromebook [1][2]
• Define fuzzing rules targeting PowerVR interface
PVR_SRVKM_CMD
• Run the fuzzer via SSH and wait for one night
• Maybe play some games on PS4 during my wait …
• Chrome OS security: a brief look
• Choose a better attack surface: for Chrome pwnium
• The Direct Rendering Manager(DRM)
• CVE-2019-16508: analysis and exploitation
• Demonstration
• Stack trace
• PVRSRVBridgeSyncPrimOpCreate()
• bridge_id = 2; bridge_func_id = 8
) ( )
• Miss checking buffer size coming from user input
psSyncPrimOpCreateIN, which may lead to an integer
overflow.
• It’s able to convert this bug to a heap out-of-bound
write, then achieve arbitrary memory overwriting.
• ui32BufferSize
overflowed
• A smaller buffer
pArrayArgsBuffer
• Heap OOB Write
• Compromise pipe subsystem (check my talk on CodeBlue 17)
• After OSCopyFromUser()
• Write pipe_fd to copy buffer to kaddr (arbitrary kernel
address)
iov_base iov_len iov_base iov_len …pArrayArgsBuffer
0x2000 bytes 0x2000 bytes
pArrayArgsBuffer Kaddr iov_len iov_base iov_len …
Overwriting starts from here.
• Kernel may crash in 50% by “HARDENED_USERCOPY”
• That happens when my heap spray failed, the
copy_from_user() overwrite some small heap slots.
128 128 128 128 …pArrayArgsBuffer
kmalloc-8192 kmalloc-128
copy_from_user(ptr-object-128,buffer-8192,8192)
KERNEL PANIC BY HARDENED_USERCOPY
• Seems was back ported to Linux 3.18 by chromium
• Boundary check in copy_from/to_user() by
instrumentation
• check_copy_size()
• I copied 8192 bytes to object-128 previously
• Actually copying 0x20 bytes is good enough to
overwrite iov_base.
• The copied content is {0, 0, kADDR, iov_len}
128 128 128 128 …pArrayArgsBuffer
kmalloc-8192 kmalloc-128
copy_from_user(ptr-object-128,buffer-8192,0x20)
It will NOT crash when my spray failed any more.
• Chrome OS security: a brief look
• Choose a better attack surface: for Chrome pwnium
• The Direct Rendering Manager(DRM)
• CVE-2019-16508: analysis and exploitation
• Demonstration
@returnsme
github.com/retme7
[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di Shen

More Related Content

What's hot

An Introduction to PPC Paid Search
An Introduction to PPC Paid SearchAn Introduction to PPC Paid Search
An Introduction to PPC Paid SearchiProspect Ireland
 
Dark Web and Threat Intelligence
Dark Web and Threat IntelligenceDark Web and Threat Intelligence
Dark Web and Threat IntelligenceMarlabs
 
PHISHING DETECTION
PHISHING DETECTIONPHISHING DETECTION
PHISHING DETECTIONumme ayesha
 
Instagram pour entreprises - Avantages et Inconvénients
Instagram pour entreprises - Avantages et InconvénientsInstagram pour entreprises - Avantages et Inconvénients
Instagram pour entreprises - Avantages et InconvénientsSamuel Doucette
 

What's hot (7)

Pptondm 170225030304 (1)
Pptondm 170225030304 (1)Pptondm 170225030304 (1)
Pptondm 170225030304 (1)
 
An Introduction to PPC Paid Search
An Introduction to PPC Paid SearchAn Introduction to PPC Paid Search
An Introduction to PPC Paid Search
 
Automated deployment
Automated deploymentAutomated deployment
Automated deployment
 
Dark Web and Threat Intelligence
Dark Web and Threat IntelligenceDark Web and Threat Intelligence
Dark Web and Threat Intelligence
 
PHISHING DETECTION
PHISHING DETECTIONPHISHING DETECTION
PHISHING DETECTION
 
Instagram pour entreprises - Avantages et Inconvénients
Instagram pour entreprises - Avantages et InconvénientsInstagram pour entreprises - Avantages et Inconvénients
Instagram pour entreprises - Avantages et Inconvénients
 
Input devices
Input devicesInput devices
Input devices
 

Similar to [CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di Shen

Derbycon Bromium Labs: Sandboxes
Derbycon Bromium Labs: SandboxesDerbycon Bromium Labs: Sandboxes
Derbycon Bromium Labs: SandboxesBromium Labs
 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructureErwan Velu
 
Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...
Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...
Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...DefconRussia
 
Security research over Windows #defcon china
Security research over Windows #defcon chinaSecurity research over Windows #defcon china
Security research over Windows #defcon chinaPeter Hlavaty
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture reportAmr Abd El Latief
 
Bridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentBridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentAndy Lee
 
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...The Linux Foundation
 
Google chrome sandbox
Google chrome sandboxGoogle chrome sandbox
Google chrome sandboxNephi Johnson
 
Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013The Linux Foundation
 
Owning computers without shell access 2
Owning computers without shell access 2Owning computers without shell access 2
Owning computers without shell access 2Royce Davis
 
Typhoon Managed Execution Toolkit
Typhoon Managed Execution ToolkitTyphoon Managed Execution Toolkit
Typhoon Managed Execution ToolkitDimitry Snezhkov
 
DEF CON 27 - JESSE MICHAEL - get off the kernel if you can't drive
DEF CON 27 - JESSE MICHAEL - get off the kernel if you can't driveDEF CON 27 - JESSE MICHAEL - get off the kernel if you can't drive
DEF CON 27 - JESSE MICHAEL - get off the kernel if you can't driveFelipe Prado
 
Google chrome operating system
Google chrome operating systemGoogle chrome operating system
Google chrome operating systemAmit sundaray
 
EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22MichaelM85042
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOpenStack Foundation
 
Trusted Computing _plate form_ model.ppt
Trusted Computing _plate form_ model.pptTrusted Computing _plate form_ model.ppt
Trusted Computing _plate form_ model.pptnaghamallella
 
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...Felipe Prado
 

Similar to [CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di Shen (20)

Derbycon Bromium Labs: Sandboxes
Derbycon Bromium Labs: SandboxesDerbycon Bromium Labs: Sandboxes
Derbycon Bromium Labs: Sandboxes
 
Introduction to chrome os
Introduction to chrome osIntroduction to chrome os
Introduction to chrome os
 
Chrome os
Chrome osChrome os
Chrome os
 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructure
 
Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...
Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...
Rafal Wojtczuk - Endpoint security via Application sandboxing and virtualizat...
 
Security research over Windows #defcon china
Security research over Windows #defcon chinaSecurity research over Windows #defcon china
Security research over Windows #defcon china
 
Chrome os
Chrome osChrome os
Chrome os
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture report
 
Bridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized EnvironmentBridging the Semantic Gap in Virtualized Environment
Bridging the Semantic Gap in Virtualized Environment
 
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...XPDS16:  Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
XPDS16: Display Handler, a Client Display Framework for Xen - Brendan Kerrig...
 
Google chrome sandbox
Google chrome sandboxGoogle chrome sandbox
Google chrome sandbox
 
Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013Securing your Cloud with Xen - SUSECon 2013
Securing your Cloud with Xen - SUSECon 2013
 
Owning computers without shell access 2
Owning computers without shell access 2Owning computers without shell access 2
Owning computers without shell access 2
 
Typhoon Managed Execution Toolkit
Typhoon Managed Execution ToolkitTyphoon Managed Execution Toolkit
Typhoon Managed Execution Toolkit
 
DEF CON 27 - JESSE MICHAEL - get off the kernel if you can't drive
DEF CON 27 - JESSE MICHAEL - get off the kernel if you can't driveDEF CON 27 - JESSE MICHAEL - get off the kernel if you can't drive
DEF CON 27 - JESSE MICHAEL - get off the kernel if you can't drive
 
Google chrome operating system
Google chrome operating systemGoogle chrome operating system
Google chrome operating system
 
EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22EMBA - From Firmware to Exploit - BHEU22
EMBA - From Firmware to Exploit - BHEU22
 
Optimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMUOptimizing VM images for OpenStack with KVM/QEMU
Optimizing VM images for OpenStack with KVM/QEMU
 
Trusted Computing _plate form_ model.ppt
Trusted Computing _plate form_ model.pptTrusted Computing _plate form_ model.ppt
Trusted Computing _plate form_ model.ppt
 
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
DEF CON 27 - WENXIANG QIAN and YUXIANG LI HUIYU - breaking google home exploi...
 

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

Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )Pooja Nehwal
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMoumonDas2
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrsaastr
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...Sheetaleventcompany
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Vipesco
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubssamaasim06
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfhenrik385807
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Chameera Dedduwage
 

Recently uploaded (20)

Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptxMathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 

[CB19] Attacking DRM subsystem to gain kernel privilege on Chromebooks by Di Shen

  • 1. Attacking DRM subsystem to gain kernel privilege on Chromebooks Di Shen a.k.a. Retme (@returnsme) Keen Lab of Tencent
  • 2. • Di Shen a.k.a. Retme • Sr. Security Researcher of Keen Lab, Tencent • Kernel vulnerability hunting and exploitation since 2014 • @returnsme • github.com/retme7 • Fan of console games, anime and mystery novels( )
  • 3. • Chrome OS security: a brief look • Choose a better attack surface: for Chrome PWNium • The Direct Rendering Manager(DRM) • CVE-2019-16508: analysis and exploitation • Demonstration
  • 4. • running the Linux- based Chrome OS • Different brands and models • HP,Dell,ASUS,Lenovo…
  • 5. • Not for video gamers • But still good enough to finish daily work • Easy to use • Some models can be very cheap • It is very SECURE.
  • 6. • Chrome browser • Sandbox • Both apps and system services are isolated and sandboxed. • Secure file system / storage • Read-only root file system • Verified boot and dm-verity • Additional Linux security module is stacked ahead of SELinux • Automatic updates • Fix known bugs ASAP • Apply security patches to the kernel regularly
  • 7. • Use minijail0 to execute system services • Apply different kind of restrictions: • User id • Capabilities • Namespace • Seccomp filter policy • SeLinux policy • More details check the official documents [1] [2]
  • 8. • Firmware, root disk(kernel),system partition can be verified • System partition is verified by dm-verity in kernel. • Details of verified boot [1]
  • 9. • Used by Chrome OS and Android • Implemented in Linux kernel. • Protect system partition from being modified. • Will calculate the checksum of every block on the disk before I/O operation. • Will crash the whole system if the checksum is wrong.
  • 10. • ‘Persistence’ means keep your malicious process persistently alive across reboots • Chrome OS has multiple features to stop persistent attack
  • 11. • dm-verity • noexec mount for writable data partition • Linux security module (LSM) • Have other mitigations for specific persistent exploits in the history
  • 12. ) ( ) • A Linux security module • Reject symlinks that will redirect system’s write actions during boot (designed_docs) • Refuse to mount a path with symlinks • Hardening against loading module/firmware
  • 13. • Chrome OS security: a brief look • Choose a better attack surface: for Chrome PWNium • The Direct Rendering Manager(DRM) • CVE-2019-16508: analysis and exploitation • Demonstration
  • 14. • “We have a standing $150,000 reward for participants that can compromise a Chromebook or Chromebox with device persistence in guest mode (i.e. guest to guest persistence with interim reboot, delivered via a web page).” – Chrome VRP • Previously it was $100k, raised to $150k this July.
  • 15. ) ( ( • Chrome browser Renderer RCE (in guest mode) • Sandbox escape • OS Persistence
  • 16. ' • CVE-2019-5825: Out-of-bounds write in V8 • CVE-2019-5826: Use-after-free in IndexedDB • CVE-2019-16508: Privilege escalation in kernel mode • CVE-2019-13690: Privilege escalation in user mode • CVE-2019-13689: Chrome OS persistence bug • Credit goes to Gengming Liu, Jianyu Chen, Zhen Feng, Jessica Liu and Retme at Tencent Keenlab
  • 17.
  • 18. CVE-2019-5825 By Jessica on Kcon, Beijing CVE-2019-5826 By Gengming on Blackhat USA, Las Vegas CVE-2019-16508 By Retme on Code Blue, Tokyo CVE-2019-13690 & CVE-2019-13689 By Gengming & Melody on POC, Seoul
  • 19. • The end of March,2019 • We already had V8 bug for RCE and sandbox escape • But no privilege escalation and Persistence • We need ROOT privilege to trigger the persistent exploitation
  • 20. • I didn’t need to find a Linux kernel vulnerability that affect all Linux distribution. • A bug targeted at official Chrome OS hardware will be fine. • Need to make it within 30 days or so • Let’s find a vendor bug on specific Chromebook.
  • 21.
  • 22. • Mediatek, the paradise for bug hunter… • Lenovo S330 • Based on MT8173 platform • Board name ”hana” (-?)
  • 23. Mitigation Enabled PXN * Yes PAN Yes UAO No KASLR No Any others No * PXN : Privileged eXecute Never PAN : Privileged Access Never UAO : User Access Override
  • 24. • Bought Lenovo S330 from Amazon UK… • Then wait 2 weeks for the global delivery • Think about which part of code may be vulnerable during my wait • It ‘s Direct Rendering Manager
  • 25. • Chrome OS security: a brief look • Choose a better attack surface: for Chrome pwnium • The Direct Rendering Manager(DRM) • CVE-2019-16508: analysis and exploitation • Demonstration
  • 26. • a subsystem of the Linux kernel • drivers/gpu/drm/ • responsible for interfacing with GPUs • MT8173 is using PowerVR GPU by Imagination
  • 27. • There will be card0,card1,card2… , if you have multiple video card • It is accessible for normal user (chronos) on Chrom OS. • It exposes IOCTL interface for users
  • 28. ) ( ( ) • We have no permission to request the commands which is set these flags: • DRM_ROOT_ONLY • DRM_MASTER • DRM_AUTH • Few commands are OK to request • Not a big attack surface
  • 29. • Will call vendor’s private IOCTL handler if nr > DRM_COMMAND_BASE
  • 30. • /dev/dri/card0 • mkt_ioctls() • /dev/dri/card1 • pvr_drm_ioctls()
  • 31. • Handles PVR_SRVKM_CMD request • Argument • bridge_id [0-24] • bridge_func_id [0-N]
  • 32. • Handles PVR_SRVKM_CMD request • Argument • bridge_id [0-24] • bridge_func_id [0-N]
  • 33. • (bridge_id*bridge_func_id) interfaces can be accessed by user mode • Exactly the attack surface I want!
  • 34. • Recompile the kernel and flash it to Chromebook [1][2] • Define fuzzing rules targeting PowerVR interface PVR_SRVKM_CMD • Run the fuzzer via SSH and wait for one night • Maybe play some games on PS4 during my wait …
  • 35. • Chrome OS security: a brief look • Choose a better attack surface: for Chrome pwnium • The Direct Rendering Manager(DRM) • CVE-2019-16508: analysis and exploitation • Demonstration
  • 36. • Stack trace • PVRSRVBridgeSyncPrimOpCreate() • bridge_id = 2; bridge_func_id = 8
  • 37. ) ( ) • Miss checking buffer size coming from user input psSyncPrimOpCreateIN, which may lead to an integer overflow. • It’s able to convert this bug to a heap out-of-bound write, then achieve arbitrary memory overwriting.
  • 38. • ui32BufferSize overflowed • A smaller buffer pArrayArgsBuffer • Heap OOB Write
  • 39. • Compromise pipe subsystem (check my talk on CodeBlue 17) • After OSCopyFromUser() • Write pipe_fd to copy buffer to kaddr (arbitrary kernel address) iov_base iov_len iov_base iov_len …pArrayArgsBuffer 0x2000 bytes 0x2000 bytes pArrayArgsBuffer Kaddr iov_len iov_base iov_len … Overwriting starts from here.
  • 40. • Kernel may crash in 50% by “HARDENED_USERCOPY” • That happens when my heap spray failed, the copy_from_user() overwrite some small heap slots. 128 128 128 128 …pArrayArgsBuffer kmalloc-8192 kmalloc-128 copy_from_user(ptr-object-128,buffer-8192,8192) KERNEL PANIC BY HARDENED_USERCOPY
  • 41. • Seems was back ported to Linux 3.18 by chromium • Boundary check in copy_from/to_user() by instrumentation • check_copy_size()
  • 42. • I copied 8192 bytes to object-128 previously • Actually copying 0x20 bytes is good enough to overwrite iov_base. • The copied content is {0, 0, kADDR, iov_len} 128 128 128 128 …pArrayArgsBuffer kmalloc-8192 kmalloc-128 copy_from_user(ptr-object-128,buffer-8192,0x20) It will NOT crash when my spray failed any more.
  • 43. • Chrome OS security: a brief look • Choose a better attack surface: for Chrome pwnium • The Direct Rendering Manager(DRM) • CVE-2019-16508: analysis and exploitation • Demonstration