Vulnerabilidades comunes para aplicaciones WinForms

No estoy seguro de si esto está relacionado con el tema o no, pero es tan específico de .NET WinForms que creo que tiene más sentido aquí que en el sitio de Security stackexchange.

(Además, está relacionado estrictamente concodificación segura, y creo que está tan relacionado con el tema como cualquier pregunta sobre vulnerabilidades comunes de sitios web que veo en todo el sitio.)

Durante años, nuestro equipo ha estado modelando amenazas en proyectos de sitios web. Parte de nuestra plantilla incluye elOWASP Las 10 principales más otras vulnerabilidades conocidas, de modo que cuando hacemos el modelado de amenazas, siempre nos aseguramos de que tenemos un proceso documentado para abordar cada una de esas vulnerabilidades comunes.

Ejemplo:

Inyección SQL (Owasp A-1)

Práctica estándarUtilice los procedimientos parametrizados almacenados cuando sea posible para acceder a los datos cuando sea posibleUtilice consultas parametrizadas si los procedimientos almacenados no son factibles. (Usando un DB de terceros que no podemos modificar)Escape de las comillas simples solo cuando las opciones anteriores no sean factiblesLos permisos de la base de datos deben diseñarse con el principio de privilegios mínimosPor defecto, los usuarios / grupos no tienen acceso.Durante el desarrollo, documente el acceso necesario para cada objeto (Tabla / Vista / Procedimiento almacenado) y la necesidad empresarial de acceso.[recorte]

En cualquier caso, utilizamos el Top 10 de OWASP como punto de partida para las vulnerabilidades conocidas comúnmente específicas de los sitios web.

(Finalmente a la pregunta)

En raras ocasiones, desarrollamos aplicaciones WinForms o Windows Service cuando una aplicación web no satisface las necesidades. Me pregunto si hay una lista equivalente de vulnerabilidades de seguridad comúnmente conocidas para las aplicaciones WinForms.

Desde lo alto de mi cabeza, puedo pensar en algunos ...

La inyección SQL sigue siendo una preocupación.El desbordamiento de búfer normalmente se evita mediante el CLR, pero es más posible si se usa un código no administrado combinado con un código administradoEl código .NET se puede descompilar, por lo que se almacena información confidencial en el código, en lugar de encriptarse en la aplicación.config ...

¿Existe tal lista, o incluso varias versiones de dicha lista, de las cuales podemos tomar prestados para crear la nuestra? Si es así, ¿dónde puedo encontrarlo?

No he podido encontrarlo, pero si hay uno, sería de gran ayuda para nosotros, y también para otros desarrolladores de WinForms.

Respuestas a la pregunta(3)

Su respuesta a la pregunta