Giter VIP home page Giter VIP logo

agentsmith-hids's People

Contributors

afei-d avatar alkenepan avatar ebwi11 avatar hf-daniel avatar qqlover avatar shelterz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

agentsmith-hids's Issues

insmod smith.ko 报错 Unknown symbol __check_object_size

  1. 系统 centos 7
  2. 内核版本 3.10.0-862.el7.x86_64

dmesg 结果:
[38272942.059519] smith: loading out-of-tree module taints kernel.
[38272942.065264] smith: module verification failed: signature and/or required key missing - tainting kernel
[38272942.066388] smith: Unknown symbol __check_object_size (err 0)
[38273001.870752] smith: Unknown symbol __check_object_size (err 0)
[38273178.720850] smith: Unknown symbol __check_object_size (err 0)
[38273997.969412] smith: Unknown symbol __check_object_size (err 0)

关于反弹shell及生产环境部署安全性问题

AgentSmith-HIDS 的定位就是一款轻量级,高性能的情报采集工具,首先可以检测如:反弹shell,执行可以命令,下载恶意程序,一些Rootkit等等NIDS的死角。其次可以和NIDS/CMDB完成联动,达到:PID+PPID+nodename+cmdline+cwd+user+exe+TCP/UDP五元组+部分协议的原始数据+业务相关信息+FW_RULE+NIDS/HIDS规则ID+威胁情报信息的联动效果。

初步看了下代码
https://github.com/DianrongSecurity/AgentSmith-HIDS/blob/master/agent/src/main.rs#L84

目前agent大致逻辑是解析syscall直接发送到kafka

这个目前elastic已经有一个类似的项目叫auditbeat,实现的也是类似效果
https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-installation.html

相关建议

  • 不建议生产环境中 agent数据投递不经鉴权直接投递kakfa,如果黑客入侵一台机器,就可以伪造消息,而且可以攻击数据接收服务器
  • 反弹shell的逻辑建议在本地agent进行检测,直接关联进程及socket信息, 本地检测速度快,我们这边经实际攻防测试,能检测绝大多数的反弹shell, syscall 和nids关联听起来很美,但如果机器数量多的话,实际数据量极大,不具备可行性。

参考链接

关于AgentSmith-HIDS后续迭代的问题

(该issue是AgentSmith-HIDS作者所提,旨在能和大家保持一定的沟通,听取反馈,长期有效)

  1. 有一部分同学表示用户态Agent使用Rust导致一定难度,无法参与到新功能的研发中,调试也有一定困难,希望可以用GoLang替换。笔者也一部分认同该观点,且目前而言重构用户态Agent的工作还算简单,但是Rust作为一门无GC且内存安全的未来的系统级语言来说,还是有一定的优势的。不知道其他的小伙伴如何看待?
  2. 大家希望AgentSmith-HIDS什么在未来优先级较高的功能呢?可以留言交流。
  3. 有多少小伙伴使用AgentSmith-HIDS呢?是否在这个过程中遇到什么问题?无论是部署/测试/功能的问题,都欢迎提出来。

最后,个人以为,把README读完再进行提问应该是对他人时间的起码的尊重,你认为呢?

提个建议不定时更新

1、hook方式兼容性和稳定性太弱了,哪怕你换成ftrace方式也不错。

2、agent是需要考虑兼容性的,采用golang的话golang本身是需要epoll等接口支持的,所以你这样就得放弃一部分系统平台了。这块建议用C来做。

驱动在Ubuntu下编译出错

好像驱动不兼容Ubuntu,make编译出错
版本信息:
Linux version 4.4.0-116-generic (buildd@lgw01-amd64-021) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9) ) #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018

关于性能测试及资源占用控制

https://github.com/DianrongSecurity/AgentSmith-HIDS/blob/master/doc/AgentSmith-HIDS%20Hook%20Design%20BencheMark(Netlink).md

由于 hook的是系统调用,wrk是web的benchmark工具,个人觉得不能很好的反映实际对系统影响

我们这边测试 audit由于会filter系统调用,相关影响和应用产生的系统调用次数有关,每秒20次系统调用的话,会有5%的延迟增加,

测试方法
从/dev/zero中读取500个字节数据并写入到/dev/null中,循环执行1亿次(也就是100M):

dd if=/dev/zero of=/dev/null bs=500 count=100M

该脚本会产生大约2亿次系统调用(read 1亿次,write 1亿次)。

测试目标 总耗时(s) 延迟影响 平均耗时(μs)
不加任何事件监听 42.3224   0.2116
auditd 47.6929 +12.68% 0.2385

另外你们是怎么做agent资源控制的?避免影响机器上的业务?

具体思路可以参考以下文章

HeartBeat 不稳定

AgentSmith-HIDS的HeartBeat方案在未知情况下会出现HeartBeat线程退出的情况,难以稳定复现,正在全力排查

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.