포트 스캐너

Port scanner

포트 스캐너는 서버 또는 호스트에서 열린 포트를 검색하도록 설계된 응용 프로그램이다.이러한 애플리케이션은 관리자네트워크보안 정책을 확인하고 공격자가 호스트에서 실행 인 네트워크 서비스를 식별하고 취약성을 이용하기 위해 사용할 수 있다.

포트 검색 또는 포트스캔은 활성 포트를 찾을 목적으로 호스트의 서버 포트 주소 범위로 클라이언트 요청을 전송하는 프로세스로서, 그 자체로 악의적인 프로세스가 아니다.[1]포트 스캔의 대부분의 용도는 공격이 아니라 원격 컴퓨터에서 사용할 수 있는 서비스를 결정하기 위한 단순한 시도다.

portsweep는 여러 호스트에서 특정 수신 포트를 검색하는 것이다.후자는 일반적으로 특정 서비스를 검색하는데 사용된다. 예를 들어 SQL 기반 컴퓨터 웜은 TCP 포트 1433에서 수신하는 호스트를 찾기 위해 포트스위프를 사용할 수 있다.[2]

TCP/IP 기본 사항

인터넷의 설계와 운영은 흔히 TCP/IP라고도 불리는 인터넷 프로토콜 스위트에 기반을 두고 있다.이 시스템에서 네트워크 서비스는 호스트 주소와 포트 번호의 두 가지 구성요소를 사용하여 참조된다.고유하고 사용 가능한 포트 번호는 65535이고 번호가 1.65535(포트 0은 사용 가능한 포트 번호가 아님)대부분의 서비스는 포트 번호의 하나 또는 최대 제한 범위를 사용한다.

일부 포트 스캐너는 지정된 호스트에서 가장 일반적인 포트 번호 또는 취약한 서비스와 가장 일반적으로 관련된 포트만 검사한다.

포트의 검색 결과는 일반적으로 세 가지 범주 중 하나로 일반화된다.

  1. 열기 또는 수락:호스트가 서비스가 포트에서 수신 중임을 나타내는 회신을 보냈다.
  2. 닫힘, 거부 또는 수신 안 :호스트가 포트에 대한 연결이 거부됨을 나타내는 회신을 보냈다.
  3. 필터링, 삭제 또는 차단됨:사회자로부터 아무런 회답도 없었다.

개방형 포트는 관리자가 경계해야 하는 두 가지 취약성을 나타낸다.

  1. 서비스 제공을 담당하는 프로그램과 관련된 보안 및 안정성 문제 - 개방형 포트.
  2. 호스트에서 실행 중인 운영 체제와 관련된 보안 및 안정성 문제 - 열린 포트 또는 닫힌 포트.

필터링된 포트는 취약성을 나타내는 경향이 없다.

가정

모든 형태의 포트 스캐닝은 대상 호스트가 RFC 793 - 전송 제어 프로토콜(Transmission Control Protocol)을 준수한다는 가정에 의존한다.이러한 경우가 대부분이지만 호스트의 TCP/IP 스택이 RFC와 호환되지 않거나 변경된 경우 호스트가 이상한 패킷을 다시 보내거나 잘못된 긍정을 발생시킬 가능성이 여전히 존재한다.이는 OS에 의존하는 덜 일반적인 스캔 기법(예: FIN 스캔)에 특히 해당된다.[3]또한 TCP/IP 스택 지문 채취 방법은 호스트가 실행 중인 운영 체제의 유형을 추측하기 위해 특정 자극으로부터 이러한 유형의 서로 다른 네트워크 반응에 의존한다.

검색 유형

TCP 검색

가장 간단한 포트 스캐너는 운영 체제의 네트워크 기능을 사용하며 일반적으로 SYN이 실행 가능한 옵션이 아닐 때 사용할 수 있는 다음 옵션이다(다음 설명 참조).Nmap은 이 모드를 Unix connect() 시스템 호출의 이름을 따서 connect scan이라고 부른다.포트가 열려 있으면 운영체제는 TCP 3방향 핸드셰이크를 완료하고, 포트 스캐너는 서비스 거부 공격을 하지 않기 위해 즉시 연결을 닫는다.[3]그렇지 않으면 오류 코드가 반환된다.이 스캔 모드는 사용자가 특별한 권한이 필요하지 않다는 장점이 있다.그러나 OS 네트워크 기능을 사용하면 낮은 수준의 제어가 불가능하기 때문에 이 검색 유형은 덜 보편적이다.이 방법은 "소음"이며, 특히 "포트위프"인 경우, 서비스는 발신자 IP 주소를 기록할 수 있고 침입 탐지 시스템은 경보를 발생시킬 수 있다.

SYN 스캔

SYN 스캔은 TCP 스캔의 또 다른 형태다.포트 스캐너는 운영 체제의 네트워크 기능을 사용하는 대신 원시 IP 패킷 자체를 생성해 반응을 모니터링한다.이 검색 유형은 실제로 전체 TCP 연결을 열지 않기 때문에 "하프 오픈 검색"이라고도 한다.포트 스캐너는 SYN 패킷을 생성한다.대상 포트가 열려 있으면 SYN-ACK 패킷으로 응답한다.스캐너 호스트가 RST 패킷으로 응답하여 핸드셰이크가 완료되기 전에 연결을 닫는다.[3]포트가 닫혔지만 여과되지 않은 경우, 대상은 즉시 RST 패킷으로 응답할 것이다.

원시 네트워킹의 사용은 스캐너가 전송한 패킷과 응답 시간 초과를 완전히 제어하고 응답에 대한 상세한 보고를 허용하는 등 몇 가지 장점이 있다.어떤 검색이 대상 호스트에 덜 거슬리는지에 대한 논쟁이 있다.SYN 검색은 개별 서비스가 실제로 연결을 받지 않는다는 장점이 있다.그러나 핸드셰이크 중 RST는 일부 네트워크 스택, 특히 프린터와 같은 단순한 장치에 문제를 일으킬 수 있다.어느 쪽이든 결정적인 논쟁은 없다.

UDP 검색

기술적인 문제가 있지만 UDP 스캐닝도 가능하다.UDP는 연결이 없는 프로토콜이므로 TCP SYN 패킷과 동등한 것은 없다.그러나 UDP 패킷이 열려 있지 않은 포트로 전송되면 시스템은 ICMP 포트에 연결할 수 없는 메시지로 응답한다.대부분의 UDP 포트 스캐너는 이 검색 방법을 사용하며, 포트가 열려 있다는 추론을 위해 응답이 없는 경우를 사용한다.그러나 방화벽에 의해 포트가 차단된 경우 이 방법은 포트가 열려 있다고 거짓으로 보고한다.포트에 연결할 수 없는 메시지가 차단되면 모든 포트가 열려 있는 것으로 나타난다.이 방법은 ICMP 속도 제한에도 영향을 받는다.[4]

다른 접근방식은 애플리케이션 계층 응답을 생성하기를 희망하면서 애플리케이션별 UDP 패킷을 보내는 것이다.예를 들어, DNS 서버가 있는 경우 포트 53으로 DNS 쿼리를 보내면 응답이 발생한다.이 방법은 개방된 포트를 식별하는 데 훨씬 더 신뢰성이 있다.그러나 애플리케이션별 프로브 패킷을 사용할 수 있는 검색 포트로 제한된다.일부 도구(예: nmap)는 일반적으로 20개 미만의 UDP 서비스를 위한 프로브를 가지고 있는 반면, 일부 상용 도구는 70개까지 가지고 있다.어떤 경우에는 서비스가 포트에서 수신 중이지만 특정 프로브 패킷에 응답하지 않도록 구성될 수 있다.

ACK 스캔

ACK 스캐닝은 포트의 개방 또는 폐쇄 여부를 정확히 결정하는 것이 아니라 포트의 여과 또는 여과 여부를 결정하기 때문에 더욱 특이한 검색 유형 중 하나이다.이것은 특히 방화벽의 존재와 그것의 규칙 집합에 대한 탐색을 시도할 때 좋다.단순한 패킷 필터링은 ACK 비트 세트가 설정된 패킷을 허용하는 반면, 상태 저장 방화벽은 그렇지 않을 수 있다.[5]

창 스캔

창 스캔은 구식이기 때문에 거의 사용되지 않으며, 포트의 열기 또는 닫기 여부를 결정하는 데 있어 상당히 신뢰할 수 없다.ACK 스캔과 동일한 패킷을 생성하지만, 패킷의 윈도우 필드가 수정되었는지 여부를 확인한다.패킷이 대상에 도달하면 설계 결함은 포트가 열려 있으면 패킷의 창 크기를 생성하려고 시도하여 패킷이 송신자에게 돌아가기 전에 패킷의 창 필드에 1의 플래그를 지정한다.이 구현을 더 이상 지원하지 않는 시스템에서 이 스캐닝 기술을 사용하면 창 필드에 대해 0을 반환하고 열린 포트를 닫힘으로 표시한다.[6]

FIN 스캔

SYN 검색은 충분히 은밀하지 않기 때문에 일반적으로 방화벽은 SYN 패킷의 형태로 패킷을 검색하고 차단한다.[3]FIN 패킷은 수정 없이 방화벽을 우회할 수 있다.닫힌 포트는 적절한 RST 패킷으로 FIN 패킷에 응답하는 반면, 열린 포트는 가까이에 있는 패킷을 무시한다.이것은 TCP의 특성상 전형적인 행동이며, 어떤 면에서는 피할 수 없는 몰락이다.[7]

기타 스캔 유형

일부 비정상적인 스캔 유형이 존재한다.이것들은 다양한 한계를 가지고 있고 널리 쓰이지 않는다.Nmap은 이것들의 대부분을 지원한다.[5]

  • X-mas 및 Null 스캔 - FIN 스캔과 유사하지만:[3]
    • X-mas는 FIN, URG, PUSH 플래그가 켜진 상태에서 크리스마스 트리처럼 패킷을 보낸다.
    • Null은 TCP 플래그가 설정되지 않은 패킷을 전송함
  • 프로토콜 스캔 - 어떤 IP 레벨 프로토콜(TCP, UDP, GRE 등)이 활성화되는지 결정한다.
  • 프록시 검색 - 검색을 수행하는 데 프록시(SOCK 또는 HTTP)가 사용된다.대상은 프록시의 IP 주소를 소스로 본다.이것은 또한 일부 FTP 서버를 사용하여 수행될 수 있다.
  • 유휴 검색 - 예측 가능한 IP ID 결함을 이용하여 사용자의 IP 주소를 표시하지 않고 검색하는 또 다른 방법.
  • CatSCAN - 포트에서 잘못된 패킷 확인
  • ICMP 검색 - 호스트가 ICMP 요청에 응답하는지 여부(예: 에코(ping), 넷마스크 등) 확인

ISP별 포트 필터링

많은 인터넷 서비스 제공업체들은 홈 네트워크 외부의 목적지로의 포트 스캔을 수행하는 고객의 능력을 제한한다.이는 일반적으로 고객이 동의해야 하는 서비스 약관 또는 허용 가능한 사용 정책에서 다룬다.[8][9]일부 ISP는 특정 포트로의 송신 서비스 요청을 방지하는 패킷 필터나 투명 프록시를 구현한다.예를 들어 ISP가 포트 80에 투명 HTTP 프록시를 제공하는 경우, 대상 호스트의 실제 구성에 관계없이 임의의 주소에 대한 포트 스캔은 포트 80이 열려 있는 것으로 나타난다.

윤리학

포트 스캔에 의해 수집된 정보는 네트워크 재고와 네트워크의 보안 확인을 포함하여 많은 합법적인 용도를 가지고 있다.그러나 포트 스캐닝은 보안을 해치는 데도 사용될 수 있다.많은 취약성 공격들은 버퍼 오버플로라고 알려진 상태를 트리거하기 위해 열린 포트를 찾고 특정 데이터 패턴을 전송하기 위해 포트 스캔에 의존한다.그러한 행동은 네트워크와 그 안에 있는 컴퓨터의 보안을 손상시켜 민감한 정보의 손실이나 노출을 초래하고 일을 할 수 있는 능력을 초래할 수 있다.[3]

포트 검색으로 인한 위협 수준은 검색에 사용되는 방법, 검색된 포트 유형, 포트 번호, 대상 호스트의 값 및 호스트를 모니터링하는 관리자에 따라 크게 달라질 수 있다.그러나 포트 스캔은 종종 공격을 위한 첫 단계로 간주되며, 따라서 그것은 숙주에 대한 많은 민감한 정보를 공개할 수 있기 때문에 심각하게 받아들여진다.[10]그럼에도 포트스캔만으로 실제 공격이 이어질 확률은 작다.포트 스캔이 취약성 스캔과 연관되었을 때 공격 확률이 훨씬 더 높다.[11]

법률적 함의

인터넷의 본질적으로 개방적이고 분산된 구조 때문에 국회의원들은 사이버 범죄자들에 대한 효과적인 기소를 허용하는 법적 경계를 정의하기 위해 설립 이래 고군분투해왔다.항만 스캐닝 활동과 관련된 사례들은 위반 여부를 판단할 때 직면하는 어려움의 예다.이러한 경우는 드물지만, 합법적인 절차에는 항만 스캔의 수행에 그치지 않고 침입이나 무단 액세스를 저지하려는 의도가 존재한다는 것을 증명하는 경우가 대부분이다.

2003년 6월에는 이스라엘인 아비 미즈라히가 컴퓨터 자료의 무단 접근을 시도한 혐의로 이스라엘 당국에 의해 고발되었다.그는 항구로 하여금 모사드 웹사이트를 검색하게 했다.2004년 2월 29일 모든 혐의에 대해 무죄를 선고받았다.판사는 이러한 종류의 행동이 긍정적인 방법으로 행해질 때 낙담해서는 안 된다고 판결했다.[12]

17세의 핀은 주요 핀란드 은행으로부터 컴퓨터 침입을 시도한 혐의를 받았다.2003년 4월 9일, 는 핀란드 대법원에서 유죄 판결을 받고, 은행이 만든 법의학 분석 비용으로 미화 1만 2천 달러를 지불하라는 명령을 받았다.1998년, 그는 폐쇄된 네트워크에 접속하기 위해 항구를 통해 은행 네트워크를 조사했지만 그렇게 하지 못했다.[13]

2006년, 영국 의회는 1990년 컴퓨터 오용법 개정안을 의결하여, "CMA의 제1조 또는 제3조에 의거한 범죄의 과정이나 제3조에 의거한 범죄와 관련하여 사용되도록 설계되거나 개조된 것을 알고 있는 어떤 물품을 제조, 개조, 공급 또는 공급할 것을 제안하는 범죄를 범하는 사람을 유죄로 인정하였다.[14]그럼에도 불구하고, 이 개정안의 효과의 영역은 흐릿하고, 보안 전문가들에 의해 그렇게 널리 비판되고 있다.[15]

스트라프게세츠부치 제202a,b,c조 독일도 이와 유사한 법을 가지고 있으며, 유럽연합의 이사회는 비록 더 정확하기는 하지만 비슷한 법을 통과시킬 계획이라고 보도자료를 발표했다.[16]

미국

몰튼 대 VC3 사건

1999년 12월, 스콧 몰튼은 FBI에 체포되어 조지아의 컴퓨터 시스템 보호법과 미국의 컴퓨터 사기남용 법률에 따라 컴퓨터 침입을 시도한 혐의로 기소되었다.이때 그의 IT 서비스 회사는 그루지야 체로키 카운티와 911 센터 보안을 유지하고 업그레이드 하는 계약을 진행하였다.그는 체로키 카운티 서버의 보안을 확인하기 위해 여러 차례 포트 스캔을 했고, 결국 다른 IT 회사가 감시하는 웹 서버를 포트로 스캔하여 시비를 걸어 결국 재판에 회부되었다.그는 2000년 토머스 스래시 판사가 몰튼VC3 (N.D. Ga. 2000)[17]에서 네트워크의 무결성과 가용성을 훼손하는 손상이 없다고 판결하면서 무죄 판결을 받았다.[18]

참고 항목

참조

  1. ^ RFC 2828 인터넷 보안 용어집
  2. ^ "PRB: Unsecured SQL Server with Blank (NULL) SA Password Leaves Vulnerability to a Worm". support.microsoft.com. Archived from the original on 2006-03-03.
  3. ^ a b c d e f Erikson, Jon (1977). HACKING the art of exploitation (2nd ed.). San Francisco: NoStarch Press. p. 264. ISBN 1-59327-144-1.
  4. ^ Messer, James (2007). Secrets of Network Cartography: A Comprehensive Guide to Nmap (2nd ed.). Archived from the original on 2016-05-16. Retrieved 2011-12-05.
  5. ^ a b "Port Scanning Techniques". Nmap reference guide. 2001. Retrieved 2009-05-07.
  6. ^ Messer, James (2007). Secrets of Network Cartography: A Comprehensive Guide to Nmap (2nd ed.). Archived from the original on 2006-02-01. Retrieved 2011-12-05.
  7. ^ Maimon, Uriel (1996-11-08). "Port Scanning without the SYN flag". Phrack issue 49. Retrieved 2009-05-08.
  8. ^ "Comcast Acceptable Use Policy". Comcast. 2009-01-01. Archived from the original on 2009-04-23. Retrieved 2009-05-07.
  9. ^ "BigPond Customer Terms" (PDF). Telstra. 2008-11-06. Archived from the original (PDF) on January 26, 2009. Retrieved 2009-05-08.
  10. ^ Jamieson, Shaun (2001-10-08). "The Ethics and Legality of Port Scanning". SANS. Retrieved 2009-05-08.
  11. ^ Cukier, Michel (2005). "Quantifying Computer Security" (PDF). University of Maryland. Archived from the original (PDF) on 2009-08-24. Retrieved 2009-05-08.
  12. ^ Hon. Abraham N. Tennenbaum (2004-02-29). "Verdict in the case Avi Mizrahi vs. Israeli Police Department of Prosecution" (PDF). Archived from the original (PDF) on 2009-10-07. Retrieved 2009-05-08.
  13. ^ Esa Halmari (2003). "First ruling by the Supreme Court of Finland on attempted break-in". Retrieved 2009-05-07.
  14. ^ UK Parliament (2006-01-25). "Police and Justice Bill - Bill 119". UK Parliament. Retrieved 2011-12-05.
  15. ^ Leyden, John (2008-01-02). "UK gov sets rules for hacker tool ban". The Register. Retrieved 2009-05-08.
  16. ^ "3096th Council meeting Press Release" (PDF). Council of the European Union. 2011-06-10. Retrieved 2011-12-05.
  17. ^ Samson, Martin. "Scott Moulton and Network Installation Computer Services, Inc. v. VC3". Internet Library of Law and Court Decisions. Retrieved 29 April 2021.
  18. ^ Poulsen, Kevin (2000-12-18). "Port scans legal, judge says". SecurityFocus. Retrieved 2009-05-08.

외부 링크

  • 테오, 로렌스 (2000년 12월)네트워크 프로브 설명:포트 검색 및 Ping 스위프 이해.Linux Journal, 2009년 9월 5일 검색됨 Linuxjournal.com