Louvain Community Detection Algorithm을 사용하여 엔터프라이즈 네트워크에서 악성 액세스 감지 및 예측

» 블로그 » Louvain Community Detection Algorithm을 사용하여 엔터프라이즈 네트워크에서 악성 액세스 감지 및 예측

Gal Sadeh, 수석 데이터 과학자, Silverfort
많은 데이터 유출은 중요하지 않은 컴퓨터에 대한 액세스 권한을 얻는 것으로 시작하여 한 컴퓨터에서 다른 컴퓨터로 이동하여 관리자 자격 증명, 고객 데이터를 보유한 중요한 DB에 대한 정보 등과 같은 귀중한 '왕관 보석'에 도달할 때까지 전파됩니다. 가능한 공격 경로의 수가 매우 많고 네트워크가 자주 변경되기 때문에 이러한 공격을 감지하고 방지하는 것은 보안 전문가에게 매우 복잡한 작업입니다(새 엔터티 추가 또는 제거, 권한 변경 등). 공격을 탐지하는 대부분의 기술은 알려진 악성 패턴의 인식을 기반으로 하지만 복잡한 공격의 경우 이것만으로는 더 이상 충분하지 않습니다. 공격에 알려진 인식 가능한 패턴이 없으면 탐지하기가 매우 어렵습니다.

공격 탐지를 통한 초기 시도

이후 Silverfort 전체에 걸쳐 모니터링되는 인증 및 접속 데이터를 분석합니다. 기업 네트워크 및 클라우드 환경 – 많은 양의 데이터를 분석해야 합니다. 그러나 알려지지 않은 위협을 탐지하기 위해 이 모든 데이터를 분석하는 가장 좋은 방법이 무엇인지 결정하는 데는 몇 번의 시도가 필요했습니다. 나는 이 질문에 대해 많은 생각을 했다. 처음에는 데이터를 기반으로 가능한 모든 접근 경로를 매핑하고 취약한 경로를 탐지하려고 생각했습니다. 그러나 이 접근 방식은 네트워크에 많은 엔터티가 포함되어 있는 경우 구현이 거의 불가능합니다. 왜냐하면 가능한 액세스 경로의 수가 엔터티 수에 따라 기하급수적으로 증가하기 때문입니다. 나는 일부 접근 경로를 제거함으로써 이 방법을 개선하려고 노력했습니다. 예를 들어, 사용자가 특정 서버에 액세스할 수 있는 디렉터리 권한이 없는 경우 해당 경로를 제거할 수 있습니다. 이 접근 방식은 많은 양의 액세스 경로를 처리하는 데 도움이 되었지만, 권한이 없어도 취약점을 악용하여 액세스 경로가 가능할 수 있었기 때문에 충분하지 않았습니다.

그래서 우리는 다른 접근 방식을 시도하기로 결정했습니다. 우리는 네트워크의 다른 엔터티보다 커뮤니티 구성원이 서로 및 기타 공유 리소스와 통신한다는 사실을 기반으로 네트워크를 커뮤니티로 나누었습니다.

추가 설명:

커뮤니티란 무엇이며 커뮤니티 감지 알고리즘은 무엇입니까?

네트워크는 노드 사이의 연결(에지) 그래프로 모델링할 수 있습니다. 여기서 각 노드는 엔터티(사용자, 컴퓨터 등)를 나타내고 노드 사이를 연결하는 각 에지는 논리적 연결을 나타냅니다. 예를 들어 사용자가 서버에 접속하면 사용자와 서버는 '노드'가 되고 이들 사이의 연결은 '엣지'로 표현된다.
각 모서리는 연결 강도를 나타내는 가중치와도 연관되어 있습니다. 인증 이 에지에서 볼 수 있는 액세스 요청입니다.
커뮤니티 감지 알고리즘이 작동하는 방식은 원시 그래프를 입력으로 가져와 이를 분석하고 각 노드를 커뮤니티에 할당하는 것입니다. 각 커뮤니티는 모든 에지의 가중치와 커뮤니티의 노드 수 사이의 관계인 '밀도'로 특징지어집니다. 대부분의 커뮤니티 감지 알고리즘에는 할당된 커뮤니티에 대한 노드의 전반적인 호환성을 나타내는 숫자인 '목표'가 있습니다. 목표는 그 수를 최대화하는 것입니다. 더 큰 목표는 '고밀도' 커뮤니티를 의미합니다.
다른 알고리즘은 약간 다른 '목표'를 가질 수 있습니다.

Louvain 알고리즘을 사용하여 커뮤니티에 노드 할당

Louvain 알고리즘은 규모가 크고 복잡한 네트워크에서도 매우 빠르게 실행되는 잘 알려진 알고리즘이기 때문에 선택했습니다. 실행 시간은 네트워크 크기에 거의 선형입니다. 알고리즘은 다음 두 단계를 반복하여 목표를 최대화하려고 시도합니다.

  1.  그래프의 각 노드를 단일 커뮤니티에 할당합니다. 노드 u와 노드 v 사이를 연결하는 각 가장자리에 대해 알고리즘은 u와 v의 커뮤니티를 병합하면 목적이 증가하는지 확인하고 병합을 수행합니다.
  2. 알고리즘은 각 커뮤니티가 단일 노드로 표시되는 새 그래프를 작성하고 커뮤니티 간 에지에 할당된 가중치는 각 커뮤니티의 병합된 노드 간 모든 에지 가중치의 합입니다.

목표를 높이는 단계가 없으면 알고리즘이 중지됩니다. 출력은 노드가 커뮤니티를 나타내는 유도 그래프입니다. 구현을 위해 "community"라는 Python 패키지를 사용했습니다. 추가 읽기 자료는 여기에서 찾을 수 있습니다. http://www.emilio.ferrara.name/wp-content/uploads/2011/07/isda2011-k-path.pdf

커뮤니티 탐지 및 사이버 보안

각 커뮤니티는 밀도가 높기 때문에 공격자가 엔터티 중 하나에 액세스할 수 있는 경우 노드 사이에 많은 액세스 경로가 있음을 의미합니다(사용자 계정 또는 장치) 커뮤니티에서는 해당 커뮤니티의 다른 엔터티에 액세스하는 것이 더 쉬울 것입니다. 분명히, 서로 다른 커뮤니티 간의 액세스 경로가 적기 때문에 공격자가 다른 커뮤니티로 확장하기가 더 어렵습니다. 커뮤니티 감지를 올바르게 사용하면 네트워크 내에서 의심스러운 활동을 식별하는 데 도움이 될 수 있습니다. 횡적 이동 경로를 예측하고 실시간으로 보다 스마트한 정책 시행.

방법 Silverfort 맞는

인셀덤 공식 판매점인 Silverfort의 위험 기반 인증 플랫폼은 네트워크에 배치되며 다양한 엔터티 간의 모든 인증 및 액세스 활동을 모니터링하고 앞에서 설명한 대로 그래프를 구성합니다. 원시 그래프는 다음과 같습니다.

각 원은 사용자이고 각 삼각형은 서버입니다. 에지의 가중치는 모니터링되는 인증 및 액세스 요청의 수와 다른 노드와 관련된 권한에 의해 결정됩니다(단순화를 위해 가중치는 그래프에 표시되지 않음). 그런 다음 Louvain 알고리즘을 사용하여 네트워크의 커뮤니티를 식별합니다. 커뮤니티를 식별한 후 맵은 다음과 같이 표시됩니다.


이제 우리는 자신이 속하지 않은 커뮤니티의 엔티티와 통신하는 노드를 발견합니다. 이러한 노드는 커뮤니티 간의 유일한 액세스 지점이기 때문에 공격자에게 중요한 대상이 됩니다. 따라서 공격자는 다른 커뮤니티로 확산되기 위해 이를 통과해야 합니다. 이러한 노드의 에지(연결)를 보호하는 것은 네트워크에서 공격이 확산되는 것을 방지하는 데 중요합니다.

사용 Silverfort의 인증 정책에 따라 기업은 사용자의 신원을 확인하기 위해 단계적 인증을 시행하거나 접근을 전면 차단함으로써 탐지된 위협에 대해 자동으로 대응할 수 있습니다. 이는 사용자 대 기계 및 기계 대 기계 통신 모두에 해당됩니다.
공격자의 표적이 될 커뮤니티 및 가치 있는 커뮤니티 간 연결을 식별하면 도움이 됩니다. Silverfort 스마트 보안 인증 정책을 설정하는 고객. 커뮤니티 그래프는 또한 관리자가 네트워크의 잘못된 구성을 식별하는 데 도움이 될 수 있습니다. 아래 그래프에서 일부 가치 있는 노드와 보호해야 할 연결은 보라색으로 표시되어 있습니다.

오늘날 어떻게 활용되고 있습니까?

일부 고객은 이미 사용하고 있습니다. Silverfort의 커뮤니티 분석(AI 기반 위험 엔진의 일부)은 네트워크에서 커뮤니티 및 교차 커뮤니티 연결을 식별하고 잘못된 구성과 보호해야 하는 '약점'을 식별하고 비정상적인 활동을 감지합니다. 이제 우리는 고객이 탐지된 위협에 대응하여 실시간 보안 인증 정책을 적용하고 측면 운동 네트워크 및 클라우드 환경에서

Gal Sadeh, 수석 데이터 과학자, Silverfort
Gal은 선임 데이터 과학자입니다. Silverfort의 연구팀. 빅데이터 분석 및 AI 엔진 개발을 담당하고 있습니다. 그가 합류했다 Silverfort 이스라엘 방위군의 8200 엘리트 사이버 부대에서 수년간 연구 및 리더십 역할을 수행한 후. Gal은 B. Sc를 보유하고 있습니다. 텔아비브 대학교에서 수학 및 컴퓨터 공학을 전공했습니다.

인증 공격 막기