繁體中文(香港)
  • security
  • social-engineering
  • phishing

社會工程學

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

Simeng
Simeng
Developer

介紹

當談到網絡安全時,大多數人會想到像 SQL 注入、跨站腳本攻擊、中間人攻擊或惡意軟件這樣的技術性攻擊。然而,最常見和有效的攻擊往往根本不是技術性的。社會工程學是一種操縱人的藝術,以便他們交出機密信息。每一個網絡犯罪都始於社會工程攻擊。

以下是來自 維基百科 的定義:

在信息安全的背景下,社會工程學是對人的心理操縱,以使其執行某些行為或洩露機密信息。這是一種信息收集、欺詐或系統訪問的信任騙局,與傳統的"騙局"不同,它常常是更複雜欺詐方案中的一個步驟。此外,它也被定義為"任何影響一個人採取行動的行為,這些行動可能或不可能符合其最佳利益。"

這些犯罪分子所尋求的信息類型可能不同,但當他們鎖定個體時,通常就是試圖欺騙你交出密碼、個人信息或訪問你的電腦以秘密安裝惡意軟件,這些軟件將使他們能夠訪問你的密碼和銀行信息,甚至控制你的電腦。

社會工程學如何運作?

社會工程攻擊發生在一個或多個步驟中。大多數社會工程攻擊依賴於攻擊者與受害者之間的實際交流。受害者常常在一段較長時間內被多名攻擊者鎖定,攻擊被精心製作以避免偵測。一次成功的攻擊涉及以下步驟:

  1. 調查研究:攻擊者收集有關目標的信息,例如進入點和需要進行攻擊的弱安全協議。在當今世界,現在非常容易在網上找到一個人的信息。例如,你可以在社交媒體的個人資料上找到一個人的電子郵件地址、電話號碼,甚至家庭地址。你還可以查出他們在哪工作、做什麼,以及與誰一起工作。這些信息可以用來在下一步中製作一封非常具有說服力的釣魚電子郵件或電話。

  2. 誘餌:攻擊者利用那些信息創造一個可信的情境,誘惑受害者做攻擊者想要的事情。例如,攻擊者可能會打電話給受害者,冒充他們銀行的客服人員,要求他們驗證其賬戶信息。或者,他們可能會打電話給一家公司的一名員工,冒充 IT 支援人員,要求他們重置其密碼。

  3. 情感操控:攻擊者操控情感以使受害者立刻行動,而不加思考。例如,攻擊者可能會以罰款、處罰或起訴威脅受害者,要求他們立即配合要求。或者,他們可能會利用受害者的貪婪,承諾在他們的協助下給予大量金錢或獎勵。

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

    • 欺騙受害者在其電腦上安裝惡意軟件。
    • 欺騙受害者在電子郵件或電話中洩露敏感信息。
    • 欺騙受害者向攻擊者匯款。
    • 欺騙受害者點擊電子郵件或短信中的惡意鏈接。

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

社會工程攻擊的類型

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

垃圾釣魚

垃圾釣魚是最常見的社會工程攻擊類型。這是一種類型的釣魚攻擊,攻擊者向隨機人群發送數百萬封電子郵件,希望其中一些人會上當受騙。這些電子郵件通常來自虛假的郵件地址,並且常常包含鏈接到惡意網站或惡意附件。攻擊的目標是欺騙受害者點擊鏈接或打開附件,這將在其電腦上安裝惡意軟件。

例子

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

打開郵件後,你會看到一條信息祝賀你所謂的彩票獲勝。它可能包含奢華的承諾,比如改變生活的金額。電子郵件通常包含一個鏈接或聯繫方式,讓你領取你的獎金。

這封電子郵件展示了垃圾釣魚攻擊的典型特徵:

  1. 未經請求:你根本沒有參加任何抽獎或比賽,所以你不會贏得任何獎品。

  2. 好得不像真:無緣無故獲得大量金錢的承諾是用來吸引受害者的常用策略。

  3. 緊急行動:電子郵件可能聲稱你必須迅速行動以領取你的獎金,製造一種緊迫感。

  4. 索取個人信息或金錢的請求:為了"領取"你的獎品,你可能會被要求提供個人信息、支付費用或轉賬以支付所謂的處理費用。

定向釣魚

定向釣魚是一種類型的釣魚攻擊,攻擊者針對特定人群或群體。攻擊者會對目標進行研究,然後向他們發送看似來自可信來源的個性化電子郵件。電子郵件通常包含鏈接到惡意網站或惡意附件。攻擊的目標是欺騙受害者點擊鏈接或打開附件,這將在其電腦上安裝惡意軟件。與垃圾釣魚不同,定向釣魚攻擊是高度針對性和個性化的,更容易成功。

例子

在這個定向釣魚場景中,你收到一封看似來自同事或你認識的人的電子郵件。郵件的主題行提到這是一個重要的安全通知。定向釣魚與普通釣魚的不同之處在於,攻擊者針對特定個人,並且經常持有一些其他目標的信息。

打開郵件後,你會看到一條信息,聲稱來自你的 IT 顧問 Charles。它稱呼你的全名並提到了你的工作賬戶上的所謂安全漏洞。該郵件要求你點擊鏈接或下載附件以保護你的賬戶。你點擊了該鏈接,它帶你到一個看起來完全像是你公司登入頁面的網站。你輸入了你的用戶名和密碼,現在攻擊者就擁有了對你帳戶的訪問權限。

這封電子郵件展現了定向釣魚攻擊的典型特徵:

  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. 數據加密: 對靜止和傳輸中的敏感數據進行加密,以防止未經授權的訪問。

實踐安全的線上行為

對於開發者和企業主來說。如果你正在開發一個網絡應用程序,你應該遵循最佳操作以保護你的用戶免受社會工程攻擊。有以下幾種方式來允許你的應用程序獲得額外安全性:

  1. **使用強密碼。**大多數人使用基於其個人信息而易於猜測的弱密碼。要實施一個安全且值得信賴的用戶身份管理系統,你應該啟用強密碼政策。這將防止用戶在沒有適當安全措施的情況下使用其弱密碼。
  2. **啟用多因素身份驗證。**多因素身份驗證(MFA)向用戶帳戶增加了一層安全,只需他們在密碼之外進入電話或其他設備上的代碼。這使攻擊者難以獲得對客戶帳戶的訪問權。即使客戶的密碼被洩露,攻擊者也無法未經第二因素訪問其帳戶。
  3. **加密用戶數據。**加密用戶數據是保護之免遭未經授權訪問的一個好方法。如果攻擊者獲得訪問你的數據庫,他們不能在沒有加密鑰匙的情況下讀取數據。這將防止他們盜取您的客戶的個人信息。
  4. 經常旋轉訪問密碼,如果攻擊者獲得你的訪問密碼,則能夠未經許可地訪問你的應用程序資源。為防止此類情况出现,你應經常旋轉訪問密碼。
  5. **使用現代認證系統。**現代身份驗證協定如 OAuth 2.0 和 OpenID Connect 比較舊協定如 SAML 和 WS-Federation 更為安全。他們使用現代加密算法,不易遭受攻擊。
  6. 預先註冊登入重定向 urls 和設備,使用 OAuth 2.0 或 OpenID Connect 進行身份驗證,應預先註冊登入重定向 urls 和設備。這將防止攻擊者使用您的客戶帳戶從其設備登入到您的應用程序。