About Me

지우진 / Woojin Ji

  • 대한민국의 대학교에 다니는 대학생
  • 커널 개발자를 목표로 취업 준비 중
  • 예전에는 시스템 해킹, 그중에서도 pwn 쪽을 주로 공부했고, DEFCON 33 Finalist로 참여했습니다
  • 최근에는 Linux kernel BPF/eBPF 쪽 코드를 읽고, verifier 패치와 selftest를 보내고 있습니다

관심 있는 것

  • eBPF
  • Linux kernel
  • BPF verifier 내부 동작
  • verifier state pruning과 precision tracking
  • 커널 코드 읽기와 작은 패치 만들기
  • 메일링 리스트 리뷰 흐름 따라가기

보안도 여전히 좋아하지만, 지금은 커널이 더 재밌습니다.

이 블로그에는

  • eBPF 관련 커널 코드 분석
  • 커널 메일링 리스트 정리
  • BPF와 커널 공부 기록
  • 보낸 패치, 리뷰 과정, selftest 작성 기록
  • verifier에서 안전하게 accept 범위를 넓히는 문제에 대한 메모

대충 본 척하고 넘어가기 싫어서, 읽은 것과 이해한 것을 제 말로 다시 정리해 두는 용도로 운영하고 있습니다.

공부해온 것

  • 시스템 해킹, 특히 pwn 위주로 공부
  • 문제를 푸는 데서 끝내기보다, 왜 터지고 왜 막히는지까지 따라가기
  • eBPF를 보면서 커널 안쪽 동작에 더 관심이 커짐
  • 단순 사용법보다 코드와 흐름을 직접 보는 쪽을 더 선호함
  • Linux kernel BPF subsystem에 패치를 보내고, bpf-next에 accepted 된 경험이 있음
  • eBPF verifier에서 stack read, scalar spill, precision backtracking, state pruning 쪽 문제를 파본 적이 있음
  • verifier selftest를 작성하면서 positive case뿐 아니라 잘못 accept하면 안 되는 negative case도 같이 보는 편

요약하면, 이것저것 찍어보는 것보다 내부 상태가 어떻게 바뀌고 왜 그 판단이 sound한지까지 따라가려는 편입니다.

Contact

목표

커널 코드와 리뷰 문맥을 이해하면서, 작은 버그 수정이나 precision 개선부터 꾸준히 upstream에 기여하는 개발자가 되는 것.

아직은 배우는 중이지만, 적어도 어디까지 읽었고 어떤 근거로 판단했는지는 블로그에 남겨두려고 합니다.