네트워크는 그래프로 매핑된다
네트워크 토폴로지는 기하학적 그래프이다
모든 컴퓨터 네트워크는 토폴로지를 가지고 있다: 노드(장치)와 간선(연결)의 기하학적 배치이다. 토폴로지는 장애 허용성, 대역폭, 보안 속성을 결정한다.
다섯 가지 기본 토폴로지:
- 스타: 하나의 중앙 허브, 모든 노드가 이에 연결된다. 단순하고 저렴하다. 단일 장애점: 허브가 죽으면 모든 것이 죽는다. N개 노드의 경우 N-1개의 간선.
- 링: 노드가 원을 형성하고, 각각 두 개의 이웃에 연결된다. 한 번의 끊김이 네트워크를 분할한다. N개 노드의 경우 N개의 간선.
- 버스: 모든 노드가 단일 백본 케이블을 공유한다. 저렴하지만 충돌이 발생하기 쉽다. 하나의 백본 장애가 모든 것을 다운시킨다.
- 메시: 모든 노드가 다른 모든 노드에 연결된다. 최대 중복성. N개 노드의 전체 메시는 N(N-1)/2개의 간선을 가진다: 즉, O(N²)개의 연결이다. 비싸지만 매우 장애 허용력이 높다.
- 트리: 계층적 분기. N-1개의 간선(최소 연결 그래프). 루트 장애가 부분트리를 분할한다.
실제 네트워크는 하이브리드이다: 스타 토폴로지 접근 계층이 있는 메시 코어, 트리 구조의 라우팅 계층구조, 중요한 교차점에서의 링 토폴로지 중복성.
토폴로지와 장애 허용성
데이터 센터에는 20개의 서버가 있다. 운영 팀은 내부 네트워크를 위해 전체 메시와 스타 토폴로지 중 하나를 선택하기로 한다.
노출의 기하학
공격 표면 = 기하학적 경계
사이버보안에서 공격 표면은 공격자가 시스템과 상호 작용할 수 있는 모든 지점의 집합이다. 기하학적으로 생각해 보자: 당신의 시스템은 형태이고, 경계의 모든 지점이 잠재적 진입점이다.
공격 표면의 구성 요소:
- 네트워크 표면: 모든 공개 IP 주소의 모든 열린 포트. 5개의 열린 포트가 있는 서버는 네트워크 경계에 5개의 지점이 있다.
- 애플리케이션 표면: 모든 API 엔드포인트, 모든 URL 경로, 모든 양식 입력. 200개의 경로를 가진 웹 앱은 200개의 애플리케이션 계층 경계 지점을 가진다.
- 인간 표면: 자격증이 있는 모든 직원, 모든 피싱 대상. 소셜 엔지니어링 공격은 인간 둘레를 목표로 한다.
- 물리적 표면: 모든 서버실 문, 모든 USB 포트, 모든 네트워크 잭.
기하학적 원칙: 신뢰할 수 있는 영역과 신뢰할 수 없는 영역 사이의 경계를 최소화하여 보안을 개선한다. 방화벽은 기하학적 경계를 정의한다: 내부 트래픽은 신뢰할 수 있고, 외부 트래픽은 그렇지 않다. 경계의 구멍이 적을수록 공격 표면이 작아진다.
이것은 최소 권한 원칙이 기하학적인 이유를 설명한다: 각 구성 요소에 기능하는 데 필요한 최소 경계 노출을 부여하자.
공격 표면 감소
한 회사가 다음과 같은 노출로 웹 애플리케이션을 실행한다: 12개의 공개 API 엔드포인트, 모든 50개 서버의 SSH 개방(포트 22), 공개 IP를 가진 데이터베이스, 인터넷에서 액세스 가능한 관리 패널.
공격 그래프와 위협 트리
위협 모델링은 그래프 이론을 사용한다
보안 전문가들은 위협을 방향 그래프로 모델링한다. 이러한 그래프의 구조는 공격 경로, 높은 가치의 목표, & 방어 우선순위를 드러낸다.
공격 그래프: 노드는 시스템 상태(또는 개별 시스템)를 나타낸다. 방향 간선은 가능한 전환을 나타낸다: 익스플로잇, 측면 이동, 권한 상승. 공격 경로는 외부 노드에서 대상 노드까지 이 그래프를 통해 이동하는 것이다.
공격 트리: 특수화된 그래프 구조. 루트 노드는 공격자의 목표('데이터베이스 훔치기' 등)이다. 자식 노드는 부모 목표를 달성하기 위한 방법이다. 잎사귀는 구체적인 공격 행동이다. AND-노드는 모든 자식이 성공해야 하고, OR-노드는 하나만 필요하다.
그래프 중심성은 높은 가치의 목표를 식별한다:
- 매개 중심성: 많은 최단 경로가 통과하는 노드. 네트워크에서 이것은 병목 지점이다: 이를 손상시키면 트래픽 흐름을 제어한다. 방화벽 또는 도메인 컨트롤러는 종종 높은 매개 중심성을 가진다.
- 차수 중심성: 많은 연결이 있는 노드. 공격 그래프에서 다른 많은 노드에서 도달 가능한 노드는 높은 가치의 측면 이동 목표이다.
최단 경로 = 가장 가능성 있는 공격 벡터: 공격자들은 최소 단계로 최적화한다. 공격 그래프에서 인터넷에서 데이터베이스까지의 최단 경로는 가장 가능성 있는 공격 경로이다. 방어는 최단 경로를 더 길게 만드는 것을 의미한다: 공격자가 통과해야 하는 노드(보안 제어)를 추가하는 것이다.
공격 그래프 분석
이 구조의 네트워크를 고려하자: 인터넷 → 웹 서버 → 앱 서버 → 데이터베이스. 웹 서버는 또한 파일 서버에 연결된다. 앱 서버는 백업 서버에 연결된다. 공격자의 목표는 데이터베이스이다.
타원곡선 암호법은 기하학을 사용한다
타원곡선: 기하학이 암호화가 되는 곳
타원곡선 암호법(ECC)은 보안이 문자 그대로 기하학적 연산에 기반하는 드문 경우 중 하나이다.
타원곡선은 y² = x³ + ax + b를 만족하는 점(x, y)의 집합이다(특수한 '무한원점' 포함). 실수에 대해, 이것은 매끄럽고 대칭인 곡선처럼 보인다.
점 덧셈: 암호법을 작동하게 하는 기하학적 연산:
1. 곡선 위의 두 점 P & Q를 택하자.
2. P & Q를 통해 직선을 그으자.
3. 그 직선은 곡선과 정확히 다른 한 점 R'에서 교차한다.
4. R'를 x축 위로 반사하여 R = P + Q를 얻자.
이 '덧셈' 연산은 수학적 군을 형성한다: 결합법칙이 성립하고, 항등원(무한원점)을 가지며, 모든 점이 역원을 가진다.
스칼라 곱셈: 점 P를 자신에게 k번 더하면 kP를 얻는다. 앞으로(k와 P가 주어졌을 때 kP를 계산하는 것)는 빠르다: 이중-더하기를 사용하여 O(log k) 연산. 뒤로(P와 kP가 주어졌을 때 k를 찾는 것)는 타원곡선 이산 로그 문제(ECDLP): 큰 곡선의 경우 계산상 불가능하다고 믿어진다.
이 비대칭성은 현대 TLS의 보안 기초이다. 당신의 브라우저의 HTTPS 연결은 아마도 ECDHE(타원곡선 Diffie-Hellman 임시)를 사용한다: 양쪽이 타원곡선 위의 점을 교환하여 공유 비밀에 동의하고, 도청자는 ECDLP를 풀지 않고 비밀을 복구할 수 없다.
왜 기하학이 좋은 암호법을 만드는가
ECC는 RSA와 동일한 보안을 제공하지만 훨씬 더 작은 키 크기로 제공한다. 256비트 ECC 키는 대략 3072비트 RSA 키와 동일한 보안을 제공한다.