Новая версия Trinity 1.1 для ловли ошибок в системных вызовах Linux

1187

Недавно представлен релиз новой версии Trinity 1.1, с которой мониторинг linux станет гораздо проще. Утилиты выполняющей fuzzing-тестирование системных вызовов ядра операционной системы Linux. Принцип тестирования данной программой состоит в проверке постоянной работоспособности системных вызовов, учитывая поступления всевозможных комбинаций произвольных значений аргументов.Утилита Trinity 1.1 отличается от других программ fuzzing-тестирования тем, что она производит формирование аргумента с учетом специфики любого системного вызова, что обеспечивает выявление трудноуловимых проблем, который могут проявляться только в условиях близких к штатным.

Например, обновленная версия Trinity формирует случайные наборы реальных сетевых сокетов и файловых дескрипторов (выполняются реальные файлы, элементы sysfs, /dev, procfs, pipe-каналы, устанавливаются сетевые соединения по всевозможным протоколам), которые затем передаются в виде значения аргумента в системные вызовы, производящими манипулирование сетевыми сокетами или файловыми дескрипторами. При этом проводится тестирование и одновременного обращения к системным вызовам, используя один дескриптор в несколько потоков. Для аргументов, которые принимают размер, в первую очередь происходит генерирование значений в степени двойки +/- 1.

В варианте Trinity версии 1.1 сделано обновление таблицы системных вызовов, в ней учтены возможности Linux включая версию 3.8rc4. Добавлена новая поддержка архитектур SuperH и MIPS, значительно усовершенствована поддержка архитектуры ARM. Увеличены возможности в настройках тестирования в несколько потоков. Добавлены настройки скрипта для лучшего исправления различий между старыми дистрибутивами. Изменен пользовательский интерфейс. Исправлены другие мелкие ошибки.