CN113741974A - 一种领域特定语言的执行方法、系统及装置 - Google Patents

一种领域特定语言的执行方法、系统及装置 Download PDF

Info

Publication number
CN113741974A
CN113741974A CN202111088656.XA CN202111088656A CN113741974A CN 113741974 A CN113741974 A CN 113741974A CN 202111088656 A CN202111088656 A CN 202111088656A CN 113741974 A CN113741974 A CN 113741974A
Authority
CN
China
Prior art keywords
command
execution
grammar
execution instruction
user terminal
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.)
Withdrawn
Application number
CN202111088656.XA
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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202111088656.XA priority Critical patent/CN113741974A/zh
Publication of CN113741974A publication Critical patent/CN113741974A/zh
Withdrawn 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种领域特定语言的执行方法、系统及装置,该执行方法包括:获取用户终端的执行指令;利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。本申请公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。

Description

一种领域特定语言的执行方法、系统及装置
技术领域
本发明涉及特殊语言操作执行领域,特别涉及一种领域特定语言的执行方法、系统及装置。
背景技术
当前,在一些小众或安全性要求较高的产品领域,设备厂家研发生产的设备常存在个性化程度高、编程语言不通用、难以兼容其他设备的问题。通常在使用这类设备时,需要程序员以硬编码结合联调对接的方式去对接不同的设备和服务,这种方案复用度很低,且对接使用上没有标准,很难做到通用,需要耗费大量的人工成本和时间成本。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种高效快捷的领域特定语言的执行方法、系统及装置。其具体方案如下:
一种领域特定语言的执行方法,包括:
获取用户终端的执行指令;
利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
优选的,所述利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的过程,包括:
利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令及每条所述操作命令的命令元素,以及所有所述操作命令之间的逻辑关系;
相应的,所述利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回的过程,包括:
利用语法执行器按照所述操作命令对应的命令元素及所述逻辑关系对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
优选的,所述操作命令包括:信息查询命令和/或动作命令;
所述信息查询命令,包括所述查询对象和/或查询参数;
所述动作命令,包括动作内容、和/或动作执行对象、和/或动作执行主体。
优选的,所述查询对象包括系统允许操作的设备和系统支持的服务;
所述设备的所述查询参数包括标识、和/或地址、和/或所述设备支持的操作;
所述服务的所述查询参数包括服务内容、和/或服务对象、和/或服务执行主体。
优选的,所述动作命令包括:
阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行。
优选的,所述动作命令对应的操作结果具体为操作完成或操作失败,当所述操作结果为操作失败,同时向所述用户终端返回操作失败原因。
优选的,所述语法解析器具体为以ANTLR架构构建的语法解析器。
优选的,所述领域特定语言具体为安全处置领域的领域特定语言。
相应的,本申请还公开了一种领域特定语言的执行系统,包括:
获取模块,用于获取用户终端的执行指令;
解析模块,用于利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
操作模块,用于利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
相应的,本申请还公开了一种领域特定语言的执行装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述领域特定语言的执行方法的步骤。
本申请公开了一种领域特定语言的执行方法,包括:获取用户终端的执行指令;利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。本申请公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种领域特定语言的执行方法的步骤流程图;
图2为本发明实施例中一种领域特定语言的执行系统的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一些小众或安全性要求较高的产品领域,设备厂家研发生产的设备常存在个性化程度高、编程语言不通用、难以兼容其他设备的问题。通常在使用这类设备时,需要程序员以硬编码结合联调对接的方式去对接不同的设备和服务,这种方案复用度很低,且对接使用上没有标准,很难做到通用,需要耗费大量的人工成本和时间成本。
本申请公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
本发明实施例公开了一种领域特定语言的执行方法,参见图1所示,包括:
S1:获取用户终端的执行指令;
S2:利用语法解析器解析执行指令,得到语法解析后的一条或多条操作命令的命令元素;
S3:利用语法执行器按照操作命令对操作对象对应的命令元素进行相应操作,得到操作结果并向用户终端返回。
具体的,步骤S2利用语法解析器解析执行指令,得到语法解析后的一条或多条操作命令的过程,包括:
利用语法解析器解析执行指令,得到语法解析后的一条或多条操作命令及每条操作命令的命令元素,以及所有操作命令之间的逻辑关系;
相应的,步骤S3利用语法执行器按照操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向用户终端返回的过程,包括:
利用语法执行器按照操作命令对应的命令元素及逻辑关系对操作对象进行相应操作,得到操作结果并向用户终端返回。
可以理解的是,用户终端的执行指令一般由用户写入,用户无需掌握具体的领域操作细节和具体设备,只需掌握基础规范的语法解析器输入语法即可,语法解析器需要将执行指令解析为语法执行器能够理解和直接用于操作的操作命令的命令元素,因此该语法解析器要求有语义分析、逻辑判断等能力,通常语法解析器可以ANTLR(Another Tool forLanguage Recognition,另一种语言识别工具)架构构建,具体采用ANTLR4构建规则实现语法解析。
具体的,本实施例中执行方法对应的领域特定语言,指特定领域中使用的语言,该特点领域一般为小众产品领域或安全领域,本实施例的执行方法尤其适用于安全处置领域的领域特定语言。
具体的,本实施例中语法执行器可采用分布式高并发方案实现,进而同时处理逻辑关系中可并行处理的操作,提高执行指令的处理速度。
本申请实施例公开了一种领域特定语言的执行方法,包括:获取用户终端的执行指令;利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。本申请实施例公开了一种领域特定语言的执行方法,不论执行指令的形式语言,本方法都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
本发明实施例公开了一种具体的领域特定语言的执行方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
具体的,语法解析器输出的操作命令包括:信息查询命令和/或动作命令;
信息查询命令,包括查询对象和/或查询参数;
动作命令,包括动作内容、和/或动作执行对象、和/或动作执行主体。
进一步的,查询对象包括系统允许操作的设备和系统支持的服务;
设备的查询参数包括标识、和/或地址、和/或设备支持的操作;
服务的查询参数包括服务内容、和/或服务对象、和/或服务执行主体。
进一步的,动作命令包括:
阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行。
进一步的,动作命令对应的操作结果具体为操作完成或操作失败,当操作结果为操作失败,同时向用户终端返回操作失败原因。
可以理解的是,以上操作命令中的命令元素有设备、服务、标识、地址、操作、服务内容、服务对象、服务执行主体、动作内容、动作执行对象、动作执行主体等。
以安全处置领域的领域特定语言(SD DSL,Domain-specific Language for SafeDisposal)为例,对语法解析器的操作命令进行说明:
当信息查询命令仅包括查询对象,即queryDevices,也可缩写为qd,语法执行器执行该信息查询命令将返回当前系统允许操作的设备和系统支持的服务,具体的返回信息包括:设备类型deviceType,例如防火墙Firewall、统一威胁管理utm(Unified ThreatManagement)、网闸gatekeeper、web应用防火墙WAF(Web Application Firewall)、终端防护设备EDR(Endpoint Detection&Response)、防病毒系统AntiVirus等;设备唯一标识deviceId;设备地址deviceIp,例如1.1.1.1;设备支持的操作,或理解为设备支持的可处置动作deviceActions,例如阻断block、扫描scan、获取扫描结果scanReport,切断进程kill,沙箱执行virtualExec等。
信息查询命令也可查询不同服务或设备的详细参数列表,即queryActionParams,例如查询阻断block,即可获取相应的参数列表,具体示例如下表1所示。
表1信息查询命令的具体示例
Figure BDA0003266468630000061
类似的,动作命令中的元素包括动作内容、和/或动作执行对象、和/或动作执行主体,具体动作命令对应的动作内容包括阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行,解释操作结果为操作完成或操作失败,如果失败,返回操作失败原因,该原因包括但不限于不支持的参数、网络原因、设备返回的错误等,具体示例如下表2所示。
表2动作命令的具体示例
Figure BDA0003266468630000071
具体的,解析参数时,如果是信息查询命令query,后面括号内容为查询参数,如果是动作命令,后面括号内容为执行参数,两类参数书写方式一致,单个参数为明确的键值等式,形如field:value,value数值类型支持字符串、数值、布尔、数组等一种或多种形式,数组内元素支持字符串、数值、布尔等一种或多种形式,使用常规逻辑符AND/OR可关联单个参数,形如:field1:value1 AND field2:value2 OR field3:value3。
进一步的,本实施例提供了一个具体的执行指令,执行者要将一个威胁的访问者(IP:115.10.10.10)添加到防火墙设备(IP:1.1.1.1)中,并用扫描器(IP:2.2.2.2)扫描其攻击的机器(IP:192.168.20.20)避免有其他问题,并将该情况通过短信服务(Host:msg.dbapp.com)发送到用户手机上(18355555555)通知用户有这个威胁。
语法解析器接收到的执行指令为:
disposal to(block(blockIps:["115.10.10.10"]and deviceIps:["1.1.1.1"])
and scan(scanIps:["192.168.20.20"]and deviceIps:["2.2.2.2"])
and sendSms(phone:["18355555555"]and deviceHosts:["msg.dbapp.com"]andmessage:"您好,已封禁攻击者115.10.10.10,并对被攻击资产192.168.20.20进行了威胁扫描,请关注。"))
利用语法解析器解析该执行指令,将执行指令切分后得到三个操作命令,对应3个执行动作为block、scan、sendSms,利用多线程并行解析3个动作的对应参数,也即命令元素,具有较高的解析效率,解析后分发给基于并行架构的语法执行器。
语法执行器获取解析后的命令元素,利用多线程并发执行对应的封禁、扫描、发短信的操作,并返回最后的操作结果。
相应的,本申请实施例还公开了一种领域特定语言的执行系统,参见图2所示,包括:
获取模块1,用于获取用户终端的执行指令;
解析模块2,用于利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
操作模块3,用于利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
相应的,本申请实施例还公开了一种领域特定语言的执行装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述领域特定语言的执行方法的步骤。
其中,具体有关领域特定语言的执行方法的相关内容,可以参照上文实施例中的细节描述,此处不再赘述。
本申请实施例中的执行系统和执行装置,不论执行指令的形式语言,都能将其解析后正确执行,不需要针对操作对象进行针对性硬编码和联调对接,即可顺利完成执行指令,整个过程高效快速,节省了大量时间和人工成本。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种领域特定语言的执行方法、系统及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种领域特定语言的执行方法,其特征在于,包括:
获取用户终端的执行指令;
利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
2.根据权利要求1所述执行方法,其特征在于,所述利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的过程,包括:
利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令及每条所述操作命令的命令元素,以及所有所述操作命令之间的逻辑关系;
相应的,所述利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回的过程,包括:
利用语法执行器按照所述操作命令对应的命令元素及所述逻辑关系对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
3.根据权利要求1所述执行方法,其特征在于,所述操作命令包括:信息查询命令和/或动作命令;
所述信息查询命令,包括所述查询对象和/或查询参数;
所述动作命令,包括动作内容、和/或动作执行对象、和/或动作执行主体。
4.根据权利要求3所述执行方法,其特征在于,
所述查询对象包括系统允许操作的设备和系统支持的服务;
所述设备的所述查询参数包括标识、和/或地址、和/或所述设备支持的操作;
所述服务的所述查询参数包括服务内容、和/或服务对象、和/或服务执行主体。
5.根据权利要求3所述执行方法,其特征在于,所述动作命令包括:
阻断攻击者、和/或扫描资产、和/或切断进程、和/或沙箱执行。
6.根据权利要求3所述执行方法,其特征在于,所述动作命令对应的操作结果具体为操作完成或操作失败,当所述操作结果为操作失败,同时向所述用户终端返回操作失败原因。
7.根据权利要求1至6任一项所述执行方法,其特征在于,所述语法解析器具体为以ANTLR架构构建的语法解析器。
8.根据权利要求7所述执行方法,其特征在于,所述领域特定语言具体为安全处置领域的领域特定语言。
9.一种领域特定语言的执行系统,其特征在于,包括:
获取模块,用于获取用户终端的执行指令;
解析模块,用于利用语法解析器解析所述执行指令,得到语法解析后的一条或多条操作命令的命令元素;
操作模块,用于利用语法执行器按照所述操作命令对应的命令元素对操作对象进行相应操作,得到操作结果并向所述用户终端返回。
10.一种领域特定语言的执行装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述领域特定语言的执行方法的步骤。
CN202111088656.XA 2021-09-16 2021-09-16 一种领域特定语言的执行方法、系统及装置 Withdrawn CN113741974A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111088656.XA CN113741974A (zh) 2021-09-16 2021-09-16 一种领域特定语言的执行方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111088656.XA CN113741974A (zh) 2021-09-16 2021-09-16 一种领域特定语言的执行方法、系统及装置

Publications (1)

Publication Number Publication Date
CN113741974A true CN113741974A (zh) 2021-12-03

Family

ID=78739423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111088656.XA Withdrawn CN113741974A (zh) 2021-09-16 2021-09-16 一种领域特定语言的执行方法、系统及装置

Country Status (1)

Country Link
CN (1) CN113741974A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183196B1 (en) * 2013-06-25 2015-11-10 Google Inc. Parsing annotator framework from external services
CN107977245A (zh) * 2016-10-21 2018-05-01 浙江银泰电子商务有限公司 一种应用终端交互方法和应用终端
CN111026317A (zh) * 2019-11-28 2020-04-17 爱钱进(北京)信息科技有限公司 用于确定用户操作的方法、装置及存储介质
CN112579093A (zh) * 2020-12-11 2021-03-30 杭州安恒信息技术股份有限公司 一种信息推送方法、装置及相关设备
CN113377805A (zh) * 2021-08-13 2021-09-10 腾讯科技(深圳)有限公司 数据查询方法、装置、电子设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183196B1 (en) * 2013-06-25 2015-11-10 Google Inc. Parsing annotator framework from external services
CN107977245A (zh) * 2016-10-21 2018-05-01 浙江银泰电子商务有限公司 一种应用终端交互方法和应用终端
CN111026317A (zh) * 2019-11-28 2020-04-17 爱钱进(北京)信息科技有限公司 用于确定用户操作的方法、装置及存储介质
CN112579093A (zh) * 2020-12-11 2021-03-30 杭州安恒信息技术股份有限公司 一种信息推送方法、装置及相关设备
CN113377805A (zh) * 2021-08-13 2021-09-10 腾讯科技(深圳)有限公司 数据查询方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN109688097B (zh) 网站防护方法、网站防护装置、网站防护设备及存储介质
EP3205072B1 (en) Differential dependency tracking for attack forensics
KR102415971B1 (ko) 악성 모바일 앱 감지 장치 및 방법
US11734008B1 (en) Reusable sets of instructions for responding to incidents in information technology environments
US20040205411A1 (en) Method of detecting malicious scripts using code insertion technique
Cuppens et al. Recognizing Malicious Intention in an Intrusion Detection Process.
CN109766694B (zh) 一种工控主机的程序协议白名单联动方法及装置
CN111831275B (zh) 一种编排微场景剧本的方法、服务器、介质及计算机设备
CN110958246B (zh) 一种基于web服务器的动态智能防护方法及其应用
CN110187986B (zh) 一种命令管理方法、系统、装置及计算机可读存储介质
CN110704816A (zh) 接口破解的识别方法、装置、设备及存储介质
CN114462044A (zh) 一种基于污点分析的uefi固件漏洞静态检测方法及装置
CN112765026A (zh) 一种动态监测phpweb应用代码漏洞方法及相关装置
EP4044057B1 (en) Method and system for identifying security vulnerabilities
CN111865978A (zh) 一种微服务的请求标识更新方法、装置、设备及介质
CN109492403B (zh) 一种漏洞检测方法及装置
CN105631332B (zh) 一种处理恶意程序的方法及装置
CN114091031A (zh) 基于白规则的类加载防护方法及装置
CN113741974A (zh) 一种领域特定语言的执行方法、系统及装置
CN109040089B (zh) 网络策略审计方法、设备及计算机可读存储介质
CN110647749A (zh) 一种二阶sql注入攻击防御的方法
Kang et al. Astraea: Towards an effective and usable application permission system for SDN
CN115906086A (zh) 基于代码属性图的网页后门检测方法、系统及存储介质
CN112579093B (zh) 一种信息推送方法、装置及相关设备
Ma et al. Communication-based attacks detection in android applications

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211203