CN110784482B - 一种工业审计系统的报文存储方法及装置 - Google Patents
一种工业审计系统的报文存储方法及装置 Download PDFInfo
- Publication number
- CN110784482B CN110784482B CN201911065626.XA CN201911065626A CN110784482B CN 110784482 B CN110784482 B CN 110784482B CN 201911065626 A CN201911065626 A CN 201911065626A CN 110784482 B CN110784482 B CN 110784482B
- Authority
- CN
- China
- Prior art keywords
- message
- messages
- matching queue
- industrial control
- matching
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/668—Internet protocol [IP] address subnets
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种工业审计系统的报文存储方法及装置,该方法包括:在接收到工业控制报文时,判断工业控制报文中是否存在设定类型的报文特征;若存在,则从工业控制报文中提取所述设定类型的报文特征,并利用设定类型的报文特征,识别匹配队列中的报文是否为周期性报文;若匹配队列中的报文为周期性报文,则判断数据库中是否存在匹配队列中的报文;若存在,则丢弃匹配队列中的报文;若不存在,则将匹配队列中的报文存储在数据库中。在本申请中,通过以上方式可以实现工业审计系统性能和存储的信息完整性的兼得。
Description
技术领域
本申请涉及存储技术领域,特别涉及一种工业审计系统的报文存储方法及装置。
背景技术
在工业互联网的发展过程中,为了保证工业控制系统的稳定运行,工业审计系统应运而生,由其对工业控制系统的运行状况进行检查与评价。
工业审计系统对工业控制系统的运行状况进行检查与评价的前提是,需要对工业控制系统中的大量原始信息进行存储,其中存储的信息过大会对处理器和磁盘造成较大负荷,影响工业审计系统的性能,但若精简存储的信息,会导致审计需要的信息不完整。因此,如何实现审计系统性能与存储的信息完整性的兼得成为问题。
发明内容
为解决上述技术问题,本申请实施例提供一种数据交互处理方法及装置,以达到提高数据交互的可靠性且降低代价的目的,技术方案如下:
一种工业审计系统的报文存储方法,应用于工业审计系统,该方法包括:
在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征;
若存在,则从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值;
若所述匹配队列中的报文为周期性报文,则判断数据库中是否存在所述匹配队列中的报文;
若存在,则丢弃所述匹配队列中的报文;
若不存在,则将所述匹配队列中的报文存储在所述数据库中。
优选的,所述判断所述工业控制报文中是否存在设定类型的报文特征,包括:
判断工业控制报文中是否存在源ip地址、源端口、目的ip地址、目的端口及工业控制协议信息;
若存在,则判断所述工业控制协议信息中是否存在设定类型的报文特征。
优选的,包括:所述利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,包括:
提取出匹配队列中的全部报文,将提取出的全部报文作为第一报文序列;
在所述报文池中查找是否存在与所述设定类型的报文特征及所述第一报文序列中报文的所述设定类型的报文特征匹配的报文序列;
若存在,将匹配的报文序列作为目标报文序列,并判断所述目标报文序列在所述报文池中出现的次数是否达到设定的出现次数阈值;
若是,则判断所述目标报文序列在所述报文池中出现的时间间隔是否小于设定的时间阈值;
若小于设定的时间阈值,则将所述工业控制报文写入所述匹配队列中;
若不小于设定的时间阈值,则判断所述匹配队列中的报文个数是否不小于设定的报文个数阈值;
若不小于设定的报文个数阈值,则确定所述匹配队列中的报文为周期性报文。
优选的,所述确定所述匹配队列中的报文为周期性报文之后,还包括:
清空所述匹配队列中的报文,并将所述工业控制报文写入所述匹配队列中。
优选的,若所述数据库中存在所述匹配队列中的报文,所述方法还包括:
更新所述匹配队列中的报文的周期数量,并将更新后的周期数量存储在所述数据库中。
优选的,所述设定类型的报文特征,包括:
操作功能码信息、操作位置信息和返回状态信息中的任意一种或多种。
一种工业审计系统的报文存储装置,应用于工业审计系统,该装置包括:
第一判断模块,用于在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征;
识别模块,用于若所述工业控制报文中存在设定类型的报文特征,则从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值;
第二判断模块,用于若所述匹配队列中的报文为周期性报文,则判断数据库中是否存在所述匹配队列中的报文;
丢弃模块,用于若所述数据库中存在所述匹配队列中的报文,则丢弃所述匹配队列中的报文;
第一存储模块,用于若所述数据库中不存在所述匹配队列中的报文,则将所述匹配队列中的报文存储在所述数据库中。
优选的,所述第一判断模块,具体用于:
判断工业控制报文中是否存在源ip地址、源端口、目的ip地址、目的端口及工业控制协议信息;
若存在,则判断所述工业控制协议信息中是否存在设定类型的报文特征。
优选的,所述识别模块,具体用于:
提取出匹配队列中的全部报文,将提取出的全部报文作为第一报文序列;
在所述报文池中查找是否存在与所述设定类型的报文特征及所述第一报文序列中报文的所述设定类型的报文特征匹配的报文序列;
若存在,将匹配的报文序列作为目标报文序列,并判断所述目标报文序列在所述报文池中出现的次数是否达到设定的出现次数阈值;
若是,则判断所述目标报文序列在所述报文池中出现的时间间隔是否小于设定的时间阈值;
若小于设定的时间阈值,则将所述工业控制报文写入所述匹配队列中;
若不小于设定的时间阈值,则判断所述匹配队列中的报文个数是否不小于设定的报文个数阈值;
若不小于设定的报文个数阈值,则确定所述匹配队列中的报文为周期性报文。
优选的,所述识别模块,还用于:
清空所述匹配队列中的报文,并将所述工业控制报文写入所述匹配队列中。
优选的,所述装置还包括:
第二存储模块,用于更新所述匹配队列中的报文的周期数量,并将更新后的周期数量存储在所述数据库中。
优选的,所述设定类型的报文特征,包括:
操作功能码信息、操作位置信息和返回状态信息中的任意一种或多种。
与现有技术相比,本申请的有益效果为:
在本申请中,在接收到工业控制报文时,通过判断工业控制报文中是否存在设定类型的报文特征,并提取设定类型的报文特征,可以保证工业控制报文的有效性,在此基础上,利用设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,若为周期性报文且数据库中已经存在,则不对匹配队列中的报文进行存储,若为周期性报文且数据库中不存在,则对匹配队列中的报文进行存储,保证不对周期性报文进行冗余存储,同时可以保证工业审计系统存储的报文的完整性,以此实现工业审计系统性能和存储的信息完整性的兼得。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种工业审计系统的报文存储方法实施例1的流程图;
图2是本申请提供的一种工业审计系统的报文存储方法实施例2的流程图;
图3是本申请提供的一种工业审计系统的报文存储方法实施例3的流程图;
图4是本申请提供的一种工业审计系统的报文存储方法实施例4的流程图;
图5是本申请提供的一种工业审计系统的报文存储装置的逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种工业审计系统的报文存储方法,应用于工业审计系统,该方法包括:在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征;若存在,则从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值;若所述匹配队列中的报文为周期性报文,则判断数据库中是否存在所述匹配队列中的报文;若存在,则在所述数据库中不存储所述匹配队列中的报文;若不存在,则将所述匹配队列中的报文存储在所述数据库中。在本申请中,可以实现工业审计系统性能和存储的信息完整性的兼得。
接下来对本申请实施例公开的工业审计系统的报文存储方法进行介绍,工业审计系统的报文存储方法应用于工业审计系统,如图1所示的,为本申请提供的一种工业审计系统的报文存储方法实施例1的流程图,可以包括以下步骤:
步骤S11、在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征。
若存在,则执行步骤S12;若不存在,则可以确定工业控制报文为无效的报文。
若工业控制报文中存在设定类型的报文特征,则可以确定工业控制报文为有效的报文,则可以进一步执行后续步骤。
步骤S12、从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文。
所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值。
报文池可以理解为程序运行过程中在内存开辟的空间,用于在接收到工业公开报文时,对其进行缓存。
若是,则执行步骤S13。
步骤S13、判断数据库中是否存在所述匹配队列中的报文。
若存在,则执行步骤S14;若不存在,则执行步骤S15。
步骤S14、丢弃所述匹配队列中的报文。
在匹配队列中的报文为周期性报文且数据库中存在匹配队列中的报文的情况下,丢弃匹配队列中的报文,避免周期性报文的冗余存储,提高工业审计系统的性能。
步骤S15、将所述匹配队列中的报文存储在所述数据库中。
在匹配队列中的报文为周期性报文且数据库中不存在匹配队列中的报文的情况下,将匹配队列中的报文存储在数据库中,保证工业审计系统存储的报文的完整性。
在本申请中,在接收到工业控制报文时,通过判断工业控制报文中是否存在设定类型的报文特征,并提取设定类型的报文特征,可以保证工业控制报文的有效性,在此基础上,利用设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,若为周期性报文且数据库中已经存在,则不对匹配队列中的报文进行存储,若为周期性报文且数据库中不存在,则对匹配队列中的报文进行存储,保证不对周期性报文进行冗余存储,同时可以保证工业审计系统存储的报文的完整性,以此实现工业审计系统性能和存储的信息完整性的兼得。
作为本申请另一可选实施例,参照图2,为本申请提供的一种工业审计系统的报文存储方法实施例2的流程图,本实施例主要是对上述实施例1描述的工业审计系统的报文存储方法的细化方案,如图2所示,该方法可以包括但并不局限于以下步骤:
步骤S21、在接收到工业控制报文时,判断工业控制报文中是否存在源ip地址、源端口、目的ip地址、目的端口及工业控制协议信息。
若存在,可以确定工业控制报文为标准的工业控制报文,则执行步骤S22;若不存在,可以丢弃该工业控制报文。
步骤S22、判断所述工业控制协议信息中是否存在设定类型的报文特征。
若存在,则可以确定工业控制报文有效,则执行步骤S23;若不存在,则可以确定工业控制报文无效,不执行后续步骤。
本实施例中,设定类型的报文特征可以包括但不局限于:操作功能码信息、操作位置信息和返回状态信息中的任意一种或多种。
步骤S21-S22为实施例1中步骤S11的一种具体实施方式。
步骤S23、从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文。
所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值。
若是,则执行步骤S24。
步骤S24、判断数据库中是否存在所述匹配队列中的报文。
若存在,则执行步骤S25;若不存在,则执行步骤S26。
步骤S25、丢弃所述匹配队列中的报文。
步骤S26、将所述匹配队列中的报文存储在所述数据库中。
步骤S23-S26的详细过程可以参见实施例1中步骤S12-S15的相关介绍,在此不再赘述。
作为本申请另一可选实施例,参照图3,为本申请提供的一种工业审计系统的报文存储方法实施例3的流程图,本实施例主要是对上述实施例1描述的工业审计系统的报文存储方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:
步骤S31、在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征。
若存在,则执行步骤S32。
步骤S32、从所述工业控制报文中提取所述设定类型的报文特征,并提取出匹配队列中的全部报文,将提取出的全部报文作为第一报文序列。
步骤S33、在所述报文池中查找是否存在与所述设定类型的报文特征及所述第一报文序列中报文的所述设定类型的报文特征匹配的报文序列。
若存在,则执行步骤S34;
步骤S34、将匹配的报文序列作为目标报文序列,并判断所述目标报文序列在所述报文池中出现的次数是否达到设定的出现次数阈值。
若是,则执行步骤S35。
设定的出现次数阈值可以根据需要进行设置,在此不做限制。
优选的,设定的出现次数阈值可以设置为3。
步骤S35、判断所述目标报文序列在所述报文池中出现的时间间隔是否小于设定的时间阈值。
若是,则执行步骤S36;若否,则执行步骤S37。
本实施例中,设定的时间阈值可以根据需要进行设置,在此不做限制。但优选的,设定的时间阈值可以设置为200ms。
步骤S36、将所述工业控制报文写入所述匹配队列中。
步骤S37、判断所述匹配队列中的报文个数是否不小于设定的报文个数阈值。
若是,则执行步骤S38。
本实施例中,可以根据需要对设定的报文个数阈值进行设置,在此不做限制。
但,优选的,设定的报文个数阈值可以设置为4。
步骤S38、确定所述匹配队列中的报文为周期性报文。
本实施例中,步骤S38之后还可以包括:
清空所述匹配队列中的报文,并将所述工业控制报文写入所述匹配队列中。
步骤S32-S38为实施例1中步骤S12的一种具体实施方式。
步骤S39、判断数据库中是否存在所述匹配队列中的报文。
若存在,则执行步骤S310;若不存在,则执行步骤S311。
步骤S310、丢弃所述匹配队列中的报文。
步骤S311、将所述匹配队列中的报文存储在所述数据库中。
步骤S39-S311的详细过程可以参见实施例1中步骤S13-S15的相关介绍,在此不再赘述。
本实施例中,为了更加详细的对识别匹配队列中的报文是否为周期性报文的过程进行介绍,现举例对步骤S32-S38的过程进行说明,例如:
将设定的出现次数阈值设置为3,将设定的时间阈值设置为200ms,将设定的报文个数阈值设置为4,假定这些报文收到的时间间隔均满足小于等于200ms,仅按报文序列顺序来说明:
1.工业审计系统收到“wincc向plc发送的请求包(以下简称请求包)A”。
2.比对A在报文池中出现的次数为0次,匹配失败。
3.将A的特征信息(以下简称A)存入报文池。
4.由于A报文匹配失败,在数据库中存储A报文的报文信息。
5.审计系统收到“plc向wincc发送的应答包(以下简称应答包)B”。
6.比对B在报文池中出现的次数为0次,匹配失败。
7.将B的特征信息(以下简称B)存入报文池。
8.由于B报文匹配失败,在数据库中存储B报文的报文信息。
9.同理,审计系统收到“请求包C”,“应答包D”,均匹配次数0次而失败,随后在数据库中存储C,D报文的报文信息。
10.审计系统又收到“请求包A”。
11.比对A在报文池中出现的次数,此时报文池已存储之前接收到的ABCD,匹配次数为1次,仍未达到3次,匹配失败。
12.将A存入报文池。
13.由于A报文匹配失败,在数据库中存储A报文的报文信息。
14.同理,随后收到“应答包B”,“请求包C”,应答包“D”在报文池中出现的次数也无法匹配成功。
15.随后审计系统又收到“请求包A”。
16.比对A在报文池中出现的次数,此时报文池已存储之前接收到的ABCDABCD,匹配次数为2次,仍未达到3次,匹配失败。
17.将A存入报文池。
18.由于A报文匹配失败,在数据库中存储A报文的报文信息。
19.同理,随后收到“应答包B”,“请求包C”,应答包“D”在报文池中出现的次数也无法匹配成功。
20.随后审计系统又收到“请求包A”。
21.比对A在报文池中出现的次数,此时报文池已存储之前接收到的ABCDABCDABCD,匹配次数为3次,匹配成功。
22.随后按照报文序列在报文池中出现的时间间隔是否小于设定的时间阈值,也认为成功。
23将A存入报文池,将“请求包A”存入匹配队列。
24.随后审计系统又收到“应答包B”。
25.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDA(注意上一个A也存入了)。按照【步骤S33】的描述,提取匹配队列中的“请求包A”,将“请求包A”和“应答包B”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配AB,发现出现3次,匹配成功,重复【步骤S35】匹配时间,也认为成功。
26将B存入报文池,将“应答包B”存入匹配队列。
27.随后审计系统又收到“请求包E”。
28.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDAB。按照【步骤S33】的描述,提取匹配队列中的“请求包A”,“应答包B”,将“请求包A”和“应答包B”和“请求包E”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配ABE,发现出现0次,匹配失败。
29.此时进入【步骤S37】,到收到某一个报文后匹配失败的情况,提取匹配队列中的“请求包A”,“应答包B”,包个数只有2个,未达到设置的4个,所以“请求包A”,“应答包B”匹配失败,在数据库中存储A和B报文的报文信息。
30.将E存入报文池,将“请求包E”存入匹配队列。
31.随后审计系统又收到“应答包F”。
32.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDABE。按照【步骤S33】的描述,提取匹配队列中的“请求包E”,将“请求包E”和“应答包F”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配EF,发现出现0次,匹配失败。
33.此时进入【步骤S37】,到收到某一个报文后匹配失败的情况,提取匹配队列中的“请求包E”,包个数只有1个,未达到设置的4个,所以“请求包E”匹配失败,在数据库中存储E报文的报文信息。
34.将F存入报文池,将“应答包F”存入匹配队列。
35.随后审计系统又收到“请求包A”。
36.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDABEF。按照【步骤S33】的描述,提取匹配队列中的“应答包F”,将“应答包F”和“请求包A”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配FA,发现出现0次,匹配失败。
37.此时进入【步骤S37】,到收到某一个报文后匹配失败的情况,提取匹配队列中的“应答包F”,包个数只有1个,未达到设置的4个,所以“应答包F”匹配失败,在数据库中存储F报文的报文信息。
38.将A存入报文池,将“请求包A”存入匹配队列。
39.随后审计系统又收到“应答包B”。
40.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDABEFA。按照【步骤S33】的描述,提取匹配队列中的“请求包A”,将“请求包A”和“应答包B”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配AB,发现出现4次,匹配成功,重复【步骤S35】匹配时间,也认为成功。
41.将B存入报文池,将“应答包B”存入匹配队列。
42.随后审计系统又收到“请求包C”。
43.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDABEFAB。按照【步骤S33】的描述,提取匹配队列中的“请求包A”和“应答包B”,将“请求包A”和“应答包B”和“请求包C”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配ABC,发现出现3次,匹配成功,重复【步骤S35】匹配时间,也认为成功。
44.将C存入报文池,将“请求包C”存入匹配队列。
45.随后审计系统又收到“应答包D”。
46.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDABEFABC。按照【步骤S33】的描述,提取匹配队列中的“请求包A”和“应答包B”和“请求包C”,将“请求包A”和“应答包B”和“请求包C”和“应答包D”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配ABCD,发现出现4次,匹配成功,重复【步骤S35】匹配时间,也认为成功。
47.将D存入报文池,将“应答包D”存入匹配队列。
48.随后审计系统又收到“请求包A”。
49.由于匹配队列存在,所以开始进行序列匹配,此时报文池中已存储之前接收到的ABCDABCDABCDABEFABCD。按照【步骤S33】的描述,提取匹配队列中的请求包A”和“应答包B”和“请求包C”和“应答包D”,将请求包A”和“应答包B”和“请求包C”和“应答包D”和“请求包A”的报文组去报文池中匹配,重复【步骤S34】,到报文池中匹配ABCDA,发现出现2次,匹配失败。
50.此时进入【步骤S37】,到收到某一个报文后匹配失败的情况,提取匹配队列中的请求包A”和“应答包B”和“请求包C”和“应答包D”,包个数有4个,达到设置的4个,所以请求包A”和“应答包B”和“请求包C”和“应答包D”匹配成功,成功提取一组周期性报文。无需在数据库中存储该组ABCD报文信息。
51.将A存入报文池,将“请求包A”存入匹配队列。
52.随后若连续收到“应答包B”和“请求包C”和“应答包D”的报文,则均可提取出周期。
其中,需要说明的是,若工业审计系统始终按照ABCD的顺序接收到报文,几个周期之后,会出现报文池中为ABCDABCDABCDABCDABCDABCD的情况。在这种情况下,工业审计系统按顺序收到ABCD均可匹配成功,均存入匹配队列;随后收到A,按照ABCDA仍可匹配成功,存入匹配队列;随后依次收到BCD,仍可按照ABCDABCD匹配成功(池中出现3次)。此时,匹配队列中出现ABCDABCD双周期的情况,若匹配队列的长度超过了预设的报文数量的2倍,也就是8个,若匹配队列中存储的8个报文满足双周期,也就是报文1和5,2和6,3和7,4和8的特征信息是一样的,则认为匹配队列中的报文为双周期报文,可以将该匹配队列中的报文取出;若不是双周期报文,则保留在匹配队列中不取出。
作为本申请另一可选实施例,参照图4,为本申请提供的一种工业审计系统的报文存储方法实施例4的流程图,本实施例主要是对上述实施例1描述的工业审计系统的报文存储方法的扩展方案,如图4所示,该方法可以包括但并不局限于以下步骤:
步骤S41、在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征。
若存在,则执行步骤S42;
步骤S42、从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文。
所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值。
若是,则执行步骤S43;
步骤S43、判断数据库中是否存在所述匹配队列中的报文。
若存在,则执行步骤S44;若不存在,则执行步骤S46。
步骤S44、丢弃所述匹配队列中的报文。
步骤S41-S44的详细过程可以参见实施例1中步骤S11-S14的相关介绍,在此不再赘述。
步骤S45、更新所述匹配队列中的报文的周期数量,并将更新后的周期数量存储在所述数据库中。
所述匹配队列中的报文的周期数量可以理解为:所述匹配队列中的报文的出现次数。
步骤S46、将所述匹配队列中的报文存储在所述数据库中。
步骤S46的详细过程可以参见实施例1中步骤S15的相关介绍,在此不再赘述。
接下来对本申请提供的工业审计系统的报文存储装置进行介绍,下文介绍的工业审计系统的报文存储装置与上文介绍的工业审计系统的报文存储方法可相互对应参照。
请参见图5,工业审计系统的报文存储装置应用于工业审计系统,工业审计系统的报文存储装置包括:第一判断模块11、识别模块12、第二判断模块13、丢弃模块14和第一存储模块15。
第一判断模块11,用于在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征;
识别模块12,用于若所述工业控制报文中存在设定类型的报文特征,则从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,所述匹配队列中的报文在报文池中出现的次数不小于设定的报文出现次数阈值且出现的时间间隔小于设定的时间间隔阈值;
第二判断模块13,用于若所述匹配队列中的报文为周期性报文,则判断数据库中是否存在所述匹配队列中的报文;
丢弃模块14,用于若所述数据库中存在所述匹配队列中的报文,则丢弃所述匹配队列中的报文;
第一存储模块15,用于若所述数据库中不存在所述匹配队列中的报文,则将所述匹配队列中的报文存储在所述数据库中。
本实施例中,所述第一判断模块11,具体可以用于:
判断工业控制报文中是否存在源ip地址、源端口、目的ip地址、目的端口及工业控制协议信息;
若存在,则判断所述工业控制协议信息中是否存在设定类型的报文特征。
本实施例中,所述识别模块12,具体可以用于:
提取出匹配队列中的全部报文,将提取出的全部报文作为第一报文序列;
在所述报文池中查找是否存在与所述设定类型的报文特征及所述第一报文序列中报文的所述设定类型的报文特征匹配的报文序列;
若存在,将匹配的报文序列作为目标报文序列,并判断所述目标报文序列在所述报文池中出现的次数是否达到设定的出现次数阈值;
若是,则判断所述目标报文序列在所述报文池中出现的时间间隔是否小于设定的时间阈值;
若小于设定的时间阈值,则将所述工业控制报文写入所述匹配队列中;
若不小于设定的时间阈值,则判断所述匹配队列中的报文个数是否不小于设定的报文个数阈值;
若不小于设定的报文个数阈值,则确定所述匹配队列中的报文为周期性报文。
本实施例中,识别模块12,还可以用于:
清空所述匹配队列中的报文,并将所述工业控制报文写入所述匹配队列中。
本实施例中,工业审计系统的报文存储装置还可以包括:
第二存储模块,用于更新所述匹配队列中的报文的周期数量,并将更新后的周期数量存储在所述数据库中。
本实施例中,上述设定类型的报文特征,可以包括:
操作功能码信息、操作位置信息和返回状态信息中的任意一种或多种。
需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种工业审计系统的报文存储方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种工业审计系统的报文存储方法,其特征在于,应用于工业审计系统,该方法包括:
在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征;
若存在,则从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文;所述匹配队列中的报文为在报文池中出现的次数不小于设定的报文出现次数阈值,出现的时间间隔小于设定的时间间隔阈值且存在设定类型的报文特征的报文;所述报文池用于对接收到的所述工业控制报文进行缓存;所述周期性报文为当目标报文序列在所述报文池中出现的次数达到设定的出现次数阈值,所述目标报文序列在所述报文池中出现的时间间隔不小于预设的时间阈值,且所述匹配队列中的报文个数不小于设定的报文个数阈值时的报文;
若所述匹配队列中的报文为周期性报文,则判断数据库中是否存在所述匹配队列中的报文;
若存在,则丢弃所述匹配队列中的报文;
若不存在,则将所述匹配队列中的报文存储在所述数据库中。
2.根据权利要求1所述的方法,其特征在于,所述判断所述工业控制报文中是否存在设定类型的报文特征,包括:
判断所述工业控制报文中是否存在源ip地址、源端口、目的ip地址、目的端口及工业控制协议信息;
若存在,则判断所述工业控制协议信息中是否存在设定类型的报文特征。
3.根据权利要求1所述的方法,其特征在于,包括:所述利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文,包括:
提取出匹配队列中的全部报文,将提取出的全部报文作为第一报文序列;
在所述报文池中查找是否存在与所述设定类型的报文特征及所述第一报文序列中报文的所述设定类型的报文特征匹配的报文序列;
若存在,将所述匹配的报文序列作为目标报文序列,并判断所述目标报文序列在所述报文池中出现的次数是否达到设定的出现次数阈值;
若是,则判断所述目标报文序列在所述报文池中出现的时间间隔是否小于设定的时间阈值;
若小于所述设定的时间阈值,则将所述工业控制报文写入所述匹配队列中;
若不小于所述设定的时间阈值,则判断所述匹配队列中的报文个数是否不小于设定的报文个数阈值;
若不小于所述设定的报文个数阈值,则确定所述匹配队列中的报文为周期性报文。
4.根据权利要求3所述的方法,其特征在于,所述确定所述匹配队列中的报文为所述周期性报文之后,还包括:
清空所述匹配队列中的报文,并将所述工业控制报文写入所述匹配队列中。
5.根据权利要求1所述的方法,其特征在于,若所述数据库中存在所述匹配队列中的报文,所述方法还包括:
更新所述匹配队列中的报文的周期数量,并将更新后的所述周期数量存储在所述数据库中。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述设定类型的报文特征,包括:
操作功能码信息、操作位置信息和返回状态信息中的任意一种或多种。
7.一种工业审计系统的报文存储装置,其特征在于,应用于工业审计系统,该装置包括:
第一判断模块,用于在接收到工业控制报文时,判断所述工业控制报文中是否存在设定类型的报文特征;
识别模块,用于若所述工业控制报文中存在设定类型的报文特征,则从所述工业控制报文中提取所述设定类型的报文特征,并利用所述设定类型的报文特征,识别匹配队列中的报文是否为周期性报文;所述匹配队列中的报文为在报文池中出现的次数不小于设定的报文出现次数阈值,出现的时间间隔小于设定的时间间隔阈值且存在设定类型的报文特征的报文;所述报文池用于对接收到的所述工业控制报文进行缓存;所述周期性报文为当目标报文序列在所述报文池中出现的次数达到设定的出现次数阈值,所述目标报文序列在所述报文池中出现的时间间隔不小于预设的时间阈值,且所述匹配队列中的报文个数不小于设定的报文个数阈值时的报文;
第二判断模块,用于若所述匹配队列中的报文为周期性报文,则判断数据库中是否存在所述匹配队列中的报文;
丢弃模块,用于若所述数据库中存在所述匹配队列中的报文,则丢弃所述匹配队列中的报文;
第一存储模块,用于若所述数据库中不存在所述匹配队列中的报文,则将所述匹配队列中的报文存储在所述数据库中。
8.根据权利要求7所述的装置,其特征在于,所述第一判断模块,具体用于:
判断所述工业控制报文中是否存在源ip地址、源端口、目的ip地址、目的端口及工业控制协议信息;
若存在,则判断所述工业控制协议信息中是否存在设定类型的报文特征。
9.根据权利要求7所述的装置,其特征在于,所述识别模块,具体用于:
提取出匹配队列中的全部报文,将提取出的全部报文作为第一报文序列;
在所述报文池中查找是否存在与所述设定类型的报文特征及所述第一报文序列中报文的所述设定类型的报文特征匹配的报文序列;
若存在,将所述匹配的报文序列作为目标报文序列,并判断所述目标报文序列在所述报文池中出现的次数是否达到设定的出现次数阈值;
若是,则判断所述目标报文序列在所述报文池中出现的时间间隔是否小于设定的时间阈值;
若小于所述设定的时间阈值,则将所述工业控制报文写入所述匹配队列中;
若不小于所述设定的时间阈值,则判断所述匹配队列中的报文个数是否不小于设定的报文个数阈值;
若不小于所述设定的报文个数阈值,则确定所述匹配队列中的报文为周期性报文。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二存储模块,用于更新所述匹配队列中的报文的周期数量,并将更新后的所述周期数量存储在所述数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911065626.XA CN110784482B (zh) | 2019-11-04 | 2019-11-04 | 一种工业审计系统的报文存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911065626.XA CN110784482B (zh) | 2019-11-04 | 2019-11-04 | 一种工业审计系统的报文存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784482A CN110784482A (zh) | 2020-02-11 |
CN110784482B true CN110784482B (zh) | 2022-03-25 |
Family
ID=69388658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911065626.XA Active CN110784482B (zh) | 2019-11-04 | 2019-11-04 | 一种工业审计系统的报文存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110784482B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112217819B (zh) * | 2020-10-12 | 2021-04-27 | 珠海市鸿瑞信息技术股份有限公司 | 基于双因子认证体系的工业控制报文语意解析审计方法 |
CN117434877B (zh) * | 2023-12-20 | 2024-02-23 | 浙江国利信安科技有限公司 | 周期性通信系统的冗余控制方法、执行器设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582880A (zh) * | 2008-05-14 | 2009-11-18 | 北京启明星辰信息技术股份有限公司 | 一种基于被审计对象的报文过滤方法及系统 |
CN102469011A (zh) * | 2010-11-11 | 2012-05-23 | 联芯科技有限公司 | 一种数据发送方法和装置 |
CN102567472A (zh) * | 2011-12-14 | 2012-07-11 | 海角先锋(北京)科技有限公司 | 基于嵌入式数据库的高效数据删除和恢复方法 |
CN104978324A (zh) * | 2014-04-03 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和装置 |
US9553808B1 (en) * | 2014-08-04 | 2017-01-24 | Google Inc. | Protocol-independent packet routing |
US9843934B1 (en) * | 2015-12-15 | 2017-12-12 | Symantec Corporation | Systems and methods for detecting public networks |
CN108388616A (zh) * | 2018-02-09 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 数据收集装置、方法、系统及计算机可读存储介质 |
CN109564567A (zh) * | 2018-10-17 | 2019-04-02 | 算丰科技(北京)有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
CN109600258A (zh) * | 2018-12-10 | 2019-04-09 | 英赛克科技(北京)有限公司 | 工业协议报文记录装置及方法 |
-
2019
- 2019-11-04 CN CN201911065626.XA patent/CN110784482B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582880A (zh) * | 2008-05-14 | 2009-11-18 | 北京启明星辰信息技术股份有限公司 | 一种基于被审计对象的报文过滤方法及系统 |
CN102469011A (zh) * | 2010-11-11 | 2012-05-23 | 联芯科技有限公司 | 一种数据发送方法和装置 |
CN102567472A (zh) * | 2011-12-14 | 2012-07-11 | 海角先锋(北京)科技有限公司 | 基于嵌入式数据库的高效数据删除和恢复方法 |
CN104978324A (zh) * | 2014-04-03 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和装置 |
US9553808B1 (en) * | 2014-08-04 | 2017-01-24 | Google Inc. | Protocol-independent packet routing |
US9843934B1 (en) * | 2015-12-15 | 2017-12-12 | Symantec Corporation | Systems and methods for detecting public networks |
CN108388616A (zh) * | 2018-02-09 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 数据收集装置、方法、系统及计算机可读存储介质 |
CN109564567A (zh) * | 2018-10-17 | 2019-04-02 | 算丰科技(北京)有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
CN109600258A (zh) * | 2018-12-10 | 2019-04-09 | 英赛克科技(北京)有限公司 | 工业协议报文记录装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110784482A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10250526B2 (en) | Method and apparatus for increasing subresource loading speed | |
CN110784482B (zh) | 一种工业审计系统的报文存储方法及装置 | |
CN111353773B (zh) | 标识的处理方法和装置、存储介质、电子装置 | |
CN111193815B (zh) | 域名解析方法、装置、计算机可读存储介质和计算机设备 | |
CN113568981B (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
CN111625841B (zh) | 一种病毒处理方法、装置及设备 | |
CN112256776B (zh) | 表单重复提交检测方法、装置、计算机设备和存储介质 | |
CN107704605B (zh) | 一种基于本地存储的用户行为记录方法 | |
CN106533817A (zh) | 一种设置bmc属性信息的方法及装置 | |
CN110213397A (zh) | 数据生成方法、装置、电子设备及存储介质 | |
CN115955332A (zh) | 认证系统的异常流量过滤方法、装置,及电子设备 | |
CN112749172A (zh) | 一种缓存与数据库之间的数据同步方法及系统 | |
WO2024113534A1 (zh) | 存储节点中存储资源的控制方法和装置,以及存储节点 | |
CN114422576B (zh) | 一种会话清理方法、装置、计算机设备和可读存储介质 | |
CN115865457A (zh) | 一种网络攻击行为的识别方法、服务器及介质 | |
CN116977067A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN111782721B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN111654398B (zh) | 一种更新配置的方法、装置、计算机设备及可读存储介质 | |
CN111125142B (zh) | 一种数据更新方法及系统 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
CN110944037B (zh) | 客户端缓存更改配置的方法、计算机设备和存储介质 | |
CN104125253B (zh) | 网络应用的实现方法和系统 | |
CN111614750A (zh) | 一种数据更新方法、系统、设备及存储介质 | |
CN106453441B (zh) | 一种通信预处理方法及管理系统 | |
CN115001724A (zh) | 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质 |
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 |