什么叫系统后门?后门与漏洞有什么区别?

( Java面试题 | Java 学习指南 )

什么叫系统后门?后门与漏洞有什么区别?近年爆发的勒索病毒案例中,被黑客利用的是Windows的后门、还是漏洞?

后门,是一个系统的作者故意留下的、只有作者自己知道的机关。

 

比如,一个洞府看起来是铜墙铁壁,但是若在它前面前念一声"芝麻开门!"便会在墙壁上凭空打开一个门。这便是一个后门,这是系统的作者故意留下的机关。

再比如,打开手机拨号键盘,正常使用的话就可以拨打电话。但是,若连续输入 *#06# ,变进入了特殊的处理程序: 显示当前手机序列号。这也是一个后门,是系统作者故意留下的手段。

可见,普通人无法看到后门的存在,但系统的作者知道后门在哪里。在输入特殊的指令后,便打开了后门,进入特殊的处理分支。注意重点: 只有作者自己知道这个指令

 

如果让我们自己建立一个系统,是不是也可以留一些后门呢?当然可以!

比如,我们建了一个大楼,并在门口安装一个智能识别器。

当普通人进门时,识别器会发生声音:欢迎你!

但是,如果有一穿着红衣服的、进门时发出 "1..3..9..0..5..1" 的声音的人时,识别器会启动自毁程序、令大楼倒塌。显然,这个规则很复杂,普通人在进门时不会满足这个规则。但是我们是系统的作者,我们在认别器内写下了这么一段:

if ( 衣服 is red )
{
    if ( 声音 == 1 . 3 . 9 .0 . 5. 1 )
    {
        进入自毁程序    
    }
}

这便是作者留下的后门,显然,除了作者自己,别人无法测出这个后门逻辑的存在。在别人看来,这就是一个普通的门,可以正常通讯!

同样的,如果我们自己来设计一个操作系统,比如叫 Doors 系统。这个系统上运行一些正常的服务,在普通人看来,这些服务很安全,比如就是FTP服务,可以在指定的目录下传递文件。

然而,身为作者的我们,只要发一段特殊的指令这个服务器,这个服务器在接收到指令后就会令系统崩溃。

因为,服务器是我们写的,我们在服务器中留下了这么一段:

public void doService( ... input )
{
    if( input == 08 21 A8 89 12 38 98 )
    {
        进入自毁程序
    }
    .... 正常路径,提供正常服务
}

显然,我们只要把这段特殊指令 08 21 A8 89 12 38 98 发给服务器,便可以轻松攻破系统。为什么能这么轻松?因为你就是这个系统的作者啊!这个指令除了你,没有人知道它的存在!

那么,后门和漏洞有什么区别呢?其实也没什么区别了。。如果这个机关是故意留下的,那就是后门;如果是作者不小心留下来的,那便是漏洞。所以,倒底是后门还是漏洞,只凭作者一张嘴了!

对于一个不开源的系统,没有任何理由相信它是安全的。因为它里面的后门,技术上不可能测出。

对于一个开源的系统,如Linux,只要我们能吃透它的所有服务代码,那么它就可以是足够安全的。

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿发你好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值