用戶遇到「缺失 xxx.dll」錯誤,從非官網下載 DLL 放入系統目錄。攻擊者若在下載站植入惡意代碼(木馬、挖礦、竊取信息),用戶運行程序即中招。這屬於**軟件供應鏈攻擊**的一種。
# Windows PowerShell
Get-FileHash -Algorithm SHA256 .\xxx.dll
# 或
certutil -hashfile .\xxx.dll SHA256
# Linux/macOS
sha256sum xxx.dll
# 或
openssl dgst -sha256 xxx.dll
| 策略 | 實施方式 |
|---|---|
| 啟用 Windows Defender Application Control (WDAC) / AppLocker | 僅允許受信任簽名的可執行文件/DLL 加載 |
| 開啟「受控文件夾訪問」 | 防止未授權程序修改系統目錄 DLL |
| 使用 Sysinternals Sigcheck | `sigcheck -tv .\xxx.dll` 驗證簽名鏈、時間戳、VT 檢測 |
| 開發端:簽名構建產物 | 代碼簽名憑證(EV 憑證最佳)簽署所有發布的 DLL/EXE |
下載 DLL 修復缺失是高風險操作。**核心原則:只信任官方簽名分發渠道**。若必須第三方下載,**必須用 HashTab/sigcheck/PowerShell 驗證 SHA256 與官方發布值完全一致**,並檢查數字簽名有效性。企業環境應部署 WDAC/AppLocker 從根源阻斷未簽名/惡意 DLL 加載。