{"id":21928,"date":"2020-01-16T17:57:10","date_gmt":"2020-01-16T15:57:10","guid":{"rendered":"https:\/\/www.kaspersky.de\/blog\/?p=21928"},"modified":"2020-01-16T17:57:10","modified_gmt":"2020-01-16T15:57:10","slug":"36c3-pdf-digital-signature","status":"publish","type":"post","link":"https:\/\/www.kaspersky.de\/blog\/36c3-pdf-digital-signature\/21928\/","title":{"rendered":"Kann man digitalen Signaturen in PDF-Dateien vertrauen?"},"content":{"rendered":"<p style=\"text-align: left\">Es gibt kaum ein Unternehmen oder eine Regierungsbeh\u00f6rde, die keine PDF-Dateien verwendet. Dar\u00fcber hinaus werden h\u00e4ufig digitale Signaturen verwendet, um die Authentizit\u00e4t solcher Dokumente sicherzustellen. Wenn Sie eine signierte Datei per PDF-Viewer \u00f6ffnen, zeigt das Programm eine Markierung an, die signalisiert, dass und von wem das Dokument signiert wurde. Au\u00dferdem erh\u00e4lt man Zugriff auf das Men\u00fc der Signatur\u00fcberpr\u00fcfung.<\/p>\n<p style=\"text-align: left\">Ein Forscherteam mehrerer deutscher Universit\u00e4ten hat die Robustheit solcher PDF-Signaturen getestet. Vladislav Mladenov von der Ruhr-Universit\u00e4t Bochum <a href=\"https:\/\/media.ccc.de\/v\/36c3-10832-how_to_break_pdfs\" target=\"_blank\" rel=\"noopener nofollow\">teilte die Ergebnisse des Teams<\/a> auf dem Chaos Communication Congress (36\u04213) mit.<\/p>\n<p style=\"text-align: left\">Die Aufgabe der Forscher war einfach: Den Inhalt eines signierten PDF-Dokuments zu \u00e4ndern, ohne dabei die G\u00fcltigkeit der Signatur zu beeintr\u00e4chtigen. Theoretisch k\u00f6nnten Cyberkriminelle das Gleiche tun, um einer signierten Datei falsche Informationen oder sch\u00e4dliche Inhalte hinzuzuf\u00fcgen. Schlie\u00dflich vertrauen Kunden einem von einer Bank signierten Dokument und klicken h\u00f6chstwahrscheinlich auch auf die darin enthaltenen Links.<\/p>\n<p style=\"text-align: left\">Das Team w\u00e4hlte die 22 beliebtesten PDF-Viewer f\u00fcr verschiedene Plattformen aus und f\u00fctterte sie systematisch mit den Ergebnissen ihrer Experimente.<\/p>\n<h2 style=\"text-align: left\">Die Struktur einer PDF-Datei<\/h2>\n<div id=\"attachment_21929\" style=\"width: 201px\" class=\"wp-caption alignright\"><a href=\"https:\/\/media.ccc.de\/v\/36c3-10832-how_to_break_pdfs\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21929\" class=\"wp-image-21929 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/96\/2020\/01\/16133730\/36C3-PDF-digital-signature-1.png\" alt=\"Dateistruktur einer PDF\" width=\"191\" height=\"279\"><\/a><p id=\"caption-attachment-21929\" class=\"wp-caption-text\">Struktur einer PDF-Datei<\/p><\/div>\n<p style=\"text-align: left\">Zun\u00e4chst ein paar Worte zum PDF-Format selbst. Jede Datei besteht aus vier Hauptteilen: Header (dt. Kopfzeile), die die PDF-Version anzeigt; Body (dt. Textk\u00f6rper), der den Hauptinhalt widerspiegelt; XRef-Table, ein Verzeichnis, in dem die Objekte im Textk\u00f6rper und ihre Positionen aufgelistet sind (zum Anzeigen des Inhalts); und Trailer, mit dem PDF-Viewer das Dokument lesen. Der Trailer enth\u00e4lt zwei wichtige Parameter, die dem Programm mitteilen, wo mit der Verarbeitung der Datei begonnen werden soll und wo der Xref-Abschnitt beginnt.<\/p>\n<p style=\"text-align: left\">Im PDF-Format ist eine inkrementelle Update-Funktion integriert, mit der die Benutzer beispielsweise einen Teil des Textes markieren und Kommentare hinterlassen k\u00f6nnen. Aus technischer Sicht f\u00fcgt die Funktion drei weitere Abschnitte hinzu: Aktualisierungen f\u00fcr den Textk\u00f6rper, ein neues XRef-Verzeichnis und einen neuen Trailer. Dadurch ist es m\u00f6glich, die Sichtweise der Objekte f\u00fcr den Benutzer zu \u00e4ndern und neue Inhalte hinzuzuf\u00fcgen. Im Wesentlichen ist eine digitale Signatur auch eine inkrementelle Aktualisierung, die der Datei ein weiteres Element und entsprechende Abschnitte hinzuf\u00fcgt.<\/p>\n<h2 style=\"text-align: left\">Incremental Saving Attack (ISA)<\/h2>\n<div id=\"attachment_21930\" style=\"width: 208px\" class=\"wp-caption alignright\"><a href=\"https:\/\/media.ccc.de\/v\/36c3-10832-how_to_break_pdfs\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21930\" class=\"wp-image-21930 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/96\/2020\/01\/16134140\/36C3-PDF-digital-signature-2.png\" alt=\"Das Hinzuf\u00fcgen eines inkrementellen Updates\" width=\"198\" height=\"405\"><\/a><p id=\"caption-attachment-21930\" class=\"wp-caption-text\">Das Hinzuf\u00fcgen eines inkrementellen Updates<\/p><\/div>\n<p style=\"text-align: left\">Zun\u00e4chst versuchte das Team, der Datei mit einem weiteren inkrementellen Update mithilfe eines Texteditors zus\u00e4tzliche Abschnitte hinzuzuf\u00fcgen. Streng genommen ist das kein Angriff \u2013 das Team hat einfach eine Funktion verwendet, die von den Erstellern des Formats implementiert wurde. Wenn ein Benutzer eine Datei \u00f6ffnet, die auf diese Weise ge\u00e4ndert wurde, zeigt der PDF-Reader normalerweise eine Meldung an, dass die digitale Signatur g\u00fcltig ist, das Dokument jedoch ge\u00e4ndert wurde. Nicht die aufschlussreichste Nachricht, vor allem nicht f\u00fcr einen unerfahrenen Benutzer. Schlimmer noch, einer der PDF-Viewer (LibreOffice) zeigte die Nachricht nicht einmal an.<\/p>\n<p style=\"text-align: left\">Das n\u00e4chste Experiment umfasste das Entfernen der beiden letzten Abschnitte (d. H. das Hinzuf\u00fcgen eines Updates zum Body, aber nicht der neuen XRef und des neuen Trailers). Einige Anwendungen haben sich geweigert, mit einer solchen Datei zu arbeiten. Zwei PDF-Viewer haben das Fehlen der Abschnitte erkannt und diese automatisch hinzugef\u00fcgt, ohne den Leser \u00fcber eine \u00c4nderung des Inhalts zu benachrichtigen. Drei andere \u00f6ffneten die Datei ohne jeglichen Widerspruch.<\/p>\n<p style=\"text-align: left\">Als N\u00e4chstes fragten sich die Forscher, was passieren w\u00fcrde, wenn sie die digitale Signatur einfach in ihr eigenes \u201emanuelles\u201c Update kopieren w\u00fcrden. Zwei weitere Programme wurden hereingelegt \u2013 Foxit und MasterPDF.<\/p>\n<p style=\"text-align: left\">Insgesamt erwiesen sich 11 der 22 PDF-Viewer als anf\u00e4llig f\u00fcr diese einfachen Manipulationen. Au\u00dferdem gaben sechs von ihnen keinerlei Warnsignal, dass das zum Anzeigen ge\u00f6ffnete Dokument ge\u00e4ndert wurde. In den anderen f\u00fcnf F\u00e4llen musste der Benutzer das Men\u00fc aufrufen und die G\u00fcltigkeit der digitalen Signatur manuell \u00fcberpr\u00fcfen, um Manipulationen zu erkennen. Das einfache \u00d6ffnen der der Datei war nicht ausreichend.<\/p>\n<h2 style=\"text-align: left\">Signature Wrapping Attack (SWA)<\/h2>\n<div id=\"attachment_21931\" style=\"width: 196px\" class=\"wp-caption alignright\"><a href=\"https:\/\/media.ccc.de\/v\/36c3-10832-how_to_break_pdfs\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21931\" class=\"wp-image-21931 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/96\/2020\/01\/16134759\/36C3-PDF-digital-signature-3.png\" alt=\"Das Hinzuf\u00fcgen einer digitalen Signatur\" width=\"186\" height=\"277\"><\/a><p id=\"caption-attachment-21931\" class=\"wp-caption-text\">Das Hinzuf\u00fcgen einer digitalen Signatur<\/p><\/div>\n<p style=\"text-align: left\">Durch das Signieren eines Dokuments werden dem Body zwei wichtige Felder als inkrementelle Aktualisierung hinzugef\u00fcgt: \u201e\/ Contents\u201c (enth\u00e4lt die Signatur) und \u201e\/ ByteRange\u201c (die genaue Beschreibung dar\u00fcber, was eigentlich signiert wurde). Bei der Byterange handelt es sich um vier Parameter, die 1. den Dateianfang definieren, 2. die Anzahl der Bytes vor dem Signaturcode z\u00e4hlen, 3. einen Byte zur Verdeutlichung des Signaturendes definieren, und 4. die Anzahl der Bytes nach der Signatur z\u00e4hlen, da die digitale Signatur eine Zeichenfolge ist, die kryptografisch aus dem Code des PDF-Dokuments erzeugt wurde. Nat\u00fcrlich kann sich die Signatur nicht selbst signieren, daher wird der Bereich, in dem sie gespeichert ist, von der Signaturberechnung ausgeschlossen.<\/p>\n<p style=\"text-align: left\">Die Forscher versuchten, unmittelbar nach der Signatur ein weiteres \u201e\/ ByteRange\u201c Feld hinzuzuf\u00fcgen. Die ersten beiden Werte blieben unver\u00e4ndert, lediglich die Stelle des Endes des Signaturcodes wurde ge\u00e4ndert. Damit schaffte man einen zus\u00e4tzlichen Bereich in der Datei, in dem man b\u00f6sartige Objekte hinzuf\u00fcgen kann, sowie einen beschreibenden XRef-Abschnitt. Theoretisch w\u00fcrde der PDF-Viewer die neuen Abschnitte nicht richtig lesen, wenn die PDF richtig gelesen werden, wenn die PDF richtig verarbeitet werden w\u00fcrde. 17 der 22 Anwendungen waren jedoch f\u00fcr einen solchen Angriff anf\u00e4llig.<\/p>\n<h2 style=\"text-align: left\">Universelle Signaturf\u00e4lschung (USF)<\/h2>\n<p style=\"text-align: left\">Aus gutem Grund hat das Forschungsteam die Anwendungen einem Stresstest unterzogen. Hierbei versucht man die Werte von Feldern durch falsche zu ersetzen oder sie einfach zu l\u00f6schen. Beim Experimentieren mit dem Abschnitt \u201e\/ Contents\u201c stellte sich heraus, dass zwei Viewer die tats\u00e4chliche Signatur noch validierten, nachdem sie durch den Wert 0x00 ersetzt wurde.<\/p>\n<p style=\"text-align: left\">Und was w\u00e4re, wenn die Signatur an Ort und Stelle belassen w\u00fcrde, aber der Abschnitt \u201e\/ ByteRange (Informationen dar\u00fcber, was genau signiert wurde) gel\u00f6scht w\u00fcrde? Oder anstelle von realen Werten lediglich eine Null eingef\u00fcgt w\u00fcrde? In beiden F\u00e4llen haben einige Viewer eine solche Signatur validiert.<\/p>\n<p style=\"text-align: left\">Insgesamt wurden in 4 der 22 Programme Implementierungsfehler festgestellt, die ausgenutzt werden konnten.<\/p>\n<p style=\"text-align: left\">Die zusammenfassende Ergebnistabelle zeigt, dass nicht weniger als 21 der 22 PDF-Viewer hinters Licht gef\u00fchrt werden konnten. Das hei\u00dft, f\u00fcr alle bis auf einen von ihnen ist es m\u00f6glich, eine PDF-Datei mit b\u00f6swilligem Inhalt oder falschen Informationen zu erstellen, die f\u00fcr den Benutzer g\u00fcltig erscheinen.<\/p>\n<div id=\"attachment_21932\" style=\"width: 628px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.ccc.de\/v\/36c3-10832-how_to_break_pdfs\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21932\" class=\"wp-image-21932 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/96\/2020\/01\/16135121\/36C3-PDF-digital-signature-4.png\" alt=\"\u00dcbersicht \u00fcber die Sicherheitsl\u00fccken von PDF-Viewern\" width=\"618\" height=\"383\"><\/a><p id=\"caption-attachment-21932\" class=\"wp-caption-text\">\u00dcbersicht \u00fcber die Sicherheitsl\u00fccken von PDF-Viewern<\/p><\/div>\n<p style=\"text-align: left\">Witzigerweise war Adobe Reader 9 die einzige Anwendung, die keinem der Tricks der Forscher auf den Leim ging. Das Problem ist, dass diese Version des Adobe Readers f\u00fcr eine RCE-Sicherheitsl\u00fccke anf\u00e4llig ist und nur von Linux-Benutzern verwendet wird, einfach weil es die neueste Version ist, die ihnen zur Verf\u00fcgung steht.<\/p>\n<h2 style=\"text-align: left\">Praktischen Folgerungen<\/h2>\n<p style=\"text-align: left\">Welche praktischen Schlussfolgerungen k\u00f6nnen wir daraus ziehen? Erstens sollte niemand digitalen PDF-Signaturen blind vertrauen. Wenn Sie irgendwo ein gr\u00fcnes H\u00e4kchen sehen, bedeutet dies nicht unbedingt, dass die Signatur g\u00fcltig ist.<\/p>\n<p style=\"text-align: left\">Zweitens kann auch ein unterschriebenes Dokument ein Risiko darstellen. Vergewissern Sie sich daher, dass auf Ihrem Computer eine zuverl\u00e4ssige Sicherheitsl\u00f6sung <a href=\"https:\/\/www.kaspersky.de\/small-to-medium-business-security?icid=de_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">Kaspersky Endpoint Security for Business<\/a> installiert ist, bevor Sie online empfangene Dateien \u00f6ffnen oder auf Links klicken\u00a0\u00a0 .<\/p>\n<p style=\"text-align: left\"><input type=\"hidden\" class=\"category_for_banner\" value=\"kesb-trial\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Forscher versuchen, den Inhalt einer signierten PDF-Datei zu \u00e4ndern, ohne die G\u00fcltigkeit der Signatur zu beeintr\u00e4chtigen.<\/p>\n","protected":false},"author":700,"featured_media":21936,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1848,3107,3108],"tags":[3470,2843,2845,3477,3478,412],"class_list":{"0":"post-21928","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-36c3","11":"tag-ccc","12":"tag-chaos-communication-congress","13":"tag-digitale-signatur","14":"tag-kryptographie-main-tag-363","15":"tag-pdf"},"hreflang":[{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/36c3-pdf-digital-signature\/21928\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/36c3-pdf-digital-signature\/18382\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/36c3-pdf-digital-signature\/15256\/"},{"hreflang":"ar","url":"https:\/\/me.kaspersky.com\/blog\/36c3-pdf-digital-signature\/7402\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/36c3-pdf-digital-signature\/20142\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/36c3-pdf-digital-signature\/18443\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/36c3-pdf-digital-signature\/16892\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/36c3-pdf-digital-signature\/20888\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/36c3-pdf-digital-signature\/19665\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/36c3-pdf-digital-signature\/26041\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/36c3-pdf-digital-signature\/7543\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/36c3-pdf-digital-signature\/32073\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/36c3-pdf-digital-signature\/13921\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/36c3-pdf-digital-signature\/12666\/"},{"hreflang":"zh","url":"https:\/\/www.kaspersky.com.cn\/blog\/36c3-pdf-digital-signature\/10635\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/36c3-pdf-digital-signature\/26709\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/36c3-pdf-digital-signature\/24856\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/36c3-pdf-digital-signature\/20827\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/36c3-pdf-digital-signature\/25667\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/36c3-pdf-digital-signature\/25498\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.de\/blog\/tag\/36c3\/","name":"36c3"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/21928","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/users\/700"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/comments?post=21928"}],"version-history":[{"count":8,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/21928\/revisions"}],"predecessor-version":[{"id":21952,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/posts\/21928\/revisions\/21952"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/media\/21936"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/media?parent=21928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/categories?post=21928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.de\/blog\/wp-json\/wp\/v2\/tags?post=21928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}