賽門鐵克發(fā)現朝鮮APT組織Lazarus攻擊金融機構的關鍵性工具
10月2日,美國(guó)國(guó)土安全部(DHS)下屬的US-CERT發(fā)表了一則針對(duì)朝鮮APT組織Lazarus(Hidden Cobra)的技術性預警公告,公告指出,在DHS、DoT(财政部)和FBI的共同努力下,發(fā)現了Lazarus用于在全球實施ATM網絡犯罪的惡意軟件樣(yàng)本和多個威脅指标(IOCs),DHS把Lazarus組織的該系列惡意網絡犯罪命名爲“FASTCash”攻擊。10月8日,安全公司賽門鐵克(Symantc)發(fā)表報告聲稱,已經(jīng)發(fā)現了Lazarus組織用于“FASTCash”攻擊的關鍵性工具。
自2014年以來,Lazarus在全球多個國(guó)家實施了多起(qǐ)網絡犯罪,入侵索尼公司、攻擊韓國(guó)金融媒體機構、竊取孟加拉央行8100萬美元、攻擊美國(guó)國(guó)防承包商和比特币交易所、發(fā)起(qǐ)WannaCry勒索攻擊。DHS透露,根據美國(guó)政府的可信合作夥伴評估,Lazarus僅針對(duì)金融機構的“FASTCash”攻擊竊取金額就達數千萬美元。
賽門鐵克的發(fā)現
賽門鐵克研究人員透露,Lazarus組織在開(kāi)展FASTCash攻擊時,首先會找點入侵目标銀行的網絡,接著(zhe)滲透進(jìn)入負責ATM交易的交換應用服務器,最終在這(zhè)些服務器上部署一些此前我們從未識别的惡意軟件 - (Trojan.Fastcash) 。之後(hòu),Lazarus攻擊人員會發(fā)起(qǐ)欺詐性的現金提取請求,其部署的惡意軟件則負責請求攔截監聽,并會向(xiàng)負責ATM交易的交換應用服務器返回假冒的請求響應,以此實現對(duì)ATM系統的現金竊取。
根據US-CERT的預警公告反應,Lazarus于2017年發(fā)起(qǐ)了一起(qǐ)攻擊事(shì)件,其分别從全球30多個不同國(guó)家的ATM機系統中同時提取轉移了大量現金。同樣(yàng)的攻擊也在2018年發(fā)生過(guò),這(zhè)一次,Lazarus從23個不同國(guó)家的ATM機系統中竊取了大量現金。
Lazarus開(kāi)展FASTCash攻擊的具體流程
爲了實現從ATM機系統中欺詐性的轉移現金,Lazarus攻擊者具體的做法是,在負責ATM交易的交換應用服務器中,向(xiàng)某個運行的合法進(jìn)程注入一個高級交互執行程序(Advanced Interactive eXecutive, AIX),這(zhè)個惡意的AIX程序包含了構造假冒ISO 8583消息報文的邏輯(ISO8583金融交易報文是銀行業和金融服務業常用的數據消息格式,常用于終端交易設備中)。Lazarus這(zhè)種(zhǒng)假冒ISO 8583消息報文的技術此前未曾被(bèi)發(fā)現過(guò),通常的認爲是Lazarus通過(guò)使用腳本來控制服務器實現轉賬交易欺騙。
ISO8583金融交易報文:是銀行業和金融服務業常用的 ISO 标準,該标準指定了一個消息格式,設備和發(fā)卡行之間可以使用該消息格式來交換信用卡數據和借記卡數據,該标準通常爲銷售點設備和自動取款機所采用。消息本身通常包含有關交易金額、交易發(fā)起(qǐ)位置、卡的帳号以及銀行分類代碼的信息。接收數據的應用程序可以有多種(zhǒng)用途,例如在多個銀行帳戶之間轉移資金、支付賬單或手機充值。
賽門鐵克及時發(fā)現了這(zhè)種(zhǒng)注入到ATM交易應用服務器中的惡意軟件,并把它命名爲Trojan.Fastcash,實質上它屬于木馬類惡意程序,且包含了兩(liǎng)個主要功能(néng):
1、監視傳入服務器的消息,并在請求到達交易服務器之前,攔截攻擊者生成(chéng)的欺詐性交易請求
2、爲了形成(chéng)欺詐性交易請求,其中包含了生成(chéng)一個假冒響應的程序邏輯
賽門鐵克對(duì)FASTCash攻擊的發(fā)現樣(yàng)本
一旦Trojan.Fastcash被(bèi)成(chéng)功部署在負責ATM交易的應用服務器中,其將(jiāng)會讀取所有傳入服務器的網絡流量,并掃描流量中包含的 ISO 8583報文請求,而且它還(hái)會探測流量消息中,攻擊者用來執行交易的銀行主賬戶号(Primary Account Number,PAN),如果有銀行主賬戶号出現,Trojan.Fastcash就會嘗試修改涉及該賬戶号的消息。
Lazarus會根據不同的金融機構目标,實行不同的賬戶号消息修改方法,如果消息修改成(chéng)功,Trojan.Fastcash會針對(duì)向(xiàng)ATM應用服務器發(fā)起(qǐ)的欺詐請求,返回一條假冒的現金轉賬批準響應,最終,Lazarus的轉賬申請就會被(bèi)ATM應用服務器放行,從而成(chéng)功實施了現金轉賬。
經(jīng)分析,以下是Trojan.Fastcash用來生成(chéng)假冒批準響應的一個程序邏輯。這(zhè)個特殊樣(yàng)本會根據攻擊者傳入的欺詐請求,構造以下不同三個假冒響應之一。
當ISO8583報文消息的類型标識 == 200,也就是ATM發(fā)生交易行爲,和POS機型磁條卡的服務點輸入方式碼從90開(kāi)始時,Trojan.Fastcash有以下程序邏輯:
If Processing Code starts with 3 (Balance Inquiry):
Response Code = 00 (Approved)
Otherwise, if the Primary Account Number is Blacklisted by Attackers(否則,如果攻擊者將(jiāng)主帳号列入黑名單):
Response Code = 55 (Invalid PIN)
All other Processing Codes (with non-blacklisted PANs):
Response Code = 00 (Approved)
在這(zhè)種(zhǒng)情況下,攻擊者似乎内置了根據他們自己設置的黑名單賬戶号有選擇性地進(jìn)行轉賬交易,但是,該功能(néng)在這(zhè)樣(yàng)本中并沒(méi)有成(chéng)功實現,其黑名單檢查機制總是返回“False”。
賽門鐵克發(fā)現了和Trojan.Fastcash相關的幾種(zhǒng)不同特洛伊木馬變種(zhǒng),且每種(zhǒng)都(dōu)使用了不同的響應邏輯,賽門鐵克認爲這(zhè)些變種(zhǒng)都(dōu)是針對(duì)不同金融機構的特定交易處理網絡而定制的,因此其具備的響應邏輯有所不同。
另外,被(bèi)Lazarus組織用于FASTCash攻擊的銀行主賬戶号(PAN)都(dōu)是真實存在的,根據US-CERT的預警公告,這(zhè)些被(bèi)攻擊者用來發(fā)起(qǐ)交易的賬戶号不太活躍或是零餘額狀态,而攻擊者控制這(zhè)些賬戶号的方法也暫不清楚,可能(néng)是攻擊者的自行開(kāi)卡,也可能(néng)是其它攻擊活動中竊取的賬戶。
截至目前,在所有對(duì)FASTCash攻擊的報告中,都(dōu)提到了由于銀行應用服務器的AIX操作系統更新不及時,存在漏洞,導緻被(bèi)攻擊者入侵的說法。
Lazarus對(duì)金融機構的持續威脅
最近的FASTCash攻擊表明,對(duì)金融機構的攻擊不是Lazarus的一時興起(qǐ),很有可能(néng)是其長(cháng)期的主要活動。如同2016年的對(duì)孟加拉國(guó)央行的現金轉移案一樣(yàng),FASTCash攻擊反映了Lazarus對(duì)銀行系統和交易處理協議有著(zhe)深入的研究理解,并且能(néng)發(fā)現存在漏洞的銀行網絡,并成(chéng)功從中竊取轉移現金,作案手法相當專業。
總之,Lazarus會持續對(duì)金融部門造成(chéng)嚴重威脅,相關單位和部門應采取必要措施,确保其支付系統及時更新并處于安全狀态。
防護建議
1、及時更新操作系統和相關應用軟件;
2、關注并更新近期容易被(bèi)攻擊者利用的應用軟件漏洞;
3、及時更新應用服務中涉及的AIX操作系統。
IoC
D465637518024262C063F4A82D799A4E40FF3381014972F24EA18BC23C3B27EE (Trojan.Fastcash Injector)
CA9AB48D293CC84092E8DB8F0CA99CB155B30C61D32A1DA7CD3687DE454FE86C (Trojan.Fastcash DLL)
10AC312C8DD02E417DD24D53C99525C29D74DCBC84730351AD7A4E0A4B1A0EBA (Trojan.Fastcash DLL)
3A5BA44F140821849DE2D82D5A137C3BB5A736130DDDB86B296D94E6B421594C (Trojan.Fastcash DLL)