什麼是 Dirty COW 漏洞
什麼是 Dirty COW 漏洞?
Dirty COW(分配為 CVE-2016-5195)是某些版本的 Linux 核心中的許可權提升漏洞,會影響執行早於 2018 的 Linux 核心版本的 Linux 和 Android 系統。
透過利用 Dirty COW 漏洞,攻擊者可以獲得對其他只讀記憶體對映的寫入訪問許可權。這使他們能夠提高他們在系統中的帳戶特權,例如,透過覆蓋/etc/passwd中的使用者UID或修改現有的setuid檔案以包含提高特權的指令。
“Dirty COW”漏洞於2016年10月披露,自2007年以來一直潛伏在流行的作業系統核心程式碼中。在披露時,這個漏洞影響了大多數Linux發行版和核心版本。受影響的分配包括:
-
CentOS Linux 7.x
-
CentOS Linux 6.x
-
CentOS Linux 5.x
-
Debian Linux wheezy
-
Debian Linux jessie
-
Debian Linux stretch
-
Debian Linux sid
-
Ubuntu Linux precise (LTS 12.04)
-
Ubuntu Linux trusty
-
Ubuntu Linux xenial (LTS 16.04)
-
Ubuntu Linux yakkety
-
Ubuntu Linux vivid/ubuntu-core
-
Red Hat Enterprise Linux 7.x
-
Red Hat Enterprise Linux 6.x
-
Red Hat Enterprise Linux 5.x
-
SUSE Linux Enterprise 11
-
SUSE Linux Enterprise 12
Dirty COW是社群採用的特權升級漏洞之一,它的名字來源於它所利用的核心特性——寫時複製(COW)。
自2.6.22版本(2007年9月釋出)以來,這個漏洞一直困擾著Linux核心,但在4.8.3、4.7.9、4.4.26和更新的Linux核心版本中已經打了補丁。也就是說,有充分的證據表明,網路攻擊者在野外利用髒牛來接管未打補丁的伺服器,儘管該漏洞的執行本身不會在web伺服器日誌中留下任何痕跡。它也是Android惡意軟體的一個組成部分。
Dirty COW 漏洞的工作原理
Dirty COW漏洞利用是一種競爭條件漏洞利用。在這種情況下,攻擊者利用核心在執行時獲得的root許可權,並建立了競爭條件,使特權從低階使用者升級到具有完全 root許可權的使用者。
什麼是競爭條件?
當一個正在執行的軟體程式遇到多個併發執行的程式碼路徑時,它會“混淆”軟體,並在程式碼路徑之間產生“競爭”,導致它們以不同於預期的順序結束,從而導致錯誤和意外的應用程式行為。
在利用Dirty COW的情況下,競爭發生在兩個操作之間:一個操作寫入COW記憶體對映,另一個操作不斷地處理它們。當這些操作不停地重複時,核心可能會將資料寫入只讀記憶體對映,而不是首先建立資料的私有副本。或者,目標系統將崩潰。
如何防止Dirty COW漏洞利用攻擊
1. 透過機密洩露防止程式碼執行
為了防範 CVE-2016-5195 漏洞(又名 Dirty COW),控制伺服器訪問和許可權至關重要。此漏洞利用要求攻擊者能夠在系統上編寫和執行程式碼。
確保適當的訪問控制和憑據到位是一項關鍵的防禦措施。機密蔓延等問題(即密碼、API 金鑰和憑據等敏感資訊在系統中不受控制地分發和暴露)可能是 Dirty COW 漏洞發生的門戶。
確保適當的訪問控制和憑證到位是關鍵的防禦措施。在整個系統中不受控制地分發和暴露密碼、API金鑰和憑據等敏感資訊可能導致攻擊發生。
2. 掃描 IaC 和容器
為了保護容器化應用程式免受Dirty COW攻擊,定期掃描基礎設施即程式碼(IaC)和容器很重要。Dirty COW甚至可以修改容器內的只讀資料。可以透過檢查CI/CD安全管道中的核心版本來自動化此過程。
3. 自動化核心修補
自動化核心修補是響應 Dirty COW 等漏洞的關鍵。最初,一旦有可用的修復程式,就必須手動修補受影響的系統。但是,手動修補可能重複且耗時。更好的方法是自動實時修補。許多 Linux 發行版為其企業客戶提供此服務。
自動化核心補丁是響應Dirty COW等漏洞的關鍵。及時進行打補丁來修復受影響的系統可以很大程度降低漏洞被利用的風險。
參讀連結:
https://spectralops.io/blog/what-is-the-dirty-cow-exploit-and-how-to-prevent-it/
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70000012/viewspace-3012211/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是通用漏洞披露 (CVE)?
- 什麼是智慧合約漏洞?
- 什麼是檔案包含漏洞?會造成什麼危害?
- 什麼是漏洞掃描?漏洞掃描功能有哪些?
- 零日漏洞是什麼?如何防範零日漏洞?
- 什麼是RCE漏洞?會造成哪些危害?
- 零日漏洞是什麼意思?如何抵禦零日漏洞?
- 什麼是檔案包含漏洞?檔案包含漏洞分類!
- Linux 核心最新高危提權漏洞:髒管道 (Dirty Pipe)Linux
- 零日漏洞是什麼?該如何防範?
- 什麼是遠端程式碼執行漏洞?
- 【知識分享】安全漏洞掃描是什麼有什麼功能
- 0day漏洞是什麼以及如何進行防禦
- 什麼是漏洞挖掘?其流程分為幾個步驟?
- 什麼是DNS,什麼是HostsDNS
- 這是什麼這是什麼
- 什麼是分而治之?什麼是WBS?
- 什麼是WebAuthn、FIDO 是什麼?Web
- 什麼是cookie,什麼是sessionCookieSession
- ###什麼是Linux核心###什麼是MMULinux
- ITIL是什麼意思?ITIL是什麼?
- SNP全稱是什麼? SNP是什麼公司? SNP是什麼意思?
- 什麼是0day漏洞?如何預防0day攻擊?
- 如何檢測網站的安全漏洞?常見方法是什麼?網站
- 人是什麼?人生是什麼?人為什麼會變?
- 什麼是正向代理?什麼是反向代理?
- NLA是什麼?NLA的原理是什麼?
- ftp是什麼,ftp是什麼東西?FTP
- Java是什麼_Java是做什麼的?Java
- 什麼是this
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 【網路安全】什麼是檔案上傳漏洞?預防方法有哪些?
- 什麼是API介面,具體是什麼意思?API
- IDFA、IMEI、OAID 是什麼,區別是什麼AI
- DRBD是什麼意思?優缺點是什麼?
- 什麼是SSRF攻擊?SSRF用途是什麼?
- GNU是什麼?和Linux是什麼關係?Linux
- 什麼是塊元素?什麼是行內元素?