安全事件的产生必定是软件内部脆弱性和外部威胁共同作用的结果,当前软件系统面临着非常严重的外部威胁。
网络技术拓展了软件的功能范围,提高了其使用方便程度,与此同时,也给软件带来了更大风险。由于软件被应用于各种环境,面对不同层次的使用者,软件开发者需要考虑更多的安全问题。同时,黑客和恶意攻击者可以比以往获得更过的时间和机会来访问软件系统,并尝试发现软件中存在的安全漏洞。
随着互联网的快速发展和广泛应用,恶意代码产生和传播的速度越来越快,危害也越来越严重。自2000年以来,先后爆发了红色代码、尼姆达、冲击波、震荡波、熊猫烧香、震网病毒、火焰病毒、勒索病毒等众多恶意病毒,它们传播范围广,导致了重大安全损失,感染主机从几十万台到上千万台,经济损失从上亿美元到上百亿美元。
当前黑客组织非常活跃,其中既包括传统的青少年黑客、跨国黑客组织,也包括商业间谍黑客和恐怖主义黑客,乃至国家网络战部队。2003年以前的黑客多以恶作剧和破坏系统为主,包括对技术好奇的青少年黑客和一些跨国黑客组织;2004年以后的黑客行为则多为实施商业犯罪并从事地下黑产,危害已经不限于让服务与系统不可用,更多的是带来敏感信息的泄露以及现实资产的损失。2009年后,以一系列APT攻击的出现以及美国“棱镜”计划曝光为标志,来自国家层面的网络威胁逐渐浮出水面。
综合分析引起软件安全问题的两大原因可知,安全威胁是软件问题的外因,安全漏洞则属于内因。虽然可以通过在实际运维过程中部署安全设备和控制措施,努力降低安全事件发生的可能性,但开发高质量的软件系统,尽量降低软件中的安全缺陷才是治本之策。