谷歌开源了一个项目,可为 C/C++ 库创建安全策略
克日,谷歌开源了 Sandboxed API(沙箱式 API)。该项目用于在 Linux 体系上运行的 C/C++ 库,是谷歌公司内部多年来一向在数据中心行使的器材,可以辅佐开拓职员免受恶意用户的输入和裂痕操作。 沙箱是什么?很多软件项目必要处理赏罚到外部数据,在安详方面会显得有些不敷。当理会外部数据的软件库足够伟大时,软件会存在着严峻的安详隐患,轻易成为安详裂痕的受害者,从而遭遇内存破坏或是像路径遍历的逻辑理会题目。 一样平常的做法是将软件断绝,这个进程就是“沙箱”。通过“沙箱”,开拓职员可以确保在理会用户天生内容涉及的代码时,,只会见须要的资源(文件、收集毗连和其他操纵体系资源)。最坏的环境下,当隐藏的进攻者取得软件项目范畴内的长途代码执行权限时,沙盒技能可以将这些部门包括,从而掩护别的的软件基本布局。 沙盒技能必需具有很强的抵制进攻手段,从而充实掩护操纵体系的别的部门。同时沙箱必需足够易于行使,以供软件开拓职员行使。为了辅佐完成这项使命,谷歌开源了 Sandboxed API,一个颠末拭魅战检验的项目,可觉得各个软件库建设安详计策。 Sandboxed API 用于会见沙盒库中的各个软件成果,也因此谷歌还果真了焦点沙盒项目 Sandbox2。Sandbox2 此刻是 Sandboxed API 的一部门,提供了底层的沙盒原型。它也可以单独用于断绝恣意 Linux 历程,可以视为更初级的 API。 Sandboxed API 怎么事变?Sandboxed API 今朝是针对用 C 说话编写的软件库实现的,将来也许增进更多编程说话的支持。 从高条理的角度看,Sandboxed API 将要插手沙箱的库和其挪用者分成两个独立的操纵体系历程:主机二进制文件和沙箱。详细的事变流程是:现实的库挪用由主机端的 API 工具举办编组,通过历程间的通讯发送到沙箱,沙箱的 RPC stub 会举办解组,并将挪用转发到原始库。 个中,API 工具(即图中的 SAPI 工具)和 RPC stub 都由项目提供,前者由接口天生器自动天生。用户只需提供沙盒计策、应承底层库举办的一组体系挪用,以及应承会见和行使的资源。这些筹备好了之后,基于沙盒 API 的库就可以轻松地在其他项目中重用了。 天生的 SAPI 工具的 API 相同于原始库的 API,不外会有特另外代码呈现。这些代码用来配置沙箱,以及将内存传入和传出沙箱。但除此之外,代码流保持稳固。 将来打算Sandboxed API 和 Sandbox2 已经被谷歌的很多团队行使。固然该项目已经成熟,但除了维护之外,谷歌也做了一些将来的打算:
【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |