第二讲 系统漏洞分析及相关标准

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络通信协议的安全性是实现网络数据安全传送的保障。例如,由于以太网协议是 基于共享信道广播通信,容易造成广播风暴或泄漏信息。现在,大多数网络嗅探器都 利用以太网协议的这个漏洞,窃取局部网络的通信信息。
工 具 Dsniff 用途描述 分析获取应用协议口令。
Ethereal
TCPDump windump ip6sic ISIC
工具名称 flawfinder Splint ITS4 Grep MOPS boon
简要描述 利用词法分析技术发现以C语言编写的源程序安全 漏洞 检查以C语言编写的程序安全漏洞 检查以C和C++语言编写的源程序安全漏洞 自定义漏洞模式,检查任意源程序安全漏洞 利用状态机技术来分析以C语言编写的源程序安全 漏洞 检查缓冲区溢出漏洞
漏洞存在的范围日益扩大。
操作系统的安全漏洞仍是信息系统当前面临的主要问题。 应用程序的漏洞逐年增多,尤其是国产软件

漏洞利用趋于简单化

网络搜索引擎可以很容易搜索各种攻击代码。 攻击程序已模块化
蠕虫名称 漏洞发布时间 大规模爆发时间 时间间隔

漏洞利用趋于快速化
尼姆达Worm_Nimda
工 具 Crack 5 网 址 简 介
/users/alecm/ /john/
Crack是一个密码猜测工具,用于发现 UNIX系统中的弱口令用户。 John the Ripper是一个快速的口令破解 工具,能用于多个平台。
Win32: VC6.0+OllyDbg
进程内存空间结构 汇编语言基本知识 栈的基本结构 函数调用过程
系统核心内存区间
0xFFFFFFFF~0x80000000 (4G~2G) 为Win32操作系统保留
用户内存区间
0x00000000~0x80000000 (2G~0G) 堆: 动态分配变量(malloc), 向高地址增长 静态内存区间: 全局变量、静态变量 代码区间: 从0x00400000开始 栈: 向低地址增长
绝大多数漏洞信息均是由国外相关组织首先发现和发布, 国内再参考引用。
缺乏对民间力量的有效引导,很多民间的漏洞分析 者逐渐倾向于 为黑客攻击服务。
CNNVD关于漏洞收集、处置和合作
面向国内外信息安全研究机构和个人爱好者推出了未公开漏洞提交受理 业务。 针对接受的漏洞,进行漏洞收集、漏洞验证、漏洞修复和漏洞通报等工作 开展广泛的社会合作,如专家计划、技术支撑单位、战略合作伙伴和白帽 子注册计划。
民间力量
论坛 黑客组织
国家对安全漏洞研究工作的重视程度有待提高
与国外已建立相对成熟的漏洞处置体系,并拥有众多漏 洞处置相关机构相 比,国内漏洞处置工作整体水平与国 外相比仍有较大差距。
缺乏对信息产品安全漏洞的监管,漏洞的预防、发现、评估、处置 等各个环节缺乏统一的协调。 漏洞自主发现能力较弱,水平不高,主要依赖国外
2001-09-18
2003-01-25 2003-08-11 2004-05-01 2005-08-13 2006-08-12 2008-10-23前
336天
185天 26天 18天 4天 4天 <0天
漏洞管理方面
以民间组织 CERT/CC 、政府协调机构 USCERT 和政府部门美 国国家标准与技术委员会NIST 为核心,相关安全机构组织、专 业安全技术公司、产品供应商、研究机构和个体为支撑的一个 比较完善的体系。

国内公司
有一些公司具备一定的能力,但总体上看开展漏洞研究工作的公 司还很 少。
研究机构
部分高校,研究所
CNCERT:
2000年便开始了漏洞处置相关的工作;拟定了与CVE兼容的、 国内第一 个漏洞库结构标准——《中文计算机信息系统通用漏洞 库(CNCVE)结 构标准》;通过网站、公告、电子邮件等形式 发布漏洞公告, 2006 年共整理发布与我国用户密切相关的漏洞 公告87个,2007年发布了104 个。 目标:促进厂商做好漏洞修补服务,帮助用户做好安全防范。
函数调用过程
把参数压入栈 保存指令寄存器中的内容 , 作为返回地址 放入堆栈当前的基址寄存器 把当前的栈指针(ESP)拷贝到基址寄存器,作为新的 基地址 为本地变量留出一定空间,把 ESP 减去适当的数 值
源代码审核 Fuzzing测试 API函数参数测试 补丁比对 静态分析 动态调试污点检查
为什么带来众多的安全问题?
安全状况越来越糟 安全威胁越来越大 主要根源是什么? 安全管理的问题? 硬件和软件脆弱性的问题!
漏洞数量日益增多,且危害日益严重。
美国国家漏洞库NVD收集的漏洞数量平均每天16个,其中高 度危险的漏洞占近50% ,且每年基本都呈递增趋势。 截至2013年12月,全年新增漏洞6366个,危急、高危、中 危和低危的修复率 93.53%、89.5%、72.70%以及 73.64%。其中Oracle漏洞最多,共533个。
家网络
官方的
同维护
CSRC创
安全漏洞发布
根据漏洞的危害程度有不同的发布策略。
对于满足特定危害等级(Severity Threshold,0-180) 的安全 漏洞,US-CERT将专门发布告警信息(Alert)。 对于危害不是特别严重但影响普遍的安全漏洞,通过一般 的USCERT Vulnerability Notes方式在USCERT的网 站发布。
图形化网络协议分析工具,可分析网络通信数据。
Unix/Linux平台网络协议分析工具。 Windows平台网络协议分析工具。 IPv6协议栈压力测试工具 TCP/IP协议栈稳定性测试工具
操作系统是计算机资源的直接管理者,可以说操作系统的安全是整个计算机系统 安全的基础。没有操作系统安全,就不可能真正解决数据库安全、网络安全和其他应 用软件的安全问题。没有安全的操作系统作基础,其他的安全技术就难以发挥效力。 现在应用最广泛的Windows系列操作系统存在很多安全漏洞。
单线程进程: (栈底地址: 0x0012FFXXXX)
多线程进程拥有多个堆/栈
堆(Heap)
堆的增长方向
内存低地址
堆栈段 内 存 递 增 方 向 数据段 文本(代码)段
…… 栈(stack) 非初始化数据段(BSS) 栈的增长方向
初始化数据段
代码段 系统DLL PEB&TEB
内存高地址
内核数据代码
John the Ripper
L0pht Crack
http://www.securityfocus. 一个用于Windows平台的口令破解工具, com/tools/1005 用于发现windows系统中的弱口令用户。
应用服务直接面向用户端,一个应用服务常常是多个软件或系统综合协作来提供,因 此,应用服务的安全漏洞不仅仅表现在应用软件本身,而且也同其他系统交互接口紧密联 系,例如数据库系统、操作系统、用户认证系统、应用编成语言、中间件等。相对来说, 操作系统级的安全目前得到了较为充分认识,但是应用服务的安全漏洞正逐渐得到认同。 根据所掌握的资料,应用服务漏洞的典型攻击方法归纳如下: • 利用应用服务的厂商提供用户手册和技术文档,发现应用服务的默认用户和口令、远程 管理支持。这种方法技术含量比较低,但是有效。 • 利用应用服务的安全机制功能不完善,恶意使用应用服务提供的资源。例如,垃圾邮件 转发。 • 利用应用服务提供给用户交互界面,注入恶意数据到后端服务程序。例如,SQL注入攻 击。 • 利用应用服务提供的额外功能,越权执行操作系统命令。例如,webshell。
网络安全的保障系统自身安全问题是攻击者的重点目标。假如网络安全的保障系统 存在漏洞,那么它不仅不能保障网络安全,而且还会造成虚假的网络安全。现在的访问控 制和保护模型本身也存在问题。常见的网络安全保障系统漏洞包括以下内容: • 防火墙脆漏洞 • IDS/IPS 的漏洞 • 身份认证系统漏洞
数据库
美国NVD ( National Vulnerability Database ) SecurityFocus Vulnerability Database
BugTraq
CNNVD CNCERT/CNVD 安全漏洞数据库
脆弱性定义及描述语言
编译器、调试器的使用
Fuzzing是一种基于缺陷注入的自动软件测试技术
通过编写fuzzer工具向目标程序提供某种形式的输入 并观察其响应来发现问题,这种输入可以是完全随机的 或精心构造的。Fuzzing测试通常以大小相关的部分、 字符串、标志字符串开始或结束的二进制块等为重点, 使用边界值附近的值对目标进行测试。
漏洞发现方面:
主要依靠产品供应商(如微软公司、思科公司)、 专业安全公 司和组织、研究机构
漏洞收集、验证和威胁评估方面:
1988年,Morris蠕虫爆发,成立第一个CERT组织 1999年,美国建立了公共漏洞和暴露列表CVE 2002年白宫发布了《保护网络空间的国家战略》,由美国国 安全司NCSD负责具体执行该战略。 2003 年 9 月,美国国土安全部联合 CERT/CC 宣布成立美国 应急响应组织US-CERT ,作为NCSD的运作机构。 CERT/CC实际上已成为了US-CERT 的主要组成部分,并共 了US-CERT Vulnerability Notes数据库 美国国家标准与技术委员会NIST下属的计算机安全资源中心 建了国家漏洞库NVD(2006年8月)
Worm_Slammer 冲击波Worm_Blaster 震荡波Worm_Sasser 狙 击 Worm_Zotob.a 魔波Worm_Mocbot Exploit.Win32.MS08 -067.g 波
2000-10-17 MS00-078
2002-07-24 MS02-039 2003-07-16 MS03-026 2004-04-13 MS04-011 2005-08-09 MS05-039 2006-08-08 MS06-040 2008-10-23 MS08-067
0x80000000
0x 7FFFFFFF

栈内容
AT&T 格式与Intel 格式
SP(ESP)
即栈顶指针,随着数据入栈出栈而发生变化
BP(EBP)
即基地址指针,用于标识栈中一个相对稳定的位置。通过 BP,可以方便地引用函数参数以及局部变量
IP(EIP)
即指令寄存器,在将某个函数的栈帧压入栈中时,其中就 包含当前的 IP值,即函数调用返回后下一个执行语句的地 址
应用服务直接面向用户端,一个应用服务常常是多个软件或系统综合协作来提供,因 此,应用服务的安全漏洞不仅仅表现在应用软件本身,而且也同其他系统交互接口紧密联 系,例如数据库系统、操作系统、用户认证系统、应用编成语言、中间件等。相对来说, 操作系统级的安全目前得到了较为充分认识,但是应用服务的安全漏洞正逐渐得到认同。 根据所掌握的资料,应用服务漏洞的典型攻击方法归纳如下: • 利用应用服务的厂商提供用户手册和技术文档,发现应用服务的默认用户和口令、远程 管理支持。这种方法技术含量比较低,但是有效。 • 利用应用服务的安全机制功能不完善,恶意使用应用服务提供的资源。例如,垃圾邮件 转发。 • 利用应用服务提供给用户交互界面,注入恶意数据到后端服务程序。例如,SQL注入攻 击。 • 利用应用服务提供的额外功能,越权执行操作系统命令。例如,webshell。
测试框架
补丁比对技术(一)
补丁比对漏洞挖掘过程,结构化比对
分析流程
软件的安全性漏洞的发现方 法主要还是依赖于人工干预,典 型方法是将已发现的安全漏洞进 行总结,形成一个漏洞知识经验 库,然后利用该漏洞库,通过人 工识别或者程序自动识别。用程 序自动发现漏洞的技术主要有词 法分析、模型检查、状态机检查、 错误注入(Fault Injection)、自 动定理证明,典型软件程序安全 发现工具有如表所示。
相关文档
最新文档