最后防线:字节跳动HIDS分析
AgentSmith HIDS
是字节跳动开源的HIDS,采用内核驱动方式进行入侵检测,可以检测各种rootkit/bootkit
,具有实时,高性能,无感知的优势。由于它是基于内核,只对2.6.32+内核支持,且rootkit的检测必须要在3.10.0+内核才支持。同时,由于它是监控内核函数的调用,事件和消息,并不提供软件管理,用户管理,系统管理,网络管理之类的基线。
虽然目前总体代码只是2500行左右,但实现功能却非常多,多得作者Will大佬的指点,在撸一把5.12.0内核的代码,才勉强清楚这些检测点的应用场景。感谢Will大佬。Will大佬在内核造诣非常深厚。
附上Will大佬创建的hids群,有兴趣的同学请下载飞书加群。谢谢
公共信息
AgentSmith在检测信息时,这些信息是每个场景都采集的。详情见kprobe_print.h
当前用户id
当前进程id
当前父进程id
当前进程组id
任务会话id
内核线程组id
UTS命名空间节点名称 (对docker之类的支持)
当前进程执行程序
Audit会话id(没有开启audit,就为0)
原理
AgentSmith是LKM(可加载内核模块)的方式hook住Linux内核一些函数。由于它是使用kprobe的方式,它hook的函数不只是系统调用,还可以hook内核内部一些函数,而这些内部函数是某些系统调用的关键点调用。
Hook
下面按照这样格式列举各个钩子:内核版本:该钩子支持的内核版本 作用:该钩子对应syscall的作用 危害:黑客可以利用相应syscall所造成的危害 实现原理:该钩子的实现方式 不足:该钩子还没有覆盖的情况
mprotect
内核版本:
1.0+
作用
这个系统调用对当前进程内存段设置保护
危害
恶意软件把当前进程的数据段设置为可执行,从而绕过DEP
恶意软件把当前进程的代码段设置为可写,从而注入恶意代码
实现原理
对mprotect系统调用挂钩,记录任何把进程内存段改为**执行权限(
PROT_EXEC
)**的操作。记录信息:
执行程序
执行程序的进程树
目标进程
目标进程所属的程序
操作
不足
仅处理了执行权限(
PROT_EXEC
), 没有处理可写权限(PROT_WRITE
)
open
内核版本:
1.0+
作用
打开并且有可能创建新的文件或设备
危害
恶意软件隐藏自身文件, 躲避检测
实现原理
对open系统调用挂钩,记录程序打开文件操作,记录信息:
执行程序
文件
打开标志
打开模式
nanosleep
内核版本:
2.0+
作用
进程休眠一定时间再执行,高精度的休眠
危害
恶意软件hook
nanosleep
系统调用,可以延迟执行,从而逃避HIDS软件的检测。详情请见https://reyammer.io/publications/2018_oakland_linuxmalware.pdf
实现原理
对nanosleep系统调用挂钩,记录程序进程休眠操作,记录信息:
执行程序
秒
纳秒
剩余内容请关注本人公众号debugeeker, 链接为最后防线:字节跳动HIDS分析
最后防线:字节跳动HIDS分析相关推荐
- 字节跳动pest分析_字节跳动小程序分析:前景及优势都是什么?
近几年小程序渐渐成为微信.百度.支付宝等巨头的标配,各大互联网巨头纷纷加码小程序,字节跳动自然也不甘落后.字节跳动小程序前景如何呢?我们来做一个详细的字节跳动小程序分析: 1.平台条件 小程序要想做起 ...
- 阿里、百度、字节跳动、京东、地平线等计算机视觉实习生面试经历分析,已成功上岸!...
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|AI算法与图像处理 来源:https://www.now ...
- 2021年最新总结,腾讯、阿里、美团、百度、字节跳动、京东等技术面试题,以及答案,专家出题人分析汇总。持续更新中。
阿里篇 华为篇 百度篇 腾讯篇 美团篇 字节跳动篇 滴滴篇 京东篇 MySQL篇 Redis篇 MongoDB篇 Zookeeper篇 Nginx篇 算法篇 内存篇 cpu篇 磁盘篇 网络通信篇 安全 ...
- 字节跳动到底为什么能成功?十个公式深层分析 (含底层业务逻辑,及落地方法拆解)
理解字节跳动业务逻辑的干货好文,建议小伙伴码住,慢慢消化~ 采编作者:NCloud [转载申请/商务合作入口→N1Cloud(申请备注:1012)] 资料来源:前沿思考论坛系列内容-第七篇 发文 ...
- 字节跳动Android三面视频解析:framework+MVP架构+HashMap原理+性能优化+Flutter+源码分析等
前言 对于字节跳动的二面三面而言,Framework+MVP架构+HashMap原理+性能优化+Flutter+源码分析等问题都成高频问点!然而很多的朋友在面试时却答不上或者答不全!今天在这分享下这些 ...
- 阿里、百度、字节跳动、京东、地平线等计算机视觉实习生面试经历分析,已成功上岸!
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 来源:https://www.nowcoder.com/discuss/192224 本文已授权,未经允许,不得二次 ...
- SkyNet:字节跳动泛客诉问题挖掘与风险监控中台实践
背景 随着互联网和智能手机的普及,人们的生活大多时候都离不开移动 App,在信息量与日俱增的大数据时代,用户反馈数据可以帮助发现热点问题.避免安全问题.优化产品体验.提升产品质量等. 简介 SkyNe ...
- BERT是图像预训练未来?字节跳动iBOT刷新十几项SOTA,部分指标超MAE
视学算法发布 机器之心编辑部 这个新方法在十几类任务和数据集上刷新了 SOTA 结果,在一些指标上甚至超过了 MAE. 前段时间,何恺明等人的一篇论文成为了计算机视觉圈的焦点.这篇论文仅用简单的 id ...
- AI总监王长虎被曝离职,字节跳动AI Lab 再失一将!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者 | 琰琰 据Tech星球报道,字节跳动人工智能实验室总监王长虎 ...
最新文章
- wifi管理系统_KJ725(A)精确人员定位管理系统实现对井下人员和车辆的精确定位
- 听说微软出了个 Windows XP reStart Edition? 重启版?
- java程序实验总结_Java Socket 编程实验总结
- 节点相似性与链路预测
- 面试官给我挖坑:单台服务器并发TCP连接数到底可以有多少 ?
- 关于springMVC传参问题
- python语句分为复合语句_对Python中for复合语句的使用示例讲解
- mysql-server rpm_Mysql rpm包安装
- c盘分小了如何扩大c盘,重新分区扩大c盘
- 深度生成模型重塑药物研发【Cell子刊综述】
- 计算机图形学(十二):真实感图形(光照模型、材质模型)
- BusyBox 的配置
- c语言中数字字符的ascii码,求教!我想显示数字但是现在显示的却是数字在ASCII码中对应的符...
- Windows安装TVM详细教程及报错提示
- 虚拟机下载安装Centos7(新手详解)
- Windows留后门--教程(三)——Windows服务后门
- PyhontPygame 飞船大战外星人 完整代码及资源下载
- mongo如何删除数据后相应的删除空间和内存占用
- CodeKK源码地址
- MobaXterm专业版(含授权)
热门文章
- android ping网络连接服务器失败,Android 中网络连接检测和使用ping检测网络是否可访问...
- Java零基础P20使用IDEA开发
- 教你自定义Windows10微软输入法
- 万亿蚂蚁的高光与隐忧
- 功能测试是什么?性能测试是什么?两者有什么区别?
- 深度融合钉钉PaaS,授客学堂助力企业实现培训数字化
- python中char是什么意思_MySQL中char和varchar的区别是什么
- Java使用Tomcat服务器打开jsp等文件出现源码的解决办法
- vpu测试_611bp上的VPU测试
- 电脑重装系统后黑屏怎么解决