前几天的一个热门话题是著名维权人士冯正虎的Twitter ID被调包。尽管这一事件在被推友发现后迅速解决,但也是再一次提醒大家注意保护计算机和网络账户安全!今天先从原理开始说,以后再慢慢讲具体技术。
其实计算机安全说白了也就两样东西:一个是访问控制,另一个就是加密。为什么我不说
访问控制, 就是保护你计算机运行的时候,机密文件不被非法访问。最简单的访问控制,就是基于用户身份的访问控制。比如说你登录Windows的时候需要输入用户名和 密码。但这个技术的问题在于,一旦登录进去,所有程序都有了完全一样的权限,完全不受控制——你万一中毒了,那这个病毒程序就能毫不费力的访问你的所有文 件。所以就有了基于应用程序的访问控制,比如Linux下的AppArmor或者SELinux。
简单的说,这个技术就是让不同的程序具有不同的访问权限。举个简单的例子,比如说我们还是要使用这个会不断扫描你硬盘文件的QQ,那我们就可以使用这个技术,给QQ设定特定的权限,让他不能访问其他目录。这样一来,他即便有足够的偷窥欲,也无法得到满足。
推广开来,这一机制的优点在于,即使你的系统被病毒入侵,病毒仍然无法读取机密资料,也无法破坏重要数据。相反,系统的安全模块还能够知晓有程序试图访问未经授权的资源,一下子就可以把病毒揪出来。不幸的是,其缺点也非常突出:黑名单机制对未知病毒完全无效,而白名单机制则需要大量的配置。并且,这个访问控制模块本身也有可能存在漏洞。
但是,访问控制并不是全部,一旦你的计算机丢失或者被查抄,里面的数据就能够通过其他手段轻松的得到。这个时候,我们就需要加密技术了。即使你尝试用各种手段摧残硬盘,其中的数据仍然可能被恢复!要知道,2003年爆炸的哥伦比亚航天飞机的硬盘上99%的数据被成功恢复!
简单的,你可以用比如GnuPG对某个文件进行加密。你首先解密这个文件,然后用Word对他进行编辑,然后保存并重新加密。看上去似乎没什么问题,但事实并非如此!最简单的,Word或者OpenOffice这一类的文本编辑软件会创建一大堆未经加密的临时文件,虽然在关闭编辑器时会被删除,但仍然能够容易的恢复。即便是没有临时文件,该文件在内存中的数据也有可能通过虚拟内存技术被交换到硬盘上,并以明文形式保存,一样能被黑客获取。
这个时候,磁盘加密技术就派上用场了。比如说TrueCrypt,或者Linux下的dm-crypt,等等。通过磁盘加密,整个文件系统,包括虚拟内存,都能够被加密,而且在打开文件时不用你手动解密,关闭文件后也不用手动加密!
但是磁盘加密也并非绝对安全:无法对引导区进行加密保护。所以,黑客一旦能够直接接触你的计算机,仍然能够在引导区上植入诸如stoned这样的木马,在你以后使用时获取加密密钥等信息。此外,在使用计算机的时候,你的解密密钥仍然保存在内存之中,而内存上存储的信息在断电后仍然能够保存数秒甚至数分钟之久,黑客仍然有机会解密你的磁盘。
基本来说,一旦黑客能够在物理上接触到你的计算机,安全就很难保证!因此,我建议你:
1、保护好管理员账户,日常使用不同的非特权帐号。平时上网一个号,访问敏感资料用另一个帐号,这样能够尽可能避免因为帐号被入侵导致资料泄漏。但要注意的是,在Windows上,即使使用非管理员帐号,默认仍然能够读取计算机上的几乎所有文件,必须手动进行设置。如果是用的Linux,则建议开启AppArmor或者SELinux,并根据最小权限原理进行相应设置。
2、对计算机进行磁盘加密,个人比较推荐TrueCrypt,但最好自己编译源代码。Windows Vista还可以使用BitLocker,Mac的话也可以用FileVault,Linux的话自然就是dm-crypt了。
3、对重要信息定期备份,并加密存储在云存储服务器上,推荐使用DropBox。一旦你的计算机(怀疑)被黑客接触,或者受到病毒袭击,就立即格式化整个硬盘,并重新安装操作系统,然后从服务器上恢复数据。
4、保护好备份数据的账户。特别要注意的是,不同的账户最好使用不同的密码,并且要难以猜测。而对于备份数据这一类的重要账户,千万不要让其他任何人知晓。这一点我会在下次详细的说说。
最后要强调的是,尽管有着一万种保护计算机安全的手段,但黑客仍然有着一万零一种攻击手段。没有任何计算机系统是绝对安全的!但我们可以通过采用一些简单的安全机制,来极大的提高黑客攻击的成本和难度,尽可能的确保安全。
没有评论:
发表评论