课程大纲

课程大纲

软件安全漏洞分析与发现

课程编码:0839X6M05001H 英文名称:Discovery and Analysis of Software Vulnerability 课时:40 学分:2.00 课程属性:专业普及课 主讲教师:苏璞睿等

教学目的要求
本课程为信息安全专业研究生的专业普及课。本课程讲授和讨论软件安全分析前沿研究领域的主要思想和关键技术。主要内容包括软件安全漏洞分析方法和软件安全漏洞利用方法应用两大部分,软件安全漏洞分析方法包括程序切片、污点传播、符号执行和模糊测试等,软件安全漏洞利用方法的应用包括软件漏洞ShellCode编写、操作系统防御机制突破、攻击链构造等。
通过本课程的学习,希望学生能了解软件安全漏洞分析前沿研究领域,了解污点传播、符号执行等最新研究成果,掌握基本思想和关键技术,培养学生独立的软件安全漏洞分析和研究能力。

预修课程
C/C++编程、操作系统、汇编语言

大纲内容
第一章 绪论:软件安全漏洞分析背景介绍 3学时
第1节 软件安全漏洞分析的目标和意义
第2节 软件安全漏洞分析方法概述
第3节 软件安全漏洞分析方法的应用
第二章 软件安全漏洞分析基础知识
第1节 反汇编与汇编语言 1学时
第2节 程序基本结构与组成 1学时
第3节 操作系统基础知识 1学时
第4节 程序分析的图论基础 1学时
第5节 常用安全分析工具介绍 2学时
第三章 程序切片 3学时
第1节 程序切片分析概述
第2节 切片基本原理和方法
第3节 程序切片的应用
第四章 污点分析 3学时
第1节 污点传播分析概述
第2节 污点传播分析的基本原理和方法
第3节 污点传播分析的应用
第五章 模糊测试 6学时
第1节 模糊测试概述
第2节 模糊测试的基本原理和方法
第3节 分布式式模糊测试
第4节 精确模糊测试
第5节 模糊测试常用工具和案例
第六章 符号执行
第1节 符号执行概述 1学时
第2节 符号执行的基本原理 1学时
第3节 静态符号执行 1学时
第4节 动态符号执行 1学时
第5节 符号求解 1学时
第6节 符号执行常用工具和案例 1学时
第七章 网络协议逆向分析 3学时
第1节 网络协议逆向分析概述
第2节 网络协议消息格式逆向方法
第3节 网络协议状态机恢复方法
第4节 网络协议逆向典型案例分析
第八章 软件漏洞发掘与分析 3学时
第1节 软件漏洞发掘分析概述
第2节 软件漏洞挖掘
第3节 软件漏洞分析
第4节 软件漏洞发掘典型案例
第九章 软件漏洞利用方法 3学时
第1节 典型操作系统防护方法
第2节 Shellcode编写方法
第3节 控制流转移控制方法
第4节 操作系统防护机制突破方法
第5节 攻击代码构造方法
第十章 漏洞分析实践 3学时
第1节 漏洞分析实践

参考书
1、 Android软件安全与逆向分析 丰生强著 2013年 人民邮电出版社

课程教师信息
苏璞睿 男,中国科学院大学网络空间安全学院教授, 中国科学院软件研究所研究员,博士,博导,所学术委员会委员。长期从事软件动态分析、漏洞分析与利用检测等方面的研究,主要研究方向有:恶意软件动态逆向分析、智能移动终端应用安全以及软件漏洞分析与评估。发表论文50余篇。曾主持国家自然科学基金、836计划、973计划等10余项。

杨轶 男,中国科学院大学网络空间安全学院副教授,中国科学院软件研究所副研究员,博士。杨博士已在软件漏洞分析与挖掘方面作为核心参与人员承担了多项国家科技支撑计划、863计划、973计划等项目,相关研究成果已经得到了实际部署与应用。目前,杨博士作为课题负责人分别承担了该领域相关的国家自然科学基金、北京市自然科学基金各一项。杨博士曾经多次参与国际会议交流和专业论坛研讨,在教学、授课方面具有较好的经验。

聂楚江 男,中国科学院软件研究所高级工程师,博士。曾在软件漏洞分析与挖掘方面作为核心参与人员承担了多项国家科技支撑计划、863计划、973计划等项目,相关研究成果已经得到了实际部署与应用。目前,作为课题负责人分别承担了该领域相关的国家自然科学基金、国家信息安全计划项目各一项。