一名網頁開發人員Carlo van Wyk指出,Visual Studio 2015平台上的GitHub擴充程式含有一個臭蟲,會將私有的儲存區(repositories)設定變成公開,此一臭蟲導致他在Amazon Web Services(AWS)雲端服務的金鑰外洩,在曝光短短幾分鐘內就遭到冒用,並在隔天收到近6500美元的AWS帳單。
Wyk說,他最近升級到Visual Studio 2015,對它所有的新功能都印象深刻,其中一項是整合了Git,除了方便變更區域端Git的內容之外,還能把區域端的Git儲存區同步至遠端的GitHub儲存區。
由於他原本就是GitHub的付費用戶,能夠建立私有的儲存區,在發現GitHub被整合到Visual Studio 2015之後,他決定透過此一新功能將區域端的Git儲存區(repositories)同步到GitHub上的私有儲存區,Visual Studio亦允許使用者建立一個新的GitHub私有儲存區。
隨後Wyk即把一個名為HumanKode的lib儲存區同步到GitHub的私有儲存區中。
然而,10分鐘後他便收到AWS的通知,聲稱他的帳號被入侵。原來是儲存於GitHub上的HumanKode私有儲存區的AWS存取金鑰外洩。Wyk檢查後發現,在GitHub上原本設為私有的HumanKode儲存區變成了公開儲存區,使得他的程式原始碼與AWS的存取金鑰全都在網路上曝了光。
之後他登入AWS,這時並未發現帳單的異常,於是他更改了AWS的密碼,取消所有存取金鑰,並建立新的存取金鑰,也收到了AWS變更確認郵件。
為了了解問題的來源,Wyk再於Visual Studio建立了一個空白的專案,然後再把它同步到GitHub的私人儲存區中,卻發現它又變成公開儲存區了。
讓Wyk氣急敗壞的事件還在後頭。
隔天早上起床後又收到了AWS的郵件,感謝他註冊了Amazon的EC2服務,然而他卻從沒用過EC 2,而且AWS的帳單金額飆上1700美元,他回了封郵件給AWS的客服並說明原委,然後登入AWS以終止這些不知何來的EC2實例,不過他只終止了自己所在地的實例,卻沒想到每個AWS區域都有以他帳號申請的20個以上的實例,使得他的AWS帳單最後爆增到6485.39美元,約相當於新台幣21萬1200元。
Wyk原本以為這是Visual Studio的臭蟲,但後來確定這是整合到Visual Studio 2015的GitHub擴充程式臭蟲,微軟與GitHub已修補此一臭蟲並更新了該擴充程式。
此一事件衍生了許多得以深入討論的面向,例如Wyk反省自己應該要再確認一下GitHub上的儲存區是否真為私人儲存區,或是在直接使用該功能前應事先測試一下。
此外,他的HumanKode儲存區只曝光了10分鐘,就已被駭客利用。Wyk推測這是因為許多比特幣的採礦者利用工具在網路上掃描AWS的存取金鑰,於AWS上建立大量的EC2實例以用來開採比特幣。
同時他也抱怨Amazon的回應速度太慢,且機制不夠完善,認為AWS應該要提供每日最高預算限制,不應允許無限的開銷,應該建立可用來一次關閉AWS存取服務的機制,也批評AWS對於每月用不到1美元的用戶帳單突然暴增毫無警覺。
Wyk指出,此事亦曝露出雲端的資料安全風險。雲端也許是個很好的異地儲存方案,但只要丟一個金鑰,可能就一切都完蛋了。跟過去儲存資料的方式相比,傳統的資料還比較不容易被盜,他預見未來會有更多災情重大的雲端資料外洩事件,也許現在該思考的是,若想避免企業資料外洩,不要上傳到雲端也許是個好選擇。(編譯/陳曉莉)
另一個更慘痛的雲端災難請參考: