CN115280724A - 用于处理数据异常的方法,特别是在机动车辆中 - Google Patents
用于处理数据异常的方法,特别是在机动车辆中 Download PDFInfo
- Publication number
- CN115280724A CN115280724A CN202180024769.5A CN202180024769A CN115280724A CN 115280724 A CN115280724 A CN 115280724A CN 202180024769 A CN202180024769 A CN 202180024769A CN 115280724 A CN115280724 A CN 115280724A
- Authority
- CN
- China
- Prior art keywords
- event
- events
- data
- memory
- random number
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000015654 memory Effects 0.000 claims description 147
- 230000006854 communication Effects 0.000 claims description 100
- 238000004891 communication Methods 0.000 claims description 98
- 230000002829 reductive effect Effects 0.000 claims description 39
- 230000007704 transition Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 12
- 238000012790 confirmation Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 235000000421 Lepidium meyenii Nutrition 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 235000012902 lepidium meyenii Nutrition 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005923 long-lasting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3082—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提出了一种用于处理数据异常的方法,特别是在机动车辆中,其中用于识别异常的至少一个传感器(24、26、28)获得数据(211),其中所述传感器(24、26、28)检查所获得的数据(211)是否存在异常,在识别出异常时根据相关联的数据(211)生成事件(220、221),其中随机判定是否对所述事件(220、221)进一步处理,特别是存储和/或至少部分地进一步传送。
Description
技术领域
本发明涉及一种用于处理数据异常的方法,特别是在机动车辆中。
背景技术
DE 102018209407 A1已经公开了用于处理通信网络中、特别是机动车辆的通信网络中的异常的设备和方法。至少一个检测器分析通信网络中的数据流,其中如果数据流中数据包的至少一个参数偏离额定值,则所述至少一个检测器通过基于规则的异常识别方法识别至少一个异常,其中所述至少一个检测器经由通信网络发送关于至少一个识别出的异常的信息。
特别是在识别出异常或事件时协议、历史记录或报告(日志记录)的自动创建应当在事件发生率高和/或长时间攻击的情况下进行,而不会超载和拒绝对应的服务。日志记录或对应事件报告的条目应当是真实的、完整的和可用的。如果可能,应当为攻击者创建关于完整(长时间持续的)攻击的非确定性历史记录。应当避免由攻击者进行的操纵以及特别是删除。在控制设备之外,应当保护日志记录条目免受未经授权的分析。日志记录器应当可靠地发送事件报告,例如经由至外部节点的接口。在向外部节点成功传输之后,可以在本地删除事件条目,特别优选地在接收实例进行了特别是经过认证的确认之后。此外,日志记录器应当发送所谓的心跳信号,所述心跳信号显示网络连接。事件的累积应当可行,以减少要处理的日志记录条目的数量。
在正常运行条件下,事件(Events)不会被触发或很少被触发,例如以每小时一个事件的数量级。在最坏的情况下,攻击者可以完全控制接口,特别是以太网接口。在例如100Mbit的全带宽下,攻击者每秒最多可以发送128000个UDP(User Datagram Protocol,有用数据报协议,一种网络协议)帧。每个这样的帧都可能触发一个事件(在数据流中识别出异常)。假设这样的攻击以在车辆的生命周期内一次攻击的频率发生。存储器、特别是闪存的所谓写入周期的允许数量是有限的并且必须加以考虑。同样,有效运行小时的数量也受到限制。同样,上级外部数据日志记录器的可用性也受到限制。因此,必须缓存对应的日志记录事件或事件报告。所有日志记录条目或事件报告都应当能够每天至少一次传输到上级数据日志记录器。
对于传统的IDS或IDPS系统(Intrusion Detection System,入侵检测,用于自动识别对计算机网络或计算机接口的攻击的系统;或IDPS:Intrusion DetectionPrevention System,在识别出入侵企图的情况下不会转发对应的数据,并由此阻止入侵企图)而言,嵌入式系统的确定性行为和有限资源通常是有问题的。
相反,期望能说明一种用于识别异常的改进方法。该任务通过独立权利要求的特征来解决。
发明内容
这通过根据独立权利要求的特征的方法来实现。
通过随机判定是否对所述事件进一步处理,特别是至少部分地存储在存储器中和/或特别是减少,可以以攻击者无法理解的方式进一步隐藏对所述事件的处理。由此对于攻击者而言以非确定性的方式选择事件。由此进行了事件的减少。由此简化了对所选择的事件的进一步处理。
在一种适宜的扩展中规定,使用随机数和/或随机数范围、特别是车辆特定的和/或控制设备特定的随机数进行随机判定。由此确保了非确定性的异常减少行为。即使在一个车辆中随机数公开的情况下,所获得的知识也不能转用于另外的车辆。通过在车队中使用不同的随机数,确保为每个车辆选择不同的事件。在发生车队攻击的情况下,这提高了数据多样性,并使得能够对攻击进行更广泛的评估或完全重建。
在一种适宜的扩展中规定,待进一步处理的事件至少部分地存储在存储器中,特别是易失性存储器或缓冲存储器和/或非易失性存储器中。在与上级单元没有连接或变换为其他系统状态的情况下,可以在本地保存事件。这也可以通过持久的存储器来进行。
在一种适宜的扩展中规定,根据所述存储器的填充水平来选择待进一步处理的事件。由此,当存储器的填充水平低时,可以比存储器的填充水平高时选择更多的事件。由此可以防止存储器溢出。此外还确保了对攻击的整个持续时间的整体了解。由此可以补偿系统限制或临时限制,例如与上级实例的连接或数据速率有关的限制。这是一种自调节的系统。例如,如果缓冲器的填充水平再次降低,则再次选择更多事件。为此特别适宜地规定,从其中随机选择待进一步处理的事件的事件的数量或偏移量取决于所述存储器的填充水平,特别是当存储器的填充水平低时从少量事件中选择待存储的事件。特别适宜地规定,所述存储器包括至少两个存储区域,向每个存储区域分配不同数量或偏移量的事件,从这些事件中随机选择待存储的事件。
在一种适宜的扩展中规定,根据随机数的范围随机选择待进一步处理的事件。由此,通过访问不同的区域可以特别有效和长期地使用随机数。随机数位的消耗低。随机数的待考虑范围与缓冲器的填充水平直接相关。由此得出更简单、更有效和更快的处理机制。特别适宜地规定,首先选择随机数的临时范围,将基于所述临时范围的随机数与相关联的偏移量进行比较,以及如果基于所述临时范围的随机数大于偏移量,则将所述临时范围减少一个区段并用作随机数的范围,特别是通过省略高有效位。这以特别简单的方式有助于随机数的最佳使用。特别适宜地规定,所述临时范围被减小的区段是下一个临时范围或下一个范围的一部分。
在一种适宜的扩展中规定,所述随机数周期性地重新生成和/或根据特定的系统事件重新生成,所述特定的系统事件例如是系统状态的转换,例如复位、启动、转换到睡眠模式等。由此进一步增加了装置的安全性。
在一种适宜的扩展中规定,为事件确定事件类型,对于具有已在先前事件中出现的事件类型的事件,随机判定是否对所述事件进一步处理。由此对于攻击者而言以非确定性的方式选择事件,但事先总是可靠地选择事件的第一次出现。
在一种适宜的扩展中规定,设置用于识别异常的多个传感器,每个传感器获得来自不同数据源的数据,特别是通信系统和/或主机或微控制器,其中每个传感器检查所获得的数据是否存在异常,在识别出异常时根据相关联的数据产生事件,并将所述事件转发给事件管理器。由此可以在上级层面评估不同的数据源并在事件报告的范围中汇总。
特别是通过随机选择待进一步处理或待选择的事件,去掉了确定性的并因此对攻击者而言可预测的行为。同样,随机的预选择,例如通过随机选择待转发的有用数据区域,也有助于进一步的安全性。也可以为用于发送事件报告的数据交换始终配备不断改变的变量,从而攻击者无法推断出传送的数据类型,特别是在进一步加密的情况下。正是通过待进一步处理事件的特定选择或优先级设置,防止在出现大量事件时存储器的溢出导致无法记录重要事件。这可以以特别有效的方式实现,特别是通过根据存储器的填充水平选择待进一步处理的事件。特别优选地,在存储器的填充水平低时比在存储器的填充水平高时选择更多的事件。特别优选地选择至少一个第一次事件(关于特定事件类型),从而可以概览所有事件类型的出现。此外,设置事件计数器是有利的,因为可以用很少的存储器耗费收集附加信息,例如所有出现的事件的数量和/或相应不同事件的数量。此外,可以向事件类型分配特定的优先级组,从而较高优先级组中的事件与较低优先级组中的事件相比更频繁地被选择。
附图说明
其他有利的设计由其他从属权利要求以及以下描述和附图得出。在附图中
图1示出了异常识别的示意性组件,
图2示出了接收到的数据的示例性结构或交互、从所述数据导出的事件的示例性结构或交互、相关联的所选择的事件的结构以及事件报告,
图3示出了事件管理器的更准确结构,
图4示出了用于选择待进一步处理的事件的流程图,
图5示出了计数器递增的流程图,
图6示出了非易失性存储器的存储的流程图,
图7示出了随机选择待存储事件的示意概略图,
图8示出了图7中使用的特定变量的分配,
图9-图14示出了在事件管理器、通信适配器、另外的IDS实例和后端之间的不同通信流程。
具体实施方式
结合以下讲述的方面,下面将与正常行为的偏差称为异常,所述偏差由于各种原因在真实运行中可能在特别是联网的系统的数据211(例如通信系统的数据或系统数据)中出现。造成这种情况的原因可能例如是以下类型:有缺陷或完全失效的传感器提供错误的数据或根本不提供数据,系统部件损坏,系统受到外部攻击、本地攻击或物理攻击(例如黑客攻击)的操纵。
识别数据211中的异常是借助于所谓的入侵检测系统IDS或IDPS来实现的。下面,IDS表示监视数据211的异常的系统。所述数据例如可以是在通信网络中的数据连接时的数据211,诸如网关的控制设备20经由该通信网络在不同的通信信道上进行通信(例如经由诸如25的总线系统或互联网27)。然而,其他数据211,例如控制设备(或布置在控制设备中的主机29或微控制器或处理器或在芯片内)内的系统数据也应由该IDS系统检查异常。检测数据211的异常由合适的传感器24、26、28进行。传感器24、26、28与数据211的相应来源(在实施例中是总线系统25、27或主机29)相适配。
根据图1,诸如网关20的控制设备布置在车辆18中。控制设备或网关20包括(多个)处理器、存储器、工作存储器(例如作为主机系统29的组成部分)和用于经由通信网络进行通信的接口。网关20例如处理用于数据连接的指令。通过该通信产生数据包形式的数据211。在主机29的运行期间也产生数据211,例如系统数据。在正常状态下,遵守例如关于接收方地址和目标地址、是否符合正确的程序流程(例如对于主机29)、时间戳、特定数据包的数据211的出现频率或频率的额定值。数据包的数据211在车辆18中未详细示出的另外的控制设备或组件之间交换以完成特定任务。网关20用于将诸如CAN总线25、以太网连接27以及数据连接的多个通信系统或接口耦合到主机系统29,主机系统29是控制设备20或网关的组成部分。然而,其他通信系统(例如另外的有线总线系统,如LIN、CAN-FD等)或无线网络(例如WLAN或蓝牙)可以通过网关20相互耦合以进行数据交换。通常,在控制设备中使用入侵识别IDS或异常识别来监视所有数据211(通过通信系统接收的数据211以及在控制设备20内由主机29生成的数据211)是否存在对应的异常。在实施例中,示例性地针对网关20描述IDS功能机制。然而,通常,所描述的异常识别或入侵识别IDS的功能可以在任何控制设备或任何电子组件中实现。特别地,该使用不限于车辆18。相反,任何通信组件,例如互联网(物联网)中或在联网的生产系统中的通信模块可以配备所描述的功能。
诸如控制设备或网关20的通信组件包括至少一个异常识别22。经由相应通信系统25、27、29的接口输入的数据211分别经由所谓的用于识别异常或识别入侵的传感器24、26、28(简称IDS传感器)引导。从而在网关20中布置了对应的传感器24、26、28。这样的传感器24、26、28用于识别所获得的数据211是否显示异常。为此,在传感器24、26、28中存储了对应的过滤算法或规则集,用于对异常进行检测和分类。如果传感器24、26、28确定了异常,则将数据211的对应数据包分类为事件220(企图入侵)。通常,根据来源25、27、29,传感器24、26、28可以将不同的异常分类为事件220(将相应的事件220分配给特定事件类型218)并识别这些异常。根据相应的事件类型218(数据211中的不同的异常类型),传感器24、26、28将特定的事件相关元数据216汇总为相关联的事件220。此外,事件相关元数据216还可以包含异常数据211的数据或数据组成部分。以这种方式生成的事件220被转发到事件管理器30。传感器24、26、28通常被设计为在没有异常的情况下将通信系统(例如总线系统25、27)的相关联数据211转发到指定地址。在识别出异常的情况下,传感器24、26、28可以被设计为不将通信系统(例如总线系统25、27)的相关联数据211转发到指定地址。替代地,传感器24、26、28也可以用于减少事件220(减少的事件或预减少的事件221)。通过这种减少可以减轻事件管理器30的负担,其方式是例如仅转发包含异常的数据211或数据包的一小部分有用数据。这在大量数据的情况下特别有利,如在以太网连接时出现的那样。
从而例如IDS CAN传感器24用于识别CAN总线25情况下的异常,IDS以太网传感器26用于识别以太网系统27情况下的异常,IDS主机传感器28用于识别主机系统29情况下的异常。根据不同的通信路径和通信协议,还可以设置另外的IDS传感器,它们能够检测相应来源中的异常或异常来源并在必要时分类。
IDS CAN传感器24检测相关联事件类型218的相关事件220,例如无效CAN-ID、无效消息频率、无效消息长度等。IDS以太网传感器26针对以太网27检测相关联事件类型218的相关事件220,例如无效地址或MAC地址、无效消息频率、无效消息长度等。IDS主机传感器28针对主机系统29检测相关联事件类型218的相关事件220,例如无效代码执行、程序损坏、堆栈计数器等。相应事件类型218通常设置有事件特定的事件ID。对于具有相关联的唯一事件ID的不同数据来源,存在大量预定义的事件类型218。
下面的另外的异常可以作为事件220考虑用于另外的事件类型218。例如,这些是可以分配给防火墙的事件220或事件类型218,例如由于缓冲存储器已满而导致帧丢失、过滤器违规(无状态/有状态)、传输速率限制有效或无效,监视模式激活或停用、上下文变换。涉及主机系统29的另外的异常也可以被考虑作为事件220,具有相关联事件类型218,例如CPU负载太高、存储器访问违规、代码执行时的错误、检测到ECU复位、非易失性存储器中的日志条目损坏、日志记录存储器溢出、事件的拒绝、MAC地址端口更改等。
事件管理器30用于进一步处理输入的事件220或包含在相应事件220中的事件相关元数据215。特别地,事件管理器30用于对事件220进行聚合、格式化或制备以及/或对事件220进行优先级设置和/或减少/选择和/或存储或保持或永久存储选择的和/或减少的事件220、221。特别地,事件管理器30判定应当进一步处理哪些输入的事件220。从输入的事件220中选择的事件被称为所选择的事件226。对应的选择应当尽可能非确定性地进行。此外,事件管理器30特别优选地为输入的事件220或所选择的事件226设置另外的通用元数据217。由此可以在更高级别观察由不同传感器24、26、28传送的事件220,其方式是例如在通用元数据217的范围中添加出现的事件的数量、相关联的时间戳或时间信号224等。此外,确保即使在所谓的事件突发的情况下也可以将足够多的有说服力的事件220存储为所选择的事件226。
事件管理器30与入侵识别或异常识别的通信适配器32交换信号。通信适配器32用作用于在事件管理器30与控制设备或网关20的异常识别22之外的另外的组件34、36之间交换数据的通信装置。具体地,通信适配器32用作用于在事件管理器30和另外的IDS实例34(优选在车辆18内)和/或后端36(优选在车辆18外)之间交换数据的接口。另外的IDS实例34可以仅可选地设置。
为了提高安全性,事件管理器30可以对事件220、221进行随机的、对于攻击者来说非确定性的并且是隐藏的减少和优先级设置。从而可以随机地、对于攻击者来说非确定性地并且隐藏地进行所选择的事件226的非易失性存储。随机控制的选择例如可以基于特定控制设备单独的随机数273。同样,事件管理器30还可以随机地存储事件计数器204的计数器读数231。除了事件相关元数据216之外,事件管理器30还将添加的通用元数据217随机地存储为所选择的事件226。
为了提高安全性,通信适配器32可以将事件报告242随机地、对于攻击者而言非确定性地和隐藏地上传或发送到其他IDS实例34。随机控制的上传例如可以基于特定控制设备(或网关20)单独的随机数273。从而可以在事件报告242的范围中周期性地和加密地传输特定事件220。然而,即使没有新事件220,所谓的虚拟事件也可以以事件报告242的格式周期性地和加密地传输。这用于防止通信适配器32和另外的IDS实例34或后端36之间的数据交换遭到窃听或随机的隐藏。
结合图2示例性地示出了在识别出异常的情况下如何由传感器24、26、28进一步处理数据211并且发送到事件管理器30,直到该事件管理器经由通信适配器32发送事件报告242。
在图2a中示例性地示出了数据211的数据包,所述数据例如可能出现在网络帧(例如CAN、以太网)中。数据211具有包括例如源地址和目标地址(例如MACa、MACb)的报头214。此外,数据211包括有用数据213。
如下面更详细讲述的,传感器24、26、28可以可选地随机选择转发给事件管理器30的有用数据区域219。传感器24、26、28已经确定这是根据特定事件类型218(事件ID,ID)的异常。因此,传感器24、26、28生成如图2b所示的事件相关元数据216。根据事件类型218(或ID),可以在事件相关元数据216中存储异常的不同信息。在实施例中,作为事件相关元数据216尤其是使用源地址和目标地址(MACa、MACb)、事件类型218和所选择的有用数据区域219。
替代地,也可以将事件相关有用数据213在事件220的范围中完整地转发给事件管理器30。
替代地,事件220也可以不包括事件相关有用数据213,例如当主机29被用作来源时。这可以是事件类型218,例如关于由于缓冲器已满而丢失数据帧、观察模式的激活或停用、CPU上的负荷太高、非易失性存储器208中的条目损坏、日志记录缓冲器溢出、事件减少是有效的等等的信息。
此外,对于不同的事件类型218,在事件相关元数据216范围内的另外的事件相关信息可以是事件220的组成部分。在事件类型218“上下文变换”的情况下,事件相关元数据216例如可以包括上下文,例如32位大小的上下文。在事件类型218“存储器访问违规”或“执行代码时违规”的情况下,事件相关元数据216例如可以包括访问地址(例如,32位)、程序计数器(例如,32位)、任务ID(例如,8位)。在事件类型218“检测到控制设备复位”的情况下,事件相关元数据216例如可以包括复位的原因(例如8位),例如POR(返回点)、软件复位、例外等。
下面的以太网相关事件220可以记录为事件相关元数据216,例如静态/状态相关的过滤器违规(特定规则ID或特定事件类型218的ID,例如16位)、导致事件220的过滤器规则的ID(如果可用)、物理端口地址、经由其获得帧的物理端口ID、源地址(例如MAC地址,例如48位)、目标地址(例如MAC地址,例如48位),来源或目标的可能IP地址、UDP/TCP端口的指定(例如16位,如果帧中存在,可选)。替代地,也可以一起记录静态/状态相关的过滤器违规,例如规则ID、物理端口、帧(字节数)、存储接收帧的特定字节数、选择的有用数据区域219(特定字节数)、原始帧的字节的选择的有用数据区域219、有用数据区域219-索引(例如16位)、原始帧中选择的有用数据区域219的起始字节。另外的以太网相关事件也可以包含在传送给事件管理器30的事件220中,例如对于事件类型218“传输速率受限(有效/无效)”是具有导致事件220的过滤器规则的相关联ID的规则ID,对于事件类型218“更改上下文”是上下文(例如32位),对于事件类型218“地址跳跃”或“MAC跳跃”是旧端口(最初分配给地址的物理端口ID)、新端口(最近观察到地址的物理端口ID)、地址(优选MAC地址)。然而,也可能出现没有元数据216的事件类型218,例如“由于缓冲器已满而导致帧丢失”等。
因此,事件相关有用数据213的转发特别是取决于具有相关联事件类型218的数据211的来源。元数据216作为事件220或减少的事件221(由于依据随机的选择或减少传感器24、26、28中待传输的有用数据区域219)而被传输到事件管理器30。
如果事件管理器30选择该事件220、221以进行进一步处理(所选择的事件226),如下文更详细解释的,则还将通用元数据217添加到事件相关元数据216,从而产生图2c中所示的元数据215。所述通用元数据217通常在事件管理器30中生成。这例如是事件计数器204的输出信号,即当前计数器读数231,是有多少全局事件220或是当前事件220是多少具有特定事件类型218的事件。此外,通用元数据217可以包括例如关于该事件220何时出现的时间信号224。此外,元数据217可以包括事件相关元数据216或完整元数据215所具有的长度232(数据的大小)。这对于以后缓冲存储器206的存储器管理是有利的。
示例性地提出下面的通用元数据217。这例如可以是在事件ID(例如8位)范围中的事件类型218。事件类型218的这个事件ID是唯一的并且可以例如包括基于TLV的编码(TLV:Type-Length-Value,类型长度值)。通用元数据217包括长度232,例如大小在8到16位之间。数据(元数据215)的大小遵循以字节为单位的长度字段,最多255个字节。又可以设置基于TLV的编码。还包含时间信号224,即时间戳(例如,64位)。例如,以自从诸如1970年1月1日的参考时间点以来经过的绝对时间值(以毫秒为单位)的形式来说明时间224,以说明唯一的时间戳。此外,通用元数据217可以包括事件类型计数器204的计数器读数231或输出值231(例如32位)和/或全局(事件)计数器204的计数器读数231(例如32位)、每个事件类型218的事件计数器204的所有计数器读数231之总和。
事件相关元数据216以相应传感器24、26、28形成它们的形式被接管。具有既由传感器24、26、28又由事件管理器30形成的对应元数据215的该事件220存储在事件管理器30的缓冲存储器206中。以类似的方式,由事件管理器30选择或减少的另外的事件226(在根据图2d的实施例中示例性地表示为215_1、215_8、215_190)存储在缓冲储存器206中,如下面还要详细解释的。
从存储在缓冲存储器206中的所选择的事件226(在根据图2d的实施例中示例性地表示为215_1、215_8、215_190(元数据215事件编号1、元数据215事件编号8、元数据215事件编号190)作为所选择的事件226的示例)中,现在生成事件报告242。该事件报告包括存储在缓冲存储器206中的所选择的事件226(在该示例中为215_1、215_8、215_190)。这些所选择的事件226之前是相对于每个事件报告242已改变的变量254(例如随机数、时间或计数器等)。此外,事件报告242还包括认证信息256。通过该认证信息可以在通信适配器32或事件管理器30与接收事件报告242的单元(IDS实例34、后端36等)之间进行认证。事件报告242包括固定长度258。为了实现这个固定长度258,数据254、215_1、215_8、215_190、256仍然填充有所谓的填充数据255。这些填充数据255不包含与事件相关的信息。如图2d所示,在传输之前,事件报告242中所示出的数据设置有加密258。以这种方式通过加密258加密的事件报告242由通信适配器32发送,并且由另外的IDS实例34或后端36解密和认证,如所描述的。
IDS传感器24、26、28将事件220或减少的事件221转发给事件管理器30。正是在以太网网络中,在攻击企图的情况下,当有大量具有大数据量或事件相关元数据216的待转发事件220时,存储器206、特别是易失性存储器或缓冲存储器206可能很快就不能再容纳所有事件220。这是由于高数据传输速率或可以传输的数据量很大。因此,有意义的是一个或多个IDS传感器24、26、28已经根据特定标准对待转发事件220和/或数据减少(减少的事件221)进行预选。这些标准应具有可预测性低的特点。
在IDS传感器24、26、28的情况下,特别是在IDS以太网传感器26的情况下,优选为了增加安全性随机控制地选择特定的待转发事件220和/或将事件减少为减少的事件221。对特定事件220或以太网帧的数据块的随机或任意选择或减少对于攻击者来说是非确定性的和隐藏的。随机控制的选择或减少例如可以基于特定控制设备单独的随机数273。在最简单的情况下,相同的随机数273也可以用于其他基于随机的场景,作为事件管理器30中的参考用于所有事件220的减少或优先级设置、事件220的随机存储等。替代地,也可以又在控制设备中重新生成对应的随机数。
输入的消息或数据211通常具有对应的报头信息214(例如特定的地址数据)和随后的有用数据213。通常包含许多对于异常评估并非绝对必要的报头信息。根据本发明,仅将绝对必要的特定地址部分作为减少的事件221的组成部分在事件相关元数据216的范围中转发,例如来源的地址(例如MAC地址,例如48位)、目标的地址(例如MAC地址,例如48位)和导致了异常(事件类型218)的ID号。其他信息——例如可能是已接收到帧的物理端口或端口ID、来源或目标的IP地址、有关来源或目标的UDP/TCP端口的说明(如果这样的信息包含在帧中)——不需要或不需要完整地在事件220中传输。
然而,待转发或选择的有用数据区域219是从输入的数据211的有用数据213中随机选择的,如已经结合图2a和2b解释的。从而例如可以随机设定开始数据的编号(有用数据的待传输存储区域的开始,例如字节编号xyz)(例如传输其初始值随机确定的数据区域,例如对于该事件220是有用数据字节编号538)。选择的有用数据区域219的偏移量(传送的数据的数量,例如10个字节)可以固定选择。由此,除了最小地址信息(源地址、目标地址)之外还将编号为538-547的有用数据字节作为选择的有用数据区域219在以这种方式减少的事件221的范围中转发给事件管理器30。替代地,选择的有用数据区域219的偏移量(传送的有用数据的数量)也可以改变,优选随机地改变。优选地,选择的有用数据区域219、特别是选择的有用数据区域219的起始区域或结束区域取决于随机数273。该随机数273特别优选地取决于控制设备或网关20。特别优选地,随机数273是唯一的,即对于这个特殊的控制设备仅给定一次。
然而,可选地,也可以更新随机数273。由此产生以下优点。通过更新随机数,在攻击序列(事件220序列)相同的情况下记录或选择不同的事件220。当攻击仅针对单个控制设备/车辆18而不是针对整个车队时,也是这种情况。以下假设/示例:
1.多次重复相同的攻击序列(事件220序列)
2.在攻击序列之间更新随机数273
3.在一个攻击序列的范围中不能记录或选择所有事件220(事件突发)。随后是针对事件报告242的事件减少
4.具有减少的事件221的事件报告242在两个攻击序列之间被完全转发给上级实例34、36。由此在多次重复相同的攻击序列之后,可以通过事件报告242重建完整的攻击序列。
传感器26可以优选地使随机数273的选择或使随机数273的不同区域适配于输入的数据211的大小,特别是适配于输入的有用数据213的大小。如果有用数据213具有较小的数据区域,则随机数273必须被选择为使得特定的减小的有用数据区域219的选择也仅落入有用数据213的这个小数据区域内。因此,随机数273或所考虑的随机数273的区域必须相应地小。然而,如果输入的有用数据213具有非常大的数据区域,则随机数273或所考虑的随机数273的区域必须选择得如此之大,以致于特定的减小的有用数据区域219的选择也可以覆盖有用数据213的这个大数据区域。因此,随机数273相应较大。
通过为相应的控制设备20唯一地给定随机数273,在另外的控制设备存在的情况下,在后端36中进行分析时通过合并来自多个控制设备的许多减少的事件221,可能组合出具有完整数据区域的完整消息(也到达另外的控制设备并且在那里也被对应配备的传感器26对应地检测和以减少的方式转发)。这是因为如所述那样具有相同传感器功能的其他控制设备现在也随机选择其他有用数据区域219(具有其他随机选择的开始或结束地址),这些其他有用数据区域在合并多个减少的事件221之后可以基于不同控制设备的子区域或选择的有用数据区域219来覆盖(有用)数据区域213的大部分或有用数据213的整个数据区域。从而可以由不同的控制设备从减少的事件221或选择的有用数据区域219中重建事件220,其方式是例如提供来自一个控制设备的(一个选择的有用数据区域219的)子数据区域538-547,来自另外的控制设备的(另外的选择的有用数据区域219的)子数据区域548-557,来自另外的控制设备的(另外的选择的有用数据区域219的)子数据区域558-567,并且例如在上级控制设备中或在后端36中将相应选择的有用数据区域219再次组合为完整的(有用)数据区域213。特别是在对整个车队进行所谓的广播攻击或对部分车队进行所谓的多播攻击的情况下就是如此。
优选地在特定事件(周期性地、控制设备的启动、控制设备的复位等)之后重新随机确定转发的或选择的有用数据区域219的开始和/或结束。为此,例如可以重新产生随机数273。替代地,可以使用随机数273的其他范围来生成待转发的数据区域或选择的有用数据区域219的开始和/或结束。
将经过处理的减少的事件221从传感器26转发到事件管理器30。因此,事件管理器30未从该传感器26获得这些网络帧的完整数据流,而是仅获得具有减小的数据大小的减少的事件221。基于IDS以太网传感器26示例性地描述待转发事件221的减少。然而,原则上这也可以在其他IDS传感器24、26、28中实现。然而,由于具有高传输速率的以太网帧中的高信息含量,正是这样的事件220将迅速导致缓冲存储器206溢出。在IDS CAN传感器24的情况下,对应的数据211无论如何以较低的数据速率和较小的数据量出现,从而这里可以转发和存储趋于完整的事件220。然而,原则上,数据也可以在那里减少,如对应描述的那样。
因此,原则上进行以下用于减少传感器24、26、28中的事件220的步骤。从传感器24、26、28接收数据211和/或评估数据211以确定是否存在异常。如果存在异常,则减少数据211。通过减少地址区域或报头214和/或数据区域或有用数据213来进行所述减少。地址区域214的减少可以通过选择目标地址和/或源地址来进行。有用数据213的减少随机进行。通过随机选择有用数据213的子区域的开始值和/或结束值来随机地减少有用数据213。数据区域的偏移量(传送的数据的数量)被设定为特定值。将减少的事件221传送到事件管理器30。减少的事件221包含减少的地址数据和/或减少的或选择的有用数据219。随机数273的更新根据特定系统状态(周期地、启动、复位等)来进行。替代地,随机数273的更新可以随机地和/或由时间控制地进行。用于指定选择的有用数据区域219的开始区域或结束区域的随机数273或随机数273的范围可以取决于接收数据211的有用区域213的大小。
根据图3,更详细地示出了事件管理器30的结构。事件管理器30具有多个相互交互的功能块。由传感器24、26、28检测到的每个事件220或减少的事件221到达块202。块202用于选择应当进一步处理的输入的事件220或减少的事件221。特别地,块202用于对事件220、221进行优先级设置和减少。
每个事件220或每个减少的事件221也到达块204,该块204用作事件220、221的计数器204。在出现事件220、221时,将对应的计数器递增,特别是全局事件计数器205。计数器204特别优选地具有用于不同事件类型218(ID1、ID2、...IDn)的不同计数器Z1、Z2、...Zn,如上文结合对应的传感器24、26、28详述的。全局事件计数器205又表示针对不同事件类型218(ID1、ID2、...IDn)的计数器Z1、Z2、...Zn的全部计数器读数之总和。块204或计数器的输出信号231包含全部事件220、221的计数器读数,即相应事件相关计数器Z1、Z2、......Zn和全局事件计数器205的计数器读数。将块204的对应输出信号231输送给块210以传送事件220。块204被设置为接收复位信号222,该复位信号表示对一个或多个计数器或事件计数器204、205的复位请求。块204从块202获得针对减少状态225的信号,例如“事件减少有效”。在块202中,例如当仅减少了数量的特定事件220、221作为所选择的事件226被进一步处理时,事件减少是有效的。特别是当例如在所谓的事件突发的范围中输入了大量事件220、221并伴随着缓冲存储器206的填充水平228增加时就是这种情况。在这种情况下,应当生成附加事件220,例如使用如上所述的事件类型218“事件减少有效”。于是对于具有相关联事件类型218的该事件220',同样存在对应的计数器或计数器读数。
由块202处理的事件作为所选择的事件226到达块206,块206用作从块202输送的所选择的事件226的存储器或缓冲存储器,并且包括用于此的对应逻辑。作为回应,存储器206将填充水平或存储器占用228报告回块202。存储器206优选地是易失性存储器,特别是RAM的缓冲存储器。此外,时间信号224、特别是全局时间信号224到达存储器206或到达用于缓冲所选择的事件226的块。存储器206是事件管理器30的组成部分。
在存储器206中存储或缓冲的特定事件236到达块210,块210用于根据所选择的事件226或所存储的事件236来传送事件报告242。用于传送事件的块210还获得事件计数器204的输出信号231,例如针对相应事件类型218的计数器Z1、Z2...Zn的计数器读数和/或全局事件计数器205的计数器读数。用于传送事件、特别是事件报告242的块210与密码模块212交换信号244。该密码模块执行密码操作,如加密操作、验证和认证操作以及随机数生成等。借助于密码模块212可以进行块210向外部的加密通信。特别地,密码模块212使用图2d中示出的加密257对事件报告242进行加密。同样,密码模块212还可以使用认证信息256来对事件报告242进行认证,同样参见图2d。块210可以驻留在通信适配器32和/或事件管理器30中。块210输出对应的事件报告242。块210接收请求读出存储在存储器206、208中的对应事件236的请求命令240。请求命令240可以周期性地进行和/或响应于明确的请求进行。此外,块210向存储器206发送信号239(事件释放)。由此一般在成功传输了还包含所存储的事件236或所选择的事件226的相关联事件报告242之后,通知存储器206或208允许覆盖或删除所存储的以及进一步传送的事件236、226。
此外,在事件管理器30中还设置了另外的存储器208,特别是非易失性存储器。在另外的特别是非易失性存储器208中永久存储曾缓存在缓冲存储器206中的特定事件234和/或事件计数器204的计数器读数。为此,存储器208与事件计数器204和/或与缓冲存储器206交换数据。
下面基于图4更详细地描述块202用于对事件220进行优先级设置和减少的工作方式。下面描述的机制用于选择是否应当存储对事件220、221额外有帮助(并且占用大量存储器)的元数据215。进一步概括地,块202用于从输送给事件管理器30的事件220、221中选择待进一步处理的事件作为所选择的事件226。对于获得的事件220、221的每个事件类型218,跟踪它是否是该特定事件类型218的第一次出现或者是否已经将具有该事件类型218的事件220发送给存储器或缓冲器206;即查询301。如果事件类型218是第一次出现,则接下来是块304,其中将相应的事件220作为所选择的事件226传输到缓冲器206并存储在那里。否则,接下来是块302。在步骤302中,根据特定标准判定是否仍应当存储关于事件类型218已经出现的事件220、221。这例如在随机选择了事件220、221、特别是基于随机数273选择了事件220、221之后进行。该随机选择可以特别优选地基于控制设备特定的或车辆特定的随机数273。应当使用智能算法来进行随机选择,以限制在最坏情况攻击场景(具有所谓的事件突发的长时间攻击)中缓冲存储器206的溢出。另一方面,应当保留在正常场景中合理数量的所存储的事件236或所选择的事件226或日志条目,以便在整个攻击期间检测尽可能广泛的范围。为此,在步骤303中,将在步骤302中选择的事件220作为所选择的事件226传送到存储器206以进行存储。
因此,如果现在根据步骤302根据随机标准选择事件,即查询303,则该事件220、221也作为所选择的事件226发送到存储器206,即步骤304。否则,程序流程结束而不在存储器206中存储该事件220、221或者不额外存储针对事件220的另外的元数据215。当存储器206已经被读出并且经由块210通知时,对事件类型218的第一次出现的监视进行复位。如果事件220、221没有被选择或遭到丢弃,则针对每个丢弃的事件220、221触发状态“事件被拒绝”。为此特别优选地设置检测未选择的事件220的数量的另外的计数器204。
对于附加的优先级设置,可以可选地根据相应的事件类型218对事件220、221进行分组,并且可以设置用于针对每个事件类型218随机减少事件的单独实例。也可以通过形成组来额外地实现优先级设置。这意味着将事件类型218分配给不同的优先级组。向具有最高优先级(Prio 1)的优先级组分配特定的事件类型218(例如,具有ID号ID1、ID6、ID14、ID23等的事件类型218),向具有下一个较低优先级(Prio 2)的优先级组分配相关联的另外的事件类型218(例如,具有ID号ID2、ID5、ID12、ID27等的事件类型218),向具有下一个较低优先级(Prio 3)的优先级组分配相关联的另外的事件类型218(例如,具有ID号ID3、ID9、ID13、ID19等的事件类型218)等。对于不同的优先级组(Prio1、Prio2、Prio3、...),平均随机选择不同数量的事件220作为所选择的事件226(N1:优先级组1(Prio1)的所选择的事件的数量,Nx:优先级组x(Prio_x)的所选择的事件的数量)。在具有高优先级的优先级组中,平均随机选择比在具有低优先级的优先级组中(N1>N2...)中更多的事件220。这可以例如通过以下方式实现,即从中选择事件220的区域B1、B2...Bx(具有相关联的优先级组Prio1、Prio2...Prio_x)或数字选择得越小,优先级就越高(B1<B2...)。
所选择的事件226存储在易失性存储器206中。然而,所选择的事件226不应立即存储在非易失性存储器208中,因为太频繁地存储可能损坏非易失性存储器208。例如结合图6更详细解释的,所选择的事件226可以随机地存储在非易失性存储器208中。
一个或多个存储器206、208可以处理具有不同大小的所选择的事件226。这里在图7中示例性地示出了存储器206。该存储器包括空闲存储区域250和填充过的存储区域252。在填充过的存储区域252中,存储了多个所选择的事件226或226。这些条目226可以分别具有不同的大小。由于存储区域的非刚性划分,存储空间得到了最佳利用。如果存储器206已满,则丢弃新的所选择的事件226。然而,原则上,如下所述通过自调节机制禁止存储器206被填满。从而当存储器206的填充水平228非常高时,平均而言随机地选择比存储器206的填充水平228低时少得多的事件220。然而,如果所选择的事件226由于缓冲器206已满而被丢弃,则实现新事件类型218“日志记录缓冲器溢出(存储器206溢出)”的事件计数器,以确定丢弃的事件或条目的数量。如图3所示,这可以例如通过以下方式进行,即将存储器206的状态230通知给计数器204,或该信号230总是在另外的所选择的事件226由于存储器206已满而无法存储时发送脉冲给计数器204。
一旦所有存储的事件236或所选择的事件226在事件报告242的范围中成功地通过块210报告给了例如控制设备中的外部数据日志记录器,就释放缓冲器206以覆盖或删除对应的事件226(信号239释放事件)。将事件236特别是写入到诸如闪存的非易失性存储器208中可以有利地通过非AUTOSAR存储机制进行映射,以确保存储器效率和性能要求。但是,也存在使用标准AUTOSAR存储机制的可能性。
结合图5更详细地描述事件计数器204。对于每个事件类型218,在事件计数器204的范围中实现单独的计数器Z1、Z2...Zn。事件计数器204分别以零值开始。首先确定计数器读数是否仍小于最大值,即查询260。如果是这种情况,则在出现特定事件类型218的事件220、221时递增相应事件类型218的计数器Z1、Z2...Zn,即步骤262。否则,将计数器读数保持在最大值,因此不会出现溢出。可以根据请求将事件计数器204复位为零。例如,计数器204可以实现为32位计数器。
根据图6描述了事件计数器204和/或特定的所选择的事件226在非易失性存储器208中的非易失性存储。数据应当以规则的时间间隔存储到非易失性存储器208中。这样的时间间隔例如在秒、分钟到小时的范围内,例如数据每30分钟存储一次。应当随机地选择存储的时间点,以使攻击者无法预测写入行为。存储周期可以随机控制地例如以特定间隔(例如在30分钟内等,然而,在例如30分钟间隔内的准确存储时间点是随机控制的)进行。可以根据控制设备单独或车辆单独的随机数273来产生或选择随机变量(用于指定存储时间点)。
替代地,可以随机地选择由时间控制的存储时刻,其方式是将随机数乘以基本时间间隔。从而例如特定的基本时间间隔为15秒,该基本时间间隔乘以例如3位随机数或随机数273的随机数范围。随机数273本身可以周期性地和/或随机地更新。替代地,随机数273可以控制设备特定地或车辆特定地单独给定,例如在生产和制造中。替代地,可以选择随机数273的特定范围,在此基础上形成依赖于随机数273的范围的因子。
一旦新的所选择的事件226出现并且可以存储在非易失性存储器208中,就以非易失性方式存储所选择的事件226。此外,如果例如由于请求了复位或睡眠模式而出现了导致当前 RAM 内容的丢失(并且因此导致缓冲存储器206的丢失)的控制设备的状态变换(其也可能通过攻击者引起),则启动所选择的事件226(在存储器206中)和/或另外的信息(如事件计数器204的特定计数器读数232)在非易失性存储器208中的存储。
数据应当以冗余方式存储,以便即使部分数据损坏也可以进行恢复。在从非易失性存储器208读出后,应当检查或确保所存储数据的真实性和完整性。优选地,非易失性存储器208布置在可信任区域中。在此假设IC内部的存储器被归类为可信任的(Trusted)。为此可以使用标准AUTOSAR NVM(非易失性存储器)处理程序。
在图5中示例性地示出了用于将所选择的事件226存储在非易失性存储器208中的状态图。当达到该状态264时,原则上可以在状态264中将数据存储在非易失性存储器208中。在状态266中不能存储在非易失性存储器208中。从状态264到状态266的变换在执行了存储之后进行。变换回可以进行存储的状态264以时间控制的方式进行。优选地,时间是随机的,如已经描述的。当控制设备不准备休眠状态或复位时,系统保持在状态266(无存储)下。
图7示出了事件管理器30的组件的更准确图示。多个事件226存储在缓冲存储器或存储器206中并形成填充过的存储区域252。示例性地,事件编号2(226.2)、事件编号4(226.4)、事件编号8(226.8)、事件编号13(226.13)、事件编号25(226.25)、事件编号38(226.38)、事件编号77(226.77)和事件编号97(226.97)作为所选择的事件226存储在缓冲存储器206中。如下所述,这些所选择的事件226是根据特定的过程从一系列出现的事件220(编号0到例如200)中选择的,并且作为所选择的事件226存储在缓冲存储器206中。
缓冲存储器206的未填充区域或剩余区域形成空闲存储区域250。
所示出的存储器占用的对应填充水平228在实施例中由最后存储的所选择的事件226.97形成。缓冲存储器206的存储区域现在被划分为0到100%之间的多个区域267或填充水平区域267。在实施例中,这些例如是十个(填充水平)区域267.1-267.10。在实施例中,区域267总是被选择为相同大小,在实施例中这些是10%的间隔。在实施例中,存储器206正好具有当前区域267.4,即第四区域267.4,其在完全存储器占用的30%和40%之间。
在功能块268中确定存储器206的当前填充水平228所在的当前存储区域267.4。当前填充水平区域267(在实施例中用于第四区域267.4)到达块270。
在块270中确定下一个事件的偏移量271。偏移量271说明应当从多少个事件220中选择要存储在存储器206中的下一个事件226。事件220的这个数量(偏移量271)取决于相应的填充水平228或相关联的存储区域267,其中应当从所述事件220中特别是随机地选择要存储的下一个事件226。当填充水平228或存储区域267为低(存储器206的填充水平228比较低)时,更快地存储事件20,因此偏移量271比较小。随着填充水平228或存储区域267的增加,偏移量271增加,即存储更少的事件220或仅从较大的数量(偏移量271)中选择事件220。由此可以有针对性地延迟或防止存储器206的溢出。在偏移量271内,要存储的下一个事件226是随机选择的。对于每个偏移量271,总是只有一个事件220(在偏移量271内)被随机选择或存储。因此,通过根据存储器206的填充水平228来改变偏移量大小,随机地选择或存储平均而言更多或更少的事件220。因此,只要存储器206的填充水平228在特定范围227内,事件管理器30就总是从相同的关联偏移量271中选择待选择的事件226,直到填充水平228达到具有改变的、通常增加的偏移量271的下一个区域227。
如果离开由下限值或上限值定义的存储区域267,则可以增加或减少新区域的下一个偏移量271,例如增加特定倍数或减少特定除数。
示例性地示出根据图8的表格中的对应场景,该场景导致存储器206被占用,如图7所示。可以为不同的填充水平228或存储区域267示例性地选择偏移量271,如下面说明的。从而例如对于0和10%(267.1)之间的存储区域,偏移量271可以分配给2(从零到2,因此从三个事件220中进行选择),对于10%和20%(267.2)之间的存储区域分配给8(从0到8,因此从9个事件220中进行选择),对于20%到30%(267.3)之间的存储区域分配给32(从0到32,因此从33个事件220中进行选择),以及对于30%和40%之间的存储区域分配给128(从0到128,因此从129个事件220中进行选择),依此类推。例如,可以通过对应的因子(4)等来实现下一个存储区域267的偏移量271的对应增大。存储区域267和偏移量值271都可以自由配置,因此适配于各自期望的状况,例如存储器大小等。
在图7的后续块272中,现在应当根据填充水平228或存储区域267随机地(根据图7中示例性示出的随机数273)选择要存储的下一个事件220。在此必须确保偏移量271,即事件220的数量或要考虑的下一个事件220的范围——应当从中随机地选择要存储的相应事件220——可以由随机数273或随机数273的对应范围覆盖。根据相应的偏移量271,选择要考虑的随机数273的范围的大小。如果随机数273例如被位编码,如图7中示例性所示,则例如对于等于2的偏移量271(0-2)首先选择临时具有两位大小的随机数的临时范围273_temp。在偏移量271为8(0-8)时,选择4位大小的随机数273.x_v的范围x。在偏移量271为32(0-32)时,选择6位大小的随机数的临时范围273_v。在偏移量271为128(0-128)时,选择8位大小的随机数的临时范围273_v。随机数的临时范围273_v可在第4列中找到,在那里针对图7的具体随机数273示例性地说明。然后检查随机数273的包含在临时范围273_temp中的部分是否小于或等于下一个存储区域276的偏移量271。如果是这种情况,则临时范围273_v实际上也作为随机数的部分273.x用作随机数范围。可以用“真”回答第5列中的对应查询。对于这些情况,随机数的临时部分273.x_v与选择的随机数部分273.x一致。如果不是这种情况(以“假”回答第5列中的查询),则随机数的临时部分273.x_v减小。这可以通过省略一位来进行,优选是最高有效位(MSB)。对于由此在该范围273.x中得出的随机数的值,现在可以确保该值位于下一个存储区域267的偏移量271内。
从而例如对于为8的偏移量271(0-8),考虑随机数273的最初4位,以便也覆盖数字8本身(当前偏移量271的大小),为此参见图8中具有编号为3、4、5的缓冲器条目的列。如果相关联的临时随机数范围273.5_v的4位大小的值<=偏移量271-例如事件编号25,273.5=0b0111=7,则直接使用该4位数字。相关联的查询示出了图8的第5列。由于满足条件,结果为“真”。
如果相关联的临时随机数范围273.4_v的4位大小的值>偏移量271-例如事件编号13,273.4=0b1100=12,则不直接使用该4位数字,而是截掉MSB(所考虑的随机数范围273.4的最高有效位),并使用由此得到的3位数0b100=4。截掉的MSB不必丢弃,而是作为要考虑的随机数的下一个范围273.5_v的LSB(最低有效位)输入。在这种情况下不满足(相关联的结果在第5列中为“假”)相关联的条件(对应的随机数范围273.3<=偏移量271)。通过该过程可以确保随机数273得到完全使用,并且不会被不必要地快速耗尽。
为了确定随机数范围273.x的大小(例如随机数273的范围所需的位数),必须考虑用于表示下一个事件220的相关联存储区域267的偏移量271大小的变量(例如所需的位数)是否足够。
因此在根据图8的实施例中,根据第1行,在选择的随机数273.1为2的情况下,在偏移量271为2(从0-2)时即选择事件编号2(220.2,全局事件计数器285为2)(在丢弃事件220.0、220.1编号0和编号1后)作为所选择的事件226.2。根据第2行,在下一个偏移量范围271(仍然在0-2)时,随机地选择与该偏移量范围271有关的事件编号1。该偏移量范围271中的事件编号0已被丢弃(对应于为3的全局计数器读数285),但选择了该偏移量范围271中的事件编号1(对应于为4的全局计数器读数285,得出所选择的事件226.4)。根据第3行,下一个偏移量范围271仍然在2(0-2),因为缓冲器206的填充水平267仍然位于0和10%之间的区域267.1中。273.3的随机数为2,从而在丢弃该偏移量范围271中的事件编号0和1后,选择事件编号2(全局计数器读数285为8,所选择的事件226.8)。由于随后填充水平267位于下一个填充水平范围267.2中,新的偏移量271现在变为8(0-8)。如上所述,现在考虑临时随机数范围273.4_v的下个4位。由于临时随机数范围273.4_v的相关联随机数为12,大于当前偏移量271(第5列中的查询12<=8得出“假”),因此不使用临时随机数范围273.4_v的最高有效位,而是仅使用所选择的随机数范围273.4内的3个低有效位(二进制100,即4)。因此,对于为8(0-8)的这个新的偏移量范围271,丢弃事件编号0(全局计数器读数285是9)到编号3,并且选择事件编号4(全局计数器读数285因此是13)作为所选择的事件226.13。图8示例性地组合了用于另外的填充水平267的对应值。
因此在块272中,现在已经随机地确定了接下来选择哪个事件220作为所选择的事件226。对应的块280现在监视新事件220的出现(块284)。例如,之前已设定在存储了事件226.8(第8个事件)之后接下来应当存储事件226.13(第13个事件)。块280因此等待事件编号13,即丢弃接下来的事件编号9-12并且将事件编号13才作为所选择的事件226.13存储在存储器206中。根据具有元数据215(事件相关元数据216和通用元数据217)的数据大小的新的所选择的事件226,确定存储器206的新填充水平228。这例如可以使用已经包含在元数据215中的长度232来特别简单地进行。
针对不同的控制设备或车辆18不同地选择随机数273。从而例如可以在生产中车辆单独地或控制设备单独地一次性给定随机数273。替代地,随机数273可以在内部根据特定规则自己重新生成。该重新生成例如可以在系统状态转换期间(在引导、复位、转换到睡眠模式等时)和/或在特定时间之后周期性地进行。
块272从对应的信息中确定下一个事件命中278(next event hit:在下一个偏移量271中的下一个事件命中278)。下一个事件命中278到达块280(throw the dice,掷骰子),在块280中随机地将输送的事件220或者丢弃(事件220不存储在缓冲存储器206中)或者选择为所选择的事件226以用于存储在缓冲存储器206中。如果进行选择(事件命中282,event hit),则接下来是块284。在每个事件220时都调用块284。然而,块284本身调用块280(对于每个事件220),块280向块284提供关于是否应当选择事件220的反馈。如果通过块280选择了事件220,则块284触发将事件220作为所选择的事件226存储在存储器206中。
在块284(on event,有事件时)中,读入选择的事件220以随后作为所选择的事件226存储在缓冲存储器206的空闲区域250中。总是在每个新输入的事件220、221时调用块284。块284用于随机地选择,包括输入的事件220、221的可能减少和优先级设置。
除了块280中的随机选择之外,还可以随机地减少事件220,例如已经用ETH传感器26描述的。从而可以随机地选择特定数据区域(优选固定的数据区域的开始或数据区域的结束)。同样,可以仅存储特定的减少的地址数据。
同样,在事件220出现率高的情况下或通常传感器24、26、28本身(在特定来源的情况下,例如以太网)可以选择或减少事件220,这是类似于事件管理器30的准预过滤,以便减轻事件管理器30(也向其输入其他来源的事件220)的负担。如果传感器24、26、28还未将各个事件220转发给事件管理器30,则这同样应当作为单独的事件类型218传送给事件管理器30(类似于事件管理器30中的减少状态225)。然而,一般而言,事件220的与事件相关的选择可以在传感器24、26、28本身中进行并且存储在传感器24、26、28的缓冲存储器中。同样,也可以在传感器24、26、28中为相应的事件类型218设置对应的计数器,在需要时可以将其传送到事件管理器30。由传感器24、26、28选择的事件226'也可以应事件管理器30的请求传送给事件管理器30,以便可能地转发给上级实例34和/或后端36。尽管如此,结合事件管理器30描述的用于随机选择和/或优先级设置的过程仍可以在传感器24、26、28中运行。然而,这些过程可以仅限于相应来源的特殊数据211,因此传感器24、26、28可以仅选择传感器特定事件220。
为了提高安全性,通信适配器32可以规定将事件报告242随机地、对于攻击者而言非确定性地和隐藏地发送到其他IDS实例34。
如已经结合图2d描述的,从存储在缓冲存储器206中的所选择的事件226中生成事件报告242。该事件报告包括存储在缓冲存储器206中的所选择的事件226。这些所选择的事件226前面是相对于每个事件报告242改变的变量254(例如随机数、时间或计数器等)。此外,事件报告242还包括认证信息256。通过该认证信息可以在通信适配器32和接收事件报告242的单元(IDS实例34、后端36等)之间进行认证。认证信息256可以例如由事件报告242中的至少一部分数据形成,优选地由事件报告242中的所有数据形成(当然,除了待形成的认证信息256之外)。为此在事件管理器30中存储了对应的算法。为了认证的目的,上级单元34和/或后端36可以以相同的方式从接收到的事件报告242的对应数据中在解密之后形成相关联的认证信息256',并且与实际接收到的认证信息256(如在事件报告242中传送的)进行比较。如果一致,则假设真实性。
事件报告242具有固定长度258。为了实现该固定长度258,数据254、215_1、215_8、215_190、256也填充有所谓的填充数据255。填充数据255不包含与事件相关的信息。如图2d所示,在传输之前,事件报告242中所示的数据设置有加密258。以这种方式通过加密258加密的事件报告242由通信适配器32发送,并且由另外的IDS实例34或后端36解密和认证,如所描述的。即使对于每个事件报告242改变的变量254仅例如相差1位,随后的加密258也导致加密的事件报告242与先前的事件报告242有很大的不同(并且不仅仅是一位)。
从而特定的事件220可以在事件报告242的范围中周期性地并且加密地(既使用纯文本的作为事件报告242的部分的不断改变的变量254又使用事件报告242的加密258)传输。然而,即使没有新的事件220,也可以周期性地和加密地传输所谓的虚拟事件(例如由填充数据255组成)。这用于防止通信适配器32和另外的IDS实例34或后端34之间的数据交换遭到窃听或随机的隐藏。
下面基于图9-图14示例性地描述在控制设备或网关20内的事件管理器30和通信适配器32之间的通信流程、在通信适配器32和车辆18内的至少一个另外的IDS实例34之间的通信流程以及在另外的IDS实例34和后端36之间的通信流程。
从诸如网关20的控制设备到另外的(多个)IDS实例34(例如车辆18内的中央事件日志记录器)的通信应当确保另外的IDS实例34或事件日志记录器被告知未被读取的条目或存储在存储器206中的事件236或所选择的事件226。控制设备或网关20应当定期向另外的IDS实例34发送事件报告242,优选地通过所谓的心跳信号(可以用于检查通信参与者是否按规定连接的周期信号)。心跳信号(包括事件报告242)应当是加密的和真实的。优选地,所传送的信息应当真实地(必要时使用认证信息256)并且加密地,优选随机地或使用随机数273在控制设备或网关20与另外的IDS实例34之间交换。优选地,事件报告242应当具有固定长度257,应当被加密和认证。每个加密的事件报告242应当不同于先前的事件报告242,即使所传送的状态没有改变。
此外,从另外的IDS实例34到控制设备或网关20或相关联的通信适配器32的通信也应当以下列功能为特征。数据日志记录器或IDS实例34应当尽可能快地读入事件236或相关联的事件报告242,以便特别是防止存储器或缓冲存储器206的溢出。事件报告242应当能够例如根据请求经由诊断接口读出。替代地,可以完整地周期性地发送事件报告242。即使在新事件报告242的范围中没有新的所选择的事件226可用,事件报告242也应定期传送或读出,优选真实地和加密地或经过隐藏的。控制设备或网关20应当用具有固定长度的响应或事件报告242加密地和经过认证地响应读出请求240。即使内容没有改变,每个加密的响应或事件报告242也应不同于先前的响应或事件报告242。这示例性地通过如已经描述的不断改变的变量254来进行。
根据图9,事件管理器30首先选择第一所选择的事件226.1,然后选择第二所选择的事件226.2。这些所选择的事件由事件管理器30如所描述那样处理。因此,所选择的事件226.1、226.2存储在存储器206中。通信适配器32包含信号400,即时间相关的中断信号(Timer IRQ)。时间相关信号400优选周期性地形成,从而由此周期性地启动从通信适配器32向车辆18中的另外的IDS实例34发送事件报告242。然而,即使在没有新事件226.1、226.2的情况下,如下面描述的,信号(以“正常”事件报告242的形式)也从通信适配器32发送到另外的IDS实例34(参见信号406)。然而,特别优选地,事件报告242的发送不是根据事件220或所选择的事件226的获得而被触发,而是周期性地(通过周期时间的时间流逝)触发。这是特别有利的,因为到另外的IDS实例34和/或后端36的传输以后也总是周期性地执行,即在特定时间过去之后进行。由此事件管理器30的行为或异常识别对于攻击者而言是不透明的。攻击者永远不知道是否其攻击已被检测到、检测到了什么以及异常识别系统如何工作。
在通信适配器32已经接收到信号400(Timer Interrupt,定时器中断)之后,通信适配器32向事件管理器30请求事件报告242,即信号402。事件管理器30创建对应的事件报告242,该事件报告包括先前选择的事件226.1和/或226.2(具有相应的通用元数据217和事件相关元数据216)和改变的变量254。此外,添加对应的填充数据255,从而达到事件报告242的固定长度257(在知道仍要形成的认证信息256的长度的情况下)。此外,例如事件管理器30使用特定算法从改变的信息254、所选择的事件226.1、226.2以及填充数据255中生成认证信息256。以这种方式形成的认证信息256完成了事件报告242。然后用密钥258对完整的事件报告242进行加密。加密的事件报告242作为信号404到达通信适配器32。如果满足对应的安全要求,则加密(使用改变的信息254和/或密钥258)和认证(形成认证信息256)可以在事件管理器30和/或通信适配器32中进行。
替代地,通信适配器32可以加密事件报告242,例如根据随机数273。特别优选地总是形成新的随机数273以用于加密,例如通过散列法。这进一步使传输的消息或加密的事件报告242的解密变难。必要时,通信适配器33接管使用认证信息256的认证和/或可改变的变量254的添加和/或用加密258对整个事件报告242的最终加密。
即使由于新的所选择的事件226的出现而导致事件管理器30没有提供新的事件报告242,相应的信号406也响应于定时器中断(信号400)而发送。然后使用具有事件报告242的数据格式的虚拟消息并通过随机数或不断改变的变量254加密地(使用密钥258)传输到另外的IDS实例34。虚拟消息也总是通过不断改变的变量254或新的随机数来加密,从而即使没有出现新选择的事件226也总是周期性地传输其他消息或加密的消息(信号406)。通过该周期性传输可以检查通信适配器32和另外的IDS实例34之间按规定的通信连接是否起作用。
在另外的IDS实例34获得了从通信适配器32发送的消息(信号406)之后,另外的IDS实例34向通信适配器32发送确认信号(408)。在获得确认信号408之后,通信适配器32向事件管理器30生成请求以删除或再次覆盖缓存的、必要时减少的、所选择的事件226或相关联的事件报告242(信号410)。
在替代实施例中,上级实例34和/或后端36检查接收到的加密的事件报告242的真实性。为此,上级实例34和/或后端36使用已知密钥258解密接收到的消息,即加密的事件报告242。然后事件报告242以纯文本可用。使用用于形成认证信息256的对应算法(该算法也由事件管理器30或通信适配器32用来创建认证信息256),对事件报告242进行认证。为此,再次使用接收到的和解密的事件报告242的所有数据(除了认证信息256之外),并由此形成对应的认证信息256'。然后将形成的认证信息256'与在事件报告242的范围中接收的认证信息256进行比较。如果一致,则认为接收到的事件报告246是真实的。在该变体中,在进行了认证之后才能与较高级别或较低级别的实例进行进一步数据通信。在这个实施例中,在成功认证之后才将信号408(确认信号)发送到通信适配器32,然后通信适配器32发送信号410到事件管理器30以释放对所选择的事件226.1、226.2的覆盖。
优选地,响应或确认信号408、416也应当具有固定长度257'。优选地,确认信号408应当经过认证和加密。上级实例34和/或后端36的每个响应或确认信号408都应当彼此不同,即使内容没有改变。
这种确认信号408、416的示例可以在图9中找到。确认信号408、416具有与事件报告242类似的结构。确认信号408、416包括可改变的变量254'。可改变的变量254'针对每个新发送的确认信号408、416而改变。可改变的变量254'可以再次例如通过随机数、计数器、时间来实现。
特别优选地,确认信号408、416的可改变的变量254'可以通过使用刚刚传送的事件报告242的可改变的变量254来形成。为此,上级实例34、36被设置为从接收到的事件报告242中提取可改变的变量254并插入到确认信号408、416中。由此在随后的步骤中,还可以通过将接收到的确认信号408、416的可改变的变量254'与先前发送的事件报告242的可改变的变量254进行比较来认证确认信号408、416。如果一致则推断出真实的确认信号406、408。此外,可改变的变量254'不必在上级实例34,36中自己生成。这之后可以释放存储器206。
此外,确认信号408、416包括特定数据255',例如以任何模板的形式。此外,确认信号408、416包括认证信息256'。与事件报告242的情况类似,认证信息256'可以再次通过特定算法形成,该特定算法使用确认信号408、416的剩余数据,即可改变的变量254'和数据255'。以这种方式形成的认证信息256'完成了确认信号408、416。该确认信号具有固定长度257'。然后使用密钥258'进行加密。可选地,也可以省去这种加密258'。
接收实例(例如上级实例34、后端36)和/或通信适配器32或事件管理器30又能够解密确认信号408、412(使用密钥258')并且用于认证。为此,又使用对应已知的算法从接收到的数据(可改变的变量254',数据255')中确定由此得出的认证信息256'',并与获得的认证信息256'进行比较。如果一致,则假定真实性。如果获得的认证信息256'是正确的,则可以产生用于释放存储器206的信号410。如果认证信息256'不正确,则不能生成该信号410,从而存储器206中包含的所选择的事件226(仍)不会被删除。
另外的IDS实例34也周期性地接收定时器中断信号412,该信号类似于已经描述的信号400形成。响应于中断信号412,另外的IDS实例34又发送加密的消息,即信号414。该消息必要时可以包含事件报告242或车辆相关事件报告(包括另外的事件报告),如经由在通信适配器32之前的信号406传送的。与通信适配器32一样,消息由另外的IDS实例34加密,特别是由诸如随机数273的不断改变的变量254'加密。如果通信适配器32没有传送事件报告242,例如因为没有出现新的所选择的事件226,则再次使用具有与事件报告242相同数据格式的虚拟消息并以加密形式传输到后端36(信号414)。后端36向另外的IDS实例34发送确认信号416和/或覆盖缓存在缓冲存储器206中的事件236等的另外的通知或请求。确认信号416可以如上所述形成。
在获得关于事件释放的信号410之后,事件管理器30选择另外的所选择的事件226.3和226.4。进一步的流程可以从图10中得到。同时,事件管理器30还选择了另外的事件226.5。定时器中断(信号420)重新到达通信适配器32。该通信适配器现在向网关20请求事件报告242(信号422)。事件管理器30向通信适配器32发送基于所选择的事件226.3、226.4、226.5的事件报告242,即信号424。在获得事件报告242之后,通信适配器32发送由新的可改变的变量254(如随机数)加密和认证的事件报告242到另外的IDS实例34,即信号426。另外的IDS实例34通过确认信号428确认所述获得。确认信号428可以如结合确认信号408(图9)所述的那样形成。在获得确认信号428之后,通信适配器32又向事件管理器30发送请求以覆盖或删除事件报告242所基于的所选择的事件226.3、226.4、226.5,即信号430。同时在信号424的发送和信号430的接收之间选择另外的所选择的事件226.6。然而,这个所选择的事件226.6还不能被覆盖,因为这个所选择的事件226.6还不是已经传送到通信适配器32的事件报告242的基础。在这方面,信号430不涉及覆盖所选择的事件226.6,而仅涉及覆盖已经在最后的事件报告242的范围中传送的所选择的事件226.3、226.4、226.5。
如已经描述的,在另外的IDS实例34那里也出现定时器中断(信号432)。由此促使另外的IDS实例34将在信号426中新接收到的事件报告242以加密形式传输到后端36,即信号434。后端36通过对应的确认信号436确认获得了对应的消息434,该确认信号436被发送到另外的IDS实例34。确认信号436可以像确认信号408或416那样形成。
进一步的流程在图11中示出。对于通信适配器32再次出现另外的定时器中断,即信号440。然后通信适配器32向事件管理器30发送请求以发送事件报告242,即信号442。事件管理器30发送包含在此期间所选择的事件226.6的事件报告242,即信号444。通信适配器32使用新的可改变的变量256对事件报告242进行加密,并将加密的事件报告242发送到另外的IDS实例34,即信号446。在获得时,另外的IDS实例34发送确认,即信号448,在获得该信号448时通信适配器32向事件管理器30发送请求以覆盖或释放已经传送的事件226.6,即450。
另外的IDS实例34再次接收定时器中断,即信号452。然后,加密的事件报告242必要时连同来自另外的IDS系统的另外的事件报告车辆相关地传送到后端36。后端36向(多个)另外的IDS实例34发送确认信号和/或释放或覆盖对应的事件等的请求,即信号456。
在根据图12的示例性流程中,在发送最后一个事件报告242和新出现定时器中断(信号460)之间没有出现新的所选择的事件226。在获得定时器中断460之后,通信适配器32向事件管理器30发送针对新事件报告242的对应请求信号462。事件管理器30生成——尽管出现了新的所选择的事件226——具有虚拟内容的事件报告242,然后该事件报告发送到通信适配器32,即信号464。另外的IDS实例34和/或后端36可以将所述虚拟内容识别为虚拟内容。通信适配器32用新的、可改变的变量254对接收到的具有虚拟内容的事件报告242进行加密,并将加密和认证的事件报告242发送到另外的IDS实例34,即信号466。所述获得由另外的IDS实例34确认,即信号468。在获得该信号时,通信适配器32重新向事件管理器30发送请求信号以覆盖最后的所选择的事件226,即信号470。即使如在这个星座中没有新的所选择的事件226,这也要进行。
另外的IDS实例34重新获得定时器中断,即信号472。然后另外的IDS实例34对由通信适配器32发送的最后获得的加密的事件报告242进行加密,并且必要时将其与来自另外的IDS系统的另外的事件报告一起车辆相关地发送到后端36。后端36向另外的IDS实例34发送确认信号476和/或释放所基于的事件等的请求。
在图13的通信序列中,通信适配器32重新获得定时器中断,即信号480。这个定时器中断480可以是特殊信号,使得通信适配器32向事件管理器30请求事件摘要(而不是常见的事件报告242之一),即信号482。事件管理器30将事件摘要发送到通信适配器32,即信号484。事件摘要可以包含上级信息,例如针对不同事件类型218的不同计数器读数231,或新事件类型等的出现。再次也通过诸如随机数的新的可改变的变量254由通信适配器32对事件摘要进行加密,并传输到另外的IDS实例34,即信号486。一旦IDS实例34从通信适配器32获得了加密的事件摘要,另外的IDS实例34就将事件摘要转发到后端36,特别优选地以加密的形式。在实施例中,对于另外的IDS实例34和后端36之间的发送过程没有设置定时器中断来启动通信过程。然而,替代地,该通信过程又可以周期性地启动,就像发送常见的事件报告那样。
在图14的通信序列中,后端36向另外的IDS实例34发送对事件报告的请求,即信号490。另外的IDS实例34例如通过诊断接口向通信适配器32发送对事件报告的加密请求,即信号492。该加密可以再次通过可改变的变量254'进行,例如随机数,该变量特别是针对每次加密都改变。在获得请求492之后,通信适配器32向事件管理器30发送对事件报告242的查询,即信号494。在获得对应的查询494之后,事件管理器30向通信适配器32发送事件报告242,即信号496。通信适配器32对事件报告242加密,例如,通过诸如随机数的新的可改变的变量254并将该事件报告发送到另外的IDS实例34,即信号498。在获得加密的事件报告242之后,另外的IDS实例34向后端36发送事件报告242。后端36向另外的IDS实例34确认所述获得,即信号492。另外的IDS实例34向通信适配器32确认获得了确认信号492,即信号494。在获得对应的信号494之后,通信适配器32向事件管理器30发送对应的请求,以至少释放或覆盖在最后一个事件报告242的范围内传送的事件220。
所描述的方法可以在计算单元、计算机或控制器中实现,特别是在车辆18的控制设备中实现。同样,该方法可以在计算机程序的范围中创建,该计算机程序被设置为当它在计算机上执行时执行该方法。此外,该计算机程序可以存储在机器可读存储介质上。然而,该程序例如可以作为软件“用无线电”无线地加载或通过诊断接口有线地加载。
Claims (13)
1.一种用于处理数据异常的方法,特别是在机动车辆中,其中用于识别异常的至少一个传感器(24、26、28)获得数据(211),其中所述传感器(24、26、28)检查所获得的数据(211)是否存在异常,其中在识别出异常时根据相关联的数据(211)产生事件(220、221),其中随机判定是否对所述事件(220、221)进一步处理,特别是至少部分地存储在存储器(208)中和/或特别是减少。
2.根据权利要求1所述的方法,其特征在于,使用随机数(273)和/或随机数(273)的范围(273.x)、特别是车辆特定的和/或控制设备特定的随机数(273)进行随机判定。
3.根据前述权利要求中任一项所述的方法,其特征在于,待进一步处理的事件(220、221)至少部分地存储在存储器(206、208)中,特别是易失性存储器(206)或缓冲存储器和/或非易失性存储器(208)中。
4.根据前述权利要求中任一项所述的方法,其特征在于,根据所述存储器(206)的填充水平(228)来选择待进一步处理的事件(220、221)。
5.根据前述权利要求中任一项所述的方法,其特征在于,从特定数量或偏移量(271)的事件(220、221)中随机选择待进一步处理的事件(220、221)。
6.根据以下权利要求中任一项所述的方法,其特征在于,从其中随机选择待进一步处理的事件(220、221)的事件(220、221)的数量或偏移量(271)取决于所述存储器(206)的填充水平(228),特别是当所述存储器(206)的填充水平(228)低时从少量事件(220、221)中选择待进一步处理的事件(220、221)。
7.根据前述权利要求中任一项所述的方法,其特征在于,所述存储器(206)包括至少两个存储区域(267),向每个存储区域分配不同数量或偏移量(271)的事件(220、221),从这些事件中随机选择待存储的事件(220、221)。
8.根据前述权利要求中任一项所述的方法,其特征在于,根据所述存储器(206)的填充水平(228)和/或根据从中选择待存储的事件(220、221)的事件(220、221)的数量或偏移量(271)选择所述随机数(273)的范围(273.1、273.2)。
9.根据前述权利要求中任一项所述的方法,其特征在于,首先选择所述随机数(273)的临时范围(273.x_v),将基于所述临时范围(273.x_v)的随机数(273)与相关联的偏移量(271)进行比较,以及如果基于所述临时范围(273.x_v)的所述随机数(273)大于所述偏移量(271),则将所述临时范围(273.x_v)减少一个区段并用作所述随机数的范围(273.x),特别是通过省略高有效位。
10.根据前述权利要求中任一项所述的方法,其特征在于,所述临时范围(273.x_v)被减少的区段是下一个临时范围(273.x+1_v)或下一个范围(273.x+1)的一部分。
11.根据前述权利要求中任一项所述的方法,其特征在于,所述随机数(273)周期性地重新生成和/或根据特定的系统事件重新生成,所述特定的系统事件例如是系统状态的转换,例如复位、启动、转换到睡眠模式等。
12.根据前述权利要求中任一项所述的方法,其特征在于,为所述事件(220、221)确定事件类型(218),对于具有已在先前事件(220、221)中出现的事件类型(218)的事件(220、221),随机判定是否对所述事件(220、221)进一步处理。
13.根据前述权利要求中任一项所述的方法,其特征在于,设置用于识别异常的多个传感器(24、26、28),每个传感器获得来自不同数据源(25、27、29)的数据(211),所述数据源特别是通信系统和/或主机(29)或微控制器,其中每个传感器(24、26、28)检查所获得的数据(211)是否存在异常,在识别出异常时根据相关联的数据(211)产生事件(220、221),并将所述事件(220、221)转发给事件管理器(30)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020204053.2 | 2020-03-28 | ||
DE102020204053.2A DE102020204053A1 (de) | 2020-03-28 | 2020-03-28 | Verfahren zur Behandlung einer Anomalie von Daten, insbesondere bei einem Kraftfahrzeug |
PCT/EP2021/056545 WO2021197823A1 (de) | 2020-03-28 | 2021-03-15 | Verfahren zur behandlung einer anomalie von daten, insbesondere bei einem kraftfahrzeug |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115280724A true CN115280724A (zh) | 2022-11-01 |
Family
ID=74947396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180024769.5A Pending CN115280724A (zh) | 2020-03-28 | 2021-03-15 | 用于处理数据异常的方法,特别是在机动车辆中 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230073830A1 (zh) |
CN (1) | CN115280724A (zh) |
DE (1) | DE102020204053A1 (zh) |
WO (1) | WO2021197823A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230089448A (ko) * | 2021-12-13 | 2023-06-20 | 현대자동차주식회사 | 차량용 임베디드 제어기의 리셋 원인 결정 방법 및 그 방법이 적용된 차량용 임베디드 제어기 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219239B1 (en) * | 2002-12-02 | 2007-05-15 | Arcsight, Inc. | Method for batching events for transmission by software agent |
US20110196964A1 (en) * | 2008-10-14 | 2011-08-11 | Srikanth Natarajan | Managing event traffic in a network system |
FR3025040A1 (fr) * | 2014-08-22 | 2016-02-26 | Thales Sa | Procede et dispositif de detection d'evenements suspects parmi un ensemble d'evenements relatifs a une session d'execution d'un systeme |
CN105764162A (zh) * | 2016-05-10 | 2016-07-13 | 江苏大学 | 一种基于多属性关联的无线传感器网络异常事件检测方法 |
CN107133141A (zh) * | 2016-02-29 | 2017-09-05 | epro有限公司 | 捕获与指示设备功能异常的事件相关的数据的装置和方法 |
US20180276983A1 (en) * | 2015-02-17 | 2018-09-27 | Nec Corporation | System for monitoring event related data |
CN109041090A (zh) * | 2018-08-21 | 2018-12-18 | 京信通信系统(中国)有限公司 | 基于基站的异常处理方法、装置及电子设备 |
US20190026206A1 (en) * | 2017-07-18 | 2019-01-24 | Vmware, Inc. | Confidence-controlled sampling methods and systems to analyze high-frequency monitoring data and event messages of a distributed computing system |
EP3528163A1 (en) * | 2018-02-19 | 2019-08-21 | Argus Cyber Security Ltd | Cryptic vehicle shield |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018209407A1 (de) | 2018-06-13 | 2019-12-19 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Behandlung einer Anomalie in einem Kommunikationsnetzwerk |
-
2020
- 2020-03-28 DE DE102020204053.2A patent/DE102020204053A1/de active Pending
-
2021
- 2021-03-15 CN CN202180024769.5A patent/CN115280724A/zh active Pending
- 2021-03-15 WO PCT/EP2021/056545 patent/WO2021197823A1/de active Application Filing
- 2021-03-15 US US17/799,091 patent/US20230073830A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219239B1 (en) * | 2002-12-02 | 2007-05-15 | Arcsight, Inc. | Method for batching events for transmission by software agent |
US20110196964A1 (en) * | 2008-10-14 | 2011-08-11 | Srikanth Natarajan | Managing event traffic in a network system |
FR3025040A1 (fr) * | 2014-08-22 | 2016-02-26 | Thales Sa | Procede et dispositif de detection d'evenements suspects parmi un ensemble d'evenements relatifs a une session d'execution d'un systeme |
US20180276983A1 (en) * | 2015-02-17 | 2018-09-27 | Nec Corporation | System for monitoring event related data |
CN107133141A (zh) * | 2016-02-29 | 2017-09-05 | epro有限公司 | 捕获与指示设备功能异常的事件相关的数据的装置和方法 |
CN105764162A (zh) * | 2016-05-10 | 2016-07-13 | 江苏大学 | 一种基于多属性关联的无线传感器网络异常事件检测方法 |
US20190026206A1 (en) * | 2017-07-18 | 2019-01-24 | Vmware, Inc. | Confidence-controlled sampling methods and systems to analyze high-frequency monitoring data and event messages of a distributed computing system |
EP3528163A1 (en) * | 2018-02-19 | 2019-08-21 | Argus Cyber Security Ltd | Cryptic vehicle shield |
US20190260800A1 (en) * | 2018-02-19 | 2019-08-22 | Argus Cyber Security Ltd. | Cryptic vehicle shield |
CN109041090A (zh) * | 2018-08-21 | 2018-12-18 | 京信通信系统(中国)有限公司 | 基于基站的异常处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2023519909A (ja) | 2023-05-15 |
WO2021197823A1 (de) | 2021-10-07 |
DE102020204053A1 (de) | 2021-09-30 |
US20230073830A1 (en) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6525824B2 (ja) | 中継装置 | |
CN109558366B (zh) | 一种基于多处理器架构的防火墙 | |
US20030126429A1 (en) | Node device and communication control method for improving security of packet communications | |
JP2017007401A (ja) | 車載中継装置、車載通信システム及び中継プログラム | |
JP7182559B2 (ja) | ログ出力方法、ログ出力装置及びプログラム | |
KR101972457B1 (ko) | Can 통신 기반 해킹공격 탐지 방법 및 시스템 | |
CN115280724A (zh) | 用于处理数据异常的方法,特别是在机动车辆中 | |
CN115398429A (zh) | 用于处理数据异常的方法,特别是在机动车辆中 | |
JP6433851B2 (ja) | 情報収集システムおよび方法 | |
CN115398428A (zh) | 用于处理数据异常的方法,特别是在机动车辆中 | |
CN115398863A (zh) | 用于处理数据异常的方法,特别是在机动车辆中 | |
JP7505021B2 (ja) | 特に自動車におけるデータの異常を処理するための方法 | |
US11803363B2 (en) | IoT device update | |
KR101691201B1 (ko) | Dnp 메시지의 보안통신장치 및 방법 | |
JP7467670B2 (ja) | 特に自動車におけるデータの異常を処理するための方法 | |
WO2013180167A1 (ja) | 通信装置 | |
US11599649B2 (en) | Method and apparatus for managing transmission of secure data packets | |
WO2021197824A1 (de) | Verfahren zur behandlung einer anomalie von daten, insbesondere bei einem kraftfahrzeug | |
WO2021197826A1 (de) | Vorrichtung zur behandlung einer anomalie von daten, insbesondere bei einem kraftfahrzeug | |
WO2021197827A1 (de) | Verfahren zur behandlung einer anomalie von daten, insbesondere bei einem kraftfahrzeug | |
US20240022548A1 (en) | System and Method for Adaptive Encryption for SD-WAN | |
US9710499B2 (en) | Method for detecting the playback of a data packet | |
JP6681755B2 (ja) | 車両用通信網装置及び通信方法 | |
CN116318526A (zh) | 子设备的数据校对方法、装置、设备及存储介质 | |
EP4066474A1 (en) | Network management system for accelerating tcp traffic at transport layer level |
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 |