AppLovin 미디에이션 암호 해독됨: 기기 지문 인식으로 ATT 우회

AppLovin의 광고 중개 프로토콜에 대한 심층 분석 결과, 사용자 프라이버시를 보호하지 못하는 사용자 지정 암호가 발견되었습니다. 연구원은 동의한 사용자로부터 캡처한 5,000개 이상의 실제 입찰 요청을 복호화했으며, 암호화된 페이로드가 사용자가 App Tracking Transparency(ATT) 권한을 거부한 경우에도 여러 퍼블리셔의 앱에서 iPhone을 고유하게 식별할 수 있을 만큼 충분한 기기 데이터를 전송한다는 사실을 알아냈습니다.
암호 작동 방식
각 중개 요청은 ms4.applovin.com/1.0/mediate로 전송되는 HTTPS POST입니다. TLS 계층 내부에서 두 번째 암호가 페이로드를 래핑합니다. base64 디코딩 후, 와이어 형식은 콜론으로 구분된 세 개의 필드와 암호문으로 구성됩니다:
2:8a2387b7dbed018e5e485792eac2b56833ce8a3a:T7NreIR729giTKR-thJPcKeT6JXevACogl57SIFzwKp-1BASwpBT6v:<binary>
필드:
- 버전 태그(
2) - 40자 프로토콜 ID —
sha1(salt).hex() - 퍼블리셔의 AppLovin SDK 키의 54자 접미사(
Info.plist또는AndroidManifest.xml에 일반 텍스트로 저장됨)
암호는 두 가지 요소를 사용합니다: 모든 SDK 바이너리에 내장된 32바이트 상수 솔트(21개의 의미 있는 바이트 + 11개의 0바이트, 여러 앱 및 플랫폼에서 동일)와 퍼블리셔별 SDK 키입니다. 파생 키는 SHA-256(salt || sdk_key[:32])입니다. 키스트림은 비암호화 PRNG인 SplitMix64를 사용하여 생성됩니다. 카운터는 System.currentTimeMillis()와 파생 키의 처음 8바이트를 XOR한 값으로, 복호화 전에 와이어 상의 벽시계 시간을 유출합니다. MAC 또는 인증이 적용되지 않으므로 공격자가 암호문을 변조할 수 있습니다.
전송되는 데이터
복호화된 평문은 gzip 압축된 JSON으로, 약 30개의 최상위 키가 있습니다. 중요한 키:
device_info— 약 50개 필드가 있는 AppLovin 자체 핑거프린트 페이로드signal_data[]— 각 수요 파트너 SDK의 불투명 토큰
ATT가 거부된(IDFA가 0으로 설정된) 요청의 예:
필드 값 설명
revision iPhone14,3 하드웨어 모델(iPhone 13 Pro Max)
os 18.6.2 OS 버전
tm 5918212096 총 RAM(5.51 GB)
ndx / ndy 1284 × 2778 네이티브 화면 픽셀
kb en-US,es-ES 설치된 키보드
font UICTContentSizeCategoryXXXL 접근성 텍스트 크기
tz_offset -4 시간대
volume 40 시스템 오디오 볼륨
mute_switch 1 물리적 음소거 스위치
bt_ms_2 1770745989000 기기 부팅 시간(ms epoch)
dnt / idfa true / 00000… ATT 거부됨
idfv 81E958C3-…-51DE7CE11819 벤더 ID(앱 간 안정적)
추가 필드에는 세이프 에어리어 인셋, 여유 메모리, 통신사 코드, 국가 코드, 로캘, 방향, 상태 표시줄 높이, 모노토닉 클록, 배터리 플래그, 보안 연결 상태가 포함됩니다. 이는 사실상 서드파티 코드가 액세스할 수 있는 모든 시스템 속성입니다.
다운스트림 노출
일반적인 퍼블리셔는 약 18개의 수요 SDK(Meta, Google, Mintegral, Vungle, ironSource, Unity, InMobi, BidMachine, Fyber, Moloco, TikTok, Pangle, Chartboost, Verve, MobileFuse, Bigo, Yandex, 그리고 AppLovin 자체)를 포함합니다. 모든 배너 로드 시(약 30초 간격), AppLovin SDK는 복호화된 기기 페이로드를 각 다운스트림 네트워크에 전달하여 ATT 동의 없이 교차 앱 사용자 추적을 가능하게 합니다.
의미
ATT만으로 결정론적 식별을 방지할 수 있다는 가정은 거짓입니다. 유출된 필드를 통한 기기 핑거프린팅도 동일하게 작동합니다. 암호 계층의 인증 부재는 무결성 문제도 제기합니다.
📖 전체 소스 읽기: HN AI Agents
👀 See Also

Hackerbot-Claw: GitHub Actions 워크플로우를 악용하는 AI 봇
hackerbot-claw라는 AI 기반 봇이 CI/CD 파이프라인을 대상으로 일주일간 자동화된 공격 캠페인을 실행하여 Microsoft, DataDog, CNCF 프로젝트를 포함한 최소 6개 대상 중 4개에서 원격 코드 실행을 달성했습니다. 이 봇은 5가지 다른 악용 기법을 사용했으며 쓰기 권한이 있는 GitHub 토큰을 외부로 유출했습니다.

McpVanguard: MCP 기반 AI 에이전트를 위한 오픈소스 보안 프록시
McpVanguard는 AI 에이전트와 MCP 도구 사이에 위치하는 3계층 보안 프록시 및 방화벽으로, 프롬프트 인젝션, 경로 탐색 및 기타 공격에 대한 보호 기능을 약 16ms의 지연 시간으로 추가합니다.

AI 취약점 발견이 패치 배포 시간을 앞지르고 있습니다
한 보안 전문가는 Mythos와 같은 AI 도구가 취약점을 수정이 배포되는 속도보다 더 빨리 발견할 것이라고 주장하며, Log4j 데이터를 인용해 평균 수정 시간이 17일이고 완전 제거까지 10년이 걸린다고 지적했습니다.

오픈소스 AI 도구는 '투명성을 통한 환상적 보안'으로 보안 위험을 초래합니다
레딧 게시물은 오픈소스 AI 에이전트와 도구로 위장한 악성코드에 대해 경고하며, 사용자들이 GitHub에 있어 안전하다고 가정하는 대규모 코드베이스에 악성 코드가 숨겨질 수 있다고 설명합니다. 이 게시물은 '바이브 코딩'과 자율 AI 에이전트가 사용자들이 검토 없이 알 수 없는 프로그램을 실행하도록 만드는 방식을 설명합니다.