Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Criptografía y seguridad# Ingeniería del software

Evaluando detectores de abuso de Crypto-API con MASC

MASC ofrece un nuevo enfoque para probar eficazmente los detectores de uso indebido de API criptográficas.

― 6 minilectura


MASC: Probando laMASC: Probando laseguridad de laCrypto-APImal uso de API.evaluar herramientas de detección deMASC ofrece métodos avanzados para
Tabla de contenidos

Los ingenieros de software están usando cada vez más herramientas llamadas detectores de uso indebido de crypto-API para ayudarles a escribir código seguro. Estas herramientas buscan errores que se cometen al usar funciones criptográficas que protegen datos. Sin embargo, es importante saber cuán bien funcionan realmente estas herramientas en situaciones de la vida real.

Presentamos una herramienta llamada Análisis de Mutación para evaluar detectores de uso indebido de Crypto-API estáticos, o MASC para abreviar. Esta herramienta ayuda a probar y mejorar la efectividad de otros detectores de crypto mediante un método conocido como Pruebas de Mutación. Este método crea nuevas versiones de código con pequeños cambios para ver si los detectores pueden detectar estos errores.

Cómo Funciona MASC

MASC utiliza técnicas especiales para crear diferentes versiones de errores comunes relacionados con crypto-APIs. La diseñamos para que sea Fácil de usar, así que cualquiera puede ajustar la configuración según sus necesidades. Los usuarios pueden elegir cómo MASC debe crear estas versiones de los errores y también pueden usarla a través de una línea de comandos o una interfaz web, haciéndola accesible para diferentes niveles de habilidad.

Operadores de Mutación y Alcances

MASC incluye operadores de mutación generales que se refieren a los errores típicos que la gente comete al usar crypto-APIs. Estos operadores están diseñados para generar versiones alteradas de estos errores. Además, MASC emplea tres alcances de mutación diferentes:

  1. Alcance Principal: Se enfoca en las partes iniciales del código, asegurando que los errores generados puedan ser detectados.
  2. Alcance de Similitud: Busca tipos similares de errores ya presentes en un programa.
  3. Alcance Exhaustivo: Revisa cada posible lugar en el código en busca de errores potenciales.

Al usar estos alcances, la herramienta puede generar una amplia variedad de casos de uso indebido para evaluar los detectores a fondo.

Por Qué MASC es Importante

La necesidad de herramientas de prueba efectivas como MASC surge del hecho de que muchos métodos existentes para evaluar detectores de crypto-API están desactualizados o no son fiables. A menudo, estos métodos más antiguos dependen de conjuntos fijos de casos de prueba que pueden no cubrir todos los errores posibles. Como resultado, las nuevas herramientas deben ser lo suficientemente flexibles para adaptarse a medida que se desarrollan nuevos tipos de crypto-APIs.

MASC llena este vacío al enfatizar la necesidad de actualizaciones y evaluaciones continuas. Permite a los desarrolladores crear nuevas pruebas para diferentes crypto-APIs sin cambiar el sistema central. Esta flexibilidad asegura que la herramienta pueda mantenerse al día con los cambios rápidos en el desarrollo de software.

Características Amigables para el Usuario

MASC se construyó con un enfoque en la facilidad de uso. Los usuarios pueden configurar fácilmente la herramienta mediante un simple archivo externo. Este archivo especifica la crypto-API y el tipo de errores que se deben buscar, haciéndolo fácil incluso para aquellos con habilidades técnicas limitadas.

La herramienta también permite a investigadores y desarrolladores agregar sus propios operadores de mutación personalizados. Al agregar una estructura de plug-in, MASC permite a los usuarios crear sus propios métodos de prueba, que pueden integrarse sin necesidad de alterar el código central. Esta adaptabilidad es crucial para los desarrolladores que buscan perfeccionar aún más sus métodos de Seguridad.

Evaluación Automatizada

Una característica clave de MASC es que puede ejecutar evaluaciones automáticamente. La herramienta puede generar un informe detallado que compara cuán bien un detector de crypto puede identificar los errores creados por la herramienta. Esta automatización reduce la carga sobre los usuarios, que de otro modo tendrían que verificar manualmente cada resultado.

Interfaz Front-End

Además de sus opciones de línea de comandos, MASC ofrece una interfaz basada en la web. Esto le da a los usuarios la oportunidad de interactuar con la herramienta de una manera más visual. Los usuarios pueden subir su código, ver los errores creados y aprender sobre los diferentes operadores de mutación. Esta interfaz es un recurso esencial para aquellos que prefieren trabajar en un entorno más interactivo.

El Papel de las Pruebas de Mutación

Las pruebas de mutación son un método que introduce pequeños cambios en el código para comprobar si otras herramientas pueden captar estos errores. Al aplicar esto a crypto-APIs, MASC genera muchas variaciones de casos de uso indebido, lo que ayuda a evaluar la efectividad de los detectores de crypto.

Importancia de la Prueba

A través de las pruebas, los desarrolladores pueden identificar debilidades en sus medidas de seguridad. Por ejemplo, si un detector no logra notar un error específico, le indica a los desarrolladores que necesitan mejorar su código o incluso repensar su enfoque de seguridad. MASC ayuda a identificar estas brechas, permitiendo a los desarrolladores perfeccionar sus habilidades y crear aplicaciones más seguras.

Desarrollos Futuros

Aunque MASC ya ha avanzado en cómo evaluamos los detectores de uso indebido de crypto-API, siempre hay espacio para crecer. Las futuras iteraciones de la herramienta tienen como objetivo extender aún más sus características. Esto incluye la capacidad de soportar escenarios de prueba más personalizables y hacerla más adaptable a las necesidades de sus usuarios.

Conclusión

MASC presenta una solución robusta para evaluar detectores de uso indebido de Crypto-API estáticos. Al utilizar pruebas de mutación, ayuda a desarrolladores e investigadores a evaluar la efectividad de las herramientas existentes. Con características amigables para el usuario y métodos de evaluación automatizados, MASC tiene el potencial de mejorar significativamente las prácticas de seguridad en el software.

En general, MASC es un paso adelante en la seguridad del uso de funciones criptográficas en el desarrollo de software. A medida que el panorama tecnológico evoluciona, herramientas como MASC serán vitales para mantener la integridad y seguridad de las aplicaciones de software. Al refinar continuamente sus métodos de prueba, los interesados pueden proteger mejor los datos y la seguridad de sus usuarios.

Fuente original

Título: MASC: A Tool for Mutation-Based Evaluation of Static Crypto-API Misuse Detectors

Resumen: While software engineers are optimistically adopting crypto-API misuse detectors (or crypto-detectors) in their software development cycles, this momentum must be accompanied by a rigorous understanding of crypto-detectors' effectiveness at finding crypto-API misuses in practice. This demo paper presents the technical details and usage scenarios of our tool, namely Mutation Analysis for evaluating Static Crypto-API misuse detectors (MASC). We developed $12$ generalizable, usage based mutation operators and three mutation scopes, namely Main Scope, Similarity Scope, and Exhaustive Scope, which can be used to expressively instantiate compilable variants of the crypto-API misuse cases. Using MASC, we evaluated nine major crypto-detectors, and discovered $19$ unique, undocumented flaws. We designed MASC to be configurable and user-friendly; a user can configure the parameters to change the nature of generated mutations. Furthermore, MASC comes with both Command Line Interface and Web-based front-end, making it practical for users of different levels of expertise.

Autores: Amit Seal Ami, Syed Yusuf Ahmed, Radowan Mahmud Redoy, Nathan Cooper, Kaushal Kafle, Kevin Moran, Denys Poshyvanyk, Adwait Nadkarni

Última actualización: 2023-08-13 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2308.02310

Fuente PDF: https://arxiv.org/pdf/2308.02310

Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares