2020 年 Twitter 遭到史上最大規模的帳戶入侵:Barack Obama、Elon Musk、Apple 等大帳號同時發出詐騙推文。入侵者怎麼進去的?不是找到什麼 zero-day 漏洞——他們打電話給 Twitter 員工,假冒 IT 人員,騙到了內部管理工具的存取權限。
技術漏洞可以 patch,人的信任天性沒有 patch。
Phishing:最廉價的高效攻擊
Phishing 是偽裝成合法來源(銀行、IT 部門、同事)的電子郵件,誘導受害者點連結、輸入憑證,或下載惡意附件。
Spear Phishing 是針對特定目標的 phishing,先做好功課——LinkedIn 上找到對方的職位、同事名字、在哪個專案工作,然後寫一封「完全像真的」的信件:
「Hi Chen,我是財務部的 Sarah,我在確認 Q3 報銷的事,能不能點這個連結更新一下你的銀行帳號資訊?」
Business Email Compromise(BEC):入侵或偽造高管的 email 帳號,要求員工轉帳或透露敏感資訊。FBI 統計 BEC 造成的損失超過所有其他網路犯罪的總和。
防禦層次:
- Email security gateway(過濾已知惡意域名 / attachment)
- DMARC / DKIM / SPF 設定(防 email 偽造)
- MFA(即使憑證被盜也無法直接登入)
- 定期 phishing 模擬訓練(讓員工知道什麼感覺像釣魚)
- 財務轉帳流程的 out-of-band 確認(不能只靠 email 授權)
Vishing 和 Pretexting
Vishing(Voice Phishing):打電話冒充 IT、供應商、政府機關。Twitter 事件就是這個。攻擊者研究目標公司的組織架構,用正確的術語和職位名稱建立可信度,然後說「我需要重設一下你的 VPN 存取權限,你能告訴我你的臨時密碼嗎?」
Pretexting:編造一個可信的故事(pretext)來建立信任。「我是外部審計師,今天要確認你們的 backup 程序」——進入機房,安裝惡意裝置。
這些攻擊的成功不是因為受害者笨,而是因為他們在做了平時認為正確的事——幫助同事、遵從權威、不為難對方。
Supply Chain Attack:你信任的工具被投毒
供應鏈攻擊不針對你,針對你使用的工具或依賴。
2020 年 SolarWinds:攻擊者入侵 SolarWinds 的 CI/CD pipeline,把惡意程式碼插入 Orion 軟體的正式 build,透過正常的軟體更新傳給 18,000+ 個客戶,包括美國政府機構。
2021 年 ua-parser-js:npm 套件 ua-parser-js(每週下載 800 萬次)被套件作者帳號入侵,惡意版本在 npm 上架了約 4 小時。
Typosquatting:在 npm / PyPI 上發布名字相似的套件(lodahs、reqeusts),等別人打字錯誤時誤裝。
防禦層次:
- lockfile(
package-lock.json、uv.lock)是防線——不要隨意刪除和重新產生 npm audit/ Snyk / Dependabot 掃描已知 CVE- 安裝套件前確認名稱拼寫、發布者、最近發布時間
- CI/CD pipeline 存取控制:只有特定帳號能 push build artifacts
- 軟體供應鏈安全框架:SLSA(Supply-chain Levels for Software Artifacts)
- Image / binary signing:Cosign、The Update Framework(TUF)
Insider Threat:來自內部的威脅
不是所有的威脅來自外部。離職員工的帳號沒有及時停用、員工被競爭對手收買、或者意外誤操作——都是 insider threat 的範疇。
防禦:
- Offboarding 流程:離職當天立刻停用所有存取
- 最小權限:只有需要的人能存取需要的資源
- UEBA(User and Entity Behavior Analytics):監測異常行為(在奇怪時間下載大量資料)
- Privileged Access Management(PAM):特權帳號的存取要有申請流程、時限、和 session recording
安全意識訓練有沒有用?
有,但訓練的目標不是「讓人永遠不上當」(這是不可能的目標),而是:
- 讓員工知道要懷疑——「等一下,IT 部門為什麼要我告訴他臨時密碼?」
- 建立回報文化——上當了不用怕被罵,立刻回報才能快速 contain
- 做模擬演練——每季寄一封假的 phishing 信,追蹤點擊率,對點了的人做針對性訓練
最重要的原則:安全流程設計要讓「正確的事」比「危險的事」更容易做。如果員工要重設密碼需要填三個表單等兩天,他們就會把密碼寫在便利貼上——這是 UX 問題,不是人的問題。