日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

卡巴斯基安全浏览器_一年三番五次修,卡巴斯基为何依然无法完美修复杀毒软件中的这些洞 (技术详情)?...

發(fā)布時間:2025/3/15 HTML 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 卡巴斯基安全浏览器_一年三番五次修,卡巴斯基为何依然无法完美修复杀毒软件中的这些洞 (技术详情)?... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
聚焦源代碼安全,網(wǎng)羅國內(nèi)外最新資訊!編譯:奇安信代碼衛(wèi)士團隊卡巴斯基 web 防護功能將攔截廣告和追蹤器,警告用戶關(guān)于惡意搜索結(jié)果等等。但這個功能在瀏覽器中運行而且需要和主應(yīng)用程序通信。要確保這種通信的安全性,必須要回答的問題是:它把通向王國的鑰匙放在了哪個地墊之下?本文作者Wladimir Palant 詳細分析了自己向卡巴斯基從該功能中找到的多個漏洞,這里說明的是其中一個。奇安信代碼衛(wèi)士翻譯如下:

概述

2018年12月,我可以證實,多個網(wǎng)站能夠劫持卡巴斯基瀏覽器腳本與其所有配置中主應(yīng)用程序之間的通信。網(wǎng)站從而能夠以多種方式操縱該應(yīng)用程序,包括禁用廣告攔截和追蹤的防護功能。卡巴斯基當時表示會在2019年7月份解決這些問題。但進一步調(diào)查發(fā)現(xiàn)他們只限制了更為強大的 API 調(diào)用,而任何網(wǎng)站仍然可以訪問大量應(yīng)用程序。更糟糕的是,卡巴斯基發(fā)布的新版本泄露了大量用戶系統(tǒng)信息,如卡巴斯基程序的唯一標識符,同時還引入一個新問題,可導(dǎo)致任意網(wǎng)站觸發(fā)應(yīng)用程序崩潰,使得用戶系統(tǒng)無法得到病毒防護功能的保護。

問題為何如此復(fù)雜?

殺毒軟件通常通過瀏覽器擴展實現(xiàn) web 防護措施,這樣使得和主應(yīng)用程序的通信更加方便快捷:瀏覽器擴展可使用易于保護的本地消息傳遞機制 (native messaging)。原生應(yīng)用程序內(nèi)置多種安全預(yù)防措施,指定了哪些瀏覽器擴展可以與其連接。但我們這里考慮的環(huán)境不僅僅是瀏覽器擴展。如果用戶拒絕安裝卡巴斯基的瀏覽器擴展,那么卡巴斯基軟件不會輕易放手,而是會直接將必要腳本注入所有的網(wǎng)頁。這種做法甚至適用于 HTTPS 網(wǎng)站中,因為卡巴斯基為了操縱所有的網(wǎng)站不惜突破 HTTPS 連接。另外,更特別的是 IE 瀏覽器插件。由于IE 瀏覽器并不會提供適當?shù)臄U展 API,其插件限制將腳本注入網(wǎng)頁中。雖然它并不要求操縱網(wǎng)頁的源代碼,但腳本仍然會在這些頁面上下文中執(zhí)行且不會具備任何特別權(quán)限。因此,卡巴斯基這樣做的目的似乎是為這三種環(huán)境提供和卡巴斯基應(yīng)用程序統(tǒng)一的通信方式。但在其中兩種環(huán)境中,卡巴斯基的腳本所具有的權(quán)限和已被注入腳本的網(wǎng)頁的權(quán)限完全一樣。那么如何阻止網(wǎng)站連接到使用同樣方式的應(yīng)用程序呢?現(xiàn)在知道這個任務(wù)的挑戰(zhàn)性有多大了吧?

卡巴斯基的解決方案

卡巴斯基的卡法人員顯然給出了一種解決方案,不然我也不會寫這么一篇文章了。他們決定在應(yīng)用程序和腳本(他們在代碼中稱之為“signature”)之間共享一個秘密。在建立連接時,必須提供這個秘密值,而本地服務(wù)器只有在收到正確的值之后才會響應(yīng)。那么,擴展和腳本如何才能知道這個秘密是什么?Chrome 和火狐瀏覽器使用本地消息傳遞機制進行檢索。至于IE 瀏覽器擴展和直接被注入網(wǎng)頁中的腳本在這里變成該腳本的一部分源碼。由于網(wǎng)站受制于同源策略無法下載該源碼,因此它們無法讀取該秘密,至少從理論上來講是這樣的。

提取秘密

2018年12月,當我查看 Kaspersky Internet Security 2019 產(chǎn)品時發(fā)現(xiàn)它們的 web 集成代碼在所有的環(huán)境中都在泄露該秘密(CVE-2019-15685)。不管你是用的是什么瀏覽器,也不管是否安裝了瀏覽器擴展,所有的瀏覽器都能夠提取到和卡巴斯基主應(yīng)用程序進行通信所需的秘密。從注入腳本提取入之前說書,如果沒有瀏覽器擴展,那么卡巴斯基軟件將直接把腳本注入到網(wǎng)頁中。由于 JavaScript 是高度動態(tài)化的執(zhí)行環(huán)境,因此幾乎可任意遭操控。例如,網(wǎng)站可以替代 WebSocket對象并看到腳本和本地服務(wù)器之間建立連接。當然,卡巴斯基的開發(fā)人員也想到了這種場景,于是他們確保自己的腳本會在網(wǎng)站腳本之前運行。同時還復(fù)制了 WebSocket 對象并且僅使用該對象。但這種方法并非滴水不漏。比如,網(wǎng)站僅能保證再次執(zhí)行相同的腳本,但這次是在受操控的環(huán)境中執(zhí)行。雖然需要腳本 URL 才能這么做,但是它可以自行下載并從響應(yīng)中提取該腳本 URL。如下是我的方法:fetch(location.href).then(response => response.text()).then(text =>{ let match = /

總結(jié)

以上是生活随笔為你收集整理的卡巴斯基安全浏览器_一年三番五次修,卡巴斯基为何依然无法完美修复杀毒软件中的这些洞 (技术详情)?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。