머신 러닝을 사용한 악의적 캠페인 탐지

Jan 03, 2019
1 minutes
... views

우리는 고객을 보호하고 공격의 성공을 방지하는 새로운 방법을 찾기 위해 항상 노력하고 있으며, 최근 연구실에서 대규모 도메인 정보 데이터세트에 대한 비지도 머신 러닝을 사용하도록 했습니다. 이와 같은 머신 러닝 기반 기법은 새로운 위협이 고객에게 영향을 미치기 전에 그 위협을 발견하고 차단하도록 도와줄 수 있습니다. 대규모 캠페인의 일부인 악성 도메인이 활성화되는 즉시 신속하게 식별하고, 이러한 캠페인에 대한 범위를 기존 방법을 사용할 때보다 훨씬 넓힐 수 있습니다.

이 블로그에서는 우리가 이 비지도 머신 러닝을 사용하는 방법에 대한 몇 가지 세부 정보와 예제를 알려드립니다. 정확하게 말하면, 우리는 최근 한 피싱 캠페인에서 333개의 활성 도메인을 발견했습니다. 이 캠페인이 일반 온라인에서 활성화된 첫날에 이 도메인 중 87개만 인기 있는 온라인 멀웨어 데이터베이스에 알려졌으며, 유명한 두 개의 차단 목록에는 이 모두가 전혀 알려지지 않았습니다. 그 다음 2주 동안, 가장 성과가 좋은 차단 목록에서 333개의 도메인 중 247개만 차단했으며 멀웨어 데이터베이스에서는 93개만 인식했습니다.

우리의 비지도 머신 러닝은 이러한 캠페인의 전체 범위를 포괄하여, 취약한 사용자에게 영향을 미치기 전에 조기에 식별합니다. 아래에 설명한 캠페인 그리고 동일한 기법을 사용해 탐지한 다른 캠페인의 경우, Palo Alto Networks 고객들은 도메인이 활성화되는 1일 차에 보호를 받습니다.

 

배경

악의적인 온라인 활동의 한 유형은 동일한 목적을 위해 그리고 짧은 기간 동안 많은 도메인을 사용합니다. 이러한 캠페인은 흔히 월드컵 등 최근 주목받는 이벤트를 활용하며, 도메인 이름은 합법적인 도메인 이름에서 스펠링을 조금 바꾸는 방식을 사용하거나 합법적인 서비스와의 관련성을 나타내는 이름을 사용하는 경우가 많습니다(예: company.com 대신 c0mpany.com 사용).

전자의 예로는 2017년 Equifax 데이터 침해 이후 악의적인 캠페인이 나온 것을 들 수 있습니다. Equifax 데이터 침해 사건이 발생했을 때, 이 신용평가기관은 합법적인 웹 사이트인 www.equifaxsecurity2017[.]com을 개설하여 사람들이 직접 자신의 피해 여부를 확인하도록 도왔습니다. 이때 실제 URL을 매우 비슷하게 모방한 수백 개의 도메인을 등록하여 하나 이상의 악의적인 캠페인이 시작되었습니다. (예: www.equifaxsecurity3017[.]com)

일반적으로 하나의 도메인 이름을 자세히 살펴본 후에 사기성이 있는지를 알아차리기는 쉽습니다. 하지만 그런 도메인이 수백 개 생성될 수 있기 때문에 많은 사람에게 영향을 미치기 전에 모든 사기성 도메인을 찾기란 쉽지 않습니다. 도메인 이름이 조금씩 다르기는 하지만, 동일한 캠페인에 속하는 악성 도메인은 IP 서브넷, ASN(Autonomous System Number), DNS TTL(Time-To-Live), Whois 정보, 기타 많은 특성 등 여전히 많은 공통 특성을 갖고 있습니다. 이러한 관찰 내용을 바탕으로 하여, 우리는 유사성을 기반으로 하는 클러스터 도메인과 DNS 트래픽에서 속성을 추출하는 시스템을 구현했습니다. 우리 시스템은 기존 방법을 보완하고, 다른 방법으로는 식별되지 않는 캠페인 도메인을 식별할 수 있습니다.

그림 1: 높은 수준의 프로세스

접근방식

우리 접근방식(그림 1 참조)은 패시브 DNS 레코드에서 볼 수 있는 도메인을 클러스터링하는 것입니다. 패시브 DNS는 DNS 쿼리/응답 트래픽을 레코딩하는 메커니즘입니다. 이 레코드는 다른 여러 데이터 중에서도 주로 타임스탬프, 요청된 도메인 및 해당 IP 주소로 구성됩니다. 개인 정보 보호를 위해 개별 클라이언트의 DNS 트래픽(“반복질의 요청” 비트 설정)은 캡처되지 않으며 클라이언트 IP도 제거됩니다.

패시브 DNS 레코드는 다양한 소스에서 사용할 수 있으며, 규모에 따른 인터넷 트래픽을 이해하기 위해 연구원이 흔히 사용합니다. 일반적으로 우리는 분석을 위해 매일 6테라바이트 이상의 패시브 DNS 레코드를 사용할 수 있습니다.

우리는 IP 주소 등 패시브 DNS 레코드와 BGP 및 Whois 등 다른 소스의 정보에서 생성된 기능을 사용하여 이러한 도메인을 클러스터링합니다. 이렇게 하면 서로 관련이 있지만 양성 또는 악성으로 표시되지 않은 도메인의 클러스터를 알 수 있습니다.

이 데이터는 이 시점에서 표시되지 않았으므로 비지도 머신 러닝의 적용 분야입니다. 함께 그룹화된 도메인들에 많은 공통 특징이 있다는 것은 알지만 악성인지 여부는 알 수 없습니다. 악성 클러스터를 찾기 위해 우리는 시드 도메인을 사용합니다. 시드 도메인은 새 캠페인의 일부로 나타나며 우리가 악성으로 확인한 것입니다.

 

시드 도메인

시드 도메인은 그룹으로 표시되는 악성 도메인의 예입니다.

시드는 다양한 방법으로 발견될 수 있으며, 우리는 현재 잠재적 시드 도메인을 식별하기 위해 도메인 등록, 새롭게 나타난 도메인, 인기 있는 주제라는 3가지 정보 소스에 초점을 맞추고 있습니다.

 

도메인 등록

우리는 최근에 등록된 도메인을 살펴보고 비슷한 이름을 가진 그룹을 찾습니다. 캠페인에서 최근 이벤트를 이용하는 경우에는 대규모 도메인 그룹이 해당 이벤트와 같은 이름으로 등록될 수 있습니다. 우리는 알려진 악성 도메인의 그룹을 점검하고 그 결과를 우리 시드 도메인 목록에 넣습니다. 우리는 자체 탐지뿐만 아니라 인기 있는 온라인 멀웨어 데이터베이스 등의 타사 위협 인텔리전스도 기반으로 하여 알려진 악성 도메인을 식별합니다. 이 시점에서 많은 악성 도메인이 알려지지 않았거나 보고되지 않았을 수도 있지만, 프로세스를 시작하기 위해 몇 가지 예를 찾아야 합니다.

 

새롭게 나타난 도메인

또한, 우리는 패시브 DNS 레코드에서 이전에 보지 못했던 새 도메인을 확인합니다. 오래 전에 등록되었지만 캠페인이 시작될 때까지 사용되지 않은 것일 수도 있습니다. 우리는 비슷한 이름의 그룹으로 이러한 도메인을 검색하고 악성으로 알려진 것들에서 시드를 식별합니다.

 

인기 있는 주제

또한, 인기 있는 주제로 소셜 미디어를 검색합니다. 잘 알려진 이벤트가 나타나면 이러한 이벤트는 일일 소셜 미디어 트렌드에 종종 등장합니다. 우리는 최근에 나타난 도메인 이름으로 Google 또는 Twitter에 나타난 인기 있는 단어를 교차 확인합니다. 예를 들어, 스포츠 이벤트 등의 최근 이벤트와 관련된 Google 트렌드가 보이면 해당 스포츠 이벤트를 참조하는 최근 나타난 도메인을 확인합니다. 비슷한 이름의 그룹을 다시 찾아보고 악성으로 알려진 것들을 확인합니다. 시드 도메인 목록을 갖췄으므로, 이제 이러한 시드가 포함된 도메인의 클러스터를 검색할 준비가 되었습니다.

 

악성 클러스터 찾기

우리가 사용할 시드 도메인 그룹을 식별한 후에, 이전에 패시브 DNS 데이터에서 계산한 도메인 클러스터 중에서 이들을 검색합니다. (그림 2 참조) 상당한 비율의 시드 도메인이 있는 클러스터는 악성 캠페인으로 간주되고, 해당 클러스터에 있는 모든 도메인은 악성으로 표시됩니다.

그림 2: 도메인 클러스터

결과

예를 들어, 최근에 우리는 check-box-with-money##[.]loan 같은 이름을 가진 악성 도메인이 사용된 피싱 캠페인을 발견했습니다. 함께 등록된 비슷한 도메인 그룹을 관찰하여 이 도메인 그룹을 찾아낸 것입니다. 첫날에 77개의 도메인이 등록된 것을 보았습니다. 이 가운데 인기 있는 온라인 멀웨어 데이터베이스에 알려진 것은 17개밖에 없었지만, 이 정도면 우리 시드 그룹에 추가하기에 충분했습니다. 패시브 DNS에서 본 도메인의 클러스터링 분석을 통해, 우리는 등록에서 보지 못한 2개의 추가 도메인을 즉시 발견했습니다.

그다음 날 캠페인에서 16개의 다른 도메인을 발견했고, 그다음에 58개, 그리고 나서 88개의 도메인을 발견했습니다. 이 캠페인이 활성화된 후 첫 2주 동안, 우리는 이 피싱 캠페인과 관련된 333개의 도메인을 발견했습니다.

더 흥미로운 것은, 이 333개의 도메인 중 일반 온라인에서 활성화된 첫날에 인기 있는 온라인 멀웨어 데이터베이스에 알려진 것은 247개였다는 점입니다. 그 후 2주 동안, 이러한 도메인 중 결국 7개에만 표시가 되었습니다. 2주가 지난 후, 이러한 도메인이 인터넷에서 활발히 활동하고 동일한 캠페인의 일부임이 명백한데도 해당 데이터베이스에서는 240개의 도메인에 여전히 피싱이라는 표시를 하지 않았습니다.

우리는 유명한 두 개의 차단 목록도 확인해 보았습니다. 둘 중 어떤 차단 목록에서도 이러한 도메인이 인터넷에 나타난 첫날에 이러한 도메인을 차단하지 않았습니다. 그 후 2주 동안, 하나의 차단 목록에서 333개 도메인 중 80개만 차단했고 다른 하나의 차단 목록에서는 247개를 차단했습니다.

이러한 결과는 보안 커뮤니티에서 캠페인의 일부 도메인을 발견했다 하더라도 많은 도메인이 공격자의 궁극적인 목표대로 차단 없이 쉽게 통과된다는 점을 잘 보여줍니다.

 

결론

이것은 하나의 예에 불과합니다. 지난 두 달 동안, 우리는 1,000여 개의 활성 도메인으로 구성된 15개의 다른 캠페인을 발견했습니다. 활성 도메인이고 캠페인의 일부이지만, 여러 인기 있는 타사 서비스에서는 이러한 많은 도메인을 개별적으로 식별하지 못했습니다. 타사 서비스에서 식별한 도메인을 우리가 발견한 시점을 보면 평균적으로 온라인 멀웨어 데이터베이스보다 2.8일, 인기 있는 한 차단 목록보다 3.9일, 또 다른 차단 목록보다 2.4일 앞서 있었습니다. 타사에서 식별한 도메인에서 현재까지 우리가 확인한 최대 편차는 멀웨어 데이터베이스의 경우 46일, 첫 번째 차단 목록의 경우 15일, 두 번째 차단 목록의 경우 32일입니다. 그림 3은 식별에 걸린 시간을 전반적으로 비교한 것입니다.

그림 3: 타사에서 식별하기까지 걸린 시간

보호 및 조치 요구

Palo Alto Networks 고객은 위협 방지 구독의 일부인 PAN-DB URL 필터링 및 DNS C2 서명을 통해 이러한 악성 도메인과 피싱 도메인으로부터 보호를 받습니다. Palo Alto Networks 방화벽 고객은 우리 패시브 DNS 연구의 도움을 받아 사전예방적으로 악성 도메인과 피싱 도메인을 찾을 수 있습니다. PAN-OS 버전 8.0 이상에서 패시브 DNS 공유를 사용하려면 “패시브 DNS 모니터링”(장치> 설정> 원격 측정)을 선택하십시오. PAN-OS 7.1 버전 이전의 경우, 패시브 DNS 공유를 안티 스파이웨어 보안 프로필에서 사용할 수 있습니다. 패시브 DNS 레코드는 다른 여러 데이터 중에서도 주로 타임스탬프, 요청된 도메인 및 해당 IP 주소로 구성됩니다. 개인 정보 보호를 위해 개별 클라이언트의 DNS 트래픽(“반복질의 요청” 비트 설정)은 캡처되지 않으며 클라이언트 IP도 제거됩니다.


Subscribe to the Blog!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.