基于社会工程学的网络攻击手段分析
摘? 要:基于領域建模思想對社會工程學的攻擊手段進行分析,并通過零信任和對抗理論進行攻擊防范設想。
關鍵詞:信任域;信任基;攻擊鏈;零信任;攻擊防范????????????????????????????????????????????????????????????????
引言
根據工信部2021年的統計,以電信詐騙為主的社會工程攻擊呈逐年上升趨勢,甚至出現了被騙金額高達2億元人民幣的單筆詐騙。而社會工程學衍生出來的人口買賣、企業信息泄露情況更是難以統計,已經嚴重影響社會經濟的發展和安全。相關機構大部分是從公共安全或者技術工具鏈不同角度進行分析,但社會工程學本質上以“人”為核心構建了一個包含物理、虛擬兩層架構的復雜網絡,社會工程學的攻擊實質上是一種復雜網絡攻擊。如果單純進行案例和工具分析,就會不斷陷入被動的防護。因此本文嘗試使用領域建模和體系設計思想進行社會工程學網絡攻擊的分析,并提出一些方法攻擊的思路設想。
廣義上的社會工程學泛指人文科學、社會科學、自然科學的衍生出來的一個跨學科課題[4]。傳統定義中,科學主要是研究基礎原理和創新理論,技術是基于科學理論做發明的創新,工程是做實現實踐。但是社會科學的傳統研究方式都是以社會調研為主,因此二戰后1966年東京大學第一次嘗試,將自然科學第二范式的“試錯法”應用到社會科學研究中,并將社會工程設置為一個新的專業進行研究。社會工程學對以后的人工智能自然語義理解、知識圖譜等技術也帶來了深遠影響。
狹義上的社會工程學指的其實是基于行為心理學的一種滲透、獲取信息、發起攻擊的手段研究,也有些專家認為社會工程學的攻擊強調的是尋找合適的途徑以及雙向計劃理論。因為至今學術上還沒有一個完全準確定義,現階段的理論大多數來自于2002年凱文米特所撰寫的《欺騙的藝術》、《入侵的藝術》兩本書籍。社會工程學也并沒有形成完整的知識體系,我們更多只能通過現象和結果、過程從不同角度進行一些分析。本文主要研究的也是狹義上的社會工程學。相比廣義社會工程學以科學和技術研究為主不同,狹義社會工程學主要研究對象是人,采用的方法是心理學相關原理。
從心理學角度分析,每個行為背后一定有目的,這個目的可能來自于潛意識,行為者本身都無法察覺。大多數黑客發起攻擊的目的是炫耀技術、抗議報復、表達政治和社會主張等直接訴求,但是還有部分攻擊是以竊取、勒索、詐騙等為目的,黑客的攻擊手段只是做為獲取信息的工具手段和方法。因此可以將社會工程學攻擊的目的分為兩類:一類是主觀炫技式直接攻擊,一類是客觀獲利為目的的非直接攻擊。
如果按照獲取的信息層級看,攻擊的目的又以獲取數據、分析提取信息、知識竊取等不同維度的目標為主。比如部分黑客是通過SET、Swaks、Gophish等工具進行掃描、侵入獲取數據為主。部分黑客通過直接使用社工庫或者泄露出來的數據庫進行信息提取。但是大部分社會工程學關注的是通過多維度的數據、信息進行知識結構的分析,通過人臉數據信息和社工庫比對鎖定地理位置等[10]。
大多數制定社會工程學方案的時候無法直接參考傳統黑客方案,當發起社會工程學攻擊的時候會面臨大量不確定性,目標不確定、適用的工具不確定、選擇的方法不確定。傳統的漏洞掃描、木馬植入、數據庫加密、設置跳板機等手段已經形成固定的套路,因此也有針對性的防護手段如使用防火墻、補丁升級、物理隔離、數據庫定期備份等。但是面臨防護嚴密的企業或個人,單純使用工具已經很難實現攻擊,還需要提防掉入蜜罐。大多數社會工程學研究人員參考的理論是“六度分割理論”、“木桶原理”等,但是這些理論很難從技術原理轉化為工程落地方案。
因此,我嘗試使用領域建模的思想來進行進一步分析,該過程主要參考的是RFLP建模方法論,最終嘗試如何指導工程落地。首先假定最終目標就是需要實現一個企業或者個人的信任,這個信任域是進一步發動攻擊的首要前提,也是完成最終攻擊,非法獲取信息或者完成關鍵操作的重要步驟。但是這個信任域的建立,可能是心理上的信任,也可能是物理審核權限的信任,比如一個大型企業的門衛不可能認識所有的員工,因此持有印有員工頭像的工牌就是一個獲準進入一些場所的信任令牌,或者是旁邊有高管陪同形成的一個信任鏈。
?
圖1 信任域組成示意圖
在圖1中,將獲取人員的信任做為最終目標,將信任域拆分為操作、心理信任、物理信任三個視圖,實際上一旦獲取了信任就可以通過操作視圖進行相關的間接操作,通過操作視圖也可以幫助我們建立或者加強心理、物理上的信任。在建立這三個視圖的過程中可以抽象出若干模型庫,這些模型的構建是由不同的系統和系統組件組成。需要注意的是模型庫可以是抽象的,也可以是邏輯的,比如安全控制模型庫可以包含從刷員工卡到進入的一個邏輯控制模型,也可以包含通過偽裝IT部門的一個維修電話要求臨時調整安全策略的方法。最后對各個系統進行梳理分解,這些系統有物理的也有虛擬的,有公開的也有私有的。
通過圖1和以上分析,可以進一步將信任域理解為構建了面向人的一個虛擬網絡,而網絡中的域、模型庫、系統、組件和物理世界的互聯網絡非常類似,在構建攻擊方案的過程實質上就是模擬一個mesh網絡自動選擇最優路徑的過程,也可以參考圖路徑最優算法生成最佳的方案,為什么是最佳方案不是最短路徑方案,是因為在每個節點之間需要加入各類難度權重,而不是單純選擇最短的路徑。如果基于這種體系建模思想,就可以進一步構建完整的社會工程學攻擊模型方案庫,并進行仿真測試用于攻防演練。
在大多數情況下,社會工程學發動攻擊的前提條件是收集到足夠的信息,并梳理出攻擊鏈。但是一開始搜集到的大量數據都是原始數據,搜集整理過程也是盲目的。因此需要對發動攻擊的目標構建信息庫,并為信息庫設立元數據的定義。比如需要對一個人物進行金融欺詐,參考圖1的建模方式,就需要建立一個能形成轉賬的人物關鍵信息畫像,該方式可以參考犯罪心理學中使用的人物側寫方法。對于人物我們可以定義社交、個人信息、金融信息、工作信息、權限信息等元模型數據庫。[3]
在發起攻擊的時候,元模型庫是為了幫助建立被攻擊者的信任域,但是信任域之間各模型庫的關聯無法使用傳統網絡攻擊的方式,傳統攻擊僅保證物理鏈路的可用。信任域的形成是要保證信任鏈路的可用,信任鏈路可以理解為基于語義級的認知鏈路,因此需要結合采集數據并提煉的信息,結合外部信息建立一個信任基。信任基是現代網絡加密傳輸的一個概念,當無法確定訪問的一個網站鏈接是否安全的時候,通過對一個最基本的網站進行信任,如果這個基本網站和訪問的網站之間通過對稱加密進行傳輸,那就可以認定用戶對這個網站鏈接的訪問是相對安全的,https加密傳輸也是使用了該理論。社會工程學攻擊中也需要建立一個信任基,但是這個信任基是偽造的,是所有攻擊發起的源頭。比如電信詐騙中一般會通過偽裝警察、法院、廠商客服等角色建立信任基,這種通過信任基的任何訪問、操作,也就是信任操作鏈就是完成詐騙的全過程。信任基和信任鏈是信任域結合了各視圖、系統涌現出來的功能,但是信任基的建立并不容易,不同對象和角色,需要構建不同的信任基模型,這個模型中的有效信息和系統功能越完整,信任基模型可用度就越高。因此為了建立這個信任基,需要通過采集廣泛的數據、抽取有效信息、構建相對完整的人物畫像,再通過信任基模型庫選擇對應模型手段進行匹配。
當明確了數據、信息能發揮的作用后,也嘗試按照元模型庫、信任基模型庫兩種方式去構建,就可以有針對性的進行信息的搜集和整理了。需要注意的是部分數據和信息的搜集整理,不同組織面臨的難度是不一樣的,政府部門天然會擁有大量公民有效信息,但是個人去針對性搜集就會有很大難度,那個人在搜集過程中就可以通過找到政府部門有權限的工作人員去間接獲取,難度就會大幅降低;部分信息直接通過單一數據采集會很難,但是如果通過拖庫、撞庫就會更加容易;單一的網絡數據采集會造成信息不完整,但是結合地理、氣象數據就會大幅提升信息完整度,同時對建立信任基的幫助可能會更大。比如之前在一個社交平臺上,我通過比對一位網友所發的在工作室和戶外跳舞的照片,現場對照片中出現的路燈、日光光影及其他數據準確推理出了網友工作的地址和個人信息、工作時間、家庭住址、工作室電話,并就此向網友提供了安全防護建議并得到網友的采納,實際上僅僅工作地址和工作時間就足以有很多種方式建立信任基,發起一次致命的攻擊了。為了避免相關工具被濫用,本文不對具體工具和手段進行更多描述。
當采集到足夠的數據和信息足以建立一個信任基后,發動攻擊相對就容易了。通過建模和推理,結合已有的工程經驗,可以快速建立若干條攻擊鏈。攻擊鏈的基礎是信任鏈,可以將信任鏈理解為物理鏈路層,而攻擊鏈屬于應用層,信任鏈的可靠性決定了發起攻擊的有效性。在攻擊鏈的執行過程中,人、網絡、操作、視頻、音頻、圖片、環境、移動終端等都可以看成若干個節點,攻擊流程也是一個戴明環流程,在這個過程中需要注意的是1.3中提到過建立信任基和信任鏈的過程中,無法保證足夠的信息讓信任基和信任鏈完全可靠。因此需要在虛擬和物理層面盡可能保證足夠多的冗余線路和方案去適應,保證攻擊的可靠。這也和傳統的黑客攻擊手段不同,比如在混進一家單位的時候,預計偽造的員工卡可能無法打開門禁系統,這就需要設計一個備選方案假裝在拿了很多文件打電話,等待進入員工多的時候,請求旁邊的人協助開門。或者偽裝電梯檢修人員發動二次、混合攻擊。
需要注意的是心理學上,為了避免一個謊言被拆穿,會將偽造的信息摻雜在真實信息中,一個成功的謊言其中90%的信息反而是真實的。因此在發起攻擊時,需要加入大量環境信息和背景信息的真實可靠來保證偽造信息被隱藏。比如在電信詐騙的時候,詐騙分子往往會通過偽造各類政府部門電話號碼并發送正規的公文通知,或者參考正規機構的郵件、短信、通知格式甚至偽造出一模一樣的交易和登錄網站。
在社會工程學背景中梳理了基本原理和手段,接下來主要是針對一些實際的工程方案進行分析介紹。
通過偽造政府職能單位或者權威機構聯系方式,冒充工作人員要求個人或單位提供信息并進行相關操作,實際上第一步偽造的電話或者短信都是以告知賬號被盜用、資金被轉移、涉嫌洗錢、親屬發生意外事故等等,但是為了建立更可靠的信任基,往往第一步不是要求對方進行高危操作比如轉賬、修改密碼,而是要求對方協助回復一個電話或者郵件甚至前往當地某單位進行協助調查,這屬于一個補充驗證流程,以便增加信任度。所以高明的社會工程攻擊人員會用大量時間去構建一個相對可靠的信任基,而不是直接發動攻擊。
但是當個體真正去完成驗證操作的時候,攻擊人員一定會想辦法切斷驗證流程,比如打斷你前往實地、或者對親屬的電話發動攻擊造成無法接入。進一步通過語言恐嚇和其他手段加劇個體的恐慌心理,認知層的思維邏輯被打亂后就無法進一步做出理性的準確判斷。
接下來就是根據偽造的鏈接植入木馬獲取關鍵信息,或者指導個體進行高危操作,比如直接轉賬、發送數據、切斷電源等行為。需要注意的是有些攻擊是屬于攻擊鏈的一部分,比如切斷電源或者拔掉網線可能是為了一個大的攻擊目標的一個前置工作。
魚叉攻擊屬于一種針對性很強的攻擊,選擇的是特定目標進行攻擊。在實現過程中往往會和電話、郵件攻擊手段相結合,但是和普通的釣魚攻擊不同,魚叉攻擊需要動用的工具和手段會更隱蔽,也更有針對性。比如曾經發生過針對中小商戶的一種魚叉攻擊手段,將偽造后的付款碼覆蓋在商戶已有的覆蓋碼上,在購買支付的時候實際上轉賬給了攻擊者。魚叉攻擊除了針對商戶、學生這一類特殊群體外,有些會和時政、重要突發事件相關聯。比如在新冠疫情期間,冒充核酸檢測人員、執法人員進行微信群詐騙,團購詐騙。這些手段復盤時會發現,并沒有太復雜的工具鏈和手段,仍然是簡單的構建信任基,干擾理性認知層的方式。
釣魚攻擊屬于被動攻擊方式,需要通過廣泛的撒網發送偽裝的短信、鏈接、郵件誘導用戶[15]。但是和最早的中獎等非法信息手段不同,現在釣魚攻擊被部分合法廠商嘗試使用。比如誘導客戶還有積分未使用,登錄某鏈接進行兌換,但實際登錄后會發現鏈接是合法平臺,但是兌換過程中是積分加現金的方式,實際成為一種消費購物誘導。或者冒充有好友在平臺聯系用戶,誘導用戶繼續使用平臺,激活失效用戶。所以釣魚攻擊和傳統的營銷在互相借鑒融合,區別就在于是否用于合法的平臺,但是上訴的積分現金兌換的方式本身已經涉及虛假宣傳了。
有別于傳統攻擊方式,社會工程學會大量用到物理攻擊手段,實際上這種方式在歷史上并不罕見。《騙經》是一本記載中國傳統詐騙手段的紀實文學類作品,現代大量詐騙手段都能從書中找到類似案例。其中危害最大的就是針對兒童、婦女的誘騙,通過冒充家長、招聘、同學親屬、領導等方式構建信任基,甚至更為惡劣的是當眾劫持,并通過語言誘導干擾周圍人群的判斷。
物理攻擊最難防范的是參考了RFLP建模方法論和分層設計原理,RFLP采用的是物理-邏輯-抽象進行物理真實世界的建模設計,本來是用于科學研究的一種方法論。但是用于社會工程學的攻擊,就反向通過虛擬世界的真實事件或者賬號,進行物理層建模設計。這種分層設計及攻擊方式,會干擾線上用戶的認知,對線下世界的見面做出誤判。因為屬于新型攻擊方式,具體原理和過程不做過多闡述。但是真實案例中,會有未成年人因為游戲和社交軟件攻擊者的人設進行誤判,進行線下見面被綁架、勒索的情況。也有線上誘導做出不雅動作,被截圖、錄制視頻進行貸款或者勒索的情況。
基于1、2節的分析可知,社會工程學的攻擊既有傳統的攻擊手段高效性,也有借助行為心理學、犯罪心理學的隱蔽性,攻擊手段層出不窮,攻擊組合方式多種多樣。發起攻擊者既有傳統的黑客個人和組織,也有職業犯罪分子,甚至國家級情報機構。被攻擊的個人和機構已經很難通過傳統的宣傳、防護手段進行自我保護,因此針對1、2的攻擊理論和手段分析,進行了一些思考建議。
零信任是2010年前后,信息化廠商提出的一種安全設想,主要用于保護企業和個人的信息,進行安全訪問及操作,零信任認為所有的接入和訪問理論上都是不可信的,需要進最大可能減少非法訪問風險以及信息泄露程度。零信任的具體方案結合了加密認證、微服務等技術手段,但是仍然是基于傳統的網絡環境。如果結合信任域的構建方式,可以假定所有的內外部訪問和控制都是不可信任的。需要做的是最大化取消或者重復確認信任基,假定所有信任鏈都不可信。具體方式:所有表露某種身份的單一方式皆不可信,比如電話傳遞的信息需要通過微信、郵件、同事、權威機關重復確認,所有物理鏈路皆不可信,比如就算確認了身份信息的線下見面絕對拒絕,對于工作學習無法避免的線下交流,選擇能絕對信任的安全場所進行交流。假定所有的操作皆為攻擊鏈一部分,選擇物理層或者鏈路層的重復驗證,比如任何線上轉賬操作拒絕,選擇銀行柜臺或者ATM機進行操作,任何短信、鏈接假定為木馬拒絕點擊。
選擇零信任的根本就在于增加信任基冗余度,切斷潛在的攻擊鏈,盡管無法完全杜絕攻擊的發起,但是會大幅增加攻擊者的攻擊成本。攻擊鏈本身的不合法造成其脆弱性,每次鏈路的切換都會造成攻擊成本大幅增加甚至失效。
個人用戶采取零信任的方式可以大幅降低攻擊成功可能性,但是針對企業的社會工程學攻擊一般組織嚴密,方案相對完善,投入成本意愿強,參與人員眾多,潛在調研周期長,攻擊可以重復發起等特點,而企業用戶的信息或者數據泄露一次就足以造成嚴重后果。單一采用零信任方式無法避免信息和數據的泄露,因此大型企業級用戶會組建專門的安全團隊,定期進行攻防演練,封堵漏洞。企業的信任域和圖1所示不同,根據經營的不同,除了保證信息的安全,還需要考慮合規性安全、財務安全、人員安全、場所安全等,之前有針對煤礦企業進行謀殺偽裝發生礦難,然后索賠的先例,也有煤礦企業和人販集團勾結誘騙曠工的案例。也有競爭對手派出企業情報人員入職竊取信息的案例。所以完整的安全團隊應該由系統架構師、安全專家、法律專家、信息工程師、合規團隊、財務專家等跨領域的部門共同組成。定期攻防演練除了傳統的攻防平臺,也可以通過數字孿生的方式構建物理級的模擬攻防,積累安全模型庫。
社會工程攻擊本質上屬于一種非對稱攻擊方式,攻防雙方投入的時間精力不成正比,攻擊一方可以通過較小的代價經過設計實現嚴重后果,但是防守方如果要進行防范往往要投入遠超攻擊方的成本。因此,類似蜜罐這種反向攻擊方式在社會工程學防范領域仍然適用。而且可以從根本上發現攻擊方,形成威懾力,前提是反向攻擊團隊本身就需要豐富的社會工程攻擊經驗。因為涉及的手段和工具不適宜公開宣傳,僅提供一種思路參考。
社會工程學的研究目前還是一個較少為外界所知的方向,大部分的研究工作也集中在對案例和工具的簡單分析,甚至《欺騙的藝術》作者也是根據個人經驗做的分類及案例分析,并沒有形成系統體系級的研究,也未形成完整的知識體系結構。但隨著信息化程度在生活工作各方面的不斷加深,AI、區塊鏈、數字孿生等技術的廣泛使用, Deepfake、GAN對抗等技術門檻下降,物理和網絡系統涌現出的漏洞會越來越多,發起攻擊也會越來越容易。傳統的身份認證、數據安全管理、網絡監控、漏洞掃描手段的作用越來越小。因此需要盡快建立完整的知識和理論體系,進行相關持續性研究,以科學而不僅是技術、工程的角度進行研究,減少對社會正常工作生活次序的不良影響。
參考文獻
總結
以上是生活随笔為你收集整理的基于社会工程学的网络攻击手段分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0基础怎么自学软件测试?
- 下一篇: CSS3实现360度循环旋转