博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 日志行混乱_将混乱实验注入安全日志管道
阅读量:2528 次
发布时间:2019-05-11

本文共 2313 字,大约阅读时间需要 7 分钟。

python 日志行混乱

安全团队依靠高质量的日志来进行大多数预防性安全工作。 要防止事件发生,需要对故障可能来自何处进行可观察的洞察力,而日志是此类洞察力的重要来源。 发生事件时,组织必须能够尽快做出响应并加以遏制。 日志不仅是查找问题根源所必需的,而且还有助于确定适当的对策。

但是,当组织没有正确的日志数据时会发生什么? 当发生未知或不可预见的事件时,我们如何了解为什么没有看到它呢?

请考虑以下情形:星期一早上一个好的时间,您要去担任安全事件响应工程师。 走进办公室后,您会被告知,人力资源部门突然失去了访问其共享网络驱动器上的内容的权限,其中包括一些高度敏感的数据。 进一步检查表明,驱动器上的所有文件和目录都已重命名为.exe。 在这一点上,您几乎可以肯定这是某种恶意软件的结果,并且您手上有安全事故。

在最佳情况下,通过从所有网络设备收集日志以查找其他相关事件,您最终可以消除事件的可能来源。 这是一个耗时的过程,但它可能有助于解决难题。

最坏的情况是,您发现安全监控解决方案已经很长时间没有收到来自大量网络设备的日志了,而故障排除意味着您必须等待访问请求被批准,然后手动登录到每个相关设备并手动跟踪您可以找到的所有相关信息。 没有简单的方法可以绕过这些信息,也没有观察到的趋势信息。 在这种情况下,记住我们不能改变过去是很明智的,而我们的过去通常是一个序幕。

您和您的团队能够对上述情况做出多快的React? 如果您的日志流突然停止,那么您的团队需要多长时间才能实现? 他们是否能够Swift识别故障并能够在几分钟或几小时内修复? 您将如何检测到它,并且是什么使您客观地相信这一点? 如果并且当您检测到故障时,您是否知道如何恢复系统? 谁负责这样做? 首先如何建立一个健壮的日志管道?

在本文中,我将尝试回答这些问题。

DFIR(数字取证和事件响应)中自动化的挑战

如今,几乎每个安全组织都在拥抱自动化,尽管程度取决于行业和业务规模。 大多数科技公司都在云托管基础架构和物理数据中心空间的组合上运行。 诸如或 ,第三方HR应用程序, 或内部或云托管版本,防火墙,路由器,交换机和防病毒工具是通常使用的基础结构类型的一些示例。 在当今的数字经济中,中小企业通常需要使用这些组件; 大型企业需要更大的技术堆栈。

对于安全事件响应团队来说,至少有十二个不同的系统可以从中收集日志,并且每个系统对日志处理和传输的处理方式都不同。 在极少数情况下,收集数据就像指定日志应转到的中央日志服务器/存储区一样简单。 但是更常见的情况是,它需要在日志源和日志目标之间引入一系列代理,编写脚本以从源中获取日志,找到安排日志的方式,创建代理以将其传输到目标,等等。 正如35年前Lisanne Bainbridge在她的研究论文中所建议的那样的经典是,尝试实现自动化可能最终会使系统比其手动对等系统复杂得多。 而且,系统的自动化程度完全取决于自动化器的创造力和想象力。

通过安全混乱工程获得新见解

有许多不同的方法来应对这一挑战。 一个可靠的起点是开始监视和警告日志趋势。 在昂贵的SIEM(安全信息和事件管理)工具时代,相对容易地为日志流中的异常峰值和峰值设置警报。 可以对SIEM接收日志的每个管道执行此操作。 最好是建立一个集中日志数据湖,该数据库经常受到访问和活动的监视。

为了主动记录日志管道,重要的是安排每年至少测试一次警报触发器的功能。 但是,根据我们的经验,管道在实施时会进行测试。 此后,团队将仅依靠SIEM警报的质量来让他们知道管道是否中断。

考虑到这个用例,我提出了另一种方法:混沌工程。 混沌工程在现场可靠性工程(SRE)领域Swift流行,是一种基于经验的,基于系统的方法,可大规模解决分布式系统中的混沌问题,并使其对承受现实条件的能力充满信心。 该团队通过在受控实验中观察分布式系统的行为来了解其行为。 用外行的话来说,混沌工程是故意破坏自己的系统的一种做法,目的是观察结果并从结果中获得新的见解,包括对系统的连锁React。

一些读者可能会认为这种做法类似于传统的“红队”或“渗透测试”,但实际上,其目的和方法都不同。 红队的最终目标是通过欺骗性对抗方法获得对敏感资源的访问权,而不会破坏活动系统以确定安全防范控制措施的有效性。 但是,安全混乱工程的最终目标是通过认真而有条理的系统试验来学习。 我们的方法着重于将故障注入特定的组件中,以在系统影响核心业务产品和服务的操作完整性之前揭示系统中未知和不可预见的问题。

作为智人,我们必须面对这样一个事实,即系统的发展比我们的认知推理所能解释的要快。 尽管我们拥有先验知识,但我们选择只看到想要看到的内容,只听到想要听到的内容。 我们的理解和信念反映了我们的信念。 混沌工程学的目的不是破坏事物,而是学习有关我们的复杂自适应系统如何真正工作以及我们所知道的知识的新信息。

回到上面描述的事件日志记录示例,我们作为一个工程团队,在系统正常运行的假设下进行操作。 这些错误每小时使公司损失数百万美元。 考虑2018年7月的Amazon Prime Day停运,当时亚马逊每小时的成本高达3300万美元,而工程师们忙于诊断和分类问题。 可以使用弹性技术(例如混沌工程)来主动识别出这三个小时的中断。

在寻找意外情况时,逻辑方法是客观地使其达到预期。 我们的系统发展如此Swift,变得如此复杂,以至于我们必须寻求诸如混沌工程学之类的新方法,以更好地了解它们的工作原理,改进它们并预测其不可预测结果的非线性性质。

接下来要读什么

翻译自:

python 日志行混乱

转载地址:http://mayzd.baihongyu.com/

你可能感兴趣的文章
多线程和蕃茄炒蛋
查看>>
SSH错误:packet_write_wait: Connection to 10.57.19.250 port 22: Broken pipe
查看>>
ACTION 关联表之间查询语句 SQL语句写法
查看>>
find命令
查看>>
Ambari——大数据平台的搭建利器之进阶篇
查看>>
模块内高内聚?模块间低耦合?MVC+EF演示给你看!
查看>>
ACM学习心得及书籍推荐
查看>>
springcloud
查看>>
Binary Tree Inorder Traversal
查看>>
npm、yarn、pnpm
查看>>
洛谷 P2590 [ZJOI2008]树的统计
查看>>
软件工程结对项目博客作业
查看>>
C++ 虚函数表解析
查看>>
Centos 7 安装与卸载MYSQL5.7
查看>>
ironic baremetal node status
查看>>
android状态栏和NavigationBar的动态控制显示
查看>>
npm 版本问题
查看>>
#define 宏定义
查看>>
有了这套微信小程序x5调试,调试一些简单的开发者工具调试不了的功能不成问题!!!!...
查看>>
获取客户端经纬度坐标
查看>>