¿Qué es UPnP?
miaomioxinyun publicado el 2006-1-7 9:39:00
Pregunta: Acabo de conectarme a la red de banda ancha y escuché que si uso el protocolo "UPNP". correctamente, puedo aumentar la velocidad de la red, ¿qué es el protocolo "UPNP"? UPNP "¿Qué significa el protocolo?
Respuesta: El nombre completo de UPNP es Universal Plug and Play. La especificación UPnP se basa en el protocolo TCP/IP y fue desarrollada para que los dispositivos se comuniquen entre sí. De hecho, el desarrollo de UPNP es la esperanza de que todos los dispositivos conectados a Internet puedan comunicarse entre sí sin verse obstaculizados por puertas de enlace. Por ejemplo, usar MSN Messager para transferir archivos será más rápido y conveniente.
¿Cómo usar UPNP?
Primero, debemos ingresar a la interfaz de control web del enrutador y activar la función UPNP del enrutador. Después de ingresar la dirección del enrutador en el navegador e ingresar a la página de administración del enrutador, busque la función UPNP. y configúrelo como habilitado
Luego podemos ingresar a la configuración de Windows XP. En Windows XP, el módulo de soporte UPNP no está instalado de manera predeterminada, por lo que debemos instalarlo manualmente siguiendo estos pasos:
p >
En el cuadro de diálogo Agregar o quitar programas, haga clic en Agregar o quitar componentes de Windows. En el cuadro de diálogo Agregar o quitar programas, haga clic en Asistente para agregar o quitar componentes de Windows", haga clic en "Servicios de red", haga clic en "Detalles". y luego seleccione "Universal Plug and Play" Seleccione la casilla de verificación "Universal Plug and Play" Después de reiniciar, Windows XP le solicitará que busque nuevo hardware, ingrese En Network Neighbors, encontrará el enrutador, lo que indica que la función UNNP está activada. Actualmente, casi todos los enrutadores de banda ancha del mercado brindan soporte para la función UPNP. A través de nuestra configuración razonable, podemos obtener una mejor experiencia en la transferencia de archivos punto a punto y velocidades más rápidas. > Unified Plug and Play es Universal Plug and Play, abreviado como UPnP para periféricos de computadora (PnP para abreviar), puede que no sea extraño, pero la mayoría de nosotros estaremos confundidos acerca de unified plug and play desde Windows I. También he leído el documento técnico sobre UPnP y he leído en detalle la introducción de las vulnerabilidades de seguridad descubiertas. Por lo tanto, el autor aprovecha esta oportunidad para revelar los detalles de UPnP y las vulnerabilidades de seguridad que conducen a él. I.UPnP ¿Cuál es su finalidad?
El desarrollo de Internet nos ha permitido navegar por Internet, enviar y recibir correos electrónicos, escuchar sonidos lejanos, buscar contenidos de interés, descargar software, programas bajo demanda, chat instantáneo, etc...., parece que ya hay muchas funciones implementadas, pero los deseos humanos son ilimitados, las personas que disfrutan quieren disfrutar más, y aún quedan muchas metas que aún no se han logrado. : por ejemplo, UPnP todavía tiene muchos objetivos que no se han logrado: como por ejemplo, ¿cómo podemos operar aires acondicionados, ventiladores eléctricos, electrodomésticos de cocina o equipos eléctricos desde el extremo remoto de la red tal como usualmente usamos controles remotos en la red? ? ¿Cómo utilizar los recursos informáticos de la red para hacer más inteligente este "control remoto"? ¿O incluso escribir una serie de controles relacionados en scripts para que los usuarios puedan personalizar el proceso de control que deseen? ...... etc. Lograr tal efecto será una tecnología de aplicación de gran demanda. La utilización de UPnP para controlar dispositivos domésticos a través de la red traerá una gran comodidad y muchas experiencias nuevas a nuestras vidas. Por ejemplo:
1. Puedes encender el aire acondicionado y el equipo de cocina de casa antes de salir del trabajo o al regresar. Al entrar a casa, inmediatamente sentirás un ambiente con un ambiente adecuado. temperatura - en la cocina La comida ha sido preparada. La temperatura ambiente y el proceso de cocción en la cocina se basan en programas "guión" prediseñados y son absolutamente fiables.
2. Si eres un entusiasta de la música de alto nivel, debes tener requisitos muy estrictos para el entorno de escucha: posición de los altavoces, volumen, iluminación, cortinas o no. Aunque el control manual es bueno, después de todo es un inconveniente. Tienes que usar UPnP y todo se hará por ti. También puede escribir el volumen, el brillo de la luz, la altura del altavoz, etc. a los que está acostumbrado y escribir los parámetros que crea que son mejores en el script de ejecución, que puede usarse como estándar en el futuro. Si tiene su propia sala de escucha exclusiva, simplemente abra la puerta de la sala de escucha y el ambiente anterior se organizará de inmediato. Cuando termine la canción, simplemente aléjese y el sistema UPnP apagará el sonido, apagará las luces y cerrará las cortinas.
3. Estás en la oficina, pero no puedes dejar a tus hijos en casa. Con UPnP, sólo necesitas instalar una cámara web en tu casa y establecer una buena conexión de red. En la oficina, puede habilitar WEBTV en su computadora de escritorio y conectarse a Internet para monitorear instantáneamente las actividades de sus hijos en casa.
Todas estas comodidades y atracciones son demasiado numerosas para mencionarlas.
De hecho, esto ya no es ciencia ficción ni predicciones de expertos. ¡El protocolo UPnP actual le permite hacer todo esto! Esta es exactamente la razón por la que Windows XP se apresura a unirse a UPnP. Debido a que UPnP es un protocolo, UPnP se puede utilizar en varias plataformas de sistemas operativos y no existen restricciones de idioma de desarrollo al desarrollar aplicaciones. Puede funcionar en diversas formas de estructuras de red. Y solo necesita basarse en las instalaciones de red actuales, simplemente agregue este protocolo UPnP y podrá ponerlo en uso sin agregar nuevas instalaciones ni restablecer medios de red.
El protocolo UPnP tiene las siguientes características:
1. Utiliza la red como entorno de aplicación y no considera la "isla aislada" en la computadora.
2. Basado en TCP/IP y en todo Internet. Es "neutral", no depende de ningún sistema operativo o aplicación, no utiliza funciones API específicas y no está restringido por lenguajes de programación. Acceso perfecto a las redes tradicionales.
3. Un dispositivo puede ingresar dinámicamente a la red, obtener posteriormente una dirección IP, "aprender" o encontrar información sobre las operaciones y servicios que debe realizar, y "percibir" la existencia de otros dispositivos, sus roles y estado actual. Todo esto debería automatizarse.
4. Cada dispositivo puede leer su propio estado y parámetros específicos; una vez completada la operación de control, debe enviar una señal de respuesta de "operación completada". Si falla, se debe señalar un fallo de control.
Capas del protocolo UPnP:
El objetivo final del protocolo UPnP es establecer un modelo de dispositivo utilizable. Debido al espacio limitado, no analizaremos toda la estructura en detalle aquí, pero debes recordar las siguientes características principales:
1. UPnP es un protocolo multicapa, que consta de un marco de sistema, cada capa de la capa inferior adyacente Como base, se compone simultáneamente la base de la capa superior adyacente. La capa inferior de la figura es IP y TCP, las dos últimas capas, responsables de la dirección IP del dispositivo.
2. Las tres capas son HTTP, HTTPU y HTTPMU. Todos deberían estar familiarizados con esta capa y pertenece a la capa del protocolo de transporte. El contenido de la transmisión se "encapsula" y se almacena en un archivo XML específico. Los SSDP, GENA y SOAP correspondientes se refieren a los formatos de datos guardados en archivos XML. En esta capa, se resolvió el problema de las direcciones IP y la información de transporte para dispositivos UPnP.
3. La cuarta capa es la definición de la arquitectura del dispositivo UPnP, que es solo un modelo de dispositivo universal abstracto. Cualquier dispositivo UPnP debe utilizar esta capa.
4. La quinta capa es la capa de definición de equipos de los comités profesionales del Foro UPnP. Los diferentes equipos eléctricos son definidos por diferentes comités profesionales. Por ejemplo, el Comité de Televisión solo es responsable de definir la red de televisión. parte de equipos, y el Comité de Climatización solo es responsable de definir Definir la parte de equipos de aire acondicionado de red..... etc. Todos los diferentes tipos de dispositivos se definen como un esquema o plantilla especializada para construir dispositivos. Se puede inferir que al ingresar a esta capa se le da al dispositivo un propósito claro. Por supuesto, estos deben cumplir con especificaciones estandarizadas.
A juzgar por la situación actual, UPnP ya puede admitir la mayoría de los dispositivos: desde computadoras y periféricos de computadora hasta dispositivos móviles y productos electrónicos de consumo domésticos. A medida que el sistema se vuelve más popular, es posible que más fabricantes reconozcan el estándar y eventualmente se convierta en un estándar industrial reconocido.
5. La capa superior es la capa de aplicación, que está definida por el fabricante del dispositivo UPnP. La información de esta capa la "rellena" el fabricante del dispositivo, y esta sección normalmente contiene el código de bajo nivel proporcionado por el fabricante del dispositivo para controlar y operar el dispositivo, así como el nombre y los números de serie, información del proveedor, etc.
3. Detalles internos del protocolo
Solo existe un protocolo UPnP de cinco capas y solo existe un marco de seguridad y cumplimiento. ¿Cómo está estructurado el sistema UPnP real? ¿Paño de lana?
Un sistema de servicio UPnP completo consta de redes que admiten UPnP y dispositivos que cumplen con el estándar UPnP.
Todo el sistema está formado por dispositivos, servicios y punteros de control.
Dispositivo:
Se refiere a un dispositivo que cumple con el estándar UPnP. Puedes pensar en un dispositivo UPnP como un "contenedor" que contiene servicios anidados dentro de un dispositivo normal. Por ejemplo, un dispositivo VCR (grabador de vídeo) UPnP puede contener servicios de transferencia de cintas, servicios de sintonización y servicios de reloj. Es decir, los dispositivos UPnP no deben entenderse sólo como dispositivos en el sentido de hardware, sino que deben incluir capacidades de servicio.
Se asociarán diferentes tipos de dispositivos UPnP con diferentes configuraciones, servicios y dispositivos integrados. Por ejemplo, las impresoras y las grabadoras de vídeo son dispositivos con usos diferentes y los servicios no se pueden definir de la misma manera.
Servicio:
El proceso de control del dispositivo que ejecuta la solicitud del usuario se puede dividir en etapas o unidades muy pequeñas, y cada etapa o unidad se denomina servicio. Cada servicio aparece desde el exterior como comportamientos y patrones específicos, y estos comportamientos y patrones pueden describirse mediante estados y valores variables. Siempre que pueda describirse mediante valores, es fácil de manejar dentro de la computadora. Por ejemplo, un reloj analógico tiene un solo modo de funcionamiento: simular y mostrar la hora actual. El reloj tiene dos (y sólo dos) comportamientos:
1. Configurar la hora ("ajustar el reloj").
2. Obtener la hora (se utiliza para mostrar la hora).
Los métodos de descripción y definición de otros servicios del dispositivo son los mismos. Un dispositivo puede definir múltiples servicios. La información de definición del dispositivo y la información de descripción del servicio se almacenan en un archivo XML, que también forma parte del protocolo UPnP. Cuando un dispositivo crea y utiliza un servicio, se puede asociar un archivo XML con el servicio.
El archivo XML también contiene una importante "tabla de estado", que se puede dividir en "tabla de estado del servicio" y "tabla de estado de eventos". Durante todo el funcionamiento del dispositivo UPnP, la tabla de estado se ejecuta durante todo el proceso. Cuando el estado del dispositivo cambia, como cambios de parámetros o actualización de estado, se refleja inmediatamente en la "tabla de estado". Por ejemplo, si el servidor de control recibe una solicitud para establecer la hora, inmediatamente ejecuta la solicitud (operación de cronometraje), da una respuesta y actualiza los datos relevantes en la tabla de estado. En consecuencia, el servidor de eventos es responsable de publicar los cambios de estado que se han producido en los dispositivos interesados en el evento. Por ejemplo, después de que ocurre un incendio, el servidor de eventos publica el evento en la alarma de incendio, lo que hace que la alarma actúe para generar una señal de alarma.
Puntero de control:
En la red UPnP, el control que realiza el usuario solicitado por el dispositivo se logra a través del puntero de control. El puntero de control es en primer lugar un controlador con capacidad de. controlar otro dispositivo. También tiene la capacidad de "descubrir" objetivos de control en la red. Después del descubrimiento (objetivo de control), el puntero de control debe:
① Obtener la información de descripción del dispositivo y obtener una lista de servicios relacionados.
① Obtenga la descripción del dispositivo y la lista de servicios relacionados.
③ Llamada para controlar el comportamiento del servicio.
④ Determine el "fuente" del evento del servicio Siempre que cambie el estado del servicio, el servidor de eventos enviará inmediatamente un mensaje de evento al puntero de control.
La diversa información descrita anteriormente se almacena en archivos XML y se utilizan diferentes formatos para diferentes propósitos. Garantizado que puede obtener lo que necesita sin confusión.
Entonces, ¿cuál es el proceso de trabajo completo de UPnP?
UPnP proporciona comunicación entre el puntero de control y el dispositivo controlado. El protocolo TCP/IP y HTTP de los medios de red solo proporcionan conexiones básicas y asignación de direcciones IP. Todo el proceso de trabajo debe abordar seis aspectos: asignación de direcciones, descubrimiento de dispositivos, descripción de dispositivos, control de dispositivos, eventos de dispositivos y expresión de dispositivos.
Problema de asignación de direcciones:
La asignación de direcciones es la condición básica para que funcione todo el sistema UPnP, y cada dispositivo debe ser un cliente DHCP (Protocolo de configuración dinámica de host). Cuando un dispositivo se conecta por primera vez a una red, el servicio DHCP se utiliza para obtener una dirección IP para el dispositivo. Esta dirección IP puede ser asignada por el sistema DHCP o seleccionada por el propio dispositivo. Por supuesto, los dispositivos que pueden seleccionar su propia dirección IP deben ser dispositivos "inteligentes". Esto también se conoce como dirección IP "automática".
Si hay solicitudes de direcciones IP fuera del alcance de la administración DHCP local, también deberá resolver el problema de la asignación de direcciones a dispositivos amigables, que generalmente lo maneja un servidor de nombres de dominio.
Descubrimiento de dispositivos:
Existen dos métodos: uno es buscar dispositivos disponibles en la red actual después de emitir una solicitud de control, el otro es acceder a la red y obtener una IP; dirección cuando el dispositivo retrocede la red "difunde" que el dispositivo ha entrado en la red, es decir, está buscando solicitudes de control. Los dispositivos también se pueden utilizar como solicitudes de control.
Descripción del dispositivo:
En pocas palabras, se trata de una declaración del tipo de dispositivo, como nombre, fabricante, número de serie, etc. Cuando se "descubre" un dispositivo por primera vez, la instrucción de control sabe muy poco sobre el dispositivo, por lo que necesita buscar los archivos de descripción del dispositivo según el ULR y leer más información de descripción de esos archivos. La información descriptiva es muy amplia y suele ser proporcionada por el fabricante del dispositivo. Los elementos de descripción principal incluyen: el nombre del modo y el número de modo del controlador, el número de serie del dispositivo, el nombre del fabricante, el ULR de la WEB del fabricante, etc. Estos contenidos generalmente se almacenan en archivos XML específicos;
Control de dispositivo:
Después de que el puntero de control encuentre la descripción del dispositivo, "extraerá" la operación a realizar de la descripción y conocer todos los servicios; para cada dispositivo UPnP, estas descripciones deben ser muy precisas y detalladas. La descripción puede incluir una lista de comandos o acciones, así como una lista de servicios. Para cada dispositivo UPnP, estas descripciones deben ser muy precisas y detalladas y pueden incluir listas de comandos o acciones, información de respuesta del servicio, parámetros utilizados, etc. Para cada comportamiento del servicio, también existe información descriptiva: principalmente las variables utilizadas durante todo el proceso del servicio, los tipos de datos de las variables, los rangos de valores disponibles y las características de los eventos.
Para controlar el dispositivo, el puntero de control primero debe enviar una solicitud de acción de control, solicitando al dispositivo que inicie el servicio, y luego enviar el mensaje de control correspondiente según la ULR del dispositivo, es decir, un Mensaje en formato SOAP en un archivo XML. Finalmente, el servicio devuelve un mensaje de respuesta indicando el éxito o fracaso del servicio.
Eventos del dispositivo:
A lo largo del servicio, siempre que cambie el valor de la variable o el estado del modo, se generará un evento y el sistema modificará el contenido de la lista de eventos anterior. Luego, el servidor de eventos transmite el evento a toda la red. Por otro lado, el puntero de control también puede suscribirse a información de eventos del servidor de eventos por adelantado para garantizar que los eventos que le interesan al puntero de control se envíen de manera oportuna y precisa.
La retransmisión o suscripción a un evento transmite un mensaje del evento, que también se coloca en un archivo XML en formato GENA.
El proceso de inicialización (es decir, el proceso de preparación antes de que el equipo se ponga en funcionamiento) también es un evento, y en el mensaje del evento también se transmitirá diversa información requerida para la inicialización. Estos incluyen los valores iniciales de las variables, el estado inicial del patrón, etc.
Representación del dispositivo:
Una vez que tenga la ULR del dispositivo, puede obtener la ULR de la página de representación del dispositivo y luego incluir la representación en el navegador local del usuario. Esta parte también incluye la interfaz para el diálogo con el usuario y el manejo de la sesión con el usuario.
Todo el sistema UPnP trabaja en conjunto bajo el mando del "sistema nervioso central".
La situación general es la siguiente:
Todos los dispositivos con direcciones IP deben usar directamente la dirección IP de la red, pero es posible que algunos dispositivos no tengan la capacidad de usar directamente la dirección IP de la red. Por ejemplo, el interruptor de control de luz. es así. Este es un dispositivo que no es IP; el dispositivo que no es IP intercambia información con el puntero de control a través del puente (Puente UPnP).
Los dispositivos que utilizan direcciones IP directamente incluyen: punteros de control (que pueden emitir control a computadoras portátiles y dispositivos locales (como grabadoras de video y relojes); Los dispositivos que no son IP son los llamados dispositivos livianos (como los controladores de temperatura) y dispositivos que no son UPnP (como los interruptores de control de iluminación).
La introducción anterior pertenece al aspecto del hardware, hablemos del software de control como el alma: en la introducción anterior, se menciona muchas veces que los archivos XML se utilizan para almacenar la información requerida, porque si Ya sea el puntero de control o el servicio del dispositivo, todos requieren mucha información, algunos se leen, otros se envían y el protocolo UPnP acepta que se almacenen en archivos XML específicos. La información para diferentes propósitos tiene un formato diferente en los archivos XML. Por tanto, el archivo XML correspondiente es el alma del servicio de control.
4. Respecto a las vulnerabilidades de seguridad ocultas de UPnP:
Esta vez se descubren dos vulnerabilidades de seguridad La primera es la falta de uso del buffer (Buffer y). Limitaciones. ¡Un atacante externo puede hacerse con el control de todo el sistema aquí! Debido a que la función UPnp debe utilizar los puertos de la computadora para funcionar, es posible que un atacante que obtenga el control explote estos puertos para sus propósitos. Las consecuencias de esta vulnerabilidad son graves y el peligro existe independientemente de la versión de Windows en la que esté ejecutando UPnP. Pero estrictamente hablando, esto no es enteramente un problema con la tecnología UPnP en sí, sino más bien un descuido de la programación.
¡El segundo defecto tiene que ver con la forma en que funciona UPnP!
Esta falla existe en la fase de "descubrimiento de dispositivo" de la operación UPnP. El descubrimiento de dispositivos se puede dividir en dos situaciones: si una computadora con función UPnP se inicia exitosamente y se conecta a la red, enviará inmediatamente una "transmisión" a la red para notificar a los dispositivos UPnP en la red que está listo en la programación. nivel, el contenido de la transmisión es una BÚSQUEDA M (A nivel de programación, la transmisión es una instrucción M-SEARCH. Todos los dispositivos dentro del rango de "sonido" pueden "escuchar" la transmisión. Proporcionará a la computadora información sobre información sobre sí mismo para su posterior control.
Del mismo modo, si un dispositivo acaba de conectarse a la red, enviará una "notificación" a la red de que está listo para ser controlado por todas las computadoras dentro de la red. La cobertura de voz "percibirá" que el dispositivo se ha "registrado" en ellos. De hecho, la indicación NOTIFICAR no sólo se envía al ordenador para escucharla, sino también a otros dispositivos de la red.
El problema. se encuentra entre transmisión y monitoreo.
Si el pirata informático envía una NOTIFICACIÓN al sistema del usuario, se le indicará al sistema del usuario que se conecte a un servidor específico después de recibir la NOTIFICACIÓN y luego solicite Descargar el servicio del correspondiente. servidor: descargue el contenido del servicio que se ejecutará. El servidor, por supuesto, responderá a esta solicitud. El sistema de servicio UPnP interpretará la parte de descripción del dispositivo y solicitará enviar más archivos. El servidor también responderá. a. Esto constituye un ciclo de "solicitud-respuesta", que consume una gran cantidad de recursos del sistema, lo que hace que el servicio del sistema UPnP se ralentice o incluso se detenga. Por lo tanto, esta falla puede provocar un ataque de "denegación de servicio". > Conclusión
UpnP está llegando a nosotros paso a paso y su voz se puede escuchar ahora. En un futuro cercano, tendrá un gran impacto en nuestro trabajo y nuestra vida, y también contiene oportunidades comerciales ilimitadas. .
Aunque ahora hay problemas, no hay garantía de que no surjan nuevos problemas en el futuro, pero dado que esto refleja la intención original de las necesidades humanas, debe contener una enorme vitalidad, ¡y los contratiempos temporales no impedirán que avance!
Protocolo de transmisión:
Los principales utilizados son HTTP, HTTPU y HTTPMU:
HTTP:
Ni que decir su nombre, Pero en lo que respecta al sistema UPnP, HTTP y sus protocolos derivados son parte del núcleo.
HTTPU y HTTPMU:
Se derivan y definen a partir del protocolo HTTP. Se utilizan principalmente para transmitir mensajes de dispositivos en formato SSDP.
SSDP:
SSDP es el Protocolo simple de descubrimiento de servicios, que define cómo se descubren los servicios de red en la red. SSDP también especifica el formato de la información almacenada en archivos XML. La entrega de información SSDP se basa en HTTPU y HTTPMU. Ya sea que esté controlando punteros o dispositivos UPnP, inevitablemente utilizará SSDP en su trabajo. Una vez que el dispositivo está conectado a la red, debe usarlo para transmitir su existencia a la red (la información de transmisión también contiene una descripción de la ubicación del dispositivo) para establecer contacto con el puntero de control correspondiente y el puntero de control lo antes posible; ¿Utiliza SSDP para buscar dónde está el dispositivo a controlar? El puntero de control utiliza SSDP para encontrar la ubicación del dispositivo que desea controlar y excluye los dispositivos y punteros de control que ya existen, atendiendo sólo a las partes más recientes o aún no "contactadas".
Los punteros de control utilizan SSDP enviando una solicitud de búsqueda a través de HTTPU, que puede ser muy detallada, incluyendo incluso el tipo de dispositivo y servicio requerido. Por ejemplo, solicitar un servicio para configurar el reloj de una grabadora específica.
Un dispositivo utiliza SSDP "escuchando" información proveniente de un puerto de red, buscando una coincidencia y, una vez que la encuentra, envía una respuesta al puntero de control a través de HTTPMU.
GENA:
Este es el formato de los mensajes de eventos y representa la Arquitectura Genérica de Notificación de Eventos. El mensaje del evento es como se describe arriba.
SOAP:
Este es el protocolo simple de acceso a objetos que en realidad se utiliza para entregar mensajes de control y devolver la respuesta del dispositivo al mensaje. Utiliza XML y HTTP para realizar llamadas remotas. El uso de firewalls u otras medidas de seguridad de la red no afecta el uso de SOAP.
Cada solicitud de control UPnP se proporciona como un mensaje de control SOAP, que también contiene una descripción del comportamiento del control y los parámetros utilizados.