UPNP는 다음과 같이 해석됩니다: 개인용 컴퓨터의 경우, BitCot의 UPnP 함수는 게이트웨이나 라우터의 NAT 모듈이 자동으로 포트 매핑을 수행하고, 게이트웨이나 라우터에서 인트라넷 컴퓨터로 비트코멧이 청취하는 포트를 매핑할 수 있습니다. 게이트웨이나 라우터의 네트워크 방화벽 모듈이 이 포트를 인터넷의 다른 컴퓨터로 열기 시작합니다. NAT 트래버설 기술은 웹 애플리케이션이 UPnP 지원 NAT 장치 뒤에 있는지 감지할 수 있게 합니다. 이 프로그램들은 공유 글로벌 라우팅 가능한 IP 주소를 받고, NAT 외부 포트에서 애플리케이션이 사용하는 내부 포트로 패킷을 전달하는 포트 매핑을 자동으로 설정하며, 사용자가 수동으로 포트 매핑을 하거나 다른 작업을 할 필요가 없습니다. NAT 트래버설 기술은 네트워크 장치나 피어 투 피어 애플리케이션이 NAT 게이트웨이를 통해 외부 서비스와의 통신 포트를 동적으로 열고 닫는 방식으로 외부와 통신할 수 있게 합니다. 즉, 간단 NAT의 변환 효율은 높지 않으며, UPNP 기술이 도입되면 NAT 데이터 변환 효율이 향상될 수 있다는 것을 요약할 수 있습니다. 좋은 일인 것 같아요. 하지만 어떤???
UPNP에는 심각한 단점이 있습니다: 다음은 발췌문입니다:
첫 번째 결함은 버퍼 사용이 점검되고 제한되지 않는다는 점입니다. 외부 공격자는 이를 통해 시스템 전체의 통제 권한을 얻을 수 있습니다! UPnp 기능은 작동하기 위해 컴퓨터의 포트를 사용해야 하므로, 제어권을 획득한 공격자는 이 포트를 이용해 공격자의 목표를 달성할 수도 있습니다. 이 결함의 결과는 매우 심각합니다. 어떤 버전의 윈도우 시스템이든 UPnP가 실행 중인 한 이 위험은 존재합니다! 하지만 엄밀히 말하면, 이것은 전적으로 UPnP 기술 자체의 문제가 아니라 프로그래밍 실수에 가깝습니다. 두 번째 결함은 UPnP의 작동 메커니즘과 관련이 있습니다. 결함은 UPnP가 작동하는 '장치 발견' 단계에서 발생합니다. 장치를 발견하는 것은 두 가지 상황으로 나눌 수 있습니다: UPnP 지원 컴퓨터가 성공적으로 부팅되어 네트워크에 연결되면, 즉시 네트워크에 "브로드캐스트"를 보내 네트워크 내 UPnP 장치에 준비가 되었음을 알리고, 프로그래밍 수준에서는 브로드캐스트 콘텐츠가 M-SEARCH(메시지) 명령어입니다. 이 방송은 "음향 범위" 내 모든 장치에서 "들리는" 것입니다. 그리고 관련 정보를 컴퓨터에 피드백하여 이후 제어 목적을 지원한다. 마찬가지로, 장치가 네트워크에 막 연결되어 있을 때도 네트워크에 "알림"을 보내는데, 이는 프로그래밍 수준에서 NOTIFY 신호입니다. 또한 "음향 범위" 내 모든 컴퓨터에서도 이를 인정할 수 있습니다. 컴퓨터는 장치가 "스스로에게 보고"했다는 것을 "감지"합니다. 실제로 NOTIFY 명령어는 컴퓨터로 전송될 뿐만 아니라 다른 네트워크 장치에서도 들을 수 있습니다. 위에서 언급한 방송과 청취에서 문제가 발생합니다! 해커가 사용자의 시스템에 NOTIFY 명령을 보내면, 사용자의 시스템은 이 NOTIFY 명령을 받고 해당 서버에 연결한 후, 해당 서버에 다운로드 서비스를 요청하여 실행할 서비스 내용을 다운로드합니다. 서버는 물론 이 요청에 응답할 것입니다. UPnP 서비스 시스템은 장치의 설명을 설명하고, 더 많은 파일을 요청하며, 서버는 그 요청에 응답해야 합니다. 이렇게 하면 "요청-응답" 사이클이 형성되어 많은 시스템 자원을 차지하고 UPnP 시스템 서비스 속도를 느리거나 심지어 멈추게 만듭니다. 그래서 이 결함이 '서비스 거부' 공격을 가능하게 할 것입니다!
즉, UPNP 기능은 사용 단계에서 지속적으로 자체 네트워크 자원을 소비하며, 장치의 네트워크 자원이 소진되면 정지 상태(suspended animation) 현상이 발생합니다. 위 정보를 한번 보세요. |