사람들이 인터넷 활동 이력을 감추려고 쓰는 '토르(Tor)' 네트워크에서도 그 트래픽을 분석하면 어떤 안드로이드 앱을 사용 중인지 97% 정확도로 알아낼 수 있다는 연구 결과가 나왔다.
다만 이게 토르 네트워크의 핵심 용도인 익명성을 깨뜨리는 기법은 아니다.
미국 지디넷은 18일(현지시간) 이탈리아 로마 사피엔자 대학교 연구자들이 발표한 내용을 인용해 "97% 정확도로 개별 안드로이드 앱의 토르 트래픽을 탐지할 수 있다"며 "새 머신러닝 알고리즘은 유튜브, 인스타그램, 스포티파이 등 특정 앱을 사용 중임을 알아낸다"고 보도했다. [원문보기 ☞ Tor traffic from individual Android apps detected with 97 percent accuracy]
보도에 따르면 연구자들이 찾은 방법은 토르 네트워크 이용자가 어떤 안드로이드 앱을 쓰고 있는지 밝혀낼 수 있다. 하지만 개별 이용자를 식별할 수 있는 실제 IP주소나 다른 신원파악 수단으로 쓰이진 못한다. 탈익명화(deanonymization) 기술이 아니란 뜻이다.
이는 사피엔자 대학교 연구자들이 인터넷에서 웹브라우징, 이메일, 채팅, 오디오스트리밍, 비디오스트리밍, 파일전송, VoIP, P2P 등 여덟 가지 트래픽 유형과 다른 토르 네트워크 트래픽의 TCP 패킷 흐름을 분석해낸 연구에서 이어진 결과다.
연구자들은 토르 네트워크 연결에서 TCP 패킷 흐름을 분석하는 것과 유사한 개념을 특정 안드로이드 앱의 패턴 탐지에 적용했다. 그리고 안드로이드용 앱 10종의 토르 네트워크 트래픽 패턴을 탐지하는 머신러닝 알고리즘을 학습시켰다.
패턴 탐지를 학습한 안드로이드 앱 열 가지는 토르 브라우저, 인스타그램, 페이스북, 스카이프, 유토렌트, 스포티파이, 트위치, 유튜브, 데일리모션, 레플라이오라디오 등이다. 학습 결과 뭐가 토르 트래픽이고 10종 중 어느 앱을 쓰는지를 97.3% 정확도로 탐지해냈다.
다만 이 알고리즘은 실제로 토르 네트워크 트래픽에서 완벽하거나 효율적으로 쓰일만한 기법은 아니다. 최초 이 알고리즘은 통신채널에서 배경 트래픽의 잡음(background traffic noise)이 없어야만 쓸 수 있다. 즉 이용자가 모바일 기기로 딱 한 가지 앱만 쓸 때 제 역할을 한다.
만일 동일한 모바일 기기에서 동시에 너무 많은 앱이 통신을 수행하고 있다면, 그 TCP 트래픽 패턴이 혼잡해지기때문에 특정 앱의 패턴을 탐지하는 이 알고리즘의 효율은 떨어진다.
알고리즘의 탐지 정확도를 개선해야 할 여지도 있다. 예를 들어 스포티파이나 유튜브는 둘 다 스트리밍 기반 앱이기 때문에 유사한 트래픽 패턴을 만들어내는데, 이는 오탐(false-positives)을 야기하는 요인이다.
이밖에 페이스북이나 인스타그램, 그리고 토르 브라우저 앱처럼, 이용자가 앱을 이용해 트래픽을 발생시키다가 그 서비스의 콘텐츠에 접근하는 타이밍에 따라 트래픽이 잠잠해지는 '대기(idle)'가 길어지는 시점도 문제가 된다.
관련기사
- SK인포섹 "5G와 연결된 IoT 센서에 해킹 몰릴 것"2019.02.19
- "사이버범죄 대응 첩보, 다크웹에서 찾겠다"2019.02.19
- 익명 네트워크 '토르' 10년 만에 업데이트2019.02.19
- 파이어폭스, 쿠키 없는 웹사이트 방문자 추적도 막는다2019.02.19
향후 더 많은 앱을 활용해 후속 실험을 진행할 경우 이와 비슷한 문제가 더 나타날 수 있고, 이는 오탐률을 높이고 전반적인 탐지 정확도를 떨어뜨릴 것으로 보인다.
연구자들의 이 실험에 관련된 연구 논문은 'Peel the onion: Recognition of Android apps behind the Tor Network'라는 이름으로 인터넷을 통해 배포됐다. 연구자들은 이 논문 실험을 위해 고안한 알고리즘의 코드를 공개할 계획이다. [논문보기(PDF) ☞ Tor traffic from individual Android apps detected with 97 percent accuracy]