16세 소년이 Microsoft 취약점을 발견했습니다. 173억 개의 행이 노출되었습니다.

173억 개의 내부 행을 노출시킨 Microsoft 취약점은 16세 연구원에 의해 발견되었습니다.

연구원이 자신의 블로그에서 공개한 판결은 해당 분야가 10년 동안 끌어온 논쟁을 다시 불러일으켰습니다. 왜 API를 보호해야 하는지 문서화하는 회사가 자신의 규칙을 가장 먼저 어기는 이유입니다. Microsoft는 이미 구멍을 막고 보상을 지불했습니다. 그것은 근본적인 질문을 해결하지 못합니다.

작업의 핵심

  • 173억 행 버그에 5,000달러. Microsoft는 25,000개의 내부 계정, 17,990개의 직원 이메일 및 24,569개의 분석 패널의 메타데이터를 노출한 구멍에 대해 규모에 맞는 최소 보상을 지불했습니다.
  • 공격에는 고급 지식이 필요하지 않았습니다. 서버가 서명을 확인하지 않은 토큰에 대해 사용자 필드를 ‘관리자’로 조작하는 것만으로도 충분했습니다. 이 기술은 2015년부터 문서화되었습니다.
  • AI 보조 사냥으로 시간이 단축됩니다. Antares 도구는 Azure 호스트에서 Titan API를 발견하고 10일간의 지속적인 테스트를 유지했습니다. 이는 어떤 사람의 감사도 지칠 줄 모르고 지속되는 노력입니다.

Titan에서 ‘관리자’로 진입하기 위한 10일간의 AI 테스트

8월 25일 Faav와 AI 도구 Antares는 Titan 서비스 API를 발견했습니다. 웹 사이트는 내부 직원만 액세스할 수 있었지만 프로그래밍 인터페이스는 동일한 보호 없이 Azure 호스트에 노출되었습니다. Antares는 서버가 서명되지 않은 자격 증명을 허용하는지 확인할 때까지 10일 동안 다양한 토큰을 테스트했습니다. 실패한 것은 시스템이 인식한 사용자를 찾는 것이었습니다.

그런 다음 연구원은 고전적인 기본 구성을 적용했습니다. 즉, 사용자 필드를 ‘admin’으로 변경했습니다. Titan은 이를 관리자 역할이 있는 로컬 사용자 이름으로 해석하고 쿼리를 실행했습니다. 추정에 따르면 25,000개의 계정, 17,990개의 직원 이메일, 24,569개의 패널 및 17개의 분석 데이터베이스의 메타데이터에 대한 액세스가 열렸으며 총 행 수는 173억 개에 달했습니다. 여기에 Bing 데이터 행의 두 샘플에 대한 액세스도 추가되었습니다.

연구원은 정교한 공격이 필요하지 않았다는 점을 인정했습니다. Titan은 테넌트, 애플리케이션 대상, 사용자 등 토큰의 내용을 확인했지만 서명은 확인하지 않았으며 이로 인해 다른 모든 항목이 무효화되었습니다. Azure Application Gateway 설명서는 명시적입니다. 즉, 서명, 발급자, 수신자 및 만료의 유효성을 검사해야 합니다. 대장장이 집에 있는 나무칼.

청년은 9월 5일 마이크로소프트 보안 대응 센터에 장애 사실을 신고했다. 회사는 9일 접속을 폐쇄하고 17일 5,000달러를 지불했다. 구멍을 닫는 데 4일이 걸리고 보상을 받는 데 11일이 걸립니다. Microsoft가 관리보다 보안을 우선시하는 방법에 대해 많은 것을 알려주는 달력입니다.

서명되지 않은 토큰은 열린 문입니다. 누가 발행했는지 확인하지 않고 내용을 확인하는 것은 봉투를 열지 않고 보낸 사람을 읽는 것과 같습니다.

Microsoft가 문서에서 요구하고 자체 서비스에서는 생략한 서명

시장에서 가장 중요한 데이터는 다음과 같습니다. Microsoft의 취약성은 특정 감독으로 인해 발생하지 않습니다. 클라우드의 최신 인증 기반인 JSON 웹 토큰 표준에서는 각 자격 증명의 암호화 서명 유효성을 검사해야 합니다. 해당 검증이 없으면 네트워크에 액세스할 수 있는 모든 행위자는 관리자 권한으로 토큰을 조작할 수 있습니다. Internet Engineering Working Group은 이 표준과 관련된 모범 사례를 발표했습니다. 마이크로소프트는 그들을 알고 있습니다. 이를 클라이언트 서비스에 적용합니다. 그러나 내부 분석 도구인 Titan에는 검증이 존재하지 않았습니다.

연구원이 자신의 계정에 따르면 고객 데이터를 건드리지 않았고 메타데이터와 Bing 대기열의 두 샘플로 제한되었기 때문에 그 영향은 이론적인 수준으로 유지되었습니다. 173억 개의 행은 기록, 중복 및 파생 데이터가 포함될 가능성이 있는 메타데이터를 기반으로 구축된 추정치입니다. Microsoft는 출판 전에 텍스트를 검토하고 섹션과 그림을 잘라냈지만 모든 기술적인 세부 사항은 연구원 자신이 직접 작성했습니다.

다음을 운영하는 스페인 회사의 경우 구름 은행, 보험 회사, 공공 기관 등 Microsoft의 에피소드에는 직접적인 내용이 있습니다. API의 보안은 웹 인터페이스가 숨겨져 있는지 여부에 좌우되지 않습니다. 토큰이 선언하는 내용에 관계없이 각 자격 증명의 유효성을 검사하는 것은 서버에 따라 다릅니다. 제조업체 자체 내부 서비스가 해당 시점에 실패하면 합리적인 질문은 얼마나 많은 타사 서비스가 이를 인지하지 못한 채 동일한 작업을 수행하는지입니다.

5,000달러의 상금이 사이버 보안 시장에 대해 밝혀주는 것

$5,000 보상은 전체 작업에서 가장 불편한 정보입니다. Microsoft는 중요한 원격 코드 실행 버그에 대해 높은 범위에서 $100,000를 초과하는 취약성 현상금 프로그램을 유지하고 있습니다. 여기에서는 서명되지 않은 토큰을 통해 관리자가 회사 내부 분석에 액세스할 수 있었습니다. 결제는 맨 아래 단계에서 했어요. 발견의 기술적 심각성으로 인해 이를 정당화할 수 있는 방법이 없으며 오히려 Microsoft가 분류한 결과로 인해 이를 정당화할 수 없습니다.

2015년 Tim McLean 연구원이 여러 도서관에서 알고리즘 없이 유효한 것으로 선언된 토큰을 허용한다는 사실을 입증했을 때 해당 부문에서는 이러한 유형의 실패가 존재한다는 사실을 알고 있었습니다. 10년이 지난 후에도 여전히 나타납니다. 이는 무지의 문제가 아닙니다. 특히 고객 대면 도구보다 제품 압력이 덜한 내부 서비스에서 구현 규율이 실패합니다.

취약점 검색 도구로 AI가 등장하면 압박감이 가중됩니다. 안타레스는 10일 동안 인내를 제공했습니다. ‘관리자’를 시도해 보자는 생각은 연구원의 몫이었다. 기계는 기준을 대체하는 것이 아니라 증폭시킵니다. Indra, Telefónica Tech 또는 스페인의 모든 관리 서비스 제공업체 등 중요한 인프라를 관리하는 회사의 경우 노출 표면이 수동 감사 용량보다 빠르게 증가한다는 실질적인 결론이 있습니다.

Microsoft는 버그가 Titan 이외의 서비스에 영향을 미쳤는지 또는 폐쇄 전에 노출된 직원 수를 공개적으로 자세히 설명하지 않았습니다. 해당 정보가 없으면 에피소드는 눈에 띄는 결과 없이 경고로 남습니다. 다음 행사는 Microsoft의 연례 보안 보고서 발행으로, 회사는 일반적으로 보상 프로그램에 대해 보고합니다. 5,000달러 트랜치가 인증 실패에 대한 표준 지불금으로 다시 나타난다면 교훈을 얻지 못한 것입니다.