隨著網(wǎng)絡(luò)安全威脅的不斷增加,了解并預(yù)防可能的攻擊變得至關(guān)重要。Blast-RADIUS是一種嚴(yán)重影響 RADIUS協(xié)議的安全漏洞,能夠讓攻擊者繞過(guò)身份驗(yàn)證獲取未經(jīng)授權(quán)的訪問(wèn)權(quán)限。本篇文章將深入探討該漏洞的工作原理、檢測(cè)方法及應(yīng)對(duì)措施,幫助您有效防范潛在的安全風(fēng)險(xiǎn)。
關(guān)于 Blast-RADIUS的基礎(chǔ)知識(shí)
Blast-RADIUS是一種影響 RADIUS協(xié)議(依據(jù) RFC 2865)的安全漏洞。它允許位于 RADIUS客戶端和服務(wù)器之間的中間人攻擊者偽造一個(gè)有效的訪問(wèn)接受(access-accept)消息,來(lái)響應(yīng)實(shí)際已經(jīng)失敗的認(rèn)證請(qǐng)求。這種偽造使攻擊者能夠在無(wú)需猜測(cè)或強(qiáng)制破解密碼和共享密鑰的情況下,獲得對(duì)網(wǎng)絡(luò)設(shè)備和服務(wù)的訪問(wèn)權(quán)限。攻擊者在請(qǐng)求中插入了一個(gè)惡意屬性,導(dǎo)致合法服務(wù)器響應(yīng)中的認(rèn)證信息與攻擊者偽造的消息發(fā)生碰撞。這使得攻擊者能夠?qū)⒕芙^轉(zhuǎn)變?yōu)榻邮埽⑻砑尤我獾膮f(xié)議屬性。然而,攻擊者并不會(huì)獲取任何用戶憑據(jù)。該漏洞已在 CVE-2024-3596中描述。
具體來(lái)說(shuō),該攻擊是通過(guò)計(jì)算碰撞來(lái)攻擊響應(yīng)認(rèn)證器的 MD5簽名。該攻擊代表了一個(gè)協(xié)議漏洞,因此影響所有不使用 EAP認(rèn)證方法并通過(guò) UDP未加密工作的 RADIUS實(shí)現(xiàn)。特別是,密碼認(rèn)證協(xié)議(PAP)和質(zhì)詢握手認(rèn)證協(xié)議(CHAP)方法受到影響。
圖1?對(duì)使用 PAP?方法進(jìn)行 RADIUS?驗(yàn)證的 Blast-RADIUS?攻擊
如果無(wú)法直接使用 TLS或 DTLS進(jìn)行傳輸加密,可以使用 RFC 2869中描述的可選 RADIUS屬性 "Message-Authenticator"作為替代方法。
該方法為整個(gè) RADIUS數(shù)據(jù)包計(jì)算一個(gè) HMAC-MD5校驗(yàn)和。未通過(guò)此完整性檢查的數(shù)據(jù)包必須被靜默丟棄。根據(jù)當(dāng)前的狀態(tài),沒(méi)有共享密鑰的情況下,HMAC-MD5 校驗(yàn)和無(wú)法被偽造。
如果在所有數(shù)據(jù)包中都要求使用有效的消息認(rèn)證屬性,這種攻擊將變得不可能。然而,這個(gè)屬性僅在 EAP 認(rèn)證方法中是強(qiáng)制性的,而在 PAP和 CHAP中并不是。即使在 RFC 5080中也只是定義了一個(gè) "SHOULD"(建議使用)。
如何檢查漏洞?
要檢查您的實(shí)現(xiàn)是否存在漏洞,可以捕獲 RADIUS服務(wù)器和 RADIUS客戶端之間的通信數(shù)據(jù)包,并根據(jù)受影響的協(xié)議特性進(jìn)行篩選。我們可以使用 ProfiShark或 IOTA捕獲數(shù)據(jù)包,基于 RADIUS協(xié)議對(duì) IOTA進(jìn)行預(yù)篩選,并使用 Wireshark進(jìn)行分析。需要捕獲 RADIUS客戶端與服務(wù)器之間的數(shù)據(jù)包,例如,在圖2所示的內(nèi)聯(lián)模式下進(jìn)行捕獲。
圖2?在 RADIUS?客戶端(交換機(jī))和 RADIUS?服務(wù)器之間定位 IOTA?或 ProfiShark
使用 ProfiShark進(jìn)行捕獲
在 ProfiShark Manager中,我們需要在 "Network Ports"選項(xiàng)卡中將 ProfiShark設(shè)置為內(nèi)聯(lián)模式(即取消勾選 "Span Mode"復(fù)選框,如圖 3所示),然后將其內(nèi)聯(lián)集成到我們的網(wǎng)絡(luò)中(如圖 2所示)。
圖3? 在 ProfiShark Manager?中禁用 SPAN?模式,將 ProfiShark?內(nèi)聯(lián)集成到 RADIUS?客戶端和 RADIUS?服務(wù)器之間
接下來(lái),在 "Capture"選項(xiàng)卡中,根據(jù)需要設(shè)置捕獲目錄,并通過(guò)點(diǎn)擊 "Start Capture"按鈕開(kāi)始捕獲數(shù)據(jù),直到我們獲取到足夠的數(shù)據(jù)為止。
圖4?在 ProfiShark Manager?中設(shè)置捕獲目錄并開(kāi)始捕獲
使用 IOTA進(jìn)行捕獲
首先,我們需要確保在 IOTA管理界面的 "Capture > Interface Configuration"頁(yè)面上,將 IOTA的捕獲接口設(shè)置為內(nèi)聯(lián)模式。
圖5?將端口控制設(shè)置為內(nèi)聯(lián)模式
然后,我們將 IOTA內(nèi)聯(lián)集成到生產(chǎn)網(wǎng)絡(luò)中,并通過(guò)按下設(shè)備上的物理按鈕或在 "Capture > Capture Control"頁(yè)面上點(diǎn)擊 "Start Capture"按鈕開(kāi)始捕獲數(shù)據(jù)。
圖6?通過(guò) "Capture Control"?頁(yè)面上的 "Start Capture"?按鈕開(kāi)始捕獲
現(xiàn)在,我們可以通過(guò)應(yīng)用程序或協(xié)議棧過(guò)濾器對(duì) RADIUS協(xié)議進(jìn)行過(guò)濾。最簡(jiǎn)單的方法是過(guò)濾 "APPLICATION"屬性,并將其值設(shè)置為 "RADIUS"(如圖 7所示),這樣只會(huì)獲取 RADIUS數(shù)據(jù)包。另一種選擇是通過(guò) "PROTOCOL_STACK"進(jìn)行過(guò)濾,設(shè)置值為 "Ethernet | IPv4 | UDP | RADIUS"。
圖7?過(guò)濾 RADIUS?數(shù)據(jù)包
在正確過(guò)濾協(xié)議后,我們可以滾動(dòng)至概覽儀表板的底部,直到看到流列表。接下來(lái),我們需要選擇要進(jìn)一步分析的流,并點(diǎn)擊左側(cè)的下載按鈕。
圖8?可下載的流列表
分析易受攻擊的執(zhí)行方式
例如,我們可以使用 Wireshark檢查 RADIUS請(qǐng)求中是否包含易受攻擊的屬性。首先,我們需要打開(kāi)位于之前在 ProfiShark Manager中配置的目錄或從 IOTA下載的文件夾中的 PCAPNG文件。接下來(lái),我們需要一個(gè)顯示過(guò)濾器來(lái)獲取 RADIUS Access-Requests(代碼 1)、Access-Accepts(代碼 2)、Access-Rejects(代碼 3)和 Access-Challenges(代碼 11),但不包括使用 EAP方法或帶有 "Message-Authenticator"屬性值對(duì)的 RADIUS消息,因?yàn)樗鼈儾皇艽寺┒从绊憽榇耍覀兛梢允褂蔑@示過(guò)濾器 “(radius.code in {1,2,3,11}) and not (radius.Message_Authenticator or eap)”,如圖 9所示。這樣,我們只會(huì)獲取受此協(xié)議漏洞影響的 RADIUS數(shù)據(jù)包,并且可以看到受影響產(chǎn)品的源 IP地址。
圖9?在 Wireshark?中使用顯示過(guò)濾器篩選潛在易受攻擊的 RADIUS?數(shù)據(jù)包的截圖
作為使用 “Message-Authenticator” 屬性值對(duì)來(lái)實(shí)現(xiàn)解決方案的數(shù)據(jù)包示例,我們可以參考圖10,其中展示了該解決方案的實(shí)現(xiàn)。
圖10 Wireshark?中帶有消息認(rèn)證器屬性/值對(duì)的 RADIUS?訪問(wèn)請(qǐng)求截圖。在此情況下,它也是一個(gè)不易受攻擊的 EAP?認(rèn)證
結(jié)論
IOTA和 ProfiShark可以幫助我們輕松高精度地收集 RADIUS數(shù)據(jù)包的包級(jí)數(shù)據(jù)并進(jìn)行分析。Wireshark通過(guò)使用上述顯示過(guò)濾器支持我們高效分析收集到的數(shù)據(jù),快速篩選出易受攻擊的 RADIUS實(shí)現(xiàn)。
作為應(yīng)對(duì) Blast-RADIUS攻擊的替代方案,可以使用 “Message-Authenticator” 屬性值對(duì),或者在 RADIUS客戶端到 RADIUS服務(wù)器的傳輸過(guò)程中,通過(guò) RadSec或 IPSec使用 TLS傳輸加密來(lái)保護(hù) RADIUS數(shù)據(jù)包。
審核編輯 黃宇
-
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
10文章
3193瀏覽量
60212 -
Iota
+關(guān)注
關(guān)注
0文章
29瀏覽量
8430 -
Wireshark
+關(guān)注
關(guān)注
0文章
49瀏覽量
6552
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論