Loading...

Knowledge Center


應用程式或 DLL [...] 為不正確的 Windows 影像 (啟動 [依需求掃描] 時)
技術文章 ID:   KB73521
上次修改:  2016/11/3
已評分:


環境

McAfee VirusScan Enterprise (VSE) 8.8 Patch 1 或更新版本
McAfee VirusScan Enterprise 8.7i Patch 5

 

問題

如果執行 [依需求掃描] (ODS),請用滑鼠右鍵按一下掃描或開啟 [VSE 主控台],您會看到損壞的影像訊息,類似下圖

應用程式或 DLL C:\WINDOWS\system32\msi.dll 為不正確的 Windows 影像。請再檢查一遍您的安裝磁片

應用程式或 DLL C:\WINDOWS\system32\sxwmon32.dll 為不正確的 Windows 影像。請再檢查一遍您的安裝磁片

應用程式或 DLL C:\WINDOWS\system32\AMInit.dll 為不正確的 Windows 影像。請再檢查一遍您的安裝磁片

應用程式或 DLL C:\WINDOWS\system32\Vsxwmon32.dll 為不正確的 Windows 影像。請再檢查一遍您的安裝磁片
 
可列出的處理程序名稱如下所示:
  • scan32.exe
  • scan64.exe
  • scncfg32.exe
  • mcshield.exe
  • myAgtSvc.exe
附註:
  • 此問題只適用於 8.7i Patch 5 與 VSE 8.8 Patch 1 及更新版本。
  • 這是標準 Windows 對話方塊,說明第三方的 DLL 為不正確的 Windows 影像。不同的可執行檔與 DLL 檔案可能受到影響。這只是訊息範例。
  • 錯誤對 ODS 並為後續影響。按一下 [確定] 後,您可以看到預期的一般 ODS 對話方塊。

問題

安裝 VSE 8.8 Patch 1 後,您就不能從 [VSE 主控台] 啟動 ODS。

一般來說不會出現快顯訊息,但有時會出現以下錯誤:

所需的 DAT 遺失或毀損

如果您停用 [存取保護] (AP),就可以執行 ODS,不會有問題。


有時在啟用 AP 的情況下執行 ODS 時,事件記錄檔會通報以下事件:

事件 ID:514
描述:處理程序 **\MCSHIELD.EXE pid (1560) 內含未簽署或毀損的程式碼,已被防止使用 McAfee 驅動程式執行特殊權限操作。

系統變更

更新到 VSE 8.7i Patch 5 或 8.8 Patch 1。

原因

VSE 8.7i Patch 5 與 8.8 Patch 1 有新 AP 規則。防止 McAfee 處理程序攔截規則預設為啟用。如果憑證是由 Microsoft McAfee 以外的第三方發出,此規則提供的增強型安全性能夠針對未簽署簽署的 DLL 導入提供保護。

此問題如果是由可信任的 Microsoft DLL 檔案所引起,您必須更新 Microsoft 憑證存放區。此情況會在沒有檔案的對應或有效憑證時發生。

如果錯誤是由其他供應商簽署的 DLL 引起,而您信任受保護處理程序中的導入,您必須將該憑證新增至 McAfee 信任憑證存放區

以下其中一種方法適用,視第三方應用程式採用的 DLL 導入法而定:
  • 程式 DLL 導入
    應用程式會在新處理程序啟動時開始監視,並叫用試圖要將 DLL 導入新處理程序位址空間的程式碼。如果處理程序是 McAfee 受保護處理程序中的其中一項,且已啟用防止 McAfee 處理程序攔截存取保護規則,則 DLL 導入嘗試將失敗,並被 AP 規則封鎖。
  • AppInit_DLLs
    應用程式會使用可有效調控登錄值的 Windows DLL 攔截法 AppInit_DLL,確保處理程序將指定的 DLL 檔案導入其位址空間。如需 AppInit_DLL 的詳細資訊,請參閱 Microsoft 知識庫文件:http://support.microsoft.com/kb/197571

    您可檢查登錄值的內容,驗證是否已安裝該應用程式:

    x86 (32 位元) 系統:
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

    x64 (64 位元) 系統:
    HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

    附註:64 位元系統內含二者的登錄位置。

解決方案

如果Microsoft 憑證存放區需要更新,請執行此解決方案

如需解決 MSI.DLL (一種 Microsoft 元件) 的問題,請參閱 Microsoft 知識庫文章:http://support.microsoft.com/kb/972397

附註:
此 Hotfix 適用於 Windows Installer 4.5。如果您有 Windows Installer 3.5,您必須先升級到 4.5 版,然後再套用該 Hotfix。

如果您已套用該 Microsoft Hotfix,請執行系統檔案檢查程式。輸入下列命令後按 ENTER:

sfc /scannow

如需使用「系統檔案檢查程式」的詳細資訊,請參閱 Microsoft 知識庫文章:http://support.microsoft.com/kb/310747

除了列出的檔案外,此修復也會安裝以 Microsoft 數位簽章簽署的相關安全性類別目錄檔案 (KBnumber.cat)。

如需 Windows XP SP2 與 SP3 如何更新根憑證的其他相關技術資訊,請參閱 Microsoft TechNet 文章:http://technet.microsoft.com/en-us/library/bb457160.aspx

如需 Windows Vista 與更新版本如何更新根憑證的其他相關技術資訊,請參閱 Microsoft TechNet 文章:http://technet.microsoft.com/en-us/library/cc749331(WS.10).aspx

附註:更進階的使用者可採用其他方法更新憑證存放區:

解決方案

為避免損壞的 DLL 訊息,請必須將第三方產品的數位簽章副本匯入 McAfee 信任憑證存放區
  1. 連絡 McAfee 技術支援。

    若要連絡技術支援,請登入 ServicePortal 並在以下網址建立服務請求:https://support.mcafee.com/ServicePortal/faces/serviceRequests/createSR
    • 若為已註冊的使用者,請鍵入您的使用者 ID 和密碼,然後按一下登入
    • 若為未註冊的使用者,請按一下註冊,並填寫必填欄位。 您的密碼與登入指示將會以電子郵件傳送給您。
  2. 提供您要新增到 McAfee 支援的 .cer 檔案。
    .cer 憑證檔案取自受影響的 DLL。如果該檔案沒有數位簽章,就沒有可防止快顯的選項。
     
  3. 執行 McAfee 技術支援提供的可執行檔。
    封裝採用 SuperDAT 技術。因此,您可以在各個系統中執行,或新增到 ePolicy Orchestrator 存放庫。
     
  4. 必要時清除 VSE 8.8 掃描快取。如需最佳作法,請參閱 KB71905
  5. 如需使憑證存放區變更生效,請重新啟動電腦。
 
附註:
  • 注意:本文包含有關開啟或修改登錄的資訊。
    • 以下資訊僅供系統管理員參考。 修改登錄為不可逆程序,若修改不當,可能導致系統故障。
    • 技術支援強烈建議您備份您的登錄並瞭解還原程序,然後再繼續。 如需詳細資訊,請造訪:http://support.microsoft.com/kb/256986
    • 請勿執行任何尚未確認為正版登錄匯入檔案的 REG 檔案。
  • 如需停用每個應用程式的 Citrix API Hook,請依照 Citrix Document ID CTX10782 說明操作:http://support.citrix.com/article/CTX107825
     
  • 如果已從 Lumension Security 安裝軟體,則還需要以下兩個登錄項目。
位置
HKLM\System\CurrentControlSet\services\sk\Parameters

要新增的機碼
 
類型
值名稱
值資料
REG_DWORD
c:\Program files (x86)\McAfee\VirusScan Enterprise\Scan32.exe
0
REG_DWORD
c:\Program files (x86)\McAfee\VirusScan Enterprise\x64\Scan64.exe
0

解決方案

如需協助確認 (或消除) 某 Microsoft 檔案是否未受信任:

  1. 使用 Microsoft Sysinternals 處理程序監視 (procmon.exe) 找出哪個 DLL 的載入存取權遭拒。如需使用此公用程式的詳細資訊,請參閱 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
  2. 使用 Microsoft Sysinternals 簽章檢查程式 (sigcheck.exe) 判斷檔案是否具備有效的簽章。如需使用此公用程式的詳細資訊,請參閱 http://technet.microsoft.com/en-us/sysinternals/bb897441

    如需解決此問題,請使用以下命令:

Sigcheck -i -r -h <檔案名稱>

如果此工具顯示該檔案無效或未簽署,McAfee 就無法信任該檔案。如需繼續操作的資訊,請參閱〈解決方案 1〉。

附註:報告會指出某 Microsoft 類型的檔案未受信任,因此已被防止載入,但載入該檔案的元件是受信任的元件。這會引發新問題,導致 Scan32/Scan64 處理程序損毀。在此情況下,某 Microsoft 類型的檔案可能真的是惡意程式碼。

因應措施

注意:請只在不得己的情況下才停用一般標準保護 AP 規則。因為惡意程式碼會不斷演變,所以 McAfee 強烈建議您將 AP 規則維持在啟用狀態。如果您停用該規則,即允許外來程式碼 (包括惡意程式碼) 將其內容放入重要的 McAfee 處理程序,可能導致偵測失靈及/或運算環境失調。

如需停用防止 McAfee 服務攔截的「一般標準保護」AP 規則:
  1. 按一下 [開始][程式集][McAfee][VirusScan 主控台]
  2. 按兩下 [存取保護]
  3. 選取 [一般標準保護]
  4. 取消選取「防止 McAfee 處理程序攔截」(預設為啟用) 的[封鎖][報告]兩個項目。
  5. 按一下 [確定],退出 [VirusScan 主控台]。

免責聲明

本文內容源於英文。如果英文內容和翻譯有差異,請一律以英文內容為準。其中部分內容是使用 Microsoft 機器翻譯技術翻譯的。

為本文件評分