關聯筆記:Google Cybersecurity Certificate > C5 課程總覽
C5W4 — 資產安全威脅(Threats to asset security)
Module 4: 社會工程、惡意軟體、Web 攻擊、威脅建模的完整攻擊面
目錄
一、社會工程攻擊怎麼運作
1. 什麼是社會工程
Social Engineering(社會工程)= 利用人性弱點(好奇心、信任感、助人意願)來操控目標,讓對方自己交出資訊或存取權。不需要高超程式技術,靠的是心理操控。
2. 攻擊四階段
① Prepare(準備):蒐集目標資訊
↓
② Establish trust(建立信任):偽裝身分開啟溝通(pretexting)
↓
③ Persuade(說服):操控目標交出資訊或執行動作
↓
④ Disconnect(斷開):拿到東西就消失,抹除痕跡3. 常見社會工程手法
| 手法 | 做法 | 範例 |
|---|---|---|
| Baiting(誘餌) | 用好處引誘目標犧牲安全 | 停車場放感染的 USB |
| Quid pro quo | 假裝有獎勵換取資訊 | 「提供帳號資料就降信用卡利率」 |
| Tailgating(尾隨) | 跟在有權限的人身後進管制區 | 抱著箱子跟著員工刷卡進門 |
| Watering hole | 感染目標群體常去的網站 | 入侵慈善組織網站植入惡意程式 |
防禦三層:
- 管理型控制:制定安全政策與標準(如 NIST SP 800-40 patch management)
- 教育訓練:教員工辨識可疑跡象
- 技術控制:MFA、email 過濾、防火牆
易錯點
- Social engineering 不限於線上:面對面、電話、實體闖入都算
- Pretexting 是建立信任的手段,不是獨立的攻擊類型。它是社會工程第二階段的核心動作
二、網路釣魚的各種形式
1. Phishing 是什麼
Phishing(釣魚)= 用數位通訊(主要是 email)騙人交出敏感資料或安裝惡意軟體。是最常見的社會工程形式。
Phishing kit 三大工具:
- 惡意附件(infected attachments)
- 假資料收集表單(fake forms)
- 詐騙連結(fraudulent web links)
2. 六種釣魚變體
| 類型 | 管道 | 特徵 |
|---|---|---|
| Email phishing | 電子郵件 | 最常見,大規模撒網 |
| Smishing | 簡訊(SMS/iMessage/WhatsApp) | 用本地區碼看起來合法 |
| Vishing | 語音電話 | 冒充客服要求提供資訊 |
| Spear phishing | 客製化 email | 鎖定特定人(如公司會計) |
| Whaling | 客製化 email | 鎖定高階主管 |
| Angler phishing | 社群媒體 | 冒充客服回覆抱怨的消費者 |
3. 組織層面的防護
- Anti-phishing policies(教育使用者)
- Email filters(blocklist / allowlist)
- Intrusion prevention systems(偵測異常 email 流量)
- 員工訓練(辨識可疑寄件者、拼寫錯誤、異常連結)
易錯點
- Smishing 包含所有文字訊息平台(SMS、iMessage、WhatsApp),不只限 SMS
- Spear phishing vs Whaling:spear 打特定人,whaling 打高層。Whaling 是 spear 的子集
- Angler phishing 發生在社群媒體,不是 email。跟「一般釣魚」最大的差異是管道不同
三、惡意軟體有哪些類型
1. 十大惡意軟體一覽
| 類型 | 特徵 | 傳播方式 |
|---|---|---|
| Virus(病毒) | 需要使用者啟動才感染 | 附著在合法程式中 |
| Worm(蠕蟲) | 能自行複製擴散,不需使用者動作 | 掃描同網路裝置自動感染 |
| Trojan(特洛伊) | 偽裝成合法程式 | 使用者自己下載安裝 |
| Ransomware(勒索軟體) | 加密資料要求贖金 | 透過 trojan 或釣魚信進入 |
| Spyware(間諜軟體) | 未經同意竊取資訊 | 捆綁在其他軟體中 |
| Adware(廣告軟體) | 顯示不想要的廣告 | 捆綁在免費軟體中 |
| Scareware(恐嚇軟體) | 假警告嚇你自己安裝惡意程式 | email 和彈出視窗 |
| Fileless(無檔案) | 不寫入硬碟,活在記憶體中 | 利用已安裝的合法程式 |
| Rootkit | 提供遠端管理存取,開後門 | 透過 dropper + loader 部署 |
| Botnet(殭屍網路) | 大量受感染電腦被單一攻擊者控制 | 病毒/蠕蟲/trojan 擴散 |
2. Cryptojacking(加密劫持)
Cryptojacking = 安裝軟體非法利用你的電腦挖加密貨幣。2017 年開始流行。
感染跡象:
- 電腦明顯變慢
- CPU 使用率異常升高
- 系統無故當機
- 電池快速耗盡
- 電費異常升高
偵測工具:IDS(Intrusion Detection System),但新型 cryptojacking 可能逃過偵測。
3. 惡意軟體部署機制
Dropper(投放器):偽裝合法檔案,打開就植入惡意碼
↓
Loader(載入器):從外部下載更多惡意程式碼安裝到系統
↓
Payload:最終執行的惡意功能(如 botnet 控制、資料竊取)易錯點
- Virus vs Worm 的關鍵區別:virus 需要「使用者啟動」(打開檔案),worm「自己跑」
- Trojan 不會自我複製:它靠「騙你下載」,不像 worm 能自動擴散
- Fileless malware 最難偵測:因為不寫硬碟,需要做記憶體分析才找得到
- PUA(Potentially Unwanted Application):adware、spyware、scareware 都屬於 PUA
四、Web 注入攻擊
1. 注入攻擊是什麼
Injection Attack = 把惡意程式碼塞進有漏洞的應用程式輸入欄位。程式照常運作但背景執行惡意行為。
根本原因:開發者沒有對使用者輸入做「消毒」(sanitization)。
2. XSS(Cross-Site Scripting)三種類型
| 類型 | 惡意腳本在哪 | 運作方式 |
|---|---|---|
| Reflected XSS | 藏在惡意連結中 | 使用者點連結 → 伺服器反射腳本回來 → 瀏覽器執行 |
| Stored XSS | 直接存在伺服器上 | 使用者造訪被感染的頁面就中招 |
| DOM-based XSS | 藏在網頁 URL 參數中 | 不需經過伺服器,瀏覽器直接執行 |
XSS 能竊取的東西:session cookies、地理位置、甚至開啟視訊鏡頭。
3. SQL Injection 三種分類
| 分類 | 特徵 |
|---|---|
| In-band(經典型) | 攻擊和結果用同一個通道(如搜尋欄) |
| Out-of-band | 攻擊走一條路,結果用另一條路取回(罕見) |
| Inferential(推斷型) | 看不到直接結果,靠系統行為推斷資料庫結構 |
4. 防禦注入攻擊
三種防禦技術:
| 技術 | 做什麼 |
|---|---|
| Prepared statements | 先驗證 SQL 語句再送到資料庫 |
| Input sanitization | 移除可能被當成程式碼的輸入 |
| Input validation | 確認輸入符合預期格式(如電話欄位只收數字) |
易錯點
- XSS 利用的是 HTML + JavaScript;SQL Injection 利用的是 SQL。兩者攻擊不同層級
- Reflected vs Stored XSS:Reflected 要「點連結才中」,Stored「造訪頁面就中」。Stored 危害更大因為受害者沒做任何可疑動作
- Prepared statement 是防 SQL injection 的最佳實踐,不是防 XSS 的(XSS 靠 output encoding)
五、威脅建模流程
1. 威脅建模是什麼
Threat Modeling = 識別資產、弱點、以及每個弱點如何暴露在威脅之下的過程。是預防性的進階安全活動。
2. 通用六步驟
① Define scope(定義範圍):盤點資產、分類
↓
② Identify threats(識別威脅):列出潛在威脅行為者
↓
③ Characterize the environment(描述環境):用攻擊者視角看業務
↓
④ Analyze threats(分析威脅):檢查現有防護、找出缺口
↓
⑤ Mitigate risks(降低風險):避免/轉移/降低/接受
↓
⑥ Evaluate findings(評估成果):記錄、修復、記教訓3. PASTA 七階段(重點框架)
PASTA = Process for Attack Simulation and Threat Analysis,業界常用的風險導向威脅建模。
| 階段 | 做什麼 | 產出 |
|---|---|---|
| I | 定義商業與安全目標 | 理解 app 處理什麼資料、受什麼法規規範 |
| II | 定義技術範圍 | 盤點技術棧(API、協定、控制) |
| III | 分解應用 | 產出 Data Flow Diagram(資料流圖) |
| IV | 威脅分析 | 研究最新攻擊手法 |
| V | 弱點分析 | 找出程式碼和設計的缺陷 |
| VI | 攻擊建模 | 建立 Attack Tree(攻擊樹),模擬攻擊路徑 |
| VII | 風險與影響分析 | 提出風險管理建議給利害關係人 |
4. 其他威脅建模框架
| 框架 | 開發者 | 特點 |
|---|---|---|
| STRIDE | Microsoft | 六種攻擊向量(Spoofing/Tampering/Repudiation/Info Disclosure/DoS/Elevation of Privilege) |
| Trike | 開源社群 | 以安全權限為中心 |
| VAST | ThreatModeler 平台 | 自動化、敏捷,適合 DevOps 團隊 |
5. Attack Tree(攻擊樹)
Attack Tree = 把威脅對應到資產的圖表。用來視覺化攻擊路徑並驗證威脅是否可行。
目標:竊取使用者帳密
│
┌────┴────┐
│ │
SQL Injection XSS 攻擊
│ │
未消毒輸入 Cookie 處理不當易錯點
- PASTA 有七個階段,通用威脅建模有六個步驟。考核時注意區分
- STRIDE 的六個字母:S(poofing) T(ampering) R(epudiation) I(nformation disclosure) D(enial of service) E(levation of privilege)
- Attack tree 不等於 attack surface:tree 是「路徑圖」,surface 是「所有可能的入口點」
- 威脅建模應該在 SDLC 每個階段都做,不只是開發前
六、術語速查表
前文已詳細解釋的術語不再重複,請回對應章節查閱。
| 英文 | 中文 | 白話解釋 |
|---|---|---|
| Angler phishing | 釣魚者釣魚 | 在社群媒體冒充客服騙人 |
| Attack tree | 攻擊樹 | 把威脅到資產的路徑畫成流程圖 |
| Baiting | 誘餌攻擊 | 用好處引誘犧牲安全 |
| Botnet | 殭屍網路 | 大量被感染電腦被一人控制 |
| Cryptojacking | 加密劫持 | 偷用你的電腦挖礦 |
| Cross-site scripting (XSS) | 跨站腳本攻擊 | 注入惡意腳本到網頁 |
| Dropper | 投放器 | 偽裝合法檔案送惡意碼到系統 |
| Fileless malware | 無檔案惡意軟體 | 住在記憶體,不寫硬碟 |
| Injection attack | 注入攻擊 | 把惡意碼塞進輸入欄位 |
| IDS | 入侵偵測系統 | 監控系統活動、警報異常 |
| Loader | 載入器 | 從外部下載安裝惡意碼 |
| PASTA | 攻擊模擬與威脅分析流程 | 七階段的威脅建模框架 |
| Phishing kit | 釣魚工具組 | 發動釣魚攻擊的軟體合集 |
| Prepared statement | 預處理語句 | 先驗 SQL 再送資料庫的技術 |
| PUA | 潛在不需要的應用 | 捆綁在合法程式中的垃圾軟體 |
| Quid pro quo | 交換條件攻擊 | 假裝有獎勵騙你交出資訊 |
| Rootkit | 根套件 | 提供遠端管理後門的惡意軟體 |
| Scareware | 恐嚇軟體 | 假警告嚇你裝惡意程式 |
| SQL injection | SQL 注入 | 塞惡意 SQL 到資料庫查詢 |
| STRIDE | STRIDE 框架 | 微軟的六種攻擊向量分類 |
| Tailgating | 尾隨 | 跟在有權限的人後面進管制區 |
| Threat modeling | 威脅建模 | 識別資產弱點與威脅暴露面的流程 |
| Watering hole | 水坑攻擊 | 感染目標族群常去的網站 |
筆記建立日期:2026-07-12 | 最後更新:2026-07-12