会话有多安全?

时间:2014-10-13 12:00:31

标签: security session cookies

根据我的理解并阅读有关会话的信息,像Facebook这样的网站会在您的计算机上存储一个代码,每当您访问其网站时,您的计算机都会将该代码发送回Facebook。这样每次您想要查看新闻Feed时都可以省去登录的麻烦。

我的问题是,这有什么安全吗?难道没有人写一个简单的程序来在你的计算机上找到这个代码 - 就像Facebook一样吗?或者如果你让你这个讨厌的朋友使用你的电脑,你怎么知道他不会复制你的会话代码而只是从其他地方使用你的账户?

我读到会话比cookie更安全,因为cookie实际上包含用户名,密码和其他重要信息等信息。但是,如果会话代码无论如何都可以提供对整个帐户的访问权限,那么会话是不是一样不安全?

还有其他因素在起作用,我不知道或会议真的不安全吗?

2 个答案:

答案 0 :(得分:4)

  

我的问题是,这有什么安全吗?难道没有人写一个简单的程序来在你的计算机上找到这个代码 - 就像Facebook一样吗?

是。有人可以做到这一点。他们可以窃取您的会话凭据。如果您的计算机遭到入侵,则无法在此基础上构建任何形式的安全性。如果您不能信任计算机,则无法信任浏览器。如果您不相信浏览器,那么您无法信任该网站。

所以我们需要从基本假设开始。为了保护网站,我们必须假设浏览器(因此计算机)是安全的。

如果您可以在计算机上获取代码以搜索会话标识符,那么它已经结束游戏,因为您在那里时通常会做得更糟。

  

或者,如果您让令人讨厌的朋友使用您的计算机,您如何知道他不会复制您的会话代码,只是在其他地方使用您的帐户?

你没有。这就是为什么你不应该让朋友使用你的电脑(以及其他原因)。

可以使用一些技术来验证会话来自特定计算机。但它们往往不安全(如验证用户代理)或脆弱(如验证IP地址)。

  

我读到会话比cookie更安全,因为cookie实际上包含用户名,密码和其他重要信息等信息。但是,如果会话代码无论如何都能提供对整个帐户的访问权限,那么会话是不是一样不安全?

会话不比cookie更安全,因为会话使用cookie进行识别。当然,具体数据不会离开服务器(因此它不会泄漏),但攻击者可以恢复会话。

  

还有其他因素在起作用,我不知道或会议真的不安全吗?

这里的关键是你想要防范。具体来说,是什么威胁模型:

  • 朋友,您授予管理员访问权限的权限(让他们借助特权帐户借用)

    你无法可靠地防范这一点。如果您的用户允许其他人借用他们的计算机,那么作为网站运营商,您无法提供帮助,除非您根本不使用会话并要求用户对每个操作进行身份验证。

    根本不要这样做,或者给他们一个干净的访客帐户。或者更好的是,使用chromebook,让他们使用自己的帐户登录。

  • 攻击者将代码放入计算机

    你无能为力。

  • 有人像网络数据包嗅探器一样窥探网络流量(只读)。

    使用TLS(HTTPS)

  • 有人在中间攻击网络流量(读/写)

    使用TLS(HTTPS)

  • 有人攻击服务器

    保护您的服务器!!!

一般来说,要弄清楚如何保护某些东西,你需要考虑攻击的来源。有些攻击你根本无法防御。还有一些,你只需要教育用户。

答案 1 :(得分:1)

会话ID存储在cookie中,因此它们的安全性与cookie的安全性相同。

Cookie由您的浏览器处理,它会尽可能地保护它们。

没有网站可以“向浏览器询问cookie”(这不是Facebook所做的)。相反,在访问facebook.com时,您的浏览器会发送facebook.com个Cookie,而不是google.com个Cookie。

当然,“编写一个简单的程序来查找此代码”会很容易,但分发它并不是那么容易(即你谈论的是分发恶意软件),而且肯定不是Facebook所做的访问到相关的会话cookie。


还有其他几种方法可以保护Cookie免受未经授权的访问(在某种程度上)。其中一个是使它们“仅限HTTP”,因此它们无法在Javascript中访问(它们仍将被发送到Facebook的服务器,但浏览器不会将它们暴露给其他任何东西)。

请注意,Cookie确实与浏览器本身一样安全。如果您的浏览器被“妥协”(由您的讨厌的朋友),那么您的cookie也是如此,您的会话也是如此。