CN113778616A - 一种电力物联网终端虚拟化模拟仿真平台及仿真方法 - Google Patents

一种电力物联网终端虚拟化模拟仿真平台及仿真方法 Download PDF

Info

Publication number
CN113778616A
CN113778616A CN202110915400.5A CN202110915400A CN113778616A CN 113778616 A CN113778616 A CN 113778616A CN 202110915400 A CN202110915400 A CN 202110915400A CN 113778616 A CN113778616 A CN 113778616A
Authority
CN
China
Prior art keywords
firmware
simulation
task
module
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110915400.5A
Other languages
English (en)
Inventor
李桐
任帅
赵海
刘一涛
刘劲松
王刚
宋进良
徐剑
周福才
黄博南
刘鑫蕊
赵剑明
宋纯贺
陈春雨
王强
李泓言
胡博
周小明
雷振江
张宏宇
王磊
杨超
周桂平
李江
张坤
王檬
林志勇
刘扬
陈剑
李欢
于同伟
董之微
刘芮彤
孙赫阳
孙茜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hongteng Intelligent Technology Co ltd
State Grid Corp of China SGCC
Shenyang Institute of Automation of CAS
State Grid Liaoning Electric Power Co Ltd
Electric Power Research Institute of State Grid Liaoning Electric Power Co Ltd
Original Assignee
Beijing Hongteng Intelligent Technology Co ltd
State Grid Corp of China SGCC
Shenyang Institute of Automation of CAS
State Grid Liaoning Electric Power Co Ltd
Electric Power Research Institute of State Grid Liaoning Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Hongteng Intelligent Technology Co ltd, State Grid Corp of China SGCC, Shenyang Institute of Automation of CAS, State Grid Liaoning Electric Power Co Ltd, Electric Power Research Institute of State Grid Liaoning Electric Power Co Ltd filed Critical Beijing Hongteng Intelligent Technology Co ltd
Priority to CN202110915400.5A priority Critical patent/CN113778616A/zh
Publication of CN113778616A publication Critical patent/CN113778616A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于电力物联网技术领域,尤其涉及一种电力物联网终端虚拟化模拟仿真平台及仿真方法。本发明包括固件仿真模拟分系统构成;所述固件仿真模拟分系统包括,仿真任务管理模块、固件查询模块、模拟任务创建模块、固件模拟模块、模拟结果展示模块、模拟实例监控模块及固件资源库模块。本发明在不依赖于物理硬件情况下,支持VxWorks、Linux、WinCE和Android的嵌入式系统虚拟化模型。针对电力物联网终端环境复杂、终端虚拟化的高效性和安全性需求,实现了低成本,并且能够在信息安全实验室大规模部署,并进行安全功能验证,有效提高了物联网安全防护能力和电力物联网的经济效益,积极推动了电力物联网安全的健康发展。

Description

一种电力物联网终端虚拟化模拟仿真平台及仿真方法
技术领域
本发明属于电力物联网技术领域,尤其涉及一种电力物联网终端虚拟化模拟仿真平台及仿真方法。
背景技术
现有技术终端虚拟化系统中使用docker和QEMU技术,负责对经过预处理后的固件进行仿真模拟,便于可直接对固件进行调试、研究,无需实体设备的投入。
QEMU模拟器是一个跨平台性强、可移植性高的模拟器,其满足多硬件处理器架构特性,是作为搭建硬件仿真环境的基石,并得到了广泛的应用。与其它仿真模拟器相比,QEMU的一个显著的优势是支持二进制动态翻译技术,所以它可以支持调试功能。QEMU的用户模式与系统模式都能够支持RSP协议与GDB进行交互,从而实现调试的功能。系统模式下支持对应用程序的动态调试,与用户模式相比较,系统模式下的QEMU通过模拟串行设备和宿主机的GDB进行相互的通信。远程调试过程中目标机端的QEMU调试功能模块(调试代理GDBSERVER)解析命令执行的过程中,QEMU虚拟机内部会发生相应的状态切换。GDB调试器维护一个内部运行状态切换机制,研究人员在调试目标应用程序过程中,仅仅依靠单一的调试指令显然是不能满足所有的需求的。有时会需要从断点处的一个状态模式切换到另一个调试状态模式,触发状态切换的原因是由于目标机端的调试代理GDBSERVER发起的变更指令。每当其解析RSP协议数据包之后,根据实时调试状态需求,得到数据包所包含的调试指令信息,经过校验和匹配比对,最终将反馈执行结果的信息传输给GDB端,实现状态切换。
此外,在GDB内部调试状态变更的复杂过程中,调试代理GSBDERVER必须要时刻维护状态队列的实时变更关系状态,避免出现互相竞争资源引起的状态不一致和可能存在的死锁情况发生。
QEMU虚拟机内部调试模块引起调试状态变更主要包含三个基本状态,分别为GDB控制状态、单步执行状态以及继续执行状态。
GDB控制状态:宿主机端GDB调试器拥有应用程序运行的绝对控制权,含义是表明当前QEMU虚拟机的调试状态是处于调试目标程序运行状态下。
单步状态:宿主机端的GDB与目标机端的GDBSERVER建立连接请求后,如果QEMU虚拟机的调试机制已经处在等待GDB发起调试指令的状态,那GDBSERVER解析出相应的数据包,如果解析出来的请求是单步执行,则立即将该指令信息反馈给QEMU虚拟机,QEMU切换当前调试状态,进入单步状态模式。
继续执行状态:如果QEMU虚拟机的调试机制已经处在等待GDB发起调试指令的状态。GDBSERVER解析出RSP协议数据包,如果解析出来的请求是继续执行指令,则立即将该指令信息反馈给QEMU虚拟机。QEMU切换当前调试控制状态,切换为继续执行状态模式,直到运行到下一断点处,才会改变当前的控制状态。
嵌入式固件远程调试目标机端的QEMU虚拟机内部调试模块处于调试机制状态下的运行流程图如附图1。
固件仿真调试技术:
传统的调试采用GDB调试器远程调试,主要是通过采用STUB(插桩)方式,但是它的缺点是调试代理与被调试应用程序之间不能分离,必须通过交叉链接器将二者融合到一起,并通过编译生成一个可执行的应用程序文件;此外,STUB异常和中断处理并不能做到很好的兼容,当被调试的应用程序运行在有操作系统的环境中时,需要修改驱动串口程序,否则会引起操作系统异常处理机制抛出异常。
新型的固件调试采用GDBSERVER调试代理工具,GDBSERVER是一个轻量级的调试代理工具,功能是将被调试应用程序进行绑定进程,并对协议数据包进行相应的解析与执行,最终将执行结果反馈给宿主机端。GDBSERVER首先将被调试的应用程序进行进程绑定,使其被调试程序的进程成为它的子进程,调试进程就可以利用内核提供的代码跟踪机制来完成调试任务。远程调试应用程序之前,需要进行目标机的监控和被调试程序的加载。目标机的监控:传统在目标机上的GDBSERVER调试代理一般通过手工执行,而目标机上(QEMU)通常没有提供输入设备,这就需要在宿主机环境下能够提供一种可以远程控制目标机的手段。通常采用设置桥接网络通信的方式,实现主机监控目标机的目的。加载调试程序:在实际远程调试过程中,调试代理工具GDBSERVER通常需要fork一个子进程来处理被调试应用程序的一系列操作。因此,被调试的目标应用程序必须存在于目标虚拟机QEMU的文件系统中。加载调试程序有很多的方式,一般情况下,是通过将被调试应用程序进行编译移植到文件系统的镜像文件中。此外,还可以通过烧写工具烧录到目标机的FlashRom里,但是其缺点是对应用程序的每次修改都需要重新编译和烧写。在调试阶段更常用的是FTP工具盒的NFS文件系统,它能够提供在不同机器之间共享文件。
固件仿真调试技术的流程图如附图2所示。
漏洞挖掘技术:
漏洞挖掘是指利用各种技术手段查找软件中的漏洞,根据是否有源代码将漏洞挖掘分成基于源代码的漏洞挖掘和基于二进制目标代码的漏洞挖掘。根据是否执行代码将漏洞挖掘分成静态漏洞挖掘和动态漏洞挖掘。
第一、静态漏洞挖掘是指通过静态扫描分析程序的源代码或二进制文件,查找其中存在的词法、语义、语法中存在的安全问题。静态挖掘的重点是检查程序中使用的易出问题的函数调用或缺陷代码片段,如错误的函数调用、大数操作以及边界检查不严格等。在整个挖掘的过程中不需要执行程序的代码。对有源代码的程序的静态漏洞挖掘需要熟练掌握相应编程语言,定义出针对不安全代码的检测规则,然后利用正则表达式的方法查找源码中存在的安全问题。
对没有源代码的二进制程序的静态漏洞挖掘,是通过反汇编目标代码,得到中间状态的汇编代码,然后利用上下文关联、代码汇聚等方法进行切片,最后通过设计的模型分析和匹配来判断程序中是否存在漏洞。
静态漏洞挖掘能够快速的检查程序中的某些缺陷,可以不用深究程序的实现方法,一般情况下适用于自动化的工具去完成。
静态漏洞挖掘仅需通过对程序代码进行分析,依据指定的规则或错误模型来检测软件漏洞,因此具有以下优点:
快速高效:通常静态分析工具的使用过程都可自动化完成,对目标软件进行分析检查只需很短的时间即可完成,因而成为供程序开发和测试人员进行方便快速检查的常用工具;
适合自动化:测试者无需事先对目标程序的设计、实现细节和运行的复杂环境有所了解,只需执行检查程序即可完成对目标源代码或二进制代码的检查,甚至能够一次性针对多个文件或目录进行检查。而且检测过程中无须大量的人工参与,因而可用于对大型项目的检查;
代码覆盖较全面:开发及测试人员会因种种人为因素在通过手工检查或动态分析程序代码时漏掉许多不太显眼的漏洞。而这些问题在静态分析工具中则不存在,因为它能依据事先提供的先验知识完整地分析检查所有代码,从而减少了漏报。
虽然静态分析方法拥有快速高效、适合自动化检测和覆盖率高等优势,但同时也存在很大的局限性。
误报率高:无论是特征还是关键词检测方式,都是来源于以往的经验总结,这就必然会导致对于当前项目是否适合、有效的问题。为最大程度适用于所有项目,通常静态分析工具都会拥有非常庞大的词典或特征库,并且这些库还可以不断被扩充,由此造成的结果就是检测会有非常高的误报率;
结果集庞大:同样由于特征集或字典比较庞大,必然导致检测得出非常巨大的结果集,对于这个很大的结果集,容易使检测人员产生麻痹思想即所谓的“狼来了”效应,并且设计用于检测的词典或特征集也十分困难
针对性不强:分析代码的“特征”是静态分析方法的重点,程序的实现特性是它所关注的,程序的功能则被忽视,因此进行的检查没有针对性,也就更没有针对程序结构及功能的分析。
第二、动态漏洞挖掘是指在程序运行过程中检测各寄存器、内存模块的状态来判断是否存在漏洞。一般通过构造畸形的测试数据,对比程序运行的结果和理论的结果,找出存在差距的原因,进而挖掘出其中潜在的安全缺陷。动态漏洞挖掘一般情况下从代码流和数据流两个方面出发,通过插桩或断点动态跟踪目标程序的代码执行过程,以检测错误的函数调用;通过跟踪整个污点数据的处理过程,来查找程序设计中的问题。常见动态漏洞挖掘包括堆栈比较法、故障注入分析法、输入追踪测试法等。
动态漏洞挖掘是通过分析程序的执行过程查找安全问题,准确率较高,可以有针对性地对程序中的某个模块进行检查,进而准确分析相应模块的安全性,同时动态漏洞挖掘无需知道程序的源代码,通过观察分析输入和输出结果,就可以查找程序中的漏洞,此方法对缓冲区溢出漏洞、堆溢出漏洞等效果明显。
动态漏洞挖掘通过对程序运行的动态检测,因而可以非常准确的判定异常的发生,从而准确的找出目标软件存在的漏洞。动态漏洞挖掘有以下优点:
准确率高:动态分析方法是在程序运行时进行检测,因此通常情况下,发现的程序错误即为真实的漏洞,一般不存在误报的发生;
针对性强:动态分析方法对目标程序的检测很有针对性,从而目标程序相应的模块或功能的系统表现能被准确确定。例如,通过构造模拟的输入数据来分析程序的输入部分,就可以非常准确地了解到目标程序在此输入下的运行状态和是否有异常发生等
无需程序源代码:黑盒测试方法与动态漏洞挖掘非常相似,在没有软件源代码的情况下,黑测试人员通过观测系统的输入和输出来分析测试对象,并能通过对程序的各种检测以验证有无错误发生。通常由输入引起的软件漏洞,都能在无源代码情况下使用该方法进行分析。
从上面对动态分析方法的优势分析可以看到,动态分析方法具有许多其他方法没有的优点,但同时也还存在较大的局限性,包括:
分析点确定不易:要通过动态分析找到分析点,首先要预先判定程序的运行时状态,否则面对均为二进制数据的运行时数据及指令,分析常常就无法进行。但要准确找到程序的分析点非常困难,因此有些研究中,特别提出结合使用静态和动态分析的方法;
对分析人员要求高:动态分析需要测试人员对目标软件系统比较熟悉,才能进行有针对性地分析和判断。特别是构造输入数据和确定易出现漏洞的位置等,都需要非常熟悉目标软件系统且具有较丰富的经验。技术上的异常复杂就会对分析人员提出较高的要求,使得进行分析的门槛较高,且很难实现自动化发掘,动态分析的效率也相对较低,这也大大制约了在对大型项目的检查中应用动态分析技术;
分析环境要与实际运行环境一致:如果进行分析的环境与测试对象的实际运行环境不一致,则分析就可能会出现误报或漏报,例如被分析发现存在缓冲区溢出漏洞的软件,可能运行在实际应用环境中并不会发生溢出;同时也会漏掉一些不会出现在分析环境中,而在实际运行环境中可能会出现的漏洞。动态分析结果的可信度往往会被这些偏差影响。
因此,现有技术中这些针对电力物联网终端环境复杂、购买成本高、无法在信息安全实验室大规模部署并进行安全功能验证等实际问题,就成为本领域技术人员不断研发的新课题。
发明内容
针对上述现有技术中存在技术问题,本发明提供了一种电力物联网终端虚拟化模拟仿真平台及仿真方法。其目的是为了针对电力物联网终端环境复杂,实现低成本,并且能够在信息安全实验室大规模部署,并进行安全功能验证的发明目的。
本发明为实现上述目的所采用的技术方案是:
一种电力物联网终端虚拟化模拟仿真平台,包括:仿真任务管理模块、固件查询模块、固件仿真模拟分系统构成;所述仿真任务管理模块包括:任务创建、任务执行、任务监控、结果上报;所述固件查询模块,对固件库中的固件进行搜索查询操作;所述固件仿真模拟分系统包括:模拟任务创建模块、固件模拟模块、模拟结果展示模块、模拟实例监控模块及固件资源库模块。
进一步的,所述仿真任务管理模块包括:任务创建、任务执行、任务监控、结果上报;所述任务创建包括:创建搜索任务和固件模拟任务;通过搜索任务,搜索得到目标固件,再批量选中目标固件后,执行创建模拟任务操作;所述任务执行在上述步骤创建任务以后,任务发送到后台的任务调度中心准备执行;如果后台调度繁忙,则进入任务队列中进行排队执行;所述任务监控通过收集任务信息,对仿真模拟的任务情况进行监控,便于用户了解任务执行情况;所述结果上报包括任务执行结束后,将任务执行结果上报给系统进行可视化展示,用户可通过可视化界面查看仿真模拟的结果。
进一步的,所述固件查询模块,对固件库中的固件进行搜索查询操作;系统支持通过对固件名称、固件版本信息、固件模拟状态、固件解析状态多字段的查询功能获取目标固件进行下一步操作;对数据库中的固件进行搜索时运用ElasticSearch分布式全文搜索引擎,在搜索到固件后根据需要对固件进行单个模拟或者批量模拟,一次并发模拟多个固件;模拟成功后通过固件的访问IP地址与端口地址,实现对固件的访问。
进一步的,所述模拟任务创建模块,根据用户需求单个或者批量创建固件仿真模拟任务;并能够对任务名称进行更改,方便后续快速查找任务;可批量选中搜索得到的目标固件,对固件执行模拟任务创建操作,任务创建完成后,将被发送至后台任务调度中心准备执行,如后台调度繁忙,则进入任务队列中进行排队执行。
进一步的,所述固件模拟模块,负责对文件系统进行提取,构建启动镜像并修复网络连接实现对固件的配置、调试;包括:当接收到模拟任务后,模拟容器首先根据固件信息从数据库获取固件,利用固件剖析分系统对固件文件系统进行提取,然后构建启动镜像并修复网络连接,最后启动镜像开始模拟,系统通过Netstat或Nmap工具探测模拟结果,若模拟成功,则将启动镜像上传至存储,返回模拟结果;固件模拟完成后,在模拟固件环境下按照实战的需求对固件进行配置、调试,达到真实物理环境的效果,用于漏洞挖掘的基础环境支撑。
进一步的,所述模拟结果展示模块,负责展示模拟成功的固件所使用的固件版本、映射的IP和端口信息;包括:展示模拟的固件实例列表,每个实例都有开启状态展示,也包括不同固件实例所使用的固件、映射的IP和端口信息。
进一步的,所述模拟实例监控模块,负责对模拟的实例进行状态监控,包括使用CPU资源、内存资源信息等,方便用户掌握各个实例的状态信息;所述固件资源库模块,用于存储可模拟的固件库数据、QEMU镜像数据、文件系统数据。
一种电力物联网终端虚拟化模拟仿真方法,包括以下步骤:
步骤1.将固件仿真模拟分系统部署在多台主机组成的集群中,每台主机中运行集群服务;
步骤2.用户访问固件仿真模拟分系统的Web管理后台时,搜索指定一批目标固件,创建固件模拟任务;
步骤3.如果后台调度处于繁忙状态,则进入任务队列中进行排队执行;同时系统中的负载均衡器,将任务调度到较为空闲服务器主机中执行。
进一步的,所述固件,其提取方法,是利用Fr 移动GIS数据采集器 Qpad X3(D)固件提取,包括以下步骤:
步骤1.通过usb将目标设备与电脑连接,打开并启用目标设备的usb调试功能;
步骤2.电脑端运行adb调试程序,检测到设备连接后,执行 adb shell 命令登录目标设备;检测是否拥有root权限,如果没有root权限,需要先root设备;
步骤3.检测目标设备的flash分区情况,选择目标分区并写入到sdcard;
步骤4.adb退出目标设备,使用 adb push 命令将sdcard中提取的固件复制到电脑中,完成固件提取;
步骤5.将提取的固件上传模拟平台并启动模拟;
步骤6.查看模拟结果。
一种计算机存储介质,所述计算机存储介质上存有计算机程序,所述计算机程序被处理器执行时实现所述的一种电力物联网终端虚拟化模拟仿真方法的步骤。
本发明具有以下有益效果及优点:
本发明拟研究在不依赖于物理硬件情况下,支持VxWorks、Linux、WinCE和Android的嵌入式系统虚拟化模型。针对终端虚拟化的高效性和安全性需求,研究虚拟硬件资源池化关键技术及虚拟资源调度方法;针对虚拟化终端的多样性,研究固件系统指纹识别、固件装载地址定位和指令集识别关键技术,实现电力终端固件运行依赖环境搭建方法;研制电力物联网虚拟化模拟仿真平台原型系统,实现虚拟资源统一调度和仿真平台数据可视化,从存储、运行和计算等方面支持虚拟化终端安全验证,提出安全风险评估模型和虚拟化终端攻击机理及攻击路径安全验证方法。支撑省公司信息安全红队在实验室环境下大规模终端安全功能验证,提高物联网安全防护能力。
本发明针对电力物联网面临的网络安全新形势和新需求,从减少省公司设备采购成本、引导产业链提高电力物联网终端产品自身安全性、促进电力物联网应用提高安全防护能力等多个维度着手,共同提高电力物联网经济效益,积极推动电力物联网安全健康发展。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明QEMU虚拟机内部调试流程图;
图2为本发明固件仿真调试技术流程图;
图3为本发明任务创建、执行、结果上报图;
图4为本发明固件搜索图;
图5为本发明固件仿真模拟分系统系统组成图;
图6为本发明模拟结果、实例监控图;
图7为本发明完整模拟工作台界面;
图8为本发明完整模拟分析页界面;
图9为本发明调试界面;
图10为本发明固件仿真模拟工作原理图。
图中:第一标记点1,第二标记点2。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面将结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1-图10描述本发明一些实施例的技术方案。
实施例1
本发明提供了一个实施例,是一种电力物联网终端虚拟化模拟仿真平台,在不依赖于物理硬件情况下,支持VxWorks、Linux、WinCE和Android的嵌入式系统虚拟化模型。本发明模拟仿真平台包括仿真任务管理模块、固件查询模块、固件仿真模拟分系统。固件仿真模拟分系统是包含固件的模拟、启动、调试等功能。本发明系统负责对经过预处理后的固件进行仿真模拟,便于可直接对固件进行调试、研究,无需实体设备的投入。
所述仿真任务管理模块包括:任务创建、任务执行、任务监控、结果上报。
所述固件查询模块,主要对固件库中的固件进行搜索查询操作。
本发明所述的固件仿真模拟分系统,如图5所示,图5为本发明固件仿真模拟分系统系统组成图,具体包括:
模拟任务创建模块、固件模拟模块、模拟结果展示模块、模拟实例监控模块及固件资源库模块。
所述模拟任务创建模块,主要根据用户需求单个或者批量创建固件仿真模拟任务。
所述固件模拟模块,主要负责对文件系统进行提取,然后构建启动镜像并修复网络连接实现对固件的配置、调试。
所述模拟结果展示模块,主要负责展示模拟成功的固件所使用的固件版本、映射的IP和端口信息等。
所述模拟实例监控模块,负责对模拟的实例进行状态监控,包括使用CPU资源、内存资源信息等,方便用户掌握各个实例的状态信息。
所述固件资源库模块,主要用于存储可模拟的固件库数据、QEMU镜像数据、文件系统数据等。
更进一步地,所述仿真任务管理模块包括:任务创建、任务执行、任务监控、结果上报。如图3所示,图3为本发明任务创建、执行、结果上报图。
优选的,所述任务创建包括:创建搜索任务和固件模拟任务等。首先通过搜索任务,搜索得到目标固件。随后批量选中目标固件后,执行创建模拟任务操作。
优选的,所述任务执行在上述步骤创建任务以后,任务会发送到后台的任务调度中心准备执行。如果后台调度繁忙,将会首先进入任务队列中进行排队执行。
优选的,所述任务监控通过收集任务信息,对仿真模拟的任务情况进行监控,方便用户了解任务执行情况。
优选的,所述结果上报包括任务执行结束后,将任务执行结果上报给系统进行可视化展示,用户可通过可视化界面查看仿真模拟的结果。
更进一步地,所述固件查询模块,对固件库中的固件进行搜索查询操作。系统支持通过对固件名称、固件版本信息、固件模拟状态、固件解析状态等多字段的查询功能,能够高效灵活地获取目标固件进行下一步操作。
为保证搜索的效率,在对数据库中的固件进行搜索时运用ElasticSearch分布式全文搜索引擎,搜索时间短、响应速度快,能够快速获取需要的固件;并且在搜索到固件后可以根据需要,对固件进行单个模拟或者批量模拟,一次并发模拟多个固件。模拟成功后可通过固件的访问IP地址与端口地址,实现对固件的访问。如图4所示,图4为本发明固件搜索图。
更进一步地,所述模拟任务创建模块,主要根据用户需求,创建模拟任务;模拟任务既可以单个创建也可以根据需要批量创建固件仿真模拟任务,并能够对任务名称进行更改,方便后续快速查找任务。可批量选中搜索得到的目标固件,对固件执行模拟任务创建操作。任务创建完成后,将被发送至后台任务调度中心准备执行,如后台调度繁忙,进入任务队列中进行排队执行。
更进一步地,所述固件模拟模块,主要负责对文件系统进行提取,然后构建启动镜像并修复网络连接实现对固件的配置、调试。具体包括:当固件模拟模块接收到模拟任务后,模拟容器首先根据固件信息从数据库获取固件,利用固件剖析分系统对固件文件系统进行提取,然后构建启动镜像并修复网络连接,最后启动镜像开始模拟,系统通过Netstat或Nmap等工具探测模拟结果,若模拟成功,将启动镜像上传至存储,返回模拟结果;固件模拟完成后,可以直接在模拟固件环境下按照实战的需求对固件进行配置、调试,达到真实物理环境的效果,用于漏洞挖掘的基础环境支撑。
所述模拟结果展示模块,主要负责展示模拟成功的固件所使用的固件版本、映射的IP和端口信息等。具体包括:展示模拟的固件实例列表,每个实例都有开启状态展示,另外,也包括不同固件实例所使用的固件、映射的IP和端口信息等。物联网设备复杂多样,因不同类型的设备在使用过程中场景、功能不同,在开发过程中会采用多种不同的架构,为保证实现对不同设备的模拟,本发明支持对目前固件主流系统架构的模拟功能。
进一步地,所述模拟实例监控模块,负责对模拟的实例进行状态监控,包括使用CPU资源、内存资源信息等,方便用户掌握各个实例的状态信息。
更进一步地,所述固件资源库模块,主要用于存储可模拟的固件库数据、QEMU镜像数据、文件系统数据等。
实施例2
本发明又提供了一种实施例,利用本发明所述一种电力物联网终端虚拟化模拟仿真平台进行的仿真方法,具体包括以下步骤:
步骤1.将固件仿真模拟分系统部署在多台主机组成的集群中,每台主机中运行集群服务;
步骤2.用户访问固件仿真模拟分系统的Web管理后台时,可以搜索指定一批目标固件,创建固件模拟任务。该固件模拟任务会进入系统调度中心准备执行。
步骤3.如果后台调度处于繁忙状态,将会首先进入任务队列中进行排队执行。同时系统中的负载均衡器,会将任务调度到较为空闲服务器主机中执行。
实施例3
本发明又提供了一种实施例,一种电力物联网终端虚拟化模拟仿真方法,其仿真平台的具体仿真过程包括以下步骤:
如图7所示,图7为本发明完整模拟工作台界面。启动仿真模拟,需要先勾选列表中的数据,然后点击“启动”按钮,见图7中第二标记点2即可。
另外,如果只想启动一个,也可以点击列表数据行的第一标记点1“启动”。
启动成功后,在如图8所示的整模拟分析页界面可以看到已启动的模拟实例。
启动后的模拟实例,支持以下子功能,包括:
关闭:关闭当前模拟实例;
重启:重启当前模拟实例;
重建:对当前模拟实例重建;
调试:对当前模拟实例进行调试,点击调试,会打开一个新的调试界面,如图9所示,图9为本发明调试界面。
当鼠标悬停在模拟实例卡片右上角“更多”图标处的时候,上述操作按钮便会显示。
实施例4
本发明又提供了一种实施例,一种电力物联网终端虚拟化模拟仿真方法,其中所述固件的提取方法,利用Fr 移动GIS数据采集器 Qpad X3(D)固件提取,具体包括以下步骤:
步骤1.通过usb将目标设备与电脑连接,打开并启用目标设备的usb调试功能;
步骤2.电脑端运行Android 调试桥 (adb)调试程序,检测到设备连接后,执行adb shell 命令登录目标设备;检测是否拥有根权限(root权限),如果没有root权限,需要先root设备;
步骤3.检测目标设备的flash分区情况,选择目标分区并写入到sdcard;
步骤4.adb退出目标设备,使用 adb push 命令将sdcard中提取的固件复制到电脑中,完成固件提取;
步骤5.将提取的固件上传模拟平台并启动模拟;
步骤6.查看模拟结果。
实施例5
基于同一发明构思,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质上存有计算机程序,所述计算机程序被处理器执行时实现实施例1-4所述的一种电力物联网终端虚拟化模拟仿真平台进行的仿真方法的步骤。
在本说明书的描述中,术语“一个实施例”、“一些实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本说明书的,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种电力物联网终端虚拟化模拟仿真平台,其特征是:包括:仿真任务管理模块、固件查询模块、固件仿真模拟分系统构成;
所述仿真任务管理模块包括:任务创建、任务执行、任务监控、结果上报;所述固件查询模块,对固件库中的固件进行搜索查询操作;
所述固件仿真模拟分系统包括:模拟任务创建模块、固件模拟模块、模拟结果展示模块、模拟实例监控模块及固件资源库模块。
2.根据权利要求1所述的一种电力物联网终端虚拟化模拟仿真平台,其特征是:所述仿真任务管理模块包括:任务创建、任务执行、任务监控、结果上报;
所述任务创建包括:创建搜索任务和固件模拟任务;通过搜索任务,搜索得到目标固件,再批量选中目标固件后,执行创建模拟任务操作;
所述任务执行在上述步骤创建任务以后,任务发送到后台的任务调度中心准备执行;如果后台调度繁忙,则进入任务队列中进行排队执行;
所述任务监控通过收集任务信息,对仿真模拟的任务情况进行监控,便于用户了解任务执行情况;
所述结果上报包括任务执行结束后,将任务执行结果上报给系统进行可视化展示,用户可通过可视化界面查看仿真模拟的结果。
3.根据权利要求1所述的一种电力物联网终端虚拟化模拟仿真平台,其特征是:所述固件查询模块,对固件库中的固件进行搜索查询操作;系统支持通过对固件名称、固件版本信息、固件模拟状态、固件解析状态多字段的查询功能获取目标固件进行下一步操作;
对数据库中的固件进行搜索时运用ElasticSearch分布式全文搜索引擎,在搜索到固件后根据需要对固件进行单个模拟或者批量模拟,一次并发模拟多个固件;模拟成功后通过固件的访问IP地址与端口地址,实现对固件的访问。
4.根据权利要求1所述的一种电力物联网终端虚拟化模拟仿真平台,其特征是:所述模拟任务创建模块,根据用户需求单个或者批量创建固件仿真模拟任务;并能够对任务名称进行更改,方便后续快速查找任务;可批量选中搜索得到的目标固件,对固件执行模拟任务创建操作,任务创建完成后,将被发送至后台任务调度中心准备执行,如后台调度繁忙,则进入任务队列中进行排队执行。
5.根据权利要求1所述的一种电力物联网终端虚拟化模拟仿真平台,其特征是:所述固件模拟模块,负责对文件系统进行提取,构建启动镜像并修复网络连接实现对固件的配置、调试;包括:当接收到模拟任务后,模拟容器首先根据固件信息从数据库获取固件,利用固件剖析分系统对固件文件系统进行提取,然后构建启动镜像并修复网络连接,最后启动镜像开始模拟,系统通过Netstat或Nmap工具探测模拟结果,若模拟成功,则将启动镜像上传至存储,返回模拟结果;固件模拟完成后,在模拟固件环境下按照实战的需求对固件进行配置、调试,达到真实物理环境的效果,用于漏洞挖掘的基础环境支撑。
6.根据权利要求1所述的一种电力物联网终端虚拟化模拟仿真平台,其特征是:所述模拟结果展示模块,负责展示模拟成功的固件所使用的固件版本、映射的IP和端口信息;包括:展示模拟的固件实例列表,每个实例都有开启状态展示,也包括不同固件实例所使用的固件、映射的IP和端口信息。
7.根据权利要求1所述的一种电力物联网终端虚拟化模拟仿真平台,其特征是:所述模拟实例监控模块,负责对模拟的实例进行状态监控,包括使用CPU资源、内存资源信息等,方便用户掌握各个实例的状态信息;
所述固件资源库模块,用于存储可模拟的固件库数据、QEMU镜像数据、文件系统数据。
8.一种电力物联网终端虚拟化模拟仿真方法,其特征是:包括以下步骤:
步骤1.将固件仿真模拟分系统部署在多台主机组成的集群中,每台主机中运行集群服务;
步骤2.用户访问固件仿真模拟分系统的Web管理后台时,搜索指定一批目标固件,创建固件模拟任务;
步骤3.如果后台调度处于繁忙状态,则进入任务队列中进行排队执行;同时系统中的负载均衡器,将任务调度到较为空闲服务器主机中执行。
9.根据权利要求8所述的一种电力物联网终端虚拟化模拟仿真方法,其特征是:所述固件,其提取方法是利用Fr 移动GIS数据采集器 Qpad X3(D)固件提取,包括以下步骤:
步骤1.通过usb将目标设备与电脑连接,打开并启用目标设备的usb调试功能;
步骤2.电脑端运行adb调试程序,检测到设备连接后,执行 adb shell 命令登录目标设备;检测是否拥有root权限,如果没有root权限,需要先root设备;
步骤3.检测目标设备的flash分区情况,选择目标分区并写入到sdcard;
步骤4.adb退出目标设备,使用 adb push 命令将sdcard中提取的固件复制到电脑中,完成固件提取;
步骤5.将提取的固件上传模拟平台并启动模拟;
步骤6.查看模拟结果。
10.一种计算机存储介质,其特征是:所述计算机存储介质上存有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9所述的一种电力物联网终端虚拟化模拟仿真方法的步骤。
CN202110915400.5A 2021-08-11 2021-08-11 一种电力物联网终端虚拟化模拟仿真平台及仿真方法 Pending CN113778616A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110915400.5A CN113778616A (zh) 2021-08-11 2021-08-11 一种电力物联网终端虚拟化模拟仿真平台及仿真方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110915400.5A CN113778616A (zh) 2021-08-11 2021-08-11 一种电力物联网终端虚拟化模拟仿真平台及仿真方法

Publications (1)

Publication Number Publication Date
CN113778616A true CN113778616A (zh) 2021-12-10

Family

ID=78837313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110915400.5A Pending CN113778616A (zh) 2021-08-11 2021-08-11 一种电力物联网终端虚拟化模拟仿真平台及仿真方法

Country Status (1)

Country Link
CN (1) CN113778616A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579457A (zh) * 2022-03-08 2022-06-03 国网江苏省电力有限公司电力科学研究院 新型电力系统固件运行仿真平台及仿真方法
CN116662157A (zh) * 2023-04-26 2023-08-29 北京计算机技术及应用研究所 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法
CN117290058A (zh) * 2023-11-24 2023-12-26 成都赢瑞科技有限公司 模型仿真时进行执行断点调试数据注入和数据监控的方法
CN118069296A (zh) * 2024-04-17 2024-05-24 中国信息通信研究院 一种基于软件的全系统虚拟化模拟系统及其构建方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123199A (zh) * 2014-07-03 2014-10-29 可牛网络技术(北京)有限公司 应用程序的恢复方法、装置和移动终端
US20150082316A1 (en) * 2013-09-18 2015-03-19 evoleap, LLC System and Method for Efficient Utilization of Simulation Resources
CN104463492A (zh) * 2014-12-23 2015-03-25 国家电网公司 一种电力系统云仿真平台的运营管理方法
CN110895504A (zh) * 2018-09-12 2020-03-20 北京京东尚科信息技术有限公司 调度仿真系统和调度仿真方法
CN111045932A (zh) * 2019-11-25 2020-04-21 杭州网易再顾科技有限公司 业务系统仿真处理方法、装置、电子设备及存储介质
CN111400719A (zh) * 2020-03-12 2020-07-10 中国科学院信息工程研究所 基于开源组件版本识别的固件脆弱性判别方法及系统
CN112134761A (zh) * 2020-09-23 2020-12-25 国网四川省电力公司电力科学研究院 基于固件分析的电力物联网终端脆弱性检测方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082316A1 (en) * 2013-09-18 2015-03-19 evoleap, LLC System and Method for Efficient Utilization of Simulation Resources
CN104123199A (zh) * 2014-07-03 2014-10-29 可牛网络技术(北京)有限公司 应用程序的恢复方法、装置和移动终端
CN104463492A (zh) * 2014-12-23 2015-03-25 国家电网公司 一种电力系统云仿真平台的运营管理方法
CN110895504A (zh) * 2018-09-12 2020-03-20 北京京东尚科信息技术有限公司 调度仿真系统和调度仿真方法
CN111045932A (zh) * 2019-11-25 2020-04-21 杭州网易再顾科技有限公司 业务系统仿真处理方法、装置、电子设备及存储介质
CN111400719A (zh) * 2020-03-12 2020-07-10 中国科学院信息工程研究所 基于开源组件版本识别的固件脆弱性判别方法及系统
CN112134761A (zh) * 2020-09-23 2020-12-25 国网四川省电力公司电力科学研究院 基于固件分析的电力物联网终端脆弱性检测方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579457A (zh) * 2022-03-08 2022-06-03 国网江苏省电力有限公司电力科学研究院 新型电力系统固件运行仿真平台及仿真方法
CN116662157A (zh) * 2023-04-26 2023-08-29 北京计算机技术及应用研究所 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法
CN116662157B (zh) * 2023-04-26 2024-02-02 北京计算机技术及应用研究所 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法
CN117290058A (zh) * 2023-11-24 2023-12-26 成都赢瑞科技有限公司 模型仿真时进行执行断点调试数据注入和数据监控的方法
CN117290058B (zh) * 2023-11-24 2024-01-30 成都赢瑞科技有限公司 模型仿真时进行执行断点调试数据注入和数据监控的方法
CN118069296A (zh) * 2024-04-17 2024-05-24 中国信息通信研究院 一种基于软件的全系统虚拟化模拟系统及其构建方法

Similar Documents

Publication Publication Date Title
CN113778616A (zh) 一种电力物联网终端虚拟化模拟仿真平台及仿真方法
Dong et al. Time-travel testing of android apps
Talebi et al. Charm: Facilitating dynamic analysis of device drivers of mobile systems
Linares-Vásquez et al. Enabling mutation testing for android apps
US8930912B2 (en) Method and system for performing software verification
Sun et al. Hybrid firmware analysis for known mobile and iot security vulnerabilities
CN108469984B (zh) 一种基于虚拟机自省函数级虚拟机内核动态检测系统与方法
US20070079288A1 (en) System and method for capturing filtered execution history of executable program code
Zhao et al. {StateFuzz}: System {Call-Based}{State-Aware} Linux Driver Fuzzing
CN101458630B (zh) 一种基于硬件模拟器的自修改代码识别方法
CN108572892B (zh) 一种基于PowerPC多核处理器的离线测试方法和装置
Dong et al. Concurrency-related flaky test detection in android apps
Zhou et al. Ferry:{State-Aware} symbolic execution for exploring {State-Dependent} program paths
CN113836023B (zh) 一种基于体系结构交叉检查的编译器安全性测试方法
Vishnyakov et al. Sydr-Fuzz: Continuous hybrid fuzzing and dynamic analysis for security development lifecycle
Yang et al. Kernelgpt: Enhanced kernel fuzzing via large language models
EP3891613B1 (en) Software checkpoint-restoration between distinctly compiled executables
CN102999719B (zh) 一种基于硬件模拟器的恶意代码在线分析方法及系统
Wang et al. Detecting data races in interrupt-driven programs based on static analysis and dynamic simulation
Lu et al. Spectrum-base fault localization by exploiting the failure path
CN110096888B (zh) 一种加快验证及分析smm安全隐患的方法及系统
Getman et al. Combined approach to solving problems in binary code analysis
CN117215901B (zh) 基于动态追踪的编程练习评价方法、系统、设备及介质
TWI735511B (zh) 代碼提交方法和設備
Yang et al. Target Code-coverage and Efficiency in APP Automatic Compatibility Testing Based on Code Analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination