This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Vulnerabilities and exploitation are on the rise, Microsoft needs to protect customers

CFG Development Starts

Compile time void Foo(...) { // SomeFunc is address-taken // and may be called indirectly Object->FuncPtr = SomeFunc; }

Metadata is automatically added to the image which identifies functions that may be called indirectly void Bar(...) { // Compiler-inserted check to // verify call target is valid _guard_check_icall(Object->FuncPtr); Object->FuncPtr(xyz); }

A lightweight check is inserted prior to indirect calls which will verify that the call target is valid at runtime

Runtime Process Start

Image Load

Indirect Call

•Map valid call target data

•Update valid call target data with metadata from PE image

•Perform O(1) validity check •Terminate process if invalid target •Jmp if target is valid



http://labs.bromium.com/2015/09/28/an-interesting-detail-about-control-flow-guard/

• Attacks against read-only memory •

Make the page storing ntdll! __guard_dispatch_icall_fptr writable, set it to _guard_dispatch_icall_nop

• Race condition: Modify JIT’d code before it’s made read-execute

• DLL generated with writable Import Address Table (IAT) • Compiler generated thunks that make unprotected icalls were marked as valid icall targets

• Wrappers around explicitly suppressed functions that are valid icall targets •



Example: Wrapper around VirtualProtect allows making arbitrary virtual address RWX

Modify a global variable containing a DLL path •

Didn’t really work against Edge due to CIG + NoRemoteImages

• Stack address leaks • Uninstrumented indirect calls • Coarse grained CFI limitations [3]

Parent Function

Child Function

[…] //Prior code

Process Start

•1TB shadow stack region created •Region cannot be queried •A/V’s in region are fatal •FS segment points to the shadow stack of the current thread

call ChildFunction mov rax, [rsp] mov fs:[rsp], rax […] //Child code

mov rcx, fs:[rsp] Image Load

•If process enables RFG: patch NOP’s with RFG prolog/epilog

cmp rcx, [rsp] jne _fast_fail ret

Function Calls

•Prolog: Push return address to shadow stack •Epilog: Fast fail if return address on stack and shadow stack are mismatched

0xABCD: […] //Remainder of parent function

WorkerThread()

Stack

Sleep()

Safe Overwrite Time

GetLength()

RET Pointer

StrnLen() Dangerous Time

Time

Sleep()

Safe Overwrite Time

GetLength() RET Pointer

StrnLen() Dangerous Time

• Broker only allows executable pages to be unmapped when safe Race Conditions • Unwinder needs to be out-of-process • CFG check race killed with “code replacement attack” mitigation X86 Stack Misbalancing & Generic Stack Address Leaks • Mitigated by CET Read-Only Memory Attacks • Certain regions must be permanently read-only and not unmappable. Broker decides when it is safe to allow unmap • Operations that require write access to this memory (i.e. when delay loading a DLL) must be OOP Coarse Grained CFI Limitations • Look for opportunities to make CFG more fine grained

Bounty

Max Payout

Mitigation Bounty

$100,000

Hyper-V Bounty

$250,000

WDAG (Windows Defender Application Guard)

$30,000

WIP (Windows Insider Preview)

$15,000

https://aka.ms/BugBounty

https://github.com/Microsoft/MSRC-SecurityResearch/blob/master/presentations/2012_10_Breakpoint/BreakPoint2012_Miller_Modeling_the_exploitation_and_mitigation_of_memor y_safety_vulnerabilities.pdf https://www.vusec.net/projects/anc/ https://medium.com/@mxatone/mitigation-bounty-from-read-write-anywhere-to-controllable-calls-ca1b9c7c0130 https://www.youtube.com/watch?v=gu_i6LYuePg https://bugs.chromium.org/p/project-zero/issues/detail?id=1299

Mitigation Engineering – The CFG Story - GitHub

X86 Stack Misbalancing & Generic Stack Address Leaks. • Mitigated by CET. Read-Only Memory Attacks. • Certain regions must be permanently read-only and not unmappable. Broker decides when it is safe to allow unmap. • Operations that require write access to this memory (i.e. when delay loading a DLL) must be OOP.

3MB Sizes 2 Downloads 218 Views

Recommend Documents

my story - GitHub
Small software development projects for local companies. EDUCATION ... Java (6 years professional experience, 10+ years total). • Javascript (4 years ...

Software Engineering - GitHub
Sep 26, 2011 - into an application used by nearly a million people to store over two million code ... “Continuous Integration is a software development practice ...

Opportunistic Interference Mitigation
user interference channel with time-varying channel coeffi- cients. Since then, interference management schemes based on IA have been further developed and analyzed in various wireless network environments: multiple-input multiple-output. (MIMO) inte

Opportunistic Interference Mitigation
Then, their performance is analyzed in terms of degrees- of-freedom (DoFs). ..... For user j in the i-th cell, the user scheduling metric Li j is finally given by (2), ...

Software Engineering Practices in the Mariokart System - GitHub
to say that Computer Science departments do a better job of teaching it — they don't [1] and in fact Software Engineering really should be taught as ... This was a nal year project for the ... gineering degree carried out by the authors. The aim of

Reverse Engineering the FRB/US Model in R - GitHub
Jun 25, 2016 - 2.1.10 a.10 ECNIAN . ...... 1The pdf was created with noweb, the literate programming tool: ”noweb ... plan to morph it into the R software environment for statistical ...... 2.9.30 i.30 RCAR: New car loan rate at finance companies.

Engineering the Servo Web Browser Engine using Rust - GitHub
browser engine, Rust, Servo, concurrency, parallelism. 1. INTRODUCTION .... grams, Rust programs are memory safe by default, only allowing ..... that in the more than two years since Servo has been under devel- opment ..... Technical Report.

SAC062 SSAC Advisory Concerning the Mitigation of Name ... - icann
Nov 7, 2013 - The purpose of the call center would be to explain what is going on ... communications channels should exist with ICANN and the call center.

Mitigation deterrence and the moral hazard of solar.pdf
Mitigation deterrence and the moral hazard of solar.pdf. Mitigation deterrence and the moral hazard of solar.pdf. Open. Extract. Open with. Sign In. Main menu.

cfg топ 100 css
Our Top Windows 7 Themes. ... Strike Source Dedicated Server\cstrike". ... 100%;">. style which contains the CSS rules that will overridethe default pdf.css.

SAC062 SSAC Advisory Concerning the Mitigation of Name ... - icann
Nov 7, 2013 - pertaining to registry and registrar services). SSAC ... and risk analysis of the Internet naming and address allocation services to assess where.

Dynamic Attack Mitigation using SDN
Abstract—Security threats in the Internet have been ever increasing, in number, type and means used for attacks. In the face of large-scale attacks, such as DDoS attacks, networks take unacceptable time to respond and mitigate the attacks, resultin

Interference Mitigation and Capacity Enhancement based on ...
Interference Mitigation and Capacity Enhancement ba ... Dynamic Frequency Reuse for Femtocell Networks.pdf. Interference Mitigation and Capacity ...

Climate change mitigation - Sustainable Energy Forum
Professor of Sustainable Energy, Massey University ... Figure 2. Global emissions of the family of greenhouse gases, including CO2 from agriculture, forests and ...

Climate change mitigation - Sustainable Energy Forum
Sustainable Energy Forum ... Co-‐ordinating Lead Author, IPCC Working Group 3. .... choice for a country depending on its circumstances and resources.

Intern Job Description TENNESSEE STREAM MITIGATION ...
Mar 13, 2015 - provided for all required duties outside of the Nashville office. Interns ... Assist TSMP project managers with the assessment, maintenance and ...

Topical interests and the mitigation of search engine bias
Aug 22, 2006 - Search engines have become key media for our scientific, eco- nomic, and social activities by enabling people to access informa- tion on the web despite its ... not support this conclusion; popular sites receive far less traffic than p

SAC062 SSAC Advisory Concerning the Mitigation of Name ... - icann
Nov 7, 2013 - In the context of top level domains, the term “name collision” refers to the ... Domain (gTLD) Program Committee (NGPC) of the ICANN Board of ...

National Disaster Mitigation Fund.pdf
A.P. Mr. Guntur Prabhakar, AOR. Ms. Prerna Singh, Adv. Bihar Mr. Gopal Singh, AOR. Mr. Manish Kumar, Adv. Chattisgarh Mr. Jugal Kishore Gilda, AG. Mr. A.P. Mayee, Adv. Mr. A. Selvin Raja, Adv. Gujarat Ms. Hemantika Wahi, AOR. Ms. Aagam Kaur, Adv. Mr.

Intern Job Description TENNESSEE STREAM MITIGATION ...
Timeframe: May-‐August 2015 (Flexible). Application Deadline: March 13, 2015 ... A company vehicle will be provided for all required duties outside of the ...

The queue - GitHub
Input file: A.in. Output file: A.out. Time limit: 1 second. Memory limit: 64 megabytes. There is an interesting queue. Cashier of this queue is not a good one. In fact ...