개발자가 웹페이지를 분석해 보니 알리바바의 보안 관련 코드 두 개가 브라우저의 ‘웹 오디오’ 기능을 작동시키고 있었습니다. 일정한 처리 결과를 거친 뒤, 음량을 0으로 낮춰 오디오 출력 장치로 보내는 구조였습니다. 사람의 귀에는 들리지 않지만 브라우저와 운영체제에서는 오디오 작업이 계속되는 셈입니다.
헤드폰은 PC가 소리를 재생 중이라고 판단해 스마트폰으로 연결을 넘기지 못했습니다. 탭과 파이어폭스, 윈도우를 음소거해도 해결되지 않았던 이유입니다. 음소거는 마지막에 들리는 소리만 막을 뿐, 웹페이지의 오디오 작업까지 끝내지는 않습니다.
이 코드는 사용자의 마이크를 켜거나 주변 소리를 녹음한 것이 아닙니다. 대신 자신이 오디오 출력을 컴퓨터가 어떻게 처리하는지 확인했습니다. 같은 계산을 시켜도 운영체제와 브라우저, 장치 조합에 따라 미세한 차이가 생길 수 있습니다.
이런 차이를 모아 사용자 정보를 구분하는 단서로 쓰는 기법이 ‘브라우저 핑거프린팅’입니다.
핑거프린팅은 웹사이트를 이용할 때 브라우저와 기기에서 자연스럽게 드러나는 여러 정보를 모아, 그 조합을 일종의 ‘지문’처럼 대조하는 방식입니다. 이를테면 인터넷 창을 열고 있는 화면의 크기, 해상도, 브라우저 정보 등을 기록해두는 겁니다. 이런 정보 하나만으로는 누구인지 식별해 내기는 어렵죠. 브라우저와 운영체제, CPU 코어 수, 그래픽 처리 결과, 출력 언어 같은 데이터도 각각은 흔한 정보입니다. 하지만 여러 특징을 한데 모으면 같은 조합을 가진 기기의 수는 점점 줄어들죠. 이것을 사용자 정보를 식별하는 데 이용할 수 있는 겁니다.
흔히 웹사이트가 사용자를 식별하는 방법으로 수집하는 '쿠키'와는 좀 다른 개념입니다. 쿠키는 사용자의 브라우저에 ‘이름표’를 붙였다가 다음 방문 때 다시 읽는 방식으로 사용자를 식별합니다. 이용자의 브라우저(컴퓨터)에 저장되는 정보임으로 삭제할 수 있죠. 반면에 핑거프린팅은 방문할 때마다 기기의 특징을 측정해 웹사이트가 직접 정보를 수집합니다. 쿠키를 지워도 비슷한 조합이 다시 관찰될 수 있어 사용자 입장에선 파악하기 어렵죠. 다만 실제 지문과 달리 영원히 고정되거나 한 사람을 반드시 식별하는 것은 아닙니다. 브라우저 업데이트나 장치 변경으로 해당 값이 달라지거나 하기 때문입니다.
웹사이트가 '핑거프린팅'을 시도하는 사례는 알리익스프레스 홈페이지 이외에도 꽤 있는 사례라고 합니다. 쇼핑몰과 금융 서비스는 평소와 다른 기기에서 로그인했는지, 자동화 프로그램이 계정을 대량으로 만드는지, 결제 사기나 쿠폰 남용이 의심되는지를 판단하는데 쓰기도 합니다. 익숙한 기기의 경우 추가 인증을 줄여 주거나, 반대로 매크로 등 수상한 계정으로 의심된다면 한 번 더 인증을 요구하거나 할 수 있습니다.
다만 중요한 건, 이 기술이 모든 웹사이트가 적극적으로 쓰는 건 아니라는 점입니다. 2024년 상위 10만개 웹사이트를 조사한 연구에서는 홈페이지의 8.5%, 로그인 페이지의 9.2%에서 핑거프린팅 시도가 발견됐습니다. 그중에서도 알리처럼 가짜 오디오 출력값을 내보내는 방식은 훨씬 드물죠.
알리익스프레스가 의문의 오디오 출력을 내보낸다는 보고는 과거에도 있었습니다. 2023년 브라우저 파이어폭스의 버그 보고 페이지에는 알리익스프레스가 윈도우의 오디오 장치를 계속 점유해 절전까지 방해한다는 신고가 올라왔고, 당시에도 거의 같은 처리 구조가 확인됐습니다.
오디오 출력값 자체 하나만으로는 사용자를 식별할 수 있는 정보가 그렇게 나오지 않는다는 조사 결과도 있었습니다. 파이어폭스 측 조사에서는 이용자의 99.24%가 사실상 세 종류의 값만 출력하는 것으로 나타났죠. 오디오 출력값 하나만으로는 특정 기기를 식별해 내기 어렵다는 뜻입니다.
다만 이 상황을 발견한 개발자에 따르면 알리익스프레스의 코드에는 오디오 외에도 화면, CPU와 메모리, 캔버스와 WebGL 그래픽, 플러그인, 마우스와 터치 동작 등을 확인하는 부분이 있었습니다. 수집한 값을 알리바바 측으로 보내는 코드도 확인됐죠. 보안 스크립트라는 점을 보면 봇이나 사기 탐지가 목적일 가능성도 있지만, 외부에서는 이 정보가 위험 판정에만 쓰였는지, 방문자를 계속 추적하는 데 활용됐는지 알 수 없습니다.
즉 알리익스프레스 웹을 방문할 때마다 음악이 끊긴 것은 코드가 오디오 장치를 놓아주지 않아 생긴 부작용이었습니다. 그리고 이 장애 덕분에 알리익스프레스가 사용자 정보를 ‘상당히 적극적으로’ 수집했던 정황이 수면 위로 드러난 셈입니다.