快捷搜索:   nginx

是谁,在偷窥我窗--保护隐私大作战

一. 偷窥门事件

  李小姐做梦也不会想到她会遭遇如此恶劣的事件:有人以她放在卧室里的电脑上的摄像头的角度拍摄了她的大量隐私照片散发到网络上,并附上了她的一些日记里的敏感文字,这些“高科技偷窥作品”迅速流传起来,给李小姐造成不小的伤害,网警接到报案后阻止了这些照片的公开传播,并立案调查。
  据李小姐回忆,她之前出差过几天,这个期间里因为一同合租的女房客要玩电脑,她就把房间钥匙留给了房客,回来后不久就出现偷拍事件了。
  技术人员立即检查了李小姐的电脑,除了发现远程控制摄像头的木马以外,还发现“历史文档”里有大量日记文件的浏览记录,经询问女房客得知,由于李小姐出差期间电脑出过故障,她就找了某电脑维修公司来帮忙修复,至于日记什么的,她并不知情。
  警方前往维修公司调查去了,李小姐看着电脑上的摄像头,茫然不知所措。
  ——是谁,在偷窥我窗?
  人的好奇心是非常大的,正因如此,社会上屡禁不止的侵犯隐私事件,在这个信息空间里,更是以无法阻挡的形势发生着,如何防止被他人通过电脑作为媒介,把自己的隐私看了个遍呢?你的“窗”(Windows),锁好了吗?

  二. 出售电脑,还是出售隐私?

  随着科技发展步伐的加快,家庭用户更换电脑的频率也随之升高,一次升级便淘汰了整机的用户更是不少,淘汰下来的机器如何处置呢?扔着显然浪费空间,于是把旧电脑送亲戚朋友或者在二手市场销售的行为成了大众选择。
  但是这一行为却给用户隐私带来极大的隐患,纵观二手市场,我们不难发现,出售的电脑几乎都是已经“预装”了操作系统和各种工具的,这些东西是谁装的呢?很显然,大部分都是原来的用户,因为要卖东西必然要试机,光凭一个开机硬件检测难以让买家信服,而且一般的家庭用户也不会考虑那么多,除了极少数会考虑到敏感数据问题而删除掉,大多数都是直接就拿去卖掉了。
  这些不经处理的机器,在“有心人”的眼里,简直与一台敏感信息收集器无异。
  你也许会问,一些人不是已经删除了敏感数据甚至格式化硬盘了吗?那些机器还有什么可泄露的?从一般人的观察角度来看,这样的操作的确已经毁灭了所有资料,但是现实情况却不容乐观,一方面,可能会出现由于用户的电脑知识水平缺乏而误认为“把文件放到回收站就是彻底删除”的情况,另一方面,则是因为“数据恢复”(Resume)而带来的后果,让你的隐私无处可遁。
  许多用户早已听说过“数据恢复”,配合各种相关工具,专家甚至能从一块受损的硬盘里把重要文档抢救回来,要了解“数据恢复”,我们就不得不提到硬盘的数据结构、文件的存储原理,一块硬盘在计算机逻辑识别的角度上是以主引导扇区MBR、系统引导扇区OBR、分区表DPT、文件分配表FAT、目录区DIR和数据区DATA这样的结构存在的,而不是单纯的“C盘”、“D盘”的概念,而文件的记录则涉及文件分配表FAT、目录区DIR和数据区DATA,操作系统先使用FAT和DIR一起配合记录了文件的文件名和文件指向等描述内容后,才正式在DATA里写下实际的数据,而删除数据时却不会同时对数据区进行操作,仅仅是更改了分配表和目录区里的文件描述信息罢了,甚至格式化和分区也不会改写数据区的实际文件数据,换句话说,这些删除操作只是在前面的几个“表”里对文件描述信息做了消除或标注为删除标记的操作,使得数据区的相应文件实体数据不再与目录表产生关联而已,这些数据实际上还是存在的,直到因为有新的文件数据写入原文件实体数据涉及的数据段范围才会被真正破坏。根据这样的特性,便产生了各种文件恢复工具,只要被删除的文件指向的数据区范围没有被再次读写文件产生的新数据覆盖,那么它便能被工具恢复,即使因为丢失了文件名的描述信息而不能恢复原文件名,但是文件结构还是保持原样的,还原出来的文件并不会遭受太大破坏。常见的数据恢复工具软件有RecoverNT、FinalData、EasyRecovery等,而一些大型的数据恢复公司更是使用专门的硬件设备来恢复数据。
  这些恢复工具虽然造福了一方用户,但是对需要毁灭某些敏感数据的用户而言并不是好事,如果用户曾经记录在硬盘上的银行账号、客户记录、设计方案等敏感数据被恢复,就有可能被人钻了空子,带来无法估量的损失,为了避免旧电脑出卖隐私,在出售前我们必须使用专门的工具对数据进行不可恢复的破坏——数据擦除(Wipe),或称“文件粉碎”。
  数据擦除是针对数据恢复行为而产生的逆向操作,前面我们已经知道了,数据之所以能够被“恢复”是因为操作系统在删除文件操作时并非直接对数据区进行破坏,而这些工具的行为,则是对数据区里相应的文件实体数据进行反复的数据清零操作,例如用各种垃圾数据反复对该磁道进行写入,根据写数据的方法和破坏强度,数据擦除又分为好几种算法,像美国国防部的Dod5220.22-M、Gutmann、Schneier算法等。其中,Gutmann算法会对数据区进行35次重复擦写,足以令数据被破坏到不能用一般的文件恢复工具进行还原操作;而Dod5220.22-M的强度更可灵数据被破坏到无法用相应的硬件设备进行还原操作。
  相对于数据恢复软件来说,用户可选择的数据擦除工具有很多,如WipeInfo、WipeUltra、12Ghosts Shredder等,但是安全专家依然怀疑数据能够被更强大的恢复设备给还原出来,也许最安全的方法只有从硬件上彻底损坏硬盘对其进行消磁了,但是对于我们这些一般人来说,不会有人耗费这么多精力来窃取我们的“机密”,因此使用一款数据擦除工具已经足够了。

  三. 泄漏隐私的浏览器?

  一直以来,关于浏览器泄漏用户隐私的争论就没有终止过,Synamtec的专家甚至把“浏览器隐私”定位为“网络安全最大的漏洞”,那么,浏览器究竟有些什么隐私呢?一般说来,就是用户浏览过的网址信息、自动完成的表单输入、浏览器历史记录、Cookie数据等,其中Cookie屡次被反对者提上审判台,称其“严重的危害了用户的隐私安全”,Cookie到底是什么?
  Cookie在早期是被Web开发人员设计用于记录用户特定信息的技术,它的出现极大的方便了一部分用户和网站设计者,大部分社区站点都提供的自动登录功能就是依赖于Cookie的记录,第一次访问站点时浏览器会接受服务器程序发来的Cookie操作请求而把记录写入被称为“Cookie”的特殊数据文件(一个类似文本结构的可打印字符文件),以后每次访问该站点时浏览器就会读取Cookie数据提交给服务器,站点就是根据浏览器发来的Cookie信息实现一些自动操作的,例如完成自动登录功能的Cookie内容就是浏览者的注册名和密码信息,在这里Cookie的作用就是身份验证,实际上开发人员可以使用Cookie的记录特性完成其它功能,如个性化浏览服务等。
  但是,伴随着互联网巨大商机的出现,Cookie在一些商人眼里已经不再是一种服务性技术,而是一个可以带来巨大财富的工具。部分站点利用Cookie收集大量用户信息,并将这些信息出售给其他商业站点或组织,借以从中牟利。使用Cookie技术,技术人员甚至可以将用户正在浏览的网站地址、使用的计算机的软硬件配置、名字、电子邮件地址收集到手,因而Cookie技术一直都被迫处于争端的浪潮之中,尽管它本身是无辜的,只是它太容易被别有用心之人利用了。
  作为一般的计算机用户,我们大可不必禁止掉Cookie,并不是所有网站都会违法的使用Cookie,如果为了少数站点而不再使用Cookie,就有点“因噎废食”了,而且在经历几次Cookie争端后升级的IE6、新秀Firefox等浏览器都已经提供了“隐私”功能,实际上就是给用户直接管理Cookie读写权限的能力,只要使用浏览器自身的功能,配合几个Cookie管理工具,我们便能方便的得知各个Cookie的信息并预防某些站点使用Cookie记录我们的敏感信息。
  欲限制某些Cookie信息的读写,只要进入控制面板里的Internet选项,点进“隐私”选项卡,便能对Cookie的权限级别进行设置,并能在“网站”栏目里对单个网站的Cookie进行独立设置。而一些常见的Cookie管理工具更能让用户直观的看到计算机上存在的Cookie,以及每个Cookie记录的数据细节,如Cookie Viewer、Cookie Pal和专门清理Cookie的Cookie Terminator等,早些时候,入侵者曾经使用Cookie Viewer的Cookie读写能力实行跨站攻击,其对Cookie的控制能力可见一斑。
  但是,除了这些能直接看到的Cookie记录文件以外,系统还偷偷为这些记录做了个集合副本并隐藏起来,它就是“index.dat”,稍微细心的用户能从Cookie目录、Internet高速缓存目录里发现这个文件的存在,而且它是被锁定无法删除的,我们以为彻底删除了的Cookie其实在这里还有个副本记录,如果有人取得了这个文件,他就能得到用户在浏览器里留下的隐私数据,因为index.dat被设计为记录所有上网痕迹,而且还用特殊手段隐藏和锁定着,普通用户根本不曾发现这个文件,称其为隐藏更深的间谍也不为过。
  能阅读index.dat的工具不少,如INDEX.DAT Viewer、INDEX.DAT Suite等,而破坏index.dat的工具也挺多,比较突出的是Tracks Eraser Pro,它强大的清理功能让所有Cookie记录和副本文件在一瞬间灰飞烟灭。
  接下来我们该清理的就是“自动完成”的信息、IE临时文件和历史浏览记录了,这些操作都相对简单,分别在Internet选项的“常规”选项卡里点“删除文件”、“清除历史记录”即可,清理“自动完成”的表单记录,也仅仅需要切换到“内容”选项卡里,点击“自动完成”里的“清除表单”和“清除密码”就完成了,对于IE地址栏里的数据记录,可以进入“开始菜单”的“设置”里,然后点击“任务栏和开始菜单”,找到“清除”按钮点击,这个操作还可以顺带把系统的用户历史文档、运行记录等数据一起清空掉,可谓一举多得。

  四. 我的E-MAIL你别看

  许多公司都使用E-MAIL作为正规的客户订单和生意来往的载体,甚至内部员工信息的发布也是通过E-MAIL手段进行的,换个角度看,E-MAIL就相当于包含了许多敏感信息的文件,如果存储有E-MAIL的机器(如前面提到的卖旧电脑)落入了某些人的手里,他们很可能会从E-MAIL里得到想要的东西,更别提公司里的工作E-MAIL了,因此,在一些涉密或重要E-MAIL上,安全人员都会推荐用户使用数据签名技术来加密邮件内容,这样一来,即使你的邮件被入侵者拦截或硬盘资料被盗,你也不用担心邮件内容被他人看到而带来损失了。
  目前比较流行的邮件加密技术是PGP(Pretty Good Privacy,良好隐私),它是一个基于RSA公匙加密体系的邮件加密软件,PGP自身并不是一个新的加密算法,它只是把国际流行的加密算法结合在一起加强了反破译的可能性,但也正因为这个特性使得它成为相对可靠的邮件保护手段而流行起来,PGP结合了一些公认比较安全的算法,如传统的对称密钥加密算法和公开密钥算法,它能充分利用这两类加密算法的特性,实现鉴别、加密、压缩等功能。
  当发送者使用PGP加密一段明文时, PGP首先压缩明文,然后建立一个一次性会话密钥,采用传统的对称加密算法如IDEA来加密刚才压缩的明文,使其成为一个密文,然后用接收者的公开密钥加密刚才的一次性会话密钥,连同密文一起传输给接收方,接收方首先用私有密钥解密,获得一次性会话密钥,最后用这个密钥解密密文,这样就尽最大限度保证了邮件的隐私传输。除了加密邮件内容以外,PGP还可用于加密文件。
  知识回顾:“对称/非对称密钥”加密算法
  在一些场合里,我们要对整个文档数据进行加密,但是日后我们还需要对其进行解密还原出原始内容,因此“密钥”算法的概念被提出,此类算法通过一个被称为“密钥”的凭据进行数据加密处理,接收方通过加密时使用的“密钥”字符串进行解密,即双方持有的“密码”相同(对称)。如果接收方不能提供正确的“密钥”,解密出来的就不是原来的数据了。
  以上是“对称密钥”的概念,那么“非对称密钥”又该怎么理解呢?有人用邮箱作为比喻,任何人都可以从邮箱的信封人口塞进信件,但是取信的权力却仅仅在于持有邮箱钥匙的人的手上。这个众人皆知的信封入口就是“公钥”(Public Key),而你持有的邮箱钥匙就是“私钥”(Private Key),这种算法规定,对方给你发送数据前,可以用“公钥”加密后再发给你,但是这个“公钥”也无法解开它自己加密的数据,即加密过程是单向的,这样即使数据被途中拦截,入侵者也无法对其进行破解,能还原数据内容的只有“私钥”的持有者,这就是“非对称密钥”加密算法,也称为“公共密钥算法”,这两者均建立在PKI验证体系结构上。
你也许会想,这两种形式加密出来的数据如果稍加耐心进行分析,一定能找到变化规律从而直接破解。这个想法没错,但是专家早就思考过这个可能性了,因此这种算法虽然是采用某个字符串作为凭据进行加密操作的,可是它可能把凭据拆分为多个不同的“子段”并进行多次运算,最终的结果就是让你难以发现变化的规律,破解也就成为了难事。
  基于“对称密钥”的加密算法有DES、TripleDES、RC2、RC4、RC5和Blowfish等;基于“非对称密钥”的加密算法有RSA、Diffie-Hellman等。

  虽然PGP的密钥是RSA算法加密的,虽然强度足够,但是由于早期PGP设计存在漏洞,这个密钥数据会被人通过特殊手段获取,这样一来,邮件的保密性就得不到保障了,后期的PGP修补了漏洞,但是攻击者能够根据RSA算法构造蛮力攻击,如果运气好,把密钥破解出来也不是很遥远的事情,但是在当前PGP的隐私保护还是可以维持下去的。
  知识回顾:非对称密钥——RSA算法
RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥。RSA是第一个既能用于数据加密也能用于数字签名的算法。
RSA算法原理如下:
  1.随机选择两个大质数p和q,p不等于q,计算N=pq; 
  2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素。
  3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) 。
  4.销毁p和q。
  最终得到的N和e就是“公钥”,d就是“私钥”,发送方使用N去加密数据,接收方只有使用d才能解开数据内容。
  RSA的安全性依赖于大数分解,小于1024位的N已经被证明是不安全的,而且由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,这是RSA最大的缺陷,因此通常只能用于加密少量数据或者加密密钥,但RSA仍然不失为一种高强度的算法。

  五. 一切为了文件隐私

  每个用户都或多或少的拥有一些不想让他人轻易看到的文件,许多初级用户都知道给文件加上“隐藏”属性让别人不会那么容易发现,但是这个招术对操作计算机的时间稍微长点的用户来说简直就是掩耳盗铃,因此,我们需要一种更强大的文件隐藏技术。
  1.越危险的地方越安全?小议回收站隐藏文件
  不知道什么时候开始,网络上开始流传一个非常另类的隐藏文件手段,操作形式如下:
  首先进入命令提示符界面,输入attrib c:\Recycled –h –r –s –a,回到Windows图形界面里的C盘,会看到出现一个Recycled目录,把欲隐藏的文件移动进去,然后再次进入命令提示符界面,输入attrib c:\Recycled +h +s +r +a,回来就发现Recycled目录变成了回收站,双击进去并不能发现你的文件。

  这个方法其实是利用desktop.ini的特殊作用实现的,其实现原理我们下面会讲到,但是,先不论其它作用和实际效果,就“回收站”这一特殊作用的目录而言,用它来隐藏文件其实是很危险的,回收站的原理是把用户“删除”的文件改名移动到每个硬盘根目录的Recycled目录下,并建立一个与之对应的索引文件,文件实体命名规则为“D[驱动器编号][序号].[原后缀]”,索引命名规则为“INFO[序号]”,例如删除一个位于C盘的Word文档,则回收站里的实际文件名可能为DC1.doc,对应索引为INFO2,回收站是保存这些临时文件的场所,用它来隐藏文件固然不会让人轻易怀疑,但是,即使排除一部分用户会无聊去删除掉Recycled目录的可能,仍然有许多垃圾清理工具会直接删除掉整个回收站目录,这些操作的后果就是你辛苦隐藏的文件只能通过数据恢复工具+运气来找回来了,因此我十分不推荐这个方法。

  2.利用注册表“命名空间”实现的文件隐藏
这个方法其实是上面提到的“回收站隐藏文件”的真正实现原理,回收站只是通过内嵌的一个desktop.ini里的CLSID指向来让Recycled目录变成特殊文件夹的,实际上我们有更好的直接变身大法。
  实际上,这是微软本身提供的一个功能,名字叫做 “外壳程序命名空间扩展”(Shell NameSpace Extersion),它是由“外壳程序实例对象”创建的接口,直接引用官方描述为:
  外壳程序命名空间扩展允许您在外壳程序中创建“虚拟文件夹”。举例来说,桌面上的“回收站”图标并不是一个实际的文件系统目录,而是表示一个由“回收站”外壳扩展维护的项的集合。

  换句通俗的话说,在Windows里,用户可以通过为某个文件夹进行特殊但不复杂的操作,使之不能被直接显示为原来文件夹的内容,例如,一个文件夹被用户加上了描述为“MP3文件”的命名空间扩展,那么用户会马上发现文件夹图标变成了MP3文件样式,并且在打开这个文件夹的时候就会发现系统为打开了音频播放器,而不是让你浏览到原来的内容,这是因为我们在Windows桌面上的所有操作都是通过外壳程序进行解释的,而微软的“外壳程序实例对象”就是为了更改这些操作的指向,“命名空间”(NameSpace)是通过注册表里的“HKEY_CLASSES_ROOT\CLSID”进行定义的,例如“{20D04FE0-3AEA-1069-A2D8-08002B30309D}”代表“我的电脑”,这个文件夹当然是不会存在的,但是为了我们能方便的访问系统对象,系统借助命名空间的特性构造了一个“虚拟文件夹”,我们才得以看到“我的电脑”这个组件的存在。
  纯理论的东西都是乏味的,但是只要亲自做个有趣的实验,你很快就会明白了:
?开启注册表编辑器REGEDIT,搜索“HKEY_CLASSES_ROOT\CLSID”的关键字“我的电脑”,会发现找到“{20D04FE0-3AEA-1069-A2D8-08002B30309D}”这样的项目,这就是“命名空间”的面目,把它的名字复制下来
  随便找个地方新建一个文件夹,名称随便改,例如“小金的电脑”,然后往里面复制几个文件,双击确认能直接进入查看文件夹内容
  现在对这个文件夹进行重命名,在原来的名字后面打个英文小数点,再跟上刚才得到的“命名空间”字符串,现在这个文件夹的名字应该是这样的:“小金的电脑. {20D04FE0-3AEA-1069-A2D8-08002B30309D}”,现在按回车,会发现文件夹名称居然没有改变,但是图标变成了“我的电脑”
?现在双击进去,告诉我,你看到的是什么地方?

  另一种方法是使用desktop.ini实现“命名空间”的指向,在任意文件夹里建立一个文件“desktop.ini”,内容如下:
[.ShellClassInfo]
CLSID= {20D04FE0-3AEA-1069-A2D8-08002B30309D}

  然后更改文件夹属性为“系统”,你会发现它的效果和上面的方法一样的。
  到这里,大家都看明白了吧,只要把小数点后的字符串改为任何能在注册表的“HKEY_CLASSES_ROOT\CLSID”里找到的“命名空间”字符串,就能把某个文件夹变成特殊空间的入口了,说白了,这个方法就是利用“外壳程序命名空间扩展”的功能实现的文件隐藏,因为任何直接打开文件夹的操作都会被外壳程序给指向特殊目录去。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论