Appercut Безопасность разработки и контроль качества кода - | Москва, 2017 - Attack Killer
←
→
Транскрипция содержимого страницы
Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже
Жизненный цикл разработки программного обеспечения Проектирование, разработка и тестирование программного обеспечения требуют контроля качества программного обеспечения безопасности программного обеспечения соответствия запланированным срокам и бюджету Контроль внутренней (in-house) и внешней разработки имеет свои особенности
Специфика разработки in-house Несистемные требования по безопасности приложений Упор на функционал и нагрузку, игнорирование стандартов Специфическая модель угроз Классические модели угроз не актуальны Службы ИБ в разработке не участвуют Привлекаются только к расследованиям инцидентов Упрощенный процесс разработки Изменения идут непрерывно, код правится вместо выпуска патчей Используются закрытые платформы SAP, Oracle, MS Dynamics, 1C, Lotus, …
Специфика внедрения и использования сторонних приложений Нет контроля при разработке Контроль возможен только при приемке программного обеспечения Большая предварительная работа Все требования можно и нужно сформулировать до начала разработки Периодический контроль обновлений При смене версий контроль требований по безопасности нужно проводить заново
Какие задачи решает Appercut Appercut — система автоматизированного контроля исходного кода бизнес- приложений на соответствие требованиям по безопасной разработке программного обеспечения Проверяет качество кода и находит уязвимости еще на этапе программирования. В основе анализа исходных кодов лежит постоянно обновляемая база знаний о принципах и методах безопасной разработки Автоматически генерирует отчеты о найденных уязвимостях и формирует задачи для программистов Гарантирует безопасность внутренних разработок При интеграции в процесс приемки бизнес-приложений обеспечивает безопасный ввод в эксплуатацию и обновление программного обеспечения За счет исправления ошибок по отчетам позволяет проводить обучение программистов в процессе работы
Что ищет Appercut Непреднамеренные ошибки • недостатки, связанные с некорректной обработкой входных данных • недостатки авторизации • логические ошибки Преднамеренные ошибки (закладки) Out of Scope: уязвимости внедрения и эксплуатации Типичные недостатки программы • OWASP, OWASP TOP 10 • Common Weakness Enumeration • Language specific best practices Недостатки, зависящие от специфики приложения • особенности реализации алгоритмов и систем защиты • «это не баг, а фича» Недостатки, зависящие от предметной области приложения
Сценарии использования Appercut Поиск типичных Контроль Поиск всех типов недостатков требований к коду недостатков Работает Требуется предварительный Требуется из коробки. ручной анализ кода для трансляция Расширение базы создания application-specific требований из знаний на сигнатур и формирования неформальной application-specific рекомендаций по нотации в недостатки модификации процессов формальную обсуждается разработки и архитектуре (сигнатуры) отдельно средства Специалисты Разовый анализ кода без Appercut могут покупки продукта участвовать в формировании и Экономически обоснованно рецензировании для приложений, функции требований к ПО которых зафикисированы
Схема работы Appercut Исходный код APPERCUT Постановка задачи по Appercut Knowledge Отчет о соответствии исправлению Base требования
Место Appercut в SDLC Программные API позволяют встраивать вызов Appercut и запускать процесс анализа исходного кода в любой процедуре жизненного цикла разработки программного обеспечения
Преимущества Appercut Непрерывность бизнес-процессов: исключает необходимость останавливать исполнение критичных для бизнеса приложений для трудоемкой и длительной ручной проверки кода или внешнего аудита. Адаптируемость: интегрируется в любой этап жизненного цикла разработки между программированием и приемкой заказчиком. Масштабируемость: поддерживает более 20 языков программирования, лицензия позволяет исследовать любое количество приложений бесконечное количество раз. Поддержка стандартов: в базе Appercut заложены требования международных стандартов PCI DSS, лучшие практики CERT, OWASP и CWE, рекомендации SDLC, а также рекомендации производителей платформ 1С, SAP, Oracle, Microsoft. Пользователи Appercut могут добавлять в базу данных некорректных программных конструкций собственные шаблоны, отражающие специфику бизнес-процессов организации. Простота использования: не требует специальных знаний или навыков программирования. Результат анализа кода приложения или его фрагмента представляет собой отчет с рекомендациями по исправлению ошибок.
Спасибо за внимание!
Вы также можете почитать