¿Cómo realiza "Pruebas de software" las pruebas de seguridad de las aplicaciones?
En proyectos SDK recientes, el software antivirus de terceros informó sobre virus. Más tarde, después de la inspección, se descubrió que se detectó que la lógica de la animación de la ventana flotante del SDK tenía un virus y finalmente se modificó. Aunque el asunto se ha resuelto, una de las razones de este problema es que no hay pruebas de seguridad en la prueba y no existen estándares ni métodos para las pruebas de seguridad. Así que hoy clasificaré las pruebas de seguridad en las que participé en mi trabajo anterior, así como la información sobre las pruebas de seguridad que he leído en línea. Por favor, perdóname si hay alguna deficiencia.
2. Permisos de software
1) Riesgo de deducción: si navegar por la web, descargar, etc. dará lugar a deducciones. Generalmente, las aplicaciones de juegos y las aplicaciones sociales deberían considerarlas.
2) Riesgo de fuga de privacidad. Por ejemplo, cuando instalamos una aplicación, generalmente vemos mensajes como "xx quiere ver la libreta de direcciones del teléfono móvil", lo que puede hacer que el usuario se niegue a recibirla. Los anteriores son los puntos de prueba en las pruebas de aplicaciones.
3) Verificar entrada. Si la aplicación tiene un cuadro de entrada, se debe verificar la información de entrada. Por ejemplo, la contraseña no se puede mostrar en texto sin formato. En la prueba, a Hong se le pidió que ingresara los resultados de la prueba al registrarse.
4) Restringir/permitir el uso de funciones del teléfono móvil para conectarse a Internet, enviar y recibir mensajes, iniciar aplicaciones, tomar fotografías o grabar sonidos en el teléfono móvil y leer y escribir datos del usuario. Esto se utiliza ampliamente en la industria de las comunicaciones. Los fabricantes de chips como Spreadtrum y Qualcomm deben probar el funcionamiento de los teléfonos móviles antes de salir de fábrica.
En tercer lugar, seguridad del código
La razón por la que se elimina por separado es porque el código SDK es detectado por herramientas de terceros durante las pruebas del SDK, lo que afectará el uso de la entrada. método. Por lo tanto, intente incluir pruebas de seguridad en pruebas posteriores.
Cuatro. Seguridad de instalación y desinstalación
1) La aplicación debe instalarse correctamente en el controlador del dispositivo.
2) Podrás encontrar el icono correspondiente a la aplicación en el controlador del dispositivo. En el proyecto de prueba del SDK, se descubrió que algunos dispositivos están autorizados y no pueden emitir íconos para crear enlaces rápidos.
3) Si contiene información de firma digital. Básicamente, esta prueba no está incluida en el proyecto de prueba del SDK, pero sí en el paquete del método de entrada y en las versiones principales.
4) Se debe especificar la ruta de instalación.
5) Las aplicaciones no se pueden configurar para que se inicien automáticamente sin el permiso del usuario.
6) ¿Es segura la desinstalación y se desinstalan todos los archivos instalados?
7) ¿Hay algún mensaje para desinstalar archivos generados por los usuarios?
8) Si se restaura la información de configuración modificada.
9) ¿La desinstalación afectará las funciones de otro software?
10) La desinstalación debería eliminar todos los archivos.
11) Almacenamiento de paquetes de instalación. En la prueba de descarga e instalación del paquete SDK, a menudo vemos cuatro cadenas aleatorias después del paquete descargado. El objetivo de esto es evitar que herramientas de terceros eliminen paquetes de instalación de forma maliciosa.
En el proyecto de prueba del SDK, existen casos de uso especiales para descargar, instalar y desinstalar, y hay pruebas relacionadas para la ruta de instalación y la ruta de la carpeta de descarga. La página de resultados de la prueba muestra que algunos teléfonos móviles (como el Huawei mate1) no crearán automáticamente una carpeta de ruta de descarga después de eliminarla.
Verbo (abreviatura de verbo) Seguridad de datos
1) Cuando se ingresa una contraseña u otros datos confidenciales en la aplicación, no se almacena en el dispositivo y la contraseña no se almacena. descodificación.
2) La contraseña ingresada no se mostrará en texto claro.
3) Las contraseñas, los datos de tarjetas de crédito u otros datos confidenciales no se almacenan en ubicaciones previamente ingresadas.
4) La longitud de las tarjetas de identificación personal o contraseñas para diferentes aplicaciones debe ser de al menos 4-8 dígitos.
5) Cuando la aplicación maneja detalles de tarjetas de crédito u otros datos confidenciales, no escribe los datos en texto claro en otros archivos separados o archivos temporales. Para evitar que la aplicación finalice de manera anormal sin eliminar sus archivos temporales, que pueden ser atacados por intrusos, luego lea esta información de datos.
6) Cuando se ingresan datos confidenciales en la aplicación, no se almacenan en el dispositivo.
7) La copia de seguridad debe estar cifrada y se deben considerar interrupciones anormales de comunicación durante el proceso de recuperación al restaurar los datos. Los datos deben verificarse antes de su uso después de la recuperación.
8) Las aplicaciones deben considerar las indicaciones del usuario o las advertencias de seguridad generadas por el sistema o la máquina virtual.
9) Las aplicaciones no pueden ignorar las indicaciones del usuario o las advertencias de seguridad generadas por el sistema o la máquina virtual, ni pueden engañar a los usuarios mostrando información engañosa antes de que se muestre la advertencia de seguridad, ni las aplicaciones pueden engañar simulando advertencias de seguridad. usuario.
10) Antes de eliminar datos, la aplicación debe notificar al usuario o la aplicación debe proporcionar un comando de "cancelación".
11) La operación del comando "Cancelar" puede realizar su función de acuerdo con los requisitos de diseño.
12) La aplicación debe poder manejar situaciones en las que no se le permite conectarse a la gestión de información personal.
13) Al leer o escribir información del usuario, la aplicación enviará un mensaje de error de operación al usuario.
14) Ningún contenido de la aplicación de gestión de información personal podrá dañarse o eliminarse sin el permiso explícito del usuario.
15) La aplicación lee y escribe datos correctamente.
16) Las aplicaciones deben tener protección de excepción.
17) Si se van a reescribir datos importantes en la base de datos, se debe notificar a los usuarios de inmediato.
18) Capacidad para manejar errores razonablemente.
19) Se debe avisar a los usuarios en situaciones inesperadas.
20) Pruebas de cobertura HTTP y HTTPS. Durante las pruebas, a menudo nos encontramos con pruebas que requieren cifrado y descifrado para garantizar la seguridad del producto.