Social Engineering & Human Trust
Module 09:Social Engineering(社交工程)
這堂課,我們不只要了解「駭客如何利用人際信任」,更要把前面學過的 CEH 知識串成一套完整的資安思考架構。
一、先說結論:駭客不一定要破解密碼,也可以說服你替他開門
想像一間公司有非常完善的資訊安全措施:
- 伺服器都有防火牆(Firewall)。
- 員工帳號都有密碼保護。
- 重要資料只有特定人員能讀取。
- 所有電腦都定期更新安全修補程式。
這間公司就安全了嗎?
不一定。因為駭客可能根本不需要攻破任何系統。
他可能只需要打電話給一名員工:
「你好,我是資訊部門的工程師。你的帳號出現異常,我需要你配合驗證,否則帳號可能會被停用。」
如果員工相信了對方,主動提供驗證碼或執行危險操作,就可能讓原本的安全措施失去作用。
這就是 Social Engineering(社交工程)的核心。
依照 NIST 的定義,社交工程是透過欺騙及建立信任,誘使他人洩漏敏感資訊、提供未經授權的存取,或參與詐欺行為。NIST Computer Security Resource Center
今天最重要的三句話
① 信任(Trust)不等於身分驗證(Authentication)。
你認為對方是主管,不代表他確實是主管。
② 身分驗證(Authentication)不等於授權(Authorization)。
即使對方真的是主管,也不代表他有權要求你提供所有資料。
③ 社交工程不是獨立的攻擊領域,而是可能串起情報蒐集、身分冒用、未授權存取及資料外洩的關鍵環節。
這第三點,就是我們將 M09 與前面 CEH 課程連結的核心。
二、理解社交工程最重要的觀念:信任、驗證與授權是不同的事
這是整堂課最重要的部分。
想像咖啡廳的員工收到一則訊息:
「我是店長,現在需要你把會員名單傳給我。」
員工必須回答四個問題。
第一關:Trust Cues(可信線索)
你看到對方的 LINE 頭像是店長,名字也正確。
甚至對方傳來一段語音,聲音跟店長一模一樣。
這些資訊能證明什麼?
只能證明:對方呈現了一些與店長相符的特徵。
這些特徵可能是真實的,也可能來自公開資訊、帳號遭接管,或 AI 語音合成。
第二關:Authentication(身分驗證)
現在你必須確認:
「這個要求真的是店長本人發出的嗎?」
你可以透過公司原本的通訊錄,使用事先確認過的聯絡方式向店長查證。
不過要注意,這種做法是組織流程中的身分查核,不一定具有正式資訊系統身分驗證機制的保證強度。
在資訊系統中,Authentication 通常是透過密碼、Passkey、憑證等驗證方式,確認使用者是否具備相應的身分證明。NIST Computer Security Resource Center
第三關:Authorization(授權)
假設你已經確認:
「沒錯,真的是店長本人。」
就可以立即傳送會員名單嗎?
還不行。
你還需要確認:
「店長有沒有權限要求這次資料移轉?」
例如公司規定,會員個資只能透過經過核准的系統分享,即使店長本人要求員工使用私人雲端硬碟傳送,也可能不符合資料處理規定。
這就是 Authentication 與 Authorization 的差別。
前者問「你是誰」,後者問「你被允許做什麼」。
第四關:Least Privilege(最小權限原則)
即使要求是合法、經過授權的,也不代表必須提供全部資料。
假設店長只需要會員人數統計,你就不應直接提供包含姓名、電話、住址的完整會員資料庫。
完成工作需要多少權限,就只提供必要的權限與資料。
這個觀念可以直接呼應之前的 CEH M01-06:Security Controls 與 Defense in Depth。
三、社交工程究竟如何影響人的判斷?
我們可以將社交工程理解成一個簡化的因果流程:
建立可信感 → 影響情緒或判斷 → 誘導特定行動 → 產生安全風險。
例如:
某人自稱資訊部門主管,要求你提供帳號驗證碼。
在這段互動中,可能同時存在三種心理影響:
| 心理機制 | 對方可能怎麼說 | 你應該確認什麼 |
|---|---|---|
| 權威(Authority) | 我是資訊部門主管 | 身分與權限是否經過核實? |
| 急迫(Urgency) | 五分鐘內不處理就停權 | 是否有正式的緊急處理流程? |
| 熟悉(Familiarity) | 我知道你的主管與工作內容 | 這些資訊是否可能從其他來源取得? |
此外,還有群體認同(其他人都做了)、互惠(我先幫你一個忙)、恐懼及同情等影響方式。
值得注意的是,這些並不是社交工程必定依序出現的階段,也不是單憑某個特徵就能認定對方在詐騙。
真正重要的問題是:
這些心理因素,是否正在讓我們跳過原本應有的安全檢查?
社交工程有哪些常見形式?
社交工程不只包含釣魚郵件。
例如,Pretexting(假借情境)是編造一個合理身分與理由,誘使對方配合;Baiting(誘餌攻擊)是利用好奇心或好處吸引人採取行動;Tailgating(尾隨進入)則可能利用人們替後方陌生人開門的習慣,進入受限制的實體區域。
Phishing(釣魚)是其中一個重要類別,經常透過電子郵件、網站、通訊軟體或語音,誘使使用者提供資訊或執行危險操作。
下一堂 M09-02 會深入釣魚、魚叉式釣魚與鯨釣的差別。
四、重要的 CEH 知識串聯:攻擊者可能如何從 M02 走到 M09?
接下來將前面學過的章節放在同一張地圖上。
補充說明:以下是跨章知識關聯,不代表讀者已完成這些章節;新路線先學 M09,再接 M02、M03、M04 等章節。沒有學過的部分,先掌握它在地圖上的用途即可。
這張圖提供兩個觀察角度。
角度 A:攻擊者如何串接不同技術?
假設攻擊者想取得公司的機密資料。
第一步:M02 — Footprinting & Reconnaissance(足跡探查與情報蒐集)
他可能透過公開網站得知公司主管姓名、員工職務與近期活動。
這些資訊本身不一定是機密,但可以被用來設計更可信的冒充情境。
第二步:M09 — Social Engineering(社交工程)
攻擊者利用取得的資訊冒充主管,要求員工提供公司帳號或下載不明程式。
此時,攻擊者未必已經成功進入系統。
第三步:M06 — System Hacking(系統入侵)
假設員工真的交出登入憑證,攻擊者又成功通過相關安全檢查,就可能發生未經授權的帳號存取。
注意:取得密碼不等於一定成功登入。MFA、條件式存取及其他安全控制,都可能阻擋後續入侵。
第四步:M01-01 — CIA Triad(三大資訊安全目標)
如果攻擊者成功存取並下載機密資料,會涉及 Confidentiality(機密性)。
如果進一步竄改資料,會涉及 Integrity(完整性)。
如果使服務無法正常使用,則會涉及 Availability(可用性)。
這不是一條每次都必然發生的攻擊鏈,而是一個方便分析因果關係的例子。
角度 B:之前學過的 M03、M04、M05 在哪裡?
它們提供的是其他技術觀察角度。
M03 的網路掃描讓我們了解有哪些主機或服務開放;M04 的列舉讓我們進一步了解 DNS、SMB、帳號或服務提供的資訊;M05 的弱點分析則協助判斷系統、設定與流程中的安全缺口。
社交工程不一定需要掃描或列舉,但這些階段得到的資訊,有時也可能被用於冒充與欺騙。
呼應 M01-05:MITRE ATT&CK
還記得我們學過 MITRE ATT&CK 嗎?
它主要是用來描述攻擊者的戰術目標,以及達成目標的具體技術。
社交工程是一個廣泛的概念,而 Phishing 是其中一種攻擊技術。
例如 MITRE ATT&CK 將 Phishing 列為 T1566,其子技術包含:
| ATT&CK ID | 技術 | 白話理解 |
|---|---|---|
| T1566.001 | Spearphishing Attachment | 用有害附件進行針對性釣魚 |
| T1566.002 | Spearphishing Link | 用惡意連結進行針對性釣魚 |
| T1566.003 | Spearphishing via Service | 透過第三方服務傳送釣魚訊息 |
| T1566.004 | Spearphishing Voice | 透過語音進行針對性釣魚 |
這些技術被 MITRE 歸在 Initial Access(初始存取)戰術之下,但不代表每一次社交工程都一定能建立初始存取。MITRE ATT&CK
因此,未來閱讀資安事件報告時,你可以同時問兩件事:
「這個行為在整體攻擊中扮演什麼角色?」
「它對應到哪一種具體 ATT&CK 技術?」
這就是我們在 M01-05 學習 ATT&CK 的實際用途。
五、實際情境:主管傳來一段 AI 語音,要求你上傳文件
現在進行一次完整的模擬。
假設你是某間公司的行政人員。
上午收到一則 LINE 訊息。
對方使用主管的照片,並傳來一段聲音極為相似的語音:
「我現在在開會,急著處理一件事。你先把會員資料上傳到這個網址,晚一點我再跟你解釋。」
當你表示懷疑時,對方又說:
「不然你打這支電話來確認。」
這時候應該怎麼辦?
關鍵觀念:Independent Verification(獨立驗證)
所謂獨立驗證,重點不是換一種通訊工具,而是驗證資訊必須來自不依賴可疑訊息的可信來源。
例如:
對方提供一個新電話號碼,你照著撥打,即使有人接聽並聲稱自己是主管,也不構成可靠的獨立確認。
更合理的處理方式,是使用公司原有的通訊錄、已知的主管聯絡方式,或正式的內部核准系統,查證這一次具體要求。
美國 FBI 也曾針對冒充政府高階人員的惡意訊息提出警告,建議收件者自行尋找可靠的聯絡方式確認身分,而不是只依賴訊息提供的資料。FBI
然而,還有更深一層的問題。
即使主管本人確認了要求,你依然需要確認資料處理是否符合組織規定。
這代表我們至少應區分:
確認要求來源 → 確認行動授權 → 確認資料範圍與目的地。
而對於特別敏感的操作,組織可以再加入雙人覆核等控制,避免單一帳號或通訊管道遭冒用時,整個核准機制跟著失效。
AI Deepfake 改變了什麼?
AI 語音合成、圖片生成與深偽影像,可以提高冒充內容的可信程度。
但我們不應把安全防護建立在「我應該聽得出來是不是 AI」這個假設上。
因為即使是真的主管親口提出要求,也可能存在超出權限、違反流程或誤傳資料的風險。
要驗證的是行動本身是否可信、正當且經過核准,而不只是媒體內容是否由 AI 生成。
六、呼應 M01-02:如何用資產、威脅、弱點與風險分析這起事件?
現在換成資安工程師的角色。
假設我們必須向主管說明這起事件的風險,而不只是告訴大家要小心。
可以使用之前 M01-02 的四個概念。
| 概念 | 這起社交工程事件的對應內容 |
|---|---|
| Asset(資產) | 會員個資、員工帳號與公司資訊系統 |
| Threat(威脅) | 冒充主管,誘使員工將資料送往未經核准的位置 |
| Vulnerability(弱點) | 對敏感資料移轉缺乏必要的查證與核准流程 |
| Risk(風險) | 資料可能被未授權取得,以及因此造成的損害 |
注意這裡的重要區別:
如果公司確實沒有查證流程,這是一項可能被利用的流程弱點。
但僅僅收到一則可疑訊息,不足以證明公司存在該弱點,更不足以證明已經造成資料外洩。
我們需要區分:
「可能發生什麼?」
「實際觀察到什麼?」
「哪些結果已經得到證據支持?」
這也是未來進行資安稽核、滲透測試及事件調查時非常重要的專業判斷。
七、呼應 M01-06 與 M01-07:如何真正防止社交工程?
我們之前學過 Defense in Depth(縱深防禦)。
它的意思不是安裝越多資安軟體越好,而是在不同位置安排互補的防護措施。
第一層:預防(Prevention)
組織事先訂定敏感資料存取與移轉的核准程序。
例如,禁止透過個人通訊軟體直接傳送完整會員資料。
第二層:驗證(Verification)
員工收到異常要求時,透過可信管道查證。
高風險操作可能需要額外的核准。
第三層:限制(Limitation)
即使有員工受騙,也透過最小權限、存取控制與適當的資料外洩防護措施,減少可能造成的損害。
第四層:偵測與通報(Detection & Reporting)
讓員工知道發現異常時應該聯絡誰。
如果有人誤點連結,不應因為擔心被責備,就選擇隱瞞事件。
及早通報才能讓資安人員判斷是否需要停止工作階段、撤銷憑證,或執行其他應變措施。
第五層:調查與復原(Investigation & Recovery)
這就回到 M01-07 的 Incident Response(事件應變)。
假設員工已經把文件傳出,公司需要調查:
哪些資料被傳送?何時發生?目的地是什麼?是否還有其他帳號或系統受到影響?
調查必須以紀錄與證據為依據。
例如:
「點擊過連結」不等於「一定感染惡意程式」。
「帳號曾經登入」也不代表「登入者一定是帳號持有人本人」。
「已撤銷外部分享權限」更不能直接證明對方從未下載或保留資料。
這些差別決定了資安事件調查的可信度。
八、今天的 CEH 知識整合
回顧這堂課,可以建立以下完整的概念鏈:
M02 情報蒐集 → M09 利用信任 → 可能造成 M06 未授權存取 → 影響 M01 的 CIA 安全目標。
另一方面,防守者透過:
M01-02 風險分析 → M01-06 安全控制 → M09 獨立驗證 → M01-07 事件應變。
來降低攻擊成功的可能性與影響。
這是今天應該建立在腦中的兩條主要路線。
特別注意,社交工程與技術性入侵可以互相配合,但並不是每次社交工程都需要技術性弱點,也不是每次攻擊都會經過所有章節。
對資安工程師而言,最重要的不是看到一封可疑郵件就直接認定發生入侵,而是能分析行為、權限、風險與證據之間的關係。
九、學習檢核:你能把前面學過的 CEH 知識一起用上嗎?
情境:
某公司會計收到一則使用財務主管照片的 LINE 訊息。
對方附上一段極為相似的主管語音,要求立即將一份內部財務報表傳到新的雲端網址。
當會計表示懷疑時,對方回覆:
「你不相信就打我剛剛給你的新電話,我親自跟你確認。」
請試著回答:
問題 1|Authentication
為什麼使用訊息提供的新電話回撥,不能視為可靠的獨立驗證?你會怎麼做?
問題 2|Authorization
假設你透過公司原本的聯絡方式,確認要求確實來自財務主管。這樣是否就能直接傳送報表?還需要確認什麼?
問題 3|CEH M01-02
請指出這起事件的一項 Asset、一項 Threat,以及一項可能存在的 Vulnerability。
問題 4|CEH M01-01
假設會計真的將機密報表傳給未經授權的第三人,主要涉及 CIA Triad 的哪一項安全目標?為什麼?
問題 5|M01-07 Incident Response
假設會計只點擊了新網址,但沒有輸入帳號、下載檔案或上傳報表。你認為目前有哪些事實已經確認?還需要哪些證據,才能判斷是否發生安全事件?
請先用自己的話回答,我會依序評估你的理解,並指出哪些觀念已經掌握、哪些需要補強。
補充:以下提供參考解答,預設收合。看過答案不代表已作答或已理解;請先用自己的話判斷,再展開對照。
問題 1 參考解答|身分驗證
不能,因為新電話也是可疑訊息提供的,仍可能由同一個冒充者控制。應使用公司原有通訊錄或事先確認的聯絡方式,核實「這一次要求」,必要時走正式核准流程;不是只換成電話就算獨立驗證。
問題 2 參考解答|授權
不能直接傳送。還要確認主管是否有權要求這次移轉、報表能否提供給該對象、目的地是否核准,以及是否只提供工作必要的資料。真的主管也不能跳過公司規定;高風險操作可依制度加上雙人覆核。
問題 3 參考解答|資產、威脅與弱點
Asset 可以是內部財務報表;Threat 是有人冒充主管,誘使會計把報表傳到未核准的位置;可能的 Vulnerability 是敏感資料移轉缺乏查證或核准流程。最後一項仍是待查假設,不能只憑收到訊息就認定公司一定有此弱點。
問題 4 參考解答|CIA 安全目標
主要是 Confidentiality(機密性),因為不該取得報表的人拿到了機密資料。題目沒有說資料遭竄改或服務中斷,因此不能直接把完整性、可用性受損也當成已確認事實。
問題 5 參考解答|事件應變與證據
依情境陳述,目前知道會計點過網址,並表示沒有輸入帳號、下載檔案或上傳報表;這些行為仍可用紀錄核對。點擊不等於已中毒,沒有手動下載也不能證明完全安全。應依組織流程通報、保留訊息與時間,查瀏覽器導向與下載紀錄、端點偵測、網路連線和帳號登入/工作階段紀錄,確認是否有自動下載、異常程式或未授權存取。證據不足時保留待查,不用真實帳號重開可疑網站來測試。
本課 SVG 教學圖檔
本次製作的四張 SVG 均為向量圖,可以放大檢視,也能用 Inkscape 等工具進一步編輯。
下載四張 CEH M09-01 原始 SVG 概念圖(ZIP)
本課延伸參考:NIST Social Engineering 定義、MITRE ATT&CK T1566 Phishing。
延伸閱讀:M01-01 CIA · M01-02 資產與風險 · M01-06 安全控制 · M01-07 事件應變 · M09-02 釣魚
概念 Q&A
待補:收到相關問題後,會整理為匿名教學版。