- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Nothing is impossible;什么是软件安全
关注软件安全的原因
软件安全包含哪些方面
软件安全问题产生原因
软件安全问题解决之道
软件安全测试方法;2003年蠕虫病毒事件
熊猫烧香病毒
金融业攻击案例
伊朗核电站“震网(Stuxnet)”病毒
欧洲宇航局的阿丽亚娜5号火箭软件故障
我们的案例:
Kingview 历史库端口漏洞
Kingview WEB漏洞KvWEBSvr.dll;什么是安全
ISO:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件不因偶然或恶意的原因遭到破坏、更改和泄漏
物理安全
逻辑安全
信息的机密性
信息的完整性
信息的可用性
安全的产品;漏洞(vulnerability)
RFC 2828:系统设计、实现或操作和管理中存在的缺陷或弱点,能被利用而违背系统的安全策略
漏洞挖掘
漏洞分析
漏洞利用
0day漏洞
Shell Code
;软件自身安全
软件自身完整性
软件自身可信性
软件存储安全
软???通信安全
软件运行安全;可信计算(Trustworthy Computing)的需要
墨菲定律(Murphys Law)
所有的程序都有缺陷
安全的产品是高质量的产品
≠完美的软件
媒体(或竞争对手)将在安全问题上大做文章
人们将避开那些实际工作状况与其广告不符的产品
不要成为牺牲品
修补安全漏洞的代价是高昂的;软件的应用范围越来越广,所起的作用越来越重要
黑客攻击越来越容易;漏洞利用速度越来越快;病毒的种类和感染的机会越来越多;对应用层的攻击远高于非网络层或系统层;2009年,卡巴斯基全功能安全软件的入侵检测系统(IDS)拦截了超过2亿1989万9678次的网络攻击;2009年卡巴斯基统计的20种常见漏洞;软件安全包含的内容;内存安全
线程/进程安全
异常处理安全
输入安全
数据库安全
国际化安全
远程调用和组件安全
WEB安全
避免拒绝服务攻击;头号公敌——缓冲区溢出
大部分缓冲区溢出漏洞允许攻击者控制计算机内存空间,并植入、运行任意代码
strcpy()
MultiByteToWideChar()
后果:
程序运行失败,程序出现异常
操作系统异常
成为黑客攻击的目标
堆栈溢出
off by one溢出
堆溢出
并不是所有缓冲区溢出都是可利用的;;;整数溢出
数组下标越界
字符串格式化
;线程同步安全
线程协作安全
线程死锁安全
互斥条件
请求与保持条件
不剥夺条件
循环等待条件
线程控制安全
进程安全;“出现错误就应该崩溃”
目的:保证系统的正常和安全运行
异常捕获的安全
异常处理的安全
本地处理
向客户端抛出
其它异常处理
On error resume
On error goto;“一切输入都是有害的”
用户输入安全
数字输入安全
字符串输入安全
环境变量输入安全
文件名安全
数据库输入安全;国际化(I18N)
本地化(L10N)
全球化(G11N)
字符集转换
MultiByteToWideChar()
WideCharToMultiByte();对象内存分配与释放
对象线程安全
对象序列化安全
静态成员安全;URL操作攻击
页面状态值安全
URL传值
表单传值
Cookie方法
Session方法
Web跨站脚本(XSS)攻击
SQL注入;Access Control List
应用程序抵御攻击的最后屏障
Administrators(完全控制)+Everyone(读取)
特权提升;远程调用(RPC)安全
恶意调用RPC服务器中的过程
客户端和服务器之间传递的信息被窃听,数据被篡改
DCOM安全
Active X组件安全;拒绝服务DoS
应用程序失败攻击
资源不足攻击
CPU不足攻击
内存不足攻击
资源不足攻击
网络带宽攻击
攻击原理
基于漏洞的攻击(逻辑攻击)
基于流量的攻击(洪水攻击)
分布式拒绝服务攻击(DDoS);加密=安全?
糟糕的密码保存处理
加密算法中使用不良的随机数;数据的加密保护;SQL注入
;DLL注入
Windows消息钩子
远程线程注入
注册表修改;软件安全方面的观念和知识不足
经济上的回报少甚至没有
软件设计没有考虑安全特性
编码错误
测试不到位;软件安全问题解决之道;灌输软件安全观念
了解软件安全的重要性
“搞破坏”
与行业安全问题保持同步
持续的安全教育;主动的安全开发过程;安全特性不等于安全的特性
安全专业技术+领域专业技术
更多的眼睛不代表更安全
设计阶段
定义产品的安全目标
安全是产品的一种特性
要有足够的时间考虑安全问题
安全的设计源于威胁模型
终结不安全的特性
设置BUG门槛
安全小组审查
;开发阶段
只有核心成员能够查看或更新新代码
新代码的安全审查
定义安全的编码准则
审查旧的缺陷
外部安全审查
测试阶段
发行和维护
原创力文档


文档评论(0)