繁體中文(台灣)
  • security
  • social-engineering
  • phishing

社會工程學

社會工程學是操縱人們洩露機密信息的藝術。每一個網路犯罪都始於社會工程攻擊。讓我們來看看它是如何運作的,以及如何保護自己免受其害。

Simeng
Simeng
Developer

介紹

談到網路安全,大多數人會想到 SQL 注入、跨站腳本攻擊、中間人攻擊或惡意軟體等技術性攻擊。然而,最常見且有效的攻擊往往根本不是技術性的。社會工程學是操縱人們洩露機密信息的藝術。每一場網路犯罪都始於社會工程攻擊。

這是來自 維基百科 的定義:

在資訊安全的背景下,社會工程學是利用心理操控讓人們執行動作或洩露機密信息。為了信息收集、詐騙或系統訪問,這是一種信任詐欺,它與傳統的「騙局」不同,因為它通常是更複雜的詐騙計劃中的多個步驟之一。[1]它也被定義為「任何影響人們採取行動的行為,這些行動可能或可能不符合他們的最佳利益」。

這些犯罪者尋求的資訊類型可能會有所不同,但當個人成為目標時,犯罪者通常試圖誘騙你提供自己的密碼、個人信息或訪問你的電腦以秘密安裝惡意軟體,這將使他們獲得你的密碼和銀行信息,並控制你的電腦。

社會工程學如何運作?

社會工程攻擊通常分成一個或多個步驟。大多數社會工程攻擊依賴於攻擊者與受害者之間的實際溝通。受害者往往會在一段較長的時間內受到多名攻擊者的針對,攻擊被精心策劃,以避免被發現。一個成功的攻擊包括以下步驟:

  1. 研究:攻擊者收集有關目標的信息,例如潛在的進入點和需要實施攻擊的弱安全協議。在現今世界,很容易在線找到一個人的信息。例如,你可以在他們的社交媒體資料上找到一個人的電子郵件地址、電話號碼,甚至是他們的家庭地址。你還可以知道他們在哪裡工作、做什麼以及與誰一起工作。這些信息可以用來在下一步創建非常誘人的網絡釣魚郵件或電話。

  2. 誘捕:攻擊者使用這些信息來創造一個可行的情況,引誘受害者做出攻擊者希望的行為。例如,攻擊者可能會給受害者打電話,偽裝成他們銀行的客服人員,要求他們核實帳戶信息。或者,他們可能會給公司的一名員工打電話,冒充 IT 技術支持,要求他們重設密碼。

  3. 情感操弄:攻擊者利用情感讓受害者立即行動,而不經思考。例如,攻擊者可能會威脅受害者,如果不立即遵從要求,將對其罰款、處罰或起訴。或者,他們可能會訴諸受害者的貪婪,承諾給予他們一大筆錢或報酬以換取幫助。

  4. 執行:攻擊者執行攻擊,可以採用多種形式。例如,他們可能:

    • 誘騙受害者在其電腦上安裝惡意軟體。
    • 誘騙受害者通過電郵或電話洩露敏感信息。
    • 誘騙受害者向攻擊者匯款。
    • 誘騙受害者點擊電子郵件或簡訊中的惡意連結。

以上的步驟可能在很短的時間內發生,也可能在數週或數個月內發生。攻擊者可能以一個人為目標,或者以一群人為目標。連結可能是通過電話、電子郵件、簡訊或社交媒體聊天建立的,但最終會以你採取的某個行動告終,例如分享你的信息或讓自己暴露於惡意軟體。

社會工程攻擊的類型

社會工程攻擊有很多種類型,每一種都有其自己的目的和目標。以下是一些最常見的社會工程攻擊類型:

垃圾郵件釣魚

垃圾郵件釣魚是最常見的社會工程攻擊類型。這是一種釣魚攻擊,攻擊者向隨機的人發送數百萬封電子郵件,希望其中一些人會被騙。這些電子郵件通常來自假冒的電子郵件地址,通常包含一個指向惡意網站的連結或惡意附件。攻擊的目的是誘騙受害者點擊連結或打開附件,進而在其電腦上安裝惡意軟體。

範例

想像你收到一封未經請求的電子郵件,標題聲稱你贏得了巨額現金獎。電子郵件的標題寫著你贏得了 1,000,000 美元,並要求你立即領取獎品。

打開電子郵件後,你發現一則信息祝賀你中獎。它可能包含瀰漫財富的承諾,例如巨大的金額。通常,電子郵件會包含一個連結或聯絡信息,讓你領取你的獎金。

這封電子郵件具有垃圾郵件釣魚攻擊的經典特徵:

  1. 未經請求:你從未參加過任何彩票或比賽,所以不應該贏得任何獎金。

  2. 太好了是不是不真實:因為顯示的巨額獎金以沒有明顯原因的形式出現,是用來誘騙受害者的常見策略。

  3. 緊急行動:電子郵件可能聲稱你必須立即行動以領取獎品,這樣可能會創造一種緊急感。

  4. 要求個人信息或金錢:「領取」你的獎品可能會要求你提供個人信息、支付費用或轉移金錢以支付所謂的處理費用。

魚叉式網絡釣魚

魚叉式網絡釣魚是一種釣魚攻擊,攻擊者針對特定個人或一群人。攻擊者會對目標進行研究,然後給他們發一封看似可信來源的個性化電子郵件。電子郵件通常包含一個指向惡意網站的連結或惡意附件。攻擊的目的是誘騙受害者點擊連結或打開附件,進而在其電腦上安裝惡意軟體。與垃圾郵件釣魚不同,魚叉式網絡釣魚攻擊是高度針對和個性化的,更加容易成功。

範例

在這種魚叉式網絡釣魚的情境中,你收到一封看似來自同事或你認識的人的電子郵件。電子郵件的主題行暗示有一個重要的安全通知。魚叉式網絡釣魚與普通網絡釣魚的不同之處在於,攻擊者針對特定個人,經常對目標有所了解。

打開電子郵件後,你發現一則聲稱來自你的 IT 顧問查爾斯的信息。它以你的全名稱呼你,並提到你的工作帳戶發生了所謂的安全漏洞。電子郵件要求你點擊連結或下載附件以保護你的帳戶。你點擊了連結,它將你帶到看起來與公司登入頁面一模一樣的網站。你輸入了用戶名和密碼,攻擊者現在可以訪問你的帳戶。

這封電子郵件具有魚叉式網絡釣魚攻擊的經典特徵:

  1. 個性化:電子郵件以你的全名稱呼你,使其看起來更加真實。

  2. 緊急性:信息傳達了一種緊迫感,暗示你需要立即採取行動以解決安全問題。

  3. 行動要求:電子郵件要求你點擊連結或下載附件。這些連結或附件通常包含惡意軟體或釣魚網站。

誘餌攻擊

誘餌攻擊是一種社會工程攻擊,攻擊者為受害者提供某些誘人的東西,以交換他們的個人信息。例如,攻擊者可能免費提供禮品卡或電影下載,以換取受害者的電子郵件地址。攻擊的目的是誘騙受害者交出自己的個人信息,攻擊者可以使用這些信息來竊取其身份或進行欺詐。這利用了受害者的好奇心或貪婪。

範例

在這種誘餌情境中,攻擊者將 USB 驅動器丟在公共場所,例如咖啡店或停車場。USB 驅動器上標有「機密」或「私人」,上面包含將在受害者將其插入電腦時安裝惡意軟體的惡意程式。攻擊的目的是誘騙受害者將 USB 驅動器插入其電腦,進而在其電腦上安裝惡意軟體。

你將 USB 驅動器插入電腦,希望發現有價值的信息。它似乎包含一個名為「Confidential_Project_Data.csv」的文件。當你嘗試打開該文件時,觸發了一個隱藏的腳本,將你的電腦感染上惡意軟體。

在此誘餌攻擊中:

  1. 誘餌 是 USB 驅動器,標有「機密」或「私人」,這對任何發現到它的人來說都很有吸引力,特別是在專業或工作環境中。
  2. 好奇心因素:人類的好奇心被用作易受攻擊的弱點,促使人們採取他們通常應避免的行動。

水坑攻擊

水坑攻擊是一種社會工程攻擊,攻擊者透過感染特定群體的人群可能會訪問的網站來達到其目標。例如,攻擊者可能感染一家受歡迎的新聞網站或一個流行的社交媒體網站。攻擊的目的是誘騙受害者訪問受感染的網站,進而在其電腦上安裝惡意軟體。

範例

一群攻擊者打算破壞特定行業協會的安全,這個協會代表著一個網路安全專家的社群。攻擊者的目的是盜取敏感數據並滲透網路安全專家的系統。

攻擊者識別出這個社群使用的知名和受尊重的網站。在這種情況下,他們選擇了網路安全行業協會的官方網站。攻擊者識別並利用行業協會網站的漏洞。他們可能會採用技術方法如 SQL 注入或跨站腳本(XSS)來獲得該網站內容管理系統的未經授權的訪問權。 攻擊者一旦獲取網站的訪問權,就會在網站的頁面注入惡意代碼。這些代碼旨在將惡意軟體傳送給訪問這些受損頁面的人。

然後攻擊者等待網路安全專家訪問該網站。他們知道許多網路安全專家經常查看該站點進行更新、新聞和資源。

隨著網路安全專家訪問行業協會網站並閱讀文章、參加網絡研討會或下載資源,他們無意中讓設備暴露於注入的惡意軟體。惡意軟體可能會竊取敏感信息,如登錄證書或個人資料。它還可以为攻击者提供一個立足點以發動進一步的攻擊,包括魚叉式網絡釣魚或利用受害者系統上的已知漏洞。

在此水坑攻擊中:

  1. 水坑 是行業協會的網站,這是一個網路安全專家的熱門目的地。
  2. 目標受眾:攻擊者針對一個特定的群體,在這種情況下,就是網路安全專家。
  3. 利用信任:攻擊者利用了網路安全專家對行業協會網站的信任。
  4. 利用漏洞:攻擊者利用網站內容管理系統的漏洞向網站頁面注入惡意代碼。

如何保護自己免受社會工程攻擊

要保護自己免受社會工程攻擊,需要結合意識、懷疑態度和最佳實踐。以下是一些關鍵步驟,以保護自己免受社會工程攻擊:

  1. 自我教育: 了解常見的社會工程策略,包括釣魚、借口、誘餌和尾隨。保持對最新社會工程技術和趨勢的了解。

  2. 驗證身份: 始終驗證要求提供個人或敏感信息的個人或組織的身份。不要僅依賴於聯繫你的人的電話號碼、電子郵件或網站。使用從可靠來源獲得的官方聯繫信息。

  3. 質疑請求: 對未經請求的個人、財務或機密信息請求持懷疑態度。合法組織通常不會通過電子郵件或電話要求提供此類信息。如果有人要求提供敏感信息,詢問為什麼需要以及將如何使用這些信息。

  4. 謹防緊急性和壓力: 社會工程師通常會營造一種緊迫感,讓你在不經思考的情況下做出決策。花時間考慮請求或提議。驗證情況的合法性。

  5. 確保實體訪問安全: 保護你的物理工作空間免遭未經授權的訪問。在不使用的時候鎖定電腦和設備。對於允許不熟悉的人進入安全區域時要謹慎。

  6. 員工培訓: 如果你在一個組織中,提供社會工程意識培訓給員工。教導員工識別和報告可疑活動。

  7. 使用可靠的來源: 從可信且經過驗證的來源獲取信息。避免依賴於非官方網站或未經核實的新聞。

  8. 數據加密: 加密靜止和傳輸中的敏感數據,以保護其免遭未經授權的訪問。

練習安全的線上行為

對於開發人員和企業主而言。如果你正在開發一個 web 應用程序,應遵循最佳實踐以保護使用者免受社會工程攻擊。有許多方法可以為你的應用程序啟用額外的安全性:

  1. 使用強密碼。 大多數人使用的弱密碼容易根據其個人信息被猜到。實施一個安全且可信的用戶身份管理系統,應啟用強密碼政策。這將防止用戶在沒有適當安全措施的情況下使用弱密碼。
  2. 啟用多因素身份驗證。 多因素身份驗證(MFA)為用戶帳戶增加了額外的安全層,要求他們在輸入密碼的基礎上,還需要從手機或其他設備輸入代碼。這使得攻擊者更難以獲得你的客戶帳戶的訪問權。即使你的客戶的密碼被洩露,攻擊者也無法在没有第二因素的情況下訪問他們的帳戶。
  3. 加密用戶數據。 加密用戶數據是保護其免遭未經授權訪問的好方法。如果攻擊者獲得你的數據庫訪問權,他們将無法在没有加密密鑰的情況下讀取數據。這可以防止他們偷取客戶的個人信息。
  4. 經常輪換訪問密鑰。 訪問密鑰用於存取以訪問你的應用程序資源。如果攻擊者獲得你的訪問密鑰,他們將能夠在没有你許可的情況下訪問你的應用程序資源。為了防止這一情況,應經常輪換訪問密鑰。
  5. 使用現代身份驗證系統。 現代身份驗證協議如 OAuth 2.0 和 OpenID Connect 比舊有的協議如 SAML 和 WS-Federation 更安全。它們使用現代密碼演算法,因此更難被攻擊。
  6. 預先註冊登入重定向 url 和設備 如果你正在使用 OAuth 2.0 或 OpenID Connect 進行身份驗證,應預先註冊登入重定向 url 和設備。這將防止攻擊者使用客戶的帳戶從他們自己的設備登入你的應用程序。