作者简介:张博,网易高级信息安全工程师。

0x00 简介

在入侵检测的过程中,进程创建监控是必不可少的一点,因为攻击者的绝大多数攻击行为都是以进程的方式呈现,所以及时获取到新进程创建的信息能帮助我们快速地定位攻击行为。

本文将介绍一些常见的监控进程创建的方式,包括其原理、Demo、使用条件和优缺点。行文仓促,如果有哪些错误和不足,还望大家批评指正。

0x01 常见方式

目前来看,常见的获取进程创建的信息的方式有以下四种:

  • So preload
  • Netlink Connector
  • Audit
  • Syscall hook

下面我们就从原理、Demo、使用条件和优缺点来了解一下这四种方式。

0x02 So preload

原理

首先跟大家介绍两点基础知识:

1.Linux 中大部分的可执行程序是动态链接的,常用的有关进程执行的函数例如 execve均实现在 libc.so 这个动态链接库中。

2.Linux 提供了一个 so preload 的机制,它允许定义优先加载的动态链接库,方便使用者有选择地载入不同动态链接库中的相同函数。

结合上述两点不难得出,我们可以通过 so preload 来覆盖 libc.so 中的 execve等函数来监控进程的创建。

Demo

下面我们就来实现一个简单的 demo 。

1.创建文件 hook.c ,内容如下:

#define _GNU_SOURCE

#include

#include

#include

typedef ssize_t (*execve_func_t)(const char* filename, char* const argv[], char* const envp[]);

static execve_func_t old_execve = NULL;

int execve(const char* filename, char* const argv[], char* const envp[]) {

printf("Running hook");

printf("Program executed: %s

hook 监控文件 c++_技术分享 | Linux 入侵检测中的进程创建监控相关推荐

  1. linux 监控新建进程,技术分享 | Linux 入侵检测中的进程创建监控

    作者简介:张博,网易高级信息安全工程师. 0x00 简介 在入侵检测的过程中,进程创建监控是必不可少的一点,因为攻击者的绝大多数攻击行为都是以进程的方式呈现,所以及时获取到新进程创建的信息能帮助我们快 ...

  2. delphi 监控文件变化_监控Linux文件变化,防止系统被黑

    运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...

  3. 动态函数监控技术在缓冲区溢出检测中的应用

    动态函数监控技术在缓冲区溢出检测中的应用 摘要:本文通过对Window环境下函数劫持方法的分析,并结合调试器技术,提出了动态监测进程函数调用的方法.同时,对缓冲区溢出shellcode进行了分析,用有 ...

  4. linux 入侵检测

    最近遇到了很多服务器被入侵的例子,为了方便日后入侵检测以及排查取证,我查询了一些linux服务器入侵取证的相关资料,并在此总结分享,以便日后查询. 一般服务器被入侵的迹象,包括但不局限于:由内向外发送 ...

  5. Linux入侵检测方法

    前言 本文为总结了几种常见的Linux入侵检测方法,参考了csdn中多篇文章,参考链接放在文末. 个人总结 1进程2端口3日志4流量5计划 查看可疑进程 查看进程数量,运行状态 命令:top 动态查看 ...

  6. [原文] Application of Polarization Imaging Techniques in Brain Tumor Detection 偏振成像技术在脑肿瘤检测中的应用

    Application of Polarization Imaging Techniques in Brain Tumor Detection 偏振成像技术在脑肿瘤检测中的应用   论文ppt:htt ...

  7. 如何在 Linux 命令行中终止进程?

    如果你想在linux上停止某个进程,你会怎么操作? 如果命令/进程在前台运行,您可以使用 Ctrl+C 终端快捷方式,但是,如果进程不可见(在后台运行),您可以使用专用命令"杀死它" ...

  8. 高光谱成像技术在果蔬品质检测中的应用

    在当前市场经济背景下,食品安全问题是消费者最为关心的问题之一,尤其是果蔬产品,农药残留问题和品质问题直接关系着消费者的权益和人身安全.针对传统化学检测的缺陷,本文结合高光谱成像技术,对其在果蔬品质与安 ...

  9. pt5 mysql预处理_技术分享 | MySQL 监控利器之 Pt-Stalk

    一.概述 之前在社区发了一篇[有效解决 MySQL 行锁等待超时问题]文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具, ...

最新文章

  1. [功能改进]防止提交重复评论内容
  2. Jquery中使用select2插件实现ajax实时请求数据
  3. linux配置串口不支持serial,linux 串口serial1和serial2不能用?
  4. Android View滚动、拉伸到顶/底部弹性回弹复位
  5. idea 不打开文件提示错误_解决IDEA误删out目录下的文件导致404无法访问的问题
  6. 风机桨叶故障诊断(二) 获取图像几何主方向
  7. 鹦鹉助手模拟器 梦幻西游 找不到服务器,模拟器玩梦幻 17173鹦鹉助手模拟器上线...
  8. Java 算法 最大体积
  9. EIGRP路由协议基本设置
  10. 15.supervisor 安装
  11. vuejs2和echarts3组合显示图表
  12. 基于mysql的报表工具有哪些?值得推荐的mysql报表工具
  13. 多媒体多模态系统:智能(记忆对话)小爱同学,nie li qiang
  14. 优化理论12---- Rosen的梯度投影法 、投影矩阵
  15. zabbix mysql trapper_zabbix的trapper(补获器)使用
  16. 1688官网以图搜图爬虫案例
  17. Python中循环语句的使用
  18. 众贷网满月倒闭 网络金融监管再受质疑
  19. linux 防火墙arp问题
  20. 基于yolov7开发实践实例分割模型超详细教程

热门文章

  1. ios开发网络篇—HTTP协议 - 转
  2. Thread.join()
  3. 微信企业号开发[二]——获取用户信息
  4. bzoj 1036 树的统计Count
  5. 【Eclipse 插件】Implementors
  6. CodeFileBaseClass 属性
  7. select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
  8. 你们还在用8位单片机吗?
  9. MCU为什么内部不集成晶振
  10. 手把手带你写一个中断输入设备驱动