91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何防止惡意的第三方DLL注入到進程

發布時間:2021-08-05 16:52:01 來源:億速云 閱讀:1202 作者:Leah 欄目:編程語言

如何防止惡意的第三方DLL注入到進程,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

UpdateProcThreadAttribute

第一種防止惡意第三方DLL注入到進程的方法就是使用UpdateProcThreadAttribute,這個屬性是PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY中一個我們可以自行設置的屬性。

下面的代碼段顯示了如何使用MITIGATION策略來創建一個新的記事本進程,而這個進程將阻止任意非微軟簽名的代碼注入其中。編譯并執行下列代碼后,將以進程緩解策略執行notepad.exe程序,并防止任意非微軟簽名的代碼注入其中。我們可以使用Process Hacker來進行檢查:

如何防止惡意的第三方DLL注入到進程

在下面這張GIF中,MITIGATION策略已經生效,任何非微軟簽名的代碼都將被屏蔽,但是其中有一段微軟代碼通過并成功執行了:

如何防止惡意的第三方DLL注入到進程

值得一提的是,這種特性實際上是Cobalt Strike的blockdlls在“作怪”。

SetProcessMitigationPolicy

在研究第一種方法的過程中,我偶然發現了一個名叫SetProcessMitigationPolicy的API,這個API將允許我們針對調用進程本身設置緩解策略,而不是像第一種方法那樣去為子進程設置緩解策略。mitigationpolicy.cpp的相關代碼如下:

PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY sp = {};sp.MicrosoftSignedOnly = 1;SetProcessMitigationPolicy(ProcessSignaturePolicy, &sp, sizeof(sp));

如何防止惡意的第三方DLL注入到進程

在我的測試過程中,使用SetProcessMitigationPolicy并不能防止已知的EDR解決方案將其DLL注入到我們的進程中。通過調試會話的分析,我們確認了原因,即在注入DLL之后,緩解策略將會立刻被應用。當一個進程被初始化并且運行之后,任何非微軟簽名的代碼都將無法注入到進程之中。

如何防止惡意的第三方DLL注入到進程

檢測

這里我有一個更好的辦法,就是使用PowerShell的一個“Get-ProcessMitigation”cmdlet命令來枚舉出使用了MicrosoftSignedOnly緩解策略的進程,然后對其進行分析調查,并設置基準線:

get-process | select -exp processname -Unique | % { Get-ProcessMitigation -ErrorAction SilentlyContinue -RunningProcesses $_ | select processname, Id, @{l="Block non-MS Binaries"; e={$_.BinarySignature|select -exp MicrosoftSignedOnly} } }

下圖顯示的是notepad.exe,它將允許微軟簽名的代碼注入到其進程中:

如何防止惡意的第三方DLL注入到進程

關于如何防止惡意的第三方DLL注入到進程問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

dll
AI

广州市| 德江县| 安平县| 沿河| 浠水县| 兴隆县| 天柱县| 镇原县| 都兰县| 海淀区| 轮台县| 黄龙县| 南溪县| 榆树市| 都兰县| 舒城县| 平乡县| 天等县| 图片| 安阳市| 应用必备| 榆林市| 绥芬河市| 铜川市| 无为县| 新闻| 孝义市| 聊城市| 得荣县| 永善县| 侯马市| 东山县| 甘孜县| 神木县| 察雅县| 都江堰市| 苏尼特右旗| 文山县| 隆安县| 修文县| 吕梁市|