一文了解逻辑炸弹攻击的危害与防护

2022-6-52-1024x768-1

逻辑炸弹是恶意代码攻击的传统形式之一,其雏形可以追溯到上世纪80年代的美苏冷战时期。当时,前苏联的一家科技公司窃取了加拿大的精密控制系统,用于建设自己的工业设施,但其中已经秘密植入了一颗逻辑炸弹。逻辑炸弹在1982年的特定时间被触发,导致涡轮和阀门失控,导致西伯利亚输气管道压力巨大并发生爆炸。

随着APT、勒索软件、供应链攻击等新威胁的出现,逻辑炸弹攻击似乎消失并淡出了人们的视野。但是,从数字经济时代网络安全的发展态势来看,逻辑炸弹攻击的逻辑一直存在,并且还在增长。毕竟对于敏感信息系统来说,一旦交付,将具有巨大的商业价值,同时会受到多重安全措施的保护。此时,逻辑炸弹成为最难被发现和有效防护的攻击手段。

1.什么是逻辑炸弹?

逻辑炸弹是一种计算机程序,在满足一定的逻辑条件时,可以改变其运行方式,破坏目标计算机系统。这类程序一般隐藏在功能正常的软件系统中。没有触发条件,逻辑炸弹隐藏,系统运行良好,用户察觉不到任何异常。但一旦满足触发条件,逻辑炸弹就会“爆炸”,造成目标系统硬件破坏、文件破坏、系统瘫痪等严重后果。逻辑炸弹的触发方式有很多种,如事件触发、时间触发、计数器触发等。

逻辑炸弹之所以被称为“炸弹”,是因为它在原理和破坏力上与真实炸弹高度相似。真实炸弹的引爆需要触发条件,逻辑炸弹也有类似的触发条件。当预设条件满足时,逻辑炸弹就会开始工作。逻辑炸弹的破坏力和真实炸弹一样,只是针对的目标不同。

逻辑炸弹攻击不仅可以设置在企业的应用软件系统中,还可以隐藏在计算设备的硬件系统中,如主板、硬盘、CPU等。逻辑炸弹通常不具有传染性,不会自我复制,但触发逻辑炸弹的诱因可以存在于逻辑炸弹载体的各个环节,具有不可控的事故性。此外,虽然有时逻辑炸弹的投放技术会受到计算机病毒或其他恶意软件的感染,但更多情况下,它们是由在开发阶段就拥有访问被攻击系统特权的内部人员植入系统的,因此很难被检测到。

逻辑炸弹不同于病毒。逻辑炸弹的显著特点不在于传播方式,而在于触发方式,但可以通过病毒传播。但是,并不是所有的逻辑炸弹都需要病毒来投送。其实很多逻辑炸弹都是程序员藏在正规软件程序里的。

2.逻辑炸弹的危害

逻辑炸弹(具有记忆功能的逻辑元件)的触发一般分为正触发和负触发。如果一个事件发生,一个正向触发器就会引爆;反过来,如果一个事件没有发生,也可能引发一个负面的触发。

负面触发不难理解。我们可以思考企业面临的内部威胁,也是逻辑炸弹的常见案例。例如,心怀不满的员工怀疑他们即将被解雇,所以他们在公司服务器上放置了一个逻辑炸弹。如果创作者不介入,逻辑炸弹会在上午10点执行删除公司有价值数据的程序。如果员工没有被解雇,他们仍然可以访问系统,他们可以删除逻辑炸弹程序,以防止炸弹被触发。这也是他们和雇主之间的一个筹码——如果满意,他们会阻止炸弹爆炸;一旦被解雇,你会选择让逻辑炸弹引爆。

逻辑炸弹的危害范围很广,包括删除文件或硬盘,作为赎金威胁或报复,数据泄露等。可以认为,逻辑炸弹的危害性完全取决于恶意攻击设计者的专业技能和想象力。

当然,也有一些应用表面上类似逻辑炸弹,实际上无伤大雅。例如,一些通过互联网免费下载的程序可能会在15天后停止工作。这些程序在用户下载时已被告知,不会对用户造成伤害或损失。

有时候人们会把定时炸弹当成网络攻击,其实它是逻辑炸弹的子集。定时炸弹是一种逻辑炸弹,它的触发器会在特定的时间被触发。在某些方面,它可能被认为是最简单的逻辑炸弹。定时炸弹触发器类似于物理爆炸的定时炸弹:它给攻击者足够的时间来隐藏他们的攻击,以减少他们被怀疑为攻击者的可能性。

被动触发是定时炸弹概念的一个更复杂的变体,因为它的时限可以通过用户操作来延迟或阻断,从而创造出一种“死人开关”,即在操作者丧失行为能力,如死亡、意识不清或离开控制设备时,可以自动操作的开关。它最初起源于重型机械领域,后来也应用于计算机软件等虚拟应用。例如,如果用户长时间不活动,他/她将被通知或者他/她的帐户将被自动取消。

3.如何检测和防御逻辑炸弹攻击?

逻辑炸弹是一种特别有害的攻击类型,因为攻击代码本身可能长期处于休眠状态。一般来说,再好的端点安全软件也很难检测出潜伏状态的逻辑炸弹程序。

由于一些逻辑炸弹是通过诸如病毒之类的恶意软件传播的,防止逻辑炸弹的基本保护措施是遵循反恶意软件的最佳实践:

1)注意钓鱼邮件。请不要打开和下载来历不明的电子邮件附件。

2)不要下载或安装来源不明或非官方的应用,包括浏览器导航栏,这是常见的恶意软件载体。

3)及时安装和更新杀毒/端点安全软件,保护您的电脑安全。

但是,防范恶意软件不足以应对所有的逻辑炸弹,尤其是内部员工设置的恶意逻辑炸弹程序。当逻辑炸弹隐藏在代码中时,现有的反病毒产品也难以发挥作用。检测嵌入在企业业务软件系统中的恶意代码(无论是心怀不满的员工有意破坏的,还是以第三方软件库的形式无意造成的)的最佳方法是有效地控制软件开发过程,并将安全编码实践集成到开发过程中。这些做法旨在确保任何代码在正式部署应用程序之前通过安全测试,并防止内部恶意员工以不安全的方式单方面修改代码。

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容