聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队
还记得几乎20年前的“Y2K(千年虫)”问题吗?2020年被管理员忽视的Splunk 平台实例正在受到类似时间戳识别问题。
Splunk 企业版文档警告称,需要在2020年1月1日前应用补丁,因为该平台识别两位数年份事件的时间戳。Splunk 软件平台旨在帮助组织机构搜索、分析并查看IT 基础设施或业务的多种组件的数据池。它可吸收来自多种来源(传感器、应用程序、设备)的信息并将其转换成可执行的报告,从而识别模式或预测趋势。它还能够计算矩阵或由某些动作触发的警告信息。
问题原因
Splunk中不同类型的日期和时间戳是由基于‘datetime.xml’文件的输入处理器决定的,该文件使用正则表达式从输入的数据中提取信息。该问题在于,该文件的未修复版本能够提取直到2019年的两位数字年份,因此它最多仅能在2019年正常起作用。
到2020年,过期的Splunk 实例“将错误地将输入数据当做具有不合法时间戳年份进行处理,或者使用当前年份增加时间戳、或者错误解释该日期并且增加具有解释错误的日期的时间戳。”
文档还补充道,在未修复的 Splunk 实例中,从2020年9月13日通用协调时间(UTC)下午12:26:39开始,将会发生错误的时间戳数据解析情况。这些实例将无法识别基于 Unix 时间的事件的时间戳。
受影响的 Splunk 实例
为避免这些问题,管理员应当修复如下的 Splunk 解决方案,而不管底层操作系统是什么:
-
Splunk Cloud
-
Splunk Light
-
Splunk Enterprise 索引器
-
Splunk Enterprise 重型转发器
-
Splunk Enterprise 搜索头(如果数据输入源自某 API 或者将内部数据转发到其它 Splunk Enterprise 索引器)
-
Splunk 通用转发器,符合条件如下:
Ø 当处理结构性数据如由逗号分隔的值 (CSV) 文件,’props.conf’中设置的INDEXED_EXTRACTIONS
Ø 当它们在转发前处理数据输入,’props.conf’中设置“force_local_processing= true’。
获取更新后的 ‘datetime.xml’
Splunk Cloud 客户将自动获得更新,而更新时间由支持代表提供。该操作十分重要,不可被延期。
如果本地实例的转发器将数据发送到云,则有如下三种选择:
-
将更新后的‘datetime.xml’应用于每个Splunk 实例
-
通过替代某些字符串的方法手动修改现有的‘datetime.xml’
-
将Splunk更新到具有更新后的‘datetime.xml’的版本
手动修复该文件或者用最新版本覆写老旧的‘datetime.xml’文件——如果环境无法立即更新至最新的 Splunk 平台,则推荐这种选择。
在阻止Splunk 之后,应当完成对新文件的应用。使用操作系统的管理功能应该能够覆写‘$SPLUNK_HOME/etc’中存储的老旧变体,完成该操作。Splunk文档中提供了完整的修复指令。
搜索该字符串 | 用如下字符串替代 |
<text><![CDATA[(20\d\d|19\d\d|[901]\d(?!\d))]]></text> | <text><![CDATA[(20\d\d|19\d\d|[9012]\d(?!\d))]]></text> |
<text><![CDATA[(?:^|source::).*?(?<!\d|\d\.|-)(?:20)?([901]\d)(0\d|1[012])([012]\d|3[01])(?!\d|-| {2,})]]></text> | <text><![CDATA[(?:^|source::).*?(?<!\d|\d\.|-)(?:20)?([9012]\d)(0\d|1[012])([012]\d|3[01])(?!\d|-| {2,})]]></text> |
<text><![CDATA[(?:^|source::).*?(?<!\d|\d\.)(0\d|1[012])([012]\d|3[01])(?:20)?([901]\d)(?!\d| {2,})]]></text> | <text><![CDATA[(?:^|source::).*?(?<!\d|\d\.)(0\d|1[012])([012]\d|3[01])(?:20)?([9012]\d)(?!\d| {2,})]]></text> |
<text><![CDATA[((?<=^|[\s#,"=\(\[\|\{])(?:1[012345]|9)\d{8}|^@[\da-fA-F]{16,24})(?:\.?(\d{1,6}))?(?![\d\(])]]></text> | <text><![CDATA[((?<=^|[\s#,"=\(\[\|\{])(?:1[0123456]|9)\d{8}|^@[\da-fA-F]{16,24})(?:\.?(\d{1,6}))?(?![\d\(])]]></text> |
推荐阅读
原文链接
https://www.bleepingcomputer.com/news/security/splunk-faces-y2k-bug-like-problem-unless-patched/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点,转载请注明“转自奇安信代码卫士 www.codesafe.cn”
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。