16세 해커, MS 내부 Titan의 JWT 서명 미검증으로 17조 행 접근 가능성 발견
- 16세 연구자 Faav가 마이크로소프트 내부 분석 서비스 Titan의 JWT 서명 미검증 결함을 발견, 서명 없는 토큰으로 관리자 신원을 주장해 최대 17조 3천억 행 규모 데이터셋에 접근할 수 있었음
- alg:none 헤더와 빈 서명 섹션으로 테넌트, 오디언스, 앱 허용 목록 검증을 차례로 통과한 뒤 admin 계열 UPN을 대입해 로컬 사용자 조회까지 도달함
- Swagger 문서에서 인증 요구가 빠진 /v2/Query 경로가 raw SQL을 받았고, 웨이백 머신의 2023년 스냅샷에서 56개 테이블 정의와 TestData 라우팅 값을 복구함
- 마이크로소프트는 바운티로 $5000을 지급했고 게시 전 편집권을 행사해 섹션과 수치를 삭제함
- 실제 고객 데이터나 PII는 열람하지 않았고, 글에 적힌 영향은 공격자가 무엇을 할 수 있었는지에 대한 가정임
Hacker News 의견들
글 첫 문단이 AI가 쓴 것 같다는 지적이 나오는데, 나는 저 문장이 오히려 마이크로소프트가 요구해서 넣은 부분 같더라. AI로 글 쓰는 걸 뭐라 할 생각은 없는데 자기 이름 걸고 올리기 전에 한 번은 읽어보는 게 맞지 않나.
Antares가 뭔지 검색해봤는데 1B 모델 말고는 안 나오더라. 글에 본인 개인 해킹 봇이라고 써 있음.
$5000은 좀 심하다. MSRC 바운티 페이지 보면 최대 $100,000에서 $250,000인데 이 정도면 0 하나 빠진 것 같음.
바운티 금액은 대략 국가급 공격자가 안 걸리고 쓸 수 있나의 대리 지표라고 봐. 제로클릭 아이폰 익스플로잇이 수십만 달러인 것도 그런 이유고.
마이크로소프트 바운티가 짜기로 유명하지. 그 nightmare eclipse 사건만 봐도.
솔직히 이건 마이크로소프트한테 동전 한 푼임. 그냥 10만 달러 줘야 한다.
바운티 가격을 시장 신호로 보면 이런 부류는 별일 아닌 취급이라는 뜻이야. 프로그램 자체가 마케팅에 가깝고 $5000이 적정가일 수도 있음.
다음에 이런 거 찾으면 블랙마켓에 팔아. 땅콩 값 받고 공개하지 말고. 이미 누군가는 그렇게 했을걸.
JWT alg=none이 또 나왔네. howmanydayssinceajwtalgnonevuln.com이라는 사이트도 있음.
서명을 아예 검증 안 한 건 스펙 탓은 아니지. 구현 실수임.
실수가 이렇게 쉽게 나는 게 스펙 설계 문제임. 나는 JWT를 토큰 저장용으로만 씀. OIDC도 JWT 쓰던데 거기도 위험한가?
마이크로소프트가 글에 편집권을 갖고 섹션과 수치를 잘라냈다는 부분이 제일 불편함. 16살 애한테 편집권 넘기라고 압박하는 건 역겹다.
저게 왜 수락됐는지 궁금함. $5000 때문인지, 고소 면제 때문인지.
마이크로소프트 안에 MISE라고 JWT 문제를 피하는 내부 라이브러리가 있고 SFI의 일부인데, 서비스 팀이 컴플라이언스 경고를 의도적으로 미뤘다는 거임.
15살한테 털린 거 보면 마이크로소프트 보안 수준이 딱 이 정도임. 그런데 사람들은 오픈소스가 더 위험하다는 말을 계속 믿더라.
16살이라니. 10년 뒤가 궁금하다.