We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Abusing Silent Mitigations

00:00

Formal Metadata

Title
Abusing Silent Mitigations
Subtitle
Understanding weaknesses within Internet Explorer's Isolated Heap and Memory Protection
Title of Series
Part Number
2
Number of Parts
18
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
In the summer of 2014, Microsoft silently introduced two new exploit mitigations into Internet Explorer with the goal of disrupting the threat landscape. These mitigations increase the complexity of successfully exploiting a use-after-free vulnerability. June's patch (MS14-035) introduced a separate heap, called Isolated Heap, which handles most of the DOM and supporting objects. July's patch (MS14-037) introduced a new strategy called MemoryProtection for freeing memory on the heap. This talk covers the evolution of the Isolated Heap and MemoryProtection mitigations, examines how they operate, and studies their weaknesses. It outlines techniques and steps an attacker must take to attack these mitigations to gain code execution on use-after-free vulnerabilities where possible. It describes how an attacker can use MemoryProtection as an oracle to determine the address at which a module will be loaded to bypass ASLR. Finally, additional recommended defenses are laid out to further harden Internet Explorer from these new attack vectors.
AdditionMultiplication signSpeicherschutzInternetworkingExploit (computer security)Set (mathematics)Right angleVulnerability (computing)Memory managementCASE <Informatik>Mathematical analysisRootWindowInformation securityHacker (term)Flow separationAxiom of choiceSoftware bugCausalitySound effectFlash memoryType theorySlide ruleWebsiteObject (grammar)View (database)Point (geometry)String (computer science)Process (computing)Classical physicsDifferent (Kate Ryan album)Electronic GovernmentLatent heatSemiconductor memoryCovering spaceTwitterComputer programmingProxy serverFunction (mathematics)Proof theoryBitSource codeGame controllerSelf-organizationCoefficient of determinationFreezingResultantFreewareSingle-precision floating-point formatCrash (computing)WordEndliche ModelltheorieLogicLine (geometry)PurchasingArithmetic meanBlogSurgeryProgrammer (hardware)Uniform resource locatorPresentation of a groupFamilyRadiusScherbeanspruchungVideoconferencingInsertion lossWeb pageComputer animationDiagram
Latent heatElectronic mailing listObject (grammar)RandomizationMultiplication signQuicksortDifferent (Kate Ryan album)Row (database)WeightFunctional (mathematics)FreewareLevel (video gaming)Electronic data interchangeCartesian coordinate systemPhysical systemGame controllerNetwork topologyPoint (geometry)Block (periodic table)CASE <Informatik>AreaFlow separationProcess (computing)Endliche ModelltheorieFormal languageCondition numberAddress spaceMultiplicationOrder (biology)Table (information)Graph (mathematics)SpeicherschutzRight angleInternetworkingCrash (computing)Software bugCodeLine (geometry)Graph coloringMemory managementForcing (mathematics)Price indexAxiom of choiceGreatest elementCoprocessorMechanism designDivisorFigurate numberFreezingPointer (computer programming)UsabilityDataflowType theory2 (number)Sweep line algorithmComputer animation
FreezingRegulator geneState of matterThread (computing)Block (periodic table)Message passingService (economics)Object (grammar)Forcing (mathematics)Multiplication signApproximationElectronic mailing listPoint (geometry)Event horizonMemory managementEntropie <Informationstheorie>Thresholding (image processing)FreewareProcess (computing)Sweep line algorithmCartesian coordinate systemPattern recognitionGame controllerFrame problemFunctional (mathematics)SpeicherschutzComplex (psychology)Focus (optics)Semiconductor memorySpeicherbereinigungCondition numberLevel (video gaming)Operator (mathematics)AdditionMaxima and minimaAddress spaceKey (cryptography)System callTerm (mathematics)WeightCoprocessorSubsetCASE <Informatik>DeterminantRow (database)Flow separationPresentation of a groupMereologyForm (programming)Self-organizationPointer (computer programming)Medical imagingBuffer solutionDeterminismNatural numberStatuteKettenkomplexNumberLoop (music)Elementary arithmeticFlagSet (mathematics)Computer animation
Correspondence (mathematics)Block (periodic table)IntegerInformationScripting languageBlogProxy serverSpeicherschutzLeakMemory managementSpeicherbereinigungSemiconductor memorySemantics (computer science)Point (geometry)Design by contractNormal (geometry)Computer programmingString (computer science)SpeicheradresseAddress spaceSurfaceConservation lawStack (abstract data type)Key (cryptography)FreewareSingle-precision floating-point formatDependent and independent variablesCASE <Informatik>Buffer solutionWordPointer (computer programming)OraclePressureLoop (music)Object (grammar)CodeInternetworkingProof theoryWeb browserProcedural programmingStress (mechanics)2 (number)Limit (category theory)Operator (mathematics)Side channel attackElectronic mailing listProcess (computing)Level (video gaming)System callThresholding (image processing)Exception handlingFunctional (mathematics)State of matterVideoconferencingMultilaterationLine (geometry)Data structureGame controllerCoroutineOrder (biology)View (database)BitElectronic data interchangeSet (mathematics)Square numberSocial classElement (mathematics)ResultantSheaf (mathematics)Service (economics)Personal digital assistantSelf-organizationObservational studyMultiplication signDiagram
SpeicherschutzMemory managementAddress spaceWeb browserSemiconductor memoryLimit (category theory)CoroutinePoint (geometry)Block (periodic table)OracleKettenkomplexDialectFreewareSingle-precision floating-point formatMultiplication signElectronic mailing listState of matterSpeicheradresseMathematicsProcess (computing)Different (Kate Ryan album)Exception handlingDemo (music)VideoconferencingArithmetic meanModule (mathematics)View (database)Open setPressureDivisorWindowIntegerDependent and independent variablesReflection (mathematics)BitCausalityRule of inferenceFrequencyCartesian coordinate systemLevel (video gaming)Goodness of fitSoftware testingComputer animationDiagram
Multiplication signStructural loadState of matterPressureWeb browserInformationException handlingProxy serverSemiconductor memoryThresholding (image processing)Side channel attackSpeicheradresseNumberSelectivity (electronic)Quantum stateMultiplicationEndliche ModelltheorieMemory managementSpeicherschutzObject (grammar)VotingCASE <Informatik>Buffer solutionCondition numberFreewareExploit (computer security)Address spaceBasis <Mathematik>CodeLevel (video gaming)Kernel (computing)Process (computing)InternetworkingInformation securityQuicksortSequence diagramCartesian coordinate systemIntegrated development environmentModule (mathematics)WebsitePhysical systemMaxima and minimaMathematicsVulnerability (computing)Web applicationWeb pagePoint (geometry)Type theoryElement (mathematics)Array data structureData storage deviceModulo (jargon)BitMetadataSound effectState observerMobile appScripting languageString (computer science)Interpreter (computing)Negative numberEntropie <Informationstheorie>Axiom of choiceSet (mathematics)Scalar fieldSystem callDemo (music)VideoconferencingComputer animationXML
SpeicheradresseSelectivity (electronic)Object (grammar)Memory managementString (computer science)Game controllerException handlingType theoryMereologyWindowProcess (computing)Buffer solutionPartition (number theory)Array data structureGreatest elementBitLine (geometry)Default (computer science)Scalar fieldInternetworkingInformation securityMetadataLimit (category theory)NumberAddress space32-bitSemiconductor memorySpeicherschutzConfiguration spaceVirtual memoryCompilerElement (mathematics)Cartesian coordinate systemExploit (computer security)RandomizationVirtualizationMoment (mathematics)ResultantCodeMultiplication signCrash (computing)DialectStructural loadPressureThetafunktionVideo gameSpring (hydrology)Position operatorGoodness of fitEntropie <Informationstheorie>CoprocessorMathematical optimizationQuantum stateFlow separationDimensional analysisUniform resource locatorComputer animation
Structural load1 (number)Computer programmingExploit (computer security)Proof theoryProxy serverGoodness of fitWindowSpeicherschutzVulnerability (computing)Address spaceMemory managementDefault (computer science)BitFreezingEscape characterMathematicsMultiplication signConfiguration spaceControl flowCASE <Informatik>Computer animation
Multiplication signState of matterCoprocessorSemiconductor memoryBitRight angleComputer programmingPattern languageSlide ruleProcess (computing)Proof theory
6 (number)Computer animation
Transcript: English(auto-generated)