软件安全概述

1、软件安全的重要性

相关定义:

  • 零日漏洞:未被公开过的漏洞,没有给软件厂商和作者时间去修补漏洞,或者已经验证的存在的但不被公开披露的漏洞
  • 网络战:网络战是一种黑客行为,它通过破坏对方的计算机网络和系统,刺探机密信息达到自身的政治目的。
  • 软件安全:软件时程序、数据、文档的集合体。软件安全就是使软件在受到恶意攻击的情形下依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。

重要性分析:

  • 软件无处不在:应用软件的普及,涉及生活方方面面,安全的软件的生活安全的基础保障。
  • 软件规模日益增大:随着范围的日益广泛,软件规模也随之增大,常见软件规模已经达到千万行级数,对于代码的设计等安全因素就存在巨大考验。
  • 软件漏洞普遍存在,零日漏洞成为主要威胁。
  • 软件安全关乎国家基础设施、国防安全,已经成为国家级的军事与民生竞争。

2、软件安全面临的威胁

1)软件漏洞

  • 内存泄漏,运行时消耗过大直至系统崩溃
  • 多线程设计不周全致使系统因资源不足而锁死或死机
  • 明文存储用户口令
  • 登录安全验证强度太低
  • 对用户没有输入限制,能被利用后执行系统命令等。

2)恶意代码
恶意代码指再未授权的情况下,以破坏计算机软硬件设备、窃取用户信息、干扰正常使用等为目的编写的软件或代码片段。
恶意代码包括 计算机病毒、蠕虫、特洛伊木马、后门、内核嵌套、间谍软件、恶意广告、流氓软件、逻辑炸弹、网络钓鱼、恶意脚本等。

3)软件侵权
计算机软件侵权行为主要有:

  • (1) 未经软件著作权人的同意而发表或者登记其软件作品。
  • (2) 将他人开发的软件当作自己的作品发表或者登记。
  • (3) 未经合作者酌同意将与他人合作开发的软件当作自己独立完成的作品发表或者登记。
  • (4) 在他人开发的软件上署名或者更改他人开发的软件上的署名。
  • (5) 未经软件著作权人或者其合法受让者的许可,修改、翻译其软件作品。
  • (6) 未经软件著作权人或其合法受让者的许可,复制或部分复制其软件作品。
  • (7) 未经软件著作权人及其合法受让者同意,向公众发行、出租其软件的复制品。

3、软件安全的概念

软件全定义:
对于软件安全,目前没有统一 的定义与标准。在国家标准中GB/T 30998—2014中给出的定义是:软件工程与软件保障的一个方面,他提供一种系统的方法来标识、分析和追踪对危害及具有危害性功能的软件缓解措施与控制。
在早期的定义中,著名安全专家加里.麦劳格提出的定义是:“在面零蓄意威胁 其可靠性的事件的情形下依然能够提供所需功能的能力”
在现代定义中,软件安全性被定义为“软件产品在指定适用范围环境下达到对人类、业务、财产或环境造成的损害的可接受的风险级别”。强调了软件安全与数据保密的密切联系,指出了软件安全问题的根源在于软件的设计缺陷。

用信息安全基本要素解读软件安全

1)CIA三要素

  • 保密性
  • 完整性
  • 可用性
    2)其他安全属性
  • 可认证性
  • 授权
  • 可审计性或可查性
  • 抗抵赖性
  • 可控性:指对信息安全风险的控制能力
  • 可存活性:在面对攻击或灾难时能继续提供核心服务,解决方法时系统容侵、灾备与恢复

相关概念辨析

1)软件工程:
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间验证和考验过而证明正确的管理技术和经验方法结合起来,经济的、高效的进行计算机应用程序开发与维护。
2)软件危机

  • 第一次软件危机:60~70年代,高级语言开始出现;操作系统的发展引起了计算机应用方式的变化,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发

  • 第二次软件危机:80年代~90年代,软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升,软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要。

  • 第三次软件危机:2005年至今,原因在于:用户需求不明确,缺乏正确的理论指导,软件开发规模越来越大,软件开发复杂度越来越高。
    3)软件质量与软件质量保证
    简单来说就是软件与需求的匹配程度。
    4)软件保障
    包括软件质量、软件安全性、可靠性、验证与独立验证等

4、软件安全的研究内容

信息保障的概念

PDRR模型: 保护—>检测—>响应---->恢复—>检测
信息保障的核心思想:纵深防护战略,基本技术思路如下:

  • 保护网络和基础设施:主干网的可用性;无线网络安全框架;系统互联与虚拟专用网络
  • 保护边界:网络登录保护;远程访问;多级安全
  • 保护计算机环境:终端环境保护;系统应用保护
  • 支撑基础环境:PKI;检测与响应

网络空间信息安全与保障
网络空间信息存在透明性、传播的裂变性、真伪的混杂性、网控的滞后性使得网络空间安全面临前所未有的挑战。网络战场全球化,网络攻防常态化等突出问题,使得高效科学的管控网络成为重大课题。

软件安全的主要方法和技术

基本方法:

  • 采用多种检测、分析与挖掘技术对网络安全错误或漏洞进行发现、分析与评价。采用多种防护措施进行修复和风险控制,如传统的打补丁、防病毒、防火墙、入侵检测等。
  • 分析软件安全错误的原因,将安全错误修正嵌入整个软件开发生命周期。

主要防护技术:

  • 信息安全属性的认知
  • 系统安全工程
  • 软件安全开发:包括安全需求分析与设计、安全编码、安全测试、安全部署。

猜你喜欢

转载自blog.csdn.net/qq_45590334/article/details/111832171