SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
소프트웨어 정의 네트워킹 환경에서의
자원 고갈 공격에 대한
효과적인 대응 방안에 대한 연구
남재현, 양준석, 김연근, 신승원
정보보호대학원
전산학부, 한국과학기술원
목 차
• 서론
• SDN 환경에서의 자원 고갈 공격
• 자원 고갈 공격에 대한 대응 방안
• 실험 결과
• 결론
2
서 론
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
SDN 스위치
호스트 A 호스트 B
L2 Forwarding
응용 프로그램
(1)
(2) (3)
컨트롤러
(e.g., NOX)
SDN 컨트롤러 호스트
(5)
A à B: Forward
SDN 스위치 내의 Flow Table
(4)
소프트웨어 정의 네트워킹의 문제점
• 다양한 액션 제공으로 인한 필요 공간 증가
– 기존 네트워크 장비들의 경우 간단한 정보만 유지
• 라우터: IP 주소, 물리 포트 번호
• 스위치: MAC 주소, 물리 포트 번호
– SDN 환경에서는 더 많은 정보를 필요로 함
• IP 주소, MAC 주소, 프로토콜, L4 포트 번호, VLAN 정보
MPLS 정보, 물리 포트 번호 등
• 네트워크 장비 내 TCAM 크기의 제약
– SDN 환경에서는 와일드카드(*)를 이용하여 플로우 제어 가능
• 와일드 카드를 제공하기 위해서는 TCAM을 이용해야 함
– 비싼 TCAM 가격 때문에 네트워크 장비 내 TCAM 크기를 늘리기 어려움
• 일반적인 상용 스위치의 경우 최대 1,500 ~ 2,000개의 플로우 저장 가능
5
SDN 환경에서의 자원 고갈 공격
• 네트워크 장비 내 공간적 제약을 악용
• 공격자는 무의미한 네트워크 플로우를 발생
• 플로우의 개수에 의존적이기에 적은 양의 트래픽으로도
공격 가능
6
SDN 스위치
공격자 일반 호스트
A à B: Forward
A à C: Forward
A à D: Forward 플로우 테이블 오버플로우 발생
자원 고갈 공격에 대한 대응 방안
• 자원 고갈 공격의 특성
– 무의미한 플로우 생성을 통해 네트워크 장비 내 자원 고갈
• 자원 고갈 공격에 대한 대응 방안
7
일회용 플로우 룰
동적 타임아웃
메커니즘
임시 플로우 관리 테이블
정적 플로우 관리 테이블
기존 동작 메커니즘
플로우
일회용 플로우 룰
• 목적
– 어떠한 액션에 대해서 한 번만 수행하기 위한 룰
• 새로운 발생된 플로우가 정상적인지 아닌지 판단 근거 부족
• 한 번 액션을 수행한 후 다시 해당 플로우가 발생된다면,
정상적인 플로우일 가능성 높음
• 적용 방법
– 트래픽 양에 따라 두 가지 형태를 적용할 수 있음
• PACKET_OUT 메시지
– 네트워크 장비 내 룰을 저장하지 않고 액션을 바로 수행
• FLOW_MOD 메시지
– 최소 타임아웃(1초)를 적용하여 네트워크 장비 내 1초동안 저장
– 1초 후 다시 추가적인 액션을 요구
8
동적 타임아웃 메커니즘
• 목적
– 플로우 룰에 대한 타임아웃을 동적으로 적용
• SDN 환경에서는 플로우 룰에 대해 10~30초 정도의 타임아웃
적용
• 하지만 일반적인 네트워크 플로우의 경우 수 초 내 종료됨
• 따라서, 동적 타임아웃 적용을 통해 빠르게 불필요한 플로우
제거 가능
• 적용 방법의 예
– If (새로운 플로우)
Then 1초의 타임아웃을 적용
– Else if (기존 타임 아웃 <= 30초)
Then (기존 타임 아웃 * 2)초의 타임아웃 적용
– Else 30초의 타임아웃을 적용
9
임시 및 정적 플로우 관리 테이블
• 목적
– 단타성 또는 짧은 플로우의 경우 앞선 메커니즘 적용 가능
– 하지만, 주기적으로 발생되는 플로우들에 대해선 역효과 발생
• 불필요한 오버헤드 증가
– 플로우들의 발생빈도 따라 다른 관리 방법 적용
• 적용 방법
– 임시 플로우 관리 테이블
• 특정 플로우의 발생 빈도가 임의의 임계치 보다 작은 경우
• 일회용 플로우 룰 및 동적 타임아웃 메커니즘 적용
– 정적 플로우 관리 테이블
• 특정 플로우의 발생 빈도가 임의의 임계치 보다 클 경우
• 기존의 동작 메커니즘 적용
• 일정 시간이 지나면 발생 빈도를 초기화하고 관리 테이블에서 제거
10
실험 환경
• 컨트롤러 머신
– Intel i5-3470 CPU @ 3.20GHz
– POX controller 사용
• L2 learning 어플리케이션
• 자원 고갈 공격 대응 어플리케이션
• 네트워크 시뮬레이션 머신
– Intel i5-3470 CPU @ 3.20GHz
– Mininet 활용
– 최대 유지 가능한 플로우 개수를 2,000개로 한정
• 상용 스위치가 지원하는 개수와 유사하게 맞춤
11
대응 메커니즘 적용 전
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
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 사용량 감소
결 론
• SDN 환경적 특성을 이용한 자원 고갈 공격에 대한 대응 방안
– 일회용 플로우 룰
– 동적 타임아웃 메커니즘
– 임시 및 정적 플로우 관리 테이블
• 실험 결과를 통해 위의 방법들을 통해 해당 공격에
효과적으로 대응 할 수 있음을 확인
• 위의 방법들을 기반으로 적용하고자 하는 네트워크의
트래픽 패턴에 맞게 최적화 할 경우 보다 나은 대응 방안
도출 가능
14
감사합니다

Contenu connexe

Similaire à SDN 자원 고갈 공격

Sensor web
Sensor webSensor web
Sensor web
H K Yoon
 

Similaire à SDN 자원 고갈 공격 (20)

Sensor web
Sensor webSensor web
Sensor web
 
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
 
1st SDN Interest Group Seminar - Session1 (121017)
1st SDN Interest Group Seminar - Session1 (121017)1st SDN Interest Group Seminar - Session1 (121017)
1st SDN Interest Group Seminar - Session1 (121017)
 
4th SDN Interest Group Seminar-Session 2-1(130313)
4th SDN Interest Group Seminar-Session 2-1(130313)4th SDN Interest Group Seminar-Session 2-1(130313)
4th SDN Interest Group Seminar-Session 2-1(130313)
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
Network seminar class 3
Network seminar class 3Network seminar class 3
Network seminar class 3
 
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
 
[White Paper] SDN 기반 공격 탐지차단 강화를 위한 네트워크 관리 정보 구성 방안
[White Paper] SDN 기반 공격 탐지차단 강화를 위한 네트워크 관리 정보 구성 방안[White Paper] SDN 기반 공격 탐지차단 강화를 위한 네트워크 관리 정보 구성 방안
[White Paper] SDN 기반 공격 탐지차단 강화를 위한 네트워크 관리 정보 구성 방안
 
Vectorized processing in_a_nutshell_DeView2014
Vectorized processing in_a_nutshell_DeView2014Vectorized processing in_a_nutshell_DeView2014
Vectorized processing in_a_nutshell_DeView2014
 
Chapter2 ap group11
Chapter2 ap group11Chapter2 ap group11
Chapter2 ap group11
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
Versatile tensor accelerator (vta) introduction and usage
Versatile tensor accelerator (vta) introduction and usage Versatile tensor accelerator (vta) introduction and usage
Versatile tensor accelerator (vta) introduction and usage
 
2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)
 
Cisco Meraki Wireless WiFi Network (Korean)
Cisco Meraki Wireless WiFi Network (Korean)Cisco Meraki Wireless WiFi Network (Korean)
Cisco Meraki Wireless WiFi Network (Korean)
 
150114 OpenStack Korea 정기세미나 session3 - OpenStack 네트워크와 SDN
150114 OpenStack Korea 정기세미나 session3 - OpenStack 네트워크와 SDN150114 OpenStack Korea 정기세미나 session3 - OpenStack 네트워크와 SDN
150114 OpenStack Korea 정기세미나 session3 - OpenStack 네트워크와 SDN
 
[AWS Dev Day] 이머징 테크 | AWS 서버리스를 이용하여 IoT 수준의 메세지 폭풍을 처리하는 방법 - 김민성 AWS 솔루션즈 ...
[AWS Dev Day] 이머징 테크 | AWS 서버리스를 이용하여 IoT 수준의 메세지 폭풍을 처리하는 방법 - 김민성 AWS 솔루션즈 ...[AWS Dev Day] 이머징 테크 | AWS 서버리스를 이용하여 IoT 수준의 메세지 폭풍을 처리하는 방법 - 김민성 AWS 솔루션즈 ...
[AWS Dev Day] 이머징 테크 | AWS 서버리스를 이용하여 IoT 수준의 메세지 폭풍을 처리하는 방법 - 김민성 AWS 솔루션즈 ...
 
서버를 위한 동시성 모델과 Staged eventdrivenarchitecture
서버를 위한 동시성 모델과 Staged eventdrivenarchitecture서버를 위한 동시성 모델과 Staged eventdrivenarchitecture
서버를 위한 동시성 모델과 Staged eventdrivenarchitecture
 
[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster
 
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo,  and application case of SK TelecomSQL-on-Hadoop with Apache Tajo,  and application case of SK Telecom
SQL-on-Hadoop with Apache Tajo, and application case of SK Telecom
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)
 

Dernier

Dernier (7)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 

SDN 자원 고갈 공격

  • 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