9.5 内部攻击

前几节对于用户认证工作原理的一些细节问题已经有所讨论。不幸的是,阻止不速之客登录系统仅仅是众多安全问题中的一个。另一个完全不同的领域可以被定义为“内部攻击”(inside jobs),内部攻击由一些公司的编程人员或使用这些受保护的计算机、编制核心软件的员工实施。来自内部攻击与外部攻击的区别在于,内部攻击者拥有外部人员所不具备的专业知识和访问权限。下面我们将给出一些内部攻击的例子,这些攻击方式曾经非常频繁地出现在公司中。根据攻击者、被攻击者以及攻击者想要达到的目的这三方面的不同,每种攻击都具有不同的特点。

9.5.1 逻辑炸弹

在软件外包盛行的时代,程序员总是很担心他们会失去工作,有时候他们甚至会采取某些措施来减轻这种担心。对于感受到失业威胁的程序员,编写逻辑炸弹(logic bomb)就成为了一种策略。这一装置是某些公司程序员(当前被雇用的)写的程序代码,并被秘密地放入产品的操作系统中。只要程序员每天输入口令,产品就相安无事。但是一旦程序员被突然解雇并毫无警告地被要求离开时,第二天(或第二周)逻辑炸弹就会因得不到口令而发作。当然也可以在逻辑炸弹里设置多个变量。一个非常有名的例子是:逻辑炸弹每天核对薪水册。如果某程序员的工号没有在连续两个发薪日中出现,逻辑炸弹就发作了(Spafford等人,1989)。

逻辑炸弹发作时可能会擦去磁盘,随机删除文件,对核心程序做难以发现的改动,或者对原始文件进行加密。在后面的例子中,公司对是否要叫警察带走放置逻辑炸弹的员工进退两难(报警存在着导致数月后对该员工宣判有罪的可能,但却无法恢复丢失的文件)。或者屈服该员工对公司的敲诈,将其重新雇用为“顾问”来避免如同天文数字般的补救,并依此作为解决问题的交换条件(公司也同时期望他不会再放置新的逻辑炸弹)。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

在很多有记录的案例中,病毒向被其感染的计算机中植入逻辑炸弹。一般情况下,这些逻辑炸弹被设计为在未来的某个时间“爆炸”。然而,由于程序员无法预知那一台计算机将会被攻击,因此逻辑炸弹无法用于保护自己不失业,也无法用户勒索。这些逻辑炸弹通常会被设定为在政治上有重要意义的日子爆炸,因此它们也称做时间炸弹(time bomb)。