课程编号: 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版)》(中译版)