Авторы:
(1) Амит Сил Ами, факультет компьютерных наук, Уильям и Мэри Вильямсбург, Вирджиния, США, и этот автор внес равный вклад в подготовку этой статьи ([email protected]);
(2) Сайед Юсуф Ахмед, Институт информационных технологий, Университет Дакки, Дакка, Бангладеш, и этот автор внесли равный вклад в подготовку этой статьи ([email protected]);
(3) Радован Махмуд Редой, Институт информационных технологий, Университет Дакки, Дакка, Бангладеш, и этот автор внесли равный вклад в подготовку этой статьи ([email protected]);
(4) Натан Купер, факультет компьютерных наук, Уильям и Мэри Вильямсбург, Вирджиния, США ([email protected]);
(5) Каушал Кафле, факультет компьютерных наук, Уильям и Мэри Вильямсбург, Вирджиния, США ([email protected]);
(6) Кевин Моран, факультет компьютерных наук, Университет Центральной Флориды, Орландо, Флорида, США ([email protected]);
(7) Денис Пошиваник, факультет компьютерных наук, Уильям и Мэри Вильямсбург, Вирджиния, США ([email protected]);
(8) Адвайт Надкарни, факультет компьютерных наук, Уильям и Мэри Вильямсбург, Вирджиния, США ([email protected]).
6 Будущая работа и выводы, благодарности и ссылки
Хотя инженеры-программисты с оптимизмом применяют детекторы злоупотребления крипто-API (или крипто-детекторы) в своих циклах разработки программного обеспечения, этот импульс должен сопровождаться строгим пониманием эффективности крипто-детекторов при обнаружении злоупотреблений крипто-API на практике. В этом демонстрационном документе представлены технические детали и сценарии использования нашего инструмента, а именно анализа мутаций для оценки детекторов неправильного использования Static Crypto-API (MASC). Мы разработали 12 обобщаемых операторов мутаций, основанных на использовании, и три области мутаций, а именно: основную область, область подобия и исчерпывающую область, которые можно использовать для выразительной реализации компилируемых вариантов случаев неправильного использования крипто-API. Используя MASC, мы оценили девять основных криптодетекторов и обнаружили 19 уникальных, недокументированных недостатков. Мы разработали MASC, чтобы он был настраиваемым и удобным для пользователя; пользователь может настроить параметры, чтобы изменить характер генерируемых мутаций. Кроме того, MASC поставляется как с интерфейсом командной строки, так и с веб-интерфейсом, что делает его практичным для пользователей с разными уровнями знаний.
Код: https://github.com/Secure-Platforms-Lab-WM/MASC
Инженеры-программисты десятилетиями полагались на криптодетекторы, чтобы гарантировать правильное использование криптографических API в программном обеспечении и сервисах, которые они создают, разрабатывают и поддерживают [6]. Такие криптодетекторы широко распространены в разработке программного обеспечения, поскольку они интегрированы в IDE (например, плагин CogniCrypt для Eclipse IDE [8]), наборы средств тестирования таких организаций, как Oracle Corporation [9, 17], а также в системы непрерывной интеграции/непрерывного развертывания (CI). /CD) трубопроводы [12, 18]. Кроме того, хостинг-провайдеры, такие как GitHub, официально предоставляют такие криптодетекторы, например GitHub Code Scan Initiative [10]. Другими словами, безопасность программного обеспечения и сервисов все больше зависит от криптодетекторов. Однако для оценки производительности криптодетекторов мы полагаемся на созданные вручную тесты; известно, что такие тесты неполны, неверны и их непрактично поддерживать [16]. Таким образом, определение эффективности криптодетекторов с точки зрения безопасности требует надежной и развивающейся методики оценки, которая может масштабироваться в зависимости от объема и разнообразия крипто-API, а также различных моделей злоупотреблений.
Мы контекстуализировали методы тестирования мутаций, чтобы создать анализ мутаций для оценки структуры детекторов злоупотреблений Static Crypto-API (MASC). В нашей исходной прототипной реализации MASC [3] он внутренне использовал 12 обобщаемых операторов мутации, основанных на использовании, для создания экземпляров мутаций в случаях неправильного использования крипто-API для Java. Операторы мутации были разработаны на основе принципов проектирования криптографической архитектуры Java (JCA) [11] и модели угроз, состоящей из пользователей с разными навыками и намерениями (раздел 4.1). MASC внедряет эти мутировавшие случаи неправильного использования в приложения на базе Java или Android в три области мутации (сайты внедрения), а именно область сходства (расширенная из MDroid+ [13, 14]), исчерпывающую область (расширенная из 𝜇SE [4, 5, 7]). , и его независимо разработанная основная область действия, что приводит к созданию мутировавших приложений, которые содержат злоупотребления крипто-API. Мы продемонстрировали практичность реализации прототипа MASC, оценив девять криптодетекторов из промышленности и научных кругов, и обнаружили 19 ранее недокументированных, неизвестных недостатков, которые ставят под угрозу надежность криптодетекторов в пределах области применения. Полная информация о методологии MASC, соображениях проектирования, оценке криптодетекторов, приводящей к обнаружению новых недостатков, практическом влиянии обнаруженных недостатков в приложениях с открытым исходным кодом (следовательно, применимости операторов мутации) и обсуждении результатов доступны в оригинальная исследовательская работа [3].
В этой статье мы представляем зрелую реализацию инфраструктуры MASC с упором на расширяемость, простоту использования и ремонтопригодность для заинтересованных сторон криптодетекторов, таких как исследователи безопасности, разработчики и пользователи. Более подробно: благодаря новой архитектуре подключаемых модулей пользователи MASC теперь могут создавать свои собственные операторы мутации, которые можно легко подключить к MASC, не углубляясь в существующую базу кода (более 11𝐾 исходных строк кода). Более того, в то время как исходная реализация прототипа MASC включала полуавтоматическую оценку криптодетекторов, мы автоматизировали рабочий процесс MASC, используя де-факто выходные данные криптодетекторов в формате SARIF [15]. Кроме того, мы создали веб-интерфейс реализации MASC для пользователей, чтобы снизить барьер для входа. Наконец, мы реструктурировали и реорганизовали кодовую базу MASC с открытым исходным кодом, чтобы повысить удобство сопровождения и расширяемость MASC, что облегчит будущий вклад и улучшения как для разработчиков, так и для энтузиастов MASC с открытым исходным кодом. Мы надеемся, что благодаря этим дополнениям и улучшениям текущая реализация MASC с открытым исходным кодом будет использоваться для поиска недостатков и, таким образом, поможет улучшить существующие криптодетекторы.
Вклад : Мы представляем MASC, удобную для пользователя структуру, которая использует методы тестирования мутаций для оценки криптодетекторов, с подробной информацией о базовых методах, особенностях проектирования и улучшениях. Новые ключевые функции MASC заключаются в следующем: Автоматическая оценка криптодетекторов: MASC можно использовать для оценки криптодетекторов в рамках сквозного автоматизированного рабочего процесса в рамках основного объема.
Настраиваемая оценка криптодетекторов. Пользователь может настроить оценку криптодетекторов, указав операторы мутации для создания экземпляров неправильного использования крипто-API.
Архитектура плагинов для пользовательских операторов : MASC помогает исследователям безопасности, разработчикам и пользователям сразу перейти к оценке криптодетекторов, создавая свои собственные операторы мутации, которые можно напрямую подключить к основной области, не требуя от них изучения и понимания. о внутренних деталях MASC.
Удобный интерфейс для конечных пользователей . Помимо улучшения интерфейса командной строки исходной реализации прототипа, мы создаем и внедряем веб-интерфейс с открытым исходным кодом для конечных пользователей, который можно запускать локально. Внешний интерфейс содержит дополнительный интерфейс тестирования и обучения MASC Lab, где заинтересованные стороны могут взаимодействовать с операторами мутаций и узнавать о неправильном использовании мутирующих крипто-API.
Доступность инструментов и данных: прототип реализации фреймворка MASC, скрипты и результаты оценки криптодетекторов,
как описано в оригинальной статье [3], доступны в MASC Artifact [1]. Более того, кодовая база активно поддерживаемой и зрелой реализации MASC доступна отдельно с обширной документацией и примерами [2].
Этот документ доступен на arxiv под лицензией CC BY-NC-SA 4.0 DEED.