Simple Service 탐색 프로토콜

Simple Service Discovery Protocol

SSDP(Simple Service Discovery Protocol)는 네트워크 서비스 및 존재 정보의 광고 및 검색을 위한 인터넷 프로토콜 제품군 기반네트워크 프로토콜이다.DHCP(Dynamic Host Configuration Protocol) 또는 DNS(Domain Name System)와 같은 서버 기반 구성 메커니즘의 도움 없이, 그리고 네트워크 호스트의 특별한 정적 구성 없이 이를 달성한다.SSDP는 UPnP(Universal Plug and Play)의 검색 프로토콜의 기반이며, 주거 환경이나 소규모 사무실 환경에서 사용하기 위한 것이다.1999년 마이크로소프트(MS)와 휴렛팩커드가 작성한 인터넷 엔지니어링 태스크포스(IETF) 인터넷 드래프트에서 정식으로 기술됐다.IETF 제안이 만료된 이후(2000년 4월),[1] SSDP가 UPnP 프로토콜 스택에 통합되었으며, 최종 구현에 대한 설명은 UPnP 표준 문서에 포함되어 있다.[2][3]

프로토콜 전송 및 주소 지정

SSDP는 HTTPU 기반의 텍스트 기반 프로토콜로 UDP를 기본 전송 프로토콜로 사용한다.서비스는 UDP 포트 번호 1900에서 특별히 지정된 IP 멀티캐스트 주소로 멀티캐스트 어드레싱을 하는 호스팅 시스템에 의해 발표된다.IPv4에서 멀티캐스트 주소는239.255.255.250[4]IPv6 기반 SSDP는 X로 표시된 모든 범위 범위에 대해 설정된 ff0X::c 주소를 사용한다.[5]

이로 인해 SSDP에 대해 다음과 같이 잘 알려진 실제 멀티캐스트 주소가 생성된다.

  • 239.255.255.250(IPv4 사이트-로컬 주소)
  • [FF02::C](IPv6 링크-로컬)
  • [FF05::C](IPv6 사이트-로컬)
  • [FF08::C](IPv6 조직-로컬)
  • [FF0E::C](IPv6 글로벌)

또한 애플리케이션은 로컬 IPv6 라우팅 접두사로부터 파생된 소스별 멀티캐스트 주소를 그룹 ID C (십진수 12)와 함께 사용할 수 있다.

SSDP는 HTTP 방법 NOTIFY를 사용하여 멀티캐스트 그룹에 서비스(존재) 정보의 구축 또는 철수를 공지한다.네트워크에서 사용 가능한 서비스를 발견하고자 하는 클라이언트에서는 M-SEARCH 방법을 사용한다. 이러한 검색 요청에 대한 응답은 유니캐스트 어드레싱을 통해 멀티캐스트 요청의 원래 주소와 포트 번호로 전송된다.

Windows Media Player 및 Server에서 마이크로소프트의 IPv6 SSDP 구현은 링크 로컬 범위 주소를 사용한다.Microsoft는 이벤트 알림 및 이벤트 구독에 포트 번호 2869를 사용한다.그러나 SSDP의 초기 구현에서는 이 서비스에 포트 5000을 사용하기도 했다.[6]

디도스 공격

2014년에 SSDP가 증폭된 SSDP 반사 공격이라고 알려진 DDoS 공격에 사용된다는 사실이 밝혀졌다.일부 거주 라우터를 포함한 많은 장치들은 UPnP 소프트웨어에 취약성을 가지고 있어 공격자가 포트 번호 1900에서 자신이 선택한 목적지 주소로 응답을 받을 수 있다.수천 개의 장치를 가진 봇넷으로 공격자는 충분한 패킷 비율을 생성하고 링크를 포화시키기 위한 대역폭을 점유할 수 있어 서비스 거부를 야기한다.[7][8] [9] 네트워크 회사인 Cloudflare는 이 공격을 "엄청나게 단순한 DDoS 프로토콜"[10]이라고 표현했다.

Firefox 취약성

버전 79 이전 안드로이드용 Firefox for Android는 SSDP에서 수신한 URL의 스키마를 제대로 검증하지 않아 원격 코드 실행에 취약했다.동일한 네트워크에 있는 공격자는 주물을 지원하는 장치인 것처럼 가장하는 악의적인 서버를 만들 수 있지만, 구성 파일 대신 악의적인 서버를 반환할 수 있다.intent://URL. Firefox는 의도(장치에서 지원되는 경우)를 실행하여 임의 코드를 실행한다.이것은 SSDP의 버그가 아니라 Firefox 주조 서비스에서 수행한 부적절한 검증일 뿐이다.[11]

참고 항목

참조

  1. ^ IETF 초안 개정 3(기존 및 만료)
  2. ^ "UPNP Device Architecture 1.1" (PDF). UPnP Forum. 2008-10-15. Archived from the original on 2015-11-07.{{cite web}}: CS1 maint : bot : 원본 URL 상태 미상(링크)
  3. ^ "UPnP Device Architecture v2.0" (PDF). upnp.org. February 20, 2015. Archived from the original on November 7, 2015.{{cite web}}: CS1 maint : bot : 원본 URL 상태 미상(링크)
  4. ^ "Internet Multicast Addresses". IANA. 2010-06-22.
  5. ^ "Internet Protocol Version 6 Multicast Addresses". IANA. Retrieved 2010-08-10.
  6. ^ Microsoft 기술 자료 문서 832017
  7. ^ DDoS 공격 가이드, 8페이지
  8. ^ "UDP-Based Amplification Attacks".
  9. ^ SSDP가 100Gbps DDoS 생성
  10. ^ "Stupidly Simple DDoS Protocol (SSDP) generates 100 Gbps DDoS". The Cloudflare Blog. 2017-06-28. Retrieved 2019-10-13.
  11. ^ Cimpanu, Catalin. "Firefox bug lets you hijack nearby mobile browsers via WiFi". ZDNet. Retrieved 2020-09-19.