[정보보안] 포트(port)스캔 공격

[정보보안] 포트(port)스캔 공격

포트란?

사전적 의미 - 모뎀과 컴퓨터 사이에 데이터를 주고 받을 수 있는 통로
프로그래밍에 의해 만들어진 네트워크 프로그램이 외부와 통신을 위해 약속한 통로인 소프트웨어적인 측면

포트의 필요성
  • 외부와 데이터를 교환하는 프로그램은 특정 포트를 이용하여 데이터를 교환한다.


포트 스캔이란?

포트를 조사하여 어떤 포트가 열려있고 닫혀있는지 조사하는 것

포트 스캔의 종류
사용 목적
  • 자신의 서버의 네트워크 서비스들을 점검하기 위해 사용
  • 해커가 해킹을 하기 위해 정보 수집에서 타겟 서버의 정보를 수집하기 위해 사용

포트 스캔 공격의 종류

1. TCP Open 스캔

  • 열린 포트에 대해 완전한 세션을 연결함으로써 활성화 상태 파악
  • 포트가 닫힌 경우 RST + ACK 패킷이 돌아오고 공격자는 아무패킷도 보내지 않는다.
  • 로그 기록이 남는다는 단점이 있다.

2. TCP Half Open 스캔


  • SYN 패킷을 보내면 포트가 열린 경우 서버는 SYN + ACK패킷을 보내고 공격자는 즉시 연결을 끊는 RST패킷을 보내고 공격자는 즉시 연결을 끊는 RST패킷을 보냄으로써 로그 기록이 남지 않는다.
  • 포트가 닫힌 경우 RST + ACK 패킷이 돌아오고 공격자는 아무패킷도 보내지 않느다.

3. 스텔스(Stealth) 스캔

  • 로그를 남기지 않으며, 공격대상을 속이고 자신의 위치를 숨기는 스캔
  • 세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알기 때문에 로그가 남지 않는다.
  • FIN, NULL, XMAS 스캔이 있으며 패킷을 보내서 열린 경우 응답이 없고 닫힌 경우 RST패킷이 돌아온다.
    • FIN : FIN(Finish) 플래그 값만 설정하여 패킷을 보내는 방법
    • NULL : 모든 플래그 값을 설정하지 않고 패킷을 보내는 방법
    • XMAX : ACK, FIN, RST, SYN, URG 플래그를 모두 설정하여 패킷을 보내는 방법


출처

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유