Skip to content
所有分類

tech

518 篇文章

從零開始的資安獵人:系列導讀——用白話走完 XSS、記憶體、VM 逃脫、TEE 與 AI 漏洞獎金

這是 `從零開始的資安獵人` 系列(0 → 14)的閱讀入口。每篇用白話講一個決定,並附可驗證的官方來源,適合沒有資安背景的讀者。

漏洞獵人的工作台:抓請求、改參數、驗證權限

先重跑對照組,再只改一個欄位;狀態碼或文字反射本身都不是漏洞證明。

TEE 與機密運算:WhatsApp 為什麼把 AI 放進連 Meta 都看不到的房間

TEE 是硬體隔出來的執行環境,目標是連機器的營運者也看不到裡面在處理什麼;遠端證明則讓外人驗證「房間裡跑的是哪份程式」。WhatsApp 的 Private Processing 用它跑 AI 摘要,Meta 的獎金頁把 TEE 內程式碼執行(含繞過程式碼證明)、權限提升、VM 逃脫各列到最高 30 萬美元,資料洩漏 15 萬、持久化 1 萬,僅限受邀,且只有內部情境的漏洞另有較低的上限。Trail of Bits 的審查找到 28 個問題,其中 8 個高嚴重度,說明 TEE 的難處在實作細節,不在概念本身。

AI 產品的 Bug Bounty 怎麼算:Google、OpenAI、Anthropic、Meta 的收件範圍與獎金對照

AI 產品的獎金頁多半不收「模型說了什麼」(越獄、幻覺、有害輸出),收「模型被叫去對別人做了什麼」(間接 prompt injection 造成的動作與資料外洩)和產品周邊的傳統漏洞。Google AI VRP 的基準獎金是 100 到 20,000 美元,OpenAI Safety Bug Bounty 每筆 250 到 7,500 美元。以上為 2026-10-14 查閱的版本。

漏洞報告怎麼寫才拿得到全額:品質係數、一頁模板與期望值試算

Google 依報告品質把獎金乘上 0.8、1 或 1.2 倍,看七個維度,而且只採計分流前已有的資訊,事後補充通常不影響。照一頁模板(標題、摘要、前提、重現步驟、影響、修補建議)寫,再用「機率 × 金額 ÷ 時數」粗估每小時期望;上限再高,機率小到一定程度,期望也可能比小額獎金低。送出後只有 Resolved 保證有獎金,被判重複或無效很常見。文中的機率與時數全是假設,不是統計。

Bug Bounty 要不要考證照:系列 0–14 的練習與學習地圖

先完成可重現的練習報告,再依能力缺口決定課程或證照;證照不替你取得測試授權。

Bug Bounty 獎金地圖:Google、Hyper-V、Meta TEE、Apple 與 Mozilla 的價碼在付什麼

獎金要連同產品、漏洞類別、攻擊情境與證據要求一起看;各計畫上限與品質規則不能混用。

Bug Bounty 規則怎麼讀:Scope、Rewards、Exclusions 與回報條件

讀規則先回答四個問題:能測什麼、獎勵條件是什麼、禁止哪些行為、如何回報。列在資產清單上,不代表所有方法都獲得授權,也不保證發獎。

按下連結後,瀏覽器和伺服器交換了什麼?

瀏覽器送出方法、請求目標、標頭與適用的 Cookie;伺服器回傳狀態、標頭和內容。認出使用者只是身分驗證,每筆訂單仍須另外檢查存取權限。

網站最常見的兩種洞:XSS 與 IDOR,為什麼獎金差這麼多

XSS 是網站把使用者輸入原樣放進網頁,讓別人的瀏覽器把它當程式執行,修法是輸出時轉義。IDOR 是伺服器收到 id 就給資料,沒檢查這筆資料是不是你的,修法是伺服器端檢查擁有者。Google 獎金表把 XSS 放在「在受害者瀏覽器執行程式碼」(C0),一般 Google 應用基準 10,000 美元;IDOR 放在邏輯漏洞(S2),價位看洩漏的資料多敏感,同樣在一般 Google 應用上是 3,133.7 到 31,337 美元。

Google 獎金表裡 RCE 為什麼最貴:Command Injection 與不安全反序列化

RCE 是讓外人在別人的機器上執行程式。Google 獎金表裡,同樣是一般 *.google.com 應用,RCE 基準 75,000 美元,XSS 是 10,000。入門的兩條路是把使用者輸入拼進 shell 指令,以及反序列化不可信的資料;修法是參數陣列和 JSON。

程式在記憶體裡怎麼跑:位址、stack、heap 與返回位址

程式載入記憶體後,CPU 靠一個記錄「現在跑到哪」的位址一條條往下執行;呼叫函式時,stack 會留下一張寫著「做完回哪裡」的返回位址。用一支小 C 程式印出位址,就能自己驗證。

多寫幾個字元,為什麼可能讓別人控制程式:緩衝區溢位入門

緩衝區溢位是資料寫過了預留空間的邊界,蓋到隔壁的東西。教學範例裡,名字多寫一個字元就讓 is_admin 從 0 變成 65;修法是檢查長度並改用限制長度的函式。canary、ASLR、NX 是補強而不是保證,AddressSanitizer 能抓到獨立陣列的溢位,但我實測抓不到同一個 struct 內的欄位溢位。

虛擬機與 Hypervisor 是什麼:Hyper-V 獎金表的 L1、L2 各是哪一道牆

Hypervisor 是夾在硬體與多個作業系統之間、替每台虛擬機隔出獨立執行環境的軟體。MSRC 的 Hyper-V 獎金表把 guest 逃脫分成 L1(最高 25 萬美元)與 L2(最高 15 萬美元),差別在被穿過的是哪一道牆。

怎麼訓練神經網路:反向傳播其實是在省重複計算|MIT 6.7960 第 2 堂

反向傳播不是新的數學,是把連鎖律裡各層共用的那一段只算一次。線性層的前向是乘 W、反向是乘 W 的轉置、權重梯度是「輸入 × 回傳的梯度」;計算圖分岔時梯度相加,所以共用參數的梯度也是相加。文末用一個 2-2-1 的小網路手算一次更新,損失從 0.0175 降到 0.0076。

泛化理論:容量大到能背下整份資料,為什麼深度網路還是沒有背答案|MIT 6.7960 第 6 堂

參數數量與 VC 維度都解釋不了深度網路的泛化:網路能把隨機標籤背到 100%,VC 界因此變成沒有資訊的空話;參數加到超過插值門檻後測試誤差反而再降一次。Isola 的解釋是「擬合資料以外還有別的壓力」,他認為最重要的是架構內建的對稱性與組合性。這個問題到現在還沒有定論。

遷移學習(資料篇):把生成模型當成可以操作的資料|MIT 6.7960 第 19 堂

生成模型加上它的潛在空間可以當成一份能操作的資料:沿潛在方向移動可以產生反事實影像、少量人工標註可以擴成整份分割資料集(一張標註過的 GAN 影像約抵 100 張一般標註影像)。但用生成資料訓練表示目前仍輸給真實資料(課堂引的數字是 42.6% 對 43.9%),而且稀有類別正好是生成模型最不可靠的地方。

Scaling Laws:算力多十倍,該加在模型還是資料|MIT 6.7960 第 20 堂

測試損失對資料量、參數量、算力都近似冪律,但指數很小:Kaplan 等人量到的資料指數約 0.095,資料加倍只讓損失降 6%,要砍半得多 1,400 多倍。算力該怎麼分,兩篇論文答案不同:Kaplan 是參數 ∝ C^0.73、資料 ∝ C^0.27,Chinchilla 改成各約一半。公開錄影只涵蓋到第二個發現,後面的內容本文依投影片整理,沒有講者的口頭說明。

語言模型:只會猜下一個詞的模型,為什麼不用微調就能做事|MIT 6.7960 第 21 堂

語言模型只做一件事:給前文,輸出下一個詞的機率分布。規模夠大之後,控制它的手段變成改輸入:放幾組範例(in-context learning)、要它先寫推理步驟(chain-of-thought,課堂引的例子是一句 Let's think step by step 把算術題正確率從 18% 拉到 80%)。但聽懂指令、會說不知道,都不是光靠預測下一個詞就會有的,要另外用 instruction tuning 與 RLHF 補。

Metrized Deep Learning:替整個網路的權重找一把合用的尺|MIT 6.7960 第 23 堂

梯度下降等於假定權重空間是歐氏的,而神經網路多半不是。Bernstein 的做法是替每一層選一個範數(線性層用依形狀縮放的譜範數),再用兩條組合規則算出整個網路的範數;用它正規化更新,最佳學習率就不隨寬度與深度漂移。把同一個想法推到對偶映射,線性層的更新變成「把梯度的奇異值全設為 1」,這也是當時 nanoGPT 訓練速度紀錄用的做法。