◆高 巖
?
基于網(wǎng)頁挖礦攻擊的防御策略研究與實(shí)現(xiàn)
◆高 巖
(武漢虹旭信息技術(shù)有限責(zé)任公司 湖北 430000)
隨著區(qū)塊鏈的快速發(fā)展以及虛擬貨幣的大量引入,挖礦木馬成為了被攻擊者運(yùn)用最頻繁的攻擊方式,從挖礦的形態(tài)上可以分為PC客戶端挖礦和網(wǎng)頁挖礦。本文的研究重點(diǎn)是針對(duì)網(wǎng)頁挖礦攻擊進(jìn)行有效防御。針對(duì)已有的防御策略的不足,本文提出了通過黑名單限制常見挖礦引擎,并通過檢測CPU使用率阻止新型的挖礦引擎,同時(shí)自動(dòng)更新黑名單的防御策略,完成對(duì)網(wǎng)頁挖礦攻擊的防御。
區(qū)塊鏈;挖礦攻擊;挖礦攻擊防御
近來年隨著互聯(lián)網(wǎng)的快速發(fā)展,區(qū)塊鏈的出現(xiàn)將原有的信息互聯(lián)網(wǎng)轉(zhuǎn)化為價(jià)值互聯(lián)網(wǎng)。區(qū)塊鏈?zhǔn)且环N去中心化的信息同步技術(shù),其以密碼學(xué)以及POW(proof of work)共識(shí)機(jī)制為基礎(chǔ),利用分布式節(jié)點(diǎn)共識(shí)算法來生成和更新數(shù)據(jù),最終完成完整的記錄價(jià)值轉(zhuǎn)移的過程。而為了保證這一安全性,挖礦的概念被提出,挖礦是一種CPU密集型的資源爭搶工作,挖礦的中心思想起源于hashcash機(jī)制,該機(jī)制初次提出時(shí)主要用來阻止惡意用戶向郵件服務(wù)器發(fā)送垃圾郵件。攻擊者通過惡意代碼將挖礦程序植入受害者計(jì)算機(jī),利用受害者的計(jì)算機(jī)的算力進(jìn)行挖礦,此類挖礦攻擊日益增多,如何有效防御挖礦攻擊是如今信息安全研究的熱點(diǎn)。
常見的挖礦攻擊方式主要分為:僵尸網(wǎng)絡(luò)挖礦以及網(wǎng)頁挖礦。僵尸網(wǎng)絡(luò)網(wǎng)礦是指攻擊者通過網(wǎng)絡(luò)入侵其他計(jì)算機(jī)建立僵尸網(wǎng)絡(luò)并植入木馬,通過所控制計(jì)算機(jī)的巨大算力來進(jìn)行挖礦。網(wǎng)頁挖礦通常指攻擊者通過在頁面植入JavaScript惡意腳本,當(dāng)普通用戶訪問該頁面時(shí),執(zhí)行javascript腳本,通過javascript腳本進(jìn)行挖礦。本文主要針對(duì)網(wǎng)頁挖礦的攻擊手段進(jìn)行分析,并針對(duì)性地提出對(duì)應(yīng)的防御措施。
網(wǎng)頁挖礦在用戶瀏覽器訪問頁面時(shí),執(zhí)行網(wǎng)頁中包含的挖礦代碼,導(dǎo)致在不知情的情況下計(jì)算機(jī)CPU被占用進(jìn)行挖礦。網(wǎng)頁挖礦拓?fù)鋱D如圖1所示。
圖1 網(wǎng)頁挖礦拓?fù)鋱D
圖2 廣告聯(lián)盟挖礦框圖
現(xiàn)階段通過網(wǎng)頁進(jìn)行挖礦已經(jīng)不滿足于單個(gè)網(wǎng)站挖礦,而是將目標(biāo)對(duì)準(zhǔn)更大流量的網(wǎng)站進(jìn)行傳播,其中通過廣告引入惡意挖礦腳本是其主要攻擊方式之一。廣告聯(lián)盟挖礦的流程如圖2所示。
攻擊者通過在廣告窗口嵌入挖礦腳本,受害者訪問包含該廣告的網(wǎng)站時(shí)瀏覽器會(huì)自動(dòng)加載該挖礦腳本,挖礦腳本占用大量用戶CPU的使用率進(jìn)行挖礦,導(dǎo)致受害者卡頓。但當(dāng)受害者關(guān)閉該頁面時(shí),瀏覽器停止挖礦操作。
跨站腳本攻擊(Cross-Site Scripting,XSS)是近年來出現(xiàn)頻率最高的漏洞之一,跨站腳本攻擊具有攻擊范圍廣泛、跨平臺(tái)、破壞力強(qiáng)等特性受到攻擊者重視。根據(jù)XSS攻擊的攻擊方式以及利用手法不同,將跨站腳本分為三類:反射型XSS、存儲(chǔ)型XSS、DOM型XSS。由于挖礦攻擊需要受害者在加載頁面后執(zhí)行攻擊者的惡意腳本,因此攻擊者通常利用存儲(chǔ)型XSS漏洞向正常頁面注入挖礦腳本。存儲(chǔ)型XSS通常出現(xiàn)在用戶與服務(wù)器交互的接口,如留言板、個(gè)性簽名、發(fā)帖處等。攻擊者在這些接口處通過已存的漏洞注入惡意腳本,惡意腳本會(huì)存入服務(wù)器中,當(dāng)其他用戶或管理員瀏覽該信息時(shí),瀏覽器將會(huì)直接從服務(wù)端讀取攻擊者構(gòu)造的惡意腳本,在不知情的情況下,受害者瀏覽器會(huì)自動(dòng)加載攻擊者注入的代碼并進(jìn)行挖礦操作。
網(wǎng)絡(luò)釣魚是一種以社會(huì)工程學(xué)為基礎(chǔ)的攻擊手段,大多數(shù)通過電子郵件、即時(shí)通訊工具、網(wǎng)頁虛假宣傳進(jìn)行傳播,最終意圖是引導(dǎo)用戶點(diǎn)擊并訪問釣魚網(wǎng)站。傳統(tǒng)的釣魚網(wǎng)站是為了欺騙用戶登錄完全模仿真實(shí)網(wǎng)站的虛假網(wǎng)站,從而獲取用戶的敏感信息(如賬號(hào)、密碼、手機(jī)驗(yàn)證碼等)。而釣魚頁面挖礦則危害更加直接,攻擊者只需要誘導(dǎo)用戶訪問釣魚頁面,之后攻擊者通過代碼隱藏釣魚頁面,此時(shí)在釣魚頁面中執(zhí)行了挖礦腳本。而由于攻擊者隱藏了釣魚頁面,導(dǎo)致用戶無法正常關(guān)閉該頁面,挖礦腳本將持續(xù)運(yùn)行,導(dǎo)致受害者CPU占用率增高。
以同源策略為基礎(chǔ),不允許用戶訪問非當(dāng)前域下的外聯(lián)javascript腳本,不允許用戶打開非當(dāng)前域下的網(wǎng)站。但僅僅通過此方法,會(huì)影響到用戶正常瀏覽網(wǎng)站時(shí)的用戶體驗(yàn),如非惡意的廣告聯(lián)盟所推送的廣告無法顯示,有些網(wǎng)站本身引用了非本域的javascript以及css腳本,此時(shí)會(huì)導(dǎo)致用戶瀏覽器所解析的頁面出現(xiàn)錯(cuò)誤。
CSP(Content-Security-Policy,內(nèi)容安全策略)規(guī)范了網(wǎng)頁中某個(gè)標(biāo)簽所能加載的第三方域,從協(xié)議層對(duì)存在安全隱患的非信任數(shù)據(jù)進(jìn)行過濾,其核心思想是同源策略,同時(shí)限制內(nèi)聯(lián)腳本的執(zhí)行,以此來防御跨站腳本攻擊。CSP運(yùn)用了白名單策略,用來判定輸入內(nèi)容是否存在于白名單中。CSP在默認(rèn)配置下限制內(nèi)聯(lián)代碼( 茶陵县| 台东县| 萝北县| 洞头县| 大港区| 罗平县| 灌南县| 若尔盖县| 葫芦岛市| 铜梁县| 吕梁市| 南靖县| 贵德县| 襄垣县| 鹤岗市| 铜陵市| 当阳市| 三门县| 扎兰屯市| 河曲县| 玉门市| 紫阳县| 余庆县| 瑞昌市| 交城县| 贺州市| 大丰市| 海兴县| 富宁县| 多伦县| 济南市| 贵州省| 栾城县| 遂川县| 正宁县| 辽宁省| 滨海县| 梅州市| 连云港市| 尉氏县| 乐至县|