网络安全知识汇总

网络安全知识汇总

防御安全

主要任务:

  • 防止入侵
  • 在入侵的时候做出响应

具体任务

  1. 安全培训
  2. 资产管理和记录
  3. 系统修复
  4. 防火墙和入侵防御系统(IPS)
  5. 日志记录和设备监控

安全运营(SOC)

概念:SOC (安全运营中心**)是由专业安全团队运营的专用设施。该团队旨在持续监控组织的网络和****资源**并识别可疑活动以防止损害。该团队每周 7 天、每天 24 小时工作。

由网络安全团队,监控网络和系统,检测恶意的网络安全事件。


在这种情况下,情报是指您收集的有关实际和潜在敌人的信息。威胁是任何可能破坏或对系统产生不利影响的行为。威胁情报收集信息以帮助公司更好地防范潜在对手。目的是实现威胁知情防御。不同的公司有不同的对手。一些对手可能试图从移动运营商那里窃取客户数据;然而,其他对手则有兴趣停止石油炼油厂的生产。示例对手包括出于政治原因而行动的国家网络军队和出于财务目的而行动的勒索软件组织。根据公司(目标),我们可以预计对手


情报需要数据。数据必须被收集、处理和分析。数据从本地来源(如网络日志)和公共来源(如论坛)收集。数据处理将其排列成适合分析的格式。分析阶段旨在找到有关攻击者及其动机的更多信息;此外,它还旨在创建建议和可行步骤的列表。


了解对手可以让你了解他们的策略、技术和程序。通过威胁情报,我们可以识别威胁行为者(对手)并预测他们的活动。因此,我们可以减轻他们的攻击并制定应对策略。


SOC团队职责概述

SOC团队的主要职责是保持检测和响应的完整性。他们使用一些安全解决方案来实现这一目标,这些解决方案集成了整个公司的网络和所有系统,以便从一个集中位置进行监控。持续监控对于检测和响应任何安全事件至关重要。

SOC的主要关注点
  1. 检测
    1. 检测漏洞:漏洞是攻击者可以利用的弱点,存在于设备的软件(如操作系统和程序)中。例如,SOC可能需要对一组MS Windows计算机进行特定漏洞的修补。虽然漏洞的修复不一定是SOC的直接责任,但未修复的漏洞会影响公司的安全级别。
    2. 检测未经授权的活动:例如,攻击者利用员工的用户名和密码登录公司系统。在造成损害之前,迅速检测到这种未经授权的活动至关重要。地理位置等线索可以帮助发现此类情况。
    3. 检测策略违规行为:安全策略是一套保护公司免受安全威胁并确保合规性的规则和程序。违规行为因公司而异,例如下载盗版媒体文件或不安全地发送公司机密文件。
    4. 检测入侵:入侵是指未经授权访问系统和网络。例如,攻击者利用Web应用程序漏洞,或用户访问恶意网站并感染计算机。
  2. 响应
    1. 支持事件响应:一旦检测到事件,SOC团队会采取步骤尽量减少其影响并进行事件的根本原因分析。他们还帮助事件响应团队执行这些步骤。
SOC的三大支柱

SOC团队的成熟和有效性依赖于以下三大支柱:

  1. 人员:专业人员组成的团队是SOC的核心。
  2. 流程:适当的流程确保了SOC团队的操作规范和高效。
  3. 技术:使用最先进的安全工具,是SOC团队检测和应对事件的基础。

SOC团队人员

尽管大多数安全任务已经实现了自动化,但SOC中的人员仍然至关重要。安全解决方案在SOC环境中生成大量警报,这可能会造成巨大干扰。

举例说明

假设您是消防队的一员,并且拥有一个集中式软件系统,可以集成全市的火灾警报。如果您同时收到许多火灾通知,而这些通知大多是由烹饪产生的过量烟雾引起的,那么您的团队将会浪费大量的时间和资源在不相关的问题上。

在SOC中也是如此:如果安全解决方案没有人工干预,您最终会关注更多不相关的问题。因此,需要有人帮助安全解决方案识别真正有害的活动并做出迅速响应。

这些人被称为SOC团队。该团队具有以下角色和职责:

SOC团队的层次结构
  1. SOC分析师(1级)
    1. 职责:一级响应者,处理安全解决方案检测到的任何警报,执行基本警报分类,确定是否有害,并通过适当渠道报告检测结果。
  2. SOC分析师(2级)
    1. 职责:进行更深入的调查,关联来自多个数据源的数据,协助一级分析师进行详细的分析。
  3. SOC分析师(3级)
    1. 职责:经验丰富的专业人员,主动寻找任何威胁指标,支持事件响应活动,处理关键严重性的检测,执行遏制、根除和恢复。
  4. 安全工程师
    1. 职责:部署和配置安全解决方案,以确保其顺利运行,支持所有分析师的工作。
  5. 检测工程师
    1. 职责:制定安全规则,构建检测逻辑。通常由二级和三级分析师制定,有时SOC团队独立设立检测工程师角色。
  6. SOC经理
    1. 职责:管理SOC团队的流程并提供支持,与组织的首席信息安全官(CISO)保持联系,提供有关SOC团队当前安全态势和工作的最新信息。

SOC团队重要流程

在SOC团队中,不同人员的角色和职责非常明确,每个角色都有自己的流程。例如,1级SOC分析师作为第一响应者,执行警报分类并确定其是否有害。以下是SOC中涉及的一些重要流程。

  1. 警报分类

警报分类是SOC团队的基础,对任何警报的第一反应是执行分类。分类的重点是分析特定警报,确定其严重性并帮助我们确定优先级。警报分类的过程可以用回答5W问题来描述。

以下是警报分类期间需要回答的一些问题:

暂时无法在飞书文档外展示此内容

  1. 报告

检测到的有害警报需要上报给更高级别的分析师,以便及时响应和解决。这些警报将以工单形式上报并分配给相关人员。报告应讨论所有5W问题,并进行彻底的分析,使用屏幕截图作为活动的证据。

  1. 事件响应和取证

有时,报告的检测结果指向非常严重的恶意活动。在这些情况下,高级团队会启动事件响应流程。事件响应包括详细讨论事件响应过程,有时还需要执行详细的取证活动。取证活动旨在通过分析来自系统或网络的工件来确定事件的根本原因。

SOC团队技术支柱

仅拥有合适的人员和流程是不够的,SOC团队还需要强大的技术支撑。技术部分指的是各种安全解决方案,这些解决方案有效地减少了SOC团队在检测和响应威胁时的手动工作量。

安全解决方案的重要性

组织的网络由许多设备和应用程序组成。作为安全团队,单独检测和响应每个设备或应用程序中的威胁需要大量的努力和资源。安全解决方案将网络中所有设备或应用程序的信息集中起来,并自动执行检测和响应功能。

常见的安全解决方案
  1. SIEM(安全信息和事件管理)
    1. 功能:SIEM是几乎每个SOC环境中使用的流行工具,它从各种网络设备(称为日志源)收集日志,并配置了检测规则,包含识别可疑活动的逻辑
    2. 特点:SIEM解决方案将检测结果与多个日志源关联后提供检测结果,并在与任何规则匹配时发出警报。现代SIEM解决方案超越了基于规则的检测分析,为用户提供行为分析和威胁情报功能,借助机器学习算法增强检测能力。
    3. 注意:SIEM解决方案仅在SOC环境中提供检测功能。
  2. EDR(端点检测和响应)
    1. 功能:EDR为SOC团队提供设备活动的详细实时和历史可见性,运行在端点级别,并可以执行自动响应。
    2. 特点:EDR具有广泛的端点检测功能,使用户可以详细调查并快速响应。
  3. 防火墙
    1. 功能:防火墙用于网络安全,是内部网络和外部网络(如互联网)之间的屏障。
    2. 特点:它监控传入和传出的网络流量,过滤任何未经授权的流量。防火墙还部署了一些检测规则,帮助识别并阻止可疑流量进入内部网络。
  4. 其他安全解决方案
    1. 举例:防病毒、EPP、IDS/IPS、XDR、SOAR等。
    2. 选择:在仔细考虑威胁面和组织中的可用资源后,才能决定在SOC中部署哪种技术。

通过综合使用这些安全解决方案,SOC团队能够高效地检测和响应各种安全威胁,确保组织的整体安全。

网络杀伤链

概念简介

杀伤链是一个与攻击结构相关的军事概念,涉及目标识别、攻击目标的决策与命令,以及最终摧毁目标。

网络安全中的应用

2011年,全球安全和航空航天公司洛克希德马丁公司基于这一军事概念,为网络安全行业建立了Cyber Kill Chain®框架。该框架定义了网络空间中对手或恶意行为者使用的步骤。要想取得成功,对手需要经历杀伤链的所有阶段。

攻击阶段

了解网络杀伤链的工作原理非常重要,它能帮助您更好地了解对手及其在攻击中使用的技术,从而有效保护自己。网络杀伤链的各个阶段如下:

  1. 侦察(Reconnaissance):对手收集关于目标的初步信息。
  2. 武器化(Weaponization):对手创建恶意代码或工具。
  3. 投递(Delivery):对手将恶意代码或工具传递给目标。
  4. 利用(Exploitation):对手利用系统或软件中的漏洞进行攻击。
  5. 安装(Installation):对手在目标系统上安装恶意代码。
  6. 命令与控制(Command and Control, C2):对手与被感染系统建立通信。
  7. 行动(Actions on Objectives):对手在目标系统上执行其最终目的(如数据窃取、破坏等)。

侦察阶段

什么是侦察?

侦察是发现并收集有关系统和受害者的信息。侦察阶段是攻击者的规划阶段

OSINT(开源情报)

OSINT也属于侦察范畴。OSINT是攻击者进行攻击的第一步。攻击者会利用公开资源中有关公司及其员工的所有可用信息(例如公司规模、电子邮件地址、电话号码)来研究受害者,以确定攻击的最佳目标。

您还可以从Varonis的这篇文章 “什么是OSINT?”中了解有关OSINT的更多信息。

攻击者的视角

让我们从攻击者的角度来看待这个问题。攻击者最初并不知道自己想要攻击哪家公司。

场景

一位自称“威震天”的恶意攻击者决定实施一项他策划多年的非常复杂的攻击;他一直在研究和调查可以帮助他进入网络杀伤链最后阶段的各种工具和技术。但首先,他需要从侦察阶段开始。

为了在此阶段开展行动,攻击者需要进行OSINT。让我们来看看电子邮件收集。

电子邮件收集

电子邮件收集是从公共、付费或免费服务中获取电子邮件地址的过程。攻击者可以利用电子邮件地址收集进行网络钓鱼攻击(一种用于窃取敏感数据(包括登录凭据和信用卡号)的社会工程攻击)。攻击者将拥有大量可用于侦察目的的工具。以下是其中一些:

  1. theHarvester
    1. 功能:除了收集电子邮件外,该工具还能够使用多个公共数据源收集名称、子域、IP和URL。
  2. Hunter.io
    1. 功能:这是一个电子邮件搜索工具,可让您获取与域名相关的联系信息。
  3. OSINT框架
    1. 功能:OSINT框架提供了基于各种类别的OSINT工具集合。
社交媒体情报

攻击者还会使用LinkedIn、Facebook、Twitter和Instagram等社交媒体网站来收集他想要攻击的特定受害者或公司的信息。在社交媒体上找到的信息可能对攻击者进行网络钓鱼攻击有帮助。

通过这些方法,攻击者能够在侦察阶段收集到大量有价值的信息,为后续的攻击步骤做准备。

武器化阶段

概述

在侦察阶段成功后,攻击者将着手制造“毁灭性武器”。攻击者不愿意直接与受害者互动,而是会制造一个“武器制造器”,据洛克希德马丁公司称,该武器制造器将恶意软件和漏洞利用程序组合成可交付的有效载荷。

大多数攻击者通常使用自动化工具来生成恶意软件或通过暗网购买恶意软件。更老练的攻击者或国家支持的APT(高级持续性威胁组织)会编写自定义恶意软件,使恶意软件样本独一无二,并逃避对目标的检测。

术语定义
  1. 恶意软件:旨在破坏、破坏或未经授权访问计算机的程序或软件。
  2. 漏洞利用:利用应用程序或系统中的漏洞或缺陷的程序或代码。
  3. 有效载荷:攻击者在系统上运行的恶意代码。
武器化阶段

“威震天”选择从暗网上的其他人那里购买已经写好的有效载荷,这样他就可以花更多时间在其他阶段。

在武器化阶段,攻击者会进行以下操作:

  1. 创建包含恶意宏或VBA脚本的受感染的Microsoft Office文档
    1. 恶意宏或VBA(Visual Basic for Applications)脚本:这些脚本可以在打开文档时自动执行恶意操作。
    2. 参考:如果您想了解宏和VBA,请参阅TrustedSec的文章“脚本小子宏和VBA简介”
  2. 创建恶意负载或蠕虫
    1. 恶意负载或蠕虫:攻击者可以将这些植入USB驱动器,然后公开分发。
    2. 病毒示例:这些恶意负载可以自我复制并传播到其他系统。
  3. 选择命令和控制(C2)技术
    1. C2技术:用于在受害者的机器上执行命令或传递更多有效载荷。
    2. 参考:您可以在MITRE ATT&CK上阅读有关C2技术的更多信息。
  4. 选择后门植入
    1. 后门植入:访问计算机系统的方式,包括绕过安全机制。
    2. 目的:后门允许攻击者在不被发现的情况下访问和控制受害者的系统。

通过这些方法,攻击者能够在武器化阶段准备好用于攻击的有效载荷,为后续的攻击步骤做准备。

交付阶段

概述

在交付阶段,攻击者将决定选择传输有效载荷或恶意软件的方法。“威震天”有多种选择:

  1. 钓鱼电子邮件
  2. 分发受感染的USB驱动器
  3. 水坑攻击
钓鱼电子邮件

在进行侦察并确定攻击目标后,恶意行为者会制作一封恶意电子邮件,该电子邮件将针对特定的人(鱼叉式网络钓鱼攻击)或公司中的多个人。

示例

“威震天”会了解到A公司销售部门的Nancy会不断点赞B公司服务交付经理Scott在LinkedIn上的帖子。他会猜测,他们通过工作电子邮件相互交流。“威震天”会使用Scott的名字和姓氏制作一封电子邮件,使域名看起来与Scott所在的公司相似。然后,攻击者会向Nancy发送一封包含有效载荷的虚假“发票”电子邮件。

分发受感染的USB驱动器

攻击者可能会选择在公共场所(如咖啡店、停车场或街道)分发受感染的USB驱动器。攻击者可能会进行复杂的USB投递攻击,方法是将公司的徽标印在USB驱动器上,然后假装是客户将USB设备作为礼物寄给公司,邮寄给公司。

参考

您可以在CSO Online上阅读有关此类攻击之一的文章“网络犯罪团伙向目标公司邮寄恶意USB加密狗”

水坑攻击

水坑攻击是一种针对特定人群的定向攻击,通过入侵他们经常访问的网站,然后将他们重定向到攻击者选择的恶意网站。攻击者会寻找网站的已知漏洞并尝试利用它。

攻击方法

攻击者会通过发送“无害”电子邮件来鼓励受害者访问该网站,指出恶意URL,以使攻击更有效地进行。访问网站后,受害者会无意中将恶意软件或恶意应用程序下载到他们的计算机上。这种类型的攻击称为驱动下载。

示例

一个例子可能是要求下载假浏览器扩展的恶意弹出窗口。

通过这些方法,攻击者能够在交付阶段成功将有效载荷或恶意软件传输给目标,为后续的攻击步骤做准备。

漏洞利用阶段

概述

为了获得系统访问权限,攻击者需要利用漏洞。在这个阶段,“威震天”发挥了一点创造力——他创建了两封钓鱼邮件,一封包含指向虚假Office 365登录页面的钓鱼链接,另一封包含宏附件,当受害者打开该附件时,该附件会执行勒索软件。“威震天”成功传播了他的漏洞,并让两名受害者点击恶意链接并打开恶意文件。

权限提升与横向移动

在获得系统访问权限后,恶意行为者可以利用软件、系统或基于服务器的漏洞来提升权限或在网络中横向移动。根据CrowdStrike的说法,横向移动是指恶意行为者在获得受害者机器的初始访问权限后,深入网络以获取敏感数据所使用的技术。

零日漏洞

攻击者还可能在此阶段应用“零日漏洞”。据FireEye称,“零日漏洞或零日漏洞是一种未知的野外漏洞,它暴露了软件或硬件中的漏洞,并可能在人们意识到问题之前就造成复杂的问题。零日漏洞在开始时没有留下任何检测的机会。”

攻击示例

以下是攻击者如何进行攻击的示例:

  1. 受害者通过打开电子邮件附件或点击恶意链接来触发漏洞
  2. 使用零日漏洞:攻击者利用未知的漏洞进行攻击。
  3. 利用软件、硬件甚至人类的弱点:攻击者利用系统或网络中的各种弱点。
  4. 触发基于服务器的漏洞攻击:攻击者利用服务器中的漏洞进行进一步攻击。

通过这些方法,攻击者能够在漏洞利用阶段成功获得系统的更高权限,并在网络中横向移动,为后续的攻击步骤做准备。

持久性阶段

概述

正如在武器化阶段所了解到的,后门可让攻击者绕过安全措施并隐藏访问权限。后门也称为接入点。一旦攻击者获得系统的访问权限,他将想要确保即使失去与系统的连接,或者被发现并删除了初始访问权限,或者系统后来被修补,他仍然能够重新访问系统。这时,攻击者需要安装持久后门。持久后门将允许攻击者持续访问他过去入侵的系统。

持久性实现方法
  1. 在Web服务器上安装Web Shell
    1. Web Shell:用ASP、PHP或JSP等Web开发编程语言编写的恶意脚本,攻击者可利用该脚本来维护对受感染系统的访问。由于Web Shell简单且文件格式(.php、.asp、.aspx、.jsp等)难以检测,因此可能被归类为良性。
    2. 参考:您可以查看Microsoft发布的有关各种Web Shell攻击的精彩文章.
  2. 在受害者的机器上安装后门
    1. Meterpreter:一个Metasploit Framework负载,提供了一个交互式shell,攻击者可以通过该shell远程与受害者的机器交互并执行恶意代码。
  3. 创建或修改Windows服务
    1. 技术:此技术在MITRE ATT&CK上称为T1543.003。攻击者可以创建或修改Windows服务,以定期执行恶意脚本或负载作为持久性的一部分。
    2. 工具:攻击者可以使用sc.exe(允许创建、启动、停止、查询或删除任何Windows服务)和Reg等工具来修改服务配置。攻击者还可以使用已知与操作系统或合法软件相关的服务名称来伪装恶意负载。
  4. 在注册表或启动文件夹中添加“运行键”条目
    1. 方法:为恶意负载添加“运行键”条目,这样每次用户登录计算机时,负载都会执行。根据MITRE ATT&CK的说法,每个用户帐户都有一个启动文件夹位置,还有一个系统范围的启动文件夹,无论哪个用户帐户登录,都会检查该文件夹。
Timestomping技术

在此阶段,攻击者还可以使用Timestomping技术来避免被取证调查人员发现,并使恶意软件看起来像是合法程序的一部分。

Timestomping技术 是一种通过篡改文件时间戳来欺骗操作系统和安全工具的技术。时间戳是文件系统中用于记录文件创建时间、最后修改时间和最后访问时间的元数据信息。Timestomping攻击者通过修改这些时间戳,可以使恶意文件看起来像是在很长时间之前就已经存在,或者是在系统感染之前的某个时间点被创建、修改或访问的,以此来避开基于时间戳的监控、检测或分析。

通过这些方法,攻击者能够在持久性阶段确保持续访问已入侵的系统,为后续的攻击步骤做准备。

命令和控制(C2)阶段

概述

在获得持久性并在受害者的机器上执行恶意软件后,“威震天”会通过恶意软件打开C2(命令和控制)通道,远程控制和操纵受害者。该术语也称为C&C或C2信标,是C&C服务器与受感染主机上的恶意软件之间的一种恶意通信。受感染的主机将持续与C2服务器通信,这也是信标术语的来源。

C2通道的建立

受感染的终端将与攻击者设置的外部服务器通信,以建立命令和控制通道。建立连接后,攻击者就可以完全控制受害者的机器。

传统C2通道

直到最近,IRC(互联网中继聊天)还是攻击者使用的传统C2通道。然而,现代安全解决方案可以轻松检测到恶意IRC流量,因此攻击者不再广泛使用这种方法。

现代C2通道

目前对手使用的最常见的C2通道包括:

  1. HTTP协议(端口80)和HTTPS协议(端口443)
    1. 特点:这种类型的信标将恶意流量与合法流量混合在一起,可以帮助攻击者逃避防火墙的检测。
  2. DNS(域名服务器)
    1. 特点:受感染的计算机不断向攻击者的DNS服务器发出DNS请求,这种类型的C2通信也称为DNS隧道。
重要性

值得注意的是,对手或其他受感染的主机可以是C2基础设施的所有者。通过这些C2通道,攻击者能够远程控制受害者的机器,执行各种恶意操作,并进一步扩展攻击。

通过了解这些C2通道的工作原理和特点,安全团队可以更有效地检测和防范命令和控制阶段的攻击。

目标实现阶段

概述

经过六个阶段的攻击后,“威震天”终于可以实现目标,也就是对最初的目标采取行动。通过动手操作键盘,攻击者可以实现以下目标:

  1. 收集用户的凭证
    1. 攻击者可以窃取用户的登录凭证,获取对系统和网络的进一步访问权限。
  2. 执行权限提升
    1. 利用错误配置从工作站获得提升的访问权限,例如域管理员访问权限。
  3. 内部侦察
    1. 攻击者与内部软件交互以发现其漏洞,进一步了解目标网络的结构和弱点。
  4. 在公司环境中进行横向移动
    1. 攻击者在网络中横向移动,感染更多的系统和设备,以扩大影响范围。
  5. 收集并泄露敏感数据
    1. 攻击者收集并窃取公司内部的敏感数据,如财务信息、客户数据、知识产权等。
  6. 删除备份和影子副本
    1. 影子副本是Microsoft的一项技术,可以创建计算机文件或卷的备份副本、快照。攻击者删除这些备份以防止受害者恢复数据。
  7. 覆盖或损坏数据
    1. 攻击者覆盖或损坏目标系统上的数据,造成数据丢失或系统崩溃。

网络杀伤链的局限性及替代方案

网络杀伤链的局限性

网络杀伤链可以成为增强网络防御能力的绝佳工具。但它是否完美呢?它能成为唯一可依赖的工具吗?答案是否定的。

缺乏更新和修改

传统的网络杀伤链或洛克希德马丁网络杀伤链最后一次修改是在2011年。这意味着缺乏更新和修改会造成安全漏洞。

主要针对网络边界和恶意软件

传统的网络杀伤链旨在保护网络边界并防止恶意软件威胁。然而,如今的网络安全威胁已急剧发展,攻击者正在结合多种TTP(战术、技术和程序)来实现其目标。攻击者能够通过修改文件哈希和IP地址来击败威胁情报。

无法识别内部威胁

由于该框架的主要重点是恶意软件传递和网络安全,传统的网络杀伤链将无法识别内部威胁。根据CISA的说法,“内部威胁是指内部人员利用其对组织的授权访问或了解来损害该组织的可能性。”

替代方案
MITRE ATT&CK

MITRE ATT&CK是一个基于真实场景的对手战术和技术知识库。它提供了更详细和更新的攻击方法和技术,帮助组织更好地理解和应对现代网络威胁。

统一杀伤链(UKC)

框架概述

统一杀伤链是一个更全面的框架,结合了多种攻击模型和方法,提供了更广泛的威胁检测和防御能力。

  1. 背景

Paul Pols于2017年发布的"统一杀伤链"(Unified Kill Chain, UKC)旨在补充(而不是竞争)其他网络安全杀伤链框架,例如洛克希德马丁公司的网络杀伤链和MITRE的ATT&CK框架。

  1. UKC的结构

UKC将攻击分为18个详细的阶段,涵盖了从最初的侦察到最终的数据泄露,以及理解攻击者的动机等全面过程。

  1. UKC的优势

与传统网络安全杀伤链框架相比,UKC具有以下显著优势:

  • 现代性

UKC是一个更现代的框架,能够better适应当前的网络威胁环境。

  • 详细程度

UKC包含18个详细阶段,而其他框架可能只有少数几个阶段。

这种详细的分类可以帮助安全团队更精确地识别和应对威胁。

  • 补充性

UKC设计用于补充现有框架,而不是替代它们。

这种补充性使组织可以结合多个框架的优势,构建更强大的防御策略。

统一杀伤链 (UKC) 框架的优势与其他框架相比如何?
现代(2017 年发布,2022 年更新)一些框架,例如 MITRE 的框架,是在 2013 年发布,当时的网络安全形势非常不同
UKC 极其详细(18 个阶段)其他框架通常只有少数几个阶段
UKC 涵盖整个攻击过程 - 从侦察、利用、后利用,包括识别攻击者的动机其他框架涵盖有限数量的阶段
UKC 强调了一种更为现实的攻击场景。各种阶段通常会重复发生。例如,在利用一台机器后,攻击者将开始侦察以转向另一个系统其他框架没有考虑到攻击者在攻击过程中会在各个阶段之间来回切换的事实

统一杀伤链阶段

序号统一杀伤链阶段描述
1Reconnaissance(侦察)通过主动或被动侦察来研究、识别和选择目标
2Weaponization(武器化)为攻击建立所需基础设施的准备活动
3Delivery(投递)将武器化对象传输到目标环境的技术
4Social Engineering(社会工程)操纵人们执行不安全行为的技术
5Exploitation(漏洞利用)利用系统漏洞的技术,可能导致代码执行等后果
6Persistence(持久化)攻击者在系统中保持存在的任何访问、操作或更改
7Defense Evasion(防御规避)攻击者专门用于逃避检测或避开其他防御措施的技术
8Command & Control(命令与控制)允许攻击者与目标网络内被控制的系统进行通信的技术
9Pivoting(跳板攻击)通过被控制的系统将流量转发到无法直接访问的其他系统
10Discovery(发现)使攻击者了解系统及其网络环境的技术
11Privilege Escalation(权限提升)为攻击者在系统或网络上提供更高权限的技术结果
12Execution(执行)在本地或远程系统上执行攻击者控制的代码的技术
13Credential Access(凭据获取)获取或控制系统、服务或域凭据的技术
14Lateral Movement(横向移动)使攻击者能够横向访问和控制其他远程系统的技术
15Collection(数据收集)在数据渗出之前,从目标网络识别和收集数据的技术
16Exfiltration(数据渗出)导致或协助攻击者从目标网络中移除数据的技术
17Impact(影响)旨在操纵、中断或破坏目标系统或数据的技术
18Objectives(目标)攻击的社会技术目标,旨在实现战略目标

UKC立足点阶段

侦察(MITRE战术 TA0043)

UKC的这一阶段描述了对手用来收集与目标有关的信息的技术。这可以通过被动和主动侦察手段实现。在此阶段收集的信息将用于UKC的整个后期阶段(例如初始立足点)。

此阶段收集的信息包括:

  • 发现目标上正在运行的系统和服务,这是本节武器化和利用阶段的有益信息。
  • 查找可冒充或用于社会工程或网络钓鱼攻击的联系人列表或员工列表。
  • 寻找可能在后期阶段有用的潜在凭证,例如枢转或初始访问。
  • 了解网络拓扑和其他网络系统也可以用来进行枢转。
武器化(MITRE战术 TA0001)

UKC的这一阶段描述了攻击者设置执行攻击所需的基础设施。例如,这可能是设置命令和控制服务器,或能够捕获反向shell并向系统传送有效载荷的系统。

社会工程学(MITRE策略 TA0001)

UKC的这一阶段描述了攻击者可以采用的技术,以操纵员工执行有助于攻击者攻击的操作。例如,社会工程攻击可能包括:

  • 让用户打开恶意附件。
  • 模仿网页并让用户输入其凭证。
  • 致电或访问目标并冒充用户(例如,请求重置密码)或能够访问攻击者以前无法访问的站点区域(例如,冒充公用事业工程师)。
漏洞利用(MITRE战术 TA0002)

UKC的这一阶段描述了攻击者如何利用系统中存在的弱点或漏洞。UKC将“利用”定义为滥用漏洞来执行代码。例如:

  • 将反向shell上传到Web应用程序并执行。
  • 干扰系统上的自动脚本来执行代码。
  • 滥用Web应用程序漏洞在其运行的系统上执行代码。
持久性(MITRE战术 TA0003)

UKC的这个阶段相当简短和简单。具体来说,UKC的这个阶段描述了攻击者用来维持对其已获得初步立足点的系统的访问权的技术。例如:

  • 在目标系统上创建一个服务,使攻击者能够重新获得访问权限。
  • 将目标系统添加到命令和控制服务器,可随时远程执行命令。
  • 留下其他形式的后门,当系统发生某个动作时执行(即,当系统管理员登录时,将执行反向shell)。
防御规避(MITRE战术 TA0005)

UKC的“防御规避”部分是UKC中比较有价值的阶段之一。此阶段专门用于了解攻击者用来规避系统或网络中实施的防御措施的技术。例如,这可能是:

  • Web应用程序防火墙。
  • 网络防火墙。
  • 目标机器上的防病毒系统。
  • 入侵检测系统。

这个阶段在分析攻击时很有价值,因为它有助于形成反应,而且更好的是,为防御团队提供有关如何在未来改进防御系统的信息。

指挥与控制(MITRE战术 TA0011)

UKC的“指挥与控制”阶段结合了对手在UKC“武器化”阶段所做的努力,以建立对手与目标系统之间的通信。

对手可以建立对目标系统的指挥和控制,以实现其对目标的行动。例如,对手可以:

  • 执行命令。
  • 窃取数据、凭证和其他信息。
  • 使用受控服务器转向网络上的其他系统。
旋转(MITRE战术 TA0008)

“枢转”是攻击者用来访问网络中其他无法访问的系统(例如,它们未暴露在互联网上)的技术。网络中通常有许多无法直接访问的系统,这些系统通常包含有价值的数据或安全性较弱。

例如,对手可以访问可公开访问的Web服务器,从而攻击同一网络内的其他系统(但无法通过互联网访问)。

UKC网络传播阶段

旋转 (MITRE Tactic TA0008)

此阶段是在成功在目标网络上建立立足点之后进行的。攻击者将寻求获得对系统和数据的额外访问权限和特权以实现其目标。攻击者将在其中一个系统上建立一个基地作为其枢纽,并利用它来收集有关内部网络的信息。

一旦攻击者获得系统访问权限,他们就会将其用作他们的临时站点以及指挥操作与受害者网络之间的隧道。该系统还将在后期用作所有恶意软件和后门的分发点。

发现(MITRE Tactic TA0007)

攻击者会发现有关系统及其所连接网络的信息。在此阶段,将根据活跃用户帐户、授予的权限、正在使用的应用程序和软件、Web浏览器活动、文件、目录和网络共享以及系统配置构建知识库。

权限提升(MITRE策略 TA0004)

在收集到信息后,攻击者会尝试在枢纽系统内获取更突出的权限。他们会利用发现的漏洞和配置错误的账户信息,将其访问权限提升到以下某个更高级别:

  • 系统/根。
  • 本地管理员。
  • 具有类似管理员访问权限的用户帐户。
  • 具有特定访问权限或功能的用户帐户。
执行(MITRE战术 TA0002)

在这个阶段,攻击者使用枢纽系统作为主机来部署恶意代码。部署和创建远程木马、C2脚本、恶意链接和计划任务,以促进其在系统上的重复存在并维持其持久性。

凭证访问(MITRE Tactic TA0006)

在特权提升阶段,攻击者会尝试通过各种方法窃取账户名和密码,包括键盘记录和凭证转储。由于攻击者使用的是合法凭证,因此攻击过程中更难被发现。

横向移动(MITRE战术 TA0008)

有了凭证和提升的权限,对手会试图穿越网络并跳转到其他目标系统以实现其主要目标。使用的技术越隐秘越好。

UKC攻击行动阶段

此阶段是攻击者对环境发起攻击的整个过程,攻击者可以在此环境中访问关键资产并实现其攻击目标。这些目标通常旨在破坏机密性、完整性和可用性 (CIA) 三要素。

攻击者可能采用的策略包括:

收集(MITRE Tactic TA0009)

在搜寻访问权和资产之后,攻击者将寻求收集所有有价值的数据。这会破坏数据的机密性,并导致下一个攻击阶段——数据泄露。主要目标来源包括驱动器、浏览器、音频、视频和电子邮件。

渗透(MITRE Tactic TA0010)

为了增加攻击的难度,攻击者会试图窃取数据,并使用加密和压缩措施对数据进行打包,以避免任何检测。在此过程中,早期部署的C2通道和隧道将派上用场

冲击(MITRE Tactic TA0040)

如果攻击者试图破坏数据资产的完整性和可用性,他们会操纵、中断或破坏这些资产。目标是破坏业务和运营流程,可能涉及删除账户访问权限、磁盘擦除和数据加密(例如勒索软件、污损和拒绝服务(DoS)攻击)。

目标

掌握了系统和网络的所有权力和访问权限后,攻击者将寻求实现其攻击的战略目标。

例如,如果攻击是出于经济动机,他们可能会试图用勒索软件加密文件和系统,并要求付款以释放数据。在其他情况下,攻击者可能会试图损害企业的声誉,并向公众发布私人和机密信息

数字取证和事件响应 ( DFIR )

数字取证

取证是应用方法和程序来调查和解决犯罪。调查网络犯罪的取证分支被称为数字取证网络犯罪是指在数字设备上进行或使用数字设备进行的任何犯罪活动。任何犯罪发生后,都会使用多种工具和技术彻底调查数字设备,以查找和分析必要法律行动的证据。


在防御性安全方面,数字取证的重点转向分析攻击及其实施者的证据以及其他领域,例如知识产权盗窃、网络间谍活动和持有未经授权的内容。因此,数字取证将重点关注不同的领域,例如:

  • 文件系统:分析系统存储的数字取证图像(低级副本)可以揭示许多信息,例如已安装的程序、创建的文件、部分覆盖的文件和已删除的文件。
  • 系统内存:如果攻击者在内存中运行恶意程序而不将其保存到磁盘,则获取系统内存的取证映像(低级副本)是分析其内容和了解攻击的最佳方法。
  • 系统日志:每台客户端和服务器计算机都维护着不同的日志文件,记录正在发生的事情。日志文件提供了大量有关系统上发生的事情的信息。即使攻击者试图清除他们的痕迹,一些痕迹仍会残留。
  • 网络日志:穿过网络的网络数据包的日志将有助于回答有关是否发生攻击以及攻击会带来什么后果的更多问题。

事件响应


事件通常是指数据泄露或网络攻击;但在某些情况下,事件也可能不那么严重,例如配置错误、入侵企图或违反政策。网络攻击的例子包括攻击者使我们的网络或系统无法访问、破坏(更改)公共网站以及数据泄露(窃取公司数据)。您将如何应对网络攻击?事件响应指定了处理此类情况应遵循的方法。目标是减少损失并在尽可能短的时间内恢复。理想情况下,您将制定一个随时可用的事件响应计划。

事件响应过程的四个主要阶段是:

  1. 准备:这需要一支训练有素、随时准备处理事故的团队。理想情况下,应采取各种措施,防止事故发生。
  2. 检测和分析:团队拥有检测任何事件所需的资源;此外,进一步分析任何检测到的事件以了解其严重程度至关重要。
  3. 遏制、根除和恢复:一旦检测到事件,至关重要的是阻止其影响其他系统、消除它并恢复受影响的系统。例如,当我们注意到某个系统感染了计算机病毒时,我们希望阻止(遏制)病毒传播到其他系统、清除(根除)病毒并确保系统正常恢复。
  4. 事件后活动:成功恢复后,生成报告并分享经验教训,以防止将来发生类似事件。

恶意软件分析


Malware 代表恶意软件。软件是指可以保存在磁盘上或通过网络发送的程序、文档和文件。恶意软件包括多种类型,例如:

  • 病毒是附着在程序上的一段代码(程序的一部分)。病毒旨在从一台计算机传播到另一台计算机,一旦感染计算机就会改变、覆盖和删除文件。其后果包括计算机运行缓慢甚至无法使用。
  • 特洛伊木马是一种程序,它表面上显示一个可取的功能,但实际上却隐藏着恶意功能。例如,受害者可能会从可疑网站下载视频播放器,从而使攻击者完全控制其系统。
  • 勒索软件是一种加密用户文件的恶意程序。加密会使文件在不知道加密密码的情况下无法读取。如果用户愿意支付“赎金”,攻击者就会向用户提供加密密码。

恶意软件分析旨在通过各种方式了解此类恶意程序:

  1. 静态分析的工作原理是在不运行恶意程序的情况下对其进行检查。这通常需要扎实的汇编语言知识(处理器的指令集,即计算机的基本指令)。
  2. 动态分析的工作原理是在受控环境中运行恶意软件并监控其活动。它可以让您观察恶意软件运行时的行为。

网络安全职业角色

  1. 安全分析师

安全分析师是构建整个组织的安全措施以保护公司免受攻击不可或缺的一部分。分析师探索和评估公司网络,以发现可操作的数据和建议,供工程师制定预防措施。该职位需要与各种利益相关者合作,以了解安全要求和安全形势。

职责

  • 与各利益相关者合作,分析整个公司的网络安全
  • 编制有关网络安全的持续报告,记录安全问题和应对措施
  • 制定安全计划,纳入对新攻击工具和趋势的研究以及各团队维护数据安全所需的措施。
  1. 安全工程师

安全工程师使用威胁和漏洞数据(通常来自安全工作人员)来开发和实施安全解决方案。安全工程师的工作范围包括规避各种攻击,包括 Web 应用程序攻击、网络威胁以及不断发展的趋势和策略。最终目标是保留和采用安全措施,以减轻攻击和数据丢失的风险。

职责

  • 测试和筛选软件的安全措施
  • 监控网络和报告以更新系统并减轻漏洞
  • 确定并实施最佳安全所需的系统
  1. 事件响应者

事件响应人员能够高效高效地应对安全漏洞。其职责包括为组织制定计划、政策和协议,以便在事件发生期间和之后实施。这一职位通常压力很大,需要实时评估和响应,因为攻击正在展开。事件响应指标包括 MTTD、MTTA 和 MTTR - 检测、确认和恢复(从攻击中)的时间。其目的是实现快速有效的响应,保持财务状况并避免负面的违规影响。最终,事件响应人员保护公司的数据、声誉和财务状况免受网络攻击。

职责

  • 制定并采用全面、可行的事件响应计划
  • 保持强大的安全最佳实践并支持事件响应措施
  • 事件发生后的报告和对未来攻击的准备,考虑从事件中吸取的教训和采取的措施
  1. 数字取证审查员

如果你喜欢当侦探,这份工作可能非常适合你。如果你在执法部门工作,你的工作重点是收集和分析证据,帮助破案:指控有罪者,洗脱无辜者的罪名。另一方面,如果你的工作是保护公司的网络,你将使用你的取证技能来分析事件,例如违反政策的行为。

职责

  • 遵守法律程序的同时收集数字证据
  • 分析数字证据以找到与案件相关的答案
  • 记录你的发现并报告案件
  1. 恶意软件分析师

恶意软件分析师的工作包括分析可疑程序、发现它们的作用并撰写有关其发现的报告。恶意软件分析师有时被称为逆向工程师,因为他们的核心任务是将编译后的程序从机器语言转换为可读代码(通常是低级语言)。这项工作要求恶意软件分析师具有强大的编程背景,尤其是汇编语言和 C 语言等低级语言。最终目标是了解恶意程序执行的所有活动,找出如何检测和报告它。

职责

  • 对恶意程序进行静态分析,这需要进行逆向工程
  • 通过观察受控环境中的恶意软件样本活动,对其进行动态分析
  • 记录并报告所有发现
  1. 渗透测试员

您可能会看到渗透测试被称为渗透测试和道德黑客。渗透测试员的工作职责是测试公司内部系统和软件的安全性 - 这是通过尝试通过系统化黑客攻击发现缺陷和漏洞来实现的。渗透测试员利用这些漏洞来评估每种情况下的风险。然后,公司可以利用这些见解来纠正问题,以防止现实世界的网络攻击。

职责

  • 对计算机系统、网络和基于网络的应用程序进行测试
  • 执行安全评估、审计和分析政策
  • 评估并报告见解,推荐攻击预防行动
  1. 红队成员

红队队员与渗透测试员有相似之处,但工作职责更有针对性。渗透测试员希望发现系统中的众多漏洞,以保持网络防御的良好状态,而红队队员则负责测试公司的检测和响应能力。这项工作需要模仿网络罪犯的行为,模拟恶意攻击,保留访问权限并避免被发现。红队评估可以持续长达一个月,通常由公司外部的团队进行。它们通常最适合已实施成熟安全计划的组织。

职责

  • 模拟威胁行为者的角色,发现可利用的漏洞、保持访问权限并避免被发现
  • 评估组织的安全控制、威胁情报和事件响应程序
  • 评估并报告见解,为公司提供可操作的数据,以避免现实世界中的情况

基础知识

IP 地址

IP 地址 是一组分为四个八位字节的数字。每个八位字节的值将汇总为网络上设备的 IP 地址。

随着越来越多的设备联网,获取尚未使用的公共地址变得越来越困难。例如,网络行业巨头思科估计,到 2021 年底,互联网上将有大约 500 亿台设备联网。

IPv6 是互联网协议寻址方案的新版本,可帮助解决此问题。虽然它看起来更令人生畏,但它具有一些优势:

  • 支持高达 2^128 个 IP 地址(超过 340 万亿),解决 IPv4 面临的问题
  • 采用新方法,效率更高

MAC 地址

网络上的所有设备都具有物理网络接口,即设备主板上的微芯片板。此网络接口在出厂时被分配了一个唯一的地址,称为 MAC(媒体访问控制)地址。MAC 地址是一个十二个字符的十六进制数(一种用于计算的十六进制数字系统),分成两部分并用冒号分隔。这些冒号被视为分隔符。例如,a4:c3:f0:85:ac:2d。前六个字符代表制造网络接口的公司,后六个字符是一个唯一的数字。

MAC 地址的一个有趣之处在于,它们可以被伪造或“欺骗”,这个过程被称为欺骗。当联网设备假装使用其 MAC 地址识别为另一台设备时,就会发生这种欺骗。当发生这种情况时,它通常会破坏实施不佳的安全设计,这些设计假设网络上通信的设备是值得信赖的。请考虑以下场景:防火墙配置为允许任何往返于管理员 MAC 地址的通信。如果设备假装或“欺骗”此 MAC 地址,防火墙现在会认为它正在接收来自管理员的通信,但事实并非如此。

Ping(ICMP)

Ping 是我们可以使用的最基本的网络工具之一。Ping 使用 ICMP ( Internet 控制消息协议)数据包来确定设备之间连接的性能,例如,连接是否存在或是否可靠。

4.LAN 简介

星型拓扑

星型拓扑的主要前提是设备通过交换机或集线器等中央网络设备单独连接。这种拓扑是当今最常见的拓扑,因为它具有可靠性和可扩展性 - 尽管成本较高。

任何发送到此拓扑中的设备的信息都通过其连接的中央设备发送。

优点:

由于此拓扑需要更多布线和购买专用网络设备,因此它比任何其他拓扑都更昂贵。然而,尽管增加了成本,但这确实提供了一些显著的优势。例如,这种拓扑本质上更具可扩展性,这意味着随着网络需求的增加,可以非常轻松地添加更多设备。

缺点:

不幸的是,网络规模越大,需要的维护就越多,才能保持网络正常运行。对维护的依赖性增加也会使故障排除变得更加困难。此外,星型拓扑仍然容易发生故障 - 尽管发生故障的几率有所降低。例如,如果连接设备的集中式硬件发生故障,这些设备将不再能够发送或接收数据。值得庆幸的是,这些集中式硬件设备通常非常坚固。

总线拓扑

这种连接依赖于一条称为主干电缆的连接。这种拓扑结构类似于树上的叶子,因为设备(叶子)从电缆上的树枝处开始。

由于发往每台设备的所有数据都通过同一条电缆传输,因此如果拓扑中的设备同时请求数据,则很快就会变得缓慢并出现瓶颈。这种瓶颈还会导致非常困难的故障排除,因为很快就很难确定哪台设备在数据沿同一条路径传输时遇到了问题。

优点:

然而,话虽如此,总线拓扑是更容易和更具成本效益的拓扑之一,因为它的成本较低,例如用于连接这些设备的电缆或专用网络设备。

缺点:

最后,总线拓扑的另一个缺点是,在发生故障时几乎没有冗余。这个缺点是因为主干电缆上有一个单点故障。如果这条电缆断了,设备就无法再沿总线接收或发送数据。

环形拓扑

环形拓扑(也称为令牌拓扑)具有一些相似之处。计算机等设备直接相互连接以形成环路,这意味着几乎不需要布线,并且对星型拓扑中专用硬件的依赖性较低。

环形拓扑的工作原理是将数据发送到环路中,直到到达目标设备,然后使用环路上的其他设备转发数据。有趣的是,在这种拓扑中,如果设备没有数据要发送,它只会发送从其他设备收到的数据。如果设备恰好有数据要发送,它会先发送自己的数据,然后再发送来自其他设备的数据。

由于数据在这种拓扑结构中只能单向传输,因此很容易排除任何故障。然而,这是一把双刃剑,因为它不是数据传输的有效方式,因为它可能必须先访问许多设备才能到达目标设备。

最后,环形拓扑结构不易出现瓶颈,例如总线拓扑结构,因为大量流量不会同时通过网络。然而,这种拓扑结构的设计意味着,电缆切断或设备损坏等故障将导致整个网络中断。

Switch(交换机)

交换机是网络中的专用设备,旨在通过以太网聚合多台其他设备,例如计算机、打印机或任何其他具有网络功能的设备。这些不同的设备插入交换机的端口。交换机通常用于大型网络,例如企业、学校或类似规模的网络,这些网络中有许多设备要连接到网络。交换机可以连接大量设备,因为它们有 4、8、16、24、32 和 64 个端口供设备插入。

交换机比其低端同类设备(集线器/中继器)效率高得多。交换机会跟踪哪个设备连接到哪个端口。这样,当它们收到数据包时,它不会像集线器那样将该数据包转发到每个端口,而是直接将其发送到预期目标,从而减少网络流量。

交换机和路由器都可以相互连接。通过增加多条数据路径,可以提高网络的冗余度(可靠性)。如果一条路径出现故障,可以使用另一条路径。虽然这可能会降低网络的整体性能,因为数据包需要更长的时间才能传输,但不会出现停机时间——考虑到替代方案,这只是一个小小的代价。

路由器

路由器的作用是连接网络并在网络间传递数据。它通过路由来实现这一点(因此得名路由器!) .

路由是数据在网络中传输的过程的标签。路由涉及在网络之间创建路径,以便成功传输数据。

当设备通过多条路径连接时,路由很有用,例如下面的示例图。

子网划分

网络有各种形状和大小 - 从小到大。子网划分是指将网络划分为更小的微型网络。想象一下为朋友切蛋糕。蛋糕只有一定数量,但每个人都想分一块。子网划分就是你决定谁分哪一块,并保留这块比喻蛋糕的这一块。

IP 地址由四个部分组成,称为八位字节。子网掩码也是如此,它也表示为四个字节(32 位)的数字,范围从 0 到 255(0-255)。

子网以三种不同的方式使用 IP 地址:

  • 识别网络地址
  • 识别主机地址
  • 识别默认网关

ARP(地址解析协议)

设备可以有两个标识符:一个 MAC 地址和一个 IP 地址,地址解析协议(ARP )是负责允许设备在网络上识别自己的技术。

简单来说,ARP 允许设备将其 MAC 地址与网络上的 IP 地址关联起来。网络上的每个设备都会保留与其他设备关联的 MAC 地址的日志。

当设备希望与另一台设备通信时,它们会向整个网络发送广播以搜索特定设备。设备可以使用 ARP 查找设备的 MAC 地址(以及物理标识符)以进行通信。

ARP 如何工作?

网络中的每个设备都有一个用于存储信息的账本,称为缓存。在 ARP 上下文中,此缓存存储网络上其他设备的标识符。

为了将这两个标识符(IP 地址和 MAC 地址)映射在一起,ARP 发送两种类型的消息:

  • ARP 请求
  • ARP 应答

发送 ARP 请求时,网络上会向其他设备广播一条消息,询问“拥有此 IP 地址的 MAC 地址是什么?”当其他设备收到该消息时,它们只有在拥有该 IP 地址时才会响应,并发送带有其 MAC 地址的 ARP 回复。请求设备现在可以记住此映射并将其存储在其 ARP 缓存中以供将来使用。

下图说明了这个过程:

DHCP(动态主机配置协议)

IP 地址可以手动分配(通过将其物理输入到设备中)或自动分配(最常见的是使用 DHCP(动态主机配置协议)服务器)。当设备连接到网络时,如果尚未手动分配 IP 地址,它会发出请求(DHCP 发现)以查看网络上是否有任何 DHCP 服务器。然后, DHCP 服务器回复设备可以使用的 IP 地址(DHCP 提供)。然后,设备发送回复确认它需要提供的 IP 地址(DHCP 请求),最后,DHCP 服务器发送回复确认已完成,并且设备可以开始使用 IP 地址(DHCP 确认)。

OSI 模型

OSI 模型(即开放系统互连模型)是网络中使用的绝对基本模型。这一关键模型提供了一个框架,规定了所有联网设备如何发送、接收和解释数据。

OSI 模型的主要优点之一是,网络上的设备在与其他设备通信时可以具有不同的功能和设计。通过遵循 OSI 模型统一性的网络发送的数据可以被其他设备理解。

OSI 模型由七层组成,如下图所示。每层都有不同的职责,从第 7 层到第 1 层排列。

在数据经过的每个单独层上,都会发生特定的过程,并将信息添加到数据中,这就是我们将在本房间的后续任务中讨论的内容。但是,现在我们只需要了解这个过程称为封装,以及下图中的 OSI 模型:

物理层

这一层是最容易理解的层之一。简而言之,这一层引用网络中使用的硬件的物理组件,是你能找到的最低层。设备使用电信号在二进制数字系统(1 和 0)中相互传输数据。

例如,连接设备的以太网电缆。

数据链路

数据链路层专注于传输的物理寻址。它从网络层接收数据包(包括远程计算机的 IP 地址),并添加接收端点的物理 MAC (媒体访问控制)地址。每台支持网络的计算机内部都有一个网络接口卡( NIC ),它带有一个唯一的 MAC 地址来标识它。

MAC 地址由制造商设置,并刻录到卡中;无法更改 - 尽管可以被伪造。当信息通过网络发送时,实际上是使用物理地址来识别将信息发送到何处。

此外,数据链路层的工作还包括以适合传输的格式呈现数据。

网络层

OSI 模型的第三层(网络层)是神奇的数据路由和重组发生的地方(从这些小块到大块)。首先,路由只是确定发送这些数据块的最佳路径。

虽然此层的一些协议可以准确确定数据到达设备应采用的“最佳”路径,但我们只能在网络模块的这个阶段知道它们的存在。简而言之,这些协议包括 OSPF (Open Shortest Path First)和 RIP (Routing Information Protocol)。决定采用哪种路由的因素由以下因素决定:

  • 哪条路径最短?即数据包需要穿越的设备数量最少。
  • 哪条路径最可靠?即之前该路径上是否丢失过数据包?
  • 哪条路径的物理连接速度更快?即一条路径使用铜线连接(速度较慢)还是光纤连接(速度明显更快)?

在此层,一切都通过 IP 地址(例如 192.168.1.100)进行处理。能够使用 IP 地址传送数据包的设备(例如路由器)称为第 3 层设备 — 因为它们能够在 OSI 模型的第三层工作。

传输层

OSI 模型的第 4 层在通过网络传输数据方面起着至关重要的作用,但可能有点难以理解。在设备之间发送数据时,它遵循两种不同的协议之一,这些协议取决于以下几个因素:

  • TCP
  • UDP

让我们从 TCP 开始。传输控制协议(Transmission Control Protocol )。从名称就可以看出,该协议的设计考虑了可靠性和保证。该协议在发送和接收数据所需的时间内保留两个设备之间的持续连接。

不仅如此,TCP 还在其设计中加入了错误检查。错误检查是 TCP 确保从会话层(第 5 层)的小块发送的数据已被接收并按相同顺序重新组装的方式。

让我们在下表中总结一下 TCP 的优点和缺点:

TCP 用于文件共享、互联网浏览或发送电子邮件等情况。这种用法是因为这些服务要求数据准确且完整(只有一半的文件是不行的!) .

在下图中,我们可以看到一张猫的图片是如何从“网络服务器”分解成小块数据(称为数据包)的,然后“计算机”按照正确的顺序重新构建猫的图片。

现在让我们讨论 User Datagram Protocol(简称 UDP )。该协议远不如其兄弟 TCP 协议先进。它不具备 TCP 提供的诸多功能,例如错误检查和可靠性。事实上,通过 UDP 发送的任何数据都会发送到计算机,无论是否到达。两个设备之间没有同步或保证;只能祈祷一切顺利,然后祈祷好运。

虽然这听起来不利,但它确实有其优点,我们将在下表中列出:

使用与之前相同的例子,我们现在可以看到“计算机”只接收到了数据包 #1 和 #3,这意味着一半的图像丢失了。

UDP 在发送小块数据的情况下很有用。例如,用于发现设备的协议( ARP 和 DHCP) 或较大的文件(如视频流)(如果视频的某些部分像素化也没关系。像素只是丢失的数据片段!)

会话层

一旦数据从表示层(第 6 层)被正确转换或格式化,会话层(第 5 层)将开始创建并维护与数据目的地的其他计算机的连接。建立连接后,将创建一个会话。当此连接处于活动状态时,会话也处于活动状态。

如果一段时间内未使用或连接丢失,会话层还负责关闭连接。此外,会话 可以 包含“检查点”,如果数据丢失,则只需发送最新的数据,从而节省带宽。

值得注意的是,会话是唯一的——这意味着数据不能跨不同的会话传输,而实际上只能跨每个会话传输。

表示层

OSI 模型的第 6 层是标准化开始实施的层。由于软件开发人员可以以不同的方式开发任何软件(例如电子邮件客户端),因此无论软件如何工作,数据仍需要以相同的方式处理。

这一层充当数据与应用层(第 7 层)之间的转换器。接收计算机还将理解以一种格式发送到计算机而以另一种格式发送的数据。例如,当您发送电子邮件时,其他用户可能拥有另一个电子邮件客户端,但电子邮件的内容仍需要显示相同的内容。

数据加密(如访问安全站点时的 HTTPS)等安全功能发生在此层。

应用层

OSI 模型中的应用层是你最熟悉的层。之所以熟悉,是因为应用层是制定协议和规则的层,用于确定用户应如何与发送或接收的数据进行交互。

日常应用程序(例如电子邮件客户端、浏览器或文件服务器浏览软件,例如 FileZilla)为用户提供了友好的图形用户界面 (GUI),以便用户与发送或接收的数据进行交互。其他协议包括 DNS(Domain Name System ),它是将网站地址转换为IP地址的方式。

数据包和帧

概念

数据包和帧都是小块数据,当它们组合在一起时,会形成更大的信息或消息。然而,在 OSI 模型中,它们是两个不同的东西。帧位于第 2 层 - 数据链路层,这意味着没有 IP 地址之类的信息。想象一下将一个信封放在另一个信封中并将其寄出。第一个信封将是您邮寄的数据包,但一旦打开,信封中的信封仍然存在并包含数据(这是一个帧)。

这个过程称为封装,我们在第三节:OSI 模型中讨论过。在这个阶段,可以安全地假设当我们谈论任何 IP 地址时,我们谈论的是数据包。当封装信息被剥离时,我们谈论的是帧本身。

数据包是在联网设备之间传递数据的有效方式。由于这些数据是以小块的形式进行交换的,因此与一次发送大消息相比,在网络上出现瓶颈的可能性较小。

例如,当从网站加载图像时,该图像不会以整体形式发送到您的计算机,而是会以小块的形式发送到您的计算机,然后重新构建。以下图为例说明此过程。猫的图片被分成三个数据包,到达计算机后重新构建以形成最终图像。

数据包具有不同的结构,这取决于发送的数据包类型。正如我们接下来要讨论的,网络充满了标准和协议,它们充当了一组规则,规定了数据包在设备上的处理方式。互联网上有数十亿台设备连接在一起,如果没有标准化,事情很快就会崩溃

让我们继续讨论互联网协议的例子。使用此协议的数据包将具有一组标头,其中包含通过网络发送的数据的附加信息。

一些值得注意的标题包括:

TCP/IP(三次握手)

TCP (或 简称传输 控制协议 )是网络中使用的另一个规则。

该协议与我们之前在本模块第三部分讨论过的 OSI 模型非常相似。TCP / IP 协议由四层组成,可以说只是 OSI 模型的总结版本。这些层是:

  • 应用
  • 运输
  • 互联网
  • 网络接口

与 OSI 模型的工作方式非常相似,当数据(或数据包)穿过TCP模型时,信息会被添加到该模型的每一层。您可能还记得,这个过程称为封装 - 而这个过程的逆过程是解封装。

TCP的一个定义特征是它是 基于连接的,这意味着TCP必须在 发送数据之前在客户端和充当服务器的设备之间建立连接 。

因此,TCP 保证发送的任何数据都会在另一端收到。这个过程称为三向握手,我们稍后会讨论它。 下表比较了TCP的优点和缺点:

下图显示了 Alice 和 Bob 之间的正常 Three-way 握手过程。在现实生活中,这将是在两个设备之间。

任何发送的数据都会被赋予一个随机数字序列,并使用此数字序列并以 1 为增量进行重建。两台计算机必须就相同的编号规则达成一致,才能以正确的顺序发送数据。此顺序分三个步骤达成一致:

  1. SYN - 客户端:这是我的初始序列号 (ISN),用于 SYNchronise (0)
  2. SYN/ACK - 服务器:这是我用 (5,000) 记录 SYN的初始序列号 (ISN),我现在确认您的初始编号序列 (0)
  3. 确认 - 客户:我确认您的初始序列号 (ISN) 为 (5,000),下面是我的 ISN+1 (0 + 1) 的一些数据

TCP 协议关闭连接:

让我们快速解释一下 TCP 关闭连接背后的过程。首先,一旦设备确定另一台设备已成功接收所有数据,TCP 将关闭连接。

由于 TCP 会在设备上保留系统资源,因此最佳做法是尽快关闭 TCP 连接。

要启动关闭 TCP 连接,设备将向另一台设备发送 “FIN” 数据包。当然,使用 TCP 时,另一台设备也必须确认此数据包。

让我们像以前一样使用 Alice 和 Bob 来演示这个过程。

在图中,我们可以看到 Alice 向 Bob 发送了一个 “FIN” 数据包。因为 Bob 收到了这个,所以他会让 Alice 知道他收到了这个,并且他还想关闭连接(使用 FIN)。Alice 已经清楚地听到了 Bob 的声音,并会让 Bob 知道她承认了这一点。

UDP

User Datagram Protocol (UDP) 是另一种用于在设备之间传输数据的协议。

与其兄弟 TCP 不同,UDP 是一种 无状态协议,不需要两个设备之间持续连接即可发送数据。例如,不会发生 Three-way hand shake,两个设备之间也没有任何同步。

回想一下 3 号房间中对这两个协议所做的一些比较:“OSI 模型”。也就是说,UDP 用于应用程序可以容忍数据丢失的情况(例如视频流或语音聊天)或不稳定的连接不是最终结果的情况。下表比较了 UDP 的优缺点:

如前所述,在两个设备之间建立连接时不会发生任何过程。这意味着不考虑是否接收数据,也没有 TCP 提供的保护措施,例如数据完整性。

UDP 数据包比 TCP 数据包简单得多,并且标头更少。但是,这两种协议共享一些标准标头,下表中对此进行了注释:

端口

端口是可以交换数据的重要点。想想港口和港口。希望停靠港口的船舶必须前往与船上的尺寸和设施相适应的港口。当船只排队时,它将连接到港口的港口 。例如,邮轮不能停靠在为渔船建造的港口,反之亦然。

这些端口强制规定了什么可以停放以及停在哪里——如果不兼容,它就不能停在这里。网络设备在相互通信时也使用端口来执行严格的规则。建立连接后(从 OSI 模型的房间调用),设备发送或接收的任何数据都将通过这些端口发送。在计算中,端口是介于 0 和 65535 (65,535) 之间的 数值。

由于端口的范围可以在 0 到 65535 之间的任何位置,因此很快就会忘记哪个应用程序正在使用哪个端口。繁忙的港口一片混乱!值得庆幸的是,我们将应用程序、软件和行为与一组标准规则相关联。例如,通过强制通过端口 80 发送任何 Web 浏览器数据,软件开发人员可以设计一个 Web 浏览器(如 Google Chrome 或 Firefox)来以相同的方式解释数据。

这意味着所有 Web 浏览器现在都共享一个通用规则:数据通过端口 80 发送。浏览器的外观、感觉和易用性取决于设计师或用户的决定。

虽然 Web 数据的标准规则是 端口 80,但已为其他一些协议分配了标准规则。介于 0 和 1024 (1,024) 之间的 任何端口都称为公共端口。 让我们在下面探索一些其他协议:

端口转发

端口转发是将应用程序和服务连接到互联网的重要组件。如果没有端口转发,应用程序和服务(例如 Web 服务器)只能供同一直接网络内的设备使用。

以下面的网络为例。在这个网络中,IP 地址为“192.168.1.10”的服务器在端口 80 上运行一个 Web 服务器。只有该网络上的另外两台计算机才能访问它(这称为内部网)。

如果管理员希望公众可以访问该网站(通过互联网),他们就必须实施端口转发,如下图所示:

通过这种设计,网络 #2 现在将能够使用网络 #1 的公共 IP 地址 (82.62.51.70) 访问在网络 #1 上运行的 Web 服务器。

端口转发很容易与防火墙的行为相混淆(我们将在后面的任务中讨论这项技术)。但是,在这个阶段,只需了解端口转发会打开特定端口(回想一下数据包的工作原理)。相比之下,防火墙会确定流量是否可以通过这些端口传输(即使这些端口是通过端口转发打开的)。

端口转发是在网络路由器上配置的。

防火墙

防火墙是网络中负责确定允许哪些流量进出的设备。将防火墙视为网络的边界安全。管理员可以根据多种因素配置防火墙以允许 或 拒绝 流量进入或退出网络,例如:

  • 流量来自哪里?(是否告知防火墙接受/拒绝来自特定网络的流量?
  • 流量去哪里了?(是否告知防火墙接受/拒绝发往特定网络的流量?
  • 流量用于哪个端口?(是否已告知防火墙仅接受/拒绝发往端口 80 的流量?
  • 流量使用什么协议?(是否告知防火墙接受/拒绝 UDP、TCP 或两者兼而有之的流量?

防火墙执行数据包检查以确定这些问题的答案。

防火墙有各种形状和大小。从可以处理大量数据的专用硬件(通常位于企业等大型网络中)到住宅路由器(如您家中)或 Snort 等软件,防火墙可分为 2 到 5 类。

我们将在下表中介绍防火墙的两大主要类别:

VPN

虚拟专用网络(简称 VPN)是一种技术,允许分离网络中的设备通过互联网创建一个专用路径(称为隧道)进行安全通信。隧道内的连接设备形成自己的专用网络。

例如,只有在同一网络中的设备(如同一企业内的设备)才能直接通信。然而,VPN 可以使两个办公室连接起来。让我们看下面的图示,其中包含三个网络:

  1. 网络 #1 (办公室 #1)
  2. 网络 #2 (办公室 #2)
  3. 网络 #3(两台设备通过 VPN 连接)

在网络 #3 上连接的设备仍然是网络 #1 和网络 #2 的一部分,但它们一起形成一个私有网络(网络 #3),只有通过此 VPN 连接的设备才能在其中通信。

VPN 技术近年来得到了改进。让我们下面探索一些现有的 VPN 技术:

LAN 网络设备

什么是路由器?

路由器的工作是连接网络并在它们之间传递数据。它通过使用路由(因此名为路由器!)来实现这一点。

路由是指数据在网络间传输的过程。路由涉及创建网络之间的路径,以便成功交付数据。路由器在 OSI 模型的第三层运作。它们通常配备有交互式界面(如网站或控制台),允许管理员配置各种规则,例如端口转发或防火墙设置。

路由在设备通过多条路径连接时很有用,例如在下面的示例图中,会选择最优化的路径:

路由器是专用设备,不执行与交换机相同的功能。

我们可以看到计算机 A 的网络通过两个路由器与计算机 B 的网络相连。问题是:将会选择哪条路径?不同的协议会决定应该选择哪条路径,但因素包括:

  • 最短的路径是哪条?
  • 哪条路径最可靠?
  • 哪种路径的介质更快(例如铜线或光纤)?

什么是交换机?

交换机是一种专用网络设备,负责提供连接多个设备的方式。交换机可以使用以太网电缆连接多达 3 到 63 个设备。

交换机可以在 OSI 模型的第 2 层和第 3 层工作。然而,这意味着第 2 层交换机不能在第 3 层工作。

例如,在下面的图表中有一个二层交换机。这些交换机会使用 MAC 地址将帧(请记住,这些不再是数据包,因为 IP 协议已经被剥离)转发到连接的设备。

这些交换机仅负责将帧发送到正确的设备。

现在,让我们来谈谈第 3 层交换机。这些交换机比第 2 层更为复杂,因为它们可以执行路由器的一些职责。具体来说,这些交换机会像第 2 层那样发送帧,并使用 IP 协议将数据包路由到其他设备。

让我们看看下面的第 3 层交换机工作图。我们可以看到有两个 IP 地址:

  • 192.168.1.1
  • 192.168.2.1

一种称为 VLAN(虚拟局域网)的技术允许网络内的特定设备被虚拟地划分开来。这种划分意味着它们都可以享受到互联网连接等好处,但会被单独处理。这种网络划分提供了安全性,因为它意味着现有的规则决定了特定设备之间如何通信。这种隔离在下面的图表中得到了说明:

在上述图表中,“销售部”和“会计部”能够访问互联网,但不能互相通信(尽管它们连接在同一个交换机上)。

DNS

概念

DNS(域名系统)为我们提供了一种简单的方式,让我们无需记住复杂的数字即可与互联网上的设备进行通信。就像每栋房子都有一个唯一的地址用于直接向其发送邮件一样,互联网上的每台计算机都有自己唯一的地址来与其进行通信,称为 IP 地址。IP 地址看起来像下面的 104.26.10.229,4 组数字,范围从 0 - 255,中间用句点分隔。当您想要访问一个网站时,记住这组复杂的数字并不方便,这时 DNS 就可以派上用场了。因此,您无需记住 104.26.10.229,只需记住tryhackme.com即可。

域层次结构

TLD(顶级域名)

TLD 是域名最右边的部分。例如,tryhackme.com 的TLD 是 .com。TLD 有两种类型,即 gTLD(通用顶级域名)和 ccTLD(国家代码顶级域名)。从历史上看,gTLD 旨在告诉用户域名的用途;例如,.com 用于商业用途,.org 用于组织,.edu 用于教育,.gov 用于政府。而 ccTLD 用于地理用途,例如,.ca 用于加拿大的网站,.co.uk 用于英国的网站等等。由于这种需求,出现了大量新的 gTLD,包括 .online 、 .club 、 .website 、 .biz 等等。要查看超过 2000 个 TLD 的完整列表, 请单击此处。

二级域名

以tryhackme.com为例,.com部分为TLD,tryhackme为二级域名,注册域名时二级域名限制为63个字符+TLD,且只能使用az 0-9和连字符(不能以连字符开头或结尾,也不能有连续的连字符)。

子域名

子域名位于二级域名的左侧,以句点分隔;例如,在名称admin.tryhackme.com中,管理部分为子域名。子域名的创建限制与二级域名相同,限制为 63 个字符,并且只能使用 az 0-9 和连字符(不能以连字符开头或结尾,也不能有连续的连字符)。您可以使用用句点分隔的多个子域名来创建更长的名称,例如jupiter.servers.tryhackme.com。但长度必须保持在 253 个字符或更少。您可以为域名创建的子域名数量没有限制。

记录类型

DNS 不仅仅适用于网站,还存在多种类型的 DNS 记录。我们将介绍一些您可能遇到的最常见的 DNS 记录。

  1. 记录

这些记录解析为 IPv4 地址,例如 104.26.10.229

  1. AAAA 记录

这些记录解析为 IPv6 地址,例如 2606:4700:20::681a:be5

  1. CNAME 记录

这些记录解析为另一个域名,例如,TryHackMe 的在线商店有子域名store.tryhackme.com,它返回一个 CNAME 记录stores.shopify.com。然后将向stores.shopify.com发出另一个 DNS 请求以找出 IP 地址。

  1. MX 记录

这些记录解析为处理您查询的域的电子邮件的服务器的地址,例如tryhackme.com的 MX 记录响应将类似于 alt1.aspmx.l.google.com。这些记录还带有优先级标志。这告诉客户端以何种顺序尝试服务器,这非常适合在主服务器发生故障并且需要将电子邮件发送到备份服务器时使用。

  1. TXT 记录

TXT 记录是自由文本字段,可以存储任何基于文本的数据。TXT 记录有多种用途,但一些常见用途是列出有权代表域发送电子邮件的服务器(这有助于打击垃圾邮件和欺骗性电子邮件)。它们还可用于在注册第三方服务时验证域名所有权。

请求

当您发出DNS请求时会发生什么

  1. 当您请求域名时,您的计算机首先检查其本地缓存,查看您是否最近查找过该地址;如果没有,则会向您的递归DNS服务器发出请求。
  2. 递归 DNS 服务器通常由您的 ISP 提供,但您也可以自行选择。此服务器还具有最近查找的域名的本地缓存。如果在本地找到结果,则会将其发送回您的计算机,您的请求就此结束(这对于 Google、Facebook、Twitter 等热门且请求量很大的服务很常见)。如果在本地找不到请求,则会开始寻找正确答案的旅程,从互联网的根DNS服务器开始。
  3. 根服务器充当互联网的 DNS 骨干;它们的工作是根据您的请求将您重定向到正确的顶级域名服务器。例如,如果您请求www.tryhackme.com,根服务器将识别 .com 顶级域名,并将您引导到处理 .com 地址的正确 TLD 服务器。
  4. TLD 服务器保存着在哪里可以找到权威服务器来响应 DNS 请求的记录。权威服务器通常也称为域的名称服务器。例如,tryhackme.com的名称服务器是kip.ns.cloudflare.com和uma.ns.cloudflare.com。您通常会发现一个域名有多个名称服务器,以防其中一个服务器出现故障,从而充当备份。
  5. 权威DNS服务器是负责存储特定域名的DNS记录的服务器,也是对您的域名DNS记录进行任何更新的地方。根据记录类型,DNS记录随后被发送回递归DNS服务器,其中将缓存本地副本以供将来的请求,然后将其转发回发出请求的原始客户端。所有DNS记录都带有 TTL(生存时间)值。此值是一个以秒为单位的数字,响应应在本地保存,直到您再次查找它。缓存可让您无需在每次与服务器通信时发出DNS请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江小皮不皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值