지난 연재에서 네트워크와 시스템의 모니터링 개요와 중요성, 그리고 몇몇 도구를 이용한 모니터링 방법론에 대해 살펴보았는데, 이번 연재에서는 '모니터링으로 강화하는 네트워크 시큐리티'를 주제로, 최근 관심이 증대되고 있는 트래픽 모니터링과 플로우(Flow) 기반 분석 방법론에 대해 살펴보도록 하겠다.
박광청 | 인큐브테크 정보보안컨설팅 과장
일정 규모 이상의 네트워크를 운영하고 있는 사이트에서 최근 가장 이슈가 되고 있는 것 중 하나가 비약적으로 증가하는 유해 트래픽으로, 이는 외부로부터 행해지는 직접적인 해킹이나 공격 패킷 뿐 아니라 환경설정 오류나 웜/바이러스, P2P 애플리케이션 등 매우 다양한 원인으로 발생하고 있다.
유해 트래픽은 정상적인 네트워크 운용이나 서비스 운영을 방해하는 악의적 공격성 패킷과 웜/바이러스, 그리고 최근 유행하고 있는 P2P 애플리케이션 등으로 분류할 수 있는데, 이같은 트래픽의 급속한 확산은 네트워크에 직접적인 피해를 유발할 뿐 아니라, 최근에는 내부 정보 유출로까지 이어지고 있어 심각성이 나날이 증가하고 있다.
특히, 내부의 특정 시스템에서 발생하는 과도한 트래픽으로 인한 패킷 로스(Packet Loss) 등으로 인해 전체 네트워크가 불안정하게 동작하거나 영향을 받는 사례가 최근 들어 자주 발생하고 있다. 이는 대개 은밀히 설치된 웜/바이러스나 백도어에 의한 경우가 많으며 이런 현상은 최근 중요성이 부각되고 있는 내부 네트워크 구간에서의 보안과 밀접한 연관이 있다.
① 사례 1
A사는 비즈니스의 특성상 정직원 외에도 프로젝트 파견 근무자와 계약직 근무자가 다수 근무하고 있는데, 최근 내부 네트워크 구간에서 웜/바이러스 감염으로 인한 네트워크와 애플리케이션 서비스에 장애가 자주 발생하고 있다.
일반적으로 이같은 문제의 원인은 외부 직원들의 노트북에서 발생하는 경우가 많아, 임시방편으로 스위치에서 해당 포트를 분리한 후 웜/바이러스를 치료해 해결하고 있는데, 문제는 장애 시스템을 찾아 처리하기까지 많은 시간이 소요되고 있다는 것이다.
특히 최근에는 내부 애플리케이션 서버가 종종 타깃이 되고 있으며, 제한적으로 설치된 무선 네트워크 구간을 경유한 위협도 감지되고 있는데, 네트워크 경계 부분에 설치된 파이어월, 바이러스월, IDS 등은 안정적으로 동작하고 있지만, 이런 문제 해결에는 큰 도움이 되지 않는 것으로 보인다.
② 사례 2
B사는 전사적으로 PMS(Patch Management System)를 도입해 보안 업데이트나 최신 패치가 설치되지 않은 시스템은 네트워크에 연결해도 인터넷 연결이 되지 않도록 구성해 보안 패치 미설치로 인해 발생하는 많은 이슈를 해결하고 있었다.
그러나 최근에 이미 웜/바이러스에 감염된 외부 사용자의 노트북이 네트워크에 연결되면서 네트워크가 불안정하게 동작했는데, 이를 인식하고 장애원인 파악과 해결까지 많은 시간이 소요됐다.
③ 사례 3
C사는 본사와 5개의 지사를 운영하고 있으며, 본사와 지사는 프레임릴레이 전용회선으로 구성되어 있는데, 최근 특정 지사에서 발생하는 유해 트래픽으로 인해 전체 네트워크가 불안정하게 동작하는 사례가 빈번하게 발생하고 있다.
이같은 사례들은 네트워크 관리자라면 누구나 경험했을 정도로 최근 빈번하게 발생하고 있는 보안 이슈다. 이처럼 유해 트래픽 발생으로 인해 전체 네트워크의 불안정한 동작이 감지됐을 경우 가장 먼저 선행돼야 할 것은 정확한 장애 원인 파악이다.
이런 유해 트래픽의 발생지와 원인 분석 작업에는 IDS/IPS와 NMS, MRTG, 스니퍼, 보안스캐너와 같은 다양한 보안 도구들이 이용될 수 있지만, IDS/IPS와 같은 보안 솔루션은 네트워크 경계지점에 설치되기 때문에 내부 네트워크 구간 보안 이슈에 대해서는 기능이 제한적이며, 스니퍼나 보안 스캐너는 사후 분석에 가까운 도구다.
또한, MRTG나 SNMP를 활용한 트래픽 모니터링은 전체 네트워크의 변화나 추이 분석에는 효과적이지만, 관리자가 필요로 하는 과도한 트래픽을 유발하는 특정 호스트 검색이나 전체 트래픽에서 특정 서비스/애플리케이션 분류나 분석과 같은 세부적인 정보 제공은 불가능하다.
최근의 네트워크 트래픽은 웹, FTP, 전자우편 등과 같은 일부 애플리케이션 중심이었던 과거와는 달리 온라인 게임, 뱅킹, VOD, VoIP 등의 새로운 애플리케이션과 프로토콜의 출현으로 인해 매우 복잡해지고 세분화되는 경향을 보이고 있다.
특히 과도한 트래픽 유발이나 세션을 생성하는 유해 트래픽의 경우, 네트워크 자원 낭비 뿐 아니라 시스템 오동작 유발과 다른 시스템 감염 등을 통해 전체 네트워크 장애로 이어질 수 있기 때문에 트래픽, 보안 관리는 더욱 중요시되고 있다.
이런 경향을 반영해 최근에는 트래픽 모니터링의 패러다임이 이상 트래픽 모니터링과 현황 분석을 통해 유해 트래픽의 발생지/목적지 확인과 현재 보안 위협수준 정의, 그리고 자동화된 대처를 통해 안정적인 네트워크/서비스 가용성을 확보하는 쪽으로 변화하고 있다.
과거에는 트래픽 관리 작업이 주로 MRTG나 NMS를 이용해 전체 트래픽을 모니터링 하고 장애 발생시 신속한 복구와 처리 등 사후 관리에 집중됐었다. 하지만, 점차 네트워크 주요 지점에서 수집된 세부 정보를 바탕으로 장애가 발생하기 전 사전 감지와 자동화된 제어와 같은 능동형 솔루션으로 발전하고 있다.
유해 트래픽 발생이나 하드웨어/소프트웨어 장애로 인해 네트워크에 이상 현상이 감지될 경우, 신속한 원인 파악과 즉각적인 대처를 위해서 필수적으로 요구되는 정보는 다음과 같다.
? 가장 많은 트래픽을 유발하는 호스트 정렬(Top N)과 실시간 현황 모니터링
? 전체 트래픽에서 프로토콜(TCP, UDP, ICMP 등)별 트래픽 분류 기능
? 전체 TCP 트래픽에서 각 애플리케이션(HTTP, SMTP, POP3)별 트래픽 분류 기능
? 전체 트래픽에서 PPS(Packet Per Second)와 FPS(Flow Per Second) 추이 분석
? 전체 네트워크에서 P2P 애플리케이션 운용 현황과 점유 대역폭
이같은 정보는 전체 트래픽 정보만을 제공하는 MRTG나 SNMP만으로는 구현할 수 없기 때문에 별도의 모니터링 시스템이 필요하다. 전체 네트워크 트래픽에 대한 상세한 모니터링을 위해서는 모든 트래픽이 통과하는 백본 네트워크 구간에 탭(Tap)이나 프로브(Probe)를 설치하거나 백본 라우터에서 제공하는 플로우(Flow) 정보를 이용할 수 있다.
현재 이런 기능을 전문적으로 수행하는 솔루션은 트래픽 감지시스템이나 TMS(Threat Management System)와 같은 상용 솔루션과 몇몇 공개용 도구들이 있다. 이번 연재에서는 Ntop(Network Top)과 시스코 장비에서 제공하는 넷플로우(NetFlow) 기능을 이용래 네트워크 트래픽을 분석하기 위한 방법을 살펴보겠다.
NTop
NTop(Network Top)은 대표적인 오픈 소스 진영의 네트워크 트래픽 모니터링 도구로, 실시간으로 전체 네트워크 상황에 대한 상세한 정보를 제공하므로 네트워크 관리자나 보안 관리자에게 매우 유용한 도구다.
Ntop은 유닉스/리눅스 뿐 아니라 원도우 플랫폼까지 지원하며, 관련 파일은 웹사이트 (www.ntop.org)에서 다운로드 받을 수 있는데, 윈도우용 Ntop은 현재 상용이므로 기능 제한이 있는 데모 버전만 제공되고 있다.
NTop은 터미널 방식과 웹 방식 두 가지 환경을 지원하지만, 실제 트래픽 분석 작업에는 다양한 분석 정보와 리포팅 기능을 제공하는 웹 방식이 많이 사용된다. Ntop을 이용해 모니터링하고 분석할 수 있는 정보는 (표 2)와 같다.
Ntop은 현재 네트워크에서 트래픽, 호스트, 네트워크 대역폭, VLAN, NetFlows 정보 뿐 아니라, 전체 네트워크 혹은 호스트 별로 상세 트래픽과 프로토콜 분류 기능 등 다양한 정보를 제공하는데 몇 가지 예를 살펴보면 다음과 같다.
① 패킷 정보 모니터링
전체 네트워크 트래픽에 대한 모니터링 메뉴에서 트래픽 종류와 현재 패킷 크기에 대한 통계 정보를 얻을 수가 있으며 전체 네트워크 트래픽에서 브로드캐스트 패킷과 64바이트 이하의 작은 크기의 패킷이 높은 비율을 유지하고 있는 것을 알 수 있다(화면 4).
네트워크 내부에 과도한 브로드캐스트 트래픽이 발생하고 있거나, 64바이트, 128바이트 미만의 작은 크기의 패킷 비율이 높은 것은 네트워크의 물리적 구성에 문제가 있거나, 1차적으로 웜/바이러스나 포트 스캔, P2P 애플리케이션에 의한 과도한 트래픽 발생 가능성을 의심해 볼 수 있다.
② 프로토콜 분류
(화면 5)는 전체 네트워크 트래픽을 프로토콜 별로 분류한 것으로 UDP 트래픽 비율이 비정상적으로 높은 것을 알 수 있는데, 세부 정보에서 UDP 프로토콜을 사용하는 DHCP-BOOTP와 NetBIOS 관련 세션이 대부분을 차지하고 있는 것을 알 수 있다.
네트워크 환경에서 TCP 트래픽을 훨씬 상회하는 과도한 UDP 트래픽 분포는 정상적인 네트워크 흐름과는 다소 차이가 있는데 이같은 결과로 미뤄볼 때, 내부 네트워크 구간에서 동적 IP 설정과 관련된 불필요한 트래픽이 과도하게 발생하고 있음을 짐작할 수 있다.
③ 네트워크 부하 정보
네트워크 부하 기능을 이용하면 날짜별, 시간별로 전체 네트워크 부하 정보의 모니터링이 가능한데, 정상적인 패턴을 벗어나는 이상 트래픽이 감지될 경우, Ntop에서 제공하는 호스트별 상세 트래픽 사용량이나 서비스/프로토콜 추이 분석을 통해 유해 트래픽에 대한 세부 정보 분석이 가능하다.
④ 호스트별 네트워크 트래픽 분류
네트워크의 전체 호스트를 대상으로 트래픽을 분류한 것으로 내부 네트워크와 외부 네트워크를 기준으로 하여 일정 시간 동안에 네트워크 대역폭을 가장 많이 점유한 호스트를 검색하고 사용 프로토콜에 대한 통계 정보를 제공한다.
Ntop은 네트워크 전체 트래픽을 모니터링하고 분석하기 위한 유용한 도구지만 Ntop의 Web GUI 인증 기능은 보안에 매우 취약하므로 주의가 필요하다. 만일 Ntop을 기본(Default) 상태로 운영할 경우 3000/TCP 포트로 별도의 인증 절차 없이 로그인할 수 있다.
실제로 구글(Google) 등의 검색 엔진에서 적절한 검색어를 입력하면 손쉽게 Ntop 메인 페이지로 접속할 수 있는 사이트를 검색(Google Hacking)해 로그인 할 수 있는데, 이는 내부 네트워크/시스템 정보 뿐 아니라 운용중인 애플리케이션 정보까지 외부에 그대로 노출되는 것을 의미하므로 매우 위험하다.
따라서 네트워크 트래픽 모니터링을 위해 Ntop을 운영할 경우에는 파이어월의 패킷 필터링이나 아파치 웹 서버의 인증 프로세스를 이용하거나 별도의 사설 네트워크를 구성해 외부에서의 불법적인 접근을 통제해야 한다.
플로우 기반 모니터링 기법
플로우(Flow)는 두 종단(End Point) 간의 패킷 집합을 의미하며, 일정 시간 동안의 출발지 IP, 목적지 IP, 출발 포트, 목적 포트 및 프로토콜 등과 같은 항목으로 정의되는데, 최근 네트워크 트래픽 분석에 있어 관심이 증대되고 있는 것 중 하나가 이런 플로우(Flow)를 이용한 모니터링 기법이다.
네트워크 트래픽을 플로우 기반으로 분류하면 패킷 레벨에서는 불가능한 세부적인 트래픽 분석이 가능할 뿐 아니라, 동일한 패턴을 단일 플로우로 저장하는 압축 효과가 있기 때문에 대용량 트래픽을 운용하는 네트워크 환경에서도 매우 효율적이다.
네트워크 환경에서 이같은 트래픽 플로우 정보를 얻기 위한 방법은 크게 두 가지가 있는데, 라우터나 스위치에서 생성된 플로우 정보를 받아오는 것과 모니터링 시스템 자체적으로 프로브와 같은 수집기를 이용, 트래픽 정보를 수집해 플로우를 생성하는 방법이 있다.
전자는 시스코의 넷플로우(NetFlow), 주니퍼의 cFlowd 등과 같은 네트워크 장비에서 제공하는 플로우 기능이나 플로우스캔(FlowScan)과 같은 도구를 이용하며, 후자는 트래픽 감지 시스템이나 TMS(Threat Management System)와 같은 상용 솔루션에서 많이 채택하고 있는 방식이다. 여기에서는 시스코의 넷플로우 기능에 대해 살펴보도록 하겠다.
시스코 라우터에서 트래픽 모니터링을 위해 많이 사용되는 방법이 IP Accounting과 NetFlow다. 트래픽 모니터링을 실시할 인터페이스에서 해당 기능을 활성화 한 후 명령어를 실행하면 된다(화면 8).
이 두 기능은 네트워크 장애 처리시 매우 유용한데, IP Accounting은 라우터의 CPU나 메모리에 부하를 주기 때문에 트래픽이 많은 곳에서 적용은 주의를 요하는데 비해, NetFlow는 장비에 부하를 거의 발생하지 않고 플로우 기반으로 현재 트래픽에 대한 세부적인 정보를 제공한다는 장점이 있다.
'sh ip cache flow' 명령어를 실행하면 현재 플로우 기반 트래픽 정보 조회가 가능한데, 이런 커맨드 방식은 불편하고 전체 통계 정보를 제공하지 못하기 때문에 실제 운용 환경에서는 플로우스캔(FlowScan)과 같은 도구를 이용해 MRTG와 유사한 방식으로 웹을 통해 모니터링 하는 방법이 많이 사용된다.
플로우스캔(FlowScan)은 플로우 정보를 수집하는 cflowd와 수집된 플로우 정보를 분석해 데이터베이스에 기록하는 RRD(Round Robin Database), 그리고 RRD에 의해 작성된 데이터베이스 정보를 이용, 시간대별로 그래프를 생성하는 RRDtool로 구성돼 있다(그림 4).
(화면 10)은 플로우스캔과 RRD 도구를 이용해 생성한 프로토콜/서비스별 입/출력 플로우 정보다. 알려진 공격 패턴이나 P2P 애플리케이션 트래픽은 거의 없는 반면, HTTP나 DNS, SMTP, FTP 등과 같은 정상적인 접속 트래픽 비율과 그 외 서비스(Other Services) 트래픽 비율이 비슷한 것을 알 수 있다.
이를 통해 네트워크에 알려지지 않은 포트를 사용하는 애플리케이션이나 최근의 P2P 애플리케이션과 같이 동적인 포트를 무작위로 생성하여 사용하는 애플리케이션들이 다수 동작하고 있음을 짐작할 수 있다. 최근에는 80/TCP 포트를 이용해 동작하는 P2P 애플리케이션도 다수 존재하므로 이에 유의할 필요가 있다.
NetFlow와 FlowScan을 이용한 트래픽 분석에서 유의해야 할 사항은 그래프에 표기된 데이터는 라우터나 스위치에서 전송(Export)된 데이터를 5분 간격으로 가공해 처리한 결과이므로 실제 상황과 다소 시차가 존재한다는 것이다.
FlowScan은 시스코 NetFlow를 분석하기 위한 공개용 도구로 매우 강력한 기능을 제공하지만 이를 정상적으로 운용하기 위해서는 관련 모듈 설치나 컴파일 등의 사전 작업이 필요하기 때문에 다소 번거로울 수 있다. NetFlow Analyzer나 PeakFlow와 같은 상용 도구들은 원도우 플랫폼에서 일관된 인터페이스 기반으로 높은 관리 편의성을 제공하는 장점이 있다.
모니터링, 관리 프로세스, 사용자의 보안 의식이 중요
지금까지 총 6회에 걸쳐 ‘다양한 도구를 활용한 네트워크/시스템 시큐리티 방법론’을 주제로 네트워크/시스템 공격을 위한 정형화된 프로세스와 방법들에서부터 다양한 보안 도구와 트래픽 모니터링 기법을 이용해 네트워크/시스템 보안 수준을 점검하고 전체 보안 수준을 향상하는 기법에 대해 살펴봤다.
인터넷과 네트워크 환경이 일상 생활과 점차 긴밀하게 융합됨에 따라 네트워크 환경에서의 보안과 프라이버시 이슈는 향후 더욱 중요시 될 것으로 예상된다. 이를 반영하듯 보안 솔루션이나 보안 방법론도 점차 세분화되고 있으며, 이러한 경향은 더욱 가속화될 것이다.
그러나 기업이나 조직의 전체 보안 프로세스에 있어 무엇보다 중요한 것은 특정 제품이나 솔루션의 도입이 아니라 지속적인 모니터링과 관리 프로세스, 그리고 사용자의 보안 의식이라 할 수 있으며, 특히 이것은 이를 운용하는 관리자에게 남겨진 숙제라고 할 수 있다.
출처 : http://blog.naver.com/screamo/90000781365
>> 모니터링 기술을 조금 해본 사람들은 이해가 가능할 듯하다. 나름 괜찮음..
'Security > Monitoring' 카테고리의 다른 글
DoS/DDos를 테스트 하기 위한 환경 구성 (0) | 2015.06.10 |
---|---|
보안강화를 위한 모니터링 방법론 (0) | 2015.02.04 |
[JPCAP] JPCAP 라이브러리 설치 및 사용 for linux (0) | 2014.12.09 |
[PCAP] Publicly available PCAP files (0) | 2014.12.09 |
[WinPcap] 패킷을 캡쳐하는 API 원도우 모듈 (0) | 2014.12.05 |
댓글