caja gris
驴Qu茅 es una caja gris?
El cuadro gris se refiere a la prueba de software donde hay un conocimiento limitado de su funcionamiento interno. La prueba de caja gris es una t茅cnica de pirater铆a 茅tica en la que el pirata inform谩tico tiene que usar informaci贸n limitada para identificar las fortalezas y debilidades de la red de seguridad de un objetivo.
Comprender las cajas grises
La caja gris es el h铆brido de las pruebas de caja blanca, donde el probador examina la l贸gica interna y la estructura del c贸digo del software, y las pruebas de caja negra,. donde el probador no sabe nada sobre el c贸digo del software. Para entender las pruebas de caja gris, primero debemos entender las pruebas de caja negra y las pruebas de caja blanca.
Pruebas de caja negra y caja blanca
La prueba de caja negra no mira m谩s que las entradas del usuario y qu茅 salida produce el software dadas esas entradas. Las pruebas de caja negra no requieren ning煤n conocimiento del lenguaje de programaci贸n u otros detalles t茅cnicos. Es un tipo de prueba de alto nivel que se utiliza en las pruebas de sistemas y pruebas de aceptaci贸n. Los ingenieros de software requieren un documento de especificaci贸n de requisitos de software (SRS) para realizar pruebas de caja negra. Esta prueba toma la perspectiva del usuario final donde el probador de caja negra no sabe c贸mo se generan las salidas a partir de las entradas.
Las pruebas de caja blanca requieren un conocimiento profundo de las t茅cnicas y plataformas utilizadas para crear software, incluido el lenguaje de programaci贸n relevante. Es un tipo de prueba de bajo nivel utilizada en pruebas unitarias y pruebas de indicaci贸n. Los ingenieros de software deben comprender el lenguaje de programaci贸n utilizado para crear la aplicaci贸n para que puedan comprender su c贸digo fuente. Los prop贸sitos principales de las pruebas de caja blanca son fortalecer la seguridad, examinar c贸mo fluyen las entradas y salidas a trav茅s de la aplicaci贸n y mejorar el dise帽o y la facilidad de uso. Cuando un probador de caja blanca no obtiene el resultado esperado de una entrada determinada, el resultado se considera un error que debe corregirse.
C贸mo funcionan las pruebas de caja gris
Las pruebas de caja gris incluyen componentes importantes de las pruebas de caja blanca y negra para obtener un mejor resultado que el que cualquiera podr铆a obtener por s铆 solo. Tanto los usuarios finales como los desarrolladores realizan pruebas de caja gris con un conocimiento limitado (parcial) del c贸digo fuente de una aplicaci贸n. Las pruebas de caja gris pueden ser manuales o automatizadas. Es m谩s completa y requiere m谩s tiempo que las pruebas de caja negra, pero no tan completa ni requiere tanto tiempo como las pruebas de caja blanca. Los probadores de caja gris requieren documentos de dise帽o detallados.
Las pruebas de caja gris implican la identificaci贸n de entradas, salidas, rutas principales y subfunciones. Luego pasa a desarrollar entradas y salidas para subfunciones, ejecutar casos de prueba para subfunciones y verificar esos resultados.
Ejemplo de caja gris
Un probador de caja gris puede verificar y corregir los enlaces en un sitio web. Si un v铆nculo no funciona, el probador cambia el c贸digo HTML para intentar que el v铆nculo funcione y luego vuelve a verificar la interfaz de usuario para ver si el v铆nculo funciona. Un probador de caja gris tambi茅n podr铆a probar una calculadora en l铆nea. El evaluador definir铆a las entradas (f贸rmulas matem谩ticas como 1+1, 2*2, 5-4 y 15/3) y luego verificar铆a que la calculadora proporcione las salidas correctas dadas esas entradas. El probador de caja gris tiene acceso al c贸digo HTML de la calculadora y puede cambiarlo si se identifica alg煤n error.
Las pruebas de caja gris analizan tanto la interfaz de usuario de la aplicaci贸n, o capa de presentaci贸n, como su funcionamiento interno, o c贸digo. Se utiliza principalmente en pruebas de integraci贸n y pruebas de penetraci贸n, pero no es adecuado para pruebas de algoritmos . Las pruebas de caja gris generalmente se usan para probar la interfaz de usuario, la seguridad o la funcionalidad en l铆nea de una aplicaci贸n a trav茅s de t茅cnicas como pruebas de matriz, pruebas de regresi贸n,. pruebas de matrices ortogonales y pruebas de patrones. Los probadores de caja gris tienen m谩s probabilidades de identificar problemas espec铆ficos del contexto.
"Gris" se refiere a la capacidad parcial del probador para ver el funcionamiento interno de la aplicaci贸n. "Blanco" se refiere a la capacidad de ver a trav茅s de la interfaz del software su funcionamiento interno, y "negro" se refiere a la incapacidad de ver el funcionamiento interno del software. La prueba de caja gris a veces se llama prueba transl煤cida, mientras que la prueba de caja blanca a veces se llama prueba transparente y la prueba de caja negra tambi茅n se puede llamar prueba opaca.
Reflejos
Las pruebas de caja gris son esencialmente una combinaci贸n de metodolog铆as de caja blanca (conocimiento total) y caja negra (sin conocimiento).
La prueba de caja gris es una t茅cnica para descubrir errores de software o encontrar exploits, donde se conoce de antemano un conocimiento limitado sobre el software subyacente.
Esta forma de "pirater铆a 茅tica" permite a los desarrolladores de software crear correcciones y parches para evitar que los atacantes maliciosos utilicen estos exploits.