ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • VPN을 통한 우회 접속 이용자 탐지
    네트워크보안 2019. 8. 29. 16:44
    반응형

    VPN 이용자들을 탐지하는 방법은?

    그간 네트워크 보안 분야에서 다양한 연구들이 있었다. 그 중 재미있는 방법 중 하나는 접속지로 보여지는 IP 주소와의 응답시간을 측정하고, 이 접속자와의 실제 응답시간과의 차이를 구하는 것이다.

    예를 들어서 143.248.1.10번 IP 주소에서 접속한 것으로 나오는 이용자가 있다고 하자. 143.248.1.10번은 대전에 위치한 IP 주소이고 대략 저 네트워크 대역과의 응답시간은 0.3ms 가 걸린다.

    이 이용자는 143.248.1.10번에서 접속했다고 나오나, 게임 클라이언트와 서버 간의 응답시간이1.2ms로 훨씬 길게 나타날 경우 최소한 143.248.1.10번이 아닌 곳에서 최소한 몇 단계 이상의 라우터를 경유한 것으로 추정할 수 있다.

    그리고 삼각측량을 하듯이 여러 국가와 지역에 미리 준비한 서버들을 통해서, 클라이언트로의 네트워크 응답속도를 구하여 접속자의 위치를 대략적으로 추정하는 방법도 있다.

    하지만 이런 방법들은 접속자가 VPN을 타고 들어온 점은 추정할 수 있지만, 해당 IP 주소에서 들어온 유저들이 작업장이나 의심스러운 유저라고 판단하기엔 다소 무리가 있다. 때문에 추가적인 정보를 가공하여 작업장들의 접속 패턴을 분류해낼 수 있다.

    인터넷은 출발지 IP 주소에서 특정 IP 주소지까지 경유하는 경유지들(대개는 라우터나 스위치 같은 네트워크 장비)의 IP 주소를 알아낼 수 있도록 ICMP 라는 통신규약을 정의하고 있다.

    예를 들어 윈도우에서는 tracert라는 명령을, 유닉스에서는 traceroute라는 명령을 통해 특정 IP 주소까지 가는데 경유하는 곳들의 IP 주소들을 확인할 수 있다.

    [그림 2] traceroute 명령을 통해 www.yahoo.com까지의 접속 경유지를 파악한 사례

    [그림 2]에서 보는 것처럼, 한 경로에서 다음 경로까지를 1 hop이라고 부른다.

    일단 첫 번째 hop 에서는 집의 유무선 공유기까지의 hop이므로 대개 192.168.*.1 또는 10.*.*.1 까지의 거리로 잡히게 된다. 192.168.*.* 와 같은 IP 주소 대역은 보통 “사설IP” 주소 대역으로 불린다.

    [그림 2]에서는 서울의 모처에서 www.yahoo.com까지의 경로를 조회한 것인데, 각 경로별로 나타난 IP 주소가 어느 국가에 속하는지를 살펴보면 아래와 같은 결과를 알 수 있다.

    한국 내 IP 대역들과 대만 IP 대역들을 지나 홍콩에 있는 yahoo 서버로 접속하는 패턴을 알 수 있다. 이 접속 패턴은 인터넷의 특성상 언제 접속했느냐에 따라 라우팅 경로가 동적으로 바뀔 수 있다.

    하지만 동시간대에 비슷한 출발 지점에서 네트워크 접속을 할 경우에는 거의 대부분 동일한 네트워크 경로를 타고 접속하게 되어 있다.

    그렇다면 이러한 특징을 이용해서 마치 고구마 줄기 캐내듯이 작업장에서 접속한 계정들을 줄줄이 잡아낼 수 있을까? 이와 관련된 연구 결과를 소개하고자 한다. [2]

    – 만약에 작업장에서 대규모 관리하는 것으로 보이는 계정들이, 동시에 같은 네트워크 접속 경로로 같은 출발지에서 대규모로 접속했다면 작업장으로 의심해도 되지 않을까? (계정들의 이름이 관리편의를 위해 일련번호를 붙인 듯한 경우 – 예: xiaopai001, xiaopai002, xiaopai003, …xiaopai020)

    – 아래 [그림 3]을 기준으로 설명하자면, 게임 서버에서 볼 때 접속자는 Hop4(한국)에서 접속한 것으로 보이지만, 게임 클라이언트에 할당된 IP 주소와 지역은 다른 국가에서 출발하여 접속한 것으로 나온다면 수상한 접속으로 볼 수 있지 않을까? 예를 들어, 중국 → 중국 → 한국 → 한국 → 한국 → 게임 서버와 같은 접속 경로를 이용한 경우처럼 말이다.

    [그림 3] tracert를 통해 접속 경유지를 파악한 예

    게임 작업장의 집단 접속 패턴을 찾기 위해 게임 접속자의 출발지 주소가 우리나라가 아닌 것으로 추정될 경우, 네트워크 접속 경로 상의 경유지 IP 주소들의 국가 정보를 확인하고, 동일 시간대에 유사한 이름의 계정으로 대규모 접속이 이루어졌는지를 파악한다.

    접속 패턴을 잘 묘사할 수 있는 벡터를 ‘년월일시분초, 접속 계정명, 출발지 IP 주소, 해당 시간대의 접속 경유지 국가 정보 패턴’으로 잡고 클러스터링을 해보면 [그림 4]와 같은 결과를 얻을 수 있다.

    다른 접속 패턴을 갖는 군집에 비해 붉은색 원의 군집은 다른 접속 패턴과 꽤 동떨어져 있는 점을 볼 수 있다. 즉, 동일 시간대에 유사한 계정명을 대규모로 사용하면서 해외에서 VPN을 이용해 우회 접속한 유저들의 군이 잘 군집화 처리된 것으로 파악된다.

    [그림 4] 접속 패턴을 기반으로 클러스터링을 한 예로, 붉은 원 내의 유저들이 작업장 유저

    비정상 접속 패턴을 갖는 군집에 속한 이용자들을 일부 발췌하면 [표 1] 과 같다.

    [표 1]에는 다 표시하지 않았지만, 접속자의 계정명은 예상했던 것처럼 유사 계정명을 갖는 것도 있었고, 그렇지 않은 것도 있었다.

    그리고 접속 패턴은 중국(장사 지방) → public VPN 서비스 → 한국(서울) → 한국(서울) → 한국(서울)을 경유해서 들어온, 전형적인 중국 내 작업장 접속 패턴임을 확인할 수 있었다.

    [표 1] 작업장들이 VPN을 통하여 우회 접속한 접속 패턴 예시

    이런 접속 패턴을 가진 이용자들 중에서, 게임봇 이용자로 적발되었던 계정 또는 작업장으로 판정된 계정과 거래했거나 플레이한 기록이 있는 이용자들이 있는지를 교차검증하여 정확도를 높여갈 수 있다.

    방식은 약간 다르지만 이와 같이 접속지 IP 주소와 현재 이용자의 IP 주소가 다른지 판단하는 기법은 인터넷 뱅킹에서 계좌 도용을 찾는 데에도 쓰이고 있다.

    많은 인터넷 뱅킹 서비스에 PC로 접속할 때 설치하는 보안 프로그램 중에서 ‘IP inside Agent’라는 프로그램을 본 적이 있을 것이다.

    인터넷 뱅킹과 같이 보안이 중요한 금융서비스의 경우에는 이런 별도의 프로그램을 설치하여 접속자의 local IP 주소 및 MAC address, HDD serial 정보를 추출하여 접속자의 기기를 식별하고 내부에 할당된 IP 주소들을 파악하고 있다. [3]

    과거 접속했던 IP 주소들과 확연히 다르거나, 현재 해외 IP 주소에서 접속한 것으로 보여지는데 해외출입국 내역이 없는 경우(즉, 해외로 출국하지 않은 인터넷 뱅킹 고객이 해외에서 접속을 하면 계정 도용을 당했을 확률이 무척 높으므로) 접속을 차단하는 용도로 사용된다.

     

    반응형
Designed by Tistory.