• 20159217《网络攻防实践》第九周学习总结


    20159217《网络攻防实践》第九周学习总结

    教材学习内容总结

    第九章 恶意代码安全攻防

    恶意代码基础知识

    • 恶意代码定义与分类:计算机病毒、蠕虫、恶意移动代码、后门、特洛伊木马、僵尸程序、内核套件(Rootkit)、融合型恶意代码。
    • 恶意代码发展史:起源、发展过程、发展趋势。
    • 计算机病毒:概念、基本特性(感染性、潜伏性、可触发性、破坏性、衍生性)、感染及引导机制(可执行文件、引导扇区、支持宏指令的数据文件)、传播机制(移动存储、电子邮件、下载、共享目录)。
    • 网络蠕虫:概念、基本特性(通过网络自主传播)、组成结构(弹头、传播引擎、目标选择算法、扫描引擎、有效载荷)
    • 后门与木马:后门是允许攻击者绕过系统常规安全控制机制的程序,能够按照攻击者自己的意图提供访问通道;而木马作为特洛伊木马的简称,是指一类看起来具有某个有用或者善意目的,但实际掩盖着一些隐藏恶意功能的程序。
    • 僵尸程序与僵尸网络:概念、演化过程、僵尸网络功能结构(网络控制器和僵尸程序,其中僵尸程序分为主体功能模块和辅助功能模块)、僵尸程序的命令与控制机制(基于IRC协议的命令与控制机制、基于HTTP协议的命令与控制机制、基于P2P协议的命令与控制机制)
    • Rootkit:用户模式Rootkit和内核模式Rootkit。其中内核模式Rootkit包括Linux内核模式Rootkit和Windows内核模式Rootkit。

    恶意代码分析方法

    • 恶意代码分析技术概述:静态分析和动态分析
    • 恶意代码分析环境:恶意代码发烧友的分析环境、基于虚拟化构建恶意代码分析环境、用于研究的恶意代码自动分析环境
    • 恶意代码静态分析技术:反病毒软件扫描、文件格式识别、字符串提取分析、二进制结构分析、反汇编、反编译、代码结构与逻辑分析、加壳识别、代码脱壳
    • 恶意代码动态分析技术:基于快照对比的方法和工具、系统动态行为监控方法(文件行为监控软件、进程行为监控软件、注册表监控软件、本地网络栈行为监控软件)、网络协议栈监控方法、沙箱技术、动态调试技术

    第十章 软件安全攻防——缓冲区溢出和Shellcode

    软件安全概述

    • 软件安全漏洞威胁
    • 软件安全困境:复杂性、可扩展性、连通性
    • 软件安全漏洞类型:XSS、SQL注入、PHP远程文件包含、目录遍历、信息泄露、由畸形输入导致的拒绝服务、符号链接问题、格式化字符串、密码学缺陷。分为如下四类:内存安全规范类、输入验证类、竞争条件类、权限混淆与提升类。

    缓冲区溢出基本概念

    • 缓冲区溢出基本概念与发展过程:计算机程序中存在的一类内存安全违规类漏洞,在计算机程序向特定缓冲区内填充数据时,超出了缓冲区本身的容量,导致外溢数据覆盖了相邻内存空间的合法数据,从而改变了程序执行流程破坏系统运行完整性。
    • 缓冲区溢出攻击背景知识:编译器与调试器的使用、汇编语言基础知识、进程内存管理、函数调用过程
    • 缓冲区溢出攻击原理:栈溢出、堆溢出、内核溢出。

    Linux平台上的栈溢出与Shellcode

    1

    • Linux平台栈溢出攻击技术:NSR、RNS、RS三种模式。NSR和RNS模式适用于本地缓冲区溢出和远程栈溢出攻击,而RS模式只能用于本地缓冲区溢出攻击。
    • Linux平台的Shellcode实现技术:Linux本地Shellcode实现机制、Linux远程Shellcode实现机制

    Windows平台上的栈溢出与Shellcode

    • Windows平台栈溢出攻击技术:Windows平台栈溢出攻击技术机理(对程序运行过程中废弃栈的处理方式差异、进程内存空间的布局差异、系统功能调用的实现方式差异)、远程栈溢出攻击示例、野外Windows栈溢出实例
    • Windows平台Shellcode实现技术:Windows本地Shellcode、Windows远程Shellcode

    堆溢出攻击

    • 函数指针改写
    • C++类对象虚函数表改写
    • Linux下堆管理glibc库free()函数本身漏洞

    缓冲区溢出攻击的防御技术

    • 尝试杜绝溢出的防御技术
    • 允许溢出但不让程序改变执行流程的防御技术
    • 无法让攻击代码执行的防御技术

    教材学习中的问题和解决过程

    第九章主要介绍了恶意代码的攻防,通过介绍几种恶意代码的原理和大量的实例,采用静态分析与动态分析技术手段进行结构与行为的剖析,从而充分认知恶意代码。
    第十章针对缓冲区溢出这类最为基础与传统的安全漏洞类型,详细介绍了它的基本概念、渗透攻击技术原理与具体过程,以及通过缓冲区溢出攻击注入Shellcode的实现技术原理。最后,为软件开发与使用人员提供了防御缓冲区溢出攻击的技术和方法。
    

    视频学习中的问题和解决过程

    视频学习中主要学习了kali的最后三个视频。首先介绍了kali压力测试工具,压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。kali下压力测试工具包含VoIP压力测试、WEB压力测试、网络压力测试和无线压力测试。
    然后介绍了kali数字取证工具:包括PDF取证工具集、反数字取证、密码取证工具集、内存取证工具集、取证分割工具集、取证分析工具集、取证哈希验证工具集、取证镜像工具集、杀毒取证工具集、数字取证、数字取证套件。
    最后介绍了kali报告工具与系统服务,介绍了几种不同的工具。
    

    第九周进度

    • 教材第九、十章

    • 视频36-38

  • 相关阅读:
    AFNet3.0上传图片
    最新 AFNetworking 3.0 简单实用封装
    iOS开发密码输入数字和字母混合
    IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)(转)
    iOS开发探索-图片压缩处理
    常用第三方框架插件
    2.1创建直线
    1.4用向导创建Hello,world程序
    vs2008找不到ObjectARX MFC Support
    vc6.0错误:error C2653: 'CCreateEnt' : is not a class or namespace name
  • 原文地址:https://www.cnblogs.com/20159217cbs/p/5443439.html
Copyright © 2020-2023  润新知