Eksploitasi BadUSB mematikan, tetapi hanya sedikit yang bisa terkena

Sembilan tahun yang lalu, saya membuat apa yang saya yakini sebagai worm USB pertama di dunia. Dengan bermain-main dengan USB thumb drive dan menempatkan file tersembunyi di dalamnya, saya dapat membuat komputer mana pun di mana drive USB yang "terinfeksi" dicolokkan secara otomatis menyebarkan file ke komputer host, lalu kembali lagi ketika USB baru perangkat dicolokkan.

Ini bekerja di kamera digital dan ponsel. Saya bisa mendapatkan perangkat USB apa pun - pada kenyataannya, perangkat media yang dapat dilepas - untuk menjalankan file worm saya. Saya bersenang-senang bermain dengannya.

Saya melaporkan temuan tersebut kepada majikan saya dan vendor yang terlibat; mereka pada gilirannya meminta saya diam untuk waktu yang cukup lama, sehingga mereka bisa menutup lubang. Saya telah merencanakan untuk mempresentasikan temuan saya di konferensi keamanan nasional yang besar dan harus memilih antara mendapatkan kredibilitas peretas dan keamanan publik. Saya pergi dengan yang terakhir.

Sejujurnya, saya tidak ingin mengecewakan vendor ini karena itu adalah calon pelanggan atau majikan di masa depan. Lubang itu ditambal, dan publik tidak lebih bijak. Bertahun-tahun kemudian, saya terkejut melihat metode yang sangat mirip digunakan dalam program malware Stuxnet.

Tapi pengalaman saya membuat saya tidak pernah mempercayai perangkat yang dicolokkan lagi. Sejak itu, saya tidak pernah memasang perangkat USB atau kartu media yang dapat dilepas ke komputer yang saya miliki yang tidak berasal dan tetap di bawah kendali saya. Terkadang, paranoia memang tepat.

BadUSB adalah ancaman serius sekarang di alam liar

Itu membawa saya ke hari ini. Sekarang ada diposting di GitHub kode sumber untuk BadUSB (jangan bingung dengan program malware palsu yang disebut BadBIOS), yang membuat percobaan saya sembilan tahun yang lalu terlihat seperti permainan anak-anak. BadUSB adalah ancaman nyata yang memiliki konsekuensi serius bagi perangkat input perangkat keras komputer.

BadUSB menulis - atau menimpa - kode firmware perangkat USB untuk melakukan tindakan berbahaya. Pertama kali diumumkan pada Juli 2014, BadUSB ditemukan oleh sepasang peneliti komputer di Security Research Labs di Berlin, yang kemudian mendemonstrasikan penemuan mereka di Black Hat Conference.

Serangan itu dikhawatirkan karena semua metode tradisional untuk memeriksa kejahatan di perangkat penyimpanan USB tidak berfungsi. Kode berbahaya ditanam di firmware USB, yang dijalankan saat perangkat dicolokkan ke host. Host tidak dapat mendeteksi kode firmware, tetapi kode firmware dapat berinteraksi dengan dan memodifikasi perangkat lunak di komputer host.

Kode firmware berbahaya dapat menanam malware lain, mencuri informasi, mengalihkan lalu lintas Internet, dan banyak lagi - semuanya sambil melewati pemindaian antivirus. Serangan itu dianggap sangat layak dan berbahaya sehingga para peneliti hanya mendemonstrasikan eksploitnya. Dengan sangat hati-hati, mereka tidak merilis kode bukti konsep atau perangkat yang terinfeksi. Tetapi dua peneliti lain merekayasa balik eksploitasi tersebut, membuat kode demonstrasi, dan merilisnya ke dunia di GitHub.

Isyaratkan drama yang telah muncul di situs berita dan teknologi konsumen seperti CNN, Atlanta Journal-Constitution, Register, dan PC Magazine, berseru, "Dunia akan penuh dengan perangkat USB yang berbahaya!"

Mengapa eksploitasi BadUSB melampaui USB

Pertama, penting untuk menyadari bahwa ancaman itu nyata. Firmware USB dapat dimodifikasi untuk melakukan apa yang diklaim para ilmuwan penelitian. Peretas di seluruh dunia mungkin mengunduh kode bukti konsep, membuat perangkat USB berbahaya, dan menggunakan kode bukti konsep sebagai titik peluncuran untuk tindakan yang jauh lebih berbahaya daripada eksploitasi uji peneliti.

Kedua, masalahnya tidak terbatas pada perangkat USB. Faktanya, perangkat USB adalah puncak gunung es. Setiap perangkat keras yang dicolokkan ke komputer Anda dengan komponen firmware mungkin dapat dibuat berbahaya. Yang saya maksud adalah perangkat FireWire, perangkat SCSI, hard drive, perangkat DMA, dan banyak lagi.

Agar perangkat ini berfungsi, firmware mereka harus dimasukkan ke dalam memori perangkat host tempat perangkat itu dijalankan - sehingga malware dapat dengan mudah ikut serta selama perjalanan itu. Mungkin ada perangkat firmware yang tidak bisa dieksploitasi, tapi saya tidak tahu alasannya kenapa tidak.

Firmware pada dasarnya tidak lebih dari instruksi perangkat lunak yang disimpan di silikon. Pada tingkat dasarnya, ini tidak lain adalah pemrograman perangkat lunak. Dan firmware diperlukan untuk mengaktifkan perangkat keras untuk berbicara dengan perangkat komputer host. Spesifikasi API perangkat memberi tahu pemrogram perangkat cara menulis kode yang membuat perangkat berfungsi dengan baik, tetapi spesifikasi dan instruksi ini tidak pernah dibuat dengan mempertimbangkan keamanan. Tidak, mereka ditulis untuk mendapatkan item untuk berbicara satu sama lain (seperti Internet).

Tidak perlu banyak instruksi pemrograman untuk mengaktifkan aktivitas berbahaya. Anda dapat memformat sebagian besar perangkat penyimpanan atau "mem-bata" komputer dengan beberapa arah. Virus komputer terkecil yang pernah ditulis hanya berukuran 35 byte. Muatan dalam contoh bukti-konsep GitHub hanya 14K, dan ini mencakup banyak pemeriksaan kesalahan dan pengkodean kecakapan. Percayalah, 14K kecil di dunia malware saat ini. Sangat mudah untuk menanamkan dan menyembunyikan malware di hampir semua pengontrol firmware.

Faktanya, ada kemungkinan besar bahwa peretas dan negara telah lama mengetahui dan menggunakan pintu belakang firmware ini. Pengamat NSA telah berspekulasi panjang lebar tentang perangkat tersebut, dan kecurigaan ini dikonfirmasi oleh dokumen NSA yang baru dirilis.

Kebenaran yang menakutkan adalah bahwa peretas telah meretas perangkat firmware dan memaksanya melakukan tindakan tidak sah selama firmware telah ada.

BadUSB adalah ancaman terbesar yang dapat Anda hapus dari daftar panik Anda

Kenyataannya adalah Anda setidaknya merasa gugup tentang perangkat firmware apa pun yang dicolokkan ke komputer Anda - USB atau lainnya - untuk waktu yang lama. Saya sudah seperti itu selama hampir satu dekade.

Satu-satunya pertahanan Anda adalah Anda mencolokkan perangkat firmware dari vendor yang Anda percayai dan menyimpannya di bawah kendali Anda. Tetapi bagaimana Anda tahu bahwa perangkat yang Anda colokkan belum disusupi secara massal atau belum pernah dirusak antara vendor dan komputer Anda? Bocoran dari Edward Snowden menunjukkan NSA telah mencegat komputer dalam perjalanan untuk memasang perangkat pendengar. Tentunya mata-mata dan peretas lain telah mencoba taktik yang sama untuk menginfeksi komponen di sepanjang rantai pasokan.

Tetap saja, Anda bisa rileks.

Perangkat keras yang berbahaya dimungkinkan, dan dapat digunakan dalam beberapa skenario terbatas. Tapi itu tidak mungkin tersebar luas. Peretasan perangkat keras tidaklah mudah. Ini intensif sumber daya. Set instruksi yang berbeda digunakan untuk set chip yang berbeda. Lalu ada masalah sial untuk membuat korban yang dituju menerima perangkat jahat dan memasukkannya ke komputer mereka. Untuk target bernilai sangat tinggi, serangan bergaya "Mission Impossible" seperti itu masuk akal, tetapi tidak terlalu banyak untuk rata-rata Joe.

Para peretas masa kini (termasuk agen mata-mata di Amerika Serikat, Inggris, Israel, Cina, Rusia, Prancis, Jerman, dan sebagainya) menikmati lebih banyak kesuksesan menggunakan metode infeksi perangkat lunak tradisional. Misalnya, sebagai peretas, Anda dapat membuat dan menggunakan alat penyerang hypervisor Blue Pill yang super canggih dan tersembunyi atau menggunakan program Trojan perangkat lunak sehari-hari yang telah bekerja dengan baik selama beberapa dekade untuk meretas lebih banyak orang.

Tetapi bagaimana jika firmware jahat atau perangkat USB mulai muncul secara luas? Anda dapat bertaruh bahwa vendor akan menanggapi dan menyelesaikan masalah. BadUSB tidak memiliki pertahanan hari ini, tetapi dapat dengan mudah dipertahankan di masa depan. Bagaimanapun, itu hanyalah perangkat lunak (disimpan dalam firmware), dan perangkat lunak dapat mengalahkannya. Badan standar USB mungkin akan memperbarui spesifikasi untuk mencegah serangan semacam itu, vendor mikrokontroler akan mengurangi kemungkinan terjadinya kejahatan dari firmware, dan vendor sistem operasi mungkin akan merespons lebih cepat.

Misalnya, beberapa vendor sistem operasi sekarang mencegah perangkat DMA mengakses memori sebelum komputer melakukan booting penuh atau sebelum pengguna login, semata-mata untuk mencegah serangan yang ditemukan datang dari perangkat DMA yang terpasang. Windows 8.1, OS X (melalui kata sandi Open Firmware), dan Linux memiliki pertahanan terhadap serangan DMA, meskipun mereka biasanya mengharuskan pengguna untuk mengaktifkan pertahanan tersebut. Jenis pertahanan yang sama akan diterapkan jika BadUSB tersebar luas.

Jangan takut dengan BadUSB, bahkan jika seorang teman peretas memutuskan untuk mempermainkan Anda menggunakan thumb drive USB yang dikodekan dengan jahat. Lakukan seperti saya - jangan gunakan perangkat USB yang tidak pernah Anda kendalikan sepanjang waktu.

Ingat: Jika Anda khawatir akan diretas, jauh lebih khawatir tentang apa yang berjalan di browser Anda daripada apa yang berjalan dari firmware Anda.