¿Cuáles son algunos problemas de seguridad con WebSockets?

Los Websockets son tan seguros como las solicitudes estándar de XMLHttp, también conocidas como AJAX, excepto que mantienen la conexión abierta al servidor. Es el lado del servidor de la solicitud Websocket que necesita la seguridad. El servidor es FedEx y el cliente es el destinatario del paquete. Depende de FedEx asegurarse de que la persona que recibe el paquete sea la persona cuyo nombre está en la caja, esto es lo mismo para una sesión de websocket o solicitud de AJAX.

El escenario más simple en el que se encontrará utilizando Websockets es la autenticación de usuario. Crearía, devolvería y comprobaría en cada solicitud que el hash de la sesión es correcto y, si es súper paranoico, también envíe una marca de tiempo junto con cada solicitud y compare el tiempo transcurrido del lado del servidor para determinar si es una solicitud nueva o no (Sin embargo, la marca de tiempo se falsificará fácilmente, es solo otra capa).

Hasta donde sé, no hay ninguna vulnerabilidad en ninguna implementación moderna de navegador de Websockets de la que tenga cuidado. Por lo tanto, recuerde tratar una solicitud de WebSocket como una solicitud estándar de AJAX y solo envíe información a los usuarios que tienen permiso para enviarla.

Esta es una gran publicación al respecto.

HTML5 WebSocket Security es fuerte

Diría que su mayor preocupación es validar los datos. Si almacena datos del socket en la base de datos, asegúrese de que sean datos limpios. Cuando renderice datos de sockets en páginas, asegúrese de que no contenga etiquetas de script no deseadas.