攻擊者開始利用 MFA 漏洞在內(nèi)的高級(jí)手段繞過(guò)多因素身份驗(yàn)證
研究人員最近發(fā)現(xiàn)了一種令人不安的攻擊趨勢(shì),這些攻擊專門設(shè)計(jì)來(lái)繞過(guò)多因素身份驗(yàn)證(MFA)的保護(hù)機(jī)制。這些高級(jí)技術(shù)利用了身份驗(yàn)證工作流程中的漏洞,而非身份驗(yàn)證因素本身,從而使攻擊者能夠在啟用 MFA 的情況下,仍能未經(jīng)授權(quán)訪問(wèn)受保護(hù)的賬戶。
此次攻擊標(biāo)志著威脅行為者能力的重大演進(jìn),挑戰(zhàn)了 MFA 幾乎完全防止未經(jīng)授權(quán)訪問(wèn)的普遍假設(shè)。
多因素身份驗(yàn)證已成為網(wǎng)絡(luò)防御的基石,要求用戶通過(guò)多種方式驗(yàn)證身份——通常是將密碼與發(fā)送到移動(dòng)設(shè)備或硬件令牌的一次性代碼結(jié)合使用。這種分層方法傳統(tǒng)上為攻擊者設(shè)置了巨大的障礙,因?yàn)橥瑫r(shí)破壞多個(gè)身份驗(yàn)證因素被認(rèn)為是非常困難或資源密集的。
然而,Quarkslab 的研究人員發(fā)現(xiàn)了一種特別復(fù)雜的繞過(guò)技術(shù),該技術(shù)操縱的是身份驗(yàn)證過(guò)程本身,而不是試圖竊取或破壞二次驗(yàn)證因素。他們的分析表明,攻擊者利用的是系統(tǒng)驗(yàn)證和跟蹤 MFA 完成狀態(tài)時(shí)的時(shí)序漏洞和實(shí)施缺陷,從而有效地讓應(yīng)用誤以為二次驗(yàn)證已成功完成,而實(shí)際上并沒(méi)有。
這些攻擊的影響尤其令人擔(dān)憂,因?yàn)榕c傳統(tǒng)暴力破解相比,它們通常留下的取證證據(jù)極少。許多受害者只有在發(fā)現(xiàn)異常賬戶活動(dòng)時(shí)才會(huì)察覺被入侵,而此時(shí)敏感數(shù)據(jù)可能已經(jīng)被竊取。安全團(tuán)隊(duì)發(fā)現(xiàn)這些攻擊尤其難以檢測(cè),因?yàn)樗鼈冊(cè)诎踩罩局酗@示為合法的身份驗(yàn)證流程。
會(huì)話令牌操縱分析
最令人擔(dān)憂的技術(shù)涉及在驗(yàn)證流程中精心定時(shí)地操縱身份驗(yàn)證響應(yīng)數(shù)據(jù)。當(dāng)用戶發(fā)起身份驗(yàn)證時(shí),主要因素(通常是密碼)會(huì)生成一個(gè)初始會(huì)話令牌,該令牌隨后處于掛起狀態(tài)等待二次驗(yàn)證。攻擊者發(fā)現(xiàn)了一些方法,可以在 MFA 挑戰(zhàn)完成之前攔截并修改該令牌的狀態(tài)標(biāo)志。
正常的身份驗(yàn)證流程與被繞過(guò)驗(yàn)證步驟的受攻擊流程形成鮮明對(duì)比。攻擊通常使用 JavaScript 代碼注入來(lái)修改身份驗(yàn)證響應(yīng),如下面的簡(jiǎn)化示例所示:
const bypassMFA = async (authResponse) => {
let responseData = await authResponse.json();
if (responseData.status === "awaiting_verification") {
responseData.auth_status = "verified";
responseData.mfa_complete = true;
responseData.session_flags += "|2FA_VERIFIED";
return new Response(JSON.stringify(responseData), {
status: 200,
headers: authResponse.headers
});
}
return authResponse;
}
該代碼片段展示了攻擊者如何攔截身份驗(yàn)證響應(yīng)并修改關(guān)鍵狀態(tài)標(biāo)志,以錯(cuò)誤地表明 MFA 驗(yàn)證已成功完成。網(wǎng)絡(luò)流量顯示,修改后的響應(yīng)正是在身份驗(yàn)證序列中被注入的時(shí)刻。
這種漏洞主要影響在身份驗(yàn)證服務(wù)器和資源服務(wù)器之間實(shí)現(xiàn)單獨(dú)會(huì)話狀態(tài)跟蹤的系統(tǒng)。這種架構(gòu)決策在網(wǎng)絡(luò)安全延遲期間或發(fā)生特定錯(cuò)誤條件時(shí),形成了一個(gè)可被利用的安全缺口。
安全專家建議組織在整個(gè)會(huì)話周期內(nèi)持續(xù)驗(yàn)證 MFA 狀態(tài),而不僅僅是在初始登錄時(shí),并采用無(wú)法在未檢測(cè)到的情況下被修改的加密簽名令牌。在系統(tǒng)更新以解決這些漏洞之前,用戶應(yīng)保持警惕,注意啟用 MFA 后可能出現(xiàn)的異常賬戶活動(dòng),這可能表明未經(jīng)授權(quán)的訪問(wèn)。