2P by neo 1달전 | ★ favorite | 댓글 3개
  • 2024년 11월 20일, Subaru의 STARLINK 연결 차량 서비스에서 미국, 캐나다, 일본 내 차량과 고객 계정에 제한 없는 접근 권한을 얻을 수 있는 취약점이 발견됨
  • 공격자는 피해자의 이름과 우편번호(또는 이메일, 전화번호, 차량 번호판)만 알아도 차량 원격 제어, 과거 1년치 위치 정보 확인, 고객 개인정보(주소, 결제 정보 일부 등) 조회, 그리고 차량 PIN 획득이 가능했음
  • 제보 후 24시간 이내에 해당 취약점이 패치되었으며, 악의적으로 활용된 사례는 없었음

도입부

  • 연구자는 2024년 11월 20일 Subaru STARLINK 서비스의 보안 취약점을 발견하여 전체 차량 원격 제어와 위치 추적이 가능함을 확인함
  • 간단한 고객 정보(이름/우편번호, 이메일, 전화번호, 번호판 등)만으로도 원격시동, 문 열고 잠그기, 정확한 차량 위치 추적 등의 권한을 악용할 수 있었음
  • 문제는 제보 후 빠른 시일 내에 수정되었음

Proof of Concept

  • 번호판만 알면 약 10초 만에 Subaru 차량을 장악해 1년치 위치 기록을 조회하는 시연을 진행했음
  • 실제 2023년형 Subaru Impreza의 1,600개 위치 좌표를 사례로 활용함

취약점 분석

MySubaru Mobile App 감사(Auditing)

  • 연구자가 처음으로 MySubaru 앱을 역프록시(Burp Suite)로 분석했으나, 앱 자체 보안이 잘 구성되어 있어 직접적인 공격 취약점은 발견하지 못함
  • 공격자를 위한 API 엔드포인트가 많지 않았고, 권한 검증도 엄격하게 이루어졌음

Subaru Admin Panel 찾기

  • MySubaru 앱이 사용하는 도메인을 분석하던 중 mys.prod.subarucs.com을 발견함
  • 같은 도메인 스캔을 통해 “STARLINK Admin Portal”이라는 내부 관리용 관리자 패널을 발견함
  • Subaru STARLINK가 원격 차량 제어 등을 담당하는 서비스라는 점을 알고 이 패널의 취약점을 집중적으로 탐색함

Subaru STARLINK Admin Portal에서 임의 계정 탈취

  • 패널 로그인 페이지에서 확인한 JavaScript 파일(login.js)에 resetPassword.json이라는 엔드포인트가 있었음
  • 해당 엔드포인트를 통해 유효한 이메일 주소만 알아내면 별도의 확인 토큰 없이 계정 비밀번호를 재설정할 수 있었음
  • LinkedIn 등으로 Subaru 직원 이메일 형식을 추적하여 실제 직원 이메일을 대입해 계정을 임의로 탈취하는 데 성공함

2FA 우회

  • 탈취 계정으로 로그인 시 2FA가 설정되어 있었으나, 이는 UI 수준의 기능이었음
  • 클라이언트 측 자바스크립트 코드를 주석 처리해 오버레이를 없애니 2FA를 무력화할 수 있었음
  • 서버 단에서는 2FA 여부를 제대로 검증하지 않아 관리 기능에 접근 가능했음

1년간 어머니 차량 추적

  • 연구자가 가족 차량(2023 Subaru Impreza)의 실제 위치 기록에 접근해, 지난 1년간 시동을 걸었거나 원격으로 명령을 보낸 시점마다 저장된 좌표를 모두 조회함
  • 약 1,600여 개의 위치 기록이 노출되었고, 정확도가 최대 5m 단위로 세밀했음

1년치 Subaru 위치 정보 시각화

  • 1년 치 좌표를 모아 지도에 표시해 보니, 매우 구체적인 이동 경로 전체가 드러났음
  • 사용자(연구자 어머니)가 STARLINK 이용 약관에 동의하면서 수집된 정보였지만, 보안 취약점으로 인해 외부인이 임의로 열람할 수 있게 된 위험성이 확인됨

친구 차량 잠금 해제

  • 또 다른 사용자의 번호판 정보를 입력해 차량을 검색한 뒤, 관리자 패널에서 ‘Authorized User’로 본인 계정을 추가함
  • 이후 원격 문 열기 명령을 실행했고, 실제 차량이 잠금 해제되는 것을 동영상으로 확인함
  • 피해자에게는 계정 추가나 차량 제어 사실에 대한 알림이 오지 않았음

타임라인

  • 2024년 11월 20일 11:54 PM CST: SecOps 이메일로 최초 제보 진행함
  • 2024년 11월 21일 7:40 AM CST: Subaru팀으로부터 첫 응답 수신함
  • 2024년 11월 21일 4:00 PM CST: 취약점 수정 완료 후 재현 불가 상태 확인함
  • 2025년 1월 23일 6:00 AM CST: 블로그 게시글 공개함

추가 내용(Addendum)

  • 보안 전문가 입장에선 비밀번호 재설정과 2FA 우회 같은 취약점 자체는 흔하지만, 자동차 제조사 시스템의 영향 범위와 민감 정보 노출 규모가 매우 큼
  • 자동차 산업 특성상, 한 지역 직원이 해외 차량 정보나 개인 정보를 조회해도 정상 업무로 간주될 수 있어 보안이 어렵게 느껴짐
  • 기본적으로 직원에게 광범위한 권한을 주는 구조이기 때문에, 근본적 보안을 유지하기가 쉽지 않아 보임

재밌네요

  • 서브도메인 스캐너로 관리자 페이지 찾음
  • 관리자 페이지에서 무차별 대입해서 비밀번호 리셋 api 찾음
  • 관리자 페이지에서 무차별 대입해서 이메일 존재 여부 확인 가능한 api 찾음

그리고 가장 중요한 2FA 우회가 본문에 안 나왔지만 클라이언트 웹 페이지의

//$('#securityQuestionModal').modal('show');

주석 처리로 우회가 됐다는데요 ㅋㅋ 진짜 충격적이네요
보안은 잘 몰라도 목숨이 걸린 자동차 회사 치고 너무 심하지 않나요

죄송합니다 지금 보니까 2FA 우회가 본문에도 있었네요. 그래도 코드 한 줄 주석 처리로 우회된 건 너무 충격적이었어요

Hacker News 의견
  • Subaru, Starlink, 및 관련 파트너들이 차량을 원격으로 추적하고 비활성화할 수 있는 시스템이 있음

    • 이 시스템은 법 집행 기관이 차량을 추적할 수 있도록 함
    • STARLINK 가입 시 이러한 데이터 수집에 동의한 것으로 보임
  • Subaru의 개인 정보 수집 및 사용에 대한 "알 권리" 요청 결과

    • Subaru는 다양한 개인 정보를 수집하고 판매할 수 있음
    • 수집된 정보는 서비스 제공, 마케팅, 법적 의무 준수를 위해 사용됨
    • 정보는 서비스 제공자, 계약자, 소매업체 등과 공유됨
  • Subaru의 연결 서비스 개발팀과의 경험

    • 팀 내 친족주의와 조언을 듣지 않는 문화가 존재함
    • 시스템이 작동하는 것 자체가 놀라움
  • Starlink 웹앱의 보안 문제

    • 2단계 인증을 우회할 수 있는 코드가 존재함
    • 해커가 Starlink 직원의 계정을 해킹하여 접근한 것은 윤리적 해킹의 경계를 넘는 것임
  • 인터넷에 연결된 차량의 필요성에 대한 의문

    • 모든 여행 데이터가 기록되고 배포될 수 있음
    • 이에 대한 명확한 동의 절차가 필요함
  • 2013년 Outback 모델과 최신 Subaru 차량 비교

    • 최신 모델의 사용자 인터페이스가 불편하고 성능이 떨어짐
    • 전자식 조향 장치와 터보 지연이 문제임
    • 향후 경쟁력 있는 전기차 또는 하이브리드 모델 필요
  • Subaru 소유자를 위한 정보

    • 미국 내 어디서든 데이터 삭제 요청 가능
    • 약 6개월 소요되며 확인 이메일 발송됨
  • Starlink를 통한 원격 시동 가능성

    • 명령줄을 통해 차량을 원격으로 시동할 수 있는지에 대한 질문
    • Starlink가 원격 시동 시스템보다 저렴할 수 있음
  • 차량이 항상 온라인 상태인 컴퓨터와 같다는 점

    • 소프트웨어가 사용자 제어 없이 작동하며 보안 취약점이 존재함
  • 원격 '정지' 기능이 주행 중인 차량을 멈출 수 있는지에 대한 우려

    • 기본적인 취약점을 통해 도로 위의 모든 차량을 멈출 수 있는 가능성에 대한 걱정