教育教学

相关链接:

教室安排

课程信息

当前位置: 首页 > 教育教学 > 研究生教育 > 课程信息

软件安全与脆弱性分析  201M4012H

学期:2016-2017学年秋 | 课程属性:专业核心课 | 任课教师:邹维等
课程编号: 201M4012H 课时: 60 学分: 3.0
课程属性: 专业核心课 主讲教师:邹维等
英文名称: Software Security and Vulnerability Analysis

教学目的、要求

本课程是网络空间安全学科研究生的专业核心课,讲授软件安全的基本原理及工程化实施方法,并针对多类重要软件讲解其安全脆弱性分析过程。课程的目的及任务是:让同学通过课程学习,深入理解软件的安全内构(building security in)本质与方法,提高软件开发的安全性专业素质;同时,理解软件中安全防护机制与脆弱性问题的共生、演进特性及分析方法,为进一步研习网络攻防奠定基础。

预修课程

程序设计语言、汇编语言、编译原理、操作系统原理

教 材

《Software Security: Building Security In》 《软件安全:使安全成为软件开发必需的部分》(中译版)

主要内容

第一版块 软件安全   
    论述软件安全的基本原理及工程化实施方法。包括三个部分:I.软件安全基础(第1-2章),介绍软件安全领域的最新进展。Ⅱ.软件安全的七个接触点(第3-9章),论述软件安全的最优方法,接触点是软件安全的三大支柱之一。Ⅲ.软件安全的崛起(第10-12章),介绍重要的软件安全知识和大规模的软件安全计划的深入分析。
第1章 学科定义
第2章 风险管理框架
第3章 软件安全接触点简介
第4章 利用工具进行代码审核
第5章 体系结构风险分析
第6章 软件渗透测试
第7章 基于风险的安全测试
第8章 滥用案例
第9章 软件安全与安全操作相结合
第10章 企业级的软件安全计划
第11章 软件安全知识
第12章 编码错误分类法

第二版块 软件安全脆弱性分析 
   以操作系统、虚拟机、移动平台、浏览器等重要软件为对象,解析其安全脆弱性机理。
第Ⅰ单元 操作系统安全脆弱性分析
   UNIX、Windows、Linux等系列操作系统基本工作原理及安全防护机制、代表性脆弱性问题,以及渗透与反渗透对抗演进路线。 包括:
1.操作系统原理概述;
2.计算机硬件安全机制演进;
3.操作系统安全机制演进;
4.操作系统渗透与反渗透技术演进。
第Ⅱ单元 虚拟机安全脆弱性分析
   虚拟机基本工作原理及安全防护机制、脆弱性问题,以及渗透与反渗透对抗演进路线。包括:
1.虚拟机原理概述;
2.虚拟机安全机制演进;
3.虚拟机渗透与反渗透技术演进。
第Ⅲ单元 Web浏览器安全脆弱性分析
   IE、Chrome、Firefox、Edge等主流Web浏览器基本工作原理及安全防护机制、代表性脆弱性问题,以及渗透与反渗透对抗演进路线。包括:
1. IE、Chrome、Firefox、Edge等主流Web浏览器基本构成、工作原理及Webkit等典型浏览器内核架构分析;
2. 以Chrome为例,介绍浏览器安全体系架构及沙箱机制;
3. 以IE为例,介绍浏览器主要漏洞利用及去效方法的演进路线;
4. 介绍浏览器扩展等方面带来的安全威胁和对抗方法;
5.代表性漏洞案例分析。
第Ⅳ单元 移动操作系统安全脆弱性分析
   Android、iOS及移动应用(App)的基本工作原理及安全防护机制、代表性脆弱性问题,以及渗透与反渗透对抗演进路线。包括:
1. Android系统原理、安全机制与脆弱性问题;
2. Android应用代表性脆弱性问题;
3. iOS系统原理、安全机制与脆弱性问题;
4. iOS应用代表性脆弱性问题;
5. 移动平台的渗透与反渗透
第Ⅴ单元 历史上经典脆弱性问题分析
   UNIX编译器后门、心脏出血、Bash shock、XCode编程环境等经典脆弱性问题的机理及由来。
  

参考文献

1.《Building Secure Software: How to Avoid Security Problems the Right Way》
《安全软件开发之道-构筑软件安全的本质方法》(中译版)

2.《Exploiting Software:How to Break Code》
《软件剖析—代码攻防之道》(中译版)

3.《Principles of program 》

4.《Android Security Cookbook》
《Android安全攻防实战》(中译版)

5.《Hacking and Securing iOS Applications》
《iOS应用安全攻防实战》(中译版)

6.《Operating Systems: Internals and Design Principles (6th Edition)》
《操作系统:精髓与设计原理:第6版》

7.《系统虚拟化——原理与实现》

8.《Structured Computer Orgnization》
《计算机组成:结构化方法(原书第6版)》(中译版)

授课时间: 星期二, 第5、6、7节
授课地点: 教1-109
授课周次: 2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22

版权所有©中国科学院大学

地址:北京市怀柔区雁栖湖东路1号 邮编:101408