맥도날드의 공식 배달 시스템인 맥딜리버리 취약점을 이용해 임의 메뉴를 1센트로 주문하거나 다른 사람 배달 주문을 가로챌 수 있다는 사실이 밝혀졌다.
보안 기업 트레이서블AI(Traceable AI) 보안 분석가로 활동 중인 이턴 즈베어는 인도 맥도날드, 정확히는 하드캐슬 레스토랑(Hardcastle Restaurants)이 운영하는 맥도날드 인도(McDonald’s India) 배달 시스템 API에서 결함을 발견했다.
맥도날드 인도가 보유한 맥딜리버리는 웹사이트와 iOS/안드로이드 앱을 통해 이용 가능하며 인도에서도 인기 있는 배달 서비스다. 맥딜리버리는 전 세계 다양한 국가와 지역에서 이용 가능하지만 맥도날드 인도는 자체 개발한 커스텀 웹 앱을 통해 서비스를 제공하고 있다.
맥도날드 인도의 맥딜리버리는 단일 페이지 애플리케이션 프레임워크인 앵귤러(Angular)로 구축됐으며 이는 상호작용이 많은 소비자 대상 애플리케이션에 적합하다고 평가받고 있다.
즈베어에 따르면 맥도날드 인도 배달 시스템에는 BOLA(Broken Object Level Authorization)라고 불리는 취약점이 존재했다. 이는 일반적인 취약점으로 맥도날드 인도 맥딜리버리에서 다수 BOLA가 발견됐다.
이 취약점으로 인해 앱이나 웹사이트가 주문 및 추적에 사용하는 API를 조작하면 누구나 쉽게 주문에 접근하거나 주문을 탈취하거나 배달 주소를 변경하거나 실시간으로 배달을 추적하거나 1센트로 주문을 요청할 수 있었다. 이는 API가 주문 요청자가 해당 요청을 할 권한이 있는지를 제대로 확인하지 않기 때문에 발생한 문제였다.
즈베어에 따르면 맥딜리버리 모바일 앱은 웹사이트와 동일한 백엔드 API를 사용했기 때문에 앱과 웹사이트 모두 동일한 취약점에 노출됐다고 한다. 그 결과 맥도날드 인도 사용자 개인 정보(사용자 이름, 이메일 주소, 전화번호)가 인터넷에 유출됐으며 배달 차량 번호, 배달원 프로필 사진, 실시간 위치 정보 등도 유출됐다.
즈베어는 2024년 7월 이 취약점을 발견하고 맥도날드 인도에 보고했으며 해당 취약점은 같은 해 9월 말 수정됐다.
맥도날드 인도의 대변인 슬락슈나 무케르지(Salakshana Mukherjee)는 자사는 보안 조치를 지속적으로 강화하기 위해 정기적인 감사와 평가를 수행하고 있으며 필요한 모든 기능 개선을 구현해 모든 시스템이 최신 상태이자 안전하다는 것을 보장하고 있다고 밝혔다.
맥도날드 인도는 개인 정보가 유출됐을 가능성이 있는 고객 총수를 공개하지 않았지만 즈베어는 수억 건 주문에 접근할 수 있었다고 증언했다. 참고로 맥도날드 인도는 2017년에도 맥딜리버리 앱을 통해 220만 명에 대한 개인 정보를 유출한 바 있다. 관련 내용은 이곳에서 확인할 수 있다.