网络安全忍术-全-

网络安全忍术(全)

原文:zh.annas-archive.org/md5/0a23a11554c4c45632b3326e189b14ee

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

首先:我不是忍者,也不是忍者历史学家、导师,甚至不是日本人。

然而,我确实为美国陆军从事过网络战争,我们的士兵常常形容我们的任务是“高速忍者任务”。正是那时,我开始注意到“忍者”在网络安全中的奇异普遍性。我想弄清楚这个词汇使用背后是否有任何实质性的内容。我从 2012 年开始研究忍者,这时我发现了最近对 400 多年前日本卷轴的英文翻译(更多内容请参见随后的《关于本书》部分)。这些卷轴是忍者用来学习其技艺的训练手册——不是历史报告,而是真正的战术手册。其中一本《万川集海》在第二次世界大战后才由日本政府解密,并且仅在有限范围内对公众开放,因为这些信息在近 300 年里一直被认为过于危险,不得传播。在中世纪,非忍者是绝对不能接触到这些文件的。卷轴中的大胆警告提醒读者要用生命来保护这些信息。曾几何时,仅仅拥有这样的卷轴,就足以在日本被判处死刑。材料的禁忌性质为阅读体验增添了不可否认的神秘感。我被深深吸引了。

在阅读了超过 1,000 页的翻译源材料后,我逐渐意识到,这些专为忍者设计的指令和秘密技巧,本质上是关于信息保障、安全、渗透、间谍活动和破坏性攻击的实地训练,这些训练依赖于对重重防守的组织的秘密访问——这些都是我在网络安全职业生涯中每天都会涉及到的概念。这些有 400 年历史的手册充满了关于防御性和进攻性安全的见解,而我在现代信息保障实践中找不到相同的对等物。而且,作为实战指南,它们揭示了秘密战争的战术、技巧和程序(TTPs),这使它们真正独特。在我们的行业中,国家级的网络间谍机构和其他恶意行为者并不会举办网络研讨会或发布描述其 TTP 的行动手册。因此,这些忍者卷轴是独一无二且无价的。

网络忍术旨在将古代忍者的战术、技巧、战略和心态转化为一部实用的网络安全领域指南。网络安全相对较新,且仍高度反应性。行业专业人士经常将时间花在解除迫在眉睫的威胁或基于刚发生的事件预测未来的攻击上。我写这本书是因为我相信,通过从这些信息安全的首个高级持续性威胁(APT)的卷轴中汲取长远的视角,我们可以学到很多东西。古代忍者所实践的信息战 TTP(战术、技术、程序)经过几百年的完善。那些 TTP 在他们的时代有效——它们可能是超越当今网络安全主流模型、最佳实践和概念的关键,从而实施更成熟、更经过时间验证的理念。

关于本书

每一章详细讨论一个与忍者相关的主题,从历史和哲学的广泛基础到分析,再到可操作的网络安全建议。为了便于使用,每一章的组织结构如下:

  1. 忍者卷轴 简要介绍忍者使用的工具、技巧或方法论。

  2. 网络安全 分析忍者理念教会我们当前网络安全格局的内容。

  3. 你可以做的事 从前面的分析中得出的一些可操作步骤,帮助你保护组织免受网络威胁。

  4. 城堡理论思维训练 这是一项训练,要求你运用所学的忍者和网络概念来解决一个威胁情景。

  5. 推荐的安全控制和缓解措施 根据 NIST 800-53 标准^(1),提供一份推荐的安全设置和规范检查清单,你可以实施这些措施以符合合规要求或遵循最佳实践。

本书并不旨在提供忍者术语的全面目录或对忍者哲学的延伸论述。如果你需要这方面的资料,请查阅 Antony Cummins 和 Yoshie Minami 的作品,他们编辑并翻译了日本古代忍者卷轴,以便为现代读者提供。这本书参考了以下 Cummins 和 Minami 的书籍(详细信息见第 xx 四页的“忍者入门”部分):

  • 忍者之书(ISBN 9781780284934),是万川集海的翻译。

  • 忍者的秘密传统(ISBN 9781583944356),是忍者秘传(或忍秘传)、军法自抒义守百首的翻译。

  • 忍者的真正道路(ISBN 9784805314395),是正忍记的翻译。

Cummins 和 Minami 的工作非常广泛,我强烈推荐大家完整阅读。这些作品不仅是灵感的来源,也是本书分析忍术的主要资料,从军事战术到如何像忍者一样思考。他们的翻译包含了许多深邃的智慧和知识,超出了本书所能触及的范围,并且为我们打开了一扇通向失落生活方式的激动人心的窗口。网络忍术深深得益于 Cummins 和 Minami 以及他们不懈的努力,将这些中世纪的作品带入当代世界。

《城堡理论思维练习笔记》

我认为,讨论网络安全行业的问题至少面临三个固有的挑战。首先,即使在安全组织中,非技术决策者或其他利益相关者常常因缺乏技术专长而被排除在外、被误导或在网络安全对话中被排挤。其次,许多安全问题实际上是人类问题。我们已经知道如何实施技术解决方案来应对许多威胁,但人类却因政治、无知、预算问题或其他限制而干扰解决方案的实施。最后,可以购买或通过互联网搜索轻松发现的安全解决方案和/或答案,改变了人们处理问题的方式。

为了解决这些问题,在每一章中,我通过城堡理论思维练习呈现了主题的核心问题——一个心理谜题(希望你无法通过搜索引擎找到答案),你需要尝试保护你的城堡(网络),免受敌方忍者(网络威胁行为者)的威胁。通过将安全问题框架化为防御城堡的方式,消除了对话中的技术方面,使问题的核心更为清晰,并促进了团队之间的合作。每个人都能理解忍者如何物理渗透城堡的情境,无论他们是否能流利地讨论企业网络和黑客问题。假装自己是城堡的统治者,还意味着你可以忽略实施解决方案时可能遇到的任何组织官僚主义或政治问题。毕竟,国王和皇后做他们想做的事。

供未来使用

本书中有许多网络安全的理念。有些来自于原始卷轴,并已被改编为现代信息应用。其他则是我在商业产品或服务中发现的差距的提出的解决方案。还有一些想法则更具创新性或理想化。我不确定这些实现是否能在技术层面上奏效,但也许某个有更好视角和洞察力的人能够开发并申请专利。

如果你偶然专利了一项源自本书的想法,请考虑将我的名字列为共同发明人——这并非出于经济目的,而仅仅是为了记录这个想法的来源。如果你对本书有任何问题,或者希望讨论这些思想的实际应用,欢迎通过电子邮件联系我:ben.mccarty0@gmail.com

忍者入门

本简短入门指南旨在帮助你将对“忍者”的认知从电影和小说中的幻想,转向历史证据所展示的现实。尽量抛开你从电影和小说中了解到的忍者形象。当你面对那些与长期以来的观念和信仰相悖的证据时,感到困惑、不信和认知上的不适是很自然的——特别是对于那些曾梦想成为忍者的人来说。

历史上的忍者

忍者有很多名字。我们在 21 世纪西方所知道的名字是ninja,但他们也被称为shinobiyatoninpeisuppakanjarappaukami(2),^(3) 这些不同的名称反映了他们作为隐秘和神秘人物的声誉,但其实这个职业并不难以理解:忍者是古代日本的精英间谍和雇佣战士。从农民阶层(4)和武士阶层中招募——著名的例子包括名取正武(5)和服部半藏^(6)——他们可能自日本古代便已存在,但直到 12 世纪的源平之战(7),历史记载中才有他们的身影。之后的几个世纪里,日本陷入动乱和血腥的战斗,封建领主(大名(8))雇佣忍者进行间谍活动、破坏、暗杀和战争(9)。甚至公元前五世纪的中国军事战略家孙子,在他的经典著作《孙子兵法》中也强调了使用这些秘密特工以获得胜利的必要性(10)。

忍者在信息间谍、敌军营地渗透和破坏性攻击方面极为精通;忍者或许是历史上首个“高级持续性威胁”(APT0,如果你愿意的话)。在长期的冲突时期,他们机智地磨练并完善了自己的技巧、战术、工具、手段和程序,并与他们的实践理论——忍术——一起发展。《万川集海》卷中写道:“忍术的最深奥原则是避开敌人注意的地方,攻击敌人疏忽的地方。”(11)因此,作为秘密特工,他们往往伪装或隐秘地前往目标(如城堡或村庄);收集情报;评估目标防御的漏洞;并渗透到目标内部进行间谍活动、破坏、纵火或暗杀(12)。

在 17 世纪长时间的和平江户时期,忍者的技艺需求逐渐减少,导致忍者逐渐隐匿于世。^(13)尽管他们的生活方式变得无法维持,并转行从事其他工作,但他们的技艺影响深远,至今忍者仍被神话化为历史上最伟大的战士和信息战专家,甚至被赋予如隐身等神奇能力。

忍者卷轴

忍者的知识很可能是通过师徒传承、同行之间交流,以及 17 世纪前后由实践中的忍者编写的多本手册传递下来的。这些就是忍者卷轴。很可能有些忍者后裔的家族拥有其他未公开的卷轴,能够揭示更多秘密的技艺,但其内容要么未经过历史学家的验证,要么尚未向公众公开。我们所拥有的历史文本对于理解忍者至关重要,审视这些来源,提取基于证据的知识,能够避免神话、未经验证的民间传说以及流行文化的刻板印象,这些往往迅速污染关于忍者的讨论。

最重要的忍者卷轴包括:

  1. 万川集海 是一部包含忍者技能、战术和哲学的百科全书式的 23 卷册,汇集了多位忍者的经验。由藤林编纂于 1676 年,这部卷轴试图在和平时期保存忍术的技巧和知识。它本质上也是一份工作申请书和技能展示,忍者为可能在未来不那么和平的时代需要他们服务的幕府阶层所写。

  2. 忍者秘传(或忍秘传)是一部据信于 1655 年左右编写的卷轴,后来通过服部半藏家族传承,直到最终公开于世。这些卷轴也许是最具实用性的忍者手册,揭示了忍者在地面上使用的技巧和工具,包括制造武器的图解和规格。

  3. 军法事要集(或事要集)是一部涉及军事战略、治理、工具、哲学以及忍者在战争中的应用的广泛卷轴。据信由小笠原作云于 1612 年编写,军法事要集还包含了吉盛百首,这是一部由 100 首忍者诗组成的集子,旨在教导忍者成功完成任务所需的技能和智慧。

  4. 胜忍记 是由武士、战争创新者名取三十郎政武于 1681 年编写的训练手册。这本高度文学化的文本很可能是为那些已经在某些身体和心理训练方面取得精通,但寻求知识刷新和对忍术指导原则与技巧深入理解的人所写。

忍者哲学

重要的是要发展与忍者的价值观和心态的智力共鸣,而不是陷入神秘主义或灵性主义。我认为忍者哲学接近黑客元认知,并带有神道和佛教启蒙影响的阴阳之意。虽然了解忍者战术和技巧并不需要深入其哲学背景,但从指导忍者行为的智慧中学习无疑是有帮助的。

铁刃之心

日语单词忍者(忍)由“刃”和“心”两个汉字组成,具有多种解释方式。

其中之一是,忍者应该拥有如刃般的心,或者将自己的心化为刃。剑刃既锋利又坚韧,但同时灵活——它是为了杀人而设计的工具,同时也是使用者精神和意志的延伸。这与日本概念中的(kokoro)相契合,它是心、精神和思想三者的结合,形成一种核心本质。在这一背景下,这种象征性图像提供了对能够担任忍者角色的平衡心态的洞察。

另一种解释是“心在刃下”。在这种解释中,刃代表着生死威胁。它不仅仅是危及忍者生命的物理威胁,也是紧紧守护着他们跳动心脏的武器。忍者的音读(中文)是“坚持”,这突出了在敌方领土中作为间谍工作所需的内在力量,时刻面临威胁。忍者必须执行可能危及生命的任务,有时意味着在敌人领土上停留较长时间,直到时机成熟——也就是说,成为一种持续不断的威胁。

正确的心态

万川集海宣称忍者必须拥有“正确的心态”,否则必将失败。达到这一超凡状态意味着始终保持在场、专注,并意识到自己的目标——这是一种作为自我防卫的正念。忍者应当以“仁、义、忠、信”为标准做出决策,即便他们的技艺所导致的结果常常是阴谋和欺骗。这一哲学的好处是能够在忍者面临剧烈压力时,如战斗或潜入时,帮助他们保持冷静和专注。《忍经》中提到:“当你内心平静时,你可以洞察别人无法察觉的事情。”

“正确的心态”也被认为能使忍者成为更具活力的战略家。与其他战士常常急于投入战斗不同,忍者专注于思维的敏锐性,使他们变得耐心且灵活。他们经过训练,学会了非传统的思考方式,不断质疑一切;历史学家安东尼·卡明斯将这种思维方式与当代的创业 disruptor 相比较。如果他们的武器失败了,他们就用语言。如果语言失败了,他们便放下自己的想法,去引导敌人的思维过程。^(16) 清晰的头脑是掌握敌人、掌控环境和完成看似不可能的任务的关键。

Shōninki 简洁地总结道:“没有什么比人类的思想更令人惊讶。”^(17)

忍者技巧

忍者卷轴中详细描述的渗透技巧展示了忍者信息收集过程的惊人效果。他们实践了两种主要的渗透方式:in-nin(“黑暗忍术”)指的是在黑暗掩护下悄悄潜入某地,或是采取其他方式隐藏自己以避免被发现,而yo-nin(“光明忍术”)则指的是在公开场合进行渗透,比如伪装成僧侣以避免引起怀疑。有时忍者会将两者结合使用——例如,他们可能先伪装成居民潜入一个城镇,随后再悄悄溜走并藏身于城堡的护城河中,直到进攻的时机到来。

无论是使用in-nin还是yo-nin,忍者都力求尽可能了解目标的一切,并且他们有着经过时间打磨的收集详细信息的方法。他们研究目标的地形,但也研究当地人民的习俗、态度、兴趣和习惯。在尝试渗透城堡之前,他们会先进行侦察,确定每个房间的大小、位置和功能;出入口;居民及其日常活动;甚至是宠物的喂养时间表。他们背熟敌方守卫的名字、职称和职能,然后利用敌方的旗帜、徽章和制服公开潜入(yo-nin),并与毫无防备的目标进行对话。他们收集各种领主的印章,以便在伪造文件时使用,通常是为了向敌军发布假命令。在交战之前,他们会调查对方军队的规模、实力、战斗能力、战斗习惯、补给线和士气。如果目标是一个强大的领主,他们则会尝试了解该领主的道德准则和内心深处的愿望,从而让目标被腐化或操控。^(18)

忍者通过“正确心态”哲学被教导要具备创造性思维。这种训练使他们对周围的世界有了高度的警觉,并激发了在战场上采取新行动的方式。例如,《忍经》教导忍者通过观察大自然中动物的行为来提高自己的效能。如果忍者遇到障碍或敌人的检查站,他们会像狐狸或狼一样思考:他们不会直接越过或突破障碍,而是表现出耐心,绕过障碍,哪怕绕行的距离可能很远。有时,适合的做法是让自己像“牛马一样”被引领,(19)站在开阔的地方,可能伪装成使者或外交人员接近敌人,敌人通常会忽视低阶层的人。不论忍者内心如何——即使愤怒至极——他们都要努力保持外表的平静,“就像水鸟在平静的湖面上那样。”(20)如果他们需要分散守卫的注意力,他们可以模仿狗的叫声、嚎叫,或摇动自己的和服模仿狗摇晃的声音。^(21)

忍者带来了战场上的创新,这些创新至今仍被军队和隐蔽行动人员使用,这些方法之所以成功,正是因为忍者通过不懈的侦察以及对目标的无懈可击的了解,将信息和欺骗转化为武器。

第一章:绘制网络图

有了这些地图,将军就能考虑如何防守和攻击城堡。

关于移动营地,有一套关于时间和移动日期的原则。忍者的职责是准确了解该地区的地理信息以及到敌人的距离。

—吉盛守百首 #9

一旦你获得了城堡或营地的细节和布局,你所需要做的就是尽快带回这些信息,这正是一个优秀忍者应当做的事。

—吉盛守百首 #24

《万川集海》中《指挥官指南》提供的第一条建议是制作精确无误的地图,供将军们用来策划对敌人的攻击。^(1) 吉盛守百首的精选诗篇^(2)也强调了绘制并保持足够细致的地图的重要性,以便军队和个别忍者都能使用。

指挥官通常会让忍者负责制作地图。卷轴中明确指出,能够准确绘制你所看到的——山脉、河流、田野——并不等同于绘制有目的、具有情境化的威胁情报地图,以帮助军事战略或忍者渗透。卷轴中指出,以下细节与战争战术和忍者技艺相关,因此应当在地图中加以包括:^(3)

  1. 房屋、城堡或堡垒的所有入口和大门。它们使用了什么类型的锁、插销和开门机制?开门或关门时是否困难,它们在开关时会发出声音吗?

  2. 接近的道路。它们是直线还是弯曲的?宽还是窄?是土路还是石路?是平坦还是倾斜的?

  3. 结构的设计、构造和布局。每个房间的大小和用途是什么?每个房间里存放了什么?地板是否吱吱作响?

  4. 建筑物的居民。他们的名字是什么?是否有任何值得注意的技能或艺术?每个人的警觉性或怀疑性如何?

  5. 城堡及其周边区域的拓扑结构。信号中继从城内外是否可见?食物、水源和木材存放在哪里?护城河有多宽多深?城墙有多高?

理解网络地图

网络地图在网络安全中是描述网络中链路(通信连接)和节点(设备)之间物理和/或逻辑关系及配置的网络拓扑图。为了更好地理解这一概念,可以考虑路地图或地图集中的地图。这些地图描述了物理位置、地理特征、政治边界和自然景观。关于道路(链路)的信息——它们的名称、方向、长度以及与其他道路的交汇点——可以用来在不同地点(节点)之间导航。现在让我们考虑以下假设场景。

想象一下,你生活在一个道路和建筑物在眨眼间自发出现或消失的世界里。GPS 存在,你知道自己所在的位置和想去的地方,但你必须通过一张不断变化的道路网络尝试到达目的地。幸运的是,每个十字路口都有导航员(路由器)来帮助像你这样的旅行者找到方向。这些路由器不断呼叫邻近的路由器,了解哪些路线和位置是开放的,以便更新它们的路由表,保存在剪贴板上。你必须在每个交叉口停下来,向路由器出示你的旅行卡,询问到下一个角落的路线,旅行卡上标有你的目的地的 GPS 坐标。路由器在计算的同时查看剪贴板,迅速指引你前进,并在你的旅行卡上盖上路由器的地址,打孔记录你在旅途中已经检查过的路由器数量,然后将你送往下一个路由器。你将重复这一过程,直到到达目的地。现在想象一下这个世界的制图师,他们可能已经放弃了制作准确地图的工作,因为无法跟上不断变化的网络。这些制图师只能满足于标记一些关键地标和兴趣点,并用通用名称标出这些地标,在它们之间画上模糊的线条,表示在它们之间有某种路径存在。

这个假设的情况实际上就是网络空间中存在的情况,这也是为什么网络地图不够准确,并且其维护没有得到应有重视的原因。缺乏高质量、全面的网络地图是网络安全组织面临的公认挑战。如果一个组织有网络地图,它通常是提供给安全运营中心(SOC),用以说明传感器或安全设备在数据流中的位置,并帮助更好地理解数据包捕获、防火墙规则、警报和系统日志。然而,这些地图通常也比较抽象,仅描述一些基本特征,如互联网、外部网络和内网的边界;边缘路由器或防火墙的大致位置;以及未指定的网络边界和概念性布局,用模糊的气泡表示。网络安全和 IT 专业人士常见的一个未充分发展的网络地图例子,见图 1-1。

为了说明为什么图 1-1 是“糟糕”的地图,我们将重新审视万川集海关于制图的建议,并用等效的网络安全细节来进行对比。

  1. 网络中节点的所有接入点。设备上有哪些类型的接口接入点(以太网 [e]、快速以太网 [fe]、千兆以太网 [ge]、通用串行总线 [USB]、控制台 [con]、回环 [lo]、Wi-Fi [w] 等)?是否存在网络接入控制(NAC)或媒体接入控制(MAC)地址过滤?远程或本地控制台访问是否启用或未被锁定?是否有物理安全措施?是否有机架门锁或 USB 锁?是否有接口访问日志记录?网络管理接口和网络在哪里?每个接入点的 IP 地址和 MAC 地址是什么?

f01001

图 1-1:简化的网络图

  1. 边界网关、跳数和出口点。是否有多个互联网服务提供商(ISP)?它是受信的互联网连接(TIC)还是托管互联网服务(MIS)?互联网连接的带宽是多少?出口连接是通过光纤、以太网、同轴电缆还是其他介质?接近网络的跳数有哪些?网络进出的出口方式是卫星、微波、激光还是 Wi-Fi?

  2. 网络的设计、组成和布局。每个子网的名称、目的和大小是什么(例如,无类域间路由 [CIDR])?是否有虚拟局域网(VLAN)?是否存在连接池限制?网络是平面的、层次化的,还是根据建筑结构或防御层级和/或功能进行划分的?

  3. 网络的主机和节点。它们的名称是什么?它们的操作系统(OS)版本是什么?它们运行哪些服务/端口,哪些是开放的?它们具有什么安全控制可以检测到攻击?它们是否有任何已知的常见漏洞利用(CVE)?

  4. 网络和建筑的物理与逻辑架构。数据中心在哪里?大厅内有以太网插孔吗?Wi-Fi 是否会泄漏到建筑物外?计算机屏幕和终端从建筑物外是否可见?办公室是否使用安全玻璃?访客/会议室网络是否得到了适当的划分?网络的核心访问控制列表(ACL)和防火墙规则是什么?DNS 在哪里解析?外围网络或 DMZ 中有哪些资源?是否使用外部电子邮件提供商或其他云服务?网络中的远程访问或虚拟私人网络(VPN)架构是怎样的?

没有有效网络地图的组织可能会参考其 IT 部门提供的接线图或原理图。这些简化的示意图记录了系统、网络设备和设备连接的相对布局,并且可以作为网络故障排除时的参考。然而,许多组织甚至放弃了这些粗略的图示,而更倾向于使用一个电子表格,记录主机名、型号和序列号、街道和 IP 地址,以及所有设备的数据中心堆栈/机架行。如果利益相关者能够使用这个电子表格来定位资产,并且从未遇到过任何重大网络问题或故障,那么这种文档的存在甚至可能会阻碍网络地图的创建。令人震惊的是,一些公司依赖于一个心中有“地图”的架构师或专家,而从未正式(甚至非正式)制作任何地图。

公正地说,缺乏有效网络地图是有其合理原因的。构建、共享和维护地图会消耗大量宝贵的时间和其他资源。地图也可能会发生变化。向网络中添加或移除系统、更改 IP 地址、重新配置电缆或推送新的路由器或防火墙规则,都可能显著改变地图的准确性,即使它是在几分钟前制作的。此外,现代计算机和网络设备运行动态路由和主机配置协议,这些协议会自动将信息推送到其他系统和网络,而无需地图,这意味着网络本质上可以自我配置。

当然,也有大量基于软件的“映射”工具,例如 Nmap^(4),可以扫描网络以发现主机,通过扫描器的跳数可视化网络,使用简单网络管理协议(SNMP)发现并绘制网络拓扑,或使用路由器和交换机配置文件快速生成网络图。由工具生成的网络图非常方便,但它们很少能够捕捉到防守方或对手所需的高质量映射标准所需的所有细节或上下文。使用映射工具、网络扫描和人工知识相结合来绘制一个软件辅助的网络地图可能是理想的解决方案——但即便如此,这种方法仍然需要投入大量时间,由具有专业技能的人来保持其准确性,从而使其具有实用性。

尽管有这些限制因素,防守方保持对地图的警觉性仍然至关重要。图 1-2 中的示例地图展示了防守方的地图应包含的详细程度,以保护网络。

网络中的设备使用独特的形状表示,而非象形符号。相似设备类型会使用相同的形状。例如,图 1-2 中的圆形代表工作站,方形代表路由器,矩形代表服务器;如果有的话,三角形则代表电子邮件中继或域控制器。此外,形状没有纹理或背景,使得写在其中的信息可以清晰可读。

每个接口(虚拟接口和物理接口)都会标明其类型和编号。例如,Ethernet 接口类型标为eth,接口编号与设备上实际标记的一致,标为eth 0/0。未使用的接口也会被标注。每个接口会标明其分配的 IP 地址和子网(如果已知)。

设备信息,如主机名、品牌和型号、操作系统版本,通常会在设备顶部标明。如果已知,漏洞、默认凭证、已知凭证和其他关键缺陷会标注在设备的中央。运行的服务、软件和开放的端口也会被记录下来。VLAN、网络边界、布局和结构应设计到网络图中,并做相应标注,包含任何重要信息。

f01002

图 1-2:详细的网络图

收集未被发现的情报

对于忍者来说,收集情报而不被发现是一项精英技能。如果在城堡附近徘徊并用木匠角尺或其他工具进行详细测量,就会引起居民的注意,暴露忍者为敌方间谍。因此,勤奋的忍者通常会在和平时期制作地图,那时防御工事的守卫放松警惕;在这些时期,忍者可以更自由地行动,收集数据时也不容易引起怀疑。^(5)

然而,忍者通常需要想出一些隐秘的方式来测量、记录地形特征并收集其他情报。值得注意的是,万川集海中有一段描述,讲述了如何在开放伪装技巧的章节中准确制作地图,这表明忍者通过欺骗手段,在敌人眼皮底下进行制图。这段卷轴提到了一种名为裏三津之术^(6)——估算距离的技巧——它涉及利用已知物体的尺寸来估算与熟悉物体之间的距离。裏三津之术还包含了巧妙的三角函数技巧;例如,忍者可能会躺下,脚对着目标,利用自己脚的已知尺寸来进行测量,整个过程中看起来像是在树下打盹。

收集网络信息是攻击者在攻击目标网络或主机之前首先进行的工作之一。攻击者创建的地图与历史忍者地图的目的相同:识别并记录渗透目标所需的信息。这些信息包括网络的所有出口和入口点:ISP 连接;无线接入点;超高频(UHF)、微波、无线电或卫星点;以及云、互联和外部网络。

攻击者还会寻找边界网关协议(BGP)网关和通往网络的路由或跳数。他们会寻找网络的表现性结构、布局和设计;网络清单,包括主机名、设备型号、操作系统、开放端口、运行服务和漏洞;以及网络拓扑,如子网、VLAN、ACL 和防火墙规则。

攻击者使用的许多网络映射工具都是“嘈杂的”,因为它们会与大量主机通信,使用自定义数据包,并可能被内部安全设备检测到。然而,攻击者可以通过减慢或限制网络映射工具的速度、使用非自定义(不易引起怀疑)数据包,甚至使用受害主机上已有的常用工具进行手动侦察来减轻这些弱点,比如 pingnet。攻击者还可以使用无害的侦察方法,在这种方法中,攻击者不直接接触或扫描目标,而是使用 Shodan 或通过互联网搜索引擎找到的其他先前索引的数据来收集信息。

更为复杂的攻击者会发展出“被动映射”的技艺,这是一种策略,攻击者通过不直接与目标互动(例如不使用 Nmap 扫描)来收集目标的信息。另一种被动映射策略是解释从网络接口捕获的数据包,在 混杂模式 下,该模式配置网络接口记录并检查所有网络通信;这与 非混杂模式 相对,在非混杂模式下,只有网络地址指向自身的通信才会被记录和检查。你可以使用混杂模式来了解邻近主机、流量流动、网络上使用的服务和协议,而无需主动与网络进行互动。

另一种不直接与网络互动的映射方法是收集网络管理员的电子邮件,这些电子邮件会在管理员离开网络时发送,寻找在外部文件存储共享环境中的网络地图,或者查看第三方故障排除帮助论坛,管理员可能会发布日志/错误、路由器配置、网络调试/tracert/ping 或其他暴露网络布局和配置的技术细节。就像忍者的空海之术技巧一样,利用目标网络中可观察的信息可以在不引起目标警觉的情况下对其进行映射。被动映射可以包括通过记录的 tracert 测量网络的延迟,以识别卫星跳数(例如,卫星的存在通常会导致通信延迟突然增加 500 毫秒),或者检测防火墙系统的深度包处理(例如,预处理器识别潜在的恶意攻击并对特制的通信添加可察觉的延迟)。被动映射还可能包括从外部 DNS 区域和记录响应中泄露内部网络信息;公共采购订单和某些软件/硬件的采购请求;甚至是招聘网络/IT 管理员的职位信息,这些职位要求具有特定技术、网络设备或硬件/软件的经验。

攻击者在开发这些地图时花费了大量时间,可能会比目标方的地图更完整——对手可能比目标更了解其网络。为了抵消这种优势,网络防御者应努力开发和维护更优的地图,并确保其高度保护。

创建你的地图

地图创建过程通常包括三个步骤:

  1. 做出必要的投资,创建一个全面、准确的地图,确保它能够轻松更新并安全存储。它应包含每个团队使用案例所需的信息(如 IT、网络运维中心[NOC]和 SOC)。考虑雇佣专职人员或团队,或外部供应商来制作和分析地图。

  2. 制作地图,包括本章开始时指定的精确细节类型。

  3. 请求对地图进行同行评审,作为变更管理请求的一部分,并且在任何人注意到地图中有不一致或偏离时,也应进行同行评审。

让我们更详细地了解第二个步骤:制作地图。

在确定所有关键利益相关者并说服他们将该项目作为优先事项之后,第一步是收集组织内部所有能够帮助映射过程的资料。这包括接线图、旧的网络架构项目计划、漏洞扫描、资产清单、数据中心的库存审核、DHCP 租约、DNS 记录、SNMP 网络管理数据、终端代理记录、数据包捕获(PCAP)、SIEM 日志、路由器配置、防火墙规则和网络扫描。路由器配置应该是构建网络图主要架构和布局的主要来源;可以考虑从将核心/中心路由器放在网络图的中央开始,并从那里进行分支。PCAP 捕获可以揭示那些可能无法响应网络扫描或由于网络过滤而无法通过扫描访问的网络上的终端。在允许选择的系统在混杂模式下长时间收集 PCAP 之后,将能够查看在 PCAP 中发现的终端列表,如图 1-3 所示。

f01003

图 1-3:Wireshark 截屏,展示在 PCAP 收集中发现的终端

理想情况下,PCAP 收集应与网络扫描同时进行,以验证扫描的覆盖范围。此外,应进行多次网络扫描,每个子网至少由一个终端扫描其子网;这些扫描可以手动拼接成网络图拓扑,如图 1-4 所示。确定可以自动化的项目,以便将来更轻松地重复此过程。

f01004

图 1-4:10.0.0.0/24 子网扫描的 Zenmap 拓扑视图

一旦所有数据收集完成,接下来需要进行处理、分析和合并。在合并所有数据之前,了解哪个数据源最为准确,并识别那些具有独特且有用信息(例如设备的最后一次出现时间)的数据源将非常有用。同时,任何不一致和差异也应进行调查。这些可能包括网络中缺失的设备、网络中的流氓设备、以及异常的网络行为或连接。如果发现网络扫描器未能穿透某些区域或子网,原因可能是 IP 规则或入侵防御系统(IPS)的限制,可以考虑请求更改网络设置,以允许更深层次和更全面的扫描。该阶段项目的一个关键成果是识别和定位所有已授权和未授权连接到网络的设备——这是一个巨大的成就。

评估可以自动获取 SNMP 数据、网络扫描和漏洞扫描并允许手动编辑以添加任何附加数据的软件映射工具。你选择的工具应该能够生成一个全面、准确、详细的网络地图,满足你的利益相关者的需求。选择最适合处理你的数据并符合预算的解决方案。

生成地图并进行测试。在变更管理会议/安全事件和网络故障/调试事件中测试其有效性。它是否有助于更快地解决问题和发现故障?通过接口进行 traceroutes 和 tcpdumps 测试其准确性。要通过 traceroutes 测试准确性,请从不同的网络位置进行内部和外部 traceroutes,查看跃点(路由器)是否出现在地图中,并根据你的地图逻辑流动。示例 traceroute 如图 1-5 所示。

f01005

图 1-5:Windows traceroute 到 example.com

查看你的红队和蓝队如何利用你的地图。收集反馈,并再次进行映射过程,目标是在更短的时间内制作出更好的地图。

推荐的安全控制和缓解措施

在相关情况下,每个建议都附有来自 NIST 800-53 标准的适用安全控制,并应根据地图的思路进行评估。

  1. 分配负责记录网络地图的职责。实施政策和程序以协调团队之间的地图更新。[CM-1: 配置管理政策和程序;CM-3: 配置变更控制 | (4) 安全代表;CM-9: 配置管理计划]

  2. 为了建立基准,记录网络拓扑、架构、逻辑位置和信息系统的配置。[CM-2: 基准配置]

  3. 将缺陷识别(例如地图不准确)和修复(例如网络架构中固有的漏洞)纳入网络映射过程。[SI-2: 缺陷修复]

总结

在本章中,你回顾了忍者映射目标、地图标准和映射技术,以及现代网络映射实践和技术的概述。考虑到网络地图的重要性,如何创建(好的)地图,以及攻击者如何收集关于你系统的情报,可能激发了你的想象力,你可能已经想到了一些新的数据源或技术,来映射你自己的网络和其他网络。

在下一章,你将有机会使用你的网络地图作为数据流图(DFD)的一种形式来进行威胁建模。这意味着你将识别网络中可能被攻击者攻击或绕过防御以渗透的区域。我将讨论一种新颖的忍者安全技术“守护”,它可以用来防御网络中的薄弱环节。

第二章:特别守卫

即使是拥有强大防御工事的城堡,也应当加以守卫,特别要注意凹陷的角落。

忍者在潜入城堡或营地时应牢记自然防御严密且难以突破的方向、树林和盲点。

—吉盛百首 #10

忍者在历史上是非常熟练的渗透者。古代卷轴描述了如何迅速识别并残酷地利用敌人防御工事中的薄弱点。卷轴还强调,忍者应当运用更高层次的思维,在建设自己的防御时创造性地应用他们的知识。万川集海建议负责守卫营地或城堡的指挥官要特别注意识别、检查并严密守护那些忍者最有可能尝试突破的区域,例如城堡石墙的凹陷角落、垃圾处理区、水管、以及附近的树林或灌木丛。^(1)

理解攻击向量

将城堡的墙壁视为攻击面,而城堡墙壁中的薄弱点(例如,水管或墙中不合理摆放的石块,这些石块提供了攻击者的立足点)则为攻击向量攻击面指的是敌方有机会攻击的所有软件、网络和系统。攻击面中的任何一点都可能成为攻击向量,或者说攻击者用来获取访问权限的手段。在网络安全中,通常建议缩小攻击面。也就是说,虽然缩小城堡的面积可以减少需要防守的攻击面,但它并不能减轻敌人可能造成的损害,也无法防止任何给定的攻击向量被利用。尽管如此,减少攻击面还是能让守卫目标变得更容易。

万川集海关于隐秘渗透的卷册列出了一些本意良好的防御技巧、武器和思维模式,这些实际上可能让营地暴露于风险之中。它敦促指挥官考虑他们环境中的一切是否可能被敌人用来对付自己。例如,卷轴指示渗透者寻找忍者返,即敌人围绕营地设置的刺来阻止潜在攻击者。^(2) 由于防守者将这些刺放置在他们认为脆弱的地方,因此这些刺的存在告诉敌方忍者防御薄弱之处;防守者实际上是在公开自己的脆弱。忍者知道他们可以移除这些刺——这通常很容易做到,因为这些刺几乎总是作为事后补充放置的——并通过目标周围最薄弱的地方突破防线。^(3)

一个典型的“事后加固”安全例子可以在微软 Windows 的 PowerShell 中找到。每个新版本的 PowerShell 在.NET 框架之上增加的众多安全功能并没有解决该产品的核心缺陷,事实上,它们使得威胁行为者能够创建一整套工具和武器,用以渗透支持 PowerShell 的系统。这是任何希望更深入研究忍返的安全研究人员的一个极好案例。

日本仍然屹立的古老城堡通常不会装饰尖刺,但它们确实往往有太小的水管,使人无法通过,周围的植被被清除,外墙也没有凹陷的角落——所有这些都表明,皇帝们从忍者那里获得灵感,随着时间的推移,采取了措施消除这些弱点。然而,虽然消除弱点是理想的,因为这样就不需要看守,但这并非总是可能的。

在本章中,我们将讨论守卫的概念及其在网络安全五大职能中的拟议位置。然后,我们将讨论如何通过威胁建模识别可能需要守卫的脆弱区域。

守卫的概念

守卫是通过观察环境、发现威胁并采取预防措施来对资产进行保护控制的行为。例如,城堡的领主发现城堡墙上的一个相当大的排水管是一个弱点。领主保留了这个管道,因为它在允许水排出方面发挥着重要作用,但要求有卫兵站在附近,防止攻击者利用这个管道作为进入手段。

通常,组织倾向于让网络安全人员对弱系统、网络盲点或需要特别小心守卫的脆弱攻击向量一无所知。一些组织认为发现网络安全缺陷完全是网络安全人员的责任。许多利益相关者根本没有首先识别出这些攻击向量,或者如果没有现成的商业解决方案,或者没有广泛接受的防范措施能够轻松应用,他们就简单忽视这些弱点,希望它们不会被利用。

在某些情况下,管理层指示安保人员不要进行基本的日志记录、扫描或对遗留系统进行修补,因为担心触碰这些系统会干扰业务运营。在更具政治性的组织中,除非通过正式的文档过程确认,否则常常不会将威胁视为有效的关注点。试想一下,如果发现一座城堡缺少西墙,你将这一明显的漏洞报告给国王,但国王却因卫兵在官方报告中没有提到此事而忽视你的担忧。

在网络安全框架中的守卫

美国国家标准与技术研究院(NIST)网络安全框架^(4)旨在防止这些常见错误,并通过五个核心的网络安全功能来提高组织对网络威胁的抵御能力:识别、保护、检测、响应和恢复。这些功能通过使用常见的信息安全工具和流程,帮助识别网络和系统中的漏洞。

例如,大多数组织通过对其网络中的系统进行漏洞扫描或应用扫描来开始识别弱点——这就是识别功能。有效且可靠的扫描可以识别出明显的安全问题,如未打补丁的软件、具有空白密码的活跃账户、默认的工厂凭据、未加参数化的输入,以及对互联网开放的 SSH 端口。接下来是保护功能。在发现一个不安全的系统后,扫描工具记录问题,然后安全人员通过修补、配置更改或长期的架构、安全系统或软件实施来修复或缓解漏洞。

如果安全人员无法保护已识别为攻击通道的系统,我认为他们应该通过人工控制来守卫该系统。然而,NIST 框架中缺少守卫功能。相反,我们直接进入检测功能:安全人员通过监控和调查异常事件来试图发现对手。一旦安全人员发现渗透,他们才会执行响应功能,通过遏制威胁、消除威胁并报告来进行应对。

最后是恢复功能:将系统和数据恢复到可操作状态,并提高它们抵御未来攻击的能力。

尽管对强大的安全配置至关重要,这些保障措施仍然是预防性、保护性或响应性的功能。网络安全行业很少将“守卫”概念应用于信息系统,因为让人工防御者手动检查和批准每一封邮件、网页、文件或数据包的进出,就像门卫监控人或包裹进入大楼一样,是不切实际的。

例如,拥有 1GB 网络连接的计算机每秒可以处理超过 100,000 个数据包,这远远超过任何人类能够检查的数量。与其依赖人工监视,防御者通常会大量依赖自动化的安全控制,或者干脆接受/忽视风险作为业务的一部分。然而,在现代数字网络中,防守仍然是可行的,前提是防守仅仅被应用于那些需要特别关注和小心的区域,比如最可能的攻击通道。这就是为什么进行威胁建模以识别这些区域对你的组织会非常有帮助的原因。

威胁建模

网络安全中最接近守卫的行动是威胁狩猎,即积极地在日志、取证数据和其他可观察的证据中寻找潜在的入侵迹象。很少有组织进行威胁狩猎,即使在进行的组织中,猎人的工作也是发现,而不是守卫。

然而,网络防御者必须超越传统框架,持续地设想网络和信息系统可能遭受的攻击方式,并实施必要的防御措施。为此,防御者可以使用威胁建模来实施信息流控制,并设计防护措施以应对威胁,而不仅仅是对其做出反应。

威胁建模通常只有在网络安全成熟的组织中进行,它涉及到记录一个数据流图(DFD),该图描述了系统内部数据和过程的流动。数据流图通常以流程图的形式记录,但也可以通过详细的网络图来粗略表示。数据流图可以作为对攻击面进行结构化分析的工具,帮助你在已记录的信息系统参数内思考攻击场景。它不需要漏洞扫描、红队验证攻击场景,或合规框架的验证,组织也不必等到发生安全事件后才证明威胁模型,从而采取措施防范漏洞。

了解现代网络安全中类似于“城堡石墙的凹角、垃圾处理区、水管以及附近的树林或灌木丛”的环境,可以帮助你识别可能需要特别防护的攻击路径。

例如,作为他们夜间职责的一部分,保安会拉动办公室每个门把手,以确保门是锁着的。如果发现某扇门未锁,他们会将门锁上,确保钥匙安全,并提交一份安全事件工单。

后来发现,安全事件发生是因为门钥匙被复制或盗窃,因此该组织在门上增加了第二级认证控制(例如数字键盘或徽章读取器),更换了锁芯,并发放了新钥匙。这些新的预防性安全控制措施满足了合规审计员的要求,未锁门的报告工单也已关闭。首席信息安全官(CISO)甚至雇佣了红队,对新的门锁机制进行了小范围的物理渗透测试,红队确认由于增强的安全措施,他们未能获得访问权限。

然而,一旦我们进行威胁建模练习,就会发现有可能将可移动的天花板瓷砖推开,然后翻越办公室墙壁,完全绕过新的安全措施。为了解决这个问题,我们可以增加控制措施,比如在天花板爬行空间安装安全摄像头或运动探测器,或者安装坚固的、防隧道化的天花板和地板。甚至可以雇佣并培训守卫,寻找被扰动的天花板瓷砖、地板上的天花板颗粒或墙上的脚印。针对这一威胁的防范需要守卫在房间内驻守,或者站在天花板爬行空间内,拥有保护房间免受入侵者侵害的权力和工具。

实施这些对策的可行性较低——你可能连提出这一建议都可能被经理嘲笑。很容易理解为什么组织更倾向于接受或忽视某些威胁,而不是尝试抵御它们,这也可能是为什么 NIST 网络安全框架没有包括守卫功能。然而,如果通过详细的威胁建模进行深思熟虑,并以创造性和谨慎的方式加以实施,这种以守卫为中心的思维方式可以加强信息系统和网络的安全性。

一个适合实现守卫功能的场景示例是在跳跃盒子中。跳跃盒子是跨越两个或多个网络边界的系统,允许管理员从一个网络远程登录到跳跃盒子,并“跳跃”到另一个网络以访问它。传统的网络安全框架建议通过修补所有已知漏洞、使用各种防火墙规则限制访问、并监控审计日志中异常事件(如未授权访问)来强化跳跃盒子系统。然而,这些技术控制措施常常受到攻击或被绕过。另一方面,守卫可以物理断开内部网络电缆与其他网络的连接,并在与管理员确认他们获得批准后,直接连接该网络以执行远程命令。守卫还可以实时监控机器上的操作,并在观察到恶意或未授权行为时随时强制终止会话。以这种方式实现守卫功能可能意味着雇佣一个人类守卫坐在数据中心,保护这些敏感系统的物理访问和远程访问。

使用威胁建模来发现潜在的攻击路径

识别攻击向量的基本步骤是遵循威胁建模的指导方针,从创建 DFD 开始。一旦从 DFD 中识别出潜在的攻击向量,忍者卷轴建议检查这些向量,确定可以实施哪些技术安全控制来保护它们。然后,作为最后的手段,使用防护措施来保护这些区域。你可以使用前一章创建的网络地图来帮助创建 DFD,或者将其作为粗略的替代方案。

  1. 建模你的信息系统。 与组织的网络、安全、开发、业务和其他 IT 系统的负责人和专家合作,创建一个准确的数据流图(DFD)。它不需要使用统一建模语言(UML)或其他高级概念——它只需要准确表示你的系统及其中的信息。请注意,大型复杂系统可能需要一个团队超过六个月的时间来绘制图表。

  2. STRIDE 与防护。 STRIDE 是微软开发的威胁建模方法论,用于描述信息系统中可能出现的问题。该缩写来自攻击者可能违反系统的六个属性:

    S身份伪造 = 身份验证
    T篡改数据 = 完整性
    R否认/可否认性 = 不可否认性
    I信息泄露 = 保密性
    D服务拒绝 = 可用性
    E权限提升 = 授权

    使用 STRIDE 时,你将回顾你的数据流图(DFD),在每一个数据输入、数据处理、数据输出或其他数据流/规则的点上,假设对手可能如何威胁这些环节。例如,如果系统需要通过指纹验证用户身份才允许访问,你可能会考虑对手如何伪造指纹来冒充其他用户。同样,你可以思考他们如何篡改指纹数据库,将自己的指纹插入其中,或者探索攻击者使指纹扫描器瘫痪,从而通过更弱的身份验证过程获得未授权访问的场景。

    在学习了这个框架之后,你可以利用它挑战任何不准确描述你系统的假想威胁模型,或是没有描述可行威胁如何影响特定组件、表面或通道的场景。这可能需要邀请技术领域的专家参加威胁建模会议。

    假设,例如,一个组织的威胁建模会议产生了以下场景:“恶意软件威胁破坏了内部数据库的完整性。”

    该威胁没有得到正确建模。除其他关键信息外,场景没有描述恶意软件是如何被传输和安装的。也没有描述恶意软件如何破坏数据库的完整性:它是加密、删除还是损坏数据?它没有描述哪些攻击途径允许威胁影响系统,也没有考虑当前的信息流和控制措施,也没有提供现实的对策。例如,如果我们确定最可能的方式是通过恶意 USB 驱动器感染内部业务数据库,那么安全部门可能需要制定政策,详细说明员工如何使用 USB 驱动器,或者安装摄像头以监控 USB 端口的访问。组织可能会决定授予安全部门启用或禁用 USB 设备的权限,指定哪些驱动器可以与 USB 接口连接,控制 USB 端口的信息流动和方向,要求在授权访问请求者之前检查 USB 驱动器上的文件,通过硬件或软件锁控制访问,甚至将 USB 端口用热熔胶封闭。通过彻底的威胁建模得出的这些措施,能让安全人员针对特定威胁进行特别的防范,而不是仅仅接受风险或局限于保护和检测功能。

  3. 不要宣传附加的安全措施。威胁建模是一个迭代的、无限的过程,旨在评估新威胁并制定防护对策。在你急于保护系统的过程中,避免使用忍者返击式的安全控制——这些防御措施可能适得其反,引起攻击者对你系统漏洞的关注。由于时间、资源或操作限制,你可能只采取了半途而废的措施,这些措施可能会被有动机的、技术高超的威胁行为者轻易突破。例如,USB 端口上的热熔胶可以通过异丙醇去除。在可能的情况下,评估一种以安全为先的防御方法的可行性。

    在 USB 威胁的示例中,USB 与操作系统内核下方的硬件抽象层(HAL)进行交互。它无法通过软件和政策控制完全保护或缓解,因为这些控制措施存在于内核之上,并且可能被绕过。因此,更完整的解决方案可能是实施一种主板和机箱配置,使得 USB 端口根本不存在。相比之下,USB 端口上的热熔胶会向有动机的威胁行为者展示你没有正确处理 USB 的安全问题,如果他们能把胶粘取下,这将很可能成为他们成功攻击的途径——就像古代忍者拔出钉在管道和墙壁上的尖刺一样。

推荐的安全控制和缓解措施

在相关情况下,每个建议都将附带一个适用的来自 NIST 800-53 标准的安全控制,并应通过特殊防护的角度进行评估。

  1. 审查审计员、红队评估、漏洞扫描和事件报告的结果,以找出在环境中无法轻易修补或通过控制措施缓解的漏洞(即那些需要特殊防护的漏洞)。[CA-2: 安全评估;CA-8: 渗透测试;IR-6: 事件报告 | (2) 与事件相关的漏洞;RA-5: 漏洞扫描]

  2. 对你的环境进行威胁建模,以识别漏洞。然后确定哪些漏洞可以通过设计将其从环境中消除。探索防护安全功能的概念,并将这些控制措施应用于那些无法轻易消除的威胁。[SA-8: 安全工程原则;SA-14: 关键性分析;SA-15: 开发过程、标准和工具 | (4) 威胁建模/漏洞分析;SA-17: 开发人员安全架构和设计]

  3. 为了威慑、保护并确保对威胁的快速响应,雇佣实时安全人员作为防护员,并将其整合到业务运营的易受攻击区域中。[IR-10: 集成信息安全分析团队]

汇报

本章帮助你思考网络环境中对手可能会针对的渗透目标。你还了解了通过信息系统和流程之间的直接人工互动进行防护的概念。你可能已经利用了上一章的网络图,或者创建了自己的数据流图(DFD)来表示你的环境,以识别可能的攻击向量和可以通过防护措施缓解的潜在 STRIDE 威胁。

在下一章,我们将探讨古代忍者使用的“排外”安全概念,这可能会阻止对手在你的环境中找到任何共同点或立足点,甚至无法开始其攻击向量过程。

第三章:排外安全

如果你没有多加思考就接纳陌生人,敌方忍者可能会伪装成陌生人进入,并从内部获取情报。

如果乞丐或弃民接近警卫室,要粗暴对待并赶走他们。

—吉守百首 #91

在本章中,我们将探讨排外安全的概念——即基于对外部人员的不信任的安全性——以及如何将其应用为一种反特权保护域。为了说明这个概念,我们将考虑忍者必须面对的敌对环境。

想要渗透村庄并在明面上收集情报的忍者面临着一个普遍的挑战:中世纪日本的普遍排外情绪。国家的村庄与世隔绝,形成了独特的方言、发型、服饰和其他习俗,使每个社区都有自己的社会生态系统。^(1) 这些偏远地区的小规模人口意味着每个人通常都认识彼此,而外来者显然无法融入。^(2)

作为外来者,忍者常常被怀疑并受到监视。他们不能在镇上自由行动,通常也无法租房和购买食物。当然,村民们也不会与他们共享信息。社区的排外情绪将忍者降为反特权身份。

理解反特权

为了理解反特权的意义,我们首先需要了解特权的概念,在网络安全中,它指的是用户执行某些操作的权限,例如读取或删除文件。现代计算机系统采用分层架构,具有不同级别的特权:

  1. ring4 默认(无特权)

  2. ring3 普通用户(最低特权)

  3. ring2 超级用户(管理员)

  4. ring1 根用户(提升特权)

  5. ring0 内核(系统)

例如,一名普通村民(最低特权)或一只猫(无特权)可以随时离开村庄。而一位拥有更高特权的村长则具有随意锁闭村门的额外权限。然而,一个被怀疑有不轨行为的外来者(反特权)可能拥有比流浪猫(无特权)更少的权限,因此不能离开村庄。

这种反特权和非特权身份的区别非常重要。在某些计算机系统中,诸如注销这样的操作被视为非特权操作,通常默认所有环中的行为者都有权限进行。不可被信任的进程/用户可以利用这些默认的非特权权限,执行更具恶意的操作,或自由操作以实现更复杂的目标。另一方面,通过拒绝反特权进程注销,你可以防止其清除会话历史或消除其存在的证据。试想一下,计算机系统是否可以采用一个 ring5(反特权)安全控制。以我们的村庄为例,可以设想强制怀疑是忍者的人在离开村庄前接受搜查和审问。这样,村庄可以抓住小偷和间谍。此外,通过让潜入者的任务变得更加危险和昂贵,村庄无疑会阻止敌对活动。

为了渗透这样一个排外的村庄,忍者首先必须记住并练习一系列文化上具有特色的伪装,熟练掌握该地区的穿着风格、方言、梳理技巧、货币习俗和社会规范。

当文化伪装掌握后,忍者仍然需要有一个令人信服的理由进入村庄;通常这是与工作相关的。《忍秘传》描述了忍者如何适用一个通用的掩护故事,或许声称自己是一个进行精神旅行的僧侣,一个商人,一个乞丐,甚至是一个奉命出行的武士。(尽管武士也被村民认作是外来者,但他们不像潜在的逃犯或盗贼那样遭遇同等的怀疑。)

在伪装成与自己相同职业、阶层或种姓的人群中,忍者被建议表现出足够的专业知识,使自己在职业上看起来可信,但也要装作愚笨,需要帮助才能完成常见任务。装作无知的行为旨在让目标误解忍者的真实智慧,同时抬高目标自己的自尊心,从而让他们放松警惕,自愿提供信息。《忍秘传》列出了忍者应尝试用这些策略争取的特定目标,例如地方官员、法官、医生、僧侣以及可能在当地领主或权威面前工作的人。这些目标通常拥有对任务有价值的信息。^(3)

请注意,中世纪日本村庄的社会等级结构类似于现代计算机系统中的特权环结构,甚至类似于计算机网络的分层隔离,其中外层像是 DMZ,最不受信任。同样,普通村民(最低特权者)无法与位于中心的领主互动,或者说是 ring0\。

我们可以将忍者识别潜在目标的方式应用于网络安全领域。正如忍者将目标瞄准那些比喻上接近 ring0 或拥有 ring0 访问权限的人一样,现代的威胁行为者也会针对特权系统/用户。因此,防御者应考虑在其系统中,类似僧侣和地方官员等高地位人物的计算机等价物是什么。此外,您还应该考虑现代威胁行为者可能使用什么伪装来接近更有特权的系统/用户。

互操作性和通用标准的问题

无论他们是否有意识地思考,互操作性对于技术消费者来说都是重中之重:人们期望他们的设备、应用程序、系统和软件能够无缝地与新旧版本兼容,并且可以在不同平台之间以及与其他品牌和型号互换使用。国际标准化组织(ISO)、国际电工委员会(IEC)、互联网工程任务组(IETF)、互联网协会(ISOC)和其他管理机构已经制定了广泛认可的技术设计、操作和集成标准。

这些努力催生了许多 ISO 标准、请求评论(RFC)以及其他使计算机更加易于访问的互操作性协议,更不用说它们也让计算机的构建、管理、诊断、修复、编程、网络和运行变得更加容易了。一个典型的例子是 1995 年引入的即插即用(PnP)标准,它指示主机系统通过 USB、PCI、PCMCIA、PCIe、FireWire、Thunderbolt 或其他方式检测并接受任何插入的外部设备,然后自动配置、加载、安装并自动连接。

不幸的是,当目标是建立功能并保持其可操作性时,安全性几乎从未是优先考虑的问题。事实上,PnP 标准——它促进了对陌生实体的信任和接受——的构建恰恰与中世纪日本的排外安全标准相反。例如,一个陌生的系统可以作为外部者连接到网络,并从动态主机配置协议(DHCP)请求 IP 地址,向本地路由器请求指令,查询权威 DNS 服务器以获取其他设备的名称,并从地址解析协议(ARP)、服务器消息块(SMB)、Web 代理自动发现(WPAD)和其他旨在简化兼容性负担的协议中获取本地信息。您将系统插入网络,它就能工作,展现出用户期望和希望的行为。然而,网络安全行业如果能在其网络协议中更加“排外”,将会受益匪浅。

为了减轻由于 PnP(即插即用)类似的可访问性带来的弱点,已经引入了如网络访问控制(NAC)和组策略对象(GPO)等安全控制。在主机系统上,这些技术可以防范可能存在恶意的外部设备,这些设备物理连接到内部网络或系统。

NAC 通常会锁定 DHCP,将未识别的计算机分配到访客 IP 子网或未授权的 VLAN。这允许外部系统连接到互联网以进行一般访问,但将它们与其他受信网络隔离开来。这种行为在会议室和大厅中特别受到青睐,以便外部合作伙伴和供应商能够在不暴露网络威胁的情况下操作。

本地主机上的 GPO(组策略对象)强制执行哪些类型的设备——外部硬盘、USB、媒体读取器等——可以在系统上配置和安装。GPO 甚至可以在组织内白名单已知应用程序,同时阻止所有不熟悉的软件从下载或安装到主机系统中。

然而,这些安全控制是显著的例外。从使用 EIA/TIA-561 和 Yost 标准的 RJ45 以太网插座,到使用 IEEE 802 标准的基于数据包的网络——以及其中的一切——大多数技术都是基于透明、广泛知晓的默认标准构建的,这些标准确保了跨外部系统和网络的快速、简便的使用,但也使它们容易受到未经授权的流氓系统的攻击,这些系统可能进行网络发现、侦察、嗅探和通信。

为您的环境开发独特的特征

在您的 IT 资产清单中拥有独特的属性和特征将有助于区分您的资产与可能进入环境的流氓资产,甚至可以保护您的网络免受侵害。这些特征可以通过检查或分析观察到,但它们的使用不应公开披露,因为公开披露会削弱反制措施。现代 IT 系统和软件中的大多数元素都是可配置的,这种配置的变化有效地在您的系统中创建了排外的 IT 模型。

最近推出的采用零信任模型的商业产品,通过技术协议和不信任的结合,能够帮助使您的网络或系统对不熟悉的系统、软件和设备“排外”。严格的白名单和身份验证/授权程序可以达到类似的效果,但一个适当的解决方案将引入计算机版本的“方言”——设置、习惯和其他与通用计算标准不同的独特特征。连接到您内部网络的系统或设备需要“灌输”组织的独特文化,而未经灌输的服务器、组件、网络设备和协议将不信任或拒绝这些不熟悉的外部代理,并向安全团队报告其存在。

通过一些创造性和工程手段,这些文化计算机标识符可以在开放系统互联(OSI)模型的任何层(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)中实现,用于识别网络外部人员,并为对抗敌人提供额外的防御层。无论是在 RJ45 插口的隐藏适配器中交换某些线路,期望在 TCP/IP 级别进行秘密握手(SYN、SYN ACK、ACK-PUSH),还是在以太网头部使用保留位,排外解决方案都应该是模块化的、可定制的,并且每个实例都应是独一无二的。

推荐的安全控制和缓解措施

在相关情况下,以下推荐措施与 NIST 800-53 标准中的适用安全控制一起呈现。每一项都应根据排外安全的概念进行评估。

  1. 检查系统以确定其规格或要求是否偏离先前达成的基准配置。[CM-2: 基准配置]

  2. 保持贵组织所有信息系统的文档,以便更容易识别环境中的外部系统。[CM-8: 信息系统清单]

  3. 在通信中使用加密信息、嵌入数据、特殊数据类型或元数据(例如,将所有数据包填充到特定大小)作为特殊标识符,以便过滤器能够识别并限制不熟悉的流量。[AC-4: 信息流控制;SA-4: 获取过程]

  4. 限制将排外标识符应用于新获得的系统和设备的实施和知识。[SA-4: 获取过程]

  5. 将排外检查嵌入为安全控制,用于识别和验证贵组织中的系统和设备。[IA-3: 设备识别与验证]

汇报

本章描述了历史上忍者所处的排外环境,需要投入时间和精力,以及先进的技术,才能使用公开伪装战术进行预备侦察,然后才能开始实际目标侦察。你学习了反特权的概念,以及如何创建独特的内部特征来识别环境中的流氓资产或用户。现在,你可能已经能够识别出环境中可能成为目标的关键资源或人物,这些是你可能未曾考虑过的攻击面,你可以进一步考虑与这些潜在目标紧密合作的系统或账户。

然而,通过使用正确的徽章、服装、发型、口音和其他特征,忍者可以避开本章详细描述的排外检查。因此,在下一章中,我们将探讨日本领主历史上用于检测忍者的匹配对安全技术,以防忍者通过伪装渗透其防御工事。

第四章:识别挑战

尽管有一些古老的识别标记、密码和证明方法,除非你发明新的并且定期更换,否则敌人最终会通过类似的假冒方式渗透进来。

在夜间进攻时,敌人可能会跟随你并进入你盟友的阵营。为了防止这种情况,必须有一个预定的政策——一种辨别盟友的方法。

—吉守百首 #27

想象以下历史场景:在执行夜间突袭后,一位军事指挥官必须打开城门让部队重新进入防御工事。夜间突袭有助于赢得战斗,但也为反击提供了机会。敌方的忍者可以伪造或偷取袭击部队的制服,并在他们返回基地时混入队伍。

为了应对这一威胁,指挥官实施了一个一次性密码,袭击者必须在通过城门之前使用该密码——但这个密码很容易被破解:伪装成士兵的忍者会在排队时听到前方士兵说出的密码。因此,指挥官尝试了其他识别方法。有些要求袭击者穿戴某种特定颜色的内衣,以便在他们返回时进行检查,但聪明的忍者会携带或穿上多种颜色的内衣,然后有选择性地拉开内衣的层次,只露出正确颜色的部分以便检查。其他的对策包括一天多次更换密码(但这依然无法阻止忍者偷听到当前的密码)以及独特的制服标志或徽章(忍者可以在突袭后从死去士兵的尸体上偷走这些标志)。

忍者将这些技巧分为两类,分别是明装忍术(yo-nin,字面意思是“光明忍者”)和暗藏忍术(in-nin,字面意思是“黑暗忍者”)。在这种情况下,明装指的是显而易见的,比如攻击者可以穿上防守士兵的制服,完全预计到自己会被看到。而暗藏则指的是尽量不被看到,比如使用伪装或融入阴影中。许多《万川集海》中描述的明装忍术技巧都可以在进攻和防守中同时使用。忍者不仅知道如何利用这些技巧进行攻击,还知道如何识别敌方的渗透者。间谍常常复制制服和纹章,或偷听密码,因此忍者发展出了识别对策,以区分盟友和敌人。

其中一种身份识别技术是配对词组,一种用于验证盟友的词语组合挑战。^(1) 这种技术也被称为口令挑战-响应认证。配对词组技术的运作方式如下:一个身份不明的人走近城堡门口的守卫并要求进入。守卫首先检查陌生人是否穿着正确的制服并佩戴合适的徽章。如果是,守卫就说出一个词——例如“树”。如果陌生人没有用正确的预设配对词作答——比如“森林”——守卫就知道他们面对的是敌人。虽然《万川集海》指出配对词组应该简单到“低级”人员也能记住,但它建议避免使用对手可能猜到的常见联想。因此,与其使用“雪”和“山”,不如使用“雪”和“富士山”这一对。卷轴建议忍者与指挥官合作,每 100 天生成 100 对不同的匹配词,并每天使用一对新的配对。^(2) 这个大量的配对词组可以让哨兵在每支部队接近时随机轮换配对(如果需要),这样伪装的敌人就不太可能偷听到他们将收到的挑战词的答案。

配对词组被用来揭示可能的渗透者。如果陌生人回答挑战问题错误,他们会被迅速拘留、审问,甚至可能被杀害。了解这些后果,《万川集海》建议试图潜入敌营的忍者将自己的外貌、行为和语言打扮成一个邋遢或低级士兵的样子。这样,如果他们被要求回答一个自己不知道的配对挑战,他们可以可信地声称自己不知道答案。^(3) 一些读者可能注意到,他们的金融机构已经开始使用配对单词或图片来进行在线身份验证,但需要注意的是,这些网站并不要求使用 100 对不同的配对,也不会频繁更新它们,甚至可能根本不会更新。一个小范围的静态配对池使得对手能够观察所有配对,然后利用窃取的认证回应执行未授权的操作。

这些历史示例强调了在面对先进且动态的对手时,保护身份验证的挑战。在本章中,我们将讨论证明身份的困难,并介绍信息保障(IA)中用于身份验证的各种因素。我将提到一些现代网络威胁行为者用来阻挠身份验证的技术,强调类似忍者战术的策略,说明为什么身份验证在可预见的未来将是一项挑战。我还将为读者提供如何将忍者身份验证技术应用于现代应用程序的指导。本章的总体目标是帮助读者理解这一身份识别问题的关键问题,而不是迷失在身份验证和密码学这一广阔的知识领域中。

理解身份验证

身份验证是确认用户身份的过程,在授予访问信息系统、数据、网络、物理场所和其他资源之前。身份验证过程通过询问用户所知道的内容、用户拥有的东西或用户本身的特征来确认用户身份。例如,身份验证器可能会要求输入密码(用户知道的东西)、令牌(用户拥有的东西)或生物特征(用户本身的特征)。根据所需的安全级别,组织可能需要单因素双因素多因素身份验证。

成熟的组织可能还会使用强身份验证,该方法使用多层次的多因素凭证。例如,强身份验证的第一步可能需要用户名、密码和指纹,而第二步则通过令牌和通过短信发送的一次性验证码进行验证。越来越多的行业专业人士正在考虑第四个因素的可行性,比如组织中的可信人员来确认用户的身份。有趣的是,匹配对忍者场景从这个测试开始;只有当周围没有人能够验证陌生人的身份时,才会使用这一挑战。

身份验证失败是一个关键的安全漏洞。用户的已验证身份与允许他们执行特定、通常是特权的操作的权限相关联。成功搭载在有效用户的身份验证连接上的对手,能够自由访问用户的资源,并可以在信息系统、数据和网络上进行恶意活动。

不幸的是,认证过程并不完美。尽管有大量的网络认证措施,目前仍然无法完全确定地验证用户或进程的身份,因为几乎每个现有的验证测试都可能被伪造(伪造是使用虚假数据冒充其他实体)或被攻破。攻击者使用多种技术盗取密码、拦截令牌、复制认证哈希或票证,以及伪造生物识别数据。如果攻击者获得了身份管理系统的未经授权访问权限,如域控制器,他们可以创建和认证伪造的账户。用户认证后,他们的身份在会话期间很少受到挑战,除非需要重新输入密码以进行特权任务。同样,伪装成忍者的人也能在城堡内部自由行动而不被质疑——在这两种情况下,都假设内部人员已通过认证。

安全技术正在不断发展,以应对认证威胁。一种新兴的解决方案,称为持续 认证主动认证,在初次登录后持续验证用户身份。然而,由于持续认证对话框可能会妨碍用户体验,因此也在开发一些技术,通过输入风格、鼠标移动或与用户身份相关的其他行为特征来监控认证。这些技术能够识别物理访问了无人看管的已登录系统的攻击者,将其锁定。这些技术同样适用于未经授权的远程访问方式,例如远程桌面协议(RDP)会话。即使攻击者使用有效的凭据和认证器登录,这些技术也能识别攻击者。当然,人的行为可能会发生变化。此外,即使是特定的行为,也可能被熟练的对手模仿或模拟,他们通过将用户行为侦察融入攻击中来实现。

匹配对模型的一种可能实现方式涉及使用被动脑波传感器的人工智能界面,这些传感器连接到一个基于用户思维模式来验证身份的系统。研究表明,当人类看到与自己有过互动的物体或有特定思维关联的物体时,会产生独特的脑波模式。因此,展示用户控制的刺激(如匹配对的词语或图像组合),监测大脑的电响应,并将其与用户档案匹配,可以准确地验证用户身份。通过动态生成足够多的独特挑战对,并使用风格化的排列组合,攻击者几乎不可能在提示下重放或模拟用户的脑波活动。

在下一节中,我们将讨论一些可用于匹配对认证的技术。

开发匹配对认证器

以下是开发匹配对认证器的几个建议和应用思路。

  1. 与合适的商业身份验证供应商合作。 寻找使用与用户密码、账户名或其他可能被攻击者窃取的身份信息不同的挑战短语身份验证的供应商。尽管一些金融机构在授权账户更改之前使用匹配对挑战短语,但不幸的是,这种方法通常只在用户报告丢失或忘记密码时才会使用,而且挑战短语是静态的,不会发生变化。

  2. 开发新的身份验证系统。 一款身份验证产品可以与身份控制系统集成,在经过身份验证的用户尝试执行特权操作(例如管理员/root/system 命令)时,向其展示一个匹配对挑战。在此协议下,即使攻击者观察到一个或多个挑战对,用户请求执行特权操作时也会被拒绝。

    理想的产品使用两种形式的匹配对挑战:每日挑战和用户预设挑战。每日挑战以非数字方式分发,只在授权人员可见的区域中展示,使用一个单词或图像挑战本地身份验证请求,并要求用户用匹配项作出回应。所有其他员工,包括远程/VPN 员工,都会建立一组不容易忘记或误解的大量匹配单词对。组织可以随机选择这些对,或定期轮换它们,以便快速识别在网络上已通过身份验证的未经授权用户。(请注意,为防止攻击者插入他们自己的匹配对来伪造或篡改凭证,必须对新的匹配对进行安全传输、存储和审计。)考虑在需要手动身份验证和授权进入的安全受控信息设施(SCIF)或隔离房间中,使用单向接口插入匹配对。其他机制还可以让组织通过要求访问用户的麦克风、摄像头、位置、正在运行的进程、内存或缓存、桌面截图等信息,来更好地识别威胁的来源和身份。

推荐的安全控制和缓解措施

在相关情况下,推荐的方案会与 NIST 800-53 标准中的适用安全控制一起呈现。每个方案都应在匹配对标识和身份验证挑战响应的背景下进行评估。

  1. 对特权账户在设定的时间后、特权用户请求时,或在发现可疑行为时实施会话锁。只有在用户提供匹配对挑战响应后,才能重新建立访问权限。(会话锁可能比普通密码锁更优,因为匹配对验证只需一次点击或一个比用户账户密码更简单的词语。)[AC-11: 会话锁;IA-2: 身份验证与认证(组织用户)| (1) 网络访问特权账户 | (3) 本地访问特权账户;IA-10: 自适应身份验证与认证;IA-11: 重新认证]

  2. 识别、记录并执行安全控制,明确哪些用户操作可以在不通过匹配对挑战响应的情况下执行——例如,联系技术支持或拨打紧急电话。[AC-14: 无需身份验证或认证的许可操作]

  3. 开发抗重放攻击的匹配对认证过程,通过建立大量一次性挑战响应认证器。[IA-2: 身份验证与认证(组织用户)| (8) 网络访问特权账户—抗重放]

  4. 捕获能够唯一标识请求认证的用户设备的信息,以便收集未通过匹配对挑战响应的身份不明敌人的情报。[IA-3: 设备识别与认证 | (4) 设备证明]

  5. 需要面对面输入匹配对以减轻挑战响应身份验证系统被攻破的风险。[IA-4: 标识符管理 | (7) 现场注册]

  6. 物理和逻辑上隔离匹配对挑战响应系统,并实施严格的访问控制,防止其遭到破坏。[IA-5: 验证器管理 | (6) 验证器保护]

课后总结

本章强调了指挥官面临的挑战,他们需要验证部队成员的身份,以防止伪装的忍者渗透到他们的防御工事中。你学习了匹配对识别技术,既了解了忍者如何用它来检测敌人,又了解了忍者在进攻时如何防范这一技术。你还看到了这种技术在计算机安全认证和识别中的现代对应物。

在下一章中,你将通过理解认证因素和历史挑战响应,学习两步认证与匹配对之间的区别及其互补性。我将讨论一种隐藏的忍者认证技术——双重封印密码,它可以用来检测复杂的渗透者。

第五章:双重密语

有时,应当配合捏鼻子或捏耳朵等动作来使用这些密码。

Aikei 识别标志包括tachisuguri isuguri技术——即站立和坐下时给出密码。

Bansenshūkai, Yo-Nin II

BansenshūkaiGunpo Jiyoshu卷轴描述了一种由 14 世纪的武士楠木正成所发明的公开伪装检测协议。(^(1)) Tachisuguri isuguri信号技术使用手势、姿势或身体定位作为一个秘密身份认证因素,从而为密码验证过程增加了一层安全性。这些技术形成了所谓的双重密封^(2)密码系统,旨在捕捉伪装的敌方忍者,即使他们通过窃取的密码、身份标记和正确的挑战回答词也能通过其他认证挑战。

在最常见的tachisuguri isuguri例子中,一个穿着正确制服并带有家徽的人接近一扇门准备进入。守卫因为不认识陌生人,选择坐下或站立,然后低声说出挑战词。如果来访者是已经了解tachisuguri isuguri识别协议的盟友,他们会根据预先安排的对应动作做出反应——一个不显眼的信号,如触摸自己的鼻子或耳朵——并低声说出匹配的密码词。只有当陌生人同时回答正确的密码词和正确的身体动作时,守卫才允许其进入。(可能有多种方式来实现tachisuguri isuguri,而不仅仅是让守卫站立或坐下,但不幸的是,这些方法被认为记载在Teikairon卷轴中,Bansenshūkai的一个失落的补充部分。)^(3)

这种技术的简单妙处在于,站立或坐下的动作通常不会被人注意到。即使是一个恶意的观察者试图冒充授权人员,也很可能没能注意到这个第二个、无声的挑战响应。他们可能会看到 100 人用相同的口令通过一个门,而守卫坐着(因为他认得他们所有人),因此他们也不会看到守卫站起来时的互动差异。Tachisuguri isuguri足够成功,甚至其他忍者也没有足够的对策来阻止它,尽管Bansenshūkai指示忍者在所有检查点模仿守卫的行为和言辞,即使守卫看起来似乎是无意识地行动;(^(4))如果没有其他作用,至少可以让守卫混淆,认为忍者是无序的或仅仅是愚蠢的。卷轴还向任何未能通过未知的tachisuguri isuguri挑战的忍者提供了有用的建议:要么迅速思考并快速说话——要么拼命逃跑。(^(5))

虽然忍者卷轴并未明确说明双重封印的定义,且我没有证据表明下面的假设性例子真的发生过,但我仍然认为它是一个合理的概念示例。印章,通常刻印在蜡上,自古以来就被用来确保信件或卷轴内容的安全。理想情况下,每个通信的发送者都有一个独特的金属印章,因此只有他本人能够做出特定的印记,从而验证文档的真实性。此外,如果除预定收件人之外的任何人打开了信件或卷轴,印章就会破裂,表明内容已被篡改。

然而,间谍们发现,通过特殊的加热技术,他们可以松开蜡,完好地取下印章而不伤害纸张,读取信件的内容,然后重新封印原始文件或将印章附加到新伪造的包含虚假信息的文件上。对抗这种融化蜡封纸面技巧的方法可能就是“双重封印”蜡。想象一下,作者不是使用单一的金属印章,而是用了一个夹具或类似于台钳的设备,它两面都有印章。蜡片的下侧会在纸的下方留下一个隐藏的印章,这个印章只有在撕开文档时才能看到。尝试融化封蜡纸面可能会保留顶部的印章,但会破坏第二个隐藏印章,从而使通信变成双重封印。

你可以理解为什么双重封印被采纳作为有效的对抗手段,防止单一封印被突破,并且它如何帮助发现敌方忍者的活动。在本章中,我将指出两因素认证和第二步认证之间的区别。我还将讨论如何通过双重封印来增强现代第二步认证器的有效性。接着,我将描述我认为实施双重封印密码的要求和标准,以及如何利用现有的认证器和技术来实现它们。我的希望是,通过进行思维训练,并参考我提供的双重封印密码实现示例,你能理解楠木正成的智慧,并尝试亲自实践这一极具直觉性的想法。

隐藏的 2 步认证

越来越多的网络认证和身份验证协议要求在密码上增加一层安全保护。这就是所谓的2 步认证:第二步要求用户执行额外的认证操作,比如提供一个密钥或点击一个外部设备上的按钮(即与其余认证过程无关的设备)。注意,它与上一章提到的两因素认证有些微区别,后者用于防止攻击者利用被窃取的登录凭据访问账户。

尽管通过软件应用可以随机化秘密代码(第二步),但通常每次生成时都使用相同的程序。不幸的是,这种程序的僵化性给对手提供了多个机会来破坏 2 步身份验证方法。例如,2 步身份验证代码通常通过明文的、未加密的消息发送,可以通过电话克隆被拦截。在这种情况下,用户收到验证码 12345 并在密码提示框中输入该序列时,也无意中将代码提供给了对手。用于身份验证的设备——通常是手机——可能会被盗,或者通过呼叫转接被劫持,甚至被克隆并被对手用来完成身份验证。同样,用于发送 2 步验证码的带外设备也可能丢失或被盗,并被用来绕过身份验证过程,从而使对手窃取用户提供的备份代码。

使用 tachisuguri isuguri 技术加密的双重密钥 2 步验证码可以缓解某些身份验证过程中的固有弱点。每个用户应能够建立一个事先安排好的、对他们来说既独特又有意义的 tachisuguri isuguri 标识符。例如,假设一个用户已经通过口头或其他安全方法被指示,在他们的 2 步验证码中,将数字按键盘上的数字 5 进行交换——1 变为 9,2 变为 8,以此类推^(6)——但是仅当验证码显示为红色字体时才会生效,而不是正常的绿色。这种颜色变化是隐性的 tachisuguri isuguri 因素,在系统由于时间异常、未识别设备或不同 IP 地址的请求等原因发现身份验证请求可疑时触发。(为了避免让可能监视登录的对手知晓,此协议不应过于频繁地使用。)现在,当合法用户收到红色验证码 12345 时,他们知道应该输入 98765,而窃取了用户凭证但不知道隐藏规则的对手如果输入 12345,身份验证过程将被中止,账户会被标记进行调查,并将该会话添加一个 2 步身份验证失败。随后,2 步身份验证器会发送一个提示——“使用身份验证协议#5”,可能还会附带另一个红色验证码,例如 64831(用户应回答 46279)。另一个错误响应将触发进一步的警报或账户锁定。

开发双重密封密码

集成了行业标准授权控制的双重密封安全解决方案将执行以下操作:

  1. 仅在怀疑用户身份时使用,例如当用户:

    • 从新设备、位置、IP 地址或时间窗口登录

    • 报告他们的移动设备被盗或遭到入侵

    • 丢失备份令牌、代码或密码,需要重置密码

  2. 使用带外或侧信道通信方法。

  3. 使用基于规则的秘密知识因子。每个用户应能够自定义协议,创建一套独特的隐秘规则。

  4. 利用易于理解和记住的认证因子,但不明显。

  5. 允许在连续错误猜测或认证尝试之间经过足够时间后,将规则叠加使用。

  6. 启用限制、冻结或锁定因认证失败次数过多的账户。大多数应用程序在连续错误密码后会锁定账户,但不会对连续错误的 2 步认证尝试进行锁定。

  7. 不应在任何帮助台 SOP 或其他文档中描述。员工也应避免公开讨论双重密封安全层。

普及双重密封安全性需要设计师、工程师和用户共同探索技术可行性并应用创造性思维。例如,考虑现有手机设备上的各种输入变化,这些设备可以与 2 步认证应用一起使用,并仅要求用户按“是”或“否”按钮来验证身份。以下是一些示例,展示当用户在 2 步认证应用中收到 tachisuguri isuguri 信号时可能的响应范围:

  1. 用户在选择“是”之前将屏幕旋转到倒置状态,应用程序会静默检查DeviceOrientation状态,以测试其是否等于portraitUpsideDown

  2. 用户操作手机设备上的物理音量按钮,将OutputVolume设置为 0.0(静音)或 1.0(最大音量)后选择“是”,应用程序会静默获取音量浮动值,测试其是否与预定值匹配。

  3. 用户等待直到他们观察到手机设备时钟滚动到下一分钟,然后立即选择“是”。应用程序会静默请求时间戳,并将选择时间与 HH:MM:0X进行比较,其中X小于 3 秒。

  4. 用户在手机设备上选择“是”时施加过多压力,应用程序会静默获取事件的UITouch.force,以判断其是否超过预设阈值。

  5. 用户在手机设备上快速多次点击“是”按钮,应用程序会静默获取UIEventtapCount,判断其是否少于 2 次。

  6. 用户在选择手机设备上的“是”按钮时执行手势,应用程序会静默获取UIGestureRecognizer,判断其是否为PinchLongPressSwipe(上、下、左、右)或Rotation

推荐的安全控制和缓解措施

在相关情况下,会根据 NIST 800-53 标准提出的适用安全控制来提供建议。每个建议都应从 2 步(双重密封)认证的角度进行评估。

  1. 通过独立的通信路径利用带外认证(OOBA)验证认证请求是否来源于已验证的用户。[IA-2: 身份识别与认证 | (13) 带外认证]

  2. 确保工作人员不会透露 2 步认证隐藏规则的存在。[IA-5: 认证器管理 | (6) 认证器保护]

  3. 建立多个双重密封规则,以确保 tachisuguri isuguri 不是静态的。[IA-5: 认证器管理 | (7) 无嵌入式未加密静态认证器]

  4. 实施带外通信并建立双重密封规则以保持机密性。[SC-37: 带外通道]

  5. 仔细设计失败认证尝试的错误消息,以免泄露对手可能利用的双重密封密码信息。[SI-11: 错误处理]

复盘

在本章中,你了解了一种反忍者认证技术,叫做双重密封密码或 tachisuguri isuguri。我们讨论了身份验证过程中因素和步骤的区别。然后,我们简要分析了良好的 tachisuguri isuguri 认证器的标准,并列举了几个示例。

在下一章中,我们将讨论一个叫做“潜入时机”的忍者概念。你将了解一天中的特定时段如何提供有利的潜入机会。理解这些基于时间的机会,可能有助于你选择何时在组织中实施或触发 tachisuguri isuguri 认证器,比如仅在特定时段或日期,减少 tachisuguri isuguri 的使用并保持其机密性。

第六章:渗透时段

在等待到牛时,忍者意识到守卫已经睡着了;一切都死一般的寂静,火也熄灭了,四周一片黑暗。

对于忍者来说,了解正确的时机至关重要。理想的时机总是敌人疲惫或放松警惕的时候。

—吉盛百首 #5

在策划盗窃、间谍活动、破坏、暗杀或其他攻击时,忍者并不受到体育精神或公平竞赛的束缚。相反,他们会仔细考虑“最合适的时机和有利的位置”^(1) 来发动攻击。书忍记强调了在目标分心、疲惫、容易仓促判断、饮酒狂欢或疲劳时等待渗透的重要性;吉盛百首诗歌 63 指出,人的疲劳“可能是严重失误的原因。”^(2) 忍者是善于观察这些行为的,他们往往会在敌人砍伐树木、专注于布置阵地、在战斗后感到疲惫或换岗时进行渗透。^(3)

在研究敌人的行为时,忍者发现可预测的人类日常习惯为攻击提供了机会窗口。卷轴将一天分为两个小时一段,建议在那些与醒来、吃饭和睡觉时间相一致的时段进行渗透。具体的时段取决于攻击的类型。例如,夜间攻击最好选择在猪时(9:00 pm–11:00 pm)、鼠时(11:00 pm–1:00 am)和兔时(5:00 am–7:00 am),这些都是中国生肖中的动物时段。^(4)

此外,万川集海指出,一些将军相信通过中国占星学预测的“吉日”。在这些日期,攻击被认为是注定会成功的。如果忍者能识别出相信这些迷信的敌方指挥官,他们可以利用这些信息——例如,根据指挥官认为是吉日或不吉日的日期来预测敌军的行动。说到可预测的行为模式,很多事情并没有改变。在这一章中,我们将讨论如何将网络攻击者针对时间安排事件的行为模式作为目标。

理解时间与机会

因为人们仍然按照类似封建时代日本的日程作息:起床、工作、吃饭、放松和睡觉,所以卷轴中提到的渗透时段与现代工作日的员工分心、疲惫或因工作压力而疏忽的时段紧密相连——换句话说,就是他们最容易受到攻击的时刻。考虑一下卷轴中提到的时间段,结合网络和信息系统的活动及使用模式:

  1. 兔时(5:00 am–7:00 am)用户起床并首次登录。自动和手动系统启动,导致事件日志和系统日志激增。

  2. 马时段(中午 11:00–下午 1:00)许多用户会休息吃午餐,这意味着他们会登出系统或因闲置超时而自动退出。他们也可能出于个人原因上网浏览—查看新闻、购物、查看个人邮件、发布社交媒体动态,或执行其他可能触发异常检测系统的活动。

  3. 鸡时段(下午 5:00–7:00)用户找到工作中的停顿点。他们保存文件,可能匆忙完成任务,从而大大增加了工作和网络安全警觉性失误的风险。例如,一个工作人员可能会不假思索地打开一封看似紧急的邮件附件。用户集体登出账户和系统,但有些账户则被遗弃,直到超时断开连接。

  4. 野猪时段(晚上 9:00–11:00)大多数用户已经下班。无论他们是在家、外出社交,还是准备上床睡觉,他们可能不会把工作账户和系统的安全放在心上。拥有夜间 SOC(安全运营中心)人员的组织通常会在此时交接班,这为攻击者提供了一个在用户登录间隙或 SOC 人员准备开始工作时发起攻击的窗口。时间越晚,用户—即便是习惯熬夜的人—也可能变得困倦或放松警惕,因为一切看似安静。

  5. 老鼠时段(晚上 11:00–凌晨 1:00)网络和系统进行备份或其他定期维护,产生了网络传感器和 SIEM 的噪音。SOC 人员可能已经完成了每日的安全和维护任务,正沉浸在项目工作中。

  6. 虎时段(凌晨 3:00–5:00)批处理任务,包括处理日志文件、运行诊断和启动软件构建,通常会在此时执行。除了 SOC 人员外,大多数用户正处于睡眠周期的深度阶段,账户也没有活动。

  7. 幸运日 也有一些特定的日子、星期或月份,敌人更可能瞄准系统和用户。虽然大多数组织领导者不会基于“幸运日”来安排活动,但威胁行为者肯定会注意到定期安排的升级或维护,此时组织会将防御措施下线,三天假期和公司假期也常常是系统和账户疏于检查的时候。如果没有考虑到潜在的威胁,这些时段的网络流量和系统日志中的异常可能会被忽视,导致攻击者得以进行攻击、侦察或指挥与控制(C2)通信、传播恶意软件或执行数据外泄。

开发基于时间的安全控制和异常检测器

你可以借助忍者的渗透时间框架,开发考虑网络在不同时间的基线状态、偏离基线的情况和业务需求的基于时间的安全控制。实施基于时间的安全通常通过三个步骤实现:

  1. 确定每小时的活动基线。

  2. 培训人员监控活动,并在他们的值班时间内非常熟悉典型的活动模式。

  3. 评估每小时的业务需求。基于这一评估,创建业务逻辑和安全公理,以进一步减轻威胁并检测异常。

首先,考虑将网络和系统日志分为一小时或两小时的时间段。回顾网络和系统的历史趋势和活动水平,建立基准,这是进行威胁狩猎和识别网络卫生问题的关键指标。特别注意发生过攻击的时间段,以及那些根据组织的情况、威胁建模和经验可能定期容易受到攻击的时段。

一旦所有数据被划分并建立了基线,培训分析员、系统管理员和安全专业人员,使他们非常熟悉你网络的活动模式。他们还应了解组织日常工作流程所带来的安全漏洞。忍者的卷轴指示守卫要仔细检查每一个不规则和不协调的情况。例如,他们应注意到渔夫比平时晚到,或者在奇怪的时间听到不熟悉的鸟鸣。让安全人员同样关注不协调的情况,可能促使他们对异常事件进行二次检查,这可能揭示出安全事件。培养这种深度专业知识可能需要安排安全人员监控一个部门——例如一个被认为是可能攻击目标的单一系统——并与之变得非常熟悉,然后在他们的八小时值班期间,查看该系统的所有日志和事件,时间框架为两小时。这一策略与大多数 SOC(安全运营中心)“随时监控一切”的心态截然不同——这种心态会导致警报疲劳、过载和职业倦怠。它还应能缓解许多自动化异常检测系统的问题,这些系统需要人工对每个异常进行跟踪,并提供反馈和调查。这些系统很快就会让每天或每周检查异常的安全人员感到不堪重负,数据也变得难以理解。

请注意,安全日志并非短暂如夜晚的声音,而是可以供未来分析使用。一个高明的对手可能会篡改或删除安全日志,过滤网络探针和传感器的流量,或者以其他方式破坏用于记录其入侵和警报安全的系统。然而,这些行为应该足以扰乱系统的正常行为,使得一位敏锐的安全分析员能够察觉。

接下来,你需要问自己两个问题:

  • 你的用户和系统在什么时间活跃?

  • 对手可能在什么时间活跃?

了解用户何时登录和操作你的系统,可以帮助你战略性地限制访问,使外部或内部威胁更难在你最脆弱的时段渗透。例如,如果一个系统在晚上 8:00 到早上 8:00 之间没有使用,就在这些时间关闭该系统。如果用户在周六没有业务需要访问他们的系统,那么禁用周六所有用户对这些系统的访问。定期在特定时间禁用系统还有助于训练 SOC 工作人员在特定时段检测异常,因为届时会有更少的警报和系统需要检查。NIST 标准建议实施这样的访问控制,但许多组织更倾向于在紧急情况下优先考虑某些场景,以提高操作的便利性,尽管这些情况发生的可能性非常低。

推荐的安全控制和缓解措施

在相关情况下,建议提供适用的 NIST 800-53 标准中的安全控制。每项建议都应考虑渗透的时间因素进行评估。(请注意,应用这些技术时要求日志和警报具有时间戳,并且所有系统的时间保持同步。参见 AU-8: 时间戳。)

  1. 评估你的运营时间并进行威胁建模。你在什么时间最容易受到攻击?你可以做些什么来训练员工做好准备?[NIST SP 800-154: 数据中心系统威胁建模指南]^(6)

  2. 根据用户的业务和操作需求,在账户上实施基于时间的权限控制。例如,限制某些用户在晚上 7:00 后发送或接收工作电子邮件的能力。[AC-2: 账户管理 | (6) 动态权限管理]

  3. 限制在特定时间内登录或使用特定账户的能力。例如,当有人尝试在晚上 9:00 至 11:00 之间对一个非活动账户进行未授权操作时,立即提醒用户验证其身份。如果用户未响应或身份验证失败,通知 SOC。[AC-2: 账户管理 | (11) 使用条件]

  4. 利用启发式分析系统,在设定的时间内检测异常的系统访问或使用模式。用户应自愿记录并提供他们“典型使用”模式的见解,以帮助建模他们在工作日中的预期行为。[AC-2: 账户管理 | (12) 账户监控非典型使用]

  5. 要求系统所有者和用户记录系统预期使用的时间以及何时可以关闭系统。[AC-3: 访问执行 | (5) 安全相关信息]

  6. 缩短对手可以操作的时间框架。定义一个战略性企业政策,规定敏感或专有信息仅在特定时间内访问——例如,工作日的上午 11:00 至下午 3:00 之间。[AC-17: 远程访问 | (9) 断开/禁用访问]

  7. 在账户持有人成功或未能登录时通知他们,包括上次登录的时间和日期。跟踪这些信息有助于用户在账户被入侵时提醒安全运营中心(SOC),并告知 SOC 未授权访问发生的时间。[AC-9:上次登录(访问)通知 | (4)附加登录信息]

  8. 在确定了操作时间后,配置用户设备和系统,在指定时间自动锁定,终止所有会话。[AC-11:会话锁定]

  9. 制定一项政策,传达允许对基础设施和系统进行更改的时间和日期。这有助于 SOC 在逐小时评估网络和配置更改时。[AU-12:审计生成 | (1)系统范围和时间审计相关性轨迹;CM-5:变更访问限制]

事后报告

在本章中,你了解了基于中国生肖的传统日本时间、中国占星术对占卜的影响,以及忍者如何利用这些知识抓住机会渗透或超越目标。你还考虑了网络活动如何随着一天中的时间变化而变化,以及如何通过基于时间的控制来减少攻击机会。你熟悉了忍者的安全标准。具体来说,你学到了安保人员需要注意到扫描区域中最小的不一致之处——任何可能表明敌人存在的迹象。此外,你还回顾了如何将这些概念应用到你的威胁狩猎、安全操作流程和异常检测系统中的指导。

在下一章中,我们将回顾时间机密性的应用,保持时间对恶意软件的保密,这可能使防御者能够采取特定的检测和防御措施。

第七章:时间的掌控

你应该毫不拖延地开始行动,而不是过早开始,而是恰到好处的时机。

如果你打算攻打敌人的城堡或营地,你需要与盟友事先安排好点火的时间。

—百首义盛 #83

当忍者执行任务时,特别是在夜间,其中一个最关键且复杂的任务就是掌握时间。如果这个任务看起来很简单,请记住,忍者当时没有手表或钟表。直到 17 世纪初,他们甚至没有沙漏。^(1)为了在适当的时间发送和接收信号、协调攻击、了解敌人何时最脆弱等等,忍者们必须发展出可靠的时间感知方法。

历史上,一种标记时间的方法是点燃已知以恒定速度燃烧的香或蜡烛,然后在特定时间间隔敲响钟声以报时。万川集海建议使用环境线索,如星星的运动,或基于重量的仪器来标记时间。(2)这些基于重量的仪器很可能是水钟,有时被称为*水漏*,利用平衡和水流/重量机制准确地标记时间间隔。其他卷轴中还包括一些更为复杂的选项,比如追踪猫眼睛虹膜的膨胀变化,或观察夜间房屋的微妙热胀冷缩,因为这些变化与特定的时间点相符合。(3) 忍者们甚至被教导通过观察哪只鼻孔更活跃来推算时间。这些卷轴解释了呼吸是如何先从一个鼻孔明显进出,然后在规则的时间间隔后转到另一个鼻孔的。虽然这个想法可能看起来像伪科学,但在 1895 年,德国科学家理查德·凯瑟观察并记录到,在白天,血液会在人的鼻子两侧积聚,导致一个鼻孔的气流显著减少,然后再转到另一个鼻孔。^(4)不仅忍者们敏锐的观察能力在其西方科学出版三百多年之前就发现了这一现象,他们还为这一发现开发了实际应用。例如,他们可能需要躺在目标楼下的狭小空间中,在那里他们无法点燃蜡烛或香,也无法使用仪器来追踪时间,甚至不敢睁开眼睛,免得眼中的光芒通过地板的缝隙引起目标的注意。在这种不舒适的情况下,他们会保持静止,注意自己的鼻息,直到合适的时机到来——这正是忍者纪律、聪明才智和创造力的杰出例证。

忍者卷轴中对时间的众多提及,以及为追踪时间而开发的艰难方法,表明如果追踪时间对威胁行为者的有效运作不至关重要,这些技术就不可能被开发出来。现代社会中普遍存在廉价、简便且可靠的计时方法,这几乎肯定已经使我们习惯性地将时间及其测量视为理所当然。

在本章中,我们将重新审视时间在数字系统中的价值和重要性,同时简要回顾其生成、使用和现有最佳实践的安全措施。然后我们将提出以下问题:如果准确的时间对对手如此重要,那么如果我们能够将时间对他们保密,会发生什么呢?或者拒绝对手访问时间?甚至通过不准确的时间来欺骗他们,会怎样呢?

时间的重要性

时间对于几乎所有现代计算机系统的运行都是必要的。通过同步顺序逻辑并生成控制功能间隔的时钟信号,计算机建立了有限的时间脉冲。这些脉冲就像钟表的滴答声,系统在稳定、可靠的输入/输出环境中对数据进行操作。支撑我们政府、经济、企业和个人生活的庞大而复杂的网络和系统,依靠这些脉冲不断请求时间。如果没有时钟,它们将无法正常工作。

保护时间数据的安全控制措施有很多。网络时间协议(NTP)服务器上的身份验证可以验证攻击者是否伪装成系统的可信时间来源。加密和校验和——加密对通信进行编码,校验和用于检测传输过程中的错误——在 NTP 服务器的时间数据上验证其完整性并防止篡改。Nonce 是添加到时间通信中的一个任意随机数字,用于防止重复传输错误。时间戳和时间同步日志将系统的时间与权威时间源报告的时间进行比较。NTP 通过利用多个时间源和备用传播方法保持可用性和容错性,如果无法访问 NTP 或被拒绝访问,备用方法可以基于最后一次同步准确估算时间。其他安全最佳实践要求对审计记录进行时间戳标记,根据不活动锁定会话,限制基于时间的账户访问,基于时间和日期信息评估安全证书和密钥的有效性,确定何时创建备份,并衡量保留缓存记录的时长。

这些控制措施保护时间数据的完整性和可用性,但往往忽视了对时间数据机密性的保护。几乎任何现代应用都可以随时请求时间,且通常不仅可以访问日期和时间,还可以访问时钟库和相关功能。虽然 NTP 可以加密它传输的时间数据,但在限制对当前系统时间访问的控制措施方面明显存在缺失。识别这一控制空白很重要,因为时间是攻击者用来传播恶意软件的关键信息。例如,破坏性的 Shamoon 恶意软件,^(5) 就是在沙特阿拉伯周末开始时执行的,以造成最大破坏;它被设计成在任何人注意到之前,清除所有受感染的系统。

其他常见攻击包括泄露机密信息、造成竞争条件、强制死锁、操纵信息状态,以及执行计时攻击以发现加密秘密。更复杂的恶意软件可以利用其对时间的访问来:

  • 设定特定的睡眠时间以避免被检测

  • 计算π到 1000 万位,计时计算所需的时间,以确定受感染的系统是否处于沙盒/引爆环境中,旨在捕捉恶意软件

  • 尝试根据特定的时间指令联系其指挥控制(C2)系统

  • 通过计时攻击发现元数据和其他信息,揭示目标系统的状态、位置和能力

如果管理员能够拒绝对时间(本地时间、实际时间和线性时间)的访问,进行目标信息系统的操作将变得更加困难——并且可能对攻击者来说是不可行的。然而,重要的是要注意,随意限制时间查询可能会导致连锁故障和错误。因此,需要一种精确的方法来拒绝对时间的访问。

保持时间机密

记住,由于机密性不像其他形式的时间安全那样根深蒂固,实施这些安全控制将需要组织和更广泛的安全社区的特别努力。

确定基准

确定环境中需要访问时间的软件、应用程序、系统和管理命令。实施功能挂钩(拦截函数调用)和日志记录,以确定谁和什么在请求时间。在建立此基准后,利用它检测异常的时间查询,并开展基于时间的需求评估,以量身定制额外的安全控制(例如,及时[Just in Time] [JIT])。

评估技术能力

联系硬件制造商和软件供应商,以确定可以启用哪些技术控制来限制对时间功能的访问。如果没有这样的控制措施,建议实施新功能,鼓励行业围绕时间机密性开发解决方案。

建立政策

否认对时间的访问是一种非传统的安全控制措施,但与更多常规控制措施一样,执行此措施需要建立战略性政策,详细说明要求——在此情况下,即限制对时间的访问并监控访问时间的尝试。尽可能将时间保密的概念融入所有变更管理决策、新硬件和软件的采购以及 SOC 优先级的安排中。正式记录新政策,并确保您组织的 CISO 批准这些政策。

推荐的安全控制措施和缓解措施

在相关的情况下,提供与 NIST 800-53 标准中适用的安全控制措施相关的建议。每项建议都应以时间保密的概念为依据进行评估。

  1. 实施保护措施,阻止访问时间数据,如时间戳日志或其他信息监控日志。防止时间泄露或时间戳泄漏可能需要物理、环境、媒体和技术控制。[AU-9: 审计信息保护]

  2. 审查您当前的信息架构,重点考虑时间方面的哲学、需求和实施访问及保密控制所需的策略。如果利益相关者同意时间限制,请在安全计划中记录,并确保有批准的预算、资源和实施时间。[PL-8: 信息安全架构]

  3. 执行日志审查和内部排查,发现通过端口 123 与您环境中的任何非官方 NTP 服务器进行的通信。查找与外部 NTP 服务器的 NTP 通信,并考虑阻止对您无法控制的 NTP 服务器的访问。[SC-7: 边界保护]

简报

在本章节中,您了解了一些忍者用来计时的工具,以及他们如何利用对时间的理解来行动。我们讨论了时间对网络操作和安全性的重要性,指出当前的安全实践主要集中在确保系统中的时间可用性和完整性。您还参与了一个思维练习,探讨了如何通过时间操控来减轻忍者攻击。

在接下来的章节中,我们将讨论忍者如何将许多事物转化为工具来完成任务。理解这些工具的数字化“对应物”可能帮助您检测并防范这些工具的新型武器化,或者至少减少它们的使用。

第八章:工具

记住,如果你使用忍者工具,一定要在风声呼啸时使用,以掩盖任何声音,并始终把它取回。

无论你携带多少工具作为忍者,记住,最重要的是,你的食物应该始终挂在腰间

—吉森百首 #21

尽管好莱坞的描绘通常显示忍者挥舞飞镖或武士刀,真实的忍者却开发了种类繁多且极具个性的工具和武器,他们被教导要非常小心地选择合适的工具来完成任务。^(1) 三部忍者卷轴都花了大量篇幅来描述秘密工具,其中许多工具在当时是创新性的技术。《万川集海》中仅包含了五卷关于工具的内容。它指出,最佳的工具不仅可以用于多种用途,而且要安静、不笨重。^(2) 《正忍记》建议忍者们限制携带工具的数量,因为任何一件设备如果显得不合时宜,可能会引起怀疑。^(3) 该卷还建议忍者去寻找并破坏目标的工具和武器;这些工具对忍者的能力至关重要。^(4)

当然,忍者并不是从任何大型忍者用品商店获得他们的工具。相反,根据卷轴的指导,他们从容易购买、找到或制造的物品中制作了有效的工具。这种方法有几个优势。这些日常物品可以在不引起太多怀疑的情况下携带(5),甚至可以作为忍者伪装的辅助道具。例如,包括丰臣秀吉和织田信长在内的几位统治者曾下令进行刀剑搜查——对平民的所有刀剑及其他武器进行大规模没收——以减少反叛者攻击统治军的能力。(6) 在这种情况下,任何穿着剑或其他武器的非武士都会被没收武器。为了绕过这一战术,忍者悄悄地改造了常见的农具作为武器,因为没有法令禁止在公共场合携带锋利的农具。在训练有素的忍者手中,普通的农具变成了致命武器。

尽管这些工具极具实用性,《万川集海》指出,使用工具的核心原则不仅仅是运用它们,更是要对它们的目的有一种开悟般的、禅宗式的理解。^(7) 忍者们深入思考并频繁训练他们的工具,不断重新想象这些工具在实战中的用途。因此,忍者们定期改进现有工具,发明新工具,并将这些知识传授给其他盟友忍者。^(8)

在本章中,我们将探讨工具。我们将讨论工具的双重性质——同一工具根据操作员的不同,可能做出好事或坏事。这种二元in-yo,或称阴阳的概念,是理解黑客如何使用数字工具的有用模型。例如,考虑一个旨在帮助用户的工具,如何可能被用于恶意目的。

除了具有好坏潜力外,每个工具还可以被重新利用或以不同的方式应用。花点时间想一想,用锤子可以做的十几种事情。像这样的简单思维练习可以帮助你更深入地理解锤子到底是什么,锤子如何得到改进,或者如何发明一种全新的锤子来完成一些新颖的任务。这些相同的创造性技能也可以应用于重新编码数字工具和软件工具。在最高水平的掌握中,这种创造性重塑相当于大师级铁匠的工作。铁匠可以锻造新的工具、机器和系统,从而改变他们对自己手艺的思考方式;打开新的建造可能性;并增强他们开发新武器、防御和工具的能力。

为了明确,工具的对抗性使用可能是我们永远无法完全逃避的威胁。话虽如此,在本章中,我将描述有关工具的安全最佳实践,以及一些可能缓解攻击的增强控制措施。

土地生存

在网络安全领域,工具是任何帮助手动或自动执行任务的仪器。如果这听起来像一个涵盖面广泛的定义,那是因为它确实如此。工具可以是物理工具,例如 BadUSB、Wi-Fi 嗅探器和开锁器,也可以是软件工具,如平台、漏洞、代码、脚本和可执行文件。整个计算机系统本身就是一种工具。一个工具可以有合法的用途,但在黑客手中,它可以变成武器。例如,考虑管理员用来执行远程维护的 SSH 客户端,攻击者可以利用它进行反向 SSH 隧道攻击,从而攻击系统并绕过防火墙。

就像忍者一样,网络对手在实现目标时极度依赖工具,他们不断开发、定制、打磨和测试自己的工具,以应对野外现有技术的挑战。高级威胁组织雇佣全职专门的工具和能力开发人员来维护和改进他们的工具集。作为回应,进取的网络防御者致力于逆向工程这些定制工具,以便构建对策、实施有效的安全策略和检测签名、在沙盒环境中测试恶意工具的能力,并创建能够识别和拦截危险工具的应用白名单。在某些情况下,新防御措施应用得如此出色,以至于对手无法下载或安装他们的工具到目标系统,因为基于主机的安全系统会立即将这些工具隔离、阻止访问,并向安全人员发出警报。

由于基于主机的安全系统能够检测和阻止专用工具和恶意软件,现在许多对手都采取了一种名为“借用现有资源”的渗透策略。采用这种方法,攻击者首先收集目标系统上已经在使用的软件和工具的信息。然后,他们仅使用这些应用程序来构建攻击,因为主机系统的防御不会认为这些应用程序是有害的。“借用现有资源”攻击可以使用受害者计算机磁盘上的任何文件,包括任务调度程序、网页浏览器和 Windows 管理工具(WMI)命令行工具,以及脚本引擎如 cmd/bat、JavaScript、Lua、Python 和 VBScript。就像忍者利用目标环境中常见的物品,如农具,他们知道这些物品随手可得且易于融入一样,黑客通过利用目标机器上已有的资源,可以将日常的用户和管理员工具、应用程序以及操作系统文件变成他们的工具。

在 Windows 机器上,一个常见的易受利用的工具是微软强大的 PowerShell 框架。即使是微软也承认,威胁行为者经常将 PowerShell 作为攻击目标,用以渗透系统、执行未经授权的操作,进而危害组织的系统。因此,微软提供了安全和缓解功能,例如特权访问管理(PAM)来实施“刚好足够的管理”(JEA),并结合即时(JIT)管理。不幸的是,JEA/JIT 将 PowerShell 的普及性转变为对人类 IT 管理员来说的一个访问控制噩梦。为什么?我就不细说更技术性的细节了。试想一下,一个技术人员被召来排除故障,但只能带上一把螺丝刀,并且只能在下午 1:00 到 2:00 之间使用这把螺丝刀。

使用访问控制措施来锁定工具,只有当 IT 团队愿意大幅限制其自身效率时才有效。即便如此,当这些日常工具存在于目标系统上时,依然存在固有的危险——网络安全专家已经观察到,威胁行为者能够轻松地将工具从本地锁定中解锁。网络安全的一个事实是:只要这些复杂的工具存在,滥用它们的潜力也就存在。

工具安全

拥有工具的悖论在于,你需要它们来操作,但对手也同样需要。应对这一挑战的一种方法是将工具的数量、功能、访问权限和可用性减少到最低限度。虽然这种策略会使你在自己环境中的操作变得稍微困难,但如果有足够的安全控制,它应该会让潜在的对手更加困难。这种方法的一个缺点是,你削弱了远程管理环境的能力的恢复性和鲁棒性。因此,如果对手通过移除或破坏重要工具来突破防护,你的保护措施可能会破坏你管理和修复系统的能力。为了保障工具的安全,以下步骤是一个很好的起点:

  1. 确定基准。 对员工进行角色基础的调查,并在组织内所有系统上进行软件清单审核。记录每个工具的用户、版本号和系统位置的详细列表,包括所有软件/应用程序、脚本、库、系统和角色。这包括操作系统和系统文件,如下所示:

    sc.exe find.exe sdelete.exe runasuser.exe
    net.exe curl.exe psexec.exe rdpclip.exe
    powershell.exe netstat.exe wce.exe vnc.exe
    ipconfig.exe systeminfo.exe winscanx.exe teamviewer.exe
    netsh.exe wget.exe wscript.exe nc.exe
    tasklist.exe gpresult.exe cscript.exe ammyy.exe
    rar.exe whoami.exe robocopy.exe csvde.exe
    wmic.exe query.exe certutil.exe lazagne.exe
  2. 审查你的发现并评估需求。 评估每个工具,确定哪些用户需要它,以及它如何、在哪里和何时使用。针对每个工具,进行风险评估,确定如果对手获得访问权限,可能带来的影响。记录如何限制工具的功能以增强安全性,同时在业务操作上做出可辩解的妥协——例如,禁用 Microsoft Word 和 Excel 中的宏。

  3. 实施限制。限制不必要的风险工具的可用性、访问权限和授权。记录任何例外情况,并计划每季度重新审视这些例外,要求用户请求续期批准。你甚至可以设置临时访问权限,在一段时间后自动撤销或删除工具。建立已批准工具的白名单,以便任何未识别或未授权的工具会自动被阻止传送到你的系统中。考虑将所有系统上的 USB、媒体、Thunderbolt、FireWire、控制台和外部端口物理锁定,解锁和使用这些端口需要书面批准。

推荐的安全控制和缓解措施

在相关的地方,建议中呈现了适用的 NIST 800-53 标准中的安全控制。每一项都应根据工具的概念进行评估。

  1. 评估你执行“最小功能原则”的技术能力,通过禁用、删除和限制访问环境中不必要的软件和系统功能。[CM-7: 最小功能]

  2. 定期审查每个角色和系统使用的功能、工具和软件,确定它们是否必要,或者是否可以移除或禁用。建立一个系统来注册、跟踪和管理这些工具。[CM-7: 最小功能 | (1) 定期审查 | (3) 注册合规]

  3. 在记录用户或系统可能使用的每个工具后,限制用户将这些工具用于其在组织中角色之外的功能。[CM-7: 最小功能 | (2) 防止程序执行]

  4. 实施软件、应用程序和其他工具的白名单或黑名单(或两者)。[CM-7: 最小功能 | (4) 未授权软件/黑名单 | (5) 授权软件/白名单]

  5. 对硬件和软件工具实施物理和网络边界限制。例如,将敏感工具限制在隔离的管理网络文件服务器中或便携式锁定媒体设备中,只有在需要时并结合 JEA/JIT 访问控制时才能访问。[MA-3: 维护工具 | (1) 检查工具 | (3) 防止未授权移除 | (4) 限制工具使用;SC-7: 边界保护 | (13) 安全工具/机制/支持组件的隔离]

  6. 评估所有已安装的软件,以确定哪些导入、API、功能调用和钩子是由已知安全的应用程序使用的。考虑使用恶意代码保护来阻止任何使用这些实现或其他正常软件不使用的工具。考虑你的选项,以限制、禁用和移除不用于业务操作的操作系统功能、模块、组件和库。[SA-15: 开发过程、标准和工具 | (5) 攻击面;SI-3: 恶意代码保护 | (10) 恶意代码分析]

简报

在本章中,你了解了工具——它们有多强大以及为什么保持工具的安全性如此重要。你学习了“依赖本地资源”的概念,以及如何使系统既具备防御能力又能正常运行的复杂性。你可能还开始思考工具与恶意软件之间的区别,以及如何编写程序来识别这两者之间的差异。毒箭的思维训练挑战了你,要智胜入侵你所控制环境的敌人。

在接下来的章节中,我们将讨论忍者侦察员使用的不同技巧——嗅觉、视觉和听觉——以及我们从中能学到什么,特别是如何将不同类型的数字传感器应用于我们的网络环境中。

第九章:传感器

无论是白天还是黑夜,都应派遣侦察员进行远距离观察。

即使忍者没有出色的体能,记住最重要的是具备敏锐的观察力

—吉守百首 #11

除了在城门和哨位驻守守卫,万川集海还建议通过在道路、路径和其他进攻路线的隐秘位置安置侦察员来防守城堡。防守指挥官应在城堡的外围不等距离地安排侦察员。^(1) 这些侦察员履行了三种角色之一:

  • 嗅觉侦察员(kagi

  • 听觉侦察员(monogiki

  • 外部步兵侦察员(togiki

嗅觉和听觉侦察员,使用训练有素的狗和狗主,隐藏在遮蔽的观察岗位——他们无法看到外面,但敌人也无法看到里面。侦察员集中精力嗅觉或聆听渗透迹象。这些技术在夜间尤为有效,因为嗅觉和听觉侦察员无需光线即可工作。^(2)

外部步兵侦察员通过在敌方领土的边缘进行扫荡,隐藏在敌人的地面上并监视向自己营地的移动,或通过绊线、噪音甚至身体接触来发现入侵者。万川集海外部步兵侦察员togiki)应该是忍者,因为他们必须精通隐匿和观察,具备超凡的直觉,知道敌人会从哪个方向攻击,并能成功发现并对抗敌方忍者。^(3)

除了人类(和动物)侦察员,万川集海建议使用主动和被动侦测技术来识别敌方渗透者。主动方面,忍者可能会将猿火(猴火,或“绳上的火”(4))放入或横越黑暗区域,如护城河、壕沟或城墙底部,迅速且动态地照亮这些地方,这是固定灯笼无法做到的。被动方面,忍者会建立侦测系统,例如,通过将细沙填满一个宽但浅的壕沟,然后将沙子耙成复杂的图案。如果敌人绕过外部防御,他们会留下脚印,警告守卫城堡已经被突破。沙中的脚印还可能告诉敏锐的忍者敌人来自哪个方向,以及他们是否以相同的方式离开——这些都是有价值的情报,有助于消除眼前的威胁并加强未来的防御。(5)

在本章中,我们将探讨网络中常用的不同类型的安全传感器,并比较现代部署与忍者历史上使用传感器的方式。我们将重点讨论传感器的布置以及传感器对策技术,借鉴忍者的经验,提升我们的网络安全防御。我们还将提出基于古代侦察传感器的现代传感器。

使用传感器识别和检测威胁

在网络术语中,传感器一词涵盖了多种检测系统和仪器。最常见的传感器是安装在 tap、T 分裂、span 或镜像端口上的监控设备,它复制活动以供观察、记录和分析。在这种配置下,传感器会嗅探并捕捉原始数据包(PCAPs)在网络上传输,然后处理和分析这些数据包,以提醒安全人员注意可疑事件。传感器还可以“在线”部署,意味着数据包会通过一个可以延迟、阻止或修改数据包信息的设备,实际上是防止攻击,而不仅仅是发出警告。次级传感器,如 Wi-Fi 传感器,检测外部或其他未经授权的信号和连接,而物理安全传感器,如摄像头,监控对敏感数据中心、服务器机架和交换机机房的访问。从更广泛的角度来看,某些软件端点代理也充当传感器,因为它们会收集主机系统上的事件、动作和活动,并将其报告给指挥与控制(C2)系统,进行分析并在必要时发出警报。

组织通常会将传感器专门配置为检测某些类型的流量,例如,通过配置电子邮件网关安全设备来防范钓鱼攻击或垃圾邮件,通过入侵防御/检测系统来检测网络攻击,通过防火墙来防止未经授权的 IP 和端口访问,通过代理来防范可疑网站,以及通过数据丢失防护系统来避免数据泄露。基于传感器的网络安全设备通常安装在网络的主要出口点,通常位于非军事区(DMZ)。因为标准做法是将传感器安装在尽可能靠近网络的地方,以最大化它们所监控的流量,所以如果攻击者躲避网关处的传感器或绕过主要出口进入网络,他们就有可能在没有安全传感器检查的情况下在网络内自由行动。

尽管存在这一安全隐患,但大多数组织不太可能大幅增加其系统中传感器的数量,因为购买大量额外的传感器—以及与此相关的额外工作,如许可、安装、更新、维护和监控—在财务上是不可行的。不幸的是,许多组织仅仅认为如果主要出口传感器未能发现威胁,那么增加更多相同类型的传感器也不会更有效。这种判断错误使他们的系统面临风险。

更好的传感器

传感器的一个主要问题是它们几乎总是需要一个人来监控,并根据它们传递的信息采取行动。这个问题因安全传感器和可用分析平台的局限性而更加复杂。可以这样理解现代安全传感器:一座建筑内散布着许多微型麦克风和摄像头,但这些麦克风和摄像头被困在小小的吸管里——这些吸管使得它们的捕捉范围非常狭窄。现在,想象一下,试图在只能透过一根吸管看时拼凑一个正在发生的入侵事件。不仅如此,每根吸管还在不断积累成千上万小时的数据,需要存储、处理和分析。这种令人沮丧的情况通常通过使用签名、算法或机器学习来缓解——这些工具有助于识别异常和恶意活动。然而,这些自动化系统并不完美。它们经常产生误报,或者产生如此大量的合法警报,以至于感觉与没有传感器没有什么区别。为了解决这些问题,我们可以借鉴忍者的策略:我们可以识别敌人可能采取的路径,并沿这些路径隐藏多种传感器,提前警告攻击的发生。在考虑提升贵公司传感器的性能时,请参考以下建议:

  1. 建模你的网络并识别弱点。创建一个网络图和信息流模型,描述你的环境——包括每个系统及其用途、系统如何连接、信息进入和离开网络的方式、接收到的信息类型、哪些传感器(如果有的话)检查信息,以及出口点。识别缺少传感器的区域和你认为已经得到适当监控的地方。预测威胁行为者将尝试渗透你网络的位置。请记住,创建一份全面的地图可能需要几个月,并且需要全公司各个部门的帮助。即使你的最终地图不完美,但即便是一个不完全的地图也总比没有地图要好。

  2. 进行红队和渗透测试。聘请一个红队来尝试渗透你的网络。考虑采用“紫队”方法进行此项活动,在这种方式下,网络防御者(蓝队)与红队在同一个房间内实时观察,并可以暂停演习以提出问题。在攻击前、攻击中和攻击后查询安全传感器,看看它们是否检测到或报告了任何内容。这些信息应该非常有启发性。允许你的蓝队考虑不同传感器布置如何能更快、更准确地检测到红队的行为。讨论架构防御变化、传感器调优及测试中提出的其他解决方案。

  3. 检测并阻止加密流量。 阻止所有无法被传感器拦截和检查的加密流量。同时,采取适当措施,去除机器使用未经授权加密的能力。让红队测试你检测加密流量攻击的能力。大多数传感器无法检查加密流量;因此,许多组织允许使用无法通过根证书破解的非对称加密,如椭圆曲线 Diffie-Hellman(ECDH)。允许未经破译的加密流量离开组织而不经过 DLP 检查,便像城堡守卫审查每一位素面朝天的人进出城门,却允许任何戴着面具的人毫无阻碍地通过。

  4. 开发“嗅探”和“监听”传感器。 探索创造能够秘密检测某些类型威胁活动的传感器的机会。例如,配置一个外部物理传感器,监测系统的 CPU 活动或电力消耗,并根据性能是否与已知命令或登录用户活动相关联,来检测未经授权的访问或使用——例如被加密货币挖矿者利用。

  5. 实现被动传感器。 在永远不应使用的交换机和服务器上建立被动接口。同时,配置传感器在接口被激活时本地检测并发出警报,表明网络中可能存在对手。就像一个填满沙子的浅沟槽一样,这类系统可以用来检测网络设备间不该发生的横向移动。

  6. 安装 togiki 传感器。 将面向内部的传感器放置在网络外部,以检测渗透。例如,在 ISP 的配合下,将传感器配置在网络边界外,以监控其他传感器可能无法检测到的进出流量。将传感器放置在设备的 T 型分接点上,并与主机传感器配合使用,然后通过差异对比设备,确定两个传感器是否报告相同的活动。这种方法有助于识别受损的终端传感器和网络接口驱动程序。

推荐的安全控制和缓解措施

在相关情况下,推荐措施会结合 NIST 800-53 标准中的适用安全控制进行呈现。每一项建议都应从传感器的角度进行评估。

  1. 实施数据包嗅探器、完整网络 PCAP 和其他自动化传感器,以支持事件处理、维护和信息流控制。[AC-4: 信息流控制 | (14) 安全策略过滤器约束;IR-4: 事件处理;MA-3: 维护工具]

  2. 为了保护物理访问并检测篡改行为,在电缆夹克锁上安装传感器,安装监控数据中心和服务器访问的摄像头,安装水漏传感器以检测可能威胁电气设备的泄漏,以及在通信线路上安装窃听传感器。[PE-4: 传输访问控制;PE-6: 物理访问监控;PE-15: 水灾保护]

  3. 为员工提供意识培训计划——包括非 IT 员工——使他们能够作为人类传感器检测威胁活动。为员工提供一种清晰、简便且易于访问的方式来报告可疑活动。[PM-16: 威胁意识计划]

  4. 拦截加密通信,并允许你的传感器对未加密的数据包进行深度检查。[AC-4: 信息流强制执行;(4) 内容检查加密信息;SC-8: 传输机密性和完整性]

  5. 实施能够分析数据包并采取防范措施(如阻止或过滤)的传感器。[SC-5: 拒绝服务保护;SC-7: 边界保护 | (10) 防止外泄 | (17) 自动执行协议格式]

  6. 禁止在非感应系统上激活滥用传感器,以防止未经授权访问的对手获取敏感信息。[SC-42: 传感器能力与数据]

  7. 与你的 ISP 合作,将受信任的互联网连接(TIC)传感器放置在你的网络边界外。[AC-17: 远程访问 | (3) 管理访问控制点]

  8. 记录所有内部系统连接;它们的接口;它们处理、存储和传输的信息;以及系统之间的传感器放置。[CA-9: 内部系统连接]

  9. 进行渗透测试和红队演习,以测试和验证传感器的放置和能力。[CA-8: 渗透测试;RA-6: 技术监视反制措施调查]

简报

在本章中,我们讨论了古代日本用于检测敌方忍者的嗅觉、听觉和外部感知侦察。我们还了解了城堡守卫部署的主动和被动传感器,以捕捉入侵者。然后,我们讨论了今天使用的各种安全传感器——帮助防御者了解周围网络中发生的事情的传感器。我们涵盖了有关传感器的一些后勤问题,如传感器放置、误报和传感器管理。最后,我们谈到了如何应用古代忍者技术来识别网络系统中的入侵者。

接下来,我们将讨论忍者用于绕过城堡防御的不同类型的桥梁和梯子——这一概念在传感器方面具有一定的重要性。例如,假设你的城堡被护城河保护,而你已经在吊桥上放置了所有的传感器。如果敌方忍者能够悄无声息地架起一座不使用吊桥的桥梁,他们也有效地绕过了你的传感器——使其变得毫无作用。我们将探讨这个桥接概念在网络安全中几乎是完全相同的,以及解决这个问题的难度。

第十章:桥梁与梯子

无论墙壁或护城河有多高或多陡,你都能越过,特别是如果你使用忍者梯的话。

城堡的门楼通常是最严格防守的地方,但屋顶是你安装钩梯最方便的位置。

—《万川集海》,“隐忍 II” ^(1)

忍者可以悄无声息地越过敌人的墙壁和大门,使用忍器渗透工具——这些工具在《万川集海》(2)和《军法事要书》(3)中都有描述。多功能梯子和便携桥梁,如带刺的梯子、云梯或工具运输绳(4),使得忍者能够跨越护城河、攀爬城墙,并安全、悄无声息地将工具交给其他忍者。有时这些梯子是“正式的”,即忍者在任务前预先制造的;有时是“临时的”,即在现场构建的(5)。这些工具非常有价值,因为它们提供了进入那些由于过度自信而未被守卫的敏感地点的机会。

这些卷轴还解释了如何通过操控敌人的安全措施渗透敌营。《翔忍记》指示忍者想象鸟或鱼是如何进入城堡的(6)——换句话说,要意识到高处或低处带来的独特优势。例如,攀爬城墙可以为你提供以极高的速度跨越其他城墙和屋顶的机会,从而比通过城门进入提供更好的进入城堡内部的途径。游过护城河可以提供通往一个常见水道的水下通道——这个水道通向城堡。《万川集海》甚至建议故意尝试跨越守卫楼门——守卫最多的地方,因为防守者可能会假设攻击者会避免试图在这一点上渗透(7)。

在本章中,我们将讨论如何将网络域连接的方式与连接城堡墙外围的方式进行类比。就像城堡的墙壁一样,网络也设计有障碍和分段,假设必须通过一个受控的网关。桥接允许威胁绕过这些网关,从而绕过在网关出口点设立的安全控制。看似简单的措施,比如指示守卫阻止任何建造跨越城堡护城河的桥梁的人,实际上可能变得徒劳无功。比如,如果城堡的建筑师选择因水管理的原因将护城河的同心环连接起来,那么连接后的三个护城河不再是敌人必须通过的三个独立的边界。相反,它们成为一座水桥,敌人可以直接游入城堡的心脏。学习如何像忍者一样思考,并将障碍视为潜在的梯钩点,可以帮助你重新评估自己的网络,并预先切断桥接的机会。

网络边界桥接

对于网络安全专业人员来说,桥接是一个虚拟或物理网络设备,操作于物理层和数据链路层——OSI 模型的第 1 层和第 2 层——将两个网络段连接在一起,形成一个单一的聚合网络。该术语还指任何使信息跨越“空白”区域的设备、工具或方法,如空中隔离网络或分段边界。桥接通常绕过安全控制和保护措施,允许从网络中提取数据或将未经授权或恶意数据传递到网络。这些潜在的严重后果促使网络安全专家开发检测和缓解方法来防止桥接,包括:

  • 禁用无线以太网卡上的网络桥接

  • 禁用具有两个或更多活动网络接口的系统

  • 实施网络访问控制(NAC)和监控,以检测网络上的新设备

  • 安装传感器以检测未经授权的 Wi-Fi 接入点

  • 使用 VLAN 或其他路由技术限制某些网络

  • 在链路层发现协议(LLDP)中使用身份验证

尽管安全控制措施不断发展,未经授权的桥接仍然发生——而且一些高级渗透技术,尽管只在学术或实验室环境中得到验证,但展示了巨大的危害潜力。最近的例子包括控制系统 LED 以将比特通过光接收器传输到不同房间或建筑物,使用 FM 频率信号与附近的手机通信(例如 AirHopper 和 GSMem 漏洞),控制并脉冲风扇通过声波传递比特,以及人为地过热和冷却 CPU 以缓慢传输数据(如 BitWhisper 漏洞)。威胁行为者甚至可能通过系统的电源线通过电力以太网技术(EOP,切勿与以太网供电 POE 混淆)来进行网络桥接。在其他情况下,组织的 VoIP 电话可能会被远程激活其麦克风和扬声器,允许对手传输声音数据或窃听对话。

当然,某些桥接方式不那么先进。对手可能会爬上办公楼的屋顶,接入可接触的网络电缆,并安装一个小型地球卫星站,通过它提供对网络的强力桥接访问。智能手机经常插入系统的 USB 端口进行充电,但充电的手机还将计算机连接到一个外部蜂窝网络,而这个网络并未经过防火墙、数据丢失防护(DLP)或其他安全工具的检查,从而完全绕过了组织的防御,促进了数据窃取或代码注入。当通过sneakernet桥接时,用户将信息加载到便携式媒体上,然后将其走到另一台计算机或网络位置,手动绕过安全控制。还有一种担忧是威胁可能会利用隐藏的管理网络——通常是在 10.0.0.0/8 网段——直接连接到路由器、防火墙和其他安全系统的控制台,使用这些设备作为跳点,桥接不同的网络 VLAN 和子网,实际上利用网络绕过其自身的安全性。此外,分离隧道也构成风险,因为信息可能通过同时连接到两个网络的设备泄漏到不同的网络之间。

成熟的组织在假设对手不断开发不同的桥接技术以通过新的、无法预见的方式绕过防御的前提下运作。事实上,似乎所有的电磁频谱——包括声波、光波、地震波、磁场、热能和无线电频率——都可以成为桥接网络和隔离的可行手段。

对抗桥接

防止设计用于连接其他系统的系统之间的桥接是一个难以解决的问题。虽然没有完美的解决方案,但可以通过减少桥接机会,并将隔离努力集中在最重要的资产上,来降低风险。此外,可以叠加反制措施,以消除桥接技术的能力,从而提高这些防御的有效性。

  1. 识别你的弱点。 确定那些存储你组织敏感、关键或高价值数据的网络和信息系统。创建数据流图(DFD)来模拟信息在系统中的存储和流动方式。然后,识别可能发生隐蔽、非正式渠道桥接攻击的区域。

  2. 实施桥接反制措施。 考虑实施 TEMPEST^(8)控制措施,如法拉第笼或屏蔽玻璃,来阻止通过辐射或其他信号进行的空隙桥接。为了阻止非法桥接,确保在允许设备连接到你的网络或其他设备之前已识别并认证这些设备。根据你的威胁模型,开发适当的防护措施以缓解潜在的桥接威胁。

推荐的安全控制和缓解措施

在相关的情况下,提供与 NIST 800-53 标准中适用的安全控制措施相对应的建议。每一项建议都应结合桥接的概念进行评估。

  1. 实施边界保护和信息流控制措施,防止外部设备、系统和网络从你的网络窃取数据或传播恶意代码。[AC-4:信息流强制 | (21) 信息流的物理/逻辑分隔;AC-19:移动设备的访问控制;AC-20:外部信息系统的使用 | (3) 非组织拥有的系统/组件/设备;SC-7:边界保护]

  2. 强制执行无线访问保护控制,阻止或检测未经授权的无线信号,这些信号可能通过微波、超高频/甚高频、蓝牙、802.11x 等频段跨越网络桥接。[AC-18:无线访问;SC-40:无线链路保护]

  3. 审计网络访问和互连,识别可能将你的网络与外部系统或网络连接的设备——例如远程网络打印机——这些设备可能成为数据传输的桥接。[CA-3 系统互连;CA-9 内部系统连接]

  4. 建立强有力的可移动媒体政策,以防止未经授权的桥接。要求在允许任何外部媒体和设备连接到环境之前进行身份识别和认证。[IA-3:设备识别与认证;MP-1 媒体保护政策与程序;MP-2:媒体访问;MP-5:媒体传输]

  5. 测试 TEMPEST 泄漏或来自系统的其他信号外泄。根据测试结果,决定在何处实施保护措施,抑制信号被用作桥接的能力。[PE-19:信息泄漏;SC-37:带外信道]

反馈

在本章中,我们讨论了对抗性桥接的哲学,并探讨了桥接网络段和传统最佳实践。我们了解了多种桥接技术——这些桥接可以以你可能以前没有想到的方式跨越间隙。本章中的思维练习旨在促使大家思考在梯子和墙壁之间建立物理防护措施;理论上,这些措施可以成为创新现代防御体系中输入/输出系统的基础。

在接下来的章节中,我们将讨论锁具和忍者的开锁技艺,后者基于这样一种信念:任何由人类设计的锁都能被人类打开。我们还将窥见忍者在不得不依赖他们自己不信任的锁时的安全策略。我们将讨论锁具在网络安全中的应用,以及我们可以从忍者那里学到什么,来改进我们对锁具和开锁技艺的理解。

第十一章:锁

没有什么挂锁是你打不开的。然而,这一切都取决于你的技术水平;因此,你应该始终进行动手实践。

开锁工具的设计是为了帮助你轻松打开敌人家的门。因此,在所有的技艺中,这是最靠近敌人时所使用的技艺。

—《万川集海》,忍技三卷 ^(1)

在古代日本,锁具比今天的锁具更为简单,因为当时的制造能力无法生产出现代锁具所使用的复杂销子、挡板和其他部件。然而,这些古老的锁具设计优雅,巧妙地利用了“叉、闩、重力和张力等自然力”来确保人们的财物免受入侵者和小偷的侵犯。^(2)

忍者在任务中经常遇到复杂的锁具——并且想出了打开所有锁具的方法。卷轴表明,没有任何锁、障碍物或其他机制能够阻挡一个配备了良好工具、足够训练和创造力,以及乐观心态的忍者。三卷中的大量篇幅都专门记录了如何制作和使用各种挑锁工具、垫片和其他探测工具,用于打开锁、门和栅栏(图 11-1)。^(3)

f11001

图 11-1:用于打开锁、门和栅栏的各种工具。从左到右,依次是探针铁、可伸缩钥匙、开锁垫片、用于定向挂锁的挑锁工具,以及开门工具(万川集海忍秘传)。

从环闩到绳索,从锁条到钩子和钉子,从复杂的钥匙闩到简陋的自制技术……无论锁具的设计如何,忍者总有方法和工具来绕过它。事实上,忍者能够突破当时使用的任何安全系统或障碍物。^(4) 知道锁具不能完全信任,忍者自己开发了技巧,将安全掌握在自己手中。有些方法简单直接:当他们在不信任的锁具保护下的旅馆里睡觉时,忍者有时会将一根绳子从门或窗户系到发髻上,确保如果门闩或锁被打开,他们会在睡觉时醒来。^(5)

今天,正如忍者时代一样,人们使用锁具来保护自己的财产——而威胁行为者仍然使用撬锁工具来破解它们。锁具,一如既往,发挥着多重作用:它作为威慑工具。它是对物主的一个可见保障,表明他们的财产是安全的。它通过钥匙的使用,为钥匙持有者建立了责任体系。如果锁被破坏,则产生责任追究。它还充当了屏障和警报器,因为窃贼在试图绕过它时会浪费时间并制造噪音。在本章中,我们将讨论黑客,像忍者一样,依旧在撬锁并绕过安全防护。此外,我们还将探讨为什么物理锁对于数字系统如此重要,并详细说明必要的辅助预防措施。我们还将研究锁具和撬锁工具的技术进展,看看忍者还能教给我们关于安全的什么知识。

物理安全

就像开锁通常是进入黑客世界的入门爱好一样,破解锁具是进入网络安全的常见途径。找到某个应该是安全的物品中的缺陷,或是物理地接触到它——当你成功攻破防御后,锁具在手中打开时所带来的视觉、触觉和听觉反馈——可能是一种强烈的感觉。这种体验能够激发对安全领域的兴趣,并增强初学者的信心。

网络安全行业使用锁具设备来限制对建筑物、数据中心、交换机机房和单个办公室的物理访问。^(6) 在更细化的层面,机架锁限制了对服务器的访问,机箱锁限制了对系统物理组件的访问,设备端口锁防止未经授权使用 USB 或控制台插口,系锁防止系统离开其位置,而电源锁则使设备无法开机。锁定对系统的物理访问是组织网络安全策略的重要组成部分。如果系统容易受到物理篡改的威胁,那么一旦对方获得物理访问,许多数字安全控制可能会失效。应该假设,如果对手获得了机器的物理访问,他们也获得了系统的管理员权限并获取了其中的数据。

尽管非法开锁工具和技术泛滥,但组织往往年复一年使用相同的锁具,使自己极为容易受到攻击。大多数信息系统和建筑物出入口的锁具使用的是弱型插销锁芯,例如耶鲁圆柱锁——这种锁具最早在 19 世纪 60 年代获得专利,由于其低成本和易于大规模生产,现在已成为全球最常见的锁具——以及管状锁(或“圆形锁”),这是最常见的自行车锁类型。罪犯制造、销售并使用能够轻易破解这些现成锁具的开锁工具。例如,汽水罐片可以撬开锁,笔帽可以模拟管状钥匙,3D 打印的塑料钥匙可以通过原始图片轻松复制。对于不熟练的犯罪分子来说,自动电子开锁工具只需拉动扳机,几秒钟内就能完成破解每个插销锁芯的工作。

大规模的防盗锁破解对策少之又少,其中一些更加关注责任问题而非安全性。例如,某些保险政策在发生盗窃或入室盗窃时,如果使用了低质量的锁——例如在美国最常见的那些锁——即使被破解或绕过,也不会予以赔偿。一些政府为锁具制造商发布合规标准,并限制向公民出售不合格的锁具。在网络安全领域,部分政府用密码锁或其他高安全性锁具和补充的安全控制措施来保护其机密系统和数据,从而减轻锁具本身的安全漏洞。

然而,依然有太多的门和系统使用着脆弱的锁和钥匙防护——这些防护手段即使是稍微有些复杂的威胁行为者也能轻松突破。信息系统的锁具和屏障必须得到改进,以抵御常见的攻击方式,如撬锁、开锁、偷窃、复制和强行破坏。

改进锁具

完全防止开锁几乎是不可能的。然而,你可以采取许多积极的措施来提高锁具的抗攻击能力。改进锁具也能通过减轻对系统的未授权物理访问攻击,从而提升你的网络安全态势。

  • 升级你的锁具。 评估更先进的锁具系统,例如欧洲凹槽锁,以确定哪些符合你的业务需求和预算。寻求利益相关者和物理安全团队的批准后,将所有锁具升级为更能抵御攻击的型号。

  • 跳出锁具的思维框架。 为你的组织考虑非传统的锁具解决方案,例如多阶段锁。当第一阶段解锁机制控制着第二阶段锁的访问时,入侵者无法迅速且轻松地同时或连续打开这两把锁。

    例如,为了关闭一个入口,可以使用两个独立的锁定系统,这些系统彼此互补。第一阶段可以是一个数字 4 位 PIN 码锁,它会临时解冻第二阶段锁中的销钉,这个第二阶段是一个圆柱锁。在第二阶段的锁中,销钉被冻结时是无法被撬开的,但可以插入钥匙,为第一阶段的锁激活做准备。一旦销钉暂时解冻,就可以转动物理钥匙,从而解锁入口。然而,这个机会窗口只有三秒钟。在那之后,数字锁将重置并再次冻结销钉。为了成功,入侵者需要首先知道 PIN 码,并且能够在三秒钟内撬开门锁,这对于人类来说可能是做不到的。

  • 增加加固措施。 考虑加固锁具所保护的物品。你可以保护铰链免受篡改,或者安装防撞板、门/框加固、门把手防护罩或地板保护装置。

  • 向锁具行业请愿。 呼吁锁具行业创新并将新设计纳入保护信息系统的产品中。除非消费者对过时的产品施加足够的压力,否则制造商将继续销售那些熟悉的、易受攻击的设备。

推荐的安全控制措施和缓解方法

在相关情况下,建议会呈现适用的安全控制措施,依据 NIST 800-53 标准。每个控制措施都应结合锁的概念进行评估。

  1. 将纸质文件、磁带、硬盘、闪存驱动器、光盘和其他物理介质存放在锁定且受控的容器中。[MP-4: 媒体存储;MP-5: 媒体传输]

  2. 使用安全的钥匙或其他锁定装置来执行物理访问控制和系统及环境的授权。[PE-3: 物理访问控制 | (1) 信息系统访问 | (2) 设施/信息系统边界 | (4) 可锁外壳 | (5) 防篡改保护;PE-4: 传输介质访问控制;PE-5: 输出设备访问控制]

总结

本章中,我们讨论了锁具及其用途。我们指出,无论时代如何变化,对手都会开发工具和技术来绕过锁具。我们简要介绍了常见的锁定技术,及其在保护系统访问中的作用,并说明了为什么升级它们至关重要。特别要记住的是,如果对手获得了你系统的物理访问权限,你应该假设他们能够破解系统——因此,使用锁具防止对手物理接触这些系统非常重要。

在下一章中,我们将讨论当目标被非常牢固地锁住时,忍者使用的一个高级战术——这种战术有效地诱使对方交出钥匙。从某种意义上讲,一个组织的防御也并没有那么不同。即使你有最好的锁,如果把钥匙交给入侵者,它也不会帮你。

第十二章:水面上的月亮

与你的主公达成协议后,你应该用诱饵引诱敌人,潜入他们的防线。

在此技巧中,你应该像在海中或河里钓鱼一样,用诱人的诱饵引诱敌人,以使原本不会现身的敌人最终离开防线。

—《万川集海》,Yo-nin II ^(1)

在如同俳句般的意境中,万川集海称开放伪装潜入技巧为水月之术——“水面上的月亮”之术。^(2) 尽管该术有多种用途,但忍者主要用于攻击那些防守森严的敌人营地——这种营地限制了人员的进出,甚至无法接近。忍者并不是通过强行突破营地防线,而是诱使目标现身,巧妙地引诱目标泄露入营的相关规定,例如徽章及其他身份标志、密码、口令和挑战应答信号。此术还允许忍者尾随目标返回营地,诱使守卫离开岗哨并无阻渗透,或者直接与目标接触并通过欺骗或攻击手段渗透。

对于那些特别不愿离开防守严密的目标,卷轴指示忍者寻求指挥官的帮助,进行高级的欺骗策略。^(3) 例如,指挥官可以将部队调动到脆弱位置,诱使敌人攻击,从而消耗敌人的防御,使忍者得以渗透。或者,忍者在敌人疲惫归营时击败他们。指挥官甚至可能安排更为复杂的方案,比如开始一场全面的长期城堡围攻。然后,忍者可能派遣一名伪装成盟军将军使者的士兵,劝说敌人离开城堡,参与反攻并打破围攻。为了完成这个诡计,忍者指挥官会派遣一支小队伪装成盟军增援,不仅引诱目标离开营地,也让忍者在城门打开时得以渗透。

根据卷轴内容,在忍者成功使用水月之术潜入目标后,他们必须牢记以下思维:

  • 保持冷静,不要表现出迷失。

  • 模仿城中人。

  • 优先收集口令、密码、挑战应答、徽章等信息。

  • 尽快向盟友发出信号。^(4)

在这一章中,我们将探讨这种古老技术如何被网络威胁行为者部署,并与常见的社会工程学战术进行比较。我们将介绍一种抽象思考网络通信信号的方式,认为它们进入和/或离开防火墙——尽管计算机系统本身并未发生物理移动——并详细讲解应对“水面月亮”技术和社会工程学攻击的概念。最后,我们将尝试一个思维练习场景,模拟古代日本将军们在遭遇“水面月亮”攻击时可能面临的困境。

社会工程学

忍者“水面月亮”攻击与今天的社会工程学攻击有惊人的相似之处,它们利用人类目标的决策过程和认知偏差,操控目标泄露敏感信息或执行自毁性行动。在网络安全中,大多数社会工程学战术是敌方在敌人阵地内部操作,利用目标的信任进行攻击。典型的社会工程学攻击示例包括:

  1. 网络钓鱼 敌方发送一封邮件,诱使收件人打开危险的文档或访问恶意链接,导致恶意软件感染、勒索软件执行、数据盗窃或其他攻击。

  2. 伪装攻击 敌方通过电话或电子邮件,以编造的情景说服目标泄露敏感信息或执行恶意行动。

  3. 诱饵攻击 敌方策略性地将恶意的可移动媒体(如 USB 驱动器)放置在物理位置上,诱使目标捡起并将其连接到内部系统,从而为系统入侵创造机会。

社会工程学是一个特别具有挑战性的安全问题,因为它利用了人性上的弱点,而这些弱点是技术控制措施无法始终防范的。随着目标和受害者对社会工程学威胁的认识不断提高,许多组织依赖于专注的技术控制、安全协议和用户教育来保护其宝贵资产。员工接受如何正确处理和保护敏感信息和系统的培训,同时安全团队记录程序以验证陌生或未受邀请的访客身份,并要求非员工在公司场地内由员工陪同。红队进行内部钓鱼攻击和尾随测试等演练,以评估员工对社会工程学战术的意识并增强他们的抵抗力。管理员实施技术控制措施,以阻止恶意文档和链接,使用数据丢失防护(DLP)软件,防止未授权的系统变更,黑名单未注册的系统和外部媒体,并使用来电显示。

尽管这些都是很好的、必要的安全措施,但人们的工作方式已经发生了变化。而且,围绕社会工程学攻击的思维尚未完全发展,无法充分考虑防御“月亮水面”式攻击——即试图诱使目标脱离自身防御的攻击。

今天,像自带设备(BYOD)政策、全职远程工作和多租户云等,使得员工和组织更加灵活。然而,它们也削弱了传统的强大外围安全架构,并使员工暴露于新的社会工程学威胁中。例如,在大多数情况下,状态防火墙规则不允许外部(互联网)通信通过防火墙传递到内部主机。相反,防火墙要求内部(内网)系统发起联系,然后才允许外部系统的响应通过防火墙传递到内部主机。因此,虽然内部主机物理上没有离开组织的防御,但如果通过虚拟方式——比如访问恶意网站——就可能使威胁行为者通过响应通信渗透进来。本质上,这就是数字尾随。

除了直接破坏传统的安全架构,威胁行为者还可以使用多种“月亮水面”式的技术渗透重防御组织。考虑以下场景:

  • 一名攻击者在一个安全设施中触发火灾报警,导致员工大量撤离。当消防员清理建筑物时,攻击者混入员工人群中,窃取或记录徽章、钥匙、令牌、面孔、指纹等信息。为了顺畅处理员工返回工作,设施暂时关闭徽章读取器、旋转门或其他物理访问控制,或者由于人员涌入,安全人员被压得喘不过气来,未能注意到尾随进入。

  • 一名攻击者使用餐车诱使员工离开安全设施。然后,他们利用自己作为非发起者的身份,通过互惠互利的社会工程学手段对目标进行操作,最终与目标建立关系,并说服目标执行他们在传统社会工程学场景中不会执行的行为。

  • 一名攻击者在街对面的咖啡馆破坏了 Wi-Fi 网络,以窃取目标组织员工的凭证。通过进入咖啡馆并使用他们的设备,这些员工无意间脱离了组织的防御,暴露在攻击者控制的环境中。

  • 一名攻击者对目标人物、系统和数据进行大规模的破坏性、拒绝服务或破坏性攻击,迫使他们转移到一个不如组织永久总部安全的灾难恢复站点,易于被渗透。

请注意,虽然这些攻击不一定能达到对手的最终目标,但它们可能提供手段或信息,结合其他漏洞,达成恶意目的。

防御社会工程学攻击

大多数组织进行社会工程学意识培训,并定期对内部员工进行钓鱼测试。虽然这种策略提高了对这种攻击的抵抗力,但仍有相当一部分人员总是会失败。不幸的是,大多数组织仍然让员工面临社会工程学的漏洞。我们需要做更多的工作,为员工提供防范这种欺骗的工具。

  1. 建立保护措施。为员工实施标准的信任框架,以减少社会工程学带来的风险。识别您环境中的高价值目标,然后为这些系统上敏感信息的适当控制和处理建立安全协议、政策和程序(并随着时间的推移将这些扩展到所有系统)。在您的组织内部进行培训、意识提升和测试演习,以提高员工对社会工程学的认识,并通过反复的威胁建模来审查和改进相关的安全控制。

  2. 实施“慢思考”。与您的安全团队一起分发并讨论丹尼尔·卡尼曼的书《思考,快与慢》^(5)。这本书描述了两种思维系统:较快且更具冲动性的“系统 1”和较慢且更具逻辑性的“系统 2”。制定强迫员工放慢速度并以系统 2 的方式思考的解决方案,从而避免社会工程师最常利用的认知偏差和捷径。可能的例子包括:

    • 配置您的电话交换系统,要求接到外部电话的员工在系统连接之前输入来电者电话号码的偶数位数字。

    • 配置您的邮件客户端,要求员工必须将“发件人”邮箱地址倒着输入,才能打开外部邮件附件。

    • 要求访问非白名单 URL 的用户,在浏览器执行 DNS 查询之前,正确输入域名中的字符数。

    所有这些措施都会减缓业务操作,但也有助于缓解社会工程学攻击。

推荐的安全控制和缓解措施

在相关情况下,提出的建议会结合 NIST 800-53 标准中的适用安全控制进行展示。每个建议都应在心中考虑“月亮在水面”的概念来进行评估。

  1. 因为安全系统和控制只能在已设定的边界内保护信息,所以需要实施保护措施,防止信息和系统超出这些边界,落入社会工程师手中。[AC-3: 访问执行 | (9) 受控释放; PE-3: 物理访问控制 | (2) 设施/信息系统边界; SC-7: 边界保护]

  2. 控制信息流动,以确保即使数据超出了正常的保护边界,也不会被传输到未授权的信息系统之间或其中。[AC-4: 信息流执行;PL-8: 信息安全架构;SC-8: 传输机密性与完整性]

  3. 对于所有非本地(即通过网络)系统维护,建立审批协议,要求使用强身份验证器和记录政策,并实施监控。[MA-4: 非本地维护]

  4. 为受控区域外的数据建立保护措施,并将数据处理活动限制在授权人员之间。[MP-5: 媒体传输 | (1) 受控区域外的保护]

简报

在本章中,我们描述了“水面月光”这一高级忍者技艺。我们探讨了如何将这一技艺现代化,以便针对商业目标进行应用的各种场景。我们讨论了社交工程所带来的挑战及其可能呈现的多种形式。我们回顾了现有的安全实践,旨在应对社交工程攻击,并审视了新的防御概念。我们还从忍者卷轴中提取了一项思维练习,展示了我们的信任模型是多么脆弱,以及如何防范社交工程攻击的难度。

在下一章中,我们将讨论内部威胁——这是安全领域最引人入胜的话题之一。忍者卷轴提供了关于如何识别可能被招募为内部人员的详细指南,并指出了与现代最佳实践相悖的一种防御内部威胁的方法。

第十三章:虫间谍

制造一个minomushi,或者说虫间谍(即内部威胁),利用敌方。

Minomushi(虫间谍)是指那些为敌方效力,但最终转变为为你方效力的忍者。因此,这个间谍就像是在敌人肚子里的虫子,从内部吞噬敌人。

—《万善集解》, 四人 I ^(1)

《万善集解》从不吝啬生动的形象描绘,描述了一种名为“肚腹中的虫子艺术”(或“虫间谍”)的伪装渗透技术,要求忍者招募敌方内部人员为己方执行任务。这种招募需要高超的情商。忍者必须选择合适的目标;创造接近目标的机会;并悄悄分析目标对其雇主、个人价值和秘密野心的看法。^(2) 这卷书警告,候选人选拔必须极为小心,因为招募错误的人员成为虫间谍——即minomushi——可能会严重影响忍者的任务。为了提高成功招募的几率,忍者发展出了八种可能的虫间谍原型:^(3)

  • 曾因过去的过错受到现任雇主不公或过度惩罚的个人,并因此心生深沉的怨恨。

  • 尽管出生在优渥家庭或具有出色能力,但却被安排在低于自己地位的职位,且未曾获得晋升,感到自己被低估的员工。

  • 习惯性超额完成任务的员工,他们持续为雇主交出优秀的业绩,却只获得象征性的职位、少量奖金或不足的加薪,甚至什么也没有。由于他们的贡献被轻视,他们认为如果是由其他雇主雇佣,他们的职业生涯可能会更加丰硕。他们还认为组织做出的决策愚蠢,因为领导层更看重马屁精和政治人物,而非那些有实际成就的忠诚员工。

  • 聪明且有才华的员工,但与领导层关系不好。因为这些人容易招致不满,并被视为麻烦,他们的雇主会给他们低级职位,为解雇铺路,并让他们感到不受欢迎。

  • 在自己领域内的专家,他们的雇主利用他们的忠诚誓言或家庭责任等情况,把他们困在较低职位。

  • 个人的工作职能与他们的身份、家庭需求或信仰直接对立,导致他们后悔所从事的工作。

  • 贪婪且狡诈的人,缺乏忠诚或道德指南针。

  • 因过去的不端行为而声名狼藉的“黑羊”员工,因地位降低而感到沮丧。

在选择了潜在的蟋蟀之后,忍者会制定计划,主动接近并与目标建立关系。《万川集海》指导忍者表现得富有,并通过金钱赢得目标的好感;利用友好的玩笑话了解他们的喜好、信仰和幽默感;并通过轻松的调侃巧妙地发现目标的内心想法。如果目标的性格符合“蠕虫代理人”的典型特征,那么忍者会通过承诺财富、声望以及帮助实现秘密雄心——或者更直接地,提供酒精和性——来利用这些蟋蟀特征,以此换取目标背叛其雇主。^(4)

在利用新转变的蟋蟀之前,忍者被建议获得背叛誓言,收集担保资产以确保蠕虫代理人的忠诚,并建立信号和其他操作安全(OPSEC)。^(5)

本章将回顾内鬼威胁。我们将对比心怀不满的员工和被招募的内鬼威胁。我们还将讨论组织用来应对内鬼威胁的检测和威慑方法,以及一种新的、量身定制的防范措施——受到忍者卷轴启发——旨在积极防止有风险的员工成为内鬼威胁。最后,一项思维练习将要求你设想哪些前任和/或现任员工可能成为内鬼威胁,并检查你与他们的互动方式。

内鬼威胁

内鬼威胁是指员工、用户或其他内部资源,其行为可能对组织造成损害——无论是否故意。由于他们并非故意进行恶意行为,一个不幸的员工如果打开了钓鱼邮件并让其工作站感染了恶意软件,就是一个无意的内鬼威胁。另一方面,一个心怀不满的员工故意将病毒释放到组织内部,无论是出于个人原因还是为对手效力,都构成了有意的内鬼威胁。由于内鬼威胁是合法的、有权限的用户,拥有认证、特权和访问信息系统与数据的权限,因此它们是网络安全中最难以防范的问题之一。

许多组织依靠技术控制和威胁猎手进行内鬼威胁的早期检测。技术检测技术——如行为启发式——可以帮助识别潜在的内鬼威胁。警觉的网络防御者和猎手可能会调查那些做出不符合常规或不当行为的用户,包括将所有文件下载到外部便携媒体、搜索与工作无关的敏感或专有数据、在周末或假期登录进行非优先工作的任务、访问蜜罐系统和明确标记为受限访问的文件,或下载和使用类似黑客的工具执行超出其工作职能的操作。

但技术控制只是一个稳固防御策略的组成部分,即使对于成熟的组织也是如此。通过检查参考资料、进行背景调查,包括犯罪记录和财务历史的审查;以及筛查毒品使用情况,雇主可以验证员工是否容易受到不正当影响。人力资源部门在识别潜在的内部威胁方面起着关键作用。一些人力资源部门会进行年度员工调查以识别潜在问题,而其他部门则主动解雇有风险的员工或根据问题调查结果推荐撤销某些访问权限。不幸的是,许多组织仅采取最低限度的预防措施。大多数信任他们的员工,另一些则忽视这一问题,还有一些则接受内部威胁的风险,以保证业务运营的顺利进行。

更加积极应对内部威胁的实体,例如国防行业和情报界的组织,实施先进的检测和预防措施,如测谎仪、常规安保检查、反间谍计划、分隔控制以及严厉的法律惩罚——更不用说尖端的技术控制。然而,即使是这些控制措施,也无法保证所有内部威胁的恶意行为,尤其是那些得到复杂对手支持的威胁,会被及时检测和预防。它们还带来了独特的实施和运营挑战。

应对内部威胁的新方法

聚焦于审查员工并试图在他们犯错时捉住他们的组织,往往是在为时已晚。更为积极的做法是,培养一个不会制造内部威胁滋生条件的工作环境。以下一些建议是针对修复特定内部威胁类型的。

  1. 制定检测和缓解技术。 检查你所在组织使用的产品和技术控制,以识别和缓解内部威胁。开展员工培训和意识提升会议,审查安全事件报告,并进行红队演练,如钓鱼测试,以识别重复发生的非故意内部威胁。然后,通过实施额外的安全控制措施,训练、警告并缓解这些个人的风险,例如,你的安全团队可以通过严格的控制和政策,限制员工执行内部威胁行为的能力和机会。一些例子包括:

    • 强制执行一个策略,禁止在系统上启用或执行宏。

    • 配置所有电子邮件以纯文本形式接收,禁用超链接。

    • 默认情况下,对所有外部电子邮件附件进行隔离。

    • 禁用网页浏览,或者仅通过一个与组织内网不相连的隔离互联网系统提供浏览功能。

    • 禁用某些系统上的 USB 端口和外部媒体驱动器。

    监控有意的内部威胁需要先进的检测技术和能够进行欺骗与保密的技术。根据适当的组织威胁建模和风险评估来选择这些技术。

  2. 实施基于人力资源的反-minomushi* 政策。* 在实施和测试之前的技术控制和检测技术后,解决人员控制问题。确保人力资源部门保持当前员工、前员工和候选人的记录,其中包括minomushi 个人特征的指标。在候选人筛选、绩效评审和离职面谈时提出尖锐问题,以捕捉这些诊断信息。

  3. 特别注意防止造成 minomushi 员工的情况。 你的人力资源团队应该考虑以下全公司范围的政策,按八种minomushi 原型的顺序呈现:

    • 审查员工纪律处分程序,防止对员工进行不公平或过度的惩罚——无论是真实的还是感知上的。要求员工和申请者披露是否有家庭成员曾在贵公司工作。鼓励人力资源评估员工是否认为对他们的纪律处分不公平或过度,然后共同寻找解决方案,以缓解员工的敌意。

    • 定期分发员工调查,评估士气并识别低级员工中未被充分利用的人才。与员工和管理层进行透明的面谈,以确定:某员工是否准备好晋升、是否因为近期成就未被认可,或者是否需要成长某些特定的技能;公司是否有合适的职位来晋升他们,或是否有预算给他们加薪;或者某些员工是否认为自己比同事更优秀或更有价值——是否需要进行现实检查。与管理层合作,考虑如何缓解员工的不满,并纠正组织并非一个按能力分配奖赏的环境的认知。

    • 作为绩效评审的一部分,征求同事的反馈,识别出哪些管理者被低级员工认为最有价值,以及哪些员工认为自己没有得到应有的认可。通过奖励和/或让员工看到公司领导决策的透明度来解决这些不满。

    • 鼓励领导亲自指导那些聪明但社交笨拙的员工, discreetly 告诉他们自己是如何被看待的,目的是帮助这些员工感受到更多的社交接受,而不是孤立。

    • 审查并取消那些阻碍顶尖人才的公司政策。这些政策可能包括竞业禁止协议、不公平地占用员工的知识产权、以及不充分的绩效奖金或留任激励。尽管这些政策旨在保护公司,但可能会产生相反的效果。

    • 对当前员工和应聘者进行开源分析,了解他们是否公开表达过强烈的观点,或是否在贵组织的使命上存在利益冲突。如果有,重新安排这些员工到更能让他们的个人价值观与工作产生共鸣的岗位,或便于他们离开组织。

    • 开发角色分析技巧,寻找员工和应聘者可能容易受贿的迹象。考虑降低这些员工的系统访问权限和特权等级,从而减少他们对对手的利用价值。

    与高风险迷之虫状况的员工密切合作。为他们提供额外的资源、时间和动力,帮助他们克服可能的怨恨,把握个人成长机会,并培养自尊心。最小化或停止强化不良记忆的组织行为,或继续因过去的过错惩罚员工。

推荐的安全控制措施和缓解措施

在相关情况下,提出的建议与 NIST 800-53 标准中的适用安全控制措施一同呈现。每项建议都应在考虑招募内鬼威胁的背景下进行评估。(更多信息,参见 PM-12:内鬼威胁程序。)

  1. 让 SOC 与人力资源私下合作,关联可能具有迷之虫特征的潜在内鬼威胁的信息。SOC 应更加密切地监控、审计和限制这些高风险个体。SOC 还可以与人力资源合作,建立内鬼威胁蜜罐——例如,网络共享中的文件写着“限制:禁止打开”——以识别执行与内鬼威胁一致的行为的员工。[AC-2: 账户管理 | (13) 禁用高风险个体的账户; AU-6: 审计审查、分析与报告 | (9) 与非技术来源信息的关联; SC-26: 蜜罐]

  2. 使用你自己的账户在你已知不会对组织造成危害的文件和系统上执行内部威胁行为(不需要红队能力)。行为可能包括修改或删除数据、插入虚假数据或窃取数据。记录你的账户可以访问的系统和数据,然后使用特权账户如管理员或 root 账户执行恶意的特权行为。例如,你可以创建一个不存在的员工姓名的管理员用户。询问你的 SOC 是否能够发现你在特定日期范围内窃取、删除或修改的数据,以测试你的 SOC 是否能够正确审计你所执行的特权操作。[AC-6: 离开特权 | (9) 审计特权功能使用; CA-2: 安全评估 | (2) 专门评估]

  3. 培训员工识别蚂蚁虫特征和内部威胁行为。让员工能够轻松且匿名地报告潜在的蚂蚁虫情况,类似于他们报告钓鱼欺诈的方式。将内部威胁意识训练纳入定期安全培训中。[AT-2: 安全意识 | (2) 内部威胁]

汇报

在本章中,我们回顾了忍者技巧,通过招募目标组织内的脆弱人员执行恶意行动。我们详细介绍了八种内部威胁候选人原型,并讨论了目前组织使用的各种内部威胁检测和保护程序。我们描述了一种基于忍者卷轴中信息的新防御方法——一种对不满员工表现出同情的策略。本章中的思维训练挑战参与者评估不仅是潜在的内部威胁,还要反思自己对同事的行为;它鼓励他们思考采取更合作的方式来应对潜在的内部威胁。

在下一章中,我们将讨论长期内部人员:在加入贵组织之前就已被对手招募的员工。而且,由于长期内部人员故意隐藏对组织的任何怨恨或恶意,因此识别他们更加困难。

第十四章:月球上的鬼魂

根据日本传说,如果你知道如何寻找月球上种树的鬼魂,他会邀请你到月球上吃他树上的叶子,使你变得隐形。

在正常情况下,在需求出现之前,你应该找到一个作为卧底的人,他将成为背叛者,一个你派遣的敌人,这样你就能让他成为忍者,并将他安置在敌人的城堡、营地或封地中,正如传说中的月球上的鬼魂桂男(Katsuraotoko)驻扎在月球上一样。

—《万川集海》,四忍 I ^(1)

作为其一系列复杂渗透技巧的一部分,《万川集海》描述了一种长期的伪装策略,叫做“月球上的鬼魂”。这个策略旨在通过安插秘密特工来获取特权信息和访问权限。首先,一个忍者招募一个值得信赖、聪明、睿智、勇敢和忠诚的人。或者,如果招募的人一开始不忠诚,卷轴建议在任务期间以他们的家人作为人质,以确保他们变得“忠诚”。然后,忍者将特工安插到一个外省或城堡。在那里,他们将花费多年时间与目标真诚合作,建立自己的声誉、关系、知识和访问权限。理想情况下,这个卧底将与敌方领导层密切合作。卧底必须始终保持可信、可靠且显眼的联系方式,以便与忍者保持联系。如果这个敌人的据点成为攻击目标,忍者的指挥官可以召唤卧底提供高可信度的情报、内部支持、破坏行动以及对敌人的进攻行动,包括刺杀。^(2) 而尽管“月球上的鬼魂”策略需要数年才能见效,但对于耐心和圆滑的忍者而言,回报是值得的。

在本章中,我们将把月球上的鬼魂看作一种内部威胁。可以通过类比,把硬件植入物想象成试图用望远镜寻找月球上的鬼魂。因此,我们将探讨植入物、供应链安全和隐秘硬件后门等话题。我们还将比较月球鬼魂植物与理想硬件植入物的特点。我们将简要讨论供应链风险管理和威胁狩猎策略,但需要注意的是,潜在问题使得完全防范这种威胁几乎不可能。

植入物

企业间谍活动和国家间谍行为历史上依赖于战略性地安置的特工来完成特定的长期任务。今天,技术提供了更新、更廉价的方式来获得传统上只有通过人工干预才能实现的结果。例如,假设贵组织几年前购买并安装了一台外国制造的路由器,并且它运行完美无缺。但在你们的安全团队不知情的情况下,敌对方刚刚激活了在工厂中安装的隐藏植入物,提供了对你们最敏感系统和数据的直接、未过滤的后门访问。

网络安全行业将这种攻击分类为供应链攻击。这里的供应链指的是与组织的业务活动或系统相关的产品和服务;例如,硬件、软件和云托管。在前面的例子中,路由器执行了将数字信息通过网络传输以进行电子商务的必要业务活动。

尽管启发式方法或威胁狩猎可以检测到异常的路由器行为,但没有万无一失的方法来防御隐蔽植入物。一些组织可能会使用质量保证代表来监控生产,但他们不能确保每个系统都按正确的方式构建。然而,几项网络安全最佳实践可以缓解基于路由器的供应链攻击。一家积极主动的组织可以:

  1. 对所有路由器制造商进行威胁分析,然后根据结果选择不太可能携带被妥协硬件或软件的路由器。

  2. 使用受信任的、安全的运输服务,并获取路由器的交付链以防止恶意拦截。

  3. 在交付后对路由器进行法医检查,验证其是否没有被妥协或从预期的规格中改变。

  4. 为路由器提供防篡改保护和检测技术,以识别和减轻未经授权的修改。

请注意,这些步骤不限于路由器。组织可以在其供应链中的每个服务、设备、系统、组件和软件应用程序上采取这些预防措施。

隐蔽植入物对现代国家来说与对忍者一样有价值,因为发现并防御这些植入物的需求给组织带来了困难且长期的挑战。网络安全专业人员不断测试新的概念来应对这些挑战。例如,组织可以假设所有系统已经遭到妥协,并限制信任和访问。然而,这些概念对业务运营的重大影响使得许多做法在实践中几乎不可能实施。

防护措施——来自植入物的防护

试图对每个系统进行称重或 X 射线检查以发现异常的组织,很可能会在管理供应链的过程中迷失方向。而且,能够进行供应链破坏的高级威胁行为者,很可能会将恶意功能嵌入到系统的默认设计中。通过这种方式,只有他们知道启用植入物的秘密,并且它存在于每个系统中。尽管一个组织的检查过程可能能够发现威胁,但它可能无法理解所看到的内容。这就是这个问题的范围——就像试图在月球上找到一个幽灵。因此,保护你的组织免受这些植入物的指导建议如下:

  1. 识别供应链攻击条件。创建一个供应链组件的清单,列出那些具有月球幽灵潜力的组件。包括以下元素:

    • 被视为高度可信

    • 能进行通信

    • 能够提供横向或直接访问敏感信息或系统

    • 不易检查

    • 不经常更换或更新

    具体而言,检查与外部系统通信或控制能够执行信号或通信功能的系统的软件和硬件(例如路由器上的固件、网络接口卡[NIC]和 VPN 集中器)。植入物也可以作为硬件设备存在,例如放置在 PCI 接口插槽中的极薄金属接口,充当 NIC 的中间人,改变数据流、完整性、机密性和网络通信的可用性。

    想象一下你的杀毒软件、虚拟机监控程序、漏洞扫描器或取证分析师在你的环境中无法检查或测试的内容。月球上的幽灵供应链候选者的一个关键特征是它们能够在目标环境中持久存在,这通常需要针对那些不易经常损坏或磨损、不易被便宜版本替换或升级、重要到无法关闭或丢弃、并且难以修改和更新的组件(例如固件、BIOS、UEFI 和 MINIX)。这一类供应链植入的自主性和隐匿性要求意味着植入物必须避开检查、扫描以及其他类型的完整性测试,同时能够访问某种形式的处理器指令或执行。

  2. 实施供应链保护措施。根据需要实施供应链保障和保护措施。月球上的幽灵供应链攻击是最难以检测、预防或缓解的攻击之一。因此,许多组织干脆接受或忽视这一风险。从基本原则入手——关于安全性和业务目的的基本真理——然后将这些真理作为评估组织面临的威胁的准则可能会很有帮助。可以参考《盐泽与施罗德的 1975 年设计原则的当代视角》^(3)或其他核心安全工作,来确定应对这一威胁的适当缓解措施。也可以通过将问题抽象到更高层次的概念,使其变得熟悉并得到理解,然后再尝试解决它们,这也是一种有效的方法。可以考虑以下的城堡理论思维练习。

推荐的安全控制和缓解措施

在相关的情况下,建议使用适用的 NIST 800-53 标准中的安全控制。每一项建议都应结合“月球上的幽灵”这一概念进行评估。

  1. 考虑通过隔离、分段和分层多样化的供应链组件,将异质性引入供应链。供应链多样性大大降低了受损组件可能带来的影响。[SC-29: 异质性]

  2. 分析你组织的采购流程,找出可以减少供应链攻击风险的领域。可以使用诸如盲目采购、可信运输、限制从某些公司或国家购买、修改采购合同条款、随机化或最小化采购时间等技术。[SA-12: 供应链保护 | (1) 采购策略/工具/方法]

  3. 考虑尽可能延迟非安全性更新或新采购的未经测试的软件、硬件和服务。实施先进的反制措施,以限制精密攻击者针对你组织的机会。[SA-12: 供应链保护 | (5) 限制伤害]

  4. 通过不同的供应商购买或评估相同硬件、软件、组件或服务的多个实例,以识别修改或不真实的元素。[SA-12: 供应链保护 | (10) 验证为真实且未修改;SA-19: 组件真实性;SI-7: 软件、固件和信息完整性 | (12) 完整性验证]

  5. 安装独立的、带外的监控机制和合理性测试,以验证被怀疑受到供应链攻击的高信任组件没有执行隐蔽通信或篡改数据流。[SI-4: 信息系统监控 | (11) 分析通信流量异常 | (17) 集成情境意识 | (18) 分析流量/隐蔽外泄]

汇报

在本章中,我们回顾了忍者技术中雇佣可信赖的盟友在组织内工作,并使自己尽可能地为忍者提供帮助的策略。我们将这种类型的“间谍”与硬件植入物进行了比较,并讨论了哪些设备和系统适合用于硬件植入物的理论。我们谈到了供应链攻击,并探讨了潜在的检测方法。思维练习挑战你识别一个具有特权访问权限的被妥协的书记员;书记员代表了一个路由器、VPN 或其他层 3 设备,这些设备应该对通讯双方透明,强调了当此类设备被妥协时,判断它是否被入侵的困难。

在下一章中,我们将讨论忍者的备份计划,假如你确实抓住了他们或他们的“间谍”。忍者通常会提前植入虚假证据,在他们的隐秘任务之前很久就进行准备,以便在被抓时将责任转移。当成功时,这一策略会欺骗受害者,让他们相信是盟友背叛了他们,而这种欺骗本身就对目标造成伤害。

第十五章:萤火虫之术

只有在你对敌人有非常详细的了解后,才能执行萤火虫之术,这样你才能根据目标的心态构建你的欺骗。

在执行监视或秘密忍者活动之前,你应该为未来的声誉留下一个字条。

—吉守百首 #54

万川集海 描述了一种名为“萤火虫之术”(hotarubi no jutsu)的忍者开放伪装渗透技巧。^(1) 我喜欢这样想,这个技巧之所以命名,是因为萤火虫的闪光在它飞走后会在你的夜视中留下余光,让你抓空了。胜忍记将这一技巧描述为“伪装艺术”(koto wo magirakasu no narai)。^(2) 使用这一技巧,忍者通过布置物理证据,引诱敌人采取一些期望的行动,包括误判忍者的雇主,做出对忍者动机的错误假设,并草率反应,暴露自己,进一步引发攻击。

一封伪造的信件,内含关于敌人的犯罪细节或误导性证据,是最常见的萤火虫之术技巧,并且有多种变体。卷轴中描述了忍者将信件缝进自己的衣领,这样如果他们被抓住或搜查,信件就能被迅速找到。^(3) 或者,忍者可能会招募一个愿意但无能的人当“忍者”,给他们一封写着与忍者真正计划完全相反的信件,并将他们派遣到敌人的环境中,知道这个“注定失败的特工”肯定会被抓住。重要的是,这个招募者自己不会意识到这一部分计划。经过搜查,守卫们会发现这封伪造的信件,信中将某个高价值目标——比如敌方最有能力的指挥官——牵涉到叛国阴谋中。这个“忍者”在酷刑下很可能会崩溃,并证明消息的真实性,进一步加重了目标的罪名。^(4) 这一切都旨在欺骗敌人,迫使他们攻击或处置自己的盟友。

在一个更加复杂的变种中,在任务开始之前,忍者会小心地种下支持信件虚假故事的证据,并将伪造的信件放置在一个有罪证据的地方,例如敌方指挥官的亲信顾问的住处。伪造的信件随后成为一种保护手段。如果忍者被捕,他们会忍受拷打,直到能够确定敌人的目标,然后透露自己对信件的秘密知识。敌人接着会找到信件和相关证据。在建立了可信度之后,忍者会承诺成为双重间谍或分享关于雇主的秘密,以换取不被处决的机会。^(5) 这一技巧使敌人对忍者的动机产生困惑,担心潜在的背叛,并怀疑谁才是实际的对手。

在本章中,我们将回顾将威胁归因于特定对手和/或来源的挑战。我们将讨论使用威胁分析、可观察证据和基于行为的情报评估进行归因调查。我们还将讨论复杂对手的问题,这些对手了解这些归因方法,因此会采取对策。防御者越重视归因,网络威胁行为者就越能通过设法追踪线索来增加困难和风险,因此我们还将讨论应对这种增加风险的方法。

归因

归因,在网络安全的上下文中,是指对可观察证据的评估,这些证据可以用来识别网络空间中的行为者。这些证据可以有多种形式。威胁行为者的行为、工具、技术、战术、程序、能力、动机、机会和意图等信息,都提供了宝贵的背景信息,并推动对安全事件的响应。

例如,假设您的家庭报警器响起,表明窗户被打破了。根据您的归因知识水平,您的反应会有很大的不同:消防员进入您家扑灭火焰的反应与抢劫犯闯入盗窃财物的反应,或是一个误打的高尔夫球撞破窗户的反应截然不同。当然,归因并不总是容易得到。小偷可以通过戴手套和面具来控制可观察的证据。他们甚至可以穿消防员服装来掩饰身份,并欺骗房主同意让他们进入。小偷可以在犯罪过程中或之后制造、销毁或避免留下证据,从而妨碍后续的法医调查工作。一个真正复杂的罪犯甚至可能通过伪造的指纹垫、被盗的头发、血液或衣物样本、逼真的 3D 打印面具,或从毫无戒心的冤枉人那里获得的武器来嫁祸给另一个罪犯。如果被冤枉的人没有不在场证明,或者犯罪的目标与他们的动机一致,那么当局就有充分的理由怀疑或逮捕这个冤枉的人。

网络安全专家面临这些类型的归因问题,甚至更多。归因尤其困难,因为网络环境本身具有匿名性。即使在完成追踪攻击或事件来源计算机和物理地址的困难任务之后,网络安全专家仍然可能发现很难验证攻击者的身份。在受损计算机上追踪威胁行为者的来源往往会导致隧道、VPN、加密和租用的基础设施,且没有有意义的日志或证据。复杂的威胁行为者甚至可能通过远程连接外国计算机,将其作为平台攻击其他系统。即使在发现敌人之后,在某些情况下也可能建议不要立即阻止他们或移除他们的访问权限;相反,可能更有利的是暂时监控他们,了解他们的目标和识别特征。^(6)

在某些情况下,威胁组织故意留下工具或其他可观察的迹象,以推动归因叙事。报道称,美国、俄罗斯和朝鲜已经修改或复制了他们的网络工具中的代码片段、字符串、基础设施和工件,以导致错误归因。^(7) 当网络安全专家发现并逆向工程特别隐蔽的恶意软件时,他们有时会在恶意软件痕迹中观察到独特且多余的字符串。也许这些字符串被忽视了——这可能是操作员或开发者的技术失误。但它们也可能是“萤火虫的艺术”——故意设计为被发现并用于(错误)归因的证据。

请注意,使欺骗成为可能的机制也提供了强大的识别手段。内存转储、磁盘镜像、注册表、缓存、网络捕获、日志、网络流量、文件分析、字符串、元数据等有助于识别网络威胁行为者。各种情报学科,如信号情报(SIGINT)、网络情报(CYBINT)和开放源情报(OSINT),也为归因提供了帮助,而人力情报(HUMINT)能力则从特定来源收集数据,经过处理和分析后有助于指示谁可能进行了网络攻击。这些能力通常是保密的,因为披露它们的存在会告诉目标如何避开、否认或欺骗这些系统,从而阻碍产生有用情报和威胁归因的能力。

归因处理方法

组织希望了解破坏其系统和网络的威胁行为者的身份和来源是合理的。许多人希望采取行动,比如反击黑客,以发现这些威胁行为者的身份,这是可以理解的。然而,威胁行为者就像忍者一样,总能通过否认和欺骗的方式进行隐秘的恶意行动,从而使归因变得不确定。此外,从历史中汲取教训,只有在日本统一并进入和平统治后,才停止了对忍者的归因。全球在可预见的未来不太可能实现统一,因此国家级网络攻击很可能会继续发生。直到世界和平到来,以下归因方法可以帮助你识别是否能对持续的网络冲突采取措施:

  1. 摆脱你的认知偏差。 反思自己的认知偏差和错误的逻辑。每个人的思维中都有漏洞,但我们可以意识到这些问题并努力改正。构建你自己的案例研究。回顾过去的错误判断,找出其中的错误,并思考如何提升自己的分析能力。这项重要工作可以通过小步骤完成(逻辑难题、填字游戏和脑筋急转弯是提升认知功能的好方法),也可以通过大步伐实现。你可以研究讨论已知认知偏差和逻辑谬误的心理学文章和书籍,学习克服自己偏差的结构化分析技巧。^(8)

  2. 建立归因能力。 检查你可以使用哪些数据源、系统、知识和控制措施来影响你所在组织的归因。你是否运行开放且未保护的 Wi-Fi,使得未注册、未认证和未识别的威胁行为者可以匿名连接到你的网络并发起攻击?你是否管理允许伪造 IP 地址的路由器,或者它们是否使用反向路径转发(RFP)保护技术来防止网络内的匿名攻击?你是否正确发布了发件人策略框架,以防止威胁行为者伪造电子邮件地址并冒充你组织的身份?

    尽管这些配置更改中的许多不会产生直接费用,但实施如此广泛的更改所需的时间和劳动(以及机会成本)可能会让管理层犹豫。然而,考虑一下之前是否决定投资于良好的摄像头和照明,帮助店主正确识别破坏者。建立健全的日志记录、文档和证据收集实践可以提高归因能力,增强技术问责制,并为最终用户提供更好的网络威胁可视性。

  3. . . . 或者忘记归因。 与你组织的利益相关者合作,确定为降低风险所需的归因努力范围。对于那些能够逮捕威胁行为者或发起反攻的组织来说,归因是必须的。然而,大多数组织无法或不应试图抓捕或攻击威胁行为者,了解他们的身份或映射他们的能力。实际上,对特定威胁行为者的归因并不总是必要的。意识到威胁就足以分析和防御它。

    例如,假设有两个威胁行为者针对你组织的知识产权。一个想将信息卖到黑市上赚钱,另一个想利用这些信息为他们的国家建设武器系统。实际上,这并不重要。无论威胁行为者的目的是什么,以及组织是否有能力追踪他们,防御者最终都必须限制或拒绝利用安全漏洞的机会。组织不必评估威胁行为者的动机就能避免威胁。

推荐的安全控制和缓解措施

在相关的情况下,建议会结合 NIST 800-53 标准中的适用安全控制措施进行呈现。每个建议都应在考虑归因的概念下进行评估。

  1. 将账户映射到用户身份。通过生物识别、身份证明、逻辑或物理证据或访问控制验证与用户账户相关联的个人身份。[SA-12: 供应链保护 | (14) 身份与可追溯性]

  2. 制定一个计划,定义你组织如何处理威胁行为者的归因评估。[IR-8: 事件响应]

  3. 建立威胁意识项目,收集并共享关于威胁行为特征的信息,以及如何在您的环境中识别它们,归因证据和其他可观察因素。 使用特定的收集能力,如诱饵罐,用于归因目的。 [PM-16: 威胁意识项目; SC-26: 诱饵罐]

  4. 应用安全和收集控制。执行威胁建模以识别威胁代理人。 [SA-8: 安全与隐私工程原则]

详细报告

在本章中,我们回顾了萤火虫之术——一种由忍者使用的误归因技术。网络威胁组织在复杂度上不断发展,并且很可能将这种技术纳入其操作安全程序中,如果他们还没有这样做的话。我们注意到,已有几个威胁组织被认为正在使用误归因技术,并讨论了处理归因的方法,以及未来归因的前景不容乐观。

在下一章中,我们将讨论忍者在被审问时如何保持合理否认的战术。 该章节还将讨论捕获敌人忍者时使用的高级忍者审问技术和工具。

第十六章:活捉

使用良好的判断力来判断目标是否真的不注意,或者他们是否在施展诡计诱捕忍者。

如果你在夜间巡逻时发现可疑人物,你应该动用所有资源将其活捉。

—吉盛百首 #74

尽管忍者在日常工作中会遭遇致命暴力,万川集海建议捕捉敌人,特别是可疑的忍者,应该活捉而不是立即杀死。通过搜查和审讯被捕的忍者,忍者可以发现袭击者已经做了什么或正在计划做什么,确定入侵者的雇主是谁,学习到有价值的秘密和技艺,这些都能极大地帮助守卫防御忍者攻击,并帮助领主了解战略威胁。此外,被捕的敌人可能是伪装的同袍,直到深入审讯后才会明晰这一事实。^(1) 忍秘传要求将嫌疑忍者手脚捆绑并置于绳索上。忍秘传还建议使用工具,如带刺的口塞,以防止被捕者说话,因为一个熟练的忍者可能会警告盟友,劝说捕捉者释放自己,甚至咬断舌头自杀。^(2)

这些卷轴承认,活捉一名敌方忍者并非易事。万川集海的其中一种更直接的技巧是用辣椒粉浸泡的棉球装填火枪——一种类似古代催泪瓦斯或胡椒喷雾的武器。当近距离射击时,这种投射物会对目标的眼睛和鼻子造成剧烈刺激,使其更容易被捕捉。卷轴中还描述了更多间接战术,如伏死守伏击和陷阱。例如,万川集海中的虎坑陷阱(mogarikoraku)最初是为了捕捉老虎而设计的(如名字所示),但后来被改造用来捕捉忍者。在这个陷阱中,障碍物将入侵者引导通过一系列隐蔽的陷阱。虽然盟友会知道一条信任的路径,但独自夜间潜入的忍者则不会,这使得他们更容易落入陷阱。其他使用的方法包括吊立提,即“假悬挂墙段”,它们看起来像真正的墙壁,但由楔子和假柱子构成。当忍者试图攀爬这些假墙时,墙体会倒塌,给忍者带来惊讶,并可能导致伤害,从而使得他们容易被捕捉。^(3)

Bansenshūkai 还建议采取防守措施以防被捕,提出了识别和避免 fushi-kamari 埋伏的方法。忍者被建议在森林、田野、山谷、沟壑等地察看是否有鸟类、其他动物甚至草丛中的不寻常行为,这些可能暗示着陷阱的存在。假人和不寻常的气味也能暴露埋伏的痕迹。^(4) 在敌方领土中,忍者可以使用多种躲避战术,包括:

  1. 鹌鹑藏身(uzura-gakure) 忍者会蜷缩成球,专心使自己看不见、听不见、不作反应,这样敌人就不容易发现他们。即使被守卫用长矛或剑戳到,他们也不会作出反应。

  2. 狸犬退(tanuki-noki 在步行逃跑时,忍者会故意被更快的追击者“抓住”。当两者之间的距离缩小时,忍者会突然倒地,将剑指向追击者的腰部,在对方反应过来之前将其刺杀。

  3. 百雷阵退(hyakurai-ju 忍者会在目标附近放置鞭炮,要么设置延迟引线,要么安排同伴点燃。鞭炮的声音能够分散敌人的追击注意力。

  4. 狐藏身(kitsune-gakure 忍者通过垂直移动逃脱。忍者不会试图从 A 点逃到 B 点,而是爬上高树或躲进护城河,改变追击的维度。这种战术常常让敌人感到困惑,因为敌人通常不会想到抬头或低头寻找目标。^(5)

其他逃脱方法包括模仿——模仿狗或其他动物以迷惑追击者——以及假对话——通过误导敌人的语言,使忍者有机会逃脱。^(6) 例如,一个知道自己被跟踪的忍者可能假装没有听到追击者的声音,低声与一个虚构的同伴交谈,以便警觉的守卫能听到。如果忍者说:“我们悄悄地去主人的卧室,把他杀掉,”守卫们很可能会派人去主人的卧室,从而让忍者能朝另一个方向逃脱。

当然,忍者避免被捕的最佳方法是没有留下任何能让调查者怀疑的证据。卷轴强调了在执行任务时保持无痕的重要性,以便目标没有理由怀疑忍者的存在。卷轴中有大量关于秘密行动的指导,文字生动形象。Yoshimori Hyakushu #53 说道:“如果你必须在下雪天作为忍者潜入,首先要注意的是你的脚步声。”^(7)

可惜的是,捕获活跃威胁并非许多组织的首要任务。当一些组织在系统上发现威胁时,他们往往做出与忍者卷轴中建议的完全相反的反应:他们立即拔掉机器电源,擦除所有数据,重新格式化驱动器,并安装操作系统的新版本。虽然这种“抹除并忘记”的反应能消除威胁,但它也剥夺了捕获威胁的任何机会,更别提调查它或分析它的目标、已完成的任务及其方式了。

在本章中,我们将讨论能够捕捉和与“活跃”的网络威胁互动的重要性。我们将回顾现有的取证/捕捉方法,以及威胁行为者可能试图规避它们的方式。我们将考虑通过老虎陷阱和蜜罐伏击等方法捕捉“活跃”的网络威胁——这些技巧灵感来源于古代的忍者。此外,我们还将涉及忍者回避战术的现代应用(例如,鹌鹑藏匿和狐狸藏匿),这些战术已被持续性威胁所使用。最后,我们将介绍忍者卷轴中关于捕获和审讯的许多指导——这些指导涉及如何正确控制威胁,以使其无法警告盟友或自我销毁。

实时分析

在网络安全中,计算机取证影像提供了必要的威胁情报。取证影像通常是在安全事件(如恶意软件感染)或使用违规(如设备上下载儿童色情内容)后制作的,影像的制作方式是为了保存证据而不破坏正在调查系统的数据完整性。取证影像中的证据可以帮助安全专家了解威胁是什么,以及它如何利用漏洞。随后,随着时间的推移,这些信息可以为开发签名、保障措施和主动拦截措施提供必要的信息。例如,确定攻击者试图窃取某个关键系统上的特定知识产权,可以告知防御者保护该系统的数据。如果取证结果显示攻击成功并且敏感数据被泄露,组织可以利用这些信息来确定其战略业务响应。如果威胁未能成功,组织则可以为可能的后续攻击做准备。取证指示还可能揭示威胁的责任方,从而进一步决定响应策略。组织的战略应该考虑威胁的严重性——例如,攻击者是外国政府、不满的员工,还是仅仅为了出名进行恶作剧的黑客。

收集设备数据进行分析涉及实时捕获(也称为实时分析实时采集)和成像(也称为法医成像镜像)。组织使用蜜罐和其他虚拟环境诱捕并与攻击者进行互动。此类系统通常被配置为吸引黑客或易于恶意软件访问,以便当威胁渗透系统时,隐藏的日志记录和监控控制能够捕捉威胁的所有行为及其方式,以及其他可观察的数据。不幸的是,许多攻击者已经意识到这些蜜罐,并进行测试以确定自己是否处于一个旨在收集情报的模拟环境中。如果他们的怀疑得到证实,攻击者将采取不同的行为或停止操作,从而破坏安全团队的努力。网络访问控制(NAC)设备还可以通过动态切换系统到被感染的 VLAN 中来阻止实时威胁,在此期间系统保持在线和“实时”,而防御者则进行响应。

法医鉴定通常不会在实时捕获中进行。相反,法医分析师查看的是静态的、无生命的或已死亡的数据,这些数据可能丢失了某些信息或威胁的独特细节。这在无文件恶意软件中尤为常见,这类恶意软件驻留在内存中,或存在于特定的恶意配置或工件中,例如路由表缓存中的那些。由于以下多个原因,实时分析通常不被执行:

  • 专业技术要求

  • 必须绕过要求断开、拔掉、隔离或屏蔽被感染系统的组织政策

  • 缺乏能够进行现场实时分析的法医资源

  • 在调查过程中员工无法访问重要系统

也许最重要的是,如果实时分析处理不当,威胁可能会察觉到系统中的法医成像软件,并决定隐藏、删除自己、执行反法医对抗措施,或对系统进行破坏性攻击。

为了绕过法医捕获技术,威胁会分阶段部署。在初期阶段,即侦察阶段,威胁会检查捕获技术的存在,仅在验证它可以安全地在环境中运行后才加载恶意软件和工具。对于威胁行为者来说,这种预防措施是必要的。如果成功捕获并进行法医分析,威胁的工具和技术可以与其他组织和防御者共享,帮助他们从攻击中学习、修补漏洞或开发对策。执法机关甚至可能使用法医捕获战术来追踪或提供针对威胁行为者的证据。

最近,精密的攻击者已横向渗透到计算机和网络领域,这些领域标准的取证成像、捕捉和分析工具无法检查。这些攻击者的创新包括安装硬盘固件,创建一个隐藏的、加密的文件系统;将恶意软件嵌入 BIOS 存储;利用本地微芯片存储在正常工作内存之外进行操作;以及修改网络设备(如路由器、交换机、智能打印机等传统上不被取证成像检查的设备)上的低级模块和代码。有些威胁通过渗透原始制造商(天然被信任且不考虑进行取证分析)来模仿核心操作系统或受信任的安全组件。另一些则通过删除取证证据、转移到一个不经常重置的系统内存中(如域控制器),然后等待相关系统的取证审查减弱后,再返回原目标。

面对实时威胁

组织常常发现自己在处理一个活跃的安全事件时,唯一经过取证成像工具培训的人员正好不在办公室。有时需要几天时间才能将隔离的机器送到该人员进行检查,而此时攻击已经不再是当前威胁的实时表现。这种无法与威胁保持同等速度甚至更快的应对能力,使得防御人员沦为取证清道夫——在威胁行为者已经达成目标后,收集证据并清理感染的人。为了捕捉活跃的威胁并进行彻底审问,必须主动建立应对能力、陷阱和埋伏。

  1. 建立取证能力。 致力于并投资于建立一支专门的团队,配备必要的设备、经验、认证和授权来进行计算机取证工作。创建包含写入阻止器、安全硬盘以及其他专业软件和设备的取证工具包。确保所有用于捕捉和分析的系统都具备适当的取证代理,以便团队能够立即识别、定位、隔离并进行数据采集。确保所有员工理解如何帮助取证团队识别和定位受影响的系统,并保存证据。如果自上次进行取证调查已超过一个月,应该与取证团队一起开展复训课程或演练。最重要的是,当取证报告完成时,仔细阅读报告以发现安全事件的根本原因,并采取主动措施修复被利用的漏洞。

  2. 执行蜜罐伏击。在适当的情况下,授权你的团队进行威胁行为者的伏击,而不仅仅是追踪他们的足迹或将其引入蜜罐。积极地捕捉和伏击威胁需要与你的云服务托管商、互联网服务提供商(ISP)、注册商、VPN 服务提供商、互联网犯罪投诉中心(IC3)、金融服务机构、执法机关、私人安全公司及商业公司建立密切合作关系。支持创建对威胁行为者敌对的网络领土的目标,在这里,你与合作伙伴的联合力量可以伏击威胁行为者、组织或行动,捕获证据、恶意软件、工具和漏洞。

  3. 设置虎落陷阱。考虑在你的网络中可能成为目标的地方设置虎落陷阱,例如域控制器。市场上存在一个机会,即开发一种具有蜜罐功能的操作生产系统,如果执行错误操作,系统将触发。这是因为威胁行为者通常在试图绕过安全控制时,会从一个系统转移到另一个系统,或在系统和网络之间横向移动,因此可能可以建立虚假的或带有陷阱的跳转箱,这些跳转箱看起来像是通向其他网络的路径,但实际上却是用来困住威胁的。以这种方式部署这些陷阱,使得错误操作会导致系统冻结、锁定或隔离攻击,从而允许防御人员检查、互动或进行现场取证捕获威胁。通过冻结 CPU 时钟、使硬盘仅在缓冲模式下操作,或者使用虚拟机监控器来捕捉并记录活动来实现。提供培训,确保系统管理员和其他 IT 专业人员能够在不陷入陷阱的情况下远程访问合法路径。

推荐的安全控制措施和缓解措施

在相关的情况下,推荐的措施会展示出符合 NIST 800-53 标准的安全控制措施。每项措施应以现场捕获的概念为依据进行评估。

  1. 如果没有授权或能力对外部系统和组件进行取证调查,请限制在组织内部使用外部系统和组件。[AC-20: 使用外部系统 | (3) 非组织拥有的系统和组件]

  2. 使用外部传感器和安全信息与事件管理系统(SIEM),并且这些系统无法轻易访问时,实施自动化机制以全面收集现场数据、PCAP、syslog 以及进行取证分析所需的其他数据。[AU-2: 审计事件;AU-5: 对审计处理失败的响应 | (2) 实时警报;IR-4: 事件处理 | (1) 自动化事件处理流程;SA-9: 外部系统服务 | (5) 处理、存储和服务位置;SC-7: 边界保护 | (13) 安全工具、机制和支持组件的隔离]

  3. 如果您决定实施非持久性措施来防御威胁——例如定期重建或重新映像所有系统以销毁任何未经授权的访问——请考虑在重新映像或拆除之前进行取证采集,以保留威胁证据。[AU-11: 审计记录保留 | (1) 长期检索能力;MP-6: 媒体清除 | (8) 远程清除或擦除信息;SI-14: 非持久性;SI-18: 信息处置]

  4. 在您的组织中实施、记录并执行基准系统配置,以便取证分析员更容易判断哪些信息可能已被威胁篡改。[CM-2: 基准配置 | (7) 为高风险区域配置系统和组件;SC-34: 不可修改的可执行程序]

  5. 为您的取证团队提供培训和模拟演练,以便在发生安全事件时能够有效响应。[IR-2: 事件响应培训 | (1) 模拟事件]

  6. 建立一个具有实时取证采集和调查能力及授权的取证分析团队。[IR-10: 集成信息安全分析团队]

  7. 使用防护措施验证取证系统、软件和硬件未被篡改。[SA-12: 供应链风险管理 | (10) 验证为真实且未被篡改 | (14) 身份识别与可追溯性]

事后分析

在本章中,我们回顾了捕获和审问敌方忍者的忍者技巧,以及用来规避被捕的战术。我们讨论了收集更多取证证据如何给威胁者提供更多机会来向调查人员提供虚假的数据点——以及为什么与活跃威胁互动可能更有利。我们还讨论了围绕取证能力的最佳实践,以便能够识别威胁,并探讨了应对威胁的高级技巧,例如埋伏和陷阱。

在下一章,我们将讨论忍者武器库中最具破坏力的攻击方式:火攻。

第十七章:火攻

首先,点火容易;其次,敌人很难扑灭火焰;第三,如果你的盟友同时来攻城,敌人将失去任何优势,因为防线将会人手不足。

如果你打算放火烧敌人的城堡或营地,你需要与盟友提前商定点火时间。

——义盛百首 #83

忍者潜入城堡或防御工事后,最具破坏力的行动之一就是放火——理想情况下是在火药仓库、木材储存处、粮食或供应仓库或桥梁周围。点燃的火源传播迅速且隐蔽;不容易扑灭;并且对城堡的完整性、物资和居民构成了即时威胁。城堡的防守者必须在扑灭火焰和应对由纵火者发出的进攻信号之间做出选择。如果同时要应对两场战斗,目标的防御能力将大打折扣。那些试图扑灭火焰的防守者很容易被前进的敌军赶超,而忽视火源去应战的人,无论如何勇敢作战,最终都会失去战斗。^(1)

这些卷轴详细讨论了火攻,包括执行火攻时使用的各种工具、战术和技巧。在发起攻击之前,忍者会研究城堡内居民的作息,确定他们何时睡觉或哪些关键位置无人守卫。然后,他们与其他入侵者协调时机。忍者为这些攻击设计了许多专用工具,例如火箭、隐蔽的火持筒、地雷、炸弹和可投掷火炬。^(2) 其中最具视觉冲击力的武器是“火马”——将特殊火炬绑在马鞍上的马匹,被放入防御工事内,四处奔跑,散播火焰,混乱地吸引守卫和居民的注意,且难以扑灭。在混乱中,忍者与隐藏在城堡外的部队进行沟通,一旦火势足够蔓延,便发起攻击。^(3)

尽管中世纪的军队具备从远处发起火攻的能力——例如通过弓箭手射火箭——《万川集海》建议指挥官应派遣忍者来点燃火源。与外部攻击相比,忍者设置的火源不容易被发现和扑灭。而且,忍者可以将火源设置在易燃物品或具有战略价值的物品附近,甚至可以在火势蔓延之前加以加燃。^(4)

火攻的成功使其在日本封建时期变得无处不在,因此许多城堡开始实施针对性的反制措施。这些措施包括用土造作(“用石膏进行防火处理”)防火、使用防火或耐火材料如粘土或岩石建造、使用防火屋顶瓦、建立防火巡逻队,并通过指定不重要的建筑(即那些可以被牺牲来防止火灾蔓延到关键基础设施的建筑)来创建防火带。^(5)。守卫们还被警告,火灾可能是故意制造的 distractions,目的是为了促进盗窃、攻击或其他行动(7)(这一建议后来在*《军法事要书》*中得到了反映(8))。

重要的是要记住,忍者没有自动打火机,而防守者则始终保持警惕,以防纵火者(就像现代组织始终维持着防病毒和威胁检测一样)。忍者设计了巧妙的方式来秘密地传递火源、将其武器化,并利用易燃目标。在想象网络攻击如何传递并对目标进行武器化时,记得忍者在火攻方面的巧妙方法。

在本章中,我们将回顾在网络战争的背景下,忍者火攻与现代混合战术的惊人相似之处。火是蠕虫式/自我传播网络攻击的一个很好的类比,因为它会蔓延到能接触到的一切。我们将回顾一些破坏性网络攻击的案例,以及现代对手如何协调和定时这些攻击。我们还会探讨组织用来预防、缓解、遏制和从网络攻击中恢复的各种防御措施。本章的要点可以应用于防火墙,以及更新、更先进的网络防御策略。

破坏性网络攻击

在计算机能够相互连接并进行通信后不久,自我传播的病毒和蠕虫就诞生了。随着时间的推移,破坏性攻击变得愈加猖獗。如今,一个组织网络上的破坏性攻击可以像火一样迅速蔓延,摧毁整个互联网中的系统和数据。考虑到网络空间中系统之间日益增长的互联性以及固有的安全漏洞,任何没有补丁或其他安全防护的互联网连接网络或机器,基本上就是一堆等着点燃的干草。

在 2000 年代初,行业首次出现了勒索软件攻击。在这些攻击中,恶意软件会加密系统或网络的数据(并删除备份),直到目标支付赎金以解密数据。这些病毒迅速从系统传播到网络存储,再到云端,将数据劫持,或者在未支付赎金的情况下通过加密摧毁数据。像忍者火攻击一样,勒索软件通常用来转移对更大计划的注意力。例如,据信是朝鲜发动的攻击者部署了 FEIB Hermes 勒索软件攻击,目的是分散网络防御者的注意力,而攻击者则执行了 SWIFT 金融攻击,给他们带来了数百万美元的收益。^(9)

随后出现了擦除型恶意软件攻击,敌方在多个系统中植入“定时炸弹”病毒,在指定的合适时机删除所有系统数据并擦除备份。一个例子是 Shamoon 病毒,据信由伊朗的威胁行为者对沙特阿拉伯发动,并在周末假期开始时启动,目的是销毁数据并使工业石油系统瘫痪。^(10)

最近,攻击者已针对工业控制系统部署了破坏性恶意软件,使得攻击者能够读取传感器或控制机械开关、电磁阀或操作高炉、^(11) 电网、^(12) 防空系统、^(13) 以及核离心机。^(14) 此类攻击可能使这些关键系统瘫痪或发生故障,进而导致爆炸、其他物理破坏或同时发生的动能攻击。

防止攻击传播的管理工作包括通过加固系统来减少攻击面,这样当系统受到攻击时,经过精细调优的安全控制可以限制损害。此外,弹性也很有用,通过在其他地点和网络中对系统和数据进行多重备份,可以在网络攻击成功破坏主要系统时为组织提供备选方案。(有时这些备份甚至是模拟的或手动的系统。)

更为技术性的防御解决方案包括在网络边界上部署防火墙。然而,如果攻击者绕过防火墙,渗透到网络并启动自我传播的破坏性攻击,防火墙可能会让攻击超出其网络范围;换句话说,防火墙通常设计用于阻止传入的攻击,而不是传出的攻击。其他用于检测和阻止破坏性攻击的工作包括防病毒软件、入侵防御系统(IPS)、主机入侵检测系统(HIDS)和组策略对象(GPO)。这些技术性保障措施可能会立即识别破坏性攻击、响应并中和攻击,但通常是基于特征的,因此并不总是有效。

一种较新的方法是网络保险,它是一种保护组织免受安全漏洞法律和财务后果的协议。虽然这种保险政策可以减轻组织在网络攻击中的责任,但它并不能防御攻击,就像火灾保险并不防火一样。

可以说,防范破坏性攻击的最佳选项包括严格的网络隔离和分割(空气隔离),以限制资源访问并防止自我传播的病毒扩散。虽然这是阻止网络攻击的极有效方式,但鉴于它可能对业务功能产生重大影响,实施起来并不总是可行的。此外,它还可能被“滑板网”和内部威胁绕过。

(网络)火灾攻击的防护措施

组织通常会购买火灾保险,并采取防火和灭火策略。然而,出于某种原因,一些组织购买了网络保险,却没有采取防范网络攻击的安全措施。也许是因为他们没有把网络攻击的风险与实际火灾的风险看得同等严重,毕竟火灾会危及财产,甚至是人命。但随着物联网(IoT)的发展和物理世界与网络空间的日益融合,风险只会增加。采取以下防御措施可能对你的组织帮助巨大:

  1. 进行网络火灾演练。模拟破坏性攻击来测试备份、故障转移、响应能力、恢复能力以及在及时的情况下“撤离”数据或系统的能力。这项演练不同于灾难恢复或备份测试,因为它不是想象中的威胁场景,而是一个活跃的模拟威胁正在与网络互动。(采取加密数据并使用已知密钥等措施,确保在演练过程中不破坏任何数据。)

    Netflix 运行着一个名为“混乱猴子”的长期演练,它会随机断开服务器连接、破坏配置和关闭服务。因此,该组织不断测试自己是否能顺利、及时地进行负载均衡或切换到备份系统。发生真实问题时,安全团队已经设计并测试了可行的解决方案。Netflix 已将“混乱猴子”免费公开,任何组织都可以使用它来提高检测、抵抗、响应和恢复破坏性攻击的能力。^(15)

  2. (网络)防火系统。 将资源专门用于研究所选破坏性攻击的传播方式、它摧毁的内容以及系统的脆弱性。实现只读硬盘适配器,通过在硬盘缓冲区进行操作,使数据“隔离在玻璃后面”,无法被摧毁,因为在只读状态下,数据无法与外界交互。移除“可燃”软件:已知会传播破坏性攻击的应用程序、库、功能和其他系统组件。

    存在一个商业机会,即开发专门的软件、硬件和设备,以防止网络系统受攻击。这些应用程序可能会对市场产生巨大影响,使服务器或数据能够抵御破坏性攻击,或者至少减缓或阻止它们的进展。

  3. 设置网络火力陷阱。 创建自动化的拒绝和欺骗“网络火力陷阱”来引诱对手或恶意程序进入无限循环或触发机制,使攻击能够自我隔离、扑灭或控制,是一个巨大的市场机会。一个聪明的公开报告防御方法是设置网络共享中的文件夹,包含无限递归的目录;当恶意软件尝试遍历文件夹以寻找更多数据时,它会被卡在一个无尽的循环中。^(16) 可以部署专用传感器来检测这种行为,随后它们可以警告事件响应团队或触发命令终止启动无限目录的进程。

  4. 创建动态网络防火隔离/切断线。 网络攻击之所以传播如此迅速,是因为系统通常处于开启状态并彼此连接。尽管攻击可能无法直接危及某个系统,但它可以传播到其他互联的系统。这一点通过成千上万(甚至数百万)在网络空间中自我传播的僵尸网络、蠕虫和其他恶意软件屡次得到证明。

    虽然大多数网络隔离和分割是通过静态设计的架构完成的,但 IT 组织可以实施额外的手动和基于软件的“断开”线。有些组织已知会安装主电磁阀开关,手动将组织与互联网断开。内部局域网通信仍然继续,但所有外部网络连接立即断开,形成物理隔离。这个功能的需求可能看起来极端或不太可能,但在全球“网络火灾”发生时,组织可以选择快速而轻松地脱离威胁,而无需用斧头切断电缆。

    该实施方法的变体是,每个系统、房间、楼层和建筑物都有自己的主开关,使安全人员能够迅速做出决策以阻止破坏性攻击。在收到领导层的攻击通报后,工作人员可以迅速下载任何关键工作文档,然后切换开关,将计算机与网络隔离,防止攻击传播。

推荐的安全控制和缓解措施

在相关情况下,推荐措施将配合 NIST 800-53 标准中的适用安全控制呈现。每一项都应根据火灾攻击的概念进行评估。

  1. 监控组织内部破坏性行为的迹象。通过将数据转发至分段事件收集器,防止篡改系统监控日志、审计事件和传感器数据。[AU-6: 审计审查、分析和报告 | (7) 允许的操作;AU-9: 审计信息保护;SI-4: 系统监控]

  2. 实施网络、系统和流程的隔离/分隔,减少破坏性攻击在网络中传播的可能性。[CA-3: 系统互联;SC-3: 安全功能隔离;SC-7: 边界保护 | (21) 系统组件隔离;SC-11: 可信路径 | (1) 逻辑隔离;SC-39: 进程隔离]

  3. 进行备份测试和恢复力演练,以确定恢复机制和故障保护措施是否按预期工作。[CP-9: 系统备份 | (1) 可靠性和完整性测试 | (2) 使用采样测试恢复;CP-10: 系统恢复和重建 | (1) 应急计划测试]

  4. 在允许删除或销毁数据的命令之前,要求经过合格、授权人员的双重授权。[CP-9: 系统备份 | (7) 双重授权]

  5. 实施措施以维持组织的安全,在发生导致安全系统失效的破坏性攻击时。例如,配置防火墙断开连接后阻止所有通信,而不是允许所有通信,或在检测到攻击时将系统配置为进入“安全模式”。[CP-12: 安全模式;SC-24: 以已知状态失败]

  6. 维护受保护的媒体传输机制,防止破坏性攻击。例如,确保包含敏感数据的硬盘保持离线、断开连接,并存储在一个安全的地方,以防止诸如火灾等物理性破坏性攻击的威胁。[MP-5: 媒体传输;PE-18: 系统组件位置;SC-28: 静态信息保护]

  7. 在将可移动媒体或设备连接到组织的系统或网络之前,进行测试并扫描是否存在恶意软件的证据。[MP-6: 媒体清理;SC-41: 端口和 I/O 设备访问]

  8. 进行风险评估,以确定如果数据和系统遭到破坏,哪些将对组织造成最大危害。对这些系统和数据采取高级预防措施并安装特殊保护。[RA-3: 风险评估;SA-20: 关键组件的定制开发]

  9. 构建防御机制,如恶意代码保护和引爆室,以寻找破坏性攻击能力的证据。[SC-44: 引爆室;SI-3: 恶意代码保护]

总结

在这一章中,我们回顾了火攻以及忍者们如何秘密携带火种并将火作为武器的各种技巧。我们还分析了几起具有广泛影响的网络攻击,并讨论了应对这些攻击的方法。我们还更广泛地探讨了网络威胁如何像火攻的数字双胞胎一样发挥作用。

在下一章中,我们将详细讨论忍者如何与外部盟友沟通与协调,以发起火攻。忍者通过多种巧妙的方式实现了隐蔽的指挥和控制(C2)通信,这些方式与一些恶意软件用来执行 C2 通信的方法相似。

第十八章:隐秘通信

当忍者进入敌人城堡后,若需要与将军沟通,忍者必须让他的盟友知道他的位置。安排好时间和地点来完成这一点是至关重要的。

为了夜袭成功,先派忍者前往敌方位置进行侦察,了解敌情,才能下达指令。

—百首义盛 #12

由于忍者首先是间谍专家,他们必须安全地传递包含侦察报告、攻击计划和其他关键信息的秘密消息,以帮助他们的领主和盟友做出明智的战术和战略决策。同样,领主、将军和其他忍者也需要秘密地告知潜入的忍者何时放火或执行其他战术。这些消息必须让接收的忍者易于解码,但对其他人来说却无法辨认。

万善集海忍秘传军法事要集卷轴都描述了忍者用来与其他忍者、友军或雇主在潜入敌方领土后进行沟通的秘密方法。有些方法极其简单。万善集海描述了将消息隐藏在鱼肚子里,甚至藏在人体内(请发挥你的想象力),这些“携带者”可以轻松穿越边境而不引起怀疑。常见的选择有僧侣和乞丐。同一卷轴中讨论的伪装技巧包括将信息切割成几块,并通过不同的信使发送每一块,接收者将其重新拼接,以及用橘子汁、铁锈水、清酒或蓖麻油制作的墨水,这些墨水在纸上干后不可见,但通过火焰可以显现。忍者甚至开发了忍者五十音——一种非忍者无法破译的自定义字母表,并通过碎片化的词语或字符创造出只有目标接收者才能理解的上下文模糊性。^(1)

一种流行的——且直接的方法——是发送秘密信息的耶布米,其方式是看似正常的箭矢,其实箭杆上卷有一卷秘密卷轴,并且箭羽上有标记,以识别接收者。考虑到封建日本的物流现实,忍者不能总是确保能够在预定的时间和地点射出耶布米箭,因此他们发明了一种箭矢“握手”信号,对外人来说,这可能看起来像是一次小规模冲突。如果一方看到特定数量的箭矢迅速射向同一位置,他们则回射一定数量的箭矢,目标是落在射手的前方。这个信号和反信号建立了友好联系。忍者随后可以射出耶布米箭,箭矢会被捡起并送达预定目标。^(2) 这种通讯方法变得如此普遍,以至于《军法事要书》警告敌人可能通过箭矢发送欺骗性信件;因此,接收者应使用本书前面描述的语言技巧仔细检查yabumi消息。^(3)

对于长距离信号传递或当发送卷轴不可行时,忍者设计了旗帜、火焰、烟雾和灯光信号(hikyakubi)。当这些方法都不可行时,他们使用了秘密的鼓声、锣声和海螺声。一声响亮、独特的信号装置爆炸声告诉忍者准备接收秘密通讯。这种信号模式在渗透前的 1 到 6 天内达成一致,以避免混淆。在初始的hikyakubi信号之后,消息通过鼓、锣或海螺信号传递。^(4)

在本章中,我们将探讨忍者的隐秘通讯方法如何与现代恶意软件的指挥与控制通讯非常相似。我们将讨论为何指挥与控制通讯是必需的,以及它们在威胁活动中的作用。我们将简要讨论现代对手用于隐秘进行这种通讯的各种技术。我们还将探索针对这种技术的各种防御措施以及使用它的挑战。最后,我们将列出一大批安全最佳实践,用以防范指挥与控制通讯。忍者卷轴未提供如何阻止隐秘通讯的指导,这表明可能没有有效的解决方案。

指挥与控制通讯

恶意软件通常无法完全独立和自主。如果能做到这一点,恶意软件将异常庞大、复杂、可疑,并且容易被防御者发现。实际上,大多数恶意软件在威胁活动期间需要来自其控制者的战术指导,因此,威胁行为者使用一种称为命令与控制(缩写为 C2、CnC 或 C&C)的方法与恶意软件、后门、植入物和受控系统进行通信。操作员通过 C2 通信向受损系统发送命令,促使其执行诸如下载数据、更新配置甚至自我删除等操作。C2 植入物还可以通过发送统计数据或有价值的文件、请求新命令,或者回报系统在线的状态以及位置和当前状态来发起通信。网络威胁行为者通常在渗透前一至六周建立 C2 基础设施,例如域名、IP 和网站。

C2 功能广为人知,许多防火墙、IDS/IPS 和其他安全设备与控制措施能够阻止对手直接与目标系统通信或相反。为了绕过这些控制,威胁行为者不断开发更先进的 C2 技术、战术和程序(TTPs)。例如,C2 数据可以嵌入到 ping 负载中,或者隐藏在托管在公共网站上的图片中的命令里。对手曾经在 Twitter 动态和受信网站的评论中使用 C2。他们还通过 C2 在受损系统上建立代理和电子邮件中继;然后,他们通过已知的协议和安全网站进行通信,这些网站未被安全控制和设备阻止。插入受损系统的手机可能会感染恶意软件,该恶意软件在 USB 连接时通过手机塔“呼叫”C2,从而绕过防火墙和其他网络防御,并在手机充电时促进感染主机与 C2 之间的通信。一些 C2 通信方法使用闪烁的 LED 灯(像信号火炬)、变化的 CPU 温度(像烟雾信号)、硬盘或 PC 扬声器的声音(像信号鼓)以及利用电磁波谱来绕过空气隔离与附近机器进行通信。

威胁行为者通过混淆、加密和其他保密技术对 C2 通信进行层叠,以便在不透露命令证据的情况下与受损系统保持联系。对手可能通过以下方式避免被检测:

  • 限制每天传输的数据量,使得每日传输量看起来不异常(例如,每天最多 100MB,以掩盖在两周内下载 1.5TB)

  • 仅在活跃用户时间发送或接收信标,以便与合法用户流量混合(例如,不在周日或假日的清晨频繁发送信标)

  • 定期切换到新的、随机的或动态的 C2 点,以避免统计异常

  • 定期生成伪合法流量以避免行为分析的审查

  • 禁用或删除活动日志,以避免取证分析

高级 C2(指挥与控制)战术、技术和程序(TTPs)可能特别危险,几乎无法被检测到,也很难阻止。考虑一下一个 Windows IT 管理员的例子,他们已经实施了如此严格的防火墙控制,以至于唯一能访问的站点是technet.microsoft.com,这是微软为 IT 专业人员提供的官方技术门户网站。仅允许 HTTPS 协议,防病毒软件已更新并在运行,操作系统也已经完全打上补丁。没有外部程序,如电子邮件、Skype 或 iTunes 在运行,只有管理员需要使用的微软 TechNet 网站。听起来这似乎很安全,但要考虑到中国 APT17(也被称为 Deputy Dog 或 Aurora Panda)将隐藏的 IP 地址编码在发布在微软 TechNet 页面上的评论中——这些评论与一个名为 BLACKCOFFEE 的远程访问木马通信,后者驻留在被攻陷的系统中。^(5) 如果有人检查了代理流量、行为分析、异常启发式、IDS 签名、防病毒软件或防火墙警报,什么显著的迹象都不会表明恶意通信正在发生。

针对复杂的 C2 的高级防御工作通常包括将系统与外界隔离(空气隔离),但近年来,新的 C2 通信技术已经得到发展。一个例子是使用带有 rootkit 或被攻陷固件和恶意软件的 USB 设备,一旦插入系统,就会与被攻陷系统上的植入物进行通信,收集打包的数据,并巧妙地上传以便外泄到外部 C2 服务器。

控制通信

许多组织通常订阅多个威胁指标源,这些源不断提供恶意的 URL、IP 地址和域名,这些地址和域名被观察到作为 C2 服务器工作。然后,组织会在其防火墙和安全设备中发出警报和/或阻止这些威胁。这是防御 C2 的一种良好起点,但新 URL、IP 和域名的源源不断地出现,使得威胁行为者可以采用新的身份并避开威胁指标源。因此,需要采取新旧方法来应对 C2,其中一些方法如下所示。

  1. 遵循最佳实践。 虽然完全阻止所有 C2 通信可能不切实际,甚至是不可能的,但通过实施网络安全最佳实践,你可以阻止基础或中级的 C2。具体来说,了解你的网络、设置边界和流量控制、建立白名单并授权猎杀小组主动阻止或拦截 C2 通信。不要在最佳实践上走捷径,而是要致力于做扎实的安全工作。记录、测试和验证你的最佳实践,并请独立的第三方评估人员提供额外的措施和验证。投资于提升安全性,同时保持并改善你现有的最佳实践基础设施。

  2. 实施带有“远程查看”控制的分段策略。 网络分段和隔离意味着建立多个网络和机器,例如内联网机器和一个与之隔离的非机密互联网机器。分段应防止 C2 通信跨越边界。遗憾的是,用户通常会将其内联网机器临时接入互联网以下载文档或库,或者进行其他安全协议的违规行为。解决此类问题的一种方法是配置内联网机器,使其远程查看另一台连接到互联网的隔离机器。该隔离的互联网机器对用户既不可物理访问,也不可直接访问;他们只能发出命令并查看屏幕,但无法从隔离的互联网机器中接收到实际的原始信息。远程查看机器实际上就像一台显示另一台计算机的电视监视器。因此,C2 通信、恶意软件和漏洞无法通过视频信号跳跃进入造成损害。

推荐的安全控制和缓解措施

在相关情况下,提出的建议将与 NIST 800-53 标准中的适用安全控制一起呈现。每项建议都应考虑 C2 的概念进行评估。

  1. 在系统、网络边界和网络出口点实施保护措施,寻找网络中数据外泄的迹象。这可能意味着阻止加密隧道,防止您的传感器无法拦截,同时还要寻找未经授权的协议、数据格式、水印、敏感数据标签以及离开您网络的大文件或数据流的证据。 [AC-4: 信息流控制 | (4) 内容检查加密信息;SC-7: 边界保护 | (10) 防止数据外泄;SI-4: 系统监控 | (10) 加密通信的可见性]

  2. 建立多个网络,并在互联网与内联网资源之间进行隔离和分段。限制关键内部系统与互联网的连接。 [AC-4: 信息流控制 | (21) 信息流的物理与逻辑分隔;CA-3: 系统互联 | (1) 非机密国家安全系统连接 | (2) 机密国家安全系统连接 | (5) 限制外部系统连接;SC-7: 边界保护 | (1) 物理隔离子网 | (11) 限制进入通信流量 | (22) 用于连接不同安全域的子网]

  3. 限制对任何包含关键信息的系统的远程访问。 [AC-17: 远程访问]

  4. 实施限制和配置控制,以检测和防止未经授权的无线通信。 [AC-18: 无线访问 | (2) 监控未经授权的连接;PE-19: 信息泄漏;SC-31: 隐蔽通道分析;SC-40: 无线链路保护;SI-4: 系统监控 | (15) 无线到有线通信]

  5. 训练你的安全团队和员工识别 C2 通信。[AT-3: 基于角色的培训 | (4) 可疑通信和异常系统行为;SI-4: 系统监控 | (11) 分析通信流量异常 | (13) 分析流量和事件模式 | (18) 分析流量和隐蔽外泄]

  6. 阻止任何未经授权的软件在你的系统上运行,这些软件可能是 C2 后门或植入物。[CM-7: 最小功能 | (5) 授权软件–白名单]

  7. 保护绕过安全控制和边界的直接物理连接到系统;这些包括交换机机柜、以太网墙插座和计算机接口。[PE-6: 监控物理访问;SC-7: 边界保护 | (14) 防止未经授权的物理连接 | (19) 阻止来自非组织配置主机的通信]

  8. 要求检查和扫描进入或离开贵组织的可移动媒体,以防止员工通过交付和移除外部媒体手动执行 C2 通信。[PE-16: 交付和移除]

  9. 实施白名单,以拒绝与任何未获批准作为例外的资源或地址的通信。许多 C2 站点是全新的域名,贵组织没有合法使用的历史。[SC-7: 边界保护 | (5) 默认拒绝—例外允许]

汇报

在本章中,我们回顾了忍者用来接收和发送命令给盟友的各种通信方法。我们描述了各种现代 C2 方法及其对应的忍者方法。然而,我们仅仅触及了表面,因为最复杂的 C2 技术可能尚未被发现。就像忍者最好的隐蔽通信方法从未被记录下来一样,我们可能永远无法了解最先进 C2 技术背后的天才和创造力。我们讨论了几种最佳实践,包括白名单和加密检查,作为减轻对手 C2 的方式,但这一问题的理想解决方案仍待发现。

在下一章,我们将讨论忍者的呼号。这些是通过留下独特的标记或信息与盟友在敌方领土内进行通信的方法。类似于死信箱,呼号从不超出环境边界,因此传统的 C2 通信阻止或检测方法通常无法对其起作用。

第十九章:暗号

当你潜行进入时,首先要做的是标记路线,向同伴显示出口和如何逃脱。

在成功潜入敌区后,要更加注意避免意外地与自己人发生冲突,而不是过多关注敌人。

—吉盛百首 #26

虽然忍者在流行文化中常常被描绘为独行侠,但许多忍者实际上是以小队形式作战的。这些小队特别擅长在现场悄无声息地相互传递信息。《军法示要》手册描述了忍者用来相互沟通的三种暗号或物理标记,这些标记帮助忍者在不引起怀疑的情况下交流。根据这些标记的形式和放置位置,暗号可以帮助忍者识别目标,指示在路口选择哪条道路,提供前往敌方据点的方向,或协调攻击等行动。尽管这些暗号在忍者圈子里十分常见,但参与的忍者会在任务前商定定制的变种,以确保目标或敌方忍者无法在现场识别这些暗号。卷轴建议使用便携、可丢弃、迅速部署和收回的标记,并且标记要放置在地面上。最重要的是,标记必须在视觉上独特,但对于外行人来说却不显眼。

例如,忍者可能会通过在预定的、看似无害的地方留下染色的大米粒,来通知同伴自己所在的位置。一位忍者留下红色大米,另一位留下绿色,以此类推,这样当另一位忍者看到这些几颗彩色大米时,就知道自己的同伴已经经过了。这套系统的优点在于,虽然忍者可以迅速识别这些物品,但普通路人却不会注意到几颗颜色奇怪的大米。使用类似的方法,忍者可以巧妙地指向一根断竹子,指引同伴前往选定的小径,或者他们可以在地面上留下小纸片,标识出一个将被烧毁的住所,从而减少队员成为纵火受害者或嫌疑人的可能性。^(1)

在本章中,我们将探讨在网络环境中如何使用呼号技术,以及网络威胁行为者为何可能使用它们。我们将假设呼号可能放置在网络的哪个位置,以及它们可能的表现形式。此外,我们还将讨论如何在目标网络中寻找这些呼号。我们将回顾检测创造性呼号的挑战,并触及这一挑战的关键点:控制和监控你的环境,以防敌方行为。通过思维练习,你将有机会构建思维模型和解决方案,以应对敌人呼号的挑战。你还将接触到可能防止威胁行为者在你的环境中使用呼号的安全控制措施,以及限制他们能力的手段。

操作员技艺

在 2016 年民主党全国委员会(DNC)黑客事件中,俄罗斯军事机构 GRU(也称为 APT28 或 FANCYBEAR)及其盟友安全机构 FSB(APT29 或 COZYBEAR)在相同的网络和系统上进行操作,但它们未能使用呼号进行相互通信。这一疏忽导致了工作重复、可观察项、异常及其他妥协指示符在受害者网络中出现,可能促成了两次行动的失败。^(2) 缺乏沟通,可能源于这两个情报机构之间的分隔,让我们了解了网络间谍威胁组织能从忍者那里学到什么。

尽管网络安全社区尚未观察到重叠的威胁组使用隐蔽标记,但 DNC 黑客事件表明,确实需要这样的协议。可以合理推测,GRU 和 FSB 对他们的 DNC 黑客行动进行了事后报告,并且他们可能已经决定在未来的行动中,特别是在目标重叠的情况下,实施呼号协议。如果网络间谍组织开始定期以隔离但交叉的方式合作,他们将需要一种沟通多种信息的方式,包括在正常通信渠道无法使用时,简单地传达他们在系统和网络上的存在以及他们的目标的详细信息。

如果这些呼号确实存在,它们会是什么样子?有效的网络呼号最可能:

  • 随着时间的推移,像忍者标记一样发生变化

  • 实施在无法被捕获和逆向工程的工具和恶意软件中。需要使用键盘的人工操作才能识别它们。

  • 存在于重叠间谍组织肯定能够找到的位置,例如珍贵且独特的主域控制器(DC)。考虑到文件安全监控的存在以及 DC 不经常重启的操作现实,威胁组织可能会将标记放置在 DC 的内存中,以最大化其持久性并最小化其可检测性。

目前尚不清楚哪些字符串或独特的十六进制字节可以作为标记;这些标记可能存放在哪些缓存、临时表或内存位置;以及另一个操作员如何轻松发现它们。然而,值得注意的是,网络安全行业已经观察到多个恶意软件家族,它们留下特定的文件或注册表键,作为向病毒的未来副本发出的信号,表明感染已经成功传播到给定的机器(因此它们不需要再次尝试感染它)。^(3) 尽管这种呼叫标识符功能不容易对动态的人类威胁行为者实施,但防御者可以创建文件和注册表键,错误地发出感染信号,促使恶意软件无害地继续前进。

检测呼叫标识符的存在

许多组织难以确定是哪个用户从共享网络驱动器中删除了文件,更不用说检测隐藏在系统远程部分的隐蔽呼叫标识符了。尽管如此,防御者将越来越需要能够防御相互通信的威胁行为者,尤其是在防御者的环境内部。为了有机会抓住威胁行为者,防御者需要培训,并且他们需要实施检测工具,拥有主机可见性。

  1. 实施高级内存监控。 确定网络中高价值的系统——那些你认为威胁行为者可能会攻击或需要访问以继续前往目标的系统。然后,探索你组织现有的能力,以监控和限制这些系统上的内存更改。同时,看看供应商提供的产品和服务。评估调查这些内存更改来源所需的工作量和时间。最后,确定你是否能够自信地判断这些更改是否表明目标机器已经被攻陷。

  2. 培训你的人员。 培训你的安全、侦查和 IT 团队,将内存中的法医证据视为潜在的入侵指示,尤其是当它们出现在高价值目标中时,而不是忽视他们发现的任何不一致之处。

推荐的安全控制与缓解措施

在相关的情况下,推荐措施将与 NIST 800-53 标准中的适用安全控制一起呈现。每一项都应考虑呼叫标识符的概念。

  1. 确保以前的用户信息对当前访问同一系统或资源的用户不可用。[SC-4: 共享资源中的信息]

  2. 确定可能用于未经授权信息流动的系统通信。一个潜在隐蔽通道的例子来自控制“PE-8: 访客访问记录”。访客用来签入设施的纸质日志本或不受限制的数字设备,可能会受到信息标记的影响,向分隔的间谍行为者发出信号,表明其他团队曾访问过该地点。[SC-31: 隐蔽通道分析]

  3. 搜寻潜在攻击和未经授权的系统使用的迹象,并部署监控设备以跟踪感兴趣的信息交易。[SI-4: 系统监控]

  4. 保护系统内存,防止未经授权的更改。[SI-16: 内存保护]

简报

在本章中,我们回顾了忍者小组在敌方领土内彼此传递信号时使用的物理标记。我们了解了这些信号的作用及卷轴中提到的良好信号的特征。接着,我们回顾了一次网络间谍行动,其中由于缺乏信号而导致的协调失误暴露了威胁集团的活动。我们讨论了现代威胁集团可能会继续提高技术水平—这一水平可能包括采纳信号技巧。我们探讨了现代数字信号可能的形式,以及我们如何发现它们。

在接下来的章节中,我们将讨论忍者信号的对立面:忍者为确保不留下任何活动痕迹在敌方领土中采取的预防措施,正如卷轴所示。高级技巧包括制造假信号,旨在欺骗防守方。

第二十章:光线、噪音和垃圾管理纪律

古老的忍者传统中有云,你在用火观察敌人之前,应该先锁好门。

如果忍者在下雪时潜入,必须特别小心的是脚步声。

—吉盛百首 #53

避免引起不必要的注意是他们职业的一项核心纪律,忍者们在隐匿方面训练得非常刻苦。如果灯笼发出的光线干扰了动物,脚步声回响并惊醒了熟睡的目标,或是食物残渣引起了守卫对入侵者的警觉,那么忍者就可能把任务——如果不是生命——置于险境。因此,卷轴中提供了大量关于在保持光线、噪音和垃圾管理纪律的同时,进行战术移动和操作的指导。

光线管理纪律包括一般的战术。例如,卷轴建议潜入的忍者在点燃火把之前,先从内部锁上门,以防光线(以及房间里的人)泄露出去。^(1) 它还包括一些具体的技巧。《万川集海》详细描述了一些巧妙的光线管理工具,如火卵。这是一种特别的可燃材料,中央有一颗炭火,被压缩成鸡蛋的形状和大小。火卵被忍者掌心握住,打开或闭合手掌可以控制空气进入炭火的量,从而调整光线的亮度或昏暗,并让忍者能将光线引导到特定的、狭窄的方向。^(2) 使用这个工具,忍者可以迅速打开手掌查看房间内是否有人在睡觉,然后通过紧握拳头迅速熄灭光线。因此,火卵拥有类似现代战术手电筒的按需定向光控制和开/关光控制功能。

对忍者来说,保持安静至关重要,卷轴中描述了许多技巧,帮助忍者在潜入目标时保持沉默。《忍秘伝》建议忍者咬住一条纸条,以减弱呼吸声。类似地,有些忍者通过用双手掌抓住脚底,然后用手走路来减少脚步声的响动。这项技巧肯定需要大量的练习和适应才能成功执行。忍者还常常携带油或其他粘稠物质,用来润滑嘎吱作响的门轴或木质滑动门——任何可能发出声音并引起他人警觉的物品。卷轴还警告说,不要过度使用这些液体,因为它们可能会在地面上积聚,暴露出有人闯入的痕迹。^(3)

并非所有忍者的噪音纪律技巧都是为了最小化噪音。卷轴中也提供了制造故意喧闹的指导。《正忍记》描述了一种叫做靴替的噪音纪律技巧,实际上是通过改变步伐,而不是换鞋,来改变步伐声音。一名渗透的忍者可以拖步、跳跃、装作跛行、走碎步,或者制造出可听的但清晰的脚步声来迷惑任何在倾听的人。然后,当他们恢复自然步态时,听者会误以为他们听到了另一个人,或者错误地认为他们追踪的人突然停下了脚步。^(4) 《忍秘传》则描述了拍打木块或大喊“贼啊!”或“救命!”以模拟警报,测试守卫对噪音的反应。^(5) 《万全守诀》描述了一种更为控制的噪音测试方法,在这种方法中,忍者在目标或守卫附近逐渐提高耳语的声音,以确定目标的噪音检测阈值。噪音测试帮助忍者具体观察目标的反应,包括:

  • 目标反应有多快?

  • 守卫之间是否有关于听到噪音的争论?

  • 守卫是否迅速警觉地出现,并持有武器?

  • 噪音是否让目标措手不及?

  • 目标是否完全没有察觉?

这些观察不仅能告诉忍者目标的警觉性和听力有多敏锐,还能揭示目标应对事件的技能和准备情况——忍者可以利用这些信息来调整渗透策略。^(6)

就物理证据而言,忍者早在“环保”成为口号之前就已经实行“无痕”策略。一个名为长袋(或“长包”)的工具有助于隔绝声音并收集垃圾。当忍者攀爬高墙并需要切开一个孔来穿过时,他们会在下面挂上一个大而厚的皮质长袋,袋内衬有毛皮或毡布,用以收集从墙上掉下的碎片并压低声音。忍者可以将这些碎片悄悄地放到地面上的隐蔽处。这比让碎片掉落到地面或溅入护城河要好得多。^(7)

在本章中,我们将忍者的光线、噪音和垃圾抽象为它们在网络安全中的等效威胁。我们将回顾一些威胁组织使用的工具和技术,这些工具和技术旨在最小化它们留下的证据,并探讨一些程序性技艺纪律。我们将讨论如何检测“低慢威胁”以及如何调整你的环境以便为自己所用。这个思维练习将研究忍者用来掩盖脚步声的技巧,这一技巧理论上可以应用于现代数字系统。章节的最后,我们将讨论检测纪律,作为应对一位精通网络中可观察行为(或无法留下这些行为)的对手的手段。

网络光、噪音和垃圾

数字世界的行为不总是与物理世界相同。理解并持续寻找网络中“光、噪音和垃圾”的数字等价物可能是一个挑战。由于防御者缺乏时间、资源和能力来监控和追踪其控制下的数字系统,对手的光、噪音和/或垃圾痕迹常常未被记录。因此,威胁行为者可能比进行物理渗透更容易执行网络渗透。

许多扫描和利用工具与框架,如 Nmap,^(8) 具有限速模式或其他“低速且缓慢”的方法,试图控制目标网络上数据包或有效载荷的大小、数据包频率和带宽使用。对手开发了极小的恶意文件(例如,中国劈刀(China Chopper)可以小于 4KB^(9)),这些文件利用防御者的假设,即文件的足迹如此轻微,不会造成伤害。恶意软件可以配置为通过不频繁地向指挥与控制(C2)站点发送信号,来最小化其产生的噪音,或者通过故意进入休眠状态或长时间执行无操作(NOP),在进程日志或内存中最小化噪音。为了避免留下可能暴露其存在的数字垃圾,某些恶意软件不会将任何文件写入磁盘。对手和邻近网络基础设施上的恶意软件可以选择被动地收集信息,从而对目标内部环境有一个缓慢但富有成效的理解。值得注意的是,这些威胁中的许多也选择接受因其执行攻击活动而产生的网络光、噪音和/或垃圾的风险。

合理推测,足够先进的对手有相应的程序来限制网络光、噪音和垃圾,例如:

  • 将与目标的通信限制在每天少于 100MB

  • 确保恶意软件工件、文件和字符串不容易被识别为可能暴露其自身存在或归因于恶意软件的垃圾

  • “静默”日志、警报、陷阱和其他传感器,以便安全系统不会对入侵者的存在做出警报

目前看来,大多数安全设备和系统的设计是响应已知威胁的确切特征,例如特定的 IP、事件日志或字节模式。即使是专门的软件,如 Wireshark,^(10) 也能实时向分析人员展示威胁活动,但收集、处理和研究这些信息依然需要大量努力。将这种工作流程与听到脚步声后做出反应进行对比。由于人类无法像感知物理环境一样感知数字领域,安全措施基本上就像是有视觉和听觉障碍的守卫,等待着威胁在房间对面出现时发出提示后采取行动。

检测纪律

不幸的是,对于那些精于隐匿技巧的人来说,并没有理想的解决方案。一些威胁行为者在这一领域拥有相对于防御者的巨大优势,他们可以未经授权访问安全团队的事件工单工具,并监控其中任何提及他们自己威胁活动的新调查。然而,仍然可以做出改进,进行培训,部署对策,并尝试一些防御技巧来使威胁者犯错或被捕。

  1. 练习警觉性。作为威胁狩猎、事件响应和安全分析培训的一部分,教导您的安全团队寻找敌人轻微痕迹、噪音或杂乱的迹象。

  2. 安装嘎吱作响的门。考虑实现欺骗性攻击感知和警告(AS&W)指示器,例如,在域控制器或其他敏感系统或网络设备上每分钟触发的安全事件。例如,您可以实施一个警告,内容为“[安全事件日志警报]:Windows 未能激活 Windows Defender/验证此版本的 Windows。”这可能会误导渗透者认为您没有关注警报,从而促使对方“关闭”或“重定向”安全日志,避开您的传感器或分析人员。假如虚假警报突然消失,这将通知您的防御人员敌人的存在(或者,在正常崩溃的情况下,告知需要重启系统或由 IT 部门调查故障)。

  3. 打响木质响板。考虑一下,先进的敌人可能如何故意触发警报或从您环境中的受保护或隐藏位置产生明显的网络噪音(即,攻击已知的蜜罐),以观察您的安全团队的检测和响应能力。这相当于网络中的忍者,在夜晚悄悄跑过您的房子,用两块木板猛地拍打,测试您的反应。可以合理假设,一些敌人可能会以这种方式评估您的安全防御,以便确定他们是否可以在不被发现的情况下使用零日漏洞或其他隐秘技巧。

推荐的安全控制和缓解措施

在相关情况下,提出的建议会配有适用的 NIST 800-53 标准中的安全控制。每一项建议都应从攻击可能伴随的光、噪音和杂乱因素进行评估。

  1. 通过模拟网络渗透,确定您组织的检测能力,既模拟快速攻击的敌人,也模拟缓慢潜行的敌人。记录哪些日志与哪些可观察活动相关,并找出可能存在的感知盲点。[AU-2:审计事件;CA-8:渗透测试;SC-42:传感器能力和数据]

  2. 将事件日志、警报和可观察信息与已记录的威胁行动进行关联,以更好地教育您的团队并测试您对威胁在网络上“发出的声音”的感知。[IR-4:事件处理 | (4) 信息关联]

  3. 调整你的沙盒和引爆室,以寻找潜在威胁行为者的迹象,他们试图执行网络领域中的光、噪音和垃圾纪律。[SC-44: 引爆室]

  4. 使用非基于签名的检测方法,寻找旨在避免签名识别的隐秘有序活动。[SI-3: 恶意代码防护 | (7) 非基于签名的检测]

  5. 部署信息系统监控以检测隐秘活动。避免在高活动区域放置过于敏感的传感器。[SI-4: 信息系统监控]

简报

在本章中,我们回顾了忍者采取的预防措施和他们用来隐藏活动证据的工具——例如,衡量他们能制造多少噪音才不会引起警卫警觉,并了解如果忍者活动被发现,目标可能采取的行动。我们讨论了敌对方使用的几种网络工具,以及这些工具如何被理解为相当于光和噪音——这些都是防御者可以检测到的证据。最后,我们回顾了防御者可以采取的潜在对策。

在下一章中,我们将讨论有助于忍者渗透的情况,因为这些情况能够减轻光、噪音和垃圾的问题。例如,一场强烈的暴风雨可以掩盖噪音,遮挡视线,清除他们存在的证据。网络防御者可以考虑类似的情况来保护他们的系统。

第二十一章:渗透的情境

你应该在敌人动的时候立即渗透,而不是在他们不动的时候尝试——这是一种有原则的做法。

在暴雨中,当雨势最猛烈时,你应该利用这个机会进行忍者活动和夜间攻击。

—吉盛百首 #1

忍秘传万川集海都建议,在对目标采取行动时,忍者应该利用掩护来避免被发现。他们可以等待自然形成的掩护环境,或者在必要时自行创造这种环境。卷轴提供了多种可以帮助渗透的情况,从自然现象(强风和暴雨)到社交聚会(节日、婚礼和宗教服务),再到忍者发起的活动(放马、制造争斗和纵火)^(1)。无论这些情况来源如何,机智的忍者应能利用分心、兴奋、混乱和其他使目标注意力分散的条件。

忍者能够将恶劣天气转化为有利的渗透条件。例如,暴雨意味着街道空旷、能见度差,并且滂沱大雨可以掩盖忍者的动作声。^(2) 当然,坏天气对所有人来说都是不利的,吉盛百首的第二首诗提到,暴风雨过于猛烈时,忍者也可能被压倒,难以执行战术和技巧:“在死寂的夜晚,风雨肆虐,街道黑暗得忍者难以发动夜间攻击。”^(3)

忍者还利用了其他一些更为个人化的情况,比如目标家中的悲剧性死亡。卷轴指出,当目标处于哀悼状态时,他们可能会有两到三晚睡不着觉,这意味着忍者可以在葬礼或丧亲期间伪装成哀悼者,趁机接近目标,或者等到目标在第三或第四晚彻底睡着时再进行渗透。^(4)

当然,忍者的任务并不总是与天意相符。在某些情况下,忍者会自己让目标堡垒中的人患上重病。生病的人无法有效防守,而他们担忧的看护者为了照顾病人而无法入睡。当病人开始恢复时,松了一口气的看护者会沉沉入睡,此时忍者便可以渗透进去。或者,忍者可以摧毁重要的基础设施,比如桥梁,然后等目标在夏季的酷热中进行艰难的重建工程后,再去渗透疲惫的敌人。^(5)

有效的分散注意力也可能更直接地具有对抗性。《万川集海》描述了一种名为虚隙(“通过惊讶创造空隙”)的技巧,该技巧利用军事力量或其他忍者的帮助。这些盟友使目标认为攻击正在进行中,可能通过开枪、击打战鼓或喊叫,忍者可以在混乱中悄悄渗透。当忍者想安全撤退时,这一技巧会简单地重复。^(6)

在本章中,我们将回顾如何利用情境因素来帮助渗透,如《忍者卷轴》中所描述的应用于数字时代。情境因素的使用依赖于防御者、安全系统和组织的有限注意力。过载、混淆和误导这些有限的注意力创造了威胁行动者可以利用的机会。我们将识别在现代网络环境中可以发现的各种机会,并解释它们如何与《忍者卷轴》中描述的情况相似。最后,我们将回顾组织如何通过采取防范措施和增强韧性,准备应对可能削弱防御的情况。

对抗性机会

网络安全对手可能会分散其目标的注意力,并创造条件,使得像忍者曾经做的那样广泛且明智地检测到渗透。例如,当网络防御者检测到突然的分布式拒绝服务(DDoS)攻击时,标准操作程序要求评估 DDoS 的强度和持续时间,并创建一个安全事件单来记录该活动。防御者可能不会立即怀疑 DDoS 是威胁行动者攻击网络的掩护。因此,当攻击压倒目标的安全传感器和数据包捕获(pcap)及入侵检测或防御系统(IDS/IPS)未能开启时——换句话说,当有太多通信无法检查时——防御系统可能会自然地将数据包匆忙传送而不检查是否含有恶意内容。当 DDoS 攻击停止时,防御者会注意到没有显著的停机时间,并将其状态恢复正常,而没有意识到,虽然 DDoS 只持续了 10 分钟,但数据包洪流给了对手足够的时间和掩护来攻破系统并在网络中建立立足点。(如《吉盛百首》第二章所警告的那样,“强烈的风暴可能阻碍目标和攻击者”,对手不太可能部署过于强烈的 DDoS 攻击。这样做可能会导致网络设备丢失数据包并失去通信数据——包括他们自己的攻击。相反,攻击者更可能限制目标系统的性能,以压倒安全防护,而不干扰通信。)

对手有很多其他方法可以在渗透目标中创造有利的环境,他们仅受限于他们的聪明才智。攻击服务和基础设施的质量与可靠性可能会带来优势,例如破坏互联网服务提供商(ISP)或互联互通。耐心的攻击者可能会等待商业供应商发布有缺陷的更新或补丁,之后目标的安全或 IT 团队可能暂时创建“允许任何-任何”条件或移除安全控制以排除故障。威胁行为者可能会监控公司的资产获取过程,以确定何时将新系统和服务器迁移到生产环境或云端——从而知道这些目标可能会暂时没有防护或未正确配置以防范攻击。威胁行为者也可能会追踪公司合并,并尝试渗透不同公司合并网络时产生的漏洞。其他对手可能会利用目标建筑内举办的特殊事件,例如大型会议、供应商博览会和第三方会议,在陌生人中间混入人群并渗透目标。他们甚至可能在过程中顺便拿到一个纪念品袋。

对抗的困境

被认为是不可行的,无法保证数字系统的 100%正常运行时间,而且要保证这些系统在任何时候都能 100%安全,几乎更为困难。此外,几乎可以肯定的是,无法防止灾难、危害、事故、故障和不可预见的变化——其中许多将创造出有利条件,供机会主义的威胁行为者进行渗透。过于谨慎以避免这些情况可能会妨碍企业在战略上大胆行动并实现目标。解决这一困境的办法可能是冗余层次化系统,以减少渗透机会。安全团队可以实施等同于高可用性安全的措施——在系统较弱的地方冗余地层叠安全措施。实践意识和准备。 作为安全团队变更管理、事件、事故、危机、自然灾害和其他干扰或困惑情况的协议的一部分,训练你的安全团队寻找迹象,表明某个事件是由对手制造或利用来渗透组织的。将角色责任记录在组织政策和程序中。使用威胁建模、桌面演习和风险管理来识别潜在的干扰因素,然后考虑为应对它们采取保护措施、对策和防护。

推荐的安全控制和缓解措施

在相关的情况下,建议会结合 NIST 800-53 标准中的适用安全控制进行呈现。它们应该在考虑渗透环境的背景下进行评估。

  1. 确定并记录在紧急情况或其他极端情况下,如何处理不同的安全控制和协议——例如身份验证——以减轻敌方渗透的风险。[AC-14: 无身份验证或认证的允许操作]

  2. 建立关于在特殊情况下使用外部信息系统的控制和政策。[AC-20: 使用外部信息系统]

  3. 在应急训练期间(例如消防演习),进行渗透测试演习,以测试防御和检测能力。[CA-8: 渗透测试;CP-3: 应急训练;IR-2: 事件响应训练]

  4. 对访客实施物理访问限制,并针对无法护送大量无控制人员的情况采取措施——例如,火灾发生时的消防员——但仍需防止未经授权的系统进出。[PE-3: 物理访问控制]

  5. 发展在紧急情况下关闭信息系统和网络的能力,当怀疑敌方已经突破防线时,实施关停。[PE-10: 紧急关停]

  6. 考虑您的组织如何将对敌方的意识和狩猎纳入应急计划中。[CP-2: 应急计划]

  7. 评估是否在后备站点突然转移或恢复业务操作会为敌方渗透创造有利的机会。然后考虑适当的防御保障和缓解措施。[CP-7: 备用处理站点]

事后总结

在本章中,我们回顾了创造和/或等待能够掩护渗透目标的情形这一战术。我们看了几个例子,展示了忍者如何在目标防御严密时创造机会,同时探索了这一战术在现代网络环境中的应用。我们讨论了在弱势时期如何管理安全,并通过思维练习,研究了在无法避免、转移或反制的情况下,如何为可能的风险情形做好准备。

在下一章中,我们将讨论零日漏洞,或一种如此新颖或机密的渗透手段,以至于尚未有人想到如何防御它。忍者有类似零日漏洞的利用技巧;这些技巧非常机密,以至于禁止记录下来,卷轴中只间接提及这些技巧。我们只留下了隐晦的线索——这些线索是为了提醒忍者他们曾学过的秘密技巧,而不是教导它们。即便如此,卷轴还是提供了如何创造新零日漏洞、防御它们的程序以及执行这些漏洞的间谍技巧的见解。此外,卷轴还描述了几种历史上的零日技巧,这些技巧因被披露而失传,给我们提供了对现代零日漏洞的洞察,以及对未来零日漏洞的预测。

第二十二章:零日漏洞

一个秘密只有保持不泄露才能奏效;如果泄露出去,你就会失败。

你应该意识到,不应使用任何已经为人所知的古老方式,因为这样你会失去出其不意的优势。

—《正忍记》,《高木を超え飛行機に入るの習い》^(1)

忍者的一个关键战术优势就是隐秘性。卷轴反复警告忍者要防止他人了解他们的能力细节,因为如果某项技术被泄露给公众,后果可能是灾难性的。不仅这项技术可能会在几代人之间失效,而且使用该技术的忍者的生命也可能面临危险。《正忍记》和《忍法传》都描述了将忍者的秘密技艺暴露给外部人员的危险,一些卷轴甚至建议杀掉那些发现技艺秘密的目标或观察到忍者行动的旁观者。^(2)

《正忍记》和《忍法传》都引用了因公开暴露而被毁掉的古老技术。例如,当古代忍者(yato(3)进行侦察时,他们有时会穿越农田;他们通过多种方式避免被发现,其中之一就是装扮成稻草人,当有人靠近时摆出一个逼真的姿势。(4) 然而,一旦这个技巧被发现,当地人开始通过冲向稻草人,甚至刺穿它们来测试稻草人的真假。不管忍者的伪装多么逼真,动作多么巧妙,这个技巧变得太危险,忍者不得不开发出新的隐藏方式,或者干脆避免穿越农田。这个技能就这样丧失了。

同样,一些忍者成为了猫狗声音的模仿大师,以便在执行任务时不小心暴露自己的存在时,他们可以通过吠叫或喵叫来让目标相信骚动只是经过的一只动物,无需进一步检查。这个技巧最终也被发现了。警卫被训练去调查不熟悉的动物声音,这使得忍者面临被发现的风险。^(5)

卷轴中还描述了一个情景,其中一座防御工事由狗保护,而忍者无法在不引起警卫怀疑的情况下杀死、绑架或与狗建立友谊。在这种情况下,卷轴建议忍者涂抹鲸油的气味,然后等待狗远离警卫,或者将狗引开。接着,他们会殴打狗,并且连续几晚都这么做。由于鲸油的刺鼻气味和稀有性,这种气味会使狗将疼痛和惩罚与这种气味联系起来,最终狗就会害怕攻击涂抹了这种特殊气味的忍者。当这一技术被公开时,警卫们被训练去注意鲸油的独特气味,或者注意到狗的行为突然发生变化。^(6)

当然,大多数忍者的秘密在忍者实际上成为历史遗物之后,直到许多年后卷轴正式出版时才被揭示出来。因此,那个时代的防御者必须创造出一些技术来挫败他们没有详细了解的攻击——甚至可能是那些攻击者自己尚未考虑到的攻击。

对于作为防御者的忍者,卷轴提供了一些基本的建议。万善集会的《指挥官指南》(7)卷推荐了各种安全最佳实践,包括密码、认证印章、标记、以及秘密标志和信号。卷轴还建议指挥官思考这些安全策略背后的原因;将其与其他标准协议结合使用,如夜间值守和警卫;采取预防措施,如设陷阱;并开发自己的秘密、定制、动态安全方案。综合来看,这些技术能够抵御低技能或中等技能的攻击者,但无法应对最为复杂的忍者(8)。

为此,万善集会最务实的安全建议是,防御者永远不可能做到完全安全、时刻警觉或纪律严明。始终会存在忍者可以利用的漏洞。相反,卷轴强调理解敌人的哲学、思维方式和思考过程的重要性,并敦促忍者愿意尝试新的技术,有时甚至是在应变时:“很难准确地根据情势、时间和地点来决定该如何行动。如果你有一套固定的方式或使用固定的形式,那么即使是最伟大的将军,又怎么可能获得胜利呢?”^(9)

忍者防御者采用了创造性的思维建模,比如通过想象逆转的场景并探索潜在的漏洞。他们从大自然中汲取灵感,想象鱼、鸟或猴子如何渗透到城堡中,并思考如何模仿这些动物的能力^(10)。他们通过研究常见的盗贼(盗人)来获得新的技术。最重要的是,他们信任人类思维的创造力,并不断进行学习、逻辑分析、问题解决以及元认知的灵活性。

尽管忍者的学习有成千上万的课程,它们既微妙又不断变化,但你不能通过传统方式或传承将这些知识完全传授给他们。你需要做的最重要的事之一,就是尽量了解你能了解的所有地方或省份……如果你的思维完全与事物的本质相符,并且以完美的理性和逻辑进行运作,那么你就能穿过“无门之门”……人类的思维是奇妙而灵活的。它令人惊叹。随着时间的推移,无论是清晰还是神秘,你都会意识到事物的本质,理解会从无处而来……在[忍者的道路]上,你应该掌握一切你能够掌握的……你应该利用你的想象力和洞察力来领悟和把握一切事物的方式。^(11)

一个具有前瞻性思维、敏锐头脑和勤奋工作态度的忍者,能够建立足够强大的防御系统,以抵御未知的攻击,迫使敌人投入时间和资源开发新的攻击计划,测试安全漏洞,并与隐藏的防御作斗争——结果只会在整个安全系统动态变化时,再次被挫败。

在本章中,我们将探索现代零日威胁的格局,并理解我们可以将忍者卷轴中描述的哪些哲学和技巧应用于网络安全。此外,我们还将探索各种针对零日的防御措施。本章中的城堡思维练习提出了应对隐藏在现代计算硬件、软件、云计算和网络中的未知和潜在零日漏洞的挑战——所有这些都希望能激发新的见解。

零日漏洞

在网络安全词汇中,很少有像零日(或0-day)这样的术语,能像它一样让防御者和知识丰富的商业利益相关者感到恐惧,它是指一个之前未知的漏洞或攻击,防御者可能不知道如何应对。这个术语来源于公众对攻击或漏洞知晓的天数为零。因为受害者和防御者没有机会研究这个威胁,所以拥有零日漏洞的攻击者几乎总是能成功,特别是当这个零日漏洞针对的是一种常见技术时。例如,STUXNET 使用了四个零日漏洞,破坏了伊朗的一个空气隔离的核浓缩设施,展示了零日漏洞对攻击即使是最安全、最隐秘目标的强大威力。^(12)

零日攻击的价值源于其未知性。一旦威胁行为者利用了零日漏洞,受害者就有机会通过传感器和监控系统捕获攻击的证据,进行法医分析并逆向工程攻击方式。在零日漏洞被公开后,安全专家可以迅速开发缓解措施、检测签名和补丁,并发布 CVE 编号以提醒社区。并不是每个人都注意这些警告或修补他们的系统,但随着零日漏洞变成 1 日、2 日漏洞,成功的几率会越来越低。

零日漏洞的部署方式取决于攻击者的动机。那些急于获得丰厚回报的网络犯罪分子,可能会立即利用零日漏洞发起一次大规模且高度可见的攻击,从而最大化他们的即时收益。更为先进的威胁行为者会建立程序来删除攻击过程中产生的痕迹、日志及其他可观察的证据,从而延长零日攻击的有效期。真正复杂的攻击者会将零日漏洞留给那些防御坚固、具有高价值的目标,因为针对流行技术的零日漏洞在黑市上可以卖到数千美元,或者卖给渴望将其武器化或建立防御的政府,价格甚至超过 100 万美元。

虽然一些零日漏洞源于软件代码中合法的、出于善意的安全缺口,但威胁行为者也可以通过协议或秘密安排,恶意地将零日漏洞引入软件应用的源代码中。定向攻击还可以通过妥协软件库、硬件或编译器,引入漏洞、后门和其他隐藏的弱点,为未来的利用提供条件,方式与忍者加入城堡建设队伍、通过制造只有忍者知道的秘密通道来破坏设计非常相似(卷轴中提到过这种情况)。^(13)

传统上,零日漏洞的发现依赖于具有深厚专业知识的安全研究人员、创意思维的威胁猎人,或者分析师在野外偶然发现攻击他们的漏洞。虽然这些方法依然有效,但“模糊测试”等新技术已经帮助自动化了零日漏洞的检测。模糊测试工具及类似工具会自动尝试各种输入——随机的、无效的和意外的——以发现以前未曾知晓的系统漏洞。AI 驱动的模糊测试器和 AI 防御系统的出现,标志着一个新范式的到来。就像大炮的发明可以穿透城墙,从而促使新的防御战略的产生一样,人工智能的出现也提供了这样的可能性:防御体系未来可能会几乎与威胁本身一样快速演进。当然,攻击系统也可能学会如何压倒任何防御能力,改变行业检测和应对零日漏洞的方式,也可能改变全世界对网络安全的看法。

然而,目前漏洞利用和发现的模式是周期性的。威胁行为者会熟悉一部分漏洞和安全缺陷,如 SQL 注入、XSS 或内存泄漏。当防御者熟悉应对这些威胁的方法时,攻击者会转向利用不同的技术和方法,这样周期就会继续。随着时间的推移,当这些防御者和攻击者离开职场时,我们很可能会看到新一代的威胁行为者重新发现新软件和技术中的相同常见弱点,从而导致旧的零日漏洞重新浮出水面——这个周期将重新开始。

零日防御

零日检测和防护常常成为新进入网络安全市场的厂商的主打宣传,他们喜欢承诺通过其解决方案带来显著的成果。这并不是说他们的解决方案都无效。然而,这个话题很容易滑入庸医推销的领域。放心,我并不是在推销任何东西,而是在提供有关威胁的实际指导,如下所述。

  1. 遵循最佳实践。尽管零日漏洞极其难以防御,但这并不意味着你应该放弃安全防护。遵循行业最佳实践。虽然这些方法可能无法完全消除零日漏洞的威胁,但它们确实能让威胁行为者更难在你的环境中实施攻击,同时也为你的组织提供了更好的机会来检测和应对零日攻击。与其空想潜在的零日漏洞,不如修补并缓解 1 天、2 天、3 天等漏洞,最大限度地减少组织在已知攻击面前暴露的时间。

  2. 使用猎杀小组和蓝队。组建或外包猎杀小组和蓝队,共同制定零日防御策略。

    猎杀小组由专门的防御人员组成,这些人员不依赖于标准的基于签名的防御方法。相反,他们不断地提出假设,推测对手可能利用零日漏洞或其他方法来渗透网络。基于这些假设,他们通过蜜罐、行为和统计分析、预测性威胁情报以及其他定制化技术进行猎杀。

    蓝队由专门的防御人员组成,他们负责设计、测试和实施实际的防御措施。首先,他们记录系统或网络的信息流,然后构建威胁模型,描述可能对当前设计成功的实际和假想攻击。与猎杀小组不同,蓝队的任务不是发现零日漏洞。相反,他们根据零日漏洞评估其信息和威胁模型,以确定如何有效地减轻、保护、加固和防护其系统。蓝队独立于正常的安全、运维和事件响应人员,但该团队应审查现有的事件响应报告,以确定防御失败的原因,并制定针对类似未来攻击的主动防御策略。

  3. 实施动态防御……谨慎行事。近年来,安全专家们已积极努力引入复杂且动态的防御措施:

    • 尝试让网络成为一个移动的目标——例如,每晚更新

    • 引入随机化——例如,地址空间布局随机化(ASLR)

    • 在交互过程中动态变化——例如,量子密码学

    • 启动不规则的防御条件或免疫反应系统

    其中一些动态防御最初非常成功,但随后对手开发了突破它们的方法,从战略角度看,它们实际上变得静态。

    与网络安全供应商和从业人员沟通,并查阅关于最前沿动态防御的文献,以确定哪些措施适合你的组织。然而,请谨慎行事,因为今天的动态防御可能会成为明天的标准配置,容易被规避的安全层。

  4. 构建一个更加无聊的防御。考虑在你的环境中尽可能利用“无聊”的系统、编码实践和实现。这个概念由 Google 的 BoringSSL 开源项目发起,14,提出简化和减少代码的攻击面、大小、依赖性和复杂性——让它变得无聊——可能会消除高价值或关键漏洞。在这一实践下——无论是在代码、应用程序还是系统层面——代码不是复杂或精巧的,而是单调地被保护并且结构上无变化,实施方式单调简单。理论上,简化代码,使其更易于人类和机器阅读、测试和理解,会使得意外的输入或事件不太可能暴露零日漏洞。

  5. 实践否认与欺骗(D&D)。D&D 可以防止对手获取有关你环境、系统、网络、人员、数据和其他可观察因素的信息,并且可以欺骗对方采取对你有利的行动。让对手的侦察、武器化和攻击传播变得更加困难,迫使他们花费更多时间来测试、探索和验证他们认为存在的环境差距是否真实。例如,你可以通过欺骗性地修改你的系统,使其看起来像是运行了不同的操作系统和软件,比如将 Solaris 实例改为类似 SELinux 系统的外观。(理想情况下,你会实际迁移到 SELinux,但由于传统 IT 系统的后勤问题,可能会让你的组织继续依赖旧软件,远超过预期。)如果你的欺骗有效,对手可能会尝试开发并投送针对 SELinux 实例的武器化攻击——但当然,这将失败,因为你并没有真正运行 SELinux。

    注意,D&D 应该建立在良好的安全实践基础上进行应用,以增强这些实践,而不是仅凭借 D&D 通过安全模糊化来实现安全。D&D 是一种面向极其成熟组织的安全终局策略,旨在为防御持久性威胁行动者提供额外的防护方法,类似于 《万川集海》 中描述的“低调战术”。^(15)

  6. 断开连接以保护。 在讨论断开防御时,《忍经》教你从心理、战略、物理以及其他各方面与敌人断开连接。^(16) 在网络安全中,这意味着创建一个自我流放的蓝队,完全向内转向,与外界隔绝,忽视所有安全新闻、威胁情报、补丁、漏洞、恶意软件变种、新的签名、前沿产品——任何可能影响他们思维、改变他们心态或与敌人建立联系的事物。如果操作得当,断开连接技巧能使防御者的思维方向远离行业标准。对手很难像被断开连接的防御者那样思考,防御者则能制定出独特的、敌人未曾遇见的秘密防御策略,使零日攻击极其难以奏效。

    像 D&D(假设方法)一样,只有在你已经具备精英网络安全技能的情况下,才推荐使用这种方法。否则,孤立自己并在黑暗中行动可能适得其反。

推荐的安全控制和缓解措施

在相关情况下,推荐措施与适用的 NIST 800-53 标准中的安全控制一起呈现。每一项都应以零日漏洞的概念进行评估。

  1. 为你的组织创建定制、动态和自适应的安全保护措施,以加强最佳安全实践。[AC-2:账户管理 | (6)动态权限管理;AC-4:信息流强制执行 | (3)动态信息流控制;AC-16:安全与隐私属性 | (1)动态属性关联;IA-10:自适应身份验证;IR-4:事件处理 | (2)动态重配置;IR-10:集成信息安全分析团队;PL-8:安全与隐私架构 | (1)深度防御;SA-20:关键组件的定制开发;SC-7:边界保护 | (20)动态隔离和分离;SI-14:非持久性]

  2. 保留零日漏洞的记录,包括发现的时间和方式、所针对的技术、漏洞扫描结果以及与预测未来零日漏洞的关联。[AU-6:审计审查、分析和报告 | (5)审计记录的集成分析;SA-15:开发过程、标准和工具 | (8)威胁和漏洞信息的重用]

  3. 进行专业的漏洞扫描、验证和系统测试,以评估零日漏洞的安全性。[CA-2:评估 | (2)专业评估]

  4. 合同聘请专业渗透测试人员,寻找软件、系统和其他技术中的零日漏洞,以便你能够主动防御这些攻击。[CA-8: 渗透测试;RA-6: 技术监控对策调查]

  5. 为你的系统和软件进行威胁建模,评估潜在的零日漏洞,并评估如何通过主动重新设计来减轻这些威胁。考虑实施“枯燥”的代码。[SA-11: 开发者测试与评估 | (2) 威胁建模和漏洞分析;SA-15: 开发过程、标准和工具 | (5) 攻击面缩减;SI-10: 信息输入验证 | (3) 可预测行为]

  6. 实施定制化、多样化、独特的安全防御措施,减轻零日漏洞利用你系统的能力。[SC-29: 异质性]

  7. 部署拒绝和欺骗行动,减少对手进行侦察或武器化并对你的组织发动零日攻击的能力。[SC-30: 隐蔽与误导]

  8. 建立猎人小组和安全小组,搜索零日攻击和漏洞的指标。[SI-4: 系统监控 | (24) 妥协指标]

  9. 定期进行自动化漏洞扫描,检查 1 天漏洞、2 天漏洞、3 天漏洞等。根据需要修补、缓解或修复漏洞。[RA-5: 漏洞扫描;SI-2: 缺陷修复]

汇报

本章回顾了忍者的技艺以及他们数百年来培养的攻击技术的秘密。我们探讨了许多这些秘密忍者技艺与今天我们观察到的零日漏洞和攻击是如何紧密相似的。我们回顾了零日攻击在网络安全、网络战争和信息主导方面的当前状态和潜在未来。本章讨论了零日漏洞的讨论可能显得无意义,但实际上对于应对这种威胁至关重要。

在下一章,我们将讨论如何雇佣合适的人才来应对零日漏洞和各种威胁行动者。我们将回顾忍者卷轴中关于招募忍者的指导原则,并探讨如何将这些指导应用于吸引网络安全人才。网络安全行业存在人才短缺的说法,我怀疑在日本中世纪的动荡时期,忍者也面临类似的短缺问题。忍者卷轴解释了如何识别可以训练成为忍者特工的人,这一角色的风险远高于今天的办公室工作。错误的招聘选择可能会导致人员很快死亡,从而浪费培训投入并危及任务和团队成员的生命。

第二十三章:招聘忍者

为了防御敌人的计划或忍者,或者在紧急情况下,你可能会认为拥有大量人员更为理想。然而,你不应在没有仔细考虑的情况下招募更多人进入军队。

忍者应具备三大原则:巧妙的言辞、大胆以及战略。

—吉盛百首 #38

我们知道忍者在封建日本所执行的许多任务,如进行间谍活动和破坏、领导突袭、收集情报、进行暗杀,以及——或许最有用的——防御敌方忍者。但要利用忍者执行这些任务,领主和指挥官首先必须做与今天的高管和经理们相同的事:招聘和雇佣员工。

《万川集海》和《吉盛百首》中的大量内容散布其中,专门建议领主为何应雇佣忍者,如何及何时使用他们,以及成功的候选人应具备哪些特质——最终成为有效的忍者。根据这些卷轴,理想的忍者应具备:^(1)

  1. 聪明 拥有坚强的意志、逻辑思维、战略眼光、良好的记忆力、敏锐的观察力和快速学习的能力

  2. 耐心 一个深思熟虑但果断的行动者,具有卓越的意志力和自我控制能力

  3. 能干 具有足智多谋、创造力和勇气,在实战中有显著的成绩记录,并且能在困境中看见胜利的远见

  4. 忠诚 真诚、正直且仁慈,对他人负责;愿意为自己的行为承担个人责任

  5. 雄辩 能够有效地与领主沟通,并具有说服员工的能力

除了这些品质外,寻求领导职位的忍者必须能够有效地优先排序,成功执行复杂战术,并在压力下表现出良好的判断力。^(2)

卷轴还指出了某些使候选人不合格的特征,包括自私和愚蠢;不道德(例如,将自己的技能用于个人利益);以及容易过度沉迷于酒精、欲望或贪婪。^(3) 任人唯亲也可能是一个问题。虽然出生在忍者村(尤其是伊贺和甲贺)可能会增加成为成功忍者的机会,得到早期的期望、机会和培养,但出生在忍者家庭并不能保证成功。事实上,这些孩子可能会成为低质量的候选人,具备上述提到的任何负面品质。^(4)

重要的是,在那份包含了各种期望和不期望属性的长名单中,根本没有提到具体要求的技能、过去的经验、教育资质、社会背景、职务或头衔——甚至没有涉及年龄或性别。似乎做忍者是基于个人的品格、价值观、资格和能力的。

虽然这些卷轴没有提供关于如何招聘、面试或评估候选人的具体指导,正忍记却提供了如何理解一个人更深层本质的建议——他们的知识、思维方式、信仰、欲望、缺点和品格。尽管这些方法通常用于间谍活动和目标打击,但它们可以有效地用于适应招聘面试。

例如,正忍记建议访问目标常去的场所,收集了解目标的当地人的信息。最有价值的信息通常来自目标感觉舒适或与店主或顾客有关系的地方,因此在这些地方他们更有可能透露秘密。^(5)

还有一种技巧叫做人に車をかける——“通过赞美让人心醉”。这包括询问目标问题并赞扬他们的回答;这种恭维让你看起来不那么聪明,似乎是在展示对候选人能力的敬畏。做得 convincingly(令人信服),这种技巧能够放松目标,增强他们的自信心,并让他们享受向你谈论自己,这可能会带来各种有价值的情报。例如,一旦他们感到舒适,你可以改变话题,看看他们如何回应出乎意料的问题。他们有自己的看法吗,还是仅仅在复述别人的智慧?^(6)

招募盟友和识别敌人是忍者生命攸关的事务。他们常常需要决定是否将自己的生命托付给某人,或者该人是否会在危险任务中让他们失望。因此,忍者很可能会内化这些技巧和其他标准,成为擅长解读他人的专家,能够快速而不引人注意地评估一个人的能力、知识和品格。^(7)

在本章中,我们将探讨现代组织的常见招聘做法,并识别将忍者智慧融入招聘和培训人才的机会。许多招聘经理甚至历史上的忍者似乎都认为,他们可以通过彻底的面试来评估一个人是否合适。虽然这种方法有时是有效的,但许多候选人由于各种信号步骤、代理前提和人力资源复选框而错过了面试机会,这些步骤可能错误地将他们筛选掉。我们将从这些招聘流程的角度,探讨它们为何未能达到预期效果。

网络安全人才

网络安全行业的爆炸性增长导致了招聘足够人员——尤其是合适人员——以完成所有必要工作的难题。虽然其中一部分原因是因为网络安全是一个相对较新的领域,且具有较高的技术入门门槛,但目前的候选人评估方法同样存在问题。许多私营企业过于重视招聘那些履历上符合条件或在白板题目上表现出色的候选人,但这些人却无法执行工作中的日常任务。候选人、招聘人员和培训项目都已经了解了如何获得工作机会,并据此调整自己,从而削弱了传统候选人评估方法的有效性。大学不断培养出无法解决 FizzBuzz 问题的计算机科学毕业生,而这个问题的设计就是为了测试基本的编程技能。候选人向潜在雇主提供偏颇或编造的推荐信。员工追求那些在简历上看起来很吸引人的无意义职位头衔,但这些职位头衔与他们的工作经验或能力很少相关。职场晋升者通过死记硬背考试获得 IT 或安全认证(通常很快就会忘记这些信息);为提高知名度而发布肤浅、无意义的文章;并通过将自己的名字添加到几乎与自己无关的项目上申请专利。

针对这些招聘漏洞的措施,例如带回家测试,容易通过在线帮助或直接抄袭来绕过。曾经新颖的现场面试白板题目,现在已经变得常规。候选人在面试前已经进行过练习,甚至可能通过公司泄露的资料获取到完全相同的题目。即便这些题目不容易被破解,这些评估方法也无法准确衡量候选人是否具备从事网络安全工作的能力。

公平地说,候选人完全有理由对网络安全雇主产生怀疑。即使一个组织聘用了一个值得称为“网络忍者”的杰出专业人士,也不能保证雇主能够有效地使用他们。虽然这种风险在任何行业中都存在,但对于网络安全公司来说,由于种种原因,这一风险更加严重,包括该高度技术性职业的晦涩性、技术的不断演进、领导层对员工更高级能力的缺乏认知或接触,以及创造力在成功中的重要性。这些员工要想表现出色并影响组织的安全性,就需要领导层的支持,并获得行使其技能的许可,且不必担心受到惩罚或完全被破坏他们的能力。

美国军方是最大的网络专业人士招聘者、雇主和培训者之一,他们可以将几乎没有计算机基础的高中辍学生,经过 18 个月的培训,培养成能够胜任网络战的专家。当然,并非每个招募的人员都能完成培训,因为多层次的要求会筛选掉不合格的候选人——这一做法与《万川集海》中的忍者招募描述非常相似。^(8)

军事招聘的一个独特工具是武装服务职业能力测试(ASVAB)。^(9) 与强调过去成就和职业资质的企业招聘不同,ASVAB 评估的是招募者的学习潜力、适应能力和一般技术能力。该测试的分数用于将候选人分配到他们在接受成功培训后可能会有所成就的职业领域。ASVAB 在军方中非常有效,但值得注意的是,某些网络职位报告了异常高的培训失败率和糟糕的实地表现,这可能是由于这些职位的要求十分严格,而 ASVAB 并未对这些要求进行充分测试。在军事的结构化世界中,识别或培养那些希望用创造性、无畏、独立且基于问题解决思维的方法来应对挑战的人是非常困难的——这种技能集与黑客紧密相关。

人才管理

每个人都希望为他们的组织招聘网络安全专业人才,但人才供应有限。那么,大家该如何获得网络安全人才呢?组织首先应确定是打算自己培养原始人才,还是与其他组织竞争有限的经验丰富的网络安全专家。以下的许多建议适合用来培养人才,但也可能适用于混合模式。许多网络安全专业人士可能会同意,目前的招聘方式已经失败,是时候摆脱所有代理信号,尝试一些新的方法了。作为替代方案,考虑以下的招聘和人才保持方法。

  1. 开始使用实际的面试能力评估。 与面试问答、随机白板谜题、现场编程练习或带回家的项目不同,要求候选人执行与他们所评估的实际工作相关的任务。让他们在与工作实际环境和条件相同的情况下进行试演。如果被录用,他们将面临相同的工作环境。通过将这些练习交给现有员工并审核结果,测试和验证评估,并测量测试表现与实际工作表现之间的相关性。保持评估的模块化,并定期更改,以防止候选人从泄漏的练习或辅导中获益。定期将员工最近面临的挑战纳入测试,以保持测试与工作需求的同步。理想情况下,评估应该能够在 30 分钟或更短的时间内判断候选人的能力,并给候选人足够的时间通过在线研究和/或快速试错来学习。

  2. 实施黑箱潜力测试。 给候选人一个模块化、半随机的伪技术,要求他们发现它是如何工作的,然后尝试破解和/或保护它。这个练习类似于国防部的 DLAB(防务语言潜力测试)。^(10)与测试候选人对现有语言的熟练程度不同,DLAB 使用一种虚假的语言来测试学习新语言的能力。这个方法对于技术来说可能比口语语言更加有用,因为新技术和框架不断出现。黑箱测试的关键标准将评估候选人的以下能力:

    • 快速记忆虚假技术的技术规格、命令或手册。

    • 运用逻辑和批判性思维解决问题或在虚假技术中导航场景。

    • 展现出利用资源以在有人工障碍的情况下实现特定目标的能力,例如绕过虚假技术的本地安全。

    你可能会找到并聘用一位具有高潜力的候选人,他们虽然具备很高的能力,但缺乏执行工作所需的技术技能。在这种情况下,你必须知道,你需要在培训候选人实际技术技能上做出昂贵的长期投资,否则,他们的高潜力将无法帮助你。

  3. 能够识别不合格者。 超越大多数组织所进行的典型毒品测试、推荐检查、背景调查和信用报告,因为这些并不总能准确反映一个人的品格—无论好坏。要认真投入精力,识别那些经常做出有害自己和他人决策的候选人。这些“有害愚笨”人可能拥有学位、认证、良好的信用评分、清洁的毒品测试结果和坚实的工作经历,凭借的是他们的毅力、雄心、勤奋、天赋和运气等其他特质。在面试过程中,探究他们的欲望和动机,以剔除不合适的人员。(当然,过去的有害愚笨决策可能并不代表候选人当前的心态和品格,因此要给予候选人机会,展示他们是否可能在未来做出有害愚笨的决策。)

  4. 培训员工并建立卓越文化。 技术技能是可以教授的,但其他性格特质则需要付出极大的努力去磨炼。找出那些希望成为“网络忍者”的员工,并通过不断挑战、训练和锤炼帮助他们改善《万川集海》中描述的个人素质。指导你的员工采取以下步骤:

    • 努力每天解决越来越复杂的网络问题。

    • 通过记忆训练、自律挑战和围绕技术的耐心锻炼来磨砺思维。

    • 通过创造受自我约束规则支配的有限网络操作情境,学习创造力,然后尝试在遵循这些规则的同时实现目标。

推荐的安全控制和缓解措施

这些建议基于 NIST 800-53 标准和 NIST 800-16 网络人员框架。^(11) 在评估将要实施安全控制的潜在雇员时,请考虑这些建议。

  1. 定义在贵组织执行网络安全职责所需的知识、技能和能力。在人才招聘、雇用和培训过程中,针对这些需求—以及能力基准、员工技能和任务要求—加以处理。[PM-13 安全与隐私工作人员]

  2. 通过审查和记录所需的知识单元,定义“网络忍者”职位的招聘要求,例如:

    • 高级网络技术和协议

    • 数字取证

    • 软件开发

    • 合规性

    • 计算机网络防御

    • 配置管理

    • 密码学与加密

    • 数据安全

    • 数据库

    • 身份管理/隐私

    • 事件管理

    • 工业控制系统

    • 信息保障

    • 信息系统

    • IT 系统和操作

    • 网络与电信安全

    • 人员安全

    • 物理和环境安全

    • 架构、系统和应用安全

    • 安全风险管理

    • 网络安全

  3. 请考虑以下培训、认证和协议:OV-6, ANTP-, ARCH-, COMP-1/5/9/10, CND-, CM-, CR-, DS-, DB-, DF-, IM-, IR-, ICS-, IA-, WT-, SI-, ITOS-, NTS-, PS-, PES-1, RM-, SW-, SAS-

复盘

在本章中,我们回顾了忍者认为在其职业生涯中成功所必需的素质。此外,我们描述了一些忍者使用的背后面试方法。我们还探讨了现代组织当前的招聘流程,以及为什么这些流程未能达到预期效果。我们列举了一些识别合适候选人的新方法。本章中的思维练习今天依然具有现实意义,就像中世纪指挥官们需要雇佣忍者来保护自己免受敌方忍者的威胁一样。招聘像黑客一样的人——那些可能没有好 GPA 或稳定的工作历史,或者可能不穿职业装的人——可能比招聘那些按部就班的人更有效地对抗网络犯罪分子。

一旦你雇佣了这些有才华和/或有技能的防御者,重要的是要建立标准和流程,以便他们能够以有纪律的方式保护你的组织。如果没有明确期望的领导,防御者可能会变得松懈,从而变得毫无价值。在下一章中,我们将讨论岗哨行为。

第二十四章:守卫行为

即使你没有面对敌人,也不要放松警惕。

在守卫所内,要注意不要大声说话、喝酒、唱歌、雇妓或赌博。

—吉盛百首 #65

忍者卷轴中充满了关于如何绕过目标保安人员的细节。对忍者而言,最紧迫且最复杂的防御障碍莫过于敌人的守卫。虽然卷轴指示忍者在守卫无法轻易监控或保护的盲点处工作,但最易被利用的漏洞并非来自糟糕的军事战略或人手不足,而是来自守卫的疏忽和缺乏纪律。

卷轴建议寻找那些明显疲劳、懒散、组织不力、不懂忍者技巧或自满的守卫。有许多方法可以评估并利用守卫的能力。在其他技术中,万川集海 推荐了:^(1)

  • 在守卫附近低声耳语以测试他们的注意力,然后监视他们的反应至少一个小时,以评估他们的反应方法和能力

  • 识别那些受隐藏守卫信号影响的疏忽守卫,揭示潜伏防御者的存在,如听音或嗅觉侦查员

  • 选择那些守卫大声说话、不断交谈,或酗酒或狂欢过度的守卫房,这些都表明守卫缺乏经验或疏忽

  • 等待或制造事件,迫使守卫离开岗位

同样的卷轴还建议忍者观察守卫的行为、动作、举止和行动,以推测他们的纪律性。例如,如果城堡的护城河和周围的围墙保持干净、清晰且照明良好,那么守卫很可能是警觉的,并且注重防御卫生。但如果一些常见的城堡入口点,如角落、溢水口和污水排放口没有得到保护,这可能是守卫或他们的指挥官忽视职责的标志。^(2)

潜入敌人的守卫所使忍者能够获得宝贵的见解,改进自己防守中的守卫纪律、行为和能力。卷轴再次指出,守卫的疏忽和懒散是成功防御的最大障碍,并且要求领主或指挥官克服这些恶习,依靠严格的纪律、艰苦的训练以及对细节的彻底关注,使守卫具备足够的心理韧性,抵御敌人威胁,包括其他忍者。^(3) “每一件事都由你自己的心智和思考方式决定,”忍者诗歌中说道。“如果你总是认为自己面对的是敌人,那么你将永远不会放松警惕。”^(4)

本章将把忍者时代的岗亭与今天的安全运营中心(SOC)进行对比。我们将讨论安全的现代化,安全责任已经转移到所有员工身上,而不仅仅是安全人员。我们将回顾外部威胁行为者如何发现网络上的安全控制/做法薄弱之处。此外,我们还将提出一些理论,探讨安全工作人员与对手之间的直接互动——特别是如果对手能够渗透 SOC/IR 工单系统——以及对手如何评估 SOC 的警觉性。最重要的是,我们将讨论为什么安全工作人员的行为如此重要,为什么它可能会随着时间的推移而退化,以及如何建立一个安全卓越的文化。

安全运营中心问题与期望

对于网络安全和 IT 人员来说,变得懒散、自满、疏忽、疲惫或精疲力尽是特别容易的。为什么?原因有很多。

其中一个最大的原因是人类天性中的一个不幸现实:如果没有人在背后监督,许多工作人员会简单地推卸责任。懒散的网络安全专业人员有充足的掩护。他们的工作对同事甚至上司来说大多是隐形的。许多运营中心都被锁门隔离,员工在里面工作、休息,甚至睡觉,没人知道其中的区别。他们的网络和设备存在于单独的 VLAN 或“研究”机器中,允许他们自由浏览互联网而不进行记录、检查或过滤。

该行业对流程的高度依赖也可能使员工进入一种疏忽或自满的状态。通过程序的重复,安全工作人员会形成熟悉感、习惯和狭隘的防御理念,这使他们对防御组织的意义产生了狭隘的理解。虽然这种倾向源于日常工作的必要例程,但它也导致了高度专业化的单一工具或单一方法的防守者,他们不会考虑攻击者的技术和工具超出自己日常经验的范围。这种有限的思维方式使得组织在安全上存在相当大的漏洞。

充满干劲的员工则面临相反的问题。对于他们来说,在一个需要深厚专业知识、能力和雄心的竞争性领域工作,增加了疲劳过度的风险。经过几个月的威胁和事件追踪后,很容易失去专注,依赖已知概念,等到有安全系统或软件警报时才行动,或者仅学习那些解决特定安全事件所必需的内容。

网络安全专业人员不是计算机素养和安全意识的唯一裁判,所有员工都应共同承担这个责任。不幸的是,这意味着非技术员工的懒惰和疏忽通常比恶意外部行为者对组织构成更大的安全威胁。这些员工可能无意中通过随便点击钓鱼邮件或插入他们在停车场找到的外部 USB 驱动器,暴露公司网络或系统于威胁之中。如果管理层在适当时候不加强安全警觉性和纪律性,那么认真工作的员工将被迫在一个充满粗心员工的文化中工作,甚至这些员工可能会得到奖励。在这些组织中,成功变成了一个消耗战,员工因在没有过度疲惫或辞职的情况下生存最久而得到晋升。这样的环境削弱了有效员工的职业道德、纪律性和诚信,降低了整个员工队伍的水平,使得威胁行为者可以利用这些不警觉员工所创造的众多漏洞。

领导层的支持和能力显著提高员工士气和安全警觉性,正如糟糕的领导决策或组织战略可能削弱安全态势并破坏员工信任一样。尝试改进防御盲点或弱点通常需要部门间的合作、共享预算、周末加班和不便,这些都导致员工抱怨并抵制这些举措。因此,疲惫不堪的安全工程师变得对安全改进愤世嫉俗,并对现有的不足视而不见。有些人甚至可能等待事件的发生,因为他们知道组织的反应性安全态势意味着除非发生不好的事情,否则他们不会被允许进行改进。

威胁行为者可以通过外部可观察到的指标轻松评估组织的安全警觉性,例如:

  • 网站错误信息泄露了过多的信息

  • 登录时泄露密码政策细节

  • 缺少安全策略头部内容

  • 不正确的自签名证书

  • 配置错误的电子邮件域名基础消息认证、报告与一致性(DMARC)/发送者策略框架(SPF)

  • 配置不当的 DNS 记录

  • 暴露在互联网的管理接口,包括服务器、安全设备或网络硬件

  • 泄露技术版本或使用的安全措施

为了对抗缺乏警觉性的趋势,防御者必须不断自我评估并努力改进。虽然管理层并不总是表扬或奖励实施额外安全措施的员工,但持续的警觉性向对手传递了一个信息,即组织的第一道防线很强,并暗示内部防御可能更强。

影响行为

员工在工作中的反应受他们个人信念、工作文化以及长期的经验影响。通过有选择地强化行为并实施有意义的工作反馈回路来塑造工作文化,将鼓励员工追求卓越。缺乏反馈,特别是缺少正面反馈,可能是安全领域中最具挑战性的问题,因为防御者的行为很容易滑向一种低能量的安全虚无主义状态。这可能是因为缺乏对良好行为的正向强化。也许安全人员收到的唯一输入是合规审计和 KPI 数字,而这些并不代表他们行动的效用。良好表现的结果,比如阻止对手窃取组织的知识产权或资金,可能需要数年时间才能显现,因此很难建立在这些成果上。以下是有关如何改进和维持良好安全行为的指导。

  1. 设定标准并发展文化。 美国国防部(DoD)培养了一种优先考虑安全警觉性的文化。曾在国防部工作的员工常常描述,当他们进入新的工作场所时,发现安全疏忽现象,常常感到文化冲击(不幸的是,他们最终会降低标准,接受这种新文化)。请查看国防部的网络安全文化与合规倡议^(5),并确定其中哪些元素可以帮助您的组织建立安全警觉文化。一些可以明确指出的可能特征包括:

    1. 诚信 鼓励员工在错误发生时报告。例如,一位不小心破坏了网络安全的员工不应因害怕失去工作而感到需要隐瞒事件。相反,他们应该感到足够安全,承认自己的错误,并帮助组织弥补安全漏洞。

    2. 能力 为所有在网络空间操作的员工建立基本的教育标准。这些标准应该引导员工的日常行为,赋予他们识别安全风险的能力,并通过持续的网络安全教育促进明智的决策。请注意,为组织建立核心能力可能意味着防止那些未能展示能力的人担任某些职位。

    3. 专业性 为了维持卓越标准和警觉文化,要求员工对自己的工作负责,不能走捷径。

    4. 质疑态度 招聘那些不接受现状而是提出质疑、分析并解读观察结果的人。确保员工感到安全,可以大胆发言,而不会被迅速驳回或让他们觉得自己很愚蠢。

  2. 执行纪律。 安全疏忽不仅仅影响一个人的工作表现或产品,它还会将整个组织置于风险之中。伴千流会的《守望者行为六条》指出:“严格的规则应当遵守,在有不警觉者时,必须严厉惩罚。”^(6) 建立正式的程序来识别和惩罚用户、安全、IT 和领导层的网络安全违规行为和不警觉行为。避免在发生安全事件时将责任推给首席信息安全官(CISO)或其他人员,因为这种做法会破坏一种每个人都感到负有责任的文化。

  3. 建立正式的流程、程序和合规性。 确定、记录并传播你希望安全团队遵循和执行的任务、规则和政策。找出衡量员工是否遵守这些标准的方式。避免使用肤浅的关键绩效指标(KPI),例如提交了多少工单或调查了多少安全事件,因为这些指标不能有效地评判工作成果。选拔理解并关心安全的领导者,他们会投入时间建立警觉性并识别不合规行为。

  4. 推动机构和参与感。 许多公司员工在工作中感到缺乏参与感。他们不参与决策,不以组织的利益为重,也不关心公司(或他们自己的)成功。无聊是安全领域中的一个常见问题——这一问题通常可以通过去除那些妨碍或打消员工采取积极安全行动的障碍来缓解。通过赋能安全员工,使他们能够:

    • 尝试新的安全控制、例程和概念

    • 学习新技术、技巧和工具

    • 在工作中找到意义

    • 体验积极的结果,例如职业发展的路径或晋升机会

    • 参与战略风险决策

    • 进行蓝队、红队(例如,紫队协作)或其他模拟演练,让他们能互相提供积极的反馈

    • 庆祝发现安全漏洞的成功

推荐的安全控制和缓解措施

在相关情况下,提出的建议将结合 NIST 800-53 标准中的适用安全控制进行说明。每项建议都应从守望行为的角度进行评估。

  1. 为所有员工制定、记录并提供安全培训、程序和行为规范。为那些承担重要安全职责的角色(如开发、IT、安全和领导职位)制定具体的培训和程序。对于未遵守安全政策和程序的行为,执行严格的纪律措施。[AT-1: 意识和培训政策与程序;AT-2: 意识培训;AT-3: 基于角色的培训;IR-2: 事件响应培训;PL-4: 行为规范;SA-16: 开发者提供的培训]

  2. 通过专业的安全评估、扫描、渗透测试和红队行动,进行基于表现的安全响应、态势和工具能力测试。此项活动可以识别未被遵循的流程或程序、安全盲点以及疏忽的员工。[CA-2: 评估 | (2) 专项评估;CA-8: 渗透测试;IR-3: 事件响应测试;RA-5: 漏洞扫描;SC-7: 边界保护 | (10) 测试外泄;SI-4: 系统监控 | 监控工具和机制的测试;SI-6: 安全和隐私功能]

  3. 创建培训计划和演练,以持续提高安全人员的知识、技能和能力。[CA-8: 渗透测试;IR-3: 事件响应测试 | (3) 持续改进;PM-12: 内部威胁计划;PM-13: 安全和隐私工作队伍;PM-14: 测试、培训与监控;PM-16: 威胁意识计划]

  4. 允许安全人员决定哪些配置和控制措施应当改变以提高安全性。将责任推给系统所有者、维护者和开发人员,要求他们提供强有力的、基于证据的理由,说明为何安全人员推荐的更改无法实施。[CM-3: 配置变更控制]

  5. 实施一项政策和流程,用于处理安全人员的投诉。这些反馈有助于通过修订或撤回不当的控制措施来改进安全流程。它还为用户提供了识别安全问题并在不担心报复的情况下通知安全人员的方式。[PM-28: 投诉管理]

  6. 要求安全人员执行 OPSEC(操作安全)以保护关键的操作、配置和部署信息,同时小心不要将 OPSEC 泄露给可能测试安全防御的对手。[SC-38: 操作安全]

汇报总结

在本章中,我们探讨了忍者如何探查守卫和守卫屋,以根据目标的安全标准(或其缺失)评估渗透机会。我们回顾了几百年前,和今天一样,守卫常常因职责松懈而被利用,而熟练的渗透者能够利用这种松懈。此外,我们还提到了文化如何塑造组织的自我防卫能力;这一概念在忍者哲学中被赋予了至高无上的重要性。然后,我们将忍者文化与现代 SOC 和信息安全工作文化进行了对比,后者存在一些问题,今天的网络对手很可能会加以利用。我们还描述了几种方法和最佳实践,用于建立和维护卓越的安全文化。

在下一章中,我们将讨论忍者的“陌生人危险”原则——不允许任何可疑人物接近。反复传递这一信息以营造安全文化,同时实施严格的控制措施,防止可疑事件变为恶意行为,这展示了组织的安全卓越。

第二十五章:零信任威胁管理

如果你从房间的后方进入,并且房间里有一个没有睡着的人,那么他们不会怀疑你是入侵者。因为从后方进入的人通常不会被认为是盗贼或攻击者。

你绝不应允许任何外省的人接近守卫所,即使他或她是亲戚。

—吉守百首 #93

在封建时代的日本,商人、僧侣、神职人员、表演者、娱乐人员、乞丐以及其他外来者通常会在活跃的军事营地或城堡附近活动,因为驻扎的士兵常常利用他们的服务。^(1) 然而,其中一些外来者是受雇为士兵敌人收集信息的秘密特工。有些甚至伪装成忍者,利用靠近城堡的机会研究或接触目标,收集情报,甚至渗透或攻击营地。^(2)

万川集海描述了军事指挥官如何屏蔽此类威胁。最有效的方式是不允许在营地附近进行可疑活动和交往。该卷讨论了一项“通过反复强调严格落实”的政策,警告说,任何看起来可疑的人都不应被允许进入城堡或营地,从而减轻可疑活动成为恶意威胁的机会。^(3) 训练有素、纪律严明的军队只允许可信的商人在他们的营地或附近进行经营,并积极阻止未知或不可信的商人在该地区提供服务。忍者有更广泛的操作理念,不信任任何他们不认识的人。^(4) 此外,万川集海建议忍者帮助可信的商人和供应商加固他们的小屋和商铺,以防火灾蔓延,这样可以减轻火灾从商铺蔓延到营地的风险,无论是意外还是纵火。^(5)

本章将回顾“仅屏蔽恶意”模式——这种模式可能会变成无休止地追踪新的域名、IP、URL 和被标记为恶意的文件。我们将探讨许多组织(以及安全行业)为什么选择追逐这种永无止境的威胁信息流,而不是采用“屏蔽所有可疑”模式的原因。我们还将概述应对这种反向方法技术问题的策略和指导。此外,在本章的《城堡理论思维练习》中,我们将探讨内部员工可能如何试图绕过这种“屏蔽所有可疑”安全控制。

威胁机会

就网络安全而言,可以将营地视为你的组织,而营地外的商人、娱乐人员以及其他所有人则是互联网上可用的众多外部服务和应用程序。所有合法的对外业务连接——不仅包括帮助员工完成工作的网站,还包括员工在休息时查看的新闻、社交媒体和娱乐网站——都允许可疑实体连接到你的组织,并以正常业务的外衣运作。寻求执行初步访问、交付和利用的威胁行为者通常需要这些外部通信能力不受挑战、不受检查、且不被过滤。他们随后的进攻战术包括在员工访问的网站上实施“随便点击”攻击、向员工发送带有链接和附件的钓鱼邮件、从不受信任的 IP 进行网络扫描、以及利用指挥与控制(C2)站点获取信息并向已被攻陷的机器上的恶意软件发送指令,仅举几个例子。

为了应对这些攻击,网络安全行业已经建立了功能性的安全控制、政策和系统,允许将适当的通信列入白名单,以便与已知和受信任的合作伙伴、伙伴以及其他经过验证的第三方商业实体进行通信。组织可以创建域名、IP 块、名称服务器、电子邮件地址、网站和证书颁发机构的白名单,只允许员工与受信任的合作伙伴进行通信,反之亦然。在这些严格的白名单条件下,威胁行为者在试图突破组织防线之前,必须首先投入时间、资源和精力渗透到受信任的合作伙伴中。

然而,虽然技术问题已经得到解决,但人为问题依然存在。人类的本能是通过外部关系以及娱乐和新闻寻求刺激。因此,执行“屏蔽可疑”政策对管理层来说是一个挑战,因为这需要有足够的意志力来推动组织各个层面显著的文化和行为变革。

例如,假设你注意到组织的大部分互联网流量来自员工在娱乐网站上观看视频。你注意到这一活动与他们的工作职责不符,决定通过使用第 7 层检测工具阻止所有主要娱乐网站访问你的网络。

尽管这一合理措施符合你的业务需求,甚至可能是已记录的 IT 政策,但许多经历过这一过程的组织最终都后悔了。员工们可能会抱怨或对你施加社会压力,要求解锁被封锁的流量,甚至有些人会通过加密或隧道技术、避免代理或访问娱乐性网站来绕过政策,而这些网站可能包含相似内容但绕过了你的过滤器——这使得你的网络和系统面临更大的风险。

一种流行的解决方案是提供一个非业务互联网网络——或者是带上你自己的设备(BYOD)网络——让员工可以在个人设备上观看视频。你甚至可以为员工设置独立的机器,用于互联网研究和休息时使用,但不用于业务功能。美国国防部(DoD)采用了这种方法,为员工提供了一个单独的、专用的系统来访问非机密互联网(NIPRnet);网络防护系统在物理和逻辑上将此系统隔离,以控制信息流。^(6) 美国国防部还采取进一步措施,在 NIPRnet 上为所有已知的非恶意互联网资源建立白名单,并拒绝大范围的 IP 块和 ASNs,认为它们可疑,或者至少是不必要的。

在过去的十年或更长时间里,组织不断地使用已知恶意 IP、域名和 URL 的威胁数据流,因此阻止已知的恶意(黑名单)非常容易。阻止可疑的流量则可以防止未知的恶意流量渗透,但对组织而言要做到这一点要困难得多,通常是出于正当理由。创建一个包含所有已知安全互联网资源、网站和 IP 的主白名单是极其困难的,因为你无法确定所有员工将会使用哪些资源。再次强调,美国国防部(DoD)是一个理想的实践者,因为该组织主动建立了一项政策来阻止和防止这些威胁情景。它还通过操作安全海报、必修培训、系统使用条款和明确的系统警告标签,不断提醒员工不要绕过其政策或控制措施,因为这样做可能会危及网络、系统和信息安全。

阻止可疑流量

“陌生人危险”是许多孩子在年幼时学到的一个简单概念。通过对任何陌生人的接触零容忍,可以避免对孩子的潜在威胁。陌生人危险不是一个完美的策略,但它可以有效,只要任何已知的实体(非陌生人)被验证为可信。这个策略的一个优点是,它不依赖于额外的安全层来应对之前已被识别为可疑的威胁。因为一旦恶意威胁允许与他们互动,孩子和许多组织都会毫无防备,实施“阻止所有可疑”安全政策可能是他们得到的第一个也是唯一的防御措施。下面是关于如何在你的环境中应用这些概念的指南。

  1. 练习识别、意识和理解。 向利益相关者展示必须阻止可疑网站的观点。一个好的起点可能是对伊朗、朝鲜(175.45.178.129)或其他被认为对你的组织构成威胁但不太可能有恶意的服务器进行 ping 测试或外部 DNS 查询。如果收到成功的响应,则表示你的网络允许你与没有有效商业理由的可疑系统通信。这种网络探测通常有效。组织往往会阻止恶意网站,而不是阻止可疑网站,因为这些国家没有已知的 IP 地址托管恶意软件或发起攻击,因此它们未被列入已知的恶意威胁源列表。

    现在你已经有了应该被阻止的证据,你的组织可以阻止那个单一的 IP,或者如果你向安全团队请求防火墙变更,可能可以阻止它所属的网段(/24)。然而,请注意,需要评估和阻止超过 1430 万个 IPv4 /24 子网,显然,你的组织可能没有时间、意愿或资源来执行一个全面覆盖互联网的可疑网站封锁列表。作为替代方法,可以开始记录白名单,理解这将会产生误报,但也能阻止恶意、可疑的以及未来/未知的恶意网站。

  2. 加入或创建信息共享与分析中心(ISAC)。 为了减少为你的组织创建主白名单的负担,可以加入或创建一个 ISAC,与同行业的其他公司共享关于员工用于业务功能的受信任网站、IP 地址和域名的信息。对于开发配置系统的公司而言,创建主互联网白名单是一个商业机会;组织可以使用这些白名单来限制接触到的可疑网站数量,从而使安全网络的建设和维护变得更容易。

  3. 寻求互信保障。 对与你的组织有业务往来的可信外部实体进行相互的漏洞扫描和红队测试;这种方法与《万川集海》中的建议相符,后者建议帮助为受信任的商家建筑物进行防火,以实现互相保护。将这一措施保留给那些属于受信任外网、拥有直接互联或使用绕过常规安全控制的其他直接隧道技术的组织。

推荐的安全控制和缓解措施

在相关情况下,推荐的安全控制措施会结合 NIST 800-53 标准提供。每项措施都应该从阻止可疑活动的角度进行评估。

  1. 为用户希望因非工作原因连接互联网时,或者为员工提供额外的专用工作站以用于外部互联网连接,实施自带设备(BYOD)政策。[CA-3: 系统互联 | (1) 非机密国家安全系统连接;SC-7: 边界保护 | (1) 物理分离的子网络]

  2. 对于进出连接,建立一个默认拒绝的白名单,只有在有文档记录的例外情况下才允许连接。[CA-3: 系统互联 | (4) 连接到公共网络 | (5) 外部系统连接的限制;SC-7: 边界保护 | (5) 默认拒绝—仅例外允许]

  3. 与类似的组织共享信息,创建一个主白名单。[PA-4: 与外部方的信息共享]

小结

在本章中,我们探讨了忍者指挥官如何采取安全策略,使敌方忍者的任务变得更加困难。我们还讨论了现代组织采纳类似策略的难度,包括组织在尝试用网络安全采取类似方法时需要克服的挑战。我们探讨了几个如何应用“阻止可疑行为”概念作为指导的想法。

在下一章,我们将汇集前几章学到的概念,并将其应用于威胁情报。本章是本书的总结,将之前关于忍者的所有知识与前几章中你遇到的真实网络威胁联系起来。

第二十六章:26

忍者技艺

渗透的秘密技巧是具有欺骗性的,而且它们是多变灵活的,通常根据机会进行操作。因此,作为基础,你应该接受那些曾在古代伟大将军手下服役的忍者的传统方式,但记住不仅要遵守这些传统,还要根据情况和时机加以调整。

即使外面有喧嚣,也要注意守卫所不应完全空无一人。此外,你应该留心任何声音。

—吉守百首 #66

虽然有时忍者被雇佣来守卫城堡和其他防御工事(如《将忍记》中所述(1)),但在封建日本,大多数守卫岗位是由非忍者士兵或雇佣兵——受过训练以抵御普通入侵者的战士——担任的。但《*万川集海*》和《*军法自用书*》手册建议防御忍者的指挥官雇佣自己的战士,因为这些战士可以训练普通守卫识别忍者的秘密战术、技巧和程序(TTPs)。(2) 尽管这些在卷轴中有描述,TTPs 却在不断发展和完善,不同的家族拥有自己独特的秘密技巧,其他忍者并不知晓。

忍者的 TTPs 巧妙而优雅,且常常具有多重用途。例如,一名忍者可能会悄悄地将一把普通的伞插入地面,并在城堡守卫可见的地方打开它。忍者不仅可以通过将物品藏在伞下而避免被守卫看到,而且伞的明显标志可能会吸引守卫离开岗位。^(3) 这个技巧还利用了当时流行的一种迷信:人们认为被遗忘或丢失的伞会变得被附身,并困扰其原主人,这种现象被称为付喪神伞妖怪妖怪。^(4)

被雇佣教授守卫的忍者面临着独特的教学挑战:书写 TTPs 或与外人分享它们是禁忌或完全禁止的,因为这样做会破坏技能的完整性,并使其他忍者的生命陷入危险。一些卷轴中甚至建议忍者杀死任何发现 TTPs 的观察者或受害者。^(5)

因此,忍者并没有传授具体的技巧,而是强调了采取正确心态、具备高度警觉性,以及执行足够的审查力度来发现忍者的必要性。(6)这种心态通过对守卫营地的风险评估、对敌情的了解以及敌人可能采取的最有可能和最具影响力的威胁场景进行了支持。看起来,忍者确实为守卫提供了有关忍者操作能力的整体感知和不同威胁场景的示例,但可能以一种不完全揭露行业机密的方式来描述这些内容。(7)他们教导守卫如何识别潜在的忍者活动——在守望时需要注意的视觉、听觉和其他可观察到的迹象——并建立了避免犯错的规则。^(8)

由于学习方法众多,而且许多在训练中的守卫缺乏正式教育,忍者通过诗歌传递知识,以便使信息更易于记忆。(这也解释了在《百首忍诗》中出现的关于守卫警觉性的诗歌数量众多,吉盛百首的这些诗歌并非专门为忍者而作,而是忍者传递给守卫的。)这些诗歌提供了足够的细节来描述忍者战术,并提供了切实可行的指导,但并不至于让守卫因信息过多而感到不堪重负。例如,第 66 首诗(在本章开头引用)提供了直截了当的建议:不要让岗位空着,要留心听任何声音,包括但不限于最初引起注意的喧闹声,例如从后方接近的脚步声。^(9)这些诗歌按主题分组。诗歌 64–67、78、79、91、93 和 94 都涉及如何保持警觉和避免失误的例子。例子包括如何在疲劳时夜间守望;该面向哪个方向;以及为什么在值班时喝酒、唱歌和招妓都是糟糕的主意。

当然,如果敌方忍者观察到警卫在积极寻找忍者的 TTP,敌人就会部署反制措施。在所有三部主要卷轴中都有一个清晰的例子,涉及忍者藏身于灌木丛或高草丛中,或在田野中爬行。忍者的活动会扰动周围的昆虫,这些昆虫会停止活动并保持安静,以隐藏自己。对于受过训练的警卫来说,缺乏嗡嗡声、鸣叫声或啾啾声意味着一个隐藏的人正在接近。通常,如果警卫突然变得警觉并开始搜索入侵者,而忍者知道自己已暴露,忍者会悄悄撤退。^(10) 这就是反制措施的所在。在下一次行动前,忍者会捕捉一些蟋蟀,放在盒子里。蟋蟀对忍者的存在不感到困扰,仍然自由地鸣叫,填补了忍者接近警卫哨所周围的寂静。警卫现在没有理由怀疑忍者的接近。^(11)

诗篇 68 生动地展示了 TTP 检测和反制的挑战:“你应该进行彻底的搜索,紧跟夜间巡逻队的脚步。这被称为监视 [伏击检测]。”^(12) 夜晚,指挥官会派遣一个主力搜索小组,使用常规的灯笼和其他装备巡逻周围的边界,但领导者还会派遣一个隐蔽的搜索小组,紧跟在主力小组之后。^(13) 在边界巡逻的警卫被他们的忍者顾问告知,要留意任何不寻常的事情——尤其是声音、动作和人影。^(14) 当然,敌方忍者也知道这些指导方针。卷轴中描述了如何攻击的忍者能够隐藏在灌木丛、沟渠或其他黑暗的地方,等待巡逻队经过后继续行动。^(15) 然而,在某些情况下,敌人可能会跟随巡逻队,他们的动作被防守方的声音和灯光所掩盖;入侵者甚至可能从后方攻击巡逻队。^(16) 因此,在第一支巡逻队后面安排第二支隐蔽的巡逻队可以发现隐藏的敌方忍者。这支装备精良的部队会搜寻可能的藏身之地,并保持警惕,防止敌人也跟随主巡逻队。^(17) 然而,作为反制措施,敌方忍者若意识到监视技巧,可能会在阴影中等待第二支隐蔽巡逻队经过,或者移动到第二支巡逻队不会搜索的地方。为了应对这种反制——即反制的反制——诗篇 69 和 70 应运而生:^(18)

  1. 69:“在夜间巡逻完成后,进行监视是非常重要的,需要反复进行。”

  2. 70:“在进行 kamaritsuke 时,据说你应该间隔多次巡逻,以便找到敌方的忍者代理。”

这一指导方针鼓励采取不规律的 kamaritsuke 巡逻频率,以干扰对手的自由行动能力。频繁且半不可预测的巡逻,伴随一支或多支 kamaritsuke 队伍,让敌方忍者很难自信地对防御工事或巡逻队执行行动。^(19)

采用尽最大努力的 TTP 检测和反制措施可以迅速升级,但最终,攻击防御工事变得过于危险或不切实际。这通常是最好的防御者能期望的结果,对抗敌方忍者的策略也是如此。

本章将讨论忍者战术背后的哲学如何适用于理解网络威胁行为者的 TTPs。我们将探讨网络威胁情报如何引导事件响应者、安全工程师和威胁猎人,以便他们能够更好地保护自己的组织,就像忍者通过情报驱动的防御提高了普通城堡守卫和士兵的有效性一样。我们将探索描述网络威胁 TTPs 的几种主流框架。将这些框架与忍者的知识相结合,可以更容易地理解威胁以及 TTPs 的重要性。我们还将讨论为什么 TTP 中的 P 常常是个谜,且很可能保持未知,但我们也将基于对忍者行为的了解,推测理性对手可能采取的程序。最后,我们将探讨如何将网络威胁情报纳入组织的防御策略,并讨论为什么这项工作如此困难。

技术、战术和程序

在网络安全领域,TTPs 描述了分析特定威胁行为者或群体的行为模式、活动和方法的途径。战术描述了对手的操作手段,例如侦察、横向移动和后门部署。技术是对手用来完成任务的详细技术方法,比如使用特定工具或软件来执行武器化或利用。程序详细说明了执行任务的标准政策和行动方案,比如在执行其他任务前确认被利用的目标系统是否有任何活跃用户登录,或在部署之前通过字符串分析运行恶意软件以检测战术错误,或在验证目标系统的连接性后实施预防性的自我清理。

一旦 TTP 被识别并定义,防守者可以在环境中寻找相关的指示器。防守者甚至可以预测可能被用来攻击自己的 TTP,从而支持规划和实施预防性的减缓措施或反制措施。为了建立并传达网络对手 TTP 的共同定义,业界已经开发出了多种概念、模型、分析和共享方法,包括:

  • 疼痛金字塔^(20)

  • ATT&CK™框架^(21)

  • 攻击生命周期模型^(22)

  • 网络杀伤链框架^(23)

  • 入侵分析钻石模型^(24)

  • STIX(结构化威胁信息表达式)^(25)

疼痛金字塔

疼痛金字塔(见图 26-1)是一个非常好的模型,用来直观展示对敌方指示器、工具和 TTP 的意识如何影响防守者的安全态势。它还展示了实施措施和反制措施的难度如何随着时间的推移对防守方和攻击方都增加。

疼痛金字塔这个名称指的是这样一个观点:虽然没有办法保证绝对的安全或防止所有的攻击,但如果你让攻击者在投入时间、资源和精力时感到极大的痛苦,他们就不太可能会攻击你的组织。

f26001

图 26-1:妥协指示器的加固(改编自 David Bianco 的疼痛金字塔^(26))

在金字塔的底部是妥协指示器(IoC)——例如域名、IP、文件哈希和 URL——这些可以用来正确定义已知的恶意指示器。防守者可以屏蔽这些指示器或围绕它们发出警报,但攻击者也可以更改这些指示器。

在原子级指示器之上是基于主机的指示器,例如注册表项、丢失的文件和伪造的物品。这些可以被检测或响应,但威胁检测或缓解可能不是自动的,攻击者可以根据目标或操作进行更改。

下一层是工具——攻击者用来进行或支持攻击行动的软件或设备。通过在环境中搜索、移除访问权限或禁用已知恶意工具的功能,防守者可能能够检测并防止攻击者有效地操作。

在金字塔的顶部是敌方的战术、技术和程序。如果你能识别或减轻这些方法的影响,敌人就很难创造或学习新的 TTP(战术、技术和程序)来对付你——当然,作为防守方,你在制定保护措施或反制措施时也会感到痛苦。

ATT&CK 框架

MITRE 的对抗性战术、技术和常识(ATT&CK)框架从洛克希德·马丁的网络杀伤链框架中衍生出了许多战术(见图 26-2)。网络杀伤链框架概述了攻击生命周期的七个阶段:侦察、武器化、交付、利用、安装、指挥与控制以及目标行动。ATT&CK 框架中识别的每个战术都列出了检测或减轻的技术和方法,并附有示例。

请注意,ATT&CK 框架中缺少“程序”这一部分。这是可以理解的,因为识别这些程序可能需要窃取并分析某个国家或军事机构的进攻性网络行动手册。这就是为什么描述复杂间谍威胁组织程序的《万川集海》《忍秘传》《将忍记》等文本如此大大丰富了讨论。

威胁情报

当你的安全团队理解这些战术和技术,并识别了你的攻击面、评估了当前的安全控制措施,并对之前的事件进行了分析,以确定你组织的防御效果时,就可以开始预测对手可能会针对你的环境进行攻击。有了良好的威胁预测,你可以开始威胁狩猎——寻找威胁行为者留下的指标和证据,可能表明系统已经被攻破。

f26002

图 26-2:忍者攻击链(改编自 MITRE 的 ATT&CK 框架^(27))

然而,如果没有深入了解威胁行为者如何操作,就很难有效地进行狩猎或检测到他们的存在。

在这里,威胁情报展示了其价值。威胁情报不一定意味着诸如与恶意软件、黑客基础设施或威胁组织相关的 IP 列表、域名、URL 和文件哈希等信息流。而是,网络威胁情报(CTI)指的是传统的情报,收集和分析网络威胁,如恶意软件、黑客活动分子、国家行为者、犯罪分子、DDoS 攻击等。当正确使用时,CTI 提供了关于威胁正在做什么、其动机以及 TTP 的可操作情报和评估。简而言之,CTI 是理解和防御威胁的最佳方法之一,因为它要求决策者自我告知并采取防御行动。

不幸的是,许多 CTI 消费者仅关注 IoCs,因为它们可以轻松地被导入 SIEM、火墙和其他安全设备中,以阻止或检测威胁。以这种方式操作会忽视 CTI 的真正价值,因为 CTI 分析师通过详细的观察和评估描述了行为、模式、方法、归属和背景。尽管 CTI 生产者可能并不总是透露他们如何收集有关威胁的情报,但他们通常会努力在评估他们所知道的内容以及为什么相信威胁执行某些行动时保持透明。

当然,以理解威胁为目的消耗情报报告,同时还要深入理解你的环境,这可能是非常具有挑战性的。这个过程需要广泛的技能组合——其中包括快速学习和做出战略决策的能力。然而,如果一个 CTI 使用者能够投入时间去理解威胁的每一步、代码、战术和技术,他们就能做出决策,帮助他们成功地缓解、检测、应对,甚至预测未来的威胁动态。

网络威胁情报

在已经购买了数十种安全解决方案并雇佣了全职安全人员处理众多威胁渠道的情况下,一些人可能会认为 CTI 是他们已经实施的“深层防御”安全模型的最后一道成本层。然而,CTI 可能会让你改进你的安全策略,并增强其他所有安全层的有效性,从而证明它的成本是值得的。不幸的是,在许多情况下,有效使用 CTI 就像是阅读某一领域最新科学发现的报告,因为它要求你理解这些发现的含义,然后迅速改变文化、业务策略和技术以应对。虽然这是可能的,但这种信息的消耗、综合和行动的强度似乎过于苛刻。这也是 CTI 的最大挑战:它不是一个可以提供简单答案的水晶球,也不是易于执行的解决方案。请参阅下面的指导,做出明智的决策来制定你的 CTI 计划。

  1. 开发网络威胁情报和威胁狩猎。考虑为你的组织订阅免费的或付费的 CTI 报告。同时,通过收集当前攻击你环境的威胁证据,开始开发自己的内部 CTI。建立一个 CTI 团队,收集并分析发现的威胁,并将这些发现报告给 IT、安全和业务相关方。这些各方应该了解谁在针对组织,如何渗透网络,一旦进入网络,他们会做什么,预期的目标是什么,以及他们是如何执行这些目标的。在你的信息系统中实施战略性和操作性防护、缓解措施和对策,以防御观察到的特定战术。

    训练你的安全和情报人员进行威胁狩猎。因为并不是每个威胁都能被构造或阻止,所以必须有一个专门的猎捕团队,始终在你的网络中搜索威胁的痕迹,这些痕迹由你的 CTI 合作伙伴、供应商或团队提供情报。威胁狩猎可以通过紫队演习得到增强,在这种演习中,红队在你的网络上执行对抗活动,而你的蓝队则试图追捕他们,从而学习如何应对威胁。

  2. 消费并利用 CTI。与您的电子邮件、IT 和安全团队进行桌面演练,模拟威胁的 TTP(战术、技术和程序),并评估您的反应。例如,假设您收到情报,指出一个钓鱼活动正在针对像您这样的组织,这些组织使用 Google 链接缩短器(http://goo.gl/)。您不能仅仅阻止 Google 的 IP、URL 或域名,因为这样会妨碍业务操作,而且许多组织员工出于合法目的使用链接缩短器。您的 CTI 评估认为,攻击者可能使用 goo.gl 链接,因为您的防病毒软件、代理或钓鱼协议未能将其正确评估为恶意链接。安全系统识别到 Google 是一个白名单网站。

    首先,尝试在您当前的电子邮件中寻找该链接的证据。许多组织在这里遇到早期障碍,因为他们的邮件管理员不合作,或者没有必要的可见性或资源来搜索包含 goo.gl 超链接的来邮。额外的障碍可能包括隔离潜在的钓鱼邮件、提醒非 IT 和非安全人员威胁的存在,并培训他们如何检测和避免此类威胁。

    就像对手有不同的工具、战术和技术来攻击您的组织一样,您的工具也需要经过深思熟虑、理解、创造性和工程设计,才能以全面、有效的方式有效地阻止和应对威胁。例如,您的邮件管理员可能会创建一个规则来检测 goo.gl 链接缩短器,但其他的呢?希望您的 CTI 团队能够识别出带有链接的钓鱼威胁,并推荐检测、阻止或缓解这些链接的方法。此外,团队还应让您组织中的人员意识到这一 TTP。换句话说,他们不仅应该寻找 goo.gl 链接,还应寻找所有链接缩短器。最后,决策者必须通过新的架构、政策或控制措施战略性地应对这一威胁。

    然而,尽管这个过程可能很痛苦,但这是识别您的组织在检测、缓解和应对威胁方面需要改进的地方。

推荐的安全控制和缓解措施

这些建议依据 NIST 800-53 标准提出,应从安全意识、TTP 和 CTI 的角度进行评估。

  1. 向您组织内各个角色的员工提供安全意识培训,帮助员工迅速应对他们遇到的威胁。[AT-2: 安全意识培训;PM-13: 信息安全工作人员]

  2. 专门组建一个团队,分析威胁、事件、情报和对手的 TTP,并开发反制措施和防护措施以应对这些威胁。[IR-10: 集成信息安全分析团队]

  3. 与外部安全团体和威胁共享机构合作,接收与你组织相关的威胁情报。[PM-15:与安全团体和协会的联系]

  4. 实施一个威胁意识计划,分享有关威胁情报的细节、如何减轻威胁以及妥协指标的信息。[PM-16:威胁意识计划]

  5. 使用可靠的威胁情报和信息来寻找和监控活动、行为、模式以及其他表明威胁的可观察对象。[SI-4:信息系统监控]

汇报

在本章中,我们回顾了几种忍者的战术、技巧和程序(TTPs),特别是神速的 TTPs 是如何与防御者和对手的反制策略共同演化,直到出现容错安全系统。我们探讨了其他的网络威胁战术,这些战术可能也会随着双方互相反制而发展,直到弹性得以体现。我们讨论了网络威胁情报以及为何仅仅知道对手在做什么、他们是如何做的以及他们接下来会做什么是不够的。要有用,网络威胁情报(CTI)必须以某种方式来应对威胁。通过《城堡理论思维练习》,我们看到了一个明确的例子,防御者发现可观察到的威胁后,战术随之发生变化。这一思维练习可以与伪造系统/网络日志以欺骗威胁猎人、异常检测器甚至机器学习系统进行类比——并且这种情况在现代可能会再次出现。本章最重要的教训——甚至可能是整本书的教训——就是必须以创新的方式利用威胁情报并应对动态的威胁。

第二十七章:注释

前言

第一章,网络映射

第二章,特殊看护的防守

第三章,排外安全

第四章,身份验证挑战

第五章,双重封印密码

第六章,渗透时长

第七章,时间的通道

第八章,工具

第九章,传感器

第十章,桥梁与梯子

第十一章,锁

第十二章,水中的月亮

第十三章,蠕虫代理

第十四章,月球上的幽灵

第十五章,萤火虫的艺术

第十六章,实时捕获

第十七章,火攻

第十八章,隐秘通信

第十九章,呼号

第二十章,光、噪声与垃圾纪律

第二十一章,渗透的情况

第二十二章,零日漏洞

第二十三章,雇佣忍者

第二十四章,警卫行为

第二十五章,零信任威胁管理

第二十六章,忍者技艺

posted @ 2025-12-01 09:42  绝不原创的飞龙  阅读(0)  评论(0)    收藏  举报