纽约大学网络安全笔记-全-

纽约大学网络安全笔记(全)

001:作业与阅读 📚

在本节课中,我们将介绍本模块的学习目标,并列出相关的阅读材料和视频资源,以帮助你从黑客视角理解基本的网络安全威胁与攻击方法。

上一节我们明确了模块目标,本节中我们来看看需要配合学习的资料。以下是推荐的阅读材料和视频清单,请在学习过程中参考。

必读论文

  • 《Smashing the Stack for Fun and Profit》:这是一篇由名为“Aleph One”的黑客所写的经典论文。建议你仔细阅读。
  • 《Reflections on Trusting Trust》:这是肯·汤普森在贝尔实验室工作期间发表的图灵奖获奖演讲。同样建议你研读。

可选书籍

如果你希望进一步扩展知识,可以考虑以下两本可选书籍:

  • 《From CIA to APT: An Introduction to Cybersecurity》:这是由我本人和我儿子马特合著的一本电子书。建议配合本模块阅读前两章。这本书在亚马逊网站有售,你也可以尝试从图书馆借阅。阅读此书并非强制要求。
  • 一本优秀的TCP/IP书籍:我建议你为自己准备一本好的TCP/IP参考书。具体选择哪本由你决定。有些书价格较高,有些或许可以在线找到。我推荐理查德·史蒂文斯的著作。如果你认为学习TCP/IP知识对夯实你的技术背景有帮助,那么阅读其《TCP/IP Illustrated》第一卷的第1章和第2章会很有益处。这本书也值得收藏在你的专业书库中。

推荐观看视频

此外,还有一个我认为你会觉得很有趣的视频推荐给你:

  • 查理·米勒及其合作伙伴在谷歌的演讲:该视频讲述了远程利用乘客车辆的相关内容。你可以在YouTube上搜索“DefCon 23”来找到这个演讲视频。我们分享这些资源,供你观看学习。

本节课中,我们一起学习了本模块的配套学习资料,包括两篇必读的经典论文、两本可选的扩展书籍以及一个推荐观看的技术演讲视频。希望你能跟随这些阅读材料和视频进行学习,并享受这个模块的学习过程。

002:老式苏打机黑客攻击案例

概述

在本节课中,我们将通过一个老式苏打贩卖机的真实案例,来探讨网络安全中的一个核心概念:问题的简单性与解决方案的复杂性往往不成正比。这个生动的例子将帮助我们理解,在安全领域,一个看似微小的漏洞可能需要付出巨大的代价来修复。

案例描述:老式苏打贩卖机

本节中,我们来看看这个案例的具体情况。这是一种在20世纪70到80年代常见的苏打贩卖机。它有一个垂直的玻璃门,投币后,一个金属外壳会打开,顾客可以伸手拿到瓶装汽水的瓶口。

被发现的漏洞

以下是这种设计存在的安全漏洞:
作为小孩子,我们发现因为能够接触到瓶口,所以可以用一个开瓶器和一根吸管,插入瓶中喝光汽水。我们经常用这种方法“攻击”这些机器。这个攻击方法非常简单直接,一旦知道原理,任何人都能立刻实施。

解决方案的困境

上一节我们介绍了攻击方法,本节中我们来看看如何防御。如果要求你解决这个问题,你会怎么做?思考一下。为了阻止这种攻击,可以采取的措施包括:

  1. 重新设计机器:这是正确的根本解决方案。事实上,这类机器后来被重新设计,如今已很难见到。
  2. 张贴警告告示:例如,写上“嘿,孩子们,别再用开瓶器和吸管偷喝汽水了”。但这等于告诉所有人攻击方法,是一个糟糕的告示。如果试图含糊其辞,比如“嘿,孩子们,停止做你们知道的那件事”,这又显得荒谬可笑。在网络安全领域,我们称这类公告为“安全公告”,撰写一份有效的安全公告本身就很困难。
  3. 安装监控摄像头:这或许有效,但必须确保摄像头是真的。如果是假的,孩子们会识破。如果是真的,则需要连接设备、回看录像。考虑到70年代一瓶可乐可能只卖25美分,是否值得花费上千美元安装监控系统?这显得很不划算。
  4. 将机器移入店内:但这会导致销售收入下降。

核心概念:系统的健壮性

思考得越深入,就越会意识到:这是一个简单的攻击,但解决方案却不简单。这将成为我们整个课程中反复出现的主题。你会看到许多看似直接的问题,例如Alice想向Bob证明自己的身份,听起来很简单,但为了实现它,我们需要设计复杂的协议。

在某些领域,这被称为健壮性。一个系统,如果小问题只需要小解决方案,那么它是健壮的。当问题与解决方案的规模成比例增长时,这就是一个健壮的系统。

反之,当一个小问题需要一个巨大的解决方案,或者情况相反时,我们就说这个系统可能不够健壮。

总结

本节课中,我们一起学习了通过老式苏打机的案例来理解网络安全的基本挑战。请记住这个核心观点:安全漏洞的利用可能很简单,但彻底修复它却可能非常复杂和昂贵。在后续的学习中,当你评估不同攻击方式及其缓解方案时,可以时常思考:我们面对的是否是一个“小问题、大解决方案”的困境?这能帮助我们更好地理解安全设计的权衡与难点。

003:简单蠕虫程序 🐛

在本节课中,我们将要学习一种名为“蠕虫”的程序。我们将了解它的基本概念、工作原理、历史案例,并思考其潜在的危害性。

概述

蠕虫是一种恶意软件。它与病毒类似,但有一个关键区别:蠕虫能够自我复制和传播。这意味着一旦蠕虫程序在一台计算机上运行,它可以自动寻找网络中的其他计算机进行感染,而无需人工干预。这种自我传播的能力使其极具破坏性。

蠕虫程序的三步模型

一个典型的蠕虫程序可以简化为三个核心步骤。对于程序员而言,这甚至可以看作是三行代码的逻辑。

第一步:寻找目标

蠕虫程序运行在一台计算机上时,首先需要找到网络中另一台可以连接的计算机。
在早期,这可能通过查询Unix主机文件实现。如今,更常见的方法是生成或遍历TCP/IP地址,例如形如 192.168.1.100 的地址,以此定位下一个目标机器。

第二步:复制自身

找到目标计算机后,蠕虫需要将自己复制到那台机器上。
复制的方式多种多样,可以通过浏览器漏洞、利用各种运行时环境的缺陷,或者直接利用软件漏洞上传可执行文件。

第三步:执行程序

成功复制到新机器后,蠕虫程序便会开始执行。
思考一下,当它在新机器上运行时会发生什么?它会重复第一步,再次寻找下一台可以连接的计算机,然后复制自身并执行。如此循环往复,形成连锁反应,在网络中快速传播开来。

历史案例:莫里斯蠕虫

我们第一次见识到这类程序的威力是在1988年。当时,美国新泽西州一位名叫罗伯特·莫里斯的年轻人编写了一个本质上遵循上述三步模型的程序。他无意中将这个程序释放到了互联网上,结果导致了大规模的网络瘫痪,引发了关于责任与安全的早期大讨论。这个程序后来被称为“莫里斯蠕虫”。通过搜索“Morris Worm”,你可以了解更多关于这一历史事件的信息。

深入思考:蠕虫的潜在危害

回顾我们讨论的蠕虫三步模型,请进一步思考:攻击者可能会在何处插入额外的代码或功能,以使蠕虫更具破坏力?

例如,在蠕虫程序访问一台机器、复制自身之后,正式执行之前,它可以先执行一些恶意操作。以下是一些可能的增强功能:

  • 窃取信息:检查并窃取系统密码,或搜索机器上的敏感文件。
  • 安装后门:在受感染机器上安装一个后门程序,为攻击者提供长期访问权限。
  • 发动攻击:将受感染机器变为“僵尸网络”的一部分,用于发起分布式拒绝服务攻击。
  • 加密勒索:对用户文件进行加密,然后索要赎金。

总结

本节课我们一起学习了蠕虫程序的基本原理。它的核心模型非常简单,仅包含寻找目标、复制自身、执行程序这三个步骤。然而,正如我们在其他讨论(例如旧的自助售货机例子)中提到的,描述起来简单的事物,一旦被编写出来,要阻止它却非常困难。莫里斯蠕虫事件就是一个深刻的教训,它告诉我们,即使没有恶意意图,技术上的疏忽也可能造成巨大的破坏。希望通过本节课,你能对网络蠕虫有更清晰的认识。

004:木马登录程序

![](https://github.com/OpenDocCN/sec-notes-zh/raw/master/docs/nyu-cbrsec/img/c9d0cd3d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be2b5827623d029be

005:恶意编译器程序

在本节课中,我们将探讨一个深刻且影响深远的网络安全概念:软件信任问题。我们将从一个由计算机科学先驱提出的思想实验开始,了解恶意编译器如何悄无声息地植入后门,并最终理解为什么“我们无法完全信任任何软件”。

在开始本节内容之前,我想先介绍一下我的背景。我成长于贝尔实验室,那是一个在60、70和80年代令人惊叹的技术环境,是学习计算、网络和软件的绝佳之地。那个团队开发出的一个产品,就是我们今天所熟知的 Unix 操作系统。它是你手机上大多数技术的基础,iOS 和 Android 都是 Unix 的衍生品,Linux 也是。即使你深入 Windows 内核,也会发现一个符合 POSIX 标准的软件组件,这同样源自 Unix。可以说,你所有计算机上运行的软件,几乎都源于贝尔实验室。

我提到这一点,是因为当时那里有几位天才,其中两位构建了 Unix。其中一位名叫 肯·汤普森 的人获得了图灵奖。图灵奖相当于计算机科学界的诺贝尔奖。他在获奖演讲中谈到了特洛伊木马,以及如何让它们在代码审查中变得“隐形”。

你可能还记得上一节我们讨论过,如何在登录程序中查找被插入的特洛伊木马。通过检查代码,我们就能发现它。但肯·汤普森提醒了我们一个更深层的问题。让我先提供一些背景知识。

程序编译的基本流程

当编写软件时,你需要一个翻译器(如编译器或汇编器)将其转换为可执行的代码。为了简化,这个过程可以概括为:

源代码 -> 编译器/翻译器 -> 目标代码/可执行文件

这个流程对程序员来说应该很熟悉。

传统的木马植入方式

肯·汤普森指出,如果我们有干净的源代码,通过干净的编译器,就会得到干净的目标代码。一切正常。如果我们像之前讨论的那样,在源代码中直接插入一个带有秘密后门密码的木马,然后通过干净的编译器编译,就会得到“脏的”目标代码。之前我们说,要发现这种木马,就去审查源代码。例如,你会在代码中看到类似这样的检查:

if (password_is_valid(user_id, password) || strcmp(password, "ABC123") == 0) {
    // 允许登录
}

在代码审查中,你就能发现它。

肯·汤普森的“隐形”木马构想

但肯·汤普森提出了一个天才的想法:为什么不让编译器自己来插入这个木马呢?

这意味着,编译器在翻译干净的源代码时,会在翻译过程中自动插入那段“脏的”恶意代码。这样,生成的“脏的”目标代码,其对应的源代码看起来却是完全干净的。

这个构想的含义非常深远。以前我们认为,只要审查源代码就能发现木马。我们承认,现实中我们运行的99%的程序(比如手机上下载的App),我们并不会去审查其源代码。但理论上,如果你能审查,你就有可能发现其中奇怪的密码检查逻辑。

然而,如果木马被植入在编译器中,你几乎永远没有机会去审查翻译工具内部的代码。这种可能性微乎其微。

软件信任的危机

这引出了一个我们作为计算机科学家、工程师、商人和学生必须理解的深刻问题。肯·汤普森说:

你不能信任任何不是你完全亲手编写的软件,包括其周围所有的翻译工具。

由此得出的推论是:你无法信任软件。这是计算机科学中一个令人沮丧的事实。如果你从未听过这个观点,希望你现在是坐着的。这个“我们无法信任软件”的概念相当震撼。

在某种程度上,这解释了我们将要学习的这个“疯狂”的网络安全行业。你可能会想:为什么我需要监控软件的行为?为什么我必须在系统周围搭建防护脚手架?为什么不能一开始就把它做对?

原因正是因为我们无法信任软件。这几乎是每一个我们所见的黑客攻击的根本原因。事实证明,要让软件完全正确是异常困难的。

你建造一栋大楼,它就应该是一个稳固的结构。你不会在大楼周围搭建系统,以防它倒塌,那太荒谬了。然而对于软件,我们开发软件并部署它,然后我们围绕它构建网络安全措施,以阻止或捕获它出错时的行为。这是一个关于系统和信任的根本性问题。在我们后续的课程中,请牢记这一点。

如何降低编译器风险?🤔

现在,为了检验我们关于这个“翻译器问题”的学习成果,让我们像往常一样思考:如何阻止这类攻击?

上一节我们讨论自动售货机时,我们想了各种办法(贴纸条、装摄像头),效果都不太好。在讨论简单的登录程序时,我们得出结论:代码审查可能是最好的方法。

那么现在,我给大家一个小测验:我们如何降低编译器中被植入特洛伊木马的风险?

以下是三个选项:

  1. 测试编译器:运行大量测试用例。
  2. 施加严格的合同或法律约束:要求我们购买编译器的供应商签署协议。
  3. 面试多家不同的编译器供应商:在购买翻译器时进行多方比较。

我们来逐一分析,哪个选项可能有效降低风险?

  • 测试:会遇到和我们之前讨论过的同样问题——可能性太多,通过测试发现问题的几率极低。所以这个方法行不通。
  • 多家供应商:与多家不同供应商洽谈或许是个好主意,可能降低概率,但并非根本解决。
  • 合同约束:有趣的是,正确答案很可能是 B。这意味着,你应该要求软件提供商签署一份合同,承诺其代码中没有此类恶意内容。这样,即使他们想植入,至少也得在合同上撒谎,这会增加他们的心理负担和法律责任。

这是一种奇怪的现象:计算机科学家、软件工程师、经理最终不得不诉诸于让软件供应商举手发誓他们没有做坏事,而实现这一点的工具是一份合同。这有点讽刺,因为我们通常喜欢用技术功能来解决安全问题,而这里我却用合同来“修复”它。

总结

本节课我们一起探讨了由肯·汤普森提出的“恶意编译器”思想实验。我们了解到,木马不仅可以隐藏在应用源代码中,甚至可以隐藏在生成这些应用的编译器本身,这使得通过常规代码审查几乎无法察觉。这个思想实验深刻地揭示了软件供应链的信任危机,并引出了“无法信任非亲手编写的软件”这一根本性原则。这也解释了为什么网络安全不能仅仅依赖于“构建完美软件”,而必须包含持续监控、防御和审计在内的多层防护体系。最后,我们思考了通过法律合同来约束供应商,作为缓解此类高级威胁的一种非技术性但必要的手段。

006:典型的Unix内核攻击 🔓

在本节课中,我们将学习一种经典的Unix系统攻击方法。这种攻击利用了系统多个看似无害的特性,当它们被组合使用时,却能导致严重的安全漏洞。我们将分步解析这个攻击的原理,了解黑客如何通过操纵命令行参数和程序权限来获取系统内核的访问权。

攻击目标与背景

黑客的主要目标之一是攻破系统。目前,最流行的系统之一是Unix,它是Linux、iOS、Android等系统的基础。这里所说的“Unix”是一个泛指,涵盖了该家族的所有相关系统。

接下来,我将介绍一种在90年代曾奏效的攻击方式,它能够获取Unix底层系统(内核)的访问权限。理解这个过程可能有些复杂,我会分阶段讲解,并辅以图表材料帮助你理解。请尝试跟随我的思路,理解这个攻击的每一步。

攻击的核心原理

这个攻击的关键在于,它利用了多个单独看来都正常的系统特性。但当这些特性被组合起来时,就会产生问题。

上一节我们介绍了攻击的背景,本节中我们来看看构成这个攻击的第一个核心特性。

特性一:自定义内部字段分隔符

在Unix中,用户通过命令行界面(CLI)输入命令,即通过键入字母、空格和参数来操作,而非点击。这些用于分隔命令和参数的空格(或制表符)被称为“空白字符”。

有趣的是,在Unix中,除了空格和制表符,你几乎可以指定任何字符作为分隔符。例如,路径名中常用的斜杠字符“/”也可以被定义为分隔符。

以下是实现这一点的简单命令,它涉及一个叫做“内部字段分隔符”的变量:

IFS=" /t/"

这个命令将IFS变量设置为同时包含空格、制表符和斜杠。这是攻击的第一阶段。你可能会问,为什么会允许这样做?Unix的设计者提供了这种灵活性,允许用户创建非常规的命令行界面。

特性二:Set-UID权限提升

我们将用到的第二个特性叫做“Set-UID to root”。这是Unix的一个功能,允许一个低权限运行的程序临时提升到高权限(root)去执行某些操作,然后再降回低权限。

例如,在一个共享系统上,普通用户不能直接修改密码文件。但当用户执行passwd命令修改自己的密码时,该程序会通过Set-UID机制临时以root权限运行,从而有权修改受保护的密码文件,完成后再切换回用户权限。Set-UID允许程序提升其执行权限。

特性三:开源系统与代码审查

Unix系统通常是开源的,这意味着其源代码可以被公开阅读和审查。攻击者可以利用这一点,去寻找那些使用了Set-UID提升权限的程序,并从中找到一段以高权限运行的代码。

例如,攻击者可能会找到一段在高权限下执行类似 exec("/bin/some_program") 的代码。识别出这段代码是攻击的第三阶段。

特性四:Shell脚本与命令执行

Unix shell允许用户将命令写入文件并作为程序执行。例如,我可以创建一个名为steal_shell的脚本文件。

需要知道的是,在Unix中,“shell”(如/bin/sh)是用户与操作系统交互的界面,本身也是一个程序。我可以在脚本中编写命令,将系统的shell程序复制到另一个位置。

组合攻击:分步解析

现在,让我们把以上所有特性组合起来,看看攻击是如何发生的。

首先,我执行命令,将斜杠“/”添加到内部字段分隔符中。

IFS=" /t/"

接着,我在我的家目录下创建一个名为bin的脚本程序。该程序的内容是复制系统的shell(例如/bin/sh)到一个新文件,比如hack_shell

# 文件 ~/bin 的内容
cp /bin/sh /home/myuser/hack_shell
chmod +s /home/myuser/hack_shell  # 可选,为其也设置Set-UID权限

然后,我运行那个具有Set-UID权限的程序。当该程序提升到root权限后,它会执行类似 exec("/bin/myprogram") 的代码。

关键点来了:由于我们在第一步将“/”定义为了字段分隔符,系统在解析exec的参数时,不再将/bin/myprogram视为一个完整的路径。根据IFS的设置,它会被拆分成“bin”和“myprogram”两个独立的字段。

此时,系统会在当前环境变量PATH指定的目录中寻找名为bin的可执行文件。而攻击者预先在家目录下放置的恶意脚本~/bin很可能位于PATH环境变量包含的路径中(或者通过其他方式让系统找到它)。

于是,具有root权限的Set-UID程序,没有执行预期的/bin/myprogram,反而执行了攻击者准备的恶意脚本~/bin。这个脚本以root权限运行,成功地将真正的系统shell复制到了攻击者可控的位置,并可能为其设置Set-UID权限。这样,攻击者就获得了一个具有root权限的shell副本,从而完全控制了系统。

让我们再梳理一遍这个精妙的组合:

  1. 溶解路径:通过修改IFS,使系统将路径分隔符“/”当作普通分隔符处理。
  2. 放置陷阱:在家目录创建一个与路径组件同名的恶意脚本(如bin)。
  3. 触发陷阱:运行一个合法的Set-UID程序,该程序本意是执行某个路径下的程序(如/bin/xxx)。
  4. 权限劫持:系统错误解析路径,转而执行了攻击者的恶意脚本bin,并且是以root权限执行,从而完成敏感操作(复制shell)。

总结与思考

本节课中我们一起学习了一种经典的Unix内核攻击。它并不要求你记住所有步骤以应对测验,重要的是理解其背后“特性组合产生漏洞”的核心思想。

这个例子说明了安全漏洞的复杂性。黑客攻击并非总是简单的;它需要深入理解系统内部机制。然而,一旦攻击方法被设计出来并自动化,使用它就可能变得非常简单。这也提醒我们,即使自己不是漏洞的发现者,运行来源不明的程序也可能带来巨大风险。

如果你对这方面感兴趣,互联网上有大量关于黑客技术和安全研究的资源。但请务必谨慎,不建议任何人下载黑客工具并对真实网络进行非法测试。作为学习的一部分,确保只从可靠、合法的资源获取知识,这将有助于你的个人学习计划。

这种分析有助于我们培养安全思维:在设计或审查系统时,需要仔细考虑不同功能模块之间可能产生的意外交互,从而构建更健壮的防御体系。

007:解释访谈系列 🎙️

在本节课中,我们将了解本课程为何以及如何引入一系列访谈内容。这些访谈旨在平衡技术理论的学习,通过行业实践者的分享,为大家提供更全面的视角。

访谈系列的引入目的

作为学习社群,我们将花费大量时间在技术、架构和安全概念上。我们希望用一些与实践者的讨论来平衡这些理论学习。我们认为大家会乐于听取这些分享。

我们将邀请一些安全公司的CEO或创始人类型的人物,让大家听到他们的见解,同时也会邀请一些一线从业者。

访谈内容的特点与学习方法

以下是访谈内容可能呈现的特点:

  • 术语使用:你可能会发现,他们有时会使用一些行话或术语,这些术语可能与我们课程讲座中讨论的内容不完全一致。
  • 视角平衡:但这将为你提供一个良好的平衡。

我相信你会非常喜欢这个系列。

如何从访谈中学习

随着我们推进这个系列,请聆听嘉宾的分享,看看你能从他们身上吸收到什么。

在某些情况下,你可以在互联网上对他们做一些研究,了解更多关于他们的信息。

总结

我希望你喜欢我们的访谈系列。我们这样做是为了尝试提供一个良好的平衡。

008:欢迎Lou Manousos(第一部分)👨‍💼

在本节课中,我们将聆听网络安全公司Risk IQ创始人兼CEO Lou Manousos的分享。他将讲述自己如何从物理学背景进入网络安全领域,以及创立一家成功的网络安全公司所需的关键要素。


从物理学到网络安全 🔄

上一节我们了解了课程的基本框架,本节中我们来看看一位行业先驱的独特职业路径。

Lou Manousos是Risk IQ的创始人兼CEO。他从小就对计算机和安全着迷,七岁起就开始接触。他最初在大学攻读物理学学位。

一位教授的话改变了他的方向。教授对他说:“我们需要像你这样既懂物理、能在实验室工作,又懂Linux和安全的人。因为物理学的未来将拥抱互联网和计算。” 这促使Lou开始致力于保护服务器,让物理学世界变得更安全。

他认为物理学思维与计算机科学有相通之处。网络安全如同博弈论,是一个涉及攻击者与防御者的复杂领域。这个问题几乎不可能彻底解决,因为它是一场“好人”与“坏人”之间的持续博弈。物理学也是如此,每当你向答案迈进一步,答案似乎又变得更远。这种不断出现新威胁、需要持续学习的特性,是两者共有的挑战。


创立网络安全公司的核心要素 🏗️

了解了Lou的背景后,我们来看看他对于创业的深刻见解。他认为,构建一家公司的文化主要基于以下三点:

以下是Lou强调的三个核心文化要素:

  1. 对解决客户实际问题抱有热切的好奇心。客户即所有互联网使用者。必须拥有深入探究问题、并为客户持续创新的兴趣。
  2. 始终从客户视角出发。许多公司并未真正考虑客户视角,试图解决一些与真实业务场景脱节的问题。成功的初创公司会发现,客户会引导你找到正确的方向。
  3. 亲身实践,换位思考。在网络安全领域,若想了解受害者的感受,就必须与真正被攻击的目标群体一起工作。他喜欢通过亲身观察事件来解决问题。

Lou特别强调了客户的重要性。获得启动资金的前提,是拥有真实买家的用例。因此,他建议更早地将这些买家引入创业过程。许多人本末倒置,在尚未真正理解用例之前就先考虑融资。


成功创业者的品质 🤝

那么,结合客户聚焦与融资能力,成功创业者还需要哪些品质呢?

Lou认为,激情毅力创新意愿是关键。但更重要的是,找到同样相信这些品质的伙伴来组建正确的团队。如果选错了合作伙伴,事情会变得困难。创业不仅仅是达到一个终点,更是一段旅程。你必须享受每天解决新问题的过程,并确保与你并肩同行的是你愿意与之共事的人。


本节课中,我们一起学习了Lou Manousos从物理学跨入网络安全的经历,以及他总结的创业成功要素:对客户问题的热切好奇、坚定的客户视角、亲身实践的换位思考,以及找到志同道合的团队共同享受创业旅程。这些见解为有志于网络安全创业的初学者提供了宝贵的指导。

009:欢迎Lou Manousos(第二部分)👨‍💼

在本节课中,我们将继续与网络安全公司RiskIQ的创始人兼CEO Lou Manousos的对话。我们将深入了解RiskIQ公司的核心技术,探讨他们如何通过监控互联网来帮助企业和安全团队降低网络风险,并思考防御者与攻击者之间持续博弈的未来。


上一节我们了解了Lou的背景,本节中我们来看看RiskIQ公司的核心技术。

RiskIQ与其他网络安全公司的不同之处在于,我们从互联网源头监控威胁。大多数网络安全公司的技术部署在防火墙或终端上。RiskIQ则监控整个互联网,收集并分析攻击形成过程中的数据。我们为追踪威胁的调查员和防御网络攻击的防御者提供所需工具,帮助他们更快地响应,提升一线安全人员的工作效率,并提供攻击者视角下的完整攻击面视图。

当您提到“监控整个互联网”时,这是由人员还是技术完成的?具体如何实现?

这是一个结合体。RiskIQ是一款自带互联网数据的产品。我们为客户提供所需的工具,让他们能够将互联网的外部视角引入其内部环境。这是一个具备用户界面的分析能力平台,它整合了海量(字面意义上达PB级别)的互联网数据,并使安全团队的任何分析师都能访问这些数据。

那么,分析师们具体在寻找什么?是攻击的特征签名?是正在出售的信用卡信息?还是品牌被滥用的情况?他们通常会找到什么?

通常,分析师的工作由两种情况触发。要么是发生了安全事件,创建了工单;要么是收到了威胁情报,即公司想要深入了解的某个威胁指标。由于大多数威胁始于互联网,这些威胁指标通常关联着一个IP地址和域名。

我们的平台将提供关于该域名解析到哪个IP地址(即与域名相关的IP地址)、该特定域名还连接了哪些其他域名、以及该特定攻击可能还产生了哪些其他流量等信息。就是这类关联分析。

那么,发现威胁后具体怎么做?例如,我发现某个域名正在进行可疑活动,并意识到问题严重,这时我该报警吗?还是更改防火墙设置?具体步骤是什么?

大多数公司要么是在响应一个已发生的威胁(例如已发生数据泄露),试图了解更多关于攻击者的信息,比如攻击者是否通过其他命令与控制通道维持对我方网络的访问。我们的平台提供的是与公司或攻击者相关的“数字足迹”的可见性。当攻击者在网络中活动时,他们会在互联网上留下访问网络的痕迹。在此场景下,我们为防御者提供能力,以发现攻击者入侵网络的所有其他途径。因此,输出的结果是在其防火墙内部实现更有效的拦截。

在另一种情况下,例如鱼叉式网络钓鱼攻击,我们会帮助防御者让攻击基础设施下线。这可能涉及与互联网服务提供商沟通,或与域名注册商合作以关闭该域名。一旦域名被关闭,攻击者就无法再利用该威胁基础设施。

您是否乐观地认为,安全公司和安全团队能够在一定程度上追赶上攻击者的步伐?您认为我们有可能达到那个水平吗?

这是一场猫鼠游戏。正如我之前所说,我喜欢安全领域的一点在于它是一场博弈,而不是一个可以一劳永逸解决的问题。因此,安全专业人员需要认识到,你总是需要以某种方式做出响应。任何安全计划都必须将响应作为核心部分。要积极主动,但同时也要明白,总会出现新的漏洞利用方式,总会有你的团队遗漏的漏洞。所以,我认为你需要将响应计划纳入其中,这是我们在这场博弈理论中不得不面对的现实。


本节课中,我们一起学习了RiskIQ公司如何通过监控互联网全局来识别和应对网络威胁。我们了解到,防御工作不仅需要主动监控和数据分析工具,还必须包含完善的应急响应计划,以应对持续演变的网络攻击。网络安全是一场持续的动态博弈,而非静态问题。

010:威胁建模与学习资源 📚

在本模块中,我们将介绍基础的威胁建模概念,并通过一些示例来加深理解。同时,我们将提供一系列配套的阅读材料和视频资源,帮助你从更广阔的视角理解网络安全的历史与现状。

概述

本节课程旨在引导你进行基础的威胁建模学习。我们将从一个简单的基本威胁问题入手,逐步展开,让你对网络安全威胁有更具体的认识。为了辅助学习,我们推荐了一些经典的论文、书籍和视频资料。

学习资源推荐

为了帮助你更好地理解本模块的内容,并建立更全面的知识背景,以下是一些推荐的阅读与观看材料。

必读论文

以下是两篇提供历史视角的重要论文,阅读它们有助于理解当前网络安全问题的根源。

  1. 《Why Cryptosystems Fail》

    • 作者:Ross Anderson。
    • 这篇较早的论文探讨了密码系统历史上存在的一些问题,能为你当前的学习提供良好的背景知识。
  2. 《There Be Dragons》

    • 作者:Steve Bellovin。
    • 这篇论文同样年代较早,讨论了互联网早期出现的一些安全问题。阅读这些旧论文可以提供不同于当前社交媒体上每小时都在更新的网络安全新闻的视角。

可选书籍

如果你希望有更系统的学习材料,以下书籍可以作为本课程的补充。

  • 《From CIA to APT: An Introduction to Cybersecurity》
    • 作者:本课程讲师与其子 Matt。
    • 这是一本电子书,可在亚马逊获取。建议阅读第3章和第4章,它可作为本模块的配套读物。
  • 《TCP/IP Illustrated》
    • 作者:Richard Stevens。
    • 这是一本经典的TCP/IP协议书籍。如果你的TCP背景知识较为薄弱,建议阅读该书的第3章和第4章。这本书值得放在你的专业技术书架上。

推荐视频

以下视频以生动的方式展示了特定的安全威胁与解决方案,相信你会感兴趣。

  • DMARC标准白板讲解
    • 主讲人:Pat Peterson。
    • 这个视频来自Agari公司,以白板教学的形式讲解DMARC标准。它不仅涉及当前互联网的一些威胁,也预示了一些可能对保护电子邮件有用的安全解决方案。
  • Defcon 18演讲:Pwned By Owner
    • 你可以在课程描述中找到相关链接。这个视频讲述了一个关于“当黑客的电脑被偷走后会发生什么”的故事,内容有趣,并能补充本模块涉及的一些知识点。

总结

本节课我们一起开启了威胁建模的初步学习,并为你规划了丰富的延伸学习路径。我们介绍了威胁建模的基本思路,并推荐了多份经典论文、可选书籍以及生动的视频资料,包括Ross Anderson和Steve Bellovin的论文、相关的教科书章节以及DMARC和Defcon的实践案例视频。希望你能享受本模块的学习材料,并从中获益。

011:网络安全的目的

在本节课中,我们将探讨网络安全的核心目的。理解这一点对于构建清晰的知识框架至关重要,它能帮助你在深入学习具体技术后,依然能向他人清晰地解释网络安全的本质。

概述:网络安全的核心模型

在开始之前,我们先来思考一个根本问题:网络安全究竟是关于什么的?随着学习的深入,你可能会积累大量零散的知识点,但需要一个核心概念将它们串联起来。本节我们将一起回顾网络安全领域的一个经典思想模型,并探讨其现代意义。

经典模型:参考监视器概念

上一节我们提出了关于网络安全目的的疑问,本节中我们来看看一个经典的解答。早在20世纪70年代,网络安全先驱詹姆斯·安德森就在思考这个问题。他提出了一个被称为“参考监视器”的概念模型。

你可以将参考监视器想象成一个位于中间的“盒子”。盒子的一边是主动实体,例如用户、黑客或运行中的进程,它们试图执行某些操作。盒子的另一边是资源或资产,例如文件、数据库或系统,它们是访问的目标。

安德森的核心观点是:网络安全的核心目的,就是当主动实体试图访问被动资源时,由位于中间的“安全机制”(即参考监视器)根据既定的策略,来决定是允许还是拒绝这次访问。

用更形式化的术语来描述,这个模型被称为主体-客体模型

  • 主体:指发起访问的主动实体(如用户、程序)。
  • 客体:指被访问的被动资源(如文件、数据)。
  • 安全策略:决定访问是否被允许的规则集合。

这个模型可以用一个简单的决策逻辑表示:

if (主体请求访问 客体) {
    if (根据安全策略,访问被允许) {
        允许访问;
    } else {
        拒绝访问;
    }
}

从“否决者”到“赋能者”的思维转变

上述经典模型虽然清晰,但在实践中可能导致一种印象:网络安全团队总是说“不”。这种“否决者”的形象源于参考监视器最基本的“允许/拒绝”二元决策逻辑。

然而,现代网络安全思维已经发生了重要演变。我们更倾向于将安全视为一种赋能者,而非单纯的阻碍者

让我们通过一个例子来理解这种转变。假设一个场景:一位顾客(主体)想用信用卡在你的网站(客体)上购物。如果只考虑风险,你可能会因为担心交易不安全而直接拒绝。但安全作为赋能者的思路是:我们可以设计并部署一套安全协议(如SSL/TLS加密、支付卡行业数据安全标准)。

以下是实现赋能的关键步骤:

  1. 引入加密通道,保护数据传输。
  2. 实施身份验证,确认用户身份。
  3. 进行欺诈检测,评估交易风险。

通过这些安全措施,我们并没有简单地阻止交易,而是创造了一个安全的环境,使得原本存在风险的交易得以安全、顺利地进行。安全在这里扮演了促成业务的角色。

总结与核心要义

本节课中,我们一起学习了网络安全目的的两个关键视角。

首先,我们回顾了经典的主体-客体模型参考监视器概念,其核心是依据策略控制对资源的访问。这为我们理解访问控制的基础提供了框架。

更重要的是,我们探讨了现代网络安全思维:安全应作为赋能者。这意味着网络安全的目标不是一味地阻止,而是通过设计和实施恰当的安全措施,来保障业务活动、通信和创新的安全开展

请记住这个“赋能者”的视角,它将在我们后续关于风险管理、安全架构和业务连续性的所有讨论中贯穿始终。理解这一点,能帮助你在实际工作中更好地平衡安全需求与业务目标。

012:对手类型 🎯

在本节课中,我们将要学习网络安全领域中的核心概念之一:对手。我们将详细探讨四种主要的恶意行为者类型,分析他们的动机、行为模式以及对“归因”的态度差异。理解这些对手是构建有效防御策略的第一步。

概述

网络安全的核心是关于对抗恶意活动。本节我们将深入分析网络空间中的四类主要对手:黑客、罪犯、黑客活动分子和国家行为体。了解他们的动机和特点,有助于我们更好地理解威胁格局。

对手的定义

首先,我们来明确“对手”的含义。在网络安全语境下,对手指的是怀有恶意意图、与你或你的组织处于对立面的个人或团体。这与自然灾害或无意代码错误导致的问题不同,网络安全关注的是有意的、恶意的行为

四种主要对手类型

接下来,我们逐一审视这四类主要的网络威胁行为者。

1. 黑客 🧑‍💻

黑客通常是出于对技术的热爱和好奇心而行动。他们享受破解系统、了解其工作原理的过程。大多数年轻黑客的意图是良性的,他们通过发现系统漏洞来帮助大家理解存在的问题。

然而,黑客行为也存在风险。他们在入侵系统时可能无意中造成破坏,从而给自己带来麻烦。在威胁谱系中,黑客通常被视为危害性较低的一类,他们的活动有时甚至能暴露系统的安全隐患。

2. 罪犯 💰

罪犯的动机非常直接:金钱。这类对手的目标是窃取财物,例如盗取信用卡信息并在暗网上出售。他们的行为纯粹是恶意的,毫无疑问是我们的对手。

随着经济活动日益线上化,金钱以信用卡、比特币等形式存在于网络空间,这为网络犯罪提供了肥沃的土壤。需要牢记的是,只要有金钱存在,犯罪就不会消失,只是形式发生了变化。

3. 黑客活动分子 ⚖️

第三类对手是出于政治、哲学或宗教动机的黑客活动分子。这些团体通常对某个议题充满热情,并利用黑客技术作为表达愤怒或推动议程的手段。

这类群体比较复杂。有时他们的诉求可能是正当的(例如反对不公),但其采取的“网络私刑”手段在大多数社会是不可接受的。他们的行为难以预测,有时你可能赞同其目标,有时则完全反对。著名的“匿名者”组织就是此类群体的代表。

4. 国家行为体 🏛️

这是最严峻的一类对手:国家行为体。这指的是军事或情报组织将网络攻击作为实现军事或政治目标的手段,即网络战

这类对手通常资金充足、资源丰富、极具耐心且技术高超,因此尤其令人担忧。应对国家级的网络威胁需要整个社会的警惕和协作。

防御者的角色 🛡️

在介绍了四类对手后,我们必须强调一个更崇高的追求:成为防御者。整个课程将重点强调防御。

一个常见的误解是网络安全等同于黑客攻击。实际上,构思防御方案比实施攻击性黑客行为要困难十倍。能够入侵一个系统并不稀奇,但能够设计出保护该系统的方案,才真正值得关注。

渗透测试(寻找系统弱点)是网络安全的一部分,但正如我们多次提到的,测试是证明不存在问题的糟糕方法。安全的核心在于构建健壮的防御体系。

归因:对手是否害怕被抓住? 🕵️

“归因”是分析对手的一个重要维度,它指的是能否将攻击追溯到具体的行为者,以及对手是否在意被抓住。

以下是针对四类对手的归因态度分析:

  • 黑客:通常不希望被抓住。虽然他们的破坏性可能不大,但为了避免法律麻烦,他们有较强的动机隐藏身份。
  • 罪犯绝对不希望被抓住。这是犯罪行为的本质,他们极力避免被追踪和逮捕。
  • 黑客活动分子:可能不那么在意被抓住。如果他们旨在传播信息或宣示主张,有时甚至会主动承认攻击行为以扩大影响。这与恐怖主义的某些逻辑类似。
  • 国家行为体:态度较为复杂,处于中间地带。他们可能选择隐秘行动以避免外交纠纷,也可能在特定情况下公开行动以进行威慑。

思考对手对归因的态度,能帮助我们更好地理解他们的动机和可能采用的技术手段,使威胁分析更加深入。

总结

本节课中,我们一起学习了网络安全的四类主要对手:

  1. 黑客:常出于好奇与技术热爱,但可能无意造成损害。
  2. 罪犯:动机为金钱,进行直接的恶意盗窃。
  3. 黑客活动分子:出于理念动机,行为不可预测。
  4. 国家行为体:资源雄厚,将网络漏洞用于国家层面的战略目标。

我们还探讨了“归因”概念如何帮助我们分析不同对手的动机和行为模式。最重要的是,我们明确了网络安全的核心在于防御,而不仅仅是攻击。理解对手是构建有效安全体系、成为一名合格防御者的坚实基础。

013:漏洞类型 🐛

在本节课中,我们将要学习网络安全中的一个核心概念:漏洞。我们将了解漏洞的定义,并系统地学习四种主要的漏洞类型。理解这些类型有助于我们更好地分析和应对安全威胁。

漏洞的定义

漏洞是指系统的一个属性或特征,它可能被利用,从而导致不良后果发生。这并非一个非常技术性的定义,但我们可以理解其核心思想。例如,系统中的某个缺陷或错误,如果可以被利用来造成破坏,那么它就是一个漏洞。

漏洞的四种类型

在网络安全领域,漏洞主要可以分为四种类型。以下是这四种类型的详细介绍。

1. 软件缺陷

第一种类型的漏洞是纯粹的软件缺陷。这通常是软件或系统设计中的错误,即在编写代码时犯下的失误。

例如,如果你编写了一段代码来接收地址和姓名等信息,但忘记在软件中进行边界检查。攻击者可能会发现,在输入地址的字段中,只需按住某个键不放,输入超长的字符,就能导致整个系统崩溃。这就是一个利用了代码缺陷的漏洞。

核心概念示例(代码):

// 一个存在缓冲区溢出风险的简单C代码示例
void vulnerable_function(char *input) {
    char buffer[10];
    strcpy(buffer, input); // 如果input长度超过10,将导致缓冲区溢出
}

2. 缺失的安全控制

上一节我们介绍了由代码错误直接引发的漏洞。本节中我们来看看另一种类型:缺失的安全控制。这并非编码缺陷,而是在系统部署时遗漏了必要的安全组件。

例如,你设置了一个网络,连接了所有设备和Wi-Fi,一切运行正常。但当有人报告系统似乎被入侵时,你才意识到忘记安装防火墙。这就是一个因缺失关键安全组件而产生的漏洞。

3. 人为操作失误

除了系统和配置问题,我们人类自身的行为也可能成为漏洞。第三种类型就是人为操作失误。

一个典型的例子是网络钓鱼。你收到一封邮件,标题是“你有新的通知”,并附上一个链接。出于好奇,你点击了它,结果下载了恶意软件。这种因人的轻信或疏忽而引发的安全问题,就属于人为漏洞。

4. 组织管理失当

最后一种漏洞类型与组织层面的决策和行动有关。这指的是组织未能妥善资助安全团队、没有设立合适的岗位、在制定政策时疏忽大意,或者管理混乱。

例如,一个公司为了节省成本,没有设立专门的安全审计岗位,也没有制定强制性的密码策略。这种组织层面的不作为或错误决策,为整个系统埋下了安全隐患。

总结与重点

本节课中,我们一起学习了漏洞的四种主要类型:软件缺陷缺失的安全控制人为操作失误组织管理失当。虽然从技术实现上看,大多数攻击最终利用的可能是第一种(软件)漏洞,但这四种分类为我们理解安全风险的来源提供了清晰的框架。

我们的课程重点将主要放在第一类(软件漏洞)和第二类(安全控制)上。希望这个分类法能帮助你在脑海中建立起关于漏洞的清晰认知。

014:威胁类型 🛡️

在本节课中,我们将学习网络安全领域对威胁的分类。我们将了解三种主要的威胁类型,并探讨是否存在第四种类型。理解这些分类是构建有效安全策略的基础。

威胁与资产

首先,我们需要明确两个核心概念。资产是你所关心的一切事物,例如你的计算机、网络、软件、基础设施、数据、客户列表和源代码。威胁则是指可能对这些资产造成损害的恶意攻击。在技术语境下,威胁指的是一系列可能导致资产受损的条件。

三种主要威胁类型

上一节我们定义了威胁和资产,本节中我们来看看业界公认的三种主要威胁类型。它们通常被称为“CIA模型”。

1. 机密性

机密性威胁涉及秘密信息的泄露。当本应保密的信息被公开时,就会造成损害。例如,私人谈话被窃听并发布到网上。防止此类泄露的属性称为隐私。因此,当我们确保隐私时,就能减少对机密性或信息泄露问题的担忧。

2. 完整性

完整性威胁涉及对系统或数据的恶意篡改。攻击者不是窃取数据,而是改变系统、破坏或感染它,从而影响系统的有效性和完整性。恶意软件和病毒就是最常见的完整性威胁例子。

3. 可用性

可用性威胁,通常也称为拒绝服务攻击。在这种攻击中,恶意行为者会采取行动,阻止对网络等资源的合法访问。例如,攻击者通过向目标网络发送海量垃圾流量,制造“交通堵塞”,导致正常用户无法接入网络。

这三种威胁类型的英文首字母缩写为 CIA(Confidentiality, Integrity, Availability),构成了网络安全的CIA模型。

第四种威胁类型:欺诈

以上我们介绍了经典的CIA三要素,但有些观点认为存在第四种威胁类型:欺诈或盗窃

这种威胁不涉及信息泄露(机密性)、系统篡改(完整性)或阻断服务(可用性)。它指的是窃取服务或资源而不支付相应代价的行为。例如,乘坐火车却逃票。这种行为构成了欺诈,是独立于CIA之外的一种威胁类型。因此,有时也会使用 CIAF模型(增加Fraud)来描述。不过,CIA模型在计算机安全领域已根深蒂固,两种理解都可以。

总结

本节课中,我们一起学习了网络安全的威胁分类。我们首先明确了资产威胁的定义。然后,深入探讨了三种核心威胁类型:机密性(信息泄露)、完整性(恶意篡改)和可用性(拒绝服务),即CIA模型。最后,我们还了解了将欺诈/盗窃视为第四种威胁类型的观点。理解这些分类是分析具体安全风险和设计防护措施的第一步。

015:行业威胁匹配测验

在本节课中,我们将探讨不同行业面临的主要网络安全威胁。我们将基于CIA三要素(机密性、完整性、可用性),分析互联网服务提供商、软件开发商和身份提供商这三个特定行业最应关注的核心威胁类型。

行业威胁分析概述

上一节我们介绍了CIA三要素的基本概念。本节中,我们来看看如何将这些概念应用到具体的商业领域中。我们将思考:对于不同的行业部门,CIA中的哪一项威胁应被视为首要关切?

以下是三个需要分析的行业示例:

  • 互联网服务提供商:提供网络连接服务的公司。
  • 软件开发商:设计、开发和销售软件产品的公司。
  • 身份提供商:负责验证和管理用户身份信息的机构或服务。

各行业首要威胁匹配

现在,我们来逐一分析每个行业,并匹配其最应关注的核心威胁。

互联网服务提供商的首要威胁

对于互联网服务提供商而言,其核心业务是确保用户能够持续、稳定地访问互联网。因此,他们面临的最大威胁是针对服务可用性的攻击。

首要威胁:可用性

  • 原因:任何导致网络中断、服务降级或拒绝服务的事件,都会直接影响ISP的客户和收入。例如,大规模的DDoS攻击会使其网络瘫痪。
  • 核心关注点:保障网络基础设施和服务的持续运行。

软件开发商的的首要威胁

软件开发商的产品核心在于其代码和功能的正确性与可靠性。因此,他们最需要防范的是针对产品完整性的威胁。

首要威胁:完整性

  • 原因:如果软件代码被篡改、植入恶意功能,或者数据在处理过程中被错误修改,将导致软件失效、产生错误结果,甚至危害用户安全。这会彻底摧毁用户信任。
  • 核心关注点:确保软件代码、更新过程和用户数据在生命周期内不被未授权更改。

身份提供商的首要威胁

身份提供商业务的核心是管理和验证用户的身份信息。这些信息极为敏感,一旦泄露会造成严重后果。因此,保护信息的机密性是其生命线。

首要威胁:机密性

  • 原因:身份信息(如姓名、身份证号、生物特征数据)的泄露会导致身份盗用、欺诈等重大风险。维护用户信息的私密性是这类机构取得信任的基础。
  • 核心关注点:防止用户身份数据在存储、传输和处理过程中被未授权访问或泄露。

课程总结

本节课中,我们一起学习了如何将CIA安全模型应用到具体行业场景中进行分析。我们了解到:

  • 互联网服务提供商最关注可用性,以确保服务不中断。
  • 软件开发商最关注完整性,以保证软件产品的正确与可信。
  • 身份提供商最关注机密性,以保护用户的敏感身份信息。

这种分析思路有助于不同行业根据自身业务特点,明确安全防护的优先重点,从而更有效地分配资源,构建防御体系。

016:匹配测验解答 🧩

在本节课中,我们将一起回顾一个关于CIA模型(机密性、完整性、可用性)在不同行业场景中应用的匹配测验。我们将分析互联网服务提供商、软件开发和身份信息处理这三个行业,并识别它们各自最主要的安全威胁。


上一节我们介绍了CIA模型的核心概念,本节中我们来看看如何将这些概念应用到具体的行业场景中。

互联网服务提供商(ISSPs) 的核心业务是提供服务,因此他们必须保持在线。对于移动网络或互联网服务提供商而言,最糟糕的情况就是服务中断。因此,可用性威胁对该行业群体而言是最严峻的。

以下是关于ISSPs的要点:

  • 他们的主要目标是确保服务持续在线。
  • 服务中断会造成最严重的后果。
  • 因此,可用性是他们最首要的关注点。

接下来,我们看看软件行业。软件开发者向用户提供一段代码,他们希望代码能正常工作。正如你所猜测的,在软件开发领域,完整性是一个至关重要的考量因素。

以下是关于软件行业的要点:

  • 开发者需要确保交付的代码功能正确。
  • 必须防止代码被感染或篡改。
  • 因此,完整性是他们最首要的关注点。

最后,我们来看处理身份信息的行业。当涉及身份信息流通时,机密性是一个重大问题。例如,在验证身份有效性的过程中,可能会处理大量客户记录,必须非常小心,避免泄露任何身份信息。

以下是关于身份信息行业的要点:

  • 该行业处理大量敏感的个人身份数据。
  • 保护这些数据不被未授权访问至关重要。
  • 因此,机密性是他们最首要的关注点。

可以看到,这三个行业部门虽然关注点略有不同,但请注意,它们实际上都会关心每一种威胁。我们这里讨论的是它们最主要的关切。在上述三个案例中,最主要的关切应该比较明确了。

希望这个分析对你有帮助。让我们牢记这个CIA模型,并认识到在某些情况下,可能还存在第四个维度(例如可追溯性)。


本节课中我们一起学习了如何将CIA模型应用于不同行业。我们分析了互联网服务提供商最关注可用性,软件行业最关注完整性,而身份信息处理行业最关注机密性。理解不同场景下的首要安全威胁,是进行有效风险管理和安全设计的基础。

017:保密性威胁 🔒

在本节课中,我们将要学习网络安全中的“保密性威胁”,即信息被未经授权方获取的风险。我们将通过一个真实的故事来理解这一威胁,并探讨如何通过加密技术来应对它。


故事背景:一个政治组织的担忧

上一节我们介绍了保密性的基本概念,本节中我们来看看一个具体的例子。大约20年前,美国民主党全国委员会曾担心电子邮件安全问题可能导致他们输掉选举。他们希望获得帮助,以增强其电子邮件的隐私性。这个故事有趣地预示了后来发生的一些事件。

什么是保密性威胁?

保密性威胁的核心是“披露”,即敏感信息被泄露给未经授权的个人或系统。这类似于在一个公共场合交谈,旁边的人可以轻易听到你们的对话内容。在美国的法律下,公共场所的对话通常不被视为隐私。

应对威胁的核心技术:加密

解决保密性和披露问题的主要技术是加密。其核心思想是扰乱或打乱在两个实体(如人、计算机、建筑物)之间传输的数据。

核心公式/概念:

明文 --[加密算法]--> 密文 --[传输]--> 密文 --[解密算法]--> 明文

如果有人在传输过程中窃听,他们只能看到无法理解的密文,从而保护了通信的机密性。

加密的两种部署方式

以下是两种主要的加密部署策略,各有其优缺点。

1. 端到端加密

  • 描述:在通信的起点和终点(例如每个人的设备上)进行加密和解密。
  • 优点:安全性更高,能保护数据在整个传输路径上的安全。
  • 缺点:实施起来更复杂,工作量更大。

2. 链路加密

  • 描述:在特定链路的两端进行加密,例如在两个建筑物的网络出口之间。
  • 优点:实施相对简单,集中管理。
  • 缺点:数据在进入加密链路前和离开后是明文,存在风险。这类似于我们常说的“边界防护”模型。

实施加密的考量因素

面对保密性威胁,决定是否实施以及如何实施加密并非一个简单的决定。在采纳安全建议前,组织需要考虑多个因素。

以下是需要考虑的关键点:

  • 成本:部署和维护加密系统需要投入资金和时间。
  • 对业务的影响:加密是否会影响通信质量或用户体验?(例如,通话声音是否变得不清晰?)
  • 复杂性:实施过程是否过于复杂,以至于影响正常运营?
  • 风险与收益的平衡:为降低披露风险所付出的代价,是否值得?

总结

本节课中我们一起学习了保密性威胁的本质,它关乎信息被未经授权访问的风险。我们通过一个政治组织的早期案例,引出了应对该威胁的核心手段——加密。我们分析了端到端加密链路加密两种策略,并认识到,在实际部署安全措施时,必须综合考虑成本、复杂性和对业务的影响等因素。降低安全风险并非没有代价,需要做出审慎的权衡。

018:完整性威胁 🛡️

在本节课中,我们将要学习网络安全中的完整性威胁,也称为修改威胁。我们将探讨攻击者如何通过破坏软件或系统的完整性来达到恶意目的,并以恶意软件为例进行说明。同时,我们会深入了解一种常见的技术手段——缓冲区溢出攻击,并解释其工作原理。

完整性威胁概述

完整性威胁指的是攻击者可能出于恶意目的,破坏资产、软件或系统的完整性。一个明显的例子是恶意软件。原本具有正确性或有效性的代码,被攻击者植入恶意软件后遭到破坏。

计算机内存模型与完整性威胁

计算机自诞生以来,其CPU内存模型就具有高度的灵活性。这意味着我们可以通过修改和调整代码,使其执行其他操作。与硬件不同,软件具有很高的可修改性。例如,对一辆卡车进行根本性修改非常困难,因为它是硬件,组件相互连接,修改需要专业知识和技能。然而,软件则不同,我们可以轻松地对代码进行修改。

缓冲区溢出攻击原理

在编程中,缓冲区处理是一个常见问题。程序员经常使用内存中的临时空间来跟踪数据。例如,在栈操作中,我们可能会将值推入内存中的临时空间,然后进行弹出和计算。计算机内存通常分为程序区和数据区,这种设计使得程序和数据共存于同一内存空间,但也带来了潜在的安全隐患。

以下是缓冲区溢出攻击的基本步骤:

  1. 溢出缓冲区:攻击者向缓冲区输入超出其容量的数据。
  2. 覆盖内存:溢出的数据不仅填满缓冲区,还会覆盖相邻的内存区域。
  3. 控制程序流:通过精心构造的溢出数据,攻击者可以覆盖异常处理程序的地址。
  4. 执行恶意代码:当程序崩溃时,程序计数器会跳转到被覆盖的地址,执行攻击者预设的恶意代码。

例如,攻击者可能会用一系列无操作指令填充缓冲区,直到覆盖异常处理程序的地址,并在其后附加恶意代码。当程序崩溃并尝试执行异常处理程序时,会先执行无操作指令,然后运行恶意代码,从而控制目标机器。

深入学习资源

互联网上有很多关于缓冲区溢出的资源。我们建议您查阅一篇名为《Smashing the Stack for Fun and Profit》的经典论文,以更深入地理解缓冲区溢出攻击的技术细节。

总结

本节课我们一起学习了完整性威胁的基本概念,重点探讨了缓冲区溢出攻击的原理。完整性威胁通常涉及内存问题,因为数据和程序在内存中交织存储,攻击者可以利用这些特性破坏计算机系统的完整性。理解这些原理有助于我们更好地防范和应对此类安全威胁。

019:可用性威胁 🛡️

在本节课中,我们将要学习网络安全中的“可用性威胁”,特别是“拒绝服务”攻击。我们将探讨其核心概念、工作原理,并通过简单的比喻和例子帮助你理解。

概述

拒绝服务攻击是指攻击者通过恶意手段,堵塞或阻断授权用户访问其有权访问的资源。这就像制造大量噪音,让你无法听清真正想听的声音。

拒绝服务攻击的基本原理

上一节我们介绍了可用性威胁的概念,本节中我们来看看拒绝服务攻击是如何具体运作的。

攻击的核心思想是向目标系统发送大量无效或高负载的请求,使其资源(如带宽、处理能力)被耗尽,从而无法为正常用户提供服务。这类似于用噪音干扰正常的听觉。

关键属性:放大与反射

拒绝服务攻击的有效性依赖于两个关键属性:放大反射

放大是指一个小动作能引发巨大的后果。公式可以简单表示为:
小查询 -> 巨大响应

例如,你问系统“现在几点?”,它回答“2点”。这是一个简单的问答。但如果你问“请用所有语言告诉我未来三个月内每一秒的时间”,系统就会返回海量数据,这就是放大效应。

反射是指攻击者隐藏自己,让响应数据包去攻击另一个目标。过程如下:

  1. 攻击者向某个服务器(反射器)发送一个请求,但将请求的源地址伪造成受害者的地址。
  2. 服务器向这个伪造的源地址(即受害者)发送响应。
  3. 受害者收到大量来自服务器的响应数据包,导致网络拥堵。

辨别安全事件

了解了拒绝服务攻击的原理后,我们可以用它来辨别哪些事件属于网络安全攻击。

以下是三个可能影响系统可用性的场景,请思考哪些构成了网络攻击:

  1. 闪电击中数据中心:导致数据中心无法处理数据。
  2. 恶意软件故意瘫痪接入点:如Wi-Fi、4G基站,使其对授权用户不可用。
  3. 非故意的编码错误:导致系统崩溃。

我们来逐一分析:

  • 闪电事故:这是非恶意、非故意的自然事件,虽然是个问题,但不属于安全范畴。
  • 非故意编码错误:同样是意外,没有恶意意图,因此也不是安全攻击。
  • 恶意软件瘫痪接入点:这是故意、恶意的行为,旨在使授权用户无法访问服务,这正是一种拒绝服务攻击

关键点在于:安全攻击意味着故意、恶意的行为。非故意或不可避免的事件属于运行问题,而非安全问题。

总结

本节课中我们一起学习了:

  1. 拒绝服务攻击的定义:恶意阻断授权用户访问资源。
  2. 攻击的核心机制:通过制造大量“噪音”(无效请求)淹没目标。
  3. 两个关键属性:放大(小动作引发大影响)和反射(隐藏攻击者,让服务器响应去攻击受害者)。
  4. 如何辨别安全事件:关键在于是否存在故意、恶意的意图

记住放大和反射的概念,在后续学习更技术性的分布式拒绝服务攻击和僵尸网络时,你会发现它们是基础。

020:欺诈威胁 🕵️♂️

在本节课中,我们将要学习网络安全中的一个特殊威胁类型——欺诈(或称盗窃)。我们将探讨其核心概念、如何识别风险,以及防范此类威胁的基本思路。

上一节我们介绍了多种威胁类型,本节中我们来看看其中一种与金钱直接相关的威胁:欺诈。

欺诈威胁概述

欺诈,或称盗窃,是指未经支付而非法获取资产的行为。在网络安全领域,随着在线服务和电子商务的普及,防止他人窃取有价值资产已成为一项至关重要的任务。因此,我们需要理解这一威胁的典型模式。

识别欺诈风险

识别欺诈风险的第一步是进行资产盘点。以下是判断是否存在欺诈风险的关键考量:

  • 是否存在财务价值:财务价值是吸引欺诈者的根本原因。如果被保护的对象没有财务价值,那么欺诈通常不会成为主要问题。反之,当存在财务价值时,我们就需要采取措施进行防范。

防范欺诈的核心:行为分析

为了预防欺诈,我们需要寻找欺诈者通常遵循的线索。这引出了网络安全中的一个核心概念:行为分析。行为分析是指通过观察实体的行为模式,来判断其是否正在实施欺诈。

行为分析实例

让我们通过一个简单的例子来理解行为分析。

假设我们正在监控一个系统的密码输入记录。程序记录到以下事件:

  1. 用户ID A 尝试了密码 X,验证失败。
  2. 用户ID A 再次尝试了密码 Y,验证失败。
  3. 用户ID A 又尝试了密码 Z,验证失败。

从行为角度看,这里存在一个关键问题:这三次尝试是用户忘记了密码,还是欺诈者在尝试破解账户?在网络安全中,区分真正的攻击和正常的用户失误(即“误报”)是许多安全控制措施的基石。

另一个常见的例子是银行的反欺诈系统。当系统检测到您的信用卡在短时间内于异地(如新加坡)发生大额交易时,可能会致电确认:“先生/女士,我们发现您的信用卡正在新加坡消费,请问是您本人操作吗?” 这就是在进行行为分析,寻找不符合用户习惯的异常模式。很多时候这确实是误报(用户本人确实在旅行消费),但检查是必要的。

欺诈行为的常见模式

欺诈者行为通常表现出一些可识别的模式。以下是欺诈活动中另一个常见例子:

许多网站使用“向导”流程来引导用户完成多步操作(例如,第一步填写地址,第二步选择支付方式,第三步确认订单)。反欺诈系统会监控用户是否跳过了某些步骤。因为欺诈者通常缺乏耐心,并可能利用技术手段绕过正常流程。系统若检测到向导步骤被跳过,则会将其标记为潜在的欺诈行为进行审查。

总结与核心要点

本节课中我们一起学习了网络安全中的欺诈威胁。

  • 核心概念:欺诈即盗窃,是不支付对价而非法获取资产的行为。
  • 风险识别:关键在于评估受保护资产是否具有财务价值。公式可表示为:欺诈风险 ∝ 资产财务价值
  • 主要防范手段:依赖于行为分析。通过监控用户或系统的行为,寻找异常模式(如短时间内多次密码错误、异地异常交易、跳过正常业务流程等)来识别潜在的欺诈活动。
  • 重要挑战:必须谨慎区分真正的欺诈攻击和正常的用户行为(即减少“误报”)。

最终的学习要点是:凡有金钱流动之处,就必须警惕欺诈或盗窃可能发生。 在很大程度上,用于降低欺诈风险的技术和保障措施,都将植根于对行为活动的监控与分析,正如您的信用卡公司所做的那样。

021:漏洞测试

在本节课中,我们将要学习软件测试的基本概念,特别是漏洞测试。我们将探讨测试在发现安全问题方面的作用及其局限性,并理解为什么通过测试无法证明系统完全没有漏洞。

软件测试的本质 🧪

上一节我们介绍了网络安全的基本概念,本节中我们来看看软件测试。首先,我们需要理解软件测试的核心目的。

伟大的计算机科学家埃德加·迪杰斯特拉(Edgar Dijkstra)对此有过精辟的论述。他教导我们,软件在某种意义上深深植根于数学,因此我们必须谨慎对待。他关于测试的主要观点是:测试是证明存在问题的一种有效方法,但却是证明不存在问题的糟糕方法

这个道理很简单。如果我进行测试并发现了问题,那么我确实证明了问题存在。但是,如果我进行了测试却没有发现问题,我能因此断定所有问题都不存在吗?不能。这就是网络安全领域的一个关键问题。

渗透测试的常见误解 🔍

许多网络安全的学习者和从业者可能认为,渗透测试(即对系统进行探测)是确定是否存在安全问题的有效方式。这种想法很普遍。

想象一个场景:你作为一名安全顾问,受雇为一家商店、银行或政府机构检查系统安全。你可能会尝试各种方法,比如尝试入侵某个系统、摆弄医疗设备或连接奇怪的配件。当你发现一个漏洞时,你会记录下来并生成报告交给客户。

客户会很高兴,因为你发现了一个问题。他们会修复它并支付报酬。然而,你真正证明了什么?你只证明了存在一个特定的问题,但并未证明不存在其他问题

这一点至关重要,因为网络安全中普遍存在一种误解,认为通过渗透测试、白帽黑客行为或探测,就能证明系统没有安全问题。这并不正确。你必须牢记这个基本原理,这可能是当今网络安全领域最大的误解之一。

测试的乐趣与局限 😄

我们必须承认,发现和突破系统确实很有趣。如果你有一点顽皮的好奇心,你可能会觉得网络安全非常吸引人。根据我31年的经验,吸引人们进入网络安全领域的,往往是那种喜欢打破常规、探索问题并指出问题的特质。

这没有错。你应该为此感到自豪,这让你成为一个更聪明、更好奇的人。不要失去这种特质。但同时,也要认识到我们在进行渗透测试时的局限性。

漏洞路径的理论模型 🗺️

从理论上看,我们可以用一个图表来说明。假设在主体(攻击者)和客体(目标系统)之间存在许多潜在的漏洞路径。

通过测试,我可能发现其中一条路径。公式表示可能发现的路径数:发现的路径数 ≤ 存在的总路径数。即使我在报告中指出发现了两三条漏洞路径,客户感到满意,但我可能遗漏了其他几十条路径。你明白这个意思。

作为学习社区,我们在学习这些课程材料时,需要时刻牢记这一点。

总结 📚

本节课中我们一起学习了漏洞测试的核心思想。我们了解到:

  • 测试可以有效证明漏洞的存在
  • 测试无法证明漏洞的缺席,这是其根本局限性。
  • 渗透测试和黑客行为虽然能发现特定问题,但不能确保系统完全安全。
  • 保持好奇心和探索精神很重要,但同时必须对测试的局限性有清醒的认识。

理解测试的“证有不证无”特性,是构建正确网络安全评估思维的基础。

022:网络攻击剖析 🛡️

在本节课中,我们将要学习网络攻击的基本概念。我们将从防御者的视角出发,了解攻击是如何被组织、识别和应对的。理解攻击的阶段和特征,是构建有效防御策略的第一步。

攻击的视角:防御者所见

上一节我们介绍了网络安全的基础,本节中我们来看看网络攻击。我们将接触到一些技术性更强的材料。你会发现,前面的很多内容涉及分类法和一些背景故事。这些故事旨在建立一个基础,以便我们后续可以开始进行一些计算机科学层面的探讨。

目前,我希望帮助你理解一次网络攻击是如何被组织的。我们将采取防御者的视角。当防御者观察一次网络攻击时,我们看到的是被称为指标的东西。这意味着我们看到一些暗示或迹象,表明可能有事情正在发生。

例如,如果你坐在家里,看到一辆车驶过,你可能会想:“有车开过去了。这会不会是个问题?”你会因此报警吗?可能不会。这只是一个指标。如果你报警,可能会和警察有一番奇怪的对话:“你说你看到一辆车开过去了?”假设几分钟后,你又看到一辆车开过去。现在你开始觉得不对劲了。你会看到这些指标,它们可能让你相信你正遭受攻击,也可能不会。

这些指标会累积到某个阈值,此时攻击确实已经发生。之后你看到的指标可能伴随着实际的损害。例如,你可能注意到资产确实正在受损,出现了真正的问题。

攻击的阶段划分

因此,我们倾向于将攻击分为两个阶段:早期预警阶段攻击后阶段。我们说攻击有早期阶段和后期阶段。

请记住,任何人都会说,最好在早期阶段阻止攻击。这完全合理,你希望在问题发生之前就阻止它。就像如果我因为一辆车开过去几次而报警,而那真的是罪犯,那就太棒了。我阻止了犯罪,没有等到他们闯入我家、砸坏东西、偷走财物。如果我等到他们闯入后才报警,虽然也能理解,但显然不如在他们开车经过时就报警来得好。

早期响应的挑战

那么,在早期阶段报警有什么问题呢?对于网络防御者来说,基于早期指标启动事件响应有什么问题呢?

这被称为误报。这意味着我对于网络攻击的大部分大惊小怪,实际上可能根本不是一次网络攻击。我可能是在为子虚乌有的事情瞎忙活。

因此,作为网络防御者,我们试图以一种有助于预防的方式来组织对网络攻击的理解,同时也要平衡我们愿意花费的时间。我们需要处理可能不断出现的各种预警指标,以及在不同阶段可能出现的问题,并确保我们没有浪费所有时间。

攻击者的视角

现在,从攻击者的角度思考网络攻击,他们会做以下事情:
以下是攻击者通常遵循的步骤:

  1. 侦察:在最初阶段收集目标信息。
  2. 扫描:尝试探查你的系统上正在运行什么。
  3. 获取访问权限:以某种方式进入你的系统。
  4. 实施攻击:进行真正的漏洞利用。
  5. 掩盖踪迹并撤离:清除活动痕迹然后离开。

这是攻击者行为的一个概要。而防御者只看到一堆指标。攻击者不会给你寄送他们的行动计划地图。两者截然不同。

防御的核心困境

所以我希望你能这样思考:作为一名防御者,你没有攻击者正在做什么的地图。他们不会为你铺好道路。这就像在一个黑暗的房间里摸索。这就是在实际环境中进行网络安全工作的感觉。

这个意象非常重要:在黑暗的房间里摸索,试图理解这里到底发生了什么,正在发生什么样的事情。这本质上就是网络安全的核心问题。如果我们知道攻击者在做什么,那一切就简单了。但事实证明,我们并不知道。

本节课中我们一起学习了网络攻击的基本框架。我们从防御者的视角,认识了攻击指标、攻击的阶段划分(早期预警与攻击后),以及早期响应面临的误报挑战。同时,我们也了解了攻击者典型的行动步骤:侦察 -> 扫描 -> 获取访问 -> 实施攻击 -> 掩盖踪迹。最后,我们明确了防御工作的核心困境:如同在黑暗房间中摸索,缺乏攻击者的完整“地图”。理解这些是迈向有效防御的第一步。

023:暴力破解与启发式攻击 🔐

在本节课中,我们将要学习网络安全领域中两种主要的攻击类型:暴力破解攻击和启发式攻击。我们将了解它们的基本原理、区别以及防御它们的关键策略。


两种主要的网络攻击类型

在网络安全领域,我们主要会遇到两种不同类型的攻击。

暴力破解攻击 💥

第一种攻击被称为暴力破解攻击。在这种攻击中,攻击者会创建软件、系统或某种攻击策略,其本质是尝试输入集合中的每一种可能性,以试图侵入你的系统。

一个明显的例子是密码破解。一种可能的破解密码方法就是尝试每一个可能的密码。这听起来很疯狂,但这就是为什么我们试图增加你使用的密码长度,并确保其具有足够的长度和复杂度,使得尝试所有可能性变得不那么容易。

如果你有一个三字符的密码,我甚至可以在睡梦中写一个程序来尝试所有三个字符的可能性。因此,在网络安全中,暴力破解攻击是通过增大域的大小来挫败的。

请记住这一点:当有人问你“这个加密算法的强度如何”时,有时他们指的是密钥的大小可能的密钥数量(域的大小)。如果域的大小非常大,那么它就被认为是强壮的。

核心概念:防御暴力破解的关键在于增大搜索空间。例如,对于一个密码,其可能的组合数量可以用公式表示:
总可能性数 = (字符集大小) ^ (密码长度)


启发式攻击 🧠

上一节我们介绍了依赖穷举的暴力破解,本节中我们来看看另一种不同的思路。

第二种我们经常在网络中看到的攻击类型叫做启发式攻击。启发式攻击有所不同。在这种攻击中,你利用的是你的智慧、知识或所谓的“捷径”。

在暴力破解中,我写一个程序遍历所有可能性。而在启发式攻击中,你会说:“我没有时间那样做,我不能用那种方式。我需要一个捷径,我需要某种方法来减少攻击你系统所需的时间。”

我们在防御端应对启发式攻击的方法,不是靠增大规模,而是靠增加复杂度。我试图让我设计的、你想要破解的方案变得非常复杂,以至于你无法利用你的智慧来找到捷径。

核心概念:防御启发式攻击的关键在于增加系统或算法的复杂性,使其难以通过逻辑推理或发现模式来破解。例如,一个过于简单的加密函数 F(x) = 2x 很容易被识破,而一个复杂的函数则不然。


总结与综合应用

让我们把这两点结合起来。暴力破解关乎规模(Size)。所以,如果我看到某个东西存在弱点,比如在密码学中密钥数量少,或者在猜测时可能性有限,那么这种暴力破解的特性就会引导我采用那种方法。

但是,如果我发现你已经考虑到了这一点(增大了规模),那么我就会运用我的智慧,看看是否能找到一种方法,在不尝试所有可能性的情况下破解这个系统。

例如,举一个简单的加密例子:如果我说密钥只有三个字符,那么就用暴力破解。但如果我试图让密钥长度变得非常大,那么问题就变成了:我能否猜出算法?你是否在做一些非常愚蠢的事情?如果函数是 F(2)=4, F(3)=6, F(4)=8,我不需要遍历所有可能性就能看出你只是在将输入值加倍。

因此,复杂度(Complexity)规模(Size) 是我们应对这两种主要网络攻击的两种方式。

  • 暴力破解通过增大规模来应对。
  • 启发式攻击通过增加复杂度来应对。

请记住这一点。


本节课中,我们一起学习了网络安全中的两种核心攻击模式:暴力破解与启发式攻击。我们明确了暴力破解依赖于穷举所有可能性,可通过增大密钥空间或密码长度(即增大规模)来有效防御;而启发式攻击则依赖于寻找逻辑捷径或模式,需要通过设计复杂的算法和系统(即增加复杂度)来抵御。理解这两种攻击及其对应的防御原则,是构建安全系统的基础。

024:密码分析 🔐

在本节课中,我们将学习密码学的对立面——密码分析。我们将探讨攻击者试图破解加密信息的三种主要策略,并理解如何通过设计来抵御这些攻击。


密码学与密码分析

创建密码的艺术与科学被称为密码学。在本课程中,我们将学习基础的密码学知识,并理解其工作原理。

相对应的,破解密码的艺术与科学则被称为密码分析。简单来说,制作密码是密码学,破解密码是密码分析。这是一个很好的案例研究,能帮助我们在不同的分类框架下,更深入地理解网络攻击。

密码分析的三种策略

接下来,我们将按顺序介绍密码分析的三种主要策略。

1. 唯密文攻击

这是最困难的一种情况。攻击者只能看到一串加密后的数据流,对其中包含的内容没有任何提示。攻击者只能看到密文,并必须设法破解加密。

在之前的视频中我们提到,一种可能性是进行暴力破解攻击,即尝试所有能想到的密钥进行解密。另一种方法是分析密文本身,看是否能从中找出规律,从而逆向推导出加密过程,我们称之为解密密码分析处理

唯密文攻击是密码分析中最困难的情况,因为它没有任何线索。

2. 已知明文攻击

第二种情况是攻击者拥有一些提示。可以想象,你有一张纸,上面写着一些英文原文,旁边就是这段原文的加密版本。你得到了提示,可以观察到“哦,这个加密后变成了那个”。

在计算领域,我们通常将其视为Alice和Bob之间的挑战-响应过程。加密通常作为一个函数来实现。当Alice向Bob发送一个挑战(明文)并得到响应(密文)时,如果攻击者Eve在旁观察,她就能同时看到明文和对应的密文。这虽然不能揭示整个加密函数,但确实提供了有价值的线索。

已知明文攻击为攻击者提供了破解的线索,难度低于唯密文攻击。

3. 选择明文攻击

第三种情况是攻击者实际上拥有加密函数。例如,通过某种方式获得了加密设备或算法。在这种情况下,攻击者可以创建一个“密码本”。

以下是创建密码本的过程:

  1. 向加密函数输入一个明文。
  2. 观察并记录输出的密文。
  3. 重复此过程,输入大量不同的明文,并记录所有对应的密文,从而构建一个庞大的映射表。

你可能会想,如果能构建出完整的密码本,那不就破解了一切吗?我们该如何应对这种情况?

回想一下,我们之前提到哪种攻击涉及重复尝试?答案是暴力破解。而我们应对暴力破解的方法是什么?是增大密钥空间(Size)

如果我正在构建密码本,那么加密算法的复杂性就无关紧要了。我不在乎你的加密算法使用了多么巧妙的置换或数学函数。只要我能输入并读取输出,我就能构建映射。

但我无法应对的是,如果你将密钥空间设计得极其巨大,以至于构建完整密码本需要从现在直到宇宙尽头的时间。让我再说一遍:如果我设计的密钥空间足够大,使得构建密码本需要耗费近乎无限的时间,那么攻击者还有开始的动机吗?这毫无意义。

因此,通过设计足够大的密钥空间来应对暴力破解(包括选择明文攻击),是我们的核心防御策略。


总结

本节课我们一起学习了密码分析的三种主要策略:

  1. 唯密文攻击:最困难,无任何线索。
  2. 已知明文攻击:拥有部分明文-密文对作为线索。
  3. 选择明文攻击:理论上最容易,但可通过设计巨大的密钥空间(例如,使用足够长的密钥)来有效抵御,使其在实践上不可行。

理解这些攻击模式,是设计和评估加密系统安全性的重要基础。

025:破解凯撒密码 🔓

在本节课中,我们将学习一种经典的密码分析方法,即针对凯撒密码的唯密文攻击。我们将了解如何结合暴力穷举和启发式方法,通过分析字母频率来自动破解简单的替换密码。

概述

我们将从一个具体的密码分析攻击实例开始。这个例子将展示,即使面对简单的加密方法,如何利用统计规律和自动化程序来解密信息。

加密函数与凯撒密码

首先,我们需要一个加密函数,密码学家通常称之为“密码”。我们将使用一个非常简单的加密方法——替换密码。

替换密码的原理是:取一个字符,用另一个字符替换它。例如,取一个字母,用另一个字母替换。

我们将使用所有替换密码中最简单的一种,即所谓的凯撒密码。它的原理是简单地将字母表中的字母进行移位。

例如,假设我将每个英文字母向前移动两位。那么,A 就变成了 C,B 变成了 D,依此类推。虽然这不是一个很强的加密函数,但它能很好地说明我想要展示的攻击类型。

字母频率分析

接下来,我们引入一个核心概念:字母频率分布。如果我们观察一种语言(例如英语)的字母频率分布,会发现它具有很强的可预测性。

例如,在英语中,字母 Z 出现的频率远低于字母 A、E 或 R。我们可以用非常数学化的方式精确地列出英语语言的频率分布。

我们知道,如果从一个句子开始统计字母,并不会立即完全呈现出标准的频率分布。这需要时间。随着我们摄入的数据越来越多——一个句子、一个段落、一页、十页、一整本书——当我们统计完一整本书的字母并构建出直方图时,我们几乎可以肯定已经还原出了该语言的频率分布。数据越多,我们得到的频率分布就越精确,越接近理论上的分布。

唯密文攻击的原理

现在,如果我们对凯撒密码(一种将字母表向前移位若干位的替换密码)发起唯密文攻击,这意味着什么呢?

假设你原本想写“Apple”(A-P-P-L-E)。当你加密时,A 变成了 C,P 变成了 R,第二个 P 也变成了 R,以此类推,所有字母都向前移位。

如果我获取这段加密后的密文流,并开始为其构建字母频率直方图,会发生什么呢?这些字母将“神奇地”呈现出英语语言的频率分布,但对应的是它们加密前的原始字母。

例如,如果密文中 C 出现频繁,那么它在频率分布中对应的可能就是原始字母 A(因为 A 被加密成了 C)。同理,P 被加密成了 R。因此,无论我最初输入的英文文本是什么,其预期的频率分布都会被加密过程“保留”下来,只是字母本身被替换了。

自动化破解过程

基于这个原理,我可以编写一个 Python 或 C 语言程序。这个程序只需摄入密文数据,构建其字母频率直方图,然后将其与已知的英语标准频率分布进行匹配。

通过这种匹配,程序就能推断出加密时使用的具体移位量,从而破解密码。这本质上是一种结合了暴力穷举(尝试所有可能的移位)和启发式方法(利用频率分布作为判断依据)的自动化密码分析攻击。

总结

本节课中,我们一起学习了如何对凯撒密码实施唯密文攻击。我们了解到,通过分析密文的字母频率分布,并将其与目标语言的已知频率进行比对,可以自动化地破解简单的替换密码。这个例子生动地展示了如何将计算机、暴力穷举和启发式方法结合起来,形成有效的网络攻击手段。请记住这个有趣的原理,它揭示了密码分析的基本思想。

026:职业访谈与行业洞察 🎙️

在本节课中,我们将跟随纽约大学的访谈,了解网络安全专家Jose Dominguez的职业路径、行业见解以及对初学者的建议。我们将学习如何结合技术、业务和安全知识来构建职业生涯,并探讨当前网络安全领域的主要趋势与挑战。


职业背景与入门

上一节我们介绍了本次访谈的背景,本节中我们来看看Jose Dominguez是如何进入科技和网络安全领域的。

我的背景主要源于高中和初中时期对数学的擅长。回溯到70年代和80年代,当时还没有个人电脑。当我进入大学时,正值IBM个人电脑和微软DOS系统问世。我的父母曾希望我成为一名医生。😊 我开始选修编程语言相关的课程,从那一刻起,我发现这是一个全新的前沿领域。无论是Fortran还是PL/1这些古老的语言,机器所能实现的功能都让我着迷,从此我再未回头。这就是我真正进入技术领域的方式。

还记得你的第一台电脑吗?它是什么型号?
我的第一台电脑是PC XT,它拥有64KB内存、一个软盘驱动器,以及640x200分辨率的屏幕。由此可见,我们已经取得了长足的进步。

随着你的发展,你发现自己对商业和科技哪个更感兴趣?因为你的工作涵盖了两者。你的职业道路是怎样的?
主要是技术。最初是编程和理解应用程序,这逐渐演变为与商业的结合。我承认,在我15岁时的第一份暑期工作是递送股票证书。那时没有电子结算,没有互联网,只有ARPANET。大多数金融公司处理的是实物证券。因此,在我学习各种计算机语言的同时,我开始在经纪公司和金融公司工作,这让我真正开始接触商业安全。

有两本书对我影响深远:一本是《The Cuckoo's Egg》(我想它现在还能找到),另一本是80年代末James Bamford所著的《The Puzzle Palace》,内容是关于NSA的。这些书激发了我对安全的兴趣,但我当时并未直接应用它。我持续关注这个领域,但更专注于通过编程和为业务创造价值来理解业务运作流程。我在经纪行业工作了大约30年,直到四、五年前,管理层给了我一个机会。那时,安全已经逐渐从纯技术层面演变为更多关于风险管理。他们说:“我们这里有既懂技术又懂业务运作的人,这简直是做出风险决策的完美人选。”


网络安全中的风险管理

上一节我们了解了Jose的技术与业务结合之路,本节中我们来看看网络安全的核心——风险管理。

归根结底,安全工作的核心在于你拥有什么样的框架,以及如何做出风险决策。对于一些学生来说,这可能听起来很简单,认为是非黑即白的选择,就像超速罚单:时速超过55英里就会被开罚单。然而,量化风险并在此基础上结合潜在的收益和回报要困难得多。这正是安全工作中最具挑战性的部分。我们整天都在做这样的决策:是否允许员工访问LinkedIn?是否允许连接Twitter?这些你视为理所当然的事情也潜藏着风险,我们需要不断努力去缓解这些风险。


金融行业的安全挑战

在金融服务业负责安全想必非常刺激,因为一旦出事,后果严重。我猜你必须每天都保持高度警惕。
是的,因为我们管理着超过8000亿美元的资产,拥有约600万客户和6000名员工。我们持续保护数据和资产,因为客户是我们存在的首要原因。我们希望保护这些信息。就我们公司而言,试图窃取我们知识产权的人相对较少,因为我们是佣金业务。主要的威胁是那些试图获取客户信息或直接窃取资金的人。我认为这是我们面临的最大威胁。这是一项每周7天、每天24小时不间断的工作,没有休息日。


对求职者的建议

我知道你们雇佣很多年轻人,包括有经验和没经验的人。当你面试或考虑候选人时,你认为哪些技能在网络安全领域(特别是金融领域)会令你印象深刻?
我首先看重的是热情。你是否拥有做好工作的热情和渴望?这是我始终认为的首要动力。其次,我关注技术技能。在我的编程生涯中,我发现语言每三到四年就会变化一次,无论是PL/1、Java还是Angular、Backbone。我寻找的是拥有技术背景的人,无论是网络还是编程,理解技术的能力以及如何利用技术来最大化公司的潜力。同时,要能够快速适应变化。

我建议先学习技术,然后告诉那些职业生涯刚起步的人:去了解你的业务是如何运作的。它是五天交易周期吗?还是24小时银行周期?理解业务如何运作,才能将你的技术能力发挥到极致。

所以,几乎可以看作是三个不同的支柱:技术基础业务基础,然后才是安全。把它们结合起来,是这样吗?
完全正确。你需要理解公司使用的技术,了解公司如何利用这些技术开展业务。如果你同时掌握了这两环,那么最上面的一环就是:我该如何保护和确保其安全。在安全领域,我们无法扮演进攻方,全是防守。我们必须理解我们要保护什么,以及存在哪些不同的威胁方式。


行业趋势与挑战

你大概整天、每天,包括周末和夜晚,都在查看威胁。如果退一步看,让你评论一下趋势,是情况变得越来越糟了,还是只是变得不同了?我想你经常被问到这个问题。
是的,情况正变得越来越糟,但“变糟”进入市场的速度也在加快。我想到一个最好的类比,可能你的学生们不记得那个时代,那就是安全气囊。最初,安全气囊只存在于高端车辆,随着时间的推移,它逐渐普及到每一辆汽车。我们发现,对于欺诈者和恶意行为者而言,曾经只有国家层面才能掌握的技术,现在很容易变成商品,提供给许多个人使用。这种速度意味着,个人几乎拥有了我们称之为“大规模杀伤性武器”的能力,并且可供利用的技术资源也越来越多。

几周或几个月前,我们看到了Mirai僵尸网络。你的学生们可以谷歌一下。随着物联网和万物互联,攻击者能够利用这些设备,并将其工具公之于众,让世界各地的其他人也能使用它,例如利用安全摄像头发起DDoS攻击。回想几年前,家里没有人有安全摄像头,也没有人把电视连接到互联网。这种几乎所有设备的互联,以及社会对技术的依赖,带来了很多好处,但也存在一些漏洞,让某些恶意行为者有机可乘,并将其用于负面目的。

我并不是说我们应该像卢德分子一样摒弃技术,技术的回报是巨大的。只是,以安全的方式实现这一点正变得越来越困难。但攻击速度的加快意味着防御速度也必须跟上。
这确实是最难的部分。因为问题在于,我如何建立一种昨天还不具备的“肌肉记忆”或能力,而现在却需要对它做出反应。你尝试招募一些有才华的人,尝试领先一步,预测“冰球”将去向何方。有时你做对了,有时做错了。但你不能等到新闻爆出事件后才开始构思防御措施。你必须开始思考:趋势将走向何方?我在哪里看到了更大的竞争即将到来?


总结与建议

本节课中,我们一起学习了网络安全专家Jose Dominguez的宝贵经验。我们了解到,成功的网络安全职业道路需要结合技术知识业务理解安全实践。风险管理是安全工作的核心,它远非简单的二元选择,而是需要量化风险与收益的复杂决策。当前,网络安全威胁正变得更加严峻和快速,物联网的普及扩大了攻击面。对于初学者而言,培养对技术的热情、建立扎实的技术基础,并深入理解所支持的业务,是迈向这个激动人心且回报丰厚的领域的关键步骤。记住,防御永远需要跑在威胁前面。

027:作业与阅读

在本模块中,我们将深入探讨一些更高级的网络攻击,例如蠕虫和DDoS攻击,并了解网络攻击技术的发展趋势。为了辅助学习,本模块还提供了一些推荐的阅读材料和视频资源。

📚 核心阅读材料

以下是本模块的核心阅读材料,旨在帮助你从不同角度理解攻击技术与网络安全行业。

  • 《连线》杂志文章:记者安迪·格林伯格撰写了一篇关于其亲身经历的文章。他在一辆吉普车中,体验了黑客在高速公路上实时远程控制车辆的过程。这篇文章引发了关于此类实景测试安全性的讨论。
  • HD Moore人物传记:HD Moore是网络安全领域的先驱之一,也是Metasploit框架的重要奠基人。推荐阅读一篇简要介绍其职业生涯的文章,以了解攻击工具开发者的视角。

📖 可选扩展资源

如果你希望进行更深入的学习,以下资源可供参考。

  • 推荐书籍
    • 《从CIA到APT:网络安全导论》:这是一本由我与儿子合著的电子书,你可以在亚马逊找到。本模块的学习可重点参考其第5章和第6章。
    • TCP/IP教科书:建议在你的书架上备一本扎实的TCP/IP参考书。理查德·史蒂文斯的《TCP/IP详解 卷1》是经典之作,其中第5章和第6章的内容对本模块的学习会有所帮助。
  • 推荐TED演讲
    • Pablos Holman的演讲:一位顶尖黑客分享他的工作方式与方法,内容非常精彩。
    • Avi Rubin的演讲:约翰斯·霍普金斯大学的教授,我的老朋友,进行了一场名为“你所有的设备都可能被黑客入侵”的演讲。该演讲内容发人深省,非常值得一看。

🎯 总结

本节课我们一起规划了本模块的学习路径。我们明确了将学习蠕虫和DDoS等高级攻击的目标,并介绍了配套的核心阅读材料(安迪·格林伯格的文章和HD Moore的传记)与可选扩展资源(相关书籍和TED演讲)。希望你能充分利用这些资源,享受学习过程并有所收获。

028:2003年SQL Slammer蠕虫 🐛

在本节课中,我们将要学习网络安全史上一个标志性事件——2003年的SQL Slammer蠕虫。我们将了解它的工作原理、造成的巨大影响,以及它如何改变了我们应对大规模网络攻击的思路。


我想讲述一些2003年在公共互联网上发生的问题。

让我从一个故事开始。大约在2003年1月,一个周六的早晨,我们很多人被一连串的短信、电话和通知吵醒,被告知互联网正在发疯。具体来说,是UDP端口上的数据包疯狂激增,完全呈爆炸式增长,冲击网关,瘫痪网络和系统。

在之前的课程中,我们讨论了蠕虫程序的工作原理。2003年的这个问题被称为Slammer蠕虫,它确实是首批影响整个互联网的蠕虫实例之一。

你记得蠕虫工作的三个步骤:1. 找到一个系统;2. 将蠕虫程序复制到该系统;3. 远程执行。然后它会像瀑布一样级联传播。2003年1月发生的情况,正是我们在互联网上目睹了这种通过UDP协议进行的级联效应。


上一节我们介绍了Slammer蠕虫的爆发现象,本节中我们来看看当时引发的一系列问题和观察。

许多问题随之浮现。第一个问题是:你该如何应对?当UDP数据包冲击网关时,任何安全管理员首先会问:“是什么在吸引这些数据包?为什么这些UDP数据包会涌入?它们是良性的、错误的,还是一次拒绝服务攻击?”这种混乱通常是在蠕虫攻击进行期间,防御工作所面临的特征。

人们注意到的第二点是:许多用于小规模问题的入侵检测系统和防御措施对蠕虫无效。试想一下,在小系统上,你可能非常熟悉的入侵检测防火墙(尤其是在你的个人电脑上),当海量的UDP数据包向你涌来时,它们根本不起作用。

因此,2003年是我们首次普遍意识到,必须找到在更大规模(即整个互联网范围)上进行入侵检测和入侵缓解的方法。2003年的这次Slammer蠕虫确实警醒了我们很多人。它彻底失控了。


关于这个蠕虫有几个有趣的地方。其中之一是,当我们回头查看与此次蠕虫及互联网UDP流量相关的元数据时,我们注意到蠕虫实际上是在1月底爆发的。从图表上可以看到,UDP流量在1月底出现了巨大的峰值。但在整个1月份更早的时候,就已经有过尝试发动的迹象,推测是编写此蠕虫的人试图更早地启动它。这是一个非常有趣的观察。

因为这给了我们相当大的希望:或许通过大规模观察互联网上的元数据,可能成为大规模入侵检测和入侵预防的关键。思考一下:与其依赖单个系统上的指标,或PC、服务器上的审计日志,问题变成了:你能否在互联网上收集那种数据?能否在互联网网关、接入点、服务提供商可能查看公共流量的地方收集元数据,并将其用作某种攻击正在酝酿的指标?

回想2003年,我笑了,因为我猜观看此视频的一些人那时可能还没出生。但在14年前,我们遇到了这个彻底爆炸式的事件,我们吸取了很多教训。


以下是本次事件带来的关键教训总结:

  1. Slammer蠕虫是我们首次看到蠕虫的广播级联传播影响互联网基础设施。
  2. 它证明了我们在小规模场景中使用的许多技术在大规模场景中无效,效果完全不同。
  3. 也许在早期通过网络收集的元数据中,存在一些暗示攻击正在酝酿的线索。

这在2003年给了我们很多希望,并促使许多公司、组织、大学和研究人员投入更多时间、精力和资金到我们现在称之为大规模入侵检测与入侵预防的领域。这是我们阻止其他类型服务攻击等方式之一,我们将在后续讨论中涉及。

但现在,我希望你理解,SQL Slammer蠕虫在某种程度上标志着大规模互联网服务和互联网基础设施攻击现代时代的开端。

我们将在一些额外的视频中更深入地探讨这一点,但目前,我认为这是我们从2003年SQL Slammer蠕虫中汲取的关键一课。

我们将在下一个视频中继续学习。



本节课中我们一起学习了2003年SQL Slammer蠕虫的爆发过程、其暴露的传统安全防御的局限性,以及它如何推动网络安全领域向大规模元数据监控和入侵检测预防方向发展。这次事件是网络安全演进史上的一个重要里程碑。

029:2003年Nachi蠕虫 🐛

在本节课中,我们将要学习2003年爆发的Nachi蠕虫。这是一个非常特殊的案例,它被称为“义警蠕虫”,其初衷是好的,但最终却造成了巨大的网络混乱。我们将探讨它的工作原理、造成的巨大影响,以及它给网络安全领域带来的深刻教训。

概述:一个“好意图”的蠕虫

上一节我们介绍了Slammer蠕虫,本节中我们来看看另一个在2003年造成重大影响的蠕虫——Nachi。这个蠕虫的独特之处在于,它是由一个“好人”编写的,旨在寻找并修复受感染系统中的漏洞。然而,这种“义警”行为最终导致了灾难性的后果。

工作原理:利用Ping进行“普查”

Nachi蠕虫的核心机制是利用了大家非常熟悉的Ping命令。Ping是一个使用ICMP(互联网控制消息协议)的请求-响应协议,用于检测网络连通性。

该蠕虫的作者利用Ping来扫描互联网,寻找潜在可以“清理”的系统。你可以把它想象成向整个互联网发送大量的Ping请求,试图清点所有在线设备,然后再进行后续操作。

灾难性影响:Ping洪流瘫痪互联网

正如你可能预料的,这种海量的Ping流量彻底失控了,并最终导致了互联网的瘫痪。在2003年,互联网已经拥有庞大的基础设施,而Ping流量能够引发级联效应,这正说明了互联网蠕虫的威力。

如果你当时在互联网服务提供商、研究机构或大学的网络运营中心工作,你可能会进行一种叫做“分析”的工作。你可能会监控并绘制各种流量的图表,其中就包括通过你所有监控点的ICMP流量。

在Nachi蠕虫爆发之前,ICMP流量通常非常平稳,因为它不是一个像HTTP或电子邮件那样主导互联网流量的协议。然而,在某个时间点,图表上会开始出现一个被圈出的区域,显示ICMP流量逐渐上升。

以下是当时网络管理员面临的挑战:

  • 何时行动? 流量刚开始轻微上升时,你是否应该采取行动?还是等到它显著增加?行动的阈值在哪里?
  • 采取何种行动? 你应该关闭ICMP协议吗?这意味着在你的网络或特定网关上禁止Ping请求。但这会带来另一个问题:许多网络管理工具依赖ICMP协议来发现需要更新的设备或进行网络监控。采取行动的影响可能非常重大。

惊人的数据:占据40%的互联网会话

如果你持续观察,在最初的五到六个小时内,ICMP流量会从无到有,最终演变成一场巨大的爆炸。当Nachi蠕虫达到顶峰时,它产生了一个令人震惊的指标:在2003年下半年,Nachi蠕虫产生的、四处弹跳的Ping垃圾流量,占据了公共互联网上高达40%的会话(会话可以理解为一个源-目的地址对的流量)。这个数字至今看来都令人难以置信。

核心教训:阈值困境与“义警”的失败

Nachi蠕虫事件给我们上了重要的一课。

首先,“义警”行为是一个糟糕的主意。即使初衷是好的,未经授权和不受控制的自动化修复行为也会造成不可预见的、大规模的破坏。

其次,它凸显了网络安全中的“阈值困境”。我们应在何时采取行动?阈值设定在哪里?这就像在生活中,有人走上你家车道时你是否报警?有人砸碎窗户闯入时你肯定会报警,但问题在于,我们是否等待了太久?是否一定要等到后果发生才行动?

在2003年,整个网络安全界都在努力应对这些问题。好消息是我们意识到了问题;坏消息是,这么多年过去了,我们仍未完全解决它。我们仍然面临着这些遗留问题:当出现攻击预警时,行动的阈值在哪里?采取什么样的具体行动才是合理的?

知识检验:如何防御此类蠕虫?

为了检验我们的理解,这里有一个简短的小测验。请思考以下哪种方法最能降低此类蠕虫带来的风险?

以下是三种常见的网络安全措施:

  1. 防火墙:能提供一定的风险降低,可能不是最主要的手段,但确有贡献。
  2. 系统补丁:事实证明,及时打补丁对减少蠕虫感染有显著影响。因为大多数蠕虫都是通过利用未修补的漏洞进入系统的。
  3. 流量加密:可能不是显著降低风险的方法。因为对于蠕虫传播而言,流量是加密的明文还是密文,通常并不重要。

因此,最好的答案可能是:确保你的系统及时打补丁,并辅以防火墙等措施。安全没有绝对单一的答案,通常是多种措施共同作用的结果。

总结

本节课中我们一起学习了2003年的Nachi蠕虫。我们了解到,即使出于“修复”目的编写的“义警”蠕虫,也会因为失控的扫描流量(ICMP Ping)而对互联网造成严重破坏,甚至一度占据了40%的互联网会话。这一事件深刻揭示了在网络安全响应中设定行动阈值的困难,以及未经协调的自动化“修复”行为所带来的巨大风险。其核心教训在于,防御此类蠕虫最有效的方法之一是及时为系统安装安全补丁,以消除蠕虫赖以传播的漏洞。

030:僵尸网络设计 🧟

在本节课中,我们将学习一种被称为“僵尸网络”的黑客架构。我们将了解它的历史背景、核心组件、工作原理以及它在当今网络攻击中的重要地位。


概述

僵尸网络是当今网络攻击者最青睐的武器之一。它由大量被恶意软件控制的计算机(称为“肉鸡”或“僵尸”)组成,这些计算机可以被攻击者集中操控,用于发动大规模的网络攻击。

僵尸网络的起源与演变

上一节我们概述了僵尸网络的概念,本节中我们来看看它的历史起源。

视频讲述者回忆了1999年的“千年虫”事件。当时,美国政府为监控千年虫问题设立了指挥中心。在此期间,卡内基梅隆大学的研究人员向他们介绍了一种名为“僵尸”的恶意代码。

这种代码可以像远程访问工具一样植入用户计算机,但其连接方向是反向的。通常,用户的计算机作为客户端去连接远程服务器。而这种“僵尸”代码会在用户计算机上创建一个微型服务器,使得外部攻击者能够主动连接并控制这台计算机,使其如同“僵尸”一般被操控。

当时,这种威胁主要通过互联网中继聊天等应用层协议进行通信。尽管最初听起来令人怀疑,但一旦掌握了识别其特征(如特定文件名或系统行为)的方法,就会发现它无处不在。这揭示了一个重要的科学原理:看不见,并不代表不存在。这就像在房间里调对收音机频率,才能听到“莫斯科广播电台”的信号一样。

僵尸网络的攻击原理

了解了僵尸网络的起源后,我们来看看它的核心攻击机制。

僵尸网络之所以危险,在于它能进行“反射放大”攻击。这类似于演讲者的声音可以被所有听众听到(一对多),如果还能让每位听众的耳朵将声音反射并集中到一个目标上,就能产生巨大的流量冲击。

更严重的是“放大”效应。攻击者发出一个指令,成千上万的受控计算机(僵尸)会同时执行并可能放大这个指令的效果,共同攻击一个目标,从而造成毁灭性的分布式拒绝服务攻击。

最初,人们担心这种攻击会针对“千年虫”指挥中心。但最终攻击并未发生。这里需要记住另一个重要概念:攻击没有发生,绝不能等同于我们的防御措施成功了,有时可能仅仅是运气。事实也证明,几个月后的2000年3月,首次大规模由僵尸网络发起的DDoS攻击就成功使CNN、eBay、雅虎等网站瘫痪。

僵尸网络的核心组件

上一节我们介绍了僵尸网络的攻击模式,本节中我们深入其内部结构。一个典型的僵尸网络包含以下核心部分:

以下是僵尸网络的三个主要组件:

  1. 肉鸡:指被植入恶意软件、受控的计算机。它们可以是任何人的电脑,遍布全球。现代网络全部基于TCP/IP协议栈,这种“带内”特性使得恶意软件传播变得异常容易。
  2. 命令与控制服务器:这是僵尸网络的大脑,用于监控和管理所有肉鸡。其设计极具弹性。肉鸡被编程为定期向C&C服务器“回调”获取指令,通常通过域名进行寻址。
    如果某个C&C服务器被摧毁,僵尸网络会利用一种称为快速通量DNS的技术,将肉鸡的回调请求自动重定向到其他备用节点,从而实现极高的生存能力。这种设计非常精巧和强大。
  3. 投放站点:用于存储恶意软件、窃取数据或提供其他辅助功能的服务器。

僵尸网络成为主流攻击武器

在讨论了僵尸网络的组件后,我们来理解它为何取代了其他攻击方式。

僵尸网络的出现,某种程度上“解决”了蠕虫病毒泛滥的问题。但这并非因为防御方变得更聪明,而是因为攻击方找到了更强大的武器——僵尸网络。对于攻击者而言,僵尸网络比蠕虫更容易控制,威力也更集中。

因此,在当今的网络安全攻防背景下,无论是进行网络入侵、DDoS攻击,还是进行点击欺诈等非安全类犯罪活动,僵尸网络都是首选的攻击武器。

总结

本节课中我们一起学习了僵尸网络。我们从其1999年作为“僵尸”概念的起源讲起,理解了其“反射放大”的攻击原理,剖析了由肉鸡命令与控制服务器投放站点构成的核心架构,并最终认识到它因其高效和弹性,已成为当今网络攻击的主流武器。在后续课程中,我们可能会进一步计算和分析僵尸网络所能造成的具体破坏规模。

031:僵尸网络算术 🧮

在本节课中,我们将学习僵尸网络的基本概念,并通过简单的算术计算来理解僵尸网络对目标网络可能造成的巨大影响。我们将探讨僵尸网络如何运作,以及其攻击能力的量化评估。


上一节我们介绍了僵尸网络的基本概念,本节中我们来看看僵尸网络攻击能力的量化计算。

僵尸网络主要有两种类型。第一种类型中的僵尸程序会诚实地使用其真实源IP地址。这意味着它们会与目标服务器完成TCP三次握手以建立连接,从而能够发送大量有效流量。其连接建立过程可以表示为:

客户端 -> SYN -> 服务器
客户端 <- SYN-ACK <- 服务器
客户端 -> ACK -> 服务器
(连接建立)

第二种类型中的僵尸程序则会伪造其源IP地址。这样,攻击来源就无法被追溯。例如,攻击者Alice会向目标Bob发送一个SYN包,但声称自己来自George。这意味着攻击者不会收到SYN-ACK响应,也无法建立完整会话,但成功隐藏了自身。其过程如下:

攻击者(Alice) --SYN(源IP:伪造的George)--> 目标(Bob)

两种方式各有优劣。第一种方式可以建立完整连接,进行更复杂的攻击(如下载请求);第二种方式则更利于隐藏攻击者。


在评估僵尸网络的破坏力时,核心方法是计算单个僵尸程序能产生的流量,再乘以僵尸网络的总规模。

回顾互联网早期,典型的商业连接是T1线路,带宽为1.5 Mbps。如果一个僵尸程序能占用其宿主计算机的全部出站带宽(例如1.5 Mbps),那么仅需一个僵尸程序就能打满一个T1目标连接。以下是简单的计算示例:

单个僵尸流量 = 1.5 Mbps
目标带宽 = 1.5 Mbps
所需僵尸数量 = 目标带宽 / 单个僵尸流量 = 1

然而,为了长期潜伏而不被用户察觉,僵尸程序的设计者通常不会占用宿主计算机的全部带宽。

假设一台受感染电脑拥有3 Mbps的出站带宽。如果僵尸程序占用全部带宽,用户会立即察觉电脑变慢。更聪明的做法是只占用一部分,例如三分之一(1 Mbps)。这样,电脑只会变得有些迟缓,但用户可能容忍这种情况,使得僵尸程序能够长期存在。

以下是不同僵尸网络规模攻击T1目标(1.5 Mbps)所需数量的计算:

  • 单个僵尸占用1 Mbps时:需要2个僵尸才能打满1.5 Mbps的T1连接。
  • 单个僵尸占用1.5 Mbps时:仅需1个僵尸。

现在,让我们将场景现代化。假设一个由10,000个僵尸程序组成的网络,每个僵尸占用其宿主1 Mbps的出站带宽。

计算其总攻击流量:

总攻击流量 = 僵尸数量 × 单个僵尸流量 = 10,000 × 1 Mbps = 10 Gbps

目前,许多企业、大学或数据中心的互联网连接带宽正是10 Gbps级别。这意味着,一个仅由10,000个僵尸组成、每个仅低调占用1 Mbps带宽的“普通”僵尸网络,就足以击溃一个典型的企业级网络连接。

如果僵尸网络规模达到百万级别,其攻击流量将高达1 Tbps(1,000 Gbps),这足以威胁互联网基础设施的核心部分。如何缓解、整形、阻止或转移如此规模的僵尸网络流量,尤其是考虑到未来数百亿物联网(IoT)设备可能被利用的威胁,仍然是网络安全领域一个亟待解决的重大开放性问题。


最后,我们来做一个简单的测试,巩固理解。

问题:如果一个僵尸程序将其占用的出站带宽从1 Mbps提升到2 Mbps(即翻倍),那么要产生相同的总攻击流量,所需的僵尸数量是原来的多少?

答案:所需僵尸数量减半。之前需要10,000个僵尸产生10 Gbps流量,现在只需要5,000个僵尸就能达到相同的效果。这说明,僵尸程序攻击越“贪婪”,达成同样攻击效果所需的网络规模就越小。


本节课中我们一起学习了僵尸网络的攻击原理与能力评估。我们通过简单的算术模型看到,即使规模不大、行为低调的僵尸网络,也能对现代网络目标构成严重威胁。理解这种“僵尸网络算术”是认识分布式拒绝服务(DDoS)攻击威胁的基础,也是设计有效防御措施的起点。

032:移动通信安全与加密技术

概述

在本节课中,我们将跟随纽约大学的访谈,了解网络安全专家Elad Yoran关于移动通信安全,特别是语音通信加密的见解。我们将探讨语音通信如何从传统网络过渡到IP网络,面临的威胁,以及现代加密技术如何在不牺牲通话质量的前提下保护我们的通信安全。


个人背景与网络安全之路

Elad Yoran首先分享了他的个人经历。他曾在纽约大学坦登工程学院的前身布鲁克林理工学院进行研究,专注于将网络安全概念应用于城市基础设施保护。在此之前,他毕业于西点军校,并曾服役于美国陆军。

这段军事和工程背景训练了他从边界防御纵深防御的角度思考安全问题。他很早就对计算机技术产生了兴趣,并在个人计算机普及的早期就开始接触。这些经历共同引导他进入了当时被称为“计算机安全”或“网络安全”的领域。

移动语音通信的威胁演变

上一节我们介绍了专家的背景,本节中我们来看看他专注的领域:移动语音安全。随着技术发展,语音通信的性质发生了根本变化。

过去,语音和数据在不同的网络上传输。如今,我们的语音通话已经基于IP协议,与数据流融合在同一个网络中。这意味着,针对数据的威胁模型同样适用于语音通信。

由于全球运营商网络互联的复杂性,以及不同地区运营商安全水平的差异,创造了一个可被黑客、犯罪分子甚至外国政府利用的环境。因此,语音通信安全已成为一个日益受到关注的重要议题。

加密技术的应用与用户体验

既然语音和数据面临相似的威胁,那么如何保护语音通信呢?以下是现代语音加密解决方案的核心特点:

  • 应用层加密:解决方案通常是一个可以安装在智能手机上的应用程序,可以从官方应用商店下载或由企业IT部门统一部署。
  • 管理方式:通常由公司的IT或安全部门进行集中管理,对员工而言,它只是一个用来拨打加密电话和发送加密信息的普通应用。
  • 技术创新:关键的创新点在于,能够在为通话加密的同时,提升通话质量。这与历史上加密通话常伴有音质下降(如声音尖细、 robotic)的体验截然不同。

一个有趣的观点是:用户最初因为安全需求而使用加密通话,但可能会因为其更优的通话质量而持续使用。未来,安全、高质量的通话或许会成为默认标准。

行业认知与政府报告

那么,行业和政府机构对此的认知如何呢?答案是肯定的,相关意识正在提升。

近年来有两份重要的报告发布:

  1. FCC工作组报告(2017年3月):围绕信令系统7 的安全问题提出了建议。
  2. 美国国土安全部报告(2017年4月下旬):这份长达100多页的报告全面阐述了移动设备端和网络端的安全问题、威胁框架,并提出了缓解风险的技术建议。报告中的表格清晰地列出了问题与可用技术,极具参考价值。

通信“短暂性”的终结与元数据风险

最后,我们探讨一个深刻的变化:通信的“短暂性”或许已不复存在。

过去的建议是:“不想被人发现的事情,不要写下来,不要发邮件,打电话说。”因为语音被认为是短暂的。然而,在当今数字时代,任何涉及电子设备的通信都可能被永久记录。

无论是语音记录、短信还是电子邮件,都可能像维基解密披露的文件一样被公开。此外,与通信相关的元数据(如通话时间、地点、参与者)也蕴含着巨大价值或风险,这将是未来几年安全领域的重要议题。


总结

本节课中我们一起学习了移动通信安全的几个关键方面。我们了解到,随着语音通信IP化,其面临的安全威胁与数据安全趋于一致。现代加密技术通过应用程序在设备端实现“over-the-top”加密,不仅能保障通信安全,还能提升通话质量。行业和政府的报告显示了对该领域日益增长的关注。最后,我们必须认识到,在数字时代,任何电子通信都可能失去其“短暂性”,保护通信内容和元数据变得至关重要。

033:资产与基础设施 🎯

在本节课中,我们将要学习网络安全的核心基础概念之一:资产。我们将探讨什么是资产,为什么理解资产对网络安全至关重要,以及如何识别和评估资产的价值。


什么是资产?

资产是指任何有价值的事物。在个人生活中,你的金钱、财物、家庭都是资产。此外,还存在无形资产,例如你的声誉和个性。在计算机安全领域,我们同样需要思考资产。

上一节我们介绍了资产的基本定义,本节中我们来看看为什么资产对网络安全如此重要。

为什么资产对网络安全至关重要?

如果你正在进行网络攻击,那么攻击目标所珍视的事物,比攻击他们不重视的事物更有意义。一个成功的攻击,通常会对资产造成实际影响。

例如,攻击一个无人关心的旧鸟笼,几乎不构成一次有意义的“黑客攻击”。因此,从攻击者的视角看,整个网络安全活动的核心就是针对你关心的资产。


如何识别与评估资产价值?

那么,如何找出你的资产并确定它们的优先级呢?让我们通过一个类比来理解。

想象一个场景:你有一分钟时间跑进你的家或宿舍,拿走所有对你重要的东西,然后出来。之后我们抛硬币决定你是否能再回去一次。你会拿什么?

以下是你在决策过程中可能会考虑的因素:

  • 金钱:可能拿,因为它有价值。
  • 传家宝:会拿,因为它们具有情感价值且不可替代。
  • 桌上的报纸:不会拿,因为它可以轻易被替换。
  • 电视或手机:可能会拿,取决于具体情况。

在这个思考过程中,决定资产价值的一个关键属性是可替代性。你会优先拿走那些不易或无法被替换的物品。通过这种多次“进出”的思考方式,你可以对资产进行分层和优先级排序。


如何识别计算环境中的资产?

现在,让我们将这个概念应用到计算环境中。假设你和我的任务是走进一个数据中心,找出其中的关键资产。我们该如何做?

思路与你跑进公寓时类似:我们需要思考,哪些物品如果被窃取、替换、破坏或泄露,会造成严重的混乱。这通常就是关键资产的定义。

识别关键资产的过程往往不是量化的,而是非常定性的。评估者的判断和经验在其中起着重要作用。

在数据中心环境中,资产通常可以分为以下三类:

  1. 硬件:有形的物理设备。在虚拟化背景下,其重要性有所降低。
  2. 软件:驱动系统运行的基础设施代码。随着云服务和虚拟化的发展,软件在基础设施中的比重越来越大。
  3. 信息与数据:可以视为知识产权的一切。例如客户记录、公司编写的代码、设计文档、电子邮件通信、财务数据等。

你需要对这些类别的资产进行思考,并确定其优先级。遗憾的是,没有一个可以一键得出答案的自动化按钮。这需要运用人的判断力。


基础概念的重要性

此时,许多学习者可能想知道:我们什么时候开始学习加密技术、防火墙等“真正的”技术?

答案是:即将开始。但一个扎实的网络安全从业者与普通技术人员的区别在于,前者会深入思考这些基础概念。你必须对资产、优先级等有良好的理解,才能真正将技术付诸实践。

我们理解大家渴望深入学习硬核技术的心情,我们很快就会接触到。但在学习后续材料时,请务必将这些背景性的基础概念牢记于心。


本节课中我们一起学习了资产的定义及其在网络安全中的核心地位。我们探讨了如何通过思考“可替代性”来评估资产价值,并将此概念应用于识别计算环境中的硬件、软件和信息三类关键资产。理解这些是构建有效安全策略的重要基石。

034:风险计算 📊

在本节课中,我们将要学习网络安全中一个核心概念:风险。我们将探讨如何量化风险,理解其两个关键组成部分,并通过生活中的例子来类比网络环境中的风险变化。


概述

风险在网络安全中并非一个模糊的定性概念,而是一个可以量化的术语。它主要关注两个维度:事件发生的可能性事件发生后的后果。我们将通过类比和计算实例,清晰地阐述这个概念。


风险的定义与核心维度

上一节我们介绍了风险在网络安全中的重要性,本节中我们来看看如何具体定义和衡量它。

在网络安全领域,风险(Risk)被定义为一个与潜在攻击相关的量化指标。它由两个核心因素决定:

  • 攻击发生的概率(Probability)
  • 攻击成功后的影响或后果(Consequence)

我们可以用一个简单的公式来概括这个关系:

风险 ≈ 概率 × 后果

这意味着,风险值会随着事件发生可能性的增加或事件后果严重性的增加而上升。


通过生活实例理解风险变化

为了更好地理解这两个维度如何影响风险,让我们看两个生活中的例子。

示例一:改变概率(路面结冰)

想象你独自一人驾驶汽车。初始状态下,发生严重事故的风险有一个基准值。

现在,假设天气突变,路面结冰打滑。

  • 概率变化:发生事故的可能性显著增加了。
  • 后果变化:事故的后果(对你个人造成的伤害)没有改变。
  • 风险变化:由于概率上升,整体风险增加了。

示例二:改变后果(车内有婴儿)

现在回到初始的驾驶状态,路况良好。但这次,你的汽车后座上有一个坐在安全座椅里的婴儿。

  • 概率变化:发生事故的可能性没有改变。
  • 后果变化:事故的后果变得严重得多,因为涉及到了婴儿的安全。
  • 风险变化:由于后果的严重性上升,整体风险增加了。

这两个例子说明,系统中任何改变都可能通过影响概率后果来改变整体风险水平。


将概念应用于网络安全

理解了风险的基本原理后,现在让我们将其应用到网络安全的实际场景中。

在网络安全中,我们通过一个称为 “基线化(Baselineing)” 的过程来量化风险。我们为系统在某个时间点的风险设定一个基准数值。这个数值本身的大小并不具备绝对意义,其意义在于衡量后续变化是使风险“上升”还是“下降”。

以下是两个改变系统配置如何影响风险的例子:

场景A:连接互联网(改变概率)

假设你有一个存储了100条客户记录的服务器,最初位于一个不与互联网连接的私有网络中。

  1. 建立基线:此时的风险值我们设为 R1
  2. 进行改变:你决定将这个服务器连接到互联网,以便进行维护。
  3. 风险分析
    • 攻击概率:由于暴露在公共网络中,遭受攻击的可能性急剧上升。
    • 攻击后果:泄露100条客户记录的后果严重性没有改变。
  4. 风险变化:由于概率大幅增加,新的风险值 R2 远高于基线 R1

场景B:增加数据量(改变后果)

回到初始状态,服务器仍在私有网络中,未连接互联网。

  1. 建立基线:存储100条记录时的风险值为 R1
  2. 进行改变:你将服务器上的客户记录从100条增加到100万条。
  3. 风险分析
    • 攻击概率:系统并未更暴露,攻击可能性基本不变。
    • 攻击后果:泄露100万条记录的后果严重性远超泄露100条记录。
  4. 风险变化:由于后果严重性大幅增加,新的风险值 R3 远高于基线 R1

风险管理中的主观判断与平衡

在实际的网络安全决策中,情况往往更加复杂,需要管理者进行主观判断。

一个常见的难题是:当一个维度的风险上升,而另一个维度的风险下降时,整体风险如何变化?

例如,如果将服务器数据从100万条减少到10条(后果降低),但同时将其连接到互联网(概率升高)。整体风险是保持不变、升高还是降低?

以下是网络安全实践中的关键点:

  • 定性 vs. 定量:网络安全风险管理混合了定量数据和定性判断,并非纯粹的数字计算。
  • 依赖经验:做出好的安全决策往往依赖于经验、对业务的了解以及承担可控风险的意愿。
  • 管理决策:最终,如何平衡概率与后果,做出降低整体风险的选择,是一项关键的管理技能。

为了加深理解,建议进行以下思考练习:

思考你个人生活或工作中的场景,识别哪些行为会增加事件的概率或后果,从而导致风险上升。反过来,思考哪些措施可以降低概率或后果,从而管理风险。


总结

本节课中我们一起学习了网络安全中风险计算的核心概念。

  1. 风险是一个由 概率后果 两个维度决定的量化概念。
  2. 通过改变系统的配置或状态,可以影响攻击发生的可能性或成功后的影响,从而改变整体风险水平。
  3. 我们通过建立风险基线来衡量这些变化。
  4. 实际的风险管理涉及复杂的判断,需要在概率与后果之间进行权衡,这依赖于经验和管理决策。

理解风险的这一框架,是后续学习制定安全策略和控制措施的基础。我们将在下一个视频中继续深入。

网络安全导论:第35讲:基于风险与成本的安全决策 🛡️💰

在本节课中,我们将聚焦于网络安全领域的管理决策。即便你从事的是技术或架构工作,也需要根据资产面临的潜在威胁,判断采取何种安全措施是恰当的。

我们将探讨影响安全决策的两个核心因素:风险成本。这里的“成本”不仅指财务支出,还包括对可用性等方面的影响。决策的核心在于权衡安全性的提升与所需付出的代价。


安全与成本的决策模型

上一节我们介绍了决策需权衡风险与成本。本节中,我们来看看一个经典的决策分析模型。

该模型通常用一个二维坐标图表示,X轴代表安全性的变化(增加或减少),Y轴代表成本的变化(增加或减少)。这形成了四种可能的决策情景:

以下是基于该模型的四种决策情景分析:

  1. 安全性提升,成本增加

    • 这是最常见的情况。例如,购买新的防火墙或部署高级威胁检测系统。为了获得更强的安全防护,通常需要投入更多资金。
  2. 安全性提升,成本降低

    • 这是最理想的决策情景。它体现了“一次做对比返工更便宜”的原则。例如,在软件开发初期就引入安全编码实践,比后期修复漏洞成本更低、安全性更高。这概括了安全管理的核心目标。
  3. 安全性降低,成本增加

    • 这是最糟糕的决策情景,应极力避免。例如,部署一个昂贵但无效的安全工具,它制造了安全的假象,却让团队忽视了真正的威胁,导致安全水平下降而成本上升。
  4. 安全性降低,成本降低

    • 这种情况在实践中也可能出现,但通常意味着为了节省开支而主动降低了安全标准,需要谨慎评估其长期风险。

决策实践:一个小测验

理解了决策模型后,我们通过一个简单的测验来应用它。假设我们关注的是内部威胁,并评估以下措施的效果。

以下是针对减少内部威胁风险的几种措施分析:

  • 加强内部人员的身份认证

    • 这可能会增加成本(如部署双因素认证系统),但对于已经身处系统内部的威胁者,更强的入门认证几乎不影响其内部作案的风险。因此,这属于成本增加,但风险未降低的欠佳决策(除非主要目标是防范外部人员)。
  • 加强内部行为监控与日志记录

    • 实施全面的日志记录和监控系统会增加成本。但在持续的监督下,内部人员会变得更加谨慎,从而降低内部威胁风险。这属于成本增加,但安全性提升的合理决策。
  • 加大对内部违规行为的处罚力度

    • 这主要涉及政策与法律成本,而非直接的技术采购。更严厉的处罚可以产生威慑作用,从而在一定程度上降低风险。这是一种非技术性的功能机制,在实践中也很有用。

总结

本节课中,我们一起学习了网络安全决策的基本框架。我们了解到,任何安全决策都必须同时考虑其对风险(安全性)成本的影响。最优策略是追求提升安全性同时降低成本,而最应避免的是降低安全性却增加成本的决策。无论是选择技术方案还是管理策略,都应基于此框架进行审慎评估。

036:威胁树与分析完整性 🛡️

在本节课中,我们将要学习一种名为“威胁树”的系统性安全分析方法。我们将探讨其动机、核心概念以及如何应用它来更全面、更结构化地识别系统中的安全威胁。

概述

当被要求评估一个系统(例如数据中心)的安全问题时,安全专家通常会进行一种“结构化头脑风暴”。这种方法虽然常见,但存在明显缺陷:我们无法确定是否找出了所有问题,其过程缺乏系统性,并且结果高度依赖于参与者的个人经验和临场思维。这并非严谨的工程方法。

为了改进这一过程,安全工程师引入了“威胁树”技术。它旨在通过分层和分类,以一种更完整、可证明的方式对威胁进行系统化分解和识别。

威胁树的核心概念

上一节我们提到了传统方法的局限性,本节中我们来看看威胁树如何提供解决方案。

威胁树的核心思想是对潜在威胁进行分层和分类,以尽可能保持分析的完整性。它从一个顶层目标(例如“系统面临威胁”)开始,通过逻辑“或”关系逐层分解为更具体的子类别。

分层分解示例

我们可以利用经典的CIA三元模型作为第一层分解。据此,我们可以声称:所有安全威胁都归属于机密性完整性可用性(拒绝服务)这三个类别之一。这是一个完整的顶层分类。

接下来,我们可以对每个类别进行第二层分解。例如,按资产类型划分:

以下是基于资产类型对CIA模型进行的第二层分解可能性:

  • 机密性威胁:针对硬件、软件或信息的机密性威胁。
  • 完整性威胁:针对硬件、软件或信息的完整性威胁。
  • 可用性威胁:针对硬件、软件或信息的拒绝服务威胁。

通过这两层分解,我们得到了 3 × 3 = 9 个更具体的威胁类别。这比漫无目的的头脑风暴更具指导性。

我们可以继续增加分解层次,例如按威胁来源(内部人员、外部人员、内外结合)进行第三层分解,这样就会得到 9 × 3 = 27 个类别。最终,我们会得到像“内部人员对硬件完整性的威胁”这样非常具体的分析节点。

此时,工程师可以针对这个具体节点进行聚焦的、结构化的分析。通过决定分解的深度和维度,我们可以创建包含数十、数百甚至数千个终端节点的威胁树,从而系统性地遍历几乎所有可能的威胁场景。

网络安全与分类学

网络安全在实践层面很大程度上是关于列表、集合和分类的学科。无论是跟踪漏洞(如CVE列表)、管理补丁,还是评估威胁,我们都依赖于良好的分类和属性定义。

威胁树正是提供了这样一种分层排序和结构化分解的框架。它帮助我们在尝试识别和跟踪系统问题时,尽可能地保持分析的完整性和系统性。

总结

本节课中我们一起学习了威胁树这一重要的安全分析工具。我们了解到,与随意的“结构化头脑风暴”相比,威胁树通过逐层、完整的分类分解,为识别系统安全威胁提供了一个更严谨、更可重复的工程化方法。它体现了网络安全作为一门学科对系统化分类和逻辑分析的依赖。你可以尝试将这种“保持完整性的逐步分解”思路应用到分析其他复杂问题中去。

希望这节关于威胁树的介绍对你进行系统安全工程有所帮助。

037:课程概述与学习资源 📚

在本模块中,我们将学习网络安全防御中一项非常重要的技术:将资产映射到威胁。我们将理解互联网上出现的问题与我们构建防御、降低风险的方法之间的交集。本模块将提供一些非常有用的论文和材料来辅助学习。

核心概念与学习目标

我们的目标是掌握如何分析威胁与资产的关联,并开始思考如何构建防御体系以降低风险。这涉及到理解攻击原理和防御策略。

上一节我们介绍了本模块的核心目标,本节中我们来看看完成学习所需的具体材料和资源。

推荐阅读材料 📄

以下是本模块推荐阅读的两篇重要论文:

  • 论文1:《UMTS网络中的中间人攻击》
    • 作者:Meyer 和 Wetzel。
    • 简介:这篇论文探讨了一种无线技术(UMTS)上的攻击方式,你将学习到如何在一定意义上对无线通信进行窃听。Suzanne Wetzel是我在史蒂文斯理工学院的一位同事。
  • 论文2:《是计算机入侵还是闯入计算机?伦理思考》
    • 作者:Gene Spafford(我们常称他为“Spaf”)。
    • 简介:这是网络安全领域大师级人物Spafford的一篇优秀论文,你会在文中感受到他的个人风格。他是普渡大学的教授。

可选参考书籍 📚

除了必读论文,这里还有两本可供选读的书籍,它们能帮助你更深入地理解课程内容。

以下是两本可供选择的参考书:

  • 书籍1:《从CIA到APT:网络安全导论》
    • 作者:Ed(本人)与我的儿子Matt合著。
    • 简介:这是一本与课程配套的电子书,内容可选。但有些学员可能喜欢在听课的同时有一本书可以翻阅,你可以在亚马逊下载它。
  • 书籍2:《TCP/IP详解》
    • 作者:Richard Stevens。
    • 简介:如果你想从事网络安全行业,必须像化学家熟悉元素周期表一样精通TCP/IP。我建议你的书架上应该有一本扎实的TCP/IP教材。如果你觉得有必要,在学习本模块时,可以重点阅读Stevens书中第7和第8章。

拓展学习视频 🎥

理论学习之外,观看行业专家的演讲也能获得宝贵见解。这里推荐两个相关的TED演讲。

以下是两个推荐的TED演讲:

  • 演讲1:《你的密码出了什么问题?》
    • 演讲者:Lori Faith Krause(我曾在AT&T的同事)。
    • 简介:这是一个非常精彩的演讲。Lori富有感染力的个性和热情能让你受益匪浅,建议你听一下。
  • 演讲2:《对抗病毒,捍卫网络》
    • 演讲者:Mikko Hypponen(来自F-Secure公司)。
    • 简介:Mikko是网络安全领域的杰出思想家之一,这个视频值得一看。

总结

本节课中我们一起学习了本模块的核心目标——资产与威胁映射,并详细介绍了配套的学习资源,包括两篇必读论文、两本可选书籍以及两个拓展视频。希望你能充分利用所有这些资料,它们将很好地辅助你完成本模块的学习。祝你学习愉快!

038:资产与威胁的映射 🗺️

在本节课中,我们将学习网络安全评估中的一个核心方法:资产与威胁映射。我们将了解如何通过一个结构化的矩阵来分析系统,识别关键的安全关注点,并为成为一名优秀的安全顾问打下基础。

上一节我们讨论了安全评估的基本概念,本节中我们来看看一个具体且强大的分析工具。

职业建议:技术能力与沟通技能 🔗

许多观众可能正在考虑从事网络安全职业。随着我们深入“资产与威胁映射”这个主题,我想结合安全咨询这个快速发展的领域,为大家提供一些建议。

安全顾问的工作是受雇于公司,评估其网络、数据中心、应用程序或软件的状况,并提供一份关于其安全态势的报告。态势评估旨在明确组织的优势、弱点,以及如何弥补现状与目标之间的差距。

如果你学完这些课程内容,很可能已经具备了市场上许多顾问所拥有的技能。然而,要成为一名优秀的顾问,需要将两方面能力结合起来:

  1. 网络安全专业知识:这显然是基础,你需要成为真正的专家。
  2. 商业沟通技能:包括互动、交流、演讲和撰写报告的能力,这些至关重要。

我的建议是:在学习本威胁资产矩阵方法时,如果你发现自己很享受评估系统、发现弱点并提出修复建议的过程,那么请务必在提升技术技能的同时,有意识地培养沟通技能。抓住任何可以演讲、写作、会议陈述或教学的机会来锻炼自己。这将成为你职业生涯中的重要差异化优势。

核心技术:威胁资产矩阵 🧩

现在,让我们探讨这个核心技巧。它被称为威胁资产矩阵,也叫资产映射。这是所有安全评估的基础。

该方法始于识别你正在评估的对象中的不同资产类型。在之前的课程中,我们提到资产通常分为三类:硬件软件信息。在后续的案例研究中,你会发现可以根据具体场景进行更细致的划分(例如家庭场景中的车库、房屋、后院等)。关键在于,资产集合应该是有限的且可以完整确定的。

同时,如果我们认同CIA模型,那么所有威胁都可以归入三个类别:机密性完整性可用性

这非常巧妙:一个有限的资产集合与一个有限的威胁集合,它们的笛卡尔积(即所有可能的组合)构成了一个可操作的矩阵。这是一个好消息,因为在其他领域(例如列出Linux的所有漏洞)我们可能面临无限的集合,但在这里,我们可以构建一个有限的、可供逐一审视的矩阵。

例如,一个3x3的矩阵(3种资产类型 x 3种威胁类型)如下图所示。你可以审视每一个单元格:

  • 硬件的机密性:我是否担心黑客知道我的硬件配置?通常关注度较低。
  • 信息的完整性:这通常非常重要。
  • 信息的机密性:在大多数情况下,这是巨大的安全关切。

可以看到,这个结构为我们进行安全评估提供了一个基础的、框架性的视角。

知识检验:识别资产 🧠

为了巩固理解,我们来做一个快速测试。以下哪些通常被认为是威胁资产矩阵中需要关注的“资产”?

以下是需要考虑的选项:

  • 个人声誉:在网络安全中,我们通常不将其视为有形资产,因为我无法直接“攻击”你的声誉。我只能攻击你的系统或通信内容,这可能会间接影响声誉。
  • 银行存款:同理,存款余额本身的价值很重要,金融记录的完整性也至关重要,但我们通常不会直接将“现金”视为矩阵中的资产。
  • 服务器:这显然是我们会重点关注的核心资产。

通过这个思考练习,希望大家能更清晰地理解在构建威胁资产矩阵时,我们关注的是什么。

总结 📝

本节课中,我们一起学习了网络安全评估的核心工具——威胁资产矩阵。我们了解到,通过定义有限的资产类型(如硬件、软件、信息)和有限的威胁类型(机密性、完整性、可用性),可以构建一个结构化的分析框架。这个矩阵帮助我们系统性地审视每一个“资产-威胁”组合,从而奠定安全态势评估的基础。同时,我们也探讨了将技术专长与沟通能力结合,对于有志于从事安全咨询职业的重要性。在接下来的课程中,我们将通过案例研究来深入应用这一方法。

039:威胁资产对的风险评估 🛡️

在本节课中,我们将深入探讨威胁资产矩阵的核心应用,学习如何对矩阵中的每个单元格(即一个具体的“威胁-资产”对)进行风险评估。我们将理解为何每个单元格都代表一个独立的风险管理活动,并通过实例体会不同风险等级的判断逻辑。

概述:从矩阵到风险管理

在之前的课程中,我们介绍了威胁资产矩阵的概念。现在,我们将以此为基础,探讨一个关键问题:矩阵中的每一个单元格,都对应着一项风险评估

当我们审视一个单元格时,例如“硬件”资产与“机密性”威胁的交叉点,并判断其风险等级为“低”,这个结论是如何得出的?本节将作为桥梁,引导我们理解这个判断过程,并为后续的案例分析做好准备。

单元格即风险管理项目

我们之前讨论过几种风险评估技术,其中之一是威胁树分析。一种可能的方法是,针对“硬件-机密性”这个交叉点,使用威胁树进行分析,分解为内部人员、外部人员或两者结合等攻击路径,并考虑攻击是自动化、手动还是混合模式。

由此引出一个深刻的观点:工程师可以决定为威胁资产矩阵中的每一个单元格都构建一棵威胁树。这意味着,矩阵中的每个单元格本身就是一个独立的风险管理活动

这对于工程师、开发者和安全人员来说有时难以理解。管理的本质是围绕工作活动进行结构化组织。因此,威胁资产矩阵可以被视为一种工作活动的组织工具,它使我们能够定量或定性地描述矩阵中每个“威胁-资产”对所关联的风险。

风险等级的判断逻辑

让我们通过矩阵中的实例来理解风险判断。

  • 硬件与机密性(低风险):这个判断通常是合理的。攻击者可能想知道我们使用的处理器或操作系统类型,这存在风险,但通常并非最紧迫的威胁。
  • 软件与完整性(高风险):如果我们进行计算、分析和风险管理活动,通常会得出结论:在大多数场景下,基础设施中的软件可能嵌入恶意软件、僵尸程序、特洛伊木马或存在后门等完整性问题,这通常非常严重。例如,对于银行这样的环境,这是最不能容忍的问题之一。

通过对比可以看出,“硬件机密性”虽然重要,但其风险等级与“系统软件中嵌入恶意软件”的风险存在显著差异。理解这种差异是风险评估的核心。

网络安全的多维视角

随着我们更深入地学习技术细节,请务必牢记这个风险管理的基础框架。网络安全是一门有趣的学科,它既需要一些管理技巧,也需要技术技能。

在威胁资产矩阵的语境下,请始终将每个单元格视为一个风险管理活动。你可能会评估发现,在某些情况下,为系统添加加密功能与在服务器上贴一张“请勿触碰”的警示标签,其风险缓解效果可能相差无几。这要求我们进行务实的风险权衡。

总结与预告

本节课中,我们一起学习了威胁资产矩阵中每个单元格所代表的风险评估实质。我们明确了每个“威胁-资产”对的评估都是一个独立的管理项目,并理解了不同风险等级(如硬件机密性的“低风险”与软件完整性的“高风险”)背后的判断逻辑。

接下来,我们将进入下一个视频,开始一个案例分析。我们将对一个真实网络进行实际分析,并为其提出切实可行的安全建议。敬请继续学习。

040:矩阵示例第1部分 🛡️

在本节课中,我们将学习如何为一个真实的系统分解资产,并构建威胁资产矩阵。这是进行系统性网络安全风险管理的第一步。

概述

网络安全防御始于对自身系统的清晰认识。许多组织面临安全问题的根源在于,他们甚至不清楚自己拥有什么资产。本节课将通过一个典型的小型企业案例,演示如何系统地分解和识别关键资产类别,为后续的风险评估奠定基础。

缺乏标准蓝图的问题

上一节我们介绍了威胁资产矩阵的概念,本节中我们来看看如何具体识别资产。首先,我们需要认识到计算领域的一个普遍问题:缺乏标准化的系统“蓝图”。

在其他成熟学科,如建筑或化学,存在公认的标准图示方法(如建筑蓝图、元素周期表)。然而,在计算机科学领域,我们缺乏这种通用符号。这导致不同的人对同一系统的描述可能完全不同,甚至根本没有书面记录。这种状况严重阻碍了有效的安全规划和沟通。

我曾遇到一个美国政府机构,他们存在安全问题,但当被问及网络拓扑图时,他们却无法提供任何图表或清单。经过调查才发现,他们的生产网络和测试网络意外地连接在一起,且配置不当,这正是问题的根源。这个例子说明,仅仅帮助客户理清他们拥有什么资产,就解决了超过一半的安全咨询工作。

案例研究:典型公司资产分解

现在,我们将为一个典型的小型企业分解其资产。与之前使用的“硬件、软件、信息”这种通用分类不同,在实际操作中,我们需要根据具体的基础设施进行更细致的、有意义的分类。

以下是该公司的主要资产类别:

  1. 移动设备:假设每位员工都拥有一台移动设备。
  2. 个人电脑:假设每位员工都拥有一台PC。
  3. 企业局域网:员工通过Wi-Fi等连接的企业内部网络。虽然现代趋势是云化,但在学校、企业或家庭中,局域网仍然是核心资产。
  4. 存储:公司的数据存储,现今很可能完全基于云基础设施。
  5. 网站:用于销售、宣传或提供门户服务的对外网站。
  6. 业务支持系统:处理财务、支付、发票等业务的系统,通常也部署在云端。
  7. 邮件与日历系统:如Office 365等通信与协作平台。

可以看到,一个典型的现代小型企业架构是分布式的、混合的(本地+云),并具有一定韧性(服务分布在不同的云基础设施上)。

构建威胁资产矩阵

基于上述7类资产,我们可以构建威胁资产矩阵。如果我们采用CIA(机密性、完整性、可用性)威胁模型,那么这个矩阵将包含 7(资产类别) * 3(CIA属性) = 21 个单元格。

公式: 矩阵单元格总数 = 资产类别数 × 威胁属性数

这意味着我们将有21个独立的风险管理项目需要评估。这种方法使我们能够结构化地开展工作,系统地决定如何实施网络安全防护,而不是盲目地应用加密技术或进行渗透测试。

防御者的工作流程是:分解资产 -> 映射威胁类型 -> 对每个可能性执行风险管理活动 -> 决策(实施何种安全功能、程序控制,或选择接受风险)。这本质上是一个资源优化问题:在有限的预算内,优先处理风险最高的环节。

总结

本节课中我们一起学习了如何为实际系统分解资产。关键在于使资产分解与具体环境相匹配,使用有意义的分类(而非泛泛的“硬件、软件、信息”),并在此基础上构建威胁资产矩阵。这个矩阵将复杂的网络安全问题转化为一系列可管理的子任务,为后续的风险评估和防护措施优先级排序提供了清晰的框架。在下一个视频中,我们将基于这个案例开始具体的风险评估操作。

041:矩阵示例第2部分 🔐

在本节课中,我们将基于上一节视频中建立的示例网络,继续构建威胁资产矩阵。我们将逐一审视矩阵中的各个单元格,解释风险评估背后的理由,并理解如何为不同资产在机密性、完整性和可用性三个维度上分配优先级。

上一节我们介绍了如何为一个典型网络识别出七种关键资产。本节中,我们将看看如何将这些资产映射到三种威胁类型上,并完成风险评估矩阵。

以下是我们的威胁资产矩阵示例:

我已经预先完成了每个单元格的风险评估。现在,我将尝试解释其中一些评级的理由,帮助你理解这个过程如何进行。请注意,风险评估没有绝对正确的答案,关键在于你的结论是否合理且可论证。就像在之前的讨论中,不同的人从着火的房子里抢救出的最重要物品可能不同,但只要选择能自圆其说即可。


逐行分析风险评估

我们将逐行查看矩阵,并解释部分评级背后的思考过程。

1. 移动设备

  • 机密性、完整性、可用性评级:低
  • 理由:在现代企业中,移动设备本身存储的关键信息可能较少,它更像是一个访问其他资产(如云端服务)的窗口。因此,设备本身的风险评级较低。然而,通过它访问的内容可能风险很高。

2. 个人电脑

  • 机密性、完整性评级:中;可用性评级:低
  • 理由:与移动设备相比,个人电脑通常存储着大量敏感文件(如税务表格、个人文档)。对于攻击者而言,PC往往是更有价值的目标。因此,其机密性和完整性的风险更高。

3. 局域网

  • 机密性、完整性、可用性评级:低
  • 理由:虽然存在邻居窃用Wi-Fi或监听流量的风险,但对于大多数企业而言,局域网基础设施本身的风险相对较低,并非核心业务资产。

4. 存储系统

  • 机密性评级:中;完整性评级:高;可用性评级:低
  • 理由:假设我们的示例公司是一家软件公司,其存储在系统中的软件代码是核心知识产权。因此,确保代码不被篡改(完整性)至关重要。虽然代码泄露(机密性)也是问题,但防止被恶意修改通常优先级更高。

5. 电子邮件/日历

  • 机密性、完整性、可用性评级:中
  • 理由:电子邮件中包含大量商业机密和敏感通信,需要保护。历史事件(如邮件被黑影响选举)也证明了其重要性。但对于大多数公司,它可能不是最顶级的风险资产,因此评为中等。

6. 业务支持系统

  • 机密性评级:中;完整性评级:高;可用性评级:中
  • 理由:此类系统包含财务数据、客户列表等。财务数据的完整性绝对关键,不允许被随意篡改。客户列表的泄露(机密性)也很严重,但相比之下,确保数据准确无误更为根本。

7. 公司网站

  • 机密性、完整性评级:高;可用性评级:中
  • 理由:网站是公司的对外门户。对于电商公司,它就是业务平台。网站被篡改(破坏完整性)或敏感数据泄露(破坏机密性)会直接导致重大商业损失和声誉损害,因此评级最高。

风险评估的尺度与严谨性

请注意,本例中我们使用了低、中、高的简单评级尺度。在实际操作中,你可以根据需要的精确度选择不同尺度,例如1到10分,甚至1到1000分。

风险评估的严谨程度应与资产的重要性匹配。例如:

  • 对于普通企业:使用简单的低/中/高尺度,由小型团队评估可能已足够。
  • 对于核电站等关键设施:则需要极其精细的评分尺度(如1-1000),并由大型专家团队对矩阵中的每个单元格进行深入分析并达成共识。

这就是在关键基础设施中实施安全的方法。它可能看起来不那么“技术”,但却是所有安全决策的基石。


从分析到行动

完成这个矩阵后,下一步就是根据优先级采取行动。我们的安全措施(如部署加密、防火墙)将直接由这个风险评估驱动。

例如,基于我们的矩阵:

  • 我们不会盲目地在所有移动设备上加密,因为其评级为“低”。
  • 我们会将资源和预算集中在保护网站存储系统的完整性上,因为它们的评级是“高”。

公式:安全决策 ≈ 风险驱动
安全控制措施的选择和投资,应优先针对风险矩阵中评级最高的资产-威胁组合。


知识小测验

根据刚才的分析,以下哪项最能证明将“公司网站”的机密性评为“高”,而将“移动设备”评为“低”是合理的?

A. 黑客根本不关心移动设备。
B. 移动设备只是信息信标,而网站可能包含重要的产品或服务信息。
C. 网站包含对公司影响重大的信息,而移动设备本身存储的关键数据较少。

答案:C
理由:风险评估的核心在于资产所承载信息的业务影响。网站通常直接关联公司的核心业务和声誉,因此其机密性和完整性风险更高。这个选择是可论证的。如果你的网站只是一个无足轻重的宣传页,那么你完全可以给它评“低”分。


总结

本节课中我们一起学习了如何为威胁资产矩阵中的各个单元格进行风险评估。关键要点包括:

  1. 风险评估没有唯一正确答案,但结论必须合理且可论证
  2. 评级反映了特定资产在机密性、完整性和可用性方面对组织的相对重要性
  3. 评估的精细度(如评分尺度)应与组织的风险承受能力和资产关键性相匹配。
  4. 最终形成的风险矩阵是指导我们下一步部署具体安全防护措施的决策蓝图

在下一节视频中,我们将探讨如何将安全防护措施与这个风险分析活动联系起来,开始将理论转化为实际行动。

042:案例研究矩阵示例第3部分 🔐

在本节课中,我们将要学习如何将威胁资产矩阵的分析结果转化为实际行动,并了解首席信息安全官(CISO)在组织安全决策中的核心作用。我们将探讨从风险识别到实施安全措施的完整流程。


上一节我们介绍了如何构建威胁资产矩阵并进行风险评估。本节中我们来看看如何根据评估结果制定具体的行动方案。

在行业、商业和学术界,存在一个被称为首席信息安全官的职位。这个职位有CISO、CiISO等多种称呼。我认为我可能是历史上第二位担任此职的人。上世纪90年代中期,我在纽约市金融服务行业的好友史蒂夫·卡茨向我展示了他的名片,上面印着“首席信息安全官”。当时我在美国大型电信公司AT&T工作。我看到后觉得“CISO”这个头衔很酷。我回到公司后询问是否也能担任此职,他们回答“随你便”。于是我开始使用CiISO这个头衔,我想我可能是第二个这样做的人。

这个职位的核心工作内容,正是我们在这些视频中一直在做的事情:对组织进行风险分析和结构化处理,然后决定采取何种措施。我曾有一位上司,他总是对我说:“埃德,你已经向我展示了‘是什么’,现在告诉我‘所以呢’?” 我总是对“所以呢”这部分稍显薄弱。任何人都能说:“老板,看,我们有一大堆问题。”但关键在于知道如何处理这些问题。

这正是我们开始讨论使用威胁资产矩阵的地方。威胁资产矩阵是决策的基础,用于决定我们将实施何种安全技术、流程或策略来实际解决问题。同样,CISO是组织中做出这一决策的主要负责人。

早期的CISO有点像后台的IT人员。渐渐地,这个职位在典型公司的层级中开始上升。这让我想起了大多数公司50年前的人事部门。如果你回头读一些旧的商业书籍,比如我最喜欢的一本是由多年经营通用汽车的阿尔弗雷德·斯隆所著的《我在通用汽车的岁月》。在他的书里,特别是书末,有一系列像1960年通用汽车的组织结构图。翻阅这些图表非常有趣,你会看到在最后一页的底部,有一个叫做“人事部”的小组,你可能会想象成两个用打字机为新员工打印工牌的人。那么,从那时起的50年里,这个职位发生了什么变化?人事部变成了人事组,然后是人力资源组,再到HR团队。现在,你还能找到哪家公司没有向CEO汇报的人力资源或人事高管?这个职位已被公认为至关重要,因此地位得到了提升。信息安全正在经历类似的过程:从后台几个输入防火墙规则的小IT安全组,到做防病毒和防火墙的IT小组,再到为CIO服务的更大团队,最后成为与CIO平级的CISO。我认为,最终你将会看到首席风险官或首席安全官出现在最高层,很可能直接向CEO汇报。

他们的工作内容是什么?他们将资产映射到威胁,在每个案例中进行风险管理项目。风险管理的输出将是行动——你打算做什么。基于这些行动,项目得以建立,大型系统得以部署,团队被雇佣来维护它们。这就是一个组织、公司、企业、政府或国家保护自己免受网络攻击的方式。这不仅仅是部署一个防火墙来阻止对某个小东西的威胁。那是“微观安全”。对于那些坚持学习并继续观看后续视频的同学,我们将花一些时间深入探讨一些非常具体的技术细节。但我认为,理解这个背景对你很重要。

所以,我们接下来要做的是:这里有一张图表,展示了我们之前案例研究中的矩阵。你可以看到我画了一些箭头指向高风险区域,这意味着如果你现在有预算并打算采取行动,你将重点关注这些高风险活动,并实施一种叫做“安全措施”的东西。我们将在后续课程中深入探讨安全措施的定义、类别、工作原理、功能性以及如何嵌入系统。但你应该在脑海中形成这样一个概念:风险管理活动的输出,实际上就是行动。如果没有行动,你就做错了。想想看,如果我向你展示一个问题,却没有相应的解决方案,那你可能是在浪费我的时间。

让我们在此总结一下:
我们说过威胁资产矩阵是组织我们思路的好方法。这很有道理,有限集合对有限集合。
然后我们说,矩阵中的每个不同格子基本上都是一个风险管理活动。这也有道理。
接着我们说,风险管理应该以一种完整的方式进行,比如使用威胁树和层次化分解,而不是随意地进行结构化头脑风暴和猜测。你更希望有一个更结构化的流程。
然后,基于此,你对风险做出某种准定量判断,比如1到10的等级,高、中、低,任何符合你所处理系统重要性的敏感度标准都可以。
最后,团队将基于可用资金和资源来决定采取什么行动。

这就是进行风险管理的完整视角。在后续视频中,我们将简要探讨一个相关的理论基础,我希望你能理解。但现在,请记住所有这一切的基础是:可以构建有限的威胁资产矩阵。


本节课中我们一起学习了如何将威胁资产矩阵的分析转化为具体的安全行动,理解了CISO角色的演变及其在组织安全战略中的核心地位。我们明确了风险管理的最终目标是产生可执行的方案,而不仅仅是识别问题。下一节,我们将探讨支撑这一过程的理论基础。

043:资产、威胁、漏洞与攻击的映射 🔗

在本节课中,我们将学习如何系统地理解网络安全的核心概念——资产、威胁、漏洞与攻击之间的关系。我们将探讨为什么传统的、从攻击入手的分析方法存在根本性缺陷,并介绍一种更有效、更全面的系统安全分析框架。


从一个小故事说起

几年前,一个团队来到我的办公室,向我推销他们的安全咨询和分析服务。我问他们是做什么的,他们立刻回答说,他们的工作是从分析可能的攻击入手,描述针对基础设施的攻击数量,然后列出一份漏洞清单,最后再分析这些漏洞如何影响业务。

我当时心想,他们的做法完全本末倒置了。

无限集合的困境

为什么说他们的方法是错误的呢?原因在于,针对任何事物的可能攻击数量是无限的。这意味着,如果你试图通过分析攻击来理解一个系统的安全性,你将会遇到麻烦。同样,漏洞的数量也是无限的

我们之前提到过,我们倾向于将分析建立在资产威胁之上,因为这两者是有限的集合。而一旦涉及攻击漏洞,我们就进入了无限的领域

那么,我们该怎么办呢?如果攻击的数量是无限的,我们该如何应对?

来自医学的启示

我们可以从医学领域学到一些东西。想想你的医生是如何给你建议的。假设你去看医生,说:“医生,我感觉不太舒服,有什么建议吗?”医生可能会说:“嗯,你可能需要减点体重,最好戒烟,改善一下健康状况,适当做些运动。”

这些建议都是基于常识,并且很可能预防你从未听说过的疾病。医生绝不会说:“我们来列一个从1到100万的所有疾病清单,然后逐一检查,确保你没有得这些病。”你会觉得这荒谬至极。

然而,现在听我讲话的人中,可能有一半在回答“如何做网络安全”时,会说:“我们试图发现攻击,并确保自己不受这些攻击的影响。”你会聘请黑客来测试,他们会说:“看,我可以通过这种方式入侵你,也可以通过那种方式入侵你。”然后你就想:“天啊,一种病,两种病,三种病……我没有这些病,所以我一定是安全的。”

这种做法,就和医生列疾病清单一样荒谬。

核心概念映射图

让我们通过一个图表来清晰地展示这四个集合的关系。图表显示,资产威胁有限集合,而漏洞攻击无限集合

这个关系可以用一个简单的公式来描述:
安全分析 ≠ 穷举(攻击 ∪ 漏洞),因为 |攻击| = ∞|漏洞| = ∞

上一节我们明确了无限集合带来的分析困境,本节我们来看看这个认识对未来学习意味着什么。

对网络安全技术的启示

当我们开始思考不同类型的网络安全技术和保障措施时(这将在后续的视频和课程中涉及),你必须记住:你不能将安全基础建立在漏洞和攻击之上。这样做没有意义,因为数量太多了。

你必须采用一种更有意义、更全面的方式,即围绕保护对你重要的资产,提供广泛而完整的覆盖。

系统安全工程师的思维方式

贯穿这门课程,我希望大家能清楚地认识到,通过审视不同的事物集合(判断它们是有限还是无限),进行笛卡尔积分析,并剖析这个积中的各个组成部分,这正是系统安全工程师的思维方式。

以下是我们提供完整系统安全分析的方法论要点:

  • 以资产和威胁为起点:它们是有限的、可管理的分析基础。
  • 认识到漏洞和攻击的无限性:这意味着无法通过穷举来证明安全性。
  • 采用自上而下的分析框架:从业务目标和关键资产出发,推导出必要的安全控制。

重新审视传统方法

在漏洞和攻击的背景下,传统的观点总是从那里开始:寻找问题并修复它们。我希望你能把这个观点颠倒过来。我想让你明白,进行所谓的“渗透测试”或“白帽黑客”测试是有用的,但它们无法用于证明问题的缺失

我在之前的讨论中说过,这里再重复一遍:任何针对漏洞和攻击的测试,都擅长证明你所发现问题的存在。例如,如果你声称“我的系统零漏洞”,而我找到了一个,那我就证明你错了。但是,如果你要求我找出所有漏洞,并开始寻找,我永远无法证明我已经找全了所有漏洞。这是根本性的。

我希望你能将这一点牢记于心。


本节课中,我们一起学习了资产、威胁、漏洞与攻击之间的映射关系。核心结论是:有效的网络安全分析必须从有限的资产和威胁出发,而非试图穷尽无限的漏洞和攻击。请记住这个基础框架,在我们后续探讨具体技术和保障措施时,它将帮助我们建立更坚实、更全面的安全观。

044:欢迎Nasir Memon教授

概述

在本节课中,我们将跟随纽约大学计算机科学系的Nasir Memon教授,了解他进入计算机科学和网络安全领域的个人旅程,以及纽约大学网络安全项目的发展历程。

从纸上编程到计算机科学

Nasir Memon教授在纽约大学任教已有18年。他最初接触计算机科学是在本科二年级的一门课程中。有趣的是,当时他们并没有真正的计算机。学生们在纸上编写程序,由助教检查代码是否正确。这就是他全部的编程体验。

这门课程采用了自底向上的教学方法。他们学习的编程语言顺序是:机器语言 -> 汇编语言 -> Pascal -> Fortran。这与如今常见的自顶向下教学法相反。教授认为,自底向上的方法可能是更正确的途径。

Pascal语言的特点是编译器会严格检查代码的正确性,这与C语言不同。然而,由于当时没有编译器,所有的检查都依赖于助教。尽管Nasir教授从未上过课,但他在这门课上表现优异,获得了B的好成绩。计算机科学对他来说显得非常自然。

学术之路的转折

本科毕业后,Nasir教授的GPA仅为2.2,这导致印度的大学拒绝了他的硕士申请。他参加了GRE考试并取得了优异成绩,但依然无人接收。最终,内布拉斯加大学录取了他,攻读计算机科学硕士学位。这促使他决定深入探索计算机科学领域,因为他回忆起本科时这门学科对他来说是多么轻松有趣。

他最初并未计划进入学术界,甚至从未考虑过这个方向。

从密码学到网络安全

Nasir教授对网络安全的兴趣始于密码学。他的硕士论文就是关于密码学的。1989年,他在圣巴巴拉举行的密码学会议上发表了一篇关于公钥密码学的论文。

当时,许多密码学研究都基于数论。而他的导师是一位群论专家。因此,他们提出了一种基于群论的技术来生成密钥对。其核心思想是:取一个群并对其进行分解。这类似于解决背包问题。虽然相关领域发表了许多论文,但这项技术并未转化为实际产品。

这是Nasir教授首次接触网络安全领域。之后,他的研究方向转向了图像压缩。他参与了JPEG图像压缩标准的开发工作。随后,图像领域出现了数字水印技术,这本质上是一个安全问题。这再次吸引了他,并开始在此领域进行研究。

建立纽约大学网络安全项目

来到纽约大学布鲁克林校区后,Nasir教授被邀请讲授一门长期未开设的“信息安全与隐私”课程。在当时的许多人看来,密码学就等于安全。

他开始教授这门课程,并很快意识到,网络安全不能只靠理论讲授。学生必须动手实践:破坏系统、构建方案、亲自动手操作。只有这样,才能真正理解问题所在。

于是,他用启动资金和个人积蓄建立了一个小型实验室。他招募了一名助教(该助教后来成为一家大银行的首席运营官),共同为课程设计了一系列实验。这门课程非常受欢迎,学生们乐在其中。

这促使他思考:为什么不建立一个真正的网络安全实验室呢?早在2000年,在网络安全尚未成为重要关切之前,他就在此创立了网络安全实验室,并于2000年开设了首批本科计算机安全课程之一。他获得了美国国家科学基金会的资助,用于启动计算机安全和网络安全系列课程。

这个实验室后来被称为“信息系统与互联网安全实验室”。自此,项目不断发展壮大。

今日的纽约大学网络安全项目

如今,纽约大学的网络安全项目非常活跃和健全。作为一个研究型大学,该项目拥有近十名在安全及相关领域工作的教职员工,以及约50名活跃在该领域的博士研究生。

硕士网络安全项目也非常健全,拥有约100至200名学生,以在线和校园等多种形式授课。此外,还有许多计算机科学硕士生选修大量网络安全课程。他们可能不获得网络安全学位,但实质上通过选修大部分网络安全课程获得了计算机科学学位。学校提供了近十门不同的课程。

在本科阶段,学校设有网络安全辅修专业。项目不仅限于研究和教育,还积极与社区互动。每年夏天都有高中生来参加夏令营,高中教师也会前来接受培训,以便回去教授自己的学生。甚至两年制和四年制大学的教师也会在夏季前来,学校与他们分享课程大纲,以便他们回去授课。

项目也面向全球拓展,例如组织“Seesaw”等活动。明年该活动将在五个国家举办,内容包括海报展示、评委评审、获胜者评选以及夺旗赛等。这类活动以多种方式触及世界,并真正地将人们带入这个学科。参与过Seesaw活动后,许多人表示网络安全非常酷,或许应该成为一名安全工程师。这促进了学生对网络安全兴趣的增长。

在线教育与合作

与Coursera等优秀在线学习公司合作开设本课程,是纽约大学使命的一部分,旨在扩展和增长生态系统。在线方式能够触及更广泛的受众群体,让社区观众了解网络安全的主要问题,并可能激发他们从事网络安全工作的兴趣。这是选择在线教学的一个原因。

其次,Nasir教授坚信技术能够创造更好的课程。自适应学习、主动学习、掌握式学习等教学概念已被证明是传递学习经验的有效方式,而技术使我们能够实现这些。他认为技术将在未来十年彻底重塑教育。纽约大学希望同时发展校园教学和技术驱动的在线教学,这代表了学习的未来。

对于年轻人或其他观看者来说,如果希望成为纽约大学社区的一员,这或许是一个开始的方式。他们可以沉浸其中,看看这是否是他们感兴趣、有天赋并感到兴奋的领域。然后,他们可以开始选课并加入学位项目,纽约大学可以是选择之一。

关于女性参与度的观察

在全球范围内,尤其是在硕士和博士阶段,似乎有较少的女性进入计算机科学领域。Nasir教授注意到相关指数,并认为我们需要重新激发女性的参与度。在80年代和90年代取得了很大进展,但现在感觉略有下滑。

不过,情况正在好转。在纽约大学,女性入学率正在上升。去年,Nasir教授刚结束为期三年的系主任任期,他发起的一项主要倡议就是提高女性入学率和参与度。女性带来了独特的视角。好消息是,今年的女性入学比例达到了46%。他认为这不仅是纽约大学的努力,更是一种全国性的趋势。

但这不仅仅是录取她们,还包括留住她们、培养她们、提供适宜的环境。一个尊重她们并允许她们蓬勃发展的环境至关重要,纽约大学正努力做到这一点。

跨学科教学实验

本学期Nasir教授没有授课,但下学期他将在纽约大学法学院教授一门名为“网络安全法律与技术”的课程。他将与一位律师共同授课,学生将来自法学院和技术学院,并进行联合项目。

这标志着从“光速”到“律师速度”的转变。实际上,这是他们新开设的“网络安全风险与战略”在线混合硕士项目的一部分。该项目一半的课程是法学院课程,一半是技术课程。他们不会回避技术,律师必须学习它;他们也不会淡化法律,技术人员必须学习它。这是一次相当大胆的实验。

总结

本节课中,我们一起学习了Nasir Memon教授从纸上编程到成为网络安全领域专家的个人历程,了解了纽约大学网络安全项目从一个小实验室发展到涵盖本科、硕士、博士及社区拓展的健全体系的过程。我们还探讨了在线教育的价值、女性在计算机科学领域的参与现状,以及跨学科教学(技术+法律)的创新实验。这些内容为我们理解网络安全领域的学术发展和教育实践提供了宝贵的视角。

045:你将学到什么 🛡️

在本节课中,我们将介绍《网络安全导论》这门课程的核心目标、内容结构以及学习价值。课程将重点探讨网络防御的基础知识,特别是控制措施和密码学的应用。

大家好,我是 Ed Ammarosso,欢迎来到我们的《网络防御导论》课程。

我认为这门课程对你们来说会非常有趣且实用。在网络安全领域,我个人认为目前过于强调网络攻击,比如黑客行为和入侵技术。我理解这些活动可能很有趣且富有挑战性,但为了真正有效地防御或阻止这类攻击,我们需要理解一些非常基础的问题。这正是我们将在本课程中花时间探讨的内容。

这是一门侧重于控制措施的网络防御入门课程。我们将学习大量密码学知识。你们会看到经典的“爱丽丝(Alice)”和“鲍勃(Bob)”来回发送消息的场景。到课程结束时,你们可能会听腻关于爱丽丝和鲍勃的故事,但你们将学到相当多的知识。

以下是本课程的三个主要目标:

首先,介绍最重要的功能性措施。你们稍后会看到,这些措施与策略、流程等保障措施有关。我们会在后续视频中讨论这些,但真正奠定计算机安全、网络安全和计算机科学基础的是功能性机制。这是我们的第一个目标。

其次,阐述实际应用。我们确实注重这门课程的实践性,希望它能成为可以应用的知识。这不仅仅是建立理论基础,尽管我会花一些时间来构建理论基础,因为我认为这是必要的。但课程始终会回归到实际应用上。这是我们的第二个目标。

第三,我希望尝试激励你们投身于网络防御事业。目前有太多的黑客,而防御者却不足。希望在本课程结束时,你们会受到鼓舞,并希望真正投身于成为一名“好人”,去阻止攻击,而不是设计新的攻击方式。当然,我是在开玩笑。我理解我们必须了解黑客是如何工作的。在之前的课程中,我们花了一些时间讨论这一点。

我希望你们能坚持学习完所有的讲座和视频,阅读所有材料。我相信你们会学到很多。

再次欢迎来到我们的《网络防御导论》课程,谢谢。😊


本节课中,我们一起学习了《网络防御导论》课程的整体框架。课程旨在平衡理论与实践,重点介绍功能性防御措施和密码学基础,并鼓励学习者将知识应用于实际场景,最终目标是培养更多的网络防御专业人才。

046:基础网络防御与资源导览 🛡️

在本模块中,我们将学习如何在建模的背景下理解基础的网络防御。我们将围绕如何通过策略、流程和功能安排来降低网络风险,创建抽象概念。本模块会涉及一些数学技巧,并为你提供一系列推荐的论文、视频和资源,以辅助你的学习。

课程概述

上一段我们介绍了本模块的核心目标。接下来,我们将具体了解为帮助你掌握这些概念而推荐的阅读材料和视频资源。

以下是本模块的核心推荐阅读材料:

  • 《Hook-up Theorem》论文:这篇由数学家Darl McCullough于1990年撰写的论文,虽然有些复杂但非常有趣。它将与本模块中的一个视频内容相匹配,有助于你深入理解相关概念。
  • Morris & Thompson的密码安全论文:这篇由两位Unix系统大师撰写的优秀论文,几乎是一部历史综述。它能帮助你理解当今我们视为理所当然的密码与身份验证技术的许多源头。阅读这篇论文将会是一次愉快的体验。

除了必读论文,这里还有一些可选的扩展书籍:

  • 《From CIA to APT: An Introduction to Cybersecurity》:这是一本由我与我的儿子Matt合著的电子书。在学习本模块时,你可以选择性阅读第9章和第10章。这本书可以作为你跟进学习的补充材料。
  • 《TCP/IP Illustrated, Volume 1》:这是一本由Richard Stevens撰写的关于TCP/IP的优秀教材。虽然并非必需,但如果你想深入了解,我建议阅读其中的第9章和第10章。这本书完全是可选资源。

阅读材料之后,我们来看看推荐的视频资源。

以下是两个极具启发性的视频,它们从更广阔的视角探讨了安全与验证的本质:

  • 理查德·费曼关于检验理论的演讲:这位诺贝尔物理学奖得主在网络安全概念出现之前,就阐述了检验理论的方法。他的观点与我们今天在网络安全领域的工作高度相关。
  • 布鲁斯·施奈尔的TED演讲《安全幻象》:布鲁斯·施奈尔是网络安全领域真正的先驱和领导者之一。你应该完整观看他的这个TED演讲。如果你有机会在会议上见到他,一定要去听,他的分享非常精彩。

总结

本节课中,我们一起学习了本模块“基础网络防御”的学习目标,并详细浏览了为辅助学习而推荐的各类资源,包括核心论文、可选书籍以及拓展视野的专家视频。希望你能充分利用这些优质资源,并在本模块中学有所获。

047:安全措施与对策

在本节课中,我们将学习一个核心概念:安全措施。我们将探讨三种主要的安全措施类型,理解它们如何共同作用以降低网络安全风险。

很多人喜欢为“安全措施”这个词赋予特定含义。它通常被视为一种预防性措施,旨在事件发生前进行阻止。有时,你会看到“对策”这个词,用来描述攻击发生后采取的行动。我们不会在语义上花费过多时间,网络安全领域的术语已经够多了。因此,我们将聚焦于“安全措施”这个术语,将其视为你为降低风险而采取的实际安全防御手段。

在之前的课程中,我们详细讨论了风险管理。这里不再深入,但需要指出,你可以通过三种不同的方式来运用安全措施以降低风险。

以下是这三种主要类型:

1. 功能性措施

我们将花大量时间讨论这类措施。这包括我们的防火墙、加密技术、入侵检测系统、恶意软件行为分析等。所有不同的功能性计算控制、协议、系统,以及实实在在的硬件和软件,都属于这个范畴。我们称之为功能性措施

2. 程序性措施

这类措施涉及将所有人组织起来,并规定:“嘿,这就是我们的行为准则。”这包括我们将遵循的管理程序、配置程序。作为用户,这是我们承诺的行为方式。例如,我们承诺不点击看起来可疑的链接,承诺不以某种方式保存文件。这些程序性措施有时难以强制执行,但很多时候我们别无选择。如果你有选择,你可能会希望一切都是功能性的,然后告诉每个人可以随心所欲,因为不可能造成问题。但现实并非如此。因此,有时我们必须遵循程序性机制、控制措施或逐步的管理协议来进行风险缓解。随着课程深入,我们会看到一些例子。所以,程序性/管理性措施是第二类。

3. 策略性措施

这一类比较特殊,因为它形式多样。有时它可能是一条规则,违反就会产生后果。例如,规定“任何人在这里做坏事都会被解雇”。这是功能性的吗?不是。是程序性的吗?也不是。但它有后果吗?是的。我们制定的这些策略有时确实能降低风险。你可能记得在之前的课程中,我展示过一个苏打水机的例子,我们破解了它。最后我们得出的一个强有力的解决方案,就是简单地贴一张纸条在机器上说:“听着,你最好停止破解这台机器,因为如果我们抓到你,你会有大麻烦。”这不是功能性控制,也不是程序性控制。事实上,这正是网络安全独特的一点,作为一名实际的网络安全工程师,你必须记住:与其他工程分支不同,有时仅仅依靠一项策略,可能比功能性控制更有效。

让我举个例子,我们稍后会花更多时间讨论。以欺骗为例。假设我有一个功能性陷阱,如果你掉进去就会被抓住并惹上大麻烦。这是一个我部署的功能性机制,我可以到处设置,就像地雷区一样。那么,一个替代方案就是简单地告诉每个人你设置了陷阱,你有这些能抓住黑客的“地雷区”,并且你的策略是允许这样做。有趣的是,这可能和真正部署功能性控制一样有效。你明白吗?如果你认为它们存在,我可能就已经影响了你的行为。因此,拥有策略有时可以补充程序和功能。

再次强调,三个主要组成部分是功能性程序性策略性措施,它们协同工作。在本课程中,我们将花时间逐一探讨。

希望这对你有用,也希望你在学习过程中花时间思考它们。谢谢。

048:参考模型 🔐

在本节课中,我们将要学习网络安全领域一个基础且重要的概念——参考监视器。这个概念虽然简单,却像牛顿的万有引力定律一样,为整个领域奠定了基石。我们将了解它的起源、核心思想及其在现代安全机制中的体现。

创新与基础观察

在深入具体概念之前,我们先谈谈创新与发明。回顾任何科学的发展史,总有一些早期的观察为后续工作奠定了基础。这些基础概念在事后看来往往“显而易见”,但在当时却可能是革命性的洞见。

参考监视器的诞生

上世纪70年代,计算机安全领域的早期研究者詹姆斯·安德森提出了一个概念,称为参考监视器。在早期的计算时代,操作系统常被称为“监视程序”,这或许为他的想法提供了背景。

安德森试图为计算机安全建立一个理论模型。他认为,安全的核心在于在主动实体(主体)和被动存储库(客体)之间放置安全措施

核心模型:仲裁与中介

参考监视器的核心思想是一个仲裁模型。它像一个中间人,位于试图执行操作的主体和接受操作的客体之间。

  • 仲裁:参考监视器直接参与交互过程,实时审查每一个访问请求。
  • 裁决:与之相对的是“裁决”模式,即安全机制在旁观察,仅在发现问题后才介入处理。

参考监视器采用的就是仲裁模式。它检查每一个访问请求,判断其是否符合安全策略。

参考监视器的工作原理

参考监视器的运作遵循一个清晰的逻辑流程,可以用以下伪代码描述其核心决策过程:

if (请求是授权的 && 条件满足) {
    允许访问;
} else {
    执行安全措施; // 例如:拒绝访问、记录日志、发出警报
}

它的职责是确保:

  1. 发出请求的实体拥有适当的授权
  2. 允许此次访问的所有条件都已满足
  3. 如果上述任何一点不成立,则触发负面响应(如阻止、记录或告警)。

模型的深远影响与现代表现

詹姆斯·安德森的参考监视器概念对网络安全社区产生了深远共鸣,至今仍是基础思想之一。它之于计算机安全,犹如牛顿的观察之于物理学。

每天,当我们在系统中部署安全机制时,无论是安装防火墙入侵检测系统还是其他安全控制措施,本质上都是在实现安德森原始模型的思想。这些现代网络安全机制都是参考监视器理念的具体化身。

延伸思考:模型的演变与挑战

理解基础概念后,我们可以进一步思考其在实际中的演变。例如,考虑防火墙与参考监视器之间的共生关系。

从图示看,参考监视器位于一个主体和一个客体之间。但在复杂的现实世界中,我们会面临许多设计考量:

以下是当主体和客体数量增多、位置分散时,引发的一些关键问题:

  • 参考监视器是一个单一的实体吗?
  • 它可以是有形的还是虚拟的
  • 它能否被分布式部署?
  • 它能否被虚拟化
  • 它能否成为客体、主体或网络的一部分?

这些设计问题正是从一个像参考监视器这样简单而优雅的概念中衍生出来的。在您学习后续材料时,可以花些时间思考这些问题。

总结

本节课中,我们一起学习了网络安全的基础模型——参考监视器。我们回顾了詹姆斯·安德森提出的这一仲裁模型,它通过在主体和客体之间充当仲裁者来执行安全策略。我们理解了其“检查-授权-执行”的核心逻辑,并看到了这一思想如何体现在防火墙等现代安全设备中。最后,我们探讨了该模型在复杂系统设计中引发的延伸思考。这个历经半个世纪依然有效的简单模型,为我们理解和构建安全系统提供了坚实的基础。

049:橙皮书合规性 🍊

在本节课中,我们将学习网络安全早期发展中的一个重要里程碑——《可信计算机系统评估准则》,俗称“橙皮书”。我们将了解它如何基于“参考监视器”概念,为系统安全设计提供了一套结构化的要求框架,并探讨其核心概念对现代安全的影响。


上一节我们介绍了“参考监视器”的概念。本节中,我们来看看如何将这种理论转化为实际系统的安全要求。

故事要从20世纪80年代初说起。当时,我在贝尔实验室工作。那里是技术的圣地,Unix操作系统的诞生地。然而,早期的Unix系统并未内置强大的安全机制。于是,一个由Bob Morris Sr.领导的团队开始思考:如何为Unix系统添加安全性?

这是一个普遍问题:面对一个现有系统,你该如何系统地为其增强安全,而不是零散地“这里加一点,那里补一点”?幸运的是,当时美国政府正在编写一份文件,它提供了一个绝佳的框架。

这份文件的封面是橙色的,因此被称为 “橙皮书”。它的正式名称是“可信计算机系统评估准则”。尽管以今天的眼光看,它存在局限(例如对网络安全的考虑不足),但在当时,它是一份极具前瞻性的政府报告。

橙皮书的核心思想是:它为系统安全定义了一套分级的要求标准。

以下是其核心结构:

  • 分级评估:它将系统安全能力分为不同的等级。从几乎无安全措施的“基础级”开始,随着等级提升,对访问控制、审计等机制的要求也逐级增强。
  • 功能与保证并重:它不仅要求系统具备安全功能(如访问控制),更强调必须提供证据来证明这些功能被正确实现且有效。这种对“正确性”的证明被称为 “保证”

上一节我们提到了橙皮书的框架。本节中,我们深入探讨其中一个影响深远的核心概念:可信计算基

TCB是一个极其优雅的概念。它指的是系统中必须被高度信任的那部分最小功能集合。其理念是:当系统其他部分可能出错或被攻破时,我依然可以信赖TCB能正确执行其核心安全功能。

这个概念至今仍在现代计算中回响,例如:

  • 可信执行环境:在移动设备中,TEE提供了一个隔离的安全区域来执行敏感操作。
  • 可信平台模块:TPM是一种硬件芯片,为系统提供基于硬件的根信任,用于密钥存储等安全功能。

这些现代技术的思想根源,正是橙皮书在约40年前提出的TCB概念。


那么,橙皮书的后续发展如何?它曾是80年代至21世纪初计算机安全的重要基础。然而,其严格的合规性评估过程逐渐变得冗长、昂贵且官僚化。与此同时,计算世界的发展轨迹开始转向“更快、更多功能”。

这就引出了一个根本性的分歧:

  • 一条路是“做对、做稳”,强调严谨的设计与保证。
  • 另一条路是“做快、做多”,追求快速的迭代与功能扩展。

这两条路径之间的差距,正是当今许多网络安全问题滋生的空间。 攻击者往往利用我们在追求速度时引入的漏洞和薄弱环节。这也是为什么理解橙皮书这类历史基础如此重要——技术行业常常忽视历史,导致相同的错误一再重演。

我们无法改变对“快速创新”的追求,但我们必须清醒地认识到,许多网络安全问题正是因为我们脱离了像TCB这样的基础安全原则。


本节课中我们一起学习了“橙皮书”的历史、其分级评估框架、以及“可信计算基”这一核心概念。我们认识到,在追求功能与速度的同时,坚守严谨的安全设计与保证原则,是缓解当前网络安全挑战的关键。理解这些历史基础,将有助于你在网络安全领域进行更深入的思考和学习。

我们将在下一个视频中继续探索。

050:Bell-LaPadula模型 🔐

在本节课中,我们将要学习一个在计算机安全领域具有里程碑意义的模型——Bell-LaPadula模型。这个模型源于20世纪70年代,旨在为军事计算机系统中的敏感数据提供保密性保护。我们将了解其核心思想、运作规则,以及它如何用简单的概念解决了复杂的安全问题。


上一节我们回顾了网络安全的历史背景,本节中我们来看看一个具体的、影响深远的保密性模型。

Bell和LaPadula两位研究者在为美国国防部工作时,观察到军事信息管理的现实做法,并试图将其应用到计算机系统中。他们注意到,军事人员拥有“安全许可”等级,而文件则拥有“密级”分类。

以下是该模型建立的两个核心基础概念:

  • 主体:指系统中主动的实体,如用户或代表用户运行的进程。每个主体被赋予一个安全许可标签。
  • 客体:指被动的信息载体,如文件、文档或数据库记录。每个客体被赋予一个密级标签。

标签使用相同的等级体系,例如:公开级 < 秘密级 < 机密级 < 绝密级


基于对军事规则的分析,他们总结出了两条核心安全规则,可以用一个简单的“层级图”来直观表示。

以下是Bell-LaPadula模型的两条基本规则:

  1. 简单安全规则:主体不能读取密级高于其许可级别的客体。这被称为 “不上读”

    • 公式表示:对于读操作 read(s, o),要求 clearance(s) >= classification(o)
  2. *-属性规则:主体不能将信息写入密级低于其许可级别的客体。这被称为 “不下写”

    • 公式表示:对于写操作 write(s, o),要求 clearance(s) <= classification(o)

用更直白的话说:许可高的人可以看低密级的文件,但不能把高密级的信息写到低密级的文件里


这个模型的故事也给我们一个重要的启示:复杂的思想应当用清晰、简洁的方式表达。Bell和LaPadula最初的论文非常晦涩难懂,而一个简单的“层级图”却能让人瞬间理解其精髓。在设计和传达安全方案时,追求简洁明了往往比撰写冗长的文档更为有效。


本节课中我们一起学习了Bell-LaPadula模型。我们了解到,它通过为主体(用户/进程)和客体(文件)分配安全标签,并严格执行“不上读、不下写”的规则,有效地防止了信息从高密级向低密级泄露,从而保障了系统的保密性。这是一个专注于解决机密性威胁的经典模型。在后续的视频中,我们将看到针对完整性威胁的模型,会得出一些有趣的不同结论。

051:Biba完整性模型 🔐

在本节课中,我们将要学习Biba完整性模型。这个模型与之前介绍的Bell-LaPadula(BLP)保密性模型相对应,它关注的是如何在一个系统中维护信息的完整性。我们将探讨其核心规则、与BLP模型的对比,以及它在实际系统安全中的意义。


上一节我们介绍了Bell-LaPadula模型如何通过“不上读,不下写”的规则来保护信息保密性。本节中我们来看看Biba模型如何以类似但相反的逻辑来保护信息完整性。

Biba模型由Ken Biba提出。他思考的问题是:在一个系统中,如何像Bell和LaPadula保护保密性那样,来保护和维持信息的完整性属性。

他提出了一个与军事保密等级类似,但用于衡量完整性的等级体系。在这个体系中:

  • 高完整性对象或主体:代表可信、未经篡改、内容准确。
  • 低完整性对象或主体:代表可能包含错误、垃圾信息或恶意代码,不可信。

基于这个等级体系,Biba模型的核心规则是确保高完整性实体不被低完整性实体污染。以下是其两条核心安全公理:

  1. 简单完整性公理:主体不能读取完整性级别低于它的客体(不下读)。这防止了高完整性进程(如系统内核)被低完整性数据(如不可信的应用程序数据)所污染。
  2. 完整性星号公理:主体不能写入完整性级别高于它的客体(不上写)。这防止了低完整性进程(如用户应用程序)去修改高完整性数据(如系统关键文件)。

我们可以用简单的规则来总结Biba模型:“不下读,不上写”。这与Bell-LaPadula模型的 “不上读,不下写” 规则正好相反。


那么,如何在系统中实现这些规则呢?其核心思想与BLP模型类似,是为所有主体(用户、进程)和客体(文件、数据)分配完整性标签,并在每次访问操作时进行强制检查。

Biba模型在网络安全中有很好的实际意义。例如:

  • 操作系统内核可以被标记为高完整性,而用户应用程序被标记为较低完整性。Biba规则能防止应用程序篡改内核,这有助于将病毒等威胁隔离在外。
  • 以高权限(如root)运行的管理员进程(高完整性)应避免读取来源不可信的低完整性数据,以防被恶意代码利用。

然而,无论是Bell-LaPadula模型还是Biba模型,在实际应用中都存在一些显著的问题。过于严格的访问控制可能会影响系统的可用性和灵活性。在后续的视频中,我们将花一些时间探讨这些模型在实践中遇到的问题及其对安全建模的启示。

在进入下一部分之前,让我们通过一个简单的测验来检验对Biba和Bell-LaPadula模型的理解。题目是:以下哪些选项符合Biba模型的属性?根据Biba的“不下读,不上写”原则进行判断,你会发现所有给定的选项都违反了至少一条规则,因此没有一个是Biba可接受的。这有助于巩固你对这两个模型区别的理解。


本节课中我们一起学习了Biba完整性模型。我们了解到,它是Bell-LaPadula保密性模型的“镜像”,通过 “不下读,不上写” 的规则来保护系统免受低完整性信息的污染。这些模型的理论在多年间深刻影响了网络安全的设计思路,但我们也认识到它们并非完美。在接下来的课程中,我们将探讨这些经典模型面临的挑战。

052:主体-对象操作模型的问题

概述

在本节课中,我们将探讨经典的计算机安全模型——Bell-LaPadula和Biba模型——在实际应用中出现的问题。我们将分析两个关键问题:“盲目写入”和“分布式读取”,并理解为何这些理论模型在某些现实场景中失效。

理论模型的局限性

在之前的课程中,我们详细了解了Bell-LaPadula和Biba模型,并解释了它们如何作为计算机安全(以及后来的网络安全)多年的理论基础。这是因为它们为处理信息泄露和完整性属性提供了极具说服力的框架。

你可能还记得,我们探讨了如何利用Biba模型的完整性属性来保护操作系统内核等关键组件。这些模型确实解决了非常核心的安全问题。

然而,问题在于,这些理论后来被发现与人们在尝试遵循这些属性构建的真实操作系统和网络中所获得的经验并不完全匹配。我在之前的许多视频中已经多次提及并触及过这个主题,现在我想再次强调这一点。

科学家创建理论是美好的,但理论必须与实验观察相符,否则它就是错误的。这是我们从理查德·费曼、爱因斯坦等所有伟大科学家那里学到的:你可以发展一个优美的理论,拥有无可挑剔的资历,进行严谨的数学推导,发表精彩的论文,甚至赢得奖项。但如果人们的观察、实验或现实世界的实现不支持这个理论,那么它就是错误的。

现在,让我们来看看Bell-LaPadula和Biba模型出现的几个具体问题。

问题一:盲目写入

以下是“盲目写入”问题的运作方式。

假设我被允许执行“向上写”操作。例如,我的安全级别是“未分类”,而我正在向一个“绝密”文档中写入内容。我们都同意这没什么大不了的,如果你想在绝密文档里放入未分类的内容,尽管去做。所以,你可以执行这个写入操作。

但是,在Bell-LaPadula模型中,对应的读取操作——即读取你刚刚写入的内容——是不被允许的。这有点奇怪,对吧?

如果你正在开发一个Unix系统,并且使用你可能熟悉的命令行界面(如果你是Linux爱好者,你会知道CLI是什么),你正在输入一个命令,将某些内容放入一个文件,并将其存放到某个绝密目录中。然后,你想去读取那里的内容,甚至只是查看它是否存在,系统却不允许你这么做。它可能会说“文件未找到”之类的。这在你看来奇怪吗?你愿意在这样一个系统中工作吗?当时的人们得出的结论是:他们不愿意。这很奇怪。虽然我喜欢Biba模型,但如果我的系统真的这样工作,那就有问题了。

这是第一个暗示事情可能不对头的线索。

问题二:分布式读取问题

第二个问题,我认为是导致模型失效的致命一击,被称为“分布式读取问题”。

以下是它的运作方式。我希望大家都知道,在TCP/IP协议中,Alice和Bob之间的通信是通过数据包来回传输实现的。这就是TCP/IP。Alice对Bob说:“嘿,我在这里。”然后发送一个数据包。Bob回应:“哦,我看到了。”然后也发送一个数据包。接着Alice再发送一个数据包。你得到了这种双向的通信流量。一旦这些数据包开始来回传输,就可以在其上实现Alice和Bob之间的操作,比如发送文件、写入或读取某些内容。这些应用层操作是在TCP协议完成握手并建立连接之后才实现的。

假设网络上有一个绝密级别的Alice进程,她想向同一网络上的Bob写入数据,这将是一个“写”操作。你知道,在这之下会有所有这些双向的数据交换发生。

类似地,如果我有一个绝密进程想要通过网络读取一个秘密文件或类似的东西,我们之前说过这是允许的,对吧?你同意一个拥有绝密权限的人通过网络读取秘密内容是没问题的。Bell-LaPadula模型会说这完全没问题。所以,绝密想读取秘密,可以。

但是,你对“绝密向秘密写入”感觉如何?我们说过我们不喜欢那样。但是,等等,我允许你读取,所以信息可以这样流动。但为了发起这个读取操作,我必须先发送一个数据包过去(从绝密到秘密),然后数据包再回来,如此往复。你会觉得,这不可能对吧?这个模型说不通。

我希望通过讨论你能理解科学的工作方式:聪明的计算机科学家、物理学家、化学家等,他们提出关于世界如何运作的理论。我们都审视这些理论,好的理论能说得通,我们会想:“哇,这将来会很有用。”它们要么经受住时间的考验,要么不能。事实证明,Bell-LaPadula和Biba模型没有完全经受住考验。因此,其他模型应运而生,我们将在后续课程中展示。

知识测验

现在,为了测试我们的理解,确保你跟上了进度,我们来做一个小测验。

问题: 对Bell-LaPadula和Biba模型的一个主要批评是,它们有时会创建所谓的“盲目操作”。这是什么意思?

选项:
A. 主体可以读取但不能写入对象。
B. 主体可以写入但不能读取对象。
C. 当主体可以读取(或写入)一个对象时,它不能相应地写入(或读取)该对象。
D. 主体既不能读取也不能写入对象。

答案: C。这正是我们讨论的“盲目操作”的定义:当你能够读取(或写入)时,却不能相应地执行写入(或读取)操作。这就是我们对这类模型提出的批评。

总结

本节课中,我们一起学习了经典安全模型Bell-LaPadula和Biba在实际应用中暴露出的两个关键问题:“盲目写入”和“分布式读取问题”。我们理解了理论模型必须接受现实世界实践的检验,当理论与观察到的现象不符时,理论就需要修正或发展。这些问题的发现推动了计算机安全模型的进一步演进。

053:隐蔽通道

在本节课中,我们将要学习通信通道的概念,特别是公开通道隐蔽通道的区别。我们将通过简单的例子理解这些概念,并探讨在网络安全策略中如何应对隐蔽通道。

公开通信通道

公开通信通道是专门设计用于在两个不同实体之间进行通信的渠道。

例如,我通过视频与你交谈,你观看视频,这就是一个公开的通信方式。如果我拿出手机拨打你的号码,那也是使用了一个公开的通信通道,因为它就是为我们的通信而设计的。发送电子邮件,或者在咖啡馆面对面聊天,通过声带振动发出声音,你的耳膜接收振动,这些都是为通信而设计的公开方式。

隐蔽通信通道

现在,假设出于某种法律、政策或安全原因,规定 Alice 绝对不能与 Bob 通信。你会怎么做?你会禁止他们使用所有已知的公开通信渠道:不能发视频、不能打电话、不能发邮件、不能面对面喝咖啡等等。

当你列完所有公开渠道并禁止后,你可能会认为 Alice 和 Bob 无法通信了,政策目标似乎已经达成。然而,通信可能并未停止。

让我分享一个童年例子。我的卧室和妹妹的卧室共用一堵墙。母亲让我们睡觉,不许再说话、发出任何声音。在她看来,这意味着我不能再用声带发出声音让妹妹听到。但我们会在母亲离开后,用手敲墙:咚,咚,咚,咚,咚。妹妹会回应 咚,咚。这是在通信吗?当然是。每个孩子可能都这么玩过。

那么,这堵墙是公开通信通道吗?在建房子时,你会说“这面墙是一个漂亮的公开通信通道”吗?这很荒谬。墙并非为此设计,但我们却用它进行了通信。这就是一个隐蔽通信通道的例子。它指的是通过某种共享机制或共享资源,允许在 Alice 和 Bob 之间进行信号传递的通信方式。

如何阻止隐蔽通道?

一个有趣的问题是:如何关闭这些隐蔽通道?在我家的例子中,母亲可以跑进来说“不许敲墙”。但这可能无法完全阻止,因为总有其他方法。

在计算机系统中,情况类似。假设两个客户操作系统通过虚拟机管理程序运行在同一硬件上,并且政策禁止它们相互通信。你已经关闭了所有公开的进程间通信渠道。

但其中一个操作系统可能事先与另一个约定:“我们都共享同一个CPU。我会在下午1点启动一个疯狂的任务,让CPU性能骤降。如果你观察到系统响应变慢,那就是我发送了信号‘1’;如果我没有这么做,那就是信号‘0’。我们每分钟这样操作一次。”

如果这个方案成功,他们就建立了一个每分钟1比特的隐蔽通道。这很巧妙,对吧?如何阻止它?阻止一个进程使用CPU是困难的。

一个常见的理论机制(你可能不喜欢,但确实被讨论过)是:向系统中注入噪声。例如,让CPU随机地、不可预测地出现性能下降。这样,Bob 就无法区分性能下降是 Alice 故意造成的,还是系统本身的随机噪声。

这就好比我的母亲在墙上装了一个带马达的鼓踏板,整夜随机地敲击墙壁。如果我想敲出 咚,咚,咚,咚,咚 的节奏,它也会被那个愚蠢的随机鼓声所淹没。这听起来可能有点疯狂,但这就是计算机科学理论的一部分,其目的是为了关闭隐蔽通道。

因此,核心问题是:如果我想真正遵守“Alice 不能与 Bob 通信”的政策,我不仅要关闭所有公开通道,还必须寻找并关闭所有可能的隐蔽通道。不断搜寻隐蔽通道是一个奇特的概念,但理论家们一直在做这件事。

下节预告

在下一个视频中,我将向你展示一些我认为如同来自外太空的研究成果。它非常有趣且与众不同。我们将分析几个系统:首先,我会向你证明 Alice 可以向 Bob 发送信号;然后,我们将移除 Alice 和 Bob 发信号的能力,再分析另一个类似的系统。我们将研究它们的一些特性,这些特性非常有意思。

希望你能继续关注。我们下个视频再见。


本节课总结:本节课我们一起学习了公开通信通道与隐蔽通信通道的核心区别。公开通道是专为通信设计的,而隐蔽通道则是利用非通信设计的共享资源(如墙壁、CPU)来传递信息。要彻底执行禁止通信的安全策略,必须同时考虑并设法阻断这两类通道,其中对隐蔽通道的阻断可能涉及向系统注入噪声等理论方法。

054:信息流模型与Hook Up定理(第一部分)

概述

在本节课中,我们将学习信息流模型中的一个核心概念——可推断安全性。我们将通过两个理论系统示例,理解如何通过引入“噪声”来关闭系统中的隐蔽信道,从而防止信息从用户A流向用户B。


公开信道与隐蔽信道

在之前的课程中,我们讨论了公开信道与隐蔽信道的区别。公开信道是预期的通信方式,而隐蔽信道则是一种共享的、可用于向他人传递信号的机制。

系统Y:一个简单的信号模型

现在,我们来看一个名为“系统Y”的理论模型。这个系统的工作原理如下:

  • 左侧是用户A,右侧是用户B。
  • 用户A向系统Y发送一系列消息。
  • 在发送完这些消息后,系统会计算所发送消息的总数,并将总数的奇偶性(奇数或偶数)发送给用户B。

工作原理示例

  • 如果用户A发送了偶数条消息,系统就向用户B发送“偶数”。
  • 如果用户A发送了奇数条消息,系统就向用户B发送“奇数”。

显然,用户A可以通过控制发送消息的数量(奇数或偶数)来向用户B传递信号,这就在两者之间建立了一个隐蔽信道。

系统Y‘:引入噪声以关闭信道

接下来,我们对系统Y进行修改,得到系统Y‘。关键的变化在于,系统本身现在会随机生成一些消息(在图中表示为a0)。

以下是系统Y‘的工作流程:

  1. 用户A向系统发送消息。
  2. 系统自身也会随机生成消息。
  3. 用户B收到的奇偶性结果,是基于用户A发送的消息系统随机生成的消息的总数来计算的。

核心影响
由于系统引入了不可控的随机“噪声”,用户A无法再可靠地控制用户B最终看到的奇偶性结果。例如:

  • 用户A想发送“偶数”信号,但系统随机生成了奇数条消息,导致总数为奇数,用户B看到“奇数”。
  • 用户A想发送“奇数”信号,但系统也随机生成了奇数条消息,奇数加奇数等于偶数,用户B看到“偶数”。

在这种情况下,从A到B的隐蔽信道被成功关闭了。

可推断安全性的定义

系统Y‘所展现的这种属性,被称为可推断安全性。其定义是:在系统中,用户A无法以任何方式向用户B传递信号。这是信息流理论中的一个关键安全属性。

信息流理论关注的是信息本身能否从一点流向另一点,而不拘泥于具体的通信协议或路径(如TCP数据包如何传输)。我们认为这是一个更本质的安全模型。

显然,系统Y‘符合可推断安全性的定义。

系统Z:另一个安全示例

让我们看另一个例子——系统Z。这个系统的结构略有不同:

  • 用户A完全无法向系统Z发送任何信号(即没有输入路径)。
  • 系统的所有输入和输出都是随机产生的。
  • 用户B只能看到这些随机事件的奇偶性。

由于用户A根本无法影响系统,因此系统Z显然也是可推断安全的。这进一步印证了我们的概念。

本节小结

本节课我们一起学习了信息流模型的基础。我们通过系统Y和系统Z两个例子,了解了如何通过设计(如引入随机噪声或切断输入路径)来实现“可推断安全性”,从而阻断潜在的隐蔽信道。这两个系统都展示了如何从信息流动的角度来思考和增强系统的安全性。

在下一节中,我们将把这些系统“连接”起来,探讨一个非常有趣的现象——Hook Up定理,它将揭示这些安全组件组合时可能发生的意外情况。

055:信息流模型与Hook Up定理第2部分 🔗

在本节课中,我们将继续探讨信息流模型,并学习一个重要的概念:可推导安全性(Deducibility Security)的组合问题。我们将通过具体的系统模型和游戏示例,来理解为什么两个各自安全的系统在连接后,其整体安全性可能被破坏。


回顾与引入

上一节我们介绍了两个系统:系统Y‘系统Z。我们确认这两个系统都是可推导安全的,即用户A无法向用户B发送信号。

这两个系统如下图所示,它们都是可推导安全的。

现在,我们考虑一个场景:用户B是这两个系统的共同用户,而用户A只能与系统Y‘交互,无法触及系统Z。用户B最终将看到来自两个系统的奇偶性(Parity)结果。

以下是关键步骤:我们可以将系统Y‘和系统Z的输入输出随机地“连接”起来。这就是所谓的 “Hook Up” 操作。

连接完成后,游戏规则如下:用户A向系统Y‘发送一系列输入。两个系统(Y‘和Z)之间会进行随机的消息传递。游戏结束时,我们计算在系统Y‘中发生的事件总数的奇偶性,同时也计算在系统Z中发生的事件总数的奇偶性,并将这两个奇偶性结果都展示给用户B。


游戏示例分析

让我们通过几个具体的游戏示例来理解这个模型。

示例一:用户A无操作,系统间无交互

  • 用户A:发送0条消息。
  • 系统Y‘与Z之间:无任何消息传递。
  • 结果
    • 系统Y‘的事件计数为0(偶数)。
    • 系统Z的事件计数为0(偶数)。
    • 用户B看到两个系统的奇偶性都是偶数

示例二:用户A无操作,系统间有偶数次交互

  • 用户A:发送0条消息。
  • 系统Y‘与Z之间:总共传递了4条消息(例如,各发送2条)。
  • 结果
    • 系统Y‘的事件计数为4(偶数)。
    • 系统Z的事件计数为4(偶数)。
    • 用户B看到两个系统的奇偶性都是偶数

示例三:用户A无操作,系统间有奇数次交互

  • 用户A:发送0条消息。
  • 系统Y‘与Z之间:总共传递了5条消息。
  • 结果
    • 系统Y‘的事件计数为5(奇数)。
    • 系统Z的事件计数为5(奇数)。
    • 用户B看到两个系统的奇偶性都是奇数

核心观察:只要用户A不进行任何操作,无论系统Y‘和Z之间发生多少次交互,它们各自计算出的奇偶性总是相同的。这强制了两个系统的输出保持一致。


用户A参与后的变化

现在,让我们看看当用户A开始操作时,情况会发生什么变化。

示例四:用户A发送1条消息,系统间无交互

  • 用户A:向系统Y‘发送1条消息。
  • 系统Y‘与Z之间:无任何消息传递。
  • 结果
    • 系统Y‘的事件计数为1(奇数)。公式:Parity(Y‘) = (1 + 0) % 2 = 1
    • 系统Z的事件计数为0(偶数)。公式:Parity(Z) = (0) % 2 = 0
    • 用户B看到系统Y‘的奇偶性是奇数,系统Z的奇偶性是偶数

示例五:用户A发送1条消息,系统间有多次交互

  • 用户A:向系统Y‘发送1条消息。
  • 系统Y‘与Z之间:总共传递了5条消息(例如,3条从Y‘到Z,2条从Z到Y‘)。
  • 结果
    • 系统Y‘的事件计数为 1(来自A)+ 5(系统间交互)= 6(偶数)。公式:Parity(Y‘) = (1 + 5) % 2 = 0
    • 系统Z的事件计数为5(奇数)。公式:Parity(Z) = (5) % 2 = 1
    • 用户B看到系统Y‘的奇偶性是偶数,系统Z的奇偶性是奇数

关键结论:一旦用户A执行了操作(特别是奇数次操作),系统Y‘的计数总会比系统Z多出用户A的操作次数。因此,两个系统输出的奇偶性不再相同。用户A可以通过选择“操作”或“不操作”,来影响两个奇偶性结果是否一致,从而向用户B传递信息(即“发信号”)。


核心定理与意义

通过以上分析,我们得出了一个深刻的结论:可推导安全性不具备组合性(Deducibility security does not compose)

这意味着,即使我们拥有两个各自独立时都满足可推导安全性的系统(系统Y‘和系统Z),当以某种逻辑方式(如Hook Up)将它们连接起来后,整体的复合系统可能不再安全。用户A可以利用两个子系统输出奇偶性的对比关系,向用户B传递信息。

这个结论在理论计算机科学中非常重要。它提醒我们,在构建复杂的安全系统时,不能简单地认为“将多个安全组件组合起来,整体就一定是安全的”。系统的交互和连接方式可能会引入新的安全漏洞。

这种通过抽象模型分析安全属性的方法,是理论计算机科学的有趣之处。它就像以不同的方式构建和理解这个世界的模型。虽然这些模型不一定完全符合现实,但它们为我们提供了深刻的洞察力和思考工具。


本节课中,我们一起学习了Hook Up定理的第二部分。我们通过具体的游戏示例,演示了两个各自安全的系统在连接后,其整体安全性如何被破坏,从而理解了“可推导安全性不具备组合性”这一关键结论。希望这种通过模型和示例来思考安全问题的方式,能为你带来启发。

我们下个视频再见。

056:与Kirsten Bay的对话

概述

在本节课中,我们将跟随网络安全公司CyAdapt的总裁兼CEO Kirsten Bay,了解她独特的职业旅程、公司的核心技术理念以及她对行业新人的建议。我们将学习到网络安全领域如何融合多学科知识,以及一家创新型公司如何应对动态变化的威胁环境。


从文学到网络安全的跨界旅程 🧭

Kirsten Bay的背景并非典型的科技行业路径。她主修的是英语和德国文学,辅修德国语文学。她自己坦言,如果多年前有人告诉她未来会运营一家网络安全公司,她会认为这很疯狂。

然而,她将自己描述为一个“连续学习者”。这种对学习的热爱,以及之前在金融服务业和制造业的多样化商业经验,为她进入网络安全领域奠定了基础。大约12年前,她接触到一个关于数据损失经济计量学的项目,这让她看到了将商业策略、政策理解与新兴的网络安全风险问题相结合的巨大机会。她被这个需要解决复杂难题、且从业者都充满求知欲的领域深深吸引。

核心驱动公式可以概括为:
对学习的热爱 + 跨领域商业经验 + 解决复杂问题的热情 = 进入网络安全领域的契机


CyAdapt公司的价值主张 🛡️

上一节我们了解了Kirsten进入行业的背景,本节中我们来看看她所领导的CyAdapt公司的核心理念。

CyAdapt的基本前提是检测。虽然网络流量分析是一个蓬勃发展的领域,但CyAdapt的独特之处在于其以威胁为中心的方法。这源于团队在威胁情报领域的背景。他们发现,尽管威胁情报数据本身很有价值,但客户很难快速地将这些数据整合到自身环境中并有效部署。

因此,CyAdapt看到了一个机会:将外部“野生”环境中的实时攻击数据,与客户内部网络数据相结合,从而回答客户最核心的问题——“这对我意味着什么?”以及“我需要多快解决这个问题?”

为了实现全面的可见性,CyAdapt还收购了一家移动安全公司。因为传统的网络流量分析依赖于内部网络可见性,而现代办公环境中,大量设备(如笔记本电脑、平板电脑、手机)都在公司网络之外(如家中、咖啡馆)使用。CyAdapt的目标是为这些离站设备提供与内部网络解决方案同等的可见性,实现内外网络的全数据包捕获,并结合威胁情报提供快速响应。

公司的技术整合目标可以表示为以下代码逻辑:

# 伪代码:CyAdapt的可见性与响应逻辑
def provide_visibility_and_response():
    internal_traffic = capture_packets(on_premise_network) # 捕获内部网络流量
    external_traffic = capture_packets(off_premise_devices) # 捕获外部设备流量
    all_traffic = integrate(internal_traffic, external_traffic) # 整合内外流量
    threats = analyze_with_threat_intelligence(all_traffic) # 用威胁情报分析
    rapid_response = generate_response(threats) # 生成快速响应
    return rapid_response

运营科技公司的挑战与收获 ⚖️

在了解了公司的技术理念后,我们自然会好奇运营这样一家前沿公司是怎样的体验。Kirsten将其描述为充满挑战、困难,但也非常精彩。

对她而言,能够实现童年时“成为CEO”的梦想是激动人心的。但这也伴随着压力,尤其是在事情进展不如预期时,会产生自我怀疑。关键在于学会平衡内心的信念,在需要时屏蔽疑虑,专注于解决问题。

领导力中那些无形的部分同样重要:帮助团队成员实现潜能,让他们看到自己以及公司愿景的潜力,并共同致力于解决一个难题。Kirsten认为,这是她职业生涯中最好的礼物。

网络安全行业的动态性加剧了挑战。威胁不断演变,这使得制定战略方向和产品路线图变得异常困难。公司必须持续进行技术研发(如构建能存储两年元数据以关联事件的数据库),并让研究团队不断评估如何整合数据(用户行为分析、流量分析、情报产品等)。这是一个需要不断确定优先级、有时甚至会经历失败和重新尝试的持续过程。


对行业新人的建议 🔍

基于以上充满挑战与创新的环境,Kirsten分享了她在招聘年轻人时最看重的特质。

以下是她在面试中寻找的关键品质:

  1. 好奇心与求知欲:这是最重要的驱动力。
  2. 坚韧与耐心:愿意为解决难题尝试三到四次,能够接受过程中会碰壁,并有耐心据此进行调整。
  3. 理解差异化:不仅理解网络分析或入侵指标等技术,还要对对手的动机和意图有好奇心,并思考如何将这些整合以更快地响应。同时,需要从宏观层面理解这些技术对政府或公司业务的影响,以及如何帮助客户确定处理风险的优先级。

总结

本节课中,我们一起学习了Kirsten Bay从人文学科跨界到网络安全领域的独特经历。我们了解了她的公司CyAdapt如何通过以威胁为中心的方法,整合内外网络的全流量可见性与威胁情报,为客户提供快速检测与响应。我们也看到了运营一家应对动态威胁的科技公司所面临的挑战与收获。最后,Kirsten为有志进入该领域的年轻人指出了好奇心、坚韧和对业务影响的宏观理解是成功的关键特质。网络安全不仅是一项技术工作,更是一个需要持续学习、跨学科思维并致力于解决复杂问题的领域。

057:身份识别与认证 🔐

在本模块中,我们将聚焦于网络安全中最基础的问题之一:身份识别与认证。你将学习其核心概念、历史背景以及比单纯输入密码更优的现代方法。

大家好,我是Ammarosso。欢迎来到本模块。

我们将重点关注网络安全中最基础的问题之一:身份识别与认证。你每天在互联网上使用各种应用和服务时,都会进行十几次这样的操作:先提供用户身份,然后证明你没有撒谎,可能会用到密码或其他方式。我们将学习比单纯输入密码好得多的方法。

现在,有一些很好的资源,我认为你在学习本模块时应该加以利用。包括一些论文、可选书籍和一些视频。我会向你介绍它们。

以下是几篇推荐的论文。我在这里挑选了两篇非常古老的论文。我强烈主张回顾历史,那些能帮助我们理解当前工作的历史文献。所以,这两篇1973年的论文,一篇来自Saltzer和Schroeder,名为《计算机系统中的信息保护》。这是一篇老论文,但我认为你需要看一看。我们在网络安全领域,甚至在整个计算机科学领域,都花太少时间去回顾历史了。第二篇来自伟大的先驱之一Butler Lampson,他写了一篇名为《关于限制问题的说明》的论文。这是一篇非常重要的论文,它某种程度上预测了当今虚拟基础设施中使用的许多技术。请看看这两篇老论文。

以下是两本可选书籍。一本是可选的电子书,你可以在亚马逊上找到,由我和我的儿子Matt合著。书名为《从CIA到APT:网络安全入门》。在某种意义上,它是本模块和本课程的配套电子书。如果你喜欢边学边读点什么,可以下载这本书,但它是可选的。另一本可选书籍是关于TCP/IP的非常好的书。我认为Stevens写的书是最好的之一,有他与合著者共同完成的版本。你只需要找一本好的TCP/IP书籍。如果你要学习第11和12章,Stevens的书会是你在学习本模块时很好的参考资料。

以下是一些推荐的视频。有一个Chris Domas做的很棒的TED演讲,名为《网络战中的0与1》。这个标题有点挑衅性,但内容非常好。还有一篇Ron Rivest关于密码学发展的论文。如果你听说过RSA,Ron Rivest就是RSA中的“R”。他非常了不起,是网络安全领域的瑰宝之一。你应该确保观看Ron Rivest的一个视频。

我希望你在学习本模块时能利用这些资源,并希望你能学到很多东西。非常感谢。


本节课中我们一起学习了:身份识别与认证这一网络安全基石的重要性,回顾了相关的经典历史文献(如Saltzer和Schroeder、Lampson的论文),并获得了进一步学习的资源指引,包括可选书籍和推荐视频,为深入理解后续内容奠定了基础。

058:识别与认证 🔐

在本节课中,我们将学习网络安全中最核心的基础概念之一:认证。我们将探讨什么是身份识别,以及如何验证一个报告的身份是真实可信的。


识别:我是谁?

在开始讨论认证之前,我们首先需要理解身份识别。在日常生活中,我们如何向他人证明自己是谁?

例如,当我遇见你时,我可以说“你好,我是Ed”。你通过观察我的面容、聆听我的声音以及我们相遇的上下文环境,来识别我的身份。这个过程相对直观。

然而,一个关键问题是:我的名字、邮箱地址或电话号码是秘密吗?答案并不绝对。你的电话号码可能印在名片上,因此并非完全保密;但在某些情境下,你又不希望它被陌生人获取。同样,在计算机系统中,用户名(User ID)也面临类似的困境。虽然它本身可能不是密码,但攻击者如果知道了你的用户名,就可以尝试进行暴力破解,甚至通过多次错误尝试将你的账户锁定。因此,用户名是否应该保密,在网络安全领域是一个开放性问题。

认证:如何证明你是你?

上一节我们介绍了身份识别,本节中我们来看看如何验证这个身份的真实性。这就是认证

认证的定义是:验证一个报告身份的过程。当爱丽丝(Alice)声称自己是爱丽丝时,鲍勃(Bob)需要采取一些步骤来验证这个声明的真实性。

在人类交流中,我们可以通过面容、声音或提出挑战性问题(例如“我们上次见面聊了什么?”)来验证身份。但在数字世界中,双方可能隔着一堵“墙”(网络),无法直接使用这些生物特征。这时,我们就需要设计更严谨的认证协议。

认证的方向:谁验证谁?

在数字通信中,认证可以有不同的方向。以下是几种主要类型:

  • 客户端认证:服务器要求客户端证明其身份。例如,你登录网站时,网站服务器会要求你输入密码。
  • 服务器认证:客户端要求服务器证明其身份。例如,在进行网上银行交易前,你的浏览器需要确认访问的确实是银行的真实服务器,而不是一个仿冒网站。
  • 对等认证与相互认证:在点对点通信中,双方互相验证身份。例如,在某些移动通信协议(如4G/5G)中,手机和基站会进行双向认证,以确保连接双方都是可信的。

核心概念小测验

为了确保我们理解了基本概念,请看以下哪个选项最好地描述了用户ID的隐私和保密性?

A. 用户ID必须始终是最高机密。
B. 用户ID完全不需要保密。
C. 用户ID的保密性取决于具体情境,并非总是黑白分明。

答案:C

这个答案反映了网络安全中的一个常见现实:许多事情并非绝对,其重要性和处理方式往往由上下文决定。这种不确定性在安全领域是正常的。


总结

本节课中我们一起学习了网络安全的基础——识别与认证。我们明确了身份识别是声明“我是谁”,而认证是验证“你真的是你”的过程。我们还了解了认证的不同方向:客户端认证、服务器认证和相互认证。最后,我们认识到像用户名这类标识符的保密性是一个需要根据具体场景权衡的问题。

在接下来的视频中,我们将深入探讨用于实现认证的各种验证因素

059:认证因素与双因素认证

在本节课中,我们将学习用于验证所报告身份的“证明因素”,即认证因素。我们将探讨不同类型的认证因素,理解它们如何工作,以及如何组合使用它们来增强安全性。

概述:什么是“证明”?

首先,我们需要理解“证明”的含义。在数学或逻辑学中,你可能会期待一个复杂的技术定义。然而,在身份认证的语境下,证明的本质是令人信服的证据。这意味着证明是主观且依赖于语境的:如果我能够提供令人信服的论据来表明某件事是真实的,那么我就提供了证明。

接下来,我们将通过一个常见场景来探讨这个问题:客户端爱丽丝(Alice)向服务器鲍勃(Bob)报告一个身份(例如,“我是爱丽丝”)。服务器鲍勃的回应是:“请证明这一点。” 我们将看看爱丽丝有哪些方法可以证明自己的身份。

认证因素的类型

以下是爱丽丝可以用来证明身份的几种主要因素。每种因素都基于不同的“你所拥有的”属性。

1. 你所知道的东西

这是最普遍使用的验证证明类型。你所知道的东西通常是一个秘密,例如:

  • 密码
  • 个人识别码(PIN)
  • 安全问题的答案

目前,几乎每个人都在为各种应用、系统和网络使用密码。虽然密码存在一些弱点(我们将在后续视频中讨论),但它是最基础的第一类认证因素。

2. 你所拥有的东西

第二类因素是你所拥有的东西,这通常是有形的物体。例如:

  • 你的移动设备(手机)
  • 一个类似计算器的硬件令牌
  • 一个实体密钥(如U盾)

其背后的逻辑是:如果我拥有它,那么我必定是通过某种可信的渠道获得了它。这种信任可以从颁发机构“级联”到验证过程。例如,在美国,驾照就是一种高度可信的持有物,因为它包含了你的照片、防伪水印等信息,并且由机动车辆管理局(DMV)颁发。当出示驾照时,你对颁发机构的信任就转移到了这次身份验证中。这在计算机科学中被称为级联信任

3. 你所固有的东西

第三类因素是你所固有的东西,即你与生俱来的生物特征。例如:

  • 视网膜图案
  • 指纹
  • 声纹
  • DNA(理论上可行,但实际中因隐私和侵入性问题很少使用)

需要注意的是,并非所有人都能使用所有生物特征。例如,无法使用指纹的人就不能用指纹验证。因此,在设计认证系统时,需要考虑到包容性。

4. 你所在的位置

你所在的位置也可以作为一种上下文认证因素。例如,如果你的信用卡通常在巴黎使用,但突然在纽约有一笔交易,银行可能会致电确认。位置信息可以帮助判断一次访问请求是否合理。

5. 你所做的事情

最后一类是你所做的事情,指的是独特的行为模式。例如:

  • 在触摸屏设备上特定的滑动或点击模式
  • 手持手机时的特定晃动方式
    这听起来很“科幻”,但已有许多公司正在研究这类行为生物识别技术。

上下文感知与多因素认证

在实际应用中,我们可以根据上下文灵活地组合使用这些因素。服务器发出的“挑战”以及所需的“响应”可能因情况而异。这模仿了现实生活中的身份验证。

例如,在讲座结束后,我立即在走廊遇到你并打招呼,你不需要太多证明,因为上下文(刚一起听完课)已经提供了很强的证据。但如果六个月后我在街上遇到你,你可能就需要更多的证明(比如我的名字、我们曾在哪里见面)来确认我的身份。计算机系统的认证逻辑与此非常相似。

知识测验

为了检验我们对身份识别与认证的理解,这里有一个简单的问题:
以下哪一项是双因素认证的典型例子?
A. 用户名和密码
B. 指纹和电子邮件地址
C. 设备上的指纹和密码
D. 密码和安全问题

答案是C。双因素认证要求使用来自以上两个不同类别的因素。选项C结合了“你所固有的东西”(指纹)和“你所知道的东西”(密码),是经典的组合。选项B中的电子邮件地址通常不被视为秘密(它往往是公开的),因此不能可靠地作为“你知道的东西”。

总结

本节课我们一起学习了用于身份验证的各种证明因素。我们了解了五大类因素:你所知道的东西你所拥有的东西你所固有的东西你所在的位置以及你所做的事情。我们还探讨了如何根据上下文选择认证强度,并理解了将不同类别的因素组合起来(即双因素或多因素认证)能显著提升安全性。在接下来的课程中,我们将更深入地探讨其中一些因素(如密码)的具体细节和挑战。

060:认证协议架构与区域 🔐

在本节课中,我们将学习认证协议的基本架构。认证是验证用户身份的过程,我们将通过爱丽丝(客户端)和鲍勃(服务器)之间的交互来理解其核心步骤。课程还将分析攻击者夏娃可能从哪些区域发起攻击,以破坏这个认证过程。

认证协议的基本步骤

上一节我们介绍了认证的基本概念,本节中我们来看看认证协议的具体交互流程。一个典型的认证过程包含六个核心步骤。

步骤一:身份声明
在每次认证中,第一步都涉及爱丽丝向鲍勃报告一个身份。这被称为身份声明步骤。通常,这就像是说“你好鲍勃,我是爱丽丝”。声明的内容可能是一个用户ID、电子邮件或手机号码等。我们之前讨论过,这个标识符是否是秘密的取决于具体情境。它可能是秘密的,也可能不是,但通常不是。

步骤二:质询
在第二步,鲍勃会向爱丽丝返回一个质询。这是一个挑战步骤,鲍勃会说:“好的,请证明你的身份。你说你是爱丽丝,我需要验证这一点,请提供一些证据。”这个质询步骤是整个认证概念的基础,因为这就是我们在做的事情——要求对方进行验证。

步骤三:计算
第三步有些特别。我们不会在第三步直接提供答案,而是称之为计算步骤。在此步骤中,你实际上是在创建、推导或执行某些操作来建立证明。这可能简单到只是在大脑中查找你的密码,也可能更复杂,比如需要解决某个谜题或执行某个运算。你受到了挑战,现在正在计算响应。同样,这可能简单到只是查找密码。

步骤四:响应
第四步是响应步骤。爱丽丝在此向鲍勃提供证明。爱丽丝对鲍勃说:“你要求我证明,我通过计算找到了答案,现在我将它提供给你。”步骤二和步骤四有着特殊的关系,因为这是一个质询与响应的过程。很多时候,我们将认证称为一种质询-响应活动,这体现了这两个步骤的基础性质。

步骤五:验证
第五步是验证步骤。鲍勃将检查爱丽丝提供的证明。鲍勃会判断:“这个证明有效吗?它合理吗?还是不合理?你给了我什么?”

步骤六:通知
最后,在第六步,鲍勃将告知爱丽丝她是否通过验证,即鲍勃相信或不相信她的身份。这个验证步骤有些微妙,因为鲍勃需要查看、检查某些东西,核对你的质询响应,以判断你是否做对了,然后在第六步通知你。

所有的认证都遵循这个基本框架。多因素认证可能会多次执行这个过程。但这是认证工作原理的骨架视图。对于学习认证和网络安全的学生来说,在脑海中拥有这个基本框架,并思考单因素认证及其他方式如何具体实现它,是非常重要的。不过,大部分情况下,我们将使用单因素认证,并且许多例子也会使用单因素来演示这个过程。

攻击区域分析

上一节我们梳理了认证的六个步骤,本节中我们来看看攻击者可能从哪些位置破坏这个流程。在图表中,我们绘制了一个旁观者,我们称她为夏娃,代表窃听者。在密码学和网络安全中,通常用夏娃来代表坏人(Eve 取自 Eavesdropper,即窃听者)。

夏娃可以尝试在三个地方破坏这个认证方案。破坏方案意味着说谎或欺骗。例如,如果我能让鲍勃相信我是爱丽丝,而实际上我并不是,那么我就欺骗了系统,成功地撒了谎,破坏了认证过程。这就是对此的攻击。

以下是夏娃可能发起攻击的三个主要区域:

  1. 区域一:客户端
    夏娃能否在客户端(即爱丽丝这一侧)进行攻击?我们倾向于将客户端、网络和服务器视为这个过程中的不同区域。在图表中,我们将它们标记为区域1、2和3。在区域1,夏娃能做什么来破坏认证?她可以窃取证明。假设爱丽丝使用她的手机作为认证方式,如果我偷了你的手机,我就可以冒充你。因此,许多成功的真实认证攻击都涉及客户端区域。

  2. 区域二:网络
    夏娃能否在协议上下文中读取信息?她能否收集、读取正在传输的信息,并以此作为攻击的基础?这当然是一种可能性。

  3. 区域三:服务器
    夏娃能否查看服务器?她能否在服务器端做些什么,例如读取或重新计算证明,或进行某种攻击?

你会发现,在认证中,在区域1和区域3进行攻击往往比在网络区域更容易。因为我们在认证中将使用一种称为密码学的技术,而这种密码学技术是专门设计来增加夏娃在网络中收集信息以冒充爱丽丝身份(当她向鲍勃验证其声明的身份时)的难度。

这个概念听起来有些复杂,但当我们深入学习时,你会明白。有些协议非常脆弱,比如密码认证几乎是个笑话。但随着我们进入更多基于密码学的实现,它们会变得非常有趣且强大。有些协议对于黑客来说极难欺骗,无论是在区域1、2还是3,都非常强大。但这并不意味着它们总是易于使用或成本低廉,但它们确实非常强大。

在后续的视频中,我们将以密码为例,深入探讨这个认证框架。我们下节课再见。

061:密码协议分析 🔐

在本节课中,我们将使用之前学过的六步协议框架,来分析我们每天都熟悉和使用的密码协议。我们将一步步拆解密码验证过程,并探讨攻击者可能利用的漏洞。


协议步骤分析

上一节我们介绍了通用的六步协议框架,本节中我们来看看密码协议如何映射到这个框架中。

步骤 1:身份声明
Alice 声明她的身份是 “Alice”。

步骤 2:发起质询
Bob 提供一个质询,例如显示 “密码:” 的提示,明确要求输入密码。

步骤 3:响应计算
Alice 通过回忆、查找或计算来找到她的密码。这一步不涉及复杂的数学运算,主要是记忆或检索。

步骤 4:发送响应
Alice 将密码输入或发送给请求验证的服务器。

步骤 5:验证响应
服务器查找存储的密码(通常在一个文件中,关联着用户名或用户ID)并进行比对。理想情况下,这个存储的密码文件应该是加密的。

步骤 6:通知结果
服务器通知 Alice 验证是否成功。


潜在攻击与防御

了解了密码协议的基本流程后,我们来看看攻击者Eve可能从哪些环节发起攻击。

以下是Eve可能进行攻击的三个主要区域(Zone):

  • Zone 1(步骤1-3前): Eve可以尝试窃取、询问或猜测你的密码。例如,PIN码通常与个人信息(如手机号、邮政编码)相关,很容易被猜到。
  • Zone 2(步骤4): Eve可以进行嗅探。由于互联网通信默认不加密,如果密码以明文形式在网络中传输,Eve可以截获并读取它。
  • Zone 3(步骤5): Eve可以尝试读取服务器上的密码文件。即使文件被加密,如果Eve知道加密算法,她可以进行字典攻击。即,她窃取加密的密码文件后,用同一算法加密字典中的每一个单词,然后与文件中的密文进行比对。如果某个用户的密码正好是字典里的一个单词,就会被破解。

为了增强存储在Zone 3的安全性,仅加密是不够的。通常我们会引入盐值的概念。盐值是一个随机数,在存储密码前,将其与密码拼接(例如 hash(密码 + 盐值)),然后再存储哈希结果。这样,即使攻击者进行字典攻击,由于每个密码都混合了独特的随机数,预计算的哈希表将无法直接匹配。

在密码学中,这种用于增加随机性的无意义数据常被称为 Nonce(Number used once)。


密码的持久性

既然密码存在这些安全隐患,为什么我们还在继续使用它们?

密码之所以持久存在,是因为它们具有互操作性高、用户熟悉、易于开发等特点,并且贯穿了我们所有的系统。人们习惯并乐于使用它们。虽然我们可以通过多因素认证等方式来增强安全性,但密码本身很可能永远不会完全消失。系统设计者需要认识到这一点,并在其基础上构建更安全的验证机制。


本节课中,我们一起学习了如何使用六步协议框架分析密码验证流程,探讨了攻击者在不同环节可能发起的攻击(如猜测、嗅探、字典攻击),并了解了加盐作为一种重要的防御手段。同时,我们也讨论了密码在可预见的未来仍将广泛存在的原因。

062:实现 🧮

在本节课中,我们将要学习一种被称为“手持认证协议”的身份验证方法。我们将探讨其工作原理,并思考它在实际商业应用中的潜力与挑战。

上一节我们介绍了身份验证的基本概念,本节中我们来看看一个具体的协议实现。

协议背景与商业思考

在深入讲解手持认证协议之前,有必要先讨论一下网络安全领域的商业现实。预测一项技术、方案或协议能否在市场上取得成功并盈利是非常困难的。许多学习网络安全基础知识的人,同时也花费大量时间思考商业、创业以及如何盈利等问题。

本视频将要展示的这个协议,没有赚到任何钱。我认为这是一个相当不错的协议,但至今仍不清楚人们为何不接受它。在了解其机制后,你可以思考它是否本应获得成功或被广泛使用。

协议核心机制

该协议涉及一个类似计算器的设备。用户需要从该设备上读取一个数字,输入到某个地方,然后根据响应再输入另一个数字。你可能会觉得随身携带一个物理计算器很麻烦。

但请思考一下:如今所有的计算器本质上都是软件定义的。你最后一次购买实体计算器是什么时候?很可能你不再需要,因为你的手机、电脑上都有计算器应用。硬件已经软件化、虚拟化,这是计算技术发展的大方向。

协议流程详解

让我们来具体看看这个协议。假设爱丽丝(Alice)和鲍勃(Bob)需要进行通信,爱丽丝的客户端需要向鲍勃证明自己的身份。

以下是协议的核心步骤:

  1. 预共享秘密:爱丽丝和鲍勃事先约定,爱丽丝将携带一个内置了特定函数 F 的小型计算设备。每个用户的设备都有一个独一无二的函数 F(可以理解为使用不同的加密密钥实现的相同算法,但目前我们只需将其视为不同的函数)。
  2. 发起认证:爱丽丝向鲍勃声明:“我是爱丽丝”。
  3. 发起挑战:鲍勃回应:“请证明”。然后,鲍勃生成一个随机数 λ(例如 237)发送给爱丽丝。
  4. 计算响应:爱丽丝在她的设备上输入 λ(237)。设备计算 F(λ),得出结果(例如 881)。
  5. 返回响应:爱丽丝将计算结果(881)发送回鲍勃。
  6. 验证身份:鲍勃自己也拥有爱丽丝的函数 F。他使用收到的 λ(237)计算 F(λ),得到预期结果(881)。然后,他将自己计算的结果与爱丽丝返回的结果进行比对。
  7. 认证结果:如果两者匹配,则认证成功;否则,失败。

这个流程可以用以下伪代码概括:

# 爱丽丝端
challenge = receive_from_bob() # 例如 237
response = handheld_device.compute_F(challenge) # 例如 881
send_to_bob(response)

# 鲍勃端
expected_response = known_function_F(challenge) # 计算 F(237)
if received_response == expected_response:
    authentication_successful()
else:
    authentication_failed()

协议评价与思考

这个协议听起来相当不错,对吧?那么,为什么我们没有广泛使用它呢?

一个可能的原因是,在该协议被发明时,随身携带一个物理计算器设备显得有些不方便。然而,正如之前讨论的,在当今软件定义一切的时代,这个障碍本应被消除。

对于网络安全领域的创业者和从业者而言,判断一项技术方案能否盈利是一个极其复杂的问题。目前网络安全产业充满活力,有众多有趣的初创公司。你们中的许多人可能正在或梦想在初创公司工作,甚至创立自己的公司。你们所采用的技术方案能否成功,是一个巨大的未知数。

过渡到下一部分

这个协议是我们学习的起点。在接下来的视频中,我们将深入分析这个协议的一些特性,并揭示一个非常有趣的现象。这个现象或许能为我们提供线索,解释为什么这个密码学协议没有被更多人采用。

在此上下文中,函数 F 的作用类似于加密:λ 是明文,F(λ) 是密文。因此,我们将逐渐熟悉这种在整数函数和密码学概念之间来回切换的思考方式,因为它们本质上代表了相似的东西。

本节课中我们一起学习了一种基于手持设备的认证协议,了解了其工作流程,并对其商业应用前景进行了初步探讨。我们看到了一个技术上看似可行但未被市场广泛接受的案例,这引出了关于技术、产品与市场契合度的深刻思考。在下一节,我们将深入分析该协议的安全属性。

063:分析与密码分析 🔐

在本节课中,我们将继续探讨手持认证协议,并分析其安全性。我们将结合密码分析的概念,理解攻击者可能如何利用协议交互中的信息。最后,我们会通过一个小测验来巩固所学知识。

密码分析回顾

上一节我们介绍了手持认证协议的基本流程。在深入分析该协议之前,让我们先回顾一下密码分析的基础知识。

密码分析是破解密码的过程。密码学是制作密码、使用密码,而密码分析则是破解密码。它涉及从看似混乱的密文中收集数据,并试图解开其含义,以揭示发送者试图隐藏的信息。这不是授权用户的合法解密,而是未经授权的攻击者对截获文本的分析。

密码分析主要有三种类型:

以下是三种主要的密码分析类型:

  • 唯密文攻击:攻击者只能看到加密后的“乱码”,没有任何提示。这是最困难的一种。
  • 已知明文攻击:攻击者掌握一些提示。例如,他知道部分明文和对应的密文,这有助于破解。
  • 选择明文攻击:攻击者能够选择特定的明文并获取其对应的密文,这通常被认为是最容易的一种攻击方式(相对而言)。

排序上,唯密文攻击最难,已知明文攻击次之,选择明文攻击“相对”最容易。但所有这些攻击都很难,因为密码函数在密码学和计算上都很复杂,密钥空间巨大,无法简单猜出所有密钥。

协议分析与攻击类型

现在,让我们将密码分析的知识应用到手持认证协议中。

回顾协议流程:我是爱丽丝。我登录时说“嗨,我是爱丽丝”。服务器回复一个随机数 λ。然后我计算 F(λ) 并发送回去。接着我进行登录操作并退出。下次登录时,流程重复,但会使用一个新的、不同的 λ 值。

这里发生了什么?如果攻击者伊芙在收集这些传输中的数据,她捕获了来回的信息。她得到的是提示。她看到了 λ,也看到了对应的 F(λ)。她可以记录下来。虽然她不知道函数 F 的具体算法,但她知道了 F(237) 等于 Z81 这样的对应关系。下一轮,她又会得到一个新的 λ 和新的 F(λ)

那么,这属于哪种密码分析类型?这不是唯密文攻击,因为攻击者并非毫无提示。这被称为已知明文攻击,攻击者拥有一些可能帮助其进行密码分析的提示。

尽管如此,如果我是伊芙并且志在必得,我认为更简单的攻击方式是直接去抢夺那个计算器。一旦我拿到计算器,我就可以冒充爱丽丝。这是一种更直接(物理)的攻击。

但假设我无法在物理区域(如持有计算器的区域)发动攻击,那么我可能会在网络传输区域(第2区)发动攻击。对于密码学家而言,已知明文攻击的情况被认为是相当糟糕的。在他们看来,除了唯密文攻击之外,任何其他形式都是不可接受的。

关于协议部署的思考

我的好友,美国普渡大学的吉恩·斯帕福德讲过的一个有趣故事,或许能说明问题。他说,当你使用密码学在两个端点之间保护数据,并担心密码强度时,这有点像以下情景:想象一个无家可归者躺在公园长椅上,胸口放着一堆钱,风把钱吹得到处都是。你想把这些钱安全地转移到公园里另一个无家可归者那里。为此,你雇用了武装押运车和警察,把钱从第一个人那里收集起来(尽管有些已经被吹走),放进装甲车,一路荷枪实弹确保加密的“货物”不被偷。当你到达目的地后,你把钱倒在第二个人的胸口。他开玩笑说,我们在密码学上大费周章确保其超级坚固,但在端点(比如未打补丁、谁都能入侵的Windows系统)上,这些数据可能根本就没保护好。这是个有趣的笑话,但能让人思考。

因此,手持认证协议未能取得巨大成功的一个可能原因,或许就是它容易受到已知明文攻击。当然,也可能是因为我们根本无法预测哪种协议会赚钱,哪种不会。

知识测验

现在,让我们做一个小测验来测试整体的理解。

问题:以下哪一项可能是手持认证协议未被广泛采用的原因?
A. 人们可能只是喜欢拥有一个物理计算器。
B. 该协议极易受到唯密文攻击。
C. 该协议在传输过程中暴露了明文-密文对,易受已知明文攻击。
D. 该协议过于复杂,用户难以理解。

我认为答案 C 是正确的。已知明文攻击的脆弱性是一个重要的安全考量。当然,人们可能单纯喜欢有个小计算器(选项A),也许随着移动设备上软件定义协议的兴起,这类协议会重新出现,谁知道呢。

希望你喜欢这个小测验。我们将在下一个视频中再见,届时我们将看一个非常相似但已为公司赚取巨额利润、在全球部署(可能接近十亿次)的协议。它与这个协议类似,但略有不同。


本节课总结:我们一起回顾了密码分析的三种主要类型(唯密文、已知明文、选择明文攻击),并分析了手持认证协议,指出其在交互过程中可能暴露明文-密文对,从而面临已知明文攻击的风险。我们还讨论了协议安全性需要端到端考量的观点,并通过测验巩固了理解。

064:专访Lior Frenkel 🎙️

在本节课中,我们将跟随纽约大学的Ed Ammarosso,一起了解他的朋友、Waterfall Security公司的创始人兼CEO——Lior Frenkel的故事。我们将探讨他如何进入科技与安全领域,以及他的公司如何解决工业网络安全的关键问题。


从兴趣到事业:Lior的科技之路

上一节我们介绍了本期的嘉宾。本节中,我们来看看Lior Frenkel是如何对科技产生兴趣并最终投身网络安全领域的。

Lior Frenkel来自以色列。他形容自己的经历是一个经典的故事。他在8岁时接触到了第一台电脑,尽管那原本是他哥哥的。从那天起,他就坐在电脑前,再也没有离开过。

在那个时代的以色列,学校并不教授编程,甚至没有计算机实验室。因此,Lior通过书籍和不断的试错来自学编程。他回忆说,自己会通宵达旦地编写和尝试代码,以至于第二天在学校里努力保持清醒。这种热情源于编写代码,尤其是底层代码时,对结果拥有的惊人控制力。这种能够创造并让想法真正实现的感觉,一旦获得,就会让人欲罢不能。

关于如何对网络安全产生兴趣,Lior认为,有些人喜欢操作和使用事物,而另一些人则喜欢拆解事物以了解其构造。他自认为属于后者。从拆解事物到网络安全、黑客技术,这是一个自然而然的过程。他认为,理解计算机底层工作原理尝试将事物分解成更小的部分,是学习如何优化操作的最佳途径。


Waterfall Security:守护工业网络

上一节我们了解了Lior的个人历程。本节中,我们来深入了解他创立的公司及其使命。

Waterfall Security Solutions公司成立于2007年,总部位于以色列,业务遍布全球,并在美国华盛顿特区设有全资子公司。公司的创立使命是为了更好地保护工业站点和控制物理过程的网络,使其免受外部世界的威胁。

公司认识到,通常有充分的需求需要从远程站点发送数据。然而,人们绝不希望将发电厂的涡轮机或制药厂的生产站点直接连接到互联网上。Waterfall Security正是为了解决这个问题而存在。

作为一家技术公司,他们拥有多项尖端技术。其旗舰技术被称为单向安全网关。这项技术目前已部署在全球数百个关键站点,如核电站、海上平台、供水系统以及常规制造工厂等。它实现了工业侧、业务侧与互联网之间的连接与集成,同时确保了控制网络的安全。

“单向”这个词容易让人联想到数据二极管。Lior指出,这个称呼过于简化了其技术的功能。公司取名“Waterfall”(瀑布),是因为瀑布中的水只能朝一个方向流动,这形象地比喻了其技术原理:它在外部世界(下游)和内部控制网络(上游)之间建立了一道物理屏障。数据只能像水流一样,从控制网络(上游)单向流向外部(下游),而无法逆流而上。


应对挑战:协议与招聘

上一节我们介绍了公司的核心技术。本节中,我们来看看他们面临的技术与人才挑战。

工业环境中存在大量非标准的协议和遗留技术,这无疑是一个巨大的挑战。Waterfall Security投入了数百人年的研发精力来应对。他们深入学习这些协议和系统,构建正确的接口并进行验证。在许多情况下,他们会与产品供应商合作,确保从两端都能提供支持。确保能够连接到所有现有系统及其变体,甚至是专有系统,是公司业务的重要组成部分,尽管这十分棘手。

对于许多正在准备第一份工作或梦想进入网络安全公司的学习者,Lior分享了Waterfall的招聘哲学。他们招聘时更看重人的素质,而非仅仅填补某个职位。他们寻找具有高度诚信、成功驱动力以及在困难面前不轻言放弃的人。然后,他们会根据应聘者的经验或意愿,将其安排到合适的现有岗位上。

在Waterfall,员工的发展路径是多元的。许多初创时期的员工已工作六七年,这在初创公司中并不常见。公司鼓励内部成长,例如有员工从研发转岗,有人从市场营销转向业务开发,也有人从质量保证晋升到运营和客户接口的高级职位。这种模式与美国许多公司的做法有所不同。


总结

本节课中,我们一起学习了Lior Frenkel从编程爱好者到网络安全公司创始人的历程。我们了解到他的公司Waterfall Security如何利用单向安全网关等核心技术,为工业控制网络建立物理安全屏障。同时,我们也看到了应对工业环境复杂协议所需的巨大投入,以及一家成功公司所看重的员工品质:诚信、驱动力和韧性。

065:实现 🔐

在本节课中,我们将要学习一个在实际应用中取得了巨大成功的身份认证协议——RSA公司的SecureID协议。我们将了解它的工作原理、核心组件以及它如何通过一个物理或虚拟的令牌设备来实现安全的身份验证。

协议概述

RSA SecureID是一种广泛部署的身份认证协议。它并非指RSA加密算法,而是由RSA公司(以Ron Rivest、Adi Shamir和Leonard Adleman三位密码学家命名)推出的一款产品。该协议的核心是一个被称为“令牌”的小设备,它可以是物理的(如挂在钥匙链上),也可以是虚拟的(如手机应用或工具栏插件)。

协议工作原理

上一节我们介绍了协议的基本概念,本节中我们来看看它的具体工作流程。该协议依赖于服务器和用户持有的令牌之间共享的秘密和同步的时间。

核心组件与初始化

在协议开始前,需要进行以下初始化步骤:

以下是协议初始化时涉及的三个核心要素:

  1. 共享种子值(λ):一个随机生成的秘密数字。服务器将其存储在数据库中,同时也预先植入到发放给用户的令牌中。公式表示为:λ = RandomInteger()
  2. 加密函数(F):一个确定的加密函数。服务器和令牌都知晓并使用同一个函数 F
  3. 同步时钟:服务器和令牌内部都维护着一个同步的时钟,将时间划分为固定的间隔(例如每15秒一个周期)。

认证过程

当用户(例如Alice)尝试登录时,认证过程按以下步骤进行:

以下是身份验证的具体步骤列表:

  1. 声明身份:用户向服务器声明“我是Alice”。
  2. 挑战请求:服务器回应“请证明你的身份”。
  3. 生成动态码:用户查看自己的SecureID令牌。令牌会根据当前的时间周期数 n,使用共享种子值 λ 和函数 F 计算出一个一次性密码。计算过程可以表示为:Code = F^n(λ),其中 n 代表从初始时间 T_initial 开始已经过去了多少个时间周期。
  4. 提交验证:用户将这个动态码输入系统并发送给服务器。
  5. 服务器验证:与此同时,服务器也使用数据库中存储的Alice的 λ 值和相同的函数 F,基于同步的时钟计算当前周期应有的动态码 F^n(λ)
  6. 结果判定:服务器比较自己计算出的码和用户提交的码。如果两者匹配,则认证成功;否则,认证失败。

时间同步与用户体验

协议的成功极度依赖于时钟同步。令牌通常会有一个视觉指示器(如逐渐消失的进度条),来显示当前动态码的有效期剩余时间。有经验的用户会在动态码刚刷新时使用它,以避免因微小的时钟漂移而落在两个周期的边缘导致验证失败。

总结

本节课中我们一起学习了RSA SecureID协议的基本实现。我们了解到,它通过“共享种子λ + 加密函数F + 同步时钟”这个组合,让服务器和用户令牌能够独立生成相同的、随时间变化的一次性密码,从而实现了强身份认证。该协议因其设计简单、易于使用而得到了数十亿次的部署,取得了巨大的商业成功。在下一节课中,我们将对RSA SecureID协议进行密码学分析,并探讨它相较于其他认证协议可能更具优势的原因。

066:分析 🔐

在本节课中,我们将深入分析RSA SecureID协议的工作原理,并探讨其安全特性。我们将重点关注协议中涉及的加密过程、时间同步机制以及其面临的潜在攻击类型。

协议流程回顾

上一节我们介绍了RSA SecureID协议的基本框架,本节中我们来看看协议的具体交互过程。

当用户(Alice)尝试登录时,服务器会向她发送一个简单的身份验证请求。Alice需要提供的凭证是函数 F^n(λ) 的输出值,其中:

  • F 代表加密函数。
  • λ 是存储在令牌和服务器上的初始种子(seed)。
  • n 代表从初始时间到当前时间所经过的“滴答”(tick)次数,计算公式为:n = (当前时间 - 初始时间) / 时间间隔。通常,一个时间间隔设定为15秒。

因此,Alice在每次认证时提供的,实际上是对种子λ进行了n次加密后的结果。

攻击者视角分析

现在,让我们从攻击者(Eve)的角度来分析这个协议。Eve可以观察到什么?

Eve能够收集到Alice在不同时间点发送的多个认证响应,即一系列 F^n(λ) 的值。然而,在整个过程中,Eve无法获得任何对应的明文(种子λ)或加密过程的中间状态。

以下是密码分析的三种常见类型:

  1. 唯密文攻击:攻击者只拥有密文。
  2. 已知明文攻击:攻击者拥有部分密文及其对应的明文。
  3. 选择明文攻击:攻击者可以选择明文并获取对应的密文。

RSA SecureID协议面临的情况属于唯密文攻击。这是因为协议本身不传输任何明文线索,攻击者只能收集到加密后的输出。从密码学角度看,唯密文攻击比已知明文攻击的难度更高,这被认为是SecureID协议的一个密码学优势。

协议的优势与局限

尽管在密码学设计上较为健壮,但SecureID协议仍然存在安全局限。

其优势在于,由于采用动态口令和唯密文模型,通过收集认证响应进行密码分析破解的难度非常大。

然而,其安全弱点主要存在于非密码学层面:

  • Zone 1(物理安全):如果攻击者能够物理窃取用户的SecureID令牌,就可以直接冒充用户身份。这仍然是最简单的攻击方式之一。
  • Zone 3(策略与使用):协议的安全性依赖于令牌与服务器之间的严格时间同步。此外,令牌本身有使用许可期限,到期后将停止工作。

理解测验

为了检验对SecureID协议的理解,请思考以下问题:攻击者Eve收集用户多次认证响应的行为,对应哪种密码分析场景?

正确答案是唯密文攻击(Ciphertext Only)。这正是SecureID协议的核心特点——不暴露任何明文信息,从而提升了密码分析的难度。

总结

本节课中我们一起学习了RSA SecureID协议的分析。我们回顾了其基于时间和种子进行连续加密的认证流程,明确了该协议迫使攻击者处于唯密文攻击的不利境地,从而增强了密码学强度。同时,我们也认识到,其安全性同样受到物理安全和管理策略的制约。理解这种协议的设计与权衡,有助于我们全面评估身份验证机制的安全性。

067:作业与阅读 📚

在本模块中,我们将学习基础的加密技术与密码学,并深入了解Kerberos协议。这是一种基于密码学的出色方案,能够将密码从网络中移除。为了辅助你的学习,本教程将介绍一些推荐的阅读材料和视频资源。

推荐阅读与学习材料

以下是本模块的补充学习材料,包括一篇专利、两本可选书籍和一个视频访谈。

专利阅读

首先,我推荐大家阅读一篇专利。虽然专利文件通常包含大量法律术语,阅读体验可能不佳,但尝试阅读专利本身是一次宝贵的经历。这篇专利的标题是:

《数据加密标准的降低计算量实现方法》

请尽力阅读它。你可能会发现其中一些内容看起来不直接相关,但请尽量理解其核心思想。未来你很可能需要撰写或阅读专利,因此这是一次很好的练习。

可选参考书籍

接下来是两本可选的参考书籍,它们可以作为本模块学习的有效资源。

  1. 《从CIA到APT》
    这是一本我与儿子Matt合著的电子书,你可以在亚马逊上找到。本书的第13章和第14章在某种程度上与本模块的内容相辅相成。虽然它是可选资料,但可能对你的学习有所帮助,是一本有用的配套读物。

  2. 《TCP/IP详解 卷1:协议》
    作者Richard Stevens的这本书是学习TCP/IP协议的经典之作,对于网络安全领域的任何工作都大有裨益。我建议你重点阅读该书的第13章和第14章,相信它们会助你更好地理解本模块的知识。

推荐观看视频

最后,有一个视频访谈推荐给大家。视频采访的是我在思科系统公司工作多年的好友John Stewart。这个访谈于2013年在RSA安全大会上录制,题为“与John Stewart探讨网络安全”。我希望你能通过这个视频感受John的智慧、幽默与渊博知识,相信你会喜欢它。


希望你能享受整个模块的学习过程,并充分利用这些优质的学习资源。祝你学习愉快!

068:实现 🔑

概述

在本节课中,我们将要学习一个由著名计算机科学家Leslie Lamport提出的、非常有趣的认证协议——S/Key协议。我们将了解其核心工作原理、实现步骤,并探讨其独特的设计思想。


协议背景与核心思想

在20世纪80年代,Leslie Lamport发表了一篇仅有三页的简短论文,描述了一种认证方案。这个方案的核心思想非常巧妙,旨在让客户端(Alice)向服务器(Bob)证明自己的身份。

其核心机制基于一个种子值和一个加密函数。服务器并不存储原始的密码或种子,而是存储该种子被加密了N次后的结果。这是一种“一次性”递减的认证方式。


协议工作原理详解

上一节我们介绍了协议的基本概念,本节中我们来看看其具体的工作步骤。整个过程可以分为初始设置和循环认证两个阶段。

初始设置阶段

在系统初始化时,服务器和客户端需要共同确定一些参数。

以下是初始设置的具体步骤:

  1. 选择一个随机数作为种子(Seed),记作 λ
  2. 确定一个较大的整数 N(例如10000),作为认证总次数。
  3. 选择一个加密函数,记作 F
  4. 服务器计算 F^N(λ),即对种子λ连续加密N次。
  5. 服务器保存加密函数 F 和最终的计算结果 F^N(λ)。客户端则保存种子 λ、次数 N 和加密函数 F

此时,服务器的存储状态可以表示为:存储 = (F, F^N(λ))

认证过程(第1轮)

当客户端Alice第一次需要向服务器Bob认证时,遵循以下流程。

以下是第一次认证的步骤:

  1. 服务器向客户端发起挑战,要求证明身份。
  2. 客户端计算 F^(N-1)(λ),即对种子加密(N-1)次。
  3. 客户端将 F^(N-1)(λ) 发送给服务器。
  4. 服务器收到后,利用自己存储的加密函数 F 对其再加密一次,得到 F( F^(N-1)(λ) ),即 F^N(λ)
  5. 服务器将计算得到的 F^N(λ) 与自己存储的 F^N(λ) 进行比较。
  6. 如果两者匹配,认证成功,服务器回应“Hello, Alice”。
  7. 认证成功后,服务器丢弃旧的 F^N(λ),转而存储本次收到的 F^(N-1)(λ)。同时,客户端也将N的值减1。

认证过程(后续轮次)

理解了第一轮认证后,后续的流程就变得清晰了。每一次成功的认证都会使计数器递减。

以下是后续认证的步骤:

  1. 下一次认证时,服务器存储的值已更新为 F^(N-1)(λ)
  2. 客户端计算并发送 F^(N-2)(λ)
  3. 服务器收到后,加密一次得到 F^(N-1)(λ),与存储值比对。
  4. 匹配成功后,服务器更新存储为 F^(N-2)(λ)
  5. 此过程循环,直到N递减至0。

协议特点与思考

这个协议的设计非常精妙,它避免了在服务器端存储明文密码或可重复使用的密钥,从而提升了安全性。然而,它也有一个显著特点:认证次数是有限的。

你可能会问,如果N次用完了怎么办?例如,设N=10000,每天认证两次,大约可以使用13年。这在实际系统中是合理的。即使次数用尽,也只需重新执行一次初始设置流程即可“重置”系统。

尽管这个协议非常有趣,但它在实际中并未被广泛采用。一个有趣的轶事是,很多人(包括讲述者本人)最初无法读懂Lamport那篇简洁的论文,反而是通过一份防火墙工具包的源代码注释才真正理解了其原理。


总结

本节课中我们一起学习了Lamport S/Key一次性密码协议的核心机制。我们了解了它如何通过存储FN(λ)**、客户端提交**F(N-1)(λ)、服务器验证并更新存储的方式,实现一种无需存储秘密、且每次认证凭证都不同的安全方案。这种设计体现了“向前保密”的思想,即即使某一次认证凭证被截获,也无法用于推导出下一次的凭证。在下一节课中,我们将对这个协议进行密码学分析,探讨其可能存在的弱点。

网络安全:P69:Lamport密钥协议分析

在本节课中,我们将对Lamport一次性密钥协议进行密码分析。我们将探讨该协议的工作原理,并分析其潜在的安全特性与弱点。

上一节我们介绍了Lamport协议的基本流程,本节中我们来看看如何对其进行密码分析。

首先,我们注意到在协议中,当Alice(客户端)被要求证明身份时,并没有发送种子值(seed)。这通常意味着攻击者只能获得密文,而没有其他提示信息,即所谓的“唯密文攻击”场景。

然而,这里有一个非常有趣的现象。让我们回顾函数 F^n(λ) 的定义,它表示将种子 λ 连续加密 n 次。例如,F^3(λ) 等于 F(F(F(λ)))

根据这个定义,我们可以得出一个关键关系:
F^n(λ) = F( F^{n-1}(λ) )

这意味着,F^{n-1}(λ) 实际上是下一轮加密 F^n(λ) 时所使用的“明文”。

在Lamport协议的执行过程中,每一轮通信都会揭示前一轮加密所使用的“明文”。具体来说,在某一轮中,服务器存储的是 F^n(λ)。而客户端发送给服务器的挑战值是 F^{n-1}(λ)。对于窃听者Eve而言,她能在通信中看到这个值。

如果我们等待到下一轮,Eve将能看到之前一轮加密所使用的“明文”(即 F^{n-2}(λ))。因此,尽管在挑战-应答过程中没有直接提供明文作为提示,但协议本身在每一轮都泄露了前一轮的“明文”信息。

所以,这并非纯粹的唯密文攻击场景。攻击者实际上获得了已知明文,这为密码分析提供了线索。

这种因协议交互而意外泄露信息的情况,是研究这些协议时出现的非常有趣的数学现象。

以下是关于协议使用现状的几点说明:

  • Lamport协议本身设计精巧,尤其适合暴露在互联网环境、面临各种威胁的防火墙或主机。
  • 它的一个优点是服务器端不存储原始的种子值 λ。
  • 然而,在实际应用中,Secure ID、密码、Kerberos以及公钥密码学更为流行。
  • 公钥密码学目前已广泛应用于大多数场景。

学习S/Key协议的意义在于,它能让我们清晰地看到客户端与服务器之间握手、消息往返的交互过程,以及这种交互如何可能为密码分析揭示出有趣的模式。

本节课中我们一起学习了如何分析Lamport一次性密钥协议。我们理解了其核心加密迭代过程 F^n(λ),并分析了协议在运行中会意外泄露已知明文这一重要特性。这说明了在设计安全协议时,仔细分析每轮交互的信息泄露至关重要。

070:专访Ajoy Kumar 🎙️

在本节课中,我们将通过纽约大学网络安全课程的一次专访,了解资深信息安全专家Ajoy Kumar的职业历程、对行业的见解以及给初学者的建议。我们将学习到进入网络安全领域所需的技能、当前行业趋势以及持续学习的方法。


欢迎Ajoy Kumar

大家好,我是Edroso。欢迎来到我们的专访系列,今天我的好朋友Ajoy Kumar将接受采访。Ajoy是DTCC(美国存管信托和结算公司)的业务信息安全官。

欢迎来到我们的专访系列。

谢谢教授。


DTCC是什么?

嘿,DTCC,这代表什么?

它代表存管信托和结算公司。这很可能是一家非常重要的金融服务公司,我敢打赌很多观看视频的年轻人甚至从未听说过它。

它绝对是一个关键的金融基础设施机构。我们在美国政府的金融关键基础设施中扮演着角色。它不是一家政府公司,而是一个行业所有的机构。我们的工作是为华尔街结算账目。我们基本上处于交易流程的末端,确保交易最终完成。

听起来非常重要。

确实如此。这是一份有趣的工作。


职业旅程

现在让我们谈谈你。请简单介绍一下你是如何对现在从事的技术职业产生兴趣的。你是如何走到今天这个位置的?

当然。我想这始于很多很多年前。我的父亲在印度曾是一名统计学家和经济学家。我有时会在职业体验日之类的日子去他的办公室。他当时从事数据处理工作,使用打孔卡计算机。在我八年级时,我见到了第一台基于8085处理器的个人电脑。我玩了很多吃豆人游戏,这在那时引起了我的兴趣。同时,我也看到他在使用类似Lotus 1-2-3的软件进行数字运算,并对此感到兴奋。我想这激发了我的兴趣。

我在印度完成了计算机科学的本科学业,这为我的职业生涯开了个好头。但我希望探索更多。后来我攻读了电气工程的硕士学位,主修控制和仪器仪表,尽管我在职业生涯中从未用到这个专业。

在美国工作多年后,我曾是一名数据库管理员。我接手了一个项目,主要内容是保护对生产环境的访问权限,以防止开发人员更改我们的数据库。正是在这里,我接触到了安全领域。我参与了一些项目来防止开发人员在生产环境中进行更改,这让我非常着迷。因此,我报名参加了史蒂文斯理工学院的硕士证书课程。在离开学校多年后,我上了你的第一堂课。从那时起,我坚定了要在这个领域发展的决心。这对我来说是一个非常有趣的话题,每天都有新东西可以学习,有令人兴奋的事情可以做。这让我感到兴奋,而如今,13、14年过去了,我依然在这个领域工作。

这太棒了。


给新人的建议

现在,许多观看视频的年轻人可能在想:“我想进入安全领域”。对此你有什么建议?你认为他们应该更专注于技术或编程,还是黑客技术?对于一个对此感兴趣的年轻人来说,什么是好的发展路径?

我认为技术路径无疑是非常重要的。在当今时代,你至少应该掌握两门或以上的编程语言,这是进入这个领域非常好的方式。

哪两门编程语言比较好?

我喜欢Python和Java。所以,毫无疑问,这些是非常重要的语言。它们能让你很好地理解需要解决的业务问题,也能让你对安全有很好的感觉。因为当你使用这些语言时,你需要思考如何“破坏”它,可以利用哪些结构来攻击应用程序。了解这些对于进入这个领域至关重要。

我的重点一直放在技术方面,这也是我的优势所在。但同时,对于更进阶的人来说,我认为他们也需要关注操作层面。因为如果你不考虑某个方案如何适配并融入生产环境或更大的生态系统,你可能会忽略整体的安全态势。所以,这是一个结合体:专注于编程、应用程序、基础设施,并确保它们如何在更大的操作框架中安全地运行。


当前网络安全趋势

你认为当前网络安全有哪些趋势?攻击是否越来越难以阻止?现在进行有效的网络防御是否需要更多技能?

是的,网络防御绝对是一个不断发展的领域。它在过去几年里不断演变、扩展,也更具挑战性。我认为信息安全专业人员需要具备多种技能来应对。

首先,他们需要有领导力和勇气,能够指出正确的解决方式。
其次,他们需要有战略和规划能力,知道如何系统地处理问题。
第三,也是更重要的领域是技术专长。如果只试图通过流程来解决问题,这固然好,但如果缺乏技术技能,你可能无法看清全貌。
最后但同样重要的是,要确保与财务方面取得平衡,因为你不能无休止地投资于保护某一个领域,而忽略了其他领域。因此,纵深防御的概念必须得到良好实施,以确保以有意义的方式保护所有资产。

所以,是的,这是一个不断发展的领域,非常有趣。它让你每天保持兴奋,因为每天都有新的事件发生。这正是让我保持兴奋的原因。


攻防技能差异

这听起来很符合逻辑,但很多人认为:“哇,应该是黑客技术、入侵系统,然后我就能成为安全专家”。你描述的技能与这些是非常不同的,比如入侵系统与你提到的需要周密规划的纵深防御思维过程。这有点不同于单纯的“黑客”行为,对吧?它们是不同的技能。

是的。根据我的观察,这个领域在高层次上可以分为两种思路:进攻性安全防御性安全。我的重点一直放在防御性安全上,这也是为什么领导力、规划能力、卓越运营和技术能力更能引起我的共鸣。

仅仅像罗宾汉一样说我打算从事进攻性安全,我并没有那样做。有些人可能觉得进攻性安全更有趣,但归根结底,防御性问题大部分需要通过防御机制来解决。当然,一些进攻性研究是有益的,这个领域也有新的工作在进行,但我认为目前重点更多地放在了防御上。


如何保持技能更新

让我问你,你是如何保持技能更新的?你使用书籍、网站、文章还是课程?有什么好方法吗?或者也许你日常所做的工作本身就是一种方式?你如何保持与时俱进?

是的,这是多种方式的结合。显然,工作让我很忙,我也从中了解到很多。此外,我肯定会定期进行大量阅读。我听很多播客。我也会在像OWASP这样的组织中做志愿者,我已经与他们合作了很多年。在那里形成的社区基本上会告诉你哪些问题正在浮现,你需要关注什么。除此之外,我们为公司订阅的各种信息源也告诉我正在发生什么,每天需要关注哪些重大事项,市场上哪些趋势正在增长(可能在三个月后产生影响),以及我如何防范它们。

所以,我是通过多种方式的结合来跟上发展的。但这就像永远在追赶一样,我想这是看待这个领域的方式,因为这里发生的变化太多了。


你提到了OWASP(开放Web应用程序安全项目)。那里有机会让学生和其他人参与吗?

是的,绝对有。OWASP和其他组织都是如此。OWASP对我来说一直是一个很好的平台,尤其在我还是新手的时候。我经常鼓励为我工作的实习生和其他同事成为会员。这是低成本会员,学生过去可以免费获得会员资格,他们可以免费参加会议。他们提供大量信息。你可以参与许多项目,可以帮助维护维基百科。在那个领域有很多事情可以做,供任何人学习。你在那里建立的社区、获得的信息、得到的线索以及定期发生的知识共享都非常重要。


总结

看起来你真的很享受你所做的工作。

是的,我热爱它。

我很高兴你这样想,因为如果你不热爱,我想我们的金融服务行业可能会崩溃。你在确保所有这些交易和结算顺利进行,这非常重要。

这是一项更大的努力,是整个金融部门周围形成的生态系统的一部分。我只是在尽我的一份力。是的,我热爱它,我对此充满热情。

你会继续为我们出色地工作。非常感谢你,很高兴见到你。

我们下次再见。

谢谢。


在本节课中,我们一起学习了资深安全专家Ajoy Kumar的分享。我们了解了DTCC在金融基础设施中的关键作用,回顾了Ajoy从接触早期计算机到专注于防御性安全的职业旅程。他建议初学者掌握如PythonJava等技术技能,并关注操作与战略层面。我们探讨了网络安全领域防御重于单纯攻击的趋势,以及通过工作实践、阅读、参与OWASP等社区来保持技能更新的方法。最后,我们看到了对工作的热情是在这个充满挑战的领域长期发展的关键动力。

网络安全入门:P71:Kerberos第1部分 - 实现TGT颁发 🔑

在本节课中,我们将学习Kerberos协议的第一部分,即如何安全地颁发“票据授予票据”,这是实现无密码网络认证的关键第一步。

上一节我们介绍了网络安全中密码传输的风险,本节中我们来看看Kerberos协议如何解决这个问题。

Kerberos是一个内置于Windows等众多系统中的流行认证协议。它的核心目标是:确保用户的明文密码不会在网络中传输。为了实现这个目标,协议引入了一个称为“密钥分发中心”的中央权威机构。

以下是协议的基本参与方:

  • 密钥分发中心: 负责为所有用户和服务器生成和管理密钥。
  • 客户端/用户: 例如Alice,她希望访问某个服务。
  • 服务器: 例如Bob,提供Alice想要访问的服务。

协议运行在一个拥有同步时钟的企业或校园网络内,时钟同步对于防止协议欺骗行为非常重要。


协议初始化:密钥分发

在协议开始前,KDC会与每个参与方(用户和服务器)共享一个长期密钥

  • Alice与KDC共享密钥:K_A
  • Bob与KDC共享密钥:K_B
    这个长期密钥也称为根密钥,是通信双方的基础秘密。

第一步:用户登录与TGT请求

当Alice需要访问网络服务时,她首先在本地机器上输入密码登录。关键点在于,这个密码仅用于本地验证,不会发送到网络

验证通过后,Alice的客户端会向KDC发送一个标准请求消息,申请一个票据授予票据。TGT就像是“获取其他服务门票的门票”。

第二步:KDC生成并颁发TGT

收到请求后,KDC会执行以下操作:

  1. 生成会话密钥: KDC为Alice创建一个临时的会话密钥 SK_A。在密码学中,我们希望密钥的寿命尽可能短,使用长期根密钥来派生短期会话密钥是一种安全最佳实践。这样即使会话密钥被破解,根密钥仍然是安全的。
  2. 构造TGT: KDC会将这个会话密钥 SK_A 以及其他信息(如时间戳)封装成一个消息。
  3. 加密TGT: KDC使用Alice的根密钥 K_A 对这个消息进行加密。加密后的数据块就是TGT。

TGT = Encrypt(K_A, {SK_A, Timestamp, ...})

这种使用用户自身密钥加密的方式很巧妙。即使攻击者Eve截获了网络上传送的TGT,由于她没有Alice的密钥 K_A,也无法解密和读取其中的内容,尤其是关键的会话密钥。

协议目标与复杂性思考

至此,Kerberos协议的第一部分完成。Alice成功地从KDC获得了一个TGT,她可以凭借这个TGT在后续步骤中申请访问特定服务器(如Bob)的票据。

你可能会觉得,仅仅为了准备登录就经历这么多步骤(同步时钟、生成会话密钥、加密TGT)似乎很复杂。相比直接输入密码,这确实引入了更多环节。然而,这种复杂性如果被系统底层完美封装,对用户而言操作仍然是简单的(输入密码即可)。用一定的后台复杂性换取更高的安全性,这通常是一个值得的权衡。


本节课中我们一起学习了Kerberos协议的基础架构和TGT颁发过程。我们了解了KDC的角色、长期根密钥与短期会话密钥的区别,以及协议如何通过加密确保TGT在传输过程中的安全性。在下一部分,我们将继续学习Alice如何利用已获得的TGT来最终安全地访问Bob的服务。

网络安全入门:P72:Kerberos协议第二部分 - 实现与T_Bob颁发 🔑

在本节课中,我们将深入学习Kerberos协议的第二部分,重点探讨Alice如何向密钥分发中心申请与Bob通信的票据,以及整个认证过程的实现细节。我们将通过清晰的步骤和核心概念公式,帮助你理解这个复杂的握手协议。


概述

上一节我们介绍了Alice如何从密钥分发中心获得票据授予票据。本节中,我们来看看Alice如何利用这个TGT,安全地申请一个用于与Bob通信的会话密钥和票据。

申请与Bob通信

Alice现在希望与Bob建立通信,例如登录Bob的服务,但她不想使用密码。根据RFC规范,为Bob申请的票据被称为“给Bob的票据”,我们简称其为 T_Bob

Alice向密钥分发中心发送请求。她使用上一阶段获得的会话密钥加密了一个包含当前时间戳的认证器,以证明自己的身份并实现时钟同步。同时,她也会明文发送想要连接Bob的请求,因为Kerberos的设计目标并非防止流量分析,而是确保密码不在网络中传输。

请求消息结构示例:
Alice -> KDC: {Timestamp}_{S_A}, "Connect to Bob"

密钥分发中心的角色

密钥分发中心收到请求后,会进行以下操作:

  1. 验证Alice的TGT,确认其身份。
  2. 为Alice和Bob生成一个共享的会话密钥,记为 S_AB
  3. 创建一个包含S_AB和Alice身份信息的T_Bob票据,并用Bob与KDC的共享密钥K_B加密。
  4. 将S_AB和加密后的T_Bob一起,用Alice与KDC的会话密钥S_A加密,发回给Alice。

这个过程体现了Kerberos的“仲裁”思想:KDC作为Alice和Bob都信任的第三方,可以安全地为他们分发一个只有双方能使用的秘密。

KDC响应消息结构:
KDC -> Alice: {S_AB, {T_Bob}_{K_B} }_{S_A}

Alice向Bob发起认证

Alice收到KDC的回复后,用S_A解密,获得了会话密钥S_AB和给Bob的票据T_Bob。

以下是Alice向Bob发起最终认证的步骤:

  1. Alice将T_Bob(已用K_B加密)发送给Bob。
  2. 同时,她用刚获得的会话密钥S_AB加密一个当前时间戳,作为新的认证器一并发送。

Alice认证Bob的消息:
Alice -> Bob: T_Bob, {Timestamp}_{S_AB}

Bob收到后:

  1. 用自己与KDC的密钥K_B解密T_Bob,从中提取出会话密钥S_AB和Alice的身份信息。
  2. 用S_AB解密时间戳认证器,验证消息的新鲜性。

至此,Alice和Bob成功建立了共享会话密钥S_AB,可用于后续的安全通信。

Kerberos的复杂性与可扩展性

Kerberos握手协议确实非常复杂,初次接触感到困惑是正常的。它是认证协议中设计最为精巧和复杂的之一。

此外,我们需要思考其可扩展性。Kerberos在互联网规模的应用上面临挑战,核心问题在于密钥分发中心的信任与管辖范围。协议中引入了“领域”的概念,即每个KDC管理一个自治的社区或组织。跨领域的认证需要KDC之间建立信任并进行查询,虽然可以通过层次化结构来组织,但这增加了复杂性。

相比之下,公钥密码学为大规模、去中心化的网络认证提供了更灵活和可扩展的解决方案,这也是我们后续课程将重点探讨的内容。

总结

本节课中我们一起学习了Kerberos协议的第二阶段。我们详细分析了Alice如何利用票据授予票据向KDC申请与Bob通信的票据T_Bob和会话密钥S_AB,并完成了与Bob的最终双向认证。尽管协议流程复杂,但它精妙地实现了在不传输密码的前提下,通过可信第三方建立安全通信。同时,我们也讨论了Kerberos协议在可扩展性上的局限,为学习更通用的公钥密码体系做好了铺垫。

073:基本密码系统与特性 🔐

在本节课中,我们将学习密码学的基础知识,包括其核心组件、工作原理以及对称加密的基本模型和特性。


概述

密码学是“秘密书写”的科学,旨在确保通信双方能在不被信任的第三方理解的情况下进行安全交流。其核心在于使用双方共享的秘密(密钥)来加密和解密信息。

密码系统的五个组件

从计算机科学的角度来看,一个完整的密码系统包含以下五个基本组件:

  1. 明文集合:这是你能理解的信息。
  2. 密文集合:这是经过加密后,看起来像乱码的信息。
  3. 加密函数:这是一个将明文转换为密文的数学过程。
  4. 解密函数:这是一个将密文还原为明文的数学过程。
  5. 密钥集合:这是用于控制加密和解密过程的秘密信息。

一个简单的类比:异或运算

为了更好地理解这些组件如何协同工作,我们可以使用异或运算作为例子。异或运算的规则是:当两个比特位不同时,结果为1;相同时,结果为0。

以下是其工作原理的代码描述:

# 假设明文 P 和密钥 K 都是二进制位
P = 0 1 0 0 1 1 0 1  # 明文
K = 1 0 1 1 0 1 0 0  # 密钥

# 加密过程:C = P XOR K
C = P ^ K  # 得到密文 C

# 解密过程:P = C XOR K
P_decrypted = C ^ K  # 使用相同的密钥 K 进行异或,得到原始明文

在这个模型中:

  • 明文P
  • 密钥K
  • 加密函数P XOR K,得到密文 C
  • 解密函数C XOR K,它使用相同的密钥 K 将密文还原为明文 P

这个例子清晰地展示了明文、密钥、加密、解密和密文之间的关系。

对称加密的架构

上一节我们介绍了密码系统的抽象组件,本节中我们来看看一个具体的应用模型——对称加密的经典架构。

在对称加密中,通信双方(例如Alice和Bob)使用同一个密钥进行加密和解密。这个密钥需要通过一个安全渠道进行交换,通常由一个可信的密钥分发中心密钥管理中心 负责。

以下是该架构的工作流程:

  1. 密钥分发:KDC/KMC 将共享密钥 K 安全地分发给 Alice 和 Bob。
  2. 加密:在客户端区域,Alice 将她的明文 P 和密钥 K 输入加密函数,生成密文 C
  3. 传输:密文 C 通过(可能不安全的)网络区域进行传输。
  4. 解密:在服务器区域,Bob 收到密文 C 后,使用相同的密钥 K解密函数,将其还原为原始的明文 P

这样,信息在客户端和服务器端是明文,而在网络传输过程中是受到保护的密文。

对称加密的两大核心特性

基于上述架构,对称加密系统为我们提供了两个至关重要的安全特性。

1. 保密性

这是最直观的特性。窃听者Eve即使能在网络区域截获密文 C,由于她没有密钥 K,也无法解读出其中的真实内容。这确保了通信内容的私密性。

注意:如果Eve能直接访问Alice或Bob的客户端或服务器(例如通过恶意软件),那就是另一个层面的安全问题(主机安全)。密码学主要防护的是网络传输过程中的风险。

2. 认证性

Alice可以向Bob证明自己的身份。过程如下:

  • Bob向Alice发起一个挑战(例如一个随机数)。
  • Alice用共享密钥 K 加密这个挑战,并将结果发送给Bob。
  • Bob用密钥 K 解密,如果得到有意义的、符合预期的结果(例如那个随机数),那么他就可以确信对方是拥有密钥 K 的Alice。

法律视角:需要注意的是,这种认证在法庭上可能存在争议。因为理论上,密钥分发中心或Bob本人也有可能伪造这条消息。但在实际操作层面,这为通信双方建立了可靠的信任基础。

总结

本节课中我们一起学习了密码学的基础。我们首先定义了密码系统的五个核心组件:明文、密文、加密函数、解密函数和密钥。接着,我们通过异或运算的例子和对称加密的经典架构,理解了这些组件如何协同工作。最后,我们探讨了对称加密带来的两大核心安全特性:保密性(防止窃听)和认证性(验证身份)。在后续的学习中,我们将基于这些基础概念,探索更多密码学的实现和应用。

074:密码算法设计 🔐

在本节课中,我们将探讨密码算法的设计原理。我们将了解构建加密方案背后的基本策略和核心要求,让初学者也能理解其背后的逻辑。

概述

密码学看似高深,但核心思想是“秘密书写”。本节将解析设计密码算法的两种常用策略,并阐明一个强大算法必须满足的两个关键要求。

密码设计策略

上一节我们介绍了密码学的目标,本节中我们来看看设计密码算法的具体方法。主要有两种基础策略。

1. 替换策略

替换是指将一个事物替换为另一个事物。最简单的例子是将一个字母替换为另一个字母(例如凯撒密码)。虽然这不是最强大的密码,但它阐明了核心概念。

替换可以是非线性的,不一定是一对一的映射。例如,我的家人发明了一种在孩子周围使用的“秘密语言”:在每个元音前加上字母“A”和“B”。比如我的名字“Ed”会变成“Abed”,“video”会变成“vid Abe Abo”。这是一种非线性替换密码,孩子们无法理解。

设计密码时需要注意,不能将所有内容都映射到同一个字母(如字母‘A’),虽然这能隐藏信息,但无法还原。必须确保替换操作存在逆函数,以便解密。几乎所有的现代密码都倾向于使用非线性替换。

2. 置换策略

第二种策略称为置换。这涉及到创建信息的矩阵排列或表示。

可以将其想象成行和列,然后对矩阵进行线性代数或矩阵算术类型的变换。记住所做的操作以便能够还原。矩阵可以按行遍历、按列遍历或进行各种复杂的重排。

如果你学过线性代数,就会熟悉矩阵操作。将替换与矩阵置换操作结合起来,并记录变换过程,就能创造出对明文进行有趣“混淆”的方法。编写程序来实现这些操作也相对容易。

强大算法的核心要求

你可能会想,自己设计的算法可能不够好。那么,一个优秀的密码算法必须满足以下两个核心要求。

以下是评估密码强度的两个关键维度:

  1. 计算复杂性:算法必须非常复杂。在数学上,我们称之为“计算上困难”。这涉及一类特殊问题,即“NP完全问题”。数学家们普遍认为(虽未证明),解决这类问题的唯一方法是尝试每一种可能性。

    • 经典例子:取两个大质数相乘。我给你乘积,然后问:“朋友,这是两个质数的乘积吗?”目前,我们所知的唯一解答方法是从2、3、5、7开始逐一试除。如果有人能找到这个问题的捷径,那将是像牛顿发现万有引力定律一样的重大突破。许多密码学,尤其是我们稍后会讲到的公钥密码学,都依赖于这个难题。
  2. 巨大的域大小:被加密信息的可能性空间必须极其庞大。如果域太小,即使算法复杂,攻击者也可以通过穷举所有可能性来破解(暴力破解)。

    • 回顾:在更早的视频中,我们通过编写程序分析英文字母频率分布来破解凯撒密码,这就是利用了域小的弱点。
    • 理想规模:可能性数量应达到地球上沙粒总数那种级别。将一个只能通过穷举所有可能来解决的难题,与一个如此庞大的域结合起来,就能得到相当强大的密码。因为攻击者需要为“地球上的每一粒沙子”尝试一种可能性,这在实际中是不可行的。

知识测验

为了检验你的理解,这里有一个小测验。正如你所料,正确答案是“以上所有”。这些术语(如“混淆事物”)虽然不非常技术化,但你应该记住这个核心思想。

许多人在学校或其他地方接触密码学时,总觉得它是一门高深的数学。但请记住,它的本质就是秘密书写,就是打乱信息。你可以尝试自己设计,这其实很有趣。

总结

本节课中我们一起学习了密码算法设计的基础。我们探讨了替换置换这两种核心策略,并了解了一个强大密码算法必须具备计算上的高复杂性巨大的密钥或明文空间这两个关键要求。理解这些基本原理,是进一步学习具体加密技术(如对称加密、非对称加密)的重要基石。

075:DES设计 🔐

在本节课中,我们将学习一个非常重要的加密标准算法——数据加密标准(DES)。我们将了解它的历史背景、核心设计原理以及其关键参数。

概述

DES是一种对称密钥加密算法,诞生于20世纪70年代。当时,银行业开始广泛使用密码学进行通信,并希望建立一个统一的加密标准以实现互操作性。美国国家标准局(NBS,即现在的NIST)为此发布了提案请求,最终IBM公司基于其“Lucifer”算法开发出了DES。

DES的核心设计

上一节我们提到了DES诞生的背景,本节中我们来看看它的具体设计结构。

DES是一种分组密码。它处理数据的方式如下:

  • 输入与输出:它以64位的数据块作为输入,并产生对应的64位加密数据块作为输出。可以想象你的数据流像一列火车,每节车厢是64位,依次进入加密“黑箱”进行处理。
  • 密钥长度:它使用一个64位的密钥。但由于当时的网络通信质量较差,每8位(1字节)中需要拿出1位作为奇偶校验位,以确保前7位在传输中未被篡改。因此,实际有效的密钥长度是 56位
  • 加密过程:DES的核心是进行16轮的加密操作。每一轮都包含我们之前学过的代换置换异或操作。56位的密钥被用来生成每一轮所需的子密钥。

以下是其核心参数的总结:

  • 分组大小:64 bits
  • 有效密钥长度:56 bits
  • 加密轮数:16 rounds

这种通过多轮代换和置换来加密数据的结构被称为Feistel结构,它是一种非常巧妙和强大的设计思想。

DES的潜在问题

虽然DES的设计概念(如Feistel结构和16轮加密)非常坚固,使其能够有效抵抗密码分析,但其两个关键参数在当今看来存在局限。

  • 分组加密的固有挑战:由于DES是分组加密,当加密的数据长度不是64位的整数倍时,或者需要加密大量相同的数据块时,会带来一些安全问题(例如,可能暴露数据的模式)。我们将在后续课程中学习如何通过分组密码工作模式(如CBC)来解决这些问题。
  • 密钥长度不足56位的密钥长度是其最主要的弱点。在70年代,2^56种可能的密钥数量看起来是安全的。但随着计算机计算能力的飞速发展,暴力破解(即尝试所有可能的密钥)变得可行。2^56 对于现代计算机来说已不再构成重大挑战。

小测验

为了检验你对DES的理解,这里有一个问题:
DES的有效密钥长度为什么是56位,而不是其标称的64位?

答案:因为64位密钥中的每8位里有1位被用作奇偶校验位,以确保密钥在当时的嘈杂网络中正确传输,因此实际用于加密的只有56位。

总结

本节课我们一起学习了数据加密标准(DES)。我们了解了它诞生的历史背景,掌握了其核心设计:它是一种使用56位有效密钥,对64位数据块进行16轮加密的分组密码。我们认识到,尽管其Feistel结构设计精良,但有限的密钥长度是其主要的时代局限性。在接下来的课程中,我们将探讨如何改进DES的这些弱点,并学习后续更强大的加密标准。

076:三重DES 🛡️

在本节课中,我们将要学习一种由IBM团队在20世纪70年代提出的重要加密技术——三重DES。这项技术旨在解决原始DES加密算法密钥长度过短的问题,通过巧妙的加密模式设计,提供了不同强度的加密选项。

从单DES到多DES的演进

上一节我们介绍了DES加密算法,其密钥长度为56位,这在现代计算能力下显得不够安全。本节中我们来看看如何增强其安全性。

IBM团队提出了一个直观的想法:通过多次加密来增加密钥的有效长度。如果使用一个56位的密钥加密一次,攻击者需要尝试2^56种可能。如果加密两次,使用两个不同的密钥K1和K2,那么理论上密钥空间就变成了56+56=112位。

以下是这个思路的简单演进:

  • 单DES:使用一个密钥K进行加密。
  • 双DES:使用两个不同的密钥K1和K2,先使用K1加密,再使用K2加密。

然而,双DES存在一个兼容性问题:使用传统单DES设备的机构(如银行)无法与使用双DES新设备的用户通信,因为密钥安排方式不同。

三重DES的巧妙设计 🧩

为了解决兼容性问题并实现灵活的加密强度,IBM团队设计了三重DES。其核心在于利用了DES算法的一个特性:加密和解密是互逆操作。用公式表示,对于任意明文M和密钥K,有:
D(K, E(K, M)) = ME(K, D(K, M)) = M
其中E代表加密,D代表解密。

基于此,三重DES采用了一种称为EDE模式(加密-解密-加密)的操作序列。具体过程如下:

  1. 使用密钥K1对明文进行加密
  2. 使用密钥K2对第一步的结果进行解密
  3. 使用密钥K3对第二步的结果进行加密

三重DES的三种密钥模式 🔑

三重DES的强大之处在于,通过配置三个密钥(K1, K2, K3)之间的关系,可以实现不同级别的安全强度和兼容性。

以下是三种主要的密钥配置模式:

  1. 兼容单DES模式

    • 配置:令 K1 = K2 = K3K1 = K2
    • 效果:此时,第一次加密和第二次解密使用相同密钥,操作相互抵消,整个流程退化为使用K3的单DES加密。这实现了与旧系统的完全兼容。
  2. 双密钥增强模式

    • 配置:令 K1 = K3,且 K2 与它们不同。
    • 效果:这相当于使用两个不同的密钥(K1和K2)进行了两次加密,提供了112位的有效密钥强度,同时比完全使用三个密钥效率更高。
  3. 三密钥最强模式

    • 配置:令 K1, K2, K3 互不相同。
    • 效果:这是最安全的配置,提供了理论上168位的密钥空间(尽管由于潜在的中间相遇攻击,有效强度略低,但仍远高于单DES)。

总结与展望

本节课中我们一起学习了三重DES的原理与设计。它通过巧妙的EDE模式和灵活的密钥配置,不仅解决了单DES密钥过短的安全问题,还完美兼顾了与旧系统的向后兼容性,并允许用户根据安全需求选择不同的加密强度。这是密码学史上一个优雅而实用的成就。

然而,三重DES也存在一些局限,例如加解密速度相对较慢,并且其分组长度(64位)在当今看来也显不足。在后续的视频中,我们将开始探讨其他更现代的加密算法以及它们如何解决这些问题。

077:加密、公钥密码学与证书权威 🔐

在本模块中,我们将深入学习加密技术,重点探讨公钥密码学和证书权威。这些主题与电子商务及未来的物联网等领域高度相关。

上一节我们介绍了本模块的核心目标,本节中我们来看看为辅助学习而推荐的一些阅读材料和视频。以下是建议的参考资料列表:

  • 经典论文:迪菲和赫尔曼的《密码学新方向》。这篇论文堪称网络安全领域最重要、最著名的著作之一,值得仔细研读。
  • 历史文献:詹姆斯·埃利斯的《非秘密加密》。这篇鲜为人知的论文在历史上具有重要意义,其观点甚至可能早于迪菲和赫尔曼的开创性工作,其中的历史参考非常有趣。

以下是两本可选的参考书籍:

  • 电子书:《从CIA到APT:网络安全导论》的第15章和第16章。这是一本由我与他人合著的入门书籍,价格不高,可作为辅助读物。
  • TCP/IP专著:理查德·史蒂文斯的《TCP/IP详解 卷1》第15章和第16章。拥有一本实体TCP/IP书籍是一项有价值的投资,本书是经典之作。

此外,还有一个推荐的补充视频:

  • 视频:Akamai公司安全主管安迪·埃利斯主讲的《密码学简史》。这个视频生动有趣,能帮助你从另一个角度理解本模块的知识。

希望你能享受本模块的学习过程。


本节课中我们一起学习了本模块的学习目标与核心主题,并了解了推荐的扩展阅读材料和视频,为后续深入探讨加密、公钥密码学和证书权威奠定了基础。

078:CBC模式分组密码 🔐

在本节课中,我们将学习一种名为“密码块链接”(CBC)的技术,它旨在解决基本分组密码(如DES)中存在的潜在安全问题。我们将了解其工作原理、设计初衷以及它如何增强加密的保密性。


回顾:基本分组密码的问题

上一节我们介绍了DES等基本分组密码。它们存在一个潜在问题:当相同的64位明文块被加密时,总是产生相同的64位密文块。这种确定性可能导致信息泄露,形成所谓的“隐蔽信道”。攻击者可以通过观察重复的密文块模式来推断信息,就像通过敲击墙壁传递暗号一样。

解决方案:链接加密块

为了解决这个问题,IBM的研究人员在1970年代提出了一种创新方法:将加密块链接起来。这种思想也是现代区块链技术的基石。其核心概念是,让每个块的加密输出,成为下一个块加密输入的一部分。

以下是其工作原理:

  1. 初始向量(IV):由于链式结构需要一个起点,我们引入一个“创世块”,即初始向量。它可以被视为一个虚构的前一轮输出。
  2. 加密过程:第一个明文块在加密前,会先与初始向量进行组合(通常是异或操作)。加密后的结果成为第一个密文块,同时也作为下一个块的“链式输入”。
  3. 链式传递:第二个明文块在加密前,会与第一个密文块进行组合,然后再加密。此过程持续进行,每个块的加密都依赖于前一个块的密文。

用公式表示,对于第 i 个块:
C_i = Encrypt(P_i XOR C_{i-1})
其中 C_0 是初始向量(IV),P_i 是第i个明文块,C_i 是第i个密文块。

CBC模式的优势与影响

这种链式结构带来了关键好处:即使两个明文块完全相同,由于它们与前一个不同的密文块进行组合,最终产生的密文也会截然不同。这极大地增加了创建隐蔽信道的难度。

此外,链式结构引入了“完整性”。如果攻击者试图篡改中间的某个密文块 C_x,那么由于 C_x 是计算下一个块 C_{x+1} 的输入,这种篡改会导致所有后续块的解密全部出错。这就像扯动链条的一环,会影响到后面所有的环节。要掩盖这种篡改,攻击者必须重新计算其后所有块的密文,这在实际中非常困难。

因此,CBC模式在不改变底层加密算法(如DES)的前提下,以一种优雅的方式增强了密码系统的安全性和健壮性。

知识小测验

以下是一个关于CBC模式主要目的的快速测验:

  • A. 提高加密速度
  • B. 减少密钥长度
  • C. 增强算法复杂性
  • D. 以上都不是

正确答案是 D. 以上都不是。 CBC模式的核心目的是通过链接块来破坏数据模式,从而关闭由确定性加密可能打开的隐蔽信道


总结与展望

本节课中,我们一起学习了密码块链接(CBC)模式。我们了解到,它通过将每个加密块的输出链入下一个块的输入,有效消除了基本分组密码中明文模式在密文中的泄露,显著提升了安全性。

在接下来的视频中,我们将开始转向公钥密码学的领域。首先,我们会探讨传统密码学面临的一个基本扩展性限制,然后正式深入公钥密码学的奇妙世界。敬请期待下一讲!

网络安全:P79:传统密码学的扩展性问题 🔑

在本节课中,我们将要学习传统密码学面临的一个核心挑战:扩展性问题。我们会通过一个简单的例子来理解为什么随着参与者数量的增加,传统密码学所需的密钥数量会急剧增长,并探讨这一限制对互联网规模应用的影响。

大家好,我是Edosso。我们已经在之前的视频中花了大量时间探讨传统密码学,即传统加密。然而,有一个我们尚未审视的问题,它看似是致命的缺陷。我们稍后会看到,它并非完全致命,但乍看之下确实如此。这个问题就是:传统密码学不具备良好的扩展性。

与其直接抛出一个公式来解释(这通常是我学习时的方式),我更希望通过一个逐步构建的例子来展示这个问题。你会看到,假设你和我在一起,我们想使用传统密码学进行安全通信。那么我们需要多少把密钥?答案是一把,就你和我共享这一把密钥。

现在,假设有第三个人加入我们。于是我们有了三位参与者。这时我们需要多少把共享密钥?结果是三把。这比之前多了一些工作量。

接着,第四个人加入了。我们有了四位参与者。你猜需要多少把共享密钥?答案是六把。这听起来不太妙,对吧?从我们构建的这个图示中可以看出,情况并不乐观。随着参与者增加,所需的工作量似乎在增长。

当参与者达到五位时,你需要十把共享密钥。当达到六位时,你需要十五把共享密钥。因此,增加第六位参与者所需的工作量,是增加第一位参与者所需工作量的五倍。这显然不是一个好的趋势。

这表明,如果一个大厅里坐满了人,并且我们已经建立了所有人之间两两共享密钥的体系,那么当第N+1个人想要加入时,这个人必须与在场的每一个人都建立一个秘密共享关系。你可以想象,这非常不切实际。

这就是为什么当你在亚马逊网站购物时,其机制并非“哦,你想从亚马逊买东西?那我得想办法和你共享一个秘密,给你一把个人私钥”。那样太疯狂了,根本无法扩展。如果我们坚持将这种方案作为互联网密码学的基础,就不会有亚马逊这样的公司出现。

不过,我必须指出,传统密码学本身效率极高。我们不想抛弃分组加密、链式分组加密及其多种模式所带来的强大能力。但问题是,我们能否找到一种方法让它具备扩展性?

在计算机安全和网络安全领域,我们有过一些非凡的贡献。而解决传统密码学扩展性问题的方案,使得能够使用密码学进行买卖、互动、建立社区和商业的人数得以爆炸式增长,这堪称计算技术对我们世界的伟大贡献之一,其意义几乎堪比印刷术的发明。

接下来的几个视频将带你了解一项改变了你、我以及所有人生活的技术。它通过解决传统密码学的扩展性问题,同时保留了密码学的高效性,使我们能够使用高效算法快速处理事务,并且无需第三方在协议过程中进行裁决或仲裁,从而改变了世界。

作为额外的思考,我建议你花点时间,看看是否能推导出描述这种扩展性的数学公式。如果你自己找不到,可以查一下,它其实非常简单。但请思考一下,随着密码学使用规模的扩大,这个公式是如何变化的,你会发现它并不利于我们在互联网上想要进行的各类活动。

在下一个视频中,我们将介绍公钥密码学或公钥基础设施的基础知识,并简要介绍一些将其引入我们生活的关键人物。期待在下一个视频中与你相见。

总结
本节课我们一起学习了传统密码学面临的扩展性挑战。我们通过具体例子看到,在传统对称加密体系中,随着参与者数量 n 的增加,所需的共享密钥数量会按照组合数公式 C(n, 2) = n(n-1)/2 急剧增长,这使其难以支撑像现代电子商务这样的大规模应用。尽管传统密码学算法本身非常高效,但这个扩展性瓶颈催生了革命性的解决方案——公钥密码学,我们将在下一节开始探讨。

080:公钥密码基础 🔑

在本节课中,我们将学习现代网络安全中一个基础且至关重要的概念——公钥密码学。我们将了解它如何解决传统密码学面临的扩展性问题,并介绍其核心工作原理。

概述

传统密码学的主要问题在于其扩展性不足。虽然我们通过链接解决了隐蔽信道问题,并通过三重DES等技术根据应用的关键性选择合适的密钥长度,但扩展性问题仍未解决。

公钥密码学的诞生

上一节我们讨论了传统密码学的局限性,本节中我们来看看一个革命性的解决方案。迪菲、赫尔曼和默克尔等人在斯坦福大学的工作,为公钥密码学奠定了基础。他们的核心创意是:将单一的密钥拆分为两个部分。

他们提出,每个参与者可以本地运行一个算法来生成一对密钥,而无需向密钥分发中心申请。RSA算法后来成为实现这一理念的主要策略。

核心概念与密钥对

以下是公钥密码学的核心运作方式:

  • 密钥对生成:每个用户运行算法生成一个密钥对,包含一个公钥和一个私钥(或称为秘密密钥)。
  • 公钥:这是可以公开给所有人的部分,可以放在目录等公开可访问的地方。
  • 私钥:这是用户必须严格保密的个人部分。

加密与解密机制

公钥密码学的精妙之处在于其非对称的加密解密关系。其核心规则可以用以下公式表示:

  • 公钥加密,私钥解密D( S_A, E(P_A, M) ) = M
    • 其中 P_A 是公钥,S_A 是私钥,M 是消息,E 是加密函数,D 是解密函数。
    • 这意味着用公钥加密的消息,只能由对应的私钥解密。
  • 私钥加密,公钥解密D( P_A, E(S_A, M) ) = M
    • 这意味着用私钥加密(即签名)的消息,可以用对应的公钥验证。

这种关系具有唯一性。如果用某个公钥加密后能用某个密钥解密出原始消息,那么这个密钥必定是该公钥对应的唯一私钥。

RSA算法简介

虽然本节课不深入算法细节,但需要了解RSA的基本思想。它基于将两个大质数相乘。乘积可以公开,而这个乘积中却“封装”了私钥的信息。这种数学特性使得非对称加密成为可能。

概念小测验

为了测试你对上述符号的理解,请思考:用公钥 P_A 加密消息 M 得到密文后,要解密出 M,必须使用哪个密钥?
答案是 S_A,即对应的私钥。根据定义,这正是公钥加密、私钥解密的含义。

总结

本节课中我们一起学习了公钥密码学的基础。我们了解了它如何通过密钥对(公钥和私钥)解决传统密码学的扩展性问题,并掌握了其非对称加密的核心规则。在接下来的课程中,我们将探讨如何利用公钥密码学构建实际应用所需的各项安全属性。

081:公钥保密性 🔐

在本节课中,我们将探讨如何使用公钥密码学来发送秘密信息。我们将从迪菲-赫尔曼(Diffie-Hellman)的概念入手,了解公钥加密如何确保消息的保密性,以及它在这一过程中可能存在的局限性。

上一节我们介绍了公钥密码学的基本概念,本节中我们来看看如何利用它来发送秘密消息。

前提条件与密钥设置

首先,我们需要明确通信双方(例如爱丽丝和鲍勃)在通信前已经具备的条件。这涉及到公钥基础设施(PKI)的建立。虽然在实际中建立PKI需要大量工作,但为了简化,我们假设以下条件已满足:

  • 爱丽丝:她通过本地运行算法,生成了自己的公钥-私钥对PA, SA)。同时,她拥有鲍勃的公钥(PB)。
  • 鲍勃:同样,他本地生成了自己的公钥-私钥对PB, SB)。同时,他拥有爱丽丝的公钥(PA)。
  • 窃听者夏娃:夏娃也拥有自己的密钥对,并且她知道爱丽丝和鲍勃的公钥(PAPB),但她不知道任何人的私钥。

核心概念是:加密使用公钥,解密使用对应的私钥。每个人都公开自己的公钥,并严格保密自己的私钥。

使用公钥加密实现保密性

现在,假设爱丽丝想发送一条秘密消息 M(例如信用卡号)给鲍勃。她可以采取以下步骤:

  1. 爱丽丝使用鲍勃的公钥PB)对消息 M 进行加密。
    • 加密操作:C = Encrypt(M, PB)
  2. 加密后的密文 C 通过网络发送给鲍勃。
  3. 鲍勃收到密文 C 后,使用他自己的私钥SB)进行解密。
    • 解密操作:M = Decrypt(C, SB)

由于只有鲍勃拥有与公钥 PB 配对的私钥 SB,因此只有他能成功解密并读取原始消息 M

以下是这个过程的关键点分析:

  • 保密性:即使窃听者夏娃截获了密文 C,并且她知道这是用鲍勃的公钥 PB 加密的,她也无法解密,因为她没有鲍勃的私钥 SB。因此,消息的保密性得到了保证。
  • 认证性:然而,鲍勃能确定这条消息确实来自爱丽丝吗?不能。因为鲍勃的公钥 PB 是公开的,任何人都可以用它来加密一条消息并发送给鲍勃。夏娃完全可以冒充爱丽丝,用 PB 加密一条假消息发给鲍勃。因此,这个方案不提供身份认证

总结与过渡

本节课中我们一起学习了如何使用公钥加密来实现消息的保密传输。其核心流程是:发送方使用接收方的公钥加密,接收方使用自己的私钥解密。这种方法能有效防止窃听,确保只有预期的接收者能阅读消息。

但是,我们也发现了一个重要缺陷:它无法验证发送者的身份。任何知道接收者公钥的人都可以加密消息,接收者无法区分消息是来自可信的发送者还是冒充者。

在传统的对称密码学中,我们通常能同时获得保密性和认证性。而目前这个简单的公钥加密方案只实现了前者,失去了后者。这显然不是我们想要的完整安全解决方案。

那么,如何解决这个问题呢?我们能否在使用公钥密码学时,同时确保消息的保密性和发送者的认证性?答案将在下一节课中揭晓。

082:公钥数字签名

概述

在本节课中,我们将要学习公钥密码学中的数字签名概念。我们将回顾使用公钥加密实现保密性的方法,并探讨如何通过使用私钥加密来实现身份认证。最后,我们会发现单独使用这两种方法都存在不足,为下一讲中学习如何将它们结合起来奠定基础。

回顾:使用公钥加密实现保密性

上一节我们介绍了如何使用公钥密码学从爱丽丝向鲍勃发送秘密消息。其核心思想是使用接收方的公钥进行加密。

以下是该过程的简化描述:

  1. 爱丽丝拥有鲍勃的公钥。
  2. 爱丽丝用鲍勃的公钥加密消息 M
  3. 加密后的消息发送给鲍勃。
  4. 只有拥有对应私钥的鲍勃才能解密并阅读该消息。

这种方法确保了保密性,因为即使窃听者伊芙截获了消息,由于她没有鲍勃的私钥,也无法解密内容。

然而,这种方法存在一个缺陷:鲍勃无法确认消息是否真的来自爱丽丝。伊芙可以冒充爱丽丝发送消息,因为鲍勃的公钥是公开的。因此,我们缺乏身份认证

使用私钥加密实现认证

为了解决认证问题,本节中我们来看看另一种方法:使用发送方自己的私钥进行加密。在网络安全中,使用自己的私钥处理数据的行为,我们称之为数字签名

其过程如下:

  1. 爱丽丝拥有自己的私钥。
  2. 爱丽丝用自己的私钥加密消息 M
  3. 加密后的消息(即数字签名)发送给鲍勃。
  4. 鲍勃使用爱丽丝的公钥解密该消息。

由于只有爱丽丝拥有她的私钥,所以能用爱丽丝公钥成功解密的消息,必然是由爱丽丝的私钥加密的。这证明了消息确实来自爱丽丝,从而实现了身份认证

但是,这里出现了一个新问题:伊芙也拥有爱丽丝的公钥。因此,当爱丽丝发送用自己私钥签名的消息时,伊芙同样可以用爱丽丝的公钥解密并阅读消息内容。这意味着我们失去了保密性

对比与核心问题

至此,我们分析了两种基本方案:

  • 方案A(用接收方公钥加密):提供保密性,但缺乏认证。
  • 方案B(用发送方私钥签名):提供认证,但缺乏保密性。

这两种情况都缺失了网络安全中至关重要的属性。我们如何才能同时获得保密性和认证呢?

在揭示答案之前,让我们思考一个补充情况:使用自己的公钥加密。理论上,这样做只有你自己能解密,可用于在不可信的存储(如云端)上加密保存自己的敏感数据。然而,在公钥密码学的典型通信场景中,两个最重要的基础操作仍然是:

  1. 使用接收方的公钥加密,以实现指向特定接收者的保密通信。
  2. 使用自己的私钥签名,以便让接收者能确认发送者的身份。

总结

本节课中我们一起学习了公钥数字签名的基本原理。我们回顾了使用接收方公钥加密来实现消息保密,并探讨了使用发送方私钥签名来实现身份认证。我们发现,这两种独立的协议各自只能满足一个安全需求。在下一讲中,我们将看到如何将这两个重要的基础模块组合起来,构建一个能同时提供保密性和认证性的完整协议。

083:加密消息交换 🔐

在本节课中,我们将学习迪菲-赫尔曼密钥交换协议。我们将探讨该协议如何解决同时实现保密性认证性的难题,并了解其出现的历史背景与重要意义。

密码学与榜样人物

上一节我们讨论了加密的基本目标。在深入协议细节前,有必要了解密码学领域的杰出贡献者。

密码学协议充满趣味,如同解决分布式系统中如何确保特定属性的谜题。迪菲和赫尔曼正是该领域的典范人物。他们是网络安全的真正英雄,其贡献改变了世界,为人却谦逊质朴。对于有志于密码学的学习者而言,他们是值得研究的优秀榜样。

保密与认证的双重挑战

我们已知,使用公钥加密可以实现保密性,而使用私钥签名可以实现认证性。但之前的方案无法同时达成这两个目标。

迪菲和赫尔曼提出了一个直观的解决方案:双重加密

以下是实现保密与认证的步骤:

  1. 签名:发送方先用自己的私钥对消息 M 进行加密(即签名)。得到结果:Sign(M) = Encrypt_private_sender(M)
  2. 加密:然后将签名后的结果,再用接收方的公钥进行加密。得到最终密文:Ciphertext = Encrypt_public_recipient(Sign(M))
  3. 发送:将此密文发送给接收方。
  4. 解密与验证:接收方收到后,先用自己的私钥解密,得到签名后的消息 Sign(M),再用发送方的公钥解密验证,最终获得原始消息 M

这个过程可以概括为公式:
C = E_public_B( E_private_A( M ) )
M = D_public_A( D_private_B( C ) )

其中 E 代表加密,D 代表解密。

遗留的效率问题

然而,上述方案仍有一个关键缺陷:效率。在20世纪70年代,RSA等非对称加密算法涉及对大素数(例如上百位的十进制数)的运算,计算量巨大。这对于加密一个大型文件来说,速度太慢,不具备实用性。

那么,如何才能在保证安全的同时,兼顾加密解密的效率呢?

一个引人深思的问题

在结束本节前,请思考一个问题:这个方案在事后看来如此明显,为何在数千年的人类通信史中,直到20世纪70年代才由迪菲和赫尔曼提出?长久以来,人们普遍认为要实现安全的密钥交换,必须依赖一个可信的密钥分发中心。迪菲-赫尔曼密钥交换打破了这个固有认知,并因此获得了计算机科学最高奖——图灵奖。我们将在下一讲中揭晓他们是如何最终解决这个效率难题的。

本节总结

本节课我们一起学习了迪菲-赫尔曼提出的通过双重加密实现保密性认证性的基本思想,了解了其历史意义,也指出了该方案在早期面临的计算效率挑战。下一节,我们将探讨他们如何完善这一协议,使其变得实用。

084:Diffie-Hellman密钥交换 🔑

在本节课中,我们将要学习一个被称为Diffie-Hellman密钥交换的协议。这个协议是网络安全领域对计算机科学最杰出的贡献之一,它奠定了当今互联网上许多安全通信的基础。我们将从抽象概念入手,逐步理解其背后的数学原理和运作机制。

协议的重要性与背景

上一节我们介绍了公钥密码学的基本概念。本节中我们来看看一个具体且至关重要的协议。Diffie-Hellman密钥交换协议因其革命性的思想,其发明者Whitfield Diffie和Martin Hellman获得了计算机科学界的最高荣誉——图灵奖。这个协议巧妙地运用了数学原理,使得通信双方能够在公开的信道上协商出一个共享的密钥,而窃听者无法计算出这个密钥。

核心目标与设计理念

Diffie-Hellman密钥交换的核心目标是:让通信双方(例如Alice和Bob)能够在不安全的信道上,共同生成一个只有他们俩知道的秘密密钥,而窃听者(Eve)即使监听到所有交换的信息,也无法推算出这个密钥。

它的设计遵循了我们之前讨论的所有密码学理念:

  • 我们乐于分享公开信息。
  • 我们生成并严格保密私有信息。
  • 我们使用的函数正向计算容易,但逆向求解极其困难。

协议运作的抽象理解

在深入数学细节之前,我们先从抽象层面理解其工作原理。回忆一下非对称加密的特性:

  • 用接收者的公钥加密信息,可保证机密性
  • 用发送者的私钥加密信息,可保证认证性
  • 如果同时使用发送者的私钥和接收者的公钥进行加密,就能同时获得机密性认证性

正是这种组合使用的思想,启发了Diffie和Hellman设计出他们巧妙的数学方法。

Diffie-Hellman密钥交换的数学过程

理解了抽象目标后,现在我们来看看具体的数学实现。整个过程可以分为几个清晰的步骤。

以下是协议的具体步骤:

  1. 公开参数协商
    Alice和Bob首先公开协商两个数字:一个生成元 g 和一个大素数 p(作为模数)。例如,g = 5, p = 17。这些是公开信息,即使被Eve知道也没关系。

  2. 生成私有值
    接着,Alice和Bob各自秘密地选择一个私有数字。

    • Alice选择私有值 a = 6
    • Bob选择私有值 b = 8
  3. 计算并交换公开值
    双方用公开参数和自己的私有值计算一个公开值,并发送给对方。

    • Alice计算:A = g^a mod p = 5^6 mod 17,然后将结果 A 发送给Bob。
    • Bob计算:B = g^b mod p = 5^8 mod 17,然后将结果 B 发送给Alice。
  4. 计算共享密钥
    收到对方的公开值后,双方用自己的私有值进行计算。

    • Alice计算共享密钥:s = B^a mod p = (5^8)^6 mod 17
    • Bob计算共享密钥:s = A^b mod p = (5^6)^8 mod 17

根据模幂运算的结合律,(5^8)^6 mod 17 等于 (5^6)^8 mod 17,也等于 5^(8*6) mod 17。因此,Alice和Bob计算得到了同一个数字,这就是他们的共享秘密密钥。而Eve只知道 g=5, p=17, AB,在不知道 ab 的情况下,无法有效计算出 s

安全性与实际应用

这个示例使用了很小的数字以便理解。在实际应用中,gpab 都是非常大的数字(通常数百位长),使得通过暴力尝试破解私有值 ab 在计算上不可行。这种基于离散对数问题的困难性,构成了协议的安全基础。

Diffie-Hellman密钥交换是许多现代安全协议(如TLS/SSL、IPsec、SSH)的基石,它使得每次会话都能生成一个独一无二的临时密钥,极大地增强了通信安全。

总结

本节课中我们一起学习了Diffie-Hellman密钥交换协议。我们从其获得图灵奖的重要性讲起,明确了协议让双方在公开信道生成共享密钥的核心目标。我们首先从公钥密码学的组合使用获得启发,理解了协议的抽象思想。然后,我们一步步剖析了其数学过程:从公开协商参数,到各自生成私有值并计算交换公开值,最终双方独立计算出相同的共享密钥。这个协议完美体现了“正向计算容易,逆向求解困难”的密码学原则,是网络安全学习中必须理解和欣赏的经典之作。

085:密钥分发与认证机构 🔑

在本节课中,我们将探讨一个在公钥密码学中至关重要的问题:如何安全地分发公钥。我们之前学习了Diffie-Hellman密钥交换算法,它改变了世界,但存在一个尚未解决的挑战。本节将介绍这个挑战以及业界提出的解决方案——认证机构。

上一节我们介绍了Diffie-Hellman密钥交换算法,本节中我们来看看其面临的一个核心问题。

公钥分发的挑战

Diffie-Hellman密钥交换算法是一个伟大的发明,但它存在一个问题。我们尚未说明如何安全地获取对方的公钥。我们假设可以将公钥存放在某个目录中,但在实际应用中,例如在亚马逊购物时,用户并不会去查找其公钥。因此,必须存在其他机制。

几种不可行的方案

以下是两种早期设想的方案,但它们都存在局限性。

  1. 手动分发:例如,使用OpenPGP等工具与朋友交换密钥时,可以举办线下密钥交换聚会。这种方法适用于小范围,但无法扩展到大规模应用,尤其不适用于在线商店。
  2. 公共目录:用户可以生成密钥对后将其发布到公共目录,一些工具(如PGP)支持此功能。甚至可以将密钥哈希值印在信用卡上作为索引。这种方法尚可,但仍不适用于商业场景。

认证机构的引入

鉴于上述方案均不理想,业界提出了一个新的概念:认证机构

认证机构作为可信的第三方加入通信过程。你可能会问,我们之前不是想摆脱密钥分发中心这类第三方吗?现在为何又要引入认证机构?实际上,认证机构主要在基础设施层面执行少量管理工作。为了在商业等场景中使用密码学,我们接受这种必要的基础设施工作,并尽量减少客户端的负担。这个过程在业内通常被称为“为服务器签名”。

认证机构是一个活跃的实体,拥有自己的公私钥对。它的核心作用是“担保”或“签署”证书。当用户请求某实体的公钥时,该实体不会直接发送公钥(这容易被伪造),而是发送一份由认证机构签署的证书。接收方则需要通过协议来验证该证书的真实性。

证书签发流程

以下是服务器从认证机构获取证书的基本步骤。

  1. 服务器向认证机构发送其名称和本地生成的公钥,请求认证机构将其绑定并签署到证书中。
  2. 认证机构根据不同的“保证级别”进行验证:
    • 低级保证:仅验证与域名关联的电子邮件地址。这通常费用较低。
    • 中级保证:要求进行额外的身份验证,例如双因素认证,以提高身份真实性。
    • 高级保证:要求本人亲自到场并提供身份凭证进行验证,这是保证级别最高的方式。
  3. 服务器获得证书后,将其部署在服务器上,即可启用SSL(安全套接层)协议。

SSL/TLS握手与证书使用

理解了上述设置,SSL/TLS的工作流程就变得清晰。以下是其核心步骤。

  1. 客户端访问网站(例如一个卖运动鞋的网站)并希望建立安全连接。
  2. 服务器向客户端提供其证书。该证书遵循X.509标准,包含序列号、有效期、签发者信息等,但最关键的是包含了网站的公钥网站的名称,并且整个证书由认证机构的私钥进行了数字签名
  3. 客户端需要验证此证书。为此,客户端必须获取并信任签发该证书的认证机构的公钥。只有用认证机构的公钥成功验证了签名,客户端才能确信证书中的公钥确实属于所访问的网站。
  4. 验证通过后,客户端即可使用该公钥加密敏感信息(如信用卡号)并发送给服务器。

认证机构的经济驱动

在计算领域,人们做事的动机通常有两种:一是追求声誉或贡献等非金钱回报;二是经济利益。两者都合理。Diffie-Hellman等学术成果主要源于前者。然而,你将在下一讲看到,解决上述公钥分发和验证问题的最终方案及其实现,其首要驱动力恰恰是经济学,并且与互联网的发展方式紧密结合。

知识检验

以下是一个关于认证机构的小测验。

  • A. 这是一门糟糕的生意。
  • B. 这是一门相当不错的生意。
  • C. 主要通过移动设备完成。
  • D. 不安全。

答案是B。认证机构业务实际上相当不错,全球有众多公司从事此项业务。虽然我们倾向于选择大型、权威且可用的认证机构,但市场上既存在大型机构,也存在小型机构。其安全性取决于不同的保证级别,而非 inherently insecure。

本节课中我们一起学习了公钥分发面临的挑战,并深入了解了认证机构作为解决方案的工作原理、证书签发流程以及在SSL/TLS协议中的应用。认证机构通过引入可信第三方并利用数字签名,为互联网上的安全通信建立了信任基石。在下一讲中,我们将探讨这个公钥问题最终是如何被一个你可能听说过的人物以一种非常有趣的方式解决的。

网络安全入门:P86:安全套接层 (SSL) 与证书颁发机构 (CA)

在本节课中,我们将学习安全套接层 (SSL) 如何解决从证书颁发机构 (CA) 获取公钥以验证网站证书的核心问题。我们将了解这一机制如何成为现代安全电子商务的基石。


你刚刚从“我们在网上卖超酷运动鞋公司”收到了一个证书。该证书包含了该网站的公钥,你可以使用这个公钥来安全地发送信用卡信息。但是,为了获取这个公钥,你需要用签署该证书的 CA 的公钥来解密证书。

这个问题的解决方案非常巧妙,它由 90 年代一家名为网景 (Netscape) 的初创公司发明。网景团队的想法对电子商务做出了巨大贡献。事实上,没有这个想法,就不会有亚马逊等在线销售平台。

以下是马克·安德森团队提出的方案。他们说,你的浏览器需要拥有那个 CA 的公钥。因为如果浏览器有了 CA 的公钥,就可以解密证书。但他们不希望用户自己去获取公钥。

他们的解决方案既简单又优雅。既然每个人都必须下载浏览器,那么就将 CA 的公钥直接“烧录”到浏览器中。你下载浏览器时,浏览器就已经内置了所有 CA 的公钥。这是通过浏览器公司与 CA 之间预先安排好的协议实现的。

因此,只要你信任从网景、微软或谷歌等公司下载的浏览器,你就信任了其中内置的、经过验证的 CA 公钥列表。这是一个闭环系统。

你的妈妈、朋友或任何想在网上购物的人,只需下载一个浏览器并使用它。浏览器里已经有了 CA 的公钥。当你访问“我们在网上卖超酷运动鞋.com”并想购买商品时,网站会发送给你一个证书。该证书包含网站的公钥,并由某个 CA 签名。

你的浏览器会进行查找,确认这是一个有效的 CA,并使用内置的该 CA 的公钥解密证书,从而获得网站的公钥。然后,你就可以安全地发送信用卡信息了。这就是我们今天所生活的世界得以实现的方式。

这就是为什么你无需做任何额外操作,就能在互联网上安全购物的原因。它就像魔法一样。

现在,对于一些有更多经验并正在思考这个过程的你,可能会产生疑问:如何知道 CA 是有效的?如何知道他们与浏览器公司的合作是可靠的?你的疑问是正确的,这个机制确实存在一些细微的漏洞。

但总体而言,这个系统从毫无保障的状态,发展到了提供相当可靠的保障。你必须承认,这是一个闭环系统,它为我提供了一种无需四处寻找密钥、搜索目录或向他人索要公钥,就能将信用卡信息安全发送给你的方法。

只要我下载了浏览器,我就拥有了所需的一切。我不需要成为技术人员,不需要参加密钥交换聚会,也不需要成为极客就能完成在互联网上看到的各种操作。

对比一下电子邮件安全。我敢打赌,正在观看视频的你我,如果不做大量工作,是无法互相发送安全邮件的,因为相应的基础设施并不存在。

但是,如果你建立了一个网站并获得了证书,那么我就可以从你那里购买东西,而我们无需见面,我也不需要知道你是谁。我们可以使用标准协议来完成交易。

为什么安全商务已经运作成熟,而电子邮件安全却没有?我认为这只是因为安全商务的商业模式更好。这就是原因。作为一个技术专家,你需要理解这一点。拥有伟大的技术固然重要,但运气、商业模式、在正确的时间做正确的事以及从商业角度理解你所做的事情,可能同样重要。

我们应该给予马克·安德森和他的团队很多赞誉。他们在网景公司围绕安全套接层所做的贡献,是网络安全领域的伟大贡献之一。


本节课我们一起学习了 SSL 如何通过将 CA 公钥内置到浏览器中的巧妙设计,解决了网站证书验证和公钥获取的难题,从而奠定了现代安全电子商务的基础。这个闭环系统使得普通用户无需任何技术背景就能安全地进行在线交易。

087:James Ellis与Clifford Cox的故事 🔐

在本节课中,我们将了解一段关于公钥密码学起源的重要历史。这段故事的主角并非广为人知的Diffie和Hellman,而是两位英国工程师——James Ellis和Clifford Cocks。他们的工作因保密而长期不为人知,但他们对现代密码学的贡献同样至关重要。

背景:1960年代的密码学挑战

上一节我们介绍了公钥密码学的基本概念。本节中,我们来看看这个想法最初是如何诞生的。

故事始于1960年代的英国。当时,一位名叫James Ellis的工程师在英国政府通信总部(GCHQ)工作。GCHQ是类似于美国国家安全局(NSA)的密码学机构。James Ellis被分配了一个问题:如何解决传统密码学中密钥分发难以扩展的难题。

James Ellis的突破:非秘密加密

James Ellis在很短的时间内就提出了一个解决方案。他撰写了一篇名为《非秘密加密》的简短论文。以下是其核心思想:

  • 核心概念:他提出使用两个密钥,而非一个。一个公钥可以公开给所有人,另一个私钥则由个人秘密保管。
  • 加密与解密关系:用公钥加密的信息,只能用对应的私钥解密。这实质上勾勒出了后来Diffie-Hellman密钥交换方案的雏形。

他的同事们,包括Fred Williamson等人,审阅了这篇论文并确认其理论上的可行性。然而,这个想法在当时面临两个主要障碍:第一,这项研究被列为机密,无法对外公开;第二,1960年代末的计算机速度太慢,缺乏一个能实现该想法的具体算法

Clifford Cocks的贡献:RSA算法的雏形

几年后,一位名叫Clifford Cocks的数学家加入了GCHQ。他遇到了James Ellis,并听说了这个“非秘密加密”的想法。

Clifford Cocks刚刚完成数论领域的研究生学业。他立刻意识到,可以利用素数理论来实现这个构想。以下是他的核心思路:

  • 核心概念:将两个大素数相乘得到一个合数。这个合数可以作为公钥的一部分,而那两个原始的素数则作为私钥。
  • 公式描述公钥 N = p * q,其中 pq 是两个大素数。私钥就是 pq 本身。

这几乎就是后来RSA算法的核心原理。然而,由于他们的工作性质,这项突破性的发现依然被严格保密,外界无人知晓。

历史的巧合与迟来的认可

时间来到1979年,此时Diffie和Hellman已经公开发表了他们的论文并声名鹊起。在一次会议上,NSA局长Bobby Inman被问及Diffie-Hellman的工作是否会阻碍NSA的任务时,他笑着透露:“我们十年前就知道这个了。”

这句话引起了Diffie等人的注意。经过调查,他们发现了James Ellis和Clifford Cocks更早的工作。Diffie甚至专程飞往英国会见James Ellis。据报道,Ellis只是谦逊地说:“你们(对这项技术)的推动比我们可能做的要多。”

直到1990年代中期,GCHQ才正式解密了相关文件。遗憾的是,James Ellis在此之前已经去世,未能亲眼看到自己获得应有的荣誉。

总结与启示

本节课中,我们一起学习了James Ellis和Clifford Cocks在公钥密码学发展史上的关键角色。他们的故事告诉我们:

  1. 重要的创新可能诞生于任何地方,甚至早于其广为人知的时间。
  2. 理论与算法相辅相成:Ellis提出了革命性的概念模型,而Cocks则提供了基于数论的关键算法实现思路。
  3. 恪守职责与谦逊品格:尽管他们的工作被保密且未获得即时名誉,但他们展现了高度的职业操守。

尽管Diffie、Hellman、Rivest、Shamir和Adleman因其公开的工作而获得图灵奖和广泛赞誉,但我们同样应当铭记James Ellis、Clifford Cocks以及GCHQ团队在密码学历史上的 foundational(基础性)贡献。他们的工作为当今互联网的安全通信奠定了最早的理论基石。

088:工业控制系统安全访谈

概述

在本节课中,我们将通过纽约大学的一次访谈,探讨工业控制系统(OT)与信息技术(IT)融合所带来的独特网络安全挑战。我们将了解OT环境的特点、面临的安全威胁以及一种有效的防护思路。


嘉宾介绍 👨‍💻

大家好,我是埃德·阿莫罗索。本周,我与我的好友弗朗西斯·钱弗罗卡坐在一起。他是Bayshore Networks公司的董事长兼首席技术官。

弗朗西斯,欢迎你。

很高兴见到你,埃德。你觉得坐在这里怎么样?我觉得棒极了。就像两个老朋友坐在这里聊天。我们接下来可以拿出扑克牌,一边打牌一边讨论网络安全。打牌和网络安全联系非常紧密,我们都知道这一点,有文献专门论述这个。

请你向我们的社区简单介绍一下你自己,谈谈你的背景。

谢谢。我是一名软件工程师,从职业和性格上来说都是软件开发人员,但我进入这个领域的方式有些不同寻常。我的背景比较多元。我一直觉得并观察到,最具创造力、最高效的软件人才往往都有些与众不同。我上过音乐学院,有音乐学院背景。有趣的是,我们现在在纽约大学坦登工程学院,这是一所职业学院,有很多年轻人在早期就做出了职业选择,他们来这里学习一门相当深奥的手艺。这和我当年去音乐学院的感觉很像,所以我在这里感到很自在。当然,这些年轻人充满活力,他们将创造出我们下一代伟大的事物,这非常棒。

我从小就对电子学着迷,后来我明白那属于电气工程。我很早就开始接触,并学会了如何搭建数字逻辑电路。说起来,你我年纪都够大了,对吧?你厨房里可能还有过ARPANET的接入点。我曾用声耦合器在分时系统上为DEC PDP-11编程。我敢肯定,我们所有年轻的听众都听腻了我们这些老家伙的故事。至少我还没老到在IBM 360上用穿孔卡片编程的程度,我比那要年轻一些。

但我发现,学习电子学很棒,因为它能给你一种物理上的感觉。如果你理解电子如何移动、电荷如何移动,那么当你接触计算机时,我们编程的方式就是其物理现实的体现。所以,在我年轻时,在做了所有这些现在孩子们用树莓派和Arduino很容易就能做的业余电子工作之后,我第一次学习了汇编语言。我当时想:“哦,明白了,那是一个移位寄存器,我懂它是怎么工作的。”CPU汇编语言中的每一个小结构都直接对应着某个相当离散的硬件部件。如果你理解硬件,编程就变得完全合理了。

后来,我学习了C语言。你的好朋友布莱恩·柯尼汉编写了C语言,我是通过K&R那本书学习的,我认为那是任何计算机科学文献中的瑰宝之一。当我第一次学习C语言时,我想:“哇,这么高级的语言,用起来一定很容易吧?”所以,这个背景真的非常有用。


IT与OT的融合与安全挑战 ⚙️🔗💻

让我们直接深入谈谈Bayshore Networks的价值主张。你们所做的工作,正是在电子和机电设备与计算机接触的接口处。那里可能会出现一些非常重大的安全威胁。请谈谈那个接口,它似乎很重要。

是的,而且这实际上是相对较新的领域。当然,当我们谈论工业生产时,比如制造汽车、生产汽油、发电、运输、运营航空公司、调度飞机……所有这些需要改变物理世界、转移能量、移动原子的工业活动,人们都知道怎么做。我认为我们现在正处于第三次工业革命,有人说网络是另一次工业革命,我同意。但在此之前还有几次。我们知道怎么做所有这些事。如果你去问负责汽车装配厂的人,他们会告诉你:“我们知道怎么做这个,安全对我们来说从来不是问题。”为什么?因为他们一直将网络隔离。

他们在那些网络中使用的自动化技术,非常像计算机网络,本质上是相同的东西,只是优化不同。有些东西不一样,但它仍然是IT,仍然是网线,相同的电压,相同的分组交换,相同的技术。但他们一直保持隔离,严格隔离,因此他们从来不需要考虑安全,他们考虑的是安全(Safety)。

那是他们最关心的事。他们指的是工业工程师、运营技术经理、负责为企业交付价值的工厂管理人员。很好。

但就像其他一切一样,过去十年发生了一场革命,主要是因为小型计算设备和计算的广泛分布。我们称之为数据科学的整个领域,通过处理信息来产生商业价值、商业洞察、流程改进和成本节约,这对亚马逊和你以前的公司AT&T这样的企业来说效果非常好。

我们都知道并相信,如果能获取工业生产环境中的数据,就可以节省几分钱的燃料等等。我所说的IT与OT的融合,就是指将迄今为止一直隔离的生产环境连接起来。因为连接使用的是相同的网络,你将它们连接到IT侧的网络,或者互联网,或者客户和合作伙伴的网络。这非常有价值,非常值得做。但现在,你遇到了安全问题。


OT环境面临的威胁 🚨

威胁有哪些?是普遍存在的吗?像通常的黑客攻击、访问控制和拒绝服务攻击,这些都适用于OT环境吗?

我想再次强调,我很喜欢和你交谈,因为你是美国最顶尖的安全实践者之一,你在这个领域已经深耕多年,在贝尔实验室,然后是AT&T的首席安全官。是的,你和你的同事过去20年思考的所有问题都适用,但还有更多。

具体来说,运行工业设备的人首先面临的问题是,那些设备从未被加固,从未被设计成具有抵抗力。制造机器人、压力容器、工业设备、涡轮机、喷气发动机的人专注于功能,他们彼此竞争的是功能,而这些功能是通过电子方式实现的。因此,它们呈现出一个巨大的攻击面。通常,功能越多,加固程度就越低。

不,不。通常,功能越多,你做的事情就越多,这里的经济学很有趣。我们都习惯了操作系统甚至硬件中有很多安全加固的计算机。当你制造工业硬件时,你极度关注难以置信的可靠性。计算机如果出问题,你可以重启它。但像PLC这样的工业机器,你安装好后,期望它能完美运行20年,无论环境如何。因此,大量的物理工程投入到了这些设备中,以使它们高度可靠。

而这排除了加固的可能性,因为你没有经济条件,没有足够的资金和计算能力为它们添加任何加固措施。这说得通。

现在,你会听到网络安全专家说:“解决工业安全问题的办法是加固设备。”有很多很好的理由说明为什么这不会发生,这只是其中之一。


人员、设备与防护思路 🛡️

我听过人们说,我也把它当作安全领域的一句格言:人才是真正的问题。如果这是真的,那么你会说,天啊,工业环境应该很容易,因为那里是设备,没有人。你怎么看?

我是这么想的,你说得对。网络最大的漏洞,你比世界上任何人都清楚,确实来自于人,出于各种原因。比如他们点击了电子邮件中的错误链接,那就是坏人进入的途径。一旦进入,他们可以做各种不可思议的事情。

而IT空间和OT空间之间的融合边界通常是不受保护的。那里通常没有防火墙,尽管人们正在思考这个问题。针对你的观点,我认为需要做的是,你可以用机器来防范人带来的漏洞,这要直接得多。

在我们的工作中发现,像统计基线异常检测这类方法并不实用。这对很多人来说是违反直觉的,我们花了大量时间研究这个,我也有专利可以证明这一点,但它们不那么实用。有一种更简单的方法。

如果你想想工业机器,它们在功能上是相当隔离的。不像你把两个软件放在一台电脑里,它们会以产生问题的方式交互。工业机器相当隔离。我们喜欢做的是考虑事务白名单

在IT世界(我称之为铺着地毯的空间)和机器所在的混凝土地面空间之间的边界上,我只想以一种高层次的方式检查流量,检查协议语义和事务,并允许或白名单列出该流程运行所需的特定事务集,基本上阻止其他一切。

如果你思考一下,这是一种类似于防火墙的技术,但它需要更多的语义意识和内嵌的领域知识,基本原理是相同的。这对于具备必要领域知识的人来说并不难做。所以,我可以为汽车装配厂制定一个事务白名单,这将保护他们免受85%到95% 的威胁,剩下的我就不用担心了。


对灾难性威胁的评估 💥

我想问你,作为学习社区的一部分,我们花时间研究了威胁,并将其应用于不同类型的资产。我试图向整个社区阐明,有些威胁相当可怕。但让我问你,作为这个领域的专家,你认为想象黑客、民族国家、犯罪分子能对机电系统做出真正可怕的事情,比如让飞机坠毁、切断城市电力,这些非常可怕的事情,是合理的吗?我知道你和我都会指出小问题,但问题是,作为专家,你是否曾坐下来思考,这些灾难性的事情是否可能发生,是否会影响城市、社会、人民?

有趣的是,我们进行这次对话,正好是在WannaCry攻击发生几天后。那是一次勒索软件攻击,它通过一个被发现底下有巨大攻击面的入口传播。是的,通过电子邮件传播,利用了微软的漏洞。

使工业基础设施(我们称之为关键基础设施)以及工业生产系统与网络空间不同的是,横向攻击的入口非常有限。像WannaCry这样的攻击,可以在一个周末影响10万个组织,因为一旦渗透,横向链接是敞开的。这在工业世界中不存在,因为隔离和网络分段的传统依然存在。这会抑制连锁反应的爆炸性传播。这是答案的一部分。

另一部分是,一旦你进入某个特定的网络物理空间,你能发动的真正恶劣攻击的可用性,远比普通计算机高得多。这是一个更聚焦的问题,但一旦进入,它可能是危及生命的。绝对比闯入办公室并破坏他们的电脑更严重。

你可能在新闻中听说过,达拉斯市。显然,有人能够渗透龙卷风警报系统,影响了整个达拉斯市,凌晨两点所有警报狂响。这很可怕,因为它表明存在未被阻止的横向攻击潜力。但那是例外。你说得对,我真正担心的是,从未为远程访问设计的工业机器,如果存在漏洞,可以被利用。它们可能对安全、公共健康和环境产生巨大的影响。所以,这真的只是时间问题。

我再补充一点,几年前在Black Hat和Defcon有一个著名的漏洞演示,关于克莱斯勒。新闻也报道过。几个非常聪明的人发现,他们可以关闭车辆系统,并导致车辆在高速行驶时停止运行,这是灾难性的。有趣的是,作为尽职的白帽黑客,他们找到那个入口花了一天时间,但找到造成真正损害的漏洞却花了几个月。这很有趣,因为网络物理系统的功能方式是不透明的。

但你之前提到了民族国家,最有动力找出那些潜在破坏点的实体就是民族国家。这是一个巨大的攻击面,非常值得关注。


总结

本节课中,我们一起学习了工业控制系统安全的核心议题。我们了解到:

  1. IT与OT的融合:为了提高效率和获取数据洞察,原本隔离的工业网络正与IT网络连接,这引入了新的安全风险。
  2. OT环境的独特性:工业设备优先考虑可靠性与安全性,通常缺乏传统IT设备的安全加固,且设计寿命长达数十年。
  3. 主要安全威胁:威胁不仅包括常见的IT攻击手段,更关键的是针对物理过程的攻击可能造成安全、环境乃至生命危险。攻击入口可能通过IT网络横向移动获得。
  4. 有效的防护策略:由于加固所有设备不现实,一种有效的方法是实施事务白名单。即在IT与OT的网络边界,深度解析工业协议,只允许预先定义的、必要的操作指令通过,阻断其他所有流量。这需要深厚的领域知识。
  5. 风险认知:虽然大规模连锁攻击在隔离较好的OT环境中较难发生,但针对特定系统的精准攻击可能产生灾难性后果,这是国家安全层面关注的重大风险。

通过这次访谈,我们认识到保护工业基础设施需要结合对运营技术的深入理解与创新的网络安全方法。

089:实时网络安全导论 🛡️

在本节课中,我们将学习实时网络安全的基本概念、目标及其在实践中的重要性。我们将探讨如何通过监控网络活动、分析流量模式和数据包来检测和应对网络攻击。

课程概述

欢迎来到我们的实时网络安全课程。如果你曾参与过我们之前的课程,你会知道我们曾重点讨论预防性网络安全。预防性网络安全涉及设置技术、加密、认证等多种能力,旨在攻击发生前阻止它们。

然而,我们必须认识到,在实际环境中,网络攻击仍会发生。因此,本课程将聚焦于网络安全的另一个分支——实时网络安全。我们将重点介绍监控活动、观察流量模式、基于数据包或会话进行分析,以及处理客户端到服务器请求的技术。我相信你会从中获得乐趣。

课程核心目标

本课程有三个主要目标:

  1. 介绍基本技术:向你介绍实时网络安全的基本技术和概念。
  2. 实践演示:在实际环境中演示这些技术的应用。
  3. 激发职业兴趣:希望激发你投身于这一领域的职业兴趣。

你会发现,许多公司、政府机构以及军队都对实时网络安全能力非常感兴趣。如果你从这些讲座中获得启发,或许会促使你开启实时网络安全的职业生涯。

总结

本节课我们一起学习了实时网络安全的核心目标及其重要性。我们了解到,除了预防措施,实时监控和响应是应对不可避免的网络攻击的关键。接下来,我们将深入探讨具体的监控技术和分析方法。

090:实时网络安全与TCP/IP基础

在本模块中,我们将深入探讨实时网络安全。要理解这个领域,必须对TCP/IP协议及其相关的安全问题有所了解。这与许多同学可能熟悉的密码学内容有所不同,但同样充满趣味。

为了辅助你的学习,本模块推荐了一些阅读材料和视频资源。

以下是推荐的论文与书籍:

  • 论文一:《网络防火墙》。作者是Steve Bellovin和Bill Cheswick。这篇论文前瞻性地探讨了许多如今在云操作系统中常见的虚拟安全和防火墙设备概念,对于理解分布式安全很有帮助。
  • 论文二:《TCP/IP网络攻击导论》。作者是爱荷华州立大学的Guang。这是一份关于TCP/IP网络攻击的优质综述,内容扎实全面。

以下是推荐的扩展阅读书籍:

  • 电子书:《从CIA到APT:网络安全导论》。作者是我本人和我的儿子Matt。你可以在亚马逊下载。学习本模块时,参考第17章和第18章会很有益处。
  • 参考书:一本扎实的TCP/IP书籍。我推荐Richard Stevens的《TCP/IP详解 卷1》。如果你选择这本书,可以重点阅读第17章和第18章。这类书籍应该作为你的常备参考资料。

在视频资源方面,推荐观看YouTube上“Eli the Computer Guy”制作的关于“黑客DNS”的视频。他的内容更偏重实践,风格诙谐,与本模块的一些深度学术内容形成互补,相信能增强你的学习效果。


本节课中,我们一起学习了本模块的学习目标——实时网络安全,并了解了与之相关的TCP/IP背景知识。同时,我们也介绍了一系列辅助学习的论文、书籍和视频资源,为后续的深入探讨做好准备。

091:通过隐匿实现安全 🔒

在本节课中,我们将探讨网络安全领域一个广为人知但常被误解的概念——“通过隐匿实现安全”。我们将分析其含义,并对比开源软件与专有软件在安全层面的不同表现。


上一节我们介绍了网络安全中的一些普遍观念,本节中我们来看看“通过隐匿实现安全”这一具体概念。在密码学社区,通过隐匿实现安全意味着试图通过隐藏加密算法本身来增强安全性,寄希望于攻击者无法发现它。然而,在当今世界,保密几乎是不可能的。因此,理想的安全方案应建立在即使对手完全知晓你的方法,系统依然安全的基础上,这与“通过隐匿实现安全”的理念相反。

然而,当我们将这一概念应用于软件时,情况会变得更加微妙。软件主要分为两种类型。

以下是两种主要软件类型的介绍:

  • 开源软件:代码公开,社区共同审查代码。通常有相应的规则,例如修改后需要分享。其核心在于代码可见、可知。
  • 专有软件:软件供应商出于商业决策,将源代码保密。

那么,这在“通过隐匿实现安全”的语境下意味着什么呢?让我们通过一个图表来分析。

图表显示,对于开源代码,发布后会受到广泛审查。已知漏洞的强度会随着审查增加而上升,达到一个峰值。但随后,修复漏洞的速度会超过发现新漏洞的速度。经过长期、彻底的社区审查(例如经历了数十年的Unix系统),代码会变得非常健壮和安全。

相比之下,专有代码在发布时是保密的,其内核和源代码不可见。因此,其已知漏洞强度曲线通常较为平坦。只要代码保持隐匿,就不会经历密集的审查期,这意味着大量潜在问题可能未被发现。

这说明了什么?如果同一段代码分别以开源和专有形式起步,它们将走上不同的道路。专有代码中可能嵌藏着一系列尚未被察觉的潜在问题,因为根本没人仔细检查过它。

因此,开源的优势在于最终能达到一个相当安全的状态,劣势是过程可能颠簸。专有软件的优势则是在整个生命周期内,有较大可能将风险维持在某个可接受的阈值之下。

为了检验理解,这里有一个小测验:如果微软某天突然决定将Windows操作系统开源,短期内最可能发生什么?

以下是选项:

  • A. 安全性立即显著提升。
  • B. 短期内会发现大量漏洞,导致问题激增。
  • C. 安全状况基本保持不变。

答案显然是B。我们将看到开源化带来的典型峰值,这可能会给业务带来很多问题。虽然长期来看情况可能会好转,但过程会相当坎坷。所以,希望微软永远不会某天醒来就决定开源Windows,否则我们都会看到不少问题。


本节课中我们一起学习了“通过隐匿实现安全”的概念,并对比了开源与专有软件在安全演进路径上的根本差异。关键点在于:真正的安全应不依赖于保密,而开源通过透明和集体审查,虽过程曲折,但能导向更坚实的长远安全基础。

092:TCP/IP演变与安全 🔐

在本节课中,我们将要学习TCP/IP协议套件的历史演变,并探讨其广泛采用对网络安全带来的深远影响。我们将看到,技术的统一与标准化在推动互联互通的同时,也带来了新的安全挑战。

课程概述

TCP/IP是计算领域的通用语言,是整个互联网基础设施的驱动核心。理解TCP/IP对于学习网络安全至关重要。本节将从历史视角出发,分析从多种网络协议并存到TCP/IP一统天下的演变过程,并揭示这一变化如何从根本上改变了网络攻击与防御的格局。

TCP/IP:计算世界的通用语言 🌐

TCP/IP协议套件,我们常简称为IP或互联网协议,是计算领域真正的通用语言。我们的整个基础设施都运行在TCP/IP之上。如果你不理解TCP/IP,就需要深入学习和研究它。我们有一些推荐的阅读材料,你需要确保自己对TCP/IP非常熟悉。

历史的回顾:协议割裂的时代

上一节我们强调了TCP/IP的重要性,本节中我们来看看它的历史背景。将时钟拨回到20世纪90年代,那时的情况与今天截然不同。

当时,大多数企业、政府机构和其他运行网络的组织,使用的协议并非TCP/IP。事实上,一家名为Novell的公司有一款极其流行的产品叫NetWare,它使用一种名为IPX的协议。这个名字与IP非常相似,容易造成混淆,但它是完全不同的协议。

这意味着,在90年代,如果一家小公司运行着NetWare,它使用的就是与IP不同的协议。如果这家公司想要连接到互联网,就必须进行协议转换。因此,当时的网络架构通常是:一个局域网,连接着一个协议转换盒,然后再连接到另一个可能运行IP的局域网或互联网上。

这就像你开着一辆卡车,突然遇到一个障碍,前面变成了水域。如果你想继续前进,就必须从卡车换到船上。你可以想象,这个过程会很慢。当时缺乏良好的转换标准,而且显然无法实现互操作。

统一的代价:安全格局的剧变

从黑客攻击的角度来看,在那个协议割裂的时代,攻击者想要从一个局域网攻击互联网上的目标,并非简单地运行扫描、发现目标那么简单。各种协议不互操作的问题,在某种程度上会减缓黑客攻击的速度,当然也会减缓计算速度。

然而,自那以后,世界做出了一个决定:为什么我们要运行这些不互操作的东西?为什么不让我们的网络——无论是园区网、企业网、政府网络还是大型公共网络——都运行与公共基础设施相同的协议呢?

于是,TCP/IP成为了全球统一的标准。这一变化彻底消除了“卡车换船”的障碍,一切都变成了开放的高速公路。现在,一个典型的运行TCP/IP的局域网,连接的是一个路由器(而不再是意义不大的协议转换盒)。这个路由器很乐意根据你提供的信息,或者它被设定的规则,将数据包推送到任何指定的地方。

从黑客攻击的角度思考这意味着什么:突然间,一切都在攻击范围之内了。从你的有利位置,你可以看到互联网上的一切、商业网络中的一切等等。随着我们在本课程中的深入讨论,你会发现这催生了一种被称为“防火墙”的保护机制。防火墙有各种不同的形式和细微差别,但大体上,你可以将其视为放置在原来协议转换盒位置的一种安全设备。现在,我们只有路由器,因此我们必须学会在那里采取一些安全措施。

安全启示:多样性与统一性的权衡

这里有一个重要的启示:多样性实际上可能对安全有益

然而,如果你是一家公司的首席信息官(CIO),你希望降低成本,希望所有人都使用相同的工具,希望实现互操作,不希望有差异。你希望用同一套东西培训所有人。有些公司就是这样做的。例如在美国,有一家名为西南航空的公司,我相当确定他们只运行一种机型——波音737喷气式飞机。我常常思考,如果这种飞机被停飞会怎样?那将导致整个公司停飞。这是一个追求“非多样性”的商业决策,它降低了培训成本,一切都标准化。这可以理解。

但从安全工程师的角度,在进行设计时,你必须思考:是让一切都相同更好,还是让一些东西有所不同更好?这将是你作为工程师需要做出的决策。

知识测验

为了检验你的理解,这里有一个小测验:

问题: 提高互操作性对安全的主要影响是什么?

以下是可能的选项:

A. 它使安全变得无关紧要。
B. 它自动增强了安全性。
C. 它使安全更具挑战性。
D. 它对安全没有影响。

答案: C显然是正确答案。提高互操作性确实使安全更具挑战性。这是一个事实。这是基础设施决策与安全决策存在冲突的案例之一。

在你继续学习计算机安全的过程中,你会发现情况并非总是如此。例如,随着我们推进虚拟化和云计算(大多数首席信息安全官和首席信息官都喜欢这些技术),那些旨在提供更好计算体验的提议,往往也对安全更有利。因此,并非所有技术进步都与安全目标相悖。

但在互操作性与安全的关系上,我们必须承认:当我们让计算变得更容易时,我们也让攻击变得更容易了。让我们在网络安全的学习进程中牢记这一点。

课程总结

本节课中我们一起学习了TCP/IP协议套件从历史割裂到全球统一的发展历程。我们认识到,协议的标准化极大地促进了互联互通和计算效率,但同时也消除了攻击的地理和协议障碍,扩大了攻击面,使网络安全防御面临更大挑战。我们探讨了在技术设计中,统一性(利于互操作和成本)与多样性(可能利于安全)之间的永恒权衡。理解这一历史背景和根本矛盾,是构建有效网络安全策略的重要基础。

我们将在下一个视频中再见。

093:TCP/IP概述 🧠

在本节课中,我们将要学习TCP/IP协议的基础知识。TCP/IP是互联网通信的基石,理解其工作原理对于任何计算机科学、软件开发或网络安全领域的学习者都至关重要。本节将概述TCP/IP的核心概念,包括五元组和TCP三次握手过程。

五元组:定义网络流

上一节我们介绍了网络通信的基本概念,本节中我们来看看如何具体定义一个网络数据流。在TCP/IP协议中,一个数据流或会话可以通过一个称为“五元组”的概念来精确定义。五元组包含五个关键信息,它们共同标识了一个唯一的网络连接。

以下是构成五元组的五个要素:

  1. 源IP地址:发送数据包的设备的IP地址。这通常由互联网服务提供商(ISP)或网络管理员分配。
  2. 目的IP地址:接收数据包的设备的IP地址。同样由ISP或网络管理员分配。
  3. 源端口号:发送设备上发起通信的应用程序所使用的端口号。客户端程序(如网页浏览器)通常使用大于1023的临时端口,也称为“临时端口”。
  4. 目的端口号:接收设备上目标服务所使用的端口号。这些是“知名端口”,例如HTTP服务使用端口80
  5. 协议:所使用的传输层协议,通常是TCP(传输控制协议)或UDP(用户数据报协议)。

TCP三次握手:建立可靠连接

理解了如何标识一个连接后,我们来看看连接是如何建立的。TCP协议通过一个称为“三次握手”的过程来建立可靠的连接。这个过程确保了通信双方都准备好进行数据传输。

以下是TCP三次握手的三个步骤:

  1. SYN:客户端(Alice)向服务器(Bob)发送一个数据包,其中TCP头部的SYN(同步)标志位设置为1。这个包还包含一个客户端随机生成的初始序列号。
  2. SYN-ACK:服务器(Bob)收到SYN包后,回复一个数据包。这个包的SYNACK(确认)标志位均设置为1。它既确认了客户端的序列号,也包含了服务器自己随机生成的序列号。
  3. ACK:客户端(Alice)收到SYN-ACK包后,再向服务器发送一个ACK包,确认服务器的序列号。

完成这三次握手后,双方就成功建立了一个TCP连接,可以开始交换数据。理解这个握手过程对于网络安全工程师至关重要,因为许多网络攻击(如SYN洪水攻击)正是针对这一机制的弱点。

总结

本节课中我们一起学习了TCP/IP协议的两个核心基础。首先,我们了解了五元组,它通过源/目的IP地址、源/目的端口号和协议这五个元素唯一地定义了一个网络数据流。其次,我们探讨了TCP三次握手的过程,这是建立可靠网络连接的标准化方法。掌握这些概念是理解更复杂的网络通信和网络安全原理的必经之路。

094:IP欺骗

在本节课中,我们将要学习一个网络安全中的基础概念:IP欺骗。我们将通过一个生动的类比来理解其原理,并探讨它在互联网协议(IP)中的实现方式及其对网络安全产生的深远影响。

📮 一个关于信封的类比

为了帮助理解IP欺骗,我们先来看一个现实生活中的类比。

在20世纪70年代,美国有一本名为《偷这本书》的流行书籍。作者艾比·霍夫曼在书中描述了一个有趣的邮寄技巧。通常,寄信时你会在信封的右下角写上收件人地址(你母亲的地址),在左上角写上你自己的回邮地址,并贴上邮票。

然而,霍夫曼建议你可以这样做:在信封的“发件人”位置写上你母亲的地址,在“收件人”位置写上你自己的地址,并且不贴任何邮票。当你把这封信投递出去后,邮政系统会发现信件没有贴邮票。按照当时的规则,邮局会执行“退回寄件人”的操作。由于“寄件人”地址是你母亲的,这封信就会被免费送到你母亲手中,而不会退回到真实的你这里。

这个技巧的核心在于对信息来源(发件人地址)进行了欺骗。虽然现代邮政系统可能已经采取了措施来防止此类行为,但这个类比完美地解释了互联网上IP欺骗的基本思想。

🌐 IP欺骗的原理

上一节我们通过信封的类比理解了欺骗来源地址的概念。本节中我们来看看这在互联网协议(IP)中是如何实现的。

互联网的创始人之一鲍勃·卡恩等人在设计TCP/IP协议时做了一个关键决定:允许数据包的源IP地址被伪造。这与传统的电路交换电信网络不同,在那些网络中,端点的身份是明确且有意义的。

在IP网络中,每个数据包都包含一个头部,其中指明了源IP地址和目的IP地址。IP欺骗就是指发送方故意将数据包头部中的源IP地址字段设置为一个不属于自己的、虚假的IP地址

例如,你的真实IP地址是 10.10.11.12,但你可以在发送的数据包中,将源IP地址伪造成 192.1.2.3。当这个数据包到达目的地(比如一台服务器)时,服务器会认为这个数据包来自 192.1.2.3

以下是这个过程的一个简化表示:

# 真实发送方IP
real_source_ip = “10.10.11.12”
# 在数据包头部中伪造的源IP
spoofed_source_ip = “192.1.2.3”
# 发送的数据包
packet = create_packet(source=spoofed_source_ip, destination=server_ip)
send(packet)

⚠️ IP欺骗的影响与安全启示

理解了IP欺骗的原理后,我们来看看它为何对网络安全如此重要,并澄清一些常见的误解。

当服务器收到一个源IP被伪造的数据包(例如一个TCP连接请求的SYN包)并需要回复时(例如发送SYN-ACK包),它的回复会发送到那个伪造的地址(192.1.2.3),而不是真实的发送者(10.10.11.12)。这构成了许多网络攻击的基础。

这一点是互联网安全许多核心问题的基石,但围绕它也存在大量误解。例如,当发生一次分布式拒绝服务攻击时,监测数据可能显示海量的数据包似乎来自某个特定国家(比如漫画《呆伯特》作者虚构的“阿尔博尼亚”)。

一个合格的安全工程师必须明白:这很可能不是真实的攻击来源。攻击者通常不会傻到用自己的真实IP地址发动攻击。他们更可能入侵他人的计算机作为“肉鸡”,或者直接进行IP欺骗,将攻击流量伪装成来自其他网络或实体。

因此,我们必须时刻牢记:在互联网上,我们可以被欺骗,对方可以撒谎,可以伪造源IP地址。这种能力使得追踪攻击源头、划分责任和实施防御变得异常复杂。

📝 课程总结

本节课中我们一起学习了IP欺骗。我们从邮寄信封的类比入手,理解了欺骗信息来源的基本概念。随后,我们探讨了IP协议本身允许源地址被伪造这一设计决策,并通过简单的代码说明了其实现方式。最后,我们分析了IP欺骗对网络安全的深远影响,特别是它在混淆攻击来源、助长拒绝服务攻击等方面所起的作用,并纠正了关于攻击溯源的一个常见误解。理解IP欺骗是理解许多现代网络威胁的第一步。

095:TCP序列号攻击

在本节课中,我们将学习一种经典的互联网协议攻击——TCP序列号攻击。虽然这种攻击在现代网络环境中已基本失效,但它清晰地揭示了TCP/IP协议早期设计中的一些安全缺陷,对于我们理解网络安全的基本原理非常有帮助。

攻击背景与原理

上一节我们介绍了TCP/IP协议的基本概念,本节中我们来看看一个基于协议信任关系和序列号可预测性的历史性攻击。

这种攻击源于20世纪90年代,那是一个互联网协议攻击非常活跃的时期。当时,网络中存在一种基于IP地址的信任关系。由于早期互联网规模较小,管理员会直接信任特定IP地址的计算机,允许其无需额外认证即可建立连接。

攻击的核心思路是:如果攻击者(Alice)想连接目标服务器(Bob),但Bob不信任Alice。然而,Bob信任另一台主机(Bill)。那么,如果Alice能伪装成Bill与Bob建立TCP连接,她就能绕过认证。

攻击实施的关键弱点

要成功伪装,攻击者需要解决两个关键问题:一是伪造源IP地址,二是预测TCP连接的初始序列号(ISN)。

在早期,许多系统的TCP协议栈实现存在缺陷,其生成的初始序列号并非随机,而是遵循一个可预测的递增模式,例如每次增加一个固定值(如1000)。公式可以表示为:
下一个ISN = 当前ISN + 固定增量

同时,当时的网络边界缺乏防火墙等防护设备,任何主机都可以向服务器发送SYN包并收到SYN-ACK响应,这为探测序列号提供了可能。

攻击步骤详解

以下是攻击者凯文·米特尼克(Kevin Mitnick)曾使用过的经典攻击步骤,他选择在流量极低的圣诞夜对圣地亚哥超级计算中心服务器发起攻击。

  1. 序列号探测:攻击者(Alice)向目标服务器(Bob)多次发送SYN包。
  2. 观察模式:每次收到Bob返回的SYN-ACK包时,记录其中的初始序列号(如100, 200, 300...)。
  3. 确认规律:通过多次探测,确认序列号的递增规律(例如每次增加100)。
  4. 发起伪装攻击:预测出Bob下一次将使用的序列号(例如1100)。然后,伪造源IP地址为受信任主机(Bill),向Bob发送SYN包。
  5. 完成握手:当Bob向Bill的IP地址回复SYN-ACK包(携带预测的序列号1100)时,攻击者虽然收不到这个包,但她可以直接以Bill的身份,向Bob发送一个ACK包进行确认,其中包含正确预测的序列号1100+1。
  6. 建立连接:至此,TCP三次握手在Bob看来是与Bill完成的,攻击者成功建立了伪装连接,并可尝试执行后续命令。

现代防护与启示

这个攻击如今已很难奏效,主要原因有以下几点:

  • 随机化序列号:现代操作系统使用强随机数生成器来产生初始序列号,使其不可预测。
  • 废弃信任机制:基于IP地址的简单信任关系已被更安全的认证方式(如SSH密钥、VPN)取代。
  • 部署防火墙:网络边界普遍部署防火墙,可以过滤伪造IP地址的数据包。
  • 协议增强:采用了如SYN Cookie等机制来抵御洪水攻击。

尽管攻击本身过时了,但它给我们留下了深刻的启示:任何协议实现上的失误或设计上的弱点,都可能被攻击者敏锐地发现并加以利用,造成严重的安全后果。 它鼓励我们在学习TCP/IP时,多思考协议中可能存在的薄弱环节。

总结

本节课中我们一起学习了TCP序列号攻击的历史背景、原理和具体步骤。我们了解到,该攻击利用了早期TCP实现中序列号可预测性以及基于IP的信任模型这两个弱点。通过这个案例,我们认识到安全是一个持续的过程,需要严谨的实现、随机的算法和分层的防御。在思考任何协议时,都应从攻击者的视角审视其潜在风险。

096:数据包洪泛攻击详解 🚨

在本节课中,我们将学习一种常见的网络攻击方式——SYN洪泛攻击。我们将探讨其工作原理、两种主要的攻击模式,以及它们在实际网络环境中的影响和应对思路。


概述

SYN洪泛攻击是分布式拒绝服务攻击中的一种常见手段,它利用了TCP协议建立连接时的“三次握手”机制。理解这种攻击有助于我们认识网络安全的脆弱性。

上一节我们介绍了DDoS攻击的基本概念,本节中我们来看看其中一种基于TCP协议的具体攻击形式。


SYN洪泛攻击的原理

SYN洪泛攻击的核心是向目标服务器发送大量伪造的TCP连接请求(SYN包),消耗其资源,使其无法处理合法请求。

在TCP协议中,建立连接需要三个步骤,称为“三次握手”:

  1. 客户端发送SYN包。
  2. 服务器回应SYN-ACK包。
  3. 客户端发送ACK包。

攻击者通过持续发送第一步的SYN包,并不完成后续握手,使服务器维持大量“半开连接”,最终导致资源耗尽。


两种主要的攻击模式

根据攻击者是否隐藏自身IP地址,SYN洪泛攻击主要分为两种模式。以下是这两种模式的关键区别:

模式一:伪造源IP地址

在这种模式下,攻击者不愿意暴露自己的身份。他们发送的SYN数据包中,源IP地址是伪造的。

攻击流程如下:

  • 攻击者(IP:10.1.2.3)发送SYN包,但伪造成另一个IP地址(例如192.168.1.100)。
  • 目标服务器收到SYN包后,向伪造的IP地址(192.168.1.100)回复SYN-ACK包。
  • 由于该地址可能是另一台无辜的主机,或者根本不存在,连接无法建立,而服务器的资源被占用。

这种模式的优势在于攻击者自身不会收到服务器的回复,可以隐藏踪迹,甚至可能让回复流量去冲击另一个受害者(即伪造的IP地址所属的主机)。

模式二:使用真实源IP地址

在这种模式下,攻击者愿意暴露自己的源IP地址。他们使用真实的IP发起连接,并完成TCP三次握手,建立起真正的会话。

攻击流程如下:

  • 攻击者发送SYN包。
  • 服务器回复SYN-ACK包。
  • 攻击者回复ACK包,成功建立TCP连接
  • 建立连接后,攻击者可以开始进行应用层攻击,例如频繁登录、发送请求、下载大文件等,以消耗服务器带宽和处理能力。

这种模式通常更强大,因为它能进行更复杂的应用层攻击。但这意味着攻击源会被暴露。因此,这种攻击几乎总是通过僵尸网络进行。攻击者先入侵并控制全球各地的大量普通用户电脑(“肉鸡”),再指挥这些电脑发起攻击。


关于攻击源的常见误解

在公众媒体甚至技术人员中,对于拒绝服务攻击的来源存在一个普遍的误解:认为只要追溯并反击攻击流量的来源IP就能解决问题。

然而,当攻击来自僵尸网络时,这些暴露的IP地址属于已被入侵的无辜主机(例如某个家庭的个人电脑、甚至可能是儿童医院的服务器)。反击这些IP不仅无法制止攻击,反而会伤害无辜的第三方,并可能使情况恶化。

理解攻击背后的真实架构,是制定有效防御和响应策略的关键。


知识测验

基于以上内容,请思考:在伪造源IP的SYN洪泛攻击中,服务器发出的SYN-ACK响应包将去往何处?

答案分析:
服务器会将SYN-ACK包发送到攻击者数据包中伪造的源IP地址。这正是攻击者隐藏自身并可能祸水东引的关键。因此,攻击者自身不会收到这些回复包。


总结

本节课中我们一起学习了SYN洪泛攻击。我们了解了其利用TCP三次握手机制的原理,区分了伪造源IP使用真实IP(通常通过僵尸网络)两种主要模式,并澄清了关于攻击源头的常见误解。认识到攻击流量的来源可能是被利用的无辜系统,这对于形成正确的网络安全防御观至关重要。

097:数据包嗅探

在本节课中,我们将要学习一种基础的网络攻击方式——数据包嗅探。我们将了解其工作原理、它为何能成功,以及为什么现代网络通信的“原生”状态往往是脆弱的。

从“共享电话线”说起

上一节我们介绍了网络通信的基本概念,本节中我们来看看数据在局域网中是如何传播的。这让我想起多年前电话系统中的“共享电话线”。

共享电话线并非指举办派对的线路,而是一种社区共用电话的方式。当你拿起听筒时,可能会听到其他人的通话。所有人都可能属于一个大组,大家依靠礼貌和自觉来维持秩序:如果邻居正在通话,你就不会使用电话。这听起来可能有些不可思议,但它确实存在过。

以太网的工作原理

许多第二层或局域网协议的工作方式,都让我联想到共享电话线。第二层指的是传统OSI七层模型中的数据链路层。如果你还不了解OSI分层协议栈(从第1层到第7层),建议你花些时间研究一下,这对理解后续内容很有帮助。

无论如何,在第二层,有诸如以太网这样的协议。它们的设计方式总让我想起共享电话线。虽然更现代的版本对此有所改进,但以太网最初的设计大致如下:

想象我面前有一根很长的线缆,上面有许多连接点,分别连接到不同的计算机。假设我是一台计算机,我们都连接在这个以太网局域网上。

以下是以太网协议最初的设计工作方式:

  1. 一个被称为“帧”的实体被创建(这与第三层的“数据包”略有不同)。
  2. 这个帧被发送到线缆上。
  3. 它会到达第一个网络接口并询问:“你好,我是发给你的吗?”
  4. 接口另一端的计算机会回答:“不,不是给我的。”帧中有一个地址,我们称之为MAC地址。
  5. 帧会继续问下一个接口:“我是发给你的吗?”得到的回答是:“不,不是给我的。”
  6. 假设帧传到了我这里,而我是一个喜欢窥探一切的安全黑客。即使这个帧的地址不是我的,我也会说:“是的,你是发给我的。”我对所有帧都说“是”,这种行为就叫做嗅探

无线网络与安全风险

这种情况显然不理想。我相信你们很多人都有过这样的经历:在火车上或城镇的咖啡馆里,连接上Wi-Fi局域网。可能有人告诉过你:“这样做要小心一点。”原因就在于,在很大程度上,别人确实可以做到我刚才描述的事情,除非网络叠加了安全措施(我们将在课程中详细讨论)。

我只是想向你展示基础技术,以及在添加安全层之前的原始状况。很多时候人们会说:“你现在不能那样做了。”你问为什么,他们会回答:“因为我设置了安全措施。”问题的关键就在于此:如果你没有设置,情况就会截然不同。

因此,大多数第二层协议本身并没有内置你想要的、能保护你在火车上等场合通话隐私的那种防护机制。使用Wi-Fi是另一个问题,我们几乎在每一层使用的原生协议都是不加密的。

当然,你可以对它们进行加密,但它们本身并非加密设计。这就好比你要建一座房子并想在里面布线。假设你觉得Wi-Fi不够好,想铺设以太网线。是在建房时、墙壁还没封上时就布线更好,还是等整个房子建好后再叠加布线呢?在网络安全领域,我们称后者为“事后补救”。

这是一个在安全领域你并不想进行的活动术语。问题在于,在局域网环境中,安全性、隐私性和机密性在很大程度上都是事后补救的。

什么是数据包嗅探?

所以,这里所讲的攻击就叫做嗅探。它指的是将一段设备或软件部署到你能访问的网络上的行为。你可以参考我们的小图示:Alice和Bob在一个小网络上,我们看到一个数据包从Alice发往Bob,而C就坐在那里,从局域网中“抽取”每一个经过的数据包。

正如我之前所说,在进行网络设计或考虑网络安全时,你必须牢记这一点。你必须假设存在一种我们有些尴尬地称之为“裸数据包”的情况(你明白这个意思,指的是数据包周围没有“保护衣”,即加密)。我们必须采取措施来添加加密、机密性和隐私性,因为它们并非原生内置在构成公共互联网以及你可能在学校、工作单位、政府和军队中使用的企业网络的基础设施中。

无论你使用何种网络,其原生状态往往是不安全的。在我们思考这个问题时,请记住这一点:原生的基础情况通常是不安全的,我们倾向于在其之上进行事后补救。如果让我们选择,我宁愿从一开始就设计好安全性。

我们将在下一个视频中继续探讨。

本节总结

本节课中我们一起学习了数据包嗅探攻击。我们了解到,像以太网这样的传统局域网协议,其工作方式类似于过去的“共享电话线”,数据帧会在网络中广播,网卡可以设置为接收所有帧(即“嗅探”模式)。我们强调了现代网络协议(包括Wi-Fi)在原生状态下通常不加密,安全性往往是事后补救添加的。因此,在设计和使用网络时,必须假设存在“裸数据包”的风险,并主动采取加密等措施来保护通信的隐私和机密性。

098:用于访问控制的SYN数据包 🔐

在本节课中,我们将要学习TCP/IP协议中一个关键的安全机制:如何利用TCP三次握手中的第一个数据包(SYN包)来实现基础的访问控制。这构成了现代防火墙技术的雏形。

参考监控器概念回顾

上一节我们介绍了网络安全的基础概念,本节中我们来看看一个具体的实现技术。首先,让我们回顾一个核心的安全模型。

在20世纪70年代,James Anderson提出了“参考监控器”的概念。其核心思想是:当Alice想要与Bob进行交互时,在它们之间放置一个监控器。这个监控器负责监视所有的访问请求,并根据预定义的策略决定是否允许该请求通过。

这个概念虽然简单,但它是计算机安全和网络安全运作方式的基石。

TCP三次握手与SYN数据包

理解了参考监控器的概念后,现在让我们结合TCP/IP协议的知识,看看Alice和Bob之间建立会话的三次握手过程。

TCP连接通过三次握手建立:

  1. Alice发送一个SYN包(同步序列编号)。
  2. Bob回复一个SYN-ACK包(同步确认)。
  3. Alice最后发送一个ACK包(确认)。

关键在于第一个数据包——SYN包。在TCP协议设计中,这个初始数据包的ACK标志位被设置为0。而在此之后所有往返的数据包,包括所有的数据传输,其ACK标志位都被设置为1

这个设计非常巧妙。虽然协议的发明者Vint Cerf和Bob Kahn当时可能并未专门考虑安全,但他们为会话建立所做的这个决定,为后来的安全控制提供了可能。

基于SYN包的访问控制原理

那么,这个设计如何帮助我们实现安全控制呢?其原理如下。

我们可以在Alice和Bob之间的通信路径上放置一个设备(可以理解为早期防火墙的雏形)。这个设备监视所有流入的数据包,并检查它们的ACK标志位。

当它看到一个ACK位为0的数据包时,它就知道:“注意,有人正试图发起一个新的连接。”此时,设备可以检查这个数据包的完整“五元组”信息:

  • 源IP地址
  • 源端口
  • 目的IP地址
  • 目的端口
  • 协议类型

基于这些信息,设备可以做出访问控制决策。例如:

  • 如果目的端口是80(HTTP),且来自互联网,则可以判断“有人想访问我的网站”,允许通过。
  • 如果目的端口是23(Telnet,一个古老的远程登录协议),则可以判断“这很可疑,不允许直接登录我的机器”,从而丢弃该数据包。

如果这个初始的SYN包被丢弃,那么整个TCP会话将无法建立。Bob永远不会收到这个“呼叫”,连接也就不会发生。这种方式仅通过检查第一个数据包,就能做出非常强大的访问控制决策。

理解测验与安全设计

为了测试你对这个概念的理解,这里有一个小测验。

问题:如果一个数据包不是新会话的开始(即ACK位为1),但它到达了一个并未期待它的主机,会发生什么?
答案:该数据包会被丢弃。

在现代网络设计中,路由器或防火墙会配置规则来丢弃这些“游荡”的、不应出现的异常数据包,以增强安全性。即使有异常数据包侥幸通过,它也无法成功建立一个合法的会话。

课程总结

本节课中我们一起学习了TCP协议中SYN数据包的关键作用。我们了解到,利用SYN包中ACK标志位为0的特性,可以在网络路径上实现一个简单的访问控制点,这成为了现代防火墙技术的雏形。这种基于连接发起阶段的控制机制,多年来一直是网络安全设计的强大工具。在后续课程中,我们将更深入地探讨防火墙的设计与安全架构。

099:防火墙的定义 🔥

在本节课中,我们将要学习网络安全中的一个核心概念——防火墙。我们将通过一个历史故事引入,并详细解析防火墙的经典定义及其核心要求。


课程引入

在20世纪80年代末,一种名为“莫里斯蠕虫”的恶意程序在互联网上迅速传播。它本意是进行测试,但由于设计者的编码错误,导致其失控并对许多公司和基础设施造成了严重破坏。

然而,当时我所在的贝尔实验室却成功抵御了这次攻击。这引发了我的好奇:是什么阻止了蠕虫的入侵?通过调查,我结识了两位杰出的人物——史蒂夫·贝洛文(现为哥伦比亚大学教授)和比尔·切斯威克。他们开发了一套软件,部署在贝尔实验室的网络网关处,用于检查所有传入的数据包并做出决策。这被视为现代防火墙的雏形。

后来,当我在1993年撰写我的第一本网络安全教材时,恰逢贝洛文和切斯威克也在撰写一本关于防火墙的专著。我们互相交流,他们的书取得了巨大的成功,并在书中引用了我的作品,这让我深感荣幸。更重要的是,他们在书中提出了一个关于防火墙的定义,我认为它经受住了时间的考验。


防火墙的五大定义要素

上一节我们回顾了防火墙的起源。本节中,我们来看看贝洛文和切斯威克为防火墙总结的五个核心定义要素。

以下是构成一个防火墙的五个基本要求:

  1. 网络分隔:防火墙的基本作用是分隔两个或更多网络。它充当网络之间的一个隔离点。
  2. 策略执行:防火墙强制执行安全策略。这意味着需要有人预先定义规则,决定允许哪些流量通过,阻止哪些流量通过。
  3. 集中管理:防火墙通常由其中一个网络的管理员进行管理和维护。虽然有时互联网服务提供商(ISP)也可能在中间进行仲裁,但绝大多数情况下,管理权归属于相连网络中的一方。
  4. 防篡改性:防火墙本身必须坚不可摧,无法被篡改。其系统和配置需要得到强力保护。
  5. 不可绕过性(最困难的要求):确保防火墙无法被绕过,这已被证明是防火墙设计、实施和部署中最具挑战性的要求。

对“不可绕过性”的深入思考

上一节我们列出了防火墙的五大要素,其中最后一点“不可绕过性”尤为关键。本节中我们来深入探讨一下这个概念的实践挑战。

这个概念听起来简单,但在现实中却极难实现。试想一下,如果你在学校或办公室,网络管理员通过防火墙策略禁止访问Facebook,希望你专心工作或学习。你会怎么做?你很可能直接从口袋里掏出智能手机,使用移动网络访问Facebook。就这样,你轻松地绕过了本地网络的网关策略。

这个简单的例子揭示了在大型群体中通过防火墙实施统一策略是异常困难的。人们总能找到替代路径来绕过限制。


后续学习展望

在了解了防火墙的定义和核心挑战后,我们将在后续的课程中深入其工作原理。

在接下来的视频中,我们将开始学习如何建立规则构建访问控制策略。我会向你展示防火墙是如何基于规则,对“允许”和“拒绝”的流量做出决策的。虽然我们会以路由器为例进行讲解,但任何依据规则进行流量决策的设备,其基本原理都是相通的。


课程总结

本节课中我们一起学习了防火墙的起源及其经典定义。我们了解到,一个防火墙的核心在于分隔网络、强制执行策略、集中管理、自身坚固且难以被绕过。同时,我们也认识到,在复杂的现实网络环境中,完全杜绝策略绕行是一项持续的重大挑战。理解这些基础概念,是我们进一步学习具体防火墙技术和策略配置的第一步。

我们下节课再见。

100:有状态与无状态防火墙 🔥

在本节课中,我们将学习网络安全中一个核心概念:有状态无状态设备。理解这两者的区别对于设计有效的安全系统,特别是防火墙,至关重要。我们将从通用计算设备的概念入手,然后聚焦于防火墙的具体应用。

核心概念:状态

首先,我们需要理解什么是“状态”。在计算机科学中,状态可以被看作是一个快照。它指的是设备能够“记住”或“冻结”某个时刻的内存信息或特定情况,并在后续的操作中使用这个记忆。

  • 有状态:设备具备捕获和使用状态的能力,即拥有“记忆”。它可以计数,或者识别“我之前见过这个”。
  • 无状态:设备不具备这种记忆能力。它的程序逻辑在某种意义上被称为“上下文无关”的,即每次决策都只基于当前输入,不考虑过去发生了什么。

一个生动的比喻

为了更好地理解,让我们想象一个场景:你是一栋大楼的保安,你的指令非常简单:

规则:检查每个进入的人。如果穿着蓝色夹克,就放行;如果没有穿蓝色夹克,就拒绝进入。

现在,一个叫比尔的人穿着蓝色夹克来了。

  • 你检查后说:“蓝色夹克,请进。” 比尔进去了。
  • 比尔突然想起把咖啡忘在外面了,于是他走出去拿咖啡。
  • 当他返回时,他恰好脱掉了蓝色夹克。他对你说:“嗨,我又回来了。”
  • 你看了看他,然后说:“抱歉,你没穿蓝色夹克,不能进。”

比尔很困惑:“你两秒钟前刚让我进去!你不记得了吗?” 而你的回答是:“不,我什么都不记得。我的规则就是:蓝夹克进,非蓝夹克走。”

这个保安就是一个无状态设备的完美例子。它每次只根据当前看到的信息(是否穿蓝夹克)做决定,没有记忆之前发生事情的能力。

在网络安全中的应用

这种“有状态”与“无状态”的区分是网络安全的基础。你设计的系统所做的决策,要么是有状态的,要么是无状态的。

以下是一个常见的无状态场景示例:

想象一个猜密码的游戏。规则是:输入正确密码就进入,错误就拒绝。

  • 你输入“密码1” -> “错误,抱歉。”
  • 你输入“密码2” -> “错误,抱歉。”
  • 你输入“密码3” -> “错误,抱歉。”

即使你尝试了十亿次,这个设备也永远不会觉得可疑。因为它没有被编程去“记住”你连续失败的次数。它每次都是孤立地判断当前输入的密码是否正确。

相反,一个有状态的设备会考虑上下文。它可能会想:“这是你第五次输错密码了,可能有点不对劲。” 它会将当前的检测放在更广阔的“上下文”中进行考量。

与防火墙的结合

上一节我们介绍了状态的概念,本节中我们来看看它如何应用于防火墙。

在防火墙领域,这两种特性表现为不同的技术:

  • 包过滤:这通常是一种无状态的检查方式。防火墙检查每个独立的数据包,根据包头信息(如源/目标IP地址、端口号)做出允许或拒绝的决定,不关心这个包是属于哪个已建立的连接。
  • 代理:这通常是一种有状态的检查方式。代理防火墙充当中间人,代表内部客户端与外部服务器建立连接。它能理解应用层协议,并维护连接的状态信息。

有一个普遍的趋势:随着你在网络协议栈(如OSI模型)中向上移动,设备倾向于变得更“有状态”。应用层设备更智能,更了解应用程序,因此通常拥有更多“记忆”。而越往底层(如网络层),设备则倾向于更“无状态”。当然,这并非绝对规则。

总结

本节课中我们一起学习了网络安全中的关键概念:有状态无状态

  • 有状态设备拥有记忆,能基于历史信息(上下文)做决策。
  • 无状态设备没有记忆,每次决策仅基于当前输入。

理解这一点将帮助你设计出更好的网络安全系统。在防火墙中,无状态的包过滤和有状态的代理各有其用武之地。记住这个核心区别,我们将在接下来的视频中继续探索。

101:采访John Viega 🛡️

在本节课中,我们将通过纽约大学《网络安全入门》课程中对John Viega的采访,了解一位安全专家如何从开发者转型为公司CEO,并探讨Linux生产环境安全、安全编码的挑战以及网络安全的未来展望。

概述

本次采访对象是Capsule8公司的首席执行官John Viega。我们将了解他的职业背景、公司业务以及他对软件安全和行业趋势的见解。

采访内容

个人背景与职业转型

John Viega偶然进入了安全领域。他与Gary McGraw合著了第一本面向开发者的安全软件构建书籍,并参与了广泛使用的GCM加密算法开发。随后,他在MacAfee担任了很长时间的技术高管,将深厚的技术背景与商业运营相结合,最终成为了Capsule8的CEO。

从技术专家转型为公司CEO是一个巨大的转变。John表示他需要克制亲自动手解决技术问题的冲动,将精力集中在优先级管理和公司战略上。

Capsule8公司业务介绍

Capsule8专注于生产环境的安全防护。如今,生产环境普遍运行Linux系统。例如,亚马逊云中93%的实例以及微软云中约三分之一的实例都在运行Linux。

以下是Capsule8提供的核心服务:

  • 可视化:在不影响生产系统性能的前提下,提供系统运行状态的可见性。
  • 威胁防护:在可视化的基础上实施安全防护,例如检测攻击实例并进行阻止。
  • 事件响应与取证:当发生安全事件时,能够无缝响应并进行取证调查。

技术实现与业务模式

在技术层面,大型企业对在Linux内核中添加模块非常敏感,因为这可能影响系统稳定性且无法获得Linux供应商的支持。因此,Capsule8必须利用Linux系统自身提供的技术来获取数据和实现功能。幸运的是,近年来Linux技术的进步使得实现真正的系统级防护成为可能。

目前,Capsule8的业务主要面向大型企业。这些企业正在向内部平台即服务(PaaS)模式转型,通常会混合使用公有云和私有云,并整合开源或商业组件。Capsule8的目标是成为这类企业转型过程中的安全架构核心。

关于安全编码的探讨

John曾与Gary McGraw合著安全编码书籍。当被问及“是否可能编写出绝对安全的代码”时,他认为这几乎是不可能的。即使是最顶尖的黑客团体成员,在了解所有已知漏洞的情况下,也难以完全避免在自己的代码中引入安全问题。

编码本身过于复杂,难以完全杜绝安全漏洞。虽然一些抽象机制有所帮助,但只要有疏忽存在,系统就存在被利用的可能。因此,软件安全问题可能会改善,但永远不会消失。

对网络安全未来的看法

John对网络安全的未来持谨慎乐观态度。有时感觉像在跑步机上奔跑,难以取得实质性进展。但他认为仍有很大的创新空间来应对挑战。

通过提高攻击者的攻击成本,可以设立更高的安全门槛。在现代云计算环境中,源代码不可访问,这实际上使得“通过隐匿实现安全”的策略能为系统提供更强大的保护。

许多现代公司在锁定生产环境、减少攻击面方面做得很好,与过去那些可能丢失数十亿记录而毫无察觉的巨头公司相比,安全事件相对较少。网络安全是一场持续的军备竞赛,关键在于找到能够保持优势的“力量倍增器”。

总结

本节课我们一起学习了John Viega从安全开发者到企业CEO的转型之路,了解了Capsule8公司如何为Linux生产环境提供安全防护,并探讨了编写绝对安全代码的难度以及网络安全领域持续演进的挑战与机遇。安全是一场永无止境的旅程,需要技术、管理和创新的持续结合。

102:作业与阅读 📚

在本模块中,我们将学习数据包过滤防火墙,并初步了解入侵检测的相关概念。为了帮助你更好地理解这些内容,本教程将介绍一些推荐的阅读材料和视频资源,它们可以作为课程内容的补充。

概述

上一节我们介绍了数据包过滤防火墙的基础知识。本节中,我们来看看为了深化理解,有哪些额外的学习资源可供参考。这些资源包括学术论文、可选书籍和一个视频,它们将帮助你从不同角度思考如何检测和防御网络攻击。

推荐阅读论文

以下是两篇关于入侵检测的学术论文,它们虽然可能与模块内容不完全对应,但提供了互补的技术视角,有助于你构建更全面的网络安全知识体系。

  1. 论文一:由一组作者撰写的长文,题为《基于主机的网络入侵检测技术、系统与挑战综述》。这篇综述性文章内容详实,非常值得一读。
  2. 论文二:一篇名为《通过静态分析进行入侵检测》的重要论文,作者是Wagner和Dean。

阅读这两篇论文不仅对本模块学习有益,也将促进你在整个网络安全领域的学习进程。

可选参考书籍

除了论文,这里还有一本可选的电子书推荐给你。

  • 书籍:一本你可以在亚马逊上找到的电子书,由我和我的儿子Matt合著,书名为《从CIA到APT:网络安全导论》。建议你阅读第19章和第20章,其内容与本模块高度相关。这本书是课程的良好补充,虽然可选,但相信你会喜欢。

补充学习视频

最后,推荐一个视频资源,它生动地展示了入侵防御系统的工作原理。

  • 视频:由一家名为Sourcefire(现属思科)的公司制作的视频,发布于2013年,标题为《入侵防御系统如何工作》。这个视频非常直观,能很好地补充本模块关于数据包过滤防火墙和实时安全技术的内容。

总结

本节课我们一起学习了为配合“数据包过滤防火墙”模块而推荐的额外资源,包括两篇入侵检测论文、一本可选参考书和一个解说视频。希望这些材料能帮助你更深入地理解如何运用技术来阻止针对基础设施和企业的网络攻击。祝你学习愉快!

103:数据包过滤 🔒

在本节课中,我们将学习网络安全中一个绝对基础且核心的概念:数据包过滤。我们将了解它的工作原理、设计考量以及它在实时网络安全中的关键作用。


什么是数据包过滤?

大家好,我是Ed Amoroso。在这个视频中,我想向你们介绍一个名为“数据包过滤”的概念。

多年来,公司、家庭和各类组织都通过一种名为路由器的设备连接到互联网。你的网络服务提供商会给你一个,或者你自己去买一个。路由器的核心设计目的就是转发数据包。路由器是为了在不同地点之间移动TCP/IP数据包而发明的设备。

它们内置了规则。当数据包到达路由器的入站接口时,路由器通常会根据预设的规则来决定如何处理这个数据包,即将其路由到哪里。你可以把它看作是驱动互联网运行的“主力军”。像思科系统、瞻博网络等公司,从80年代末至今,一直在制造功能强大且丰富的路由设备。


安全决策的诞生地

但人们逐渐意识到,既然路由器已经在那里执行规则,为什么不把安全决策也放在那里呢? 我的意思是,既然它已经在处理规则,我能不能添加一些规则,直接判断“这个允许吗?还是不允许?”

当然,这涉及到设计上的考量。例如,如果路由器的主要目标是高速运行,比如作为互联网服务提供商的核心路由器,需要处理海量数据,你可能就不希望它被拖慢。任何可能降低其速度的额外规则都会被拒绝,它必须快速、高效地转发数据包。

然而,对于其他一些场景,这可能就不是大问题了。比如,连接到你家中ISP的那台桌面路由器。你真的需要保留它的每一微秒处理能力吗?可能不需要,即使你是游戏玩家,影响也可能不大。


数据包过滤的实现

大约在90年代,业界开始意识到(商业上更早一些),可以在路由器上编写一些非常简单的代码来实现数据包过滤

这里有一张图,展示了Alice和Bob之间有一个小防火墙。通常我们用带有砖块图标的垂直高塔来表示防火墙。你可以看到一个SYN数据包从Alice发往Bob。在那个防火墙路由器(高塔)上运行的代码,本质上是一个大的 if-then-else 语句。

你可以看到代码逻辑:如果数据包头的某个比特位被设置为0(表示一个会话的开始),那么就检查源IP、目标IP、源端口等信息。然后,决定是允许还是阻止。作为编码者,你可以自己决定规则。例如,如果是端口8,而你不希望别人访问你的Web服务器,就丢弃它;如果是端口80,并且你允许访问,就放行。

在数据包过滤器中,你通常只有两个选项:允许阻止。你可以让数据包通过,也可以将其丢入垃圾堆。你必须有一些逻辑条件来驱动这个决策。这些条件会按顺序检查。

由于这些设备最初的发展方式,你会制定第一条规则、第二条规则、第三条规则,一直到第N条规则,我们称之为默认规则。这意味着你必须设置一个能匹配所有情况的规则。你不能让一个设备永远无法匹配任何规则。每个路由器都会有一个总是匹配的默认规则,最终要么允许,要么阻止。


设计规则的挑战

设计这些规则可能有点棘手。确保不会对路由器造成性能损失可能很棘手。将你的安全策略意图与实际实现连接起来可能很棘手。如果你有多个来自不同供应商的路由器,要实施相同的策略也可能很棘手。这并不容易

我记得思科系统在90年代告诉我们,如果你想学习配置路由器和进行数据包过滤,你应该参加他们的初级课程(我参加了一周的课程)。然后他们说,回去全职使用路由器工作两三个月,再参加中级课程。之后再回去用路由器工作大约六个月,现在你才能称自己为初学者。这听起来需要大量工作才能成为初学者,但你应该明白,这不是简单的“即插即用”的东西。

我理解你们中的一些人可能会为自己的家用路由器写一些规则。对于企业来说,情况可能更复杂一些。但归根结底,将规则放入路由器这个想法本身是很好的


超越“允许”与“阻止”:转发

现在,让我们做一个小测验来测试我们的理解。答案是 D。有些人可能会说这不公平,因为你没有告诉我们关于“转发”的概念。但这是我向你介绍这个概念的方式。

实际上,这里有三个选项:我可以允许它,我可以阻止它,或者,我可以把它发送到别处并说“我不确定”。正是这一点让事情变得有趣。如果一个路由器只能通过或阻止,我们就会遇到问题。但是,如果我能编程让路由器说“我需要更多信息”,那么实时网络安全的全部潜力就被激活了

这就是我们实现网络安全的方式,例如入侵检测与防御、监控、数据防泄漏等。所有这些不同类型的能力之所以能够实现,正是因为我们有时并不完全确定,我们可以将数据包和会话转发给中介设备。很快我们就会把这些中介设备称为代理


总结

本节课中,我们一起学习了数据包过滤的基础知识。我们了解到它是通过在路由器上设置规则(通常是if-then-else逻辑)来允许或阻止数据包流动。虽然设计有效的规则需要考虑性能、策略一致性和实现复杂性等挑战,但它是构建网络安全防线的基石。更重要的是,我们引入了“转发”的概念,认识到除了简单的允许/阻止,将不确定的流量交给更专业的系统(如代理)进行分析,是开启高级网络安全功能的关键。在下一个视频中,我将更深入地讲解如何具体实施数据包过滤。我们下节课见。

104:示例数据包过滤与参考架构 🔒

在本节课中,我们将学习数据包过滤的基本概念和工作原理。我们将通过一个典型的参考架构,了解如何构建规则来允许或阻止网络数据包。课程将涵盖规则的结构、关键字段的含义,以及如何利用这些规则检测和阻止欺骗攻击。


理解数据包过滤

数据包过滤是路由器或防火墙上的一项核心功能。管理员通过图形用户界面,利用一系列信息列来构建规则。这些规则决定了哪些数据包被允许通过,哪些被阻止。

一个典型的数据包过滤规则包含以下列:

  • 规则名称
  • 源IP地址
  • 目的IP地址
  • 源端口
  • 目的端口
  • 使用的协议(通常假设为TCP)
  • 方向(数据包是入站还是出站)
  • 动作(允许或阻止)

这些列中的条件共同构成了我们的过滤规则。


关键概念解析

上一节我们介绍了规则的基本结构,本节中我们来看看构成规则的一些核心概念。

IP地址与端口

IP地址由互联网服务提供商或网络管理员分配。端口号则用于区分设备上的不同服务或连接。

端口号范围可大致分为三类:

  • 0 - 1023保留端口,用于众所周知的服务器服务(如HTTP的80端口,HTTPS的443端口)。
  • 1024 - 50000注册端口,可用于一些特定服务,既非严格保留也非临时。
  • 大于50000(如50000-65000)临时端口,由客户端在发起连接时动态、短暂地使用。

理解端口分类对于构建有效的过滤规则很重要。

参考架构与数据包方向

我们将使用一个简单的参考架构来理解数据包方向。该架构包含两个网络:

  • 内部网络:被视为可信网络。
  • 外部网络:被视为不可信网络。

基于此架构,数据包方向定义如下:

  • 出站:从内部网络发往外部网络的数据包。
  • 入站:从外部网络发往内部网络的数据包。

明确方向是构建逻辑规则的基础。


构建示例规则

了解了基本概念后,我们现在可以看看如何构建具体的过滤规则。以下是两个基于逻辑检测欺骗攻击的简单规则示例。

规则一:检测内部地址的入站欺骗

这条规则检查一个声称来自内部网络的数据包,但其方向却被标记为“入站”。

规则逻辑

  • 源IP:内部网络地址
  • 方向inbound(入站)

分析
一个真正源自内部网络的数据包,其方向应该是“出站”。如果一个数据包声称来自内部,却试图从外部进入,这在逻辑上是不合理的。这表明源IP地址被伪造了,是一种欺骗攻击。

动作DROP(丢弃该数据包)

规则二:检测外部地址的出站欺骗

这条规则检查一个声称来自外部网络的数据包,但其方向却被标记为“出站”。

规则逻辑

  • 源IP:外部网络地址
  • 方向outbound(出站)

分析
一个源自互联网(外部网络)的数据包,其方向应该是“入站”。如果它被标记为“出站”,这在逻辑上同样说不通,也极有可能是欺骗行为。

动作DROP(丢弃该数据包)

在上述两种情况下,只要源IP和方向的逻辑关系矛盾,就足以判定为欺骗。因此,规则中的其他条件(如端口号)就变得无关紧要。我们通常使用通配符(如 *)来表示“不关心”这些字段的匹配值。


规则构建哲学

通过前面的示例,我们看到了如何构建规则来“阻止”特定的非法数据包。然而,在实际的网络安全策略中,更常见和安全的哲学是 “默认拒绝”

这意味着:

  1. 明确定义并允许所有合法的、必要的通信。
  2. 默认阻止其他所有未明确允许的通信。

这种方法比试图列出所有需要阻止的恶意行为更为全面和安全。我们将在后续课程中深入探讨这一策略。


本节课中我们一起学习了数据包过滤的基本原理。我们了解了过滤规则的构成要素,包括IP地址、端口、协议和方向。通过一个清晰的参考架构,我们分析了数据包方向(入站/出站)的含义,并构建了用于检测IP欺骗攻击的示例规则。最后,我们提到了一个重要的安全策略哲学:通过定义允许的规则来管理流量,比单纯定义阻止的规则更为有效。恭喜你,现在已经理解了数据包过滤规则的基本运作方式!

105:默认防火墙阻止规则 🔒

在本节课中,我们将要学习防火墙与杀毒软件在安全策略上的一个核心区别:默认允许与默认阻止。我们将通过对比两者的工作原理,来理解为什么防火墙通常采用“默认阻止”策略,以及这种策略如何为网络提供更强大的安全保障。

杀毒软件:默认允许策略

上一节我们介绍了安全工具的基本目标。现在,我们首先来看看个人电脑上的杀毒软件是如何工作的。

杀毒软件的核心工作是扫描。它内部维护着一个已知威胁的列表,这些被称为病毒特征码模式。其工作流程可以概括为以下步骤:

  1. 扫描比对:软件检查系统中的文件或进程,逐一与特征码列表进行比对。
  2. 决策执行:如果发现匹配项(即找到了已知的恶意软件),则采取阻止或清除等行动。
  3. 默认放行:如果扫描完所有特征码后未发现任何匹配,软件就会允许操作继续进行。

这种模式被称为 “默认允许” 。它的逻辑是:“我会想出一堆坏东西的清单。如果我能匹配上任何坏东西,我就会阻止你。但如果我想不到(或没匹配上),我就默认让你通过。”

这种策略对用户而言非常方便,但安全性相对较低,因为它只能防范已知的威胁。

防火墙:默认阻止策略

理解了“默认允许”后,本节中我们来看看防火墙,它的工作方式通常截然相反。

防火墙(尤其是包过滤防火墙)通过一系列规则来控制网络流量。规则会检查数据包的属性,如源IP地址目标IP地址端口号等。规则的处理遵循自上而下的顺序:

  1. 数据包到达后,从规则列表的第一条开始匹配。
  2. 如果匹配成功,则执行该规则指定的动作(允许或拒绝),处理结束。
  3. 如果匹配失败,则继续与下一条规则比对。
  4. 这个过程一直持续,直到匹配成功或检查完所有规则。

关键在于最后一条规则。由于防火墙的设计哲学是“我应该阻止那些我没有明确想到要放行的东西”,因此最后一条规则通常是‘默认阻止’规则。这意味着,如果数据包未能匹配前面任何一条明确的允许规则,它将被自动阻止。

以下是这种策略的实践意义:

  • 极端情况:如果你配置了一个防火墙,但没有创建任何自定义规则,那么所有流量都会落到最后的默认规则上,导致所有连接被阻断,效果等同于剪断网线。
  • 常规配置:假设你只希望允许DNS(域名系统)流量进入企业网络。你需要创建一条明确的规则来允许DNS。在此之后,默认规则将阻止其他所有流量。这种“除非明确允许,否则一律禁止”的策略安全得多,但也意味着防火墙管理团队有责任为所有必要的业务需求创建相应的允许规则。

在实际部署初期,由于许多服务未被明确允许,可能会引起用户抱怨(例如“A部门上不了网了”、“B应用用不了”)。管理员需要逐步添加必要的规则,直到所有业务需求得到满足,抱怨才会平息。最终形成一个由一系列精确的允许规则和一条兜底的默认阻止规则构成的、安全且可用的环境。

核心对比与总结

让我们通过一个简单的对比来总结本节内容:

  • 杀毒软件默认允许。更方便,但更不安全
  • 防火墙默认阻止。更安全,但更不方便(需要精细配置)。

为了测试理解,请思考以下问题:
在配置了默认阻止规则的防火墙中,一个未在规则中明确提及的服务会怎样?

A. 会被自动允许。
B. 会被记录但允许通过。
C. 会被阻止。
D. 以上所有。
E. 以上都不是。

答案:C。默认规则会阻止访问,除非该服务被明确启用。这体现了默认阻止规则的力量,它也是防火墙能成为企业安全架构基石的核心理念之一。

本节课中我们一起学习了安全工具中“默认允许”与“默认阻止”这两种根本性的策略区别。我们了解到,防火墙通过“默认阻止”策略,强制实施最小权限原则,从而构建起更主动、更强大的安全防线。在下一讲中,我们将继续探索防火墙的更多细节。

网络安全入门:第17章:配置允许出站网页浏览的防火墙规则 🔧

在本节课中,我们将学习如何配置一组数据包过滤规则,以允许用户从公司网络内部安全地浏览外部网页。我们将重点理解TCP连接建立过程中的数据包交互,并学习如何用最精简的规则实现访问控制。


上一节我们介绍了防火墙和数据包过滤的基本概念。本节中,我们来看看如何为最常见的互联网活动——网页浏览——配置具体的放行规则。

假设您是一名网络管理员,公司员工需要访问互联网。防火墙的默认策略是阻止所有流量,因此您需要添加规则来允许出站的HTTP(网页)流量。一条完整的过滤规则通常包含以下要素:源IP、目标IP、源端口、目标端口、协议、ACK标志位、方向、动作

以下是建立一次完整TCP会话所需的三条核心规则:

第一条规则:允许出站HTTP请求包
这是用户浏览器发起连接的第一个数据包(SYN包)。

  • 源IP:内部网络地址(例如 192.168.1.0/24)。
  • 目标IP:外部地址(可设为 any 或一个范围)。
  • 源端口:大于1023(客户端的临时端口)。
  • 目标端口:80(HTTP服务标准端口)。
  • 协议:TCP。
  • ACK标志位:0(这是发起连接的包)。
  • 方向:出站。
  • 动作:允许。

第二条规则:允许入站HTTP响应包
这是外部Web服务器对第一个请求的回应包(SYN-ACK包)。

  • 源IP:外部地址。
  • 目标IP:内部网络地址。
  • 源端口:80。
  • 目标端口:大于1023。
  • 协议:TCP。
  • ACK标志位:1(这是确认包)。
  • 方向:入站。
  • 动作:允许。

第三条规则:允许出站确认包
这是客户端发送给服务器的最终确认包(ACK包),完成TCP三次握手。

  • 源IP:内部网络地址。
  • 目标IP:外部地址。
  • 源端口:大于1023。
  • 目标端口:80。
  • 协议:TCP。
  • ACK标志位:1。
  • 方向:出站。
  • 动作:允许。

配置完这三条规则后,一个TCP会话就成功建立。此后,只要数据包的ACK标志位为1,就可以在此会话上传输网页数据。

现在,请注意第一条和第三条规则。它们唯一的区别在于ACK标志位(第一条是0,第三条是1),其他字段完全相同。因此,我们可以将它们合并优化。

以下是优化后的两条规则:

规则A(合并版):允许出站HTTP连接
这条规则使用通配符 * 来匹配ACK位为0或1的所有出站TCP包,覆盖了建立连接和后续确认。

动作:允许 | 方向:出站 | 协议:TCP | 源IP:内网 | 目标IP:外网 | 源端口:>1023 | 目标端口:80 | ACK位:*

规则B:允许入站HTTP响应
这条规则保持不变,专门允许来自外部Web服务器的响应包入站。

动作:允许 | 方向:入站 | 协议:TCP | 源IP:外网 | 目标IP:内网 | 源端口:80 | 目标端口:>1023 | ACK位:1

这两条规则构成了允许出站网页浏览的经典配置框架。其核心思想是:通过设置恰当的源/目标IP和端口,并对ACK标志位使用通配符或精确匹配,可以高效地控制TCP会话的建立与数据传输。


本节课中我们一起学习了如何为出站网页浏览配置防火墙规则。我们分解了TCP三次握手的过程,将其映射到三条具体的过滤规则,并最终优化为一组精简高效的配置。理解 ACK 标志位在连接状态中的作用,是编写有效数据包过滤规则的关键。这套方法是配置其他互联网服务(如HTTPS、邮件等)防火墙规则的基础框架。在后续课程中,我们将以此为基础,探讨更多类型的服务配置。

网络安全入门:P107:配置允许Telnet及其他TCP服务的防火墙规则 🔧

在本节课中,我们将学习如何基于已知端口号,快速配置防火墙规则以允许特定的TCP服务(如Telnet、SMTP)通过。理解并应用这一方法,是网络安全工程师进行有效访问控制的基础技能。

随着你对网络安全理解的深入,你会意识到,在进行实时态势感知或网络防护时,许多安全工程师都熟知并乐于记忆各类服务的知名端口号。例如,端口80对应HTTP,这是众所周知的。掌握这些端口号不仅有趣,而且至关重要。

屏幕上展示的规则,是一个企业防火墙为保护其内部用户、允许HTTP出站浏览会话而设置的。修改此类规则以适应许多其他服务,实际上非常简单。

修改规则的核心方法

以下是通过修改端口号来快速创建新防火墙规则的基本思路。其核心在于理解服务的标准端口。

  1. HTTP规则模板:我们有一个允许HTTP(端口80)流出的典型规则设置。
  2. 更改为Telnet:如果我想为Telnet服务设置规则,只需将规则中的端口号从80改为23(Telnet的端口),其余配置保持不变。
  3. 更改为SMTP:同理,要为SMTP(简单邮件传输协议)设置规则,只需将端口号改为25

这种方法非常高效,并非总是需要从头开始繁琐地配置每条规则。

深入学习的必要性

虽然修改端口号看似简单,但我的衷心建议是:如果你喜欢这类工作,并享受数据包过滤和规则设置的乐趣,你必须深入学习TCP/IP协议族。

你必须了解每种服务的特性,例如SMTP、Telnet或HTTP。即使这些服务可能不在你的网络中实际使用,你也必须掌握它们,因为攻击者会尝试利用它们。

攻击者并不在乎某些协议(如Telnet)是否已经过时。他们会探测你的网络中是否有配置不当的旧服务。你必须对这些潜在风险保持警惕。有时朋友会问我,为什么在示例中使用这些旧协议,而不是更新颖的(如游戏协议)。原因在于,攻击者不关心协议是否老旧,他们会利用任何可能突破防线的漏洞。事实上,在许多情况下,旧协议反而更危险,因为你可能遗留了一条忘记删除的旧规则,而攻击者会充分利用这一点。

总结与建议

本节课中,我们一起学习了如何通过替换知名端口号,快速为不同的TCP服务(如Telnet、SMTP)配置防火墙规则。我们强调了理解底层协议和各类服务特性的重要性,因为这是防御网络攻击的关键。

如果你对此感兴趣,建议你深入钻研,花时间阅读我们在视频中推荐的参考书籍和文章资料。你会发现,熟练掌握数据包过滤技术不仅充满乐趣,还能为你的职业生涯(例如求职)带来很大帮助。

108:制定企业安全策略规则 🔐

在本节课中,我们将学习企业安全策略规则的核心概念、制定过程及其与防火墙等安全设备的关系。我们将探讨策略如何定义组织的安全意图,以及如何将其转化为技术实现。


上一节我们介绍了网络安全的基础概念,本节中我们来看看如何为组织制定具体的安全策略规则。

每个组织都需要一套规则来反映其在安全方面的意图。这些规则中,部分可能并非纯粹的安全考量,例如是否允许员工访问Facebook。这类决策可能更多是管理层面的,涉及员工行为规范。但总体而言,安全策略将主要体现组织从安全角度出发,对于允许何种流量进出网络的立场。

我希望能告诉你,制定完美策略存在一套严谨的技术基础或工程步骤,就像建造桥梁一样,能推导出一套清晰明确的策略规则。但事实远非如此。现实情况是,安全策略的制定过程通常相当混乱。它们往往由委员会制定,过程充满尝试、错误和不确定性。

不过,好消息是策略的呈现方式通常比较清晰。通常,你会看到一行对应入站流量,一行对应出站流量,然后每一列对应屏幕上显示的各种服务类型。例如,我在这里展示了针对Web服务电子邮件服务远程访问的入站与出站规则。根据业务设置的不同,可能还有五到五百种其他服务。

现在,你必须做出决定。例如,是否允许入站Web服务?是或否。这是一个决策过程,需要由管理团队、企业所有者、家庭网络管理员或学校管理员等来定夺。你需要决定允许什么。你可能会说:“我只允许入站浏览器访问我们的企业官网,但不想让学校里的每个学生都架设Web服务器。”这个决定的依据是什么?它基于你心中的威胁模型,一个反映学校目的的决策。你不想让每个孩子都运行Web服务器。但如果你运营的是一个网络托管综合体,情况就不同了。你绝不会制定一条规则说“入站Web服务只能到这里”。你的路由器可能需要为众多你提供托管服务的公司服务,因此你必须允许数据包指向所有不同的网络主机。你明白了吗?所以,这里没有一成不变的硬性规定。

你制定的策略最终将在你的包过滤器防火墙中实施。让我重申这一点,因为它很重要:你的策略定义将阐明要求和意图。而你的包过滤器和防火墙(我们将在后续讨论中详谈)则负责实施这些策略。这是定义与实施的关系。你希望它们能匹配,但情况并非总是如此。有时你可能怀有某种意图,却没有意识到你的防火墙实施并未准确反映或实现组织所作出的策略决策。

因此,如果你正在参与此类决策,例如“我们是否允许员工远程访问其他服务”,并且你感到犹豫不决,那么欢迎加入这个俱乐部。因为确实没有关于如何制定策略的良好指南或指导原则。这在某种意义上反映了企业网络安全领域的不成熟,我们稍后会深入探讨这一点。

目前,我希望你理解:策略阐明要求,包过滤器和防火墙负责实施。有时它们匹配,有时不匹配。你希望它们匹配,但在许多情况下,策略规则是基于你的商业利益和业务需求的临时性体现。


本节课中我们一起学习了企业安全策略的制定。我们了解到,安全策略反映了组织的安全意图,其制定过程往往缺乏统一标准,需要根据具体业务需求来决定。策略定义(要求)与防火墙实施(技术实现)是两个关键环节,确保二者一致是安全管理的核心挑战。下一讲,我们将继续探讨防火墙等技术如何具体实现这些策略。

109:FTP协议详解 🔍

在本节课中,我们将学习一个名为文件传输协议(FTP)的经典网络协议。我们将了解其独特的工作机制,特别是它如何使用两个独立的TCP连接,并探讨这种设计对网络安全(尤其是防火墙规则配置)带来的挑战。

协议概述与历史背景

FTP是一个设计年代久远的协议。有人认为它可能是互联网上最早存在的协议之一。当我们审视其设计时,会发现它的设置方式有些复杂。从安全角度来看,理解这一点至关重要,因为为FTP设计数据包过滤规则比之前讨论的HTTP协议要棘手得多。HTTP协议只是简单地建立在TCP连接之上,而FTP则使用了两个方向不同的TCP连接,这使得情况变得更加复杂。

FTP工作机制详解

以下是FTP的基本工作方式。我们需要建立一个FTP客户端和一个FTP服务器。图中用箭头代表运行这些具有端口号的命名程序。FTP客户端将打开两个端口:一个是我随意编的高位端口号(例如5005),另一个是5006。服务器端,正如你所知,将使用众所周知的低位端口,即20和21,这两个端口分别保留用于FTP的控制连接和数据传输。

让我们看看这个过程如何运作。假设我们有一个客户端。通常,你需要下载一个客户端程序。大多数客户端程序都允许你从FTP服务器下载文件。可能有人会问,为什么不用HTTP来做这件事?答案是,现在你当然会用HTTP。但在HTTP出现之前,我们就是使用FTP来下载研究论文、文章等资料的。

连接建立与数据传输流程

以下是具体的连接步骤:

  1. 控制连接建立:服务器端首先从一个端口发起。客户端会向FTP服务器的端口20发送一个PORT命令(注意,此处的“端口”一词含义与TCP端口不同,但请理解这是FTP使用的命令名称)。
  2. 端口信息告知:FTP服务器随后回复一个“OK”确认。在这个PORT命令的内容中,客户端会告诉FTP服务器:“顺便说一下,我在这里的5006端口也打开了一个连接”。它把这个端口号告诉服务器。服务器已经知道你在5005端口(因为那是源端口),所以我现在需要告诉你,我希望你用5006端口进行数据传输。
  3. 数据连接建立:这个过程是客户端发起对服务器的出站连接。客户端发起一个TCP会话,发送PORT命令,并基本上获得一个“OK”响应。这从某种意义上说是在TCP命令之上的数据传输,但你可以将其理解为:我需要一条允许出站的规则(我们稍后会讨论这个)。
  4. 服务器反向连接:一旦上述步骤完成,服务器现在会发起一个反向连接回到客户端。它基本上是从端口21连接到我之前在PORT命令内容字段中告诉你的5006端口。
  5. 数据传输:然后客户端说“OK”,接着双方开始传输数据。

可以这样理解:我是客户端,你是服务器。我发起一个出站连接对你说:“嘿,是这边这个家伙要和你传输数据。”然后服务器说:“好的。”接着我们关闭那个TCP连接。现在,一个新的TCP连接从服务器返回到这个客户端,说:“好的,你准备好传输数据了吗?”客户端说:“好的。”然后它们开始传输数据。你明白这个双向过程了吗?

安全设计与协议理解的重要性

我们将看到这会引起一些问题,但你明白了吗?你必须查看协议是如何工作的。如果有人拍着你的肩膀说“我需要你为FTP做安全防护”,你会说:“好的,那我需要做什么?”答案是,你必须深入研究协议,看看这个。我教了30年书,有很多学生问我:“我如何成为一名专业的网络安全工程师?”30年来,我的答案一直是:首先成为一名专业的网络工程师。深入理解协议、底层原理和服务。因为一旦你做到了,你需要做什么在某种意义上就变得显而易见了。安全防护措施只是叠加在设计之上。安全是一种工程属性,就像可用性、可靠性、可依赖性一样,这些都是系统的属性。当事情被过度强调时,安全本身就被赋予了过多的生命,正如我们在网络安全领域所看到的那样。

我认为,我很乐意承认的一点是,我最希望看到的是网络安全能够嵌入到其他学科中。就像我们是否会站在这里深入讨论可靠性一样?也许我们会,但当我们讨论安全时,我们当然不会眨眼,而它们都是系统的属性。

总结与下节预告

在后续的视频中,我们将查看FTP的防火墙规则。但现在,请给我一个机会,大致揭开FTP工作原理的面纱,并向你展示并非所有协议都像这些容易理解的协议那样显而易见。我们将在下一个视频中回来,详细讲解FTP的防火墙规则。我们回来时再见。


本节课中,我们一起学习了FTP协议的双连接工作机制,理解了其控制连接(端口21)与数据连接(动态端口)分离的设计。这种设计使得它在通过防火墙时需要特殊处理,也为理解网络安全必须基于扎实的网络协议知识这一核心观点提供了例证。

110:FTP的防火墙规则 🔥

在本节课中,我们将探讨一个经典的安全挑战:如何为现有协议(如FTP)添加安全措施。我们将重点分析FTP协议原始设计带来的防火墙难题,并了解工程师们如何通过重新设计协议来解决这个问题。

为现有协议添加安全措施的挑战

上一节我们讨论了安全设计的重要性。本节中我们来看看,当安全需求出现在一个已经广泛使用的协议之后,会面临怎样的困境。

为现有协议或服务添加安全措施通常非常困难。这通常会造成混乱的局面,因为你需要在已经部署好的东西上,想办法融入安全机制。这种“事后补救”总是很棘手。在某些情况下,困难到必须回头重新设计整个系统。

如果你看过我们之前的视频,可能记得我演示过如何入侵一台旧式汽水贩卖机。那个问题是如何解决的呢?答案是重新设计汽水贩卖机。有时除了承认失败并从头开始设计得更好之外,别无他法。在学习网络安全时,请记住这一点:重新设计始终是一个选项。你可以改变事物的设计方式。网络安全不是天文学,无法改变星辰的排列。我们处理的是人造系统。如果你不喜欢某个系统的设置方式,那就改变它。FTP协议就可以被改变。

FTP的原始设计与防火墙问题

FTP的设计存在一个根本问题,导致它与防火墙难以兼容。回顾一下,FTP有一个PORT命令。客户端通过一个出站的TCP连接向服务器发送此命令(如果防火墙规则允许出站连接)。随后,为了传输数据,会建立一个反向的、入站的TCP连接。

我们讨厌这种设计,因为它迫使防火墙必须为第二条连接设置一条规则。例如,一个保护所有客户端的防火墙,必须允许任何来自外部端口21的入站TCP连接。你会对这样一条规则感到放心吗?没有人想要这样的规则。

解决方案:PASV模式(被动模式)

那么他们做了什么?互联网社区提出了一种FTP的新设计,我们称之为PASV模式(被动模式)。有些人称之为防火墙友好模式FTP。

以下是其工作原理的核心流程:

  1. 客户端向服务器发送一个PASV命令。
  2. 服务器响应:“好的,让我们传输数据。顺便说一下,我将在端口3005上监听。” (端口号是动态分配的)
  3. 客户端收到响应后,主动向服务器的端口3005发起一个出站的TCP连接以传输数据。

这种模式的关键改进在于,数据连接也是由客户端主动发起的。服务器只是动态地指定一个端口并等待连接。

新旧模式对比与总结

这种设计带来了一个重要的优化:服务器可以为数据传输动态分配端口。但更重要的是,现在防火墙只需要允许出站连接,而无需允许任何入站连接。这让防火墙工程师们非常满意。

本节课中我们一起学习了网络安全中“事后补救”的挑战。我们回顾了FTP协议原始PORT模式带来的防火墙规则难题,它迫使防火墙必须开放危险的入站连接。接着,我们探讨了解决方案——PASV模式(被动模式)。在这种模式下,所有连接(控制连接和数据连接)都由客户端发起,从而使得防火墙只需配置简单的出站允许规则,极大地提升了网络边界的安全性。

这个故事很好地提醒我们,作为计算机科学家,有时我们必须回头重新设计系统。计算机科学不是自然科学,而是数学与工程科学。我们构建的是人造系统,当我们发现根本性缺陷时,完全可以回头重建它们。希望这个案例对你有启发。我们下节课再见。

111:应用代理过滤 🔐

在本节课中,我们将要学习一种重要的实时网络安全概念——代理。我们将探讨代理的工作原理、它与防火墙中数据包过滤的关系,以及如何利用它来构建强大的安全策略。

概述

代理在网络中扮演着“中间人”的角色。在攻击术语中,这被称为“中间人攻击”,通常带有恶意意图。然而,代理本质上执行相同的功能,但其目的是善意的,用于实施安全策略。当设备A认为它正在与设备B通信时,实际上它是在与代理通信,而代理则代表设备B进行操作,这个过程对设备A可能是透明的。

代理与数据包过滤的结合

上一节我们介绍了数据包过滤的基本概念,本节中我们来看看如何将代理与数据包过滤结合使用。

数据包过滤器通常有三种处理数据包的方式:阻断允许转发。最有趣的是“转发”选项。我们可以设计一个网络架构,让数据包过滤器(通常是一个路由器)将特定的数据包转发给一个运行在应用层的程序,这个程序就是应用代理

例如,当数据包过滤器遇到一个它无法直接做出决策的数据包(比如涉及远程登录的请求)时,它可以将该数据包转发给应用代理。代理可以要求用户输入密码、完成一个验证挑战,或者仅仅记录日志后再将请求传递给真正的目标服务器。这种组合提供了极大的灵活性。

代理的实现方式

以下是两种主要的代理实现方式:

  • 基于客户端的代理:需要在客户端设备上安装特殊的客户端软件。这种方式通常不受欢迎,因为它改变了客户端环境。
  • 透明代理:客户端无需任何修改,它认为自己直接与目标服务器通信,但实际上流量被透明地重定向到了代理。这种方式更受欢迎,因为它实现了“无代理”或“客户端零影响”的部署。

构建安全策略

将数据包过滤和应用代理结合,为我们提供了构建精细安全策略的强大工具。

数据包过滤器可以在底层做出快速决策。例如,它可以配置为:

  • 始终允许网络时间协议(NTP)数据包通过。
  • 仅接受来自特定可信源IP地址(如外包合作伙伴的IP段)的数据包,并将这些数据包转发给代理进行进一步验证。
  • 直接丢弃来自互联网其他任何源地址的数据包。

这种分层方法非常强大。数据包过滤器处理它能快速判断的流量,而将更复杂、需要应用层智能分析的流量交给代理处理。如果策略设计错误,可能导致信息泄露,造成灾难性后果。

现代防火墙的发展

在过去的20年里,一个完整的行业围绕这个理念发展起来。将数据包过滤和代理能力结合在一起的设备,构成了现代防火墙的核心。

像Check Point、Cisco、Juniper等公司的产品提供了惊人的能力。更先进的“下一代防火墙”(来自Fortinet、Palo Alto Networks等公司)集成了更多我们尚未在本视频中讨论的功能,例如深度数据包检查、入侵防御和应用程序识别。

当我们将应用层逻辑(代理)与网络层/传输层过滤(数据包过滤)相结合时,许多真正有用的网络安全防御机制得以实现。

总结

本节课中我们一起学习了应用代理过滤。我们了解到代理是一个善意的“中间人”,用于执行安全策略。通过将其与数据包过滤器结合,我们可以创建分层的安全防御:数据包过滤器进行快速、基础的访问控制,而应用代理则处理需要深度检查的复杂流量。这种架构是现代防火墙的基础,能够实现强大而灵活的网络安全管理。

112:正向与反向代理 🔄

在本节课中,我们将学习网络安全架构中的一个核心概念:代理。我们将重点探讨两种主要的代理类型——正向代理和反向代理,理解它们的工作原理、区别以及在安全设计中的应用。


概述

代理服务器在网络中扮演着“中间人”的角色,代表客户端或服务器处理请求。理解代理的架构对于设计有效的网络安全方案至关重要。本节将解释正向代理和反向代理的基本概念及其在安全环境中的重要性。

代理的基本概念

代理的核心思想是作为一个“中间人”或“中介”。在现代防火墙中,代理是一种内嵌的概念性功能。后续课程会深入探讨防火墙架构,但现在,我们先了解两种常见的代理设置。

正向代理 🚪

正向代理代表一组客户端进行操作。客户端认为自己直接访问了外部目标(例如互联网),但实际上,它们的请求首先被发送到正向代理服务器。

以下是正向代理的典型应用场景:

  • 缓存优化:代理可以缓存常用网页(如一个在线运动鞋商店的页面)。当多个客户端请求相同资源时,代理可以直接返回缓存内容,无需每次都访问外部网络,从而提高效率并节省带宽。
  • 安全网关:在企业环境中,正向代理可以内嵌防火墙功能,代表内部所有客户端过滤出站流量,实施访问控制和安全策略。

正向代理的关键在于它保护并代表客户端

反向代理 🛡️

反向代理则用于保护服务器。当外部客户端试图访问一个或多个后端服务器时,请求会先经过反向代理。

以下是反向代理的核心特点:

  • 服务器保护:反向代理隐藏了后端服务器的真实身份和细节,对外充当服务器的门户。它可以过滤恶意流量、抵御攻击(如DDoS),并实施访问控制。
  • 负载均衡:反向代理可以将传入的客户端请求分发到多个后端服务器,以提高系统的可用性和性能。

反向代理的关键在于它保护并代表服务器

概念辨析与重要性

正向代理和反向代理在技术本质上是相同的(都是中间人),但其逻辑侧重点不同。正向代理侧重于客户端,反向代理侧重于服务器端。

在设计网络安全架构时,真正重要的是“代理”这个概念本身:在通信双方之间插入一个中间层。随着计算日益虚拟化,这种代理功能正成为基础设施的一部分。例如,在软件定义网络(SDN) 和云环境中,安全功能可以内嵌在虚拟基础设施中,作为工作负载之间的一种仲裁机制。服务提供商甚至可以在用户之间部署代理,提供安全仲裁服务。

小测验与总结

假设一个环境内部既有客户端需要访问外部互联网,也有服务器需要对外提供服务。为了提供全面保护,应该部署哪种代理组合?

  • A. 仅部署正向代理
  • B. 仅部署反向代理
  • C. 同时部署正向代理和反向代理

答案是 C。我们需要正向代理来保护出站的客户端,同时需要反向代理来保护对内的服务器。

本节课中,我们一起学习了代理服务器的核心概念,区分了正向代理(保护客户端)和反向代理(保护服务器)的不同角色与用途。理解这一基础架构概念,是构建更复杂网络安全解决方案的重要基石。希望这些概念没有让你感到困惑,我们下个视频再见。

113:专访安全研究员Roger Piqueras Jover 🔐

在本节课中,我们将通过纽约大学对安全研究员Roger Piqueras Jover的专访,了解他进入网络安全领域的历程、对移动通信安全的见解,以及给初学者的职业建议。我们将学习移动网络(如2G、3G、4G LTE)安全性的演变,并理解协议设计中的关键安全概念。

大家好,我是Edroso。在今天的视频采访中,我邀请了我的老朋友兼同事Roger Piqueras Jover。Roger是Bloomberg公司的网络安全研究员和安全架构师。

技术兴趣的起源 🚀

上一节我们介绍了Roger的背景,本节中我们来看看他最初是如何对技术产生兴趣的。

Roger的祖父回忆说,Roger小时候就对机器、汽车和卡车非常感兴趣。物体越大、发出的噪音越多,他就越喜欢。他很小就开始玩乐高积木。他的父母曾担心他会误吞小零件,因为他总是玩适合12岁以上孩子的套装,而包装上建议的年龄是3到7岁。

但Roger表示,真正对技术本身产生兴趣要快进到大学本科时期。他提到,现在很多青少年在15岁就开始学习编程,但他当时并非如此;他15岁时在踢足球和玩电子游戏。

Roger本科时并不确定要学习什么专业。他知道自己想学工程,但不清楚具体方向。最终他选择了电气工程。他回忆道,大一时主要是学习数学和物理等基础课程。到了大二,他开始接触更专业的课程,如无线通信。

他记得学习傅里叶变换的那一天改变了他的人生。那天他理解了汽车收音机的工作原理,明白了收音机上的数字代表什么,以及如何将信号从时域转换到频域进行分析。这让他感到震撼,并确信自己选对了方向。从此,他一直对技术领域充满热情。

进入移动安全领域 📡

了解了Roger的技术启蒙后,本节我们来看看他如何进入移动安全这一特定领域。

Roger被问到是否预见到移动技术会像今天这样改变世界。他回答,当他开始读本科时,自己还没有手机,这在今天是难以想象的。他是在大三时才拥有第一部手机。当时同学们会取笑他,因为他正在学习手机工作原理,自己却没有手机。

他当时并未意识到手机会变得如此不可或缺。最初拥有手机时,他有时甚至不想携带,会把它留在家里。但现在,如果手机忘在家里,他会感到慌乱。他从未预料到手机会发展成今天这样,但他很高兴自己进入了正确的领域。

Roger进入安全领域纯属偶然。他的学术背景一直是无线通信、信号处理和网络。几年前,他得到一个机会,加入AT&T的一个安全研究实验室工作。对方告诉他:“你非常了解手机和蜂窝网络的工作原理,你能想出办法让它不安全吗?”他答应了,就这样进入了安全领域。他从未想过会从事安全工作,但现在看来,这又是一个正确的选择,因为安全和移动性正是当前最重要的领域之一。

移动网络的安全演进与威胁 🔒

上一节我们了解了Roger进入安全领域的契机,本节中我们来看看他对移动网络安全演进的分析。

当被问及是否担心移动威胁时,Roger分享了他的观点。他认为自己是个普通人,因此不必过于担心手机会发生什么。例如,他本人不太在手机上使用移动银行服务。如果要用,他绝对不会在手机连接到GSM(2G)网络时进行。

他告诉大家,只有当连接到GSM网络时,才需要真正担心有人拦截你的流量或进行窃听。除此之外,他并不太担心。但他强调,这是因为他是个“普通人”;如果他是重要人物,比如美国总统,他绝对不会使用安卓手机(他听说总统在使用,但这是另一个话题了)。

关于从1G、2G(GSM)、3G到LTE和5G的演进,安全性似乎随着每一代而提升。Roger在演讲中总是用一张幻灯片来展示移动网络安全性的时间线。

他指出,在第一代移动网络中,甚至不支持加密,起点并不好。
2G中,有了加密,但众所周知,2G只有网络对手机的单向认证。网络可以声称自己是任何运营商,手机会相信,这导致了许多安全问题,例如容易进行窃听。
3G通过引入双向认证和强加密解决了这个问题。
到了LTE(4G),安全性变得更好。

尽管安全性大幅提升,Roger总是提醒人们,即使在LTE下,问题也并非完全不存在。他有一张幻灯片引用了他自己的一句话(这是一个有趣的故事:一次演讲后,有人建议他应该引用自己的话,所以现在他的演讲中总会引用自己)。大意是:尽管人们认为在LTE下这些问题不会发生,比如不会被窃听、不会有伪基站,但实际上,任何LTE设备都会与任何看似是LTE基站的东西交换大量消息。在最终进行认证握手之前(手机会在此刻发现那不是真正的基站),已经有大量消息来回传输。攻击者可以截获、篡改这些消息,进行多种攻击,例如拒绝服务、阻止手机连接,甚至进行窃听。因此,你不需要在GSM网络下才能进行窃听。

Roger总结道,安全性确实变得好多了,但他始终认为还有很多工作要做。他曾与FCC的一些人士交流,并告诉他们,他仍然相信在移动安全领域还有很多需要改进的地方。

加密与协议:安全的核心 🛡️

在讨论了移动网络安全的整体演进后,本节我们深入探讨一个核心问题:加密本身是否牢不可破。

当被问及是否有信心LTE的加密不会被攻破时,Roger表示自己不是密码学家,据他所知,LTE的加密算法没有部分被破解的先例。弱点通常不在加密本身。

根据近八年的安全研究经验,Roger发现,加密算法通常是最不容易被攻破的部分。那是许多非常聪明的人花费大量时间设计的,他几乎无法完全理解。一旦涉及到Alice和Bob之后的密码学细节,他就选择信任专家。通常,问题出在其他地方。

以LTE为例,加密非常强大。但问题在于,在进行加密之前,手机会盲目信任来自网络的任何信息。在双方实际建立加密连接之前,需要互相介绍。如果Roger告诉手机他是Michael Jackson,手机也会相信。这就是问题所在——在进行尚未被破解的加密流程之前,就已经存在安全漏洞。

给初学者的建议 🎓

在探讨了技术细节之后,本节我们转向职业发展,听听Roger对有志于进入网络安全领域的年轻人有何建议。

对于高中生,Roger想说,他高中时有很多朋友认为努力学习没用。但现在,他感激并庆幸自己在高中阶段努力学习了。你可以在高中努力学习,同时晚上踢足球、玩电子游戏。他玩了很多电子游戏,但这确实帮助他在大学取得了好成绩。

如果你想要从事技术工作,上大学非常重要。他并不是说不能自学,实际上他现在也在通过阅读书籍自学很多从未学过的东西。但大学教育无疑为从事技术工作做了非常重要的准备。

Roger还鼓励人们攻读研究生。因为研究生阶段能让你接触一点研究。在高中或本科,你只是上课、学习主题、参加考试,一切都有明确的指引。而在研究生阶段,一旦你参与研究,情况就不同了:你会面对一个领域,那里可能存在问题,需要你去发现和解决。这能培养你的独立性,教会你如何思考和分析现实世界的问题。

这听起来可能有些矛盾,但Roger认为,当你在大学或研究生阶段,完成了课程学习,正在学习新知识时,那是你学习能力最强的时刻。你面对一个未知领域的问题,必须查阅相关书籍和论文来学习。因此,他强烈鼓励人们这样做。

Roger很高兴自己一路走来,虽然很多事情都是偶然。他在巴塞罗那完成本科学业时,当时并不流行读研。但他的一位至今仍是朋友、现在住在纽约的朋友告诉他,申请奖学金或读研可能是个好主意。于是他申请了,并且获得了奖学金,这把他带到了美国。

他建议,你应该试着思考自己想做什么,并寻找有趣的事情去做。Roger非常高兴的一点是他真的很享受自己的工作。这并不常见,但他觉得自己能达到这一点,是因为他探索了这条道路:上了大学和研究生,尝试了不同的事情。最终,事情进展顺利。

总结 📝

本节课中,我们一起学习了安全研究员Roger Piqueras Jover的职业生涯路径。我们回顾了他从对机械感兴趣到通过傅里叶变换爱上无线通信的过程,了解了他偶然进入移动安全领域的经历。我们重点分析了移动通信网络(从1G到4G LTE)安全性的演进历程,明白了加密算法本身通常坚固,但协议设计(如认证流程)往往是安全链中的薄弱环节。最后,Roger为初学者提供了宝贵的建议:重视高中和大学的基础教育,考虑攻读研究生以培养研究能力和独立性,并勇于探索,寻找自己真正热爱的方向。

114:实时安全与防御架构 🛡️

在本模块中,我们将学习企业环境中的实时安全技术。主要内容包括高级防火墙架构与设置、入侵检测与防御系统,以及安全运营中心的基础知识。这些是用于阻止网络攻击发生或在攻击发生前进行防御的实用方法。

课程概述与学习资源 📚

上一节我们介绍了本模块的学习目标,本节中我们来看看完成学习所需的推荐资源。

以下是本模块的核心阅读材料和参考资料:

  • 必读论文
    • 《An Evening with Berferd》:作者比尔·切斯维克。这篇论文记录了一次追踪并“诱捕”一名自称“Berferd”的黑客的经典案例,被认为是网络安全领域的必读文献。
    • 《An Intrusion-Detection Model》:作者多萝西·丹宁。这篇论文为入侵检测系统奠定了理论基础,是理解IDS工作原理的重要文献。

  • 可选书籍

    • 《From CIA to APT: An Introduction to Cybersecurity》:作者Ed与Matt Amoroso。这是一本可选电子书,与本模块相关的内容主要集中在第21和22章。
  • 推荐视频

    • 《Defcon 2015: Building a Security Operations Center》:该视频提供了关于建设安全运营中心的实用建议,值得观看。

希望你能立即开始本模块的学习,并享受这个过程。

115:防火墙架构第一部分 🔒

在本节课中,我们将学习构建非军事区(DMZ)或边界网络的核心组件及其不同架构方式。我们将探讨三种主要的防火墙部署方案,分析各自的优缺点,并理解为何复杂的组织倾向于选择更灵活的边界网络设计。

概述

非军事区或边界网络的基本构建模块主要包括包过滤器应用代理。我们将探讨几种不同的网络架构方式。作为安全工程师,在尝试保护一个网络免受另一个网络侵害时,需要考虑一些合理的架构方案,这本质上就是我们之前定义的防火墙功能。

三种防火墙架构方案

上一节我们介绍了防火墙的基本概念,本节中我们来看看三种具体的实现架构。

方案一:路由器包过滤

第一种方案是最经济、最简单的选择:使用一台原生支持包过滤功能的路由器。几乎所有路由器都具备此功能。

以下是该方案的优缺点:

  • 优点:成本低、结构简单、易于部署。
  • 缺点:功能有限。它只能执行丢弃或允许数据包的基本操作。

因此,你可以将一台路由设备作为你的DMZ。

方案二:包过滤器结合应用代理

第二种方案是部署一个包过滤器,并连接一个应用代理。路由器有多个接口,其工作原理是引导流量。一种可能是引导流量通过路由器进入或离开局域网;另一种可能是路由器决定将流量转发给代理,以便在应用层进行处理。

这种方案的优点是比单纯使用路由器提供了更多能力。但它的成本也更高一些。实际上,防火墙行业已经将这两种功能打包成一个产品,无论是作为数据中心机架中的硬件设备,还是作为云操作系统中接收数据包的软件虚拟设备,都取得了巨大成功。

方案三:构建非军事区(边界网络)

第三种方案可能是几乎所有大型企业、政府机构、军队等实质性组织都会采用的方式,即构建我们所谓的非军事区或边界网络。

具体做法是:部署一台面向非受信侧(如互联网)的路由器,称为外部路由器;再部署另一台面向你试图保护的局域网的路由器,称为内部路由器。这两台路由器共享一个接口,这个接口所在的网络就是你可以扩展并放置各种有趣组件的地方。

以下是可以在DMZ中部署的组件示例:

  • 应用代理。
  • 针对各种不同协议的应用防火墙。
  • 负载均衡器(例如,将HTTP流量负载均衡到特定设备,或将电子邮件流量负载均衡到另一台设备)。
  • 审计机制,如日志文件管理和审计跟踪。
  • 数据防泄漏保护系统。

设计这些架构非常有趣,你可以将各种组件组合到网络中。边界网络为你提供了极大的创造空间。

架构总结与对比

从根本上说,你有这三种选择:一台路由器、一个可能包含路由功能的防火墙设备,或一个完整的边界网络

如今大多数公司都意识到,路由器相当便宜。如果采用虚拟化技术,它们不仅是成本低廉的硬件,还可以是完全基于软件的形态,运行在云操作系统中,这非常有趣。

综合来看,边界网络的优点在于它是最灵活、功能最强大、提供选项最多的方案。其缺点是成本最高,并且需要投入一些时间和精力进行管理。

因此,你可能不会为家庭网络部署边界网络。但如果你经营的是小型、中型或大型企业,那么你可能需要考虑一下边界网络架构。

知识测验

为了检验我们对这些内容的理解,这里有一个小测验。

问题:构建非军事区(DMZ)的主要原因是什么?

  • A. 处理应用层协议
  • B. 提供负载均衡
  • C. 处理更复杂的流量场景
  • D. 降低网络成本

答案:C

在所有选项中,C可能是最佳答案。当然,你也可以为其他选项提出一些理由(例如,应用层协议可能无法在路由器层面处理)。但最主要的原因是我们需要构建非军事区来处理更复杂的流量场景,这正是我们最初设计边界网络的目的。

总结

本节课中,我们一起学习了边界网络设计的三种主要阶段或方案。我们从最简单的路由器包过滤,讲到结合应用代理的增强方案,最后深入探讨了功能全面、高度灵活的边界网络架构。希望你对这些内容有所收获,并在后续视频中继续与我们深入探讨。我们下节课再见。

116:防火墙架构第2部分 🔥

在本节课中,我们将探讨网络架构设计中一些不合理的配置方案。理解这些“反面教材”对于构建安全、高效的网络至关重要。

上一节我们介绍了防火墙的基本概念,本节中我们来看看一些需要避免的架构设计。

不合理的网络架构示例

有时,将网络设备以某种方式组合在一起的架构或设置是不可取的。并非所有创造性的路由器、网络、设备和服务器连接方案都能正常运行。错误的配置通常会导致混乱。

网络管理员会指出,错误的配置会导致所需功能缺失,例如用户无法连接打印机、互联网、彼此或获取电子邮件等基本服务。而从网络安全的角度看,某些配置会带来严重的安全隐患。

以下是一些需要避免的配置案例:

  • 直接无防护连接互联网:这是最明显的错误。不设置任何安全措施、保护或过滤就直接连接互联网是极其糟糕的想法,有时这被称为“裸奔上网”。其风险不言而喻。
  • 穿越DMZ的内部流量:这是一个更微妙但同样严重的问题。如下图所示,如果局域网有两个网段通过各自的路由器连接互联网,并且配置不当,客户端与服务器之间的最短路径可能会穿过非军事区(DMZ)

将用于隔离外部流量的外围网络(DMZ)用于正常的日常内部流量,是绝对不可取的做法。这就像穿越朝鲜半岛的非军事区去上学一样不合逻辑。DMZ不是为常规流量设计的。

核心设计原则:复杂性与安全性

从这些案例中可以总结出一个普遍原则,在规划网络时请务必牢记:

网络复杂性的增加通常与安全防护水平成反比。

这意味着,网络变得越复杂,从安全角度看出现问题的可能性就越大。反之,简化网络结构通常能提升安全性。这几乎总是成立的。

当然,完全不设防连接互联网是最简单的极端情况,但这显然是荒谬的,应排除在外。真正的敌人往往是不必要的复杂性

下图展示了网络连接的复杂性谱系:

理想情况下,拥有一个简单的单一互联网接入点是最合理的。然而,大多数企业有着复杂的连接需求:需要连接外包供应商、第三方、客户,员工需要从家或咖啡馆远程办公,这导致了众多网关的出现。结果不仅是复杂的单一外围,更是多个分布式网关的集合,这使得统一安全管理变得极其困难。

应对策略:化整为零

这暗示了一个基本的设计属性:对于一个庞大、复杂、难以整体防护的组织,是否有办法将其“化大为小”?

这让我想起计算机科学先驱艾兹格·迪杰斯特拉提出的一个经典概念。在六七十年代,计算机科学家们意识到,协作进程间的分布式通信是设计计算机系统和网络最强大的方法之一。

他有一个关于“大象”和“蚊子”的生动比喻,这对于思考安全问题非常有帮助:

  • 大象:从安全角度看,大象是一大团东西。攻击者只需一枪就能击倒它(比喻)。
  • 蚊子群:如果你把大象分解成一群蚊子,它的弹性就强得多。要消灭它们会困难得多,虽然需要协调蚊子间的通信,但保护其中每一个“蚊子”会变得容易得多。

在设计分布式架构时,请记住这个比喻。将大型网络或系统分解为更小、更易管理的安全单元(即“安全域”),是提升整体韧性的有效策略。

总结与指南

本节课中我们一起学习了防火墙架构中需要避免的陷阱和核心设计思想。

回顾一下,不合理的边界架构包括:无安全措施连接互联网、让内部流量穿越DMZ,以及因网关过多导致策略无法统一协调和管理的情况。

请记住这些有用的指导原则:

  1. 避免不必要的复杂性:简洁的架构通常更安全。
  2. 隔离流量:确保DMZ仅用于其设计目的,隔离内外部流量。
  3. 化整为零:考虑将大型复杂网络划分为更小、更易防护的安全域。

希望本课内容对你有所帮助。

117:例外管理 🚨

在本节课中,我们将学习网络安全中的一个核心概念——例外管理。这个概念由网络安全先驱多萝西·丹宁提出,其核心思想是通过观察系统的正常行为模式,来识别可能预示安全问题的异常活动。


课程概述

多萝西·丹宁是一位杰出的计算机科学家和网络安全先驱。她在上世纪70年代至90年代,乃至今天,都为网络安全领域做出了巨大贡献。她在一篇标志性的技术论文中提出了一个深刻观点:通过收集和分析系统的行为信息,并从中寻找异常例外不寻常的模式,可以提示潜在的安全问题。

这个观点看似简单,但她阐述得非常清晰。回顾我本人在电信行业三十年的经历,电信网络的管理方式长期以来都基于一个非常相似的原则,我们称之为例外管理

什么是例外管理?

例外管理意味着持续观察网络或系统的行为。你可以每小时、每天、每周、每月甚至每年地进行观察,并持续跟踪和构建一个行为档案,以理解什么是“正常”状态。

这个档案的建立基于实际观察和数据,而非理论假设。例如,观察纽约市的交通流量:从午夜开始流量较低,凌晨三点左右达到最低点,四五点开始回升,白天非常繁忙,晚餐时间略有下降,夜晚再次回升,到午夜又回落。每天我们都能看到类似的曲线。

如果你每天都观察,你会对正常模式非常确信。以至于如果蒙上眼睛,仅凭街上的人流量,你很可能就能推断出大致的时间点。

例外管理的核心价值

上一节我们介绍了如何建立正常行为档案,本节我们来看看它的核心应用。例外管理的价值在于:当你对“正常”有了清晰定义后,就可以基于例外进行管理

这意味着,当你突然观察到流量激增或骤降时,就需要采取行动。因为观察到的现象与预期不符。当观察与预期出现差异时,就可能存在问题。这正是多萝西·丹宁为我们指出的关键关联。

以下是例外管理的关键步骤:

  1. 持续观察:收集系统或网络的行为数据。
  2. 建立档案:基于历史数据,定义“正常”行为模式。
  3. 识别异常:将实时观察数据与“正常”档案进行比对。
  4. 触发响应:当检测到显著偏差时,启动调查或应对措施。

这种方法对于处理安全性、可靠性、可用性和依赖性等问题至关重要。它是一个超越具体技术和学科的基础性思想,其理论核心是:安全事件的发生,通常会通过改变系统行为档案而暴露出来

例外管理的应用场景

那么,例外管理在哪些场景下特别有用呢?无论是在基于特征(签名)的检测中,还是在实时监控中,它都极具价值。

实际上,它的应用非常广泛。请思考以下哪种场景能受益于例外管理:

  • A. 基于特征的入侵检测系统
  • B. 实时网络流量监控
  • C. 用户行为分析
  • D. 以上所有

答案是 D. 以上所有。例外管理几乎与任何需要监控和异常检测的场景都完美兼容且非常有用,无论是否可能预定义特征,也无论是实时还是事后分析。

总结

本节课中,我们一起学习了网络安全中的例外管理原则。我们了解到,通过持续观察并建立系统正常行为的基准档案,我们可以有效地识别出可能预示安全威胁的异常活动。这是一个强大且基础的方法,希望它能帮助你在未来进行系统设计时,将安全考量融入其中。

记住这个简单的流程:观察 -> 建立基准 -> 对比 -> 对异常采取行动。我们下次课再见。

118:系统审计 🔍

在本节课中,我们将要学习网络安全中的一个核心概念——审计。我们将探讨审计的本质、其重要性以及如何从不同层面实施审计。

概述

审计在网络安全中扮演着关键角色。它并非指人类进行的审查,而是指计算机进程收集数据并生成日志文件的过程。自早期大型机系统以来,生成日志文件就已成为网络安全的基础。我们收集数据,并以此为基础进行分析。如今,大数据分析、人工智能和机器学习都依赖于这些数据。那么,这些数据从何而来?我们可以建立一个有效的分类体系来理解它。

审计的两种视角

在深入分类之前,我们先从两个角度理解安全策略的实施方式。

一种方式是仲裁。这类似于传统的引用监视器概念,即安全组件主动介入通信过程。例如,当Alice试图连接Bob时,安全系统位于中间,根据策略决定是否允许连接。其逻辑可以表示为:

if (policy.allows(Alice, Bob)) {
    allowConnection();
} else {
    denyConnection();
}

另一种方式是审计与裁决。安全系统不主动干预Alice和Bob的通信,而是记录下发生的一切。如果之后双方产生纠纷,就可以依据这些记录(证据)进行裁决。这类似于法院系统:法官不预先阻止事故,但人们知道自己的行为会被记录和评判,从而可能更谨慎地行事。这种“事后追责”的威慑力,是网络安全中一个有趣且重要的思路。

审计的分类框架

接下来,我们看看审计数据的两种主要来源,这构成了我们分类框架的基础。

审计数据可以来自两种不同的方式:

  1. 内部生成:系统或代码原生嵌入了信息生成功能,从一开始就被设计为能向外发出关于其运行状态的信息。例如,大多数操作系统都会原生生成日志文件。
  2. 外部收集:从系统外部附加机制进行监控。例如,通过网络分路器(Tap)、镜像端口(SPAN Port)或外部摄像头来收集数据,这些行为独立于系统本身的运行。

一个系统可以同时采用这两种方式。但如果购买的系统没有内置审计功能,你就必须进行外部监控。

审计的三个层级

明确了数据来源后,我们来看看在计算机科学中,通常从哪三个层级进行审计。

以下是审计实施的三个主要层级:

  • 应用层:与用户界面和高级功能相关。例如,你的浏览器生成的浏览历史,就是应用层内部组件产生的行为记录。
  • 系统层:通常指操作系统或内核,即驱动计算机或设备核心功能的代码。如前所述,操作系统通常有内部生成的日志文件。如果没有,则需要寻找在运行时环绕操作系统、记录其行为的外部工具。
  • 网络层:在此层级,你需要清楚了解网络上发生了什么。通常,通过分路器或镜像端口进行外部观测,比网络设备原生生成审计日志更为常见。因为网络最初的设计目的是传输数据包,而非暴露大量内部信息(尽管现在很多网络设备也具备此功能)。

设计考量与总结

将“内部/外部”两种来源与“应用/系统/网络”三个层级结合,就得到了六种可能的审计方案组合。

作为系统工程师、开发人员或设计师,在设计系统时,必须将这些可能性牢记于心。审计能力是对防火墙、引用监视器等主动仲裁型安全措施的重要补充。它提供了基于证据进行判断和裁决的能力。

本节课中我们一起学习了:网络安全中审计的核心概念。我们了解了审计作为“记录与裁决”视角的价值,学习了审计数据的两种来源(内部生成与外部收集)以及实施的三个层级(应用层、系统层、网络层)。这个分类框架能帮助我们在设计安全系统时,有意识地构建有效的证据收集机制,为安全分析和事后响应奠定坚实基础。

119:入侵检测基础 🛡️

在本节课中,我们将学习网络安全中的一个核心概念——入侵检测系统。我们将了解它的基本工作原理、两种主要类型,以及它在实际应用中的优势和面临的挑战。

概述

入侵检测系统是一种用于监控网络或主机活动,并根据预定义的规则或“特征”来识别潜在恶意行为的工具。它就像一个数字哨兵,在后台默默观察,一旦发现可疑活动就会发出警报。

入侵检测的基本流程

入侵检测系统的工作流程可以概括为四个核心步骤。以下是这四个步骤的详细说明:

  1. 攻击活动发生:攻击者开始进行恶意尝试,例如连续猜测用户密码。
  2. 流量收集:入侵检测系统同时从网络或主机上收集相关的数据包或活动日志。
  3. 特征匹配:系统将收集到的数据与内置的攻击特征库进行比对。特征库包含了已知攻击模式的描述。
  4. 发出警报:一旦检测到的活动与某个特征匹配,系统就会触发警报,通知安全团队。

一个简单的例子是:如果系统检测到同一用户在短时间内(例如一分钟内)连续三次输入错误的密码,就会触发警报。

入侵检测系统的类型

根据部署位置的不同,入侵检测系统主要分为两种类型。以下是这两种类型的介绍:

  • 网络入侵检测系统:部署在网络中,监控流经特定网段的所有数据包。
  • 主机入侵检测系统:部署在单个主机(如服务器或工作站)上,监控该主机上的系统活动、文件更改和日志。

这两种系统都执行数据收集、特征匹配和警报通知的功能。

特征的挑战与攻击变体

上一节我们介绍了入侵检测系统如何依赖特征进行工作,本节中我们来看看这种机制面临的一个主要挑战:攻击变体。

特征匹配的一个关键弱点是其可能被时间或行为上的微小变化所绕过。例如,如果一个特征被设定为“一分钟内三次错误密码尝试”,那么攻击者只需将三次尝试间隔拉长到超过一分钟,就可以避免触发警报。

这种为了绕过特定检测特征而改变攻击方式的行为,就称为 攻击变体

从防御者角度看,迫使攻击者改变行为、降低攻击效率本身就是一种成功。但从攻击者角度看,他们可以轻松地调整策略来绕过检测。这种“猫鼠游戏”是网络安全领域的常态。

思考:网络与主机的检测效果

作为对上述概念的延伸思考,我们可以比较一下两种入侵检测系统在应对变体攻击时的潜在效果。

你认为在检测行为变体方面,是网络入侵检测系统更有效,还是主机入侵检测系统更有效?还是说两者差别不大?

实际上,很多时候底层技术的重要性不如基础概念本身。这里的核心基础概念就是 变体。攻击者改变行为,防御者则试图通过设计规则来影响和增加攻击者的成本。

总结

本节课中我们一起学习了入侵检测系统的基础知识。我们了解了它的工作流程、两种主要类型(NIDS和HIDS),并深入探讨了其依赖特征匹配的核心机制以及面临的“攻击变体”挑战。理解这些基础概念,对于构建更有效的安全防御策略至关重要。

120:签名与行为检测 🎯

在本节课中,我们将学习网络安全领域中的一个专业方向——威胁狩猎。我们将探讨威胁猎人如何通过收集数据、进行分析,最终推导出可指导行动的情报。这个过程结合了侦探工作、数学分析以及对特定系统(如银行或发电厂)基础知识的理解。


什么是威胁狩猎?🔍

威胁狩猎,有时也称为网络狩猎或攻击狩猎,是网络安全领域的一项专业活动。威胁猎人通常在公司的安全运营中心、政府机构或军队中工作。他们的核心任务是访问信息、提取信息、分析信息,并尝试得出结论。我们将从原始数据出发,经过处理并得出结论的整个过程称为“推导情报”。具体来说,就是收集数据 -> 分析数据 -> 推导情报。这个完整的过程就是威胁狩猎。

上一节我们介绍了威胁狩猎的基本概念,本节中我们来看看威胁猎人具体的工作场景和所需的技能。

威胁猎人需要扮演侦探的角色,其中涉及一些数学分析,当然还必须理解所监控系统的基础知识。例如,如果你在一个大型工业控制系统(如发电厂)中进行威胁狩猎,你就需要了解发电厂如何运作。如果你为银行做同样的工作,你就需要了解金融交易。因为你的目标是寻找可能由恶意入侵者设置、意图损害公司的活动条件。攻击银行的方式是针对其财务系统,而攻击发电厂的方式则是针对其运营系统。因此,威胁猎人的存在就是为了尝试检测并(希望)在问题发生前进行预防。


威胁狩猎的简单案例 📊

让我们来看一个非常简单的案例,这与我们之前的一些讨论非常一致。

我们有一个审计日志,可以将其视为一个汇集了所有信息的大数据湖。你会看到那里有一整串活动记录。现在,当你立即查看图表时,重要的是要意识到其中包含大量不相关的日志活动记录。这意味着并非所有记录都是你要寻找的内容,中间还夹杂着许多其他无关信息。

因此,进行狩猎时通常首先要做的是:你需要访问所有数据,并且必须找到一种方法来识别相关的内容。在图表上,你可以看到用虚线框出的阴影部分,那是在一个大型审计日志中发生的密码猜测活动,其中夹杂着大量与密码猜测完全无关的内容。猎人需要梳理这些信息。

图表看起来非常明显,你可能会说:“哦,看,这太明显了,在PPT图表里都标阴影了。”但在现实中,这一点也不明显。你可能需要在海量数据中搜寻,有时就像大海捞针。

一旦明确了这一点,那么显然,下一步就是进行某种分析。


分析方法:签名与异常管理 ⚙️

签名分析一直是基础方法,但正如我们在其他视频中讨论过的,也存在进行某种行为分析的可能性。

以下是威胁猎人可用的主要分析工具:

  • 签名分析:基于已知攻击模式或恶意软件特征的检测。
  • 异常管理:利用行为画像,并检测与正常行为的偏差。
  • 预期与实际对比:关注实际发生的情况与预期情况之间存在差异的领域。

以上所有方法都是威胁猎人可用的工具,用于尝试推导出某种情报。

我想让你从中理解的是:你收集数据。在收集时,只获取相关的内容并不容易。你收集一切,然后必须进行某种过滤以找到相关项。你进行分析,这可能基于签名、基于行为画像,或者基于其他因素,比如由你对业务运作方式的理解所驱动的某种情报。然后,你从中推导出有用的情报,并据此采取行动(或由他人采取行动),例如关闭系统、报警等,也可能你得出结论认为无事发生。


总结与测验 ✅

威胁狩猎是一个令人兴奋的学科,我认为它作为网络安全职业的一个组成部分,未来将显著增长。

现在,让我们测试一下理解程度。这里有一个小测验。

问题:威胁猎人在安全运营中心可能使用以下哪些方法来推导情报?
A. 签名分析
B. 行为画像分析
C. 业务逻辑分析
D. 以上所有

显然,答案是 D,对吧?当你思考在安全运营中心进行狩猎时,你的直觉会是:将存在许多不同的条件和许多不同的方法可以用来推导情报。这确实是网络安全中一个令人兴奋的分支,希望这个小视频能激励你们中的一些人将此作为潜在的职业方向来追求。

本节课中我们一起学习了威胁狩猎的核心流程:从海量数据中收集信息,通过过滤找到相关线索,并运用签名分析、行为画像和业务知识等多种工具进行分析,最终推导出能够指导安全行动的情报。这是一个结合技术、分析与领域知识的综合性专业方向。

希望这节课对你来说既有趣又有帮助。我们下个视频再见。

121:入侵检测系统与入侵防御系统 🛡️

在本节课中,我们将要学习网络安全中的两种基础技术:入侵检测系统与入侵防御系统。我们将探讨它们的工作原理、核心区别以及各自的优缺点。

概述

入侵检测系统与入侵防御系统是网络安全架构中的重要组成部分。它们负责监控网络流量,识别恶意活动,并采取相应措施。理解两者的差异对于构建有效的安全防线至关重要。

入侵检测系统:被动的观察者

上一节我们介绍了课程概述,本节中我们来看看第一种技术:入侵检测系统。

IDS是一种被动设备。它收集数据,但不会介入到通信双方(例如Alice和Bob)的交互中充当仲裁者。它的角色是观察。可以将其想象成一个摄像头,它收集数据,在某种意义上记录正在发生事件的“录像带”。

IDS内部可能进行大量处理,可以看作是离线处理。它可能会基于观察到的情况通知相关人员,例如管理员或系统用户,并让他们决定采取何种行动。但IDS本身并不原生执行这些操作。

入侵防御系统:主动的干预者

了解了被动的IDS后,我们来看看更主动的对应物:入侵防御系统。

在20世纪90年代末、21世纪初,人们注意到一个常见场景:Alice攻击Bob,IDS发现了来自IP地址192.1.2.3的客户端对服务器的扫描探测,并判定为异常。这通常会导致通知人类管理员,由管理员手动在防火墙上添加规则来阻止该IP地址。这个过程可能需要数分钟、数小时甚至数天。

于是人们思考:如果这是一个主要用例,为何不将其自动化?因此诞生了IPS的概念。当IPS检测到恶意活动(如扫描)时,它会自动阻止该IP地址,这个过程称为“屏蔽”。

IPS会主动参与到客户端与服务器的交互中。它基于设备的检测组件,像防火墙一样工作。你可以将其视为有两种状态。

以下是IPS的工作流程:

  1. 客户端和服务器通过IPS连接。
  2. 客户端行为异常。
  3. IPS中本质上相当于IDS的组件(现在是在线部署,而非被动离线)进行检测。它可能部署在防火墙正前方,通过匹配特征等方式进行分析。
  4. 当它判定探测行为过度时,会在其自身的直通语义中插入一条规则。这条规则类似于防火墙规则,会“屏蔽”该源地址——即丢弃来自该源的所有后续数据包,不允许其通过。

IDS与IPS的利弊分析

我们已经了解了IPS如何自动化响应,现在我们来分析这种主动方式的优点和缺点。

主要优点是无需人工介入和修改防火墙的整个循环过程,节省了大量时间。

主要缺点也正是失去了这个人工循环。我们知道,在互联网上可以伪造源IP地址。攻击者Alice可以伪装成George的IP地址发送流量(例如在不需要返回SYN-ACK包的SYN Flood攻击中)。IPS检测到恶意流量后,会自动屏蔽“George”的IP地址。这实际上欺骗了IPS的屏蔽机制,导致受害者George被阻止合法访问服务器。这是IPS的一个弱点。

这个弱点非常显著,以至于许多安全团队表示他们以被动模式运行IPS。这意味着他们支付了比IDS更昂贵的费用购买IPS及其许可证,却只使用其相当于廉价IDS的功能。这就像买了一辆车却从不打开收音机。

有人认为,让IPS随意决定丢弃哪些流量可能过于危险。但反过来说,如果你购买并喜欢它,就应该使用它的全部功能,否则不如直接购买一个IDS。

总结

本节课中我们一起学习了入侵检测系统与入侵防御系统的核心知识。IDS是被动的观察设备,负责检测和告警;IPS是主动的防御设备,能够自动拦截恶意流量。IPS虽然能节省时间,但也存在因IP地址欺骗而导致合法用户被误屏蔽的风险。理解两者的区别和适用场景,是成为网络安全专家的必备知识。

网络安全入门:第33讲:SIEM设计 🛡️

在本节课中,我们将要学习一个在企业和政府网络安全防御中至关重要的工具——SIEM。我们将了解它的核心概念、工作原理以及在实际应用中的价值与挑战。


什么是SIEM?

SIEM,全称安全信息与事件管理系统,是网络安全团队为了应对海量、异构的审计日志而设计的解决方案。

在之前的课程中,我们了解到操作系统、应用程序(如浏览器)以及网络设备都会生成大量的活动日志信息。这些日志格式各异,来源分散。如果安全分析师需要为每一种日志都使用一个独立的分析工具,或者面对数十个屏幕来手动关联信息,效率将极其低下,威胁狩猎工作将变得异常困难。

因此,SIEM应运而生。它的核心思想是:将来自不同源头、不同格式的日志数据,统一转换到一个通用的数据模型中

SIEM如何工作?

SIEM通过一个关键组件来实现数据标准化:连接器

以下是SIEM处理数据的基本流程:

  1. 数据收集:各种系统(如应用程序服务器、Linux主机、防火墙)持续生成原始日志。
  2. 数据标准化:连接器会“翻译”这些原始日志。无论输入格式如何,连接器都会提取关键信息(例如:发生了什么事件?发生时间?来源系统?相关用户?威胁等级估计?),并将其填充到一个预定义的标准模板中。
  3. 统一存储与分析:所有经过标准化的日志数据被存入一个中央数据库。此时,威胁猎人就可以在一个统一的界面上,对所有数据进行关联分析和查询。

核心优势示例
假设一个Web应用日志记录了一次来自IP地址 192.168.1.100 的可疑攻击尝试。同时,一台毫不相干的Linux主机的系统日志也记录了一次来自 192.168.1.100 的异常内核访问。由于SIEM已将这两条日志标准化,分析师可以轻松地执行如下查询:

SELECT ip_address, COUNT(DISTINCT source_system) as attack_targets
FROM normalized_logs
GROUP BY ip_address
HAVING attack_targets >= 2;

查询结果会立刻高亮显示 192.168.1.100 这个IP地址同时攻击了多个目标,从而快速发现潜在威胁。

实施SIEM的挑战

尽管SIEM功能强大,但其实施和管理也面临主要挑战:连接器的开发与维护

现实环境复杂多样,包含了各种应用程序、大型机、移动设备、云服务(如Office 365、AWS)以及来自其他安全工具的数据流。让SIEM能够理解并接入所有这些数据源,需要为每一个数据源类型开发或配置对应的连接器。

因此,运行SIEM环境的一项持续工作就是管理这些连接器。许多SIEM供应商也将其产品与常见系统的预集成能力作为重要的市场卖点。

SIEM的输出与价值

将所有日志数据归一化后,SIEM能够输出强大的能力,主要包括:

  • 关联分析:跨系统、跨时间关联事件,发现隐蔽的攻击链条。
  • 事件响应:提供标准化数据,加速安全事件的调查与处置流程。
  • 报告生成:基于统一数据,生成合规性报告和安全态势报告。

总结

本节课中,我们一起学习了安全信息与事件管理系统的核心概念。SIEM通过连接器将异构的日志数据转换为通用数据模型,解决了安全分析师在多源日志中难以进行关联分析的痛点。它是一个强大的中央化安全分析平台,但其部署和维护的复杂性主要在于对接各种数据源。在企业安全实践中,SIEM已成为威胁狩猎和安全运营的中心工具。

123:SOC设计 🛡️

在本节课中,我们将要学习安全运营中心(SOC)的核心概念与设计原理。SOC是现代企业,尤其是大型组织,用于集中监控、分析和响应网络安全威胁的关键设施。我们将探讨其数据收集、分析流程以及实际运作方式。

概述

安全运营中心是一个集中化的设施,负责实时监控和分析来自组织内外的安全数据。其核心目标是通过收集大量数据并进行分析,以检测和应对潜在的安全威胁。SOC的设计强调数据的融合与实时决策,是网络安全防御体系中至关重要的组成部分。

上一节我们介绍了网络安全的基础监控概念,本节中我们来看看SOC的具体设计与运作机制。

SOC的核心功能

SOC的核心功能是收集、关联和分析来自多源的数据,以生成可操作的安全情报。这包括内部数据(如防火墙日志、系统日志)和外部数据(如威胁情报、供应商信息)。通过融合这些数据,SOC能够更准确地识别异常行为和潜在威胁。

以下是SOC运作中的几个关键元素:

  1. 内部数据收集:SOC从组织控制的内部基础设施(如防火墙、服务器、应用程序)收集日志和事件数据。这些数据是私有的,通常不对外公开。
  2. 外部数据收集:SOC同时从互联网、第三方供应商、客户以及其他合作伙伴处获取外部威胁情报和数据。
  3. 全源数据关联:将内部和外部数据进行关联分析的过程,被称为“全源数据收集与关联”。这有助于形成更全面的威胁视图。
  4. 数据融合:将具有不同属性和特征的数据整合到一个统一的数据模型中,这个过程常被称为“融合”。这与安全信息与事件管理系统的原理相似。
  5. 基于异常的管理:SOC通常通过监控大屏展示预测性行为模式,一旦发现偏离常态的异常活动,便立即采取行动。

SOC的运作体验与价值

在SOC中工作,意味着需要处理海量数据并做出实时决策。这种环境充满挑战,也能极大地提升个人对网络安全系统及计算技术的理解。对于初学者而言,在SOC实习或工作是积累实战经验的宝贵机会。

以下是参与SOC工作的主要价值:

  • 提升实战技能:学习如何收集数据并基于数据做出实时决策,能深化对网络安全运作机制的理解。
  • 理解技术本质:这种经历能磨砺你对计算和技术工作原理的认知。
  • 推荐实习途径:对于有志于网络安全领域的人,在大型、活跃的SOC进行实习是一次极佳的学习和成长机会。

数据量与情报质量的关系

数据规模直接影响SOC产生的威胁情报质量。这是一个基本原则:数据越多,融合中心生成和推导出的威胁情报就越好、越准确

我们可以用一个类比来理解:如果只知道个别城镇的天气,很难做出广泛的天气预报。但如果拥有全球每个城镇、每个州、每个国家的天气数据,就能识别出模式、预测变化,从而做出极其准确的天气判断。同理,SOC整合的内外部数据越丰富,其威胁检测和态势感知能力就越强。

总结

本节课中我们一起学习了安全运营中心的设计与运作。我们了解到,SOC通过融合内外部数据(全源数据关联),在统一的数据模型中进行实时分析,以实现基于异常的安全监控与管理。在大型、数据丰富的环境中,SOC能发挥最大效能,生成高质量威胁情报。希望你能在职业生涯中有机会亲身体验在这样一个充满活力与挑战的环境中工作。

124:采访Dino Dai Zovi 🔐

在本节课中,我们将跟随纽约大学的课程,聆听安全专家Dino Dai Zovi的见解。Dino是Capsule8公司的首席技术官,专注于Linux安全。我们将探讨他进入网络安全领域的历程、对Linux安全性的看法,以及他对行业未来的展望。

背景与动机 🚀

上一节我们介绍了课程背景,本节中我们来看看Dino及其公司为何专注于Linux安全。Dino指出,他们看到了技术栈的转变。大型公司,尤其是硅谷的公司,在构建生产环境时自然地选择了Linux。Linux允许他们实现更深层次的控制,使一切变得软件定义,这成为了他们生产环境的架构。他们看到这种趋势随着云计算和容器的普及,也扩展到了更传统、更注重安全的企业。许多企业过去习惯使用的工具并不适合工程师、运维人员以及市场本身带来的这波新技术浪潮。因此,他们希望为这些企业创造更好的工具。

黑客精神与入门之路 🧩

了解了Dino的工作背景后,我们来看看他个人是如何对网络安全产生兴趣的。Dino首先澄清了他对“黑客”的理解。他认为黑客精神意味着为事物寻找创造性的解决方案,即解决难题,而非非法入侵。他从14岁起就痴迷于计算机安全领域的“棋局”和谜题。成长于互联网时代,最大的好处是所有信息都触手可及。早期的安全社区信息非常开放,他们会发布包含操作指南、原理和失败案例的电子杂志。人们可以通过开放的邮件列表和各种资源学习任何想学的东西,他正是这样入门的。刚开始时,这并没有明确的职业路径,但他知道自己崇拜的英雄是谁。他意识到可以合法地受雇入侵公司,这非常酷,也是他那个年纪想做的事。

系统理解的重要性 💻

在探讨了兴趣起源后,我们自然会问:要成为一名合格的黑客,是否需要理解类Unix系统(如Linux、Android)?Dino认为这是一个先决条件。他一直将黑客行为视为比其他人更深入地理解一个系统。如果你研究的是技术系统,你必须比构建它的人更了解它。当你做到这一点时,你就能驾驭它、绕过它,本质上就像冲浪一样。当然,这其中也总包含社会工程学的元素,但这不仅仅是理解人,还包括如何驾驭那个“人”的系统。

漏洞扫描的局限性与防御思维 🛡️

理解了基础知识后,我们来探讨一个常见的防御误区。如果有人对Dino说:“我将通过扫描系统上的所有漏洞来保护我的Linux系统。”Dino会如何回应?他的回答是:这是必要的,但并不充分。这是一个好的开始。他认为行业对漏洞有一种痴迷,因为它们非常具体,能让人感觉在行动,却未必有实质进展。真正重要的是防御攻击,而漏洞只是攻击的第一阶段。首先存在漏洞,然后有人必须找出如何利用它,他们需要能找到易受攻击的目标,选择该目标,一旦进入,他们需要能找到想要的信息,并且该信息必须对他们有价值。如果我们从攻击者的角度思考整个链条,无论其动机如何,我们都可以设计更好的防御措施。我们可以使数据对他们不可访问或无用,我们可以提高他们攻击我们系统的成本,或者我们可以更擅长识别他们的攻击并采取规避或纠正措施。当我们思考所有这些时,仅仅计算漏洞并假设我们能找到并修复所有漏洞就变得非常容易,但这并非一个可行的策略。

从开发到部署的全面防御 🔄

既然单纯的漏洞修复不够,那么正确的方向是什么?Dino曾表示改进开发过程是正确的方法,这是否意味着首先要预防漏洞的产生?实际上,他目前更关注部署环境。他整体地看待这个问题,因为编写无缺陷的代码非常困难,几乎不可能。攻击者可以离线分析代码,利用整个集群的模糊测试工具找到那一个弱点。攻击者可以投入大量时间,而防御者却不知道攻击何时会来。因此,他认为无缺陷代码策略效果不佳。他喜欢思考如何通过将攻击者必须学习的许多信息转移到线上,从而将优势转向防御者。现在,每当攻击者试图攻击系统时,他们的活动就会暴露。当他们试图弄清楚系统如何工作时,这就会给防御者发出警报。他认为,当你能更好地洞察环境中正在发生的事情、应该发生什么以及不应该发生什么时,才能真正实现更具防御性的系统。

Linux的优势与未来 🌟

那么,Linux本身是否是一个优秀的操作系统?Dino给出了肯定的回答。他认为其核心优势在于可塑性。他喜欢思考如何“变得更好”,这意味着减少迭代周期和学习周期的延迟。由于Linux是开源的,你可以进行更改、部署更改,社区发展速度也快得多。如今人们在云中部署Linux的方式意味着他们几乎可以无缝更新内核,这在以前是一项非常困难的操作。当他们的AMI(亚马逊机器镜像)在自动扩展组中重启时,这一切都在幕后发生。随着我们更接近这种方法,我们可以从攻击中学习并更快地部署修复,我们可以使我们的环境成为一个移动的目标,让攻击者无法轻易掌握,迫使攻击者必须跟上防御者的步伐,而不是相反。

对网络安全的乐观展望 ☀️

在探讨了技术细节后,我们来看看Dino对网络安全未来的整体看法。总体而言,他是乐观的。在他的职业生涯中,他确实看到了许多漏洞和可被攻击的系统,但他也看到了我们的进步。他看到了我们构建了流行的大规模系统,他最喜欢的例子是iOS。这个系统拥有我们曾经认为不可能的强大安全性:一是安全的系统永远不会在消费者中流行——iOS证明这是错误的;二是一旦拥有物理访问权限,系统就完蛋了——iOS也证明这是错误的。因此,我们正在取得进展。随着我们将越来越多的技术基础设施构建得足够可防御,以确保安全,他区分了“安全”和“保障”。“安全”意味着没有攻击是可能的;“保障”意味着对于你关心的攻击,它们很可能不会发生。这正是我们真正关心的:让更多的基础设施部分变得可防御,从而使我们的数字通信、在线个人信息和业务得到保障。这就是互联网安全的真正意义。

给学习者的建议 📚

最后,对于想要学习Linux的社区成员,Dino有什么建议?他的建议是:首先,将它下载到你的机器上。但应尽快进入云端。现在大多数云基础设施公司都提供免费层级。未来五到十年,人们的职业生涯绝对将基于云端。过去,人们会说“获取一个Shell账户”。现在,我们应该获取一个AWS账户,启动Kubernetes,开始摆弄集群。因为现在的“计算机”是数据中心,而不仅仅是单个节点。重要的“操作系统”是你用来管理它的框架,无论是在大公司的本地大规模集群,还是混合云基础设施。为了应对未来十年计算领域的工作,我们需要让计算机数量的增长速度远快于人员数量的增长,安全领域也是如此。我们需要放大现有人员的专业知识,而不仅仅是投入更多的人力。这样,我们才能将我们的专业知识扩展到所面临的问题上,将我们的人力资本扩展到我们想要解决的计算问题的规模上。

总结 📝

本节课中,我们一起学习了安全专家Dino Dai Zovi的分享。我们了解到Linux安全的重要性源于技术栈向云和容器的转变。Dino强调了深入理解系统是黑客精神的核心,并指出仅依赖漏洞扫描的防御策略存在局限。真正的安全需要从攻击链全局考虑,并利用Linux的开源和可塑性优势,在部署环境中实现快速迭代和动态防御。尽管挑战众多,Dino对网络安全的未来持乐观态度,并建议学习者积极拥抱云端和集群技术,以应对未来的规模化挑战。

125:企业边界与高级持续性威胁

在本模块中,我们将探讨当前基础设施和企业环境中存在的两个重要且微妙的问题:企业边界面临的挑战,以及高级持续性威胁所使用的技术。这些技术正是当前一些国家行为体正在实施的。

为了辅助本模块的学习,这里有一些推荐的补充资源。以下是一些我认为与课程内容契合度很高的材料。

  • 推荐阅读论文

    • 一篇我几年前撰写的论文,题为《从企业边界到移动云》。这篇论文将引导你了解边界面临的各种问题,是对本模块学习内容的很好补充。
    • 另一篇优秀的论文名为《高级持续性威胁研究》,由几位能力出众的作者撰写。这篇论文能为你提供关于APT的平衡视角。
  • 可选书籍

    • 一本我与儿子Matt合著的电子书,名为《从CIA到APT:网络安全导论》。建议阅读第23和24章,其内容与本模块的学习相匹配。

  • 推荐观看视频
    • 一个我在普林斯顿大学5G峰会上所做的演讲视频。我在其中详细阐述了企业边界所发生变化的根本原因。你可以在IEEE TV的5G峰会频道找到它,相信你会从中受益。

现在,让我们立即开始本模块的学习,希望你收获颇丰。谢谢。

126:企业边界的实际限制

概述

在本节课中,我们将探讨企业网络安全边界的设计与演变。我们将从一个理想化的、坚固的边界模型开始,逐步揭示现代企业网络边界的真实面貌——一个充满各种“缺口”的复杂结构。通过理解这种演变,我们能更好地认识到传统边界防御的局限性,并为后续学习更先进的网络安全方法打下基础。

理想中的企业边界

上一节我们概述了课程内容,本节中我们来看看企业安全团队最初向审计人员展示的理想化安全模型。

企业安全团队的初衷是建立一个坚固的“企业边界”。这个边界旨在阻止所有外部恶意访问。如下图所示,其核心理念是:外部恶意入侵者(用实心圆点表示)试图进入企业网络时,会被边界“弹开”。同时,企业内部的可信用户(用空心圆点表示)可以自由地进行内部访问和横向移动。

这是向审计人员展示的标准图示,也是每个安全团队希望实现的理想状态。然而,现实情况与这个理想模型存在巨大差距。

现实中的企业边界

然而,现实情况是,现代企业的网络边界充满了各种“缺口”。这些缺口是企业为了正常运营而不得不开放的通道。以下是主要的几种类型:

  1. 电子邮件网关:企业无法在不接收外部邮件的情况下运营。因此,必须设置电子邮件网关,允许外部邮件进入。这是边界上的第一个明确缺口。

  2. 外包供应商访问:许多企业将部分业务(如客服中心)外包。这些外部供应商的员工需要连接到企业内部网络进行工作。通常,企业会通过设置防火墙规则,允许来自特定IP地址(即供应商网络)的访问,然后再进行身份验证(如密码、双因素认证)。这构成了边界的第二个缺口。

  3. 远程访问:远程办公已成为常态。员工需要从家、咖啡馆、机场等各种地方访问公司资源。支持这种访问的VPN或远程访问系统,是边界上一个巨大且必需的缺口。

  4. Web服务:如果企业拥有对外的网站或电子商务平台,那么Web服务器必须允许来自互联网的访问。客户的浏览器需要能够连接到这些服务器,这又是一个关键的边界缺口。

  5. 合作伙伴连接:企业与律师事务所、合作方或合资伙伴之间经常需要直接交换数据或进行系统对接。这些专用的连接通道也在边界上打开了缺口。

  6. 未知网关:现实中,还可能存在一些未被充分管理或记录的访问通道,进一步增加了边界的复杂性。

因此,一个更准确的企业边界图示应该如下图所示:它不再是一个光滑的椭圆,而是一个布满各种孔洞的边界。外部访问可以通过这些特定的“缺口”进入内部网络。

这种现实情况有助于我们理解,为何企业会面临频繁且成功的网络攻击。当边界上遍布入口时,攻击者侵入企业也就不足为奇了。

边界防御的启示与改进方向

既然我们了解了理想边界与现实边界的巨大差异,本节我们来思考这对网络安全策略意味着什么。

面对布满缺口的边界,最有效的改进方向是什么?以下是一个思考题:

为了增强布满缺口的边界的安全性,最应该优先考虑的是?
A. 减少对外提供的服务数量
B. 增加更多的安全管理人员
C. 部署更强大的防火墙
D. 进行更频繁的渗透测试

虽然加强管理和部署新技术都有帮助,但最根本的答案是A:减少服务数量。其核心逻辑在于简化需要边界保护的对象。问题不在于“边界”概念本身,而在于边界内部承载了太多业务,以至于不得不打开众多“大门”,从而将整个内部网络暴露在风险之下。

这就引出了一个更深刻的策略:不应将所有资产置于一个庞大的边界之后,而应考虑将系统分解为更小的、独立的组件

我们可以用一个比喻来理解:传统的单一庞大边界就像一头大象。攻击者只需找到一种有效方法(“一把枪”),就能击倒整个目标(“大象”)。而如果我们把系统拆分成许多独立的、小型的部分(就像一群蚊子),那么攻击者用同一种方法(“一把枪”)就很难同时威胁到所有部分。

因此,面对传统边界模型的困境,更强大的网络安全方法是走向分布式系统和微隔离。将系统分解为更小的组件,并对每个组件实施独立的安全控制,这将是更有效的防御途径。

总结

本节课中我们一起学习了企业网络边界的演变。我们从展示给审计人员的理想化、坚固的边界模型开始,逐步揭示了现实世界中企业边界为了支持电子邮件、远程访问、Web服务、合作伙伴连接等业务需求而必然出现的各种“缺口”。这种布满缺口的现实边界解释了企业面临网络安全挑战的根本原因。最后,我们得出结论:单纯依赖一个庞大的边界进行防御是低效的,未来的方向是简化服务、分解系统,采用分布式和微隔离的安全架构。在下一节课中,我们将继续探讨这些更先进的网络安全方法。

127:通过外围漏洞的APT架构 🛡️

在本节课中,我们将深入探讨高级持续性威胁(APT)如何利用典型企业网络外围模型中的漏洞进行攻击。我们将分析攻击的各个阶段,并指出每个阶段中常见的防御失误。

上一节我们介绍了企业网络外围模型及其复杂性。本节中,我们来看看APT攻击者如何利用这些复杂性逐步渗透。

概述:APT攻击的阶段与失误

一个成功的APT攻击通常不是单一事件的结果,而是多个安全环节连续失效的产物。攻击者会精心策划,利用企业网络架构和策略中的弱点。

第一阶段:松懈的电子邮件处理 📧

攻击的第一步通常通过电子邮件发起。大多数公司都接收来自各方的邮件,但对其来源的验证往往不足。

以下是电子邮件处理中的常见问题:

  • 发件人信息伪造:电子邮件协议中的“发件人”信息(From line)由应用层提供,可以轻易伪造。攻击者可以伪装成可信的发件人(如 biggiantcompany.co)。
  • 缺乏源头验证:邮件协议本身不会验证发送邮件的服务器IP地址是否与声称的发件人域名匹配。例如,声称来自 biggiantcompany.co 的邮件,其服务器IP理应是已知的(如 192.1.2.3),但实际可能来自一个完全无关的恶意IP地址。
  • 未采用DMARC协议:存在一个名为DMARC的有趣标准,旨在将发件人域名与发送服务器的IP地址关联起来进行验证。未部署此类协议是一个常见失误。
  • 未过滤恶意附件:对邮件中的附件进行恶意软件扫描不足。

核心概念:DMARC等协议通过DNS记录将发件人域名与授权发送服务器的IP地址列表关联起来,进行验证。

第二阶段:员工点击恶意链接 🎣

即使恶意邮件进入收件箱,也需要有人互动才能触发攻击。这通常通过钓鱼手段实现。

员工点击的原因往往是收到了针对性极强的“鱼叉式钓鱼”邮件。攻击者会利用社交媒体等公开信息研究目标兴趣(例如,发现市场部某员工喜欢滑水),然后发送包含相关诱人内容(如“免费滑水装备优惠券”)的邮件。员工在不知情或不安全的环境下点击链接,恶意软件便被下载并执行。

第三阶段:宽松的内部信任与横向移动 🔄

一旦恶意软件在内网一台主机上运行,攻击就进入了关键阶段。许多企业内部网络缺乏足够的分段隔离。

以下是导致横向移动容易实现的问题:

  • 扁平化网络架构:企业内网通常是一个大的“外围”内部,不同部门或系统之间没有部署防火墙进行隔离。
  • 过度信任:默认情况下,接入内网的设备可以相互访问。例如,连接到公司网络的电脑通常可以看到并访问其他同事或部门的电脑。
  • 控制权获取:初始植入的恶意软件通常是一个远程访问工具(RAT),让攻击者能够控制被感染的电脑(如市场部员工的电脑)。

此时,攻击者可以从这台被控主机出发,轻松地在内部网络“横向移动”,访问其他系统,例如连接到某个记录管理工具。

第四阶段:宽松的出站互联网访问 🌐

攻击的最后阶段是数据外泄,这依赖于出站网络连接策略。

许多公司在出站互联网访问上管理宽松,存在以下问题:

  • 缺乏出站过滤:除了少数明显不合适的网站(如赌博网站),大多数出站连接被允许。攻击者可以将数据外泄到互联网上任意一个不受监控的“未分类”网站。
  • 动态恶意站点:恶意软件投放站点或数据外泄目标站点往往是新建立的、动态的,不在任何安全列表(“已分类网站”)中。
  • 代理安全功能未启用:虽然许多企业部署了出向代理服务器来保护客户端,但如果代理仅简单放行对“未分类网站”的访问,而没有进行拦截或质询,则防护形同虚设。

核心概念:出站Web代理应依据网站分类列表进行过滤。访问“未分类网站”时应触发警报、阻断或二次验证流程。

总结与挑战

本节课我们一起学习了APT攻击如何利用企业安全防护中的一系列漏洞逐步得逞。从松懈的邮件验证、员工的安全意识不足,到内部网络的过度信任和宽松的出站访问控制,每一个环节的失误都为攻击者打开了大门。

将这些失误叠加在一起,就不难理解为何众多公司会遭受高级持续性威胁。认识到这些薄弱环节,正是我们网络安全社区需要着手应对的现代核心挑战。希望本课能帮助你理解APT攻击的基本架构与防御思路。

128:第三方安全 🔐

在本节课中,我们将要学习网络安全中的一个重要概念:第三方安全。我们将探讨什么是第一方、第二方和第三方,理解第三方如何成为企业安全链中的潜在薄弱环节,并分析典型攻击是如何发生的。

概述:什么是第三方?

首先,我们来明确几个核心概念。在商业关系中,第一方指的是你自己或你运营的企业。第二方是你的客户,即购买你产品或服务的人。而第三方,则是那些支持你为客户提供服务的外部组织。

以下是常见的第三方类型:

  • 专业服务方:例如律师、审计师、营销专家或顾问。
  • 业务支持方:例如客服中心、供应商。
  • 技术合作方:例如提供特定技术或基础设施支持的公司。

这些第三方存在的唯一目的,就是帮助你更好地服务你的客户。

核心视角:客户如何看待你与第三方?

理解各方关系后,我们需要掌握一个关键视角。对你(第一方)而言,第三方是一个与你连接的外部组织,它在做自己的事情。然而,对你的客户(第二方)来说,你(第一方)和你的所有第三方,在他们眼中是一个整体

举例来说,当客户走进手机店购买一部iPhone和5G服务时,他们完全不会关心,也不应该关心,这家公司使用了哪个第三方的技术支持中心。如果因为该第三方被黑客攻击而导致客户信息泄露,客户只会追究他们直接打交道的对象——也就是你——的责任。客户会认为:“我走进了你的商店,购买了你的产品和服务,你就是我的供应商。你选择使用第三方,那是你的问题。”

这个责任归属在业界有时会被混淆。当第一方因第三方被攻击而遭受损失时,他们可能会试图将责任归咎于第三方。但从客户的角度看,这种指责是站不住脚的。

风险如何产生:第三方的访问通道

那么,第三方安全风险具体是如何产生的呢?风险始于第三方需要访问公司内部系统

假设有一个公司 order.com,它需要接入你的企业网络来支持某些订单处理环节。为了实现这一点,你的企业防火墙边界必须为它打开一个特定的访问端口,通向某个网关

这个网关可能会进行一些基本的验证,例如检查IP地址或要求输入密码。一旦验证通过,第三方就会被放入内部网络(LAN),并获得访问某个生产系统(例如订单服务器)的权限。

这里就出现了安全漏洞:理论上,第三方应该只能访问指定的订单服务器。但是,是什么阻止他们转向访问其他系统,比如财务服务器呢? 答案取决于你部署的内部安全措施。

内部安全防御的挑战

你可能会说:“我们内部有安全措施。”这正是问题的关键。你必须部署这些安全措施。我们之前课程中学到的所有工具都可以派上用场:

  • 身份验证:确保只有授权人员能访问特定资源。
  • 防火墙(内部):在网络内部划分区域,控制流量。
  • 加密技术:保护传输中和静止的数据。
  • 入侵检测系统:监控异常活动。
  • 日志文件与安全信息事件管理:用于审计和事件分析。

然而,实施内部安全并非易事。传统的安全模型通常建立在“边界防御”思想上,即认为内部是可信的,外部是不可信的,大部分安全资源都集中在内外之间的隔离区上。但当你允许外部第三方进入内部网络后,你就面临着一个风险:一个被攻破的、不满的或恶意的“内部”人员(此时第三方就相当于内部人员)可能造成巨大破坏。

第三方的情况尤为棘手,因为你允许进入的是一群你无法直接管理的个人。你不清楚他们的背景、招聘流程,也不了解他们自身局域网的安全状况。尽管你可能要求他们填写合规表格或进行风险管理,但你对他们知之甚少。一旦他们进入你的网络,理论上他们可以尝试转向任何地方。

典型攻击模式与总结

历史上,许多大规模的攻击正是利用了这个弱点。其基本模式可以总结为:

  1. 第三方通过专门开放的网关端口获得企业网络访问权限。
  2. 通过身份验证后,他们进入了受信任的内部区域。
  3. 他们本应访问目标系统(如订单网络),但却利用内部安全措施的不足,转向攻击其他关键系统(如财务服务器)。

关于第三方安全风险的最佳描述,核心在于:第三方涉及你作为第一方无法完全控制的基础设施、人员和流程。你可以尝试施加影响,但很难做到完全有效。

本节课中,我们一起学习了第三方安全的概念。我们明确了第一方、第二方和第三方的定义,理解了客户视角下三方的一体性,分析了第三方通过特定通道接入企业网络后可能引发的内部安全风险,并回顾了相应的防御工具和挑战。希望这节课能帮助你清晰地认识到,为何第三方安全问题已成为全球众多企业面临的重要网络安全威胁。

129:目标公司APT攻击剖析 🔍

在本节课中,我们将通过分析2014年发生在美国零售巨头目标公司(Target)的真实安全事件,来学习高级持续性威胁(APT)与针对性攻击的核心概念。我们将探讨攻击的路径、后果,并思考其对现代企业的启示。

事件背景与攻击路径

上一节我们概述了本节课的主题,本节中我们来看看目标公司遭遇的具体攻击情况。2014年1月,目标公司与其他许多企业一样,成为一次高级持续性威胁(APT)与针对性攻击的受害者。此次攻击的关键在于利用了第三方关系。

攻击的具体路径如下:

  1. 利用第三方访问权限:攻击者首先通过为目标公司第三方合作伙伴设置的网关获得了初始访问权限。
  2. 横向移动:在侵入网络后,攻击者实施了横向移动,最终定位到公司的信用卡处理系统。
  3. 数据窃取:当时(2014年)美国仍普遍使用磁条刷卡技术,该系统会以明文形式暴露信用卡号。攻击者窃取了这些数据。
  4. 数据外泄:被盗数据通过未进行恰当过滤的网关外泄至公司网络之外。

需要强调的是,以此为例并非为了批评目标公司。此类事件在众多公司中都曾发生,此案例具有很强的代表性,揭示了当时普遍存在的安全挑战。

网络攻击对企业的双重影响

了解了攻击如何发生后,我们来看看此类事件对企业造成的后果。作为网络安全专家,我们需要思考网络攻击对业务的影响,这超越了单纯的技术层面。其影响主要可分为两类:

以下是两种主要的影响类型:

  • 机密信息泄露:例如信用卡号、客户数据等敏感信息的披露。
  • 业务运营完整性受损:即攻击扰乱或破坏了企业的正常运作。

影响一:信息泄露与“安全疲劳”

近年来,像目标公司这样泄露用户个人信息的案例屡见不鲜,甚至让人感到麻木。这种现象被称为 “安全疲劳” 。当泄露事件接二连三地发生时,公众可能会产生“隐私已无从谈起”的无奈感,但业务和生活通常仍会继续。例如,如果此刻我们的授课视频被窃听,虽然令人不悦,但课程仍可继续进行。

影响二:破坏性攻击与业务瘫痪

第二种影响则更具破坏性。此类攻击会导致企业无法正常运转,例如系统被破坏、网络被摧毁、记录被删除或访问被阻断。设想如果黑客能在我们录制课程时关闭灯光、摄像头和所有设备,那么课程将被迫中止,无法继续。这种破坏性攻击造成的瘫痪状态必须立即处理,企业无法视而不见。

未来趋势与总结

综合以上两种影响来看,我们未来可能会见证一个趋势转变:从常见的信息泄露攻击,转向更多后果严重的破坏性攻击。例如,美国索尼影业曾遭受的攻击就对其业务运营造成了实质性的破坏。再比如勒索软件攻击,它能直接导致业务瘫痪,后果更为严重,企业必须正面应对,无法简单回避。

本节课中,我们一起学习了目标公司APT攻击的案例。我们剖析了攻击如何通过第三方渠道渗透,并重点讨论了网络攻击对企业造成的两类主要影响:信息泄露运营破坏。理解这种从“披露”到“破坏”的潜在趋势,对于构建更具韧性的网络安全防御体系至关重要。

130:大型政府机构攻击案例剖析 🔓

在本节课中,我们将深入分析2015年发生在美国人事管理办公室的一次重大网络攻击事件。这次事件不仅涉及大规模数据泄露,更引发了关于网络攻击性质、国家行为规范以及网络安全专家职责的深刻讨论。


事件背景

2015年6月,美国人事管理办公室遭遇了一次后果严重的网络攻击。OPM是一个负责管理大量美国公民个人记录的政府机构,其核心职能之一是保管安全许可信息。

安全许可是指基于背景调查授予个人的一种资格认定,用于判定个体是否有权访问机密信息。政府高官、国家情报或国防领域的工作人员,以及其他从事敏感关键工作的政府人员都需要获得此类许可。申请许可过程中填写的表格、个人背景信息等所有资料,都由OPM记录并保存。


攻击与影响

2015年,我们发现一个潜在的国家行为体入侵了OPM的系统,窃取并带走了所有这些记录。这一事件引发了一系列引人深思的问题。

其中最核心的问题是:一个国家攻击另一个国家的政府机构,是否构成战争行为?

这是一个我们必须共同面对的问题。试想,如果一个国家派遣飞机轰炸大楼,冲入室内洗劫所有房间,抱着成堆的文件跑出来,乘直升机撤离,我们无疑会称之为战争行为。

但当同样的目标通过网络和电子攻击实现时——正如我们在其他课程中学到的攻击与防护技术——这算战争吗?还是别的什么?这很难界定。


国际规范与网络行为准则

这次攻击事件促使许多人开始思考。我认为,国际社会需要更加强调“规范”这一概念。我们需要就国家间应遵守的行为类型达成共识。

众所周知,国家间会进行间谍活动,这并不令人意外,我们某种程度上也接受了这是军事和情报工作的本质。

但当这种行为超越传统范畴,例如针对商业实体进行攻击,其目的是否变成了经济目的?这里的“他们”指的是某些国家行为体。2015年6月的这次攻击让许多人开始认真思考这些问题。


网络安全专家的角色与思考

对于正在学习网络安全并试图理解这些问题的各位,我将此事件作为一个很好的案例研究。它引出了一个疑问:当你为公司进行信息系统安全防护时,你是在进行民防吗?你是在保护你的国家吗?

无论你在何处工作、生活,如果你在为你所在国家的公司提供网络安全服务,你是在为该国家提供民防吗?是或不是?我认为没有绝对的答案,但你应该对此有自己的观点。

同样,当一个国家行为体成功突破了你部署的所有防御时,这构成战争行为吗?是或不是?同样没有标准答案,但这是我希望你深思的问题。

作为一名专业的网络安全专家,你应该对这些问题有自己的见解。你会发现,如果召集十位专家,可能会得到一些不同的意见。

我个人的观点是:是的,你是在进行民防;是的,这构成战争行为。 这是我的个人看法。可能有一位资历与我相当甚至更深的人站在我旁边,他会说“不,那不是民防,那也不是战争行为”。


代际责任与未来展望

如果你观看此视频时年龄在30岁以下,那么我推测你们这一代人将解决这些问题。我已年过五十,我们这一代人或许曾尝试解决但未能成功,未能就这些问题给出好的答案。

但这些问题必须得到解决。作为国际社会,我们需要更好的、被普遍接受和认同的操作规范。我认为,我们必须让越来越多的人达成共识:无论是通过计算机还是通过直升机和枪支,一个国家入侵并窃取你所有的资料,在我看来两者没有区别。


总结

本节课我们一起分析了2015年美国人事管理办公室数据泄露案。我们探讨了网络攻击是否构成战争行为、国际网络行为规范的必要性,以及网络安全从业者在国家防御中的角色。希望这次案例研究能促使你以专业视角,持续思考这些塑造网络空间未来的核心议题。

131:第3层DDoS防护 🛡️

在本节课中,我们将深入探讨分布式拒绝服务攻击及其防御机制,并分析其对全球基础设施的影响。我们将重点关注防御能力的极限以及由此引发的复杂问题。

攻击与防御机制回顾 🔄

上一节我们介绍了DDoS攻击的基本概念,本节中我们来看看其典型的实施方式与标准防御流程。

我们已知,僵尸网络由一系列被感染的计算机组成。这些计算机被植入了恶意软件。一个命令与控制中心会指挥这些“僵尸”向特定目标发送流量。这些流量会经过互联网服务提供商和互联网基础设施,最终指向目标。

如果部署了安全措施,其工作流程如下:DDoS检测系统会监测到异常的流量体积,并利用边界网关协议等协议,将流量从目标处重定向到专门的设施。这种设施通常被称为DDoS清洗中心,即特殊的防火墙。

清洗中心会使用各种特殊算法,试图区分正常流量和源自僵尸网络的恶意DDoS流量。随后,它会将正常流量转发给目标,竭力维持其在线状态。这是全球范围内通用的防御节奏。

全球每个国家的服务提供商和安全提供商都在执行屏幕上展示的流程:DDoS检测 -> DDoS清洗 -> 流量过滤

防御能力的极限问题 ⚖️

了解了标准防御流程后,一个随之而来的关键问题是防御能力的上限。

首要问题是,我们需要知道一个服务提供商能否同时处理多起大规模攻击。如果一个提供商能处理一次大攻击,却无法处理两次,那是否暴露了关键基础设施的重大脆弱性?

当然,不太可能存在连两次攻击都无法处理的提供商。但由此可以类推:如果能处理2次,是否能处理3次?能处理3次,是否能处理4次?问题的核心在于,极限点在哪里?即系统能处理N次攻击,但第N+1次攻击就会成为“压垮骆驼的最后一根稻草”。请思考这一点,因为任何系统都有其极限。

不仅防御方有极限,攻击方同样有极限。我们计算过DDoS攻击的规模上限。例如,如果有10000个僵尸,每个都以最大能力发送流量,足以堵塞通往数据中心的大容量管道。但最终,攻击会达到电信领域所谓的对等容量极限。

容量极限的类比 🚗

为了更好地理解容量极限,我们可以用汽车和高速公路来类比。

假设攻击者能调动所有汽车在高速公路上行驶,并瞄准某个出口匝道,意图将其堵塞。这显然是个大问题,需要被阻止。但攻击者可能会说:“好吧,你阻止了这次,但我可以发起第二次、第三次……” 最终,将没有足够的高速公路来承载所有这些攻击流量。骨干网络会被塞满。

这听起来不是好消息,但我想指出的是,这类排队问题的计算有些微妙。因为高速公路,或者说一级电信骨干网络,存在物理上限。这个上限可能是每秒1太比特的信息传输量,或者更大。但极限终归存在。

待解决的政策与国际问题 🌐

除了技术极限,还存在需要国际社会共同思考的政策问题。

如果真发生了上述极端情况,服务提供商是否应该有权丢弃流量,以保障关键基础设施的运行?目前,这类机制尚未建立。这些网络安全控制措施仍有待确定。

如果你是一位正在考虑投身网络安全事业的年轻人,那么这很可能就是你未来需要面对的问题之一。其核心思想是:当攻击规模过大时,基础设施保护机制需要能够确保必须保持在线的事务持续运行。

以下是必须优先保障的关键基础设施类别:

  • 紧急服务与应急通信
  • 医院与医疗系统
  • 食品、水、电力供应
  • 核心通信网络

至于娱乐、个人手机闲聊、下载或社交媒体等次要通信,我们或许可以决定让其暂时退居次要地位,以确保关键基础设施运转所需的网络可用性。

总结与展望 💡

本节课中我们一起学习了DDoS作为一种** volumetric attack**,其防御本质上也倾向于处理流量体积。如果你一直在思考“如果攻击流量超过了防御系统的处理能力会怎样”,那么你的思路是正确的。

这仍然是一个未完全解决的问题,需要下一代网络安全从业者提出更具创造性的解决方案。希望本次讨论能给你带来一些思考,虽然话题可能不那么令人轻松,但理解这些挑战至关重要。我们下节课再见。

132:第7层应用级DDoS风险 🚨

在本节课中,我们将探讨分布式拒绝服务攻击中的一种高级变体——第7层DDoS攻击。我们将了解它与传统攻击的区别、其工作原理以及防御思路。

上一节我们介绍了基于流量体积的第3层DDoS攻击及其防御方法。本节中,我们来看看攻击者如何转向更隐蔽的应用层攻击。

攻击者已经发现,存在一些创造性的方法可以在网络上制造堵塞或洪流,而这些方法可能在第3层或数据包流量层面难以被检测。第3层DDoS攻击基于数据包数量,互联网服务提供商可以检测到它们,我们通常使用流量清洗解决方案,效果很好。然而,许多攻击者已经转向一种称为第7层DDoS攻击的方式。这种方式非常巧妙,因为它往往是“低而慢”的,更多地发生在应用层面,对ISP来说检测难度更大。因此,我们通常需要在网关上部署入侵防御系统来检测它。

以下是第7层DDoS攻击的一个具体示例。

假设你有一个网站,其应用程序允许人们下载信息。例如,你创建了一个包含各种内容的大型资源库,文件可能很大,比如图片库或包含视频、多媒体的大型文件。你非常慷慨,免费提供所有这些资源。如果有人访问你的网站并请求批量下载,你的代码设置是允许的。大多数时候,用户的行为是合理的,他们只下载所需的内容。但是,如果一个僵尸网络注意到你的服务器位于某个企业网络或托管中心,而攻击者想给该企业制造麻烦,并且发现你的小服务器允许大量流量流出,那么攻击者可能会采取以下行动。

攻击者会控制一批僵尸主机,持续请求下载那些庞大的文件。其后果是,所有从你的网关流向互联网的出口流量会在企业内部造成巨大的网络拥堵。ISP可能完全看不到异常,因为这些请求看起来只是普通的“请下载这些东西”的小请求,并非第3层攻击中常见的海量数据包或会话攻击。于是,你遭受了一次来自隐蔽放大源的出口流量攻击,而我们已习以为常的、作为主要防御手段的DDoS流量清洗方案对此可能无效。这确实是一个棘手的问题。

我认为,在未来五到十年,这个问题需要大量的创造性解决方案。我希望观看视频的年轻朋友们能花时间思考不同类型的防护方案、不同的国际规范以及其他机制。这些机制应包括功能性的、程序性的以及基于政策的措施,以降低不仅是第3层,也包括第7层应用攻击的风险。

本节课中,我们一起学习了第7层应用级DDoS攻击的原理。它与传统基于流量的攻击不同,通过模拟合法应用请求(如大量下载大文件)来消耗服务器或网络出口带宽,更具隐蔽性。防御它需要更精细的应用层监控和防护策略。我们将在下一个视频中继续探讨其他网络安全主题。

133:2012年大型金融网站DDoS攻击分析 🏦

在本节课中,我们将通过一个真实案例来学习分布式拒绝服务攻击。我们将分析2012年夏季针对美国多家大型金融机构的一次重大DDoS攻击,探讨攻击的特点、防御方的应对过程以及从中获得的启示。

攻击背景与概述

上一节我们介绍了DDoS攻击的基本概念,本节中我们来看看一个具体的、影响深远的案例。2012年夏季,一名恶意攻击者决定针对美国的一系列金融机构发起攻击。其目的旨在“表明立场”或“证明观点”。攻击者计划在工作周的周二、周三和周四,使用一个名为“Brobot”的大型僵尸网络,在有限的时间内对多家银行进行攻击。

攻击的技术特点

这个名为Brobot的僵尸网络有一个显著特征:它利用具有固定、已知IP地址的服务器作为“肉鸡”。攻击者通过建立完整的三次握手TCP连接到已知的源IP地址,以此来生成巨大的攻击流量。

核心攻击流程可以简化为:

攻击者控制端 -> 指令 -> Brobot僵尸网络(已知IP服务器)-> 建立TCP连接 -> 目标银行服务器

防御方的应对与挑战

有趣的是,这次攻击在一定程度上是“公开宣战”的。攻击者提前公布了攻击的开始和结束时间。因此,所有银行、其服务提供商以及安全社区都预知攻击即将到来。

然而,防御过程并非一帆风顺。以下是防御方每日面临的主要挑战:

  • 攻击初期识别:在攻击开始的早期阶段,需要花费一些时间来分析和定性正在涌向各家银行的流量类型。
  • 系统调优与过滤:防御方需要时间弄清楚攻击模式,才能在流量清洗系统中正确配置过滤规则,从而转发正常流量。
  • 每日的脆弱窗口期:尽管整体上银行服务得以维持,但每天攻击刚开始的那段时期仍然非常棘手,存在服务中断的风险。

案例的启示与深层思考

这个案例之所以重要,是因为它表明,即使在最优条件下(如提前预警),面对一个有能力的对手对关键基础设施(银行业无疑是其中之一)发起的攻击,防御也仅仅是“基本成功”,远非完美。

这突出表明,我们整个安全社区需要加倍努力,在应对分布式拒绝服务攻击方面做得更好。我们通常很少在这一领域进行攻击测试。你可能会问,既然已经有这么多DDoS攻击,为什么还需要测试?但请看这个案例:我们整个社区都知道攻击何时发生,却仍然在系统调优和快速响应上挣扎。

理想情况下,防御方应该在攻击发生时迅速调整,确保网站会话正常工作。但现实并非如此。攻击发生后,需要快速定性DDoS攻击、快速将恶意数据包从清洗系统中剔除、快速建立所需的隧道或重定向机制、快速调整流量模式以维持正常服务,并且在整个攻击持续期间保持这种状态。同时,还要能应对可能同时发生的、多样化的并发攻击,这就像在全球范围内同时 juggling 十个球。

总结

本节课中我们一起学习了2012年针对大型金融机构的DDoS攻击案例。我们了解到,即使攻击信息提前泄露,防御一次大规模、有组织的DDoS攻击依然充满挑战。这次事件提醒我们,DDoS攻击,尤其是结合了大流量、多种攻击向量(如第七层攻击)的复杂攻击,可能对全球基础设施产生严重后果。作为网络安全的学习者,必须深入思考这类威胁,并认识到持续改进防御策略和进行实战化测试的必要性。

134:实时网络安全行业概述 🛡️

在本节课中,我们将对实时网络安全这一主题进行总结,并了解保护一个典型企业所需的全方位控制措施。我们将通过一个综合性的图表,概览网络安全领域的六大类关键控制措施。

课程回顾与引入

在前面的课程中,我们探讨了防火墙、数据包过滤、DMZ架构、安全信息与事件管理(SIEM)系统以及代理服务器(SOCKS)等实时网络安全的核心组件。这些内容构成了网络安全防御的基础。

然而,保护一个企业网络远不止于此。这是一个极其复杂且内容丰富的领域。为了全面了解所需的各种控制措施,我们将参考一个综合性的行业框架。

网络安全控制措施全景图

以下图表展示了保护企业基础设施所需关注的六大类、共计约50种不同的网络安全控制措施。这个框架可以作为您规划长期学习路径的参考地图。

图表中的六大控制类别包括:

  1. 入侵检测与防御:监控和阻止恶意网络活动。
  2. 防火墙:在网络边界执行访问控制策略。
  3. 统一威胁管理:将多种安全功能(如防火墙、入侵防御、反病毒)集成到单一设备中,尤其适用于小型企业。
  4. 安全信息与事件管理:对安全日志和事件进行集中收集、分析和报告。
  5. 网络访问控制:确保只有合规的设备才能接入网络。
  6. 其他专项控制:包括数据丢失防护、加密、身份管理等。

深入学习建议

如果您希望在本课程之外进行更深入的自学,并立志成为网络安全领域的专家,以下资源和建议可能会对您有所帮助。

  • 深入研究图表:您可以逐一研究图表中列出的约50个控制领域,确保自己对每个领域都有基本的了解。
  • 下载免费报告:您可以访问 tagd.cyberber.co 下载一份免费的三卷本PDF报告。该报告包含了这张图表以及更详细的信息,能为您提供宝贵的参考资料。

课程总结 🎯

本节课中,我们一起回顾了实时网络安全的核心内容,并借助一个行业全景图,概览了保护现代企业所需的全方位安全控制措施。从基础的防火墙到综合性的统一威胁管理,网络安全是一个需要持续学习和实践的广阔领域。希望本课程对您的学习有所帮助,也感谢您一同探索实时网络安全的奥秘。

135:采访Ray Cheng(第一部分)

概述

在本节课中,我们将跟随纽约大学《网络安全》课程,通过采访风险投资人Ray Cheng,了解风险投资的基本概念、投资阶段以及创业公司如何与投资者互动。我们将学习从种子轮到后续融资的完整周期,并理解投资者评估项目的关键指标。


采访内容

大家好,我是Ed Ammaros,欢迎来到我们的视频采访系列。我身边是我的朋友Ray Cheng,他是Millennium Technology Value Partners的投资人。我说对了吗?是的,我们通常简称Millennium。非常感谢你能来。这是我的荣幸。

你现在在纽约市。是的。你们公司正在搬到中城,就在中央车站旁边。你住在中城吗?是的。你在纽约市住了很长时间了,大概有8到9年了。现在请介绍一下你自己。你是如何进入这个行业的?是什么吸引你从事投资和风险投资?

当然。我觉得有趣的是,我毕业的时间点可能是过去15到20年里最糟糕的时期。但之后我们经历了一段不错的时期。那时候刚毕业,你总想知道自己想做什么,想学什么。结果发现很多工作都被严格定义了,比如“这是一个职业,你在这里待上三、四、五年,学一门手艺,然后可能在同一个行业里晋升到下一个级别”。

我很幸运,在大学期间就创办了一家公司,是一家搬家公司。业务就是帮助学生打包行李、存储,然后在下一学年或新校区时送回去。结果这个生意相当赚钱。所以某种程度上,我喜欢上了创业。但当我毕业时,我父母问我想做什么。我说,也许我的搬家公司可以扩大规模。我父母说,我花那么多钱供你上常春藤盟校,难道是为了让你当搬家工人吗?

我立刻意识到,亚洲父母可能不太赞成一毕业就创业,而且学费那么贵。所以我开始寻找一些与创业有相似之处的工作,这样不会限制我的学习和成长方式,未来也有转换的可能。我四处寻找,发现金融领域有一个叫“风险投资”的行业,它涉及初创公司、科技交易,以及人们时常谈论的像Facebook这样的公司(当时社交网络甚至电子商务都是新事物)。

看到有这样一个平台适合刚毕业的年轻人,意味着你可以几乎无限期地推迟选择特定职业,这是一种奢侈。所以我立刻觉得,这听起来是个好机会,可以让我跳进去,因为我当时还没想清楚。这就是我进入风险投资行业的背景。

你父母同意这个选择吗?我想那时候他们有点困惑。他们会问,这到底是创业,还是金融,还是投资银行?因为当时从沃顿商学院毕业,投资银行还是件大事,每个人都在谈论高盛和摩根大通。我做过银行实习。所以我清楚地知道,如果你们想让我去那些地方工作,那接下来两年你们可能就见不到我了,我每周要工作100个小时。他们理解并接受了这一点。他们反而觉得这很适合我,因为它满足了我对职业创造性和创业精神的需求。

我认识你有一段时间了,我看到你深夜还在发邮件。我想你现在可能每周还是工作100个小时。这是出于选择,而不是必要。我想说,这份工作的好处在于,你总是被有趣的新想法和好玩的事情所激励,而且这种状态永远不会停止。原因在于,技术永远不会停止产生更新、更有趣、更好的东西。

现在,为了我们的学习社区,你能给他们一个101级别的介绍吗?比如投资周期是怎样的,种子轮和A轮有什么区别,这些术语都是什么意思?我想这对大家会很有帮助。当然,只是一个简单的101介绍。你是做这件事的合适人选。

我认为,理解风险投资或投资最简单的方式是:有人需要钱,而有人有钱来支持一位企业家或一家公司。

因此,根据一家公司想要实现的目标,通常当你起步非常早、规模很小时,你想向人们证明你有一个想法。也许在小规模下,你能达到某个里程碑。但在达到之后,这个想法可能会被证明是成功的,并且可以变得越来越大。

所以,投资的概念实际上是围绕公司从初创到可能被收购或上市(IPO)的整个过程。目前,根据最新的统计数据,这个过程大约需要12到14年。如果你考虑这个时间段,你必须从零开始,必须成长,必须养活自己,你是一个团队,甚至可能还没有产生收入,因为你还在开发产品,你需要钱。

所以,从早期开始,你甚至还没有一个团队,这就是我们所说的“种子轮”,意思是朋友和家人基于极大的信任进行投资。你必须打电话给你的朋友说:“嘿,我有个想法,不确定你觉得怎么样,但我只需要1万到50万美元。”这通常被定义为种子轮融资,来自朋友和家人,让飞机能够起飞。

是的,这几乎是给一个人或团队一个小的缓冲,这样他们就不必同时做另一份工作,不必兼职,他们可以真正利用这些资源花时间开发和构建技术、业务或概念。

现在,假设他们做出了一些东西。当我说“一些东西”时,指的是他们觉得有东西可以展示给别人看,听起来像是一个业务或一个有趣的技术平台。突然间,它不再是纸笔上的东西,而是一个产品。它是一个网站,一个应用程序。它可能不那么复杂,但从机械的角度看,它展示了某些可以工作的东西。

然后,你可以把它拿给所谓的“种子轮和A轮投资者”。所以,除了朋友和家人,还有种子轮和A轮投资者,这是一个稍后的阶段。这些人通常投资50万到300万美元。在这种情况下,你最终会与那些愿意给你更多钱的投资者交谈。但他们之所以给你更多钱,是因为你有更多东西可以展示,并且有更多方式花这笔钱,将你的想法或概念推向下一阶段。

了解拿到钱后具体要做什么,这很重要吗?啊,绝对重要。我认为,对许多公司来说,可能发生的一件坏事是,当你钱太多,却不知道花在哪里。你开始以不必要和不负责任的方式花钱。这会导致资源的浪费,因为如果你现在不花那笔钱,也许你不需要雇佣五个人,但因为有钱,你雇佣了十个人。结果就是,两年后,你持续为那额外的五个人支付两年工资,而那笔钱本可以在以后用于其他新事物。

所以,我认为,具体知道你要做什么是很重要的。现在,考虑筹集多少资金的典型方式是:你需要知道,当你与新的投资者交谈时,你下一步想要展示什么。所以我们通常会说,每次筹集新一轮资金时,为18到24个月做预算是比较安全的。原因还在于,融资作为一个过程,通常需要2到6个月。这意味着有时你不得不不断地见人。

融资意味着公司负责人拜访不同的投资机构,做他们的PPT演示。我见过很多PPT。是的,这就是这份工作的有趣之处,你最终会看到很多有创造力、积极进取、渴望成功的创业者,试图推销为什么他们的想法如此重要、如此宏大,为什么它是一个“独角兽”想法(价值十亿美元的想法)。作为企业家,你想推销那种愿景,因为从投资者的角度来看,如果我投资100万到500万美元,我希望看到公司的价值不是500万到1000万美元,而是1亿到5亿美元,这样才能获得我的回报。

我想问你一个问题,我们稍后会回到你的解释。但你见过的最疯狂的事情是什么?有人为了引起你的注意做了什么?比如有人打扮成鸡的样子进来,或者试图脱颖而出,表现得与众不同吗?

偶尔会有人在穿着上与众不同,但不一定是那样。可以说,每个人都有自己独特的风格,试图表达一种态度。有些创业者穿着T恤和拖鞋进来,那是因为他们认为这代表了他们的一部分。是的。有些来自成功公司的创业者,在你进入会议室之前,他们甚至会把脚放在桌子上。你见过这种情况,这实际上并不少见,因为他们非常自信,想传达这种自信和领导力的气场,表明他们完全掌控局面,并且非常放松。绝对是这样。

所以也有“契合度”这个概念,意思是并非每个创业者或演讲者都适合每一位投资者。这个契合度的概念也很有趣,对吧?因为最终,如果你看到的每个人都穿着西装打着领带,鞋子擦得锃亮,那会有点无聊。所以偶尔,你必须思考,如果你要向投资者展示一些东西,你想说什么,你想表达什么态度。

正确的建议是做你自己吗?绝对是的,无论你是什么样的人。我认为保持舒适是最重要的,因为个人的舒适度是你需要具备的基本条件,这样当你演讲时,你才能专注于业务本身,而不是你的穿着或是否穿着得体。

一旦一家公司经历了种子轮、A轮或类似阶段的融资,并且仍在继续发展,但还没有进行IPO或被收购,B轮、C轮这些融资会发生吗?会不会出现资金耗尽的情况?那时会发生什么?

思考一个业务有很多方面,你仍然需要寻找的基本底层指标是:是否在建立通往“退出”或某种成功水平的路径。因此,拥有衡量成功的指标很重要。对一些公司来说,如果完全是关于产生财务结果,那就是收入。所以收入增长、收入产生以及收入增长的速度是重要的,因为如果我的公司收入每年只增长10%到20%,那么这是一个相对缓慢的业务。如果我是一个风险投资投资者,我寻求的回报率远高于20%,这意味着我需要确保我的投资每年增长50%到100%,才能证明我承担如此大的风险投资一家公司是合理的。

所以,对于那些最终增长较慢或规模较小的公司,它们可能是一个完全没问题的小型企业。这个小企业可以决定是把自己卖给某人,还是只是作为一个小企业来经营,或者他们想赌一把,筹集更多资金,在营销和销售上投入更多,以推动增长率上升。这些都是创业者可以考虑的决定。

也有一些业务,收入不是衡量指标。意思是,它们提供的是别的东西。那么投资者需要这样看待:等等,如果这家公司不赚钱,它可能仍然有价值。如果它对像谷歌、Facebook或AT&T这样的公司具有战略价值呢?如果这家公司开发了世界上最先进的人脸识别引擎,只是不知道如何从中赚钱,但Facebook可能有很多用处。像这样的公司,它们通常通过其他类型的指标来衡量,比如准确率、计算效率、速度、功耗,这些不一定与收入概念相关,但它们仍然会被收购。这就是为什么你会看到像DeepMind这样的公司被谷歌以4亿到6亿美元收购。是的,绝对是这样。


总结

本节课中,我们一起学习了风险投资的基本框架。Ray Cheng为我们介绍了从种子轮到后续融资的完整周期,解释了不同阶段的特点和投资规模。我们了解到,投资者不仅关注财务指标如收入增长,也看重技术优势、战略契合度等非财务价值。同时,保持真实与舒适是创业者与投资者沟通的重要基础。理解这些概念有助于我们认识科技创业生态和资本运作的基本逻辑。

136:行业洞察与投资评估

在本节课中,我们将学习网络安全行业的长期特性,并探讨作为一名投资者,如何评估该领域的初创公司。我们将分析行业为何“长青”,以及评估一家公司时需要考虑的关键因素。

行业特性:一个永不消失的领域

网络安全是世界少数几个永远不会消失的行业之一。

当我们考虑移动游戏、VR游戏等概念时,我们无法预知五年或十年后它们会如何发展。但网络安全行业不会消失。世界上总会有“坏人”,而且是非常聪明的“坏人”。他们总会想出更新颖、更聪明的方法来实现他们的目的。

因此,我们总是在玩一场追赶的游戏。这就是网络安全将成为长青行业的原因——总会有坏人想出更聪明的方法,而我们则要努力抓住他们。

任何时候,当看到比特币等新技术出现时,总会有新型犯罪随之而来。因此,这个领域永远存在巨大的机会,并且永远不会消失。有趣的是,有时看到坏人能做到的事情,会让人感到着迷。

投资评估:寻找独特价值

上一节我们介绍了网络安全行业的持久性,本节中我们来看看评估一家网络安全初创公司时应该关注什么。

作为投资者,必须考虑独特性、差异化的概念,以及为什么这是别人没有做过或无法实现的事情。投资者真正寻找的是具有独特价值的资产,使得人们愿意购买软件、收购公司,或者看到其即将交付且他人无法提供的价值。

因此,投资者总是在寻找一个不同的角度。有时这个角度是创始人,有时是技术源代码,有时是一种新方法。作为投资者的好处是,可以看到许多公司使用多种不同的方法,有时甚至是追逐同一个问题,然后必须评估哪种方法更有效,哪种效果较差。

销售能力:公司的生命线

在评估了公司的独特价值后,一个至关重要的能力是将其转化为实际收益。销售能力往往能决定一家公司的成败。

回顾那些被收购或成功上市的公司,你总能在管理团队中发现一个非常相似的特征。可能不是专门的销售人员,但可能是CEO或COO。无论谁在这些公司的最高层,他们通常都对销售有很强的理念。

销售是那种有时能成就或毁掉一家公司的事情。拥有合适的人才,你可以卖掉任何东西。说“卖掉任何东西”很重要,因为除了向客户销售软件,你还必须向投资者推销,向合作伙伴推销,向员工推销(解释他们为何应该为你工作并留下来)。不幸的是,你还必须向每一个质疑和挑战你业务的人进行推销。

在某种程度上,我们每天都在进行推销。因此,如果你拥有良好的销售技巧,你将能够说服人们为什么你的产品更好,即使它实际上可能并非如此。如果公司有一个“秘密武器”,那很可能就是公司里必须有人能够创造收入。没有收入,就像生物没有空气一样。公司管理者如果无法说服我为什么应该投资他的公司,我又怎能相信他能向其他人推销其软件的价值呢?

总结

本节课中我们一起学习了网络安全投资的核心观点。我们了解到网络安全是一个基于“攻防对抗”而永续存在的长青行业。作为投资者,评估公司时需要寻找其独特性差异化价值。然而,最具决定性的因素往往是公司的销售能力,这关乎公司能否将技术转化为收入,并向所有利益相关者有效传递其价值。这构成了评估网络安全初创公司的一个基本框架。

137:课程介绍与学习目标 🎯

在本节课中,我们将了解《网络安全高级主题》这门课程的整体框架、核心目标以及你将学习到的具体内容。

大家好,我是Ed Ammarosso,欢迎大家学习这门关于网络安全高级主题的课程。

本课程主要旨在实现三个核心目标。

课程三大目标 🎯

以下是本课程希望达成的三个主要目标。

  1. 介绍高级主题:本课程将向你介绍网络安全领域的一系列高级议题。这是一个充满活力的领域,不断有新的问题涌现。课程内容将涵盖从企业安全意识,到政府和企业的治理、风险与合规平台及方法,再到云安全高级主题等多个方面。
  2. 奠定实践基础:本课程的重点不在于理论,而在于帮助你将这些知识应用到真实的技术场景中,为你打下坚实的实践基础。
  3. 激发长期兴趣:我希望能够激发你们中一些人对这个领域的长期兴趣。如果你们中至少有一人因为看到课程中的某些内容而点燃兴趣,并由此开创了新的职业机会和热情,我将感到非常高兴。

核心内容聚焦 ☁️

上一节我们概述了课程目标,本节中我们来看看一个特别重要的内容模块。

我认为云安全高级主题在当前环境下尤为相关,因为无论是个人、小型企业、大型企业还是政府,都在向云服务迁移。因此,我们将在本课程中花费一些时间来学习这方面的知识。

我希望你们能享受这门课程,并期待在后续的视频中与大家相见。

谢谢。


本节课中,我们一起学习了《网络安全高级主题》课程的核心目标,包括介绍前沿议题、建立实践基础以及激发学习兴趣,并特别明确了云安全将是本课程的重点探讨领域之一。

138:课程概述与学习资源 📚

在本模块中,我们将学习一系列多样化的主题。目标是帮助你理解互联网中与社交工程和网络钓鱼相关的一些微妙问题,并以此为基础,介绍我们在合规、治理和风险评估方面所做的工作,以降低在流程或设置层面出现问题的可能性。这些领域通常被称为治理、风险与合规。

上一节我们介绍了本模块的学习目标,本节中我们来看看有哪些学习资源可以帮助你更好地掌握这些内容。

以下是为本模块学习提供补充的资源列表,包括一些论文、可选书籍以及几个推荐视频。

  • 首先,第一篇论文。这里有一个“小技巧”:我希望你阅读一份合规框架文件。它来自美国国家标准与技术研究院,标题为《关键基础设施网络安全框架 第1卷》。这份阅读材料并不轻松,但建议你尽力通读。你应该体验一下阅读合规框架的过程,并可以自行判断这对网络安全是否有用。我认为是的。
  • 接下来是几本可选书籍。一本是我和儿子Matt合著、在亚马逊上可以找到的电子书,名为《从CIA到APT:网络安全入门》。如果你正在学习,其中的第25和26章将很好地补充本模块的内容。
  • 我认为所有人都需要一本扎实的TCP/IP教科书。这是一项值得考虑的投资。Richard Stevens撰写了一本非常出色的教材。
  • 最后是两个推荐视频。一个是关于PCI合规性的视频,PCI代表支付卡行业。视频标题很有趣,相信你会喜欢。
  • 另一个是我的朋友French Caldwell在MetricStream上发表的主题演讲,他探讨了GRC的过去、现在和未来。这是一个非常精彩的视频,对你的学习会很有帮助。

本节课中我们一起学习了本模块的核心目标以及推荐的学习资源。希望你能在本模块中学有所获,现在就可以开始学习了。

139:社会工程学攻击 🎭

在本节课中,我们将要学习一种特别棘手且隐蔽的攻击类型——社会工程学。这种攻击并非直接利用技术漏洞,而是巧妙地利用人与人之间的信任关系来达成目的。

概述:什么是社会工程学?

社会工程学是一种相对较新的现象。在几十年前,商业活动中并不常见此类攻击。然而近年来,黑客、欺诈者、犯罪分子,甚至一些出于好奇的年轻人,开始利用企业在服务客户时建立的信任关系进行攻击。

社会工程学攻击的原理 🎯

上一节我们介绍了社会工程学的概念,本节中我们来看看它的具体运作方式。

许多企业都设立了友好的客服热线,由面带微笑、态度友善的工作人员为客户提供帮助。这些客服人员的职责就是提供协助,例如帮助客户查询账户信息、处理订单或核对余额。

社会工程学攻击者正是利用了这种“乐于助人”的企业文化。攻击者会伪装成合法客户(例如爱丽丝)致电客服,试图套取敏感信息。从本质上说,这是一种欺骗行为。

黑客们已经形成了一套成熟的攻击方法学。例如,在致电“XYZ银行”之前,攻击者会事先研究该银行的网站,了解其部门名称和内部术语。这样,无论他是伪装成客户还是内部员工,都能在通话中显得知情且可信。

以下是进行此类“定向攻击”或“鱼叉式攻击”的常见准备步骤:

  • 研究目标公司的官方网站。
  • 浏览目标人物的社交媒体页面。
  • 收集目标的家庭住址、电话号码或电子邮箱等信息。

通过获取这些背景信息,攻击者可以从一个“知情者”的角度发起通话,大大提高了欺骗的成功率。

物理信息收集:翻垃圾 🗑️

除了电话欺骗,还有一种相关的物理攻击方式,其目标不是与人通话,而是寻找被丢弃的纸质文件或报告,这些信息可用于后续攻击。

在这个领域,有一个经典的术语叫“翻垃圾”(Dumpster Diving),即潜入企业或个人的垃圾箱中寻找有用信息。同样,这也形成了一套“方法论”。

例如,一些年轻人翻垃圾时,会携带一些纸箱散落在垃圾箱周围。如果被保安或警察发现并质问,他们可以声称“我正在找搬家用的纸箱”,这看起来是一个合理的借口。

另一种方法是假装寻找食物。攻击者可以随身携带一个用锡纸包好的三明治,当被发现时,就咬一口三明治,制造出“我只是在垃圾堆里找吃的”的假象。

这些 plausible deniability(看似合理的推诿)手段,都是为了在翻垃圾时不被当场抓获。社会工程学攻击也常常运用类似的心理学技巧。

防御的困境与挑战 🛡️

上一节我们了解了攻击手法,本节我们来探讨为何这类攻击如此难以防范。

这类攻击之所以棘手且令人无法接受,是因为其解决方案往往要求我们改变“信任他人”的商业模式。

对于翻垃圾,合理的防御措施是粉碎敏感文件,并通过实体安保来阻止此类物理接触攻击。

然而,对于社会工程学,防御意味着需要训练客服人员“不要过于热心”,要对来电者保持怀疑,秉持“人性本恶”而非“人性本善”的假设。这从根本上改变了商业乃至社会的互动方式:通话的目的从“我真心想帮助您”变成了“确保您不会黑我”。

因此,社会工程学和翻垃圾之所以难以应对,是因为它们利用了企业与客户之间最基本的信任关系。

小测验与总结 📝

这里有一个小测验,但答案是“以上都不是”。目前提到的选项都不符合社会工程学的真实情况。

正如我们所说,社会工程学利用了企业对用户的信任。而不幸的是,在许多情况下,解决方案在某种程度上降低了这种信任度。

本节课中我们一起学习了社会工程学攻击的核心原理、其实施方法(如信息搜集和翻垃圾),以及它为何如此难以防御——因为它攻击的是人际信任这一社会基础。希望本教程对您理解这种非技术层面的安全威胁有所帮助。

140:钓鱼攻击 🎣

在本节课中,我们将要学习一种名为“钓鱼攻击”的网络安全威胁。我们将探讨其工作原理、常见变体以及为何这种看似简单的攻击方式却如此有效和危险。

概述

钓鱼攻击是一种利用电子邮件等开放通信协议进行欺骗的网络攻击。攻击者伪装成可信的实体,诱使受害者执行特定操作,例如点击恶意链接或下载恶意软件。这种攻击之所以“高级”,是因为其成功率极高且变体繁多。

钓鱼攻击的原理

上一节我们概述了钓鱼攻击,本节中我们来看看其核心工作原理。

互联网的电子邮件协议本质上是开放的。任何人都可以相对自由地交换电子邮件。这种旨在促进沟通的开放性和信任感,恰恰被钓鱼攻击所利用。

电子邮件主要分为两类:一类是日常通信邮件,另一类是要求你执行某些操作的邮件。例如,银行可能发邮件要求你更新信息,或公司IT管理员发邮件要求你点击链接或下载文件。多年来,许多企业的系统管理都高度依赖电子邮件。

当攻击者识别出这种“握手”关系(例如银行与客户之间)时,他们就可以伪造一封看起来非常“官方”的邮件。他们可以复制特定银行或管理员的徽标、外观、字体和语气,使其看起来真实可信。

伪造发件人

不幸的是,在互联网上伪造电子邮件的“发件人”也相对容易。支持电子邮件的基础设施协议(在邮件服务器间传输数据)与应用层内容(如邮件中的“发件人”行)之间并非紧密绑定。虽然存在像 DMARC 这样的协议可以加强这种绑定,但它并未被广泛采用。

因此,攻击者可以轻松创建一封看起来官方、且似乎来自合理地址的邮件。如果他们觉得直接伪造有困难,还可以注册一个与目标域名相似的“相邻域名”或“兄弟域名”来发送邮件。

鱼叉式钓鱼

攻击甚至可以更糟,因为攻击者可以采用一种名为“鱼叉式钓鱼”的技术。与广撒网不同,鱼叉式钓鱼针对特定目标进行深入研究。攻击者可能研究你,例如,如果你是一家公司的首席财务官,他们会制作极具针对性的内容,从看似合理的地址发送,诱使你执行操作。

他们想让你做什么呢?通常是下载恶意软件。如何实现?通过让你点击一个受感染的链接。这就形成了一个紧密的攻击闭环。因此,我说它看似简单,实则相当“高级”,需要攻击者进行精心准备。

防御措施与挑战

我们应对钓鱼攻击的方式目前还非常笨拙。有一些技术解决方案会检测邮件中可能存在的恶意负载,甚至主动测试和“引爆”URL链接,这很有前景,但此类技术的部署远未普及。

我们通常的做法是尝试培训用户,让他们小心点击的内容,例如将鼠标悬停在链接上,检查地址是否真的来自可信来源(如 yourbank.com),而不是奇怪的地址。然而,这种培训效果有限,问题在于无法让每个人都做到这一点。

钓鱼攻击的重要性

钓鱼攻击通常被认为是几乎所有高级持续性威胁甚至国家级攻击的第一步。这有点讽刺:一个孩子都能学会的、针对简单协议的攻击技术,却深深嵌入在我们所见的一些最先进的攻击中。因此,它是简单与复杂的奇妙混合。

常言道,如果你是世界上最厉害的窃贼,走到一栋房子前发现窗户开着,你还会花一个小时去解码开锁吗?你只会选择最简单的方式——从开着的窗户爬进去。请记住这一点:攻击者大多会利用他们能做到的最简单的事情,而钓鱼攻击被证明是极其有效的。

大多数人习惯于信任并点击邮件中的链接。如果你收到一封看起来官方、来源合理,并且其中还包含一些与你相关的准确信息的邮件,你点击这个钓鱼链接的可能性就会非常高。不幸的是,我们全球社区都需要努力解决这个问题。

小测验与总结

以下是一个小测验,关于鱼叉式钓鱼的最佳描述是:它确实涉及研究特定目标个体,而人们在网上泄露过多信息这一事实,无疑增加鱼叉式钓鱼成功的可能性。

本节课中我们一起学习了钓鱼攻击及其变体鱼叉式钓鱼。我们了解了攻击者如何通过伪造可信内容使来源看起来合理,并利用针对性的研究信息来组合成一套非常有效的互联网攻击方程。希望本课能帮助你理解钓鱼攻击的机制。

我们下个视频再见。

141:安全意识 🧠

在本节课中,我们将要学习“安全意识”在网络安全领域中的角色、价值及其局限性。我们将探讨为何安全意识活动至关重要,以及为何技术系统设计不能完全依赖它。


上一节我们介绍了网络安全的基础概念,本节中我们来看看安全意识的具体作用。

安全意识通常与大型宣传活动相关联。我们都经历过两个著名的宣传活动:一是“不要吸烟”,二是“系好安全带”。无论你身处何地,都曾接触过这些旨在改变行为的建议。

然而,这些宣传活动的效果如何?仍然有很多人吸烟,也有很多人不系安全带。这或许揭示了人类的一个基本特性:你永远无法让100%的人遵循非常好的建议。

对于技术人员而言,这里有一个关键启示:如果你假设能说服大量用户以某种特定方式行事,这是一个非常糟糕的设计决策。这根本不会发生。


尽管如此,开展安全意识活动仍然是一个好主意。以下是原因:

假设你有100名用户,你希望他们都不去点击可疑内容。如果你完全放弃安全意识教育,可能有一半的用户会点击。通过开展安全意识活动(例如设立宣传月、安全日、在食堂外设立咨询台等),你可以帮助用户更清楚地认识到不安全行为的影响。

这样,点击可疑链接的用户比例或许能从50%降至10%。这意味着你成功让40%的用户避免了风险。这显著降低了风险,也减轻了网络安全组件阻止相关风险(如恶意软件入侵企业)的负担。因此,尽一切努力降低风险,安全意识的概念是一个非常好的想法


但是,我们必须认识到其局限性。你不能假设安全意识宣传活动会100%成功。这是其中的计算机科学要素。

作为网络安全系统的设计者或构建者,犯一个巨大的错误就是说:“我们不能让人们做这件事,所以我们就训练他们不要做。”这行不通

这是一个基础性的认知。在本系列视频中,我们偶尔会指出一些比表面理解更深入的观点。我希望这一点能深入人心,让我再说一次:

当你构建或设计一个系统,并且需要用户以特定方式行为以避免某种情况时,你最好不要依赖培训或安全意识作为实现该目标的基础。因为总会有一定比例的用户不会采纳你的建议。这或许是人类的天性,难以改变。


我们不应为此感到沮丧,而应接受它,并认识到这是计算机系统设计者必须纳入功能需求集中的一个因素,以驱动他们所构建的系统。

简单回顾一下:安全宣传日、咨询台、培训项目、视频等所有形式,这些都是绝佳的主意,是企业应该做的事情。许多初入网络安全领域的人可能会在这些方面工作。

但我们必须确保理解其局限性。就像禁烟宣传、安全带宣传一样,我们的目标受众中总有一定比例的人不会采纳建议,不会按照我们的推荐去做。因此,如果我们过度依赖安全意识作为主要控制手段,这将对我们的系统产生影响。


本节课中我们一起学习了安全意识的价值与局限性。我们明白了开展安全意识活动对于降低风险至关重要,但同时也认识到技术系统设计不能完全依赖于用户行为的改变。在构建安全系统时,必须将“用户可能不会遵循最佳实践”这一因素纳入设计考量。

希望本课对你有所帮助。我们下个视频再见。😊

142:使用视频提升安全意识

在本节课中,我们将探讨如何利用视频这一现代媒介,有效地向员工或大众传达网络安全意识信息。我们将分析传统沟通方式的局限性,并了解视频在吸引注意力、传递关键信息方面的独特优势。

上一节我们介绍了安全意识的重要性,本节中我们来看看如何通过视频这种形式来有效提升它。

在现代社会,当你试图说服一群人采取特定行动时,有几种被证明有效的方法。首先,社交传播有效。其次,病毒式传播有效。再者,幽默元素有效。最后,视频形式显然有效。

过去,你可能会在工作中收到那种严肃的电子邮件,或者一段面向全体员工的、刻板的视频,要求大家“请执行以下操作”。如今已经没有人会认真阅读或观看这类内容了。

事实上,年轻一代尤其如此,他们会直接删除任何看起来需要大量阅读和遵循复杂指令的内容。

但是,如果将这些内容替换成有趣的形式,比如一段有趣、具有病毒式传播潜力的视频来传达你的信息,效果就会好得多。在这个语境下,信息就是关于网络安全意识的。

以下是几个核心的安全意识主题示例:

  • 谨慎点击:注意你点击的链接。
  • 谨慎下载:注意你下载的文件。
  • 谨慎保存:你不应该将大量真正重要的资料保存在本地,或许可以将其转移到云服务器上。
  • 谨慎分享:注意你的言论和行为。例如,你可能在飞机上过多地谈论公司机密,我们都见过这种情况发生。

因此,我认为在当代背景下,这些基本的安全意识信息,最好通过视频来完成。

现在,有一些优秀的公司正在做这件事。你可以在互联网上找到很多很好的例子。但我来自Attata的好朋友们创作的内容,我认为非常出色,他们慷慨地分享了一些示例。

接下来我们将观看一小段视频剪辑,我相信你会喜欢。这是一个绝佳的例证,展示了如何利用视频来实现出色的网络安全教育目标。

让我们一起来看一下。😊

本节课中我们一起学习了视频在网络安全意识培训中的关键作用。我们认识到,相较于传统的文本或刻板通告,结合了社交性、病毒传播潜力和幽默感的视频,能更有效地吸引现代受众的注意力,并成功传达关于谨慎点击、下载、保存和分享的核心安全信息。利用视频工具是提升整体安全意识的强大且必要的手段。

网络安全入门:P143:安全评估与审计 🔍

在本节课中,我们将学习网络安全中两个至关重要的概念:安全评估安全审计。我们将探讨它们如何为系统的安全性提供证据,并理解两者在目标、方法和关系上的关键区别。


在网络安全发展的早期,人们逐渐认识到,构建安全系统可以分解为两个核心部分。

第一部分是构建防护功能,例如开发加密系统和身份验证系统。这些功能性子系统构成了我们通常理解的网络安全主体。

然而,还有第二部分,即提供可信证据。这部分关乎如何向他人证明你所构建的系统确实有效。安全防护难以直观演示,因为你无法穷举所有可能的攻击来证明其无效性。因此,我们需要方法来提供系统安全的可信证据。


安全评估:协作式审查 🤝

上一节我们提到了提供安全证据的需求,本节中我们来看看第一种方法:安全评估

安全评估通常是一种非对抗性的、计划内的项目。评估者与系统构建团队之间建立良好的合作关系,共同审查系统,以发现潜在弱点。

安全评估的目标是合作寻找问题,而非指责。它通常由经验丰富的专家执行,有时也会有新人通过学徒制参与学习。许多安全咨询公司、架构公司或渗透测试公司都提供此类服务,他们会遵循结构化的方法论,分阶段审查系统架构和实现,以识别风险点。

以下是安全评估的一些典型特征:

  • 性质:非对抗性、协作式。
  • 关系:评估者与开发团队是合作伙伴。
  • 过程:通常是计划内的,遵循结构化方法。
  • 结果处理:具有较大的自由裁量权,结果可能仅在内部共享。

安全审计:独立式验证 ⚖️

了解了协作式的安全评估后,我们再来看看另一种提供证据的方式:安全审计

安全审计与评估有所不同,它通常带有一定的对抗性。审计方并非与系统构建团队紧密协作的伙伴,他们的职责是独立地发现问题。

审计可能不是计划内的,其结果的发布可能没有太多选择余地,有时会直接通报给整个公司,甚至给出“评级”。因此,审计者与被审计方之间的关系与评估场景不同。


核心对比与总结

本节课我们一起学习了安全评估与安全审计。两者都致力于为系统安全性提供证据,但在执行方式和关系动态上存在显著差异。

我们可以用一个简单的类比来总结:

安全评估如同一位教练,与团队一起训练,找出弱点并帮助改进。
安全审计则像一位裁判,独立检查比赛是否按规则进行,并给出裁决。

理解这两种方法的区别对于在商业或政府环境中有效管理和验证网络安全至关重要。两者都是构建可信安全体系不可或缺的组成部分。

144:什么是GRC?🛡️

在本节课中,我们将要学习一个在商业和政府领域广为人知的学科——治理、风险与合规,简称GRC。我们将通过一个简单的案例,了解GRC的核心概念、运作方式及其在提升企业安全中的作用。

概述

GRC是一个涉及三项核心活动的学科:治理、风险与合规。它旨在通过高层监督、风险评估和标准符合性检查,来管理和提升组织的安全态势。

什么是GRC?

GRC代表治理、风险与合规。这是一个综合性的管理框架。

  • 治理:涉及对组织在安全风险、控制措施和应对攻击等方向上的高层监督。这通常是一个由董事会或高级管理人员组成的监督角色,确保决策的合理性。
  • 风险:指为降低网络攻击的可能性和后果而需要采取的一切措施。我们通常会跟踪许多不同的风险和问题。
  • 合规:衡量你的实际操作是否符合某个强加于你或你自愿采用的标准或框架。这些框架通常来自政府、监管机构或第三方审计机构。

如今,每个企业都拥有某种形式的GRC职能,通常由一个平台支持。

GRC如何运作?🔧

上一节我们介绍了GRC的基本构成,本节中我们来看看一个GRC平台和一套框架要求如何被用来改善公司的安全。让我们通过一个例子来说明。

假设一家公司的《企业安全要求》文档中包含两条要求:

  1. 密码长度必须为6个字符。
  2. 经理必须批准关键访问请求。

同时,一个第三方框架(例如《框架安全要求》)强加给该公司两条要求:

  1. 密码长度必须为8个字符。
  2. 经理必须批准所有访问请求。

GRC安全团队会对比这些要求,并识别出差异。这种差异被称为“差距”。

  • 差距:指你当前的做法不如被要求达到的标准严格或完善。
    • 如果公司要求是6个字符,而框架要求是8个字符,那么8个字符更强,存在差距
    • 如果公司要求是8个字符,而框架要求是6个字符,那么你的做法更强,没有差距

在上述例子中,公司在密码长度和访问审批范围上都存在“差距”。

应对差距与实施变更

识别出差距后,公司需要采取行动。这意味着将企业要求从“6字符密码”和“仅审批关键访问”改为“8字符密码”和“审批所有访问”。

然而,这不仅仅是修改文件那么简单。变更要求会引发一系列复杂的后端工作:

  • 你需要逐个系统、逐个部门、甚至逐个设备地检查,将密码策略从6字符改为8字符。这需要大量的工作、时间、费用并增加复杂性。
  • 对于访问请求,你需要审查所有相关的工作流程。原本非关键的访问请求可能无需经理批准,现在则需要修改自动化流程、引入审批环节。这会增加官僚作风和时间成本。

但积极的一面是,安全性得到了提升。GRC的核心就是调整要求,使其更符合环境中的威胁模型。要使这些变更有效,GRC必须嵌入到业务流程中。

多框架合规的挑战

好消息是,如果你选择并遵循了一个坚实可靠的框架并成功实施,那么后续遇到的其他框架要求很可能已经被满足。

例如,假设你已遵循第一个框架(要求8字符密码和审批所有访问),此时遇到了第二个框架,其要求是:

  • 密码长度为6字符。
  • 仅审批关键系统访问。

对比后你会发现,你的现行标准(8字符,审批所有)更强,因此没有差距,你基本已经符合第二个框架的要求。

如果再来第三个框架要求7字符密码和审批所有访问,你同样没有差距。

这意味着后续的合规活动可能只需要很少甚至不需要实际的技术改造工作。

合规的利与弊

这种多框架环境带来了双重影响:

  • 利好:首次实施一个强框架能显著提升安全。后续合规可能只需处理文书工作,而无需大规模改造业务流程。
  • 弊端:大量的“文书工作”本身成为负担。为了向审计师证明合规,你可能需要填写大量表格、参加诸多会议。这消耗了时间和精力,而这些资源本可以更好地用于运营安全。

因此,许多网络安全专家批评合规已变得过于繁琐,框架过多。理想的情况是,能够一次性、正确地完成一个坚实可靠的框架。

小测验与总结

以下关于GRC平台的陈述,哪些是正确的?

  • A. 它们帮助识别安全要求之间的差距。
  • B. 它们跟踪不同框架的合规状态。
  • C. 它们促进安全要求的变更管理。
  • D. 以上所有。

答案是:D. 以上所有。 这些都是GRC平台相关的正确陈述。

GRC在近年网络安全中的重要性呈指数级增长,变得至关重要。我们需要政策制定者思考如何建立一个统一、坚实的框架,避免让网络安全团队陷入过多的文书工作,从而能将精力更有效地投入到运营安全中。

本节课中我们一起学习了GRC的基本概念。我们了解到GRC通过治理、风险管理和合规性检查来提升组织安全。通过案例,我们看到了如何识别“差距”,实施变更以提升安全,同时也认识到在多框架环境下合规工作可能带来的文书负担。希望这能启发你在自己的业务中关注并应用GRC。

145:NIST网络安全框架概述 🛡️

在本节课中,我们将学习美国国家标准与技术研究院(NIST)制定的网络安全框架。这个框架为组织评估和改进其网络安全流程提供了一个清晰、结构化的方法。

框架背景与核心理念

上一节我们介绍了网络安全的基本概念,本节中我们来看看一个具体的评估框架。评估软件或计算系统的属性通常有两种方式。

第一种方式是直接检查系统本身。第二种方式是检查构建该系统的流程。这类似于诊断疾病:一种方法是直接检查病人,进行血液检测或X光扫描;另一种方法是询问病人的生活方式、旅行史和习惯,从而预测其健康状况。

计算系统的评估方式与此相同。NIST框架更侧重于后者,即关注构建系统的流程,而非仅仅检查最终产物。

成熟度模型与框架结构

该框架遵循一系列我们通常称为“成熟度模型”的模型。其核心是衡量一个流程的成熟度。一个不成熟的流程效果很差,很可能导致构建出的安全防护措施薄弱无效。反之,一个成熟的流程会执行大量有效工作,从而降低风险。

NIST框架将整个网络安全工作分解为五个核心类别,在著名的框架图示中常被称为五大“支柱”。

以下是五大核心功能类别:

  1. 识别:识别需要保护的资产、系统和数据,并理解业务环境与风险。
  2. 保护:实施安全保障措施,以限制或遏制潜在网络安全事件的影响。
  3. 检测:开发并实施适当的活动,以识别网络安全事件的发生。
  4. 响应:在检测到网络安全事件时采取行动。
  5. 恢复:制定计划并采取行动,恢复受网络安全事件影响的任何能力或服务。

在每个功能类别下,都包含更具体的指导方针和子类别。使用NIST网络安全框架的组织可以利用这些来评估自身流程,并寻求改进。

框架的应用与价值

通过对比NIST在这五个关键领域推荐的做法与组织实际的做法,可以衡量出差距。这使得该框架极为流行,值得花时间阅读。

对于跟随本课程学习的同学,要求之一就是阅读该网络安全框架的大部分内容。虽然阅读框架有时像读字典一样枯燥,但熟悉其重要组成部分非常有必要。

例如,在“识别”功能下,涉及资产管理、业务环境和治理等,这些都是任何处理业务风险的人需要了解的领域。在“保护”功能下,包含访问控制、意识培训、数据安全等。“检测”功能涉及如何处理异常和各类事件。“响应”功能关乎规划和沟通。“恢复”功能则再次涉及规划以及如何从问题中学习。

总之,NIST网络安全框架是一个强大的工具,为任何希望提升网络安全的组织提供了一个清晰、理性的框架。它基于成熟度模型,旨在帮助组织改进其安全实践。

本节课中我们一起学习了NIST网络安全框架的背景、五大核心功能及其应用价值。希望这个简要概述对你有用,并激励你去查阅框架原文,熟悉这些重要概念。

146:PCI DSS框架概述 🔐

在本节课中,我们将要学习一个名为PCI DSS的特定安全框架。该框架旨在保护支付卡行业的数据安全,减少针对零售业务的网络攻击风险。

框架简介与背景

上一节我们介绍了网络安全的基本概念,本节中我们来看看一个专门针对支付卡行业的合规框架。PCI DSS代表支付卡行业数据安全标准。该框架的诞生,源于过去十年间针对信用卡读卡器、存储零售信息及私人账户数据的服务器攻击事件频发。支付卡行业认为当时的安全状况不可接受,决定必须提升行业安全水平以重建信任,否则用户可能停止使用信用卡,这对行业将是重大打击。

因此,行业制定了这套数据安全标准要求,并强制所有参与支付卡业务的机构遵守。围绕此框架,甚至衍生出一个专门的职业——合格安全评估员

QSA角色与评估流程

合格安全评估员是一个专门的审计职业。他们的工作包括对企业进行预评估或预审计,检查其是否符合PCI要求;或者进行正式审计,并出具证明,确认特定公司已满足PCI要求。

根据企业在零售行业中所处的角色(例如,是直接处理信用卡的零售商,还是支持该行业的服务提供商),所适用的要求等级也不同。因此,PCI DSS针对不同情况设置了不同的类别。

PCI DSS的六大控制目标与十二项要求

PCI DSS的要求被归纳为六大控制目标,并进一步细分为十二项具体安全要求。以下是这六大控制目标:

  • 构建并维护安全的网络和系统
  • 保护持卡人数据
  • 维护漏洞管理计划
  • 实施强访问控制措施
  • 定期监控和测试网络
  • 维护信息安全策略

企业需要逐项对照这些要求进行检查,就像使用任何框架一样,目的是发现自身实践与PCI要求之间的差距。如果存在差距,就必须予以弥补。随后需要由QSA进场验证差距已关闭,并生成相应文档。这个过程被称为安全评估安全审计:评估是预审计,真正的审计活动则由QSA执行并出具证明。

框架的成效与局限

然而,核心问题在于,尽管有这套复杂的体系,零售业黑客攻击事件依然存在。即使是经验丰富的QSA也会指出,安全评估和审计只能降低风险,无法消除风险。风险依然存在,但这套体系让情况变得更好,使我们的零售系统更值得信任。

一个重大的改进是从卡片背面的磁条技术转向芯片技术(在欧洲等地是芯片加密码,在美国是芯片加签名)。美国在这方面进展稍慢,直到2016年10月才强制要求商户升级到芯片模式。这项技术变革确实显著降低了风险,是对零售业建立更大信任和保障的真实贡献。但现实是,问题依然存在。由于涉及资金,此类攻击后果非常严重。

本节课中我们一起学习了PCI DSS这一特定安全框架。其核心在于一个包含六大控制目标和十二项要求的模型。QSA会通过预审计和正式审计来为企业出具合规证明,这是企业继续受理信用卡业务的必要条件。整个流程确实在很大程度上降低了风险,但我们必须牢记:它并未根除风险。

147:合规性与安全性的挑战 🛡️

在本节课中,我们将探讨一个关键概念:安全合规性。我们将分析合规性在整体网络安全防御体系中的位置,并澄清一个常见的误解——即合规性等同于安全性。

概述

要有效阻止针对企业的网络攻击,需要构建一个由四层组成的综合防御体系。合规性只是这个体系的基础层,其本身并不足以提供全面的安全保障。理解合规性与实际安全措施之间的区别,对于制定有效的安全策略至关重要。

构建网络安全防御的四层模型

为了形象地理解,我们可以将网络安全防御想象成一道不断增高的围栏。以下是构成这道围栏的四个层次:

  1. 合规性程序:这是防御体系的基础层。它建立了安全实践的最低标准和基线要求。
  2. 技术方案:在合规性之上,需要部署实际的安全技术,例如防火墙、入侵检测系统和加密技术。
  3. 架构设计:这一层关注系统的整体设计和配置,例如网络边界划分、云环境部署以及具体的系统配置。
  4. 运营操作:这是最顶层,涉及系统的日常运行和维护,包括及时打补丁、保持态势感知和实时安全监控。

当这四层都得到妥善实施时,企业才能建立起足以阻止网络攻击的“安全高度”。

合规性的角色与局限

上一节我们介绍了四层防御模型,本节中我们重点看看作为基石的合规性层。

合规性提供的“高度”本身不足以阻止网络攻击。它的作用是建立一个基础,以便在此基础上创建能够阻止攻击的完整安全程序。

合规性之所以被高度重视,是因为全球几乎所有的企业和政府都赋予其极大的权重。在许多国家和地区,如果企业遭受公开的网络攻击,政府机构可能会对其施加经济处罚和运营处罚。运营处罚通常意味着强加新的合规性要求或框架,其理论依据是:遭受攻击的原因在于企业未能妥善履行合规义务。

对“合规性万能药”的批判

这种将合规性视为万能解决方案的倾向需要审慎思考。攻击事件发生后,可能存在多种情况:

以下是攻击事件根因的几种可能性分析:

  • 合规性程序糟糕:企业的基础合规程序存在严重缺陷。在这种情况下,修复合规性问题是正确的补救措施。
  • 技术工具低效:企业拥有完善的合规程序,但使用的网络安全技术(如防火墙)本身低效或配置不当。此时,问题不在于合规,而在于技术层。
  • 架构或运营缺陷:问题可能出在系统架构设计不良或日常安全运营存在疏漏。

因此,仅仅通过加强、细化合规要求来解决问题的思路并不总是正确的。虽然合规性可能是问题所在,但它不一定是问题的根源。根据四层模型,问题可能出在合规、技术、架构或运营的任何一层,甚至是所有层面。

如果我们在网络攻击后,武断地认为只能通过合规性来修复问题,那将是一种误区。对于政策制定者而言,有必要重新思考这种“一出事就加强合规”的观念。这并不总是最合适的解决方案。

正确的做法是进行深入调查,确定特定问题的根本原因。如果调查发现合规性层面表现良好,那么就不应该给企业增加额外的合规负担,因为这通常只会产生更多文书工作,而不会实质性地改变安全状况。从理论上讲,这甚至可能削弱你原本试图帮助的那个组织的安全能力。

为何人们倾向于依赖合规性

尽管存在局限,但人们仍倾向于将合规性作为应对网络攻击的主要手段,原因如下:

以下是合规性常被用作首选应对措施的几点原因:

  • 熟悉度高:合规性框架和流程通常为组织所熟悉。
  • 易于实施:合规要求可以被明确地书写和规定。
  • 便于部署:相对于复杂的技术或架构调整,加强合规在流程上往往显得更直接、更容易推进。

然而,“易于部署”并不意味着它能有效改变安全状况。我们必须牢记这一点。

总结

本节课中,我们一起学习了网络安全防御的四层模型,并深入探讨了合规性在其中扮演的基础性角色及其局限性。我们明确了合规性不等于安全性,它只是构建强大安全体系的起点而非终点。在应对安全事件时,应进行全面调查以定位根本原因,而非盲目地增加合规负担。理解合规与安全之间的区别,将帮助我们成为更成熟的网络安全技术专家和决策者。

148:AlienVault首席技术官 👨‍💼

在本节课中,我们将与AlienVault公司的首席技术官Roger Thornton进行对话。我们将了解他如何进入计算机安全领域,并探讨关于软件安全、犯罪模型以及网络安全基本理念的核心观点。


Hi, 我是Ammarossa, 现在正和我的好朋友Roger Thornton坐在一起, 他是AlienVault的首席技术官。AlienVault是网络安全公司中名字比较酷的一个, 这个名字背后有个小故事, 也许我们今天会讲到。谢谢, 请告诉我们AlienVault这个名字是怎么来的。

AlienVault确实有一个很酷的形象。它是由西班牙马德里的几位先生创立的。具体时间我不太确定, 大概是在20世纪90年代中期。那时所有酷的名字都被占用了。

所以那时你必须自己创造名字。他们希望公司的名字既严肃又有趣。

于是他们创建了一个有趣的名字列表,“Alien”就在其中;又创建了一个严肃的名字列表,“Vault”也在其中。他们编写了一个计算机算法来遍历这些名字。算法会搜索商标注册库、公司数据库和互联网注册信息。最终,“Alien”和“Vault”的组合是第一个可用的名字。这太棒了。我在想人们是不是也这样给孩子起名, 比如把有趣的名字和严肃的姓氏组合起来。这是个好主意。我儿子Alexander的名字也有类似的故事, 但我们留到后续视频再讲。那么, 请介绍一下你自己, 你是如何对计算, 最终对计算机安全产生兴趣的?

好的。计算机, 或者更广义地说工程学, 对我来说很自然。我是在20世纪60年代的一个空军基地长大的。我第一次看到飞机起飞, 还有NASA的设备和火箭之类的东西, 印象非常深刻。

那时我大概三四岁, 我不知道工程师是什么。

但我知道我想制造那些东西。时间快进到20世纪80年代, 我去上学。那时我们不再做太多航天相关的事情, 而我当时正好住在硅谷的中心。

所以当时最热门的东西是计算机, 我算是幸运地进入了这个本地产业。

我从半导体制造工程师开始做起。

从那里转到安全领域是一个奇特的故事。

但硅谷的一大优点是, 它不断自我变革以适应下一个新事物的需求。

所以我喜欢我住的地方, 我们从半导体转到计算机, 再到软件, 然后互联网成为大趋势, 我也在那个领域工作。当我在互联网行业工作时, 我曾为一家名为E*Trade的在线经纪公司工作, 也为eBay工作过。那是我第一次亲身经历针对我所开发产品的犯罪活动, 同时我自己也犯了一些严重的错误。那时我是一名开发经理。

多年后我才知道, 我们在系统认证工作中犯的一些错误, 会被利用来入侵系统。

当所有这些事情冲击到我时, 一位朋友让我对安全产生了真正的兴趣。实际上, 这位朋友你也认识, 是Catchline。我们当时在和一位风险投资家共进午餐。

我们讨论着创业的想法, 他执着地, 在一段时间内, 就这个问题不断与我探讨。他作为一个职业生涯大部分时间都在从事计算机安全, 并且作为投资者投资了多家安全公司的人, 他有这样一种感觉:

像你们这样的软件人员, 你们在构建这些东西, 然后像我们这样的安全人员, 试图保护它。我们谈论的时候大概是1999、2000年。他开始认为, 你们构建的东西根本无法被完全保护。我们尝试了又尝试, 无论做什么似乎都做不到。所以, 我们来谈谈你们在构建时到底在做什么。他最初几次提出这个观点时, 我并没有理解, 但他问了一个让他着迷的问题。

他说:“告诉我, 防火墙是由什么构成的?” 我说:“嗯, 是软件。” 然后他恍然大悟。为什么防火墙可以暴露在开放的互联网上, 承受各种攻击, 但文字处理器、银行系统或任何其他软件却不行?为什么这个软件需要保护另一个?为什么另一个不能以同样的方式构建?作为技术人员, 我常常会给出一个不正确的答案, 只是为了敷衍过去。

然后我开始反复思考。当然, 我了解到防火墙也时常被攻破。

但最终, 绝大多数计算机系统的入侵, 都可以追溯到软件中的设计或编码错误。你可能会说, 等等, 还有最终用户, 他们会做蠢事。但我们在设计软件系统, 用户是系统的一部分, 软件应该对此进行补偿。所以我第一次涉足计算机安全领域是加入了一家名为Fortify的公司。我的第一个客户是IT部门。在那家公司, 像任何优秀的工程师一样——这也是我想给上这门课的同学的一些建议——当你初次接触安全时, 你会想着去“解决”这个问题。如果我理解需求并能充分与问题互动, 我就能修复它。如果你像我一样幸运, 在早期努力中遇到有执法背景的人, 他们会告诉你并教你, 计算机安全不像大多数工程问题, 它是“犯罪”。

在世界上绝大多数地方, 我们都没有“解决”犯罪问题。犯罪是存在的, 只要有人类试图犯罪, 并运用他们的智力和精力, 他们就会在一定程度上得逞。

所以犯罪是我们需要“管理”的东西。我们将其管理到一个可接受的水平。我们从未真正“解决”它, 因为解决的成本是无限的。当我最初进入计算机安全领域时, 我并不知道这一点。所以我想着如何“解决”它。Fortify的想法是, 如果我们仅仅从设计和编码的角度把软件构建得更好, 我们就能预测恶意行为者的行为, 我们就能构建出没有缓冲区溢出、SQL注入等常见入侵模式的代码。

于是我们开始这样做。我们产生了一些影响。但你可以想象, 世界上并非所有代码都是从安全角度构建得具有弹性的, 即使它最终部署的功能可能很关键。所以今天我们处于这样一种状态:世界上每家主要银行都在构建经过良好测试、严格设计和构建的代码, 电话基础设施也是如此, 许多国防部系统也是如此, 但这可能只占地球上所有系统的10%。

而像……我不想针对谁, 但你知道, 硅谷下一家社交网络公司或虚拟游戏公司, 会构建一些看起来不需要银行系统或通信基础设施那种严格性的东西。它可能不会被构建成能抵御我们能想象到的所有攻击形式。然后一旦它变得关键, 我们就会遇到同样的问题。所以, 当我真正想明白这一点后——我们可以把软件构建得更好, 但我们永远无法构建得完美。而且大量的软件根本不会以安全为导向来构建——我将对安全问题的兴趣, 转向了管理和应对这个问题的领域, 即检测和响应。

我不知道你们是否已经讲过, 但我相信你们讲过或者将会讲到, NIST框架中的“保护”, 即试图保护你的系统。

NIST是美国国家标准与技术研究院, 你提到的框架是一套帮助公司提升安全性的要求。对, 谢谢澄清。他们拥有的这个模型——保护、检测、响应——我认为, 如果你真的想建立一个强大的安全计划, 这是最重要的模型之一, 需要好好理解。所以我在“保护”方面花了很多时间, 并向自己证明, 像你这样在我涉足安全领域之前就了解多年的人所知道的事情:我们无法完全保护这些系统。好吧, 如果情况如此, 那么我们还能将什么模型应用于安全?坦率地说, 这和银行多年来使用的模型是一样的。

想想你最喜欢的银行和你家附近的分行。别在家里尝试, 但你可以抢劫那家银行, 而且你很可能会得手, 至少在进去拿钱这个环节。事实上, 银行甚至会“帮助”你, 他们会协助你离开那里。

但是, 三周后你还能在家享受那笔钱的概率几乎为零。原因是, 银行已经研究过并得出结论:我不可能将分行保护到无法被抢劫的程度。当他们向你描述这一点时, 他们会说, 如果真能做到, 那它就不再是一个银行分行了。银行分行的主要功能是为其服务的当地社区进行资金的存入和取出。如果你真的把它保护到无法被抢劫, 它就不再履行这个功能了。所以, 听起来可能很疯狂, 但更好的方法是实施保护措施, 使其不会经常被抢劫。

但是, 银行、执法部门在电话公司和计算机制造商等各方的帮助下所部署的检测能力, 使得如果你犯下那项罪行, 他们识别你的身份、追踪你之后去向的能力, 足以保证银行的安全。所以, 你知道有趣的是, 这个模型就在我们所有人面前, 是最古老的模型之一。向我解释这一切的是一位银行高管, 他告诉我银行已经存在了大约3000年, 被抢劫了大概295年左右, 在打击犯罪方面, 我们真的可以从这个群体身上学到很多。所以这个想法是:好吧, 你会进来, 但如果我能检测到你。

并在任何实际损害发生之前做出响应。我的意思是, 这真的很有趣。嘿, 我们先让大家休息一下。

我们回来录制第二个视频, 继续讨论这些主题。太好了。希望你们喜欢第一部分与我朋友Roger Thornton的对话。

希望你们回来观看第二部分, 祝愉快。


本节课中,我们一起学习了Roger Thornton进入网络安全领域的历程。他分享了一个核心观点:网络安全更像是对“犯罪”的管理,而非一个可以完全“解决”的工程问题。他通过银行抢劫的类比,生动地阐释了保护、检测、响应这一安全模型的重要性。软件难以构建得完美无缺,因此,在尽力保护的同时,强大的检测和快速响应能力是构建有效安全体系的关键。下一部分我们将继续深入探讨这些主题。

网络安全导论:模块12:作业与阅读 📚

在本模块中,我们将介绍一些与云安全、微隔离相关的先进技术,这些技术在现代企业及基础设施网络安全领域非常热门。为了辅助你的学习,我们推荐了一些补充资源。

以下是本模块的推荐阅读材料清单:

  • 一本电子书:由我与我的儿子Matt合著。此书为可选阅读材料,但你可以在亚马逊上下载。建议你重点阅读其中关于从CIA(保密性、完整性、可用性)到AP(高级持续性威胁)的章节,这能为你提供网络安全的基础背景知识。
  • 一篇论文:由我多年前为IEEE撰写。这篇论文概述了可用于保护云环境的实用方法,我认为它能完美补充本模块的教学内容。

总而言之,这些资源在你学习本模块的过程中会非常有帮助。希望你能享受本模块的学习。

150:企业向混合云的转型 🚀

在本节课中,我们将探讨企业计算架构从传统的、受边界保护的网络,向混合云模式转变的过程。理解这一转变对于学习现代网络安全至关重要。

概述

我们正经历一场计算方式的根本性变革。企业不再将所有计算资源局限于内部数据中心,而是越来越多地采用混合云架构。这种架构结合了企业内部设施与公共云服务。本节将分析驱动这一转变的核心原因,并讨论随之而来的安全考量。

驱动转型的核心因素

上一节我们介绍了转型的背景,本节中我们来看看推动企业采用混合云的主要驱动力。这些因素并非源于安全考虑,而是业务与技术发展的自然结果。

以下是推动这一转变的几个关键因素:

  1. 成本效益:在公共云架构中运行服务(例如微软Office 365这类“即服务”模式)的成本远低于维护企业内部服务器。这降低了企业的资本支出和运营成本。
  2. 移动性:人们希望使用移动设备随时随地访问数据。混合云支持用户无论身处办公室、家中还是机场,都能以一致的方式获取所需资源。
  3. 灵活性:云服务提供了极高的灵活性。如果企业对某项服务不满意,可以轻松地将账户和数据迁移到其他服务提供商,而无需更换硬件或改造数据中心。

安全与合规视角

了解了转型的驱动力后,我们需要从安全和合规的角度审视这一变化。安全专家对此持有不同看法。

  • 合规团队的担忧:合规部门最初往往不青睐这种转变。他们习惯于理解并控制企业内部环境,而对迁移到未知的云环境感到不安。这导致早期采用公共云的企业可能在合规评估中得分较低。
  • 过渡性风险:这是另一个合理的关切点。任何将应用程序或系统从一处迁移到另一处的过程,即使是从较差环境迁移到更好环境,都会引入风险。转变过程本身可能产生问题,而问题和风险正是攻击者利用的突破口。例如,在迁移测试期间暂时关闭安全功能以确保正常运行,就会暴露过渡性风险。

总结与展望

本节课中,我们一起学习了企业计算模式从私有数据中心到混合云,并最终可能走向完全公有云的演进路径。我们分析了成本移动性灵活性是核心驱动力,同时也探讨了合规挑战过渡性风险等安全考量。

这一转变正在实时发生,构成了现代网络安全的背景板。不理解从封闭式企业计算到分布式、虚拟化的云计算的演进,就无法真正理解网络安全。在后续课程中,我们将探讨一些在混合云及未来公有云环境中,用于提升网络安全的技术与架构方法。


课程内容源自:纽约大学《网络安全|Introduction to Cyber Security》

151:工作负载微隔离 🛡️

在本节课中,我们将学习一种名为“微隔离”的网络安全技术。这是一种为应用程序或工作负载创建小型、定制化安全边界的方法,尤其适用于混合云和公有云环境。


从传统边界到云环境的演变

上一节我们回顾了传统的网络安全模型。过去,用户、网络和应用程序都位于一个由防火墙保护的大型网络边界之内。我们通常认为边界内的用户和网络是可信的。

然而,随着向混合云架构的过渡,情况发生了变化。应用程序现在可能托管在云端的虚拟系统上,并通过移动连接进行访问。我们不再拥有一个可以包裹所有基础设施的大型安全边界。

微隔离的核心概念

面对这种变化,我们需要新的安全方法。本节中,我们来看看微隔离技术。其核心思想是:为单个应用程序或工作负载创建一个专属的、小型的虚拟安全边界

这就像不再用一堵大墙围住整个园区,而是为园区内的每栋重要建筑都安装独立的门禁和安保系统。

微隔离的实现方式

以下是实现微隔离的关键步骤:

  1. 识别工作负载:首先,确定需要隔离的应用程序或业务功能(例如,人力资源管理系统)。
  2. 部署虚拟安全设备:利用云环境的虚拟化能力,在目标工作负载前部署软件形态的虚拟防火墙和虚拟入侵防御系统等安全设备。
  3. 定制安全策略:根据该工作负载的具体需求,配置最小化的、精确的安全规则。例如,一个数据库应用可能只需要开放特定的端口供更新记录使用。

代码示例:一个简化的微隔离策略概念

workload: hr_database
security_perimeter:
  - virtual_firewall:
      allowed_ports: [3306] # 仅允许数据库端口
      source_ips: ["10.0.1.0/24"] # 仅允许来自特定IP段的访问
  - virtual_ips:
      signatures: ["sql_injection_patterns"] # 仅检测SQL注入攻击

微隔离的优势与意义

微隔离改变了我们在云环境中实施网络安全的方式。它要求我们更多地关注数据、应用程序和具体的业务活动(即“工作负载”)。

这种方法非常强大,因为它允许:

  • 精细化防护:安全策略与工作负载的具体需求紧密匹配。
  • 灵活部署:软件定义的虚拟设备易于在云中快速部署和扩展。
  • 支持云迁移:为从私有云到混合云,再到公有云的平稳过渡提供了可行的安全框架。

目前,最资深的网络安全团队正在积极探索如何实施微隔离,以保护分散在云中的应用程序。


本节课总结

本节课中,我们一起学习了微隔离技术。我们了解到,它通过为云环境中的每个关键应用程序或工作负载创建独立的、软件定义的虚拟安全边界,实现了更精细、更灵活的安全防护。这是适应现代混合云和公有云架构的重要网络安全理念。

152:通过微隔离实现深度防御

在本节课中,我们将学习网络安全中的一个基本概念——深度防御,并探讨它如何应用于云环境中的微隔离技术。

深度防御概念

上一节我们介绍了课程背景,本节中我们来看看深度防御的核心思想。深度防御这个术语本身就表明了其含义:如果我想保护一个资产免受黑客攻击,只设置一层防护措施,那么解决方案的“深度”就不够。一旦黑客突破这层防护,他们就能直接访问资产。

但是,如果我建立两层、三层甚至更多层防护,情况就不同了。其理念在于,即使某一特定防护层失效,只要其他防护层之间存在一定程度的多样性,攻击仍可能被阻止。如果所有防护层都相同,黑客一旦找到突破方法,就能通过所有层。但如果它们各不相同,例如一层是门、一层是墙、一层是密码,那么黑客在每一步都需要解决不同的难题或挑战才能通过。

因此,深度防御的理念植根于良好的网络安全架构设计。

深度防御示例

以下是深度防御模型的一个具体示例,展示了从黑客到目标资产可能需要突破的多层防护:

  • 第一层:防火墙。这是攻击者必须突破的第一道防线。
  • 第二层:入侵检测系统。攻击者需要绕过它,因为它可能会检测到异常活动并触发警报。
  • 第三层:密码验证。系统会要求输入密码,攻击者可能猜对,也可能猜不对。
  • 第四层:病毒检查。系统会检查是否存在病毒,这是深度模型中的第四层。
  • 第五层:数据加密。所有资产数据都可能被加密,即使获得访问权限,数据也无法直接读取。

可以看到,在良好的分层深度防御模型下,从黑客到访问PC或服务器资产的过程,对攻击者而言并不容易。

微隔离中的深度防御

上一节我们介绍了深度防御的基本模型,本节中我们来看看这个模型如何在微隔离的背景下发挥作用。

观察下图,可以看到一个用户、第一道防御层(云服务提供商的物理防火墙),以及嵌入在云中的微隔离区。这个微隔离区可以为云中的每个工作负载或应用程序量身定制。

微隔离并非唯一的保护措施。我们还可以部署其他防护,例如物理防火墙。即使在微隔离区内部,也可能存在多个虚拟设备,如虚拟防火墙、入侵防御系统等,理论上可以部署更多防护。

这是一个强大的概念:利用虚拟化技术构建额外的防御层,实现深度防御。这无需依赖硬件,可以通过资源调配轻松完成。

这或许意味着,公有云的安全性可能显著高于我们过去看到的基于传统边界的安全模式。这一点非常重要。

传统的边界安全系统,即使具备一定的深度防御,也主要依赖硬件。随着我们向混合云乃至公有云迁移,我们有可能通过资源调配、使用虚拟设备、利用自带多层防护的微隔离技术,并结合其他类型的保护措施,最终实现一个安全性极高、层次丰富且大部分为虚拟化的结果。

这带来了更低的成本和更高的灵活性。最终,这支持了一个观点:向公有云迁移实际上比停留在企业内部环境更安全,而非更不安全

总结

本节课中,我们一起学习了网络安全中的深度防御概念。我们了解到,通过部署多层、多样化的防护措施,可以更有效地阻止攻击。随后,我们探讨了如何将这一理念应用于云环境的微隔离技术中,利用虚拟化手段灵活、低成本地构建深层防御体系,从而可能实现比传统边界安全更高的安全性。

希望本教程对您有所帮助。我们下节课再见。

153:云访问安全代理 (CASB) 🛡️

在本节课中,我们将要学习一个重要的云安全组件——云访问安全代理,通常简称为 CASB。我们将了解它的基本概念、工作原理以及它在现代混合云环境中的关键作用。

概述

CASB 是一个由 Gartner 公司提出的术语,它描述了一种位于用户与云服务之间的安全策略执行点。它的核心作用是作为用户访问多个云应用和服务的安全代理。

传统安全模型的演变

上一节我们介绍了传统的企业内网安全模型。在过去25年的传统模型中,用户直接访问位于企业防火墙内部的应用程序和工作负载。在这种架构下,通常不需要在用户与应用的路径中间进行安全仲裁。

随着应用程序迁移到公有云,情况发生了变化。我们有了保护这些云端应用的新需求。在其他视频中,我们讨论过引入“微隔离”的可能性,即为每个应用或工作负载构建一个容器环境,并将虚拟安全设备嵌入其中以提供原生保护。

微隔离模型的挑战

然而,微隔离模型存在一个挑战。如果企业使用了分布在五、六甚至十个不同云平台上的众多工作负载,并希望为所有工作负载实施统一的安全策略(例如通用的入侵防御),那么采用微隔离模型就意味着必须在每个微隔离环境中单独部署和配置安全组件。

如果有25个不同的微隔离环境,就需要对所有环境进行安全规则的编排和变更管理。这种操作可能非常繁琐且容易出错。

CASB 的解决方案

本节中我们来看看 CASB 如何解决上述问题。CASB 充当一个位于中间的安全代理,可以同时为多个云服务提供保护。

以下是 CASB 的核心工作模式:

  • CASB 位于用户与一个或多个云服务提供商之间。
  • 它可以为已经部署了微隔离防护(如虚拟防火墙、入侵防御系统)的云环境提供额外的安全层。
  • 物理防火墙通常部署在云服务提供商前端,用于阻挡外部威胁。
  • CASB 则在此基础上,在用户访问路径中增加了访问控制、监控、日志记录和审计等安全功能。

CASB 的核心优势

CASB 是一个非常强大的概念,其优势主要体现在以下几个方面:

以下是 CASB 的主要优势:

  1. 统一的多云安全管理:它能够为来自不同厂商、不同服务提供商的异构云环境提供统一的安全策略和控制点。
  2. 集中的可视性与审计:对于审计和合规管理人员而言,CASB 提供了“一站式”的服务。它可以收集详细的遥测数据,帮助企业了解哪些用户、在何种条件下、出于何种目的访问了云环境。
  3. 架构简化:它使得企业无需单独管理每个微隔离环境的安全策略,就能将通用的安全要求横跨多个容器或云工作负载进行实施。

因此,CASB 不仅是当前大多数网络安全架构中已经扎根的重要工具,而且随着用户越来越多地访问云端的容器化环境,它将继续成为未来安全架构中的关键组成部分。

知识巩固

为了加深理解,这里有一个思考题:以下哪项是部署 CASB 的主要驱动因素?

  • A. 需要更快的网络速度。
  • B. 希望降低硬件成本。
  • C. 需要管理单一的、同构的云环境。

答案:以上都不是。

部署 CASB 的主要驱动因素通常是复杂的多云环境异构的云服务,以及希望以统一方式跨多个容器实施安全策略,而无需单独操作每个微隔离环境的需求。当然,它确实为合规提供了强大支持,但题目中列出的选项并非其核心驱动力。

总结

本节课中我们一起学习了云访问安全代理 (CASB)。我们了解了它如何作为用户与云服务之间的安全中介,为复杂的混合云与多云环境提供统一的安全策略执行、访问控制、监控与审计能力。CASB 简化了安全管理,增强了可视性,是现代云安全架构中至关重要的一环。希望这能帮助你理解 CASB,并在后续的学习中认识到它对安全架构的重要性。

154:高级混合云安全架构(第一部分)

概述

在本节课中,我们将学习如何构建一个高级的混合云安全架构。我们将从传统的企业边界防护模型出发,逐步将内部工作负载迁移到云端,并利用微隔离技术为每个工作负载提供独立的安全防护。这个过程旨在简化企业边界规则,并提升整体安全态势。


从传统边界到云端工作负载

上一节我们提到了传统安全模型的挑战,本节中我们来看看如何开始转型。

基本前提是,企业内部运行着虚拟化的工作负载。这里所说的“虚拟”指的是软件,即正在运行的应用程序。这些工作负载位于企业的数据中心和服务器上,但它们通常具备可迁移性。这类能力包括电子邮件、远程访问等。

我们从一个假设开始:这些工作负载位于企业内部,而企业的网络边界存在漏洞。这意味着黑客有可能侵入,这是我们不希望看到的。我们的目标是从这种状态转变为一个环境,其中每个工作负载或资产在云端都成为某种自保护的实体。

因此,我们希望从图表中展示的模型转变——即一个带有缺口的椭圆形边界,内部包含资产——转向我们认为更接近云原生的架构。


迁移工作负载与实施微隔离

让我们从重新绘制左侧的图表开始,它展示了相同的内容。我将首先选择其中一个名为“外包服务”的工作负载。

也许你有一个网关,所有外包供应商都通过它接入,并提交信息。通常,他们会进入你的企业网络来完成这些操作。但我们的目标是将这个工作负载迁移到某个基于云的虚拟数据中心(图中标注为VDC)。你可以将外包工作负载迁移到那里。

请注意,我们实际上能够简化企业边界的规则集。过去,我们需要一条规则来支持外包服务。现在,我不再需要那条遗留企业网络中的规则。因此,遗留企业的防火墙实际上得到了改善,因为我迁移了某些东西。

那么,如何保护云端那个工作负载呢?我们围绕它构建一个微隔离区。微隔离区再次成为一个“收缩包装”式的虚拟化容器,我们用它来承载外包工作负载,并包含你认为必要的任何安全功能。

这样,我们已经将一个工作负载迁移到了云端。


迁移更多工作负载

以下是迁移其他工作负载的步骤:

  1. 选择第二个工作负载:电子邮件
    我们将迁移电子邮件工作负载。在图表中,你可以看到一个指向边界缺口的箭头,标有“电子邮件网关”。当我们把电子邮件工作负载迁移到云端时,观察那个小缺口的变化:它关闭了。边界实际上变得更简单。然后,我们在云端保护电子邮件工作负载:为其构建一个容器化的微隔离区。注意,这可以与外包服务使用同一个云,也可以是不同的。从弹性角度看,如果它们确实在不同的云上会更好。

  2. 选择第三个工作负载:合作伙伴网关
    这可能涉及许多业务合作伙伴,他们访问某个服务器进行身份验证并获取财务数据,或许通过此网关获得付款。我将做同样的事情。再次注意,箭头指向边界的一个缺口。将其迁移到云端后,我可以简化遗留企业防火墙的边界规则。我将其迁移到第三个云,并围绕它构建一个容器化的微隔离区。


架构演变与遗留企业的新角色

现在看看我们完成了什么。我们基本上处理了四个工作负载。我将保持“内部资产”不变,因为我们都知道,总会有些应用程序和系统无法迁移到云端。

通过执行所有这些操作,我的企业——即遗留企业——在某种意义上成为了自己托管的云。你的企业因此呈现出公共枢纽的特性。因为面对任何与你合作的实体,你看起来就像一个云。如果他们访问你,那么你就是云。

让我们稍微重新组织一下图表。我们将遗留企业称为托管着一个工作负载。我们可以再次简化它。

观察我们的成果:我们从位于一个边界内的四个工作负载出发,现在为它们构建了微隔离防护(对于迁移到云端的三个),而对于遗留部分,我们简化了之前存在的边界。我们保留了它,但让它变得更好,因为每次我们移出一个工作负载,都可以简化支持该已迁出工作负载的规则集。

如果我足够多地执行此操作,企业边界实际上会变得更好。最终,我得到了四个工作负载:三个新托管在容器中的能力,以及一个留在后方、拥有改进后企业边界的遗留工作负载。这是我们后续可以进行一些设计工作的基础。


总结

本节课中,我们一起学习了如何从传统的边界防护模型过渡到基于微隔离的云端工作负载架构。我们通过将“外包服务”、“电子邮件”和“合作伙伴网关”三个工作负载迁移到云端,并为其构建独立的微隔离区,简化了原有企业边界的防火墙规则集。同时,我们认识到遗留应用可能无法全部迁移,但可以将其所在的企业网络本身视为一个“云”并优化其边界。这个架构是我们后续在混合云中构建高安全性架构设计工作的基础。在下一部分,我们将基于此进行更深入的设计探讨。

155:高级混合云安全架构(第二部分)🚀

在本节课中,我们将学习如何构建一个具备超强韧性的云编排模型。我们将探讨如何借鉴攻击工具中的巧妙设计,来保护我们的指挥控制节点,确保整个系统在遭受攻击时仍能持续运作。

上一节我们介绍了去中心化架构的优势,本节中我们来看看如何实现一个即使关键节点被摧毁也能自我恢复的系统。

核心架构与潜在风险

我们从一个基础架构图开始。图中有一个命令与控制节点,它负责为资产A、B、C、D编排安全策略(如防火墙、微隔离、入侵检测系统规则)。每个资产都运行在自己的容器中。

CNC通过连线连接到各个资产,这表明它有能力管理这些资产的安全配置,并确保策略的一致性。这种集中式编排是必要的。

问题在于:我们之前不推崇边界防御,正是因为其存在单一的攻击目标。在这个架构中,攻击者很可能会首先攻击这个CNC节点。一旦CNC被摧毁,整个系统的策略编排将陷入瘫痪,这是不可接受的。

增强韧性的初步方案

一个显而易见的解决方案是部署多个CNC节点。事实上,许多供应商正是这样做的——部署多个命令与控制节点来为所有资产提供策略编排。这确实是一种可能性。

然而,一些攻击工具采用了一种更巧妙的机制来保证其网络的韧性,这为我们提供了新的设计思路。

借鉴“僵尸网络”的韧性设计

僵尸网络具有类似的结构:一个CNC连接着许多被控资产(“肉鸡”)。如果僵尸网络的CNC被摧毁,会发生什么?控制权会转移给网络中的另一个节点。

这个概念非常巧妙,其技术术语称为快速通量域名系统。在这种设计中,每个僵尸程序都被编程为:如果无法联系到其“母节点”(CNC),它就会尝试联系另一个“母节点”。而这个新的“母节点”实际上可能源自僵尸网络中的另一个被控资产。

这是一种实现超强韧性的绝妙概念。

构建超强韧性的云安全架构

我们可以在高级云安全架构中应用类似的思想。

让我们用点来重新绘制这个架构:CNC是一个点,每个资产节点也是一个点。现在假设黑客来袭,摧毁了原始的CNC。

如果我们设计正确并采用了类似快速通量的模型,那么突然间,其中一个资产节点就会转变为新的CNC。显然,如果你有多个备用CNC,控制权可以直接转移过去。但没有理由规定新的CNC不能从现有的资产节点中动态选举产生。

这样,你几乎可以形成一个轮询机制。假设原始的CNC后来恢复了,控制权还可以交还给它。

这里的核心思想是:我们将运用先进的分布式系统技术,确保这些高级云架构具备超强韧性。网络安全领域必须开始关注这类问题。

网络安全范式的演变

回顾网络安全学科的发展,我们最初致力于保护数据免遭丢失或窃取(即数据泄露)。而我认为,我们现在正进入一个新时代。攻击者,特别是具备国家背景的军事攻击者,将更感兴趣于摧毁系统。他们会从战略或战术角度出发,让关键系统无法运行,正如我们这里所描述的场景。

攻击者会审视你的系统:你已经放弃了传统边界,那么如何控制系统呢?哦,你是通过这个CNC节点来控制的。那么,攻击者就会尝试摧毁这个节点。如果摧毁该节点后,整个系统能够自动调整并继续运行、继续编排策略,那么你就拥有了一个超强韧性的系统。这正是当前网络安全所需要的。

总结与展望

本节课中我们一起学习了构建超强韧性混合云架构的关键思想。当我们转向混合云时,仅仅围绕工作负载或应用构建微隔离和容器是不够的。我们需要一种编排方式,并且这种编排机制本身不能成为攻击者的单一目标。它必须能够存活下来,具备超强韧性。

我希望这个架构讲解的第二部分对您有所启发。在下一个视频(第三部分)中,我们将把这些模块组合起来,形成一个我认为在未来几年内会成为标准企业架构的完整模型。我们下节课再见。

156:高级混合云安全架构(第三部分) 🚀

在本节课中,我们将学习如何将之前介绍的云安全组件整合成一个完整的企业级安全架构。我们将看到如何将分布式、微隔离的工作负载与中央控制节点连接起来,构建一个具有超强弹性的未来架构。


上一节我们探讨了架构的超强弹性属性。本节中,我们将把这些组件置于一个更真实的全球背景中,并整合成一个完整的体系。

屏幕上最初有5个点:红色点代表中央控制节点,蓝色点代表我们的工作负载节点。这些节点都是从我们早期架构中的工作负载演化而来,它们被微隔离并部署到云端。为了简化,图中没有显示底层的云基础设施。

现在,我们假设这些节点具有地理分布属性。让我们在地图上为这些点找到合理的位置。理想情况下,我们应该将工作负载部署在符合业务逻辑和法规要求的地理位置。

因此,我们将这些节点放置到有实际意义的位置上。红色点代表中央控制节点,蓝色点代表您的工作负载。每个工作负载都是一个独立的、微隔离的组件,可能运行在容器中,并拥有自己的云基础设施。同时,一个CASB(云访问安全代理)可能位于用户和该工作负载之间,提供安全控制。

接下来,我将所有这些概念联系在一起。我们将这些组件逻辑地连接起来,建立网络通信。请记住,它们仍然是相互隔离的网段。朋友们,这就是未来的企业架构。这就是它应有的设置方式。

回想本系列的第一部分,我们最初有一个大的椭圆形“边界”,将所有工作负载放在里面。但这个边界需要开很多“洞”以供访问,因此它并非真正的边界防护。随后,我们将所有工作负载迁移到云端,进行了微隔离,引入了CASB,并使其具备超强弹性。现在,我们将它们托管在全球的逻辑位置,可能在一个国家内,也可能是全球分布,并将它们全部连接起来。这非常强大。

这种架构的运行方式与僵尸网络有相似之处。它具备了僵尸网络的所有弹性特征:自主行为、分布式、虚拟化、超强弹性、安全通信,以及通过中央控制节点或CASB进行回连和控制。但这显然不是僵尸网络,我们并非窃取他人PC的计算资源。

然而,这里的每个点都展现出了一些类似的架构特征。这些特征——分布式、超强弹性——正是我们未来几年构建安全架构时所要借鉴的。这让我们得以一窥未来的发展方向。

以下是未来安全架构的核心特征列表:

  • 分布式部署:工作负载和控制节点可全球分布。
  • 微隔离:每个组件都在自己隔离的安全段内。
  • 中央控制:通过CNCCASB进行协调与管理。
  • 超强弹性:无单点故障,具备自主恢复能力。
  • 安全通信:节点间采用加密和受控的通信通道。

本节课中,我们一起学习了如何将微隔离、云原生的工作负载与中央控制节点整合,构建一个分布式、超强弹性的企业安全架构。我们看到了这种架构与僵尸网络在弹性设计上的相似之处,但也明确了其受控、合法的本质。这为我们指明了未来安全架构的设计方向。希望本课对您有所帮助。我们下个视频再见。

157:外围隔离服务器的安全性 🔒

在本节课中,我们将要学习分布式混合云安全架构中的一个核心概念:为什么一个庞大的、统一的“全球外围”可能并不安全,以及将服务器隔离到外围之外如何可能提升其安全性。

概述:全球外围的隐患 🌐

上一节我们介绍了分布式云架构的概念。本节中我们来看看一个常见的误解:许多安全团队认为,拥有遍布全球的数据中心就意味着实现了安全的分布式架构。然而,如果所有这些节点都受到一个共同外围的保护,情况就不同了。

一个共同外围意味着存在一个或几个统一的入口点(网关),所有内部系统通过一层网络媒介连接,并且彼此信任。这种架构存在重大安全隐患。

核心问题:横向攻击传播 ⚠️

在这种“全球外围”架构中,攻击者一旦在某个节点(例如澳大利亚)突破防线,攻击就可能沿着受信任的内部网络横向移动,影响到位于其他地区(例如西雅图)的服务器。因为它们处于同一个信任域内。

公式表示攻击影响范围 ∝ 信任域大小

因此,一个庞大的、统一的全球外围实际上并不安全。

解决方案:隔离与微隔离 🛡️

那么,如何提升安全性呢?一个关键策略是将服务器从庞大的共同外围中隔离出来。

以下是两种情况的对比:

  • 情况A:服务器位于庞大的共同外围内部。
  • 情况B:服务器被移出共同外围,置于一个独立的、具有自身微隔离边界的环境中。

哪种情况更安全?答案是情况B。将服务器隔离到外围之外,切断了它与内部其他节点的默认信任关系,限制了攻击横向移动的路径,从而提升了该服务器自身的安全性。

案例分析:邮件服务器的启示 📧

这里有一个现实世界的例子(仅作技术讨论):在美国一次大选期间,一位候选人将邮件服务器置于官方政府外围基础设施(即美国国务院的大外围)之外运行。许多人的结论是,这一举动使该服务器更不安全

然而,从技术角度看,论点可能恰恰相反。通过将服务器从庞大的、可能已被渗透或监控的官方外围中隔离出来,实际上可能无意中使其获得了更高的安全性,因为它不再与外围内所有系统共享相同的信任和攻击面。

安全架构的核心动词 💡

我们从这一分析中需要汲取的要点是:从安全视角看,服务并非总是放在庞大的官方外围内更好。

相反,现代安全架构应倡导以下行动:

以下是构建更安全体系的关键策略:

  • 分解:将大系统拆分成小模块。
  • 隔离:为关键组件建立独立的防护边界。
  • 分散:将工作负载分布到不同环境。
  • 虚拟化:利用虚拟化技术实现逻辑隔离。

这些动词应与“提升安全性”作为同义词来使用。核心思想是减少攻击面,限制信任边界,遏制潜在破坏的传播范围。

总结 🎯

本节课中我们一起学习了“全球外围”架构的安全局限性。我们明白了,一个统一的、内部高度信任的大外围反而可能助长攻击的横向传播。通过将服务器隔离到外围之外,实施微隔离,可以有效地切断攻击链,提升特定工作负载的安全性。记住,在现代安全设计中,分散、隔离和分解是构建韧性系统的关键原则。

158:欢迎John Popolizio - Riverdale Group创始人 🎤

在本节课中,我们将与网络安全和风险领域的资深专家John Popolizio进行对话。他是Riverdale Group的创始人,该公司专注于提供网络安全咨询、临时首席安全官和风险管理服务。我们将探讨他的职业历程、对初学者的建议以及当前网络安全领域面临的主要风险。


John Popolizio是网络安全与风险管理领域的长期专家,也是Riverdale Group的创始人。

Riverdale Group的业务包括网络安全咨询、担任临时首席安全官、临时首席风险官以及提供安全风险与反犯罪顾问服务。

当有团队需要帮助,或需要一位首席信息安全官至少工作一段时间时,Riverdale Group就会介入。

有时情况是积极的,例如有计划的人员离职或退休,他们会在过渡期介入。其他时候情况则是突发的,当某些事件发生时,他们会接到电话,迅速介入并提供帮助。

他们通常希望了解现有安全项目的状况,帮助进行调整,使情况稳定下来。之后,他们经常会被邀请担任顾问,这非常好。

“突发”的反义词是“有计划”。

这听起来像一位真正的顾问。你在网络安全领域工作了很长时间,能简单介绍一下你是如何进入这个领域的吗?

当然。早期职业生涯非常技术化,涉及数学和生物科学。后来进入了计算与生物识别技术结合的领域。

早期的工作涉及自然语言处理,当时面临计算能力不足和上下文信息不够的问题,难以让自然语言处理和通信真正为商业服务。

早期阶段确实是科学与商业的结合。之后进入了银行和保险领域,并投身于构建银行系统的核心部分。

这本质上关乎确保为客户提供恰当的服务,包括保护他们的数据和隐私信息的安全。

因此,这涉及数据面临的风险,以及理解数据是否正遭受攻击、或需要采取哪些措施来确保系统稳定并妥善保护数据的技术。我们从事这项工作很长时间了。

近年来,则更专注于现代企业计算环境所需的技术组合与商业专长的结合。

许多观看视频的年轻人看到你的职业生涯会说,他们也想从事类似的工作。你有什么建议吗?比如他们应该牢记或关注哪些事情?对于想进入这个领域的人,你的建议是什么?

我认为,即使在职业生涯早期乃至整个职业生涯中,有几件事非常重要。

我认为,采用多学科方法进行学习和应用非常重要。你在自己的职业生涯中也做到了这一点。

我很幸运有机会学习,这种终身学习和对深入某一学科、并探索它如何与你已掌握的其他技术相结合的追求,非常宝贵。

同时,我也很幸运能领导并成为优秀团队的一员,团队成员都是各自领域的深度专家,例如取证、分析、网络安全和应用安全。此外,还能与风险、合规、法律、业务等广泛团队互动。

因此,我认为当有人考虑进入这个领域或刚进入时,采用多学科方法极其重要。

这并不是说你要成为某个特定领域的专家。如果解决问题、深入挖掘和调查是你的兴趣所在,那么也许取证或某些技术方面的工作适合你,比如去检查、判断是否有问题、问题是什么并进行追踪。

如果对沟通感兴趣,那么沟通是我们工作中非常重要的一部分,毫无疑问。我认为存在一个误解,认为必须从深厚的技术背景进入这个领域,比如“黑客”或类似方向。

其实并非如此。进入这个领域的方式有很多。想想这些年来我们共事过的所有优秀人才,团队是由来自不同学科的人组成的,有历史专业背景的,有英语专业的,有数学专业的,背景各不相同。

所以,追随你的热情。如果你的热情不在深度技术,不要认为你无法在这个领域取得成功。我认为有办法做到这一点。

当然,你必须对深入挖掘和检查有一定的热情。即使你自己不深入某个特定领域,也需要知道如何与非常技术化的人员合作和互动。我认为这很重要。

第二点是,要做人际关系的学生,真正了解如何在多元化团队中工作,并将这一点不仅应用在学习和学习小组中,也应用在最初的接触和第一份工作中。

无论这些工作是在企业、学术界还是研究机构,你都将与非常多元化的团队合作,因此做人际关系的学生极其重要。

此外,我认为在这个领域,还有另外两点很重要。

可以说,需要一种内在的“雷达”。因为在许多情况下,当我们试图为公司建立项目、查看数据、保护数据或应对事件时,如果感觉不对劲,那很可能就是有问题,需要去检查。

所以,我们拥有的那种直觉,可以补充所有的学习、所有的技术和所有的商业知识,这一点值得重视。

我认为多学科方法不仅能让安全做得更好,对技术领域整体也是如此。它确实能从不同角度带来益处。

现在,作为网络安全专家,你能谈谈当前的主要风险吗?我们应该警惕什么?是国家行为体、勒索软件、犯罪分子,还是以上所有?

我认为是以上所有。如果我们分类来看,我认为最近我们看到的是多种力量的结合。

我们有国家行为体和装备精良的行动者团体。国家行为体装备精良,并不总是意味着资金充足,因为现在计算能力和可用资源的成本并不高。

所以,你有国家行为体与犯罪企业签约,犯罪企业再与非常聪明、训练有素的人员签约,这些人负责寻找技术漏洞和利用技术特性。

这就是你在新闻中听到的,关于多种力量联合发送恶意加密软件的消息。基本上是通过电子邮件进入,有人点击后,恶意软件被植入机器,然后尝试进入内存或潜伏,并可能在网络中传播。

关于勒索软件和加密锁定数据,然后以某种形式索要赎金或仅仅进行恶意破坏,我们看到的是可用资源的结合,以及其中一些工具包可以轻易购买和传播的便利性。这是你在新闻中会看到的。

你可能在新闻中看不到的另一部分是技术资源的结合,但他们正在对企业进行大量侦察。

因为如今,几年前我们可能会说,我们要监控网络的前门,看看是否有东西进来,然后采取行动并做出反应。现在我们看待问题的角度是,可能有东西已经进来了,它可能已经潜伏在那里,但它必须运行,然后才能实现其目的。

通过运行,如果它的目的是提取数据,那么数据必须去某个地方,它必须被发送出去。

因此,我们已经转变了方法,我们说要在企业内建立可见性,无论是网络、应用程序还是数据库。然后,如果我们看到该网络内发生异常活动,或试图离开网络,或者数据已经离开(因为现在有太多的计算合作伙伴),那么就必须协同工作。

我认为这是一个转变。最后,在反犯罪方面,通常存在经济动机,要么是为了经济利益,要么是为了经济破坏。

回到多学科方法,我们看到的是传统的欺诈技术与技术的结合。例如,打电话冒充某人,试图从他们那里获取信息,用于侦察活动。

然后将这些信息与你已知的其他信息结合,进行长期布局,比如针对银行投资组合设置“长线骗局”,试图开设账户,然后进行大规模的信用卡欺诈或贷款欺诈。

我们仍然看到这种情况,但现在它得到了技术的辅助。所以,网络技术与久经考验的欺诈技术相结合,进入了犯罪的下一个阶段。

因此,我们必须结合我们的技术来应对犯罪。这非常有趣。

你对网络安全的未来是更乐观还是更悲观?

我更乐观。我永远是个乐观主义者。尽管网络安全问题严峻,但我选择保持积极。在职业生活中,你可以选择痛苦,也可以选择成为积极的人。

你认为发生某种灾难性事件的可能性大吗?

是的,我认为有可能。我认为计算技术的便利性、计算能力的多样性以及世界各地人们建立点对点互动的能力结合在一起,使得风险增加。

你不再需要大型组织。世界各地的人可以决定“我想尝试做点什么”,因此很难找出那些在雷达下运作的小团体。

这些力量的结合可能是毁灭性的。不过,我认为最近的勒索软件和计算机锁定事件确实凸显了IT卫生的重要性,我认为这是网络安全的基础要素。

打补丁、理解你要保护什么、你要保护什么数据、你拥有什么资产、什么机器、什么设备、它们做什么、如何运作、它们是开放系统还是封闭系统,这些都至关重要。

了解企业的状况至关重要。我们发现,遭受攻击的个人、公司、组织和机构往往不了解自己的“足迹”。如果他们不了解自己的足迹,就不知道如何检测,也不知道如何响应,那么就会有人突破那些薄弱的防线。

我明白为什么你的客户喜欢雇佣你来帮助他们了,经验丰富。嘿,我代表我们整个学习社区,非常感谢你来到布鲁克林并打招呼。

非常感谢。我很乐意参与其中。非常感谢你邀请我。没有你,这一切都不可能实现。谢谢,John。


本节课中,我们一起学习了网络安全专家John Popolizio的见解。我们了解了他的职业背景、Riverdale Group的服务,以及他对初入网络安全领域者的宝贵建议,特别是强调多学科方法人际交往能力的重要性。我们还探讨了当前网络安全的主要威胁,包括国家行为体、犯罪组织和勒索软件的结合,以及应对这些威胁需要从被动防御转向主动的全面可见性良好的IT基础卫生。John对未来的乐观态度提醒我们,尽管挑战严峻,但通过持续学习、协作和夯实基础,我们能够更好地保护数字世界。

网络安全导论:模块一:电子商务网络安全与区块链基础 🛡️

在本模块中,我们将学习电子商务网络安全的基本原理。要理解这些原理,我们无法绕开区块链技术以及互联网上的一些匿名协议。这些内容非常有趣,相信你会喜欢。

为了帮助你更好地学习,我们推荐以下资源作为补充。

以下是推荐的必读论文:

  • 比特币白皮书:作者中本聪,标题为《比特币:一种点对点的电子现金系统》。每一位网络安全从业者都熟悉这篇具有里程碑意义的论文,它阐述了比特币及其区块链技术的基本原理。
  • 关键基础设施保护论文:标题为《关键基础设施面临的常见威胁与脆弱性》,由多位优秀作者撰写。这篇论文概述了关键基础设施保护及其脆弱性,对你将很有帮助。

以下是推荐的可选书籍:

  • 《从CIA到APT:网络安全导论》:这是一本我与儿子Matt合著的电子书。书中第29章和第30章的内容与本模块的学习高度相关,你可以配合学习。这本书可以在亚马逊上找到。
  • TCP/IP详解 卷1:作者Richard Stevens。这是一本我们都需要的TCP/IP参考书。在学习本模块内容时,参考其第29章和第30章会很有益处。

此外,还有一个我非常喜欢的视频推荐给你:亚利桑那州立大学Benjamin Rideella主讲的《HDDIAC关键基础设施保护网络研讨会》。这个演讲非常精彩,能够很好地补充本模块的内容。你可以观看视频来了解这个缩写的具体含义。

希望这些资源对你有帮助,也希望你能享受学习的过程。


总结

本节课我们一起学习了电子商务网络安全的基础,并认识到区块链与匿名协议是其重要组成部分。我们还列出了包括比特币白皮书、关键基础设施保护论文、相关书籍和网络研讨会在内的核心学习资源,为后续深入理解这些概念做好了准备。

160:哈希算法与数字签名 🔐

在本节课中,我们将学习计算机科学和网络安全中一个非常特殊且重要的函数——哈希函数。我们将了解它的核心特性,并探讨它如何作为数字签名的基础,用于验证信息的真实性和完整性。

哈希函数概述

上一节我们提到了网络安全的基础概念,本节中我们来看看哈希函数。哈希函数是计算机科学和数学中的一个核心概念。函数将一个集合(称为定义域)中的元素与另一个集合(称为值域)中的元素关联起来。数学家们定义了函数的各种属性和映射特征。

从网络安全分析师的角度来看,哈希函数的关键特性在于:它接收可变长度的输入,并产生固定长度的输出。输入的长度是可变的,例如你的电子邮件、文档或数据库的大小,取决于具体内容。而输出则是一个固定长度的字符串。

设计哈希函数时,需要确保其值域足够大,以避免“碰撞”的发生。碰撞是指两个不同的输入产生了相同的哈希输出。虽然理论上存在这种可能性,但在实践中通常认为这是不可行的。因此,哈希函数实现了从可变长度输入到固定长度输出的可靠转换。

哈希函数的一个简单例子是校验和,尽管它的值域很小(例如判断奇偶性),但它本质上也是一种哈希,只是安全性不高。在网络安全中,我们使用更强大的哈希函数作为一种实现数字签名的手段。

数字签名的工作原理

数字签名的妙处在于,它允许我们对电子文档、内容或消息进行签名和认证。让我们通过一个典型的场景来理解其步骤。

假设Alice和Bob已经生成了各自的公钥和私钥对。Alice想生成一条消息发送给Bob并进行签名。她可能是在签署合同或向Bob购买商品,签名目的多种多样。需要注意的是,数字签名本身不保证消息的机密性;如果需要保密,应使用接收者的公钥对消息进行额外加密。

数字签名的核心思想是为消息生成一个“指纹”,这正是哈希函数的用武之地。它允许Alice对她创建的消息M运行哈希函数,产生一个输出。我们通常将这个输出抽象地称为λ

过程如下:

  1. Alice撰写消息M
  2. Alice对M运行哈希函数,得到哈希值λ
  3. Alice使用她自己的私钥λ进行加密。加密内容可能还包含她的姓名、时间戳等信息,但核心是λ
  4. Alice将加密后的签名(和原始消息M)发送给Bob。

当Bob收到信息后,他需要验证其真实性。验证步骤如下:

  1. Bob使用Alice的公钥对收到的签名进行解密,得到λ
  2. Bob对收到的原始消息M本地运行相同的哈希函数,得到一个本地哈希值λ’
  3. Bob比较解密得到的λ和自己计算出的λ’。如果两者匹配,则验证成功。

这种方法的巧妙之处在于:因为只有Alice拥有她的私钥,所以能用其公钥成功解密并得到匹配哈希值的行为,就证明了签名确实来自Alice。这提供了身份认证。

此外,如果消息M在传输过程中被篡改,Bob本地计算出的λ’就会与Alice发送的λ不匹配,从而发现完整性遭到破坏。因此,数字签名在提供真实性的同时,也提供了完整性保护。

哈希的应用与总结

哈希函数支持多种应用,其中最突出的两个是:

  • 数字签名:提供身份认证和完整性校验。
  • 数据完整性验证:确保数据在传输或存储后未被更改。

为了测试你对哈希和数字签名的理解,这里有一个小问题:数字签名主要降低了哪种安全风险?答案是欺骗(Spoofing)。这正是数字签名的核心目的——确保接收者能够确信信息确实来自声称的发送者,从而有效降低冒充风险。

希望本节课对你有所帮助。在后续的课程中你会看到,哈希函数将成为我们称为区块链技术的基础组件之一。

我们将在接下来的视频中继续探讨。

161:区块链第一部分 🧱

在本节课中,我们将要学习区块链技术的基本概念,特别是在网络安全领域的应用。我们将了解区块链如何通过一种巧妙的方式,来检测数据是否被篡改。

概述

区块链技术有多种应用。对于学习网络安全的我们而言,它的一个重要用途是检测数据是否被更改。它以一种非常聪明的方式实现这一点,使得几乎不可能抹去数据是否被真正更改过的痕迹。

哈希与消息

上一节我们介绍了区块链的检测目的,本节中我们来看看其基础技术。当我们进行哈希运算时,通常是对一个抽象上称为“消息”的东西进行哈希。但在实践中,这通常不是一条消息。例如,如果我们在银行或金融服务机构工作,我们希望通过哈希来验证其真实性的东西,可能是财务记录或描述某笔金融交易的数据。

哈希输出与“挖矿”

接下来,我们看看如何使哈希输出满足特定条件。如果我们决定让哈希输出是一个固定的模式,例如在比特币社区中,大家约定区块链哈希输出的典型模式是以四个零开头。这只是一种约定,当然也可以是四个一或其他模式。

为了实现这个目标,我们会在数据记录之外,引入密码学中称为“随机数”的东西。我们将随机数和数据记录放在一起,使用哈希函数进行加密,产生一个哈希值。如果这个哈希值不是以四个零开头,我们就需要尝试不同的随机数,直到找到一个能产生以四个零开头的哈希值的随机数。这个过程被称为“挖矿”。

数据篡改的检测

现在,如果一切保持原样,我们状态良好。我们有一个记录,它包含一个随机数,与数据记录结合后能产生一个以四个零开头的哈希值。

如果有人想要更改记录,例如将1美元改为400万美元,整个情况就会变得混乱。你更改了数据,那么之前选择的随机数与新数据记录结合产生的哈希值,就不再以四个零开头了。这清楚地表明,你没有“挖矿”或验证这个新记录。

那么,你现在需要做什么呢?你必须重新开始尝试不同的随机数值,直到找到一个能产生以四个零开头的哈希值的随机数。但这次产生的哈希值,几乎可以肯定与之前的哈希值不同。

分布式账本与验证

虽然我们可以通过更改随机数使新记录在某种意义上变得“有效”,但我们有一个非常清晰的记录可以对比,前提是我们保留了之前的记录。保留记录的方式之一,就是通过这个区块链的多个分布式副本。

例如,如果我有10个副本,并且同时监控所有这些副本。如果有人更改了其中一个,那么其他副本就会察觉到异常。即使攻击者通过“重新挖矿”来清理他篡改的那个副本,他想得到与原来完全相同的哈希值的可能性,也微乎其微。这是哈希函数的一个特性:哈希函数被专门设计成几乎不可能从不同的输入产生完全相同的输出。

总结

本节课中我们一起学习了区块链的核心概念。对于网络安全从业者来说,这是一个非常棒的概念。它为我们提供了一个绝佳的机会,来创建数据是否被篡改的“足迹”。这在金融服务等领域至关重要,因为防止有人篡改账户余额或交易记录是我们的主要威胁之一。

通过生成一个带有随机数、且哈希值符合我们预先设定的固定模式的哈希,并确保通过有效性检查来维持这个模式,是一个非常巧妙的想法。这也是人们对区块链技术感到兴奋的根本原因之一。

在本视频开头提到,这是第一部分。在后续的视频中,我们将探讨“区块链”这个词的第二部分如何发挥作用,以及如何将各个部分组合起来,以提供更强的证据和更高的置信度,确保当记录被更改时,作恶者几乎不可能逃脱。我们将在后续视频中继续学习。

162:区块链第二部分 🔗

在本节课中,我们将继续探讨区块链技术,重点了解其核心的“链式”结构是如何工作的,以及这种设计如何为数据提供强大的安全保障。

上一节我们介绍了区块链的基本概念,本节中我们来看看区块链如何通过“链式”结构实现其不可篡改的特性。

从历史讲起:链式思想的起源

让我们回到20世纪70年代。当时,分组密码(如数据加密标准DES)存在一个问题。它们将数据分成固定大小的块(例如64位)进行加密。如果重复加密相同的64位数据块(例如64个零),每次都会产生相同的64位输出。这可能会创建一个隐蔽信道,攻击者伊芙可以通过观察这些重复的模式来推断信息。

当时的设计者提出了一个想法:通过将密码学与后续的数据块链接起来,或许可以关闭这个隐蔽信道。这就是链式思想的初衷。在当时,这被称为密码块链接(CBC)。大多数密码学家当时会认为这只是密码设计中的一个晦涩方面,他们如果知道几十年后,这种“链接”概念会以“区块链”的形式对整个社会产生如此巨大的影响,一定会感到震惊。

构建区块链:链接数据块

现在,让我们回到区块链。回想一下上一节讨论的概念:我们有一个数据记录(假设是财务交易),我们通过不断调整一个随机数(Nonce)来对“随机数+数据记录”进行哈希运算,直到得到一个以特定模式(例如四个零)开头的哈希值。

为了引入链式结构,我们现在要在哈希计算中加入另一个组件。请记住,我处理的都是一串0和1。所以,当我有随机数(一个数字)、数据记录(一个数字)时,我还要加入另一个数字,我称之为前一个哈希值

我将这三个组件组合起来,进行哈希运算,并通过不断调整随机数,最终产生一个以四个零开头的哈希值。

公式表示:
当前区块哈希 = Hash(随机数 + 数据记录 + 前一个区块的哈希值)

这里出现了一个问题:任何需要回溯到前一个结果的算法,在“滚动”起来之后都没问题。就像一列行驶的火车,我指向一节车厢,你可以找到它前面的那一节。但问题是,第一节车厢前面没有车厢

在区块链中,我们通过创世区块的概念来解决这个问题。我们凭空创造它,它就像是一个前一个哈希值,但实际上并没有前一个区块。因此称之为“创世”。

以下是构建区块链链式结构的具体步骤:

  1. 创建创世区块:对于第一个区块,我们使用一个虚构的“前一个哈希值”(创世哈希),结合数据记录和随机数,进行哈希计算并调整随机数,直到得到目标哈希(如以四个零开头)。这个区块就被“挖出”了。

  2. 链接第二个区块:当第二个交易记录到来时,我们不再孤立地计算它的哈希。我们会将第一个区块的哈希输出作为“前一个哈希值”输入到第二个区块的计算中。即:哈希2 = Hash(随机数2 + 数据记录2 + 哈希1)。然后同样调整随机数2,直到满足条件。

  3. 持续链接:第三个区块到来时,使用第二个区块的哈希值作为输入;第四个区块使用第三个区块的哈希值,以此类推。通过这种方式,所有区块都被串联成一条链。

这种链式结构,与20世纪70年代IBM提出的CBC模式在概念上相似。它确实能关闭隐蔽信道,但更重要的是,它带来了以下强大的安全特性。

安全核心:为何链式结构能防篡改

这种设计的精妙之处在于其防篡改性。让我们看看如果一名黑客试图篡改链中间的数据会发生什么。

假设黑客回到我们例子中的第二个区块,修改了其中的交易金额(例如,将金额改大)。

  1. 立即失效:由于数据记录被改变,第二个区块原本的哈希值立即失效。因为 哈希2 = Hash(随机数2 + **新数据记录2** + 哈希1) 的结果肯定与原来的哈希2不同。

  2. 连锁反应:更关键的是,第二个区块的新哈希值(假设黑客暂时还没调整随机数来修复它)会传递给第三个区块,作为其“前一个哈希值”的输入。这导致第三个区块的哈希计算基础被破坏,其哈希值也随之失效。

  3. 多米诺骨牌效应:这种失效会一直级联到链上所有后续的区块。整个链从被篡改点开始向后全部断裂。

为了使链重新有效,黑客必须:

  • 首先,为第二个区块重新寻找一个合适的随机数,使得 Hash(新随机数2 + 篡改后的数据记录2 + 哈希1) 的结果再次以四个零开头。
  • 接着,因为第二个区块的哈希值变了,他必须为第三个区块重新寻找随机数,以适应新的“前一个哈希值”。
  • 然后,为第四个区块重做同样的事情,以此类推,一直修复到链的最新区块

想象一下,如果这条链已经有数百万个区块,而黑客想篡改中间的一个早期区块。他不仅需要重做那个区块的工作,还需要重做之后所有区块的工作量证明(调整随机数)。与此同时,合法的区块链网络还在不断添加新的区块,这意味着黑客需要以一己之力追赶并超越整个网络的算力进度,这在实际中几乎是不可能的。

因此,区块链利用“工作量”本身作为一种安全机制。如果你想作恶,掩盖罪行的代价将高昂到令人望而却步。这是一个非常巧妙的设计理念。

扩展与验证

由于时间有限,我们无法深入更多细节。但如果你继续研究区块链,你会发现其架构非常丰富。例如,多个区块链可以以某种方式相互设置,为彼此提供验证。当一条链上的数据发生变化时,其他链可以察觉,这进一步增强了系统的整体安全性和可信度。

本节课中我们一起学习了区块链的链式结构原理。我们了解到,通过将每个区块的哈希值嵌入到下一个区块中,任何对历史数据的篡改都会导致其后所有区块的哈希值失效,而修复整个链条需要耗费巨大的、几乎无法完成的计算工作量。这种以“工作量”作为核心防御机制的思想,是区块链技术保障数据不可篡改和安全性的关键所在。希望这节课能激发你的兴趣,鼓励你深入探索这一计算机科学和信息安全领域的重要贡献。

我们下个视频再见。😊

163:网络归因 🔍

在本节课中,我们将要学习一个核心概念:网络归因。当网络攻击发生时,无论是成功还是失败,人们通常都迫切想知道攻击者是谁。我们将探讨执法和情报机构如何利用多种技术手段来确定攻击源头,并了解这些方法背后的原理。

概述

网络归因是指确定网络攻击发起者的过程。由于TCP/IP协议允许IP地址欺骗(即攻击者可以随意伪造数据包的源IP地址),因此不能简单地通过查看数据包的源IP地址来追踪攻击者。这需要更复杂的技术手段。

网络归因的七种方法

上一节我们介绍了网络归因的基本概念和挑战,本节中我们来看看执法和情报机构通常采用的七种具体方法。

1. 网络取证分析

这是最直接的方法之一。以下是其核心步骤:

  • 分析攻击本身和相关的恶意软件。
  • 检查恶意软件的代码,例如注释中可能包含的语言信息。
  • 将发现的代码特征与已知的攻击模式或恶意软件家族进行比对。

2. 网络监控

除了分析恶意软件,监控网络流量数据是另一种关键手段。以下是其实现方式:

  • 在全球范围内,从公共和私有网络收集大量的元数据
  • 这些活动通常在法律授权下进行。
  • 通过回溯流量数据,可以发现异常的数据传输模式,例如在特定时间点有大量数据从企业网络外流。

3. 进攻性攻击

这种方法存在争议,通常由国家行为体使用。其逻辑是:

  • 通过侵入疑似攻击者的系统,寻找自己系统被入侵的证据。
  • 例如,如果在对方的系统中发现了从自己这里窃取的数据,则能强力指向攻击来源。

4. 线人与内部情报

在执法和情报领域,安置线人或内部人员是传统且有效的手段。其作用是:

  • 在目标组织内部进行监视。
  • 直接向指挥机构报告正在策划或进行的攻击活动。

5. 泄露与自曝信息

攻击者或其相关方有时会意外泄露信息。常见情况包括:

  • 描述攻击细节的内部文件被泄露。
  • 攻击者在社交媒体上炫耀或吹嘘自己的攻击行为。历史上,很多黑客正是因此被抓获。

6. 传统的执法调查

这是最成熟的方法,不依赖于高科技。其过程包括:

  • 追踪线索。
  • 分析动机。
  • 运用传统的刑侦手段来理解“谁、为什么、对谁、如何”实施了攻击。

7. 合作伙伴与盟友共享情报

没有一个组织能掌握全部信息,因此合作至关重要。具体做法是:

  • 与其他国家、组织或安全伙伴共享威胁情报。
  • 整合多方信息,拼凑出更完整的攻击图景。

总结

本节课中我们一起学习了网络归因的七种主要方法:网络取证分析网络监控进攻性攻击线人与内部情报泄露与自曝信息传统执法调查以及合作伙伴情报共享。对于国家授权的执法和情报机构而言,这些方法组合使用,使得网络归因成为一个发展成熟的领域。对于企业而言,虽然部分进攻性手段不可用,但取证分析、网络监控以及与执法部门合作等方法仍然非常有效。理解这些方法,能帮助你作为一名网络安全的学习者或从业者,更全面地认识网络攻击的追踪与应对。

164:洋葱路由与Tor 🧅

在本节课中,我们将要学习一种名为“洋葱路由”的技术,它能够实现网络上的匿名通信。我们将了解其核心概念、工作原理,以及它在现实世界中的应用,特别是与Tor浏览器和暗网的关系。

概述

洋葱路由是一种旨在实现匿名网络通信的技术。其核心思想是,当客户端访问服务器时,通过在两者之间构建一个由多个节点组成的路径,并将通信内容像洋葱一样层层加密,使得任何单一节点都无法同时获知通信的起点和终点,从而保护用户的身份和活动不被追踪。

洋葱路由的基本原理

上一节我们介绍了洋葱路由的目标是实现匿名通信。本节中我们来看看它是如何具体运作的。

其基本模型涉及客户端服务器以及介于两者之间的一系列节点。这些节点通常被分为三类:

  • 入口节点:客户端首先连接的节点。
  • 中间节点:负责在路径中转发加密数据。
  • 出口节点:最终将请求发送到目标服务器的节点。

通信路径并非完全随机,但会从这些节点池中以某种方式选择,形成一条从客户端到服务器的链路。

核心机制:层层加密

理解了节点类型后,接下来我们探讨实现匿名的核心加密机制。其工作原理可以比喻为套娃或信封嵌套。

以下是通信建立的简化过程:

  1. 客户端首先与目标服务器协商一个会话密钥(用于出口节点的加密)。
  2. 客户端将这个“出口节点-服务器”的加密连接信息,封装进一个新的加密层,该层对应中间节点
  3. 接着,再将这个“中间节点-出口节点”的加密包,封装进另一个加密层,该层对应入口节点
  4. 最终,客户端将整个多层加密的数据包发送给入口节点

用伪代码描述这个封装过程大致如下:

# 假设 encrypt(data, key) 为加密函数
layer_for_exit = encrypt(original_message, key_exit)
layer_for_middle = encrypt(layer_for_exit, key_middle)
layer_for_entry = encrypt(layer_for_middle, key_entry)
send_to_entry_node(layer_for_entry)

每个节点只能解密对应自己的一层,获得下一跳的地址并转发内层数据包。出口节点解密后得到原始请求,发送给目标服务器。服务器只能看到出口节点的IP,而无法追溯到原始客户端。

Tor:洋葱路由的现实应用

理论上的洋葱路由需要一个具体的实现来发挥作用,这就是Tor。

Tor(The Onion Router)是一个实现了洋葱路由协议的免费开源软件。它通常以浏览器套件的形式出现,使用户能够匿名地浏览互联网。Tor网络由全球志愿者运营的数千个中继节点构成,共同支撑起这个匿名通信系统。

暗网与双重用途

使用Tor浏览器访问的网络资源,特别是那些未被传统搜索引擎索引、需要特定配置才能访问的部分,常被称为“暗网”或“深网”。

关于Tor和暗网,存在一个普遍的误解。人们通常将Tor与购买毒品、武器或其他非法活动联系起来。虽然暗网上确实存在非法市场,但这并非Tor设计的初衷,也远非其全部用途。

以下是Tor合法且重要的应用场景:

  • 社会活动与言论自由:生活在不公正或高压统治地区的人们,可以用它安全地获取信息、发声或寻求帮助。
  • 记者与线人:保护消息来源和调查过程的安全。
  • 网络安全威胁情报:安全研究人员和执法机构使用Tor潜入暗网论坛,监控被盗数据(如信用卡信息、企业凭证)的交易情况,以追踪犯罪活动并发出预警。

因此,在网络安全领域,洋葱路由和Tor具有双重意义:一方面,它本身是一个值得研究的匿名通信技术;另一方面,它也是安全从业者调查网络犯罪、收集威胁情报的重要工具。

总结与建议

本节课中我们一起学习了洋葱路由和Tor。我们了解了洋葱路由通过多层加密和节点接力来实现匿名通信的核心思想,认识了Tor作为其现实应用的角色,并探讨了其兼具正面社会价值与负面非法用途的双重性。

如果你对此感兴趣,可以进行更深入的探索:

  • 阅读保罗·西弗森(Paul Syverson)及其团队关于洋葱路由的原始论文。
  • 了解比特币/区块链技术,因为暗网交易常使用加密货币。
  • 在符合你所在地法律、政策及机构规定的前提下,可以考虑下载并使用Tor浏览器,亲身体验其工作原理。请注意,在某些学校、企业或国家/地区,使用Tor可能受到限制或不被允许。

希望本教程对你有所帮助。洋葱路由展现了计算机科学在保护隐私方面的巧妙贡献,尽管其工具被用于不同目的,但其底层技术思想依然极具价值。

165:Chaum盲签名算法 🔐

在本节课中,我们将学习由David Chaum在20世纪80年代提出的一个有趣协议——盲签名。该协议旨在为客户端与服务器之间的交互引入一定程度的匿名性。

概述

盲签名的核心思想是,允许一方(如银行)对一份信息进行签名,而无需看到该信息的具体内容。这类似于将一张填写了金额和序列号的支票放入信封,请求银行在不打开信封的情况下签名,然后你再用这张签了名的支票进行支付。银行需要信任信封内的金额是合理的,而盲签名协议巧妙地解决了这个信任问题。

协议原理

上一节我们介绍了盲签名的基本概念,本节中我们来看看David Chaum提出的具体协议是如何工作的。

协议的核心步骤涉及客户端(Alice)和服务器(Bob)。Alice希望Bob为一份包含特定金额(例如2美元)和序列号的“数字支票”签名,但Bob不能看到支票的具体内容。协议通过一种巧妙的“批量验证”机制来实现这一点。

以下是协议的关键步骤:

  1. 创建批量票据:Alice创建大量(例如1000张)结构相同的“票据”。每张票据都包含相同的金额(2美元),但具有不同的序列号不同的加密密钥。其结构可以表示为:票据 = 加密(序列号, 金额, 密钥)
  2. 发送票据:Alice将这1000张加密后的票据全部发送给Bob。
  3. 随机抽查:Bob随机选择一个数字(例如317),要求Alice提供除第317张票据外所有其他999张票据的解密密钥。
  4. 验证抽查样本:Alice提供这999个密钥。Bob用它们解密对应的999张票据,检查它们是否都符合约定(金额均为2美元,格式正确)。
  5. 签署剩余票据:如果所有被检查的票据都有效,Bob就有理由相信,那第317张未被检查的票据也是有效的。于是,Bob使用自己的私钥 S_B 对这第317张(仍处于加密状态)票据进行签名,然后将签名后的票据发回给Alice。
  6. 使用票据:现在,Alice拥有了Bob签名过的加密票据。当Alice想向商户支付时,她将这张签名票据连同解密密钥 K_317 一起交给商户。商户可以用Bob的公钥验证签名,然后用 K_317 解密票据,确认其中的金额和序列号。

这个过程的精妙之处在于概率保证:由于Bob随机选择了一张票据不检查,Alice若想在其中一张票据中作弊(例如放入200万美元),她必须确保恰好是Bob未抽查到的那张票据作弊,而这个概率极低(1/1000)。因此,为了通过检查,Alice最好的策略就是让所有票据都诚实有效。

应用与思考

上一节我们详细解析了盲签名协议的工作流程,本节中我们来看看它的应用场景。

盲签名是实现匿名数字现金(如David Chaum创立的DigiCash公司的基础)的关键技术。它允许用户获得银行签名的、面值固定的数字代币,并在支付时保持匿名性,因为银行无法将签名的代币与最终花费它的用户联系起来。

除了数字现金,盲签名协议还可应用于许多需要匿名性或隐私保护的场景:

  • 匿名投票:选民可以对加密后的选票进行盲签名,确保选票有效且内容保密。
  • 匿名凭证:用户可以获得证明其具备某种资格(如年龄)的签名凭证,而无需向验证方透露全部身份信息。
  • 隐私保护的数据收集:用户可以向调查机构提交经盲签名的反馈,确保反馈有效且无法追踪到个人。

总结

本节课中我们一起学习了David Chaum提出的盲签名算法。我们了解了它如何通过“批量创建、随机抽查”的巧妙设计,让签名者能够为一份未知内容的信息提供有效签名,同时以很高的概率保证该信息的合法性。这种协议为数字世界的匿名交易和隐私保护提供了强大的密码学工具。

166:需求 🔐

在本节课中,我们将要学习什么是关键基础设施,以及如何判断一个系统或资产是否属于“关键”范畴。我们将通过一个简单的定义和一系列现实世界的例子来理解,为什么保护这些基础设施免受网络攻击至关重要。


关键性的定义

判断一个资产是否关键,核心在于其与核心使命的关系。一个通用的定义是:如果移除该资产,将导致其相关的使命无法完成

我们可以用一个简单的公式来描述这种关系:
关键性 = (使命失败) IF (资产被移除)

例如,汽车的使命是将你从A点安全舒适地运送到B点。那么,四个车轮就是关键资产,因为没有它们,汽车无法移动。而车身上的贴纸则不是关键资产,即使被撕掉,汽车的核心功能依然完好。


从资产到基础设施

上一节我们介绍了关键资产的定义,本节中我们来看看如何将这个逻辑应用到更宏观的“基础设施”上。对于社会和国家而言,关键基础设施是指那些如果遭到破坏或失效,会对社会安全、公共健康、经济稳定或国家安全造成严重负面影响的部分。

以下是美国定义的16个关键基础设施部门,它们很好地说明了哪些领域对社会运转至关重要:

  1. 农业与食品:涉及粮食生产与供应。若遭破坏,可能导致粮食短缺甚至饥荒。
  2. 银行与金融服务:维系经济命脉。一旦被干扰,将引发金融混乱。
  3. 化工:化工品的生产与使用。危险化学品若被恶意获取或操控,后果严重。
  4. 商业设施:如商场、超市。其供应链高度依赖网络,中断会导致物资短缺。
  5. 通信:包括电信与互联网。是社会连接与信息传递的基石。
  6. 水坝:控制水资源、防洪发电。其电子控制系统若被黑客攻击,将威胁下游安全。
  7. 国防工业基础:现代军事几乎完全依赖于网络与计算组件。
  8. 应急服务:如美国的911系统。必须确保其不被网络攻击阻碍,以保障生命救援。
  9. 能源:电力供应。现代社会的基础,停电将导致一切停滞。
  10. 政府设施:保障社会有序运行。政府活动受阻将引发混乱。
  11. 医疗保健与公共卫生:医院运营、病人监护系统需要持续电力与安全,中断会危及生命。
  12. 信息技术:所有商业活动的技术支柱。IT系统中断将影响社会各方面运作。
  13. 核反应堆、材料与废料:核设施是高风险目标,破坏性攻击将产生区域性灾难。
  14. 交通运输系统:包括航空与陆路交通。保障社会物流与人流畅通。
  15. 供水与污水处理:生命的基本保障。水处理与输送系统均由计算机控制。
  16. 关键制造业:生产社会必需品的制造能力。其中断将影响物资供应。

总结与预告

本节课中,我们一起学习了关键基础设施的概念及其对社会的重要性。我们通过一个简单的“使命依赖”模型来定义关键性,并列举了构成现代社会基石的16个关键部门。理解这些需求是实施有效保护的第一步。

在下一讲(第2部分)中,我们将探讨如何保护这些关键基础设施,了解常见的防护策略与挑战。


课程内容源自:纽约大学《网络安全|Introduction to Cyber Security》

167:保护方法 🔐

在本节课中,我们将探讨如何保护关键基础设施免受网络攻击。我们将了解到,保护大型关键基础设施与保护个人电脑的方法存在根本性差异,并重点介绍两种超越常规网络安全的特殊保护策略。

概述

上一节我们定义了关键基础设施,即那些一旦失效将导致社会核心功能无法维持的系统和资产。本节中,我们来看看如何保护这些至关重要的系统。关键在于,保护关键基础设施不能简单地套用保护个人电脑的方法,它需要更宏观、更具战略性的思维。

保护方法的根本差异

保护个人电脑的常见方法包括设置密码、运行防火墙、进行系统扫描和使用加密。然而,将这些方法直接应用于庞大的关键基础设施,就如同用维护三轮车的方法去维护一架大型喷气式客机。两者虽有相似之处(例如都涉及运输功能),但其复杂性和规模决定了保护措施的本质不同。

关键基础设施的保护需要能够应对大规模部署、高度复杂性和极端后果的策略。以下是两种专门针对此类大型系统的核心保护方法。

方法一:态势感知

态势感知是指持续、高度警觉地监控整个基础设施的威胁水平、潜在漏洞和可被利用的安全缺口状态。对于管理关键基础设施(如电网、交通或军事系统)的团队而言,必须时刻保持这种全局性的感知。

这与个人电脑的保护形成鲜明对比。个人用户通常不会也不需要对单台电脑进行全天候的、数据驱动的安全态势监控。但对于由成千上万组件构成的关键系统,这种持续的、可扩展的监控是必不可少的。它确保了安全团队能够及时发现异常并快速响应,这是手动或小规模方法无法实现的。

方法二:多样性

多样性是指在生态系统中有意引入差异。这是一个在个人电脑场景中意义不大,但在关键基础设施保护中至关重要的策略。

一个反例:美国西南航空公司为了降低成本和简化运营,其机队全部由波音737这一种机型构成。这带来了运营效率,但也引入了风险:如果该机型因安全问题被全面停飞,整个公司的运营将立即瘫痪。这体现了缺乏多样性的脆弱性。

一个正例:一个生物多样的生态系统。其中包含多种不同的动植物和微生物。即使一种病害能摧毁其中某一种植物,也不会导致整个生态系统的崩溃,因为其他物种不受影响。

将此概念应用于网络安全:在一个大型基础设施网络中,如果所有系统都使用相同的操作系统、应用程序和网络技术,那么一个针对该系统的病毒或漏洞就可能在网络中级联传播,造成灾难性影响。

引入多样性意味着:

  • 部署多种不同的操作系统
  • 使用多种不同的应用程序
  • 采用多样化的网络技术
  • 将系统分布在不同的地理区域

这样,当攻击针对某一特定组件(例如Windows系统)时,其破坏力在遇到其他不兼容的组件(例如Linux系统)时就会被阻断,从而有效遏制攻击的级联效应。其核心优势可以用一个简单的逻辑来描述:攻击的传播在遇到异构系统时终止

然而,实施多样性策略常与系统管理者的偏好相悖,因为他们通常追求标准化以降低管理和维护成本。这与网络安全专家追求降低系统性风险的目标有时存在冲突。相比之下,像虚拟化这样的技术则是双赢的例子,它既提高了运营效率和灵活性,也通过微隔离等技术增强了安全性。

小测验

以下是关于关键基础设施的正确陈述:

  • 保护关键基础设施需要与保护个人电脑不同的方法。
  • 态势感知是对大型系统至关重要的持续监控过程。
  • 引入多样性可以通过阻断攻击链来保护基础设施。
  • 安全目标有时可能与系统管理者的运营目标存在冲突。

总结

本节课我们一起学习了保护关键基础设施的两种核心策略:态势感知多样性。我们认识到,由于规模、复杂性和后果严重性的根本不同,关键基础设施的保护必须超越常规的网络安全思维。作为网络安全专家或政府决策者,理解这些宏观保护原则对于在更广阔的背景下制定有效的安全政策至关重要。

168:与AlienVault首席技术官探讨网络威胁(第二部分)🛡️

在本节课中,我们将继续学习网络安全的威胁格局。我们将与AlienVault的首席技术官Roger Thornton一起,探讨企业、政府和个人面临的主要网络威胁类型,并了解如何通过信息共享来应对这些持续演变的挑战。

网络威胁的主要类别

上一节我们介绍了网络安全的基本概念,本节中我们来看看网络威胁的具体分类。Roger Thornton建议,为了更好地理解,我们可以将威胁归纳到几个不同的“桶”中。

从企业实体的角度来看,需要考虑的威胁范围广泛。以下是主要的威胁类别:

  • 内部威胁:指怀有恶意的员工。
  • 业余犯罪团伙:指技术水平一般的外部犯罪团体。
  • 专业犯罪组织:指技术高超、组织严密的外部犯罪集团。
  • 国家级攻击:对于某些公司,可能还需要应对试图入侵的国家行为体或军事攻击。

此外,对于个人用户,隐私是需要重点关注的问题。如果你使用社交网络等在线服务,需要意识到这些信息被所有人看到的概率接近100%。

对于政府而言,面临的威胁与企业类似,但国家之间利用网络安全进行对抗的程度已达到史诗级水平。

威胁动机与能力分析

了解威胁类别后,下一步是分析这些威胁的动机和能力。这对于制定防御策略至关重要。

不同威胁的动机差异很大。大多数员工并没有伤害公司的强烈动机,但少数被解雇或心怀不满的员工可能动机极强,尽管他们的黑客能力可能有限。犯罪威胁的动机通常比较理性,主要是为了牟利,不希望被捕入狱,因此其行为有一定可预测性。

然而,对于企业而言,最令人头疼的威胁是那些出于狂热信仰或哲学理念、意图改变世界的攻击团体。他们的行为更难预测,也更难被发现。当今几乎任何公司都会有不认同其做法的反对者。

因此,开展防御的第一步是进行细致的评估:分析自身公司的类型、威胁可能来自何处以及它们可能利用的机会。这能为安全管理提供一个总体蓝图。

威胁情报的获取与共享

有了防御蓝图,接下来就需要持续获取最新的威胁情报。这有点像股票交易员需要了解市场动态。

你需要知道当前活跃的攻击活动、流行的恶意软件工具包、同行业其他公司正面临什么威胁、自己上周遇到了什么情况以及未来可能出现哪些新威胁。不幸的是,这是一项相当复杂且昂贵的工作。

大型公司会投资组建团队来做这件事。如果身处被视为关键基础设施的经济部门,可能会获得联邦政府的一些帮助来理解战术层面的威胁。但对于全球大多数公司而言,必须自己想办法解决这个问题。

这正是我目前致力于解决的问题:寻找一种方法,能够日复一日地提供威胁信息,理想情况下是免费的,或者通过价格合理的产品来提供。我认为很多大公司完全有能力自我保护,但普通规模的公司则不然。

开放威胁交换(OTX)平台

为了应对上述挑战,我的公司运营着一个名为“开放威胁交换”的系统。

这是一个免费的、众包的系统。任何运行威胁检测系统的人都可以使用它。我们有一个商业版和一个开源版的检测系统,我们所有的开源用户和大部分商业用户都会向OTX上传“入侵指标”。

入侵指标是指计算机系统中与特定威胁活动或攻击相关的任何可测量信息。

这些指标会被上传到一个中央云计算环境中。然后,用户可以登录该平台进行协作。例如,用户A可以说:“嘿,你看到了这个,我也看到了,但我还看到了另外15个相关的东西,你应该了解一下。”用户B可能再上传10个新指标。如此往复。

人们将这些指标捆绑在一起,形成一个我们称之为“脉冲”的实体。然后通过这个系统,用户可以发布“脉冲”并相互发送。这个共享系统完全免费。它的意义在于,即使你没有强大的安全研究团队,一旦成为受害者,你总会在某个时间点看到一些入侵指标。如果你足够慷慨和明智,你应该与同行分享这些信息,因为这能让你的同行也意识到那个攻击者的存在。

与同行分享是明智之举,因为攻击者只需要第一个受害者来发现漏洞。这回到了网络安全的核心观点:网络安全不是一个可以一劳永逸解决的工程问题,而是一种需要持续管理的犯罪行为。这是一场永无止境的游戏,总会有基于新软件漏洞的下一次攻击出现。我们全球范围内一次性检测出新威胁,而不是让每个受害者反复遭受同一次攻击的能力,是一个重大的转变,能节省大量时间。

总结与展望

本节课中,我们一起学习了网络威胁的复杂生态系统。我们探讨了从内部人员到国家级攻击者的多种威胁类型,分析了不同攻击者的动机,并了解了持续获取威胁情报的重要性。

最后,我们介绍了一种通过“开放威胁交换”这样的众包平台进行协作防御的创新方法。在网络安全这场持久战中,信息共享是提升整体防御能力、避免重复受害的关键。希望这些知识能帮助你更好地理解我们所处的数字环境,并启发你思考如何保护自己和组织的安全。

169:移动安全、物联网与职业建议 📚

在本模块中,我们将学习一系列不同的主题。我们将介绍移动安全的基础知识,探讨物联网安全,并花一些时间为大家提供网络安全领域的职业建议。这是一个内容丰富的模块,旨在拓宽大家对网络安全应用领域的认识。

为了辅助大家的学习,我们推荐一些额外的资源,包括论文、可选书籍和一个视频。

以下是推荐的阅读材料:

  • 论文:有一篇关于“洋葱路由”的经典论文。如果你使用过Tor浏览器,那么你其实已经在不知不觉中使用洋葱路由技术匿名访问互联网了。这篇论文的作者正是洋葱路由和Tor的发明者之一,其中一位作者Paul Syverson是我认识多年的老朋友。
  • 论文:另一篇关于“网络安全欺骗”的优秀论文,作者之一是我们的好朋友Eugene Spafford。这篇论文也值得一读。

以下是推荐的可选书籍:

  • 电子书:我和我的儿子Matt合著了一本名为《从CIA到APT:网络安全入门》的电子书,可以在亚马逊上找到。这本书是可选的,但它可以作为本课程材料的很好补充。

以下是推荐的视频资源:

  • 视频:一个来自知名移动安全公司Lookout的演讲视频,主讲人是Kevin Mahaffey。这个视频将很好地补充本模块中关于移动安全的学习内容。请确保查看视频链接,我相信你会从中受益。

请利用这些资源来辅助你的学习。希望大家能立即开始本模块的学习。


上一节我们介绍了本模块的学习目标和推荐资源,现在我们来总结一下本模块的核心内容。

在本节课中,我们一起学习了模块九的概览。我们了解到,本模块将涵盖移动安全、物联网安全以及网络安全职业建议等多个主题。同时,我们也获得了一系列推荐的论文、书籍和视频资源,这些都将帮助我们更深入地理解相关概念。接下来,就让我们开始具体内容的学习吧。

170:移动安全基础 🛡️📱

在本节课中,我们将要学习移动安全的基础知识。移动安全涉及保护智能手机、平板电脑等移动设备及其连接的网络和基础设施。我们将从整体架构出发,逐一探讨其核心组成部分及其相关的安全考量。

移动安全架构可以理解为围绕移动性构建的体系。它包括由本地(如你的运营商)或企业(如移动设备管理组件)控制的移动设备、设备本身的操作系统和环境、连接设备与互联网的移动基础设施(如蜂窝网络),以及我们下载应用的移动应用商店。

上一节我们介绍了移动安全的整体架构,本节中我们来看看第一个核心组件:企业移动设备管理。

企业移动设备管理

移动设备管理(MDM)是典型企业环境中至关重要的组成部分。过去,企业使用PC管理工具来追踪和管理所有个人电脑,进行库存盘点、扫描、更新和配置。如今,许多商务人士更倾向于使用移动设备而非PC。因此,MDM就像是为企业中的移动设备设立的微型安全运营中心,执行类似的功能以确保其安全。

MDM驱动一些基本的安全功能,特别是以正确的方式进行“配置”。“配置”意味着发放设备、分配账户、记录设备归属、设备上运行的程序,并确保它们受到适当保护。如果你是一名学生,仅通过本地运营商连接设备,可能对MDM不太熟悉,它更偏向于企业组件,但其本质是:PC安全系统之于PC,就如同MDM之于企业中的移动设备。


了解了如何从企业层面管理设备后,接下来我们聚焦于设备本身的安全。

移动设备与操作系统

移动设备本身涉及众多安全考量。关于Android和iOS哪个更安全的争论一直存在。有人认为iOS因其专有性,未受到与Android同等程度的审查;也有人指出投入大量时间和精力打造的Android安全架构及其附带功能可能更经得起推敲。但可以肯定的是,移动操作系统比上一代的PC操作系统投入了更多努力使其更安全,普遍认为其漏洞更少。

但这并不意味着它们没有漏洞。我们仍然面临侵入内核的问题,这通常被称为“Rooting”(获取根权限)。有时,这种技术也用于所谓的“越狱”(Jailbreak),即运营商或ISP可能在设备上安装软件将其绑定到其网络,若能进入系统并打破这种绑定,就实现了“越狱”。根据所在地不同,此类行为的适当性或合法性可能各异。从安全角度看,无论是采取措施阻止此类行为,还是认为其完全可行,都属于本地决策。本质上,在操作系统层面进行侵入并操纵系统或内核功能以实现某种目标,是移动安全生态系统中非常常见的攻击形式。


设备安全不仅关乎软件,还依赖于其连接的网络。下面我们探讨移动基础设施的安全。

移动网络服务提供商

从安全视角看,移动网络服务提供商(移动ISP)与普通的互联网运营商(无论是Tier 1、Tier 2还是本地提供商)的安全考量并无太大不同。但在移动环境中,存在许多基站,设备连接到这些容量有限的基站上。

根据所使用的连接技术(如4G/5G)的物理特性,干扰(Jam)一个基站(即向基站注入大量流量使其不可用)的难易程度可能不同。如果你对此类物理或电气工程原理感兴趣,可以深入研究移动通信中的频谱特性,例如“扩频”技术,它使得干扰变得更为困难。这虽属于网络安全的外围领域,但确是一个可以深入挖掘的方向。

当然,干扰并非移动ISP面临的唯一问题。如前所述,作为运营商所伴随的所有风险同样适用于移动环境。关键在于,我们已完全依赖于移动网络的持续可用,任何社会或国家几乎都无法容忍任何类型的移动网络中断,无论是4G/5G还是Wi-Fi。我们对这些协议及其支持基础设施的依赖如此之深,以至于针对可用性的攻击是绝对不可容忍的。


最后,让我们看看我们获取软件的源头:移动应用商店。

移动应用商店

最后是我们无处不在的移动应用商店,我们从这里下载软件到移动设备。在早期网络安全中,一个基本原则是:如果你不知道软盘的来源,就不要将它插入你的电脑。然而现在,我们却可以毫无顾忌地从应用商店下载应用。

当然,谷歌和苹果确实会花时间“审查”应用,但它们绝不会进行严格的代码分析,以寻找隐藏的木马或影响完整性的细微漏洞。它们只进行粗略审查,并在确保上架应用没有明显的不当或恶意行为方面做得不错。因此,我们可以在一定程度上依赖它们。此外,我们所处的社交网络也有助于发现并迅速传播那些侵犯我们隐私或安全的应用信息。因此,我们确实有一些控制措施。


总结与测验

本节课中我们一起学习了移动安全的四个核心领域:移动设备管理(MDM)移动设备与操作系统移动网络基础设施以及移动应用商店。如果你对移动安全感兴趣,可以从这些方面深入挖掘。

现在,让我们通过一个小测验来检验你的理解。问题是:移动安全面临的主要风险是什么?

答案:以上所有都是。 不幸的是,移动设备继承了许多互联网上固有的风险,这一点并未改变太多。你的移动设备就像一台微型电脑,不同之处在于它使用无线电信号连接基站,但从那之后,许多情况基本相同。因此,当有人问我移动安全有何不同时,我会说:架构略有不同,但本质上它确实继承了许多相同的风险。

希望本节课程对你来说是一个有用的入门介绍。

171:基站欺骗与移动性(IMSI捕获)📡

在本节课中,我们将学习移动通信网络中的一种安全威胁——基站欺骗,它也被称为IMSI捕获。我们将探讨这项技术从2G到5G的演变过程,以及不同代际网络在安全设计上的妥协与继承关系。

概述

基站欺骗是一种攻击手段,攻击者通过架设一个虚假的移动通信基站,诱使用户设备连接,从而可能进行监听或其他恶意活动。其核心在于利用早期移动网络标准中单向认证的缺陷。

移动网络安全的演进

上一节我们概述了基站欺骗的概念,本节中我们来看看这项技术是如何随着移动网络代际更迭而演变的。

2G网络:单向认证的诞生

在移动通信的早期,网络设计的首要目标是实现功能。第二代(2G)网络引入了一些算法,确保手机(终端)被基站认证。然而,认证是单向的,即基站验证手机,但手机并不验证基站。

当时的设计逻辑是:基站基础设施稀少,手机能找到信号已属幸运,无需再验证基站的真伪。此外,手机始终遵循一个原则:自动尝试连接到信号最强的基站。

这个设计留下了安全隐患:如果有人架设一个信号更强的虚假2G基站,附近的手机就会自动连接上去。

3G网络:试图修补与遗留问题

到了第三代(3G)网络,标准引入了双向认证,即手机也需要认证基站。这理论上可以防止手机连接到虚假基站。

但这里存在一个关键问题:网络回退。为了确保网络覆盖的连续性,当手机在某个区域找不到3G信号时,它必须能够回退到2G网络。这意味着,即使3G网络本身是安全的,它也必须支持回退到不安全的2G模式。

因此,3G网络继承了2G的安全缺陷。这是一个典型的案例,展示了新一代安全设计如何被迫继承前代遗留的问题。

4G/5G网络与未来

第四代(4G)和第五代(5G)网络采用了更严格、强大的双向认证机制。随着2G网络在全球范围内逐步退役,基站欺骗的威胁正在减小。但这个案例研究仍然极具价值,它揭示了通信协议迭代中安全设计的复杂性与妥协。

技术核心与思考

以下是关于基站欺骗技术及其社会影响的几点思考:

  • 核心漏洞:攻击得以实现的核心在于早期协议中 手机认证基站 == False 这一设计缺陷,以及手机 连接策略 = 选择最强信号 的固有行为。
  • 应用场景的双面性:架设小型基站(如蜂窝信号放大器或企业级微基站)在提供更好覆盖的同时,也引发了隐私问题。例如,当你的手机在咖啡店自动从5G切换到Wi-Fi时,这个过程是便捷的,但你是否考虑过其安全与隐私影响?
  • 社会接受的边界:在办公室、商场或咖啡馆等场所进行无缝网络切换,在多大程度上是可接受的?这没有标准答案,取决于个人观点,也是社会需要共同探讨和界定的事项。

总结

本节课我们一起学习了基站欺骗(IMSI捕获)的攻击原理。我们回顾了从2G到5G移动网络在基站认证机制上的演进,看到了安全改进如何受制于向后兼容的需求。这个案例生动地说明,网络安全是一个动态的、需要在便利性、覆盖能力和安全性之间不断权衡的领域。

172:物联网安全 🔐

在本节课中,我们将要学习物联网安全的基本概念、面临的挑战以及未来的发展方向。物联网设备正以前所未有的速度增长,但它们的设计初衷往往忽视了安全性,这带来了独特的网络安全问题。

物联网设备分类

上一节我们介绍了物联网的广泛定义,本节中我们来看看物联网设备的主要类别。根据其重要性和潜在影响,我们可以将它们分为几类。

以下是物联网设备的主要类别:

  • 工业控制与关键基础设施设备:这类设备如果被黑客攻击,可能对关键基础设施造成严重后果。例如,发电厂的热泵、飞机引擎或交通系统中的重要安全装置。攻击这类设备可能危及生命,因此其完整性可用性至关重要。
  • 消费级物联网设备:这类设备涵盖了日常生活中的连接物品,例如智能冰箱、娱乐系统、录像机、儿童玩具和家用电器。虽然不希望它们被攻击,但通常不会造成灾难性后果。
  • 中间类别设备:这类设备介于上述两者之间。一个典型的例子是医疗设备,如胰岛素泵。攻击它可能导致个人受害,但其影响通常是孤立的,不会像攻击关键基础设施那样产生连锁反应。

物联网安全面临的核心挑战

了解了物联网设备的类型后,我们来看看保护这些设备时面临的主要困难。这些挑战使得为物联网系统添加安全保障变得异常复杂。

以下是当前物联网安全面临的两个核心问题:

  1. 遗留设计问题:现有的大多数物联网设备在设计时并未考虑网络安全。它们可能装有操作系统,但缺乏有效的补丁更新、漏洞管理和安全升级机制。设计者的初衷是功能性和实用性,而非安全性。
  2. 协议复杂性问题:物联网设备使用的通信协议五花八门。虽然部分设备使用标准互联网协议,但许多设备使用专有协议(如 Modbus)甚至模拟信号(如特定电压值)进行通信。这种协议上的“碎片化”使得部署统一的防火墙或安全策略变得非常困难。

现状与未来方向

面对这些挑战,当前的解决方案和未来的发展方向是什么呢?将不安全的遗留系统与多样化的协议结合起来,使得“事后补救”式的安全加固极为困难。

目前,我们只能尽最大努力对现有系统进行安全加固,例如部署专门的安全设备。然而,根本的解决方案在于下一代物联网设备的设计。

未来的物联网设备必须从设计之初就内置安全特性,这包括:

  • 构建强化的设备硬件与软件。
  • 设计简便的更新与打补丁机制。
  • 内置原生加密功能。
  • 支持具有身份验证数字签名的安全通信协议。

我们需要用20年的时间,用这些具备原生安全能力的新设备逐步替换旧有系统。虽然这会带来巨大的社会成本,但我们必须面对,否则将可能遭受针对物联网的大规模攻击。

本节课中我们一起学习了物联网安全的基本图景。我们了解了物联网设备的分类、当前面临的主要安全挑战(遗留设计和协议复杂性),以及未来向原生安全设计发展的必要性。认识到这些问题是保护我们日益互联的世界的第一步。

173:物联网僵尸网络 🧟‍♂️💻

在本节课中,我们将探讨一个看似有趣但至关重要的问题:物联网设备的“武器化”如何模糊了不同设备的安全风险边界,以及这对我们理解网络安全意味着什么。


核心问题:冰箱与核电站的等价性

上一节我们讨论了物联网设备的基本安全风险。本节中,我们来看看一个具体场景:一台联网的冰箱何时会与核电站的安全系统具有相同的安全后果?

表面上看,这个问题很荒谬。对核电站的网络攻击后果显然比攻击一台联网冰箱严重得多。然而,我们需要思考一个概念:物联网的武器化

物联网武器化与僵尸网络

物联网武器化是指将大量物联网系统聚集起来,形成一个庞大的僵尸网络。互联网和大众媒体上已有许多文章讨论物联网武器化及其影响。

关键在于,无论是冰箱还是发电厂的安全系统,只要是物联网或工业控制设备,其内部都包含计算机。这些计算机拥有操作系统、内存、CPU、输入/输出和网络连接

如果攻击者正在构建一个僵尸网络,试图扩大规模以攻击某个目标,那么他会在意所窃取的计算资源是来自冰箱还是发电厂吗?

答案是不会。

事实上,发电厂可能因安全防护严密而更难被利用,而你的联网冰箱很可能门户大开,更容易成为目标。

案例分析:Mirai僵尸网络

如果你一直关注网络安全新闻,会发现许多类似案例。一个著名的例子是来自美国的Mirai僵尸网络。一名研究生利用物联网设备创建并控制了一个僵尸网络。

以下是此类案例中常被攻击的设备类型:

  • 数字视频录像机
  • 家用摄像头
  • 其他类似的无害设备

为什么是这些设备?因为它们几乎没有安全防护。如果攻击者想获取核电站安全系统的计算资源,并且这些系统也容易攻破、能提供CPU、内存和网络连接,他们同样会下手。攻击者总是选择阻力最小的路径。

结论与总结

所以,问题的答案是:当有人试图将它们“武器化”时,一台联网冰箱可能与核电站安全系统具有相同的安全后果。就这种武器化而言,消费级设备造成的后果甚至可能更严重。

这是一个有趣的现象,反映了我们在物联网生态系统中保护设备的方式。请记住这一点。

本节课我们一起学习了物联网设备如何被武器化以组建僵尸网络,理解了攻击者倾向于攻击安全防护最薄弱的设备,而不论其本身的功能重要性。这改变了我们评估不同设备安全风险的传统视角。

我们下节课再见。

174:使用欺骗与蜜罐进行安全防护 🛡️

在本节课中,我们将要学习网络安全中的一个重要策略:欺骗。我们将探讨如何通过设置虚假诱饵和蜜罐来主动防御攻击者,从而保护系统安全。

概述

欺骗在网络安全中指的是使用虚假的诱饵、蜜罐等欺骗性手段来诱捕攻击者。这是一种主动防御策略,旨在通过制造假象来迷惑和捕获恶意行为者。

欺骗的概念与应用

上一节我们概述了欺骗的基本思想,本节中我们来看看一个具体的应用案例。

多年前,纽约市地区的一家有线电视公司面临一个盗版问题。用户可以通过更换机顶盒芯片,使用带有“T”(测试版)标识的芯片来免费解密所有付费频道。为了解决这个问题,该公司在一次重量级拳击赛事中实施了一个巧妙的欺骗策略。

他们在赛事画面上叠加了一条横幅信息,但对其进行了加扰处理。合法付费用户看到的是正常的加扰乱码,不会影响观看。然而,盗版用户使用的解密芯片会解密一切内容,包括这条横幅。横幅上写着:“欢迎观看本次大赛!感谢购买。我们正在赠送免费T恤,请提供您的姓名、电话、地址等信息即可领取。”

结果,约有8000人提交了信息来领取T恤,从而暴露了自己。这个案例展示了如何通过操作性的欺骗手段,而不仅仅是依赖密码学,来主动发现和捕获攻击者。

欺骗的架构与核心概念

上一节我们看到了欺骗的成功应用,本节中我们来深入了解支持这些技术的架构和核心概念。

基本的架构涉及授权用户未授权用户(即攻击者)。系统通常的安全措施包括攻击检测与防御。如果怀疑有异常活动,一个策略是将攻击者准确地引导至虚假内容,我们通常称之为蜜罐

蜜罐 是一个复制的系统环境,但它不是真实的。它的目的是诱使攻击者停留并进行攻击尝试,同时安全团队可以监视并拉响警报。可以将其想象成一个“监狱”。

虚拟化技术极大地助力了这种概念。例如,当检测到攻击者在进行扫描时,如果判定该扫描行为异常,可以使用虚拟网络技术为其打开一个虚假的网络入口。攻击者的扫描器会进入这个“陷阱网络”并无法返回。系统可以不断构建更多虚假网络节点,让扫描器一直追逐下去,这被称为 “粘滞陷阱”

公式/代码示例:
一个简单的蜜罐服务监听端口的概念可以用以下伪代码表示:

# 伪代码示例:一个简单的蜜罐服务
honeypot_socket = listen_on_port(8080) # 监听一个非常用端口
while True:
    connection, client_address = honeypot_socket.accept()
    log_connection(client_address) # 记录连接尝试
    send_fake_response(connection) # 发送虚假的响应信息
    # 保持连接开放,消耗攻击者资源

欺骗策略的重要性与总结

以上我们介绍了欺骗技术的架构和实现方式。这种策略在网络安全领域是一个充满活力且非常有效的方向。

通过设置诱饵和蜜罐来检测攻击,是降低风险、保护关键资产的重要组成部分。例如,执法部门在网络上伪装成未成年人来诱捕不法分子,就是欺骗策略的成功实践。然而,目前在网络安全领域,对这类主动防御技术的关注和投入还远远不够。

在本节课中,我们一起学习了网络安全中的欺骗策略。我们了解了其核心概念是通过设置蜜罐虚假诱饵来主动防御和诱捕攻击者,探讨了其基本架构,并通过案例看到了它的实际效力。希望你在设计网络安全架构和实施防护措施时,能够考虑将欺骗性手段作为整体风险降低策略的一部分。

175:欢迎网络安全专家Elena Kvochko 👩💻

概述

在本节课中,我们将跟随网络安全专家Elena Kvochko的分享,了解她进入网络安全领域的职业路径、当前金融服务业面临的挑战、她对行业未来的看法,以及给初学者的宝贵建议。我们将学习到网络安全领域的核心概念,例如整体安全模型和威胁分析的基本框架。


Elena的职业旅程 🛤️

大家好,我是Emmarosa。今天,我和我的好朋友Elena Kvochko坐在一起,她是一位我认识一段时间的网络安全专家。欢迎来到我们的视频系列。

非常感谢你,Ed。谢谢你邀请我。请告诉我们,你最初是如何对网络安全产生兴趣的?

当然。我的职业生涯实际上始于技术和技术实施领域。我曾与大型国际发展机构合作,实施宽带接入项目,基本上就是让世界更加互联和开放。我意识到,在提供接入和开放性的同时,如果没有从一开始就整合安全措施,我们可能会引入长期的风险和漏洞。这就是我将职业转向网络安全的原因。

之后,我加入了一个国际组织,管理着一个由100家公司组成的组合,它们共同致力于一个对所有行业都有利的网络安全议程。我们处理的问题对更广泛的高管和行业领袖具有普遍意义,旨在让我们的行业联系更紧密,并对安全风险有更高的认识。

几年前,我加入了金融服务行业,目前担任安全职能部门的首席信息官,致力于实施下一代安全模型和控制措施。


金融服务的网络安全挑战 🏦

很精彩的回答。有时人们会说“我是通过黑自己的电脑产生兴趣的”,而你走的是一条非常棒的职业道路。你现在在金融服务行业工作,我想这充满挑战。金融服务领域似乎发生了很多黑客攻击和各种问题,你认为这是一个网络安全非常活跃的领域吗?

是的,我们的行业实际上是受攻击最多的行业之一,并且是美国乃至全球关键基础设施的一部分。因此,我们确实看到了很多创新,我们在网络安全上投入了大量资金。但我特别自豪的是,我们能够开发出一种实施网络安全的新模型,我们称之为整体安全

我认为很多时候,组织难以获得可见性,或者难以对正在发生的事情有一个整体的、统一的视图。如果组织的一个部分发生安全事件,而该部分不一定与其他部分相连,或者高管们不一定能将其与另一个业务部门或职能部门正在发生的事件联系起来,但实际上它们是相关的。

我们所做的,并且成为第一家这样做的大型金融机构,就是将物理安全与网络安全合并,并增加了诸如情报、调查、韧性等能力,这些能力都建立在底层数据平台之上,该平台有助于为这些决策提供信息。我们现在正在实施这个模型。我认为这是行业前进的正确方向,并且我认为会有更多公司研究如何整合他们面临网络安全事件时获得的各种数据流和信息。


给初学者的职业建议 🧑🎓

这太令人兴奋了。你知道,有很多年轻人在观看,他们可能在想“天哪,我怎样才能获得像那样伟大的职业?”对于那些正在考虑从事网络安全职业,并希望做类似你工作的人,你有什么建议?

当然。我认为好消息和坏消息是,网络安全需要各种技能。所以,如果你现在学习的任何领域与技术无关,请不要气馁,因为我们的行业需要各种专家,你可以接受培训,而且公司目前在培训上投入了大量资金。网络安全技能和专家存在明显的短缺。因此,我们确实鼓励更多人加入我们的行业。

我想说的是,即使你决定不加入我们的行业,而是去从事市场营销、人力资源、金融或任何其他你决定追求的商业学科,了解网络安全仍然非常重要。因为现在每家公司都是一家科技公司,每项业务都是数字业务。如果你不进行数字化运营,你就无法发展。所以基本上,无论你做什么,无论你在公司担任什么角色,你都必须了解基本的网络安全卫生和控制措施。


网络安全威胁的演变 🎯

我想问你关于威胁的问题。当我刚开始时,我们处理的网络安全威胁非常简单,比如人们入侵计算机和篡改网站,仅此而已。但现在,威胁似乎变得更加复杂。当你思考网络安全威胁以及如何在脑海中组织它们时,人们应该如何思考?

是的,我认为这可能是最难的问题:如何确定工作的优先级以及将重点放在哪里。我们看待这个问题的方式,以及我个人的看法是,一方面,你必须了解你的资产、你的漏洞以及你可以使用的工具和技术。另一方面,你必须了解你的对手是谁,他们的目标是什么,以及他们使用什么方法。

一旦你把这两者结合起来,你就能看到差距在哪里,你可以将投资或决策重点放在哪里,以及你的整体安全态势是什么样的。


威胁格局的变化与未来展望 🔮

你认为现在国家行为体参与进来,事情变得更难了吗?过去是黑客,现在黑客依然存在,但现在国家也在做这件事。似乎难度大大增加了。我的理解对吗?

难度确实大大增加了。我们看到的威胁是高度专业化、有针对性且复杂的。因此,我们需要能够帮助我们解决这些问题的专业人士。当然,这需要大量的培训。所以,你和纽约大学及Coursera推出这门课程真是太棒了。谢谢你这么做。

谢谢。太棒了。嘿,你认为未来会怎样?你对网络安全的前景是更乐观还是更悲观?例如,你认为防御方最终能赶上甚至超过攻击方吗?你怎么看?

我总体上更乐观,原因有几个。首先,我认为之前之所以如此难以防御网络威胁,很大程度上是因为激励措施错位了。成为一名黑客比从事常规职业更容易、成本更低。但我认为现在世界正在凝聚共识,认识到激励措施必须调整,攻击组织不应该是一件容易的、不受惩罚的活动。

所以我认为,一旦我们从激励角度出发,并在国家、组织和国际层面共同努力,攻击就会变得困难得多。

其次,我乐观的第二个原因是,现在你确实看到全世界最聪明的人聚集在一起解决这个问题。我认为当全世界最聪明、最优秀的专家聚集在一起解决网络安全问题时,我们将看到很多进展。与仅仅几年前相比,我们现在确实看到了很多进展。


合作与信息共享的重要性 🤝

这突显了不仅共享威胁情报,而且共享技术方法的重要性。你参与了一些共享组织或社区吗?

是的,我们甚至建立了自己的社区。它叫做“网络防御联盟”,是一个由关键基础设施银行组成的欧洲社区,我们在其中共享信息,共享潜在入侵的方法以及我们如何应对这些入侵的经验。

当参与者是可信的同行时,这种共享效果最好,对吧?似乎这是最好的方式。


总结

在本节课中,我们一起学习了网络安全专家Elena Kvochko的见解。我们了解了从技术实施转向网络安全的职业路径,认识了金融服务业面临的独特挑战及其创新的整体安全模型。Elena强调了网络安全领域需要多样化技能,并建议无论职业方向如何,都应掌握基本的网络安全知识。我们还探讨了日益复杂和由国家支持的威胁格局,但通过调整激励措施和全球专家协作,未来依然乐观。最后,我们认识到在可信社区内进行威胁情报和技术共享对于有效防御至关重要。

176:网络安全职业建议 🛡️

在本节课中,我们将一起探讨网络安全领域的职业发展路径。课程将介绍该领域内几种主要的职业方向,并为初学者提供如何进入这些领域的实用建议。

大家好,我是Ed Ammarroso。在视频课程的这一阶段,我假设大家已经跟随我学习了多个视频,可能也完成了多门课程。现在,我想给大家一些建议。作为网络安全领域的讲师、教育者、教授和实践者,我收到的最常见问题之一就是:如何在这个领域开创职业生涯?如果你是一位年轻人,可能会想:我喜欢网络安全,我该如何进入这个领域?有哪些不同的方向?

接下来,我将介绍几种可以以此谋生的职业类别,以及大致的发展路径。我们稍后会详细讨论。

主要职业方向 🧭

上一节我们提出了职业发展的问题,本节中我们来看看网络安全领域几种主要的“终极”职业状态。

以下是几种主要的职业方向:

  1. 攻击者/黑客:你可以尝试成为一名网络安全领域的黑客或攻击者。现在有很多漏洞赏金计划,它们会付费让研究人员在符合道德规范的情况下入侵系统。这是一种不错的赚钱方式。你可以成为一名渗透测试员。你可以为军方工作,负责入侵系统;或者为需要进行主动测试的公司工作。如果你喜欢入侵系统,并且擅长发现并利用弱点,你可以以此谋生。但请注意,不要从事非法活动来赚钱,那绝非明智之举,也完全错误地使用了你可能拥有的天赋技能。通过道德渗透测试或为军方工作,你确实可以以黑客为生。

  2. 防御者:最明显的方向是转向防御。如果你喜欢密码学、设置防火墙、构建防御体系、进行架构设计、执行运维、追踪数据、进行分析和威胁狩猎,那么这就是防御者的工作。这也是典型企业或政府首席信息安全官团队的工作。首席信息安全官是典型企业中网络安全领域的最高职位,你可能以此为目标,或者成为此类防御团队的一员。

  3. 合规领域:这个领域涉及监督网络安全、进行评估和审计。你可能擅长追踪需求、记录文档,并且在沟通方面非常出色。这当然可以成为一个职业方向。对于有会计背景或兴趣的人来说,审计和评估可能是非常擅长的领域。

  4. 工具构建者/供应商:第四个可能性是进入工具构建领域,为供应商工作。如果你有创业精神,认为自己可能喜欢创建新公司,比如打造下一个像FireEye、Palo Alto Networks或Floridanet那样成功的大型网络安全公司,那么这可能适合你。这些公司都因为拥有远见卓识的创始人而发展壮大。也许你就是那个人,或者你希望在这种创业环境中工作。

  5. 政府部门:另一个可能性是政府。世界上每个政府都在寻找网络安全专家,既是为了监督其产业和社会,也是为了保护政府系统。政府部门的工作节奏可能稍慢一些,但如果你有极大的耐心和强烈的社会使命感,那么在政府环境中工作会非常棒。这是你需要考虑的方向。

  6. 学术界:最后是我个人路径的一部分——学术界。我本人在大型电信企业担任首席信息安全官多年,同时也作为一名教授,在29年里教授了成千上万的本科生和研究生网络安全知识。如果你喜欢研究、教学,喜欢那种环境,那么学术界是合理的选择。

如何进入这些领域? 🧗

了解了主要方向后,本节我们来看看如何进入这些领域。

无论你选择哪条路径,都没有轻松的道路。你站在山脚下,仰望山顶,说那就是我想去的地方。但别忘了,你和目标之间隔着一座山。你可能很清楚自己想去哪里,但努力工作是到达那里的唯一途径

你需要专注于以下几点:

  • 扎实的技术背景:这是所有路径的基础。
  • 良好的商业背景:理解业务需求同样重要。
  • 出色的沟通能力:包括写作、演讲和理解能力。这些技能将对你大有裨益。

总结 📝

本节课中,我们一起学习了网络安全领域的多种职业路径,包括攻击者/黑客、防御者、合规专家、工具构建者/供应商、政府职员以及学术界人士。无论你的最终目标是什么,我都衷心希望你能认定网络安全是一个适合你的职业,并期待在未来几年看到大家取得出色的成就。

谢谢。

网络安全入门:P177:如何持续学习网络安全 🔐

在本节课中,我们将探讨如何制定并坚持一个有效的网络安全持续学习计划。网络安全领域日新月异,保持知识的更新至关重要。我们将介绍一系列实用的方法和资源,帮助你保持敏锐,跟上技术发展的步伐。

上一节我们介绍了网络安全的基础知识,本节中我们来看看如何将学习计划延续下去。

持续阅读专业书籍

你需要持续阅读。网络安全和信息安全领域总会涌现出许多优秀的书籍,你可以根据自己的兴趣选择。我本人也撰写了一些书籍,并即将推出电子书,确保你们都能通过课程中的链接和信息获取到。

参加在线课程

你需要持续参加课程。Coursera等平台提供了丰富的课程组合,涵盖安全主题以及网络、计算和软件等相邻领域。

审慎利用媒体资源

在媒体上花费一些时间需要谨慎。如果你决定从媒体中学习,请小心,因为有时媒体的报道可能基于不一定正确或值得商榷的观点。你需要寻找一些可靠的来源。

以下是值得关注的媒体资源示例:

  • 布莱恩·克雷布斯:他是一位非常优秀的媒体记者。你可以浏览他的网站,以了解黑客攻击等相关领域的最新动态。

阅读同行评审的期刊文章

已发表的、经过同行评审的期刊文章总是非常优秀的资源。这些都是你应该考虑并花时间研读,以保持敏锐的内容。

参加行业会议

参加会议是很好的学习途径。从ACM(计算机协会)到RSA等行业公司举办的会议都非常出色。

总而言之,随着你继续从事技术工作,无论是作为管理者、从业者、开发者、学生还是教师,网络安全将日益融入主流。我希望它不再被视为一个需要单独学习的学科,而是能够更加嵌入到各个领域。

在未来的岁月里,我衷心希望你们能继续阅读、持续学习、参加会议、关注文章等等,以保持敏锐。我们需要你们保持敏锐。我们需要你们真正做好保护所构建系统的工作,保障我们的基础设施和社会的安全。

本节课中我们一起学习了如何通过阅读书籍与文章、参加课程与会议等多种途径,制定一个可持续的网络安全学习计划,以保持知识更新和专业敏锐度。希望所有这些课程对你都有所帮助,我期待在未来几年里看到你们所有人的卓越成就。

posted @ 2026-03-29 09:43  布客飞龙I  阅读(27)  评论(0)    收藏  举报