Microsoft libera una herramienta open source que permite analizar todo el código fuente de una aplicación en busca de amenazas

Microsoft ha publicado en GitHub una herramienta de análisis de código creada para ayudarnos a entender lo que hace un software y también lo que es. Su nombre es Microsoft Application Inspector y es capaz de examinar millones de líneas de código en muchos lenguajes de programación diferentes.

Aunque puede ser claramente utilizada para detectar potenciales amenazas de seguridad en el código de una aplicación, Microsoft quiere hacer énfasis en que también es útil en varios contextos que no están relacionados con la seguridad.

La empresa explica que su herramienta ayuda a los clientes a lidiar con los riesgos inherentes de confiar en software de código abierto, ya que no solo es capaz de detectar código “malo”, sino que puede identificar características “interesantes” y metadatos que serían demasiado difíciles de identificar de forma manual en poco tiempo.

El objetivo principal de application Inspector es identificar las características del código fuente de una manera sistemática y escalable que no se encuentra en otros lugares en los analizadores estáticos típicos. Esto permite a los desarrolladores y profesionales de seguridad validar los objetivos de los componentes supuestos.

Las aplicaciones modernas dependen en gran medida del software escrito fuera de su empresa que conlleva riesgos.

Saber qué hay en su software es el primer paso para tomar decisiones claves sobre qué acciones son apropiadas antes de permitir que se implemente en su propio entorno o en el del cliente.

Application Inspector incluye cientos de patrones de identificación predeterminados para detectar características generales como marcos utilizados, E / S de archivos, API del sistema operativo, así como la capacidad de detectar características clave de seguridad y privacidad de un componente.

De manera predeterminada, Application Inspector genera una salida basada en el navegador para ilustrar las características, el resumen del proyecto y los metadatos detectados. También es compatible con las opciones de formato de salida JSON y TEXT.

Además, incluye un indicador de confianza (y filtro), así como la capacidad de profundizar en el área del archivo de código donde se encontró la coincidencia.

Por qué es diferente

Mientras que otras herramientas juegan un papel importante en la automatización de la detección de vulnerabilidades y una seguridad deficiente u otras prácticas de codificación, el Inspector de aplicaciones ayuda a responder la pregunta ¿qué contiene? Application Inspector es libre de juicios y se enfoca en ayudar a informar la seguridad y otros escenarios al revelar detalles que de otra manera pasarían desapercibidos.

Nota: No reemplaza una revisión del código de seguridad o un analizador estático de seguridad, pero en un mundo de desarrollo acelerado y altamente automatizado, esta es una adición importante a su conjunto de herramientas.

Amenazas invisibles

Las back doors bien construidas y ocultas pueden pasar desapercibidas por una herramienta que solo busca prácticas de programación de seguridad deficientes porque no mira el contexto a nivel de características.

Características principales

  • Caracterización de las características clave del código fuente.
  • Detección de cambios repentinos de funciones entre versiones de componentes
  • Asignación de características detectadas a requisitos de seguridad (solo habilitación)
  • Pruebas de verdadero / falso para características específicas vs conjunto completo

Ejemplo de detección de características

Control de flujo

  • Ejecución dinámica de código
  • Gestión de proceso

Criptografía

  • Cifrado
  • Hashing
  • Aleatorización

Operaciones del sistema operativo

  • Sistema de archivos
  • Variables de entorno
  • Operaciones de red
  • Cuentas de usuario
  • Registro de Windows

Datos

  • JSON / XML
  • Secretos / claves de acceso
  • Datos personales confidenciales
  • SQL / ORM

Manejo de datos

  • Serialización de objetos (XML / JSON)
  • Flash, PDF, Silverlight
  • Uso o análisis de medios de audio / video
  • Bluetooth, celular, RPC

Marcos

  • Desarrollo
  • Pruebas
  • Dependencias
  • Proveedores de servicio

Servicios en la nube (almacenamiento de datos, aplicaciones, redes sociales)

Usuarios tipicos

Ingenieros DevOps: ve las características del código fuente a nivel de función para determinar si un componente contiene solo lo que se espera. Úselo para comparar y encontrar alternativas para identificar cambios de importancia repentinos e inesperados.

Auditores de seguridad de TI: evalúa el riesgo presentado cuando se incluye software de terceros en la fuente de la solución.

Cómo ejecutar el Inspector de aplicaciones

La aplicación es una herramienta cliente basada en .NET Core, por lo que se ejecutará en Windows, Linux o macOS y no requiere privilegios elevados y no hay una base de datos local o comunicaciones de red o telemetría. Para ejecutarlo, simplemente use la línea de comando estándar de dotnet para llamarlo, es decir, dotnet ApplicationInspector.dll si está en un sistema Linux o macOS o si está en Windows AppInspector.exe.

Para mayores detalles consulta Github


¿Quieres aprender a programar de manera profesional?

 

Te invitamos a formar parte de Azul School donde vas a tener acceso a cursos profesionales con certificado. Además tienes acceso a una red social de programadores donde puedes conocer gente de tu ciudad o país.

 

Si quieres acceder a todas las funciones te regalamos un descuento del 75% usando este cupón (no vas a encontrar este descuento en ningún otro lugar) Cupón: azulweb y lo puedes cambiar aquí: Haz clic aquí para cambiar el cupón del 75%.

 

También puedes probar la plataforma de forma gratuita y obtener un curso gratuito aquí: Haz clic aquí para probar la plataforma de forma gratuita.


También te podría gustar...