火眼金睛 信息安全需防十一种骗术障眼法(下)
来源:中国计算机用户 更新时间:2012-04-13
 它指埋藏在程序中执行恶意动作的软件程序,由于这种程序要求一定的访问权和编程技巧,所以逻辑炸弹一般是技术人员发泄不满的工具。逻辑炸弹有以下两种操作方式:
    
    ◆ 事件触发型,比如炸弹程序每天自动检查组织的薪水册,检查它是否仍然包含某个程序员的名字,如果某一天这个程序员的名字被删除了,就意味着该程序员被解雇了,炸弹程序就去激活炉渣程序,破坏该组织的关键文件。
    
    逻辑炸弹编制者为了掩护自己,通常在两个事件之间设置适当的延迟时间,让调查者不容易立刻找到原因。
    
    ◆ 通知型,编制者定期通知炸弹程序:“我还在,别执行”,否则炸弹程序就会执行破坏动作,如果程序员被解雇,程序就会在下一次约定的通知时间发作。这种逻辑炸弹更危险,如果编制者由于生病或者出差临时不在,它也会执行。
    
      Bug也能说明问题
    
    计算机软件行业有一条不言而喻的法则是:“所有软件都包含Bug,只不过有些Bug还没有被发现,或者用户可以容忍它们”。
    
    实际上,Bug的出现和人类的思维习惯有关,在这方面,还有一个有趣的法则,虽然近似于笑话,但是也能说明问题,这就是墨菲法则。
    
      墨菲法则
    
    墨菲法则最初的说法是:“如果做某件事有两个或者更多的方法,而这些方法中有一个可能导致一场灾难,那么就会有人选择这么做。”
    
    说这话是Edward A. Murphy,他是美国火箭运送试验的工程师,负责1949年在美国空军中进行的火箭试验,目的是测试人体对加速度的耐力。
    
    在一次试验中,需要将16个测速器安装到被测者的身体上,每个传感器都有两种安装方式,但是却有人将这16个测速仪全部以错误的方式安装。于是墨菲先生就发出上述感慨,几天后被人在新闻发布会上引用。
    
    几个月内,墨菲法则就在工程界广为流传,在流传过程中,还出现不少变种,其中最流行的是“任何可能变坏的事情,都会变坏” ,这个法则也叫草皮法则或者哄骗法则。更有趣的是,还有人归纳出奥图尔推论。
    
      奥图尔推论
    
    奥图尔推论说:“墨菲是一个乐天派。”
    
    类似的笑话还有不少,这些笑话说明工程技术人员开始认识到,工程设计过程中的随机性因素所带来问题的严重性。在计算机软件的发展过程中,出现过类似的问题,软件工程的出现就是人们对软件开发过程中随机性问题进行控制的反映,也是着手进行控制的手段。
    
    软件工程实践对于系统地解决信息安全问题,有同样的借鉴作用。墨菲法则也适合信息安全领域,围绕一个组织的信息安全问题存在着各种随机因素,涉及人员多、环节多,人员的技术水平和安全意识不同。如果没有明确和统一的管理规定约束他们,就难免会出现墨菲法则所描述的现象。
    
      像火灾中的纸一样脆弱
    
    Internet是人类社会历史上最大范围和最大程度的一次互联,但是这种互联也突出了计算机系统的安全脆弱性。
    
    计算机用户的范围从计算机专业工作者扩展到了社会各界,不同背景、不同动机和不同兴趣的计算机用户可以长时间大量使用计算机资源,在这种情况下,计算机硬件、计算机系统软件、计算机应用软件、计算机支撑软件和计算机网络协议都表现出安全防护方面的脆弱性。
    
    我们能够理解和想象这种状况,因为这些计算机系统设计初期的理念是鼓励和方便用户使用,而不是防范和限制他们使用。在目前的基础上,依靠修修补补,很多问题不能彻底根除。
    
    这种情况也导致了计算机系统渗透现象无法根除。所谓渗透是非授权侵入计算机系统,通过技术手段或者其他方法得到对数据文件内容的访问权。
    
    有的厂家为了提高计算机系统的安全性,在计算机系统正式推到市场之前,进行系统渗透测试。测试的目的就是检验使用黑客手段或者工具能否进入系统。
    
    所谓脆弱性,是指信息系统的软件和硬件的实现机制、控制机制和安全管理规程等方面存在的弱点,这些弱点可能被利用,进而实施信息访问或者中断关键处理,最终将信息系统置于非预期的利用之下。
    
    脆弱性使得信息系统更容易被攻击,或者让攻击更容易产生影响。例如对于火灾威胁,易燃材料(比如纸)的存在就是一种脆弱性。
    
    通过检查系统日志,我们可以发现信息系统的脆弱性。如果在系统日志中发现太多失败的访问尝试,则应该对执行这些操作的用户进行追踪调查,同时考虑脆弱性的可能,有些工具也可以用来帮助分析系统的脆弱性。
    
      方法学常遭误解
    
    方法学(Methodology)是一个经常被误解的字眼,给读者的印象似乎是非常形式化和经过严格验证的理论体系,其实不然。
    
    在许多软件系统的开发过程中,开发任务是复杂的,因此需要采用适当的方法去完成,这些方法在反复使用中已经发展得比较完善和系统,软件开发者就称它们是方法学,方法学所提供的只是科学和客观的软件设计和开发方法,未经过形式化验证。
    
    因此,使用这些方法开发出来的计算机软件系统,几乎肯定包含了各种各样的缺陷和错误,自然也包括了安全方面的缺陷和错误。
    
    用户之所以能够接受有缺陷的软件系统,是因为用户需求是不平衡的。软件系统只要满足了基本的用户需求,用户就可能出于某种动机或者压力购买和使用软件。此外,要用户去判断一个软件系统是否满足自己的安全要求,还需要时间。
    
    对于安全方面的需求,用户更难加以判断。有时候,用户甚至对安全根本就没有明确的要求,等到发生了信息安全事故,才开始重视这个问题。在这种情况下做出的决策,前期的一些问题很难在后续阶段予以弥补。
    
    即使用户的需求是明确的,用户在实际使用环境可能与软件系统开发者的假设仍有距离,软件系统设计的信息安全功能可能不适合用户,软件系统的安全缺陷可能在使用环境中被放大,这些都有可能导致软件系统始终带有明显的信息安全缺陷。
    
    这种信息安全风险最初可能是局部的,但随后,会由于信息安全管理方面工作的不足而被放大到全局,致使整个用户组织出现灾难性的后果。
    
    信息安全问题受到越来越多的重视,无论采用什么样的安全技术,信息安全策略都是系统和持久地解决信息安全问题的最重要的基础。