Compartir a través de


Procedimientos recomendados sobre seguridad en Visual Studio SDK

Colaboradores de VSIP deben confirmar que tienen una responsabilidad de entender vulnerabilidades de seguridad de modo que pueda crear los mejores productos posibles.

Ayuda seguras de un producto protegen la siguiente:

  • Confidencialidad, integridad, y disponibilidad de información de cliente.

  • Integridad y disponibilidad de los recursos de procesamiento bajo el control del propietario o administrador del sistema.

vulnerabilidad de seguridad

Una vulnerabilidad de seguridad es puntos débiles en un producto que cree imposible evitar las actividades dañinas de un atacante, incluso cuando el producto se utiliza correctamente. Algunas actividades dañinas posibles:

  • Obtiene los permisos en un equipo superiores que los del usuario.

  • Suponer el control la operación del equipo de usuario.

  • Datos de compromiso en un equipo del usuario.

    Importante

    Nunca dé por sentado que la aplicación se ejecutará únicamente en entornos determinados.La aplicación podría utilizarse en los valores que no esperado, especialmente cuando la aplicación se popular.Suponga en lugar del código se ejecutará en entornos hostiles, y diseño, escritura, y pruebe el código en consecuencia.

Los productos y los sistemas diseñados y compilados con seguridad como característica primera son mejores que los escritos con seguridad como un cambio. Los productos seguros también son más inmunes a las medias críticas, más atractivos para los usuarios, y menos costosos a y soporte y actualización.

API peligrosas

Varias personas importuna ciertas API como peligrosos. Aunque las llamadas a algunas funciones pueden generar vulnerabilidades de seguridad no deseadas si se utilizan incorrectamente, prohibiendo su uso no muestra necesariamente código seguro. Sin embargo, algunos proyectos de software han conseguido mejoras mensurables en seguridad prohibiendo funciones que son difíciles de utilizar con seguridad, como uno de muchos procedimientos de Secure-desarrollo. Para obtener más información, vea el apéndice A libros de Microsoft Press, “escribiendo writing secure code” de Michael Howard y David LeBlanc.

Lo más importante a entender en cualquier comentario de API peligrosas es que la mayoría de los problemas de seguridad son el resultado de aplicar entrada sin adecuadamente comprobarlo. Asegúrese de seguir paso a paso los datos a medida que escribe el código y la pregunta las implicaciones de operaciones con los datos. Puede escribir código seguro utilizando la mayoría funciones si las entradas de datos están bien formadas y comprobado la existencia de confiabilidad.

Control de cuentas de usuario (UAC) en Windows Vista

Windows Vista agrega una característica denominada Control de (UAC) cuentas de usuario, que tiene implicaciones de seguridad que los desarrolladores de VSPackage deben entender. UAC reduce la exposición de ataque del sistema operativo y las aplicaciones. Para obtener más información, vea Procedimientos recomendados e instrucciones de programador para las aplicaciones en un entorno de Least Privileged.

Para instalar Visual Studio en Windows Vista, debe tener derechos de administrador. 

Bajo UAC, un usuario administrativo tiene los mismos derechos que solicita un usuario estándar hasta un proceso que requiere derechos de administrador. El proceso solicitado pide al usuario administrador permiso para continuar. Si se permite a, el permiso dura sólo hasta que finaliza el proceso. Por ejemplo, al escribir en una clave en el subárbol del registro HKEY_LOCAL_MACHINE o un directorio en la carpeta Archivos de programa requiere derechos de administrador; bajo UAC, permiso explícito de un usuario administrador se necesita para completar la operación de escritura.

Para minimizar el número de marcadores, la elevación de UAC de derechos afecta a un proceso entero y sólo aparece cuando el proceso comienza. Elevación de derechos para VSPackages aparece cuando Windows Vista inicia. Un Paquete no puede ejecutarse en un nivel diferente de los que el  Visual Studioy otro VSPackages.

Antes de que Windows Vista introdujera UAC, los desarrolladores ejecutaron normalmente Visual Studio con permisos de administrador aunque los no requieren. Por consiguiente, también se ejecutaban sólo VSPackages que tiene permisos de administrador. Esto todavía es true.

Visual Studio 2005 debe ejecutarse en un proceso elevado en Windows Vista. Por consiguiente, VSPackages también se ejecuta en un proceso elevado. Sin embargo, las versiones futuras de  Visual Studiono necesiten elevación. Asegúrese de en el futuro que el VSPackages no requiere innecesariamente derechos elevadas.

Observe que UAC también afecta a la implementación. Los paquetes de Windows Installer se deben crear correctamente para admitir UAC. Las causas incorrectamente creadas de un paquete “tienen acceso normalmente” a errores denegados porque el motor de Windows Installer intenta utilizar derechos estándar de realizar una tarea que requiere derechos elevadas.

Vea también

Conceptos

Procedimientos recomendados para la seguridad en VSPackages

Otros recursos

Recursos para crear aplicaciones seguras

Conceptos clave de seguridad