runC爆嚴重安全漏洞,主機可被攻擊!使用容器的快打補丁

容器的安全性一直是容器技術的一個短板。關于容器最大的安全隱患是攻擊者可以使用惡意程序感染容器,更嚴重時可以攻擊主機系統。

2月11日,安全研究員Adam Iwaniuk和BorysPop?awski發現了容器運行時runC的一個安全漏洞,這個漏洞可以讓上述情況發生。Aleksa Sarai,SUSE的容器高級軟件工程師同時也是Runc的維護者,紕漏了這個漏洞(CVE-2019-5736)。

漏洞詳情

runC是一個開源命令行工具,用于運行容器,是Docker,Kubernetes等依賴容器的應用程序的底層容器運行時。runC由Docker公司開發,現在已作為OCI規范被廣泛使用。如果你正在使用容器,那么有很大的可能是在runC上運行它們。

此次爆出的漏洞允許惡意容器覆蓋主機上的RunC二進制文件,以在主機上獲取root級別的代碼執行,讓攻擊者能夠以root身份運行任何命令。

攻擊方式是將容器中的目標二進制文件替換為返回的runC二進制文件,攻擊者可以通過附加特權容器(將其連接到終端)或使用惡意鏡像啟動并使其自行執行。

但是Linux內核通常不允許在runC執行過程中主機上的runC二進制文件被覆蓋。

這時候攻擊者可以使用O_PATH標志打開/ proc / self / exe的文件描述符,然后繼續通過/ proc / self / fd / \u0026lt;nr\u0026gt;重新打開二進制文件O_WRONLY并在一個單獨進程中的繁忙loop里嘗試寫入。Sarai解釋說,最終,當runC二進制文件退出時攻擊就成功了。

結果可能會比你想象的還糟。紅帽的容器技術產品經理Scott McCarty警告大家:

runC和Docker中安全漏洞(CVE-2019-5736)的披露說明了許多IT管理員和CxO面臨著糟糕的情況。容器代表向共享系統的轉變,其中來自不同用戶的應用程序都在同一Linux主機上運行。利用此漏洞意,惡意代碼可能會肆意蔓延,不僅影響單個容器,還會影響整個容器主機,最終會破壞主機上運行的成百上千個容器。像這種影響各種互連生產系統的級聯漏洞可能會成為企業IT的世界末日場景…而這正是這個漏洞可能產生的結果。

及時打補丁

除了runC,Sarai在報告還說明了這個漏洞還可能會影響到LXC和Apache Mesos。所以,如果你正在運行任何類型的容器,需要盡快打補丁。Sarai已經push了一個git提交來修復這個漏洞:

https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b

Docker剛剛發布的18.09.2版本也修復了該漏洞。

Linux發行版Debian和Ubuntu正在修復該漏洞。AWS和Google Cloud已發布安全通知,建議客戶更新各種受影響服務的容器。

大多數(如果不是全部)云容器系統都容易受到這種潛在攻擊。 例如,AWS表示,現在已有一個適用于亞馬遜Linux的補丁,但仍在為亞馬遜ECS,EKS和AWS Fargate推出補丁。

McCarty說這不是第一個主要的容器運行時安全漏洞,也不會是最后一個。

就像去年Spectre/Meltdown代表了安全研究從軟件架構向處理器架構轉變一樣,我們應該期待runC這樣的低級別容器運行時和Docker這樣的容器引擎現在也會受到研究人員和潛在惡意行為者的額外關注。

參考鏈接:

https://www.theregister.co.uk/2019/02/11/docker_container_flaw/

https://www.zdnet.com/article/doomsday-docker-security-hole-uncovered/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449483.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449483.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449483.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pandas操作sql數據庫

導包 import pymssql from sqlalchemy import create_engine import pandas as pd 連接數據庫 #讀數據 conn pymssql.connect(server.,user sa,password test,databasepos) sql select * from stock_data df0 pd.read_sql(sql,conn) 寫入數據 df pd.read_csv(option_…

MongoDB Mobile Sync for iOS推出Beta版本

2019年2月11日,MongoDB官方博客發文稱MongoDB Mobile Sync for iOS的Beta版本即將推出。MongoDB Mobile支持使用單一查詢語言進行本地和遠程數據訪問,包含兩個核心部分: MongoDB數據庫的移動優化版本,運行在本地設備上&#xff0c…

gdb好文章:GDB十分鐘教程

(GUI調試器:insight和ddd) list(l) :其作用就是列出程序的源代碼,默認每次顯示10行。 list 行號:將顯示當前文件以“行號”為中心的前后10行代碼,如:list 12 list 行號1,行號2: 將…

機器學習預測+akshare

import pandas as pd import akshare as ak import numpy as np import talib from datetime import datetime, timedelta import time 獲取股票數據 from_date 2010-01-01 from_date datetime.strptime(from_date,"%Y-%m-%d") day_nums 1 current_dt time.st…

[python作業AI畢業設計博客]比Selenium IDE更好用的錄制工具: Katalon Recorder

Selenium IDE(集成開發環境 Integrated Development Environment)是用于構建測試腳本的原型工具。 它是一個Firefox插件,提供了易于使用的界面,用于開發自動化測試。 但是最新的Selenium IDE總是彈出一系列如下的對話框,不能直接錄制&#xf…

CentOS 7 : Docker私有倉庫搭建和使用

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 系統環境: CentOS 7.2 192.168.0.179:docker倉庫 192.168.0.60:客戶端 安裝并啟動docker yum -y…

價值投資/指標選股(akshare)

利用akshare的數據源,可以獲取所有的股票數據以及公開的財務數據,可以進行條件篩選,獲取滿足條件的股票。 這套模板可以用于價值投資,指標選股。選股周期為日線級別。然后結果可以郵箱發送。 import time import akshare as ak #…

gdb常用命令

[rootredhat home]#gdb 調試文件:啟動gdb (gdb) l :(字母l)從第一行開始列出源碼 (gdb) break n :在第n行處設置斷點 (gdb) break func:在函數func()的入口處設置斷點 (gdb) info break: 查看斷點信息 (gdb…

有前途的人工智能大數據分析相關職業:Python數據科學入門之路

2019獨角獸企業重金招聘Python工程師標準>>> 為什么學習Python數據科學? Python是數據科學職業所需的寶貴技能之一。Python是數據科學的首選編程語言。 2016年,它超越了R on Kaggle,這是數據科學競賽的首選平臺。2017年&#xff0…

遍歷Map key-value的兩種方法、遍歷Set方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 第一種遍歷方法 : 先獲取Map中的所有key值&#xff0c;然后根據key&#xff0c;依次從Map中去數據 Map<String,String> test…

STL 容器簡介:C++ 容器:順序性容器、關聯式容器和容器適配器

STL標準容器類簡介 標準容器類說明順序性容器vector從后面快速的插入與刪除&#xff0c;直接訪問任何元素deque從前面或后面快速的插入與刪除&#xff0c;直接訪問任何元素list雙鏈表&#xff0c;從任何地方快速插入與刪除關聯容器set快速查找&#xff0c;不允許重復值multise…

用友云開發者中心助你上云系列之在線調試

現在&#xff0c;大家開始越來越多的談論到高可用架構的互聯網應用。什么是高可用&#xff1f;高可用HA&#xff08;High Availability&#xff09;是分布式系統架構設計中必須考慮的因素之一&#xff0c;它通常是指&#xff0c;通過設計減少系統不能提供服務的時間。當我們談論…

python根據財務指標尋找價值股票

確定股票池 from concurrent.futures import ThreadPoolExecutor import urllib import os from time import sleep import pandas as pd # 上證代碼 shanghaicode [] for i in range(600000, 606000, 1):shanghaicode.append(str(i))# 深證代碼 shenzhencode [] for i in r…

WPF Bitmap轉BitmapSource,Image

//引用&#xff1a;using System.Windows.Interop; //Imagingusing System.Drawing; //Bitmap public static Imaging.BitmapSource ConvertToBitmapSource(Bitmap btmap) { return Imaging.CreateBitmapSourceFromHBitmap(btmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empt…

解決jboss.resteasy.spi.UnhandledException: Response is committed, can‘t handle exception

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff0c;如圖&#xff1a; 我的情況是&#xff1a;項目作壓測&#xff0c;這個接口請求量不大時是OK的 &#xff0c;當達到…

linux下如何做ghost,又簡單又方便,很實用的方法!!!

Linux 做ghost 使用指南。 轉載時請注明本博客地址。 1. 使用unetbootin-windows-585.exe 軟件做 ubuntu 的liveusb &#xff0c;一定是做liveusb&#xff0c;不是liveCD&#xff0c;如果你做的是liveCD&#xff0c;要把做好的文件拷出來&#xff0c;否則&#xff0c;重…

Webpack4: Tree-shaking 深度解析

什么是Tree-shaking 所謂Tree-shaking就是‘搖’的意思&#xff0c;作用是把項目中沒必要的模塊全部抖掉&#xff0c;用于在不同的模塊之間消除無用的代碼&#xff0c;可列為性能優化的范疇。 Tree-shaking早期由rollup實現&#xff0c;后來webpack2也實現了Tree-shaking的功能…

真格量化——GFTD策略

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import numpy as np import math#開始時間,用于初始化一些參數 def OnStart(context) :print "I\m starting..."#設置全局變量g.signalcount = 0 g.signal_list = []g.buysignal = 0 g…

解決org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql ...

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff1a; org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [id]…

Spring WebFlux 響應式編程學習筆記(一)

各位Javaer們&#xff0c;大家都在用SpringMVC吧&#xff1f;當我們不亦樂乎的用著SpringMVC框架的時候&#xff0c;Spring5.x又悄(da)無(zhang)聲(qi)息(gu)的推出了Spring WebFlux。web? 不是已經有SpringMVC這么好用的東西了么&#xff0c;為啥又冒出個WebFlux&#xff1f;…