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
- Email: [email protected]
- GitHub: random6-xyz
- LinkedIn: woojin-ji
- X: @random6_xyz
- Discord:
.random6
목표
커널 코드와 리뷰 문맥을 이해하면서, 작은 버그 수정이나 precision 개선부터 꾸준히 upstream에 기여하는 개발자가 되는 것.
아직은 배우는 중이지만, 적어도 어디까지 읽었고 어떤 근거로 판단했는지는 블로그에 남겨두려고 합니다.