數位產品上線前是否該進行資安測試,怎麼測試才不容易漏測,測完應該怎麼做?臺灣樂天市場資安稽核團隊經理紀文平分享樂天市場從事前評估檢測需求到事後規畫解決方案的做法中,如何透過溝通與制度化來強化檢測嚴謹度,以及這套做法和臺灣常見做法的不同之處。紀文平所屬團隊是樂天集團3個國家的產品測試團隊之一,負責集團在各國的產品資安測試跟滲透測試。
產品上線前資安檢測,指的是產品正式發布或改版前,由資安工程師扮演攻擊者,來試探系統漏洞,以在產品正式發布前修復或制定其他處理方針。樂天完整的檢測程序分為四個階段,包括了檢測必要性評估階段、提交需求的準備階段、正式檢測階段,以及事後風險評估階段。
產品上線前資安檢測要先評估必要性
紀文平指出:「像樂天這樣大型跨國企業有大量產品發布或改版,必須決定資安檢測的必要性及優先度。」例如,如果只是使用者介面排版更新、韌體小型更新、或靜態網頁更新,樂天未必會進行資安檢測。紀文平說,正式進入檢測階段前,企業需要有一套決策機制來評估資安檢測必要性,樂天也有一套自己的評估決策樹。他建議,企業可以從四個面向,來制定適合的必要性評估機制。
第一個考慮面向是從攻擊表面來評估,也就是從產品部署環境,來評估攻擊者可以從哪些面向來對產品下手。可以考慮,部署環境有無外部保護機制?網路環境為何,有沒有WAF、VPN、Load Balancer、Proxy等機制?攻擊者能不能直接從外網接觸到此產品?都是需要考慮的事項。
紀文平補充,當產品直接部署到客戶端環境,檢測時就要假設沒有任何額外防護,不能心存僥倖。如果是部署在自家可控環境,作為一個SaaS服務提供給客戶,測試時要連同內部執行環境的防護措施一併納入考量。
第二個面向是產品是否涉及敏感資料。例如,產品是否會處理到個人資料、信用卡資料等高度隱私資料,或是企業內部高機密等級的資料?另外,也需要依照資料特性,測試處理方法有遵循相關資料處理法規或標準。
第三個面向則是從產品改動情況評估,改動幅度和內容會不會影響資安相關設定。可以問的問題包括:產品是否涉及關鍵系統?是新產品推出還是舊產品改版?是大版本更新和還是小幅改動?改動內容是否有影響產品功能或底層邏輯?
最後一個面向則要考慮網路環境的改變,包括網路組態有無改變、使用的API及其他服務有無改動等。
產品上線前資安檢測的做法,臺日模式大不同
一項產品評估後,確定進行上線前資安檢測,便進入了準備階段,由開發方提交檢測具體需求給資安檢測方。紀文平觀察,樂天等日本企業,與臺灣常見檢測準備方法有明顯差異。他以《112年共同供應契約資通安全服務品項採購規範》作為臺灣做法範本,來和樂天做法比較。
首先,臺灣做法常會以URL或IP當作基本檢測單位,比方說,一項內網滲透測試,就是以一個IP為單位去計算服務所需人天。
但樂天會以更細緻的請求為單位。光是一個登入頁面,內有登入、忘記密碼、提交Email、回到上一頁、進入更改密碼頁面、提交新密碼、進入訂單中心、進入購買歷史等功能按鈕,就有8個請求,也就是8個需要檢查的項目,都需要各自執行一輪檢測作業。
不只如此,樂天資安團隊還會要求開發團隊提供檢查項目的詳細資訊,例如HTTP 請求方法(HTTP Method)、目標URL,以及各種其他細項參數。紀文平說,這種做法的溝通成本較高,但可以讓測試需求更加清楚、細緻。
開發方提交完需求,資安團隊便會正式進入檢查階段,這個階段的臺日做法,也大不相同。紀文平說,臺灣定義檢測種類時通常用較高層級、較概括的語言來描述,且只會舉例幾項應測試內容,不會窮舉所有可測試項目。紀文平指出,這種做法很依賴資安工程師經驗或是技術,來決定還有哪些項目應該測試。他舉例,XSS漏洞測試做法有很多種,像前述共同契約規範只有簡單提到「XSS漏洞測試」,這樣一來,若企業只根據該規範來測試,便無法保證負責的工程師能測試到各種細項。
樂天則會有一個檢查表,詳細列出每一項檢查項目。以Web產品來說,這個檢查表上會有超過100個項目,包含OWASP Top 10、SANS Top 25,以及其他常見資安漏洞項目,資安工程師需要根據測試表項目逐一測試並標註測試完畢。紀文平坦言,這種做法較繁瑣,但至少能確保資安工程師不會因為經驗或知識不足而有所疏漏。
根據風險程度擬定解決方案
檢測完畢,樂天資安團隊會根據CVSS分數列出不同漏洞,並設定解決漏洞的時限。若開發團隊評估漏洞無法於產品正式發布前修補,則會啟動風險承擔(Risk Acceptance)評估程序,由資安團隊及開發團隊長官共同執行。
樂天的風險承擔評估做法是,漏洞CVSS分數越高,便需要兩邊團隊越高階的主管批准,才能允許不在產品發布前修補這個漏洞。同意承擔這個漏洞的風險後,還需要擬定短期風險規避和長期漏洞修復計畫。
通常,越高風險的漏洞越不容易被放行。少數特例是,只於內網運作的服務,綜合考量內網其他防護機制後,兩邊團隊主管都判斷此服務不容易被攻擊,才會選擇承擔漏洞風險。
紀文平總結,樂天產品上線前資安檢測流程非常注重細節與溝通。從準備階段開始,要求開發團隊給予更多資訊及測試準備,測試階段以請求而非URL為單位,且用檢查表細緻定義檢查項目,到最後風險承受評估要求開發及資安兩方團隊共重承擔資任,都可見一斑。
「訂出細緻具體的檢測流程,就不會只依賴資深工程師的經驗。」紀文平說。不過他提醒,這種做法也有其挑戰,包括溝通成本較高、聚焦細項容易忽略複合型的弱點,以及共同評估風險承擔容易模糊責任歸屬等。
樂天產品上線前資安檢測特色
特色1 樂天產品檢查以請求為單位,而非以URL或IP為單位。例如,這個簡單的登入頁面就有高達8個請求,需要各自做一輪資安檢查。攝影/郭又華
特色2 提交檢查需求時,開發團隊需要給資安團隊詳細的產品資訊,包括HTTP請求方法HTTP Method、目標URL,以及各種其他細項參數。攝影/郭又華
特色3 進行資安檢測時,樂天資安工程師會拿到一份詳細的檢查表,以Web產品來說,會有超過100個項目。工程師測試完,還須在檢查表上逐一標註完成。攝影/郭又華
特色4 開發團隊評估漏洞無法在產品上線前修補時,便須由開發和資安團隊主管共同決定是否承擔此風險,並擬定長短期應對計畫。CVSS分數越高,所需簽核主管等級越高。攝影/郭又華
熱門新聞
2024-12-27
2024-12-24
2024-11-29
2024-12-22
2024-12-20