CodeSonar es una herramienta de análisis de código estático de AdaCore, anteriormente de CodeSecure y GrammaTech . CodeSonar se utiliza para encontrar y corregir errores y vulnerabilidades de seguridad [ 1 ] en código fuente y binario. [ 2 ] [ 3 ] [ 4 ] Realiza análisis interprocedimentales de programas completos con interpretación abstracta en C , C++ , C# , Java , así como ejecutables binarios y bibliotecas x86 y ARM . CodeSonar suele ser utilizado por equipos que desarrollan o evalúan software para rastrear su calidad o debilidades de seguridad. CodeSonar es compatible con hosts Linux , BSD , FreeBSD , NetBSD , MacOS y Windows , así como con sistemas operativos embebidos y compiladores.
CodeSonar proporciona información sobre cada vulnerabilidad encontrada, incluyendo el seguimiento a través del código fuente que desencadenaría el error, así como una visualización del árbol de llamadas que representa cómo la vulnerabilidad se relaciona con la aplicación en general.
Cumplimiento de la seguridad funcional
CodeSonar admite el cumplimiento de estándares de seguridad funcional como IEC 61508 , ISO 26262 , DO-178B/C o ISO/IEC TS 17961. Las clases de advertencia de CodeSonar también admiten varias iniciativas de estándares de codificación, [ 5 ] incluyendo CWE de MITRE , JPL, Power of 10, MISRA C/C++ y SEI CERT C.
Aplicaciones
CodeSonar se utiliza en las industrias de defensa/aeroespacial, médica, control industrial, automotriz, electrónica, telecomunicaciones/datos y transporte. Algunos casos de uso conocidos son: el Centro de Dispositivos y Salud Radiológica de la FDA lo utiliza para detectar defectos en dispositivos médicos en uso. [ 6 ] [ 7 ] La NHTSA y la NASA utilizaron CodeSonar para estudiar la aceleración repentina no intencionada en los sistemas de control electrónico del acelerador de vehículos Toyota. [ 8 ] [ 9 ]
Lenguajes de programación, plataformas anfitrionas y compiladores compatibles
Lenguajes de programación compatibles : C, C++, C#, Java, Python ; el análisis de código binario admite Intel x86-32 , amd64 y ARM .
Plataformas compatibles : Microsoft Windows, Linux, FreeBSD, NetBSD, MacOS
Compiladores compatibles : Apple Xcode , ARM RealView, CodeWarrior , GNU C/C++ , Green Hills Compiler, HI-TECH Compiler, IAR Compiler, Intel C++ Compiler , Microsoft Visual Studio , Renesas Compiler, Sun C/C++, Texas Instruments CodeComposer, Wind River Compiler
Véase también
Referencias
- ↑ Vitek, D. (2016). "Auditoría de código para detectar vulnerabilidades de seguridad con CodeSonar". 2016 IEEE Cybersecurity Development (SecDev) . pág. 154. doi : 10.1109/SecDev.2016.042 . ISBN 978-1-5090-5589-0. S2CID 33024752 .
- ↑ Balakrishnan, Gogul; Gruian, Radu; Reps, Thomas; Teitelbaum, Tim (2005). "CodeSurfer/X86: una plataforma para analizar ejecutables x86". Construcción de compiladores . Notas de clase en ciencias de la computación. Vol. 3443. Springer. págs. 250–254 . doi : 10.1007/978-3-540-31985-6_19 . ISBN 978-3-540-31985-6.
- ↑ Gopan, Denis; Driscoll, Evan; Nguyen, Ducson; Naydich, Dimitri; Loginov, Alexey; Melski, David (2015). "Data-delineation in Software Binaries and Its Application to Buffer-overrun Discovery" . Actas de la 37.ª Conferencia Internacional sobre Ingeniería de Software - Volumen 1. ICSE '15. Florencia, Italia: IEEE Press: 145–155 . ISBN 978-1-4799-1934-5.
- ↑ Lim, J.; Reps, T. (abril de 2008). "Un sistema para generar analizadores estáticos para instrucciones de máquina" (PDF) . Actas de la Conferencia Internacional sobre Construcción de Compiladores . Nueva York: Springer-Verlag.
- ↑ Anderson, P. (2008). Estándares de codificación para sistemas embebidos de alta confianza . MILCOM 2008 - Conferencia de Comunicaciones Militares del IEEE. San Diego, CA. pp. 1– 7. doi : 10.1109/MILCOM.2008.4753206 .
- ↑ Quinnell, Richard A. (2008-03-06). "El análisis estático aplasta los errores" . EETimes . Recuperado el 2009-09-11 .
- ↑ Jetley, Raoul Praful; Jones, Paul L.; Anderson, Paul (2008). "Análisis estático del software de dispositivos médicos mediante CodeSonar". Actas del taller de 2008 sobre análisis estático . Tucson, Arizona: ACM. págs. 22–29 . doi : 10.1145/1394504.1394507 . ISBN 978-1-59593-924-1. S2CID 18152934 .
- ↑ Koopman, P. (18 de septiembre de 2014). "Estudio de caso de la aceleración involuntaria y la seguridad del software de Toyota" (PDF) . Universidad Carnegie Mellon . Recuperado el 12 de septiembre de 2019 .
- ↑ Barr, Michael (1 de marzo de 2011). "Aceleración no deseada y otros errores de software embebido" . Embedded Gurus . Recuperado el 11 de septiembre de 2019 .
Enlaces externos
- Página del producto CodeSonar de AdaCore
- Herramientas de análisis estático de programas