Windows 長期以來一直要求用戶輸入自動運行 - 任何插入 autorun.inf 的 USB 都需要用戶手動輸入才能運行文件中的任何內容。
但是 USB 驅動程式呢?如果有人懷有惡意,安裝了一個惡意軟體驅動程序,它不是會自動運行,甚至擁有UAC權限嗎?或是USB不安裝自己的驅動程式?我從來沒有和司機做過任何事,所以我對他們了解不多。
答案1
某些眾所周知的 USB 裝置類別在大多數作業系統上預先安裝了驅動程序,例如 HID 裝置和儲存裝置。
從技術上講,當檢測到此類設備時,驅動程式不會加載,驅動程式已經存在。
從 Windows Vista 或 7 開始,Windows 在偵測到新的 USB 裝置時將檢查 Windows 更新中的驅動程式。這些驅動程式來自 Microsoft,不太可能是惡意的。 Windows 確實會嘗試至少在 Windows Update 上搜尋「更好」的裝置驅動程序,這就是為什麼在第一次將 Microsoft 滑鼠連接到 Windows 系統上的 USB 連接埠時,連接 Microsoft 滑鼠會導致長時間延遲才能使用。
如果 Windows 更新沒有驅動程序,並且您的系統上不存在相容的驅動程序,則不會安裝任何裝置驅動程序,並且您會在裝置管理員中的裝置旁邊看到一個問號。
USB 裝置實際上可以分為多個「子」裝置。其中一個對作業系統來說可能是一張 CD-ROM,有autorun.inf
啟動安裝程式的東西。
安裝程式是否具有在您的系統上執行操作的自動權限取決於您的 UAC 和群組原則或本機安全性原則設定。當任何類型的安裝程式運行並要求提升權限時,您至少應該彈出 UAC,除非它在您的系統上被停用。
驅動程式安裝確實需要管理員權限,而某些驅動程式軟體在 Windows 系統上以核心模式運行 - 這意味著它可以在您的系統上執行任何操作。因此,這是惡意程式碼的可能途徑。更安全的系統將盡可能嚴格地控制自動運行,並且最好將其停用。
驅動程式可以有多種來源 - 隨 Windows 一起分發、透過新裝置分發並可安裝在光碟上、透過 PC 製造商的支援網站分發、或透過 Windows Update 提供。
一個設備也可能有不只一種類型的驅動程式。通常有一個啟用基本功能的通用驅動程序,也可能有一個啟用所有功能的更具體的驅動程式。例如,Windows 有一個適用於任何顯示卡的通用 VGA 驅動程序,但安裝適用於該顯示卡的驅動程式(來自製造商)將啟用其所有功能。這就是某些 USB 裝置可以「無需驅動程式」運作的方式 - 它們確實使用驅動程序,但內建了 Windows 隨附的通用 USB 類別(「類別」是裝置、鍵盤、磁碟機等的類型)驅動程式。
Windows 始終將通用驅動程式與其作業系統捆綁在一起。它還允許第三方公司開發驅動程式並允許安裝它們。驅動程式不一定來自 Microsoft 或 Windows Update。由於 PC 的新硬體不斷推出,且 Microsoft 可能未在 Windows 或 Windows Update 中包含驅動程序,因此如果 Windows 沒有適用於裝置的驅動程序,您可能需要安裝或下載製造商提供的驅動程式。
新硬體的通常流程是運行製造商提供的 CD,安裝驅動程序,然後安裝硬體(某些較舊的 PC 會要求您在每個設備上配置跳線,例如舊的 ISA 卡)。如今,您可能會下載包含驅動程式和支援軟體的 .msi 檔案。
對於某些類型的硬件,例如顯示卡和USB 設備,您可以先連接設備,然後安裝驅動程序,但即使到了今天,大多數印表機安裝CD 仍會告訴您等待軟體和驅動程式安裝完成後才能連接USB 印表機。
Windows 沒有任何機制可以正式從尚未安裝 USB 裝置的驅動程式中取得驅動程式。發生這種情況的唯一方法是,如果USB 設備有一個對於作業系統來說看起來像CD-ROM 的子設備,這會導致它表現得就像剛插入CD,然後它將像任何其他設備一樣啟動AutoRUN。 CD-ROM 是 Windows 內建支援的通用裝置類別之一,因此它將自動在任何具有 USB 支援的 Windows 系統上運行(本世紀發布的任何產品都支援)。