【读书笔记】针对ICS的ATTCK矩阵详解(一)

news2024/11/17 17:34:56

Techniques - ICS | MITRE ATT&CK®

一、初始入口(Initial Access)

1.水坑攻击

        当用户访问网站时,攻击者可能会在会话劫持期间获得对系统的访问权限。使用此技术时,只需访问被感染的网站,即可锁定并利用用户的Web浏览器。攻击者可能会针对特定的社区,例如受信任的第三方供应商或其他行业的特定群体,这些群体经常访问目标网站。

        这种有针对性的攻击依赖于一个共同的兴趣,被称为战略性的网络入侵或水坑攻击。美国国土安全部和联邦调查局的分析指出,在针对西方能源领域的“蜻蜓”行动中,有两类不同的受害者:暂存和预定目标。攻击者将目标锁定在安全性较低的目标网络上,其中包括可信赖的第三方供应商和相关外围组织。对预期目标的初始访问使用了针对过程控制、集成电路和关键基础设施相关的贸易出版物和信息网站的水坑攻击。

2. 利用面向公众的应用

      攻击者可能试图利用面向公众的应用程序,如利用面向互联网的计算机系统、程序或资产上的弱点完成非法访问。面向公众的这些应用程序可能包括用户界面、软件、数据或命令等,均有可能成为攻击者进入OT系统的入口。

       ICSCERT的分析显示GE Cimplicity HMl接入互联网后很可能成为攻击者渗透初期的访问媒介。

3. 利用远程服务

        攻击者可能会利用软件漏洞,利用程序、服务或操作系统软件或内核本身中的编程错误来启用远程服务滥用。入侵后利用远程服务的一个共同目标是对整个 ICS 环境进行初始访问和横向移动,以便能够访问目标系统。[1]

        ICS 资产所有者和运营商受到从企业 IT 迁移到 ICS 环境的勒索软件(或伪装成勒索软件的破坏性恶意软件)的影响:WannaCry、NotPetya 和 BadRabbit。在上述每种情况下,自我传播(可蠕虫)恶意软件最初都会感染 IT 网络,但通过利用(特别是针对 SMBv1 的 MS17-010 漏洞)传播到工业网络,从而产生重大影响。

 4. 外部的远程服务

        攻击者可能会利用外部远程服务作为对网络的初始访问点。这些服务允许用户从外部位置连接到内部网络资源。例如,VPN、Citrix 和其他访问机制。远程服务网关通常管理这些服务的连接和凭据身份验证。

        外部远程服务允许从系统外部管理控制系统。通常,供应商和内部工程团队可以访问外部远程服务,以通过公司网络控制系统网络。在某些情况下,这种访问是直接从 Internet 启用的。当控制系统位于偏远地区时,远程访问可以轻松维护,但远程访问解决方案的妥协是一种负担。攻击者可以使用这些服务来访问控制系统网络并执行攻击。访问有效帐户通常是必需的。

        在 Maroochy 攻击中,攻击者可以通过无线电远程访问系统;2015年对乌克兰电网的攻击表明,该环境中使用了当时的远程访问工具来访问控制系统网络。攻击者收集了工作人员的登录信息,其中一些是用来远程登录控制系统网络的VPN登录信息,这些VPN恰巧缺乏双因子身份验证。   

        注:2000年澳大利亚昆士兰Maroochy污水处理厂内部工程师多次攻击SCADA系统,导致三个月时间内有75万加仑未经处理的污水流入公园、河流等场地,造成海洋生物损失、危及公共安全等后果,并造成了巨大经济损失。这是有公开报道的第一次CPSs受到攻击。

5. 利用互联网开放设备

       攻击者可以直接通过暴露于互联网的设备进行远程访问从而进入工业环境,而不必通过外部远程服务。这些设备提供的最小化权限机制,如密码身份验证,可能成为目标并遭受攻击。

       在 Bowman大坝攻击事件中,攻击者利用调制解调器对大坝的控制网络进行了攻击。尽管该应用程序容易受到暴力破解,但通过密码身份验证机制可以保护。

6. 远程服务

        攻击者可能会利用远程服务在资产和网段之间移动。这些服务通常用于允许操作员在网络内与系统进行远程交互,例如 RDP、SMB、SSH 和其他类似机制。

7.可移动介质摆渡攻击

        攻击者可以通过将恶意软件复制到插入控制系统环境中的可移动介质上来进行(例如与企业网络分离的系统)。攻击者可能依靠不知情的可信任第三方引入可移动介质,例如具有访问权限的供应商或承包商,通过此技术,可以对从未连接到不受信任网络但可以物理访问的目标设备进行初始访问。德国核电站Gundremmingen的运营商在未连接到互联网的计算机上发现了恶意软件。该恶意软件包括Conficker和W32.Ramnit,在该设施的18个可移动磁盘驱动器中找到。此后,这家工厂检查了感染情况,并清理了1000多台计算机。一位ESET 研究人员评论说,互联网断开并不能保证系统免受感染或攻击载荷的执行。

8.恶意主机

攻击者可能会设置一个恶意主站,以利用控制服务器功能与外站进行通信。恶意主服务器可用于向其他控制系统设备发送合法的控制消息,从而以意想不到的方式影响进程。它还可用于通过捕获和接收用于实际主站的网络流量来中断网络通信。冒充主控服务器也可能使对手避免被发现。

在 2017 年的达拉斯警笛事件中,对手使用恶意主站向全市 156 个分布式警笛发送命令消息,要么通过一个信号强的恶意发射器,要么使用许多分布式中继器。

9.鱼叉式网络钓鱼攻击

        攻击者可能会使用鱼叉式附件作为对特定目标的社会工程攻击形式。鱼叉式附件与其他形式的附件不同之处在于:它们使用附加到电子邮件的恶意软件。所有形式的网络钓鱼都是通过电子方式进行的,目标是特定的个人、公司或行业。在这种情况下,攻击者会将文件附加到欺骗性电子邮件中,并且通常依靠用户执行来获取执行和访问权限。

10.供应链攻击

攻击者可能通过受感染的产品、软件和工作流来执行供应链攻击,以获得控制系统的访问权限。供应链攻击是指在最终消费者收到产品(如设备或软件)之前,操纵产品或其交付机制。一旦受感染的产品进入目标环境,就会攻击、损害目标数据或系统。供应链攻击可能发生在供应链的所有阶段,从操纵开发工具和环境到操纵已开发和工具分发机制。这可能涉及在第三方或供应商网站上的合法软件和补丁的损害和替换。针对供应链攻击的目标,可以尝试渗透到特定受众的环境中发现。在IT和OT网中都拥有资产的控制系统环境中,针对IT环境的供应链攻击可能会进一步影响到OT环境。

F-Secure实验室分析了攻击者使用Havex破坏受害者系统的方法。攻击者在合法ICS/SCADA 供应商网站上植入了木马软件的安装程序。下载后,此软件用远程访问洛伊木马(RAT)感染了主机。

11.瞬态网络资产

        攻击者可能以跨 ICS 网络和外部网络瞬态的设备为目标。通常,临时资产由授权人员带入环境,不会永久保留在该环境中。[1] 通常需要临时资产来支持管理功能,在远程管理资产不可行、不存在用于远程访问的外部连接或需要第三方承包商/供应商访问的系统中可能更常见。

        攻击者可能以不同的方式利用瞬态资产。例如,当临时资产连接到外部网络时,攻击者可能会将其作为目标,然后利用其在另一个环境中的可信访问来发起攻击。他们还可以利用合法最终用户用来与控制系统设备交互的已安装应用程序和库。

        在某些情况下,临时资产可能未使用安全配置进行部署,从而导致漏洞可能允许攻击者传播恶意可执行代码,例如,临时资产可能被恶意软件感染,并且当连接到 ICS 环境时,恶意软件会传播到其他系统。

12.无线攻击

        攻击者可能会执行无线入侵,作为获取通信和未经授权访问无线网络的方法。对无线网络的访问可以通过破坏无线设备来获得。攻击者还可以使用与无线网络频率相同的无线电和其他无线通信设备。无线入侵可以作为远程距离的初始访问向量。

        一名波兰学生使用改装的电视遥控器访问和控制波兰的罗兹市有轨电车系统。遥控器设备允许学生与有轨电车网络连接,以修改轨道设置并覆盖操作员控制。攻击者可能通过将控制器与红外控制协议信号的频率和幅度对齐来实现这一点。然后,控制器启用了对网络的初始访问,允许捕获和重放有轨电车信号。

二、执行攻击(Execution)

1.更改操作模式

        攻击者可能会尝试更改控制设备上的程序的当前状态,程序状态更改可用于允许另一个程序接管控制或加载到目标设备上。

2.命令行界面

        攻击者可能利用命令行界面(CLI)与系统交互并执行命令。CLI提供了一种与计算机系统进行交互的方式,并且是控制系统环境中多种平台和设备的常用功能。攻击者可以使用CLI安装和运行新软件,包括在操作过程中可能安装的恶意工具。

        CLI通常在本地访问,但也可以通过SSH、Telnet和RDP等服务公开。在CL中执行的命令将以运行终端仿真器的进程的当前权限级别执行,除非该命令指定了权限上下文的更改。
        许多控制器都有用于管理目的的CLI接口。

3. 通过API执行

        攻击者可能试图利用控制软件和硬件之同通信的应用程序接口(API)。特定功能通常被编码成 API,软件可以调用API来实现设备或其他软件上的特定功能,如更改PLC上的程序状态。

4.图形用户界面GUI

        攻击者可能试图通过图形用户界面(GUI)获得对计算机的访问权限,以增强执行能力。对GUI的访问允许用户以比CLI更直观的方式与计算机交互。GUI允许用户移动光标并点击界面对象,鼠标和键盘均是主要的输入设备。

        如果不能进行物理访问,则可以通过协议进行访问,如基于Linux的VNC,以及Windows上的RDP。攻击者可以使用此访问权限在目标计算机上执行程序和应用程序。

        在2015年对乌克兰电网的攻击中,攻击者利用SCADA环境中HMI打开了断路器。

5.钩子(Hooking)

        攻击者可能会挂接到进程使用的应用程序编程接口 (API) 函数,以重定向对执行和权限提升手段的调用。Windows 进程通常利用这些 API 函数来执行需要可重用系统资源的任务。Windows API 函数通常作为导出的函数存储在动态链接库 (DLL) 中。

        ICS 中出现的一种挂钩类型涉及通过导入地址表 (IAT) 挂接将调用重定向到这些函数。IAT 挂钩使用对进程 IAT 的修改,其中存储指向导入的 API 函数的指针。

6. 修改控制器任务

        攻击者可以修改控制器的任务,以允许执行自己的程序。这可以允许攻击者操纵控制器的执行流和行为。

        根据 61131-3,任务与项目组织单位 (POU) 的关联定义了任务关联。攻击者可以修改这些关联或创建新的关联来操纵控制器的执行流程。除了其他类型的程序修改(如在线编辑和程序附加)外,还可以使用程序下载来完成控制器任务的修改。

        任务具有间隔、频率和优先级等属性,以满足程序执行的要求。一些控制器供应商使用隐式的预定义属性实现任务,而其他控制器供应商则允许显式表述这些属性。攻击者可能会将其程序与具有更高优先级的任务相关联,或者更频繁地执行相关程序。

        例如,为了确保其程序在西门子控制器上的循环执行,攻击者可能会将其程序添加到任务组织块 1 (OB1) 中。

7.本地API

        攻击者可以直接与本机操作系统应用程序编程接口(API)交互以访问系统功能。本机 API 提供了一种在内核中调用低级别操作系统服务的受控方法,例如涉及硬件/设备、内存和进程的服务。这些原生 API 在系统启动期间(当其他系统组件尚未初始化时)以及在日常操作期间执行任务和请求时作系统利用。

        本机 API 提供的功能通常也通过接口和库向用户模式应用程序公开。例如,memcpy 和对内存寄存器的直接操作等函数可用于修改用户和系统内存空间。

8. 脚本编写

        攻击者可以使用脚本语言以预先编写的脚本或以用户提供给解释器的代码的形式执行任意代码。脚本语言是不同于编译语言的编程语言,因为脚本语言使用解释器而不是编译器。这些解释器在源代码执行之前就读取并编译了部分源代码,与之相反,编译器将每一行代码都编译为可执行文件。脚本允许软件开发人员在存在解释器的任何系统上运行其代码。这样,他们可以分发一个程序包,而不是为许多不同的系统预编译可执行文件。脚本语言(如 Python)解释器在许多Linux 发行版中都默认提供。除了对开发人员和管理员来说是一个有用的工具外,脚本语言解释器还可能被攻击者滥用,从而在目标环境中执行代码、由于脚本语言的性质,使得武器化的代码可以很容易地部署到目标上,并允许随时编写脚本来执行任务。

9.用户执行

        攻击者可能依赖目标组织的用户交互来执行恶意代码。用户交互可以包括安装应用程序、打开电子邮件附件或向文档授予更高的权限。攻击者可能会将恶意代码或VB代码嵌入文件中,如微软的Word和Excel 文档或软件安装程序。执行此代码要求用户在文档中启用脚本或写访问权限。在运行木马软件的情况下,嵌入式代码对于用户来说并容易忽视。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1499375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Flutter 面试题】dart是值传递还是引用传递?

【Flutter 面试题】dart是值传递还是引用传递? 文章目录 写在前面解答补充说明值传递示例引用传递示例总结 写在前面 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51CTO专家博主…

ChonBlockTM Blocking/Sample Dilution ELISA Buffer

酶联免疫吸附测定(enzyme linked immunosorbent assay,ELISA/ELASA)是一种方便灵敏的抗体和抗原检测方法,目前已经被广泛应用于多个领域。但是,在研究和临床领域,实验过程中出现的假阳性常会被误判为真实的…

非线形优化 Matlab和Python (含01规划)

MATLAB:fmincon 在matlab中,一般使用fmincon来解决非线性优化问题 [x,fval,exitflag,output,lambda,grad,hessian]fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 一般使用: [x,fval,exitflag]fmincon(fun,x0,A,b,Aeq,beq,lb,ub,non…

【JavaScript 漫游】【032】Navigator 对象和 Screen对象总结

文章简介 本篇文章为【JavaScript 漫游】专栏的第 032 篇文章,对浏览器模型中 Navigator 对象和 Screen 对象的知识点进行了总结。 Navigator 对象 window.navigator 属性指向一个包含浏览器和系统信息的 Navigator 对象。脚本通过这个属性了解用户的环境信息。 …

基于LSTM实现春联上联对下联

按照阿光的项目做出了学习笔记,pytorch深度学习实战项目100例 基于LSTM实现春联上联对下联 基于LSTM(长短期记忆网络)实现春联上联对下联是一种有趣且具有挑战性的任务,它涉及到自然语言处理(NLP)中的序列…

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序

项目描述: 校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能介绍: 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求:PHP7.0 MySQL5.7 效果…

开启AI绘画新纪元:让创意在指尖绽放

文章目录 一、了解AI绘画的基本原理二、选择合适的AI绘画工具三、掌握AI绘画的基本技巧四、借鉴与创新:从模仿到创作五、参与社区交流,共同成长《AI绘画教程:Midjourney使用方法与技巧从入门到精通》亮点推荐内容简介作者简介目录 在科技日新…

unicloud 项目创建

什么是unicloud uniCloud为每个开发者提供一个免费的服务空间,更低门槛按量付费是serverless的特色,如果没有消耗硬件资源,就完全不用付款serverless比传统的云主机更便宜传统云主机一旦被攻击,高防价格非常昂贵。而uniCloud无需…

深入探索Transformer时代下的NLP革新

《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》主要聚焦于如何使用Python编程语言以及深度学习框架如PyTorch和TensorFlow来构建、训练和调整用于自然语言处理任务的深度神经网络架构,特别是以Transformer为核心模型的架构。 书中详细介绍了Transf…

Windows环境下搭建chatGLM-6B-int4量化版模型(图文详解-成果案例)

目录 一、ChatGLM-6B介绍 二、环境准备 1. 硬件环境 2. TDM-GCC安装 3.git安装 4.Anaconda安装 三、模型安装 1.下载ChatGLM-6b和环境准备 方式一:git命令 方式二:手动下载 2.下载预训练模型 方式一:在Hugging Face HUb下载&…

STM32day2

1.思维导图 个人暂时的学后感,不一定对,没什么东西,为做项目奔波中。。。1.使用ADC采样光敏电阻数值,如何根据这个数值调节LED灯亮度。 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_val HAL_ADC_GetValue(&a…

中华环保联合会-- 工业废水处理设施等运维服务认证介绍

为适应市场发展需要,规范环境服务业市场,中华环保联合会[中环联兴(北京)认证中心]于2023年8月经国家认证认可监督管理委员会正式批准增加“工业废水处理、城镇污水处理、农村污水处理设施运维服务认证”等认证领域,并完善环保领域服务认证体系。 一、认…

【PowerMockito:编写单元测试过程中原方法使用@Value注解注入的属性出现空指针】

错误场景 执行到Value的属性时会出现空指针,因为Value的属性为null 解决方法 在测试类调用被测试方法前,提前设置属性值,属性可以先自己定义好 ReflectionTestUtils.setField(endpointConnectionService, "exportUdpList", lis…

飞行汽车首飞成功?一文讲解飞行汽车与其代表的立体交通形式

中国的“飞行汽车”从深圳跨越大湾区到珠海首飞成功,既是一次重要尝试,更是交通运输行业发展史中一个全新的起点 关注我,共同交流,一起成长 前言一、基本认识飞行汽车二、发展飞行汽车必要性三、飞行汽车所形成的影响 前言 2月27…

kmc密钥管理的基本功能是什么

KMC(密钥管理中心)在公钥基础设施中占据着举足轻重的地位,它是专门负责为CA(证书授权)系统提供一系列密钥服务的核心组件。这些服务包括但不限于密钥的生成、保存、备份、更新、恢复以及查询等,旨在解决分布式企业应用环境中大规模密码技术应用所带来的密…

44.网络编程/静态库动态库相关知识20240307

一、基于UDP的网络聊天室 项目需求: 如果有用户登录,其他用户可以收到这个人的登录信息如果有人发送信息,其他用户可以收到这个人的群聊信息如果有人下线,其他用户可以收到这个人的下线信息服务器可以发送系统信息。 服务器代码…

CAN总线及通讯的工作原理

一、CAN总线 CAN是控制器局域网络(Controller Area Network)的简称, 它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的, 并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 二、工作原理 …

智引未来:2024年科技革新引领工业界变革与机遇

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

Sora的“双刃剑”效应:视频生成的革命与就业的反思

在科技的浪潮中,人工智能(AI)和机器学习(ML)如日中天,为众多领域带来了翻天覆地的变革。其中,Sora作为一款基于AI的视频生成工具,凭借其高度逼真的生成能力,引发了社会对…

微信小程序中使用特殊字体

1、首先下载字体文件 推荐几个常用下载字体的网站 https://font.chinaz.com/zhongwenziti.html https://www.hellofont.cn/ 2、转换字体 使用下面这个网站进行字体转换 https://transfonter.org/ 点击add fonts 按钮进行上传刚刚下载的字体文件选择formats格式:可…