취약점분석 (Blue Team)/Network

[Network] SDN (Software-Defined Networking)

poiri3r 2026. 6. 13. 14:27

이번 포스팅에서는 SDN에 대해 조사해보겠습니다.

SDN은 Software-Defined Networking의 약자로, 네트워크 장비를 소프트웨어 형태로 중앙에서 제어하는 네트워크 제어 아키텍처 입니다.

예를 들어 설명하면, 일반적인 네트워크에서 패킷이 들어오면 스위치가 자기 라우팅/포워딩 테이블을 보고 처리를 하는데, SDN같은 경우에는 SDN controller에서 스위치/라우터에게 패킷을 어떻게 처리할지 명령을 내립니다.

모든 패킷을 SDN에서 처리하는건 아니고, 일반적인 패킷 외에 스위치에서 처리방법을 모르거나 특정한 패킷을 SDN 컨트롤러에게 질의합니다.

혹은 컨트롤러가 특정 장비에 적용되는 규칙을 내려주면 같은 흐름의 패킷은 스위치가 직접 처리합니다

기존은 각 장비마다 제어부가 존재했으나 이를 하나의 SDN으로 통합하였다고 생각해도 됩니다.

 

SDN은 아키텍처이기 때문에 구현도 중요하지만, SDN이 왜 중요한지를 아는 것이 중요합니다.

SDN이 왜 중요한지, 일반적인 사용자 관점에서 또 네트워크 공격을 방어하는 관점에서 작성하겠습니다

먼저 일반적인 관점에서 중요한 점은 다음과 같습니다.

  1. 중앙 관리 기능 : 여러 스위치와 라우터를 하나의 컨트롤러에서 관리가 가능
  2. 자동화 : 사람이 각 네트워크 장비에 대해 하나하나 설정할 필요 없이, API나 코드로 네트워크 정책 수정이 가능합니다.
  3. 유연한 트래픽 제어 : 특정 서비스는 빠른 경로로 보내고, 특정 트래픽은 우회시키는 식의 제어가 가능합니다.
  4. 클라우드/데이터센터에 적합 : VM, 컨테이너, 서비스가 계속 생기고 사라지는 환경에서는 네트워크도 자동으로 바뀌어야 하는데, SDN이 이걸 가능하게 합니다.

네트워크 공격을 방어하는 입장에서 한번 살펴보겠습니다.

  1. 일괄적이고 빠른 차단 : 공격 IP, 포트, 프로토콜 확인시 여러 노드에 일괄적인 차단 규칙을 배포할 수 있습니다.
  2. 네트워크 가시성 : 컨트롤러에서 전체 트래픽 흐름을 볼 수 있어서, 특정 장비 하나만 보는 것 보다 공격 흐름을 파악하기 쉽습니다.
  3. 동적 격리 가능 : 감염된 서버나 의심 단말을 자동으로 격리할 수 있습니다.
  4. 보안 장비 연동 : 제일 중요한 부분으로, IDS,IPS,SIEM,SOAR과 연결해서 탐지 결과를 바로 네트워크 정책으로 바꿀 수 있습니다. Wazuh에서 "10.0.0.5"가 이상행위를 한다고 판단하면, SDN 컨트롤러 스위치에 결과를 전달하고, 컨트롤러에서 일괄적인 차단 정책을 배포할 수 있습니다.

저번 포스팅에서 DDoS에 대해서 서베이 논문을 살펴봤고, SDN을 이용한 연구도 많이 있었습니다.

DDoS 탐지에서 중요한건 패킷, Flow에 대한 전체적인 흐름을 봐야하므로, 여러 스위치의 트래픽을 모을 수 있는 SDN이 탐지에 유리합니다.

DDoS 탐지에서 다뤘던 패킷의 feature만 혹은 flow만 SDN 스위치에 저장하고 이 통계를 머신러닝 모델에 돌리면서 공격 판단시 바로 정책을 변경하는 식으로 이용도 가능합니다.

SDN에 패킷 미러링을 붙여서 패킷을 검사하는 방식도 가능합니다.

 

SDN Architecture

SDN 아키텍처는 Application Plane, Control Plane(SDN 컨트롤러), Data Plane(SDN 전송 장비)로 3계층으로 구성이 됩니다.

계층간 연동을 위해서, 프로토콜이 존재합니다.

출처 : Unveil the Myths About SDN Switch FS Community

ⓘApplication Plane은 보안, 트래픽 관리, 로드밸런싱 같은 네트워크 서비스를 담당합니다.

②Control Plane은 SDN 컨트롤러가 네트워크 전체 상태를 기반으로 정책을 결정합니다.

③Data plane은 스위치나 라우터같은 장비가 실제 패킷을 전달하는 계층입니다.

 

Application Plane <-> Control Plane 사이의 연결을 Northbound Interface라고 하고, REST API와 같은 방식으로 요청합니다.

control Plane <-> Data Plane 사이의 연결을 Southbound interface라고 부르고, 대표적으로 OpenFlow와 같은 프로토콜을 사용합니다.

 

SDN 구현의 핵심은 southbound interface입니다. SDN을 대표하는 프로토콜도 OpenFlow입니다.

Openflow는 SDN을 구현하기 위해 최초로 제정된 표준 통신 프로토콜 입니다.

 

Openflow로 SDN을 구현하는 건 조금 오래된 방식이고, 최신에는 클라우드/Kubernates 패브릭 안에 SDN 아키텍처가 하위집합으로 개념이 들어가는 형태가 많습니다.

예를들어, 클라우드 VPC 방식도, SDN과 비슷한 역할을 합니다.

클라우드 VPC는 클라우드 안에서 가상의 라우터, 스위치, 방화벽을 소프트웨어로 만들 수 있는데, 이런 기능 자체가 SDN 아키텍처와 비슷합니다.

 

현대 대부분의 기업에서는 SDN을 직접 구성하는 경우가 있습니다.

https://www.samsung.com/sec/business/network/sdn/?utm_source=chatgpt.com

 

SDN | 무선랜 | 기업통신 | SAMSUNG BUSINESS 대한민국

삼성 SDN은 상용화(COT) 하드웨어 플랫폼에서 실행되는 소프트웨어 기반 솔루션으로 표준화된 인터페이스와 개방형 플랫폼을 사용하기 때문에 타사 하드웨어와 쉽게 통합하고, 하드웨어에서 네

www.samsung.com

SK나 LG같은 통신사와 연계해서 SDN을 구성하는 경우도 있고,

https://medium.com/naver-cloud/building-naver-cloud-platform-vpc-infrastructure-using-terraform-e0e18823e802

 

Building NAVER Cloud Platform VPC infrastructure using Terraform

Hello, this is NAVER Cloud Platform with another technical piece.

medium.com

네이버는 네이버 클라우드 VPC와 쿠버네티스를 통해서 구현을 합니다.

VPC를 기존에 다뤄본줄 알았는데, VPC가 아닌 VPS였더라고요, VPC도 따로 다뤄보도록 하겠습니다.

 

일단 이번 포스팅은 여기까지로 해서 마치겠습니다.

읽어주셔서 감사드립니다.