訪談| 北辰
嘉賓|Steven
昨晚公開的聯準會3月會議聲明及發表會講話,讓整個金融市場為此振奮。當然真正的降息還沒來臨,但今年貨幣政策要逐步放鬆是確定了──流動性即將從銀行體系流向風險市場。
此時比特幣減半僅剩30天,而且比特幣ETF打開了流動性從傳統金融市場湧入加密市場的通道,所以可以預見加密市場的牛市已經啟動,投資者面臨的僅僅是賺多或賺少的問題。
但「刺耳的Whistle」在這裡要發出刺耳的哨音——國家級黑客組織正在盯著加密市場的資產,作為創業者和投資者的你一定要守護好自己的錢包!
本期邀請了老朋友Steven,他作為長期關注安全領域的通訊技術專家,為我們揭開加密市場的公敵——東方神秘國家的國家級黑客組織Lazarus是如何運作,以及我們該如何抵禦。
1.北辰:什麼是國家級的APT ?
Steven:APT即Advanced persistent threat(進階持續性威脅),網路安全領域一般把有經濟目的非法的駭客組織稱為APT。合法的駭客組織是專門發現威脅並報告對方來盈利,這叫做白帽子,不會被稱為APT。
我們在日常生活中往往是透過電信詐騙這種黑灰產而間接地接觸到APT。例如那些被洩漏的個人訊息,往往就是APT用爬蟲整理出來或是直接從別的資料庫裡面偷出來的,但這種只能算是APT裡的小蝦米。比較大一點的APT如金眼狗,主要是攻擊賭博類網站,有些則是針對遊戲網站。
最高等級的APT是國家級APT,往往是出於政治目的去攻擊別人。不過大多數國家政治性的駭客組織一般都稱不上APT,因為非常鬆散,基本上有人號召一下就展開攻擊了。
2.北辰:所以只有組織嚴密且出於政治目的的國家級駭客組織才是國家級APT ?
Steven:只能說絕大多數的國家級APT沒有經濟訴求,主要是為了政治、軍事目的而執行間諜任務。實力比較強的是隸屬於美國國家安全局的方程式(Equation Group)和索倫之眼(Project Sauron),主要針對俄羅斯、中國等國家發動高級攻擊來竊取敏感資訊。俄羅斯的實力也比較強,例如隸屬於俄羅斯總參謀部軍事情報總局的奇幻熊和俄羅斯對外情報局的舒適熊。
我國遭遇最頻繁的國家級APT的攻擊是毒雲藤、蔓靈花(BITTER)、響尾蛇(SideWinder)、海蓮花(Ocean Lotus)和Lazarus。毒雲藤是台灣地區官方背景的APT,蔓靈花和響尾蛇是印度的,海蓮花是越南的,它們往往有明確的政治目的,所以很容易暴露背後的組織,只有Lazarus是出於經濟目的展開攻擊的,它隸屬於東方某神秘國家,並且值得每一個crypto行業的人警惕。
3.北辰:那Lazaru跟其他國家APT有什麼差別?
Steven:Lazarus是東方某神秘國家總參偵察總局的網路作戰部隊,許多組織成員在中國接受高等教育或培訓,所以非常熟悉中國的網路環境。美國曾指控該組織在中國設有活動中心,其實這不太可能,我們不可能允許一個其他國家的情報組織在境內活躍,何況它的規模大概在8,000人以上。
4.北辰:Lazaru都有過什麼戰績?
Steven: Lazarus的成名之戰是2014年入侵了索尼影業。當時有一部惡搞他們領導人的電影即將上映,於是就洩露了索尼影業大量未發行影片資料、商業郵件和員工隱私,最終索尼影業宣布取消了該電影的上映。
Lazarus後來的攻擊越來越頻繁,例如竊取孟加拉國中央銀行外匯儲備、入侵印度核電廠、多次攻擊加密貨幣交易所等,大家最熟知的應該是用比特幣支付贖金勒索軟體。
5.北辰:照理說中央銀行的資產只要還在SWIFT系統,就會被凍結,Lazarus是如何取出來這筆錢的?
Steven:這不是Lazarus第一次攻擊央行系統,他們先前曾嘗試竊取許多其他的國家的央行及商業銀行,但是都沒有成功。 2016年攻擊孟加拉中央銀行並竊取了1.01億美元外儲,其中2000萬美元流向了斯里蘭卡,8100萬美元流向了菲律賓的賭場,但最終大部分被美國發現後追回了。
6.北辰:對Lazarus來講,這筆錢幾乎零成本的。
Steven:不是零成本,畢竟是在竊取一個國家央行的錢,他們規劃了很久,而且動用了假帳戶、金融中介、賭場和其他協同犯罪的參與者。
7.北辰:那麼要如何來確定這些攻擊是來自於Lazarus?
Steven:高水準的安全公司以及相關的政府情報機構都能判斷得出來是Lazarus,因為網絡活動一般都會有痕跡,何況他們的行為模式比較鮮明:攻擊水平高,組織嚴密,很大部分攻擊以竊取資金為主。
8.北辰:所以Lazarus主要是個創收單位?
Steven:沒錯。根據美國情報部門估計,每年被Lazarus竊取的資產大概是三到五億美元。更關鍵的是近五年來,該神秘國家90%以上的收入都是來自於幣圈,而且他們更熟悉中國人。
9.北辰:可以展開說說他們的案例。
Steven:2018年日本交易所Coincheck被盜取了5.3億美元的加密貨幣,這就是Lazarus的手筆。
2022年更是盜取了約17億美元的加密貨幣(其中11億美元來自DeFi協議),然後用Tornado Cash 等混幣器來洗錢。值得一提的是,該神秘國家2022年對外出口總額才1.59億美元。
自2023年下半年以來,Lazarus在幣圈的攻擊頻率明顯又加快了。例如6月盜取Atomic Wallet 1億美元,7月22日同一天攻擊了兩個不同的機構,共盜取近一億美元。 9月4號盜取線上加密賭場4,100萬美元。 9月12號盜取交易所Coin EX 5,400萬美元。
其他小攻擊則更加不計其數,因為還有大量的攻擊是針對個人用戶的,很難統計,也很少被關注。
10.北辰:Lazarus頻頻得手,是因為他們更懂crypto,還是說用傳統的攻擊方式就已經可以了?
Steven:Lazarus的攻擊手段其實都是比較傳統的駭客攻擊,但水準比較高。最常見的是魚叉攻擊,也就是沒有針對性地發送一些檔案(例如郵件),然後把病毒嵌在裡面。當然,他們對幣圈也確實很了解,才能很好地利用了水坑攻擊和社會工程。
水坑攻擊就是在你的必經之路上攻擊,就好比獵食動物會躲在水源附近攻擊前來喝水的動物。在幣圈搞水坑攻擊就是先去攻擊項目方的網站,在網站上嵌入特定程式碼,用戶只要互動就中毒了。
社會工程嚴格來說都不能算技術攻擊,而是利用日常社交行為手段,利用人為疏忽漏洞來獲取私人資訊、存取權限。幣圈的社會工程往往是駭客加入專案的社交社群(例如Telegram,Discord)進行監控,利用交易交易數據篩選出那些交易活躍且有大宗交易的人,然後有針對性地給這個人私聊,例如發一個空投訊息,對方一旦打開就被攻擊了。
更高階的攻擊方式其實是直接作為程式碼貢獻者混入專案方,從而加入攻擊程式碼。
幣圈的專案基本上都是分散式辦公,一個技術水平高而且薪資要求又低的碼農還是很容易加入團隊,當他作為開發者掌握了一定權限時竊取加密貨幣是輕而易舉的。
11.北辰:他們在應徵的時候一般是怎麼偽裝身分的?
Steven:Lazarus的組織分工明確,有負責進行資料監控的,有專門做社會工程尋找目標的,有鑽研技術攻擊的,還有些人是負責洗錢。總之這是一個超級大的有實力的團隊專門做這件事,效率就非常高了。
12.北辰: 那麼身處幣圈的我們該如何避免資產被竊呢?
Steven:舉例幾個Lazarus在幣圈常見的攻擊方法。
一種是他們用KandyKorn軟體攻擊交易者。它是針對Mac操作系統,用一個python程式偽裝成套利機器人,然後把攻擊代碼加載在Mac操作系統的內存裡,攻擊的有效負載卻隱藏在谷歌雲服務硬碟中加載,而且加載動作很隱蔽(病毒原始碼採用反射二進位載入作為混淆技術)。這使得防毒軟體的兩個主要手段都失效了——程式碼特徵偵測無法偵測出攻擊程式碼,行為偵測也無法發現異常的行為特徵。
另一種就是在加密網路通訊軟體源頭植入SIGNBT負載,感染後等於在記憶體中註入全功能的遠端存取工具,這樣就可以運行其他的惡意軟體、外傳資料甚至終止進程運行等任意命令,相當於電腦完全被對方控制了,即使私鑰保護得再好,你只要進行一次簽名就暴露出去了。
還有一種就是把程式碼切入到一些普通的應用程式。例如專門攻擊一些公司和開源專案並把惡意程式碼塞進去,從而取得使用者的整個系統權限,無論是Mac還是Windows,iOS還是安卓,Lazarus都有對應的程式。大部分的區塊鏈專案很多是採用現成的開源程式碼,所以Lazarus就在最源頭把程式碼注入進去,因此很容易取得專案方的權限。
還有就是篡改瀏覽器擴展,大部分人是透過MetaMask錢包去領空投或做交互,當專案方網頁本身被他篡改了,等於所有和他交互過的錢包都已經不安全了。
13.北辰:上述攻擊方式,具體是怎麼展開的?
Steven:就以2022年Axie Infinity的開發者Sky Mavis做的側鏈Ronin被竊6.2億美元為例。
首先Lazarus透過社會工程知道有個Sky Mavis的員工在求職,於是虛假設置了一個Web3崗位需求,進行魚叉攻擊,把offer郵件發送給那個員工,員工打開PDF文件,他的電腦就中毒了,繼而尋求感染整個Sky Mavis公司內部的其他成員的電腦和伺服器。
Ronin專案帳戶因為多簽錢包要求9個帳戶里至少5個簽名才可以轉賬,而公司從安全角度出發只管理了其中4個帳戶,但是有一個DAO社區帳戶曾經授權公司管理但用完後沒有及時取消授權,被駭客攻破,最後帳上6.2億美元全部被竊取,過了一週時間Sky Mavis公司才發現這件事。
14.北辰:前面不是說他們把錢轉出去,在鏈上和網路上都會有痕跡?
Steven:先把盜來的數位貨幣透過DEX全部換成ETH,然後歸集到已經創建好的多個一次性錢包,再跑到混幣器(例如Tornado,Sinbad),裡面把錢洗到新創建的幾十上百個錢包中再轉移出去。
所以說Lazarus的每次攻擊其實工作量非常大,前期要收集大量信息,然後單獨開發攻擊代碼,準備洗錢的錢包地址,還要用到社會工程的手段。說不定計畫社區裡一些特別熱心的碼農出來貢獻代碼,他就是來自於Lazarus。
15.北辰:那麼針對幣圈的個人,請你總結一下該怎麼去避免?我感覺只要你鏈上交互比較多,就沒辦法避免。
Steven:第一個是利用中心化交易所,儘管這不符合加密精神,但大部分人確實很難管理好自己的私鑰,很多人就連自己的銀行帳戶都不一定管得好,何況是去管理一個不可能記住的私鑰,而且現在大家手上的錢包地址往往不只一個。
我覺得電腦操作能力比較差的小白索性相信中心化的交易所吧,畢竟合法的中心化交易所就算被盜,大部分資產是可以保全的。例如Mt.Gox的被盜資產就被保全到現在。
北辰:反而賺得更多了。
Steven:對,那時候比特幣只有兩三千美元,大部分人是不可能守到現在的,也算是因禍得福吧。
第二是注意基本操作,例如新幣空投,如果一定要進行鏈上操作進行交互,那就盡可能用iOS系統吧,而且最好專機專用。
第三是收到不明郵件不要去點開不明附件。對社群平台上套近乎的人要留點心眼,不要點開陌生人發的連結或是郵件。
最後,如果資產確實比較多的話,而且又要進行鏈上操作,最好有個硬體錢包,並且冷、熱錢包應該分級、分域,準備多個硬體(PC,手機)互相隔離,最核心的資產放在安全等級高的錢包,需要經常交互的資產多準備一些熱錢包,只放少量資產,即使一個被盜,損失也不會傷筋動骨。
16.北辰:現在硬體錢包也不安全了,像是Ledger就被嵌入惡意程式碼了。
Steven:是的,但我還是推薦用大品牌的硬體錢包,作惡的門檻會提高很多,即使發現漏洞,也會及時彌補漏洞。
17.北辰:那麼對於專案方有什麼建議嗎?
Steven:第一就是嚴格安全紀律,要有安全意識,設定多簽錢包,並且認真執行所有的安全守則,這樣會提高攻擊成本。
還有要引入安全團隊,例如程式碼審核,例如引入一個藍隊(即防禦隊),白帽駭客,讓他們來提供一些地址監控和安全預警,做比不做要很好,因為即使被盜了也能第一時間去找轉移地址(畢竟洗錢還是要一定時間),發現及時的話還是有很大可能截住這筆資金。而不是一星期過去了才發現錢包的錢不見了,那就很難追得到。
18.北辰:鏈上的資產怎麼攔截?
Steven:要嘛報警,要嘛看你在圈內的人脈關係了,這就是為什麼要引入安全團隊,因為安全團隊往往有這樣的關係。不過要是遇上Lazarus這樣的國家級APT就很難了。
19.北辰:現在業界的安全服務主要還是以程式碼審計為主,其他的服務項目方的付費意願並不強。
Steven:程式碼審核是很基礎的要求,可以提高單打獨鬥的小駭客的攻擊難度,但像Lazarus這種國家級APT很難防住。所以我建議要找專業的藍隊,國內技術厲害的紅隊和藍隊的資源其實還蠻豐富的。
20.北辰:比如360?
Steven:說實話,幣圈的專案不可能請國內合法公司去做安全服務的。可以找慢霧,CertiK這類圈內的安全公司,其實透過每年的護網行動找到得分高的那些藍隊來做安全團隊就可以了。在安全領域最強的不是最大的網安公司,而是一些專業小團隊,這個你從每年的紅藍對抗賽就可以發現。
21.北辰:最後再做一個總結吧。
Steven:現在的幣圈還是個西方世界,政府管制很少參與,於是就有大量的搶劫偷竊的團夥和騙子,無論是項目方還是個人,最主要是大家腦子裡應該有這根弦,把這個籬笆紮得高一點,這樣即使遇到像Lazarus這樣的大兵團,還是能防住他的一些攻擊。