Biohackers mengkodekan malware dalam DNA untuk menyerang perangkat lunak sekuensing genom

Saat sekuensing genom, molekul DNA bisa dikalahkan. Molekul dapat menyerang komputer dengan menginfeksi program yang mencoba membacanya. Ini adalah gagasan para peneliti di University of Washington yang mengkodekan eksploit dalam tambalan DNA . Untuk pertama kalinya di dunia, mereka membuktikan bahwa Anda dapat menginfeksi komputer dari jauh melalui DNA.

Dalam foto di sebelah kiri adalah tabung reaksi dengan ratusan miliar salinan eksploitasi yang dikodekan dalam molekul DNA sintetis yang dapat menginfeksi sistem komputer setelah diurutkan dan diproses.

Dalam lima tahun terakhir, biaya sekuensing genom telah turun dari $ 100.000 menjadi kurang dari $ 1.000, yang merangsang penelitian ilmiah di bidang genomik dan sejumlah layanan komersial yang menawarkan untuk menganalisis genom Anda untuk tujuan yang berbeda: membangun pohon genetika, mencari leluhur, menganalisis kemampuan fisik, kecenderungan untuk berbagai olahraga dan aktivitas fisik, studi tentang mikroorganisme yang kompatibel di saluran usus dan banyak lagi. Para penulis karya ilmiah yakin bahwa ketika mengurutkan genom, perhatian yang cukup diberikan untuk keamanan: di daerah ini, mereka belum menemukan malware yang menyerang langsung melalui genom. Sekarang vektor serangan seperti itu perlu diperhitungkan.

Sequencing genom mulai digunakan dalam disiplin ilmu terapan seperti ilmu forensik dan penyimpanan data arsip, sehingga masalah keamanan harus dieksplorasi sebelum sequencing dapat diterapkan secara besar-besaran.

Para peneliti menulis eksploit dan kemudian mensintesis urutan DNA yang, setelah diurutkan dan diproses, menghasilkan file exploit. Ketika dimuat ke dalam program yang rentan, file ini membuka soket untuk remote control sistem.

Studi ini tidak ada gunanya praktis, karena penulis tidak membobol program sequencer spesifik yang digunakan ahli biologi. Sebagai gantinya, mereka memodifikasi program fqzcomp versi 4.6 (utilitas kompresi urutan DNA) sendiri, menambahkan kerentanan yang diketahui ke kode sumbernya. Namun, ini tidak bertentangan dengan fakta bahwa program-program ini juga memiliki kerentanan. Yang paling penting, para ilmuwan mampu membuktikan bahwa infeksi komputer benar-benar mungkin melalui sampel bahan biologis.

Untuk mengubah kode sumber fqzcomp Anda harus menambahkan 54 baris dalam C ++ dan menghapus 127 baris. Versi modifikasi dari program memproses DNA menggunakan skema dua-bit sederhana: empat nukleotida dikodekan sebagai dua bit: A sebagai 00, C sebagai 01, G sebagai 10, dan T sebagai 11.

Selain memperkenalkan exploit ke dalam program dan mentransfernya ke pemrosesan dua-bit, para peneliti juga menonaktifkan fitur keamanan yang terkenal di sistem operasi, termasuk sistem pengacakan memori ASLR, serta perlindungan terhadap overflow stack.

Eksploitasi itu sendiri (ditunjukkan dalam ilustrasi di jendela kiri) adalah 94 byte dalam ukuran dan dikodekan oleh 376 nukleotida. Urutan ini diunggah ke layanan sintesis molekul biologis IDT gBlocks. Upaya pertama untuk mensintesis DNA dengan eksploit tidak berhasil.



Ada beberapa masalah. Ada terlalu banyak urutan berulang dalam molekul, yang tidak direkomendasikan untuk sintesis. Di satu tempat terdapat 13 nukleotida T berurutan, yang sangat sulit disintesis. Selain itu, tidak ada cukup pasangan GC di sepanjang panjang yang memperkuat molekul. Pada akhirnya, exploit itu terlalu lama untuk diurutkan.

Tetapi para peneliti berhasil mengatasi semua kesulitan, mereka mengurangi panjang eksploitasi menjadi 43 byte dan mendapatkan sejumlah urutan CG yang dapat diterima, karena teks eksploitasi terutama terdiri dari huruf kecil (01 dalam ASCII sesuai dengan nukleotida C). Karena alasan ini, nomor port dalam exploit diubah dari 3 (ATAT) menjadi 9 (ATGC). Urutan yang dihasilkan diunggah ke layanan sintesis IDT gBlocks, yang membutuhkan $ 89 untuk sintesis hingga 500 pasangan basa.



Setelah membuktikan kemungkinan teoretis serangan, para peneliti mempelajari keamanan program yang digunakan untuk pengurutan dan analisis DNA. Secara total, 13 program biologi open source terkenal yang ditulis dalam C / C ++ dipelajari. Keamanan mereka dibandingkan dengan perangkat lunak standar, yang biasanya diserang oleh pengguna jahat, seperti server web dan cangkang jauh. Ternyata program biologis memiliki panggilan fungsi yang jauh lebih berbahaya (seperti strcpy ).



Kami berhasil menemukan buffer overflows dalam tiga program (fastx-toolkit, samtools, dan SOAPdenovo2). Melalui bug semacam itu, Anda dapat menyebabkan crash program. Mengetahui bahwa kegagalan tersebut sering diubah menjadi eksploitasi operasional, penulis memutuskan ini.

Presentasi karya ilmiah (pdf) akan diadakan pada 17 Agustus 2017 di Simposium Keamanan USENIX ke-26.

Source: https://habr.com/ru/post/id405905/


All Articles