FineArt News

為何需要對軟體限制安裝執行 ?

您是否有這樣的經驗,參加某些特定活動卻因您的姓名不在清單中,而無法參加?也許僅是忘記報名這次活動;還是報了名,但因為不是活動行銷對象, 特別被排除而無法參加。以上兩個原因不同,但可能結果雷同。這案例在概念上與應用程式白名單非常相似,無法參加是因為沒有註冊;這個清單就是所謂的白名單,上面包含了使用者可否參加及可以參與的活動內容。

應用程式白名單是指電腦系統內被允許執行的程式清單,未列出的程式將沒有執行權限,沒有存取權限。這背後的邏輯是拒絕一切,只允許某一些應用程式。與之相反的是應用程式黑名單,禁止其不能執行和安裝黑名單上的程式,這個邏輯是允許所有程式並禁止一些指定程式。

 

限制軟體安裝執行的動機

基於資安管理上的幾個考量,我們需要限制軟體的安裝執行:

  • 公司軟體採購版權有疑慮的
  • 浪費公司資源的軟體,如P2P,採礦軟體等
  • 具風險性的軟體,如IPSCAN這類網路掃描工具
  • 未知的惡意軟體,如 WannaCry

就防護資訊外洩而言,不知名的程式被執行,進而將特定的資訊傳送到未知的地方,是很嚴重的資安漏洞。

 

Application Control v.s Application Whitelisting

業界很常將Application Control與Application Whitelisting二個技術相提並論,但它們還是稍有不同。在說明對軟體執行安裝控制之前,先說明一下這二者的差別。

Application Control通常是指比較模糊寬鬆的應用程序白名單技術,將信任關係放在軟體套件之上。然而Application Whitelisting卻是比較嚴格地將安全信任關係精準到單一檔案上。

應用程式白名單技術將每個檔案和應用程式,識別成為一個唯一項目,而不管它屬於什麼軟體。如果修改或篡改了任何檔案,則將阻止執行該檔案。這非常有效地防止了潛在攻擊者在系統上執行惡意程式,並顯著提高分辨入侵企圖的能力。 在特定的應用情境下,使用HASH判斷執行應用程序白名單,而無需分辨大量的目錄結構、發行者或Parent process 的特徵,只要確認檔案變更是否合法。

應用程式白名單是一種保護系統安全的一種方法,旨在防止系統上非預期執行惡意程式碼(也稱為惡意軟體)。如果正確部署實施,可確保只能執行授權的應用程式(例如可執行檔、軟體程式庫、腳本和安裝程式等)。雖然應用程式白名單主要是為了防止惡意程式碼的執行和傳播,但它也可以應用於防止安裝或使用未經授權(Licensed)的應用程式。

 

實務上的挑戰

但白名單的方法有一定技術困難度。前面提到,應用程式白名單是拒絕所有,只允許賓客名單上的參加。與防火牆上的規則相比,列出可上網的網址,然後其他都拒絕,這個很自然達成。但是在應用程式白名單上可就相對的複雜。在軟體控管的世界裡,很明顯你不能Deny All ! 天知道下一次作業系統更新,會異動到那些檔案? 防毒軟體更新後,會增加那些檔案,會修改那些檔案? 為了解決這個矛盾,我們檢視應用方案,分析業界通常採用的白名單機制。

一般實施應用程式白名單涉及以下步驟:

  • 識別被允許執行的應用程式
  • 發展制定應用程式白名單規則,以確保只有被允許的應用程式可以執行
  • 使用變更管理程式維護應用程式白名單規則,包括系統動態維護及使用者介入維護

而識別判斷應用程式特徵的依據

  • 執行檔雜湊比對規則
  • 發行者憑證規則(如:組合發行者名稱和產品名稱)
  • 路徑規則 (防止未經允許存取修改資料夾和資料夾/檔案內容)。

大多數應用程式控制解決方案都會包含白名單和黑名單功能,以區別及控制要信任哪些應用程式,並允許執行以及阻擋哪些應用程式。除了上述靜態黑白名單,應用程式控管系統通會保留內建允許執行應用程式規則,以適應作業系統更新,而不需管理人員特意介入。在某些封閉環境中的應用,如半導體製造設備上的控制PC;固定白名單加上雜湊比對,或許就已經十分充分。

 

結語

企業在日常業務運營中越來越依賴應用程式。而且以 Web、雲端存取協力廠商應用程式,可能是大部分企業業務流程的核心。公司面臨著監控和控制資料安全威脅的挑戰,同時要兼顧高可靠、高效率運營。通過應用程式控制,各種規模的企業可以相當程度上消除惡意、非法和未經授權的軟體存取所帶來的風險。