防御Firesheep:如何阻止会话劫持攻击(上)

日期: 2011-12-25 作者:Mike Chapple翻译:Eric 来源:TechTarget中国 英文

会话劫持是攻击网站的一种常见方式。攻击者使用这种攻击方式可以欺骗配置不当的网站,进而完全劫持用户的会话并接管其身份。在本文中,我们将简单看一看会话劫持攻击的工作原理,工具Firesheep如何自动攻击,这种攻击对中等规模企业的风险,以及何如防止会话劫持,保护你的组织和用户。   背景:会话劫持攻击   首先,你可能想知道:“会话劫持攻击是怎样工作的呢?当今的网站不是设计了HTTPS/SSL加密来保护在互联网上传输的用户名和密码吗?”简单的回答是肯定的,大部分网站管理员都采取了这一基本预防措施。

然而,在网站上使用SSL加密开销昂贵而且占用CPU周期。加密网站上的每个页面需要对计算处理能力进行较大……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

会话劫持是攻击网站的一种常见方式。攻击者使用这种攻击方式可以欺骗配置不当的网站,进而完全劫持用户的会话并接管其身份。在本文中,我们将简单看一看会话劫持攻击的工作原理,工具Firesheep如何自动攻击,这种攻击对中等规模企业的风险,以及何如防止会话劫持,保护你的组织和用户。

  背景:会话劫持攻击

  首先,你可能想知道:“会话劫持攻击是怎样工作的呢?当今的网站不是设计了HTTPS/SSL加密来保护在互联网上传输的用户名和密码吗?”简单的回答是肯定的,大部分网站管理员都采取了这一基本预防措施。然而,在网站上使用SSL加密开销昂贵而且占用CPU周期。加密网站上的每个页面需要对计算处理能力进行较大的升级。许多网站管理员通过只加密登录行为(用户名和密码发送所在)来进行折中处理,登录之后就切换到普通的旧式未加密HTTP了。

  现在来看会话劫持攻击者。如果用户通过未加密的无线网络访问网站,他或她的来往信息很容易被监听。虽然攻击者可能不会看到HTTPS保护下的用户名和密码,但是他可以获取几乎有同样价值的信息:与用户通过HTTP连接发起的每个子序列请求一起发送的身份验证cookie。用户的Web浏览器使用该cookie来告诉网站用户已经通过了身份验证,因此不需要重新验证了。

  一旦劫持者把手伸向了cookie,他就可以通过简单地发送请求轻易地模拟终端用户。这就使得劫持者可以冒充该用户在该网站上的身份,该用户能执行的动作劫持者都能用被盗cookie执行。如果这种情况发生在像Facebook这样的社交网络站点,劫持者可以更新该用户的状态,添加好友或者非好友人群,给用户的个人资料添加窥探应用程序,或者执行许多其它违法活动。

  Firesheep的出现

  会话劫持攻击现在已经不是什么新鲜事了。安全专家与其打交道已多年了,并且警告过易于被会话劫持的网站设计。唯一的有利因素是劫持会话过程会很乏味。劫持者必须对涉及到的协议如何工作有扎实的理解,嗅探网络并把用户的cookie收集到一起,然后编写代码使用该cookie获得该用户账号的访问。这些虽然不是太困难,但是也是比较耗时的。

  Eric Butler是一位独立信息安全研究人士,他最近发布了Firesheep工具,这就消除了障碍(知识门槛和耗时问题)。Butler与其他人联合开发了Firesheep,是为了引起对Web会话安全漏洞的注意。Firesheep是一款Firefox插件,可以自动进行会话劫持攻击。心怀不轨的劫持者只需下载免费版Firesheep插件,连接到未加密的无线网络,就会看到可以劫持会话的用户列表。Firesheep可以自动攻击像Facebook,Twitter和其它网站。它甚至都实现了显示来自他们社交网络个人资料的用户照片,这样你可以看看周围的房间,看看你的攻击冒充了谁!

  会话劫持攻击:对中型企业的威胁

  会话劫持和Firesheep的发布会影响到你,作为IT专业人士,你需要采取措施来防止会话劫持在你所在企业发生。有四个问题会浮现在脑海中需要马上考虑:

  我们运行的web应用程序很脆弱,容易受到会话劫持攻击吗?

  如果你所在企业运行各种类型应用程序,需要身份认证,也允许存在未加密的连接,那它就可能很脆弱。保护这种问题的简单方法就是要求对网站所有页面使用SSL加密。虽然这种直接的解决方案简单易行,但它需要占用大量计算能力来加密请求。如果你的网站访问量不大,那可能还不会出现问题。如果你支持大量并发连接,支持完整的SSL加密就可能需要昂贵的硬件升级。另一种替代方案是与你的Web应用开发人员们一起工作,只加密那些会传输cookie的页面。(然而,这种方法需要对你的Web应用程序有比较透彻的了解,并要注意细节。即使错过一个页面,也会给你带来漏洞。)

作者

Mike Chapple
Mike Chapple

Mike Chapple, CISSP,University of Notre Dame的IT安全专家。他曾担任国家安全局和美国空军的信息安全研究员。Mike经常为SearchSecurity.com撰稿,是《信息安全》杂志的技术编辑。

翻译

Eric
Eric

相关推荐