CodeSonar - Википедия - CodeSonar
Разработчики) | GrammaTech |
---|---|
Стабильный выпуск | 5.3p0 / 15 июня 2020 |
Операционная система | Кроссплатформенность |
Тип | статический анализ кода |
Лицензия | Проприетарный |
CodeSonar это статический анализ кода инструмент из GrammaTech. CodeSonar используется для поиска и исправления ошибки и уязвимости безопасности[1] в исходном и двоичном коде.[2][3][4] Он выполняет межпроцедурный анализ всей программы с абстрактная интерпретация на C, C ++, C #, Ява, а также x86 и РУКА двоичные исполняемые файлы и библиотеки. CodeSonar обычно используется командами, разрабатывающими или оценивающими программное обеспечение, для отслеживания их слабых мест в качестве или безопасности. CodeSonar поддерживает Linux, BSD, FreeBSD, NetBSD, MacOS и Windows хосты и встроенные операционные системы и компиляторы.
CodeSonar предоставляет информацию для каждой обнаруженной уязвимости, включая трассировку исходного кода, которая может вызвать ошибку, а также визуализацию дерева вызовов, которая показывает, как эта уязвимость связана с более широким приложением.
Соответствие функциональной безопасности
CodeSonar поддерживает соблюдение таких стандартов функциональной безопасности, как IEC 61508, ISO 26262, DO-178B / C, или ISO / IEC TS 17961. Классы предупреждений CodeSonar также поддерживают несколько инициатив по стандартизации кодирования,[5] включая MITRE CWE, JPL, Мощность 10, MISRA C / C ++ и SEI CERT C.
Приложения
CodeSonar используется в оборонной / авиакосмической, медицинской, промышленной, автомобильной, электронной, телекоммуникационной и транспортной отраслях. Некоторые хорошо известные варианты использования: FDA Центр устройств и радиологического здоровья использует его для обнаружения дефектов в выставленных медицинских устройствах.[6][7] В НАБДД и НАСА использовало CodeSonar для изучения внезапное непреднамеренное ускорение в электронных системах управления дроссельной заслонкой автомобилей Toyota[8][9]
Поддерживаемые языки программирования, хост-платформы и компиляторы
Поддерживаемые языки программирования:
- C
- C ++
- C #
- Ява
- Python
- Анализ двоичного кода поддерживает Intel x86, x64 и ARM.
Поддерживаемые платформы:
- Майкрософт Виндоус
- Linux
- FreeBSD
- NetBSD
- MacOS
Поддерживаемые компиляторы:
- Apple Xcode
- ARM RealView
- CodeWarrior
- GNU C / C ++
- Компилятор Green Hills
- HI-TECH компилятор
- Компилятор IAR
- Компилятор Intel C ++
- Microsoft Visual Studio
- Компилятор Renesas
- Sun C / C ++
- Композитор кода Texas Instruments
- Компилятор Wind River
Смотрите также
Рекомендации
- ^ Витек, Д. (2016). «Код аудита уязвимостей безопасности с помощью CodeSonar». 2016 IEEE Cybersecurity Development (SecDev): 154. Дои:10.1109 / СекДев.2016.042. ISBN 978-1-5090-5589-0.
- ^ Балакришнан Г., Грюян Р., Репс Т., Тейтельбаум Т. (2005). «CodeSurfer / x86 - платформа для анализа исполняемых файлов x86». Конструкция компилятора. CC 2005. Lecture Notes in Computer Science Volume 3443. Конспект лекций по информатике. Шпрингер, Берлин, Гейдельберг. 3443: 250–254. Дои:10.1007/978-3-540-31985-6_19. ISBN 978-3-540-31985-6.CS1 maint: несколько имен: список авторов (связь)
- ^ Гопан, Денис и Дрисколл, Эван и Нгуен, Дуксон и Найдич, Дмитрий и Логинов, Алексей и Мельски, Дэвид (2015). «Разграничение данных в двоичных файлах программного обеспечения и его применение для обнаружения переполнения буфера». Труды 37-й Международной конференции по программной инженерии - Том 1. ICSE '15. Флоренция, Италия: IEEE Press: 145–155. ISBN 978-1-4799-1934-5.CS1 maint: несколько имен: список авторов (связь)
- ^ Lim, J .; Репс, Т. (апрель 2008 г.). «Система для создания статических анализаторов для машинных инструкций. [1] ". Proc. Int. Конф. по конструкции компилятора (CC). Нью-Йорк, штат Нью-Йорк: Springer-Verlag. (Награжден премией EAPLS Best Paper Award на ETAPS 2008.).
- ^ Андерсон, П. (2008). Стандарты кодирования для встраиваемых систем с высокой степенью достоверности. MILCOM 2008 - Конференция по военной связи IEEE. Сан-Диего, Калифорния. С. 1–7. Дои:10.1109 / MILCOM.2008.4753206.
- ^ Куиннелл, Ричард А. (2008-03-06). «Статический анализ топчет ошибок». EETimes. Получено 2009-09-11.
- ^ Джетли, Рауль Прафул и Джонс, Пол Л. и Андерсон, Пол (2008). «Статический анализ программного обеспечения медицинских устройств с помощью CodeSonar». Материалы семинара по статическому анализу 2008 г.. Тусон, Аризона: ACM: 22–29. Дои:10.1145/1394504.1394507. ISBN 978-1-59593-924-1.CS1 maint: несколько имен: список авторов (связь)
- ^ Купман, П. (18 сентября 2014 г.). «Пример непреднамеренного ускорения и безопасности программного обеспечения Toyota» (PDF). Университет Карнеги Меллон. Получено 2019-09-12.
- ^ Барр, Майкл (01.03.2011). «Непреднамеренное ускорение и другие ошибки встроенного программного обеспечения». Встроенные гуру. Получено 2019-09-11.