SandBox 系列 01 Windows 沙盒通用框架

SandBox系列 01 Windows沙盒通用框架

殛毙 (某无业游平易近) | 2014-12-09 10:31

0×00 配景

跟瞌睡儿龙商酌后决意把这个系列重新最先写,尽量深刻易懂,第一篇只对一些概念做复杂引见。

中国菜刀下载

近几年来,知名阅读器厂商似乎取得了一致个认知,骇客的淫荡是没有界限的。似乎他们采用的ASLR等的进攻手腕老是被骇客绕过,于是最先去寻觅一个安全界限,去界说弗成信数据,显然现在的结果是,网页,插件这些由未知起原取得的数据与出现的代码被界说为弗成信数据。

当确定了弗成信数据,(人人就可以做个盒子把他丢出来了 ),我们需求限制弗成信数据的时辰同时还要为操作这些数据的历程供应一组受限的API(当然也可以不供应,你得先让产物司理担保不打死你),而且全体的设计可以相符最小权限的准绳。

那么我们就可以得出,一个沙盒的根基任务就是将措置责罚弗成信数据的历程 放进一个关闭的相符最小权限状况,当需求与系统停止交互时,只能经由进程供应一组收到权限限制的API。

0×01 Windows安全框架

现在的阅读器沙盒都是基于windows的底层安全框架,07年的时辰微软牛David LeBlanc,发布了一系列文章,关于若何竖立安全的windows沙盒。最后总结就是四个,而且各家阅读器都以分歧体式格式基于以下四个完成了自家的沙盒。

1. 受限令牌(Restricted Access Tokens)

2. Windows job object

3. Windows desktop object

4. integrity levels(强迫完整性搜检)

1. Restricted Access Tokens

什么是受限令牌,先说access token ,这是一个描绘历程的安全属性的对象,好比历程所拥有的权限,上岸会话的安全信息等。

那Restricted Access Tokens呢,从Restricted(受限)我们就可以发觉到一些,这是一种竖立在access tokens上的,然则制止了它关于一些特殊资本以及对象的接见。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa379316(v=vs.85).aspx

2. Windows job object

对linux 能够邃晓 ulimit ,Job object是很相反的器械,不外由于系统的差别有一些分歧。Job object是一个用于管理一组历程的器械。一旦你竖立一个job对象,就可以对其停止设置装备摆设,对历程停止限制。(需求留意的是,貌似微软自家的沙盒不用job object,固然他们对谷歌说很好用。。。。。。。)

深刻来说,就是限制历程的一种体式格式。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684161(v=vs.85).aspx

3. Windows desktop object

这个某种意义上碉堡了,其焦点意义是,沙盒法式应该运转在一个零丁的Desktop中,就是桌面,其要挟假定就是,一致个桌面上运转的历程能够相互风险。不外各个厂商实施的体式格式分歧。

4. integrity levels (强迫完整性节制)

就是说会对 央求的对象 经由进程DACL停止一次评价,就是看你权限够了没的意思。

IL (Integrity Labels) 指定法式的完整性品级,由一系列SID来带代表,SID贮存在SACL中。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>