為什麼反病毒軟體對比瀏覽器等軟體反而更容易被獲得漏洞並利用?

本題已收入知乎圓桌 ?白帽黑客與安全,歡迎關注討論。


-----------

看到 The Intercept 披露的最新斯諾登文件的消息,卡巴斯基被 NSA 和 GCHQ 破解利用。其中提到一個觀點:

&> 「Anti-virus products, with only a few exceptions, are years behind security-conscious client-side applications like browsers or document readers. It means that Acrobat Reader, Microsoft Word or Google Chrome are harder to exploit than 90 percent of the anti-virus products out there.」 via https://firstlook.org/theintercept/2015/06/22/nsa-gchq-targeted-kaspersky/


&> 卡巴斯基軟體被美英情報部門破解 用戶恐遭監控 | 新浪科技 ? 卡巴斯基軟體被美英情報部門破解 用戶恐遭監控


想知道為什麼反病毒軟體對比瀏覽器等軟體反而更容易被獲得漏洞並利用?


答主也是安全領域小白一枚,如有錯誤之處歡迎提出: )

這個問題可以簡化成三個子問題:

  1. 殺毒軟體的哪些構造可能存在可利用的漏洞?
  2. 為什麼通過瀏覽器就能入侵系統?
  3. 為什麼取道殺軟比瀏覽器更容易獲得漏洞並利用?

我們先來分析殺毒軟體中存在漏洞的潛在機會。
殺毒軟體不只要對抗病毒,還要能檢測木馬程序、間諜軟體、具備反Rootkit能力,現代殺毒軟體還要確保瀏覽器不被安裝惡意插件、掃描你的郵箱中潛在的病毒、以及智能化地分析惡意軟體的行為等。其中殺毒軟體檢測病毒的方式有兩種常用手段:特徵碼識別和啟發式識別。特徵碼識別的原理是檢測病毒文件中某種惡意代碼的存在,但這種檢測方式很笨拙,病毒製作者在病毒程序中隨意加入一些無關代碼就能擾亂殺毒軟體對齊識別的能力。並且不同語言、不同編譯器、甚至32位和64位平台下編譯出來的代碼都不同,靠特徵碼識別只能亡羊補牢,先發現後補救。而這也是數十年前,電腦病毒甚是流行的原因之一。而啟發式的識別則會在一個虛擬空間內檢測病毒程序的行為,解剖病毒程序的結構,從而判定是否會對系統造成威脅。熊貓燒香病毒流行的時候,微點就做到了不升級病毒庫就能查殺該病毒。

殺毒軟體會提供「實時防護」,也就是當你打開程序、下載文件時,殺毒軟體都會對當前操作的程序進行一次掃描,如果發現可以文件還可能進行一次啟發式分析,當然這些都發生在從你雙擊程序到程序打開前的幾秒空白時間裡。短短几秒鐘,從殺毒軟體在後台默默運行的服務到正在被監視的explorer.exe進程,從雙擊操作的消息被轉發到user32.dll,再從CreateProcess操作跳轉到殺毒軟體設下的SSDT HOOK中,再從鑒定病毒到刪除、處理病毒程序,每個環節都涉及高許可權的操作。進入內核態之後,無論是殺毒軟體,還是系統代碼、驅動程序,大家都在內核態中各自穿行,一點點的不穩定因素都可以導致藍屏,內核態的代碼被注入、篡改,都能導致丟掉整個系統的控制權。

殺毒軟體所安裝的驅動程序、內核鉤子,所啟動的服務、守護進程,都可以視作對原系統的修改。如果它們自身存在缺陷而被替換的系統組件固若金湯,那麼安裝了殺毒軟體的系統反而更容易遭到入侵。

總結一下就是殺毒軟體本身具備高許可權,如果被病毒附體,那看門人就變成了大強盜。那麼普普通通的瀏覽器為何也能被入侵呢?

以Chrome為例,Chrome本身具備一些安全措施,保證惡意程序不會通過瀏覽器釋放到系統環境中。這些技術包括ASLR、DEP和沙盒等。其中ASLR全程即Address Space Layout Randomization(地址空間布局隨機化),每次打開Chrome時其核心組件都位於內存中不同的位置,就基本消除了通過在特定位置注入惡意代碼來入侵瀏覽器的可能。DEP即Data Execution Protection(數據執行保護),可以幫助避免Chrome在保留用於不可執行代碼的內存區域中插入惡意代碼。而Chrome的沙盒技術則利用了Windows所提供的安全機制來實現:

  1. 受限的Token
  2. Job機制
  3. 窗口站隔離
  4. 桌面隔離
  5. 一致性級別(Integrity Level)

篇幅所限就不在這裡一一解釋所有概念,大家可以自行查閱維基百科。
除此之外,隨著HTML5技術的發展,網頁應用所能獲取的本地許可權也越來越多,此前Chrome就出現過授權給網頁應用一次以錄音許可權、該應用就能持續監聽用戶聲音的事件(Speech recognition hack turns Google Chrome into advanced bugging device)。本地緩存、硬體繪圖等新組件也為瀏覽器帶來了潛在的被入侵機會。

現在我們可以討論正題了,為什麼說現如今取道殺軟比瀏覽器更容易獲取漏洞並利用?

  1. 相比瀏覽器,殺毒軟體本身具備的高許可權,使病毒一旦侵入,可以獲得更大的自由和活動空間,進行更大範圍的監聽或造成更大範圍的破壞;
  2. 現代瀏覽器提供了完善的機制來對網頁應用進行限制,而系統對應用程序的限制主要靠UAC和殺毒軟體來保證,對高許可權應用程序的需求一直存在(QQ為了防止輸入密碼時按鍵被記錄,就需要部分代碼運行在內核態)而網頁應用理論上是絕對不能獲取高許可權的;
  3. 殺毒軟體的更新頻率要高於瀏覽器的更新頻率,其中存在更多分析殺毒軟體行為的機會。

雖然Chrome的安全機制也有被攻破的時候(Google Chrome hacked with sophisticated exploit),但即便被攻破,也只能獲得中等的執行許可權,要想對系統造成破壞,仍然需要經過UAC和殺毒軟體的關卡。費盡心機卻不能獲得最高許可權,作為病毒製造者,為什麼不直接從殺毒軟體下手呢?
事實上,真正盯上卡巴斯基的人,不是盜號軟體的作者們,也不是白帽黑帽黑客們,而是像NSA和英國GCHQ這樣的情報集團。而卡巴斯基自曝的入侵事件,也被聲明是「國家級的入侵」。
其實漏洞這種東西,你永遠不知道正在被利用、沒有被公開的有多少,因為建立在軟體上的絕對安全,是不存在的。


反病毒軟體自身除了操作系統以外就沒有可以限制他行為的東西了


是你的金庫的保管員偷金條容易,還是存金條的用戶偷金條容易?

金庫保管員可以到金庫裡面溜達,是為巡視。客戶跑進去算什麼?要被抓出來的。

--

殺毒軟體具有更高的許可權,完全掃描整個系統的行為也可以被用戶理解。

而瀏覽器如果這麼做基本就等於承認自己是個病毒。


這還用問么,獲得系統控制權的第三方軟體比如殺毒軟體自己有漏洞。
而瀏覽器要麼是系統自帶的已經嚴格授權控制了,要麼就是綠色軟體根本不需要系統root授權。
舉個例子,你敢用小公司經費不足開發的殺毒軟體么,漏洞百出,安裝前還先讓你確認root授權,後果自然可想而知。
還有殺毒軟體能做成綠色軟體么?


其實原因可以非常簡單。所有軟體都有漏洞且均會被利用,不同的是相較於瀏覽器殺毒軟體一般擁有更高的許可權,自然黑客便更樂於尋找後者的漏洞而非前者。所以並不是說殺毒軟體更容易被獲得漏洞,而是有更多的人去尋找漏洞,以達到不純的目的。
用一個通俗的例子來解釋的話可以想像一下如下場景:假設你是一個江洋大盜(黑客),想要竊取金庫中的黃金(計算機中的信息)。那你自然會去偷銀行經理(殺毒軟體)的ID卡因為它可以打開金庫的大門。至於銀行出納員(瀏覽器)的ID卡你根本不會去考慮,因為你知道即使偷了也沒有什麼卵用。


就像黑客帝國里的史密斯啊!


百度殺毒教你做人


為什麼政府比企業更容易犯錯誤?


當然是因為反病毒軟體許可權大啊


先問是不是。再問為什麼


就憑一篇新聞就得出殺軟漏洞更容易獲得,那麼Windows算什麼?報道出來的apt攻擊有幾個是利用殺軟漏洞的?


謝不邀。要解答這個問題,我們首先要通過殺毒軟體運行原理來解析這個問題:
1.殺毒軟體一旦運行,就會以系統特權級別來監控程序運行,在利用殺毒軟體漏洞時就會更容易獲取許可權「0」,也就是Administrator(管理員)許可權,所以說會省去攻擊者不少擴大漏洞的時間,這樣一來,攻擊者便首先選擇殺毒軟體來掃描漏洞(雖然利用殺軟漏洞攻擊還是佔少數)。
2.現在的殺毒軟體多數具有自動更新功能(比如中國某款軟體),這就給了一個攻擊者一個可乘之機,他們通常會選擇一個連接網路的程序作為一個「橋」進行系統入侵。
3.殺毒軟體默認設置是隨電腦啟動而啟動,在網路上運行時間比其他程序更長,這也增加了它被掃描到的幾率(尤其是某款殺軟自帶的開機小(xiong)助(hai)手(zi))。
未完待續(其實是我困了......)


關鍵在於殺毒軟體的許可權比較高,殺毒軟體的很多行為都是需要高許可權的。我們把系統比作重地,那麼殺毒軟體就和士兵一樣了。那麼士兵保衛重地的前提是進入陣地。那麼殺毒軟體保衛系統的前提是進入系統,這樣殺毒軟體就有相當高的許可權了。由於任何軟體都是有漏洞的,就好像人都有弱點一樣。如果這些軟體漏洞被利用,就好比士兵變成了間諜。堡壘最容易從內部攻破。如果你的殺毒軟體被利用了,那麼你的系統就會從內部崩潰。
我們再來說說瀏覽器。瀏覽器好比一個信息窗口,在重地里好比一根電報線,就算電報線被佔領,他也還要過士兵這一關。
綜上所述,其實不是說反病毒軟體的漏洞更大,只是黑客意識到了攻破殺毒軟體的性價比更高,所以瘋狂的尋找漏洞,導致你認為殺毒軟體更容易被攻破並加以利用而已。
(作為小白一枚,歡迎各位指出我的錯誤,天鏨不勝感激。)


所謂燈下黑,就是說這個吧。但是論點貌似有錯,殺毒廠商還是最不易被攻破的,因為一切都起源於做事的人,殺毒廠商自然有著大批的安全人才,不過是偶爾被鑽了空子吧


一場足球賽,懂得利用對手教練缺點的球隊一定比懂得利用對手球員缺點更容易贏。


全民裸奔,然後發個文章windows系統比瀏覽器更容易獲得漏洞。


殺毒軟體對於自身總是給予各種特權和免監控。如其他軟體報卡巴有病毒,用戶也一般當作病毒庫的誤報,為避免這樣的誤報,殺毒軟體一般給其他殺毒軟體的主文件和病毒庫白名單待遇。

攻破殺毒軟體好比你家保安叛變了。。。


你看看,你能結束它的相關進程不。


我就陳述幾個事實
1.如果沒有病毒和木馬,大部分殺毒軟體公司都會破產。
2.編寫木馬和病毒的難度比很多實用軟體高,而且木馬和病毒難以直接創造利潤。
3.編寫的病毒和木馬造成嚴重破壞會被法律制裁,沒有足夠的利益傻子才去寫這類程序。
4.特洛伊是一個經典策略。


因為反殺毒軟體有很高的許可權能訪問配置文件,獲取隱私。也能很容易的調用系統函數。


大家同一個鍋里吃飯的嘛。相互喂招餵了這麼多年,還不是互相知根知底。

我也就是抖個激靈。


推薦閱讀:

Instagram 為何不使用下拉更新而用按鈕更新?
哪個 App 整體都挺好,但卻因為一個小細節讓你特別討厭?
是否geek精神妨礙了編碼?

TAG:網路安全 | 卡巴斯基Kaspersky | 軟體設計 | 漏洞 | 反病毒軟體 |