研究人性弱點的黑客?聊聊社會工程學與網路安全

tanovo發表於2020-10-30

政府、企業和我們每一個人,在社會工程師的入侵面前是多麼的脆弱和易受攻擊。在這個重視資訊安全的時代,我們在技術上投入大量的資金來保護網路和資料,但利用社會工程學的攻擊者卻可以輕而易舉地通過騙取內部人員的信任,繞過所有技術上的保護……

——《The Art of Deception》

在網路安全世界裡,如果有3種角色,那麼應該是黑客(攻擊者)、防禦者,以及被利用者。被利用者,在不知情的情況下被社會工程學攻擊者抓住了弱點,於是成為了攻擊事件的“幫凶”。

一、社會工程學攻擊:尋找人性的弱點

和擁有完整的技術理念和入侵經驗的“學院派黑客”、直接使用攻擊工具包的指令碼小子,或自學成才善於滲透的實用主義黑客們不同,社會工程學攻擊者需要掌握的不僅僅是黑客技術,他們還必須瞭解一定的心理學、行為學甚至人際關係、地理勘察等等。

簡單來說,其他黑客是在尋找系統/網路的弱點,而社會工程學攻擊者是在尋找系統/網路的弱點,以及人性的弱點

《The Art of Deception》分享了一個故事:

一個叫斯坦利·馬克·瑞夫金的年輕人,他工作的公家負責開發美國保險太平洋銀行電匯交易室的資料備份系統。這給了他了解轉賬程式,包括銀行職員拔出賬款的步驟的機會。

被授權進行電匯的交易員每天早晨都會收到一個嚴密保護的密碼,用來進行電話轉帳交易。交易員為了記住每天的密碼,就把密碼記到一張紙片上,並把它貼到很容易看得見的地方。

11 月的一天,瑞夫金有了一個特殊的理由出入電匯室。到達電匯室後,他偷看了紙片上的密碼。

下午3點,他離開電匯室,走到大廈前廳的付費電話旁,給電匯室打了一個電話,偽裝成一名銀行職員――工作於國際部的麥克·漢森。對話大概是這樣的:

“喂,我是國際部的麥克·漢森。”

接聽電話的小姐按正常工作流程讓他報上辦公電話。

“286。”他已有所準備。

對方接著說:“好的,密碼是多少?”

“4789”,他儘量平靜地說出密碼。接著他讓對方從紐約歐文信託公司貸一千零二十萬美元到瑞士蘇黎士某銀行的他已經建立好的賬戶上。

對方:“好的,我知道了,現在請告訴我轉賬號。”

他不知道賬號!但保持冷靜,他說:“我看一下,馬上給你打過來。”

這次,他裝扮成電匯室的工作人員,打給銀行的另一個部門,拿到帳號後打回電話。

幾天後,瑞夫金乘飛機來到瑞士提取了現金。

這就是當時史上最大的銀行劫案,過程中沒有使用任何武器,甚至不需要計算機的協助。現在,我們也可以稱之為一次社會工程學攻擊的成功案例。

那麼,為什麼現在社會工程變得越來越火?因為越來越成熟的網路安全防護技術及安全防護產品堵住了非常多的漏洞,常規的入侵手段的作用越來越小。在“艱難”的環境下,一部分黑客鑽研更復雜的工具和攻擊手法,一部分黑客則開始轉向社會工程學攻擊。

二、萬物皆可社會工程

社會工程學攻擊都有哪些手段呢?廣義來說,黑客偽裝成外賣小哥進入目標建築、或通過應聘進入目標公司也算是社會工程學的一部分。

此外,比較常見且典型如:釣魚郵件、誘騙連結。這些郵件、連結往往利用目標的貪便宜、恐懼、好奇等心理,傳送目標所關心的內容(電影、檔案、優惠券,甚至來自所謂領導的“命令”),誘騙目標開啟受感染的檔案,從而實現資訊獲取和入侵。

FIN7 APT組織曾利用社會工程學輔助攻擊。他們給網路安全公司的目標寄了一個包裹,聲稱是 Best Buy 給到其忠實客戶的50美元禮品卡,其中還包括一個看似無害的USB,聲稱裡面包含物品清單。而事實上,該USB裝置使用Arduino微控制器,並程式設計模擬USB鍵盤。由於PC預設情況下信任鍵盤USB裝置,一旦插入,鍵盤模擬器就會自動插入惡意命令。

通過禮物降低目標的警惕,然後直接通過物理裝置USB注入惡意命令。這就是FIN7的策略。

此外,比如蒐集某家公司員工的名單資訊後,傳送社工攻擊模板,提示員工儘快更新“防毒軟體”,否則會對公司造成潛在風險。在目標的附近扔幾個U盤/硬碟等裝置,一旦有員工(運氣好的話可能是管理人員)撿到並在計算機上連線,那麼就可以通過該計算機進行入侵甚至獲取更多許可權。這些也是社會工程學攻擊者的伎倆。

近源滲透,同樣是一個將社會工程學應用地很好的場景。測試人員/黑客可以靠近或直接進入目標所在的現實辦公環境,物理地越過防火牆等邊界防禦線,然後通過辦公內部門禁、WIFI、USB介面等的攻擊面,進行滲透測試/入侵攻擊。一般來說,越靠近目標所在位置,會發現越多的安全盲點。“燈下黑”在企業安全建設中並不少見,這也給了黑客可乘之機。

總體來說,社會工程學攻擊者的“騷”操作並不少見。而攻擊都是通過蒐集資訊,比如目標的電話號碼、姓名、收支情況等,綜合利用已知資訊,誘導目標提供更多資訊或按照指示做出相應行動。

三、社會工程無非資訊收集+利用

如果說社工三大法寶:網路釣魚、電話釣魚、偽裝模擬,那麼兩大關鍵則無非是資訊收集+資訊利用

如何收集資訊?利用所有能利用的人和工具——比如百度、谷歌或者看門大爺。

攻擊者可以通過物理收集(接近目標所在地,通過樹莓派等工具現場收集資訊)、技術性收集(網際網路檢索)手段廣泛收集圍繞目標的相關資訊。

收集到看似瑣碎的資訊後,再利用收集的資訊進一步獲取目標資訊,並且對這些資訊進行整理。

比如目標是一個公司的員工,這些資訊可以塑造出該員工的整體形象和性格特點,而利用某個特點,攻擊者完全可以傳送一個精心設定的郵件,使得對方開啟從而陷入圈套。當然,該員工的行為也可能會受到很多其他突發的現實干擾使其沒有完成攻擊者希望其進行的操作,但這也能夠讓攻擊者進一步完善其資料模型,準備下一次的誘餌。

在工具上,所有輔助社會工程學攻擊的釣魚網站/工具、惡意軟體包等其實也可以被稱為是社會工學工具,不過,社會工程學工具包(SET)更廣為人知。作為一個開源的、Python驅動的社會工程學滲透測試工具,這套工具包由David Kenned設計,而且已經成為業界部署實施社會工程學攻擊的標準。

最後,可能有人想問,社會工程學的攻擊該如何防禦?

除了和應對普通網路攻擊一樣的技術、策略和手段,比如使用深度包檢測技術(DPI)、行為分析以及威脅情報來監控網路層的異常行為,使用IAM等技術強化訪問認證和授權等,日常培訓、加強警惕、增強安全意識是基礎了……

相關文章