一、软件安全
1、软件安全关注的是计算机程序或程序中信息的完整性、机密性和可用性
2、软件的安全缺陷:
1)软件自身的缺陷,设计者故意或过失
2)软件漏洞是基本的形态,而恶意代码是延伸的形体
3)软件中的客观存在
3、风险与安全事件
风险:软件内在的漏洞暴露在外在的威胁时称为风险
安全事件:软件内在的缺陷遭遇到威胁时为安全事件
4、软件安全范围
软件生命周期:软件设计阶段、软件编码测试阶段、软件运维阶段
软件环境要素:软件自身、开发者、软件开发环境、软件运行环境
软件安全功能:防反汇编/反编译、防调试跟踪、防篡改、防盗版、防内存攻击、防API违规调用、防拒绝服务、可追踪
二、软件安全知识体系
1、软件漏洞
漏洞原理与案例
漏洞挖掘与利用
漏洞检测与防范:安全编码
2、恶意代码
恶意代码的机理:传统病毒、宏病毒、木马
恶意代码的检测:检测、消除、预防、免疫、数据备份及恢复、防范策略
3、软件保护
软件分析(破解):静态分析和动态分析
软件保护(反破解):防逆向分析、防动态调试、运行环境检测、反杀箱、数据校验、代码混淆技术、软件水印
三、软件漏洞
—缓冲器溢出
—SQL注入漏洞
1、软件漏洞出现的原因
小作坊式的软件开发
赶进度的弊端
没有重视安全测试
安全思想淡薄
安全维护不完善
2、软件漏洞的危害
无法正常使用
引发恶性事件
关键数据丢失
秘密信息泄露
计算机感染病毒
四、软件风险
1、输入验证与表示
2、API误用
3、安全特征
4、时间与状态
5、错误代理
6、代码质量
7、封装
8、环境