14. Deutscher IT‐Sicherheitskongress Trusted Control Flow Integrity (TCFI) Markus Maybaum 19. Mai 2015 Trusted Computing (TC) • Trusted Computing Group • Vertrauenskette BIOS KERNEL • Krypto‐basierte Hardware‐Assistenz für Systemintegrität Digitale Signaturen Application • Trusted Platform Module (TPM) Vertrauenskette: Beispiel Windows Application Environment Subsystem (kernel32.dll, user32.dll, …) Windows API (several DLLs) ntdll.dll User Mode Kernel Mode Windows Executive Service (ntoskrnl.exe) I/O IPC Kernel GDI VMM ... Kernel Drivers Hardware Abstraction Layer (hal.dll) Das Problem: Die Vertrauenskette endet ... BIOS HAL KERNEL APP PROCESS • Digitale Signaturen auf • Gefahr: EXPLOITATION ROM / Dateiebene, NICHT auf Prozessebene Control Flow Integrity (CFI) • Überwachung von Programmabläufen Kontrolle von Kontrollflussübergängen EXPLOITATION bricht die Integrität von Programmabläufen TCFI ‐ Idee • Trusted Computing + • Control Flow Integrity Trusted Branch Tables (TBT) • Programmsemantik vollständig bekannt – Übersetzung – Bindung • Kontrollflussübergänge – statisch – dynamisch 003010 003100 00313d 004010 003143 … 003740 … • Speicherung als Metadaten (Overhead) Beispiel ‐ Statische Sprünge • Active Branch Table 003d 004f 0043 004f 004f 0059 if (pass == number) { printf("Correct\n"); } else { printf("Invalid\n"); } • Passive Branch Table = 0030 8B45F8 0033 F30F2AC0 0037 0F2E45FC 003b 7A12 003d 0F2E45FC 0041 750C 0043 BF000000 0048 E8000000 004d EB0A 004f BF000000 0054 E8000000 0059 … 004f 003d 004f 0043 0059 004f .L1: .L2: movl vtsi2ss ucomiss jp ucomiss jne movl call jmp movl call puts -8(%rbp), %eax %eax, %xmm0 -4(%rbp), %xmm0 .L1 -4(%rbp), %xmm0 .L1 $.LC3, %edi puts .L2 $.LC4, %edi Dynamische Sprünge • Mehrfachverzweigung • Rücksprünge aus Funktionen • Integritätskontrolle: – Aufruf TPM Funktion – Prozessterminierung bei Integritätsverletzung Trusted Checkpointing • Kontrollpunkte im Programmablauf – Reihenfolge – Zeitabstände –… • Integritätskontrolle: – Aufruf TPM Funktion – Prozessterminierung bei Integritätsverletzung Ausblick • Weiterentwicklung: Attack Recognition Module Technologiebasis für „Trusted Integrity Networks“ Projekte • Responsive Cyber Defence Joint Cyber Defence Networks (JCDNs) • Rüstungskontrolle im Cyberraum Verifikationsnetzwerke zur Frühwarnung / zum Erkennen von Cyberwaffen und Cyberangriffen HABEN SIE FRAGEN ? Markus Maybaum Technology Branch NATO CCD COE Tallinn (EE) [email protected] Markus Maybaum Cyber Analysis & Defense Fraunhofer FKIE Wachtberg (DE) [email protected]
© Copyright 2025 ExpyDoc