【《某工业控制蜜罐系统的设计案例》3700字】_第1页
【《某工业控制蜜罐系统的设计案例》3700字】_第2页
【《某工业控制蜜罐系统的设计案例》3700字】_第3页
【《某工业控制蜜罐系统的设计案例》3700字】_第4页
【《某工业控制蜜罐系统的设计案例》3700字】_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某工业控制蜜罐系统的设计案例目录TOC\o"1-3"\h\u10509某工业控制蜜罐系统的设计案例 179971.1 系统的设计思想 1104841.2蜜罐系统的设计 156101.2.1 Conpot蜜罐介绍 29981.2.2 Conpot蜜罐的工作机制 2250321.2.2 Conpot蜜罐的缺点 5157031.3蜜罐管理系统设计 6176551.3.1 MHN的工作机制 6126361.3.2 MHN系统的缺点 7112171.4工业控制蜜罐的总体架构 71.1 系统的设计思想本文所涉及系统的核心思想为:通过工控蜜罐系统,对所有行为数据进行捕获,在蜜罐管理系统中进行数据分析与可视化处理,为之后探究工业控制网络的对抗和入侵打好基础。同时通过对蜜罐系统的控制,保障系统的自身安全。如今工业控制领域中主流的安全措施在网络攻击发生时,处于被动的局面,只能对一些不信任的数据进行隔离,不能做出有效的研究与分析。而利用蜜罐系统中欺骗入侵的思想,可以最大化的吸引空间扫描引擎和入侵者,使数据的收集最大化。在对这些捕获数据进行分析、研究后,安全人员能更好的了解入侵者的攻击行为和入侵模式,而通过不断的积累这些数据,能将入侵者或搜索引擎的各种行为模式化,为之后的预警提供依据。1.2蜜罐系统的设计蜜罐系统作为所有数据的来源,是整个系统的基础。如果能进行合理的部署、配置,可以对入侵者造成更大的迷惑作用,进而捕获到更多的数据。由于在不同工业控制领域当中,系统存在着巨大的差异,使得工控蜜罐的开发也更加的困难,而真正暴露在公众面前的工控系统漏洞攻击点也比较少,使得开发难度更近一步提升。本文所涉及的蜜罐系统以结构较为完善的开源conpot蜜罐为基础,实现简单的工业控制协议实现,完成扫描的交互并返回设备信息,达到欺骗的目的。1.2.1 Conpot蜜罐介绍作为较为成熟的开源蜜罐系统,conpot由HoneyProject组织安全人员共同开发[31]。以python语言编写的conpot,主要的运行环境是Linux系统,是一种低交互蜜罐,可以对HTTP、modbus、s7comm等协议进行模拟。Conpot蜜罐中的设备信息以xml形式配置,在扩展协议内容时非常简便,使得其部署难度较低。但较为低级的交互,使conpot对协议的模拟程度不足,只能欺骗普通的空间搜索引擎或者设备信息扫描脚本。图4-1 运行中的conpot系统1.2.2 Conpot蜜罐的工作机制Conpot蜜罐有协议交互、会话管理、日志配置和模版调度等几大功能,并且在组成上分为6大运行模块与一个配置文件共同组成,各个模块的运行都相对独立。图4-2 conpot的主要模块分布在所有功能中,采用事件队列,将攻击事件保存的会话管理是conpot蜜罐的核心。而攻击模块所提供的,是应对事件增加与事件本地化储存的办法。此外,通过将协议的交互与会话管理的结合,不同协议之间的交互操作便可以以日志的方式进行传输和储存。协议的交互也是conpot在仿真模拟时所达到的基础功能,通过所提供可以被统一调用的接口,conpot保证了各个协议服务在调用时保持统一。做为工控协议实现时的服务器实例,协议交互会监听对应协议的端口,对入侵者发出的请求作出处理。模版调度的目标是为不同的协议,配置对应的返回信息。协议交互功能和模版调度功能之间会相互配合,在协议服务实例创建的同时,对相应的模版信息进行解析、初始化。而协议交互功能与会话管理功能都会使用日志功能,运用logging系统模块,把产生出来的会话转化为日志。在日志的配置中会定义会话格式与信息处理方式。所以,conpot对信息的捕获也可以理解为将攻击数据日志化,将攻击信息通过日志的形式保存。构成conpot的各个功能在结构上虽然是独立于彼此存在的,但在工作中是相互依存的。图4-3 conpot在运行中的周期正如图4-3中所展示的,conpot在运行中会加载不同的模块,各个模块虽然对功能有所拆分,但在运行时会对功能重组。其主要的执行程序在bin模块当中,主要的代码也储存于bin模块的conpot文件中。在运行前,conpot会先对conpot.cfg文件解析,这个文件中包含的正是daemon中运行的mac地址、组和用户名和hpfriends配置信息等。由此可见,conpot在工作中不只对工业控制协议进行了模拟,对工业控制设备也进行了模拟,并将有关设备的信息通过xml方式保存。此外,一个统一的接口往往被不同的协议所采用,在对协议和服务进行映射时,便会在遍历的过程中便会创建并初始化不同的协议服务实例。最后,conpot会在后台运行,执行多个子进程的监听任务。图4-4 conpot对攻击响应的过程图4-4所展示的是Conpot在应对攻击时的响应过程,也展现了六个模块啊间的相互合作。入侵者一旦连接到conpot,便会生成一个连接会话,接下来会话管理服务会将新生成的会话加入会话队列当中,提供查询接口给不同的协议服务。针对于不同的协议端口,conpot会选择相对应的不同协议服务。此外,每项协议服务都有自己的线程池,每当对相对应的协议会话进行查询时,都会再次开辟出一条新的线程处理。在处理时也有一个回调机制,会把所有处理完的结果返回到主程序当中。所以,每当接受到攻击者发送的请求数据包或者是请求数据时,回调函数于会话管理功能都将产生的日志本地化。1.2.2 Conpot蜜罐的缺点纵使conpot蜜罐身上有许多优点,如易扩展和结构层次分明,它身上也有非常明显的缺点。最主要的缺点便是其明显的指纹信息,存在于其初始模版template.xml中。此外,当conpot设置为模拟s7工控设备时,会使用一串默认的数字作为模块系列码。一旦入侵者掌握这段默认数字,便可以轻易的在空间搜索引擎上搜索,将conpot蜜罐系统识别。图4-5所展示的便是在shodan中,搜索默认模块码,得到的conpot蜜罐。图4-5 shodan识别出的conpot蜜罐系统此外,conpot蜜罐的HMI模块在设计上较于简陋,很容易被攻击者识别为蜜罐。Conpot在模拟HTTP协议服务的同时,也为入侵者提供了web层面的攻击点,非常容易遭受到传统的web攻击。在协议交互功能上,conpot蜜罐也只能模拟modbus设备与s7设备两种,缺乏对深层次协议操作作出响应的功能,而且也只能返回配置的设备基本信息。对于bacnet协议,conpot蜜罐也只能进行端口监听。1.3蜜罐管理系统设计蜜罐管理系统是整个入侵捕获系统的核心,是蜜罐系统监控管理的服务端、对蜜罐捕获数据进行存储与显示,涵盖了蜜罐数据监控端、数据显示端、数据储存端。作为整个系统的调度、处理中心,它协调了蜜罐的部署,掌控着这个系统的功能,并为系统制定统一化的数据格式。在蜜罐管理系统的框架选择上,MHN是一套非常全面的系统,它包含了数据的收集模块、数据统计模块和数据的持久化模块[32]。尽管它不提供管理方案,但非常适合与集中开发蜜罐,并为管理系统提供一个便捷的服务界面。1.3.1 MHN的工作机制图4-6 MHN系统结构如图4-6所显示的MHN系统结构,其系统在组成架构上主要包含mhnweb、hpfriendsserver、mnemosyne与honeymap几部分。Hpfeeds不只是是蜜罐数据的收集协议,也是一个服务端/客户端协议,可以让多个客户端同时连接。所以在MHN系统中,后台会运行hpfeedsserver来对client的连接与信息传递进行监控。当信息发送到server后,会对数据进行解析,并把解析数据传递给mnemosyne对数据进行本地持久化操作与更深层次的数据处理。由此,我们可以发现MHN本质上是一个web服务,提供数据的显示平台,与honeymap实时显示攻击的功能结合后,能通过html展示攻击产生的数据,使之后的管理、分析、查看更加便利。1.3.2 MHN系统的缺点由于MHN系统设计时为了方便扩展,使用了模块组合的原则,导致其在功能上并不完善,只能提供一个管理蜜罐系统的框架。在设计中,MHN系统没有提出一个针对于并发、异常等问题的容错机制,仅提供了数据的收集与存储功能。因此,在实际工作中,往往需要针对数据的收集、存储、分析和可视化进行修改,作出模块上的增加。针对于数据收集来说,MHN缺少缓冲机制,导致扫描数据一旦超过了hpfeeds中事件队列承载量,就可能导致大量数据的丢失。此外,hpfeeds客户端在每一次接受到扫描数据时,都会与服务端连接,这样反复的连接与断连会耗费大量的IO资源。在数据存储上,MHN所用的均为非关系数据库,会将蜜罐系统收集的所有数据存放在同一数据库中。这样做的后果是,出现异常后,数据库会因没有备份而出现更大的问题。当设置了多个蜜罐系统后,管理系统会接受到成倍增加的数据,对数据库的性能有更高的要求,如果不做数据切片,或者是用多种表达存储,会对数据库的性能产生极大的影响。在数据的分析和可视化层面,MHN大多只有声明处理函数,没有实现具体的功能。此外,MHN在设计时,只针对于modbus与web蜜罐,只能手动添加对其他协议的解析,使数据的可视化显得异常简单。在数据分析时,最需要的往往是对于分布式蜜罐数据的横向与纵向对比,并将关联数据关联分析。但MHN中只声明了一种管理方案,没有后续的具体实现。综上所述,MHN提供了一个初步的组合框架,但在具体的应用中,需要对数据可视化与数据分析添加更多的实现模块。因此只有对整个框架进行修改,才可以适应分布式蜜罐的数据管理。1.4工业控制蜜罐的总体架构整套系统将在ubuntu系统当中开发,并采用python语言进行编写,通过模块化的设计,方便之后的扩展,并集成web功能,对数据实现统计与可视化。入侵捕获系统将对数据进行分布式收集,用统一的协议收集,并集中到蜜罐管理系统处理。采用分布式方式收集,能保证协议类型的丰富性,更利于从全局角度对整个工业控制系统的安全进行分析。图4-7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论