182.700, HW/SW Codesign, WS 2016/17 Ioannis Daktylidis, 1128193 SECURITY 182.700, HW/SW Codesign, WS 2016/17 Ioannis Daktylidis, 1128193
DISCLAIMER Diese Folien verfügen über viele englische Security Terme, die nicht übersetzt worden sind. Eine Übersetzung würde meistens die Bedeutung des Terms ändern. In der Security Welt arbeitet man überwiegend mit den englischen Termen. Möglicherweise auch der Grund wieso alle Internet Security LVAs auf Englisch gehalten werden.
OVERVIEW Definition von Security Security und Embedded Systeme Klassifizierungen von Angriffsarten Klassifizierung von Angreifern Schutzmaßnahmen FPGA Security
WAS VERSTEHT MAN UNTER SECURITY? Security provides “a form of protection where a separation is created between the assets and the threat.” These separations are generically called "controls," and sometimes include changes to the asset or the threat. [Institute for Security and Open Methodologies (ISECOM)] COMPUTER SECURITY: Computer Security is the protection of computer systems from the theft or damage to the hardware, software or the information on them, as well as from disruption or misdirection of the services they provide. https://en.wikipedia.org/wiki/Security http://www.isecom.org/research/osstmm.html
CIA TRIAD Confidentiality : Limitierter Zugang zu Informationen Integrity : Zusicherung, dass die Informationen zuverlässig sind. Availability : Zusicherung, dass Informationen autorisierten Personen (immer) zur Verfügung stehen. Viele Sicherheitsmaßnahmen versuchen eine oder mehrere Seiten des CIA Dreiecks abzudecken. http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA http://security.blogoverflow.com/2012/08/confidentiality-integrity-availability-the-three-components-of-the-cia-triad/
CIA TRIAD A system is secure if it could be used only for the purpose for which it is intended and only by the prescribed and authorized user and is available to provide service at any time. http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA http://security.blogoverflow.com/2012/08/confidentiality-integrity-availability-the-three-components-of-the-cia-triad/
WAS VERSTEHT MAN UNTER SECURITY FÜR EMBEDDED SYSTEMS? Die Bedeutung für Security in Embedded System Design ist grundlegend die gleiche (CIA Dreieck) aber Embedded Systems sind im Allgemeinen anders aufgebaut als konventionelle PCs Man kann nicht einfach allgemeine PC Sicherheitsmaßnahmen in Embedded Systems anwenden.
WIESO IST SECURITY FÜR EMBEDDED SYSTEMS ÜBERHAUPT WICHTIG? Embedded Systems sind weit ausgebreitet und überall zu finden. Oft werden sie für systemkritische Aufgaben benutzt: Kraftfahrzeuge, Luftfahrzeuge, Raumfahrzeuge, etc Kraftwerke, Stromnetz, Wasserwerke, etc Netzwerkkommunikation etc Attacken können physikalischen Schaden verursachen. http://www.iconlabs.com/prod/security-requirements-embedded-devices-%E2%80%93-what-really-needed “Introduction to Hardware Security (1)” Folien aus “183.222 Advanced Internet Security” http://www.cse.psu.edu/~pdm12/cse597g-f15/readings/cse597g-embedded_systems.pdf
DIAL-UP MODEMS März 1997 hat ein Teenager in Worcester Country (Massachusetts) ein unsicheres Modem gefunden Modem war mit einem Fiber-Optic Controller verbunden Der Controller hatte keinen User/Password prompt sondern gab alle von ihm bekannte Befehle bekannt Nach kurzer Zeit hat er die Kommunikation vom Worcester Flughafen Kontrollturm und 600 umgebende Wohnungen lahmgelegt. https://simson.net/clips/academic/2001.Wardial.pdf
TRAIN TRACK CONTROLL 14 Jähriger in Lodz (Poland) hat eine modifizierte Fernbedienung gebastelt. Fernbedienung konnte Zugschienenverbindungen steuern. Er ist in Zuglagerhäusern eingebrochen um benötigte Informationen für die Fernbedienung zu ergattern Verwendung der Fernbedienung führte zu 4 Zugentgleisungen und 14 Verletzten. http://www.theregister.co.uk/2008/01/11/tram_hack/
CAR HIJACK Dr. Charlie Miller und Chris Valasek ist es gelungen einen Jeep Cherokee (Baujahr 2014) vom Internet aus zu hacken. Nach erfolgreicher Verbindung mit dem Radio hatten Sie Zugang zu allen CAN Bussen des Autos. Kontrolle über Motor, Bremse, Geschwindigkeit, etc Chrysler musste 1.4 Millionen Autos rückrufen und aktualisieren. https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
SCADA: Siemens Supervisory Control and Data Acquisition) ICS: Industrial Control System) PLC: Programmable Logic Controller STUXNET Stuxnet ist ein Wurm der SCADA gesteuerte Zentrifugen zerstoert hat. Spreader, Dropper, Payload Struktur Anfangsinfektion durch infizierten USB Stick Verbreitung ohne Internet SCADA ICS für spezifisch konfigurierte PLC scannen. (Modelnummer, Config Datei, etc) Gefundene Controller mit Payload infizieren (via Hardcoded Passworts) 3 verschiedene Payloads für Zentrifugen Kontroller. Payload steuert Zentrifugen Motoren und hindert normalen Programverlauf.
STUXNET Stuxnet wurde erst nach 1 Jahr gefunden (2011) Ziel von Stuxnet war Iran‘s Uranium Enrichment Facility in Natanz. Code viel zu anpruchsvoll ,raffiniert und komplex State Goverment Attack https://ay12-14.moodle.wisc.edu/prod/pluginfile.php/20462/mod_resource/content/1/MTR%20example%20-%20Stuxnet.pdf Rootkit Code der Stuxnet versteckt
EMBEDDED SECURITY CHALLENGES Kritische Funktionalität Verhindern des Normalbetriebes könnte katastrophale Auswirkungen haben. Beschränkter Overhead Meist nicht genug Ressourcen für sicherheitsrelevante Aufgaben Meist auch Energie Beschränkungen (Akku betrieben) Massenproduktion Zwei Millionen auf einen Streich (Falls Attacke erfolgreich) Langer Lebenszyklus Sicherheitsmaßnahmen sind schnell veraltet Aktualisierung Meist schwer neu gefundene Schwachstellen zu patchen. http://www.iconlabs.com/prod/security-requirements-embedded-devices-%E2%80%93-what-really-needed http://ieeexplore.ieee.org/document/1310250/?part=1
EMBEDDED SECURITY CHALLENGES Physikalischer Zugriff Direkter Zugriff von Angreifer ermöglicht mehr Angriffsmöglichkeiten Patentierte/Industrielle Protokolle Spezielle (nicht im Sicherheitsmittelpunkt) Protokolle können Schwachstellen aufweisen Falsche Sicherheitsannahmen Embedded System Designer meinen ihr Produkt wäre kein Angriffsziel. „Security by Obscurity“ http://www.iconlabs.com/prod/security-requirements-embedded-devices-%E2%80%93-what-really-needed http://ieeexplore.ieee.org/document/1310250/?part=1
KLASSIFIZIERUNG DES ANGRIFFS Nach der benutzen Methode (by Ravi‘s Taxonomy): CIA TRIAD https://www.researchgate.net/publication/268262540_Security_Considerations_in_Embedded_Systems#pfd
KLASSIFIZIERUNG DES ANGREIFERS CLASS I: Clever Outsider Intelligent aber ohne Wissen des Aufbau des Systems CLASS II: Knowledgeable Insider Sehr gebildet mit genauem Wissen von Teilen des Systems CLASS III: Funded Organization / Goverment Unlimitierte Ressourcen, höchst spezialisierte Werkzeuge Abraham, D. et al, 1991. Transaction Security System. IBM Systems Journal , Vol 30, No 2, pp 206-229. https://pdfs.semanticscholar.org/95ff/ff04042797a44eaaf724c7040b2b67de288b.pdf
KLASSIFIZIERUNG DES ANGREIFERS CLASS I: Clever Outsider Intelligent aber ohne Wissen des Aufbau des Systems CLASS (1/2): Können dokumentierte Angriffe lesen und nachmachen (z.B. Schritt für Schritt Anleitungen) CLASS II: Knowledgeable Insider Sehr gebildet mit genauen Wissen von Teilen des Systems CLASS III: Funded Organization / Goverment Unlimitierte Ressourcen, höchst spezialisierte Werkzeuge Abraham, D. et al, 1991. Transaction Security System. IBM Systems Journal , Vol 30, No 2, pp 206-229. https://pdfs.semanticscholar.org/95ff/ff04042797a44eaaf724c7040b2b67de288b.pdf
KLASSIFIZIERUNG DES ANGREIFERS Abraham, D. et al, 1991. Transaction Security System. IBM Systems Journal , Vol 30, No 2, pp 206-229. https://pdfs.semanticscholar.org/95ff/ff04042797a44eaaf724c7040b2b67de288b.pdf
ZIELE DES ANGRIFFS Cloning (z.B. China Reverse Engineering) Theft-of-Service (z.B. freien Kabel Zugang) Denial-of-Service Spoofing Feature unlocking (z.B. Port forwarding in modems) Espionage Damage/Destruction/Sabotage (z.B. Stuxnet)
TAXONOMY OF EMBEDDED SYSTEMS ATTACKS Entnommen von Embedded System relevanten Einträge in der CVE (Common Vulnerabilities and Exposure) Datenbank [Embedded Systems Security: Threats, Vulnerabilities, and Attack Taxonomy, Dorottya Papp, Zhendong Ma, Levente Buttyan] http://www.cse.psu.edu/~pdm12/cse597g-f15/readings/cse597g-embedded_systems.pdf
WAS IST LEICHTER ANZUGREIFEN? Embedded System vs Conventional Computer In Konventionellen Computern wird für eine Angriff meistens die Software und nicht die Hardware benutzt. In Embedded Systeme steht für den Angriff sowohl die Software als auch die Hardware zur Verfügung. Embedded Systeme haben eine größere Angriffsfläche
WAS IST LEICHTER ANZUGREIFEN? Hardware vs Software Im allgemeinen leichter SW zu attackieren als HW „Security Implications of Hardware vs Software Cryptographic Modules“, Hagai Bar-El Schwachstellen der SW gegenüber der HW: Memory Access Prevention Integrity Assurance Reverse Engineering Resistance to Power Analysis Attacks Long-Term Key Storage Dependence on OS Security http://www.infosecwriters.com/text_resources/pdf/Security_Implications_of_HW_vs_SW_Cryptographic_Modules.pdf
WAS IST LEICHTER ANZUGREIFEN? Hardware vs Software Beispiel : DVB Common Scrambling Algorithmus (CSA) Von DVB 1994 adoptiert Alle Hersteller müssen NDA unterschreiben Implementierung des Algorithmus in Software verboten. Information von Patent und Spezifikation nicht genug um Reverse Engineering zu erlauben 2002 hat Windows Program „FreeDec“ den CSA Algorithmus in Software implementiert Innerhalb kürzester Zeit wurde der komplette CSA reverse engineered ANALYSIS OF THE DVB COMMON SCRAMBLING ALGORITHM, Ralf-Philipp Weinmann and Kai Wirt Fault attack on the DVB Common Scrambling Algorithm, Kai Wirt
SCHUTZMASSNAHMEN Nichts ist 100% sicher Mit genug Zeit, Ressourcen und Motivation kann man alles erfolgreich angreifen. Risiko in ein akzeptables Niveau herabsetzten. Vollständiges Eliminieren nicht kostengünstig. Risk Assesment: Was muss geschützt werden? Wieso wird es geschützt? Gegen wen soll man es schützen? Gegen welche Angriffsmethode soll man es schützen? Beste Defense ist wenn die Kosten des Angriffs die Kosten des Erfolgs überwiegen.
SCHUTZMASSNAHMEN Gegen Software Angriffe: Architecture based Countermeasures Safe Languages Static Code Analyzers Dynamic Code Analyzers Anomaly Detection Techniques Sandboxing Compiler Support Library Support Operating System based Countermeasures
SCHUTZMASSNAHMEN Gegen Physikalische Angriffe: Physikalischen Zugriff verhindern (Enclosure, Epoxy Kleber, etc) Manipulationserkennung (Tamper Detection) Externe Interfaces (JTAG, RS232, etc) entfernen/deaktivieren Verstecken, Leitungen entfernen oder Sicherungen durchbrennen hilft nicht. System on Chip (SoC) Design Wichtige Daten sollten nie in frei erreichbaren Bussen zu finden sein Inner Layer PCB traces (Buried Vias) Ball Grid Array(BGA), Chip on Board(CoB), Chip in Board (CiB) https://www.blackhat.com/presentations/bh-usa-04/bh-us-04-grand/grand_embedded_security_US04.pdf
SCHUTZMASSNAHMEN Gegen Side Channel Angriffe: Noise Injection EMI Shielding Power Supply Monitoring (Comparators, Watchdogs, etc) Power Supply Noise Reduction (Filtering, Balancing, etc) Time/Clock randomization Dummy Instructions Delay Insertion
FPGA SECURITY Der IP Core (Intellectual Property) ist meistens das Wertvollste in einen FPGA SRAM basierte FPGAs sind sehr anfällig für solche Attacken Counter z.B.Actel Antifuse One Time Progamming, Disable Programming Interface via Security Fuse I/O Scan Attack Nicht benutzte Pins für Angriffserkennung verwenden.
Danke für die Aufmerksamkeit
REFERENCES https://en.wikipedia.org/wiki/Security Open Source Security Testing Methodology Manual (OSSTMM) http://www.isecom.org/research/osstmm.html https://en.wikipedia.org/wiki/Computer_security http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA http://security.blogoverflow.com/2012/08/confidentiality-integrity-availability-the-three-components-of-the-cia-triad/ http://www.iconlabs.com/prod/security-requirements-embedded-devices-%E2%80%93-what-really-needed “Introduction to Hardware Security (1)” Folien aus “183.222 Advanced Internet Security”, TU Wien Embedded Systems Security: Threats, Vulnerabilities, and Attack Taxonomy, Dorottya Papp, Zhendong Ma, Levente Buttyan http://www.cse.psu.edu/~pdm12/cse597g-f15/readings/cse597g-embedded_systems.pdf
REFERENCES An Analysis of Dial-Up Modems and Vulnerabilities, Peter Shipley, Simson L. Garfinkel https://simson.net/clips/academic/2001.Wardial.pdf http://www.theregister.co.uk/2008/01/11/tram_hack/ https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/ Investigation of the Stuxnet Worm and the Vulnerability of the United States to Similar Cyber Attacks, Gregory I Hanson https://ay12-14.moodle.wisc.edu/prod/pluginfile.php/20462/mod_resource/content/1/MTR%20example%20-%20Stuxnet.pdf Embedded System Security, P. Koopman http://ieeexplore.ieee.org/document/1310250/?part=1
REFERENCES Tamper resistance mechanisms for secure embedded systems, S. Ravi, A. Raghunathan, S. Chakradhar http://ieeexplore.ieee.org/document/1260985/ Security Consideration in Embedded Systems, Armin Wasicek https://www.researchgate.net/publication/268262540_Security_Considerations_in_Embedded_Systems#pfd Security Implications of Hardware vs. Software Cryptographic Modules, Hagai Bar-El http://www.infosecwriters.com/text_resources/pdf/Security_Implications_of_HW_vs_SW_Cryptographic_Modules.pdf ANALYSIS OF THE DVB COMMON SCRAMBLING ALGORITHM, Ralf-Philipp Weinmann and Kai Wirt Fault attack on the DVB Common Scrambling Algorithm, Kai Wirt
REFERENCES https://www.blackhat.com/presentations/bh-usa-04/bh-us-04-grand/grand_embedded_security_US04.pdf A Taxonomy of Attacks on Secure Devices, A J Rae, L.P. Wildman http://eprints.whiterose.ac.uk/72141/1/taxonomy.pdf Classification of Attacks on Embedded Systems, Noura Ouerdi, M‘hammed Ziane, Abdelmalek Azizi, Mostafa Azizi http://thescipub.com/PDF/jcssp.2012.1834.1838.pdf Embedded Systems Security, Muhammad Farooq-i-Azam, Muhammad Naemm Ayyaz https://arxiv.org/ftp/arxiv/papers/1610/1610.00632.pdf Embedded Systems Security—An Overview, Sri Parameswaran, Tilman Wolf http://www.ecs.umass.edu/ece/wolf/pubs/daes2008.pdf
REFERENCES Security in Embedded Systems, Jesus Lizarraga, Roberto Uribeetxeberia, Urko Zurutuza, Miguel Fernandez https://pdfs.semanticscholar.org/95ff/ff04042797a44eaaf724c7040b2b67de288b.pdf