
eBPF 기반의 Linux 호스트 기반 침입 탐지 시스템.

영어 | 中文介绍
eBPF 커널 기술로 구현된 HIDS demo입니다.
구현 및 기능:
참고: eBPF 공식 웹사이트
저자는 소스 코드 관점에서 cilium, datadog, tracee, falco, kubeArmor와 같은 클라우드 네이티브 eBPF 기술로 구현된 런타임 보안 제품을 분석하고 있습니다. 분석이 완료되면 이 제품의 설계, 아이디어 및 기능을 계속 공유하겠습니다.
현재 진행 상황 및 변경 사항
git clone https://github.com/ehids/ehids-agent.git
cd ehids
make
./bin/ehids-agent
다른 셸을 열고 네트워크 명령을 실행하여 네트워크 동작을 트리거합니다.
wget www.cnxct.com
또는 Java 명령 실행 예제를 컴파일하고 실행하여 Java RASP 기능을 테스트합니다. Uprobe는 libjava.so의 JDK_execvpe 함수를 마운트하며, 해당 오프셋 주소는 0x19C30입니다. 다른 버전의 경우 직접 오프셋 주소를 찾으십시오.
cd examples
javac Main.java
java Main
JAVA JDK 버전 정보
~$java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
root@vmubuntu:/home/cfc4n/project/ehids# ./bin/ehids
2021/12/01 19:27:08 start to run EBPFProbeUJavaRASP probe
2021/12/01 19:27:08 start to run EBPFProbeKTCP probe
2021/12/01 19:27:08 start to run EBPFProbeKTCPSec probe
2021/12/01 19:27:08 start to run EBPFProbeKUDP probe
2021/12/01 19:27:08 start to run EBPFProbeUDNS probe
2021/12/01 19:27:08 probeName:EBPFProbeKTCPSec, probeTpye:kprobe, start time:07:23:49, PID:864, UID:101, AF:2, TASK:5systemd-resolv
2021/12/01 19:27:08 probeName:EBPFProbeKUDP, probeTpye:kprobe, PID:0, comm:systemd-resolve, qname:57.22.91.101.in-addr.arpa, qclass:1, qtype:12.
2021/12/01 19:27:09 probeName:EBPFProbeKTCP, probeTpye:kprobe, start time:19:31:19, family:AF_INET, PID:409744, command:curl, UID:0, rx:67408, tx:79, dest:118.31.44.218:20480, source:172.16.71.4, type:OUT, result:True
2021/12/01 19:27:10 probeName:EBPFProbeUJavaRASP, probeTpye:uprobe, JAVA RASP exec and fork. PID:409049, command:ifconfig, mode:MODE_VFORK
eBPF 기반 악용 및 탐지 메커니즘에 대한 기사가 美团安全应急响应中心의 위챗 공개 계정에 공유되었습니다. eBPF의 악용 및 탐지 메커니즘


이 저장소는 Meituan의 공식 저장소가 아니며, 엔지니어들이 기여한 것입니다.
이 저장소는 Meituan에서 사용하는 전체 HIDS 버전을 포함하지 않으며, 간소화된 데모입니다. 전체 소스 코드를 자세히 보려면 https://www.cnxct.com/jobs/를 클릭하십시오.