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