네트워크 / 보안

전문가에게 엔맵이 필요한 이유

Marc Ferranti | Network World 2018.08.21
네트워크 관리자, IT 관리자, 보안 전문가는 결코 끝나지 않는 전투에 대비해 네트워크에서 움직이는 요소와 그 안에 숨어드는 취약점을 끊임없이 확인한다. 네트워크 매핑과 보안 감사 용도로 많은 모니터링 유틸리티가 존재하지만, 다양한 기능과 사용 편의성의 조합 측면에서 엔맵(Nmap)이 단연 으뜸이고 업계에서도 사실상의 표준 유틸리티로 통한다.

엔맵이란 무엇인가
엔맵은 네트워크 매퍼(Network Maper)의 줄임말로, 취약점 스캔과 네트워크 검색을 위한 무료 오픈소스 툴이다. 네트워크 관리자는 엔맵을 사용해 시스템에서 실행 중인 디바이스를 파악하고 사용 가능한 호스트 및 이러한 호스트가 제공하는 서비스를 검색하고 열린 포트를 찾고 보안 위험을 탐지한다.

엔맵을 사용해 단일 호스트, 또는 수십만 개의 디바이스와 다수의 서브넷을 포괄하는 광활한 네트워크를 모니터링할 수도 있다.

엔맵은 여러 해에 걸쳐 발전했고 고도의 유연성을 갖췄지만 근본적으로는 포트 스캔 툴로, 시스템 포트에 원시 패킷을 보낸 후 응답을 듣고 포트가 열렸는지 닫혔는지, 또는 어떤 방식으로(예를 들어 방화벽으로) 필터링되는지 여부를 판단한다. 포트 스캔을 포트 검색(port discovery) 또는 포트 열거(enumeration)라고도 한다.


Credit: Nmap.org

엔맵 포트 스캔
엔맵이 보낸 패킷은 IP 주소를 비롯한 풍부한 정보와 함께 되돌아와 다양한 네트워크 속성을 파악할 수 있도록 하고 네트워크 프로파일 또는 맵을 제공하며 하드웨어와 소프트웨어 인벤토리를 만들 수 있게 해준다.

프로토콜마다 사용하는 패킷 구조의 유형도 다르다. 엔맵은 TCP(Transmission Control Protocol), UDP(User Datagram Protocol), SCTP(Stream Control Transmission Protocol)를 포함한 전송 계층 프로토콜은 물론 오류 메시지를 보내는 데 사용되는 ICMP(Internet Control Message Protocol)와 같은 프로토콜도 지원한다.

프로토콜에 따라 용도와 사용하는 시스템 포트도 다르다. 예를 들어 UDP의 낮은 리소스 오버헤드는 속도를 위해 일부 패킷 손실을 감수하는 실시간 스트리밍 비디오에 적합하다. 반면 유튜브의 비실시간 스트리밍 비디오는 버퍼링되므로 더 느리지만 안정적인 TCP를 사용한다.

엔맵의 기본적인 포트 스캔 및 패킷 캡처 기능은 다른 많은 기능과 함께 지속적으로 향상되고 있다.

엔맵 제작자 고든 라이온은 이메일 인터뷰에서 "지금은 윈도우용 엔피캡(Npcap) 패킷 캡처 드라이버와 라이브러리에 집중하고 있다"면서, "Npcap은 다른 애플리케이션에서도 많이 사용되며 윈도우에서 엔맵의 속도와 기능 향상에 도움이 될 것이다. 올해 들어 Npcap을 8번 릴리스했다"고 말했다.

열렬한 지지와 네트워킹의 스타가 되기까지 엔맵의 여정
엔맵은 C++로 만들어졌으며 1997년 9월 프랙 매거진(Phrack Magazine)에서 소스코드와 함께 처음 소개됐다. 이후 C와 펄(Perl), 파이썬(Python)으로 확장됐다. 제작자인 고든 라이온은 표도르 도스토예프스키의 "지하생활자의 수기(Notes from Underground)"를 읽고 표도르 바스코비치라는 필명을 만들어 사용했으며 지금도 엔맵 작업에서 표도르(Fyodor)라는 핸들을 사용한다.

엔맵 마니아와 개발자 커뮤니티가 번성하면서 그 혜택은 엔맵에 돌아갔다. 현재 엔맵은 하루에도 수천 번 다운로드된다. 엔맵의 유명세는 팝 컬처 수준으로, 10여 편의 영화에서 리한나, 케이트 마라 등의 스타가 사용하는 해킹 툴로 등장하기도 했다.

엔맵이 처음 등장한 대작 영화는 매트릭스 리로디드(The Matrix Reloaded)다. 캐리-앤 모스가 연기한 트리니티가 해킹 실력을 뽐내는 장면에서 엔맵을 제대로 사용하면서 이쪽 분야의 영화 관객들에게 강한 인상을 남긴 바 있다(유튜브 클립에서 트리니티가 엔맵을 사용하는 장면을 볼 수 있다). 

다양한 운영체제에서 실행되는 엔맵
엔맵의 인기 이유 가운데 하나는 다양한 운영체제에서 사용할 수 있다는 점이다. 윈도우와 맥OS에서 실행되며, 레드헷, 맨드레이크, 수세, 페도라를 포함한 리눅스 배포판도 지원한다. 그 외에 BSD, 솔라리스, AIX, 아미가OS를 포함한 다른 운영체제도 지원한다.

엔맵 사용 방법
네트워크 관리와 보안 감사에 사용할 수 있는 무료 네트워크 모니터링 유틸리티, 무료 오픈소스 취약점 스캐너는 많다. 엔맵이 IT와 네트워크 관리자의 필수 툴로 돋보이는 이유는 유연함과 강력한 기능에 있다. 엔맵 기본적인 기능은 포트 스캔이지만 다음을 포함한 다양한 관련 작업을 지원한다.

- 네트워크 매핑 : 엔맵은 서버, 라우터, 스위치를 포함한 네트워크에 존재하는 디바이스를 파악하고(호스트 검색이라고도 함) 이런 디바이스의 물리적인 연결 방식도 알 수 있다.
- 운영체제 탐지 : 엔맵은 네트워크 디바이스에서 실행 중인 운영체제를 탐지하고(OS 핑거프린팅이라고도 함), 공급업체 이름과 기반 운영체제, 소프트웨어 버전, 심지어 디바이스의 추정 업타임까지 알려준다.
- 서비스 검색 : 엔맵은 네트워크의 호스트를 파악할 뿐만 아니라 메일, 웹, 네임 서버와 같은 호스트의 역할, 그리고 이런 서버에서 실행 중인 관련 소프트웨어의 특정 버전도 알 수 있다.
- 보안 감사 : 네트워크 관리자는 네트워크에서 실행 중인 운영체제와 애플리케이션의 버전을 파악하는 기능을 통해 특정 결함에 대한 취약점을 판단할 수 있다. 예를 들어 네트워크 관리자는 애플리케이션의 특정 버전에 존재하는 취약점에 대한 알림을 받은 후, 네트워크를 스캔해서 해당 소프트웨어 버전이 네트워크에서 실행 중인지 여부를 확인하고 호스트를 패치하거나 업데이트하는 등의 조치를 취할 수 있다. 또한 스크립트를 사용해 특정 취약점 탐지와 같은 작업을 자동화할 수도 있다.


Credit: NMap.org

초보자와 전문가를 위한 엔맵 명령어
엔맵의 이점 가운데 하나는 시스템 또는 네트워크 지식이 거의 없는 초보자도 기본적인 스캔을 위한 간단한 명령으로 입문할 수 있고, 전문가는 전문가대로 더 복잡한 탐침 방법을 사용해 세부적인 네트워크 시야를 얻을 수 있다는 점이다.

엔맵을 사용해 얻는 것은 기본적으로 스캔하는 대상의 목록과 대상과 관련된 정보다. 받는 정보는 수행하는 스캔의 종류, 즉 사용한 명령에 따라 달라진다.

스캔에서 생성되는 트래픽은 명령에 따라 다르므로 항상 많은 것은 아니며 스캔이 항상 침입성을 갖는 것도 아니다. 모든 시스템의 모든 포트를 스캔하는 것은 비효율적일 것이다. 어느 한 시점을 기준으로는 극히 일부의 포트만 사용되기 때문이다(하나의 시스템에 최대 6만 5,535개의 TCP 포트와 6만 5,535개의 UDP 포트가 있음). 다양한 옵션을 통해 스캔을 세밀하게 조정하거나 확장할 수 있다. 예를 들어 서비스 버전 탐지에 사용 가능한 옵션에는 다음이 포함된다.

- sV(버전 탐지 활성화)
- version-intensity <intensity>(스캔 강도 설정)


강도의 범위는 0~9이며 적용할 탐침의 종류가 여기에 맞춰 설정된다. 낮은 강도의 스캔은 일반적인 서비스를 탐침하고, 높은 강도의 스캔은 덜 사용되는 서비스를 정확하게 식별할 수 있지만 대신 더 오래 걸린다.

이 외에도 예를 들어 스캔하거나 건너뛸 포트 또는 서브넷을 지정하는 등의 명령이 있다.

엔맵 스크립팅 엔진(NSE)
엔맵에는 다양한 스캔을 자동화하는 스크립트를 쓰고 저장하고 공유하기 위한 루아(Lua) 프로그래밍 언어를 사용하는 스크립팅 엔진이 포함된다. 잘 알려진 네트워크 인프라 취약점을 확인하는 용도로 자주 사용되지만 그 외에도 온갖 종류의 작업을 자동화할 수 있다.

엔맵의 GUI, 젠맵
젠맵(Zenmap)은 엔맵 보안 스캐너의 GUI(Graphical User Interface)이며 많은 옵션을 제공한다. 스캔을 저장 및 비교하고, 네트워크 토폴로지 맵을 보고, 호스트에서 실행 중인 포트 또는 네트워크의 모든 호스트에서 실행 중인 포트를 보고, 검색 가능한 데이터베이스에 스캔을 저장할 수 있다.

엔맵의 새로운 기능
올해 3월에 나온 엔맵 7.70은 9가지 새로운 NSE 스크립트, 그리고 IPv6과 IPv4 OS 지원을 위한 핑거프린트를 포함해 운영체제 및 애플리케이션 버전 탐지를 위한 수백 개의 새로운 운영체제와 서비스 핑거프린트를 제공한다. 또한 버전 7.70에서는 서비스 버전 탐지의 속도와 정확성도 더 개선됐다. 윈도우가 광범위하게 사용되고 있으므로 성능과 안정성을 강화하기 위한 엔피캡 윈도우 패킷 캡처 라이브러리 개선이 특히 중요한 부분이다.

다음 릴리스는 3분기 후반 또는 4분기 초반으로 예정돼 있지만 라이온은 릴리스 사이에도 새로운 스크립트와 프로토콜이 계속 다듬어지고 테스트를 위해 제공될 것이라고 밝혔다.

라이온은 "지원이 중단되고 유지 관리도 안 되는 윈피캡(Winpcap) 드라이버에서 새로운 엔피캡 시스템으로의 전환은 윈도우 엔맵 사용자를 위한 큰 진전"이라며, "또한 엔맵 스크립팅 엔진의 확장과 개선도 계속 진행 중이다. 현재 591개의 스크립트와 133개의 프로토콜 라이브러리가 있으며 링크에서 확인할 수 있다. 엔맵이 이제 진정한 성년기로 들어서는 듯하다. 그러고 보니 9월 1일이면 21살이 된다"고 말했다.

엔맵은 불법적으로 사용되는가
적어도 미국 연방법을 기준으로 포트 스캔 자체는 불법이 아니지만 엔맵의 기능은 악용할 취약점을 탐침하는 악의적인 해커에게도 확실히 유용하다. 엔맵을 잘못 사용할 경우(특히 허가를 받지 않고 사용하는 경우) 선의의 목적으로 취약점 스캔을 했을 뿐이라 해도 해고되거나 법적인 문제에 직면할 수 있다.

엔맵 스캔 중에는 경보를 일으키지 않는 비교적 가벼운 스캔도 있지만 회사에서 적절한 사람에게 항상 승인을 받고 스캔하는 것이 최선이다. 운영체제 핑거프린팅을 비롯한 많은 엔맵 옵션에는 루트 권한이 필요하다는 점에 유의해야 한다. 하려는 일이 합법적인지 여부가 불확실하다면, 특히 문의할 회사 법무팀 없이 단독으로 작업하는 경우 컴퓨터 사기와 남용에 대한 전문성을 갖춘 변호사와 상담하는 것이 좋다.

엔맵 리소스
엔맵을 더 깊이 공부하려는 사람에게 최상의 정보원은 표도르 본인이 관리하는 Nmap.org다. Nmap.org와 기타 사이트의 필수 리소스에는 다음이 포함된다.

- 문서 
- 엔맵이 수행하는 작업과 그 방법을 세부적으로 설명하는 엔맵 참조 가이드 
- 젠맵 튜토리얼  
- 엔맵 사용자는 엔맵-해커 메일링 리스트에 가입해 최신 소식을 받을 수 있으며, 코드 테스트나 기여 및 제안에 관심이 있는 개발자는 엔맵-dev 리스트를 구독하면 된다.
- 엔맵 사용자들이 뽑은 최상의 네트워크 보안 툴 100가지 

엔맵 다운로드
엔맵을 다운로드하려면 링크에 들어가 안내를 받아라.  editor@itworld.co.kr  
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.