??????? 本文翻譯自美國國土安全部(DHS)下屬的國家網絡安全和通信整合中心(NCCIC,National Cybersecurity and Communications Integration Center)在2016年4月發布的《Guidelines for Application Whitelisting in Industrial Control Systems_S508C.pdf》,有興趣的同學可以直接看原文,原文鏈接地址:https://ics-cert.us-cert.gov/sites/default/files/documents/Guidelines%20for%20Application%20Whitelisting%20in%20Industrial%20Control%20Systems_S508C.pdf
簡介
本文件作為"保護工業控制系統的七個步驟"(對應的英文文檔為《Seven Steps to Defend Industrial Control Systems》)的附錄,提供了有關實施應用程序白名單(本文下面部分使用AWL代替中文翻譯)的概念及指導。
AWL可以檢測并防止惡意軟件上傳及執行。大多數工業控制系統的靜態特性(計算環境穩定,軟件很少變化)使其成為運行AWL的理想選擇。因此推薦工廠企業和供應商合作,配置部署AWL來保護工控系統的安全。
AWL優勢
AWL是一種安全技術,是分層防御體系的關鍵組成部分。 AWL只允許選定的授權程序運行,而所有其他程序默認情況下都被禁止運行。一般通過創建和維護"列入白名單"的應用程序或文件位置列表來實現AWL方案,AWL強制機制可以包括對文件散列(例如:MD5、SHA2)、軟件簽名、可信路徑或者文件名稱的驗證。 注意,基于可信路徑的AWL因為控制力度比較小,建議用于企業內部環境,而基于文件名的AWL相對更弱,不推薦使用。
當工控設備使用AWL進行安全保護時,安全軟件會根據本地存儲的批準列表(策略)檢查每個試圖執行的應用程序。因為只允許"白名單"上的程序運行,所以能夠控制運行合法的軟件程序,而惡意軟件或其他未經授權的程序被阻止運行,從而可以有效的阻止那些惡意破壞者得逞。
AWL和防病毒軟件的差異
雖然看起來AWL的目的與防病毒(AV)產品類似,但兩者之間還是存在重要差異。AV產品主要通過使用大型"黑名單"來識別惡意軟件的簽名。如果可執行程序與列表條目匹配,AV軟件會阻止執行并隔離文件。這種方法可以很好地抵御已知的惡意軟件,因此AV在工控系統的縱深防御戰略中也占有一席之地。但是AV仍然無法防御最新的無法識別的惡意軟件,或者因為病毒庫沒有及時更新而漏掉一些惡意軟件。另外,很多惡意軟件會進行自我變異,生成一些不一樣的復制品,避免被當前的病毒庫識別。研究表明,最新的惡意軟件創建速度遠遠超過傳統病毒庫的擴展速度。考慮到這些情況,AWL可以作為AV軟件的有益補充,通過只允許特定程序運行的方式彌補AV系統的不足。
AWL如何運轉
大多數AWL解決方案都有一套初步的規則,并支持"學習模式"。在"學習模式"期間AWL通過運行學習白名單規則,根據學習期間的學習結果,修改調整白名單規則。"學習模式"之后,AWL就可以進入"阻塞模式",一旦開始"阻塞模式",AWL解決方案將執行保護措施,僅允許白名單上的程序執行。AWL可以記錄阻止操作并報告阻止信息給安全事件審計系統(比如SIEM)來進行后續的審計處理。
許多AWL軟件包也支持"警報模式"。 當處于"警報模式"時,非白名單程序的執行不會完全被阻止,而是提示用戶來選擇是否允許程序執行。
白名單的創建
管理員應該仔細檢查在"學習模式"期間產生的白名單,以確保沒有預先存在的惡意軟件被添加到白名單中。 建議在已知良好的"黃金形象"的系統上開始學習模式。 一旦AWL有效運行,維護的工作量非常小,唯一需要做的就是偶爾檢查阻止記錄,以確定是否有任何未經授權的應用程序試圖執行,或是否有新的合法應用程序已經安裝了但沒有被添加到白名單中。
在創建白名單期間,要確保把可能需要的軟件都包含在內。如果不能確定哪些軟件程序將在本地執行,可以與您的工控產品供應商合作以獲得完整的清單。注意有些特定的程序只能在退化或緊急情況下執行,因此在"學習模式"期間可能看不到,一定要確保這些程序能被正確的加入到白名單中。
為更復雜的系統創建擁有程序白名單是一個很棘手的事情。幸運的是,ICS環境中的許多設備需求變化很少,以非常確定的方式運行一組相對靜態的應用程序。 這種一致性允許精確定制的白名單應用在工控系統環境中,會取得更大的成功、遇到更少的問題。如果是傳統的企業IT系統可能就完全不一樣了。
一些AWL系統支持信任指定供應商簽署的所有應用程序,這種方案可以簡化白名單的創建和維護,只要是這個供應商簽署的所有軟件都將被列入白名單。
AWL作為變更控制的驗證工具
可以利用AWL來幫助確保將要安裝的應用程序已經過適當的審查并獲得批準。 將經過批準的程序名稱及HASH值或簽名加入白名單程序列表,只有符合審核條件的程序才能安裝運行,從而實現對變更控制的驗證。
AWL的限制
根據前面所講,AWL非常適合作為工控領域的防御措施,但它也不是一個"銀彈"解決方案,不可能阻止所有的入侵破壞。如果能擾亂加入白名單的過程,從而加入一個壞的"白名單",那AWL也是無能為力的,這樣的應用程序不會被AWL標記和阻止的。一些AWL供應商已經基于內存保護機制開發了一些產品來解決其中的一些問題,在內存里限制軟件應用的運行。還有一些惡意軟件可能運行在更高級別的應用程序環境來逃避白名單的控制,如Java,.NET Framework和腳本語言。最后,如果攻擊者已經被列入白名單,那白名單機制是徹底失效的,無法識別白名單列表內惡意程序的破壞行為。
選擇一款兼容的AWL
AWL軟件必須與工控設備上的操作系統兼容才能正常工作。一些工控設備的操作系統比較特殊,可能很難找到適配的AWL方案。 因此,必須選擇與當前操作系統兼容的AWL軟件進行部署,市場上有許多不同的AWL解決方案支持不同的操作系統。如果沒有兼容的AWL解決方案,一定要在現有網絡安全框架下,使用一些補償機制來保證安全。
一些工控設備供應商提供對AWL解決方案的認證,一些工控設備供應商提供可管理的安全服務。企業管理者應該了解適配這些特定工控設備的安全產品和服務。如果沒有合適的安全產品或服務可用,客戶在和工控設備供應商簽訂合同時應該提出要求,要求這些工控設備后續可以兼容AWL方案。
AWL在特定場景的挑戰
在某些工控系統上運行AWL可能是一個挑戰,使用大量自定義驅動程序和服務的系統可能需要調整才能成功運行AWL。例如,一些PLC工程工作站環境具有數十種定制服務和驅動程序來支持傳統網絡功能和定制的硬件設備。在這種情況下,一定要與供應商合作以確保所有需要的服務封裝在白名單中。有時為了讓AWL成功在這樣一個系統上運行,可能需要找到并解決兩者之間的沖突。 幸運的是,大多數工控系統是基于PC架構的,因此很容易實施AWL。充分利用"學習模式"對于大部分AWL方案的正常運轉是至關重要的。
在每個AWL解決方案實施之前,在適當的測試環境上測試每個AWL解決方案是至關重要的。 這種測試應該特別包括在下列情況:任何不經常使用的模塊都會被執行,從而確保所有相關程序都被包含進來白名單。
除了供應商提供的程序之外,還應該把定制開發的代碼程序包含在應用程序白名單中。
在關鍵的過程環境中,建議將AWL配置為警報模式而不是阻止模式。假陽性可能會對關鍵過程產生負面影響,但無論如何應該在設計和實施AWL時咨詢工控系統的供應商。
控制管理權限
管理員可以修改或繞過白名單的保護,所以在AWL解決方案中必須嚴格控制管理員賬號權限。任何白名單變更都應該提醒通知所有的管理員。企業主還應該了解合規性政策(例如,NERC / CIP)以及整個系統生命周期中的安全相關事宜。
管理AWL系統
如果本地工控專家有限,那么ICS供應商最好提供AWL支持服務。企業應該和工控設備提供商進行溝通并記錄AWL方案對工控設備運行的影響,尤其在緊急情況/應急情況下的影響,以便技術人員能夠在必要時使用任何可行的管理工具進行處理。
如果使用基于散列的白名單方法,那么必須修改AWL才能保證補丁或更新程序能夠運行。 因此,修改白名單就是安裝補丁或更新軟件的前置步驟。但是請注意,正如前面所討論的那樣,基于廠商簽名認證的AWL系統將不需要這些額外的步驟。對更新進行測試仍然推薦作為典型配置管理的一部分。
任何維護系統的技術人員都應該充分意識到AWL正在運行,他們帶到系統的任何工具可能運行不了。如果需要運行這些維護工具,就需要把某些目錄列入白名單,或者把維護工具加入白名單。
總結
雖然白名單技術不是萬能的,但正確配置的AWL確實是縱深防御解決方案的一個重要組成部分。
附加資源
DHS article "Application Whitelisting in an ICS Environment", DHS ICS-CERT Monitor July, August, September 2013.
NIST Special Publication 800-167; "Guide to Application Whitelisting".
?NSA Publication, "Application Whitelisting Using Microsoft AppLocker", August 2014.
?NSA Publication "Application Whitelisting Using Software Restriction Policies", Version 1.1, August 2010.
NSA/IAD Publication MIT-006FS-2013 "Application Whitelisting".
版權所有:鄭州三中網安科技有限公司 豫ICP備2020036495號-1 ?? | 豫公網安備 41019702002241號 | 站點地圖 | 人才招聘 | 聯系我們 |