【格物实验室】被动式FUZZ在工控漏洞挖掘中的应用
不难看出,虽然施耐德在服务端修复了很多漏洞,但是客户端由于很少人去进行深入研究,所以客户端仍存在着相对较多潜在的安全问题。
不难看出,虽然施耐德在服务端修复了很多漏洞,但是客户端由于很少人去进行深入研究,所以客户端仍存在着相对较多潜在的安全问题。
由于现在的上位机SCADA软件的基础组件还是主要由C/C++进行开发,所以不可避免还是存在一些内存破坏类漏洞。这类漏洞轻则造成拒绝服务,重则造成远程代码执行。尤其是关键工业生产行业中,就算无法成功利用也可以导致拒绝服务,会造成重大损失。
本文以某个国产的SCADA软件的工程文件作为例子,分析在解析工程文件中存在的漏洞和利用的思路。
本文从实战出发,以该款国产SCADA软件为例,介绍我们的安全评估思路。
在工控系统中,为了防止核心的工艺代码的泄露,技术人员往往会对组态工程文件加上密码。当打开一个有密码保护的组态工程文件时会需要输入安全密码。但是由于组态软件的设计问题,导致组态工程加密措施并不安全,有些形同虚设,非法的操作者甚至能直接绕过所需的密码直接打开组态工程文件。
GoAhead是开源的web框架,由于其高性能,高可用性,在嵌入式系统中广泛使用。传统基于GoAhead框架开发的服务端会大量使用ASP脚本语言编写动态页面,并使用C/C++语言编写功能函数注册到脚本层中供ASP脚本调用。为了更全面的进行安全审计,我们不仅要关注功能函数的实现,同时也要分析ASP脚本的处理过程。本篇文章以某个交换机固件来作为例子,讲解如何提取ASP文件。
CX9020是倍福公司生成的PLC,运行Microsoft Windows Embedded Compact 7操作系统,广泛运用在运动控制领域。本文会从固件逆向分析的角度来简单介绍下安全评估的方法。