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

A Deep Dive Into Unconstrained Code Execution on Siemens S7 PLCs

00:00

Formale Metadaten

Titel
A Deep Dive Into Unconstrained Code Execution on Siemens S7 PLCs
Serientitel
Anzahl der Teile
254
Autor
Lizenz
CC-Namensnennung 4.0 International:
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
A deep dive investigation into Siemens S7 PLCs bootloader and ADONIS Operating System. Siemens is a leading provider of industrial automation components for critical infrastructures, and their S7 PLC series is one of the most widely used PLCs in the industry. In recent years, Siemens integrated various security measures into their PLCs. This includes, among others, firmware integrity verification at boot time using a separate bootloader code. This code is baked in a separated SPI flash, and its firmware is not accessible via Siemens' website. In this talk, we present our investigation of the code running in the Siemens S7-1200 PLC bootloader and its security implications. Specifically, we will demonstrate that this bootloader, which to the best of our knowledge was running at least on Siemens S7-1200 PLCs since 2013, contains an undocumented "special access feature". This special access feature can be activated when the user sends a specific command via UART within the first half-second of the PLC booting. The special access feature provides functionalities such as limited read and writes to memory at boot time via the UART interface. We discovered that a combination of those protocol features could be exploited to execute arbitrary code in the PLC and dump the entire PLC memory using a cold-boot style attack. With that, this feature can be used to violate the existing security ecosystem established by Siemens. On a positive note, once discovered by the asset owner, this feature can also be used for good, e.g., as a forensic interface for Siemens PLCs. The talk will be accompanied by the demo of our findings.
Schlagwörter
MaschinencodeInnerer PunktRechnernetzComputersicherheitQuick-SortPacket Loss Concealmentt-TestCASE <Informatik>HardwareMultiplikationsoperatorPhysikalisches SystemBitMaschinenspracheEnthalpieSoftwareAutomatische HandlungsplanungCoxeter-GruppeDifferenteMathematische LogikGamecontrollerGrundraumComputeranimationJSONVorlesung/KonferenzBesprechung/Interview
ProgrammschleifeKontrollstrukturGamecontrollerPacket Loss ConcealmentGradientGruppoidProdukt <Mathematik>EnergiedichteSystemprogrammierungBenutzeroberflächeSDRAMARM <Computerarchitektur>HardwareDifferenteOrdnung <Mathematik>BitSchnittmengeMereologieMultiplikationsoperatorFaktor <Algebra>InformationSichtenkonzeptPhysikalisches SystemZusammenhängender GraphLeistung <Physik>Ein-AusgabeGamecontrollerVersionsverwaltungVirtuelle MaschineProzess <Informatik>CASE <Informatik>Nichtlinearer OperatorKartesische KoordinatenBasis <Mathematik>Komplex <Algebra>MinimumFlash-SpeicherNetz <Graphische Darstellung>Funktion <Mathematik>RegelkreisMaschinenspracheSystemstartFirmwareCoprozessorStandardabweichungMathematische LogikARM <Computerarchitektur>TermKontrollstrukturSoftwareWhiteboardResultantePacket Loss ConcealmentBefehlsprozessorComputersicherheitSpeicherabzugHydrostatischer AntriebGemeinsamer SpeicherMAPProzessautomationHyperbelverfahrenPeer-to-Peer-NetzBenutzeroberflächeHeimcomputerART-NetzZahlenbereichNatürliche ZahlBildverstehenGruppenoperationTropfenEreignishorizontDatenstrukturAutomatische HandlungsplanungVorlesung/Konferenz
BenutzeroberflächeMereologieVersionsverwaltungMailing-ListeFlash-SpeicherHalbleiterspeicherARM <Computerarchitektur>TypentheorieSystemstartWeb-SeiteFirmwareLastBootenMAPHardwareZyklische RedundanzprüfungSyntaktische AnalyseDienst <Informatik>Kernel <Informatik>DokumentenverwaltungssystemParserContent ManagementVirtual Home EnvironmentDifferenteKonfigurationsraumMathematische LogikMereologieQuantenzustandBildschirmfensterIndexberechnungIntegralEinfach zusammenhängender RaumSondierungFlash-SpeicherATMGruppenoperationBitRahmenproblemSoftwareentwicklerGrundraumFunktionalPhysikalischer EffektCompilerSyntaktische AnalyseHardwareProgrammFeuchteleitungUmwandlungsenthalpieFramework <Informatik>MultiplikationsoperatorHalbleiterspeicherInformationTypentheorieMomentenproblemSpeicherabzugDienst <Informatik>Physikalisches SystemOrdnung <Mathematik>Zusammenhängender GraphSoundverarbeitungTopologieKette <Mathematik>VarianzRechter WinkelPunktVorzeichen <Mathematik>SoftwaretestBetriebssystemProzessautomationTabelleExpertensystemQuellcodeKonfigurator <Softwaresystem>ARM <Computerarchitektur>WasserdampftafelMetropolitan area networkJust-in-Time-CompilerEchtzeitsystemKoroutineMultiplikationSchnittmengeVektorraumSoftwareSystemstartOpen SourceParserReverse EngineeringComputertomographVirtuelle AdresseInterrupt <Informatik>VersionsverwaltungGamecontrollerGüte der AnpassungBenutzerbeteiligungKernel <Informatik>MaschinencodeVorlesung/Konferenz
Treiber <Programm>SoftwareKernel <Informatik>ZeitbereichTelekommunikationNebenbedingungPhysikalisches SystemMAPProgrammbibliothekDienst <Informatik>CompilerElektronische PublikationDokumentenverwaltungssystemNormalvektorARM <Computerarchitektur>SharewareIntelHardwareMereologiePacket Loss ConcealmentMittelwertÄhnlichkeitsgeometrieQuellcodeBefehl <Informatik>VersionsverwaltungEin-AusgabeFunktion <Mathematik>Gerichteter GraphVerschlingungEingebettetes SystemRouterHalbleiterspeicherMaßerweiterungSampling <Musik>Enterprise-Resource-PlanningGeradeFirmwareMaschinencodeKeller <Informatik>ATMCachingMaximum-Entropie-MethodeKartesische AbgeschlossenheitMP3InterprozesskommunikationAnalog-Digital-UmsetzerRechenzentrumAtomarität <Informatik>URLMachsches PrinzipSpannweite <Stochastik>VIC 20Verhandlungs-InformationssystemDatentypZentralisatorProzessautomationMereologieElektronische PublikationBetriebssystemProgrammbibliothekPhysikalisches SystemServerParserFormale SpracheSpeicherabzugBenutzerbeteiligungDifferenteQuellcodeZusammenhängender GraphWeb SiteSchedulingFunktionalBildgebendes VerfahrenBitImplementierungBereichsschätzungAdressraumMultiplikationsoperatorMetropolitan area networkProdukt <Mathematik>Minkowski-MetrikPartikelsystemDialektHardwareGarbentheorieVersionsverwaltungGerichteter GraphDatensatzKonfigurationsraumDienst <Informatik>ARM <Computerarchitektur>SpeicherschutzReverse EngineeringAblaufverfolgungSpeicherverwaltungWahlfreier ZugriffVerschlingungTopologieEinsRechenwerkApp <Programm>VerknüpfungsgliedMaschinenspracheFamilie <Mathematik>CASE <Informatik>HalbleiterspeicherKeller <Informatik>Lesen <Datenverarbeitung>ExistenzsatzPunktAggregatzustandOverhead <Kommunikationstechnik>SprachsyntheseInformationTabelleATMSoftwareSchnittmengeBinärcodeKartesische KoordinatenProzess <Informatik>Pi <Zahl>IntegralProtokoll <Datenverarbeitungssystem>Peripheres GerätFlash-SpeicherBefehlsprozessorFirmwareMapping <Computergraphik>Fuzzy-LogikRandomisierungVHDSLSerielle SchnittstellePuffer <Netzplantechnik>ComputeranimationProgramm/Quellcode
GamecontrollerVIC 20GarbentheorieBootenICC-GruppeFunktion <Mathematik>FirmwarePhysikalisches SystemDatenstrukturDatenverwaltungFreewareHalbleiterspeicherKernel <Informatik>DateisystemLeistung <Physik>WiderspruchsfreiheitElektronische PublikationCompilerKeller <Informatik>Sturmsche KetteMetadatenPacket Loss ConcealmentSchätzungKonstanteTypentheorieHash-AlgorithmusFlash-SpeicherKoroutineDatenkompressionDateiformatSpeicherabzugDienst <Informatik>VersionsverwaltungMereologieMaschinencodeMathematikBefehlsprozessorATMInformationSerielle SchnittstelleBimodulSkriptspracheAppletMessage-PassingCodierung <Programmierung>Coxeter-GruppeSystemstartPlastikkarteDateiverwaltungSystemstartBetriebssystemComputersicherheitMereologieFunktionalMenütechnikMaschinenspracheWiderspruchsfreiheitZeiger <Informatik>FirmwareMAPVersionsverwaltungZusammenhängender GraphHalbleiterspeicherBenutzerbeteiligungE-MailDatenstrukturInterrupt <Informatik>Bildgebendes VerfahrenProdukt <Mathematik>VektorraumKernel <Informatik>BootenPunktMailing-ListeFunktion <Mathematik>Formale SpracheDatenverwaltungDatenfeldSelbstrepräsentationTabelleBinärdatenWeb-SeiteCASE <Informatik>BefehlsprozessorEnthalpieEin-AusgabeDienst <Informatik>Reverse EngineeringQuellcodeIntegralBitRechenschieberElektronische PublikationAdressraumFörderverein International Co-Operative StudiesDifferenteÄhnlichkeitsgeometrieATMLastZweiKonfigurationsraumHardwareRechter WinkelParametersystemCoxeter-GruppeServerPhysikalisches SystemLesezeichen <Internet>Lokales MinimumSyntaktische AnalyseAggregatzustandTotal <Mathematik>ImplementierungPlastikkarteElektronische UnterschriftSocket-SchnittstelleMathematische LogikToken-RingMultiplikationsoperatorWrapper <Programmierung>SchnittmengeEntscheidungsmodellFunktionspunktmethodeEinschließungssatzOrdnung <Mathematik>StichprobenumfangRoboterGoogolWasserdampftafelWiederkehrender ZustandWärmeausdehnungBildverstehenProgramm/Quellcode
HardwareInhalt <Mathematik>SystemstartZeichenkettePacket Loss ConcealmentDateiformatSoftwaretestFlash-SpeicherEmulationVersionsverwaltungAnalog-Digital-UmsetzerICC-GruppeAdressraumZyklische RedundanzprüfungInformationIndexberechnungMAPFirmwareCoxeter-GruppeSchreiben <Datenverarbeitung>PlastikkarteRuhmasseFunktion <Mathematik>ATMBootenMaschinencodeZeiger <Informatik>TabelleHalbleiterspeicherPrimitive <Informatik>Wurm <Informatik>Ganze FunktionUmwandlungsenthalpieMessage-PassingZeichenketteFunktionalMaschinenspracheKanalkapazitätKonfigurationsraumSystemstartAblaufverfolgungClientMailing-ListeExogene VariableAdressraumSpeicherabzugCodierung <Programmierung>HardwareGamecontrollerInterface <Schaltung>RechenschieberATMNichtlinearer OperatorFlash-SpeicherCASE <Informatik>Inhalt <Mathematik>ZahlenbereichDemoszene <Programmierung>Wurm <Informatik>HalbleiterspeicherHydrostatikMereologieBefehlsprozessorInjektivitätAutomatische IndexierungTeilmengeDemo <Programm>ROM <Informatik>Reverse EngineeringDifferenteProgrammverifikationTabelleKette <Mathematik>Service providerFehlermeldungBitVersionsverwaltungWort <Informatik>ParametersystemCoxeter-GruppePunktZeiger <Informatik>Kontextbezogenes SystemDateiformatMAPRechter WinkelProzess <Informatik>AuswahlaxiomUmwandlungsenthalpieOrtsoperatorWasserdampftafelTelekommunikationPrimitive <Informatik>SichtenkonzeptSpiegelung <Mathematik>FunktionspunktmethodeBootenKryptologieRahmenproblemMomentenproblemAggregatzustandMeterWeb logComputeranimation
Demoszene <Programmierung>Packet Loss ConcealmentHalbleiterspeicherFirmwareExogene VariableTelekommunikationWurm <Informatik>ClientRohdatenSpeicherverwaltungMAPSystemstartVersionsverwaltungBefehlsprozessorFramework <Informatik>RahmenproblemWeb SiteComputeranimationVorlesung/KonferenzProgramm/Quellcode
BinärdatenTopologieWeb SiteEinfach zusammenhängender RaumFramework <Informatik>BitSichtenkonzeptWort <Informatik>Luenberger-BeobachterServere <Zahl>Güte der AnpassungOffene MengeBenutzerbeteiligungWiederkehrender ZustandComputeranimationVorlesung/Konferenz
Mini-DiscFunktionalLastPasswortRahmenproblemQuick-SortWeb SiteMereologieAdressraumBefehlsprozessorServerRechter WinkelBenutzerbeteiligungPufferüberlaufPuffer <Netzplantechnik>Framework <Informatik>ClientLuenberger-Beobachter
Packet Loss ConcealmentAdressraumMereologieBootenClientBefehlsprozessorMAPInhalt <Mathematik>Wurm <Informatik>RohdatenRoutingRechter WinkelComputeranimationVorlesung/Konferenz
SkriptspracheBildschirmfensterWurm <Informatik>Packet Loss ConcealmentPi <Zahl>SpeicherabzugMaximum-Entropie-MethodeVirtuelle MaschineWeb SiteRahmenproblemArithmetisches MittelMatchingSystemstartMaschinenspracheHalbleiterspeicherMessage-PassingMultiplikationsoperatorExogene VariableWurm <Informatik>Framework <Informatik>SpieltheorieKomplex <Algebra>LoopProzess <Informatik>ART-NetzOrdnung <Mathematik>Computeranimation
MaschinencodeWurm <Informatik>MultiplikationsoperatorInternetworkingPartielle DifferentiationTropfenOrtsoperatorDemo <Programm>Interface <Schaltung>ClientArithmetisches MittelWarteschlangeComputeranimation
KoroutineProzessautomationWechselsprungTabelleProgrammierungMaschinencodeFirmwareSyntaktische AnalyseVorzeichen <Mathematik>HardwareKeller <Informatik>Packet Loss ConcealmentGamecontrollerSpieltheorieComputersicherheitRechter WinkelPhysikalisches SystemCASE <Informatik>QuaderFormation <Mathematik>FunktionalNotepad-ComputerImplementierungRahmenproblemAutomatische DifferentiationComputersicherheitFlächeninhaltOrdnung <Mathematik>PortscannerART-NetzKomplex <Algebra>sinc-FunktionDualitätssatzStellenringMereologieDienst <Informatik>RechnernetzSyntaktische AnalyseUmwandlungsenthalpieProzess <Informatik>Peer-to-Peer-NetzPerspektiveÄußere Algebra eines ModulsInternetworkingTeilbarkeitTabelleProjektive EbeneeCosNatürliche ZahlMAPCanadian Mathematical SocietyFlächentheorieIntegralVorzeichen <Mathematik>ProgrammverifikationEndliche ModelltheorieWechselsprungProgrammfehlerParserMalwareSystemstartMaschinenspracheDateiverwaltungServerBenutzerbeteiligungSoftwareElektronische UnterschriftHardwareRPCComputeranimation
MatrizenrechnungInternetworkingFlächeninhaltVirtuelle MaschineSystemstartPasswortAutorisierungComputersicherheitÄhnlichkeitsgeometrieParserMultiplikationsoperatorFunktionalMereologieHilfesystemCASE <Informatik>PunktPeer-to-Peer-NetzMehrrechnersystemComputeranimationVorlesung/KonferenzBesprechung/Interview
SpeicherabzugSchreiben <Datenverarbeitung>Flash-SpeicherComputersicherheitRahmenproblemProzess <Informatik>RoboterOrdnung <Mathematik>FunktionalSocketPhysikalischer EffektPunktMaschinenspracheInhalt <Mathematik>Projektive EbeneMultiplikationsoperatorWeb SiteNeunzehnFormation <Mathematik>RobotikMereologieKonditionszahlBildgebendes VerfahrenVersionsverwaltungFokalpunktLesen <Datenverarbeitung>Interface <Schaltung>TelekommunikationResultanteProgrammverifikationWhiteboardHalbleiterspeichert-TestVerzweigendes ProgrammSystemstartSoftwareBootenFirmwareHardwareInternetworkingWechselsprungBefehlsprozessorEndliche ModelltheorieIntegralVorlesung/Konferenz
Computeranimation
Transkript: Englisch(automatisch erzeugt)