志在防堵零日攻擊
Project Zero主要的工作是尋找潛在的資安漏洞,尤其是可能造成零日攻擊(Zero-Day Eexploit)的漏洞。當團隊人員找到漏洞之後,會馬上通知相關的軟硬體廠商或開發者,並等待修補完成之後,才對外公布漏洞細節,但是如果開發者在90天之內尚未完成修補工作的話,Project Zero則會自動公布漏洞細節。
所謂零日攻擊是指利用還沒有修正程式的資全漏洞發動攻擊,由於在攻擊進行的當下所有的目標(例如裝有該程式的電腦)都處於門戶大開的狀況,因此會對資安造成巨大威脅,因此如何防制這類攻擊就是重要的工作。
Project Zero的這種處理流程符合負責揭露(Responsible Disclosure)的原則,能夠給予硬體或軟體廠商時間去修正問題,並能在適當的時間將問題揭露給大眾知悉,取得資安與社會責任的平衡。
提升漏洞通報效率
Project Zero團隊表示他們花了許多時間向各相關廠商通報與Bug,雖然在大部分的情況下流程都很流暢,但是有時候還是會遇到比較棘手的狀況,比方需要將漏洞通報給多間廠商,或是通報系統設計不良。
Project Zero考量到廠商需要確實收到情資,通報的動作對於維護一般使用者的安全也相當重要,因此決定分享通報的流程,以期望與廠商一起改進,提升未來通報的確實與即時性。
從工作流程的角度來看,需要掌握幾個重點來簡化通報的程序。首先通報管道要相當明確且容易進行,Project Zero偶爾會遇到找不到通報管道的情況,在廠商的網站也找不到相關的說明文件,或是文件已經過期導致程序不符,這些問題都將拖慢處理速度,因此建議廠商能在容易找到的位置提供明確說明文件。
第二,流程本身也要盡量簡單,若通報的方式相當冗長,不但會讓通報者花費更多時間,甚至可能會造成通報者中途放棄,雖然Project Zero的成員不會這樣做,但是難保其他人都會確實完成程序。Project Zero建議盡量讓通報流程精簡,不需要點擊許多按鈕或閱讀冗長說明,例如透過電子郵件或Bug追踪器(Bug Tracker)就是個好方法,使用網頁表格也不錯,只要讓通報流程越容易,大家就越有意願走完程序。
廠商也應充分測試通報系統是否能正常運作(Bug追蹤系統本身不能有Bug啊),否則在填寫表單時彈出錯誤訊息,或是回報的資訊卡在系統中沒被注意到,都會影響工作進度。此外系統最好會回傳確認訊息,讓通報者知道廠商有收到資料,而當漏洞沒有在預期的時間內處理完成,通報者也更可能再次提醒。
(下一頁還有更多建議與實例分享)
別因法律程序讓通報者不開心
至於法律協議也是常見的問題,雖然它跟懸賞獎勵或程式碼歸屬有關,但是通報者往往無法代表自己所屬的公司簽定協議,所以需要費時在繁瑣的行政程序。良好的流程應該能讓通報略過法律程序。
最後,即使漏洞通報流程設計相當完善,仍無法避免會存在一些小問題,所以廠商也應該提供意見反應的管道,讓通報者能提出建議或是尋求協助,讓通報過程更加流暢。
Samsung智慧型手機漏洞通報實例
Project Zero以CVE-2018-10751資安漏洞為例,說明困難的通報流程所遇到的問題。這個漏洞存在Samsung S7 Edge智慧型手機,攻擊者傳送1條簡訊到目標裝置後,不需要使用者進行任何確認或操作,就能觸發緩衝區溢位。
CVE-2018-10751是個嚴重的資安問題,Project Zero團隊希望能馬上完成通報,於是便前往Samsung的行動裝置資安通報網頁瀏覽說明資訊,並在該網頁找到通報(Create Report)按鈕。
在沒有該網站帳號的情況下點選通報之後,來跳出的網頁卻是以韓文撰寫(猜得到應該是註冊與登入),由於通報者看不懂韓文,所以只好回到上一頁尋找註冊選項,好在這次來跳出的網頁是英文版。
接下來通報者需要閱讀並同意註冊條款,然而點下連結之後,總共有超過20條同時事項,其中大多數卻與漏洞通報沒有關聯,更慘的是正文的部分還是以韓文撰寫。由於條款相當繁雜(而且看不懂),所以通報者只稍微瞄一下,便點下同意。接下來網頁出現輸入帳號資料的對話框,但通報者並不希望留下生日和郵遞區號等個人資料,不過為了建立帳號,還是照著網頁指示做。
做到這一步總算可以開始輸入報告,而在填寫完通報表單後,往下選動網頁,還有獎勵同意事項等著確認,其中內容包括下列2段文字:
- You MUST hold off disclosing the vulnerability in reasonable time, and you MUST get Samsung’s consent or inform Samsung about the date before disclosing the vulnerability.(通報者需要在合理的時間過後才能公開揭露漏洞,並需獲得Samsung的同意或在揭露前向Samsung通知日期。)
- In some cases, Samsung may request not to disclose the vulnerability at all. (在某些情況下,Samsung可能會要求不要揭露漏洞。)
如果不同意Samsung對公開揭露所做的控制,就無法提交表單,而Samsung也沒有提供可以報告問題的E-mail地址,這讓通報者感到相當不舒服。
通報者在過程中遇到很多問題,最後還是向Samsung Knox資安團隊的成員求助,才能在1週的時間完成通報,否則將會延誤更多時間。
事見過後後,Samsung是在約2個月的時間後推出相關更新檔,並修正註冊網頁的語言問題,也讓通報者在不勾選獎勵同意事項的情況下送出表單,讓流程有所簡化。
如果通報流程太過繁瑣,很可能會造成通報延宕、遺失,甚至是通報者放棄通報等情況,最後導致資安的負面影響。Project Zero團隊非常感謝廠商著手改善流程,並建議廠商應提供多國語言介面並測試系統運作,也應盡可能簡化流程、刪除過多法律協議,最後還需定期接納回饋意見,讓通報系統更有效率,以利各界合作聯手打造更安全的環境。
加入電腦王Facebook粉絲團