查看: 7592|回复: 36
收起左侧

[讨论] 浏览器沙箱与系统级沙箱有什么具体分别呢?

  [复制链接]
zhq445078388
发表于 2012-7-31 18:52:45 | 显示全部楼层 |阅读模式
本帖最后由 zhq445078388 于 2012-7-31 19:13 编辑

我看到很多浏览器 都带有浏览器沙箱
但是许多沙箱并未加驱而是在浏览器进程内进行Hook

可是其他程序的沙箱均为加驱后的访问/创建重定

那么 这两种沙箱 在实际应用中 有什么分别呢?

我的意思是 仅仅是从该浏览器来看 函数内部实现的沙箱重定 与内核hook达到的访问/创建 重定 有什么实际上的分别呢?

同理 函数内实现行为判断 与加驱在内核进行行为判断 究竟有什么分别呢?

如果没有分别 那么加驱是为什么呢 ?

如果有分别  哪种更优秀呢?


我自己尝试写了一个处理机制 在功能实现函数内部 将参数传递给行为判定函数 由行为判断函数判断是否该执行 认为不该执行就拒绝

然后加载驱动程序HOOK相关函数进行比较

发现...自己在r3实现行为判断机制 似乎比在内核实现更难?
但是在自己函数内的实现 似乎更稳定啊?
并且感觉更不容易被探查出来

贴上一段简单的实现函数

int myset(char* setpath,int setLv)
{
if(setlv==3)
  {
       backint = mysetsafecall(setpath);
//沙箱函数 该函数判断该请求是否该进入沙箱
//如果该进入 就将setpath修改为自己的重定目录 并返回2
//如果不需要进入沙箱 返回1
//如果不该被执行就返回3

      if(backint==1)
      {
      return(yesmyset(setpath)) //实现函数
      }

else if(backint == 2)
      {
      return(true);
      }

else if(back == 3)
     {
      return(3);//函数执行失败就返回3
     }

  }

}


这里说明下 setlv是一个设置级别 如果等于3  就是直接对文件进行操控 也就是系统操控函数
他属于封装函数 他真正是调用yesmyset函数实现对文件的操控 在调用yesmyset前 会调用mysetsafecall这个沙箱函数来判定
如果根据沙箱函数的处理结果来确定结果
这里 当mysetsafecall返回2的时候 就是说明该请求被重定向到一个自己的文件夹中 也就是虚拟环境

评分

参与人数 1人气 +1 收起 理由
挥泪斩情思 + 1 好吧,果断看不懂

查看全部评分

z13667152750
发表于 2012-7-31 18:53:33 | 显示全部楼层
浏览器内的沙箱是自己限制内部权限吧,和重定向没什么关系,和系统也没什么关系
zhq445078388
 楼主| 发表于 2012-7-31 18:54:58 | 显示全部楼层
z13667152750 发表于 2012-7-31 18:53
浏览器内的沙箱是自己限制内部权限吧,和重定向没什么关系,和系统也没什么关系

我的实现方式是在实现函数内将访问与创建修改等动作重定到我特定的目录与虚拟的注册表去~

难道其他浏览器不是这么做的...看来我跑偏了
z13667152750
发表于 2012-7-31 18:57:28 | 显示全部楼层
zhq445078388 发表于 2012-7-31 18:54
我的实现方式是在实现函数内将访问与创建修改等动作重定到我特定的目录与虚拟的注册表去~

难道其 ...

chrome是直接限制进程间交换信息,严格控制各不同进程的权限,浏览器直接block非法请求就可以了,为什么要重定向那么麻烦

我只知道大概的。。。
prawnliu
发表于 2012-7-31 19:00:03 | 显示全部楼层
系统沙箱是针对系统内任意程序的。
系统内的程序有可能加驱,所以系统沙箱要尽量做的比一般程序更底层才能起到隔离的作用

而浏览器沙箱只是针对浏览器内页面内容的。页面内容只是一行一行的代码,从获取页面一直到解析和渲染,都是浏览器在做。
换句话说,页面的恶意代码并不是自己主动去运行的,而是被浏览器调用之后借浏览器之手去运行
所以浏览器的沙箱只要封住自己即可~
浏览器本身不加驱(猎豹那个BT的玩意另说),又是主动提供接口交给沙箱去监控,那么浏览器沙县当然也就不需要什么加驱了

评分

参与人数 1人气 +1 收起 理由
钢铁侠 + 1 感谢解答: )

查看全部评分

zhq445078388
 楼主| 发表于 2012-7-31 19:03:29 | 显示全部楼层
prawnliu 发表于 2012-7-31 19:00
系统沙箱是针对系统内任意程序的。
系统内的程序有可能加驱,所以系统沙箱要尽量做的比一般程序更底层才能 ...

那么 系统级沙箱与浏览器的进程级沙箱在浏览器内看来并无分别了?
z13667152750
发表于 2012-7-31 19:05:21 | 显示全部楼层
zhq445078388 发表于 2012-7-31 19:03
那么 系统级沙箱与浏览器的进程级沙箱在浏览器内看来并无分别了?

浏览器的沙箱可以严格遵循最小权限原则进行设计,但是系统沙箱为了兼容性,规则不可能这么细致

可以参考chrome沙箱:http://www.cnblogs.com/lm3515/archive/2010/12/23/1914798.html
zhq445078388
 楼主| 发表于 2012-7-31 19:06:08 | 显示全部楼层
z13667152750 发表于 2012-7-31 19:05
浏览器的沙箱可以严格遵循最小权限原则进行设计,但是系统沙箱为了兼容性,规则不可能这么细致

可以参 ...

恩恩 谢谢
我先看看这个文章

不过我又蛋疼了..那浏览器加驱是干毛的..= =~!
zhq445078388
 楼主| 发表于 2012-7-31 19:08:09 | 显示全部楼层
prawnliu 发表于 2012-7-31 19:00
系统沙箱是针对系统内任意程序的。
系统内的程序有可能加驱,所以系统沙箱要尽量做的比一般程序更底层才能 ...

贴上了部分实现代码~ 你瞄一眼
这种方式我感觉比驱动实现更稳定安全啊~

流星小语
发表于 2012-7-31 19:08:36 | 显示全部楼层
功能限制问题,浏览器的限制多
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-18 11:10 , Processed in 0.130278 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表