156.30K
Category: informaticsinformatics

CAPEC-538: Управление библиотекой с открытым исходным кодом

1.

CAPEC-538:
Управление библиотекой с
открытым исходным кодом

2.

Злоумышленники внедряют вредоносный код в
библиотеки программного обеспечения с открытым
исходным
кодом
(OSS)
для
его
широкого
распространения, поскольку OSS обычно загружаются
разработчиками и другими пользователями для
включения в проекты по разработке программного
обеспечения. Злоумышленник может иметь в виду
конкретную систему для атаки, или внедрение может
быть первым этапом последующих атак на многие
системы.
Имеет низкий уровень вероятности атаки.

3.

Предварительные требования:
Доступ к базе открытого исходного кода, используемой
производителем в системе, разрабатываемой или в
настоящее
время
развертываемой
в
месте
расположения жертвы.
Требуются навыки:
Высокий уровень. Расширенные знания о включении и
конкретном использовании проекта с открытым
исходным кодом в систему, предназначенную для
проникновения.

4.

Порядок реализации
Определение соответствующего проекта с открытым исходным кодом
для таргетинга. Злоумышленник делает выбор на основе различных
критериев:
• Открытый исходный код, используемый в данный момент в выбранной
целевой системе.
• Глубина графика зависимостей открытого исходного кода по
отношению к другим кодовым базам, используемым в целевой
системе. Выбор OSS ниже на графике снижает вероятность
обнаружения, но также уменьшает сферу его использования в целевой
системе.
• Язык программирования, на котором реализован открытый исходный
код. Разные языки предоставляют разные возможности для
использования известных слабых мест программного обеспечения.
• Качество процессов, необходимых для внесения вклада.
• Требования безопасности, необходимые для внесения вклада.

5.

Разработка плана вредоносного вклада. Злоумышленник разрабатывает
план внесения вредоносного кода, принимая во внимание следующее:
• Злоумышленник, вероятно, будет избегать легко обнаруживаемых слабых
мест программного обеспечения, особенно тех, которые, скорее всего,
обнаружат инструменты статического и динамического анализа.
• Противник предпочтет обычные ошибки кодирования или пропущенные
крайние случаи алгоритма, которые в случае обнаружения могут быть
объяснены как случайные.
• Иногда для внесения вклада не требуется никакой идентификации. Другие
варианты - украсть существующую личность или создать ее. Создавая
новую идентичность, соблюдайте баланс между слишком малым или
слишком большим количеством деталей. Использование украденных
идентификационных данных может привести к отправке уведомления
фактическому пользователю.
Выполнение плана вредоносного вклада: написание кода, который будет
добавлен, на основе плана, а затем отправление вклада. Множественные
коммиты, возможно, с использованием нескольких идентификаторов,
помогут скрыть атаку. Слежка за сайтом, на котором публикуются
материалы, чтобы попытаться определить, был ли код загружен в целевую
систему.

6.

Взаимосвязи
Дочерний элемент: CAPEC-444 - изменение в процессе
разработки
Злоумышленник изменяет технологию, продукт или
компонент во время их разработки, чтобы оказать
негативное влияние после развертывания системы. Цель
злоумышленника - модифицировать систему таким образом,
чтобы негативное воздействие могло быть усилено при
последующем развертывании системы. Атаки с изменением
разработки могут включать атаки, которые внедряют
вредоносную логику в программное обеспечение системы,
модифицируют или заменяют аппаратные компоненты, а
также другие атаки, которые негативно влияют на систему в
процессе разработки. Для этих атак обычно требуется
внутренний доступ для изменения исходного кода или
вмешательства в аппаратные компоненты. Затем продукт
доставляется пользователю, где негативное воздействие
может быть использовано позже.

7.

CWE
• CWE-494: загрузка кода без проверки целостности.
Продукт загружает исходный код или исполняемый файл
из удаленного местоположения и выполняет код без
достаточной проверки происхождения и целостности кода.
• CWE-829: включение функциональности из сферы
ненадежного контроля. Продукт импортирует, требует или
включает исполняемую функциональность (например,
библиотеку) из источника, который находится за
пределами предполагаемой сферы контроля.

8.

CVE
• CVE-2008-3438 - ОС не проверяет подлинность собственных
обновлений.
• CVE-2001-1125 - Антивирусный продукт не проверяет для себя
автоматические обновления.
• CVE-2021-22909 - Процедура обновления прошивки
маршрутизатора использует Curl с опцией "-k" (небезопасно),
которая отключает проверку сертификата ( CWE-295 ), позволяя
злоумышленнику посередине (AITM) скомпрометировать
вредоносный образ прошивки ( CWE-494 )
• CVE-2005-2154 - Уязвимость при включении локального файла
PHP в view.php и open.php в osTicket 1.3.1 beta и более ранних
версиях позволяет удаленным злоумышленникам включать и,
возможно, выполнять произвольные локальные файлы с
помощью параметра inc.

9.

• CVE-2005-1864 - Уязвимость удаленного включения файлов PHP в
cal_admintop.php в Calendarix Advanced 1.5 позволяет удаленным
злоумышленникам выполнять произвольный PHP-код через параметр
calpath.
• CVE-2005-1869 - Уязвимость удаленного включения файлов PHP в
start_lobby.php в MWChat 6.x позволяет удаленным злоумышленникам
выполнять произвольный PHP-код через параметр
CONFIG[MWCHAT_Libs].
• CVE-2005-1870 - Уязвимость удаленного включения файлов PHP в
childwindow.inc.php в Popper 1.41-r2 и более ранних версиях позволяет
удаленным злоумышленникам выполнять произвольный PHP-код
через параметр form.
• CVE-2002-1704 - Zeroboard 4.1, когда включены переменные
"allow_url_fopen" и "register_globals", позволяет удаленным
злоумышленникам выполнять произвольный PHP-код, изменяя
параметр _zb_path для ссылки на URL на удаленном веб-сервере,
который содержит код.
• CVE-2002-1707 - install.php в phpBB 2.0 - 2.0.1, когда переменным
"allow_url_fopen" и "register_globals" присвоено значение "on",
позволяет удаленным злоумышленникам выполнять произвольный
PHP-код путем изменения параметра phpbb_root_dir для ссылки на URL
на удаленном веб-сервере, который содержит код.

10.

• CVE-2005-1964 - Уязвимость удаленного включения файлов PHP в
приложении utilit.php для портала Ovidentia позволяет удаленным
злоумышленникам выполнять произвольный PHP-код с помощью
параметра babInstallPath.
• CVE-2005-1681 - Уязвимость удаленного включения файлов PHP в
common.php в phpATM 1.21 и, возможно, более ранних версиях позволяет
удаленным злоумышленникам выполнять произвольный PHP-код через
URL в параметре include_location для index.php.
• CVE-2005-2086 - Уязвимость удаленного включения файлов PHP в
viewtopic.php в phpBB 2.0.15 и более ранних версиях позволяет удаленным
злоумышленникам выполнять произвольный PHP-код.
• CVE-2004-0127 - Уязвимость обхода каталогов в editconfig_gedcom.php для
PhpGedView 2.65.1 и более ранних версий позволяет удаленным
злоумышленникам читать произвольные файлы или выполнять
произвольные PHP-программы на сервере с помощью
последовательностей .. (точка-dot) в параметре gedcom_config.
• CVE-2005-2157 - Уязвимость удаленного включения файла PHP в
survey.inc.php для nabopoll 1.2 позволяет удаленным
злоумышленникам выполнять произвольный PHP-код через параметр
path.
• CVE-2005-2198 - Уязвимость удаленного включения файлов PHP в
lang.php в SPiD до версии 1.3.1 позволяла удаленным
злоумышленникам выполнять произвольный код через параметр
lang_path.

11.

• CVE-2005-1971 - Уязвимость обхода каталогов в InteractivePHP
FusionBB.Бета-версия 11 и более ранних версий позволяет удаленным
злоумышленникам включать произвольные локальные файлы с
помощью последовательностей ".." в параметре language.
• CVE-2005-3335 - Уязвимость при включении PHP-файла в
bug_sponsorship_list_view_inc.php в Mantis 1.0.0RC2 и 0.19.2 позволяет
удаленным злоумышленникам выполнять произвольный PHP-код и
включать произвольные локальные файлы через параметр t_core_path.
• CVE-2004-0285 - Уязвимости при удаленном включении файлов PHP в
include/footer.inc.php в (1) AllMyVisitors, (2) AllMyLinks и (3) AllMyGuests
удаленные злоумышленники могут выполнять произвольный PHP-код
через URL в параметре _AMVconfig[cfg_serverpath].
• CVE-2004-0030 - Уязвимость удаленного включения файлов PHP в (1)
functions.php, (2) authentication_index.php и (3) config_gedcom.php для
PHPGEDVIEW 2.61 позволяет удаленным злоумышленникам выполнять
произвольный PHP-код, изменяя параметр PGV_BASE_DIRECTORY для
ссылки на URL на удаленном веб-сервере, который содержит код.
• CVE-2004-0068 - Уязвимость при удаленном включении файла PHP в
config.php для PhpDig 1.6.5 и более ранних версий позволяет
удаленным злоумышленникам выполнять произвольный PHP-код,
изменяя параметр $relative_script_path для ссылки на URL на
удаленном веб-сервере, который содержит код.

12.

Превентивные меры защиты
• M1030
Сегментация сети
Запрещают прямой удаленный доступ к внутренним системам с помощью
сетевых прокси, шлюзов и брандмауэров.
• M1036
Правила использования учетных записей
Используйте политики условного доступа для блокировки входов с
устройств, не соответствующих требованиям, или с диапазонов IP-адресов
за пределами определенных организацией.
• M1015
Настройка Active Directory
Отключите устаревшую аутентификацию, которая не поддерживает MFA,
и вместо этого требуйте использования современных протоколов
аутентификации.
• M1013
Руководство для разработчиков приложений
Убедитесь, что приложения не хранят конфиденциальные данные или
учетные данные небезопасно.
• M1018
Управление учетными записями пользователей
Регулярно проверяйте учетные записи пользователей на предмет
активности и деактивируйте или удаляйте те, которые больше не нужны.

13.

• M1027
Политики паролей
Приложения и устройства, использующие имя пользователя и пароль по
умолчанию, должны быть изменены сразу после установки и перед
развертыванием в производственной среде. По возможности
приложения, использующие SSH-ключи, следует периодически обновлять
и надлежащим образом защищать.
• M1026
Управление привилегированными учетными записями
Регулярно проверяйте доменные и локальные учетные записи, а также
уровни их разрешений, чтобы выявить ситуации, которые могут позволить
злоумышленнику получить широкий доступ путем получения учетных
данных привилегированной учетной записи. Эти проверки также должны
включать информацию о том, были ли включены учетные записи по
умолчанию или созданы новые локальные учетные записи, которые не
были авторизованы.
• M1017
Обучение пользователей
Приложения могут отправлять push-уведомления для подтверждения
входа в систему в качестве формы многофакторной аутентификации
(MFA). Обучите пользователей принимать только действительные pushуведомления и сообщать о подозрительных push-уведомлениях.

14.

• M1051
Обновление программного обеспечения
Следует внедрить процесс управления исправлениями для проверки
неиспользуемых зависимостей, неподдерживаемых и / или ранее
уязвимых зависимостей, ненужных функций, компонентов, файлов и
документации.
• M1016
Сканирование уязвимостей
Также следует внедрить непрерывный мониторинг источников
уязвимостей и использование инструментов автоматического и ручного
анализа кода.
• M1032
Многофакторная аутентификация
Используйте два или более доказательств для аутентификации в
системе; например, имя пользователя и пароль в дополнение к токену с
физической смарт-карты или генератора токенов.
• M1049
Антивирус / Защита от вредоносных програм
Антивирус может использоваться для автоматического обнаружения
подозрительных файлов и помещать их в карантин.
• M1019
Программа анализа угроз
Разработайте надежную систему анализа киберугроз, чтобы определить,
какие типы и уровни угроз могут использовать программные эксплойты
и 0-дневный срок против конкретной организации.

15.

Выявление
• DS0028 Создание сеанса входа в систему
Отслеживайте новое поведение при входе в систему, которое может
получать учетные данные существующих учетных записей и
злоупотреблять ими в качестве средства получения начального доступа,
сохранения, повышения привилегий или обхода защиты.
• DS0002
Учетная запись пользователя
Аутентификация
учетной записи пользователя
Отслеживайте попытки пользователя, которые могут получить учетные
данные существующих учетных записей и злоупотребить ими в качестве
средства получения начального доступа, сохранения данных, повышения
привилегий или уклонения от защиты.
• DS0017 Выполнение команд
Отслеживайте выполняемые команды и аргументы на предмет
признаков запутывания и потенциально подозрительного синтаксиса,
такого как неинтерпретированные управляющие символы.Также
отслеживайте командные строки на предмет специфичных для
синтаксиса признаков запутывания, таких как вариации аргументов,
связанных с кодировкой.

16.

• DS0015 Содержимое журнала приложений
Отслеживайте журналы отладчика на предмет признаков ненормальной
и потенциально вредоносной активности.
• DS0009
ПроцессВыполнение API операционной системы
Отслеживайте вызовы API (такие как IsDebuggerPresent()), которые могут
использовать различные средства для обнаружения отладочных сред и
обхода их.
• Создание процесса
Отслеживание запускаемых подозрительных процессов, которые
собирают разнообразную системную информацию или выполняют
другие формы обнаружения, особенно за короткий промежуток времени,
может помочь в обнаружении.
• DS0022 Метаданные файла
Используйте проверку распределенных двоичных файлов с помощью
проверки хэша или других механизмов проверки целостности.
Сканируйте загружаемые файлы на наличие вредоносных сигнатур и
пытайтесь протестировать программное обеспечение и обновления
перед развертыванием, обращая внимание на потенциальную
подозрительную активность.

17.

• DS0013 Статус хоста
Выполните физический осмотр оборудования на предмет возможного
взлома. Выполните проверку целостности механизмов предварительной
загрузки операционной системы, которыми можно манипулировать в
злонамеренных целях, и сравните с известным хорошим базовым
поведением.
• DS0029 Содержание сетевого трафика
Мониторинг и анализ структуры трафика и проверка пакетов, связанных с
протоколом (протоколами), которые не соответствуют ожидаемым
стандартам протокола и потокам трафика. Учитывайте взаимосвязь с
мониторингом процессов и командной строкой для обнаружения
аномального выполнения процессов и аргументов командной строки,
связанных с шаблонами трафика.

18.

Меры защиты
• M1042 Отключить или удалить функцию или программу
Определенные утилиты разработчика могут быть не нужны в данной среде, и
их следует удалить, если они не используются.
• M1038 Предотвращение выполнения
Некоторые утилиты разработчика следует заблокировать или ограничить,
если они не требуются.
• M1033 Ограничение установки программного обеспечения
Запрещайте пользователям или группам устанавливать неутвержденное
программное обеспечение.
• M1047 Аудит
Рекомендуется периодически проверять обычные хранилища без файлов
(такие как реестр или репозиторий WMI) для потенциального выявления
ненормальных и вредоносных данных.
• M1050 Защита от эксплойтов
Приложения безопасности, которые отслеживают поведение, используемое
во время эксплуатации, такие как защита от эксплойтов защитника Windows
(WDEG) и расширенный набор инструментов для смягчения последствий
(EMET), могут использоваться для смягчения некоторых видов эксплуатации.
Проверка целостности потока управления - это еще один способ
потенциально идентифицировать программный эксплойт и предотвратить
его возникновение.

19.

Метрики CVSS 2.0 для CWE-494
Конфиденциальность
Целостность
Доступность
CVE-2019-3977
0
0,5
0,2
CVE-2019-11742
0
0,5
0
CVE-2019-17014
0,5
0
0
CVE-2020-7505
0
0,5
0,5
CVE-2018-1122
0,5
0,5
0,5
CVE-2019-14845
0
0,5
0
CVE-2020-1210
0,5
0,5
0,5
CVE-2020-1576
0,5
0,5
0,5
CVE-2020-1595
0,5
0,5
0,5
CVE-2020-1200
0,2
0,5
0,2
CVE-2020-1453
0,2
0,5
0,2
CVE-2021-23953
0,2
0
0

20.

Конфиденциальность
Целостность
Доступность
CVE-2020-4561
0,2
0,2
0,2
CVE-2021-3603
0,5
0,5
0,5
CVE-2021-30657
0
0,2
0
CVE-2021-30507
0,2
0,2
0,2
CVE-2020-15655
0,2
0
0
CVE-2022-1161
0,5
0,5
0,5
CVE-2021-26271
0
0
0,5
CVE-2021-26272
0
0
0,5
CVE-2021-44168
0
0,2
0
CVE-2022-27438
0,5
0,5
0,5
CVE-2022-31742
0,2
0,2
0
CVE-2022-31736
0,5
0,5
0,5

21.

Вероятность успешной атаки
Для того чтобы найти вероятность успешной атаки нужно
воспользоваться следующей формулой:
Где
English     Русский Rules