课程大纲

课程大纲

软件安全原理

课程编码:0839X6M04001H 英文名称:Principle of Software Security 课时:60 学分:3.00 课程属性:专业核心课 主讲教师:邹维等

教学目的要求
本课程是网络空间安全学科研究生的专业核心课,讲授软件安全的基本原理,以基础软件、B/S架构支撑软件、移动App为重点,讲解在软件技术发展过程中安全威胁与防御机制的博弈演进,以及确保软件安全性的最佳实践方法。以及确保软件安全性的最佳实践方法。课程以Bruce Schneier、Gary McGraw 等国际知名学者的著作为主要参考书。让同学通过课程学习与动手实践, 从安全视角重新认识软件,掌握围绕软件攻防的“白帽”与“黑帽”思维方法与技术,理解软件的安全内构(building security in)方法,为进一步研习系统安全与网络攻防奠定基础。

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

大纲内容
第一章 从安全视角认识软件 3学时 邹维
第1节 课程简介
第2节 重新认识软件
第3节 软件技术发展历程
第二章 软件安全 3学时 邹维
第1节 网络空间安全概述
第2节 软件安全
第3节 软件攻防技术的演进
第三章 网络与软件安全观 2学时 邹维
第1节 国家网络安全观
第2节 网络安全观(含【课堂作业:名著阅读】)
第3节 软件安全与网络安全的关系
第四章 逆向工程与程序理解 4学时 邹维
第1节 什么是逆向工程
第2节 程序生成与运行
第3节 程序逆向分析方法
第4节 【逆向工程示例】
第5节 围绕逆向分析的博弈对抗
第五章 计算机基础软件概述 3学时 贾晓启
第1节 计算机系统的构成和技术演进概述
第2节 现代操作系统的架构和用途
第3节 操作系统安全机制-写保护、执行保护、地址随机化
第六章 操作系统安全机制演进 3学时 贾晓启
第1节 操作系统安全机制-可信计算
第2节 操作系统安全机制-控制流安全技术
第3节 操作系统安全机制-访问控制
第七章 计算机虚拟化技术演进I 3学时 贾晓启
第1节 计算机虚拟化技术的演进与原理
第2节 计算机虚拟化技术的安全应用
第3节 计算机虚拟化技术自身风险防护
第八章 计算机虚拟化技术演进II 3学时 贾晓启
第1节 容器安全
第2节 商业云安全技术
第3节 【课程实践2:系统安全实践】
第九章 浏览器-服务器软件架构 3学时 霍玮
第1节 B/S架构介绍及演进
第2节 浏览器原理
第3节 Web服务软件原理
第十章 浏览器安全 5学时 霍玮
第1节 浏览器设计安全分析
第2节 浏览器实现安全分析-渲染引擎
第3节 浏览器实现安全分析-脚本引擎
第4节 浏览器供应链安全分析
第十一章 Web服务器软件安全 4学时 霍玮
第1节 浏览器运行安全分析
第2节 Web服务软件认证与授权安全分析
第3节 Web服务软件架构安全分析
第4节 Web服务软件供应链安全分析
第5节 【课程实践3:B/S软件安全实例分析】
第十二章 移动终端安全概述 3学时 陈恺
第1节 移动终端安全简介
第2节 移动终端操作系统与App的发展
第3节 技术演进概述
第十三章 移动终端操作系统的安全 3学时 陈恺
第1节 移动终端操作系统安全威胁的来源
第2节 典型移动终端操作系统的安全威胁
第3节 操作系统安全威胁的防御技术
第十四章 移动App的安全 6学时 陈恺
第1节 Android App生成、运行原理与典型安全问题
第2节 iOS App生成、运行原理与典型安全问题
第3节 【课程实践4:移动端应用安全实践】
第十五章 安全的软件开发 3学时 邹维
第1节 内构安全
第2节 安全的软件开发三大支柱Ⅰ
第3节 安全的软件开发三大支柱Ⅱ
第十六章 软件安全开发方法 3学时 邹维
第1节 安全的软件开发三大支柱Ⅲ
第2节 软件安全开发最佳实践
第3节 微软SDL
第十七章 软件供应链安全 3学时 邹维
第1节 软件全球供应链
第2节 软件供应链安全
第3节 【总复习】

参考书

课程教师信息
邹维:男,中国科学院大学网络空间安全学院教授、副院长、网络空间安全评测教研室主任,中国科学院信息工程研究所研究员、博士生导师、副所长。国家网络安全优秀人才奖、中国科学院教育教学二等奖、中国科学院大学领雁银奖获得者,中国科学院优秀导师、校级优秀课程主讲教师,中国科学院/中国计算机学会/北京大学优秀博士论文指导教师,大数据协同安全技术国家工程实验室顾问委员会专家委员,信息安全国际顶级会议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余项。

贾晓启:男,中国科学院大学网络空间安全学院教授,中国科学院信息工程研究所/信息安全国家重点实验室研究员、博士生导师,第六研究室系统安全测评研究群组负责人。中央国家机关青联委员,中科院青联委员,中国保密协会隐私保护委员会委员。主要研究领域是攻防技术、操作系统安全和云计算安全,曾在IEEE TIFS、TIFS、TSE、SCN、ICSE、ACSAC等重要国际会议和期刊上发表论文30余篇,申请专利12项(授权5项),获得软件著作权11项,并担任多项IEEE国际会议程序委员会委员和国际期刊审稿人。主持了多个重要项目,主要包括国家重点研发计划课题、核高基项目子课题、中科院重点项目子课题、部级重点项目课题负责人、国家自然科学基金课题、信息安全国家重点实验室重点项目、863子课题等。

霍玮:男,中国科学院大学网络空间安全学院教授,中国科学院信息工程研究所研究员、博士生导师,第六研究室软件安全分析研究群组负责人,中国科学院青年创新促进会成员,中国科学院信息工程研究所优秀引进人才。研究方向:软件漏洞挖掘和安全评测、基于大数据的软件安全分析、智能终端系统及应用安全分析;目前主要开展规模化、智能化及协同化漏洞挖掘及风险评估关键技术和系统的研发,关注基于云计算及大数据的新型漏洞挖掘技术和关键支撑技术,培养漏洞挖掘、程序分析及大数据系统构建等方面的人才。主持和参与项目10余项,包括主持国家级项目2项,省部级项目和横向合作项目多项,在国内外高水平会议和刊物上发表学术论文20余篇,申请10余项专利。