心脏出血:编码错误

经过:

我相信每个人都收到了过去一周的几个在线服务提供商的电子邮件,要求您更改密码。

除非你在过去的两周里一直与世隔绝或与互联网完全隔绝(第一种可能性更大),否则你很有可能听说过一种叫做“心脏出血”的病毒。朗朗上口的名字,对吧? !

每个人都吓坏了这个错误,并像“灾难性错误”或“主要安全漏洞”一样讨论它来描述它。即使Heartbled是一个在线错误,而不是实际的,它导致的恐怖是与病毒流行性相媲美。

嗯,要了解这个错误如何恐吓数百万,让我们从基础开始。你有没有注意到“HTTPS”和左上角的“HTTPS”和锁定标志,如雅虎或谷歌这样的网页?嗯,这是安全沟通的迹象。安全通信意味着客户端(您)和服务器之间的数据流是加密的。

“https”代表超文本传输协议,锁表示通信是安全的。SSL是Secure Socket Layer的缩写,用于安全通信协议。目前大多数网站用来实现安全通信的协议被称为Open SSL。每个程序都包含程序员在其代码中使用的公共函数。当其他人可以访问这个代码库时,它就被称为开放源代码。

程序中的编码错误可能导致计算机程序冻结,或者在“心脏出血”的情况下,泄露存储的信息。那么,“心脏出血”是如何起作用的呢?包含“心脏出血”漏洞的安全通信协议称为TLS(传输层安全)。每个程序/协议都有规则。TLS协议操作所依据的规则集在RFC2546文档。基于这些规则,编码器已经写了用于安全通信的打开SSL的代码。

Open SSL协议有一个内置特性,如果通信在两端仍处于活动状态,则该特性将在连接期间进行验证。

它是怎么做到的呢?每一次通信都有一个接收者和一个发送者。为了确保连接是安全的和活动的,一端(假设是发送方)向接收方发送两件东西:

  1. 一小块数据(大小为64kb)
  2. 表示发送数据大小的一种数字。

当接收方接收到此通信时,理想情况下应该向发送方发送完全相同的数据片段,以确认连接是活动的。但是,由于“心脏出血”,“程序中令人难以置信的狡猾漏洞”,这种情况没有发生。

相反,我们假设一个23kb的文件被发送给了接收者,但是与它一起发送的数字是50kb(即描述数据大小的数字大于数据的实际大小)。在这种情况下,接收方发送回两件事:它从发送方接收到的数据(23kb)加上从接收方计算机的系统内存中提取的额外数据(27kb),以匹配描述发送数据大小的数字(50kb)。

系统内存是临时的,每次计算机关闭时都会重写。但是,登录名、密码、服务器证书和确保连接安全的密钥是通常存储在系统内存中的少数东西。这个错误被认为是如此危险的原因是,当这个系统内存数据正在传输时,没有警告消息显示。没有办法知道电脑是否被攻击了。

那么用户能做什么呢?网站要求用户采取的一项预防措施是修改账户密码。重要的是,你只有在收到网站要求你更改密码的电子邮件后才可以更改密码。因为如果你更改了密码,而网站还没有为安全连接修复代码,你的电脑仍然容易受到漏洞的攻击。

所以你可能想知道,我能做些什么来保护自己在未来不受这些弱点的伤害?一个叫做"尾巴可能是解决这个问题的办法。正如网站描述的那样,Tails是“失忆的隐身系统”,旨在保护隐私和匿名性。这个软件不需要安装在你的电脑上,可以通过DVD、USB或SD卡安装。方便,对吗?

唯一的问题是这个软件是在进行中的工作,也很脆弱。尾巴使用一个名为tor的程序。Tor通过通过世界各地志愿者运行的计算机网络路由数据来使用户的互联网流量匿名。但它是朱利安阿西兰常常推出有争议的网站维基解密的程序。

因此,如果您不希望隐私侵犯,最好的选择是不使用互联网,因为没有100%安全。

话题:

标签:

注释

添加新评论