메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

BRF: Fuzzing the eBPF Runtime

noriwiki
Ahn9807 (토론 | 기여)님의 2024년 12월 6일 (금) 13:13 판 (새 문서: 분류: ACM FSE HSIN-WEI HUNG, ARDALAN AMIRI SANI ACM FSE 2024 == 개요 == eBPF Fuzzer설계시에 기존 시스템의 한계인 대부분의 경우 eBPF Static verifier가 프로그램을 Reject시키는 문제를 eBPF Semantic정보를 통하여 해결하여 극복한 논문이다. == Motivation == eBPF 버그 많다. eBPF 버그 Fuzzer로 잡으면 좋다. == Importance == 그러나 기존의 방식들은 eBPF Semantic에 맞지않는 프로그램을 생성하여...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


HSIN-WEI HUNG, ARDALAN AMIRI SANI
ACM FSE 2024

개요

eBPF Fuzzer설계시에 기존 시스템의 한계인 대부분의 경우 eBPF Static verifier가 프로그램을 Reject시키는 문제를 eBPF Semantic정보를 통하여 해결하여 극복한 논문이다.

Motivation

eBPF 버그 많다. eBPF 버그 Fuzzer로 잡으면 좋다.

Importance

그러나 기존의 방식들은 eBPF Semantic에 맞지않는 프로그램을 생성하여 대부분의 생성된 프로그램이 Fuzzing을 거치기도 전에 eBPF Verifier에 의해서 Reject된다는 문제가 있었다. 또한 eBPF 프로그램은 특정 규칙에 따라서 System call을 날려줘야 하는데, 기존 Work들은 이를 고려하지 않아, eBPF Static verifier가 Reject시키는 경우도 많았다. 따라서, 기존 Verifier과 같은 경우 Syzkaller와 같은 경우 19.5%만 Buzzer와 같은 경우 단지 0.1%만이 성공적으로 Static verifier를 통과하여 생성해 내는 프로그램 대비 Fuzzer에 사용되는 프로그램이 적어지는 문제가 있었다.

Main Goals

  1. eBPF Semantic에 일치하는 프로그램을 생성해내자
  2. 각 Program type에 맞는 System call dependencies를 가지는 프로그램을 생성해내자

Design

Manual하게 eBPF Verifier를 조사해서 Semantic을 분석한다음, Fuzzing에 반영하였다. Detail한 내용은 논문 참고.

Conclusion

본 논문은 eBPF Fuzzing에 있어서, Semantic을 면밀히 분석하여서 Program generation에 반영한 논문이다. Motivation은 충분히 마음에 들지만, 한가지 걱정은 주로 Manual한 방법으로 Semantic을 조사하여서 Heuristic으로 반영한 것으로 빠르게 변화하는 eBPF Static verifier에 적용할 수 없다는 것과, 어디까지 수동적인 방법으로 하여 100% Correct한 Input을 생성할 수 없다는 것이다. 또한 기존의 Work대비 더 적은 수의 Bug를 발견한 것도 의문이라 할 수 있겠다.