누가 IPv6 공간을 스캔할까요? 그리고 솔직히 그것이 왜 중요할까요?
핵심 요약
Akamai 연구원들은 막스 플랑크 정보학 연구소(Max Planck Institute for Informatics)와 협력하여 IPv6 공간의 대규모 취약점 스캔에 대한 최초의 실증적 연구를 완료하고 그 결과를 취합했습니다.
연구 결과에 따르면 스캐너들이 IPv6 공간을 탐색하기 시작한 것으로 나타났습니다. IPv6 공간의 스캐닝은 IPv4의 스캐닝보다 훨씬 더 복잡하기 때문에, IPv4의 스캐닝 활동에 비해 IPv6의 스캐닝 활동은 아직 드뭅니다.
스캔 트래픽은 소수의 활성 소스들에 크게 집중되어 있는데, 지리적으로 볼 때 가장 활발한 두 개의 소스는 중국에서 스캔을 하고 있습니다. 스캔 트래픽을 소싱하는 상위 네트워크들을 살펴보면, 사이버 보안 회사에서 수행하는 스캔과 클라우드 제공업체 주소 공간에서 실행되는 스캔도 있습니다.
스캐너들은 스캔 트래픽을 소싱하기 위해 단일 128비트 IPv6 주소를 사용하지 않고 전체 /32s나 되는 접두사에서 수많은 소스 주소를 사용하여 프로브를 소싱하는데, 이는 탐지를 피하기 위한 것으로 보입니다. 이 때문에 스캐너의 탐지와 차단이 매우 어렵습니다.
IPv6 공간에 대한 취약점 스캐닝이 더 보편화된다면 안정적인 IPv6 스캔 탐지와 차단은 우리에게 커다란 과제로 다가오게 될 것입니다.
서론
공격자와 연구자, 그리고 방어자들은 인터넷에 연결된 장치의 취약점을 찾아서 드러내기 위한 방법으로 스캐닝을 활용하고는 했습니다. IPv4에는 연속된 소스가 수만 개 존재하기 때문에 이들의 목표는 크게 다르지만, 스캐닝은 사이버 위협을 찾아내고 방어하는 모든 사람의 기본 중 하나입니다. 소프트웨어에서 새로운 취약점이 발견되면 공격자들은 공격이나 감염에 취약한 호스트를 찾기 위해 앞다투어 주소 공간을 스캔합니다. 이와 동시에 봇넷은 측방향 확산에 사용할 수 있는 새로운 대상을 찾기 위해 주소 공간을 지속적으로 스캔합니다. 보안 회사와 연구자들은 주소 공간의 속성을 연구하고 취약한 지점을 파악하기 위해 주소 공간을 스캔합니다. 다시 말해서, IPv4 공간은 분주합니다.
그런데 IPv6는 어떻습니까? IPv6 공간을 스캔하는 사람이 있습니까? 우리가 여기에 집중할 만한 이유가 조금이라도 있을까요?
그 답은 간단합니다. 보안상 더이상 IPv6를 무시할 수 없기 때문입니다. Internet Measurement Conference 2022에서 발표할 Akamai의 새 백서에서 우리는 IPv6 인터넷에서의 스캐닝 활동을 조명하기 위해 Akamai의 엣지 서버에서 수집한 방화벽 로그를 활용했습니다. 15개월 동안 우리는 누가 스캔을 하는지, 왜 스캔을 하는지, 그리고 이러한 스캔을 식별하고 차단하는 데 있어서 주된 과제가 무엇인지에 대해 연구했습니다.
IPv6 공간의 스캔이 어려운 이유는 무엇일까요?
IPv4 공간은 약 40억 개의 주소로 구성되어 있으며 요즘은 고대역폭 시스템을 통해 이 전체 공간을 1시간 안에 스캔할 수 있습니다. 이와 유사하게 저대역폭 IoT 봇은 측방향 확산을 위해 임의의 IPv4 주소들을 생성하고 스캔하기만 합니다. 시간이 충분하다면 보통은 대상 주소를 임의적으로 생성하는 것만으로도 응답성이 있고 공격할 만한 호스트를 찾기에 충분합니다.
반면에 IPv6는 주소 길이가 128비트이고, 주소가 10의 38승개이며, 이것은 IPv4 공간에 있는 주소의 개수보다 훨씬 더 많은 수입니다. 오늘날의 기술로 IPv6 공간 전체를 스캔하려면 적어도 수조 년의 세월이 필요할 것입니다. 따라서 이 공간을 모두 스캔하는 것은 불가능하므로, 공격자가 스캔을 하고 싶다면 예를 들어, IPv6 주소들로 구성된 공격 대상 목록을 사용하거나 도메인 이름을 IPv6 주소로 분해하기 위해 DNS를 사용하는 등 다른 방법을 이용하여 목표 주소를 찾아야 합니다. IPv6가 너무 방대해서 공격자가 임의 스캐닝을 활용하여 목표를 찾기가 어렵기는 하지만, IPv6를 무시해서는 안 됩니다. 이것은 그저 "IPv6를 차단"해서 그것을 "보호"하도록 권하는 "모호함을 통한 보안"이라는 개념과 비슷할 것입니다.
IPv6 스캔을 탐지하기가 어려운 이유는 무엇입니까?
IPv4 공간에서는 라우팅된 모든 주소가 매일 수천 개의 스캐닝 패킷을 수신하는데, 이는 공격자가 IPv4 공간 전체를 스캔하거나 공격 대상 주소를 무작위로 생성하여 취약한 호스트를 찾는 데 따른 결과입니다. 따라서 사용되지 않는 접두사("다크넷")에 도착하는 스캐닝 트래픽을 모니터링하면 IPv4 공간 안의 전반적인 스캐닝 트렌드를 쉽게 조사할 수 있습니다.
그러나 IPv6의 경우, 첫 번째 과제는 충분한 수준의 스캔 트래픽을 확인할 수 있는 유리한 지점을 찾는 것입니다. 앞에서 언급한 것처럼 전체 IPv6 공간을 무작위로 목표 삼는 것은 실용적이지 않습니다. 따라서 사용되지 않는 IPv6 접두사(IPv4에서 일반적인 다크넷)의 트래픽을 모니터링하면 스캐닝 트래픽이 거의 드러나지 않을 것입니다. 바로 이 부분에서 Akamai Intelligent Edge Platform이 빛을 발합니다. 우리는 1300개 이상의 네트워크에서 수십만 대의 시스템을 운용하고 있습니다. 각 서버마다 고객의 컨텐츠를 호스팅하며, DNS 요청에 대한 응답으로 고객의 주소를 반환하기 때문에 우리 시스템의 IPv6 주소는 인터넷에 노출됩니다. 따라서 스캐너들이 이 주소를 찾을 수 있으며 이 주소는 공개적으로 제공되는 IPv6 공격 대상 목록의 일부입니다.
두 번째 과제는 IPv6 스캐닝 소스를 정확히 찾아내서 격리하는 것입니다. 공격자와 적법한 스캐닝 소스가 모두 적극적으로 스캐닝을 하고 있기 때문에 현재의 스캐닝 상황을 파악하기 위해서는 격리가 중요합니다. 또한, 특정 네트워크가 악의적인 공격자의 트래픽을 차단하고자 한다면 프로덕션 환경에서는 격리가 열쇠가 될 것입니다. 스캔 트래픽을 조사해보니 어떤 스캐너들은 스캔 프로브를 전송할 때 단일 128비트 소스 IPv6 주소를 사용하지 않고, 그 대신 /64s나 /48s나 심지어 /32s처럼 덜 세분화된 접두사로 된 수많은 소스 주소를 통해 트래픽을 소싱한다는 것을 알게 되었습니다. 게다가, IPv6의 크기는 이것을 가능하게 만듭니다. 덕분에 스캐너는 커다란 IPv6 할당을 쉽게 얻을 수 있습니다(예: RIR(Regional Internet Registries)에서 직접 /32를 얻거나 가입자당 전체 /48 접두사를 할당하는 인터넷 서비스 제공업체에 가입함). 모든 소스 주소가 하나의 패킷만 방출할 것이기 때문에, 우리는 탐지를 피하기 위해 모든 접두사에 걸쳐 트래픽을 분산하는 방법이 사용될 것임을 알게 됩니다. 또 어떤 스캐너들은 IPv6 주소에서 사용 가능한 비트를 사용하여 스캔 정보를 인코딩하는 것으로 보입니다.
대규모 IPv6 스캔을 어떻게 탐지합니까?
Akamai의 방화벽은 스캔 트래픽을 포함하여 당사의 엣지 시스템으로 전송된 원치 않는 트래픽을 기록합니다. 스캔을 탐지하기 위해서는, 처음에 대규모 IPv4 스캔을 탐지했던 것과 비슷한 방식으로, 해당 소스가 우리 시스템의 대상 IP 주소 중 100개 이상을 겨냥하고 있어야 합니다.
위에서 언급한 것처럼 어떤 스캐너들은 트래픽을 소싱하기 위해 더 큰 접두사를 사용하기 때문에, 우리는 트래픽을 집계하지 않을 때(/128 소스)와 소스 /64에서 모든 패킷을 함께 처음 집계할 때, 그리고 /48 소스에서 모든 패킷을 함께 집계할 때 탐지를 한다는 것을 스캐너에게 보여줍니다.
2021년과 2022년의 IPv6 스캐닝 트렌드
그림 1: 소스 집계 수준별로 탐지된 주간 IPv6 스캔 소스
그림 1은 2021년 1월부터 2022년 3월까지 우리가 매주 얼마나 많은 스캐너를 탐지했는지를 보여줍니다. 얼마나 많은 패킷 소스들을 함께 집계하는지가 탐지된 스캐닝 소스의 수에 큰 영향을 미친다는 것을 확인할 수 있습니다. 전체적으로 전체 기간 동안 확인된 스캐너 수는 비교적 안정적이었습니다. 대부분 매주 10개에서 100개의 활성 스캔 소스를 발견했고, 이는 IPv4 공간을 목표로 삼는 스캐너들의 수가 수십만에 달하는 것에 비하면 매우 적은 수치입니다. 2021년 11월부터 /128 스캐닝 소스가 눈에 띄게 증가했는데, 이러한 /128 소스는 모두 하나의 /64로 집계되며 미국에 있는 사이버 보안 회사가 단일 스캐닝 주체로서 사용하고 있습니다.
IPv6 스캔 트래픽 집중도
그림 2: 주간 스캔 패킷(/64 소스 집계)
그림 2는 매주 수집된 스캔 패킷의 수를 보여주며, 일주일에 가장 많이 활성화된 스캐너와 두 번째로 많이 활성화된 스캐너를 나머지 스캔 소스들과 구분해서 표시하고 있습니다. 놀라운 것은 기본적으로 항상 가장 활동성이 높은 스캐너 하나가 대부분의 스캔 트래픽(주당 최대 92%)을 전송하는 반면, 상대적으로 활동성이 낮은 스캐너들은 이에 비해 상당히 적은 비중만을 차지한다는 것입니다. 그럼 다음과 같은 의문이 생깁니다. 최상위 스캐너는 누구일까요?
스캔 소스 네트워크
아래의 표는 스캔 트래픽을 소싱하는 상위 20개 네트워크(AS, Autonomous Systems)를 스캔 패킷을 기준으로 정렬한 것입니다. 그리고 각 네트워크별로 스캐너로 탐지된 /48 접두사, /64 접두사, /128 접두사의 개수를 표시하였습니다. 각 네트워크별로 네트워크 유형과 해당 국가를 개략적으로 표시하였습니다.
표: 볼륨 기준 상위 20개 스캔 소스 네트워크(AS) /48에서 합쳐진 트래픽은 스캔 정의를 충족하고 포함된 /64s의 트래픽은 그렇지 않다면(예: AS #18) /48 스캔 소스의 수가 /64s 또는 /128s를 초과할 수 있습니다.
스캐닝이 매우 집중되어 있다는 것을 알 수 있습니다. 즉, 상위 5개 소스 네트워크가 전체 스캔 트래픽의 거의 93%를 차지하고 있습니다. 특히, 가장 활발한 소스 네트워크 2개는 중국에 위치한 데이터 센터이며, 그 다음은 다수의 사이버 보안 기업들과 주요 클라우드 제공업체들입니다. 전체적으로 볼 때, 대부분의 스캐닝 트래픽은 데이터 센터 및 클라우드 제공업체에서 발생하고 있으며, 상위 20개에서 단일 최종 사용자 ISP는 찾아볼 수 없습니다.
AS 내부의 스캔 소스를 살펴보면 네트워크 간에 현저한 차이를 발견할 수 있습니다. 최상위 활성 스캐너들은 단일 128비트 소스 주소에서 모든 트래픽을 소싱하는 반면, 어떤 네트워크들은(예: AS #18) 단일 스캐닝 주체가 1,000개 이상의 /48 접두사에서 스캔 트래픽을 내보내고 있습니다. 이와 동시에, AS #18은 기록된 모든 스캔 트래픽의 0.1%도 차지하지 않지만, 활성 소스 접두사를 기준으로 네트워크들의 순서를 매길 경우 분석 결과를 왜곡시킬 수 있습니다.
과제 및 결론
우리는 IPv6 스캔에 대해 얘기할 때 다음과 같은 핵심 질문을 제기합니다. 개별 스캔 주체를 식별할 때 적절한 접두사의 크기는 얼마입니까? 표에 나와 있는 것처럼 그 답은 다양합니다. AS #1의 스캐너는 그 128비트 IPv6 주소를 사용하여 식별할 수 있고 그래야 하는 한편 AS #18의 스캐닝 주체는 전체 /32 접두사로 집계되어야 합니다. 일반적으로 이러한 접두사 길이까지 집계하면 여러 개별 스캐닝 소스들이 합쳐질 수 있는데, 특히 개별 사용자가 /64, /96, 또는 훨씬 더 세분화된 접두어를 할당받는 클라우드 제공업체의 경우 더 그렇습니다. 작동 설정에서 스캔 탐지가 차단 목록으로 이어질 경우, 집계가 너무 세밀하지 않으면 정상적인 소스의 트래픽도 차단됩니다.
당사의 최초 분석에서는 특히 IPv4를 대상으로 하는 잘 알려진 스캐너들과 비교했을 때 IPv6 공간을 대상으로 하는 스캐너의 수가 비교적 적은 것으로 나타났습니다. IPv6 스캔 트래픽은 매우 집중되어 있으며, 소수의 소스가 전체를 차지하고 있습니다. 우리는 IPv6 공간에서의 취약점 스캔이 더 보편화될 경우 이 상황이 빠르게 바뀔 것으로 보고 있습니다. IPv6 스캔 소스를 식별하고 정확하게 찾아내는 일은 우리에게 커다란 과제를 제시합니다.
자세한 내용은 Akamai의 백서를 참고해주세요..
더 많은 획기적인 연구가 궁금하시면