วิธีทดสอบ
แพนด้าดูเหมือนจะไม่เปิดเผยกลไกที่แน่นอนของ "วัคซีน" ซึ่งเป็นที่เข้าใจเพราะมันเป็นพื้นการรักษาความปลอดภัยผ่านความสับสน หากคุณรู้ว่ามันทำงานอย่างไรคุณสามารถย้อนกลับเอฟเฟกต์และ "วัคซีน" จะไร้ประโยชน์
ฉันดาวน์โหลดและติดตั้งPanda USB Vaccineและ "ฉีดวัคซีน" แฟลชไดรฟ์ของฉันแล้วทิ้งพาร์ติชันแฟลชไดรฟ์ด้วยdd สำหรับ windowsโดยใช้คำสั่ง
dd --list
dd if=\\.\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} of=C:\vaccinated.img
ที่xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
เป็น GUID ที่มีให้โดยคำสั่งแรกเปิดในตัวแก้ไขฐานสิบหกและค้นหาc:\vaccinated.img
AUTORUN
วัคซีน USB ทำอะไรได้บ้าง
รายการสำหรับAUTORUN.INF
เริ่มต้นด้วยสิบสองไบต์ต่อไปนี้:
41 55 54 4F 52 55 4E 20 49 4E 46 42
ไบต์ที่สิบเอ็ดแรกเป็นเพียงชื่อไฟล์ที่มีพื้นที่เพียง8.3 :AUTORUN INF
ไบต์สุดท้ายระบุคุณลักษณะของไฟล์และการแทนค่าไบนารี่คือ:
01000010
ตามข้อกำหนดระบบไฟล์ Microsoft EFI FAT32ไบต์สุดท้ายนี้เป็นฟิลด์บิตที่ใช้แบบฟอร์มต่อไปนี้:
XYADVSHR
ที่บิตA
, D
, V
, S
, H
และR
จะได้1
ถ้าหากไฟล์จะถูกเก็บไว้ไดเรกทอรีปริมาณ ID 1ไฟล์ระบบที่ซ่อนอยู่หรืออ่านอย่างเดียว AUTORUN.INF
ถูกซ่อนไว้เนื่องจากมีการตั้งค่าH
1
บิตX
และY
สงวนไว้และควรเป็นทั้งสอง0
อย่าง อย่างไรก็ตาม USB วัคซีนชุดไปY
1
ข้อมูลจำเพาะพูดว่าอะไร
สองไบต์บนของแอตทริบิวต์ไบต์ถูกสงวนไว้และควรถูกตั้งค่าเป็น 0 เสมอเมื่อมีการสร้างไฟล์และไม่เคยแก้ไขหรือดูหลังจากนั้น
นอกจากนี้ยังแนะนำให้ตรวจสอบความถูกต้องของเนื้อหาไดเรกทอรี:
แนวทางเหล่านี้จัดทำขึ้นเพื่อให้ยูทิลิตี้การบำรุงรักษาดิสก์สามารถตรวจสอบแต่ละรายการไดเรกทอรีสำหรับ 'ความถูกต้อง' ในขณะที่รักษาความเข้ากันได้กับการปรับปรุงโครงสร้างไดเรกทอรีในอนาคต
อย่าดูเนื้อหาของฟิลด์รายการไดเรกทอรีที่ทำเครื่องหมายว่าสงวนไว้และถือว่าถ้าเป็นค่าอื่นใดนอกเหนือจากศูนย์ว่าพวกเขาเป็น "ไม่ดี"
อย่ารีเซ็ตเนื้อหาของฟิลด์รายการไดเรกทอรีที่ทำเครื่องหมายสงวนไว้เป็นศูนย์เมื่อมีค่าที่ไม่เป็นศูนย์ (ภายใต้สมมติฐานว่าพวกเขาเป็น "ไม่ดี") เขตข้อมูลรายการไดเรกทอรีที่จะได้รับมอบหมายลิขสิทธิ์แทนที่จะต้องเป็นศูนย์ ใบสมัครของคุณควรถูกเพิกเฉย ฟิลด์เหล่านี้มีไว้สำหรับส่วนขยายในอนาคตของระบบไฟล์ การเพิกเฉยต่อสิ่งเหล่านี้ทำให้ยูทิลิตี้สามารถทำงานต่อไปในระบบปฏิบัติการเวอร์ชันต่อไป
เกิดอะไรขึ้นจริง
CHKDSK ปฏิบัติตามข้อกำหนดและละเว้นAUTORUN.INF
รายการที่ไดรเวอร์ FAT32 ไม่เข้าใจ แต่ Windows เองดูเหมือนจะไม่ปฏิบัติตามข้อกำหนดของข้อกำหนดที่จะไม่ดูบิตที่สงวนไว้อีกครั้ง : การเข้าถึงชนิดใด ๆ (นอกเหนือจากการแสดงรายการไฟล์ และคุณสมบัติของมัน) ถูกปฏิเสธ
ตัวอย่างเช่นคำสั่ง
DIR /A /Q
ระบุว่าเจ้าของคือAUTORUN.INF
...
ตั้งแต่ FAT32 \All
ไม่สนับสนุนการเป็นเจ้าของไฟล์ก็ควรระบุ
สาเหตุของพฤติกรรมที่ไม่คาดคิดนี้คือตามFAT32 - รายการ Wikipedia # Directory Windows ใช้บิตY
ภายในเพื่อส่งสัญญาณชื่ออุปกรณ์อักขระ (CON, PRN, AUX, AUX, CLOCK $, NUL, LPT1, COM1 ฯลฯ ) และ ไม่ควรปรากฏบนอุปกรณ์เก็บข้อมูล 2
ในแง่ของการพูดUSB Vaccine จะหลอกให้ Windows คิดว่าAUTORUN.INF
ไม่ใช่ไฟล์จริง แต่เป็นอุปกรณ์ที่ไม่สามารถอ่านหรือเขียนได้
วิธีการลบไฟล์
หากคุณมีการเข้าถึงระบบไฟล์โดยตรงก็พอเพียงที่จะตั้งค่าY
เป็น0
(เปลี่ยนไบต์42
เป็น02
) เพื่อให้ลบไฟล์ได้อีกครั้ง คุณยังสามารถตั้งค่าไบต์แรกของรายการไดเรกทอรีเป็นE5
ทำเครื่องหมายไฟล์เป็นลบโดยตรง 3
ตัวเลือกอื่นจะใช้ไดรเวอร์อื่น Ubuntu 12.04 เช่นสามารถลบไฟล์ได้โดยไม่มีปัญหา ที่จริงแล้วมันจะ "แก้ไข" รายการไดเรกทอรีโดยอัตโนมัติเมื่ออ่าน 4
1คุณลักษณะนี้จะใช้สำหรับการเช่นป้ายปริมาณหรือโฟลเดอร์ข้อมูล System Volume
2แน่นอนว่าการตั้งค่าX
เป็น1
ไม่มีผลใด ๆ
3ฉันตรวจสอบสิ่งนี้โดยการเปลี่ยนไบต์ที่สอดคล้องกันC:\vaccinated.img
ด้วย hex editor และเขียนอิมเมจที่แก้ไขไปยังแฟลชไดรฟ์โดยใช้คำสั่งต่อไปนี้:
dd if=C:\vaccinated.img of=\\.\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
4ในขณะที่การเบี่ยงเบนที่เห็นได้ชัดจากสเปคดูเหมือนว่าจะคิดออก อูบุนตูใบX
เหมือนเดิมถ้ามันถูกตั้งค่าเป็น1
เพราะมันจะไม่มีอันตรายใด ๆ การตั้งค่าY
บิตให้1
สามารถถูกทำร้ายได้ง่ายโดยแอปพลิเคชั่นที่เป็นอันตรายเช่นสร้างไฟล์ที่ไม่สามารถลบได้ซึ่งใช้พื้นที่ว่างทั้งหมดของไดรฟ์