05: 버그 헌팅

버그 리포팅 3대 요소

  1. 기도하기 : 패치 안되게 해주세요
  2. 공부하기 : 모든 걸 뚫을 수 있도록
  3. AAR/AAW : AAR/AAW까지 포기하지 말자

High Rewards & High Confidence

어떻게 버그 헌터가 될수 있을까

잔소리

  1. English * * * * *
    • 저명한 연구가나 떠오르는 샛별 모두 영어를 쓴다
      • 기술적인 트윗과 의견도 모두 영어로 쓴다
      • 제1언어가 영어가 아니어도 영어로 쓴다
    • 유명한 컴퍼런스들은 모두 영어를 쓴다
    • 중국인들도 영어를 쓴다
      • 트윗할때도, 토론할때도 모두 영어를 쓴다
    • 거의 모든 보안 보고서는 영어로 쓰여야 한다
      • Google, Microsoft, Apple, ZDI, even if Samsung
  2. Computer Science * *
    • 모든 해킹 기법은 Computer Science에 기반한다
      • Operating System, Algorithm, Network
      • 하지만, 너무 열심히 하지 마라
        • 대학원 잡혀감…
    • 프로그래밍, Design pattern, DevOps
      • 이거 써봤으면, 몇몇 이슈는 매우 쉽고 빠르게 찾을 수 있다
  3. Read the Code / Assembly * * * * *
    • 영어와 함께 필수
    • C++, C, Javascript, Swift, Rust, ...
      • 가능하면, 개발자의 주석도 읽어라
        • 개발자의 커밋도 읽어라
    • 대상 어셈블리어와 CPU구조를 배워라
      • Calling convention, branch, side effect, ...
  4. Playing Good CTF * *
    • CTF관심 있으면, 팀을 만들어도 나쁘지 않다
      • 다른 해커들과 협업하는 법을 배울 수 있다
    • 멘탈을 붙잡자
      • 밤샘 CTF는 정신건강에 나쁘다
      • 자신감을 잃는다
        • 치팅의 늪으로 빠져든다
    • 몇몇 좋은 CTF는 현실보다도 어렵다
  5. Health Care * * * * *
    • 아프면 병원에 가자
      • 제발.
      • 프로젝트한다고 병원 안가면 쓰러진다
    • 운동해라
      • 공부 집중 안될때 운동해라
      • 연구 집중 안될때 운동해라
    • 코드리뷰 하지 마라
  6. Mental Care * * * * *
    • 버그/Exploit 찾기는 고통의 연속이다
      • 리포트 제출하기 직전에 이미 패치되어버렸거나
      • 다른 사람들에게 벽을 느끼거나
        • 트위터에는 수많은 보안 전문가들이 있다
        • 그들의 트윗을 읽을때면 우울해진다
        • 하지만 기억하자. 나는 추종자가 아니다. 저 사람과 같은 연구자다.
    • 가능하면 연구/코드에서 멀어지자
      • 내 경우엔 문명6/림월드를 한다 (같이 할 사람 구함)
      • 문 열고, 방 밖으로 나가 바람을 쐬자
  7. Always be humble
    • 겸손하자
      • 내가 겸손하지 않은 사람과 일하기 싫듯이 남들도 겸손하지 않은 나와 일하기 싫다

그 다음은?

시작하자…