用于主动防御的 Python:诱饵

安全资讯 小布 325浏览 0评论

MITRE ATT&CK 框架可能是最著名的 MITRE 公司网络安全资源;然而,它专注于网络安全的进攻方面。MITRE Shield 框架是最近一个专注于主动防御的项目。

与 MITRE ATT&CK 框架一样,MITRE Shield 分为战术(操作目标)和技术(实现这些目标的方法)。不同之处在于,Shield 没有描述网络攻击的执行方式,而是描述了防御者应对网络威胁的方式。

主动防御的一个方面是使用欺骗。MITRE Shield 描述了使用诱饵来误导和欺骗攻击者的各种方法。

主动防御的诱饵过程

进程正在计算机上运行应用程序。攻击者和防御者都非常关心系统上运行的进程。一个人可能正在寻找防病毒或其他安全解决方案,而另一个人可能正在检查计算机上的可疑和潜在恶意程序。

诱饵过程

在 MITRE Shield 中,诱饵进程可用于几个不同的目的。它们被明确提及为渠道的一部分,并使框架内的策略合法化。

这些进程可用于诱使攻击者采取某些行动,例如试图杀死或躲避系统上运行的防病毒软件。或者,它们可用于使蜜罐看起来更逼真。

用 Python 诱骗进程

Python 可用于实现这些类型的诱饵过程中的任何一种。

 

上面的代码示例(可在 Github 上获得)旨在模拟防病毒或其他端点安全解决方案。然后它会监视并报告系统上的程序是否试图杀死它。

通过使用信号库,程序可以捕获某些异常,从而控制它们的处理方式。在这种情况下,Python 脚本会捕获 SIGTERM 和 SIGINT,这两个信号旨在终止进程。当捕捉到 SIGTERM 或 SIGINT 信号时,程序收集有关发送信号的进程的信息并将其写入文件,然后终止(使信号看起来成功)。

此诱饵进程可用于模拟防病毒软件和恶意软件可能试图终止的类似解决方案(作为 MITRE ATT&CK 的 Evade Defenses Tactic 的一部分)。通过观察对防御的企图干扰,它可以帮助检测系统上的恶意软件。

主动防御的诱饵内容

使用诱饵进行主动防御的另一种方法是通过虚假内容。发现存储在系统上的内容是网络攻击的一个常见阶段,误导性内容可能会诱使攻击者在下一阶段的攻击中浪费时间或走上错误的道路。

诱饵内容

诱饵内容是一种欺骗类型,可用于实现 MITRE Shield 的几乎所有策略(除包含之外的所有策略)。这样做的原因是基于虚假和误导性数据的决策可以完全破坏攻击。

对于组织网络中的大多数内容,很难区分合法使用和恶意使用。对于诱饵内容,不存在合法用途。这意味着它也可以用作检测控制,因为默认情况下,对诱饵内容的任何访问尝试都是可疑的。

用 Python 诱骗内容

Python 可用于生成和监视诱饵内容。

上面的代码示例(来自此处)旨在检测是否有人访问或修改了系统上的某些文件。这些文件与它们的正式创建、修改和访问日期一起列在 decoys.txt 中。

运行时,此脚本将获取诱饵文件的这些值并将它们与存储的值进行比较。如果有任何不匹配,则脚本将警告该文件已被篡改。这种篡改可能包括访问尝试、文件修改或尝试将时间戳更改为真实创建、访问和修改时间以外的时间。

主动防御的诱饵凭证

用户凭据是网络攻击者的常见目标。使用正确的凭据,攻击者可以访问新系统或将他们的权限提升到他们已经可以访问的系统。

诱饵凭证

MITRE Shield 框架讨论了使用诱饵凭证来帮助诱骗攻击者将精力集中在防御者希望他们使用的系统和服务上。诱饵凭证可用于驱使攻击者进入蜜罐,或与虚假服务或向访问者提供虚假数据的服务进行交互。

使用 Python 诱骗凭证

Python 可用于实现使用诱饵凭证的虚假服务。

上面的代码示例(可在此处获得)实现了一个旨在接受连接尝试的 SSH 服务器。接受连接后,它会随机休眠一段时间,然后抛出错误,模拟丢失的连接。

此类服务器可用于跟踪攻击者对整个组织系统的访问。诱饵 SSH 凭证可以植入不同的系统。如果攻击者使用这些凭据尝试连接到服务,它可以根据源 IP 地址和使用的凭据(如果在每个系统上植入不同的凭据)揭示他们有权访问的系统。

使用 Python 进行主动防御

欺骗是主动防御的关键部分,因为它允许防御者欺骗和引导攻击者做防御者想做的事情。

Python 可以与许多不同类型的诱饵一起使用,包括进程、内容和凭据。

转载请注明:布尔云安的博客 » 用于主动防御的 Python:诱饵

头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址