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

Want Strong Isolation? Just Reset Your Processor

00:00

Formale Metadaten

Titel
Want Strong Isolation? Just Reset Your Processor
Untertitel
How we can build more secure systems by applying the age-old wisdom of "turning it off and on again"
Serientitel
Anzahl der Teile
335
Autor
Lizenz
CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Today's systems sandbox code through traditional techniques: memory protection and user-kernel mode. Even high-security devices like hardware cryptocurrency wallets use such an architecture. Unfortunately, this arrangement has a history of security bugs due to misconfigured protection hardware, bugs in kernel code, hardware bugs, and side channels. This talk proposes a new approach to isolation for devices like crypto wallets: separate the user and kernel onto two CPUs and multiplex processes by completely resetting the user processor between tasks so that there is no leakage. Processor reset is more complicated than might be expected. Simply asserting the reset line isn't enough to clear all CPU-internal state, but it turns out that software can be used to clear this state. However, reasoning about the correctness of such code is challenging. This talk presents a tool that can be used to develop and formally verify the correctness of reset code for a given CPU implementation. This talk also walks through a design of a wallet based on this reset-based isolation technique, discusses known security vulnerabilities in current designs such as the Ledger and Trezor wallets (including bugs in MPU misconfiguration, system calls, and drivers), and explores how a reset-based design could prevent such vulnerabilities. Anish Athalye Anish is a PhD student at MIT working on systems, security, and formal verification. He is currently interested in making hardware wallets more secure. In his free time, he enjoys bending neural networks to his will: among other exploits, he has mastered the art of transfiguration (as far as computers are concerned), exemplified by turning a turtle into a rifle
SystemprogrammierungThermodynamischer ProzessHardwarePlastikkarteUnrundheitHardwareComputersicherheitOrdnung <Mathematik>Peripheres GerätSchlüsselverwaltungComputeranimation
Total <Mathematik>HardwareNP-hartes ProblemPlastikkarteLoginTransaktionComputersicherheitHeimcomputerAutorisierungHardwareTeilbarkeitATMLoginAuthentifikationWeb SiteBitSensitivitätsanalyseEntscheidungstheorieVerschiebungsoperatorMAPTransaktionTypentheoriesinc-FunktionComputerKartesische KoordinatenProzess <Physik>Ganze FunktionPolarkoordinatenToken-RingPhishingDatenverarbeitungssystemKlasse <Mathematik>Computeranimation
Kernel <Informatik>BefehlsprozessorHardwareComputersicherheitGeradeKartesische KoordinatenDreiecksfreier GraphDialektKomplex <Algebra>SkriptspracheAppletComputerPhysikalischer EffektNetzbetriebssystemAbstraktionsebeneSoftwareentwicklerImplementierungKontrollstrukturBefehlsprozessorPatch <Software>HardwareSpieltheorieComputerunterstützte ÜbersetzungBitAutomatProgrammfehlerDatensatzTurm <Mathematik>PhysikalismusComputerarchitekturCodeZehnExploitComputeranimation
TaupunktTransaktionHardwareProgrammierparadigmaKartesische KoordinatenBereichsschätzungEntscheidungstheorieTransaktionVorlesung/Konferenz
HardwareQuick-SortComputerHardwarePublic-Key-KryptosystemTransaktionOrdnung <Mathematik>Inhalt <Mathematik>TouchscreenNichtlinearer OperatorHeimcomputerElektronische UnterschriftDatensichtgerätAdressraumVorzeichen <Mathematik>BroadcastingverfahrenComputersicherheitKartesische KoordinatenPunktMalwareComputeranimation
ComputersicherheitPhysikalischer EffektComputerKette <Mathematik>p-BlockPhishingServerOrdnung <Mathematik>ProgrammverifikationXMLFlussdiagramm
ComputersicherheitServerComputersicherheitVersionsverwaltungFehlermeldungHardwareTransaktionMalwarePublic-Key-KryptosystemSoftwarep-BlockKette <Mathematik>PunktXMLFlussdiagramm
Direkte numerische SimulationTransaktionVorzeichen <Mathematik>ZeitbereichZeitzoneSummengleichungKanal <Bildverarbeitung>Direkte numerische SimulationHardwareTeilbarkeitComputerAutorisierungWeb SiteInstantiierungNichtlinearer OperatorEntscheidungstheorieWärmeübergangVorzeichen <Mathematik>Domain-NameDeskriptive StatistikSensitivitätsanalyseKartesische KoordinatenQuick-SortPeripheres GerätDatensatzGrenzschichtablösungComputersicherheitDatensicherungPublic-Key-KryptosystemXML
AutorisierungMaßerweiterungAuthentifikationMAPTransaktionZeichenketteDatensichtgerätTransaktionAuthentifikationFunktionalGrenzschichtablösungDateiformatTeilbarkeitSensitivitätsanalyseDifferenteKartesische KoordinatenAutorisierungHardwareMereologieBenutzerbeteiligungKryptosystemCodeVirtuelle MaschineComputersicherheitZweiDirekte numerische SimulationWeb SiteStandardabweichungEinfache GenauigkeitKryptologieSchlüsselverwaltungBildgebendes VerfahrenComputeranimation
Flash-SpeicherPeripheres GerätSystem-on-ChipParametersystemValiditätHardwareNetzbetriebssystemDivergente ReiheGemeinsamer SpeicherKomplex <Algebra>DatensichtgerätInformationsspeicherungBefehlsprozessorTLSSystemprogrammierungProgrammfehlerSoftwareschwachstelleKartesische KoordinatenComputeranimation
Flash-SpeicherPeripheres GerätWeb logParametersystemKonfigurationsraumSystem-on-ChipSpeicherschutzProgrammfehlerDialektHalbleiterspeicherFlash-SpeicherRechenwerkComputersicherheitValiditätZeiger <Informatik>Gemeinsamer SpeicherSystemaufrufCASE <Informatik>Kartesische KoordinatenNetzbetriebssystemDickeLesen <Datenverarbeitung>Message-PassingSystemprogrammierungMultiplikationsoperatorInhalt <Mathematik>SpeicherabzugHash-AlgorithmusARM <Computerarchitektur>ParametersystemComputeranimation
GrenzschichtablösungBefehlsprozessorSpeicherverwaltungSpeicherabzugCodeDatensichtgerätKartesische KoordinatenComputersicherheitKategorie <Mathematik>Message-PassingGrenzschichtablösungPhysikalismusApp <Programm>CodeHardwareAggregatzustandPhysikalisches SystemModelltheorieSpeicherabzugAnalogieschlussPhysikalischer EffektComputerOrdnung <Mathematik>BefehlsprozessorDeskriptive StatistikSpeicherverwaltungMinkowski-MetrikMAPDatenstrukturKomponente <Software>FokalpunktLastSystemaufrufComputerarchitekturKlasse <Mathematik>SystemprogrammierungRechter WinkelPeripheres GerätFaktor <Algebra>NetzbetriebssystemTelekommunikationMechanismus-Design-TheorieKernel <Informatik>MultiplikationsoperatorDatensichtgerätTaskFlash-SpeicherInterface <Schaltung>Einfache GenauigkeitNichtunterscheidbarkeitComputersimulationComputeranimation
GraphiktablettBefehlsprozessorRechter WinkelLeistung <Physik>Persönliche IdentifikationsnummerThermodynamischer ProzessKreisprozessHorizontaleBefehlsprozessorGeradeZehnStatisches RAMAggregatzustandComputeranimation
ATMVektorraumRISCBefehlsprozessorImplementierungCodeAggregatzustandÄhnlichkeitsgeometrieROM <Informatik>GeradeDeskriptive StatistikHalbleiterspeicherStandardabweichungUmwandlungsenthalpieVektorraumSchnittmengeURLBefehlsprozessorMereologieProgrammierungGamecontrollerSystemaufrufDeterministischer ProzessFahne <Mathematik>TouchscreenComputeranimation
CachingSpeicherabzugArchitektur <Informatik>AutomatVerzweigendes ProgrammCachingMAPBefehlsprozessorCodeThermodynamischer ProzessPuffer <Netzplantechnik>SeitenkanalattackeImplementierungMultiplikationsoperatorAggregatzustandMikroarchitekturComputerarchitekturDifferenteComputeranimationTechnische Zeichnung
BeschreibungskomplexitätSpeicherabzugCachingKomplex <Algebra>AggregatzustandMAPThermodynamischer ProzessImplementierungBefehlsprozessorVerzweigendes ProgrammFigurierte ZahlVererbungshierarchieTouchscreenTechnische Zeichnung
BefehlsprozessorImplementierungTablet PCBefehlsprozessorImplementierungCodeMAPDreiecksfreier GraphGrenzschichtablösungPunktSoundverarbeitungUmwandlungsenthalpieAggregatzustandMikroarchitekturFehlermeldungThermodynamischer ProzessVerknüpfungsgliedGamecontrollerGeradeRechter WinkelComputerarchitekturOpen SourceComputeranimation
Tablet PCAggregatzustandStatistikNichtlinearer OperatorBitFolge <Mathematik>CodeBefehlsprozessorGeradeAggregatzustandSoftwareKategorie <Mathematik>Thermodynamischer ProzessComputeranimation
RestklassePhysikalische TheorieSatellitensystemErfüllbarkeitsproblemBoolesche AlgebraNichtlinearer OperatorGanze ZahlSatellitensystemAdditionDatentypPhysikalische TheorieAusdruck <Logik>Arithmetischer AusdruckCASE <Informatik>AnalysisAuflösung <Mathematik>UngleichungModul <Datentyp>BitManufacturing Execution SystemVektorraumProgrammfehlerDifferenteHydrostatikSchnittmengeComputersicherheitLeistungsbewertungZeichenketteRestklasseInnerer PunktComputeranimation
SatellitensystemPhysikalische TheorieUnendlichkeitTheoremGegenbeispielTranslation <Mathematik>Ausdruck <Logik>Aussage <Mathematik>BeweistheorieTheoremEin-AusgabePhysikalische TheorieCASE <Informatik>ErfüllbarkeitsproblemAusdruck <Logik>Nichtlineares GleichungssystemGegenbeispielZeichenketteArray <Informatik>Aussage <Mathematik>BeweistheorieSatellitensystemComputeranimation
TheoremReelle ZahlLokales MinimumTheoremCodeReelle ZahlLokales MinimumBefehl <Informatik>MittelwertKategorie <Mathematik>Aussage <Mathematik>Computeranimation
BefehlsprozessorBefehl <Informatik>TheoremÜbertragSchaltfunktionSchaltnetzCodeSelbstrepräsentationMereologieDifferenteRechenschieberBefehlsprozessorDreiecksfreier GraphKomponente <Software>ZahlenbereichThermodynamischer ProzessNichtlinearer OperatorTranslation <Mathematik>DigitaltechnikFunktion <Mathematik>Ausdruck <Logik>GeradeAggregatzustandBoolesche AlgebraFormale SpracheEin-AusgabeKardinalzahlNichtlineares GleichungssystemBitGüte der Anpassung
DigitaltechnikKombinatorikDisjunktion <Logik>Ein-AusgabeBeweistheorieDigitaltechnikProgrammbibliothekOrdnung <Mathematik>Kategorie <Mathematik>CodeNichtlinearer OperatorAdditionBoolesche AlgebraEin-AusgabeResultanteTheoremNichtlineares GleichungssystemBeweistheorieAussage <Mathematik>Befehl <Informatik>CASE <Informatik>Computeranimation
DigitaltechnikZählenEin-AusgabeFunktion <Mathematik>BimodulCodeSelbstrepräsentationBefehlsprozessorAggregatzustandGeradeMAPPhysikalischer EffektDigitaltechnikBitZählenRechter Winkel
DatentypLambda-KalkülFunktion <Mathematik>DigitaltechnikZählenBeweistheorieDatenverarbeitungssystemNominalskaliertes MerkmalTheoremBefehl <Informatik>GegenbeispielModelltheorieWeb-SeiteAggregatzustandPhysikalischer EffektDreiecksfreier GraphZählenInformationDifferenteBefehl <Informatik>TheoremBitDatentypBeweistheorieDigitaltechnikCASE <Informatik>GegenbeispielGeradeTransitivitätCodePräkonditionierungTranslation <Mathematik>Mechanismus-Design-TheorieKategorie <Mathematik>ImplementierungMereologieMinimumErfüllbarkeitsproblemGruppenoperationLastXMLComputeranimation
ImplementierungBefehlsprozessorVerknüpfungsgliedModelltheorieTranslation <Mathematik>DigitaltechnikMAPVerknüpfungsgliedBefehlsprozessorCodeTranslation <Mathematik>ImplementierungAggregatzustandFunktion <Mathematik>Rechter WinkelDreiecksfreier GraphProgramm/QuellcodeXML
SimulationBefehlsprozessorGenetischer AlgorithmusAggregatzustandSimulationBefehlsprozessorZahlenbereichDreiecksfreier GraphAggregatzustandProgrammierungGrenzschichtablösungStandardabweichungTheoremDifferenteErfüllbarkeitsproblemNichtlinearer OperatorSymboltabelleGeradeSoftwaretestCASE <Informatik>CodeComputeranimation
CodeInteraktives FernsehenGegenbeispielTablet PCCodeMAPImplementierungBefehlsprozessorKategorie <Mathematik>GegenbeispielSoundverarbeitungProgrammverifikationMikroarchitekturOrdnung <Mathematik>Demo <Programm>AggregatzustandLoopComputerarchitekturComputeranimation
TopologieThermodynamischer ProzessDemo <Programm>CodeGeradeDreiecksfreier GraphAggregatzustandFunktion <Mathematik>Computeranimation
Lie-GruppeSchreiben <Datenverarbeitung>BefehlsprozessorGanze FunktionGegenbeispielAggregatzustandDifferenteAlgorithmische ProgrammierspracheZahlenbereichCodeDreiecksfreier GraphFolge <Mathematik>VideokonferenzPhysikalischer EffektRegulärer Ausdruck <Textverarbeitung>ImplementierungSimulationComputerarchitekturMereologieHalbleiterspeicherProgrammiergerätSoundverarbeitungFigurierte ZahlBitLesen <Datenverarbeitung>Maximum-Entropie-MethodeCASE <Informatik>Mikroarchitektur
HardwareDemo <Programm>Installation <Informatik>Vorzeichen <Mathematik>HardwareBefehlsprozessorCodePrototypingSpeicherverwaltungGebäude <Mathematik>TransaktionMultiplikationsoperatorKartesische KoordinatenOrdnung <Mathematik>Public-Key-KryptosystemWhiteboardDifferenteBitComputerSoftwareentwicklerFunktionalProgrammierungVorzeichen <Mathematik>Thermodynamischer ProzessTypentheorieComputeranimation
Installation <Informatik>PasswortChiffrierungSchlüsselverwaltungUnordnungSummengleichungStandardabweichungSpielkonsolePROMPublic-Key-KryptosystemPasswortTypentheorieCASE <Informatik>TransaktionPhysikalischer EffektPunktGrenzschichtablösungHardwareComputeranimation
SpielkonsolePublic-Key-KryptosystemInternetworkingTaskKartesische KoordinatenHardwareTouchscreenDeterministischer ProzessWeb SiteDatensichtgerätVorzeichen <Mathematik>PunktComputeranimation
Direkte numerische SimulationSpeicherverwaltungInterface <Schaltung>ZeitzoneSichtenkonzeptVersionsverwaltungLemma <Logik>Demo <Programm>Nichtlinearer OperatorTransaktionPeripheres GerätDatensichtgerätElektronische UnterschriftDomain <Netzwerk>HeimcomputerComputeranimation
TransaktionAutorisierungSoftwareentwicklerEntscheidungstheorieRefactoringComputersicherheitProgrammverifikationCodeComputersicherheitVerschlingungCoxeter-GruppeWeb SiteProgrammverifikationGebäude <Mathematik>SystemprogrammierungQuick-SortAutorisierungp-BlockOrdnung <Mathematik>TransaktionBereichsschätzungDemo <Programm>MultiplikationsoperatorEntscheidungstheorieRechter WinkelNichtlinearer OperatorPhysikalischer EffektTermBitSoftwareentwicklerDeterministischer ProzessComputeranimation
Transkript: Englisch(automatisch erzeugt)