위키백과로 유명한 위키미디어 재단에서 최근 인도의 한 모바일 소셜 앱이 실행 때마다 위키피디아에 있는 어떤 꽃 사진을 매번 다운로드받는 것을 발견하여 조치하였다고 합니다. 최근(2021년 2월 초) 기준으로 이 꽃 사진은 인도에서 하루에 8천만 번 이상 다운로드되어, 위키미디어의 싱가포르 데이터센터(EQSIN cluster) 트래픽 중 무려 20% 정도를 차지할 지경이 되었습니다.
(사진 출처: https://commons.wikimedia.org/wiki/File:AsterNovi-belgii-flower-1mb.jpg)
문제의 꽃 사진. 실제로 핫링크가 되었던 이미지는 약 144.7 KiB 크기의 webp 파일인데, 여기에는 webp 파일이 올라가지 않아서 대신 변환한 jpeg 파일을 업로드했습니다. 참고로 이 꽃은 [우선국](New York aster)이라고 합니다.
위키미디어 재단 측에서는 위키백과에 있는 특정 이미지 파일에 이상하게 접근이 몰리는 것을 확인하고 이 사안에 대한 조사를 시작했습니다. 액세스 로그를 조사한 결과, 몇 가지 특징이 드러났습니다.
- 인도 전역에서 위키피디아에 올라온 특정 이미지 파일 주소로 요청이 쇄도하고 있다.
- 요청 내역을 보면 리퍼러도 유저 에이전트 문자열도 비어 있다. 이는 이 요청이 웹 브라우저에서 온 것이 아님을 의미한다.
- 이러한 현상은 작년(2020년) 6월부터 시작되었으며, 7월부터 요청량이 급증하였고 새해로 넘어갈 때에 순간적으로 1억 2천 건 가깝게 요청이 폭증하였다. 작년 6월 말 인도 당국이 틱톡이나 위챗을 비롯한 중국산 소셜 앱들의 사용을 금지시킨 점과 새해 무렵에 요청이 급증한 점에 미루어 볼 때, 인도에서 최근 등장한 소셜 모바일 앱에서 이러한 이상 요청이 발생했을 가능성이 있다.
그래서 처음에는 인도에서 인기 있는 소셜 앱 중 시작 화면 등에 이 꽃 사진이 등장하는 앱이 있는지 찾아보았다고 합니다. 그러나 그런 앱은 찾을 수 없었고, 대신 위 사진 링크가 Stack Overflow 등에서 예제 소스 코드에 등장하는 사례를 여럿 발견하였습니다. 그렇다면 이러한 예제 코드를 그대로 가져다 쓰는 바람에, 사진을 화면에 표시하지는 않지만 쓸데없이 요청 트래픽을 발생시키는 앱이 범인일 수도 있다는 추론이 가능해집니다.
결국, 좀 무식한(?) 방법으로 범인을 찾을 수 있었다고 합니다. 의심스러운 소셜 앱을 하나하나 설치하여 실행할 때마다 시간을 기록하고, 그 다음 실험한 환경의 IP 주소와 시간을 조합하여 서버 로그를 검색해 문제가 되는 앱을 식별하였습니다. 추가적인 확인을 위해 실험 스마트폰에서 발생하는 DNS 쿼리를 모두 기록해 보니, 해당 앱이 실행될 때마다 위키미디어 서버에 요청을 보낸다는 것이 확인되었다는군요.
https://phabricator.wikimedia.org/T273741#6815828
해당 앱의 이름은 아직 공개되지 않았지만, 위키미디어 재단에서는 앱 개발사에 연락하여 조치를 약속받았고 또 문제가 될 만한 요청을 차단하는 조치를 취한 모양입니다. 인터넷에 올라온 소스 코드를 그대로 긁어다 썼다가 뜻밖의 사태로 떡상하는 바람에 상당한 민폐를 끼치게 된다니, 정말 어마무시하다고밖에는 표현할 수 없군요. 이것이 인구빨인가…