欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 软件安全实践(网络空间安全学科系列教材)
      • 作者:编者:彭国军//傅建明//赵磊//陈泽茂|责编:张民//薛杨
      • 出版社:清华大学
      • ISBN:9787302680048
      • 出版日期:2025/01/01
      • 页数:420
    • 售价:31.96
  • 内容大纲

        本书共25章,覆盖了软件安全基础、恶意代码机理分析、恶意代码样本分析与检测、软件漏洞分析,以及软件安全智能化分析5个领域。
        软件安全基础部分的相关实验具体涉及磁盘结构与数据恢复、程序链接与执行过程分析、PE及ELF可执行文件结构剖析,旨在加强读者的软件安全基础,这对于读者后续理解恶意代码和软件漏洞的机理、分析与防护技术具有重要作用。
        恶意代码机理分析部分具体包括Windows PE病毒、宏病毒与脚本病毒、网络木马机理分析、网络蠕虫、勒索病毒分析等,旨在加强读者对典型恶意代码机理的理解。
        恶意代码样本分析与检测部分具体包括软件加壳与脱壳、样本静态分析、样本动态分析、样本溯源分析、样本特征检测引擎(ClamAV)、样本行为在线分析等,旨在加强读者对恶意代码样本的处理、分析与检测方法的理解,提升读者的恶意代码分析与检测能力。
        软件漏洞分析部分具体包括漏洞测试框架、栈溢出漏洞、堆溢出漏洞、格式化字符串/整型溢出漏洞、IoT漏洞、软件漏洞防御、GS/DEP与ALSR绕过等,旨在加强读者对软件漏洞测试框架、漏洞机理、挖掘与防护机制的理解,提升读者的漏洞攻防实践能力。
        软件安全智能化分析部分具体包括机器学习与恶意代码检测、机器学习与恶意代码家族聚类,以及Fuzzing与漏洞挖掘等,旨在帮助读者掌握智能化分析的基本方法,并将这些方法用于恶意代码检测与软件漏洞分析挖掘。
        本书可作为高等院校软件安全、恶意代码、软件漏洞及相关课程的配套实验教材,也可以作为软件安全方向的实训教材。
  • 作者介绍

  • 目录

    第一部分  软件安全基础
      第1章  磁盘格式与数据恢复
        1.1  实验概述
        1.2  实验预备知识与基础
          1.2.1  磁盘编辑工具与基本用法
          1.2.2  MBR与GPT磁盘分区格式
          1.2.3  FAT32与NTFS文件系统
          1.2.4  数据删除与恢复技术
        1.3  磁盘编辑工具的基本使用
          1.3.1  实验目的
          1.3.2  实验内容及实验环境
          1.3.3  实验步骤
        1.4  MBR磁盘主引导区分析
          1.4.1  实验目的
          1.4.2  实验内容及实验环境
          1.4.3  实验步骤
        1.5  GPT分区格式分析
          1.5.1  实验目的
          1.5.2  实验内容及实验环境
          1.5.3  实验步骤
        1.6  FAT32文件系统格式分析
          1.6.1  实验目的
          1.6.2  实验内容及实验环境
          1.6.3  实验步骤
        1.7  NTFS文件系统格式分析
          1.7.1  实验目的
          1.7.2  实验内容及实验环境
          1.7.3  实验步骤
        1.8  数据删除与恢复
          1.8.1  实验目的
          1.8.2  实验内容及实验环境
          1.8.3  实验步骤
        1.9  本章小结
        1.10  问题讨论与课后提升
          1.10.1  问题讨论
          1.10.2  课后提升
      第2章  程序链接和执行
        2.1  实验概述
        2.2  实验预备知识与基础
        2.3  程序的静态链接
          2.3.1  实验目的
          2.3.2  实验内容及实验环境
          2.3.3  实验步骤
        2.4  进一步控制程序的链接
          2.4.1  实验目的
          2.4.2  实验内容及实验环境
          2.4.3  实验步骤
        2.5  程序的装载与启动流程
          2.5.1  实验目的
          2.5.2  实验内容及实验环境

          2.5.3  实验步骤
        2.6  本章小结
        2.7  问题讨论与课后提升
          2.7.1  问题讨论
          2.7.2  课后提升
      第3章  PE文件结构分析
        3.1  实验概述
        3.2  实验预备知识与基础
          3.2.1  PE查看、编辑与调试工具介绍
          3.2.2  函数引入机制
          3.2.3  函数引出机制
          3.2.4  资源节机制
          3.2.5  重定位机制
        3.3  PE查看、编辑与调试工具的用法
          3.3.1  实验目的
          3.3.2  实验内容及实验环境
          3.3.3  实验步骤
        3.4  函数的引入/引出机制分析与修改
          3.4.1  实验目的
          3.4.2  实验内容及实验环境
          3.4.3  实验步骤
        3.5  资源节资源操作
          3.5.1  实验目的
          3.5.2  实验内容及实验环境
          3.5.3  实验步骤
        3.6  手工重定位
          3.6.1  实验目的
          3.6.2  实验内容及实验环境
          3.6.3  实验步骤
        3.7  PE文件缩减
          3.7.1  实验目的
          3.7.2  实验内容及实验环境
          3.7.3  实验步骤
        3.8  本章小结
        3.9  问题讨论与课后提升
          3.9.1  问题讨论
          3.9.2  课后提升
      第4章  ELF文件结构分析
        4.1  实验概述
        4.2  实验预备知识与基础
          4.2.1  ELF分析工具介绍
          4.2.2  ELF文件格式
          4.2.3  ELF中的指令与数据
          4.2.4  函数引入与引出机制
          4.2.5  延迟绑定机制
          4.2.6  程序初始化过程
        4.3  ELF查看、编辑与调试工具的用法
          4.3.1  实验目的
          4.3.2  实验内容及实验环境
          4.3.3  实验步骤

        24.2  实验预备知识与基础
        24.3  特征预处理
          24.3.1  实验目的
          24.3.2  实验内容及实验环境
          24.3.3  实验步骤
        24.4  聚类实验
          24.4.1  实验目的
          24.4.2  实验内容及实验环境
          24.4.3  实验步骤
        24.5  本章小结
        24.6  问题讨论与课后提升
          24.6.1  问题讨论
          24.6.2  课后提升
      第25章  Fuzzing与漏洞挖掘
        25.1  实验概述
        25.2  实验预备知识与基础
          25.2.1  AFL概述
          25.2.2  选择初始种子
          25.2.3  编译被测试程序
        25.3  AFL的配置及使用实验
          25.3.1  实验目的
          25.3.2  实验内容及环境
          25.3.3  实验步骤
        25.4  本章小结
        25.5  问题讨论与课后提升
          25.5.1  问题讨论
          25.5.2  课后提升
    参考文献

        4.4  函数引入引出机制的分析与修改
          4.4.1  实验目的
          4.4.2  实验内容及实验环境
          4.4.3  实验步骤
        4.5  延迟绑定机制的分析与修改
          4.5.1  实验目的
          4.5.2  实验内容及实验环境
          4.5.3  实验步骤
        4.6  ELF初始化过程的分析与修改
          4.6.1  实验目的
          4.6.2  实验内容及实验环境
          4.6.3  实验步骤
        4.7  本章小结
        4.8  问题讨论与课后提升
          4.8.1  问题讨论
          4.8.2  课后提升
    第二部分  恶意代码机理分析
      第5章  PE病毒
        5.1  实验概述
        5.2  实验预备知识与基础
          5.2.1  反汇编和反编译
          5.2.2  反汇编的原理
          5.2.3  病毒重定位的原理
          5.2.4  获取kernel32基地址的方法
          5.2.5  PE病毒感染文件恢复
          5.2.6  修复过程总结
        5.3  熟悉masm
          5.3.1  实验目的
          5.3.2  实验内容及实验环境
          5.3.3  实验步骤
        5.4  病毒重定位
          5.4.1  实验目的
          5.4.2  实验内容及实验环境
          5.4.3  实验步骤
        5.5  kernel32基地址定位及搜索API函数地址
          5.5.1  实验目的
          5.5.2  实验内容及实验环境
          5.5.3  实验步骤
        5.6  病毒感染过程
          5.6.1  实验目的
          5.6.2  实验内容及实验环境
          5.6.3  实验步骤
        5.7  本章小结
        5.8  问题讨论与课后提升
          5.8.1  问题讨论
          5.8.2  课后提升
      第6章  宏病毒与脚本病毒
        6.1  实验概述
        6.2  实验预备知识与基础
          6.2.1  宏的使用与宏病毒

          6.2.2  VBS脚本病毒分析
          6.2.3  PowerShell脚本病毒分析
        6.3  宏的使用与宏病毒
          6.3.1  实验目的
          6.3.2  实验内容及实验环境
          6.3.3  实验步骤
        6.4  VBS脚本病毒分析
          6.4.1  实验目的
          6.4.2  实验内容及实验环境
          6.4.3  实验步骤
        6.5  PowerShell脚本病毒分析
          6.5.1  实验目的
          6.5.2  实验内容及实验环境
          6.5.3  实验步骤
        6.6  本章小结
        6.7  问题讨论与课后提升
          6.7.1  问题讨论
          6.7.2  课后提升
      第7章  网络木马机理分析
        7.1  实验概述
        7.2  实验预备知识与基础
          7.2.1  文件与注册表活动监测
          7.2.2  网络活动监测
        7.3  文件与注册表监控工具的基本使用
          7.3.1  实验目的
          7.3.2  实验内容及实验环境
          7.3.3  实验步骤
        7.4  网络抓包工具的基本使用
          7.4.1  实验目的
          7.4.2  实验内容及实验环境
          7.4.3  实验步骤
        7.5  虚拟机样本调试环境的配置
          7.5.1  实验目的
          7.5.2  实验内容及实验环境
          7.5.3  实验步骤
        7.6  灰鸽子木马的使用与机理分析
          7.6.1  实验目的
          7.6.2  实验内容及实验环境
          7.6.3  实验步骤
        7.7  本章小结
        7.8  问题讨论与课后提升
          7.8.1  问题讨论
          7.8.2  课后提升
      第8章  网络蠕虫
        8.1  实验概述
        8.2  实验预备知识与基础
          8.2.1  网络蠕虫简介
          8.2.2  WannaCry蠕虫背景介绍
          8.2.3  Slammer蠕虫背景介绍
          8.2.4  蠕虫传播机制分析及实验注意事项

        8.3  WannaCry传播机制分析之初始化操作
          8.3.1  实验目的
          8.3.2  实验内容及实验环境
          8.3.3  实验步骤
        8.4  本章小结
        8.5  问题讨论与课后提升
          8.5.1  问题讨论
          8.5.2  课后提升
      第9章  勒索病毒分析
        9.1  实验概述
        9.2  实验预备知识与基础
          9.2.1  WannaCry勒索病毒
          9.2.2  GandCrab勒索病毒
        9.3  WannaCry勒索机制复现及机理分析
          9.3.1  实验目的
          9.3.2  实验内容及实验环境
          9.3.3  实验步骤
        9.4  GandCrab复现及机理分析
          9.4.1  实验目的
          9.4.2  实验内容及实验环境
          9.4.3  实验步骤
        9.5  本章小结
        9.6  问题讨论与课后提升
          9.6.1  问题讨论
          9.6.2  课后提升
    第三部分  恶意代码样本分析与检测
      第10章  软件加壳与脱壳
        10.1  实验概述
        10.2  实验预备知识与基础
          10.2.1  加壳原理
          10.2.2  手工脱壳方法与原理
          10.2.3  实验工具
        10.3  加壳与查壳工具的基本使用实验
          10.3.1  实验目的
          10.3.2  实验内容及实验环境
          10.3.3  实验步骤
        10.4  手工脱壳
          10.4.1  实验目的
          10.4.2  实验内容及实验环境
          10.4.3  实验步骤
        10.5  本章小结
        10.6  问题讨论与课后提升
          10.6.1  问题讨论
          10.6.2  课后提升
      第11章  样本静态分析
        11.1  实验概述
        11.2  实验预备知识与基础
          11.2.1  加壳与恶意代码混淆
          11.2.2  PE文件格式
          11.2.3  ASCII与Unicode

          11.2.4  Strings工具
          11.2.5  PE Tools
        11.3  PEiD的基本使用实验
          11.3.1  实验目的
          11.3.2  实验内容及实验环境
          11.3.3  实验步骤
        11.4  Strings的基本使用实验
          11.4.1  实验目的
          11.4.2  实验内容及实验环境
          11.4.3  实验步骤
        11.5  PE Tools的基本使用实验
          11.5.1  实验目的
          11.5.2  实验内容及实验环境
          11.5.3  实验步骤
        11.6  IDA Pro的基本使用实验
          11.6.1  实验目的
          11.6.2  实验内容及实验环境
          11.6.3  实验步骤
        11.7  本章小结
        11.8  问题讨论与课后提升
          11.8.1  问题讨论
          11.8.2  课后提升
      第12章  样本动态分析
        12.1  实验概述
        12.2  实验预备知识与基础
          12.2.1  病毒分析流程
          12.2.2  病毒分析所需要的基础
        12.3  在线平台分析
          12.3.1  实验目的
          12.3.2  实验内容及实验环境
          12.3.3  实验步骤
        12.4  样本概况分析
          12.4.1  实验目的
          12.4.2  实验内容及实验环境
          12.4.3  实验步骤
        12.5  利用IDA和OD进行深度分析
          12.5.1  实验目的
          12.5.2  实验内容及实验环境
          12.5.3  实验步骤
        12.6  本章小结
        12.7  问题讨论与课后提升
          12.7.1  问题讨论
          12.7.2  课后提升
      第13章  样本溯源分析
        13.1  实验概述
        13.2  实验预备知识与基础
          13.2.1  恶意软件溯源概述
          13.2.2  pefile模块
          13.2.3  溯源特征及关联分析
          13.2.4  样本相似性分析

        13.3  简单静态溯源特征提取及静态域名关联分析
          13.3.1  实验目的
          13.3.2  实验内容及实验环境
          13.3.3  实验步骤
        13.4  简单样本功能相似性分析
          13.4.1  实验目的
          13.4.2  实验内容及实验环境
          13.4.3  实验步骤
        13.5  本章小结
        13.6  问题讨论与课后提升
          13.6.1  问题讨论
          13.6.2  课后提升
      第14章  样本特征检测引擎
        14.1  实验概述
        14.2  实验预备知识与基础
          14.2.1  Linux系统常用防病毒检测工具
          14.2.2  ClamAV
        14.3  ClamAV的环境搭建与安装配置
          14.3.1  实验目的
          14.3.2  实验内容及实验环境
          14.3.3  实验步骤
        14.4  ClamAV的基础使用
          14.4.1  实验目的
          14.4.2  实验内容及实验环境
          14.4.3  实验步骤
        14.5  本章小结
        14.6  问题讨论与课后提升
          14.6.1  问题讨论
          14.6.2  课后提升
      第15章  样本行为在线分析
        15.1  实验概述
        15.2  实验预备知识与基础
          15.2.1  VirusTotal
          15.2.2  Cuckoo Sandbox
          15.2.3  Any.Run
          15.2.4  腾讯哈勃分析系统
        15.3  Cuckoo Sandbox安装使用
          15.3.1  实验目的
          15.3.2  实验内容及实验环境
          15.3.3  实验步骤
        15.4  本章小结
        15.5  问题讨论与课后提升
          15.5.1  问题讨论
          15.5.2  课后提升
    第四部分  软件漏洞分析
      第16章  漏洞测试框架
        16.1  实验概述
        16.2  实验预备知识与基础
          16.2.1  渗透测试基础
          16.2.2  Metasploit用户接口

          16.2.3  Metasploit模块
          16.2.4  shellcode基础
          16.2.5  模糊测试介绍
        16.3  Metasploit安装与初次使用
          16.3.1  实验目的
          16.3.2  实验内容及实验环境
          16.3.3  实验步骤
        16.4  模糊测试与漏洞利用
          16.4.1  实验目的
          16.4.2  实验内容及实验环境
          16.4.3  实验步骤
        16.5  攻破无线路由器
          16.5.1  实验目的
          16.5.2  实验内容及环境
          16.5.3  实验步骤
        16.6  本章小结
        16.7  问题讨论与课后提升
          16.7.1  问题讨论
          16.7.2  课后提升
      第17章  栈溢出漏洞
        17.1  实验概述
        17.2  实验预备知识与基础
          17.2.1  栈溢出原理
          17.2.2  DEP机制及绕开DEP的方法
        17.3  利用栈溢出实现目标代码跳转
          17.3.1  实验目的
          17.3.2  实验内容及实验环境
          17.3.3  实验步骤
        17.4  DEP防护环境下的漏洞攻击测试
          17.4.1  实验目的
          17.4.2  实验内容及实验环境
          17.4.3  实验步骤
        17.5  本章小结
        17.6  问题讨论与课后提升
          17.6.1  问题讨论
          17.6.2  课后提升
      第18章  堆溢出漏洞
        18.1  实验概述
        18.2  实验预备知识与基础
          18.2.1  堆溢出漏洞简介
          18.2.2  堆数据结构
          18.2.3  堆管理策略
          18.2.4  堆溢出原理
          18.2.5  堆溢出利用
        18.3  堆溢出实验
          18.3.1  实验目的
          18.3.2  实验内容及环境
          18.3.3  实验步骤
        18.4  本章小结
        18.5  问题讨论与课后提升

          18.5.1  问题讨论
          18.5.2  课后提升
      第19章  格式化字符串/整数溢出漏洞
        19.1  实验概述
        19.2  实验预备知识与基础
          19.2.1  格式化字符串漏洞
          19.2.2  整数溢出漏洞
        19.3  格式化字符串漏洞
          19.3.1  实验目的
          19.3.2  实验内容及实验环境
          19.3.3  实验步骤
        19.4  整数溢出漏洞
          19.4.1  实验目的
          19.4.2  实验内容及实验环境
          19.4.3  实验步骤
        19.5  本章小结
        19.6  问题讨论与课后提升
          19.6.1  问题讨论
          19.6.2  课后提升
      第20章  IoT漏洞
        20.1  实验概述
        20.2  实验预备知识与基础
          20.2.1  IoT设备及其常见漏洞简介
          20.2.2  ARM/MIPS汇编
          20.3.3  IoT固件
        20.3  固件模拟
          20.3.1  实验目的
          20.3.2  实验内容及实验环境
          20.3.3  实验步骤
        20.4  IoT漏洞利用
          20.4.1  实验目的
          20.4.2  实验内容及实验环境
          20.4.3  实验步骤
        20.5  本章小结
        20.6  问题讨论与课后提升
          20.6.1  问题讨论
          20.6.2  课后提升
      第21章  软件漏洞防御
        21.1  实验概述
        21.2  实验预备知识与基础
          21.2.1  栈溢出检查GS
          21.2.2  数据执行保护DEP
          21.2.3  地址随机化ASLR
          21.2.4  漏洞防御工具
        21.3  基础漏洞实验
          21.3.1  实验目的
          21.3.2  实验内容及实验环境
          21.3.3  实验步骤
        21.4  Exploit Protection防护实验
          21.4.1  实验目的

          21.4.2  实验内容及实验环境
          21.4.3  实验步骤
        21.5  Visual Studio防护实验
          21.5.1  实验目的
          21.5.2  实验内容及实验环境
          21.5.3  实验步骤
        21.6  本章小结
        21.7  问题讨论与课后提升
          21.7.1  问题讨论
          21.7.2  课后提升
      第22章  GS、DEP与ASLR绕过
        22.1  实验概述
        22.2  实验预备知识与基础
          22.2.1  GS绕过方法
          22.2.2  DEP绕过方法
          22.2.3  ASLR绕过方法
          22.2.4  pwntools、gdb安装与用法
        22.3  利用输出函数泄露canary
          22.3.1  实验目的
          22.3.2  实验内容及实验环境
          22.3.3  实验步骤
        22.4  利用ROP绕过NX
          22.4.1  实验目的
          22.4.2  实验内容及实验环境
          22.4.3  实验步骤
        22.5  本章小结
        22.6  问题讨论与课后提升
          22.6.1  问题讨论
          22.6.2  课后提升
    第五部分  软件安全智能化分析
      第23章  机器学习与恶意代码检测
        23.1  实验概述
        23.2  实验预备知识与基础
          23.2.1  机器学习概述
          23.2.2  静态特征和动态特征
          23.2.3  基于机器学习的恶意代码检测流程
        23.3  机器学习模型构建与分类
          23.3.1  实验目的
          23.3.2  实验内容及实验环境
          23.3.3  实验步骤
        23.4  基于机器学习的恶意代码检测
          23.4.1  实验目的
          23.4.2  实验内容及实验环境
          23.4.3  实验步骤
        23.5  本章小结
        23.6  问题讨论与课后提升
          23.6.1  问题讨论
          23.6.2  课后提升
      第24章  机器学习与恶意代码家族聚类
        24.1  实验概述