麻省理工学院。 讲座课程#6.858。 “计算机系统的安全性。” Nikolai Zeldovich,James Mickens。 2014年
计算机系统安全是一门有关开发和实施安全计算机系统的课程。 讲座涵盖了威胁模型,危害安全性的攻击以及基于最新科学研究的安全技术。 主题包括操作系统(OS)安全性,功能,信息流管理,语言安全性,网络协议,硬件安全性和Web应用程序安全性。
第1课:“简介:威胁模型”
第1 部分 /
第2 部分 /
第3部分第2课:“控制黑客攻击”,
第1 部分 /
第2 部分 /
第3部分第3讲:“缓冲区溢出:漏洞利用和保护”
第1 部分 /
第2 部分 /
第3部分讲座4:“特权分离”,
第1 部分 /
第2 部分 /
第3部分讲座5:“安全系统从何而来?”
第1 部分 /
第2部分 在
iframe中填写凭据会极大地增加攻击范围,而访问恶意页面会很快损害大量凭据。

安全研究人员发现了未经验证的密码管理器(例如
Windows的 Chrome扩展)的漏洞,后来包括
MIT的研究人员在内的研究人员也发现了
Safari的
LastPass扩展。
考虑跨域查询。 您是否认为可能会提交密码管理器在
https:// example.com上填写的授权表单以输入
https:// www.isecpartners.com ,密码管理器可以将数据传输给第三方吗? 是的,可以,并且这使得找到允许攻击者创建域登录表单的漏洞或功能成为可能,然后将恶意登录表单发送到真实站点
https:// www.isecpartners.com 。
请记住,所有受信任的密码管理器都会安全地将密码发送到不同的域。
域名也适用于子域。 子域的一个特征是它们对安全性的“敏感性”可能与域执行的安全性检查有很大不同。 子域,例如
blog。* ,
Forum。*或
mail。*可能具有完全不同的安全性要求。 将子域当作域来处理会增加攻击面。 请注意,所有受信任的密码管理器都将子域视为与页面域等效。
在识别登录页面时必须小心。 Internet应用程序正在更改,这导致登录页面移动。 因此,与子域的真实性相比,应该更加仔细地检查其真实性。
请记住,大多数Web应用程序都有少量的登录页面。 它们可以彼此链接,以便登录页面的出现启动将表单自动完成或自动提交到一个主域。 在这种情况下,密码管理器将为遇到的任何子域填写任何形式的授权。
在这种情况下,攻击媒介可能是
HTML电子邮件。 例如,
Google ,
Yahoo和
Outlook使用诸如在线填写表单之类的东西。 幻灯片显示了一个带有以下文本的示例:“如果您在填写或提交此表单时遇到困难,可以使用此链接在线填写”,并提供了指向用户将
文档定向到
docs.google.com域的表单的链接。 进一步在页面上显示:“切勿使用Google Forms转发密码!”

由于人们经常使用邮件提交表单,因此攻击者将重点放在这三种服务的用户上。 您填写表格,例如回答各种调查的问题,然后使用您的邮箱进行发送。 这些服务如何抵抗攻击?
最好遭到
Outlook黑客(
live.com )的反对。 它通过禁止任何第三方提供任何原始材料(包括用户表格和个人信息)来防止遭受攻击的可能性。
第二位的是
Google ,它只是警告用户不要采取此类措施,这并不排除密码被盗的可能性。
Yahoo让您可以在没有警告的情况下窃取密码。
内置自动填充机制和创建身份验证表单的危险在于,服务并不总是警告将其发送给第三方的危险或在其他Internet资源的页面上使用这些功能的危险。 例如,通过上述调查时,存在可疑的
Submit函数。 回答谁是猫或狗哪个更好的问题,然后单击“
提交”按钮,您不仅可以确认选择的答案,还可以确认将登录名和密码发送给了攻击者。
雅虎是最糟糕的安全服务,尤其是如果您使用
LastPass密码管理器。
移动浏览器版本的保护甚至更差。 没有扩展,但是安全研究人员发现了用于
Chrome浏览器移动版本的名为
Javascript Bookmarklets的插件。 它会在您访问的敌对网站上运行伪造的安全代码。 实际上,它掩盖了他们的危险,制造了一种虚假的安全感,这可能会给您造成极大的伤害。
您可以使用
Berkeley和
Joint Stanford安全研究组织的链接查看其他浏览器扩展,并了解攻击和密码保护研究的结果。
我想让您理解:熟悉密码管理器的基础知识之后,您自己可以发现这些应用程序的几乎所有安全性错误。
您需要了解开发人员为应用程序提供了哪些功能,以及在实践中如何工作。 如果这样做,将更容易找到漏洞。
考虑一个称为
CRIME的
TLS攻击,它是
Compression Ratio Info-leak Made Easy的缩写。 这是一种安全漏洞利用,可让您解码
HTTPS会话(包括用户cookie),拦截服务器和浏览器之间的加密流量。 漏洞受所有版本的
TLS (包括
TLS 1.2)影响 。
在此攻击期间,黑客会拦截用户流量,将其数据添加到其中,然后向服务器发送请求。 重复文本的一部分时,压缩算法会将其压缩。 将数据发送到服务器后,黑客会查看消息的长度,如果消息的长度减少,则表明选择了正确的顺序。 因此,您可以在请求中选择单独的行和参数,例如cookie值。

该攻击基于您的浏览器使用内部接口HTTP协议与站点进行交互的事实。 同时,如果我转到
example.com ,浏览器会向他发送我的cookie以及以前完成的授权表中所有可用的信息,包括用户名和密码。 在
HTTP形式中,如下所示:

即使数据受到
SSL / TLS连接的保护,如果我拥有网络,我仍然可以获得一些信息。
SSL信息如下所示:

在这里,我看到以下信息:传输时间,从中发送消息,即用户的IP,向其发送消息的用户,即接收者的IP,以及消息的长度。

这是
SSL安全套接字的加密协议层的设计。 如果您能够分析流量,则此数据将为恶意活动提供广阔的领域。
考虑浏览器发送的消息。

如果浏览器允许您发出跨域请求,则它将带有包含表单数据的cookie的请求发送到将被攻击者重定向的任何站点,例如站点
example.com。 如果攻击者获取了这些cookie,则他将能够控制以下参数:

为了猜出用户的密码,我开始为字符串
username = tom&password选择参数,而不是
hunter2 ,而是输入字母
a 。

然后,我查看HTTP解密,并看到此参数占用195个字节。

为了简化工作,黑客使用
TLS压缩。 压缩算法在重复部分文本时对其进行压缩,然后压缩为这些部分创建标记并将其以
HTTP消息的形式放置。

在这种情况下,
会话ID等同于用相应令牌标记的代码部分,压缩消息的大小为187字节。
如果将会话
ID等于
d会怎样?

消息的大小减少了,因为它需要压缩更多的字节。 通过比较从顶部第二行中用红色框圈出的参数数量可以看出这一点。

这是攻击者看到的。 他看到消息已被压缩,并且由于此,他得知自己猜到了
会话ID中的第一个字母。 然后,它将替换
会话ID = da,并接收188个字节的消息大小。

因此,他依次替换字母和数字并分析消息大小的变化,从而猜测出整个
会话ID 。 即,它不选择加密密钥,而是选择加密消息本身的内容。

为了处理
CRIME ,必须阻止浏览器执行
TLS压缩。 您还必须更改
SPDY协议,以便在请求秘密数据时将其压缩在单独的上下文中。
考虑
HTTP违例的情况。 访问服务器后到达用户的
HTTP响应可能包含敏感信息,例如
CSRF令牌或其他敏感信息。 类似于
CRIME的攻击需要至少知道一个秘密会话前缀,并具有在响应消息中输入数据的能力。
您可以通过禁止响应压缩或
抑制CRIME攻击来防止攻击,因为此攻击使用
MiTM (中间人)的原理,并且可以降低实际请求。 这是一种令人满意的“嘈杂”攻击,可以检测到,因为攻击者通常不直接与服务器通信,而是使用对路由器的访问,并且服务器甚至可能都不“知道”该攻击。
您还可以通过在各种文件(例如
javascript)中放置各种敏感信息来保护自己,但这在实践中很难实现,并且为此也很难修改现有的应用程序。
您可以尝试随机化请求中的机密信息,主要是
CSRF令牌,但是,此方法会导致性能大幅下降。
了解了应用程序和漏洞的原理之后,您就可以“破坏”整个Internet:
SSL / TLS ,
DNS ,
DNSSEC / DNSEC ,
IPv6 ,这是相当可行的。

现在,我想谈一谈非常大的安全参与者
-NSA ,国家安全局或NSA。 这些人经常会产生安全问题并自行解决。
对于某些事情,我准备讨厌他们。 但是,国家安全局的工作人员无法更改现有政策。 他们为与安全相关的所有事物的智力发展做出了贡献,我希望他们相信他们的工作成果将用于良好目的。
在他们的工作中,硬币有两个方面,但这仅是我的观点,可能与我雇主的观点不一致。 而且我认为,我将告诉您的并非所有研究数据都已正式解密。
斯诺登说,有些陈述可以证明是正确的,而有些则可以证明是错误的。
NSA的陈述是“有直接访问
Google网络的行为”,这是一个虚假陈述的例子
,因为下图显示了可以访问这些网络的事物的真实状态,而NSA本身就是这样做的。
目前,
Google担心会加密某人的网络,因此会对其所有流量进行加密。 此外,所有新闻都是通过媒体过滤的,我们只能看到文档摘录。

您会在短语“在主
Google服务器上的此处添加和删除
SSL ”旁边看到一个图释
,因为
NSA可以从此处检索数据。
Google在全球设有数据中心,其网络广泛使用专用光纤线路。 因此,流量高速传输,很难到达。
政府不仅拥有强大的技术能力,而且还具有杠杆作用。 对于一些公司来说,抵抗强迫与政府合作非常困难。 面对国家的一个例子是免费的
Lavabit电子邮件服务,它是
Gmail的替代产品,因为后者在政府服务请求下侵犯了用户通信的隐私。
国家还可能强迫公司不要公开承认他们与政府服务部门合作。
让我们考虑一下国家拥有哪些工具来实施安全策略。
首先,它是
SIGINT-全球保护密码平台。 它基于光纤网络。 以下站点显示了Snowden发布的最高机密文档中的图表。 您会在上面看到许多黄点,称为CNE。 斯诺登(Snowden)建议这些站点都配备了网络黑客设备。 他们的人数在全球超过50,000。
可以通过多种方式来入侵网络。 政府使用这种
供应链攻击 -网络攻击针对各种组织网络中最不安全的元素。 为了保护自己免受此类攻击,政府避免了任何形式的合作,只提供直接访问其自身网络的权限,而没有任何中介机构和第三方。

根据非政府组织
EFF (电子前沿基金会)及其发起的诉讼,NSA喜欢使用所谓的“光开关”,它使您可以拦截包括
MPLS在内的电话对话
,并防止目标信息泄露给中间人。 大多数中间人都参与了用户之间的信息传递,不仅在美国,而且在世界范围内。

我希望
TLS可以承受这种干扰。
政府甚至可以使用来自最终服务器的
Pokemon专用加密密钥来破坏内部网络基础结构。 这使您可以组织
Heartbleed和标准网络攻击等攻击。 政府通常使用美国
国防部开发的
DOD网络模型。
google.com网络上使用了这样的系统。
可以对
TLS使用加密攻击。 假定感染
Windows计算机的
Stuxnet计算机蠕虫是在美国政府的倡议下开发的。 它在具有有效证书的
MD5加密
算法内部使用了冲突。 该蠕虫在控制器和逻辑站之间拦截数据,并可能干扰各种工业园区的自动控制过程。 这是唯一可以破坏网络物理基础结构的病毒。
NIST有一个组织,它为世界上几乎所有事物开发加密标准。 她建议使用加密功能强大的伪随机数生成器
DUAL_EC_PRNG来创建加密密钥。 但是,它仍然存在漏洞。 如果使用其加密标准中指定的椭圆曲线的点,则由于在一代回合中有大量输出位,因此可以穿透生成器代码并使用
蛮力将其
破解 (穷举搜索)。 算法的创建者从一开始就知道此漏洞。 这并不意味着在此生成器中最初提供了后门,而是意味着可以随时在其中创建后门。
我注意到,
NSA最经常使用基于最新
MD5加密
算法中不一致之处的攻击。

该州对全球互联网产生了全球影响。 大多数全球通信都是通过美国进行的。 电话,电子邮件和聊天都是以最便宜的方式进行的,实际上并不总是直接进行的,您可以始终遵循这种方式。 全球大多数互联网流量都通过美国。 在任何情况下,建立联系的最终目的的方式都可以轻松地重定向到美国,也就是说,该州可以控制世界各地的任何电信流量。
我将举例说明这种活动带来的“回报”。 国家不仅干预私人之间的联系,而且干预公司的工作。 2013年11月,《华盛顿邮报》发布了以下信息:NSA在最终服务器和用户计算机之间进行加密之前,先通过光缆拦截了
Google数据中心之间的流量。 还发布了有关政府计划
MUSCULAR的更多详细信息以及从内部
Google网络窃取的软件包的片段。

Google员工证实了NSA对他们网络的黑客攻击,而不是羞于表达-Google安全专家Brandon Downey直接写道:“操这些家伙!”,指的是
NSA前所未有的傲慢。
因此,人们很难信任美国网络设备和美国网络提供商提供的服务。 我将引用黎塞留红衣主教的话:“给我六句最诚实的人的笔迹,我会发现其中有一些可以挂的。”
我不希望您因对政府的不信任而变得偏执,并看到周围的间谍活动以及对信息和隐私保密的侵犯。 但是,作为未来的软件开发人员,您需要知道攻击者的行动方式。 如果您在大型公司工作,则黑客可以使用政府工具和技术来组织攻击。 因此,您需要像
Google一样做一些有用的事情,加密所有内部流量并使用渗透测试证书。
我想向您介绍其他几种类型的恶意软件。 其中之一称为
Flame (火焰)。

,
Stuxnet . , :
Flame MD5 , , . - 2008 ,
CA -,
RapidSSL .
Internet Public Key Infrastructure (PKI) , .
4
RapidSSL . 3- , 215
Sony PlayStation 3 . , ,
MD5 .
,
Microsoft Microsoft Terminal Server ,
MD5 .
MD5 , , 1 .
Microsoft , ,
Windows . ,
MS ,
Flame , . , , .
– , ? -, , .
, « »? « ?», .

, , . , .
, , , . , .
:
- « » , ;
- jailbreakme.com , iOS root- . , , , ;
- – , , , ;
- , ;
- , , .
.
, . , . , . , . , , .
. , , . , , . , , .
, , , . , , , .
, .
— .
, iSEC Partners:
- 2 -3 20-30 . , , MIT;
- , ;
- , ;
- , ;
- , !
paul@isecpartners.com . , .

. , , «». , , . , . «»
IBM .
, , , . . , , ,
Facebook ,
Google Yahoo . , , , .
!
.
感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,为我们为您开发
的入门级服务器的独特模拟,为Habr用户提供
30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。
戴尔R730xd便宜2倍? 仅
在荷兰和美国,我们有
2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) ! 阅读有关
如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?