Herramientas para auditar código fuente
Enviado por jimmbotigre • 19 de Agosto de 2018 • Ensayo • 1.612 Palabras (7 Páginas) • 195 Visitas
Maza Jimmy,
Universidad Tecnológica Israel
[1]
Realizar la investigación de herramientas libres (Free) para auditar Código fuente
Resumen—En este documento, se realiza la investigación de herramientas libres para auditar el código fuente, como es de conocimiento en la actualidad existen varias formas para automatizar el control de la calidad software. Hay que tener en cuenta que las siguientes son herramientas de calidad software que realizan un control desde el punto de vista del estudio estático y de caja blanca (es decir, para que nos entendamos, analizan sin ejecutar el software y viendo los fuentes).
INTRODUCCIÓN
La Auditoría de Seguridad de una aplicación puede abordarse desde una vertiente de caja negra u otra de caja blanca, en la que se dispone y audita el Código Fuente de la aplicación. La Auditoría de Código Fuente requiere un componente manual capaz de asimilar el contexto de la aplicación para obtener resultados óptimos.
marco Teórico
Hammurapi
Es una plataforma de gobierno de calidad de código para mitigar los riesgos de externalización * del desarrollo de software.
Actualmente Hammurapi puede revisar artefactos basados en Java y XML. El soporte de JavaScript llego en el 2009.
Fuerza de trabajo contractual
Cada vez más organizaciones externalizan los esfuerzos de desarrollo de software para optimizar
los costos y para mantener a la organización centrada en las competencias básicas. Si bien la
subcontratación promete una cantidad de beneficios, también presenta una serie de desafíos:
- Propiedad de código y conocimiento tribal . Los equipos de desarrollo se disuelven poco después de la finalización de la fase de construcción. Los desarrolladores se resignan a otros esfuerzos, a menudo fuera de la organización del cliente. Lleva al bajo nivel de conocimiento tribal. En el caso de un problema con algún fragmento de código, puede que no haya nadie familiarizado con ese código. La capacidad de mantenimiento se vuelve muy importante.
- Entrenamiento. Algunos estudios indican que solo uno de cada cuatro desarrolladores de Java posee un conocimiento genuino del idioma. Enviar personas a las clases de capacitación puede tener sentido para los empleados, pero para los contratistas no es rentable, debido a la naturaleza transitoria de su asociación con la organización del cliente.
- Hammurapi aborda estos problemas de las siguientes maneras:
- La organización del cliente establece un conjunto de pautas de codificación que la herramienta verifica automáticamente. Hammurapi tiene varios inspectores para verificar la capacidad de mantenimiento del código. Por ejemplo, inspector de complejidad ciclomática, inspector JavaDoc, inspector de longitud de código.
- Hammurapi tiene un número de inspectores que detecta posibles errores del programador.
- El complemento Eclipse de Hammurapi brinda directrices a los dedos de los desarrolladores para que aprendan en el trabajo.
Propuesta de valor
Hammurapi reduce el TCO (Total Cost of Ownership) y el riesgo de desarrollo de software.
- Menor costo de desarrollo: la red de seguridad provista por los inspectores permite usar desarrolladores de menor costo.
- Aprendizaje en el trabajo: el complemento de Eclipse proporciona información instantánea a los desarrolladores. Mediante el desarrollo de inspectores personalizados, los desarrolladores sénior pueden transmitir su conocimiento de manera eficiente al equipo.
- Menores costos de mantenimiento: Hammurapi tiene varios inspectores de mantenimiento.
Caracteristicas
- Encadenamiento hacia adelante a través de las interfaces JSR-94 .
- Encadenamiento hacia atrás . En muchas situaciones, el encadenamiento hacia atrás es más apropiado y más eficiente que el encadenamiento hacia adelante.
- Plain Java se usa para escribir reglas. Las reglas de Hammurapi aprovechan la semántica del lenguaje Java y varias convenciones de nomenclatura para crear cadenas de inferencias.
- Los conjuntos de reglas se ensamblan y configuran usando XML.
- Inferencia multi-hilo.
Beneficios
- No es necesario que los desarrolladores de Java aprendan un lenguaje de reglas especializado. Los desarrolladores se mantienen enfocados porque no tienen que cambiar entre Java y otros lenguajes de programación.
- El cuerpo de conocimiento acumulado para el desarrollo de Java (por ejemplo, pruebas, creación de perfiles, depuración, implementación, ...) se puede aplicar al desarrollo de reglas. No es necesario en procesos y herramientas especializados.
- Pleno poder de Java para implementar la lógica de reglas.
- Las reglas obtienen acceso a JVM y recursos empresariales de la misma manera que otras clases de Java.
Hispalinux
Es una herramienta que ayuda a los usuarios y especialistas de software en lengua española una nueva y potente Herramienta de análisis binario que permite ayudar a descubrir qué componentes fueron utilizados para crear el código compilado. Como explican sus coordinadores Shane Coughlan y Armijn Hemel, utiliza el mismo tipo de enfoque que se aplica gpl-violations.org para descubrir problemas de licencia en electrónica de consumo. Esto se conoce como “compliance engineering” (ingeniería de conformidad o cumplimiento).
La Herramienta en cuestión se encuentra en http://www.binaryanalysis.org y demuestra el alto grado de madurez y excelencia técnica y jurídica que desde el ámbito del software libre se otorga a la creación e implementación de nuevo Código y el respeto a su autor y a sus derechos.
- Este es un video que muestra en acción al programa: http://www.binaryanalysis.org/en/content/show/showcase.
- .
- Descárgarlo gratuitamente aquí: http://www.binaryanalysis.org/en/content/show/download.
La Herramienta de análisis de binarios pueden ser utilizados por todas aquellas personas que quieren buscar potenciales problemas legales y de seguridad (desarrolladores, Administraciones Públicas, abogados y empresas) en un determinado código informático.
...