
Kprobe प्रौद्योगिकी द्वारा ओपन सोर्स होस्ट-आधारित घुसपैठ का पता लगाने की प्रणाली (HIDS), E_Bwill से।
--इस परियोजना का नाम फिल्म - द मैट्रिक्स से प्रेरित था
English | 简体中文
तकनीकी रूप से, AgentSmith-HIDS एक होस्ट-आधारित आक्रमण पहचान प्रणाली (HIDS) नहीं है, क्योंकि इसमें नियम इंजन और पहचान फ़ंक्शन का अभाव है। हालांकि, इसे आपके स्वयं के HIDS समाधान के भाग के रूप में उच्च प्रदर्शन 'होस्ट सूचना संग्रह एजेंट' के रूप में उपयोग किया जा सकता है। इस एजेंट द्वारा एकत्र की जा सकने वाली जानकारी की व्यापकता इस परियोजना के विकास के दौरान सबसे महत्वपूर्ण मापदंडों में से एक थी, इसलिए इसे कर्नेल स्टैक में कार्य करने के लिए बनाया गया था, जो यूज़र स्टैक में कार्य करने वालों की तुलना में बहुत बड़ा लाभ प्राप्त करता है, जैसे:
| स्रोत | नोडनाम |
|---|---|
| होस्ट | होस्टनाम |
| डॉकर | कंटेनर नाम |
| k8s | पॉड नाम |
sys_execve()/sys_execveat()/compat_sys_execve()/compat_sys_execveat() को हुक करके प्राप्त किया गया, उदाहरण:
{
"uid":"0",
"data_type":"59",
"run_path":"/tmp",
"exe":"/opt/ltp/testcases/bin/growfiles",
"argv":"growfiles -W gf26 -D 0 -b -i 0 -L 60 -u -B 1000b -e 1 -r 128-32768:128 -R 512-64000 -T 4 -f gfsmallio-35861 -d /tmp/ltp-Ujxl8kKsKY ",
"pid":"35861",
"ppid":"35711",
"pgid":"35861",
"tgid":"35861",
"comm":"growfiles",
"nodename":"test",
"stdin":"/dev/pts/1",
"stdout":"/dev/pts/1",
"sessionid":"3",
"sip":"192.168.165.1",
"sport":"61726",
"dip":"192.168.165.128",
"dport":"22",
"sa_family":"1",
"pid_tree":"1(systemd)->1384(sshd)->2175(sshd)->2177(bash)->2193(fish)->35552(runltp)->35711(ltp-pan)->35861(growfiles)",
"tty_name":"pts1",
"socket_process_pid":"2175",
"socket_process_exe":"/usr/sbin/sshd",
"SSH_CONNECTION":"192.168.165.1 61726 192.168.165.128 22",
"LD_PRELOAD":"/root/ldpreload/test.so",
"user":"root",
"time":"1579575429143",
"local_ip":"192.168.165.128",
"hostname":"test",
"exe_md5":"01272152d4901fd3c2efacab5c0e38e5",
"socket_process_exe_md5":"686cd72b4339da33bfb6fe8fb94a301f"
}
sys_bind() को हुक करके प्राप्त किया गया, उदाहरण:
{
"uid":"0",
"data_type":"49",
"sa_family":"2",
"exe":"/usr/bin/python2.7",
"pid":"109640",
"ppid":"215496",
"pgid":"109640",
"tgid":"109640",
"comm":"python",
"nodename":"n225-117-018",
"sip":"0.0.0.0",
"sport":"8000",
"res":"0",
"sessionid":"30",
"user":"root",
"time":"1587540231936",
"local_ip_str":"10.225.117.18",
"hostname_str":"n225-117-018",
"exe_md5":"4f458165a2129ba549f1b6605ee87e74"
}
tcp_v4_connect()/tcp_v6_connect()/ip4_datagram_connect()/ip6_datagram_connect() को हुक करके प्राप्त किया गया, उदाहरण:
{
"uid":"0",
"data_type":"42",
"sa_family":"2",
"connect_type":"4",
"dport":"1025",
"dip":"180.101.49.11",
"exe":"/usr/bin/ping",
"pid":"6294",
"ppid":"1941",
"pgid":"6294",
"tgid":"6294",
"comm":"ping",
"nodename":"test",
"sip":"192.168.165.153",
"sport":"45524",
"res":"0",
"sessionid":"1",
"user":"root",
"time":"1575721921240",
"local_ip":"192.168.165.153",
"hostname":"test",
"exe_md5":"735ae70b4ceb8707acc40bc5a3d06e04"
}
udp_recvmsg()/udpv6_recvmsg() को हुक करके प्राप्त किया गया, उदाहरण:
{
"uid":"0",
"data_type":"601",
"sa_family":"2",
"dport":"53",
"dip":"192.168.165.2",
"exe":"/usr/bin/ping",
"pid":"6294",
"ppid":"1941",
"pgid":"6294",
"tgid":"6294",
"comm":"ping",
"nodename":"test",
"sip":"192.168.165.153",
"sport":"53178",
"qr":"1",
"opcode":"0",
"rcode":"0",
"query":"www.baidu.com",
"sessionid":"1",
"user":"root",
"time":"1575721921240",
"local_ip":"192.168.165.153",
"hostname":"test",
"exe_md5":"39c45487a85e26ce5755a893f7e88293"
}
security_inode_create() को हुक करके प्राप्त किया गया, उदाहरण: