유해사이트 군집화를 통한 유해사이트 조직적 운영 특징 분석

온라인 서비스의 발전은 우리에게 긍정적인 면만 가져다준 것이 아니라 어두운 면도 가져다주었는데, 온라인 서비스의 대표적인 어두운 면으로는 표 1과 같이 유해사이트를 꼽을 수 있습니다. 방송통신심의위원회에 따르면 2022년 한 해 동안에만 차단 조치 된 유해사이트 수는 약 23만 건에 이르며, 매년 그 수가 증가하고 있는 것으로 알려져 있습니다.

<표 1> 유해사이트 종류 및 주요 콘텐츠

종류주요 콘텐츠
도박승자투표권 발행, 카지노, 경마, 경륜, 복권 등
도박 검증먹튀 검증, 도박 사이트 추천
TVTV 스트리밍, 영화 다시보기
토렌트TV 다운로드, 영화 다운로드
웹툰웹툰 보기
성인음란동영상, 불법촬영물, 랜덤채팅
악성피싱, 악성코드 유포
안보국가보안법 위반
유통(실물)마약, 의약품 등

이러한 유해사이트는 사정기관의 검열 및 차단을 회피하고, 수익을 극대화하기 위해 조직적으로 특별한 방식을 통해 운영되고 있는데, 이는 해외 클라우드 서비스를 이용하여 동시에 여러 사이트를 운영하거나, 차단 시 여러 광고 사이트를 통해 우회 주소를 제공하고, 유해사이트 서로 간 광고를 삽입하는 등 강력하고 끈질기게 생명력 연장을 위한 노력을 하고 있습니다. 이번 글에서는 유사도 기반 유해사이트를 군집화하여 사이트 간 연결 관계와 조직적인 운영 특징에 대해 살펴보고자 합니다.

<그림 1> 4,600개 도박사이트 ISP 현황(출처 : Gamble Tracker)

유해사이트 군집화

유해사이트는 앞서 언급한 바와 같이 한 조직이 동시에 여러 사이트를 운영하거나, 차단 시 우회 주소를 제공하여 유사하게 다수의 사이트로 재개설하는 방식을 취하고 있어 사이트 간의 공통된 구조나 유사한 특징점들을 갖는 경우가 많습니다. 반대로 이러한 구조 및 특징점을 이용하여 유해사이트의 군집화를 진행하면, 조직적으로 운영하는 것으로 추정되는 유해사이트의 현황을 파악할 수 있습니다. 또한 유해사이트 HTML 태그 내 속성 값의 경우 개발자가 직접 입력해야 하므로 유해사이트 군집화를 위한 중요한 요소라 할 수 있습니다. 따라서 웹사이트의 유사도 측정을 위해 HTML의 태그와 속성 값을 수집하여 이를 리스트로 만들었고, 이렇게 HTML에서 추출된 태그와 속성 값의 리스트 바탕으로 최장 공통부분 수열(LCS) 알고리즘을 이용한 유사도 산출을 진행하였습니다.

<그림 2> LCS 산출 과정

그림 2와 같이 두 개의 사이트 비교하기 위해 각각의 사이트의 HTML을 이용하여 태그와 속성 값이 순서대로 정리된 두 개의 리스트를 생성합니다. 그리고 두 리스트를 비교하며 공통으로 사용된 패턴을 찾아 최장의 부분 수열을 탐색하고 길이를 계산하였습니다. 계산된 최장 공통부분 수열을 유사도로 변환하기 위해서 최장 공통부분 수열의 길이를 HTML 전체 길이로 나누어 두 값 중 최소 값을 유사도로 활용하게 됩니다. 이렇게 수집된 각 사이트별 유사도 산출이 끝나면, 이를 거리행렬(Distance Matrix) 형태로 변환하여 최적의 군집을 위한 임계치 도출과 그 임계치 기반으로 유사도를 분석하여 군집화를 진행하게 됩니다.

<그림 3> 군집 내 유해사이트A (좌), 유해사이트B (우)

이러한 과정을 통해 군집화를 수행한 결과 0.85 이상의 유사도에 따라 26개의 군집화된 그룹을 생성할 수 있었고, 총 384개 사이트 중에 103개의 사이트가 26개 그룹에 포진되는 유의미한 결과를 얻게 되었습니다. 실제로 그룹핑된 사이트를 비교해 본 결과, 그림 3은 하나의 군집에 속해있는 두 개의 유해사이트의 메인화면으로, 도메인 및 콘텐츠로 판단할 경우에는 분명히 다른 사이트이지만, 화면 상단의 사이트 제목, 동일한 메뉴 그리고 화면 구성 등을 기준삼아 비교해보면 매우 유사하다는 것을 알 수 있습니다.

군집화 기반의 유해사이트 특징 분석

앞선 군집화 결과를 토대로 군집화된 유해사이트 간의 특징점을 찾기 위해 각 유해사이트 별 HTML과 더불어 OSINT 정보 등을 종합적으로 분석한 결과, 공통적인 특징과 더불어 유해사이트가 조직적으로 운영됨을 추정할 수 있는 단초를 확인할 수 있었습니다.

<동일한 HTML 주석>

주석은 코드의 이해를 돕기 위해 개발자가 직접 설명을 추가한 것으로, 동일한 개발팀에서 구현된 코드이거나, 코드를 재사용할 때 포함될 수 있는 것으로 추정할 수 있습니다. 그림 4와 같이 그룹핑된 유해사이트의 HTML 코드를 분석할 때 동일한 주석이 코드 내 존재하는 것을 다수 발견할 수 있습니다. 이를 토대로 유사도, OSINT 등 여러 정보를 종합적으로 분석한 결과 동일한 집단에서 개발된 유해사이트임을 단편적으로 추론할 수 있습니다.

<그림 4> 동일한 유해사이트의 HTML 주석

<동일한 OSINT 정보>

임계치 0.85 이상의 유사도로 군집화한 결과를 바탕으로 군집별 사이트의 카테고리를 진행한 결과 그림 5와 같이 크게 4종으로 분류되었고, 4종으로 분류된 사이트 대부분이 유사도가 90% 이상으로 높으며, 사이트 구조가 매우 유사한 사이트로 분석되었습니다. 실제 각 사이트의 메인페이지를 확인한 결과 주소와 제목은 다른 사이트였으나, 그룹 3, 4와 같이 URL의 일부만 변경한 동일 사이트도 확인할 수 있었습니다. 이렇게 그룹핑된 사이트들의 OSINT 정보를 분석한 결과 동일한 IP 및 IP 대역, ISP, 국가 정보를 확인 할 수 있었고, 이를 기반으로 분석을 확장하여 HTML 주석, 태그 속성 값, 메타 데이터 등 종합적으로 분석한 결과 유사도가 높은 그룹의 사이트는 동일 조직에서 운영하는 것으로 판단할 수 있는 증거가 다수 식별되었습니다.

<그림 5> 군집별 유사도 결과

<표 2> 유해사이트 OSINT 정보
a. 그룹 1(웹툰)

 유해사이트 A유해사이트 B유해사이트 C
사이트 주소tOO195.comhdOO214.netdoOO136.com
사이트명ToonOOO호O코믹스도O코믹스
클라우드 서비스CLOULDFLARENETCLOULDFLARENETCLOULDFLARENET
IP104.21.49.117104.21.49.117104.21.1.6
국가USUSUS

b. 그룹 3(TV)

 유해사이트 A유해사이트 B유해사이트 C유해사이트 D
사이트 주소a25.mOOO.xyzwww.mOO.topa47.mOO.coma47.myOO.com
사이트명마이OO마O티비무비OO마이OO
클라우드 서비스CLOULDFLARECLOULDFLARECLOULDFLARECLOULDFLARE
IP104.21.6.194104.21.66.191104.21.6.194104.21.6.194
국가USUSUSUS

c. 그룹 3(성인)

 유해사이트 A유해사이트 B
사이트 주소a19.avOOO.coma9.avOOO.com
사이트명AO퐁AO퐁
클라우드 서비스CLOULDFLARENETCLOULDFLARENET
IP172.67.139.71172.67.139.71
국가USUS

d. 그룹 4(성인)

 유해사이트 A유해사이트 B
사이트 주소d16.dOOOO.comd19.dOOOO.com
사이트명O킹O킹
클라우드 서비스CLOULDFLARENETCLOULDFLARENET
IP104.21.91.93104.21.91.93
국가USUS
글을 마치며

이번 포스팅에서는 조직적으로 운영되는 유해사이트의 현황과 특징점들을 살펴보았습니다. 유해사이트의 연결점을 찾기 위해 군집화를 통한 유해사이트 간의 구조적 유사도 산출하였고, HTML, 메타데이터, OSINT 정보 등을 종합적으로 분석한 결과 조직적으로 운영됨을 판단 할 수 있는 단초를 다수 식별할 수 있었습니다. 향후에는 유해사이트의 군집화 연구를 토대로 유해사이트 간 연결점을 깊이 있게 탐색하여 운영 네트워크를 추론하고, 도식화 기술과 실질적으로 유해사이트의 운영 조직을 추적할 수 있는 기술에 대한 연구를 진행할 예정이며, 연구 성과에 대해 지속적으로 포스팅하도록 하겠습니다.

참고자료

[1] 방송통신심의위원회, “방송통신 심의동향”, 2023-1호, 2023
[2] 이기룡, 이희조, “HTML 태그 순서를 이용한 불법 사이트 탐지 자동화 기술”, 한국정보과학회, 2016

4 명이 이 글에 공감합니다.