• 一個錯誤價值九萬美金

    以下轉至https://www.facebook.com/share/p/1GeFn6EqtC/

    你可能很難想像,世界級科技巨頭 Google 也會犯下把家門鑰匙直接掛在門把上的低級錯誤。(很扯很扯這種) 😅

    而且這個錯誤,價值 9 萬美元,折合新台幣將近兩百九十萬元。

    故事的主角是一位資安研究員 Simon Koeck,他在研究 Google 開發者網站的登入流程。

    一般來說,當你點擊登入頁面,伺服器只會發給你一張小小的通行證,也就是所謂的 Cookie。

    這張通行證通常只有幾十個位元組,用來記錄簡單的驗證資訊。

    但他拿到的這塊餅乾,體積卻高達一千兩百個位元組,顯然裝了不該裝的東西。

    在 Flask 框架的架構下,這類資料預設只有簽名防竄改,本身完全沒有加密。

    於是他順手把封包解開,裡面的內容讓他當場愣住。

    封包裡面除了完整的 Python 物件,還大剌剌寫著 Google 官方的客戶端識別碼與金鑰密碼。

    更離奇的還在後頭。

    照理說,防止通行證被偽造的那道簽名防線,應該由伺服器私下妥善保管的密鑰來計算。

    他抱著半信半疑的心態,拿剛剛外洩的那把金鑰密碼去驗算。

    答案居然完全吻合。

    也就是說,Google 把用來鎖門的鑰匙,直接裝在包裹裡寄給了路人。

    既然能自行偽造合法簽名,代表通行證裡的任何內容都可以被任意竄改。

    而 Google 後端伺服器在讀取這份資料時,偏偏使用了資安界公認最危險的資料還原機制。

    這項機制允許攻擊者夾帶自訂指令,並強迫伺服器全盤照單全收。

    這在資訊安全領域被稱為遠端程式碼執行,等於把整台伺服器的掌控權直接奉送給對方。

    為了不對正式系統造成破壞,研究員採用了一種優雅的驗證方式。

    他在封包裡塞入讓伺服器強制沉睡數秒的指令。

    指令發出後,伺服器不多不少,剛好精準延遲了對應的時間才做出回應。

    這證明程式碼確實被 Google 的主機執行了。(#RCE)

    因為架構共用的關係,這個問題一次波及了 Google 旗下的七個大型開發者網域。

    研究員隨後提交了這份通報,Google 也以極高效率迅速完成修復。

    官方原本的最高漏洞懸賞金額是 75,000 美元。

    但因為這份通報內容完整、邏輯嚴謹,官方審查團隊額外給予加成獎勵。

    最終發出的獎金達到了整整 90,000 美元。

    這場資安事件給了所有軟體工程師一個昂貴且深刻的提醒。

    不要把機密金鑰裝進給使用者的資料裡,更不要隨意信任任何未經檢驗的外部輸入。

    即便是全世界最頂尖的科技公司,偶爾也會在最基礎的地方跌跤。😄

    原英文網站

    https://simonkoeck.com/writeups/google-devsite-flask-session-pickle-rce

  • Live Cyber Threat Map

    一個把現有網路攻擊圖像化的網站(有偵測到的攻擊)

    https://threatmap.checkpoint.com

  • GuideMe24 蓋米,全球各地的監視器畫面

    https://guideme24.com

    可以看到全球各地景點的監視器畫面網站

  • 台灣海纜動態地圖

    https://smc.peering.tw

    可以查看海底電纜目前是否有狀況

    由尤理衡先生設計

  • 精靈文字體轉換器

    輸入漢字,即可召喚精靈文(注音文)

    https://justfont.com/justforfun/elf-bpmf