首页 理论教育 系统漏洞及社会工程学的威胁

系统漏洞及社会工程学的威胁

时间:2023-07-02 理论教育 版权反馈
【摘要】:一些大型系统的开发过程非常复杂,需要使用多种程序设计语言,撰写数万、数十万乃至数百万行代码,而操作系统级别的软件,如微软视窗操作系统的代码更是达到惊人的五千万行。许多错误在通常情况下并不会对系统安全造成危害,只有通过漏洞非法侵入系统或运行恶意代码的时候才会产生影响系统安全的后果。社会工程学已经成为黑客发现漏洞和进行攻击的重要手段。

系统漏洞及社会工程学的威胁

没有一个程序设计的逻辑是天衣无缝的,没有一个软件应用是完美无瑕的,也没有一个网络系统是无懈可击的。就操作系统而言,无论是大到应用最广泛的微软视窗操作系统、集中了最优秀软件工程师设计出来的苹果操作系统,还是在智能手机上占据大半壁江山的安卓系统,也会三天两头发现新漏洞,要求用户下载更新、升级和打补丁。如今接入互联网的大大小小数千万个站点,运行着数以百万计的各类应用软件,存在的漏洞就更是数不胜数。正因漏洞无网不在,给形形色色攻击者留下了大量可乘之机,也给网络防御者带来应接不暇的挑战。

漏洞是系统的一组特性,攻击者或者攻击程序能够利用这组特性,绕开安全机制直接进入系统,或者对系统数据和资源进行未经授权的访问。漏洞既包括程序功能上的不足,也包括应用结构的缺失,以及整个系统逻辑的弱点。漏洞可能是开发者为调试方便而故意创建的后门,或是无意中留下可被权限之外调用的接口。事实上,完全没有漏洞的网络系统是不存在的,即使在系统开发过程中,反复进行语句和逻辑分析,在预设环境下运行测试,仍然难以避免留下各种漏洞。

常言道,世上没有不透风的墙,墙之所以透风是结构上存在瑕隙。同样,也不存在没有任何漏洞的系统。一些大型系统的开发过程非常复杂,需要使用多种程序设计语言,撰写数万、数十万乃至数百万行代码,而操作系统级别的软件,如微软视窗操作系统的代码更是达到惊人的五千万行。应用调试和程序编译虽然可以检测出语法和逻辑上的问题,但还是有许多缺陷无法检测出来。对于大型系统,动辄数十万行的代码运行起来总是会出现设计人员预料之外的结果。由于采用了不同的语言,模块之间大量频繁调用,接口和兼容也会出现不可预知的问题。此外,现在大型商业系统往往采用团队合作的开发模式,程序员编程习惯的差异也会导致代码模块调用时的误解。

总之,任何一个系统,都要由具体的人来设计,设计者的方法是否规范、思维是否周密、逻辑是否严谨,都会反映到运行系统当中。系统安全漏洞是在系统具体实现和具体使用中产生的错误,但并不是系统中存在的错误都是安全漏洞,只有能威胁到系统安全的错误才是安全漏洞。许多错误在通常情况下并不会对系统安全造成危害,只有通过漏洞非法侵入系统或运行恶意代码的时候才会产生影响系统安全的后果。(www.xing528.com)

漏洞通常不会主动发声,它自系统投入使用就存在于其中,但未必每个漏洞都能被及时发现。攻击者往往是安全漏洞的发现者,要对一个系统进行攻击,发现可利用的系统安全漏洞可以大大提高攻击效率,对于安全级别较高的系统尤其如此。除攻击者之外,使用者也会发现系统存在的漏洞,这时他可能会产生利用这个漏洞获取利益的念头,那么他可能从漏洞侵入系统直接窃取数据,或把漏洞发布到专门的交易市场上出售。系统开发者和运营者经过持续测试,也能够发现系统中存在的漏洞。不论通过哪种途径发现漏洞,系统开发者会在第一时间查找漏洞产生的原因,修改相关代码,然后把包含了修正代码的补丁程序发送给用户,用户下载补丁程序并执行,这是系统安全漏洞从被发现到被纠正的一般过程。

社会工程学已经成为黑客发现漏洞和进行攻击的重要手段。米特尼克曾说:“人为因素才是安全最终的软肋。”一些不起眼的细微之处,一些简单的测试方法,往往成为攻击者得手的关键环节。很多企业和机构投入重金搭建网络安全保障体系,但还是屡屡被黑客攻破,事后分析发现问题往往出现在人本身。对于黑客们来说,一个用户名、一串数字、一串英文代码,都可能是实现突破的钥匙,社会工程学专家获取尽可能多的个人属性和社会关系,进行过滤、筛选、整理,就能把目标的个人情况、家庭状况、兴趣爱好、婚姻状况、网上活动留下的痕迹等信息转换为密钥测试、鱼叉式攻击、搭线窃听、线下突破等网络攻击手段,为最终攻破系统创造条件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈