버그 리포팅 3대 요소
- 기도하기 : 패치 안되게 해주세요
- 공부하기 : 모든 걸 뚫을 수 있도록
- AAR/AAW : AAR/AAW까지 포기하지 말자
High Rewards & High Confidence
어떻게 버그 헌터가 될수 있을까
잔소리
- English * * * * *
- 저명한 연구가나 떠오르는 샛별 모두 영어를 쓴다
- 기술적인 트윗과 의견도 모두 영어로 쓴다
- 제1언어가 영어가 아니어도 영어로 쓴다
- 유명한 컴퍼런스들은 모두 영어를 쓴다
- 중국인들도 영어를 쓴다
- 트윗할때도, 토론할때도 모두 영어를 쓴다
- 거의 모든 보안 보고서는 영어로 쓰여야 한다
- Google, Microsoft, Apple, ZDI, even if Samsung
- 저명한 연구가나 떠오르는 샛별 모두 영어를 쓴다
- Computer Science * *
- 모든 해킹 기법은 Computer Science에 기반한다
- Operating System, Algorithm, Network
- 하지만, 너무 열심히 하지 마라
- 대학원 잡혀감…
- 프로그래밍, Design pattern, DevOps
- 이거 써봤으면, 몇몇 이슈는 매우 쉽고 빠르게 찾을 수 있다
- 모든 해킹 기법은 Computer Science에 기반한다
- Read the Code / Assembly * * * * *
- 영어와 함께 필수
- C++, C, Javascript, Swift, Rust, ...
- 가능하면, 개발자의 주석도 읽어라
- 개발자의 커밋도 읽어라
- 가능하면, 개발자의 주석도 읽어라
- 대상 어셈블리어와 CPU구조를 배워라
- Calling convention, branch, side effect, ...
- Playing Good CTF * *
- CTF관심 있으면, 팀을 만들어도 나쁘지 않다
- 다른 해커들과 협업하는 법을 배울 수 있다
- 멘탈을 붙잡자
- 밤샘 CTF는 정신건강에 나쁘다
- 자신감을 잃는다
- 치팅의 늪으로 빠져든다
- 몇몇 좋은 CTF는 현실보다도 어렵다
- CTF관심 있으면, 팀을 만들어도 나쁘지 않다
- Health Care * * * * *
- 아프면 병원에 가자
- 제발.
- 프로젝트한다고 병원 안가면 쓰러진다
- 운동해라
- 공부 집중 안될때 운동해라
- 연구 집중 안될때 운동해라
- 코드리뷰 하지 마라
- 아프면 병원에 가자
- Mental Care * * * * *
- 버그/Exploit 찾기는 고통의 연속이다
- 리포트 제출하기 직전에 이미 패치되어버렸거나
- 다른 사람들에게 벽을 느끼거나
- 트위터에는 수많은 보안 전문가들이 있다
- 그들의 트윗을 읽을때면 우울해진다
- 하지만 기억하자. 나는 추종자가 아니다. 저 사람과 같은 연구자다.
- 가능하면 연구/코드에서 멀어지자
- 내 경우엔 문명6/림월드를 한다 (같이 할 사람 구함)
- 문 열고, 방 밖으로 나가 바람을 쐬자
- 버그/Exploit 찾기는 고통의 연속이다
- Always be humble
- 겸손하자
- 내가 겸손하지 않은 사람과 일하기 싫듯이 남들도 겸손하지 않은 나와 일하기 싫다
- 겸손하자
그 다음은?
- 대상을 정하자
- 대상의 모든 정보를 준비하자
- 대상의 버그 바운티 범위와 규칙을 확인하자
- 도구를 준비하자
- IDA, QEMU, JetBra$ns…
- 이미 밝혀진 버그들을 연구해보자
- 1-day 보안 버그를 연구하자
- 계획을 수립하자
- Auduiting할지
- Fuzzing할지
시작하자…
- 대상에서 흥미로운걸 발견했다면?
- exploitable한지 검증하자
- 버그 리포트를 작성하자
- 최대한 상세하게 작성하자
- 가능하면, PoC나 exploit code를 첨부하자
- 그냥 버그는 패치와 동시에 보상도 없다
- exploit code를 첨부하면
- 보수가 커진다
- PoC를 첨부하면
- reject당하지 않을 가능성이 높아진다
- 만약 의미없는 버그 리포트를 반복적으로 제출하면?
- 블랙리스트에 올라간다
- 의미있는 것만 보내자