{"id":208529,"date":"2018-08-30T09:48:02","date_gmt":"2018-08-30T07:48:02","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=208529"},"modified":"2024-04-10T18:04:20","modified_gmt":"2024-04-10T16:04:20","slug":"sicherheit-angriff-auf-tpm-und-intel-me-dump","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2018\/08\/30\/sicherheit-angriff-auf-tpm-und-intel-me-dump\/","title":{"rendered":"Sicherheit: Angriff auf TPM und Intel ME-Dump"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2015\/01\/Schutz.jpg\" width=\"40\" height=\"47\" align=\"left\" \/>[<a href=\"https:\/\/borncity.com\/win\/2018\/08\/30\/sicherheit-angriff-auf-tpm-und-intel-me-dump\/\" target=\"_blank\" rel=\"noopener\">English<\/a>]Aktuell machen zwei Sicherheitsthemen die Runde. Inzwischen ist ein Ansatz bekannt, um Vollzugriff auf die Intel Management Engine (Intel ME) zu bekommen. Und es sind zwei Angriffsmethoden auf TPM-Chips von Rechnern bekannt geworden.<\/p>\n<p><!--more--><\/p>\n<h2>Vollzugriff auf die Intel ME m\u00f6glich<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg06.met.vgwort.de\/na\/7ff85adcc003452894379a919b170ab1\" alt=\"\" width=\"1\" height=\"1\" \/>Blog-Leser Rudi K. wies mich gestern bereits per E-Mail auf den Golem.de-Artikel <a href=\"https:\/\/www.golem.de\/news\/reverse-engineering-anleitung-fuer-vollzugriff-auf-intel-me-verfuegbar-1808-136256.html\" target=\"_blank\" rel=\"noopener\">Anleitung f\u00fcr Vollzugriff auf Intel ME verf\u00fcgbar<\/a> hin (danke daf\u00fcr). Gleichzeitig ging mir \u00fcber meine Twitter-Kan\u00e4le ein <a href=\"https:\/\/twitter.com\/_markel___\/status\/1034130250538647553\" target=\"_blank\" rel=\"noopener\">Tweet<\/a> zum Thema zu.<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"de\">\n<p dir=\"ltr\" lang=\"en\">Ready to uncover Intel ME background? Use our PoC to activate JTAG and dump ME ROM <a href=\"https:\/\/t.co\/PXDCrssolB\">https:\/\/t.co\/PXDCrssolB<\/a><\/p>\n<p>\u2014 Mark Ermolov (@_markel___) <a href=\"https:\/\/twitter.com\/_markel___\/status\/1034130250538647553?ref_src=twsrc%5Etfw\">27. August 2018<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Es gibt ein Proof of Concept (PoC), um den <a href=\"https:\/\/de.wikipedia.org\/wiki\/Joint_Test_Action_Group\" target=\"_blank\" rel=\"noopener\">JTAG<\/a>-Modus zu aktivieren, mit dem sich der Inhalt des Intel ME-Firmware dumpen l\u00e4sst.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Mainboard\" src=\"https:\/\/i.imgur.com\/bsYodMo.jpg\" alt=\"Mainboard\" width=\"618\" height=\"412\" \/><br \/>\n(Quelle: Pexels <a href=\"https:\/\/www.pexels.com\/u\/fancycrave-60738\/\">Fancycrave<\/a> CC0 License)<\/p>\n<h3>Kurzinformation zur Intel ME<\/h3>\n<p>Die Intel ME ist laut <a href=\"https:\/\/en.wikipedia.org\/wiki\/Intel_Management_Engine\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a> ist ein autonomes Subsystem, das seit 2008 in nahezu allen Prozessor-Chips\u00e4tzen von Intel integriert ist. Das Subsystem besteht haupts\u00e4chlich aus propriet\u00e4rer Firmware, die auf einem separaten Mikroprozessor l\u00e4uft und w\u00e4hrend des Bootvorgangs, w\u00e4hrend der Computer l\u00e4uft, und w\u00e4hrend er im Ruhezustand ist. ] Solange der Chipsatz oder SoC mit Strom (\u00fcber Batterie oder Stromversorgung) verbunden ist, l\u00e4uft es auch dann weiter, wenn das System ausgeschaltet ist. Die genaue Funktionsweise ist weitgehend undokumentiert und der Code der Firmware wird durch (direkt in der Hardware gespeicherte) vertrauliche Huffman-Tabellen verschleiert.<\/p>\n<h3>Der IntelTXE-PoC<\/h3>\n<p>Allerdings ist die Intel ME in der Vergangenheit durch gravierende Sicherheitsl\u00fccken aufgefallen. Eine dieser Sicherheitsl\u00fccken hatte ich im Blog-Beitrag <a href=\"https:\/\/borncity.com\/blog\/2017\/11\/21\/neuer-bug-in-intels-management-engine\/\">Neuer Bug in Intels Management Engine (Intel SA-00086)<\/a> thematisiert. Die Schwachstellen f\u00fchrten dazu, dass es Leuten gelungen ist, die Intel ME zumindest bei bestimmten Ger\u00e4ten abzuschalten (siehe meinen Beitrag <a href=\"https:\/\/borncity.com\/blog\/2017\/08\/28\/intel-management-engine-me-abschalten\/\">Intel Management Engine (ME) abschalten<\/a>).<\/p>\n<p>Die in 2017 entdeckten Sicherheitsl\u00fccken (<a href=\"https:\/\/web.archive.org\/web\/20240406115701\/https:\/\/www.intel.com\/content\/www\/us\/en\/security-center\/advisory\/intel-sa-00086.html\" target=\"_blank\" rel=\"noopener\">INTEL-SA-00086<\/a>) f\u00fchrten nun dazu, dass ein Proof of Concept (PoC) entwickelt werden konnte, um den <a href=\"https:\/\/de.wikipedia.org\/wiki\/Joint_Test_Action_Group\" target=\"_blank\" rel=\"noopener\">JTAG-Modus<\/a> f\u00fcr die Intel ME zu aktivieren. Dies ist ein Standard zum Testen und Debuggen integrierter Schaltungen nach der Fertigung.<\/p>\n<p>Konkret beinhaltet die Sicherheitsanf\u00e4lligkeit INTEL-SA-00086 einen Puffer\u00fcberlauf beim Umgang mit einer auf MFS (dem internen ME-Dateisystem) gespeicherten Datei. Aufsetzend auf dieser Schwachstelle hat das Team von Positive Technologies ein PoC f\u00fcr die <a href=\"https:\/\/www.gigabyte.com\/ru\/Mini-PcBarebone\/GB-BPCE-3350C-rev-10\" target=\"_blank\" rel=\"noopener\">Gigabyte Brix GP-BPCE-3350C<\/a> Plattform zum Aktivierung des JTAG-Modus entwickelt und auf <a href=\"https:\/\/web.archive.org\/web\/20220325061036\/https:\/\/github.com\/ptresearch\/IntelTXE-PoC\" target=\"_blank\" rel=\"noopener\">GitHub<\/a> ver\u00f6ffentlicht. Damit ist quasi ein Vollzugriff per USB und JTAG-Modus auf die Intel ME m\u00f6glich.<\/p>\n<p>Damit l\u00e4sst sich nicht nur die Intel ME-Firmware auslesen (dumpen) sondern auch deren Funktion manipulieren. Maxim Goryachy, der an diesen Arbeiten beteiligt ist, meldete dann auch:<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"de\">\n<p dir=\"ltr\" lang=\"en\">Game over! We (I and <a href=\"https:\/\/twitter.com\/_markel___?ref_src=twsrc%5Etfw\">@_markel___<\/a> ) have obtained fully functional JTAG for Intel CSME via USB DCI. <a href=\"https:\/\/twitter.com\/hashtag\/intelme?src=hash&amp;ref_src=twsrc%5Etfw\">#intelme<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/jtag?src=hash&amp;ref_src=twsrc%5Etfw\">#jtag<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/inteldci?src=hash&amp;ref_src=twsrc%5Etfw\">#inteldci<\/a> <a href=\"https:\/\/t.co\/cRPuO8J0oG\">pic.twitter.com\/cRPuO8J0oG<\/a><\/p>\n<p>\u2014 Maxim Goryachy (@h0t_max) <a href=\"https:\/\/twitter.com\/h0t_max\/status\/928269320064450560?ref_src=twsrc%5Etfw\">8. November 2017<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Mehr ist dazu nicht zu sagen \u2013 ich denke, auch wenn es kein allgemeines PoC f\u00fcr Intel ME ist, wird dieses Feature nun sturmreif geschossen. Weitere Details finden sich in den oben verlinkten Artikeln.<\/p>\n<p>W\u00fcrde mich nicht wundern, wenn das, zusammen mit den Schwachstellen Meltdown und Spectre in den Intel CPUs zu wirklichen Problemen f\u00fchrt. K\u00f6nnte sein, dass das WinTel-Kartell irgendwann Risse bekommt, und die u.a. von Martin Geu\u00df <a href=\"https:\/\/www.drwindows.de\/news\/surface-go-arm-cpu-war-eine-option\" target=\"_blank\" rel=\"noopener\">thematisierte<\/a> Entscheidung Microsofts das Surface Go mit Intel-CPUs statt mit ARM-Prozessoren auszustatten, unklug war \u2013 aber das ist Spekulation.<\/p>\n<h2>Angriffe auf TPM-Chips<\/h2>\n<p>Die zweite Sicherheitsnachricht kam mir die Nacht ebenfalls per Twitter unter die Augen. Catalin Cimpanu verweist dort auf den Artikel <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/researchers-detail-two-new-attacks-on-tpm-chips\/\" target=\"_blank\" rel=\"noopener\">Researchers Detail Two New Attacks on TPM Chips<\/a> bei Bleeping Computer.<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"de\">\n<p dir=\"ltr\" lang=\"en\">Some PC owners may need to search for and apply motherboard firmware updates in the near future to address two attacks on TPM chips detailed earlier this month by four researchers from the National Security Research Institute of South Korea.<a href=\"https:\/\/t.co\/akWWdN5ZRh\">https:\/\/t.co\/akWWdN5ZRh<\/a> <a href=\"https:\/\/t.co\/mu1Odfqkcw\">pic.twitter.com\/mu1Odfqkcw<\/a><\/p>\n<p>\u2014 Catalin Cimpanu (@campuscodi) <a href=\"https:\/\/twitter.com\/campuscodi\/status\/1034865139042983937?ref_src=twsrc%5Etfw\">29. August 2018<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<h3>Hintergrund zu TMP<\/h3>\n<p>Aufgabe des <a href=\"https:\/\/de.wikipedia.org\/wiki\/Trusted_Platform_Module\" target=\"_blank\" rel=\"noopener\">Trusted Platform Module<\/a> (TPM) ist es, die Authentizit\u00e4t der Hardware sicherzustellen. Ein TPM verwendet RSA-Verschl\u00fcsselungsschl\u00fcssel, um die am Bootvorgang eines Computers beteiligten Hardwarekomponenten, aber auch dessen normale Funktion zu authentifizieren. Die Funktionsweise von TPM und die Integration der TPM Komponenten in der Boot-Kette ist in der 2013 ver\u00f6ffentlichten <a href=\"https:\/\/trustedcomputinggroup.org\/resource\/tpm-library-specification\/\" target=\"_blank\" rel=\"noopener\">TPM 2.0-Spezifikation<\/a> vorgegeben. Insbesondere Microsoft setzt bei Windows 10 neben UEFI auf TPM-Chips, um z.B. den Bootvorgang und die Bitlocker-Verschl\u00fcsselung abzusichern (siehe auch <a href=\"https:\/\/borncity.com\/blog\/2016\/05\/15\/windows-10-version-1607-erfordert-tpm-2-0-bei-neuer-hw\/\">Windows 10 Version 1607 erfordert TPM 2.0 bei neuer HW<\/a>).<\/p>\n<h3>Angriffe auf TMP-Chips<\/h3>\n<p>Anfang August 2018 wurden zwei Angriffe auf TPM-Chips von vier Forschern des National Security Research Institute of South Korea beschrieben. Diese Angriffe erm\u00f6glichen einem Angreifer den Bootvorgang zu manipulieren.<\/p>\n<p>Die Angriffe sind dank Stromunterbrechungen m\u00f6glich, denn moderne Mainboards speisen nicht st\u00e4ndig und gleichzeitig alle ihre Komponenten mit Strom. Sie verwenden spezielle APIs, um eine Komponente nur dann mit Strom zu versorgen, wenn sie f\u00fcr die Ausf\u00fchrung einer Operation ben\u00f6tigt wird. Auch die TPM-Chips unterst\u00fctzen ACPI (Advanced Configuration and Power Interface), um dem Betriebssystem das Steuern und Optimieren des Stromverbrauchs von Peripherieger\u00e4ten zu erm\u00f6glichen.<\/p>\n<p>Die Sicherheitsforscher entdeckten zwei Probleme, die die Art und Weise, wie TPM-Chips in suspendierte Energiezust\u00e4nde geschickt und aufgeweckt werden, beeinflussen. Diese Probleme erm\u00f6glichen einem Angreifer TPMs zur\u00fcckzusetzen. Als Folge kann eine gef\u00e4lschte Boot-Komponente in den Startvorgang des Ger\u00e4ts eingeschleust werden, die vom Betriebssystem (z.B. Windows 10) dann als vertrauensw\u00fcrdig eingestuft wird. Mit anderen Worten: Die Absicherung des Boot-Vorgangs \u00fcber die im TMP-Chip gespeicherten Schl\u00fcssel ist als nicht gew\u00e4hrleistet.<\/p>\n<p>Das bedeutet, dass Nutzer von entsprechender Hardware schauen m\u00fcssen, ob die Board-Hersteller entsprechende Firmware-Updates bereitstellen, die die Schwachstellen ausb\u00fcgeln. Insgesamt erweist sich TPM (und auch das UEFI 2.x) inzwischen, zumindest in der Microsoft-Welt, als Problemquelle (siehe Linkliste). Weitere Informationen zum Thema sind <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/researchers-detail-two-new-attacks-on-tpm-chips\/\" target=\"_blank\" rel=\"noopener\">bei Bleeping Computer<\/a> nachzulesen.<\/p>\n<p><strong>\u00c4hnliche Artikel:<\/strong><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2017\/11\/21\/neuer-bug-in-intels-management-engine\/\">Neuer Bug in Intels Management Engine (Intel SA-00086)<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2017\/09\/22\/intels-management-engine-me-erneut-gehackt\/\">Intels Management Engine (ME) erneut gehackt<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2017\/08\/28\/intel-management-engine-me-abschalten\/\">Intel Management Engine (ME) abschalten<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2018\/07\/14\/surface-pro-2-will-nicht-existentes-tpm-firmware-update\/\">Surface Pro 2 will nicht existentes TPM-Firmware-Update<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2018\/06\/25\/undokumentiertes-surface-pro-3-tpm-update\/\">Undokumentiertes Surface Pro 3 TPM Update<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2017\/02\/01\/windows-10-build-15019-tpm-und-pin-fehlen-auf-surface-pro-3\/\">Windows 10 Build 15019: TPM und PIN fehlen auf Surface Pro 3<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2016\/05\/15\/windows-10-version-1607-erfordert-tpm-2-0-bei-neuer-hw\/\">Windows 10 Version 1607 erfordert TPM 2.0 bei neuer HW<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2015\/10\/05\/hp-stream-8-tpm-problem-bei-der-wiederherstellung\/\">HP Stream 8: TPM-Problem bei der Wiederherstellung<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2011\/06\/29\/heimnetzgruppe-funktioniert-bei-tpm-nicht-mehr\/\">Heimnetzgruppe funktioniert bei TPM nicht mehr<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2012\/07\/08\/tpm-by-firmware-fr-windows-8-tablets\/\">TPM by Firmware f\u00fcr Windows 8-Tablets<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[English]Aktuell machen zwei Sicherheitsthemen die Runde. Inzwischen ist ein Ansatz bekannt, um Vollzugriff auf die Intel Management Engine (Intel ME) zu bekommen. Und es sind zwei Angriffsmethoden auf TPM-Chips von Rechnern bekannt geworden.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[731,426],"tags":[6522,4328,1188],"class_list":["post-208529","post","type-post","status-publish","format-standard","hentry","category-gerate","category-sicherheit","tag-intel-me","tag-sicherheit","tag-tpm"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/208529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=208529"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/208529\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=208529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=208529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=208529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}