工程化和实践性是网络安全领域的显著特点。为解决当前网络安全教学内容缺乏实践等问题,结合业界需求与课程重点,设计了包含3个实验(lab)和1个课程作业(project)的一套实践课程,覆盖流量分析、网络分析环境搭建、缓冲区溢出、沙箱分析、威胁情报等内容。

实践课程建议24-32学时,可用于相关课程配套实验或暑假学期。若您有宝贵意见,请发送邮件至zhi[dot].liu[at]swpu.edu.cn。

Lab1. 网络环境与流量分析基础(建议4学时)

  • 使用虚拟机对三种网络进行配置(bridge、NAT、host-only)
  • 流量分析基础:流量分析软件使用,重要协议分析(TCP、DNS、HTTP、HTTPS),文件提取与证书提取。
  • DPI软件使用:安装及使用Zeek(Bro),日志解析。

Lab2. 动态分析与缓冲区溢出(建议4-6学时)

  • ProcessMonitor使用:分析程序在进程、网络、注册表等行为。
  • 栈溢出实验:开启/关闭fno-stack-pointer对比分析;函数调用分析。
  • 经典溢出重现及对应流量特征分析。
  • 使用Valgrind分析程序内存使用,并对报告进行解释性分析。

Lab3. 综合实验(建议6-8学时)

  • 使用虚拟机搭建恶意代码分析网络环境,将第1题的样本进行分析。
  • 搭建沙箱系统,分析样本。
  • 编译安装Suricata,编写规则并进行验证。
  • 使用流量分析、沙箱、威胁情报等多种技术对2-3个真实攻击进行分析。

Project. 课程作业

根据以下题目,2-3人分组开发一个系统或对一项技术进行研究,并编写课程报告。

  • 基于机器学习的恶意代码自动化分类
  • 基于机器学习的恶意代码识别
  • 网络协议自动化识别
  • 网络协议逆向分析
  • 网络协议fuzzing
  • IoT与固件fuzzing
  • 安全可视化研究
  • 基于ClamAV的杀毒软件系统设计与开发
  • 基于沙箱的恶意代码分析系统设计与开发
  • 针对机器学习的对抗研究
  • 安全自动化编排设计与实现
  • 加密算法轻量化实现