UPNP интерпретируется следующим образом: для частного компьютера функция UPnP от BitComet может заставить модуль NAT-шлюза или маршрутизатора автоматически выполнять отображение портов и отображать порт, который BitComet прослушивается от шлюза или роутера, к компьютеру интранета. Модуль сетевого брандмауэра шлюза или роутера начинает открывать этот порт для других компьютеров в Интернете. Технология обхода NAT позволяет веб-приложениям определять, находятся ли они позади устройства NAT, поддерживающей UPnP. Эти программы получают общий глобальный маршрутизируемый IP-адрес и настраивают отображение портов для пересылки пакетов с внешних портов NAT на внутренние порты, используемые приложением — всё это автоматически, без необходимости вручную настраивать порты или делать что-либо другое. Технология обхода NAT позволяет сетевым устройствам или приложениям взаимодействовать с внешним миром через шлюзы NAT, динамически открывая и закрывая порты связи с внешними сервисами. Другими словами, её можно резюмировать следующим образом: эффективность преобразования простого NAT невысока, и если будет задействована технология UPNP, эффективность преобразования данных NAT может быть повышена. Звучит как хорошая идея. Но что???
У UPNP есть серьёзные недостатки: Вот отрывок:
Первый недостаток — использование буферов не контролируется и не ограничено. Внешние злоумышленники могут получить права контроля над всей системой благодаря этому! Поскольку функция UPnp должна использовать порты компьютера для работы, злоумышленник, получивший контроль, также может использовать эти порты для достижения цели злоумышленника. Последствия этого дефекта очень серьёзны, независимо от версии системы Windows, пока работает UPnP, существует такая опасность! Но строго говоря, это не совсем проблема самой технологии UPnP, а скорее недосмотр программирования. Второй недостаток связан с рабочим механизмом UPnP. Дефект возникает на этапе «обнаружения устройства», когда работает UPnP. Обнаружение устройства можно разделить на две ситуации: если компьютер с поддержкой UPnP успешно загружается и подключается к сети, он немедленно отправляет «broadcast» в сеть, уведомляя UPnP-устройство в сети о своей готовности, а на уровне программирования вещание — это инструкция M-SEARCH (сообщение). Трансляция будет «услышана» всеми устройствами в пределах «звуковой зоны досягаемости». И отправляет соответствующую информацию компьютеру для последующих целей управления. Аналогично, если устройство просто подключено к сети, оно также отправляет «уведомление» в сеть о готовности принять управление от сети, что является индикатором NOTIFY на уровне программирования. Он также будет принят всеми компьютерами в диапазоне «звукового диапазона». Компьютер «почувствует», что устройство «доложило самому себе». На самом деле инструкции NOTIFY не только отправляются на компьютеры, но и могут быть слышны другими сетевыми устройствами. Именно в упомянутом выше эфире и прослушивании возникает проблема! Если хакер отправляет команду NOTIFY в систему пользователя, система пользователя получает эту инструкцию и подключается к конкретному серверу по инструкциям, а затем запросит сервис загрузки на соответствующий сервер — скачать содержимое сервиса для выполнения сервиса. Сервер, конечно, ответит на этот запрос. Сервисная система UPnP объяснит описание устройства, запросит отправку дополнительных файлов, и сервер должен будет отвечать на эти запросы. Таким образом, формируется цикл «запрос-ответ», который занимает большое количество системных ресурсов и приводит к замедлению или даже прекращению скорости сервиса UPnP. Так что этот недостаток сделает возможным атаку «отказа в обслуживании»!
На самом деле, другими словами, функция UPNP постоянно потребляет собственные сетевые ресурсы на этапе использования, и когда сетевые ресурсы устройства исчерпаются, возникает явление приостановленной анимации. Просто посмотрите на приведённую выше информацию. |