软件安全运行的概念
软件包括系统软件(如操作系统、数据库系统、中间件
等)和信息系统应用软件(包括 ERP软件、SCM 软件、CRM 软件、OA 软件
等)。
软件安全运行的影响因素
影响软件安全运行的因素归纳起来,常见的主要有两种,第一种是针对操作系统的安全漏 洞实施攻击
,第二种是针对基于Web的信息系统软件的攻击
。
操作系统的安全漏洞
操作系统的安全漏洞主要有以下5种。
(1)输入输出(I/O) 非法访问。
(2)访问控制的混乱。
(3)不完全的中介。
(4)操作系统后门。
(5)操作系统型病毒。
基于Web 的信息系统软件攻击
针对 Web环境应用系统软件攻击的常见方法和技术主要有:精心修改Cookie 数据进行用 户假冒;攻击者利用不安全的证书和身份来逃避管理;在动态网页的输入中使用各种非法数据, 获取服务器敏感信息;攻击者利用超出缓冲区大小的请求和构造的二进制代码让服务器执行溢 出堆栈中的恶意指令;强制访问未授权的网页;对网页中的隐藏变量进行修改,欺骗服务器程 序;构造大量的非法请求,使Web 服务器不能进行正常用户的访问;提交非法脚本,趁其他用 户浏览时盗取其账号等信息;SQL 注入,即构造SQL 代码让服务器执行,获取敏感信息,并 获得相应的权限,Web 网页上的用户名表单往往是这类攻击的入口;由于输入检验不严,以及 在错误的代码层中编码,使得攻击者可以对数据库进行查询、删除和修改等操作,在特定的情 况下,甚至还可以执行系统指令。
主要攻击方式
实施上述针对操作系统和基于 Web 的信息系统软件的攻击时,攻击者经常采用欺骗的方 式,包括:IP 欺骗、ARP(Address Resolution Protocol,地址解析协议)欺骗、DNS(Domain Name System, 域名服务系统)欺骗、Web 欺骗、电子邮件欺骗、源路由欺骗(通过指定路由,以假 冒身份与其他主机进行合法通信或发送假报文,使受攻击主机出现错误动作)、地址欺骗(包 括伪造源地址和伪造中间站点)等。
攻击的方式归纳起来基本上分为两种:数据篡改和编程攻击
。
(1)数据篡改(Data Tampering) 是最常见的攻击手段,自计算机中输入错误的、欺骗性 的数据,或者删除、更改现有数据。这种方法常为内部人员使用。
(2)编程攻击是计算机犯罪常用的一种攻击手段,即利用编程技巧直接或间接地修改计算机程序。
软件安全运行的措施
为保证软件的安全运行,必须建立安全的操作系统,在保证服务器上的操作系统软件、防 病毒软件和防火墙软件安全的同时,保障信息系统软件安全,关注 Web 应用系统的上传漏洞和 SQL 注入防范,并结合使用相应的 Web 应用系统漏洞检测技术、防火墙技术和入侵检测技术。
操作系统的安全
操作系统中常见后门的方法可归纳如下:
(1)加强程序开发阶段的安全控制,防止有意破坏并改善软件的可靠性。
(2)在程序的使用过程中实行科学的安全控制。
(3)制定规范的软件开发标准,加强管理,对相关人员的职责进行有效监督,改善软件的 可用性和可维护性。
服务器上的操作系统软件、防病毒软件和防火墙软件的安全
信息系统软件都要依托于服务器设备。为保证安装在服务器上的操作系统软件、防病毒软 件和防火墙软件的安全,必须做到以下4点。
(1)根据应用软件的需求和服务器硬件架构选择安装合适的操作系统,服务器操作系统软 件应当定期更新操作系统的安全升级补丁。
(2)服务器应当安装防病毒软件,系统管理人员要定期更新防病毒软件补丁和病毒特征库。 系统管理人员要为防病毒软件定制自动病毒扫描策略,定期检查策略的执行情况。
(3)服务器应当安装防火墙软件,系统管理人员要定期为防火墙软件更新补丁,配置出入 操作系统的防火墙安全防护策略,阻止可疑访问。
(4)系统管理人员要定期对服务器操作系统进行安全检查(建议每周一次),并出具书面 检查报告。
信息系统软件的安全
为保障信息系统软件的安全,应做到以下4点。
(1)因劣质软件而产生安全问题时,从组织上来说,是管理规范出了问题。
(2)为了成功实施信息系统软件安全计划,可以雇用外部的咨询人员来帮助建立一个小组, 但由于软件安全人员所具备的广泛的经验和知识非常宝贵,这种人员也极为少见,所以雇用成 本很高。
(3)对于大型信息系统软件安全的运维,可以找到对操纵信息系统软件最熟悉的人员,投 资培养其成为软件安全员,让其负责软件安全。
(4)应用系统服务器安装了信息系统软件,是应用系统的业务处理平台,是用户读取和写 入数据的桥梁。应用服务器密码要由专人负责持有,不得转让他人,密码要符合复杂性要求且 定期修改。
Web 应用系统上传漏洞和 SQL 注入防范
Web应用系统的主要防范技术包括防范上传漏洞和 SQL 注入防范
。
Web 应用系统漏洞检测技术
Web应用系统漏洞检测工具采用的技术主要有以下4种:
(1)爬虫技术
。
(2)Web 应用系统软件安全漏洞检测技术
。
(3)Web 系统应用软件安全漏洞验证技术
。
(4)代码审计
。
防火墙技术
防火墙是放置在本地网络与外界网络之间的一道安全隔离防御系统,是为了防止外部网络 用户未经授权的访问,用来阻挡外部不安全因素影响内部的网络屏障。
防火墙的主要作用体现在以下几个方面:
(1)可以把未授权用户排除到受保护的网络外,禁止脆弱的服务进入或离开网络,过滤掉 不安全服务和非法用户。
(2)防止各种IP 盗用和路由攻击。
(3)防止入侵者接近防御设施。
(4)限定用户访问特殊站点。
(5)为监视Internet 安全提供方便。
入侵检测技术
入侵检测技术是指对计算机网络资源的恶意使用行为(包括系统外部的入侵和内部用户的 非授权行为)进行识别和相应处理。
通常采用的入侵检测手段如下:
(1)监视、分析用户及系统活动。
(2)系统构造和弱点的审计。
(3)识别反映已知进攻的活动模式并向相关人士报警。
(4)异常行为模式的统计分析。
(5)评估重要系统和数据文件的完整性。
(6)操作系统的审计跟踪管理,并识别用户违反安全策略的行为。