본문 바로가기
cs

[네트워크] 포트 스캔 이란? (port scanning)

by 최연탄 2023. 6. 19.
728x90
반응형

참고: https://www.avast.com/en-us/business/resources/what-is-port-scanning#mac

포트 스캔(port scan)은 네트워크에 어떤 포트가 열려 있고 데이터를 주고 받을 수 있는지 확인하는 방법입니다. 또는 호스트의 특정 포트패킷을 보내고 응답을 분석하여 취약점을 식별하는 과정이기도 합니다.

포트 스캔은 먼저 액티브 호스트 목록을 식별하고 해당 호스트와 해당 IP 주소를 매핑하여 수행합니다. 이는 네트워크 스캔인 호스트 검색(host discovery)이라고 하는 작업을 수행하는 것으로 부터 시작합니다.

포트 및 네트워크 스캔의 목표는 IP 주소, 호스트 및 포트를 식별하여 오픈되었거나 취약한 서버 위치를 파악하고 보안 수준을 진단하는 것입니다. 네트워크 및 포트 스캔 모두 서버와 사용자 기기 사이에 방화벽과 같은 보안 조치가 있는지 확인할 수 있습니다.

네트워크 스캔을 완료하여 액티브 호스트 목록을 찾은 다음 포트 스캔을 수행하면 무단으로 접근이 가능한 네트워크의 오픈 포트를 알아낼 수 있습니다.

IT 관리자나 사이버 범죄자의 경우 네트워크 및 포트 스캔을 통해 네트워크의 보안 정책을 확인하고 검증하여 취약성을 식별할 수 있습니다. 여기서 공격자의 경우 잠재적으로 취약한 진입점을 악용할 수 있다는 점에 유의해야 합니다. 실제로 네트워크 스캐닝의 호스트 디스커버리는 종종 공격자가 공격을 하기 전에 사용하는 첫 번째 단계입니다.

두 스캔 모두 공격자의 주요 도구로 사용되므로 네트워크 및 포트 검색 결과는 네트워크를 안전하게 유지해야하는 IT 관리자에게 네트워크 보안 수준에 대한 중요한 지표를 제공합니다.

 

포트, 포트 번호 란?

컴퓨터의 포트는 프로그램이나 인터넷에서 네트워크 장치나 다른 컴퓨터로, 또는 그 반대로 정보를 전달하기 위한 중앙 도킹 지점입니다. 소프트웨어 또는 프로그래밍 관련 메커니즘을 통해 데이터를 교환할 지점으로 생각하면 됩니다.

포트 번호는 일관성과 프로그래밍을 위해 사용됩니다. IP 주소와 결합된 포트 번호는 모든 인터넷 서비스 공급자가 리퀘스트를 보내기 위해 필요한 중요 정보 입니다. 포트의 범위는 0에서 65,535까지이며 기본적으로 사용 빈도에 따라 순위가 지정됩니다.

포트 0 ~ 1023은 인터넷 사용을 위해 설계된 잘 알려진 포트 번호(well known port numbers)이지만 특수한 용도로 사용할 수 있습니다. 이는 Internet Assigned Numbers Authority (IANA)에서 관리합니다. 이러한 포트는 Apple QuickTime, MSN, SQL 서비스 및 기타 유명한 조직과 같은 최상위 회사에서 보유하고 있습니다. 이 중 유명한 포트와 그에 할당된 서비스는 다음과 같습니다:

Port 20 (UDP): 데이터 전송을 위한 File Transfer Protocol (FTP)에 할당

Port 22 (TCP): 보안 로그인이나 보안 ftp 등에 사용하는 Secure Shell (SSH)에 할당

Port 53 (UDP): 도메인 이름을 IP 주소로 바꿔주는 Domain Name System (DNS)에 할당

Port 80 (TCP): World Wide Web HTTP에 할당

1024에서 49151까지의 숫자는 "registered ports"로 간주됩니다. 즉, 소프트웨어 회사에서 등록한 것입니다. 포트 49,151에서 65,535는 동적 개인 포트이며 거의 모든 사람이 사용할 수 있습니다.

포트 스캔에 사용하는 프로토콜

일반적으로 포트 스캐닝에 사용하는 프로토콜은 TCP (transmission control protocol) 및 UDP (user datagram protocol) 입니다. 둘 다 인터넷을 위한 데이터 전송 방법이지만 메커니즘이 다릅니다.

TCP는 데이터 전송을 위해 목적지의 상태에 의존하는 신뢰할 수 있는 양방향 연결 기반 프로토콜이고 UDP는 연결을 신뢰할 수 없습니다. UDP를 통해 전송된 데이터는 목적지의 상태와 상관없이 보내지므로 데이터가 제대로 전달되었는지 여부를 보장할 수 없습니다.

이 두 프로토콜을 사용하여 여러가지 포트 스캔을 할 수 있습니다.

포트 스캔의 종류

목표에 따라 여러가지 포트 스캔 기술을 사용할 수 있습니다. 사이버 범죄자는 목표나 공격 전략에 따라 포트 검색 테크닉을 선택한다는 점을 유의해야 합니다.

다음은 몇 가지 테크닉과 작동 방법 입니다:

Ping scan: 가장 간단한 포트 스캔 방법입니다. 네트워크에서 ping은 네트워크 데이터 패킷이 오류 없이 배포될 수 있는지 여부를 확인합니다. ping scan은 internet control message protocol (ICMP) 리쿼스트이며 여러 ICMP 리쿼스트를 자동으로 여러 서버로 전송하여 반응을 볼 수 있습니다. IT 관리자는 이 테크닉을 사용하여 문제를 해결할 수도 있고 방화벽을 사용하여 ping scan을 비활성화 할 수도 있습니다. 방화벽으로 ping scan을 비활성화하면 공격자가 ping scan을 통해 네트워크를 찾을 수 없습니다.

Half-open 또는 SYN scan: half-open scan 또는 SYN scan은 공격자가 목적지에 완전한 연결을 맺지 않고 포트의 상태를 확인하는 전략입니다. 이 스캔은 SYN 패킷만 보내 끝까지 연결을 맺지 않고 열린 포트를 찾는 빠른 포트 스캔 기술입니다.

XMAS scan: XMAS 스캔은 훨씬 더 조용하고 방화벽에 덜 노출됩니다. 예를 들어 FIN 패킷은 TCP의 3-way handshake 후 데이터 전송을 다 하고 연결을 종료하기 위해 사용하는데 이는 방화벽에 잘 인식되지 않습니다. 왜냐하면 방화벽의 주요 검사 패킷은 SYN 이기 때문입니다. 이러한 이유로 XMAS 스캔은 FIN을 포함한 패킷의 모든 플래그를 설정해 목적지에 보내고 응답이 없으면 포트가 열려있는 것으로 간주합니다. 만일 포트가 닫혀있다면 서버는 RST를 응답하기 때문입니다. XMAS 스캔은 모니터링 로그에 거의 표시되지 않으며 네트워크 보호 및 방화벽에 대해 알아보기 위한 교묘한 방법입니다.

포트 스캔 결과 얻을 수 있는 정보

포트 스캔의 결과로 네트워크나 서버의 상태를 알아낼 수 있으며 이는 open, closed, filtered 세 가지 중 하나로 설명할 수 있습니다.

Open ports: 오픈 포트는 대상 서버가 데이터를 능동적으로 수신하는 중임을 나타내는 것으로 포트가 listening 상태 임을 나타냅니다. 또한 스캔에 사용된 서비스 (TCP, UDP)도 사용 중임을 나타냅니다. 오픈 포트를 찾는 것은 일반적으로 포트 검색의 목표이며 공격 경로를 찾는 사이버 범죄자의 목표이기도 합니다. IT 관리자의 과제는 합법적인 사용자의 접근을 제한하지 않으면서 포트를 보호하기 위해 방화벽을 설치하여 오픈 포트를 차단하는 것입니다.

Closed ports: 닫힌 포트는 서버 또는 네트워크가 리퀴스트를 받았지만 해당 포트에서 "lietening"하는 서비스가 없음을 나타냅니다. 닫힌 포트는 계속 접근할 수 있으며 호스트가 IP 주소가 사용중인 것인지 확인하는데 유용합니다. IT 관리자는 포트가 오픈 상태로 변경되어 잠재적으로 취약성을 생성할 수 있으므로 닫힌 포트를 계속 모니터링해야 합니다. IT 관리자는 방화벽으로 닫힌 포트를 차단하는 것도 생각해야 합니다. 그러면 "filtered" 포트가 됩니다.

Filtered ports: filtered 포트는 리퀘스트 패킷이 전송되었지만 호스트가 응답하지 않았으며 listen 중이 아님을 나타냅니다. 이는 일반적으로 리퀘스트 패킷이 방화벽에 의해 필터링 및 차단되었음을 의미합니다. 패킷이 목적지에 도달하지 않으면 공격자는 더 이상 정보를 찾을 수 없습니다. filtered 포트는 "목적지에 도달할 수 없음" 또는 "통신 금지"라는 오류 메시지로 응답하는 경우가 많습니다.

사이버 범죄자의 포트 스캔 공격 방법

SANS Institute에 의하면 포트 스캔은 침입할 취약한 서버를 검색할 때 공격자가 가장 많이 사용하는 전략 중 하나입니다.

이 사이버 범죄자는 네트워크를 표적으로 삼을 때 예비 단계로 포트 스캔을 하는 경우가 많습니다. 그들은 포트 스캔을 사용하여 다양한 조직의 보안 수준을 조사하고 강력한 방화벽이 있는 곳과 취약한 서버 또는 네트워크가 있는 곳을 결정합니다. 많은 TCP 프로토콜 기술을 통해 공격자는 네트워크 위치를 숨기고 "미끼 트래픽"을 사용하여 대상에 네트워크 주소를 공개하지 않고 포트 스캔을 수행할 수 있습니다.

공격자는 네트워크와 시스템을 탐색하여 각 포트의 open, closed, filtered 상태 여부에 관계없이 각 포트가 어떻게 반응하는지 확인합니다.

예를 들어 open, closed 응답은 해커에게 네트워크가 실제로 스캔을 수신하고 있음을 알려줍니다. 이를 바탕으로 사이버 범죄자는 운영 체제의 유형과 보안 수준을 알아낼 수 있습니다.

포트 스캐닝은 오래된 기술이고 프로토콜과 보안 도구는 매일 발전하고 있어 꾸준한 보안 업데이트가 필요합니다. 모범 사례에 따라 포트 스캔 경고 및 방화벽을 사용한 트래픽 모니터링을하고 악의적인 공격자가 네트워크에 무단 침입할 수 있는 잠재적 기회를 제거해야 합니다.

관련 글

포트 설명 및 작동방법 (port)

반응형

댓글