2013年5月3日 星期五

微軟更新檔製作、管理與派送方法大公開:全程無菌包概念


微軟更新檔製作、管理與派送方法大公開:全程無菌包概念

一直是駭客頭號攻擊目標的微軟,在更新檔的管理與派送已累積了一套安全的作法,從一開始的更新檔製作,到最後派送至用戶端,全程採取無菌包的概念

微軟身為全球軟體更新檔派送數量最多的廠商,一直以來都是駭客攻擊的頭號目標,因而累積了許多資安攻防的實戰經驗,也從中記取教訓,建立一套提升軟體更新檔安全的方法。臺灣微軟伺服器平臺事業部資深協理周旺暾表示,雖然這套方法並非百分之百的安全,但是可以強化微軟自身防護能力,盡可能降低駭客入侵的風險。

微軟這套方法希望能達到兩個目標,周旺墩表示,第一是降低軟體遭受駭客攻擊的風險;第二是防止駭客利用微軟作為跳板,發動攻擊。

在整個軟體更新檔的製作、管理與派送流程中,微軟主要由3個團隊合力完成,包括負責提升程式碼的安全強度的安全工程中心(Security Engineering Center)、更新檔派送中心(Center of Release Excellence),以及負責監控全球資安動態的安全回報中心(Security Response Center)。

周旺暾表示,在軟體開發的三階段:設計階段、開發階段以及測試階段,安全工程中心都會扮演資安專家的角色,遵循微軟的軟體安全開發流程(Security Development Lifecycle,SDL)規範,協助軟體開發團隊提升程式碼的安全強度。

軟體安全團隊的分工與任務 
軟體安全團隊- 
安全工程中心(Security Engineering Center)
任務:提升更新檔程式碼的安全強度
工作項目:
1.設計階段從軟體設計架構中發掘潛在風險
2.開發階段協助軟體開發團隊開發安全的程式碼
3.測試階段用已知攻擊手法測試程式碼安全強度

更新檔派送中心(Center of Release Excellence)
任務:確保更新檔內容完整性與派送過程的安全性
工作項目:
1.利用已知病毒碼檢測更新檔程式碼,確保沒有受到感染
2.產生加強派送安全用的數位簽章,可確保程式碼來源與內容的完整性
3.上架前最後一關人工審核,依據檢查表核對各項安全措施
4.自動上架更新檔,發布光碟版本(RTM)與線上版本(RTW)

安全回報中心(Security Response Center)
任務:決定要修補的漏洞與時程
工作項目:
1.監控世界上發生的資安事件
2. 蒐集與研究駭常見客的攻擊手法
3.隨時接收白帽或黑帽駭客的回報,或是客戶問題


設計階段:改善軟體流程,減少駭客攻擊面
在軟體設計階段,安全工程中心會依據軟體架構圖,找出可能受到的威脅,像是資料是否有分開存放、帳戶權限是否正確等。接著改善軟體流程,盡可能降低駭客的攻擊面(Attack Surface),減少攻擊威脅。

開發階段:強化程式碼安全,補足軟體流程無法克服的問題
透過改善軟體流程,若仍有無法有效避免的攻擊威脅,則在開發階段強化程式碼,盡可能將攻擊排除在外。

周旺暾舉例,因為企業對外服務需要使用SQL資料庫,除非不用SQL指令,不然就會有遭受SQL Injection攻擊的風險,所以在開發階段,軟體開者團隊就必須在需要輸入資料的地方,撰寫對應的SQL Injection過濾規則,提升軟體的安全性。

測試階段:模擬攻擊,測試程式碼安全強度
完成了前面兩個階段之後,安全工程中心最後一個任務就是利用目前已知的攻擊手法,對程式碼進行攻擊模擬測試,確保開發出來的程式碼是可以抵擋駭客攻擊,就好像新網站上線前,要經過壓力測試,確保網站可以承載與回應使用者的存取。此外,安全工程中心另有一項任務是教育訓練,指導新進軟體工程師遵循軟體安全開發流程規範。

派送階段:採無菌包裝概念,任一環節出錯即中斷發布作業
程式碼通過攻擊測試後,軟體開發團隊將程式碼送至更新檔派送中心,準備發布。更新檔派送中心則以4個流程確保更新檔發布的安全,分別是病毒掃描、程式碼簽章、人工審核流程及自動上架。周旺暾說,更新檔派送中心的作業如同無菌包裝,只要一個環節出錯,就會中斷發布作業。

第一關是病毒掃描,利用目前已知的病毒碼,對程式碼進行全面檢驗。這是因為,雖然每位軟體工程師的電腦都會裝防毒軟體,但是,防毒軟體並不能百分之百確保工程師的電腦,沒有受到病毒感染,若不幸深受其害,程式碼即有可能遭到污染。

確認程式碼沒有受到感染之後,立即加上數位簽章。數位簽章憑證的效力,如同紙本文件的簽名或蓋章的法律效力,可用來驗證程式碼內容與來源的完整性。就算是在發布過程不幸被駭客竄改,但是終端使用者的電腦也會自動檢查數位簽章的來源,若簽章來源不是由微軟發布的,使用者的電腦就不會信任此一更新檔,中斷更新程序。

周旺暾表示,發布更新檔的主機、進行簽章作業的主機以及管理金鑰的主機是分開的,就算駭客攻進其中一臺主機,也無法產生有效的數位簽章憑證。

程式碼加上數位簽章之後,來到發布前的最後一關人工審核流程。在這個階段,負責人員要確認檢查表上的事項,是否有按部就班進行。值得注意的是,負責查核的人員僅有檢核的權限,即便察覺某個項目沒有達成,也無法擅自更動程式碼,以免發生監守自盜的情況。

完成檢查表項目核對後,更新檔就自動上架,周旺暾表示,自動上架又可分為RTM(Release To Manufacturing)與RTW(Release To Web)兩種。RTM是指將更新檔壓製成光碟片,而RTW則是將更新檔放到網站,供使用者下載。

在更新檔派送中心的作業流程中,除了需要人工處理的審核流程之外,其餘皆採自動化的方式完成。周旺暾表示,自動化可降低人為操作時,因為疏忽而產生的風險。

安全監控:全天候監控全球安全狀況,立即因應漏洞修補
在微軟整個更新檔管理流程中,強化程式碼安全強度的工作是由安全工程中心負責;更新檔派送中心主要任務是負責更新檔的發布;而安全回報中心則是負責決定要製作哪些更新檔,以及更新檔的發布排程。

安全回報中心的研究人員隨時在接收白帽駭客或是客戶的問題回報,並監控世界所發生資安事件,當握全球安全動態。因為,就算更新檔成功修補了已知的漏洞,但是駭客攻擊手法日新月異,也許幾天、幾周之後又有新漏洞產生,唯有隨時處於準備萬全的狀態,才能立即因應。

假設有新漏洞被發現了,安全回報中心要先識別威脅的嚴重性,確認是否需要立即處理。若是事態嚴重,就要立即製作與發布更新檔,反之,則安排在每月固定的更新檔發布周期。

轉載自《iThome》

沒有留言:

張貼留言