Завершаю про "Методику тестирования обновлений безопасности программных, программно-аппаратных средств" от ФСТЭК. Часть 3. Как тестировать и итоговые впечатления.
Какие вводятся проверки:
1. Сверка идентичности обновлений безопасности (Т001). Пользователям с русскими IP могут прилетать зловредные обновления, а другим пользователям нет. Поэтому качаем разными способами, сверяем контрольные суммы.
2. Проверка подлинности обновлений безопасности (T002). Контрольные суммы того, что скачали должны быть равны контрольным суммам, которые сообщает вендор (если он их сообщает).
3. Антивирусный контроль обновлений безопасности (Т003). Скормили двум и более антивирусам (от разных антивирусных вендоров) файлы с обновлением и натравили на сам хост после обновления, смотрим что продетектится.
4. Поиск опасных конструкций в обновлениях безопасности (Т004). Поиск в файлах обновления опасных конструкций с помощью индикаторов компрометации, YARA-правил и других способов. Тут же занимательное "контекстный поиск политических баннеров, лозунгов и другой противоправной информации".
5. Мониторинг активности обновлений безопасности в среде тестирования (Т005). Ставим обновления и ищем НДВ, о которых первой части было. Интересно, что добавили необходимость проведения "г) сигнатурного поиска известных уязвимостей." Похоже про то, что вендор-злодей может добавить известную уязвимость в продукт, чтобы это меньше было похоже на бекдор.
6. Ручной анализ обновлений безопасности (Т006). Это самое хардкорное. Выполняется, когда предыдущие проверки выявили что-то подзрительное. Если НЕ можем такой анализ провести, то просто говорим, что есть НДВ. Если можем, то проводим… Ох, дам цитатой 😱:
"а) анализ логики работы (в том числе дизассемблирование или декомпиляция бинарного кода при наличии соответствующих возможностей);
б) исследование компонентов обновления безопасности с помощью отладчиков и трассировщиков;
в) проверки наличия в обновлении безопасности ключевой информации (паролей, секретных ключей и другой чувствительной информации);
г) статического и динамического анализа (при наличии исходных кодов обновлений безопасности)."
Если в ходе ручного анализа (Т006) что-то нашлось, нужно написать во ФСТЭК и НКЦКИ. И всеми результатами тестирования рекомендуется делиться со ФСТЭК, а ФСТЭК их будет выкладывать в БДУ.
Набор проверок для проприетарного и опенсурсного софта отличается. Для проприетарного в целом логичный набор: Т001 и/или Т002; Т003 и/или Т004; Т005. Для опенсурсного почему-то вообще не требуется проводить сверку идентичности обновлений безопасности (Т001) и поиск опасных конструкций безопасности (Т004), зато видимо обязательно проводить ручной анализ обновлений безопасности (Т006). Логика за этим кроется какая-то хитрая, я её не понял. Как это сочетается с тем, что в описании Т006 пишут, что его проводим только если предыдущие что-то продетектили, тоже не понял.
Если попробовать резюмировать впечатления от документа, то всё это выглядит страшновато (особенно Т005 и Т006). Особенно с учетом громадных объемов обновлений Microsoft и ещё больших объемов для мейнстримных Linux дистрибутивов. А ведь там ещё тучи third-party софта. 🤯 На текущий момент сложно представить, что все эти работы будут скрупулезно проводиться внутри организаций так как это описано. Трудоемкость чудовищна. Будем посмотреть во что это реально выльется. Хочется надеяться, что все же в готовые фиды.