zoukankan      html  css  js  c++  java
  • 内核漏洞学习

    一个内核漏洞的学习过程:  漏洞重现,漏洞分析,漏洞利用,漏洞总结

    漏洞重现: 环境搭建,POC编译

    漏洞分析:源码分析,反汇编分析,POC分析,补丁对比,内核调试跟踪,蓝屏分析

    漏洞利用:特权提升,远程溢出,本地溢出,远程DOS,本地DOS

    漏洞总结:根本原因,修补方法


    编写安全驱动程序:

    检查输入输出: 

    KPROCESSOR_MODE PreviousMode = KeGetPreviousMode()

    if(PreviousMode != KernelMode)

    {

    ProbeForWrite(Buffer,length,1);

    }

    验证驱动调用者::

    检查调用者进程EPROCESS,进程文件MD5,用户态程序和驱动程序的通信加密,对于解密失败或非法通信数据的情况不予处理


    白名单机制的挑战

    只要白名单中的驱动存在漏洞,利用漏洞进行提权等操作,同样可以实现需要的功能

    解决方法是对白名单设立 “准入制度” ,定期审计,发现该驱动的漏洞或外部公布的漏洞,需要第一时间通知用户,提供补丁升级服务






















  • 相关阅读:
    Golang判断文件/文件夹是否存在
    Golang将一个文件中的内容写入到另一个文件里
    Golang打开已存在的文件并覆盖其内容
    Golang打开文件并写入
    【正则】day01
    【正则】day02
    【day09】PHP
    【day08】PHP
    转换函数
    变量作用域
  • 原文地址:https://www.cnblogs.com/zcc1414/p/3982367.html
Copyright © 2011-2022 走看看