
Bei der Genomsequenzierung können DNA-Moleküle geschlagen werden. Moleküle können auf einen Computer zurückschlagen, indem sie ein Programm infizieren, das versucht, sie zu lesen. Dies ist die Idee von Forschern der University of Washington, die
einen Exploit in einem DNA-Patch codiert haben . Zum ersten Mal auf der Welt haben sie bewiesen, dass Sie einen Computer über DNA aus der Ferne infizieren können.
Auf dem Foto links befindet sich ein Reagenzglas mit Hunderten von Milliarden Kopien eines Exploits, der in synthetischen DNA-Molekülen kodiert ist und nach Sequenzierung und Verarbeitung ein Computersystem infizieren kann.
In den letzten fünf Jahren sind die Kosten für die Genomsequenzierung von 100.000 USD auf weniger als 1.000 USD gesunken. Dies hat die wissenschaftliche Forschung auf dem Gebiet der Genomik und eine Vielzahl kommerzieller Dienstleistungen angeregt, die die Analyse Ihres Genoms für verschiedene Zwecke anbieten: Aufbau eines genetischen Baums, Suche nach Vorfahren, Analyse körperlicher Fähigkeiten, Veranlagung dazu verschiedene Sportarten und körperliche Aktivitäten, die Untersuchung kompatibler Mikroorganismen im Darmtrakt und vieles mehr. Die Autoren der wissenschaftlichen Arbeit sind sich sicher, dass bei der Sequenzierung des Genoms der Sicherheit nicht genügend Aufmerksamkeit geschenkt wird: In diesem Bereich sind sie noch nicht auf Malware gestoßen, die direkt über das Genom angreift. Nun muss ein solcher Angriffsvektor berücksichtigt werden.
Die Genomsequenzierung wird zunehmend in angewandten Disziplinen wie der Forensik und der Speicherung von Archivdaten eingesetzt. Daher sollten Sicherheitsprobleme untersucht werden, bevor die Sequenzierung massiv angewendet werden kann.
Die Forscher schrieben einen Exploit und synthetisierten dann eine DNA-Sequenz, die nach Sequenzierung und Verarbeitung eine Exploit-Datei generiert. Beim Laden in ein anfälliges Programm öffnet diese Datei einen Socket zur Fernsteuerung des Systems.
Die Studie ist nicht von praktischem Nutzen, da die Autoren nicht in ein bestimmtes Sequenzerprogramm eingebrochen sind, das Biologen verwenden. Stattdessen haben sie das Programm
fqzcomp Version 4.6 (Dienstprogramm zur Komprimierung der DNA-Sequenz) selbst geändert und dem
Quellcode eine bekannte Sicherheitsanfälligkeit hinzugefügt. Dies widerspricht jedoch nicht der Tatsache, dass diese Programme auch Schwachstellen aufweisen. Vor allem konnten Wissenschaftler durch eine Probe biologischen Materials nachweisen, dass eine Computerinfektion tatsächlich möglich ist.
Um den
fqzcomp
Quellcode zu ändern
fqzcomp
Sie in C ++ 54 Zeilen hinzufügen und 127 Zeilen löschen. Eine modifizierte Version des Programms verarbeitete DNA unter Verwendung eines einfachen Zwei-Bit-Schemas: Vier Nukleotide wurden als zwei Bits codiert: A als 00, C als 01, G als 10 und T als 11.
Neben der Einführung des Exploits in das Programm und seiner Übertragung auf die Zwei-Bit-Verarbeitung deaktivierten die Forscher auch bekannte Sicherheitsfunktionen im Betriebssystem, einschließlich des ASLR-Speicher-Randomisierungssystems, sowie den Schutz vor Stapelüberläufen.
Der Exploit selbst (in der Abbildung im linken Fenster gezeigt) war 94 Byte groß und wurde von 376 Nukleotiden codiert. Diese Sequenz wurde in den IDT gBlocks-Synthesedienst für biologische Moleküle hochgeladen. Der erste Versuch, DNA mit einem Exploit zu synthetisieren, war erfolglos.

Es gab mehrere Probleme. Es gab zu viele sich wiederholende Sequenzen im Molekül, was für die Synthese nicht empfohlen wird. An einer Stelle befanden sich 13 aufeinanderfolgende T-Nukleotide, was sehr schwer zu synthetisieren ist. Darüber hinaus gab es nicht genügend GC-Paare über die gesamte Länge, die das Molekül stärken. Am Ende war der Exploit zu lang für die Sequenzierung.
Den Forschern gelang es jedoch, alle Schwierigkeiten zu überwinden. Sie reduzierten die Exploit-Länge auf 43 Byte und erhielten eine akzeptable Anzahl von CG-Sequenzen, da der Exploit-Text hauptsächlich aus Kleinbuchstaben besteht (01 in ASCII entspricht Nucleotid C). Aus diesem Grund wurde die Portnummer im Exploit von 3 (ATAT) auf 9 (ATGC) geändert. Die resultierende Sequenz wurde in den IDT gBlocks-Synthesedienst hochgeladen, der 89 US-Dollar für die Synthese von bis zu 500 Basenpaaren benötigt.

Nachdem die Forscher die theoretische Möglichkeit eines Angriffs bewiesen hatten, untersuchten sie die Sicherheit von Programmen, die für die DNA-Sequenzierung und -Analyse verwendet werden. Insgesamt wurden 13 bekannte biologische Open-Source-Programme in C / C ++ untersucht. Ihre Sicherheit wurde mit Standardsoftware verglichen, die normalerweise von böswilligen Benutzern wie Webservern und Remote-Shells angegriffen wird. Es stellte sich heraus, dass biologische Programme viel potenziell gefährlichere Funktionsaufrufe haben (wie z. B.
strcpy
).

In drei Programmen (fastx-toolkit, samtools und SOAPdenovo2) konnten Pufferüberläufe festgestellt werden. Durch solche Fehler können Sie einen Programmabsturz verursachen. In dem Wissen, dass solche Fehler häufig in betriebliche Exploits umgewandelt werden, haben sich die Autoren darauf geeinigt.
Die Präsentation der
wissenschaftlichen Arbeit (pdf) findet am 17. August 2017 auf dem 26.
USENIX Security Symposium statt .