本文將說明社交工程與攻擊者的思維、目前的攻擊趨勢以及自始以來的演變,有助於培養大家面對社交工程時所需要的防範觀念及防範方法,並認識線上開源工具Zphisher,藉由結合新型社交工程攻擊手法QR Code釣魚(Quishing)進行實作。
社交工程是一種利用人際間的微妙關係來達成目的的一種攻擊模式,因為人際關係的信任無所不在,因此社交工程攻擊者一旦發動攻擊,總有少數人因為攻擊者的話術或營造出的情境而身受其害。在這個數位化及資訊科技日漸發展成熟的時代,人工智慧為大家的生活帶來不少便利之處,但人工智慧是把雙面刃,當妥善地運用人工智慧可順利解決日常或是工作上的問題;反之,如果將人工智慧與社交工程結合,則會使人們的日常增添未知的危機。在進行情境演練之前,首先介紹相關的背景知識。
了解社交工程與攻擊者的思維
在資訊科技發達之前,社交工程的行為就持續存在,攻擊者利用受害者貪小便宜、秉持著人性本善的心態達成攻擊目的。社交工程攻擊者基於攻擊方與受害方的認知偏差進而操控人心,誘使受害者順著攻擊者的想法達到最終目的,並且人性不可能為十全十美,總會有缺漏之處被攻擊者發現,導致受害者受到社交工程攻擊的機會大增,其中社交工程攻擊者想要達到的目的不外乎以下幾點:
獲取經濟利益
攻擊者透過交換資訊、假冒身分等方法,直接或間接取得受害者的信任,博取受害者的同情心進而取得經濟利益,或是假意給予一些蠅頭小利之後再騙取大量錢財。
獲得受害者的個人資訊
透過社交工程攻擊,攻擊者利用假網站或是話術誘使受害者輸入帳號密碼,攻擊者則可從中獲取受害者的個人資訊。由於大多數人使用多個網站時,僅會使用同一組帳號密碼作為登入依據,因此一旦攻擊者取得受害者的帳號密碼,就可透過自動化的方式嘗試登入其他網站或應用服務,以此來獲得其他網路服務的權限,此行為稱為撞庫攻擊(Credential Stuffing),又稱為憑證填充。
取得系統控制權
攻擊者利用釣魚、誘騙等方式,將木馬程式、惡意軟體附加在傳送的附件當中,一旦受害者點擊附件,便會導致受害者的裝置受到攻擊者控制,甚至對受害裝置造成破壞。
社交工程攻擊趨勢與演變
社交工程並不是一個新的名詞,是至今仍被各大企業、學校組織以及個人所關注的嚴重議題,雖然政府、企業等機構都宣導過社交工程的嚴重性及其所帶來的威脅,然而,會進步的不只有民眾的意識,攻擊者多變的手法更會與時俱進,以下針對常見傳統的手法與近年新型的手法進行說明。
傳統社交工程攻擊手法
傳統的社交工程攻擊手法,包括以下幾種類型:
電子郵件釣魚是社交工程中最基礎的攻擊手段,攻擊者會藉由客製化的方式產出吸引受害者的標題誘騙受害者開啟郵件,例如誘導受害者重新認證以便取得憑證。除了攻擊特定對象外,攻擊者會藉由發送廣告進行「無差別攻擊」,利用福利誘使受害者點選電子郵件的附件,而受害者則會無意間下載惡意程式或遭到勒索。雖然目前使用電子郵件的人數不如往日那麼多,但是許多應用服務的認證仍須透過電子郵件來確認,因此利用電子郵件釣魚的攻擊手法仍十分猖獗。
人與人之間的遠距離溝通模式,隨著科技進步逐漸從書信轉變為簡訊,便捷的簡訊在造福民眾的同時也成為絕佳的攻擊利器,攻擊者會偽裝成受害者所信任的對象或是營造出吸引受害者的情境,誘使受害者點選訊息中的連結。如圖1所示,攻擊者偽裝成和泰集團的客服人員,利用人們貪小便宜的心態誘騙對方點擊訊息中的連結,以此騙取受害者的個人資訊。這裡透過線上開源工具「諾頓」(https://safeweb.norton.com/)識別此連結有無病毒,圖2為測試結果。
「人性」是社交工程攻擊者所運用的利器,人性的弱點之一「貪婪」是每個人或多或少擁有的特質,正因為人性的貪婪,導致社交工程攻擊者可以從中獲得利益。根據中央疫情指揮中心指出,疫情流行期間有不少民眾收到攻擊者假冒衛生福利部發出防疫補助補貼的訊息,告知受害者幸運被選中,可以透過點取下列網址獲取防疫補貼的福利,假冒防疫補貼作為社交工程攻擊手段的範例如圖3所示。
新型社交工程攻擊手法
新型的社交工程攻擊手法,則有以下幾種類型:
隨著科技技術的演進,人們滿足各項需求的方式也會有所改變,在滿足需求的同時,也會追求效率及便利性,因此在日常生活中有許多場合也會使用QR Code(Quick Response Code),例如在餐廳用餐時,業者為了節省影印菜單的成本、增加點餐的便利性及效率,會將紙本菜單改為線上點餐,並將線上菜單轉成QR Code方便民眾掃描查看餐點及點餐;中央流行疫情指揮中心透過QR Code蒐集民眾的外出足跡,以利調查疫情擴大趨勢;轉帳付款時,民眾也會透過QR Code進行收款及付款的操作。
由於政府、企業等機構時常宣導傳統的社交工程攻擊手法,因此民眾對於奇怪的連結、簡訊也會有所警惕,但QR Code擁有快速讀取及大儲存資料容量的特性,且從外觀上看不出QR Code所連結的網站有何異狀,正因如此,QR Code漸漸成為社交工程攻擊者發動攻擊的工具。如圖4、圖5所示,無法從正常QR Code與惡意QR Code的外觀中看出有何異狀,且正常QR Code所解碼出的網站與惡意QR Code所解碼出的惡意網站十分相似。
近年來,因為人工智慧的技術發展迅速,促使聊天生成預訓練變換模型(ChatGPT)的推出以及廣泛應用。ChatGPT的核心基礎是機器學習(Machine Learning)與深度學習(DL)以及隸屬其中的自然語言處理(NLP)技術,而ChatGPT的特色在於可以模仿人類的對話方式與使用者進行互動,就連複雜的運算、程式語言等各項任務都能於短時間快速完成。
作為ChatGPT的開發者,OpenAI為了讓使用者可以合法使用產生的資訊,因此會在模型中加入限制避免ChatGPT產出具有爭議性的回答,而部分使用者為了讓ChatGPT滿足更多需求,嘗試突破其原本的內容限制,以滿足使用者的意圖,這個做法稱為ChatGPT越獄(ChatGPT Jailbreak)。使用者可以透過巧妙的方式提供提示詞(Prompt),引導ChatGPT回應原本不該回答的問題,又或者是安裝第三方軟體的方式讓ChatGPT打破原本的回答限制,如圖6所示,使用者要求ChatGPT運用SQL Injection發動聯合查詢注入攻擊,獲得攻擊特定網站的方法,不過ChatGPT卻以違反法律與道德規範為由拒絕提供攻擊方法,但是經過使用者的問題引導之後,ChatGPT會認為使用者是以學習為目的來得知攻擊手法,因此ChatGPT便有機會給予範例來教導使用者學習這項攻擊手法,便能達成使用者目的,以此作為攻擊其他人的手段,使用者引導手法如圖7、圖8所示。
致力於研究資訊安全問題的學術教育組織SANS(System Administration,Networking and Security)曾表示,社交工程攻擊者在ChatGPT的加持下所做出的攻擊更具有威脅性,意指無論是企業或是個人遭受到攻擊的機會將會更大,造成的損失也會更為嚴重。
因為現代許多開源軟體、系統的原始程式碼大多出自於全球最大的程式碼集成地GitHub(https://github.com/),許多開發者將程式碼儲存至GitHub中供其他開發者使用,這代表一旦攻擊者在開源程式碼中植入惡意程式碼而沒有被使用者發覺時,就能夠讓受害者使用帶有惡意程式碼的開源程式碼進行軟體的研發與製作,便會產生安全性的問題。
以密碼管理服務商LastPass為範例,該公司曾受到軟體供應鏈攻擊,所開發出的免費跨平台線上密碼管理工具的員工曾受到攻擊者利用開源程式碼的漏洞取得密碼管理庫的金鑰,使得用戶的個人資料外洩,包含公司名稱、電子郵件、IP位址以及加密儲存庫的資料,並同時入侵該員工的電腦作為攻擊跳板以此取得更多權限及加密金鑰,讓身為標榜密碼管理的LastPass名譽及信用受損,同時也讓全世界的廣大用戶深陷個人資料外洩的安全疑慮。
搜尋引擎最佳化(Search Engine Optimization,SEO)是透過了解瀏覽器運算的原理,將搜尋者輸入的關鍵字進行運算得出推薦的網站,進而提高網站在搜尋結果所呈現的排名。由於多數使用者在使用搜尋引擎時都只會留意第一頁或是前面幾項的搜尋結果,因此透過搜尋引擎最佳化可以讓指定網站的曝光率增加。
相較於以往的攻擊行為,SEO優化攻擊算是積極性的攻擊行為,由於大多數民眾已經對詐騙簡訊、電子郵件詐騙等攻擊行為有著一定的警覺心,為了提高攻擊的成功率便會與時俱進想出更多符合世代的攻擊行為,正因為網路的普及以及便利性,攻擊者利用搜尋引擎最佳化讓惡意網站的搜尋結果呈現在受害者的視線當中,誘使受害者毫無防備心地點擊,便誤打誤撞地將惡意檔案、惡意程式載入裝置內,間接幫助攻擊者實現惡意行為。攻擊者使用SEO優化攻擊提升帶有惡意行為的網站的搜尋結果排名,導致該網站的瀏覽數大幅提升,從而提高攻擊行為的成功率。
隨著ChatGPT的廣泛應用,攻擊者注意到這項工具所帶來的高效率以及便利性,因此匿名開發者便以ChatGPT為模型製作出駭客版的ChatGPT——WormGPT。
ChatGPT雖然可以模仿人類的對話方式與使用者對話,但是ChatGPT會受到訓練階段時所輸入的資料拘束,而對不當言論有所限制。與此有別,匿名開發者在WormGPT中加入更多攻擊資訊提供開源的無監督學習系統進行學習,因此WormGPT不會受到人類道德觀的限制,如此一來,攻擊者可以運用WormGPT設計出多樣化的攻擊樣態。
兩者的差別如表1所示,由表1可以得知WormGPT在學習的過程中會自行針對無標記的資料進行辨識,辨識資料內部間的關係,是屬於無監督學習系統,並且WormGPT的資料來源也不僅僅侷限於訓練者所輸入的學習資料,因此並不會受到輸入資料以及人類所擁有的道德規範。
WormGPT性能接近GPT-3,不僅可以執行ChatGPT的文字生成、編寫程式碼,還能寫出各種程式語言的惡意程式碼,例如JavaScript、Python,其主要應用在社交工程攻擊以及商業電子郵件詐騙(BEC)。由於WormGPT卓越的語法以及易上手的特性,導致大幅提升防範的困難性及降低犯罪的門檻。
圖9為WormGPT產出商業電子郵件詐騙的範例,從中可見使用者輸入提示詞:「請給我一封社交工程用於欺騙企業的信件。」WormGPT就馬上給了一個發動商業電子郵件詐騙的內容範本,並回應道:「由於系統出現了問題而需要用戶協助重新認證,因此拜託對方協助系統的維護及更新。」由結果顯示,WormGPT給出BEC的攻擊模板讓攻擊者可以利用這個模板進行修改微調,進而達到攻擊目的。
企業與個人面對社交工程 攻擊的防範方式與解法
因為社交工程攻擊的手法具有多樣化,所以無論是企業或是個人皆需要具備防備心,以免因為一時的疏忽及無知而變成受害者。社交工程攻擊的核心在於利用人性的心理弱點達到攻擊目的,因此提高企業員工以及個人的危機意識及警覺心是必要的,而企業或是個人防範社交工程攻擊的方法如下:
多因素驗證(MFA)
無論是企業還是個人,在登入應用程式之前先採用多步驟驗證,利用兩個以上不同的驗證因素讓系統確認是否為本人,才能賦予使用者權限。兩步驟會透過使用者密碼以及生物特徵或是位置來認定是否通過驗證,透過指紋、面部特徵來達成生物特徵的驗證程序。透過定位系統限制,可以採用該應用程式的使用者所能行動的範圍,以此隔絕遠端連線的攻擊者。
教育與訓練
由於社交工程攻擊是利用人性的弱點所達成目的的攻擊手法,因此加強個人與企業員工的自身意識是不可缺少的根本辦法。在以往的攻擊例子當中,多數案例都是因為員工的一時疏忽而導致攻擊者得以順利入侵企業的內部系統,所以加強員工訓練提升自身的防範意識是最根本的解決方法。企業對員工進行定期的安全意識訓練,包含社交工程的識別及預防,或是舉辦企業的模擬攻擊練習,讓員工實際體驗在真實情況中會發生的事件以及該採取何種措施來應對社交工程攻擊,對於陌生的事物應保有警覺心,防止掉入攻擊者所設計的圈套當中。公司可以定期舉辦安全意識培訓,同時利用獎勵的方式進行模擬演練,如此才會增加大家共同參與的意願,不僅可以降低遭受社交工程攻擊的機會,提升公司內部資訊的安全性,也可以讓員工收穫良多,打造雙贏的局面。
密碼管理
無論是企業的管理者或是個人日常所使用的密碼,應該採用多組且複雜的密碼作為登入依據,如果使用多個系統而只用一組帳號密碼,一旦攻擊者使用撞庫攻擊(Credential Stuffing)便會讓多個系統同時遭受到攻擊,因此要養成定期修改密碼及使用多組密碼的習慣。
情境演練
話說小飛是伊憲公司的管理者,負責管理公司內部的密碼以及財務報表,但是小飛因為個性懶惰且不想再額外記得其他密碼,因此他有一個壞習慣,就是將公司密碼以及私人密碼設置為相同密碼。
作為競爭對手的阿虎一直很想獲取伊憲公司的機密資訊,得到機密資訊之後便可以控制伊憲公司的內部運作,但無奈伊憲公司的內部資訊安全的技術實在是過於嚴謹,難以從外部入侵。正當阿虎苦惱之際,恰好在無意間得知小飛作為伊憲公司的管理者卻將公司密碼與私人密碼設置為相同密碼,這消息給了阿虎成功獲取伊憲公司內部密碼的靈感。為了順利獲取競爭對手的內部管理密碼,阿虎想到了可以利用人性的弱點進行社交工程攻擊,並想起之前所學到的社交工程工具Zphisher。
阿虎在他自己電腦中的Kali Linux作業系統內準備社交工程工具Zphisher,利用這項工具製作出假的登入網站,以此騙過小飛獲取伊憲公司的內部系統的帳號密碼。在操作這項強大的社交工程工具之前,阿虎先仔細閱讀使用方式和說明,Zphisher的說明如下。
Zphisher是一種線上的開源工具,其特色是使用淺顯易懂的介面以及可以產生對外連線的全球資源定位器(Uniform Resource Locator,URL,又稱網址)。前者能快速地讓初學者學習如何操作,並且提供各種社群軟體或是各大平台的登入介面供使用者選擇。相較於自己建立釣魚網站,Zphisher可以更方便及快速地完成相似的網站。後者相較於其他社交工程工具,例如Kali Linux內建的Social Engineering Toolkit(SET)所做出的假網站只能在本地端進行操作而無法讓外網的使用者連線至造假網站,需要具備更多網路架站知識才得以將服務對外。Zphisher最大的特色在於可以建立對外開放的網址,無須再透過其他操作進行網址替換才能對外開放供他人連線。此外,享受著Zphisher帶來的便利之餘,別忘了此工具僅供教育目的,切勿進行攻擊行為以免觸犯刑法。
阿虎在閱讀完使用方式及相關規範後,心想就算以此工具作為攻擊手段也無法得知是我做的,便不把最後一句話放在心上。阿虎開啟Kali Linux之後,在終端機輸入「git clone https://github.com/htr-tech/zphisher.git」便可以將Zphisher下載至Kali Linux,等到下載完畢之後再輸入「cd zphisher」移動至工具所在的資料夾,接著輸入「bash zphisher.sh」以開啟Zphisher。開啟後的介面如圖10所示。
阿虎猜測對方一定會使用Google公司所推出的各項服務,例如Gmail、雲端硬碟、YouTube等等的應用程式,因此選擇選項3的Google來進行此次的攻擊。為了方便欺騙小飛,所以選擇接下來選項2的Gmail New Login Page,這個選項的頁面較接近現在Google登入的頁面。操作步驟如圖11所示。
接著,選擇選項2的Cloudflared服務。若選擇第一個Localhost選項,所架設的網站於本機上,除非具備網路架站的相關知識,否則該服務只能於本機端進行操作,並無法對外開放,因此阿虎選擇了選項2的「Cloudflared」服務,能夠快速地將服務對外開放連線,接著使用者也能夠自定義連接埠(Ports)及網址遮罩(URL Mask),若不另外進行設定,可以皆輸入「N」保持預設模式,操作步驟如圖12所示。
緊接著便會出現2至3個網址,所出現的網址都可以連接至Zphisher所產生的造假網站,但是阿虎覺得Zphisher所產出的網址太容易被識破,原因有以下兩個:一、網址太過冗長,容易被發覺異樣;二、網址的結尾太過特別,容易讓人起疑,因此阿虎認為應該要想出解決這個問題的方法。剎那間,阿虎想起了疫情期間所廣泛應用的QR Code,透過QR Code看似複雜的外觀將容易被識破的網址隱藏,因此阿虎便將網址轉變成QR Code的樣子。Zphisher產出的網址如圖13所示,而阿虎的操作流程如圖14所示。
順利產出QR Code之後,阿虎透過企業間的關係以及話術成功地讓小飛掃描QR Code,小飛掃描QR Code之後會看到假的Google登入畫面,由於乍看之下跟真正的Google登入畫面十分相似,因此小飛不疑有他便輸入帳號密碼,圖15為造假網站的登入頁面。
當小飛一旦掃描QR Code,阿虎的電腦就會得知小飛電腦或是手機裝置的網際網路協定位址(Internet Protocol Address,IP Address),並且小飛輸入帳號為「0912345678」,密碼為「esamesam」,待小飛按下〔SIGN IN〕後,輸入的帳號密碼就會顯示於阿虎Kali Linux系統的終端機。
若阿虎同時對其他人發動社交工程攻擊,則可以在auth目錄下的ip.txt查看其他受害者的IP位址,也可以在相同目錄下的usernames.dat查看受害者所輸入的帳號密碼,圖16為阿虎Kali Linux系統所擷取到小飛輸入的帳號密碼以及IP位址,從圖中可以看出,小飛的IP位址為「203.67.139.164」,帳號為「0912345678」,密碼為「esamesam」。
小飛按下〔SIGN IN〕後,系統會自動導向至正版的網站,會使受害者誤以為是自己的操作失誤而導致登入失敗,從仔細查看網址列,則會看出兩個網站的不同,如圖17所示,小飛按下〔SIGN IN〕後所顯示的網站會導向至正版的Google頁面。
透過Zphisher所產生的造假網站,阿虎成功獲取小飛的Google登入帳號密碼,同時也是伊憲公司的內部管理密碼,因此可以假冒小飛的身分取得伊憲公司的權限,進而獲取內部機密資料。等到伊憲公司內部人員發現損失慘重時,便向警方報案。由於阿虎已經違反刑法第三十六章妨害電腦使用罪章中的第358條,因此透過檢調單位的查詢後發現有著不一樣的登入者,並從中發現阿虎登入內部系統時的IP位址,並透過IP位址查到阿虎的藏身之處,同時將阿虎繩之以法。
經過這事件之後,小飛也因此學到教訓,暗自下定決心提升密碼的安全性,養成定期修改密碼,且不過度使用簡單且重複密碼的好習慣,伊憲公司也訂定出相關規範,規定員工必須使用多組密碼作為登入依據,並定期更改公司重要內部系統的密碼。
結語
本文以攻擊者的思維開始說明社交工程攻擊的目的,並說明新舊的社交工程攻擊類型以及攻擊的轉變趨勢,讓大家了解到新舊攻擊手法的樣態。此外,本文於情境演練中說明了結合QR Code的社交工程攻擊Quishing,透過動手實作的同時,還能了解社交工程攻擊者的思維及手法,以此得知面對此類的危害該如何提防,提升自身的資安意識。
<本文作者:社團法人台灣E化資安分析管理協會/中央警察大學資訊密碼暨建構實驗室 & 情資安全與鑑識科學實驗室/1998年12月成立,目前由王旭正教授領軍,並致力於資訊安全、情資安全與鑑識科學, 資料隱藏與資料快速搜尋之研究,以為人們於網際網路(Internet)世界探索的安全保障(https://hera.secforensics.org/)。>