預警和檢測策略開發
隨著我們對可用事件日志、它們的上下文和限制的新理解,我們的CIRT工程師現在可以在構建警報和檢測策略時使用這些信息。以下是一些假設的樣本,這些假設被開發用來作為潛在的警報/威脅搜索查詢的基礎,這些查詢被漏洞利用防御緩解機制分解。
非微軟官方的二進制加載
此 WDEG 緩解記錄由微軟簽名的進程加載非微軟簽名模塊的任何嘗試。這可以作為一個潛在的有價值的數據源,而不是將應用程序作為白名單的審計或實施。
范圍
系統級別。與某些文檔相反,這種緩解措施可以應用于所有進程。可以在全系統范圍內應用的審計日志非常理想,可以用來識別誤報,并將其列入白名單。當然,系統范圍的審計日志以事件量為代價,在非微軟官方模塊加載的情況下,事件量會很大。
潛在的異常觀測
·不能從或進程可執行文件中的子目錄加載的模塊。
·基本原理:通常期望dll從所期望的位置加載。
·從%windir%內的任何子目錄加載的未簽名的模塊(: 1)=
·理由:期望簽署合法的第三方代碼。當然也會有例外,但是事件量應該相對較低。
·一個用非標準擴展加載的模塊,而不是 .dll。
·基本原理:加載到進程中的大多數模塊都是dll。
·一個加載時間遠遠大于主機進程啟動時間的模塊。
·原理:這是一個潛在的注入指示器。盡管如此,還是要做好假陽性的準備。、
·加載到受保護或受保護的進程光(PPL)進程中的模塊,由 字段的非零值表示。
·基本原理:這表示受保護進程所保證的安全性失敗。這個事件的容量應該是非常低的。
已知的誤報
·從全局程序集緩存(GAC)加載的任何二進制文件(例如,以“\Windows\”開頭的)。這些是 NGEN'd (為性能目的而構建的本地編譯的的.Net 程序集)二進制文件,雖然沒有簽名,但l來自于已簽名 .Net 程序集(假設 GAC 沒有被篡改——需要管理員權限)。任何 .Net 進程都將加載這些二進制文件。
減少誤報的策略
·將未簽名的 DLL (: 1)和已簽名的 DLL(: 4)分開。雖然惡意軟件肯定可以被簽名,但它更有可能是未簽名的。
·將宿主進程為 windows 簽名的事件(: 9及以上)與 微軟簽名的事件分開(: 8)
缺失的事件上下文
·記錄的 DLL 的哈希。
·如果模塊已簽名(即 : 4) ,則不會顯示簽名者信息。
遠程鏡像加載
每當從遠程共享(SMB/WebDAV)加載鏡像時,遠程鏡像會加載緩解日志。建議在系統范圍內記錄這種緩解。
范圍
系統級和進程級。當處于審計模式時,理想情況下應該啟用系統范圍的設置,因為事件量應該相對較低。
減少誤報的策略
·識別從非 遠程資源加載的鏡像的事件量。
缺失的事件上下文
·鏡像哈希
字體審核/阻塞
字體已經被頻繁地用作獲得直接的、任意的內核代碼執行的手段。由于它們的復雜性、渲染程序(Win32K 子系統)的復雜性,以及它們歷來都是在內核中加載的,因此它們一直是被廣泛濫用的攻擊目標。作為一個漏洞利用原語,字體最常被加載到內存中,為此,字體加載事件可以捕獲特定的上下文。任何非標準字體加載都應該仔細檢查,并且應該是低容量事件。
范圍
系統級
潛在的異常觀測
·最初,所有字體加載事件都應該在審計模式下檢查,以驗證事件量。
·如果為1(加載在內存中)或2(遠程加載),則特別可疑。
·是一個可能沒有加載字體的進程。
·一個來自%windir%\Fonts 以外任何地方的
缺失的事件上下文
·字體哈希
·進程命令行值
設置 WSL 開發環境
本文內容
設置 WSL 開發環境的最佳做法分步指南。 了解如何運行命令以安裝默認的 Bash Shell,它使用 Ubuntu,或者可以設置為安裝其他 Linux 發行版、使用基本 WSL 命令、設置 Visual Studio Code 或 Visual Studio、Git、Windows 憑據管理器、MongoDB、 或 MySQL 等數據庫、設置 GPU 加速、運行 GUI 應用等。
開始使用
適用于 Linux 的 Windows 子系統隨 Windows 操作系統一起提供,但必須先啟用它并安裝 Linux 發行版,然后才能開始使用它。
若要使用簡化的 --install 命令,必須運行最新版本的 Windows(內部版本 20262+)。 若要檢查 Windows 版本及內部版本號,選擇 Windows 徽標鍵 + R,然后鍵入“winver”,選擇“確定”。 可以使用“設置”菜單或 Windows 更新助手進行更新。
如果希望安裝除 Ubuntu 以外的 Linux 發行版,或者希望手動完成這些步驟,請參閱 WSL 安裝頁了解更多詳細信息。
打開 (或 Windows 命令提示符)并輸入:
wsl --install
--install 命令執行以下操作:
在此安裝過程中,你將需要重啟計算機。
如果遇到任何問題,請查看排查安裝問題一文。
設置 Linux 用戶名和密碼
使用 WSL 安裝 Linux 發行版的過程完成后,使用“開始”菜單打開該發行版(默認情況下為 Ubuntu)。 系統將要求你為 Linux 發行版創建“用戶名”和“密碼”。
注意
隨 WSL 一起安裝的 Linux 發行版是按用戶安裝,不可與其他 Windows 用戶帳戶共享。 遇到用戶名錯誤? :在 Linux 上的用戶名中,應使用或不使用哪些字符?
若要更改或重置密碼,請打開 Linux 發行版并輸入命令:passwd。 系統會要求你輸入當前密碼,然后要求輸入新密碼,之后再確認新密碼。
如果忘記了 Linux 分發版的密碼:
請打開 ,并使用以下命令進入默認 WSL 分發版的根目錄:wsl -u root
如果需要在非默認分發版中更新忘記的密碼,請使用命令:wsl -d Debian -u root,并將 Debian 替換為目標分發版的名稱。
在 內的根級別打開 WSL 發行版后,可使用此命令更新密碼:passwd ,其中 是發行版中帳戶的用戶名,而你忘記了它的密碼。
系統將提示你輸入新的 UNIX 密碼,然后確認該密碼。 在被告知密碼已成功更新后,請使用以下命令在 內關閉 WSL:exit。
更新和升級包
建議使用發行版的首選包管理器定期更新和升級包。 對于 Ubuntu 或 Debian,請使用以下命令:
sudo apt update && sudo apt upgrade
Windows 不會自動更新或升級 Linux 分發版。 大多數 Linux 用戶往往傾向于自行控制此任務。
添加其他發行版
若要添加其他 Linux 發行版,可以通過 Store、通過 --import 命令或通過旁加載你自己的自定義發行版進行安裝。 你可能還想要設置自定義 WSL 映像,以便在企業中分發。
設置 Windows
Windows 可以使用命令行接口運行任何應用程序。 它的主要功能包括多個選項卡、窗格、Unicode 和 UTF-8 字符支持、GPU 加速文本呈現引擎,你還可用它來創建你自己的主題并自定義文本、顏色、背景和快捷方式。
每當安裝新的 WSL Linux 發行版時,都會在 Windows 中為其創建一個新實例,該實例可根據你的偏好進行自定義。
建議將 WSL 與 Windows 配合使用,尤其是在計劃使用多個命令行時。 請參閱 Windows 文檔,了解如何對其進行設置以及如何自定義首選項,包括:
文件存儲
例如,在存儲 WSL 項目文件時:
設置你最喜歡的代碼編輯器
建議使用 Visual Studio Code 或 Visual Studio,因為它們直接支持使用 WSL 進行遠程開發和調試。 Visual Studio Code 使你能夠將 WSL 用作功能完備的開發環境。 Visual Studio 提供了對 C++ 跨平臺開發的本機 WSL 支持。
使用 Visual Studio Code
按照此分步指南開始將 Visual Studio Code 與 WSL 配合使用,其中包括安裝遠程開發擴展包。 使用此擴展,能夠運行 WSL、SSH 或開發容器,以使用整套 Visual Studio Code 功能進行編輯和調試。 在不同的獨立開發環境之間快速切換并進行更新,而無需擔心會影響本地計算機。
安裝并設置 VS Code 后,可以通過輸入以下內容使用 VS Code 遠程服務器打開 WSL 項目:code .
請確保在命令的末尾添加句點以打開當前目錄。
使用 Visual Studio
按照此分步指南開始將 Visual Studio 與 WSL 一起用于 C++ 跨平臺開發。 Visual Studio 2022 使你能夠從 Visual Studio 的同一實例在 Windows、WSL 發行版和 SSH 連接上生成和調試 CMake 項目。
使用 Git 設置版本管理
按照此分步指南開始在 WSL 上使用 Git,并將項目連接到 Git 版本控制系統,同時使用憑據管理器進行身份驗證,使用 Git Ignore 文件,了解 Git 行尾,以及使用內置到 VS Code 的 Git 命令。
使用 Docker 設置遠程開發容器
按照此分步指南開始使用 WSL 2 上的 Docker 遠程容器,并使用 Docker Desktop for Windows 將項目連接到遠程開發容器。
設置數據庫
按照此分步指南開始使用 WSL 上的數據庫,并將項目連接到 WSL 環境中的數據庫。 開始使用 MySQL、、MongoDB、Redis、 SQL Server 或 SQLite。
設置 GPU 加速以提高性能
按照此分步指南在 WSL 中設置 GPU 加速的機器學習訓練,并利用計算機的 GPU(圖形處理單元)來加速性能繁重的工作負載。
基本 WSL 命令
通過 WSL 安裝的 Linux 發行版最好使用 或 Windows 命令提示符 (CMD) 進行管理。 有關使用 WSL 時需要熟悉的基本命令的列表,請參閱 WSL 命令參考指南。
此外,許多命令在 Windows 和 Linux 之間都具有互操作性。 下面是幾個示例:
裝載外部驅動器或 USB
按照此分步指南開始在 WSL 2 中裝載 Linux 磁盤。
運行 Linux GUI 應用
按照本教程了解如何設置和運行 WSL 上的 Linux GUI 應用。
其他資源
*請認真填寫需求信息,我們會在24小時內與您取得聯系。