如何管理開源產品的安全漏洞
| 2017-08-31 10:29
在 ELC + OpenIoT 峰會上,英特爾安全架構師 Ryan Ware 將會解釋如何應對漏洞洪流,並管理你產品的安全性。
在開發開源軟體時, 你需要考慮的安全漏洞也許會將你吞沒。常見漏洞及曝光(CVE)ID、零日漏洞和其他漏洞似乎每天都在公佈。隨著這些資訊洪流,你怎麼能保持不掉隊?
英特爾安全架構師 Ryan Ware 表示:“如果你釋出了基於 Linux 核心 4.4.1 的產品,該核心截止今日已經有 9 個針對該核心的 CVE。這些都會影響你的產品,儘管事實上當你配載它們時還不知道。”
在 ELC + OpenIoT 峰會上,英特爾安全架構師 Ryan Ware 的演講將介紹如何實施併成功管理產品的安全性的策略。在他的演講中,Ware 討論了最常見的開發者錯誤,跟上最新的漏洞的策略等等。
Linux.com:讓我們從頭開始。你能否簡要介紹一下常見漏洞和曝光(CVE),零日以及其他漏洞麼?它們是什麼,為什麼重要?
Ryan Ware:好問題。常見漏洞及曝光(CVE)是按美國政府的要求由 MITR Corporation(一個非營利組織)維護的資料庫。其目前由美國國土安全部資助。它是在 1999 年建立的,以包含有關所有公佈的安全漏洞的資訊。這些漏洞中的每一個都有自己的識別符號(CVE-ID),並且可以被引用。 CVE 這個術語,已經從指整個資料庫逐漸演變成代表一個單獨的安全漏洞: 一個 CVE 漏洞。
出現於 CVE 資料庫中的許多漏洞最初是零日漏洞。這些漏洞出於不管什麼原因沒有遵循更有序的如“責任揭秘”這樣的披露過程。關鍵在於,如果沒有軟體供應商能夠透過某種型別的修復(通常是軟體補丁)來進行響應,那麼它們就成為了公開和可利用的。這些和其他未打補丁的軟體漏洞至關重要,因為在修補軟體之前,漏洞是可以利用的。在許多方面,釋出 CVE 或者零日就像是開槍。在你比賽結束之前,你的客戶很容易受到傷害。
Linux.com:有多少漏洞?你如何確定那些與你的產品相關?
Ryan:在探討有多少之前,以任何形式釋出軟體的任何人都應該記住。即使你採取一切努力確保你釋出的軟體沒有已知的漏洞,你的軟體也會存在漏洞。它們只是不知道而已。例如,如果你釋出了一個基於 Linux 核心 4.4.1 的產品,那麼截止今日,已經有了 9 個CVE。這些都會影響你的產品,儘管事實上在你使用它們時不知道。
此時,CVE 資料庫包含 80,957 個條目(截止至 2017 年 1 月 30 日),包括最早可追溯到 1999 年的所有記錄,當時有 894 個已記錄問題。迄今為止,一年中出現最大的數字的是 2014 年,當時記錄了 7,946 個問題。也就是說,我認為過去兩年該數字減少並不是因為安全漏洞的減少。這是我將在我的談話中說到的東西。
Linux.com:開發人員可以使用哪些策略來跟上這些資訊?
Ryan:開發人員可以透過各種方式跟上這些如洪水般湧來的漏洞資訊。我最喜歡的工具之一是 CVE Details。它以一種非常容易理解的方式展示了來自 MITRE 的資訊。它最好的功能是建立自定義 RSS 源的能力,以便你可以跟蹤你關心的元件的漏洞。那些具有更復雜的追蹤需求的人可以從下載 MITR CVE 資料庫(免費提供)開始,並定期更新。其他優秀工具,如 cvechecker,可以讓你檢查軟體中已知的漏洞。
對於軟體棧中的關鍵部分,我還推薦一個非常有用的工具:參與到上游社群中。這些是最理解你所使用的軟體的人。世界上沒有比他們更好的專家。與他們一起合作。
Linux.com:你怎麼知道你的產品是否解決了所有漏洞?有推薦的工具嗎?
Ryan:不幸的是,正如我上面所說,你永遠無法從你的產品中移除所有的漏洞。上面提到的一些工具是關鍵。但是,我還沒有提到一個對你釋出的任何產品來說都是至關重要的部分:軟體更新機制。如果你無法在當場更新產品軟體,則當客戶受到影響時,你無法解決安全問題。你的軟體必須能夠更新,更新過程越容易,你的客戶將受到更好的保護。
Linux.com:開發人員還需要知道什麼才能成功管理安全漏洞?
Ryan:有一個我反覆看到的錯誤。開發人員總是需要牢記將攻擊面最小化的想法。這是什麼意思?在實踐中,這意味著只包括你的產品實際需要的東西!這不僅包括確保你不將無關的軟體包加入到你的產品中,而且還可以關閉不需要的功能的配置來編譯專案。
這有什麼幫助?想象這是 2014 年。你剛剛上班就看到 Heartbleed 的技術新聞。你知道你在產品中包含 OpenSSL,因為你需要執行一些基本的加密功能,但不使用 TLS 心跳,該問題與該漏洞相關。你願意:
a. 花費時間與客戶和合作夥伴合作,透過關鍵的軟體更新來修復這個高度安全問題?
b. 只需要告訴你的客戶和合作夥伴,你使用 “-DOPENSSLNOHEARTBEATS” 標誌編譯 OpenSSL 產品,他們不會受到損害,你就可以專注於新功能和其他生產活動。
最簡單解決漏洞的方法是你不包含這個漏洞。
(題圖:Creative Commons Zero Pixabay)
作者:AMBER ANKERHOLZ 譯者:geekpi 校對:wxy
相關文章
- 亞馬遜是如何開發和管理產品的?亞馬遜
- 打個樣|如何更好地踐行《網路產品安全漏洞管理規定》?
- 開源史上最成功的八個開源產品
- UAVStack開源系列產品
- 相比開源,微軟的產品更便宜微軟
- 觀點:相比開源,微軟的產品更便宜微軟
- Wharf:專注 ContainerOps 的開源產品AI
- 十二大Docker開源替代產品Docker
- 《網路產品安全漏洞管理規定》出臺,漏洞披露者的緊箍咒?
- 產品管理中如何實現產品細分?- Reddit
- Scrum Mastery:產品開發中如何優化產品價值?ScrumAST優化
- Stages—產品開發流程管理解決方案
- 產品開發專案管理初學者指南專案管理
- 盤點微軟最應該開源的 15 款產品微軟
- 【仿豆瓣小組】極簡社群開源產品
- 深入應用linux及其它開源產品Linux
- 如何優化產品開發過程?優化
- 阿里巴巴73款開源產品全向圖阿里
- 如何開發高質量的Web閱讀產品Web
- 如何避免開發一款失敗的產品
- IDC報告|綠盟網路安全漏洞掃描與管理產品領跑十年
- Facebook產品的開發流程
- 下一代產品開發-DCM開發鏈管理
- 產品全生命週期的產品結構和配置管理構架
- 滴滴開源分散式訊息中介軟體產品DDMQ分散式MQ
- 掘金開源庫產品近期更新說明(11-15)
- 如何選擇適合你的企業資料管理類產品
- 產品發版管理用的專案管理軟體專案管理
- 產品團隊管理 - 如何制定、推行,優化工作流程優化
- 團隊管理:產品經理如何與團隊相處
- 開源:醞釀創新思想和創新產品的運動(轉)
- LastPass 的開源替代品AST
- 如何做產品定位?
- 50分鐘學習 | 開發產品庫存管理介面
- 解密Facebook產品的開發流程解密
- 產品資料管理PDM的專案管理解決方案專案管理
- 敏捷開發模式下如何快速提升產品質量敏捷模式
- 企業如何開展軟體產品試用工作