[스위치 계층 보안①] 2계층 보안의 필요성
상태바
[스위치 계층 보안①] 2계층 보안의 필요성
  • 공성철 인젠 컨설팅 본부 컨설팅 3팀 컨설턴트
  • 승인 2003.10.09 00:00
  • 댓글 0
이 기사를 공유합니다

오늘날 인터넷이 없는 생활은 상상하기도 어려운 일이다. 인터넷의 근간이 되는 TCP/IP 통신은 라우터, 스위치, 허브 등 TCP/IP 기반에서 동작하는 네트워크 장비들의 물리적 구성으로 이뤄져 있다. 이 가운데 각종 애플리케이션 서버, 3계층 동작의 라우터와 백본 스위치 등에 대한 보안 투자는 활발히 이뤄지는 반면, 2계층의 보안은 상대적으로 미비한 수준이다.

인터넷을 접속하고자 하는 사용자의 컴퓨터는 랜(LAN) 케이블을 통해 허브나 스위치로 연결되어 있으며, 허브나 스위치는 라우터와 연결되어 라우터가 제공하는 네트워크 경로에 따라 외부 네트워크와 연결된다. 이 때 스위치는 어떤 네트워크에도 설치되어 있고 쉽게 볼 수 있는 장비이기 때문인지, 스위치에 대한 보안은 큰 고민을 하지 않는 게 현실이다.

각종 애플리케이션 서버, 3계층 동작의 라우터와 백본 스위치 등에 대한 보안 투자는 활발히 이뤄지는 반면, 2계층의 보안은 상대적으로 미비한 수준이다. 서버, 라우터 등의 보안은 철저하지만 서버가 연결된 2계층의 침해가 발생한다면 서버가 100% 정상적으로 동작되더라도 서비스 장애는 발생할 것이다. 보안은 균형적으로 이뤄져야 한다.

2계층의 보안

OSI-7 레이어 모델은 통신하는 상호간의 정보가 없음에도 서로 다른 계층간에 동작할 수 있도록 설계됐다. <그림 1>은 호스트 A와 호스트 B간의 OSI-7 레이어 모델을 도식화한 것이다. 각 계층은 인캡슐레이션(encapsulation)과 디-인캡슐레이션(de-encapsulation)을 통해 상호 통신하게 된다.

<그림1> 호스트 A와 호스트 B간 OSI-7 레이어 모델

만약 2계층인 데이터 링크 계층의 침해가 발생할 때 그 영향으로 상위 계층으로 확산되어 상호 데이터 전송의 문제가 발생되는 ‘도미노 효과(Domino Effect)’ 현상이 발생한다. <그림 2>와 같이 2계층의 공격은 네트워크의 운영 및 응용프로그램 장애로 확대되므로 침해 영향을 최소화하기 위한 보안정책을 고민해야 한다.

<그림2> 도미노 효과

2계층의 공격은 장비 공격과 트래픽 흐름을 변경(traffic redirection)하는 네트워크 공격으로 크게 분류할 수 있는데, 장비공격은 스위치의 허술한 보안설정, 관리정책과 동작원리 등의 취약점을 이용한 공격이며, 네트워크 공격은 2계층의 통신원리를 이용해 불법적으로 트래픽 흐름을 변조하는 공격이다.

2계층 통신 원리

랜 환경의 호스트들은 두개의 주소를 가지고 있다. 하나는 MAC(Media Access Control) 주소로 네트워크 내의 각 노드를 구별할 수 있는 고유한 인식표로 생각할 수 있으며 네트워크 카드 내에 저장되어 있어, 호스트로부터 데이터를 전송하는 단위인 프레임으로 변화할 때 이더넷 프로토콜에 의해 사용되고, 다른 주소인 IP 주소는 애플리케이션에 의해 사용된다.

2계층에서 특정 호스트로 데이터를 전송할 경우 IP 주소를 사용하기보다 MAC 주소를 포함하고 있는 이더넷 헤더를 이용하므로, IP 주소를 네트워크 카드의 하드웨어 주소인 MAC 주소로 파악하는 과정이 필요하다. 데이터를 전송하는 호스트는 내부에 저장된 일종의 테이블에서 수신할 호스트의 MAC 주소 검색이 시작되며, 만약 해당 정보가 존재하지 않을 경우, 수신할 호스트의 정보를 네트워크 상에 브로드캐스트(broadcast)하게 된다. 이때 내부에 저장된 정보를 ARP 캐시라고 정의하며, 브로드캐스트된 정보를 ARP 리퀘스트라고 정의한다.

ARP 리퀘스트를 전송하는 호스트는 자신의 정보를 포함해 전달했으므로, 네트워크 내의 ARP 정보를 수신한 해당 호스트는 자신의 MAC 주소를 전송한 호스트로 알려주어 결국 데이터를 전송하는 호스트는 수신할 호스트의 MAC 주소를 파악하게 되어 통신하게 된다. 이렇게 IP 주소를 MAC 주소로의 변환하는 과정을 ARP라고 정의한다. <그림 3>은 ARP의 예이다.

<그림3> ARP 사례

패킷 스니핑

이더넷 환경은 공유된 이더넷(Shared Ethernet)과 스위치화된 이더넷(Switched Ethernet) 두 가지로 크게 구분될 수 있으며, 환경에 따라 스니핑 가능성은 차이가 있다. 패킷 스니핑을 위한 필수적인 요구사항은 네트워크 카드의 프로미스큐어스 모드(promiscuous mode)이다.

일반적으로 인터페이스 카드는 수신한 패킷들이 자신을 목적지로 하는 트래픽이 아닐 경우 폐기하지만, 프로미스큐어스 모드는 패킷 정보를 모두 수용하므로 네트워크 상의 모든 패킷을 수신할 수 있으므로, 사용 목적에 따라 악용될 가능성도 있다.

  • 공유된 이더넷 : 동일한 버스(bus)로 연결된 모든 호스트는 대역폭을 공유하게 된다. 이러한 경우 두 호스트간 데이터를 전송할 때, 해당 호스트뿐만 아니라 연결된 모든 호스트들에게도 데이터가 전송되는 문제점이 있다.

  • 스위치 환경 이더넷 : 허브 대신 스위치로 구성되어 있으므로 스위치 환경 이더넷이라 불린다. 스위치는 연결된 호스트들의 MAC 주소 정보와 해당 MAC 주소가 어떤 물리적인 포트에 위치하고 있는지 파악하고 있다. 이러한 스위치의 지능적인 기능으로 호스트간 통신을 할 때, 공유 이더넷 방식과는 달리 스위치가 목적지의 MAC 주소 정보를 검색해 물리적으로 연결된 포트로만 데이터를 전송하므로, 연결된 모든 호스트들에게 데이터를 전송하지 않는다.

    패킷 스니핑의 보안 위협

    보안상 패킷 스니핑의 문제점은 공격자가 네트워크 상의 데이터를 수집하여, 분석할 수 있다는 것이다. 자주 이용하는 프로토콜 중 텔넷, SNMP, POP, FTP, IMAP, NNTP 등은 데이터의 내용이 평문(clear text)이므로 계정, 패스워드 등의 주요 정보가 유출될 위험이 매우 크다. 근래 의사소통 및 업무용으로 활성화된 IM(Instance Messenger) 역시 통신하는 내용이 평문으로 전송되므로 개인정보의 유출의 위협이 존재한다.

    유닉스 계열의 스니핑 툴은 Tcp dump, Ethereal, Dsniff, Snort, Sniffit와 Trinux 등과 윈도 계열의 스니핑 툴인 Ethereal, Windump, Network Associates Sniffer, EtherPeek, Analyzer 등 무수히 많은 툴들이 존재하며, 툴들의 지능화로 디코드(decode) 기능이 보강되어 전문적인 사전지식 없이도 수집된 데이터들을 쉽게 분석, 파악할 수 있다. 디코드 기능이란 스니퍼의 각 패킷단위로 수집한 내용을 조합해 완전한 데이터로 복원하는 기능이다. 예를 들어 텔넷의 패스워드가 abc라고 가정하면 스니퍼를 이용하여 볼 수 있는 내용은 a, b와 c 각각 보이지만, 디코드 기능을 이용하면 abc를 모두 조합시켜 보여준다. 이것은 수집된 수많은 패킷들을 사용자가 하나하나 찾아서 조합하는 과정을 툴이 자동적으로 해결해 준다는 편이성을 제공한다.

    패킷 스니핑의 보안 대책

    첫 번째, 공유된 이더넷 환경인 허브(HUB)를 사용하는 구성에서는 반드시 스위치 장비로 교환해야 한다. 네트워크 규모 및 운영 특성에 맞게 소호형의 저가형 스위치부터 대용량, 고성능의 고가형 스위치까지 매우 다양하므로 적절히 선택할 수 있다. 스위치의 교환으로 스니퍼만을 이용한 단순한 스니핑의 위협에서 해방될 수 있다.

    두 번째, 스위치화된 이더넷 환경이라도 안전하지는 않다. 왜냐하면 스위치를 공격해 스니핑이 가능하도록 하는 MAC 플루딩, ARP 스푸핑 등의 공격 방법들이 있다. 네트워크 관리자는 프로미스큐어스 모드로 운영되는 네트워크 카드가 존재하는지, 혹은 공격 여부에 대해 주기적인 파악이 필요하다.

  • 핑 방법 : 의심되는 호스트로 핑 리퀘스트를 전송한다. 정상적인 호스트라면 MAC 주소가 해당하지 않으므로 응답이 없어야 하지만, 프로미스큐어스 모드의 공격 호스트는 MAC 주소의 비교로 패킷을 폐기하지 않으므로 응답을 전송한다. 하지만 이 방법은 오래된 방법이고, 근래에는 신뢰할 수 없는 방법이다.

  • ARP 방법 : 호스트는 ARP 정보를 캐시(임시저장)한다. 논-브로드캐스트(non-broadcast) ARP를 전송하면, 프로미스큐어스 모드의 공격 호스트는 ARP 주소를 캐시하고, 다시 IP와 함께 핑 패킷을 브로드캐스트하는데, 이때의 MAC 주소는 전과 다르다. 오직 공격자의 호스트만이 스니핑된 ARP 정보를 통하여 정상적인 MAC 주소로 응답을 줄 것이다.

  • 로컬 호스트의 검사: 만약 특정 호스트가 공격으로 인해 프로미스큐어스 모드로 운영될 가능성도 존재한다. ifconfig 명령을 통해 확인할 수 있다. 프로미스큐어스 모드로 동작하고 있다면 ‘RUNNING PROMISC’라는 문구를 확인할 수 있다.

  • 지연 방법 : 이 방법은 매우 단순한 원리로 대부분의 스니퍼는 파싱(parsing)을 하고 있다는 점에 착안해 네트워크 상에 대용량의 데이터를 전송하고 의심되는 호스트로 데이터 전송전과 전송하는 동안 핑 체크를 한다. 만약 호스트가 프로미스큐어스 모드라면, 대용량의 데이터를 파싱해야 하므로 부하가 증가하여 핑 패킷에 대한 응답시간이 늦어질 것이다. 단 이 방법은 네트워크로 인한 지연시간 등 환경적인 요소가 많으므로, 결과에 대한 폴스 포지티브(false-positive) 가능성도 존재한다.

    세 번째, 스니핑 탐지 전용 툴을 활용해야 한다. ARP 와치(MAC 주소와 IP 주소를 비교, 모니터링하고 있으며, 중복되는 경우 탐지하여 알람 등을 출력), Anitsniff(스니퍼 탐지 툴), CPM(Check promiscuous mode), Neped(네트워크 상에 패킷 스니퍼의 동작을 탐지) 등 스니핑 탐지 전문 툴을 활용함으로써 불법적인 공격자를 탐지할 수 있으며, 효과적인 방법이라 할 수 있다.

    네 번째, IDS를 활용하라. 스니핑 뿐만 아니라 여러 가지 공격에 대한 효과적인 보안대책이다. IDS는 침입탐지시스템으로 스니핑 공격유형 뿐만 아니라 다수의 공격에 대해서도 탐지할 수 있다. 대부분 상용과 비상용 제품이 있다.

    다섯 번째, 장비의 보안설정을 강화해야 한다. 각 네트워크 장비 벤더마다 제공하는 보안기능의 활성화 및 정확한 설정으로 공격의 가능성을 최소화할 수 있다.

    여섯 번째, 스니핑의 위협이 언제나 존재하고 있음을 상기하고, 주요 장비 혹은 시스템 접속시 SSL, SSH 등의 암호화 프로토콜을 이용함으로써, 공격자가 스니핑으로 데이터를 수집하더라도 암호화된 내용만을 볼 수 있으므로, 정보유출의 가능성을 줄 일 수 있다.

    마지막으로, 가장 중요한 점은 스위치화된 환경의 필수적인 패킷 스니핑 조건은 내부로의 물리적인 연결이 선행되어야 하는 점이다. 공격자는 반드시 랜 케이블로 해당 네트워크로 연결되어야 하므로 물리적 공간의 출입통제 및 네트워크의 관리적 보안이 근본적인 보안대책이 될 수 있다.


    댓글삭제
    삭제한 댓글은 다시 복구할 수 없습니다.
    그래도 삭제하시겠습니까?
    댓글 0
    댓글쓰기
    계정을 선택하시면 로그인·계정인증을 통해
    댓글을 남기실 수 있습니다.