APP下载

计算机软件安全漏洞技术分析研究

2021-03-16李洪涛张秀娟

中国应急管理科学 2021年9期
关键词:安全漏洞计算机软件技术分析

李洪涛 张秀娟

摘要:计算机软件安全漏洞检测技术,主要目是在软件开发过程中帮助用户发现潜在安全问题,在软件使用过程中帮助用户规避其中存在安全风险,保护计算机设备和用户信息安全。在全世界互联网高速发展背景条件下,移动互联网逐渐成为主流,物联网也已形成发展趋势,计算机软件安全隐患,会影响计算机系统稳定性和安全性。因此,探究计算机软件安全漏洞检测技术,对保障我国互联网中计算机软件安全运行,可以提供有效帮助。

关键词:计算机软件;安全漏洞;技术分析;研究

中图分类号:TP311.5

一 计算机软件中安全漏洞。

计算机软件安全漏洞产生的来源,主要是软件本身在编写过程中产生隐性缺陷。这些缺陷有的是设计原因造成,有的是开发人员技术性失误造成,也有的是随着技术发展和条件变化而暴露出来。这些安全漏洞如果被不法分子利用,通过这些缺陷在未经授权情况下对系统进行访问和控制,可能对系统正常稳定运行产生不确定影响,严重情况会造成信息泄露、系统软硬件故障,甚至不可预知经济损失。对于普通用户来说,基本观念是在计算机系统中部署病毒防火墙和网络防火墙,例如360、火绒、瑞星等厂商安全产品。从安全漏洞产生原理和安全防护软件运行机制来分析,这种方式是远远不够。例如,当漏洞不是出现在常见操作系统和基础软件上,而是发生在私有化部署或定制开发软件系统中,漏洞原因是中间件的缺陷或业务代码逻辑存在问题,这种漏洞并不包含触发病毒防护软件或网络防护软件特征值,所以无法被这类安全软件及时发现。同时,安全漏洞产生是一个动态过程,随着软件运行时间推移,当前没有漏洞软件系统,在远期依然可能会因为操作系统、基础软件、网络结构等外部环境变化而出现新漏洞。所以,在软件从生产到运维完整生命周期过程中,软件安全漏洞检测工作都是一项综合的、专属的、持续性工作,这样才能防患于未然,尽快采取修补措施,避免发生安全事件。

二 软件安全漏洞检测技术

1代码分析检测

代码分析检测对象是计算机软件源程序代码。对于国内大多数应用软件,如果对软件安全性要求较高,可以采用代码分析检测方式来查找漏洞。代码分析首先使用专用分析软件,通过源代码静态分析技术对软件程序代码进行自动化分析,检查程序中不符合安全规则文件引用、命名规则、函数、堆栈调用等风险点,结合已经公布安全信息库,从代码层面发现软件中可能存在安全缺陷位置。

对于无法获得程序代码软件,更高级分析检测方法是对软件进行逆向工程。例如使用Java和.NET技术开发软件,如果未采取有效保护措施,可以通过反编译方法获得程序代码。即使无法进行反编译,也可以使用类似IDA这样专用软件进行反汇编,针对汇编语言进行分析。

2动态扫描检测

由于计算机软件在运行时是动态变化,代码分析方法是根据已知规则进行比对分析,未考虑软件外部运行环境因素,以及使用过程中人为干预情况,因此这种方法不能发现软件程序运行过程中安全漏洞。所以,需要在软件运行过程中对软件行为以及软件运行整体环境进行动态扫描分析,從而发现软件在运行状态下才能暴露出来漏洞。动态扫描检测基本原理是模拟黑客攻击过程,对软件系统进行目标探测、状态扫描、漏洞分析和渗透攻击等操作,发现软件运行中潜在风险。

随着网络应用快速发展,软件系统动态扫描检测技术方法已经非常成熟,已经有多种方法可以完成各阶段扫描任务。通过目标探测,可以发现软件系统中对外提供服务主机地址和端口;通过状态扫描,可以发现软件系统运行环境、运行状态等信息;通过漏洞分析,可以发现软件系统和运行环境中可能存在安全漏洞;通过渗透攻击,可以用已知攻击手段对软件进行破坏性尝试。动态扫描检测发现安全漏洞,就是软件系统运行过程中安全薄弱点,也极有可能是黑客攻击入侵点,通过对这些薄弱点进行修复,可以极大提高软件安全性。

三 安全漏洞检测技术应用

1漏洞扫描

漏洞扫描是安全检测中最基本检测技术。一般漏洞扫描是由安全管理人员使用漏洞扫描设备对固定范围内主机和网络设备进行探测分析,根据探测获取反馈信息与设备厂商漏洞信息库进行对比,对发现潜在威胁汇总报告。安全管理人员根据报告采取修补措施。在没有漏洞扫描设备情况下,很多漏洞扫描工具也可以达到同样效果,甚至在专项扫描方面,更为准确。

2渗透测试

随着互联网和智能终端普及,现在软件系统多数采用网络架构,以Web方式设计实现。渗透测试是解决网络应用系统安全检测最有效方法。渗透测试是出于保护系统目的,以模拟入侵方式来发现测试对象安全隐患。渗透测试目标通常包括主机操作系统、数据库系统、应用系统、网络设备。渗透测试过程一般包括信息采集分析、威胁规则建模、漏洞探测分析、渗透攻击验证、修补方案制定等几个步骤。渗透测试是一个非常专业化过程,需要专业安全分析人员实施,不是简单使用工具软件就可以进行。在针对Web开发中常见SQL注入、跨站式攻击、验证码破解、弱口令等问题,人工干预效果更明显。

3网络劫持

因为基于网络软件系统在运行状态下涉及网络环节比较多,从终端浏览器到服务器入口通讯过程中,对网络环境干预,也可能会产生软件漏洞。例如在软件系统中经常使用http协议,ftp协议,pop3协议,对数据都是明文传输,客户端和服务器之间任何环节对数据劫持,都会造成信息泄露风险。即使使用加密方式,也存在中间人攻击可能。对于软件将部分逻辑前置于浏览器内情况,通过JS篡改等方法,依然可以获取交互信息,甚至影响操作结果。

四 结语

随着网络信息安全在国家、社会中影响越来越大,计算机软件安全漏洞检测技术也备受关注。虽然软件安全漏洞检测方法可能滞后于漏洞发布,但是在安全威胁大规模爆发之前,依然存在修复漏洞关键时期。从发展角度看,安全漏洞是客观存在,漏洞检测工作应从本质出发,贯穿软件从生产到运维全过程,在不同软件生命周期中,合理采用多种漏洞检测技术,并形成长效运行机制,制定风险预案,才能真正避免安全事件发生,实现计算机软件行业健康发展。

参考文献:

[1]张魏.计算机软件安全漏洞检测分析[J].数码世界,2018(03):113.

[2]郑宜锟.计算机软件中安全漏洞检测技术及其应用[J].计算机产品与流通,2018(01):32.

3216501908246

猜你喜欢

安全漏洞计算机软件技术分析
刍议计算机软件中的安全漏洞检测技术
计算机软件技术的不可靠性探析
计算机软件应用及其发展趋势研究
智能设备安全漏洞知多少
计算机软件安全漏洞检测技术
第一届全国青年运动会网球男子单打决赛技术统计分析
2014年世界羽毛球超级系列赛男双决赛技术对比分析
基于大数据的智能数据分析技术
建筑工程混凝土结构施工技术
计算机软件安全检测技术