Internet Develppment
      互聯(lián)網(wǎng)開(kāi)發(fā)& 推廣服務(wù)提供商

      我們擅長(zhǎng)商業(yè)策略與用戶體驗(yàn)的完美結(jié)合。

      歡迎瀏覽我們的案例。

      首頁(yè) > 新聞中心 > 新聞動(dòng)態(tài) > 正文

      谷歌開(kāi)源了一個(gè)項(xiàng)目 可為C/C++ 庫(kù)創(chuàng)建安全策略

      發(fā)布時(shí)間:2019-03-20 15:18:27來(lái)源:cnBeta

        近日,谷歌開(kāi)源了 Sandboxed API(沙箱式 API)。該項(xiàng)目用于在 Linux 系統(tǒng)上運(yùn)行的 C/C++ 庫(kù),是谷歌公司內(nèi)部多年來(lái)一直在數(shù)據(jù)中心使用的工具,可以幫助開(kāi)發(fā)人員免受惡意用戶的輸入和漏洞利用。

        沙箱是什么?

        許多軟件項(xiàng)目需要處理到外部數(shù)據(jù),在安全方面會(huì)顯得有些不足。當(dāng)解析外部數(shù)據(jù)的軟件庫(kù)足夠復(fù)雜時(shí),軟件會(huì)存在著嚴(yán)重的安全隱患,容易成為安全漏洞的受害者,從而遭遇內(nèi)存損壞或是像路徑遍歷的邏輯解析問(wèn)題。

        一般的做法是將軟件隔離,這個(gè)過(guò)程就是“沙箱”。通過(guò)“沙箱”,開(kāi)發(fā)人員可以確保在解析用戶生成內(nèi)容涉及的代碼時(shí),只訪問(wèn)必要的資源(文件、網(wǎng)絡(luò)連接和其他操作系統(tǒng)資源)。最壞的情況下,當(dāng)潛在的攻擊者取得軟件項(xiàng)目范圍內(nèi)的遠(yuǎn)程代碼執(zhí)行權(quán)限時(shí),沙盒技術(shù)可以將這些部分包含,從而保護(hù)其余的軟件基礎(chǔ)結(jié)構(gòu)。

        沙盒技術(shù)必須具有很強(qiáng)的抵御攻擊能力,從而充分保護(hù)操作系統(tǒng)的其余部分。同時(shí)沙箱必須足夠易于使用,以供軟件開(kāi)發(fā)人員使用。為了幫助完成這項(xiàng)任務(wù),谷歌開(kāi)源了 Sandboxed API,一個(gè)經(jīng)過(guò)實(shí)戰(zhàn)考驗(yàn)的項(xiàng)目,可以為各個(gè)軟件庫(kù)創(chuàng)建安全策略。

        Sandboxed API 用于訪問(wèn)沙盒庫(kù)中的各個(gè)軟件功能,也因此谷歌還公開(kāi)了核心沙盒項(xiàng)目 Sandbox2。Sandbox2 現(xiàn)在是 Sandboxed API 的一部分,提供了底層的沙盒原型。它也可以單獨(dú)用于隔離任意 Linux 進(jìn)程,可以視為更低級(jí)的 API。

        Sandboxed API 怎么工作?

        Sandboxed API 目前是針對(duì)用 C 語(yǔ)言編寫(xiě)的軟件庫(kù)實(shí)現(xiàn)的,未來(lái)可能增加更多編程語(yǔ)言的支持。

        從高層次的角度看,Sandboxed API 將要加入沙箱的庫(kù)和其調(diào)用者分成兩個(gè)獨(dú)立的操作系統(tǒng)進(jìn)程:主機(jī)二進(jìn)制文件和沙箱。具體的工作流程是:實(shí)際的庫(kù)調(diào)用由主機(jī)端的 API 對(duì)象進(jìn)行編組,通過(guò)進(jìn)程間的通信發(fā)送到沙箱,沙箱的 RPC stub 會(huì)進(jìn)行解組,并將調(diào)用轉(zhuǎn)發(fā)到原始庫(kù)。

        其中,API 對(duì)象(即圖中的 SAPI 對(duì)象)和 RPC stub 都由項(xiàng)目提供,前者由接口生成器自動(dòng)生成。用戶只需提供沙盒策略、允許底層庫(kù)進(jìn)行的一組系統(tǒng)調(diào)用,以及允許訪問(wèn)和使用的資源。這些準(zhǔn)備好了之后,基于沙盒 API 的庫(kù)就可以輕松地在其他項(xiàng)目中重用了。

        生成的 SAPI 對(duì)象的 API 類似于原始庫(kù)的 API,不過(guò)會(huì)有額外的代碼出現(xiàn)。這些代碼用來(lái)設(shè)置沙箱,以及將內(nèi)存?zhèn)魅牒蛡鞒錾诚洹5酥猓a流保持不變。

        未來(lái)計(jì)劃

        Sandboxed API 和 Sandbox2 已經(jīng)被谷歌的許多團(tuán)隊(duì)使用。雖然該項(xiàng)目已經(jīng)成熟,但除了維護(hù)之外,谷歌也做了一些未來(lái)的計(jì)劃:

        支持更多的操作系統(tǒng):目前只支持 Linux。開(kāi)發(fā)團(tuán)隊(duì)將研究如何將 Sandboxed API 引入類 Unix 系統(tǒng),如 BSD(FreeBSD,OpenBSD) 和 macOS。Windows 端是一項(xiàng)更難的任務(wù),還需要更多的基礎(chǔ)工作才能實(shí)現(xiàn)。

        新的沙盒技術(shù):隨著硬件虛擬化技術(shù)的流行,用沙盒將代碼限制在虛擬機(jī)中有了實(shí)現(xiàn)的可能性。

        系統(tǒng)構(gòu)建:目前是使用 Bazel 構(gòu)建項(xiàng)目,這其中包括依賴項(xiàng)。但這不是每個(gè)人都想要的使用方式,因此 CMake 支持有著很高的任務(wù)優(yōu)先級(jí)。

        Sandboxed API 的傳播:使用 Sandboxed API 來(lái)保護(hù)開(kāi)源項(xiàng)目,有機(jī)會(huì)參與補(bǔ)丁獎(jiǎng)勵(lì)計(jì)劃。
        (邯鄲網(wǎng)站建設(shè)

      最新資訊
      ? 2018 河北碼上網(wǎng)絡(luò)科技有限公司 版權(quán)所有 冀ICP備18021892號(hào)-1   
      ? 2018 河北碼上科技有限公司 版權(quán)所有.
      主站蜘蛛池模板: 国产一区二区福利| 亚洲欧洲日韩国产一区二区三区| 在线播放一区二区| 国产aⅴ精品一区二区三区久久| 国产一区二区三区91| 波多野结衣一区二区免费视频 | 国产亚洲一区二区三区在线| 国产日韩精品一区二区在线观看播放| 91精品国产一区| 亚洲不卡av不卡一区二区| 国产精品小黄鸭一区二区三区| 欧洲亚洲综合一区二区三区| 精品动漫一区二区无遮挡| 乱子伦一区二区三区| 无码人妻品一区二区三区精99| 国语精品一区二区三区| 国产乱码伦精品一区二区三区麻豆| 日本一区二区三区在线看 | 亚洲av一综合av一区| 日韩人妻无码一区二区三区综合部 | 97精品一区二区视频在线观看| 久久久精品人妻一区亚美研究所| 一区二区三区四区视频在线| 午夜精品一区二区三区在线视 | 国产精品高清一区二区三区不卡| 亚洲一区二区三区四区在线观看| 日韩精品一区二区三区四区| 国产午夜福利精品一区二区三区| 国产在线精品一区二区三区直播| 国产免费一区二区三区不卡| 国产福利精品一区二区| 久久久久人妻一区二区三区vr | 一区二区三区日本视频| 久久久久人妻一区精品| 99精品国产高清一区二区三区| 国产成人无码一区二区三区 | 欲色影视天天一区二区三区色香欲| 国产伦精品一区三区视频| 午夜视频久久久久一区 | 一区二区三区四区视频| 无码av免费毛片一区二区|