Metode pengujian
Panda tampaknya tidak mengungkapkan mekanisme pasti dari "vaksin" -nya, yang dapat dimengerti, karena pada dasarnya keamanan melalui ketidakjelasan . Jika Anda tahu cara kerjanya, Anda dapat membalikkan efeknya dan "vaksin" menjadi tidak berguna.
Saya mengunduh dan menginstal Panda USB Vaccine dan "memvaksinasi" flash drive saya, membuang partisi flash drive dengan dd untuk windows menggunakan perintah
dd --list
dd if=\\.\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} of=C:\vaccinated.img
di mana xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxGUID disediakan oleh perintah pertama, dibuka c:\vaccinated.imgdi hex editor dan dicari AUTORUN.
Apa yang dilakukan Vaksin USB
Entri untuk AUTORUN.INFdimulai dengan dua belas byte berikut:
41 55 54 4F 52 55 4E 20 49 4E 46 42
Sebelas byte pertama hanyalah nama file 8,3 ruang-empuk :AUTORUN INF
Byte terakhir menentukan atribut file, dan representasi binernya adalah:
01000010
Menurut Spesifikasi Sistem File Microsoft EFI FAT32 , byte terakhir ini adalah bidang bit yang mengambil bentuk berikut:
XYADVSHR
di mana bit A, D, V, S, Hdan Radalah 1jika dan hanya jika file tersebut diarsipkan, direktori, volume ID 1 , file sistem, tersembunyi atau read-only. AUTORUN.INFdisembunyikan, karena Hdiatur ke 1.
Bit Xdan Ydicadangkan dan keduanya harus 0. Namun, Vaksin USB diatur Yke 1.
Apa spesifikasi mengatakan
Dua bit teratas dari byte atribut dicadangkan dan harus selalu disetel ke 0 ketika file dibuat dan tidak pernah dimodifikasi atau dilihat setelah itu.
Lebih lanjut, ini merekomendasikan untuk validasi konten direktori:
Panduan ini disediakan sehingga utilitas perawatan disk dapat memverifikasi entri direktori individual untuk 'kebenaran' sambil mempertahankan kompatibilitas dengan peningkatan di masa mendatang untuk struktur direktori.
JANGAN melihat isi kolom entri direktori yang ditandai dilindungi undang - undang dan menganggap bahwa, jika nilainya bukan nol, berarti "buruk".
JANGAN mengatur ulang konten bidang entri direktori yang ditandai dicadangkan ke nol ketika mengandung nilai-nilai yang tidak nol (dengan asumsi bahwa mereka "buruk"). Bidang entri direktori ditetapkan sebagai cadangan , bukan harus nol . Mereka harus diabaikan oleh aplikasi Anda. Bidang-bidang ini dimaksudkan untuk ekstensi sistem file di masa mendatang. Dengan mengabaikannya, sebuah utilitas dapat terus berjalan pada versi sistem operasi yang akan datang.
Apa yang sebenarnya terjadi
CHKDSK tentu saja mengikuti spesifikasi dan mengabaikan AUTORUN.INFentri yang tidak dimengerti oleh driver FAT32, tetapi Windows itu sendiri tampaknya tidak memenuhi persyaratan spesifikasi untuk tidak pernah melihat bit yang dicadangkan lagi : Segala jenis akses (selain daftar file) dan atributnya) ditolak.
Misalnya, perintahnya
DIR /A /Q
menyatakan bahwa pemilik AUTORUN.INFis .... Karena FAT32 tidak mendukung kepemilikan file, itu harus menyatakan \All.
Alasan untuk perilaku tak terduga ini adalah bahwa, menurut entri Direktori FAT32 - Wikipedia # , Windows menggunakan bit secara Yinternal untuk memberi sinyal nama perangkat karakter (CON, PRN, AUX, CLOCK $, NUL, LPT1, COM1, dll.), Dan seharusnya tidak ada di perangkat penyimpanan. 2
Dalam cara berbicara, Vaksin USB menipu Windows untuk berasumsi bahwa AUTORUN.INFitu bukan file yang sebenarnya, tetapi perangkat, yang tidak dapat dibaca atau dituliskan.
Cara menghapus file
Jika Anda memiliki akses langsung ke sistem file, itu sudah cukup untuk mengatur Yke 0(mengubah byte 42ke 02) untuk membuat file dihapus lagi. Anda juga dapat mengatur byte pertama dari entri direktori E5, langsung menandai file sebagai dihapus. 3
Opsi lain adalah menggunakan driver yang berbeda. Ubuntu 12,04, misalnya, dapat menghapus file tanpa masalah. Sebenarnya, secara otomatis "memperbaiki" entri direktori ketika membacanya. 4
1 Atribut ini digunakan untuk, misalnya, label volume atau folder Informasi Volume Sistem .
2 Tentu saja, pengaturan Xke 1tampaknya tidak berpengaruh.
3 Saya memverifikasi ini dengan mengubah byte yang sesuai C:\vaccinated.imgdengan hex editor dan menulis gambar yang dimodifikasi ke flash drive menggunakan perintah berikut:
dd if=C:\vaccinated.img of=\\.\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
4 Sementara penyimpangan terang-terangan dari spesifikasi, tampaknya menjadi pertimbangan. Ubuntu membiarkannya Xtetap utuh jika diatur 1, karena tidak ada salahnya. Mengatur Ybit agar 1dapat dengan mudah disalahgunakan oleh aplikasi jahat, dengan, misalnya, membuat file yang tidak terhapus yang memakan seluruh ruang kosong drive.