應(yīng)用程序?qū)庸粲址Q為第 7 層?(L7)?DDoS 攻擊,是指旨在針對(duì)?OSI 模型“頂層”的惡意行為,HTTP?GET 和 HTTP POST 等常見(jiàn)互聯(lián)網(wǎng)請(qǐng)求就發(fā)生在這一層。與?DNS 放大等網(wǎng)絡(luò)層攻擊相比,第 7 層攻擊特別有效,因?yàn)樗鼈兂讼木W(wǎng)絡(luò)資源,還會(huì)消耗服務(wù)器資源。
應(yīng)用程序?qū)庸舻墓ぷ髟?span id="webv8p7va" class="ez-toc-section-end">
大多數(shù) DDoS 攻擊的潛在有效性來(lái)自發(fā)起攻擊所需的資源量與吸收或防護(hù)攻擊所需的資源量之間的差異。盡管第 7 層攻擊也符合這種情況,但這種攻擊可以同時(shí)影響目標(biāo)服務(wù)器和網(wǎng)絡(luò),因此需要更少的總帶寬即可達(dá)到相同的破壞效果;應(yīng)用程序?qū)庸粝母俚目値捈纯稍斐筛蟮钠茐摹?/p>
為了探討其原因,我們看一下發(fā)出請(qǐng)求的客戶端和響應(yīng)請(qǐng)求的服務(wù)器之間的相對(duì)資源消耗差異。當(dāng)用戶發(fā)送登錄在線帳戶(如 Gmail 帳戶)的請(qǐng)求時(shí),用戶的計(jì)算機(jī)必須使用的數(shù)據(jù)和資源數(shù)量很少,并且與檢查登錄憑據(jù)、從數(shù)據(jù)庫(kù)加載相關(guān)用戶數(shù)據(jù)然后發(fā)回包含所請(qǐng)求網(wǎng)頁(yè)的響應(yīng)這一過(guò)程中消耗的資源數(shù)量不成比例。
即使沒(méi)有登錄,多次收到客戶端請(qǐng)求的服務(wù)器也必須進(jìn)行數(shù)據(jù)庫(kù)查詢或其他 API 調(diào)用以生成網(wǎng)頁(yè)。在許多設(shè)備將單個(gè) Web 資產(chǎn)作為目標(biāo)(例如在僵尸網(wǎng)絡(luò)攻擊期間)時(shí),這種差異將進(jìn)一步放大,使目標(biāo)服務(wù)器不堪重負(fù),從而對(duì)正常流量拒絕服務(wù)。在許多情況下,僅對(duì) API 發(fā)起第 7 層攻擊就足以使服務(wù)脫機(jī)。
為什么應(yīng)用程序?qū)?DDoS 攻擊難以阻止?
攻擊流量和正常流量很難區(qū)分,尤其是在應(yīng)用程序?qū)庸簦ɡ缃┦W(wǎng)絡(luò)對(duì)受害服務(wù)器執(zhí)行?HTTP 洪水攻擊)的情況下。由于僵尸網(wǎng)絡(luò)中的每個(gè)機(jī)器人都發(fā)出看似合法的網(wǎng)絡(luò)請(qǐng)求,因此流量不是欺騙流量,而是看起來(lái)來(lái)自“正?!钡膩?lái)源。
應(yīng)用程序?qū)庸粜枰环N自適應(yīng)策略,包括根據(jù)特定規(guī)則集限制可能會(huì)定期波動(dòng)的流量的能力。正確配置的?WAF?等工具可以緩解傳遞到源服務(wù)器的虛假通信量,從而大大減少 DDoS 嘗試的影響。
對(duì)于其他攻擊(如?SYN 洪水攻擊)或反射攻擊(如?NTP 放大攻擊),只要網(wǎng)絡(luò)本身具有足夠帶寬可以承載,就可以使用策略相當(dāng)有效地丟棄流量。遺憾的是,大多數(shù)網(wǎng)絡(luò)無(wú)法承受 300Gbps 的放大攻擊,而可以正確路由并服務(wù)第 7 層攻擊可能產(chǎn)生的大量應(yīng)用程序?qū)诱?qǐng)求的網(wǎng)絡(luò)更是鮮見(jiàn)。
哪些策略有助于防護(hù)應(yīng)用程序?qū)庸簦?span id="webv8p7va" class="ez-toc-section-end">
一種方法是對(duì)發(fā)出網(wǎng)絡(luò)請(qǐng)求的設(shè)備實(shí)施質(zhì)詢,以測(cè)試它是否是機(jī)器人。用于完成此過(guò)程的測(cè)試類似于在線創(chuàng)建帳戶時(shí)常見(jiàn)的?CAPTCHA?測(cè)試。通過(guò)提出 JavaScript 計(jì)算挑戰(zhàn)之類的要求,可以緩解許多攻擊。
其他阻止 HTTP 洪水攻擊的途徑包括使用 Web 應(yīng)用程序防火墻,通過(guò) IP 信譽(yù)數(shù)據(jù)庫(kù)以及工程師的實(shí)時(shí)網(wǎng)絡(luò)分析來(lái)管理和篩選流量。