知识屋:最实用的电脑技术知识网站
所在位置:首页 > 电脑技术

三步走 学会超安全的Web浏览

发布时间:2011-07-30 13:16:22作者:知识屋

 

作为一个安全分析师和研究员,我发现自己常常喜欢探索互联网的一些黑暗角落。在时刻关注网络安全问题的过程中,我经常要浏览那些一般人不敢靠近的网站;所以更有可能被当做攻击的目标。这迫使我要制定一个格外有效的方法更安全的上网冲浪。

了解存在的风险

针对Web浏览器的攻击分为两大类。

第一类攻击的目标是您的浏览器。内容包括:

◆跨站点脚本(XSS),其中非法攻击者插入恶意代码到一个你信任的网页上,并使您的浏览器自动运行它。

◆跨站点请求伪造(CSRF的),攻击者在一个Web页面中插入代码,使他可以以你的名义发送命令到其他网站(比如您的网上银行账户);

◆点击劫持(click jacking),就是说恶意程序隐藏在一个网站上,您可能无意中按下按钮。

针对浏览器的攻击,利用欺骗性的网页或链接将您重定向到意想不到的地点,通过劫持浏览会话,悄悄下载恶意软件到计算机上,或执行交易(如您的Web邮件转发给攻击者)。

第二类攻击的目标是你的整个系统。这种系统性的攻击利用你的浏览器或插件(如QuickTime或Flash)上安全漏洞来攻破你的电脑。这些攻击利用了可以进行病毒、蠕虫和远程攻击的缓冲区溢出和其他漏洞

为了保护自己不受到这两种攻击,以及一旦受到攻击能尽快隔离,我使用了多级策略。第一步就是用1Password(密码策略)设定并保存你的密码。

但我也使用了多层次浏览器系统,甚至操作系统,以使自己尽可能安全即使你没有访问过我的网站,这其中的一些预防措施也会对你有用的。

【第一步:使用多个浏览器】

我的第一道防线是使用不同的Web浏览器完成不同的活动。这样,即使攻击者侵入某个我正在使用的Web论坛,他或她也不能从那里攻击我的网上银行,因为我使用另一个浏览器上我的网银。或者,我用专门的浏览器登陆我的Facebook,那些侵入Facebook的最新的XSS(跨站脚本)蠕虫无就法从那里进入我的亚马逊或Web电子邮件帐户。

我的主要浏览器是Firefox 3.5而且安装了NoScript和Adblock插件。

默认情况下,NoScript禁用Java,JavaScript,Flash及其他常常可用于攻击的动态内容。它使我可以详细地控制,这样我就可以永久或暂时为特定网站或网页启用脚本。因为浏览器如果不运行脚本或插件,几乎是不可能受到攻击的。NoScript插件是极有效的,只要我不会意外授权某个包含恶意代码的网站。

Adblock Plus插件利用网站黑名单来自动阻止网站上的内容,黑名单中包括含有恶意广告和间谍软件的网站。我把它留做NoScript插件的备用,以防我不小心授权了一个恶意脚本。坏家伙们越来越多地使用广告条幅和追踪器来散布他们的恶意代码; Adblock Plus则给了我额外的保险。

除了这两个插件,我也设置火狐不储存我的密码(工具->选项->安全设置),我使用1Password密码管理器来管理我的所有密码。

我使用Firefox进行一般的浏览,但不用它来登陆那些需要输入敏感个人信息的网站(如银行)以及我知道会有极大风险的网站。对于这些网站,我会采用一些更严厉的措施。下面给你一一列出我的做法。

因为Safari相比Firefox会更难被锁定,我使用它登陆那些既不敏感也没风险的网站,例如维基百科,Pandora(网络电台网站)和Apple。这些是我经常访问的网站,上这些网站时,我用不着设置NoScript插件,因为此时用Safari要比Firefox更好一些。在“首选项”- “综合设置”下,我禁用“下载完成后打开安全文件”选项。在“首选项”- “自动填充”,我禁用“用户名和密码”选项。(译者注:可惜的是Safari在Windows下工作时中文渲染效果很差)

默认情况下,Firefox和Safari都会利用自己的黑名单来识别那些已知的欺诈网站。(在Firefox中,转到“工具”- >“安全- >”隔离已报告的攻击网站”;在Safari中,转到首“选项”- >“安全- > “当访问一个欺诈网站时发出警告”。)我把这些设置激活。

我使用NetNewsWire作为我的RSS阅读器。在其“首选项”-> “浏览”->“网页设置”中,我关闭所有插件,以防止恶意代码通过一个RSS订阅传播,比如一段包含一个缓冲区溢出文件的视频。(我们一般用Google Reader,安全性很好)

【第二步:使用专用浏览器】

虽然Firefox和Safari适合一般的浏览,但是当我需要更多的保护时,我会使用一个专用的浏览器或某网站特定的浏览器site-specific browser (SSB)。

我说的“专用浏览器,”是指一个是普通的Web浏览器,不过我只在登陆一个站点时使用它。就我而言,我使用OmniWeb浏览器来管理我的公司网站和博客。

我制订了OmniWeb浏览器的规则,禁止它访问我公司网域以外的任何网站。(在选项->广告拦截,我点击编辑封锁网址列表。此时顶部窗口上列出被封锁的网站,我加了一条“/*”规则来阻止所有网站。在底部窗口,列出了值得信赖的网站清单,我添加了"securosis.com“规则来允许我公司的网站。这些设置都支持复杂的正则表达式,所以你可以根据你的需要创建一些非常复杂的规则。

对于那些非常不值得信任的网站,我通常使用SSB(site-specific browser)登陆。例如,如果我现在担心Facebook,我就用SSB登陆。

一个SSB本质上是一个精简的Web浏览器,只需要点击几下就可以完成。我在Firefox上添加一个Prism插件来制作SSB。(“工具”- >“添加组件”- >“获取附加组件”,搜索Prism,然后安装它。)安装好Prism插件后,浏览到某网站时只要选择“工具”- >“转换网站为应用程序”选项就行了。

不同于网站专门浏览器,我也可以使用SSB浏览别的网站。而且,因为SSB是一个完全独立的进程,可以制定防火墙规则来限制其网络访问。如果有人攻击SSB程序,除了SSB程序本身,他们不会干扰到我的其他浏览器正常工作或窃取我的浏览历史。

【第三步:使用多操作系统】

对于那些极端危险或敏感的站点,我使用VM虚拟机来保护我的数据,隔离潜在的危险。

例如,我在专用的VM虚拟机上装上了最新的RC版Windows 7系统,辅以Internet Explorer 8来进行所有的网上银行活动。除了处理网银外,我既不在VM上发送电子邮件也不浏览其他网站,所以我的Windows 7配IE8的组合运行在虚拟机里是很安全的。这消除了所有可能的浏览器攻击(除非银行自己的网站沦陷了)。如果攻击者还想获得我的银行信息那么就要想办法完全接管我的Mac了。

为了获得最大的浏览安全,我还在VM虚拟机上使用Incognito Linux的live CD。live CD包含一个可直接引导的操作系统,它可以直接在光盘驱动器启动操作系统,无需在硬盘上安装任何东西。其实任何一个附带Web浏览器的linux live CD都可以,不过我喜欢Incognito的版本,因为它包含了不少隐私增强特性。

由于光盘是只读的,除虚拟内存外,虚拟机只读取相关内存而不会触及到本地系统中的任何文件。攻击者可以完全控制到我的虚拟机,但他或她无法触及到我系统中的任何东西。因为VM的状态永远不会保存到磁盘上,所以我要做的就是将它关闭并重新启动它使之回到最初的界面。

当然,对于网络安全问题,我选择的职业需要略微比普通用户考虑得偏执一些。尽管如此,只要你担心安全问题,这些技术就可能会有极大的参考价值。我建议你至少要学会使用专用的密码管理软件,使用专门的Web浏览器或者SSB来登录网银;如果你偶尔还要去互联网的黑暗边缘地带看看,别忘了还有虚拟机能为你保驾护航。

(文章内容如有侵权,敬请来信告知,我们将及时撤销)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜