著名的“交友網站”GitHub是程序員的“大本營”,很多人都將源代碼托管在上面,并不斷利用社區開源資源開發新的算法、軟件、應用。
這樣一個極客云集的平臺,居然被黑客給一窩端了,委實有點玄幻。
5月2日開始,GitHub遭到了黑客的攻擊勒索,有370多名用戶的源代碼和信息被名為“gitb ackup”的賬號刪除。
黑客下載了那些代碼,并存儲到了自己的服務器上。要求他們往特定賬戶上支付0.1比特幣。并進行了惡狠狠發威脅——“如果我們在未來10天內未收到您的付款,會將您的代碼公開或以其他方式使用。”
花開兩朵各表一枝,這邊GitHub程序員忙著找代碼, 隔壁微軟的開源開發平臺也不幸被黑客選中了。黑客擦除了其392個代碼儲存庫,要求微軟支付一定的款項才會歸還竊取的數百個源代碼。
對此,許多受害者認為,開源平臺遭受攻擊是其上開發的應用程序有漏洞,被黑客利用了。
那么,云服務器租用,有什么解決辦法么?GitLab建議是,使用強密碼降低被破解的風險,開啟雙重身份驗證,使用SSH密鑰等……
什么??全球頂尖程序員匯聚的平臺,安全措施也這么原始嗎?富土康流水線工人、村頭王大爺的交友賬號也都是這么提示的好嗎?
不得不說,GitHub程序員被劫持事件給業界上了生動一課,提醒人們,而開源軟件和組件的先天不足,可能給普通網民和企業安全帶來巨大的風險,尤其是建造著數字網絡的“工程師”也可能“打盹兒”的時候。
從GitHub說起:開源社區集體缺了一節“安全行駛課”
1998年,“開源”這一概念被首次提出,到2019年已經度過了20個春秋。憑借著開放、共享、自由等特性,開源平臺在軟件開發中扮演著越來越重要的角色。Gartner的一項調查顯示,有99%的組織在其IT系統中使用了開源軟件。
很多我們熟悉的日常軟件功能,比如支付賬單、娛樂社交、工作效率等等,有60-80%的代碼庫都來自開源社區。
前不久Snyk 公司發布的2019年開源安全現狀調查報告也說明,開源項目的采用率正在以驚人的速度增長。僅是2018年,Java 工具包翻了一番,而 npm 增加了大約 250000 個新的工具包。
(每種語言其生態系統的新漏洞增長情況)
數字時代的進度條,因為開源而飛快加載。但步子邁得太大,也容易摔著。說到影響網絡安全的最大掣肘,恐怕也要追溯到開源社區。
Snyk報告中提到,有37% 的開源開發者在持續集成(CI)期間沒有實施任何類型的安全測試,54% 的開發者沒有對 Docker 鏡像進行任何安全測試。這也導致兩年時間內,各大平臺的應用程序漏洞數量增長了 88%。 GitHub上排名前40萬的公共代碼庫中,僅2.4%有安全文檔。而npm 和 Maven 中央倉庫的安全隱患尤其嚴重,因為二者也是工具包數量增長最多的平臺。
搞了半天開發者們都是在不系“安全帶”的前提下超速飆車????話又說回來,漏洞的存在會帶來多大的影響呢?
原本不需要這么緊張的,但在開源的情況下,事情就變得很不一樣了。
因為當一個開源組件存在漏洞(通常稱為CVE)時,這個漏洞會迅速公布。原本,開源可以讓更多人及時發現漏洞,并對其執行必要的修復。不幸的是,一些圖謀不軌的人也同樣可以看到這些信息。
他們幾乎不需要付出太多努力,就能了解哪些組件更容易受到攻擊以及如何做。然后,找到哪些平臺和公司可能會反應遲鈍,在被修復之前黑掉他們的系統。
2018年4月,黑客就暴力破解了流行開源Magento電子商務平臺的口令,利用拿到的訪問權大肆搜刮信用卡記錄并安裝加密貨幣挖礦惡意軟件。另外諸如著名的OpenSSL水牢漏洞事件、心臟滴血事件、Equifax數據泄露事件、Gmail、yahoo和Hotmail賬號泄露等等,都是被黑客搶占了先機。
數據表明,如今開源平臺漏洞出現到修復的時間,中位數幾乎長達2年之久。這意味著,所有使用了那些漏洞代碼或組件的軟件用戶,只是在黑客們的陰影還沒來得及動手的“慈悲”下盲目而快樂地沖浪在網絡。
那么問題來了,究竟是什么導致了程序員們如此“心大”,甚至不停地給黑客們“送人頭”呢?
自欺欺人的“眾人之眼”,與軟件開發的三重門
顯然,開源代碼所謂的“眾人之眼”,并不能有效地杜絕安全漏洞,至少不能保證在黑客降臨之前消滅隱患。