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-xxxxxxxxxxxx
GUID disediakan oleh perintah pertama, dibuka c:\vaccinated.img
di hex editor dan dicari AUTORUN
.
Apa yang dilakukan Vaksin USB
Entri untuk AUTORUN.INF
dimulai 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
, H
dan R
adalah 1
jika dan hanya jika file tersebut diarsipkan, direktori, volume ID 1 , file sistem, tersembunyi atau read-only. AUTORUN.INF
disembunyikan, karena H
diatur ke 1
.
Bit X
dan Y
dicadangkan dan keduanya harus 0
. Namun, Vaksin USB diatur Y
ke 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.INF
entri 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.INF
is ...
. 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 Y
internal 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.INF
itu 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 Y
ke 0
(mengubah byte 42
ke 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 X
ke 1
tampaknya tidak berpengaruh.
3 Saya memverifikasi ini dengan mengubah byte yang sesuai C:\vaccinated.img
dengan 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 X
tetap utuh jika diatur 1
, karena tidak ada salahnya. Mengatur Y
bit agar 1
dapat dengan mudah disalahgunakan oleh aplikasi jahat, dengan, misalnya, membuat file yang tidak terhapus yang memakan seluruh ruang kosong drive.