Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2021-3490-ebpf-analysis — 리눅스 eBPF 서브시스템과의 상호작용을 보여주는 연구 구현 (CVE-2021-3490 관련). BPF 맵 생성, 시스템 호출 래퍼, 네임스페이스 설정, 검증기 분석을 포함합니다. 교육 및 보안 연구 목적으로만 사용하세요. | Kitploit
도구/GitHubGitHub/sandesh9978/cve-2021-3490-ebpf-analysis
Exploit FrameworksVulnerability AnalysisReverse EngineeringLearning & EducationBinary Exploitation
GitHubsandesh9978/cve-2021-3490-ebpf-analysis

cve-2021-3490-ebpf-analysis

리눅스 eBPF 서브시스템과의 상호작용을 보여주는 연구 구현 (CVE-2021-3490 관련). BPF 맵 생성, 시스템 호출 래퍼, 네임스페이스 설정, 검증기 분석을 포함합니다. 교육 및 보안 연구 목적으로만 사용하세요.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
5개월 전아직 검토되지 않음

cve-2021-3490-ebpf-analysis

Linux eBPF 서브시스템과 CVE-2021-3490 관련 상호작용을 보여주는 연구 구현입니다. BPF 맵 생성, syscall 래퍼, 네임스페이스 설정, 검증기 분석을 포함합니다. 교육 및 보안 연구 목적으로만 사용하세요.

CVE-2021-3490 – eBPF 검증기 경계 추적 분석

개요

이 저장소는 CVE-2021-3490( eBPF 검증기에서 32비트 경계 추적 오류와 관련된 취약점 ) 과 관련하여 Linux 커널 eBPF 서브시스템을 탐구하는 C 구현을 포함합니다.

이 프로젝트의 목표는 bpf() 시스템 콜이 내부적으로 어떻게 동작하는지, BPF 맵이 사용자 공간에서 어떻게 생성 및 관리되는지, 검증기가 레지스터 제약 조건을 어떻게 처리하는지 이해하는 것입니다. 이는 커널 내부 및 보안 분석에 초점을 맞춘 연구 및 학습 프로젝트입니다.

이 코드는 프로덕션 환경에서 사용되지 않습니다.

배경

eBPF를 사용하면 사용자 공간 프로그램이 검증된 바이트코드를 Linux 커널에 로드할 수 있습니다. 실행 전에 커널 검증기는 프로그램이 다음을 확인합니다.

  • 안전하지 않은 메모리 접근을 수행하지 않는지
  • 레지스터 경계 내에 머무르는지
  • 커널 안전 규칙을 위반하지 않는지

취약한 커널 버전에서 검증기는 특정 ALU 연산 중 32비트 경계를 잘못 추적했습니다. 이 결함으로 인해 조작된 프로그램이 검증 로직을 우회할 수 있습니다.

공식 세부 정보:

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2021-3490
  • Ubuntu 보안 공지: https://ubuntu.com/security/CVE-2021-3490
  • Red Hat 권고: https://access.redhat.com/security/cve/CVE-2021-3490

이 프로젝트가 보여주는 것

이 구현은 다음에 중점을 둡니다.

  • bpf() syscall의 직접 사용
  • union bpf_attr의 수동 정의
  • BPF 맵 생성 (BPF_MAP_TYPE_ARRAY)
  • 맵 요소 업데이트 및 조회
  • BPF 객체 메타데이터 검색
  • 제어된 실행을 위한 네임스페이스 설정

이는 사용자 공간이 커널 BPF 인프라와 상호작용하는 방식을 이해하는 데 도움을 주기 위해 설계되었습니다.

이 저장소는 자동화된 익스플로잇 페이로드 로직을 포함하지 않습니다.

테스트 환경

  • Ubuntu 20.10 (Groovy)
  • Linux 커널 5.8.0-48-generic

다음 명령으로 커널 버전을 확인할 수 있습니다.

root@kitploit:~
uname -r

패치되었거나 최신 커널에서는 동작이 다를 수 있습니다.

빌드

GCC를 사용하여 컴파일합니다.

root@kitploit:~
gcc -o exploit exploit.c -lpthread

표준 Linux 헤더 외에 외부 라이브러리는 필요하지 않습니다.

사용법

프로그램을 실행합니다.

root@kitploit:~
./exploit

프로그램은 다음을 수행합니다.

  • 사용자 및 네트워크 네임스페이스 구성
  • BPF 맵 생성
  • 요소 삽입
  • 맵 메타데이터 조회
  • 실행 결과 표시

보안 주의 사항

이 프로젝트는 다음을 위한 것입니다.

  • 교육 목적
  • 커널 보안 연구
  • eBPF 내부 이해
  • 통제된 실험실 환경

적절한 승인 없이 이 코드를 시스템에서 실행하지 마십시오.

학습 목표

이 프로젝트를 통해 다음을 이해할 수 있습니다.

  • Linux 커널이 BPF 인터페이스를 노출하는 방식
  • BPF 맵의 구조
  • 검증기 로직이 사용자 공간 입력과 상호작용하는 방식
  • 저수준 시스템 콜을 수동으로 구성하는 방법
도구 다운로드