课程大纲

课程大纲

软件安全原理

课程编码:1802030839X5P2002H 英文名称:Principle of Software Security 课时:50 学分:2.50 课程属性:专业核心课 主讲教师:邹维等

教学目的要求
本课程是网络空间安全学科研究生的专业核心课,讲授软件安全的基本原理、安全威胁与攻击手段、安全防御机制,以及脆弱性分析基本方法。讲解在软件技术发展过程中安全威胁与防御机制的博弈演进,以及确保软件安全性的最佳实践方法。通过课堂学习与课程实践, 同学将理解软件安全的基本原理,掌握围绕软件攻防的“白帽”与“黑帽”思维方法,了解软件的安全内构(building security in)方法,为进一步研习系统安全与网络攻防奠定基础。

预修课程
程序设计语言、操作系统、编译方法、汇编语言

大纲内容
第一章 软件与网络空间 2学时 邹维
第1节 课程简介
第2节 重新认识软件
第3节 软件技术发展历程
第二章 网络安全观 1学时 邹维
第1节 国家网络安全观
第2节 网络安全观
第3节 软件安全与网络安全的关系
第三章 软件与安全 6学时 邹维
第1节 网络空间安全概述
第2节 软件安全
第3节 软件攻防技术的演进
第4节 软件的生成
第5节 软件的运行
第6节 【课程实践:程序生成与运行实验】
第四章 软件安全原则 4学时 邹维
第1节 软件与系统安全基本原则
第2节 隔离
第3节 最小权限
第4节 威胁模型
第5节 【课程实践:威胁建模实践】
第6节 缺陷与漏洞
第五章 内存与类型安全 2学时 邹维
第1节 指针的功效
第2节 内存安全
第3节 类型安全
第六章 软件安全攻击手段 6学时 邹维
第1节 拒绝服务
第2节 信息泄漏
第3节 困惑代理人(Confused deputy)问题
第4节 提权
第5节 【课程实践:提权攻击实验】
第七章 软件安全防御策略 6学时 邹维
第1节 软件验证
第2节 基于编程语言的安全
第3节 软件漏洞发现
第4节 威胁消减
第5节 【课程实践:程序攻防实践】
第八章 软件安全测试与分析方法 6学时 邹维
第1节 逆向分析
第2节 人工分析
第3节 【课程实践:逆向分析实践】
第4节 模糊测试
第5节 符号执行
第6节 【课程实践:自动分析实验】
第九章 移动App的安全 3学时 陈恺
第1节 Android平台App安全
第2节 iOS平台App安全
第3节 【课程实践:移动安全实践】
第十章 智能软件系统脆弱性 3学时 陈恺
第1节 智能软件系统简介
第2节 脆弱性与对抗样本攻击
第3节 对抗样本防御
第十一章 智能软件系统后门 3学时 陈恺
第1节 智能软件系统后门攻击
第2节 智能软件系统后门防御
第3节 智能软件系统后门检测
第十二章 软件开发与安全 2学时 邹维
第1节 内构安全与安全的软件开发SDL
第2节 SDL支柱Ⅰ- 风险管理
第3节 SDL支柱Ⅱ - 安全接触点
第4节 SDL支柱Ⅲ - 安全知识
第十三章 软件安全开发方法 2学时 邹维
第1节 软件安全开发实践
第2节 【案例分析】微软SDL实践
第3节 【案例分析】华为SDL实践
第十四章 软件供应链安全 2学时 邹维
第1节 软件全球供应链
第2节 软件供应链安全
第3节 【总复习】
第十五章 【期末考试】 2学时 陈恺
第1节 【期末考试】

参考书
1、 软件安全 彭国军、傅建明、梁玉 2015年09月 武汉大学出版社
2、 Geekonomics: The Real Cost of Insecure Software(中译本:软件安全败局启示录) David Rice 2007年11月 Addison-Wesley Professional
3、 Secrets and Lies: Digital Security in a Networked World(中译本: 网络信息安全的真相) Bruce Schneier 2000年8月 Wiley
4、 Building Secure Software: How to Avoid Security Problems the Right Way(中译本: 安全软件开发之道-构筑软件安全的本质方法) John Viega, Gary McGraw 2001年9月 Addison-Wesley Professional
5、 Exploiting Software: How to Break Code(中译本: 软件剖析—代码攻防之道) Greg Hoglund, Gary McGraw 2004年2月 Addison-Wesley Professional
6、 Software Security: Building Security In(中译本: 软件安全:使安全成为软件开发必需的部分) Gary McGraw 2006年1月 Addison-Wesley Professional

课程教师信息
邹维:男,中国科学院大学网络空间安全学院教授、副院长,中国科学院信息工程研究所研究员、博士生导师、副所长。国家网络安全优秀人才奖、中国科学院教育教学成果二等奖、中国科学院大学领雁银奖获得者,中国科学院优秀导师、校级优秀课程首席教授,中国科学院/中国计算机学会/北京大学优秀博士论文指导教师,大数据协同安全技术国家工程实验室顾问委员会专家委员,信息安全国际顶级会议S&P 2013年程序委员会委员。研究方向:网络与软件安全。
陈恺:男,中国科学院大学网络空间安全学院教授,中国科学院信息工程研究所研究员、博士生导师,信息安全国家重点实验室副主任,国家“万人计划”青年拔尖人才、北京市“杰青”、北京市“科技新星”、北京市智源青年科学家、中国科学院青促会优秀会员、中国科学院朱李月华优秀教师,IEEE S&P、USENIX Security、ACM CCS等多个国际会议程序委员会委员,中国计算机学会系统软件专委会常委。研究方向:软件与系统安全、人工智能安全。在IEEE S&P、USENIX Security、ACM CCS、ICSE、ASE、TIFS、TDSC、TMC、TRE等会议(期刊)发表论文100余篇;曾主持国家重点研发计划课题、国家自然科学基金(重点项目)等国家部委课题40余项。