CN116520882B - 一种面向无人机系统的配置缺陷分析方法和系统 - Google Patents
一种面向无人机系统的配置缺陷分析方法和系统 Download PDFInfo
- Publication number
- CN116520882B CN116520882B CN202310485503.1A CN202310485503A CN116520882B CN 116520882 B CN116520882 B CN 116520882B CN 202310485503 A CN202310485503 A CN 202310485503A CN 116520882 B CN116520882 B CN 116520882B
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration item
- name
- unmanned aerial
- aerial vehicle
- 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.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 37
- 230000007547 defect Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 87
- 230000008569 process Effects 0.000 claims description 12
- 230000008520 organization Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 11
- 238000000605 extraction Methods 0.000 abstract description 5
- 238000013507 mapping Methods 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
- G05D1/106—Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种面向无人机系统的配置缺陷分析方法和系统,包括如下过程:基于无人机控制系统的源代码,生成抽象语法树;基于抽象语法树,识别用于管理配置项的配置类;从配置类中提取配置项所属的get方法;基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;基于配置项的get方法的使用位置,通过推断获得配置项的名称;基于配置项的名称,构建无人机系统的配置攻击面。本发明提供的方法具有如下优点:提高无人机系统配置项提取的速率和准确率;支持从配置项到系统功能的映射;支持构建无人系统配置攻击面;有效指导无人系统的配置,规避潜在的威胁。
Description
技术领域
本发明涉及媒体通信技术领域,尤其涉及一种面向无人机系统的配置缺陷分析方法和系统。
背景技术
无人机系统包含大量的软件平台,如指挥控制系统、飞控导航系统及与地面站联系的相关软件等,这些软件系统保证无人机的飞行、任务执行、信息采集和数据回传等功能正常运转,是无人机系统重要的组成部分,但这些软件普遍存在安全问题。首先,软件是可执行程序,无人机系统所使用的软件大多是现成的货架产品,不可避免存在一些漏洞或者后门;其次,这些软件多基于Windows或Linux操作系统进行开发和应用,随着这两种操作系统漏洞不断爆出,攻击者会利用操作系统或软件本身的漏洞进行攻击,如溢出攻击、非法函数执行攻击等;最后,指挥控制系统与地面站在进行信息收集、指挥管理时存在大量通信交互或人机交互行为,可能存在数据不可信、身份认证缺陷等问题。这些系统相对封闭、更新维护滞后,普遍存在访问控制手段与认证机制缺失、配置薄弱等问题。
PX4和Ardupilot(飞控软件)分别有超过2000和3500个配置项,其中一些与无人机系统的安全性息息相关,一旦这些配置项被修改为攻击者期望的数值,无人机执行后会出现不受控制甚至是坠毁的情况。针对其通信、网络、传感器和软件四个方面进行的攻击较为常见,具体如图4所示:
1.主控制器根据各种传感器采集到的数据,向动力系统下达相应的命令,以维持无人机的正常飞行,如果传感器采集到的信息有误,那么无人机的飞行安全则会受到影响甚至坠毁。针对传感器有两种攻击方式,超声波干扰陀螺仪和GPS欺骗。
2.无人机和地面站之间依靠通信链路进行控制命令和数据交互。其通信面临的威胁有网络监听、欺骗攻击、拒绝服务攻击和信号干扰。
3.无人机的飞控软件配合传感器,管理设备,使得无人机能够自主飞行。然而,大部分飞控系统在控制端都存在一定的软件安全漏洞,而这些漏洞则容易为黑客所利用。入侵网络接入无人机之后,在控制端安装后门程序,利用该程序监听无人机传感器的数据采集或者进行远程操控。
4.在特定场景下,无人机需要多机协同执行任务,搭建无人机之间的信息连接通道则至关重要,最终形成一个无人机Ad hoc网络。如果遭到攻击后,恶意节点发布虚假信息,其他节点也可能会不自觉地传播。
传统上,程序分析包括各种静态分析技术与动态分析技术:静态分析技术是指不必运行程序,只需要对程序代码进行自动化的扫描、分析;动态分析技术是动态运行程序,并分析程序运行过程中的动态信息。目前已经提出多种配置项读取点提取的方法,例如指针分析结合字符串分析的方法,该方法由于采用了过程间分析,结果的精确度受到指定入口点的限制,无法精确定位所有的配置项读取点。
发明内容
本发明的实施例提供了一种面向无人机系统的配置缺陷分析方法和系统,用于解决现有技术中存在的技术问题。
为了实现上述目的,本发明采取了如下技术方案。
一种面向无人机系统的配置缺陷分析方法,包括:
S1基于无人机控制系统的源代码,生成抽象语法树;
S2基于抽象语法树,识别用于管理配置项的配置类;
S3从配置类中提取配置项所属的get方法;
S4基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;
S5基于配置项所属的get方法的使用位置,通过推断获得配置项的名称;
S6基于配置项的名称,构建无人机系统的配置攻击面。
优选地,步骤S1中,抽象语法树的每个节点对应源代码中的语义元素,用于将源代码与其对应的编程语言和运行时环境分离,给出保留所有语义逻辑的源代码组织的标准表示。
优选地,步骤S2包括:
基于抽象语法树中的文件所有权信息,通过获得与已知配置类属于同一包或组件的类,识别用于管理配置项的配置类;
通过式
进行编辑距离计算,识别用于管理配置项的配置类;式中,Dist[i][j]表示A的前i个字符和B的前j个字符之间的编辑距离。
优选地,步骤S3包括:
获取配置文件中配置项的名称对应的配置项的值,提取配置项所属的get方法,若配置文件中找不到与配置项名称对应的配置项的值,则将get方法返回默认值。
优选地,步骤S5包括:
S51基于配置项名称变量为局部变量的属性,搜索配置项名称所属的读取点所在的访问环境,检查对应变量的声明语句,获得配置项的名称;
若上述过程未获得配置项的名称,则通过搜索配置项名称所属的读取点所对应的代码原文件,检查与配置项名称的变量匹配的代码原文件变量,获得配置项的名称;
若上述过程仍未获得配置项的名称,则检查所继承述声明语句的配置项,获得配置项的名称;
S52基于执行子步骤S51获得的配置项的名称,将该配置项的名称的变量的声明语句感兴趣的数据进行污点传播分析,跟踪感兴趣的数据的赋值,从赋值的语句反推获得配置项名称的值。
第二方面,本发明提供一种面向无人机系统的配置缺陷分析系统,包括:
无人机配置分析模块,用于:基于无人机控制系统的源代码,生成抽象语法树;基于抽象语法树,识别用于管理配置项的配置类;从配置类中提取配置项所属的get方法;基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;基于配置项的get方法的使用位置,通过推断获得配置项的名称;
无人机配置生成模块,用于基于配置项的名称,构建无人机系统的配置攻击面。
由上述本发明的实施例提供的技术方案可以看出,本发明提供一种面向无人机系统的配置缺陷分析方法和系统,包括如下过程:基于无人机控制系统的源代码,生成抽象语法树;基于抽象语法树,识别用于管理配置项的配置类;从配置类中提取配置项所属的get方法;基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;基于配置项的get方法的使用位置,通过推断获得配置项的名称;基于配置项的名称,构建无人机系统的配置攻击面。本发明提供的方法具有如下优点:(1)提高无人机系统配置项提取的速率和准确率;(2)支持从配置项到系统功能的映射;(3)支持构建无人系统配置攻击面;(4)有效指导无人系统的配置,规避潜在的威胁。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种面向无人机系统的配置缺陷分析方法的处理流程图;
图2为本发明提供的一种面向无人机系统的配置缺陷分析方法的配置项提取流程图;
图3为本发明提供的一种面向无人机系统的配置缺陷分析方法的基于程序流图的静态分析示意图;
图4为现有技术中无人机系统安全威胁示意图;
图5为本发明提供的一种面向无人机系统的配置缺陷分析系统的逻辑框图。
图中:
101.无人机配置分析模块;102.无人机配置生成模块。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明提供一种面向无人机系统的配置缺陷分析方法和系统,用于解决现有技术中存在的如下技术问题:
(1)无人机飞控系统提供了大量可定制的配置项,使得用户可以根据其功能特性、硬件环境和自己的需求来进行飞行的配置,而无需重新编译,大量配置项可以提高可定制性,但这也会带来额外的挑战。目前配置项的提取工作大多采用手动及半自动的方法,源代码通常是巨大的,因此这样做会消耗大量的人力和物力。
(2)目前少有无人机配置攻击面的研究,在我们构建无人机系统的配置攻击面时主要考虑到以下三个方面。一:配置项可能导致程序执行脆弱的方法(漏洞);二:配置项可能导致程序执行不期望的功能(功能);三:配置项可能导致程序暴露隐私数据(访问控制)。
总之,目前没有对无人机系统构建完整配置攻击面的方法,本发明通过对程序源码的静态分析,精确地提取出程序中的配置项,并对每个配置项进行控制流跟踪,找到可能影响到的功能和模块,构建出整个飞控软件的配置相关的攻击面。
参见图1,本发明提供一种面向无人机系统的配置缺陷分析方法,包括如下步骤:
S1基于无人机控制系统的源代码,生成抽象语法树;
S2基于抽象语法树,识别用于管理配置项的配置类;
S3从所述配置类中提取配置项所属的get方法;
S4基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项的get方法的使用位置;
S5基于配置项所属的get方法的使用位置,通过推断获得配置项的名称;
S6基于配置项的名称,构建无人机系统的配置攻击面。
生成的无人机系统的配置攻击面用于无人机系统的攻击防护。
在本发明提供的优选实施例中,各步骤的具体执行过程如下。
(1)配置项提取方法,流程图如图2所示:
S1:生成抽象语法树。
抽象语法树是源代码在树结构中的抽象表示,其中每个节点对应于源代码中的语义元素。树状结构便于管理源代码语句块中的隶属关系,如循环语句的层次结构,去掉了一些特定于编程语言的细节,比如表示循环块边界的大括号。抽象语法树将源代码与其对应的编程语言和运行时环境分离,以给出保留所有语义逻辑的源代码组织的标准表示。
S2:识别配置类。
配置类是专门用于管理配置项的类,它们封装了配置项的get方法,对于我们的工具,用户必须输入配置类的名称。使用以下两种启发式方法来确定类是否是配置类。首先,根据抽象语法树中的文件所有权信息,只有那些与已知配置类属于同一包或组件的类才有可能是新的配置类。与已知配置类相关的其他组件中的类被认为是纯粹的使用关系,而不是扩展,不被认为是配置类。
其次使用编辑距离过滤掉可能的配置类,如果潜在配置类名称与每个已知配置类名称之间的编辑距离都超过其名称长度的一半,则不认为它是配置类,也不会包含在随后的推理过程中。编辑距离的计算算法为:将需要比较的两个类名首先去掉包名称并统一大小写,记作A和B。对于三种操作:插入、删除、替换一个字符,三种操作可以被应用到两个字符串中的任意一个,即共有六种操作,但其中部分操作是等价的。
记Dist[i][j]表示A的前i个字符和B的前j个字符之间的编辑距离。在已知Dist[i][j-1]、Dist[i-1][j]和Dist[i-1][j-1]的值时,便可以计算Dist[i][j]的值。Dist[i][j-1]表示A的前i个字符和B的前j-1个字符之间的编辑距离子问题,即对于B的第j个字符,可以在A的末尾添加一个相同的字符,那么Dist[i][j]最小可以为Dist[i][j-1]+1;Dist[i-1][j]为A的前i-1个字符和B的前j个字符编辑距离的子问题。即对于A的第i个字符,可以在B的末尾添加一个相同的字符,那么Dist[i][j]最小可以为Dist[i-1][j]+1;Dist[i-1][j-1]为A前i-1个字符和B的前j-1个字符编辑距离的子问题。即对于B的第j个字符,可以修改A的第i个字符使它们相同,那么Dist[i][j]最小可以为Dist[i-1][j-1]+1。特别地,如果A的第i个字符和B的第j个字符原本就相同,那么实际上无需进行修改操作。在这种情况下,Dist[i][j]最小可以为Dist[i-1][j-1]。
S3:提取配置项的get方法。
配置类中的get方法总是指定数据类型,例如getBoolean或getInt。它们接收一个字符串形式的输入参数,这是配置项的名称。当软件的某些部分需要使用配置项时,它将配置项的名称作为参数传递给get方法,该方法返回配置项的值。有些get方法有第二个参数,这是选项的默认值,如果get方法在配置文件中找不到与配置名称对应的配置项的值,get方法将返回默认值。
S4:定位读取点。
在源代码中标识和定位方法调用点的最简单方法是直接搜索方法名称。然而,搜索结果可能非常不准确,因为它们可能会在其他类中包含许多同名方法的调用。为了提高准确性,我们确定了配置类的实例化位置,然后确定了该实例中get方法的使用位置。
S5:推断配置项的名称。
配置项的名称通常以变量的形式而不是字符串的形式传递给get方法,推断这个变量的名称可能很复杂。配置名称通常在声明时进行初始化和分配,并且在作为参数传递给get方法之前不会分配新值。在初始化期间,配置项可以与其他变量常量连接。
S51:定位包含配置项名称变量的声明语句
如果在读取点处传入的配置项名称为硬编码的字符串常量,则直接跳过所有后续流程,将它本身作为配置项名称输出即可。
按照顺序,首先考虑该变量为局部变量,可以直接搜索读取点所在的访问环境,检查对应变量的声明语句,如果失败,则向外层的语句块迭代搜索,直到搜索到最大访问环境为止。
若上述方法仍无法搜索到变量的声明语句,则此变量只可能是从外部引入的某个类中的成员变量。收集读取点所在的代码源文件中所引用的其他文件,表现在源代码中则为C++的“#include”、Java的“import”或C#的“using”等,然后检查它们中是否存在与配置项名称变量匹配的变量,如果发现符合项,则使用上面的步骤确定声明语句。进入到引用文件中,搜索它的声明中是否存在与配置项名称变量匹配的成员变量,仍需注意成员变量的继承问题,也就是说,如果在当前类内无法找到匹配的成员变量,需要向继承的类中迭代查找。
S52:执行污点传播分析
在获取配置项名称变量的声明语句之后,便可将其视为感兴趣的数据进行污点传播分析,跟踪它的赋值。配置项名称变量在被作为参数传递给配置项get-方法前一般只会被赋值一次,因此关注的重点在于从赋值语句反推具体的配置项名称的值。
S6:输出与读取点对应的配置项名称映射。
(2)通过提取到的配置项构建无人机系统的配置攻击面:
如图3所示,由程序源码经过Clang编译器,再使用LLVM插件生成二进制文件,编译获得其LLVM IR(LLVM的中间表示)并用mem2Reg(SSA转换算法)选项优化,SVF(程序分析框架)再用安德森指针分析(Andersen’s Pointer Analysis)获得整个程序的流图,在图3中跟踪与配置选项对应的程序变量的数据流,记录他们在程序中的传递路径和影响范围。
建立配置项到无人机制动功能的映射,哪些配置项影响到无人机的物理飞行状态,如速度控制和姿态控制;哪些配置项与无人机传输的协议、GPS导航系统、电池故障保护等相关,根据其影响到的功能和模块,构建出无人机系统的配置攻击面。
第二方面,本发明提供一种面向无人机系统的配置缺陷分析系统,包括:
无人机配置分析模块201,用于:基于无人机控制系统的源代码,生成抽象语法树;基于抽象语法树,识别用于管理配置项的配置类;从所述配置类中提取配置项所属的get方法;基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项的get方法的使用位置;基于配置项的get方法的使用位置,通过推断获得配置项的名称;
无人机配置生成模块202,用于基于配置项的名称,构建无人机系统的配置攻击面。
综上所述,本发明提供一种面向无人机系统的配置缺陷分析方法和系统,包括如下过程:基于无人机控制系统的源代码,生成抽象语法树;基于抽象语法树,识别用于管理配置项的配置类;从配置类中提取配置项所属的get方法;基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;基于配置项的get方法的使用位置,通过推断获得配置项的名称;基于配置项的名称,构建无人机系统的配置攻击面。本发明提供的方法具有如下优点:(1)提高无人机系统配置项提取的速率和准确率;(2)支持从配置项到系统功能的映射;(3)支持构建无人系统配置攻击面;(4)有效指导无人系统的配置,规避潜在的威胁。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (5)
1.一种面向无人机系统的配置缺陷分析方法,其特征在于,包括:
S1基于无人机控制系统的源代码,生成抽象语法树;
S2基于抽象语法树,识别用于管理配置项的配置类;
S3从所述配置类中提取配置项所属的get方法;
S4基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;
S5基于配置项所属的get方法的使用位置,通过推断获得配置项的名称;具体包括:
S51基于配置项名称变量为局部变量的属性,搜索配置项名称所属的读取点所在的访问环境,检查对应变量的声明语句,获得配置项的名称;
若上述过程未获得配置项的名称,则通过搜索配置项名称所属的读取点所对应的代码源文件,检查与配置项名称的变量匹配的代码源文件引用的文件的变量,获得配置项的名称;
若上述过程仍未获得配置项的名称,则检查继承所述声明语句的配置项,获得配置项的名称;
S52基于执行子步骤S51获得的配置项的名称,将该配置项的名称的变量的声明语句感兴趣的数据进行污点传播分析,跟踪所述感兴趣的数据的赋值,从所述赋值的语句反推获得配置项名称的值;
S6基于配置项的名称,构建无人机系统的配置攻击面。
2.根据权利要求1所述的方法,其特征在于,步骤S1中,所述抽象语法树的每个节点对应所述源代码中的语义元素,用于将所述源代码与其对应的编程语言和运行时环境分离,给出保留所有语义逻辑的源代码组织的标准表示。
3.根据权利要求1所述的方法,其特征在于,步骤S2包括:
基于所述抽象语法树中的文件所有权信息,通过获得与已知配置类属于同一包或组件的类,识别用于管理配置项的配置类;
将需要比较的潜在配置类与已知配置类的类名去掉包名称并统一大小写,记作A和B;
记Dist[i][j]表示A的前i个字符和B的前j个字符之间的编辑距离,通过式
进行编辑距离计算,识别用于管理配置项的配置类;包括:若计算获得的A的前i个字符和B的前j个字符之间的编辑距离超过其名称长度的一半,则该潜在配置类不是用于管理配置项的配置类。
4.根据权利要求3所述的方法,其特征在于,步骤S3包括:
获取配置文件中配置项的名称对应的配置项的值,提取配置项所属的get方法,若配置文件中找不到与配置项名称对应的配置项的值,则将get方法返回默认值。
5.一种面向无人机系统的配置缺陷分析系统,其特征在于,包括:
无人机配置分析模块,用于:
基于无人机控制系统的源代码,生成抽象语法树;
基于抽象语法树,识别用于管理配置项的配置类;
从所述配置类中提取配置项所属的get方法;
基于配置项所属的get方法,通过获取配置类的实例化位置,确定配置项所属的get方法的使用位置;基于配置项的get方法的使用位置,通过推断获得配置项的名称;具体包括:
S51基于配置项名称变量为局部变量的属性,搜索配置项名称所属的读取点所在的访问环境,检查对应变量的声明语句,获得配置项的名称;
若上述过程未获得配置项的名称,则通过搜索配置项名称所属的读取点所对应的代码源文件,检查与配置项名称的变量匹配的代码源文件引用的文件的变量,获得配置项的名称;
若上述过程仍未获得配置项的名称,则检查继承所述声明语句的配置项,获得配置项的名称;
S52基于执行子步骤S51获得的配置项的名称,将该配置项的名称的变量的声明语句感兴趣的数据进行污点传播分析,跟踪所述感兴趣的数据的赋值,从所述赋值的语句反推获得配置项名称的值;
无人机配置生成模块,用于基于配置项的名称,构建无人机系统的配置攻击面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485503.1A CN116520882B (zh) | 2023-04-28 | 2023-04-28 | 一种面向无人机系统的配置缺陷分析方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485503.1A CN116520882B (zh) | 2023-04-28 | 2023-04-28 | 一种面向无人机系统的配置缺陷分析方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116520882A CN116520882A (zh) | 2023-08-01 |
CN116520882B true CN116520882B (zh) | 2024-02-06 |
Family
ID=87397159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310485503.1A Active CN116520882B (zh) | 2023-04-28 | 2023-04-28 | 一种面向无人机系统的配置缺陷分析方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116520882B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1466248A1 (en) * | 2002-01-15 | 2004-10-13 | Foundstone, Inc. | System and method for network vulnerability detection and reporting |
CN105573774A (zh) * | 2014-11-05 | 2016-05-11 | 中国银联股份有限公司 | 应用程序参数管理及配置方法 |
CN107480525A (zh) * | 2017-09-05 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种RabbitMQ安全配置的自动化检测方法 |
CN111368306A (zh) * | 2020-03-03 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种后台服务器安全加固的方法、系统、设备及介质 |
CN112015647A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 配置项监控方法、装置、计算机设备和存储介质 |
CN114020273A (zh) * | 2021-10-11 | 2022-02-08 | 中国航空无线电电子研究所 | 一种复杂系统软件集成方法 |
CN114021142A (zh) * | 2021-11-03 | 2022-02-08 | 广州链安科技有限公司 | 一种安卓应用程序漏洞检测方法 |
CN114691196A (zh) * | 2022-03-25 | 2022-07-01 | 奇安信科技集团股份有限公司 | 动态语言的代码缺陷检测方法及装置、电子设备 |
CN114911267A (zh) * | 2022-06-15 | 2022-08-16 | 成都天纵元航智能科技有限公司 | 一种智能自主式无人机反制系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220179639A1 (en) * | 2020-12-09 | 2022-06-09 | Mastercard International Incorporated | Managing software patches based on automated rule-based analysis and testing |
-
2023
- 2023-04-28 CN CN202310485503.1A patent/CN116520882B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1466248A1 (en) * | 2002-01-15 | 2004-10-13 | Foundstone, Inc. | System and method for network vulnerability detection and reporting |
CN105573774A (zh) * | 2014-11-05 | 2016-05-11 | 中国银联股份有限公司 | 应用程序参数管理及配置方法 |
CN107480525A (zh) * | 2017-09-05 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种RabbitMQ安全配置的自动化检测方法 |
CN111368306A (zh) * | 2020-03-03 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种后台服务器安全加固的方法、系统、设备及介质 |
CN112015647A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 配置项监控方法、装置、计算机设备和存储介质 |
CN114020273A (zh) * | 2021-10-11 | 2022-02-08 | 中国航空无线电电子研究所 | 一种复杂系统软件集成方法 |
CN114021142A (zh) * | 2021-11-03 | 2022-02-08 | 广州链安科技有限公司 | 一种安卓应用程序漏洞检测方法 |
CN114691196A (zh) * | 2022-03-25 | 2022-07-01 | 奇安信科技集团股份有限公司 | 动态语言的代码缺陷检测方法及装置、电子设备 |
CN114911267A (zh) * | 2022-06-15 | 2022-08-16 | 成都天纵元航智能科技有限公司 | 一种智能自主式无人机反制系统 |
Non-Patent Citations (2)
Title |
---|
轨道交通工业控制系统信息安全:分析与展望;李浥东 等;智能科学与技术学报;第3卷(第2期);第139-148页 * |
面向drive-by-download攻击的检测方法;马洪亮 等;华中科技大学学报(自然科学版);第44卷(第3期);第6-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116520882A (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230319090A1 (en) | Consolidating structured and unstructured security and threat intelligence with knowledge graphs | |
US11544527B2 (en) | Fuzzy cyber detection pattern matching | |
US11194905B2 (en) | Affectedness scoring engine for cyber threat intelligence services | |
Ham et al. | Linear SVM-based android malware detection for reliable IoT services | |
Kaynar | A taxonomy for attack graph generation and usage in network security | |
US11483318B2 (en) | Providing network security through autonomous simulated environments | |
US10536472B2 (en) | Cognitive analysis of security data with signal flow-based graph exploration | |
US20200120115A1 (en) | Cognitive offense analysis using contextual data and knowledge graphs | |
CN112131882A (zh) | 一种多源异构网络安全知识图谱构建方法及装置 | |
CN113360915B (zh) | 基于源代码图表示学习的智能合约多漏洞检测方法及系统 | |
US20180048662A1 (en) | Cognitive offense analysis using enriched graphs | |
US8607351B1 (en) | Modeling cyberspace attacks | |
Gärtner et al. | Maintaining requirements for long-living software systems by incorporating security knowledge | |
Dugyala et al. | Analysis of malware detection and signature generation using a novel hybrid approach | |
CN116520882B (zh) | 一种面向无人机系统的配置缺陷分析方法和系统 | |
CN117235600A (zh) | 一种用户异常行为检测方法及系统 | |
Gantikow et al. | Container anomaly detection using neural networks analyzing system calls | |
CN115883261A (zh) | 一种基于att和ck的电力系统apt攻击建模方法 | |
Ouchani et al. | Security assessment and hardening of autonomous vehicles | |
Kerzhner et al. | Analyzing cyber security threats on cyber-physical systems using Model-Based Systems Engineering | |
CN115454473A (zh) | 基于深度学习漏洞决策的数据处理方法及信息安全系统 | |
Pan | Iot network behavioral fingerprint inference with limited network traces for cyber investigation | |
Baradaran et al. | A unit-based symbolic execution method for detecting memory corruption vulnerabilities in executable codes | |
Rachidi et al. | Combined data and execution flow host intrusion detection using machine learning | |
Zhang et al. | Design of Threat Response Modeling Language for Attacker Profile Based on Probability Distribution |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |