본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

보안

SDN 적용 시 보안 고려 사항은?

2019.05.16

지난 10년 전만 해도 네트워크는 음성, 데이터, 방송 등 모든 사용자 서비스를 인터넷망에서 통합 지원할 수 있는 대용량 고품질 스위칭 및 전달 하드웨어 기술 위주로 발달해 왔습니다.

그러나 스마트폰으로 촉발된 무선 데이터의 폭발적인 증가와 최근 몇 년 전부터 빅데이터, 사물인터넷(IoT), 클라우드 컴퓨팅 등 새로운 IT 트렌드가 등장하면서 데이터 폭증 및 트래픽 변화(NorthSouthBound → EastWestBound), 서버 가상화 기술 발달, 클라우드 컴퓨팅 확산 등으로 네트워크 트래픽 등을 효율적으로 처리하기 위한 다양한 비즈니스 요구 증가 등을 가져왔습니다.

글로벌 네트워크 기업 시스코가 조사해서 발표한 전 세계 IP 트래픽은 2014년에서 2019년 사이 3배가량 증가할 것이라고 전망했으며, IT 시장 분석 및 컨설팅 기관인 한국IDC는 국내 SDN 시장이 향후 5년간 연평균 56.6%에 이르는 성장세를 보일 것으로 예측했습니다.

이러한 트래픽의 동적 변화에 효율적으로 대응하고 고품질의 서비스 유연성을 제공할 수 있는 네트워크 기술이 바로 ‘소프트웨어 정의 네트워크’라 일컬어지는 SDN(Software Defined Network)입니다. 

SDN의 이해

소프트웨어 정의 네트워킹(Software Defined Networking: SDN)은 네트워크 제어 기능이 패킷 포워딩과 분리되어 직접 프로그래밍을 지원하는 새로운 네트워크 아키텍처입니다. 과거에는 개별 네트워크 장비에서의 제어 기능이 하드웨어에서 분리되지 않았지만, SDN에서는 접근 가능한 컴퓨팅 장치로 제어 영역이 분리되어 컴퓨팅 장치로 이주함에 따라, 논리적 또는 가상적인 실체로서 네트워크를 관리 및 제어하는 서비스가 이용 가능합니다.

아래 [그림 1]은 SDN 아키텍처의 논리적인 구조를 나타내고 있는데, 네트워크의 핵심적인 기능이 네트워크를 전체적으로 제어하는 소프트웨어 기반의 SDN 컨트롤러에 집중되어 있습니다. 따라서 네트워크는 하나의 논리적 스위치와 같은 응용 프로그램으로 나타납니다.

l 그림 1. Software Defined Networking(SDN)의 아키텍처 (출처: ONF White paper)

기업 및 통신 사업자는 크게 네트워크 설계 및 운영을 단순화하는 단일한 논리적 관점에서, 네트워크 공급 업체에 종속되지 않으면서 네트워크에 대한 통제 능력을 습득할 수 있습니다. 더는 수천 가지 이상의 프로토콜 표준을 이해하고 처리할 필요가 없고, 단순히 SDN 컨트롤러를 제어함으로써 SDN은 네트워크 장비를 단순화시킵니다.

특히, 네트워크 운영자 및 관리자는 분산된 다양한 네트워크 장비에서 수동적인 코드 라인의 입력을 통해 설정하는 것보다 프로그래밍 방식으로 보다 단순화해 네트워크를 설정할 수 있습니다.

IT 부서는 SDN 컨트롤러의 중앙 집중화된 지능을 활용해 실시간으로 네트워크 문제를 해결할 수 있으며, 새로운 애플리케이션과 네트워크 서비스를 배치하는데 소요되던 몇 주 또는 몇 달의 시간을 몇 시간 또는 며칠 사이로 줄일 수 있습니다.

네트워크를 제어 계층에 중앙 집중화함으로써, SDN은 네트워크의 설정, 관리, 보안 등에 있어 관리자에게 유연성을 제공하고, 역동적이고 자동화된 SDN 프로그램을 통해 네트워크 리소스를 최적화할 수 있습니다. 그리고 네트워크 공급 업체 고유의 특징 또는 네트워크 장비 분야에서 폐쇄적인 소프트웨어 환경과는 개별적으로 사용자가 프로그램을 스스로 작성할 수 있습니다.

l 기존 네트워크 장비와 SDN 비교 
(출처: 정보통신산업진흥원 ‘미래지향 SDN 환경에서 국내 네트워킹 산업 경쟁력 확보를 위한 동향보고서’)

이와 같은 SDN 아키텍처는 라우팅, 멀티캐스트, 보안, 액세스 제어, 대역폭 관리, 트래픽 엔지니어링, 프로세서 및 스토리지 최적화, 서비스 품질, 에너지 사용량, 모든 형태의 정책 관리를 포함해 사용자가 비즈니스 목표에 부합하는 맞춤형으로 네트워크 서비스를 구현할 수 있도록 API의 집합을 제공합니다.

오픈 네트워킹 재단(Open Networking Foundation: ONF)은 주문형 자원 배분, 셀프서비스 프로비저닝, 가상 네트워킹 및 보안 클라우드 서비스를 시작하고, 다양한 공급 업체 관리를 촉진하기 위해 개방형 API(Open API)가 제공되고 있습니다.

따라서 SDN 제어와 애플리케이션 계층 사이에 있는 개방형 API를 사용함으로써 비즈니스 애플리케이션들의 수행을 위한 세부 사항에 얽매이지 않고, 네트워크 서비스와 기능을 활용하여 네트워크에서 작동할 수 있습니다. 

SDN 도입에 따른 효과

기업이나 통신 사업자에게 SDN은 네트워크를 불가피한 코스트 영역에서 경쟁력을 높일 수 있는 차별화 영역으로 변화시킵니다. OpenFlow 기반 SDN 기술은 IT 부서가 높은 대역폭과 최신 애플리케이션의 역동성 등에 대응하고, 계속 변하는 비즈니스 수요에 적응할 수 있게 해주며, 운영 및 관리상의 복잡성을 줄여 줍니다. 기업이나 통신 사업자가 OpenFlow 기반 SDN을 도입함에 따라 얻을 수 있는 이점은 다음과 같습니다.

첫째, 다수의 장비 공급자가 존재하는 환경에서 중앙 집중화된 제어가 가능합니다. SDN 컨트롤 소프트웨어는 스위치, 라우터, 가상 스위치 등 모든 벤더의 OpenFlow 지원 네트워크 장비를 제어할 수 있습니다. IT 부서는 벤더별 장비들을 개별적으로 관리하는 것이 아니라, SDN 기반의 조정(Orchestration) 및 관리 도구를 이용해서 신속하게 전체 네트워크에 걸쳐 장비들을 배치, 설정(Configure), 업데이트할 수 있습니다.

둘째, 자동화를 통한 복잡성이 감소합니다. OpenFlow 기반 SDN은 유연성 있는 네트워크 자동화와 관리 프레임워크(Framework)를 제공해서 아직 수동으로 작업하는 많은 일을 자동화할 수 있게 해줍니다. 이러한 자동화 도구들은 운용상의 간접비를 줄여 주고, 오퍼레이터 오류에 의한 네트워크 불안정도 줄여줄 수 있습니다.

이외에도 SDN으로 클라우드 기반 애플리케이션을 지능적인 조정(Intelligent Orchestration) 및 프로비저닝 시스템을 통해 관리할 수 있어 운용상의 간접비를 줄이면서 비즈니스에 대한 민첩성을 높일 수 있습니다.

셋째, 기업의 혁신을 촉진합니다. SDN의 채택은 IT 네트워크 운영자들이 특정 비즈니스 수요 또는 특정 사용자 요구에 맞춰 실시간으로 네트워크를 정확하게 프로그램하고, 재사용할 수 있으므로 비즈니스 혁신을 가속화합니다. SDN과 OpenFlow는 IT 부서에 빠른 시간 내에 네트워크 문제를 해결하거나, 새로운 서비스 및 새로운 네트워크 역량을 도입할 수 있는 능력을 제공합니다.

넷째, 네트워크 신뢰성과 보안성의 증가입니다. SDN은 IT 부서가 OpenFlow를 통해 인프라를 변화시킬 수 있는 높은 수준의 설정과 전략을 수립할 수 있게 해줍니다.

OpenFlow 기반 SDN 아키텍처는 서비스, 애플리케이션을 추가 및 이동하거나, 정책이 바뀔 때마다 매번 네트워크 장비를 각각 설정해야 할 필요 없이 구성이나 정책의 일관성 부족으로 네트워크가 다운될 가능성을 줄여 줍니다.

SDN 컨트롤러들이 네트워크에 가시성을 제공하고 네트워크를 제어할 수 있기 때문에 접속 제어, 트래픽 엔지니어링, 서비스 품질, 보안, 전략 시행이 가능해지며, 지점들, 캠퍼스, 데이터 센터 등을 포함한 유•무선 네트워크 인프라에 걸쳐 다양한 정책들이 일관성 있게 적용될 수 있습니다. 특히, 기업이나 통신 사업자들은 이를 통해 운용 비용을 줄이고, 더욱 역동적인 설정 능력을 시현할 수 있고, 오류는 줄이고, 일관성 있는 설정과 전략 시행 등이 가능해집니다.

다섯째, 좀 더 정교한 네트워크 제어가 가능합니다. OpenFlow 기반 제어 모델은 IT 부서가 정책들을 세션, 사용자, 도구, 애플리케이션 수준 등을 포함해 더욱 정교한 수준에서 매우 추상적이며, 자동화된 방식으로 적용할 수 있게 해줍니다. 이 제어 기능은 고객들이 같은 인프라를 공유할 때, 클라우드 서비스 운용자에게 트래픽 격리(Isolation), 보안, 탄력적인 자원 관리를 할 수 있도록 하는 한편, 멀티테넌시를 지원할 수 있도록 합니다.

마지막으로 사용자는 좀 더 좋은 경험을 할 수 있습니다. SDN 인프라는 네트워크 컨트롤을 중앙 집중화시키고, 네트워크 상태 정보를 더 높은 수준의 애플리케이션에 이용할 수 있게 해줌으로써 사용자 요구에 더 역동적으로 잘 부응할 수 있습니다. 예를 들면, 현재 사용자들은 네트워크의 지원 유무를 모르는 상태에서 해상도를 선택해야 합니다.

그리고 이에 따른 지연과 중단은 사용자 경험을 저하시킵니다. 하지만 OpenFlow 기반 SDN으로 비디오 애플리케이션이 네트워크에서 쓸 수 있는 대역폭을 실시간으로 탐지해서 비디오 해상도를 자동 조절할 수 있어 사용자 경험을 높일 수 있습니다. 

SDN 활용 사례

지난 2016년에는 각 업체가 전 세계 곳곳의 SDN 구축 사례를 전하며 시장이 서서히 열리고 있음을 알렸고, 현재는 국내•외에서 많은 SDN의 활용 사례가 점차 증가하고 있습니다.

SDN 적용 시 많은 이점을 설명했지만, 실제로 SDN을 적용하고자 하는 경우, 빅뱅 형태로 적용하는 것은 다소 위험성이 따를 수 있습니다. 운영 경험이 부족한 상태에서는 오히려 독이 될 수도 있기 때문에, 최초에는 특정 네트워크 영역(상대적으로 중요하지 않은 영역)에 대해서 부분적으로 적용하고 일정 기간 운영 경험을 쌓고 점진적으로 전환하는 것을 추천합니다.

국내는 ETRI, SKT, 삼성전자 등이 ONF에 참여하고 있으며, SDN 신생 기업(아토리서치, 나임네트워크 등) 및 네트워크(파이오링크, 다산 네트워크 등) 시장이 정부, 민간 투자가 증가하고 있고, 최근 통신사를 중심으로 SDN 도입 활발히 진행되고 있습니다.

1) 공공기관

  • 국토연구원이 세종특별자치시 신청사 네트워크를 공공기관과 기업을 통틀어 사내 업무용 네트워크 전체를 SDN으로 구축함.

2) U+

  • NETCONF/YANG(넷콘프/양)이라는 SDN 표준을 인터넷 백본망에 노키아와 함께 구축함으로써 중앙 집중식으로 모든 네트워크 인프라를 통합 제어할 수 있도록 함.
  • 대용량 트래픽 처리가 필요한 WAN(Wide Area Network)이나, 서버가 많은 데이터 센터 네트워크, 높은 수준의 보안이 요구되는 네트워크 등 운영하는 네트워크의 목적에 따라 SDN을 지속해서 고도화 진행 중. 

3) KT

  • SDN을 적용한 기업을 대상으로 통합 자동화 솔루션 선보임. 지능화 자동화 기술을 접목해 즉각적인 서비스 제공 시스템을 구성하고 기업 요구에 따른 네트워크 구성, 변경, 제어 등을 빠르게 구현하는 기능 제공.
  • 국가연구시험망을 100% SDN 구축이 진행되고 있음.

4) SKT

  • SDN 기반으로 기존 데이터 센터 네트워크를 재구축하는 솔루션(Simplified Networking Architecture: SONA)을 개발하여 자사 적용을 추진함.
  • IoT 서비스망에 vEPC/vIMS 기술을 적용하였고 전송망 일부에 T-SDN 적용하고 다양한 R&D 추진함.
  • OpenFlow 기반의 하이브리드형 SDN 스위치를 개발했으며 다양한 SDN 장비를 노키아와 공동 개발하여 인터넷 백본망에 적용하고 있음, 최근 에릭슨, 유비쿼스 등 국내외 장비 제조사와 협력해 애플리케이션 기반 네트워크 솔루션 구축에 힘쓰고 있음.

국외의 경우 구글, 아마존, 페이스북, 마이크로소프트 등 시장의 주요 기업들은 각자의 데이터 센터 및 광역망(WAN) 관련해 SDN에 방대한 투자를 독자적으로 진행하고 있으며 IoT, 5G 서비스에 대한 수요와 SDN에 대한 관심이 높아지면서 글로벌 벤더들도 기존의 수익 구조를 잃지 않으면서 SDN 환경으로 전환하기 위해 다양한 노력을 기울이고 있습니다.

구글은 ‘지 스케일(G-Scale) 프로젝트를 통해 전 세계에 흩어져 있는 자사 데이터 센터 백본(Backbone) 구간을 전부 SDN 기반 라우터와 스위치로 구축해 특정 네트워크 업체의 제품이 아닌 필요한 기능들만 담아낸 자체 개발 장비를 사용해 90% 이상의 네트워크 트래픽 효율성을 끌어올렸습니다. 

SDN의 보안 취약점

모든 네트워크를 관리하는 컨트롤러 플레인에 대한 서비스 거부(DoS) 공격이 발생할 수 있습니다. 현재는 SDN 스위치가 판단하기 힘든 패킷에 대해 반드시 SDN 컨트롤러에 물어보고 올바른 경로를 설정하도록 되어 있습니다.

만약 공격자가 이 방법을 악용해 컨트롤러 플레인에 지속적으로 질문을 요청하는 방법으로 DoS 공격을 시도하면 SDN으로 구성된 전체 네트워크가 마비되는 사고가 발생할 수도 있습니다. 이러한 문제들을 ONF 시큐리티 워킹 그룹에서는 ‘SDN 침투 테스트 툴(SDN Penetration Testing Tool)’을 개발 중입니다.

SDN 환경에서 발생할 수 있는 여러 가지 취약점들에 대해 자동으로 점검할 수 있는 툴로 퍼징 기법을 통해 알려지지 않았던 새로운 취약점들에 대해서까지 대응할 수 있도록 한다는 방침입니다.

이 밖에도 카이스트 네트워크 및 시스템 보안연구팀인 ‘NSS 팀’과 비영리 연구그룹인 SRI 인터내셔널 소속 연구원들은 ‘SDN시큐리티(sdnsecuity.org)’라는 단체를 만들어 OpenFlow에서 나올 수 있는 여러 가지 보안 취약점에 대한 연구, 대응 방법 등에 대한 프로젝트를 진행 중입니다.

퍼징 기법은 공격에 사용되는 수법들의 순서를 바꾸거나 여러 가지 다른 값들을 임의로 바꾸는 방법으로 알려지지 않은 취약점을 찾아내는 기술입니다.

● 컨트롤러 취약점

SDN은 컨트롤러를 통해 네트워크의 흐름을 제어할 수 있고 이를 통해 네트워크를 단순화할 수 있는 것입니다. 그러나, 컨트롤러로 인해 발생 가능한 보안 문제점은 다음과 같습니다.

첫째, 컨트롤러가 악성코드에 감염된 사례입니다. 만약 컨트롤러가 악성코드에 감염이 된다면 공격자는 프로그램을 재설치해 네트워크상에 있는 데이터 스니핑(sniffing) 또는 드로핑(dropping) 할 수 있을 것입니다.

둘째, 관리자가 나쁜 의도를 가졌을 경우입니다. 컨트롤러의 룰을 작성하는 관리자가 나쁜 의도를 가지고 컨트롤러의 룰을 변경한다면 네트워크가 정지될 수도 있으며 정보를 유출할 수도 있을 것입니다.

셋째, Control plane과 Data plane 사이의 DDoS 공격입니다. 이 공격은 컨트롤러가 정상적으로 데이터 계층에 지시를 내리지 못하여 하여 정상적인 작동을 방해합니다.

● OpenFlow 취약점

OpenFlow는 SDN의 대표적인 인터페이스로서 Control plane과 Data plane 사이의 가교 역할을 통해 원활히 SDN 네트워크가 작동되게 하는 중요한 역할을 하고 있습니다. 하지만 이 역시 악성 공격에 취약한 면이 있습니다.

첫째, MAC 주소, IP 주소, 포트 등 네트워크 통신과 관련된 정보를 속여 공격 대상자의 정보를 획득 또는 정상적인 서비스를 제공하지 못하게 하는 공격하는 스푸핑(spoofing) 공격이 있습니다. 이러한 공격 기술을 OpenFlow에 적용한다면 공격자가 컨트롤러인 것처럼 행동해 OpenFlow 스위치의 행동을 조작하고 데이터 스니핑 혹은 드로핑 공격을 할 수 있으며 네트워크 자체를 정지시킬 수도 있습니다.

둘째, 시스템의 정상적인 기능을 변경하여 보안 기능의 약화를 초래하거나 기능을 하지 못하게 하는 공격으로서 OpenFlow를 통해 Data plane의 장비들이 이상 동작하게 만드는 Tampering 공격이 있습니다.

셋째, 통신의 모든 또는 부분에 관여해 송수신 사실을 부인하는 공격인 Repudiation 공격이 있으며 이 역시 OpenFlow를 통해서 조작이 가능합니다.

넷째, 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 만들어 정상적인 동작을 하지 못하게 하는 분산 서비스 거부 공격(DDoS: Distributed Denial of Service)이 있습니다. 만약 이러한 공격을 통해 OpenFlow 스위치에 위조된 패킷을 대량으로 전달한다면 SDN 네트워크는 과부하가 걸려 정상적인 작동이 제한될 것입니다.

다섯째, 시스템을 속여 임의로 인증되지 않은 권한을 갖도록 하는 권한 상승 공격이 있으며 이 역시 OpenFlow 상에서 가능한 공격입니다.

위와 같이 SDN은 기존의 네트워크를 효율적으로 운영하기 위해 Control plane과 Data plane으로 나누어 관리하고 있지만 이로 인해서 보안 취약점이 발생하는 것을 알 수 있으며 그 밖에 SDN은 Transport Layer Security(TLS) 보안 프로토콜 적용 시 발생하는 속도 지연으로 인해 TCP를 사용함으로써 중간자 공격 등에 취약합니다. 

SDN 적용 시 보안 고려 사항

SDN은 Control plane과 Data plane을 구분함으로써 네트워크 구조를 단순화시켰으며 컨트롤러를 통해 네트워크를 통제함으로써 효율성을 극대화했습니다. 또한 애플리케이션을 제작, 적용할 수 있어 사용자의 요구에 맞는 네트워크 환경을 구성할 수 있습니다.

하지만 SDN도 이미 기술한 바와 같은 취약점이 있습니다. 이를 해결하기 위해서는 다음과 같은 조치가 필요합니다. 또한, 실제 SDN 적용 시 전문가의 조언, 전문 업체 컨설팅을 통해 레거시 네트워크의 구성 환경과 비즈니스의 특성을 충분히 파악해야 하며 안전한 보안 설정으로 내외부의 위협으로부터 시스템 및 서비스를 보호할 수 있습니다. 다음 사항은 SDN 적용 시 가장 기본적으로 적용해야 할 보안 고려 사항을 제시했습니다.

  • 컨트롤러가 악성코드에 감염이 되지 않도록 IDS/IPS를 Control plane과 Data plane에 두어 방어할 수 있도록 해야 한다.
  • 컨트롤러 프로그램이 의도하지 않게 변경되었을 시는 자동으로 시스템을 재부팅 시키고 이전으로 돌아갈 수 있는 시스템을 만들어야 한다.
  • SDN 네트워크에 적합한 보안 프로토콜의 개발이 필요하다. (TLS를 사용할 때 네트워크의 과부하가 걸린다는 이유로 현재 SDN에 TLS를 사용하지 않은 상태로 TCP를 사용해서 서로를 확인하고 있다. 따라서 Control plane과 Data plane 사이에서 가능한 보안 프로토콜을 개발하여 이를 보완해야 한다.)
  • Open-Switch의 보안성을 강화하는 방안으로 악성코드를 자체적으로 방어할 수 있는 시스템을 갖춰야 한다.
  • 단일 장비 구성으로 운영 중 장비가 장애 발생 가능성이 있으므로 SDN 네트워크 장비 이중화 구성을 해야 한다.
  • 재해 또는 장애 발생 시 복구를 위한 별도 네트워크 구간 구성해야 한다.
  • 벤더에서 권고하는 최신•긴급 보안 패치 및 업데이트 적용해야 한다.
  • 용도별 네트워크 구간이 분리되지 않아 침해 사고 발생 시 전체 네트워크가 위험에 노출될 가능성 있으므로 별도 IP 대역으로 논리적인 분리 구성을 해야 한다.
  • SDN 네트워크 범위 내 개발, 테스트, 운영 서버는 별도로 분리하여 운영해야 한다.
  • 중요 정보가 보관된 서버 구간과 일반 서버 구간의 분리 및 접근통제를 수행해야 한다.
  • 사용자 단말에서 주요 서버 접근 시 해당 사용자의 권한에 맞는 접속만 허용해야 한다.
  • 분리된 네트워크 구간 내 접근통제를 거치지 않는 우회 경로가 없도록 구성해야 한다.
  • 장비 Default 계정, 비밀번호 변경 또는 삭제를 수행해야 한다.
  • 관리자, 운영자 1인 1계정 생성 및 역할별 권한 지정을 해야 한다.
  • 비밀번호 복잡도 설정 및 최소 분기 1회 이상 변경 설정, 관리자•일반 사용자는 동일 비밀번호 사용이 금지되어야 한다.
  • 강화된 인증을 통해 고유 계정 인증 강화, 권한 부여 계정의 행위 로그 관리해야 한다.
  • SDN 네트워크 장비의 운영 기록을 로깅 함으로써 이상 발생 시 로그를 통해 원인 분석이 가능하도록 설정해야 한다.
  • 장비 구성 정보 APIC 정책 및 로그 백업을 수행해야 한다.
  • APIC Controller 정책 생성, 변경, 삭제 내역 기록 보관해야 한다.
  • 관리자 정책과 관련된 작업 시 내부 절차를 준수하고, CLI 명령어 및 GUI 레벨 행위 기록을 해야 한다.
  • 장비 장애, 이벤트 모니터링 수행해야 한다.
  • SNMP Community String 복잡성 설정 및 장비 보안 접속(SSH, HTTPS)을 해야 한다.
  • 정비 원격 접속 통제, 접속 성공•실패 로깅, 세션 타임아웃 설정 및 NTP 설정 등을 해야 한다.

글 l LG CNS 보안컨설팅팀

챗봇과 대화를 할 수 있어요