TMT观察网_独特视角观察TMT行业

曲速未來(lái) 披露:由macOS NFS客戶端中的緩沖區(qū)溢出引起的內(nèi)核RCE區(qū)塊鏈

曲速未來(lái)安全區(qū) 2018-11-01 10:32
分享到:
導(dǎo)讀

曲速未來(lái):為Apple的macos操作系統(tǒng)內(nèi)核編寫(xiě)的自定義QL查詢發(fā)現(xiàn)了多個(gè)堆棧和堆緩沖區(qū)溢出,這些溢出可通過(guò)連接到惡意NFS文件服務(wù)器來(lái)觸發(fā)。

區(qū)塊鏈安全咨詢公司 曲速未來(lái) 消息:有安全人員在Apple的macOS操作系統(tǒng)內(nèi)核中發(fā)現(xiàn)的幾個(gè)堆棧和堆緩沖區(qū)溢出。Apple將這些漏洞歸類為內(nèi)核中的遠(yuǎn)程代碼執(zhí)行漏洞,因此它們非常嚴(yán)重。攻擊者可能會(huì)利用它們遠(yuǎn)程入侵Mac。或者,通過(guò)物理訪問(wèn)計(jì)算機(jī),攻擊者可以作為訪客用戶登錄(無(wú)需密碼),然后使用這些漏洞提升其權(quán)限并控制計(jì)算機(jī)。

這些漏洞存在于客戶端NFS實(shí)現(xiàn)中,用于將網(wǎng)絡(luò)驅(qū)動(dòng)器(如NAS)安裝到Mac的文件系統(tǒng)中。

嚴(yán)重程度和緩解

這些漏洞已在Android版本10.13.6中得到修復(fù),Apple于2018年7月9日發(fā)布了該版本。Apple要求安全人員不要透露漏洞,直到另行通知為止。這就是他們所說(shuō)的:

NFS被廣泛使用,特別是在大型企業(yè)中,它用于共享驅(qū)動(dòng)器和聯(lián)網(wǎng)的主目錄。但它也用于家庭NAS設(shè)備,通常用作媒體服務(wù)器。在macOS中,安裝NFS共享不需要特殊權(quán)限,因此任何用戶都可以觸發(fā)漏洞,甚至是訪客帳戶(不需要密碼)。此外,許多計(jì)算機(jī)(尤其是企業(yè)環(huán)境中的計(jì)算機(jī))配置為在啟動(dòng)時(shí)自動(dòng)掛載NFS共享。這意味著這些漏洞至少有兩個(gè)攻擊媒介:

  1. 這些漏洞可能被用于在使用NFS文件管理器的公司中快速傳播病毒。要做到這一點(diǎn),攻擊者需要在文件管理器上安裝惡意版本的NFS服務(wù)器軟件,或者找到一種方法將惡意文件管理器放在網(wǎng)絡(luò)上并開(kāi)始攔截某些NFS流量。

  2. 這些漏洞可用于獲取升級(jí)的權(quán)限。例如,有人可能以guest用戶身份登錄,然后發(fā)出單行命令連接到惡意NFS服務(wù)器(可能是Internet上的任何位置),并在計(jì)算機(jī)上獲得內(nèi)核級(jí)訪問(wèn)權(quán)限。

Apple分配了五個(gè)CVE,因?yàn)榇a包含多個(gè)類似的錯(cuò)誤:CVE-2018-4259,CVE-2018-4286,CVE-2018-4287,CVE-2018-4288和CVE-2018-4291。為避免意外泄露任何可能未修復(fù)的錯(cuò)誤,所以只寫(xiě)關(guān)于Apple工作概念驗(yàn)證漏洞的兩個(gè)漏洞。

概念驗(yàn)證漏洞利用

安全人員編寫(xiě)了一個(gè)概念驗(yàn)證漏洞,它用0覆蓋4096字節(jié)的堆內(nèi)存并導(dǎo)致內(nèi)核崩潰。還可以改變利用率來(lái)發(fā)送盡可能多的數(shù)據(jù)。任何大于128字節(jié)的數(shù)字都會(huì)觸發(fā)堆緩沖區(qū)溢出。也完全控制了寫(xiě)入的字節(jié)值。因此,盡管PoC只破壞了內(nèi)核,但可以合理地假設(shè)可以使用這些緩沖區(qū)溢出來(lái)實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行和本地權(quán)限提升。

漏洞

安全人員編寫(xiě)PoC的兩個(gè)漏洞是在這個(gè)看似無(wú)害的代碼行中(nfs_vfsops.c:4151):

這行代碼的目的是fh從nmrepNFS服務(wù)器發(fā)送回Mac的回復(fù)消息()中讀取文件句柄()。文件句柄是NFS共享上的文件或目錄的不透明標(biāo)識(shí)符。NFSv3中的文件句柄最多為64個(gè)字節(jié),NFSv4中的文件句柄最多為128個(gè)字節(jié)(搜索FHSIZE)。fhandle_tXNU中的類型有足夠的空間容納128字節(jié)的文件句柄,但是他們忘記檢查nfsm_chain_get_fh宏中的緩沖區(qū)溢出:

由于宏的大量使用,這段代碼很難遵循,但它的作用實(shí)際上非常簡(jiǎn)單:它從消息中讀取一個(gè)32位無(wú)符號(hào)整數(shù)(FHP)->fh_len,然后直接從消息中讀取該字節(jié)數(shù)(FHP)->fh_data。沒(méi)有邊界檢查,因此攻擊者可以使用他們選擇的任何字節(jié)序列覆蓋任意數(shù)量的內(nèi)核堆。被覆蓋的文件句柄的內(nèi)存在nfs_socket.c:1401中分配。

安全人員寫(xiě)的PoC for的第二個(gè)錯(cuò)誤是nfsm_chain_get_opaque宏中的整數(shù)溢出:

此代碼使用nfsm_rndup宏圓LEN高達(dá)4的倍數(shù),但它使用的原始值LEN的調(diào)用bcopy。如果值LEN是0xFFFFFFFF然后加入在nfsm_rndup將溢出和的值rndlen將是0。這意味著與比較(NMC)->nmc_left會(huì)成功,bcopy將與被調(diào)用0xFFFFFFFF作為大小參數(shù)。這當(dāng)然會(huì)導(dǎo)致內(nèi)核崩潰,因此它只能用作拒絕服務(wù)攻擊。

使用QL查找錯(cuò)誤

QL的一大優(yōu)勢(shì)是能夠找到已知錯(cuò)誤的變種。今年早些時(shí)候,就有安全人員在Apple的NFS無(wú)盤(pán)啟動(dòng)實(shí)現(xiàn)中發(fā)現(xiàn)了兩個(gè)漏洞,CVE-2018-4136和CVE-2018-4160。該查詢旨在查找bcopy可能具有用戶控制的大小參數(shù)的調(diào)用,該參數(shù)可能為負(fù)。一個(gè)簡(jiǎn)單的變化是查找bcopy用戶控制源緩沖區(qū)的調(diào)用。這樣的調(diào)用可能很有趣,因?yàn)樗鼈儗⒂脩艨刂频臄?shù)據(jù)復(fù)制到內(nèi)核空間中。

上面的查詢相當(dāng)簡(jiǎn)單,因?yàn)樗檎覍?duì)bcopy從mbuf內(nèi)核空間復(fù)制數(shù)據(jù)的任何調(diào)用。只要正確檢查size參數(shù)的邊界,這樣的調(diào)用就沒(méi)有錯(cuò)。然而事實(shí)證明,很大一部分結(jié)果是nfsm_chain_get_fh宏的使用,它不進(jìn)行任何邊界檢查。因此,盡管此查詢很簡(jiǎn)單,但它發(fā)現(xiàn)了許多重要的安全漏洞。在其當(dāng)前形式中,即使修復(fù)了錯(cuò)誤,查詢?nèi)詫⒗^續(xù)報(bào)告相同的結(jié)果。最好改進(jìn)查詢,以便在有適當(dāng)?shù)倪吔鐧z查時(shí)不會(huì)報(bào)告結(jié)果。

實(shí)現(xiàn)邊界檢查的常用方法是這樣的:

還寫(xiě)了這個(gè)謂詞來(lái)檢測(cè)上面的模式:

它使用Guards庫(kù)來(lái)查找在受控制的控制流位置中使用的大小表達(dá)式guard。然后它使用globalValueNumber庫(kù)來(lái)檢查條件本身是否出現(xiàn)相同大小的表達(dá)式。該GlobalValueNumbering庫(kù)使謂詞能夠檢測(cè)非平凡大小表達(dá)式的相等性,如下所示:

最后,它使用一個(gè)名為的實(shí)用程序relOpWithSwapAndNegate來(lái)檢查size表達(dá)式是否小于限制。它使謂詞也能處理這樣的場(chǎng)景:

有時(shí)實(shí)現(xiàn)邊界檢查的另一種方式是通過(guò)調(diào)用min,如此謂詞所檢測(cè)到的:

然后將這兩個(gè)謂詞組合如下:

請(qǐng)注意,習(xí)慣lowerBound確保不存在負(fù)整數(shù)溢出的可能性。唯一剩下要做的就是checkedSize在isSink方法中使用,以減少誤報(bào)的數(shù)量。這是完成的查詢:

總結(jié)

區(qū)塊鏈安全咨詢公司 曲速未來(lái) 表示:與大多數(shù)其他開(kāi)源項(xiàng)目不同,XNU無(wú)法在LGTM上查詢。這是因?yàn)長(zhǎng)GTM使用Linux工作程序來(lái)構(gòu)建項(xiàng)目,但XNU只能在Mac上構(gòu)建。即使在Mac上,XNU也非常容易構(gòu)建。

本文內(nèi)容由 曲速未來(lái) (WarpFuture.com) 安全咨詢公司整理編譯,轉(zhuǎn)載請(qǐng)注明。 曲速未來(lái)提供包括主鏈安全、交易所安全、交易所錢(qián)包安全、DAPP開(kāi)發(fā)安全、智能合約開(kāi)發(fā)安全等相關(guān)區(qū)塊鏈安全咨詢服務(wù)。

使用 漏洞 安全 NFS 內(nèi)核
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來(lái)源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來(lái)源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為T(mén)MT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。


主站蜘蛛池模板: 广州网站建设_小程序开发_番禺网站建设_佛山网站建设_粤联网络 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 博客-悦享汽车品质生活 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 办公室装修_上海办公室设计装修_时尚办公新主张-后街印象 | 化工ERP软件_化工新材料ERP系统_化工新材料MES软件_MES系统-广东顺景软件科技有限公司 | 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 上海瑶恒实业有限公司|消防泵泵|离心泵|官网 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 自动化改造_智虎机器人_灌装机_贴标机-上海圣起包装机械 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 全自动变压器变比组别测试仪-手持式直流电阻测试仪-上海来扬电气 | 杜甫仪器官网|实验室平行反应器|升降水浴锅|台式低温循环泵 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | 浙江宝泉阀门有限公司| 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 济南冷库安装-山东冷库设计|建造|冷库维修-山东齐雪制冷设备有限公司 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 液氮罐(生物液氮罐)百科-无锡爱思科 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 中宏网-今日新闻-财经新闻 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 大数据营销公司_舆情监测软件_上海SEO公司-文军营销官网 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 |