软件安全

赵磊

目录

  • 1 软件安全概述
    • 1.1 信息与信息安全
      • 1.1.1 什么是信息?
      • 1.1.2 什么是安全?
      • 1.1.3 什么是信息安全?
      • 1.1.4 信息面临哪些安全威胁?
      • 1.1.5 信息安全防护
    • 1.2 软件安全威胁及其来源
      • 1.2.1 软件缺陷与漏洞
      • 1.2.2 恶意软件
      • 1.2.3 软件破解
    • 1.3 如何加强软件安全防护
    • 1.4 课后思考
  • 2 计算机引导与磁盘管理
    • 2.1 系统引导与控制权
      • 2.1.1 计算机系统引导过程
      • 2.1.2 系统引导与恶意软件的关联
    • 2.2 80X86处理器的工作模式
    • 2.3 Windows内存结构与管理
    • 2.4 磁盘的物理与逻辑结构
      • 2.4.1 磁盘物理结构
      • 2.4.2 磁盘的逻辑结构
    • 2.5 FAT32文件系统及数据恢复
      • 2.5.1 FAT32文件系统结构
      • 2.5.2 文件的存储和删除
      • 2.5.3 被删除文件恢复的机理
      • 2.5.4 FAT32数据恢复实践
    • 2.6 NTFS文件系统
  • 3 PE文件格式
    • 3.1 PE文件及其表现形式
    • 3.2 PE文件格式与Win32病毒的关系
    • 3.3 PE文件格式总体结构概述
      • 3.3.1 PE文件原始数据
      • 3.3.2 相关工具介绍
      • 3.3.3 MZ及PE文件头
      • 3.3.4 可选文件头
      • 3.3.5 节表与节
    • 3.4 代码节与数据节
      • 3.4.1 代码节与数据节
      • 3.4.2 代码节与数据节-举例
    • 3.5 引入函数节:PE文件的引入函数机制
      • 3.5.1 引入目录表
      • 3.5.2 引入名字表及IAT等
    • 3.6 引出函数节:DLL文件的函数引出机制
      • 3.6.1 引出函数节
      • 3.6.2 引出函数节-举例分析
    • 3.7 资源节:文件资源索引、定位与修改
    • 3.8 重定位节:镜像地址改变后的地址自动修正
    • 3.9 PE程序的数字签名与验证机制
    • 3.10 test.exe分析模板
  • 4 PE文件格式实践
    • 4.1 手工构建引入函数表
    • 4.2 手工替换程序的已有图标
    • 4.3 手工提取程序的图标
    • 4.4 手工为程序新增图标
    • 4.5 手工汉化
    • 4.6 PE程序的数字签名过程与数据植入
      • 4.6.1 PE程序的数字签名过程
      • 4.6.2 PE程序签名数据的提取与分析
      • 4.6.3 PE签名程序的数据植入
    • 4.7 挑战自己:手工打造最小PE文件
    • 4.8 PE提交作品展示与交流
      • 4.8.1 最小PE文件-挑战作品
      • 4.8.2 PE文件标注作品展示与投票
  • 5 恶意代码及其分类
    • 5.1 恶意代码定义
    • 5.2 恶意代码的功能
    • 5.3 恶意代码分类
    • 5.4 恶意代码与网络犯罪
    • 5.5 恶意代码与APT攻击中的武器
      • 5.5.1 从恶意代码的发展看APT攻击
      • 5.5.2 高级恶意代码工程体系-A2PT的攻击武器
      • 5.5.3 普通APT组织的自研恶意代码
      • 5.5.4 商用恶意代码
      • 5.5.5 无恶意代码作业、开源和免费工具
      • 5.5.6 总结与思考
  • 6 Windows PE病毒
    • 6.1 PE病毒的基本概念
    • 6.2 PE病毒的分类
    • 6.3 传统文件感染型
      • 6.3.1 传统文件感染性病毒感染机理
      • 6.3.2 传统文件感染性病毒关键技术
    • 6.4 捆绑释放型
    • 6.5 系统感染型
      • 6.5.1 系统感染型病毒及控制权再次获取
      • 6.5.2 系统感染型病毒的传播方式
    • 6.6 典型案例
    • 6.7 课后思考
  • 7 脚本病毒及宏病毒
    • 7.1 宏的基本概念与使用
    • 7.2 宏病毒的传播方法
    • 7.3 宏病毒的自我保护
    • 7.4 VBS脚本的概念及使用
    • 7.5 VBS脚本病毒的感染技术
    • 7.6 VBS脚本病毒的变形技术
    • 7.7 课后实践
  • 8 网络蠕虫
    • 8.1 网络蠕虫的定义
    • 8.2 网络蠕虫的分类
    • 8.3 网络蠕虫的功能模块
    • 8.4 网络蠕虫的检测与防治
    • 8.5 课后思考
  • 9 网络木马
    • 9.1 木马的基本概念
    • 9.2 木马的分类
    • 9.3 木马的植入方式
    • 9.4 木马的通信方式
    • 9.5 远程控制型木马的常见功能与意图
      • 9.5.1 木马结构
      • 9.5.2 木马的典型功能
      • 9.5.3 木马的性能
    • 9.6 木马的检测思路探讨
    • 9.7 课后思考
  • 10 恶意代码检测技术
    • 10.1 恶意代码检测的对象与策略
    • 10.2 特征值检测技术
    • 10.3 校验和检测技术
    • 10.4 启发式扫描技术
    • 10.5 虚拟机检测技术
    • 10.6 主动防御技术
    • 10.7 安全软件评测
    • 10.8 课后思考
  • 11 恶意软件样本捕获与分析
    • 11.1 恶意软件样本捕获方法
    • 11.2 恶意软件载体
    • 11.3 恶意软件的分析方法
    • 11.4 典型恶意软件样本分析工具
    • 11.5 恶意软件样本分析实例
PE提交作品展示与交流


(包括最小PE文件以及PE文件模板标注,提交的具体作品展示请见对应小节。)


《软件安全》加分题(第三章PE文件格式)
(本次共发布2道,20200309)

文件说明:
(1)从PE例子程序压缩包获得目标可执行文件和模板。
(2)test.exe是大家进行PE文件结构标注的模板文件,具体要求见对应文档。
(3)MiniPE-760.exe是大家用于进行最小PE文件挑战的初始文件。

加分题及要求:
SS-TZ31:最小PE文件挑战
要求:
(1)弹框的标题和内容的星号部分修改为实际字节数和学号,其他不能改变。
(2)需要保留函数引入机制,不可以对函数地址进行硬编码,不能通过序号引入。
(3)基本大小要求:XP下文件<300个字节,Win8、10<350字节。

评选规则:
(1)可以以Windows XP为平台,也可以以Win8、Win10为平台(这两个当作同一类型平台)
(2)同一类型平台大小相同者,以提交时间排序;
(3)无中间文件和缩减理由说明文档的无效。

奖励分数:
      第一轮排名前三的同学将获得额外加分(3,2,1),第一轮结束后公布排名前三的同学名单以及他们提交的所有文件。如果同一位同学同时提交两类平台文件,取高分项。第二轮取文件最小者。第二轮获胜者可得5分(含第一轮得分,如结果不优于第一轮最好成绩不得分)。第二轮获胜者作品在MOOC平台进行专栏展示。
      参与者是总体获得基本分。

提交文档包括:
      最终文件、每一步的缩减理由说明(给出中间文件截图)及中间文件。

提交截止时间:
      第一轮为3月20日24:00,第二轮为4月1日24:00。

提交方法:教辅刘思德邮箱,sidelau@whu.edu.cn。
提交要求:邮件标题:1-最小PE- XP或者Win8、10-姓名-文件大小,附件为同名rar。

当前记录:
      XP系统:192字节(2016级田杨)。
      Win8、10系统:暂未记录。


SS-TZ32:PE文件标注
要求:
(1)八仙过海、各显神通,对指定目标模板文件(已在群中给出模板doc和pdf,大家自行选用)进行电子版本的格式标注,要求通俗易懂、清晰明了,对同学们学习PE文件结构具有参考意义。
(2)所有同学必须提交(获得基本分)
(3)原则上所有提交文档,统一转换成pdf提交。如有其他形式且有必要,可提前沟通。

评选规则与额外奖励分数:
(1)截止日之后,由老师、助教和教辅一起挑选不多于10个作品,在群内或MOOC平台进行展示。
(2)所有同学参加投票,得票前三作为最佳作品,给予额外加分奖励(3,2,1),并在MOOC平台进行持续专栏展示。

提交截止时间:
      2020年3月22日18:00。

提交要求:邮件标题:2-PE文件标注-姓名,附件为同名rar。
提交方法:教辅刘思德邮箱,sidelau@whu.edu.cn。