¿Por qué Java es más seguro que Dot Net?

Arquitectónicamente, no hay grandes diferencias de seguridad entre las dos plataformas. Ambos imponen un sandbox de ejecución. Ambos brindan soporte para la firma de código. Las dos plataformas son aproximadamente más o menos seguras.

Dado que el tiempo de ejecución de .NET tiene características adicionales para admitir la compilación de lenguajes no confiables como C, los módulos que usan estas características no se cargarán en un entorno confiable [a menos que sea explícitamente confiable].

De hecho, Microsoft Research incluso construyó un sistema operativo que dependía del CLR para las aplicaciones de sandbox. Evitaron el aislamiento de procesos en diferentes espacios de direcciones ya que ya no era necesario. A cambio, habían reducido significativamente los costos de comunicación entre procesos [mediante el uso de un montón compartido globalmente].

Singularidad (sistema operativo) – Wikipedia

Java es más seguro que .net

Hay varias razones para ello:

1) El tipo de varias características como ArrayIndexOutOfBound, Null Checks, etc. lo que nos ayuda a evitar cometer varios errores en la aplicación.

2) También hay varios niveles de seguridad de la biblioteca.

Para obtener más información, consulte las características de seguridad de Java
3) Verificación de byetcode antes de la ejecución del código, lo que evita cualquier salto a instrucciones aleatorias.

En realidad no lo es.

Los defectos promedio por MB de .NET-Code son 27.2, para Java, la densidad es 30.0.

¿Es .NET más seguro que Java? – Neil MacDonald