웹P를 초월하다 노트

웹P를 초월하다

NSO의 BLASTPASS iMessage 악용 사례는 사용자의 어떠한 조작도 없이 최신 iOS 버전을 실행하는 아이폰을 손상시킨 제로클릭 제로데이 취약점이었습니다. 이 악용 사례는 공격자의 iMessage 계정에서 피해자에게 전송된 악성 이미지를 포함한 PassKit 첨부 파일을 포함했습니다. 애플은 2023년 9월 7일 iOS에 대한 긴급 보안 업데이트를 배포하여 이 취약점을 해결했습니다. WebP 팀도 해당 문제에 대한 수정 프로그램을 발표했으며, 이후 크롬에 통합되었습니다.이 취약점의 근본 원인은 WebP 무손실 이미지 형식, 특히 해당 형식에 사용된 허프만 코딩의 메모리 손상 문제였습니다. 이 취약점을 통해 공격자는 잘못된 허프만 트리를 정의할 수 있었고, 이는 디코딩 테이블이 생성될 때 메모리 손상을 초래할 수 있었습니다. 하지만 손상 원시값은 제한적이었고, 버그가 발생한 직후 이미지 파싱이 중지되었습니다.이 취약점의 악용은 한 번의 클릭으로 제로클릭 설정에서 악용을 수행하는 방법이 불분명했기 때문에 미스터리였습니다. 손상 원시값은 매우 제한적이었고, 샘플에 접근할 수 없었기 때문에 취약점을 악용하는 방법을 아는 것은 거의 불가능했습니다.11월 중순, 작성자는 여러 개의 BLASTPASS PKPass 샘플 파일과 실패한 악용 시도의 크래시 로그를 확보하여 샘플을 분석하고 악용 방식을 파악할 수 있었습니다. 분석 결과, 메모리 손상 문제를 유발하는 악성 이미지 파일을 전송하고, 제한적인 손상 원시값을 사용하여 임의 코드를 실행하여 취약점이 악용되었음을 알 수 있었습니다.WebP 형식은 허프만 코딩을 사용하여 이미지를 압축하는 비교적 최신 이미지 파일 형식입니다. 무손실 형식은 RIFF 컨테이너와 별도의 무손실 형식을 사용하며, 취약점은 바로 이곳에서 발견되었습니다. 취약점은 무손실 형식에 사용된 허프만 코딩, 특히 디코딩 테이블이 생성되는 방식에 있었습니다.작성자의 샘플 분석 결과, 이 악용 사례는 제한적인 손상 원시값을 사용하여 함수 포인터를 덮어쓰고 악성 코드를 실행하는 것을 포함한 여러 기술을 결합하여 임의 코드를 실행했습니다. 분석 결과, 이 악용 사례는 매우 정교했으며 WebP 형식과 그 안에 사용된 허프만 코딩에 대한 깊이 있는 이해가 필요했습니다.전반적으로 NSO BLASTPASS iMessage 악용 사례는 WebP 형식과 그 안에 사용된 허프만 코딩에 대한 깊이 있는 이해가 필요한 매우 정교하고 복잡한 취약점이었습니다. 이 취약점의 악용은 미스터리였지만, 샘플 분석 결과 여러 기술을 결합하여 임의 코드를 실행할 수 있음이 밝혀졌습니다.