¿Sería efectivo HSTS si la CA del Proxy está en el almacén de confianza?
La fijación de clave pública integrada en Chrome y Firefox se ignora si el certificado está firmado por una CA que fue importada explícitamente por el usuario (es decir, de confianza pero no incorporada). Esto es para respaldar el caso de uso común de la interceptación legal de SSL en dispositivos de seguridad y software, es decir, para detectar malware incluso en conexiones cifradas.
No estoy seguro del encabezado HSTS, pero asumo que el comportamiento sería el mismo.
¿Hay alguna forma de protegerme contra este lado del servidor de ataques MITM?
No puede detectar qué CA se usa en el lado del cliente. Lo que puedes hacer es requerir un certificado de cliente. Tanto el MITM legal como el ilegal no podrán transportar el certificado del cliente original a través del MITM, por lo que fallarán (en la mayoría de los casos) o tendrán que volver a escribir el certificado del cliente que puede detectar en el lado del servidor.
Por supuesto, incluso con la solicitud de un certificado de cliente, no podrá detectar clientes en los que algún software (malware o no) tenga acceso al tráfico descifrado inyectándolo directamente en el navegador, es decir, utilizando extensiones de navegador o inyección de DLL o técnicas similares. .
Al igual que el servidor debe verificar el cliente para asegurarse de que se está utilizando el cliente correcto.
Todo lo que puedes hacer en el servidor es preguntar al cliente y verificar la respuesta. Ya que el cliente puede mentirle al servidor, puede hacer que sea difícil mentir ocultando el código y luego pidiendo cosas que solo pueden ser respondidas por el cliente que ejecuta el código de la manera correcta. Pero este puede ser el cliente correcto, el cliente incorrecto que entendió el código ofuscado o el cliente incorrecto simplemente instrumentando el código original.
Lo que realmente desea es una certificación remota de que no solo trata con un cliente original sin modificar, sino que también ningún otro proceso puede controlar de alguna manera el comportamiento de este cliente. Para obtener esto, debes comenzar mucho más profundo, es decir, normalmente ya debes tener el control del hardware del cliente, etc. Te recomiendo que estudies las técnicas que intentaron reforzar con XBox y Playstation para que solo puedan jugarse juegos originales y no modificados. jugó y con qué frecuencia se encontraron formas de evadir las técnicas de protección. O cómo Sony intentó controlar la PC de sus clientes para prohibir la copia de sus CD al infectar silenciosamente la PC con un kit raíz.