inf
欢喜的慈雨 UID 11285
精华 1
积分 1759
帖子 1239 狼毛 87 根 阅读权限 40
注册 2006-1-19 状态 离线 |
|
转贴一个比较专业点的资料,其实没经过作者本人同意,因为作者在霏凡的论坛,进不去,呵呵。
=====================================
Sandboxie使用指南+常见问题解答[转贴,By hzqedison]
2007年02月12日 星期一 12:04 P.M.
sandboxie使用指南+常见问题解答
文章首发
剑盟
http://bbs.2dai.com
木蚂蚁
http://bbs.mumayi.net
远景晟地
http://bbs.pcvista.cn
sandboxie分类:
一直不知道这个属于什么类软件,去了老外的论坛,分的很清楚,属于hips软件.这样区分出来.
----hips
----sandbox
----sandboxie
又在老外论坛发现投票类
sandbox 投票是最高的 超过了"主动防御"(图1)
而sandbox类里 又是sandboxie得票最多 (图2)
虽然投票有一个局限性,但是他还是能说明一定的问题.
同时老外写了Proactive Protection: a Panacea for Viruses?(主动防御:对付病毒的灵丹妙药?)
http://www.viruslist.com/en/analysis?pubid=189801874
也同样说明Proactive Protection投票没sandbox高的一些原因吧
Sandboxie有个很好的亮点,有磁盘底层防护,这个意味着可以防killdisk这类恶性病毒,我想具有这个保护的hips好像不多,从国外论坛了解 目前好像只有这几款hips有磁盘底层保护 Neoava Guard/ Prosecurity/SSM 包括最近比较流行的sns gss等都没有这个保护!!
所以决定写下这个sandboxie使用指南+心得吧,软件的说明在2.64好像官方就删除了,还好我那是留了一份,有兴趣的可以附件下载
什么是sandboxie?
------个人认为这个软件 分开理解 你就知道了:sandbox-ie-->在一个沙箱运行ie
可能是作者起初定义只是将ie模块保护起来吧.
随着版本的升级,sandboxie不只是只能运行ie了,提升到了可以运行任何程序.
--->可以看做一个虚拟系统(vm\vpc类)
那如何去理解这个虚拟系统呢?
官方有这样一段话:
Think of your PC as a piece of paper. Every program you run writes on the paper. When you run your browser, it writes on the paper about every site you visited. And any malware you come across will usually try to write itself into the paper.
Traditional privacy and anti-malware software try to locate and erase any writings they think you wouldn't want on the paper. Most of the times they get it right. But first the makers of these solutions must teach the solution what to look for on the paper, and also how to erase it safely.
On the other hand, the Sandboxie sandbox works like a transparency layer placed over the paper. Programs write on the transparency layer and to them it looks like the real paper. When you delete the sandbox, it's like removing the transparency layer, the unchanged, real paper is revealed.
大概的意思是
电脑就像一张纸,程序的运行,会将东西写在纸上.而sandboxie就相当于在纸上放了块玻璃,程序的运行也就是运行在那块玻璃上,但是没有写在纸上.这就是sandboxie一个很形象的比喻.
官方在帮助的界面里,很清晰的给出一张图也很容易理解其的运行原理.
普通的程序运行
(图3)
程序硬盘存储
(图4)
sandboxie中运行程序
程序sandboxie暂时存储硬盘存储
sandboxie暂时存储的地方在哪里?
由于现在是正式版本2.64我就说一下这个版本的路径,其它的版本基本一样
如果你是默认的.他默认路径是%AppData%====>C:\Documents and Settings\用户名\Application Data
这里我只拿默认的路径做一下说明
不管运行任何程序注册表总会有修改(cmd除外)
而用sandboxie可以很好的捕捉到这点.
如何在sandboxie里运行程序?
1)对于exe程序==>可以直接 右键->Run Sandboxied,此时程序运行在sandboxie中了
2)运行其它程序==>打开Sandboxie Control->右键-> Run Sandboxied->(图5)
很清楚的可以看到他的提示运行什么
从上至下 分别是在sandboxie下运行 ie 默认浏览器 email/任何程序 从开始菜单程序运行/ windows安装服务
这里主要对windows安装服务这个项目做点小解释,官方同样有这点的解释
Why would I need to run Windows Installer Service sandboxed?
The Windows Installer service is a component of Microsoft Windows. Some software installation (or setup) packages require this service. The component copies files and makes registry changes on behalf of the program being installed.
Sandboxie does not permit sandboxed programs to use the system Windows Installer. If the sandboxed program needs the service, it will fail and Sandboxie will tell you to start a sandboxed instance of the Windows Installer service.
In this case, use the Sandboxie Control action Run Sandboxed -> Windows Installer Service, to start the sandboxed instance. Then re-run the failed installation.
大概的意思:
windows安装服务是微软的组件.一些软件的安装需要安装服务项.但是sandboxie 如果运行某些软件需要调用系统的安装服务项,将提示需要安装此项.
怎么区别程序是在sandboxie运行还是正常的运行?
如果在sandboxie运行下的程序,在运行的窗口中会有两个[#]*****[#](图6)
如何查看sandboxie里的变化?
我们之前已经知道如何去运行程序.那怎么看文件在sandboxie里面的变化
程序运行中(动态的变化)->
说明此时的图标成
-->你可以双击Sandboxie Control或者右键->Sandboxie Control->Open Main Window-->可以查看程序在进程里的名字和PID值
程序运行完毕(静态变化)->
说明此时的图标成
-->更通俗的说也就是运行程序前和运行程序后的产物(文件的变化)和注册表的变化
-->如何查看文件变化
右键-> Sandboxie Control->Contents of Sandbox->Explore Contents->这时候文件会弹出一个文件框
你会发现文件目录下有HarddiskVolume1等的文件,这就是你实际机子里的c目录(HarddiskVolume1=C:\),以此类推HarddiskVolume2=D:\
-->如何查看注册表变化
复制以下代码
CODE:
@echo off
:: This lists registry changes trapped by Sandboxie
c:
cd Program Files\Sandboxie
RegDump.exe "%APPDATA%\Sandbox\DefaultBox\Data\Registry.dat" > "c:\regchanges.txt"
echo.
echo.
start notepad "c:\regchanges.txt"
exit
[Copy to clipboard]
保存文件名文*.bat
将这个bat文件放到你的安装sandboxie的目录,双击运行一下,即可看见注册表的变化.
注意:
c:
cd Program Files\Sandboxie
代表你的安装目录如果你安装路径是D:\tools\ Sandboxie则代码要换成
d:
cd tools\Sandboxie
sanboxie实际存在系统于目录
->对于文件来说,地址是地址为C:\Documents and Settings\用户名\Application Data\Sandbox\DefaultBox\Device下
->对于注册表来说,实际改变的的文件为C:\Documents and Settings\用户名\Application Data\Sandbox\DefaultBox\Data\ Registry.dat
Sanboxie里如何删除生成的文件?
在sandboxie看完文件的生成和变化后,为了方便下次的运行,不给查看下次带来混淆.我们必定要做这步,删除sandboxie生成的文件
-->方法
首先删除文件前提是,关闭sandboxie正在运行的程序,其中包括sandboxie进程里面的程序和你浏览的生成文件的文件夹
如何关闭sandboxie进程里所有程序
-->右键->Sandboxie Control-->Terminate Sandboxed Processes-->In All Sandboxes
正式清理文件
-->右键-> Sandboxie Control->Contents of Sandbox->Delete Contents
注:如果出现一个对话框如图7
选择”取消”即可.
这里暂时不谈QuickRecovery tool这个工具的作用.(期待更新片^-^)
sanboxie可以做什么?
官方的回答:
You should be able to run most applications sandboxed.
* Web browsers
* mail and news readers
* instant messengers and chat clients
* peer-to-peer networking
* games
o in particular, online games which download extension software code
In all cases on this list, your client-side program is exposed to remote software code, which could use the program as a channel to infiltrate your system. By running the program sandboxed, you greatly increase the control you have over that channel.
And in addition, you can even install most applications into the sandbox.
我的个人使用篇:
sandboxie既然可以做虚拟机系统,为什么不把他当个系统来用呢?
用sandoxie上网浏览网页
使用sandboxie上网是最合适不过的了,你完全可以不用担心,用他上网在中毒.因为即使那网页被挂了木马,你的系统也不会中毒.因为那些东西都留在了sandboxie缓存
用sandboxie运行脱壳程序
脱壳程序有两种,一种是静态的脱壳,还有一种是动态脱壳.静态脱壳是不运行被脱的程序来脱壳,这种方法安全也放心.动态脱壳是运行被脱壳的程序来脱壳.脱一般的程序还好,那如果是脱病毒文件呢?你脱的同时不是运行了样本?现在的样本危险至极(感染exe,敲诈者等),那些样本你运行的是不是有点冤枉?所以用sandboxie脱壳是一个不错的选择(类似运行调试od是一样的).
用sandboxie测试陌生文件
是不是经常对exe文件感觉有点可怕,那个是不是病毒,首先你可能会选择用杀软扫描,那如果这病毒杀软没有反应,你就运行了?那万一真是病毒怎么办?hmm,对了用sandboxie 看看这东西,最后会生成什么,拿生成物用杀软再验证一下是不是更放心呢?
用sandboxie测试病毒
很多人说沙箱不保险,一直漏.那我也玩了那么多病毒,我怎么没漏呢?有的时候为了玩一些,我的杀软是全部关闭,至今没有出过问题!
但是即使是一个软件,不可能做到天衣无缝,总会存在一些BUG.
测试感染exe文件,如威金,熊猫,灯泡男等等.样本的提取是最方便,也是最速的,很多virusfans测试样本都用虚拟机,虚拟机这东西,个人认为没有1G的内存,你的机子不能跑起来,跑的舒服.而这sandboxie你机子256一样可以玩病毒.
常见问题回答
%AppData%\Sandbox\DefaultBox下面三个文件是做什么用的?
-->%AppData%\Sandbox\DefaultBox下面有三个文件夹分别是Data\Device\Zhadum
Data-->Data文件夹下存放的是在sandboxie里注册表改变的文件
Device-->Device文件夹下是模拟真实磁盘目录的环境
Zhadum-->Zhadum文件夹是sandboxie删除文件暂时存放的路径
我看生成物,怎么会出现0字节的文件?
如果那个文件在实机运行,那个0字节的文件是会被删除的.在sandboxie里运行会保存下来文件名.(自己玩过一个敲诈者就是那样子)
在运行Any Program...怎么出现提示错误?
症状如图
tzuk本人的回答:
The Sandboxie Helper is trying to inject itself into the sandboxed program, so it can intercept key functionality that is blocked by Sandboxie, and "help" the program work around it.
For example, Sandboxie totally blocks access to Windows Services, but the helper DLL can "help" the program to query the status of services.
Since this fails, it must be a conflict with another software. Please try to find out which, and I'll look into it, and see if there is anything I can do about it.
In the next version of Sandboxie, this DLL injection is going to do a lot more than just "help", it will be absolutely necessary for DLL injection to work, or the sandboxed program will simply fail in just about anything it does.
So I hope you can take the time to locate the conflicting software.
大概的意思是:(感谢moonforest 耐心细致的讲解)
第一段解释了原理,是被称作helper的dll注入sandbox,所以它能拦截所有被sandbox拦截的东西,然后辅助SB。
比如,某程序访问服务被拦截,那么那个helper dll就帮它查询服务状态返回给那个程序。
如果dll注入sb失败,则说明有软件冲突。
下版中dll将必不可少,而不仅仅是辅助功能。否则sb就无法完成它的功能。
他希望你能找到冲突的根本原因
冲突的软件 可能是你机子装了kis或者kav
QUOTE:
不推荐大家使用汉化版本 汉化全部的sandboxie会使软件经常出错 所以推荐大家使用e文版本的 我的教程也写的很清楚了 其实sandboxie的e文不难
文章经过其本人同意可以转贴,本文作者:
hzqedison
| | |