1. 소프트웨어 정의 네트워킹 환경에서의
자원 고갈 공격에 대한
효과적인 대응 방안에 대한 연구
남재현, 양준석, 김연근, 신승원
정보보호대학원
전산학부, 한국과학기술원
2. 목 차
• 서론
• SDN 환경에서의 자원 고갈 공격
• 자원 고갈 공격에 대한 대응 방안
• 실험 결과
• 결론
2
3. 서 론
3
a global view of the network. As a result, the network appears to the
applications and policy engines as a single, logical switch. With SDN,
enterprises and carriers gain vendor-independent control over the entire
network from a single logical point, which greatly simplifies the network
design and operation. SDN also greatly simplifies the network devices
themselves, since they no longer need to understand and process
thousands of protocol standards but merely accept instructions from the
SDN controllers.
APPLICATION LAYER
CONTROL LAYER
INFRASTRUCTURE LAYER
SDN
Control
Software
Network Device
Network Device Network Device
Network Device Network Device
Business Applications
Network Services
Control Data Plane interface
(e.g., OpenFlow)
API
API
API
Perhaps most importantly, network operators and administrators can
programmatically configure this simplified network abstraction rather than
having to hand-code tens of thousands of lines of configuration scattered
among thousands of devices. In addition, leveraging the SDN controller’s
FIGURE 1
Software-Defined Network
Architecture
• 소프트웨어 정의 네트워킹 (Software-defined Networking)
– 기존 네트워크 장비에서의 제어평면과 데이터평면을 분리
– 중앙집중형 관리 구조
– 네트워크의 유연성 향상
• 오픈플로우 (OpenFlow) 프로토콜
– 두 평면을 연결하는 인터페이스 역할 수행
– 데이터평면 내 다양한 액션
수행을 가능하게 함
• 포워딩, 리다이렉션, 로드벨런싱 등
4. 기본적인 동작 방식
4
SDN 스위치
호스트 A 호스트 B
L2 Forwarding
응용 프로그램
(1)
(2) (3)
컨트롤러
(e.g., NOX)
SDN 컨트롤러 호스트
(5)
A à B: Forward
SDN 스위치 내의 Flow Table
(4)
5. 소프트웨어 정의 네트워킹의 문제점
• 다양한 액션 제공으로 인한 필요 공간 증가
– 기존 네트워크 장비들의 경우 간단한 정보만 유지
• 라우터: IP 주소, 물리 포트 번호
• 스위치: MAC 주소, 물리 포트 번호
– SDN 환경에서는 더 많은 정보를 필요로 함
• IP 주소, MAC 주소, 프로토콜, L4 포트 번호, VLAN 정보
MPLS 정보, 물리 포트 번호 등
• 네트워크 장비 내 TCAM 크기의 제약
– SDN 환경에서는 와일드카드(*)를 이용하여 플로우 제어 가능
• 와일드 카드를 제공하기 위해서는 TCAM을 이용해야 함
– 비싼 TCAM 가격 때문에 네트워크 장비 내 TCAM 크기를 늘리기 어려움
• 일반적인 상용 스위치의 경우 최대 1,500 ~ 2,000개의 플로우 저장 가능
5
6. SDN 환경에서의 자원 고갈 공격
• 네트워크 장비 내 공간적 제약을 악용
• 공격자는 무의미한 네트워크 플로우를 발생
• 플로우의 개수에 의존적이기에 적은 양의 트래픽으로도
공격 가능
6
SDN 스위치
공격자 일반 호스트
A à B: Forward
A à C: Forward
A à D: Forward 플로우 테이블 오버플로우 발생
7. 자원 고갈 공격에 대한 대응 방안
• 자원 고갈 공격의 특성
– 무의미한 플로우 생성을 통해 네트워크 장비 내 자원 고갈
• 자원 고갈 공격에 대한 대응 방안
7
일회용 플로우 룰
동적 타임아웃
메커니즘
임시 플로우 관리 테이블
정적 플로우 관리 테이블
기존 동작 메커니즘
플로우
8. 일회용 플로우 룰
• 목적
– 어떠한 액션에 대해서 한 번만 수행하기 위한 룰
• 새로운 발생된 플로우가 정상적인지 아닌지 판단 근거 부족
• 한 번 액션을 수행한 후 다시 해당 플로우가 발생된다면,
정상적인 플로우일 가능성 높음
• 적용 방법
– 트래픽 양에 따라 두 가지 형태를 적용할 수 있음
• PACKET_OUT 메시지
– 네트워크 장비 내 룰을 저장하지 않고 액션을 바로 수행
• FLOW_MOD 메시지
– 최소 타임아웃(1초)를 적용하여 네트워크 장비 내 1초동안 저장
– 1초 후 다시 추가적인 액션을 요구
8
9. 동적 타임아웃 메커니즘
• 목적
– 플로우 룰에 대한 타임아웃을 동적으로 적용
• SDN 환경에서는 플로우 룰에 대해 10~30초 정도의 타임아웃
적용
• 하지만 일반적인 네트워크 플로우의 경우 수 초 내 종료됨
• 따라서, 동적 타임아웃 적용을 통해 빠르게 불필요한 플로우
제거 가능
• 적용 방법의 예
– If (새로운 플로우)
Then 1초의 타임아웃을 적용
– Else if (기존 타임 아웃 <= 30초)
Then (기존 타임 아웃 * 2)초의 타임아웃 적용
– Else 30초의 타임아웃을 적용
9
10. 임시 및 정적 플로우 관리 테이블
• 목적
– 단타성 또는 짧은 플로우의 경우 앞선 메커니즘 적용 가능
– 하지만, 주기적으로 발생되는 플로우들에 대해선 역효과 발생
• 불필요한 오버헤드 증가
– 플로우들의 발생빈도 따라 다른 관리 방법 적용
• 적용 방법
– 임시 플로우 관리 테이블
• 특정 플로우의 발생 빈도가 임의의 임계치 보다 작은 경우
• 일회용 플로우 룰 및 동적 타임아웃 메커니즘 적용
– 정적 플로우 관리 테이블
• 특정 플로우의 발생 빈도가 임의의 임계치 보다 클 경우
• 기존의 동작 메커니즘 적용
• 일정 시간이 지나면 발생 빈도를 초기화하고 관리 테이블에서 제거
10
11. 실험 환경
• 컨트롤러 머신
– Intel i5-3470 CPU @ 3.20GHz
– POX controller 사용
• L2 learning 어플리케이션
• 자원 고갈 공격 대응 어플리케이션
• 네트워크 시뮬레이션 머신
– Intel i5-3470 CPU @ 3.20GHz
– Mininet 활용
– 최대 유지 가능한 플로우 개수를 2,000개로 한정
• 상용 스위치가 지원하는 개수와 유사하게 맞춤
11
12. 대응 메커니즘 적용 전
12
0
10
20
30
40
50
60
70
80
90
100
0
500
1000
1500
2000
2500
0 5 10 15 20 25 30 35 40
Controller
CPU
usage
(%)
Number
of
flow
entries
Time (seconds)
# of flow entries CPU usage (%)
플로우 테이블
오버플로우
CPU 사용량 증가
13. 대응 메커니즘 적용 후
13
0
3
6
9
12
15
0
50
100
150
200
250
300
0 5 10 15 20 25 30 35 40
Controller
CPU
usage
(%)
Number
of
flow
entries
Time (seconds)
# of flow entries CPU usage (%)
공격에 대한 영향 감소
CPU 사용량 감소
14. 결 론
• SDN 환경적 특성을 이용한 자원 고갈 공격에 대한 대응 방안
– 일회용 플로우 룰
– 동적 타임아웃 메커니즘
– 임시 및 정적 플로우 관리 테이블
• 실험 결과를 통해 위의 방법들을 통해 해당 공격에
효과적으로 대응 할 수 있음을 확인
• 위의 방법들을 기반으로 적용하고자 하는 네트워크의
트래픽 패턴에 맞게 최적화 할 경우 보다 나은 대응 방안
도출 가능
14