Nuestra empresa desarrolla aplicaciones de escritorio de Windows. Ofrecemos soluciones listas para usar, no desarrollo personalizado. Un nuevo cliente potencial desea agregar una sección a nuestro contrato estándar que requiere que usemos una herramienta de "Análisis de aplicaciones". Mencionan específicamente el AppScan de IBM. Sin embargo, esa herramienta parece ser para aplicaciones web, no para aplicaciones de escritorio.
Nuestras aplicaciones se desarrollan utilizando Delphi (desde Embarcadero, anteriormente Borland hace mucho tiempo). Somos una pequeña tienda de dos desarrolladores. Si bien puedo entender por qué un cliente querría algo como esto en un contrato, no estoy seguro de cómo puedo lograrlo.
¿Hay otras "herramientas estándar de la industria" como parece indicar el lenguaje de su contrato?
¿Se está convirtiendo esto en una práctica común entre los ISV?
¿Existen pautas para que los ISV cumplan con este tipo de requisitos de revisión de seguridad? Sé que hay una serie de sitios para prácticas de codificación seguras (verificar la entrada del usuario, los desbordamientos del búfer, la inyección de SQL, etc.) pero nunca he visto nada que discuta la preparación de una revisión de seguridad que convenciera a un usuario final de que el programador hizo su trabajo. trabajo correctamente.
Esto es lo que quieren agregar al contrato:
x.x Revisión y pruebas de seguridad del software. Un proceso de escaneo de seguridad. Se realizará sobre los componentes de la aplicación para cada producción. lanzamiento del Software licenciado por el Licenciatario de conformidad con este Acuerdo previo a la puesta a disposición de un importante lanzamiento de tales. componentes Dicho escaneo de seguridad será realizado por el Licenciante. utilizando la herramienta de escaneo de aplicaciones de IBM AppScan o una alternativa, Herramienta estándar de la industria ("Application Scanning"). El vendedor también realizar pruebas de penetración manual ("Pruebas de penetración") para cada lanzamiento importante de los productos principales. El vendedor llevará a cabo la aplicación Escaneo en cada componente de la aplicación como se establece en el Programar bajo el Acuerdo un mínimo de una (1) vez por año. El proveedor proporcionará y revisará con el Licenciatario un informe del Los resultados de la exploración y penetración de aplicaciones más recientes del proveedor Pruebas para el software AgWare.
La aplicación en sí es una aplicación estándar de Windows. Puede conectarse a una base de datos de Access o una base de datos de SQL Server para su almacenamiento de datos. Los usuarios preocupados por la seguridad obviamente usarán SQL Server. No hay un nivel intermedio: me conecto directamente desde la aplicación al servidor SQL. La conexión se realiza mediante una conexión de confianza y todo el acceso a los datos se realiza a través de procedimientos almacenados.
Puedo entender cómo se ejecuta algún tipo de escáner de seguridad en la base de datos SQL. es decir, algo que verificaba que una tabla no se dejaba con acceso abierto. Es interesante que la base de datos no fue tratada en el contrato.
Probablemente pueda presionar el problema y decir que AppScan no se puede ejecutar en aplicaciones de escritorio y hacer que eliminen la sección del contrato. Verlo me hizo preguntarme si algún desarrollador de aplicaciones de escritorio está ejecutando algún tipo de escáner en su software.