Новая версия симулятора Wind River Simics – новые возможности тестирования кибербезопасности встраиваемых систем
Симулятор цифровых электронных систем Simics компании Wind River позволяет построить модель компьютерной системы и исполнять на этой модели реальное программное обеспечение (ПО) – в частности, операционную систему или сетевой стек – в двоичном коде без какой-либо модификации и перекомпиляции, но со скоростью, приемлемой для практического применения, например для тестирования и отладки ПО.
Модель компьютерной системы дает возможность отслеживать исполнение ПО с такой степенью детальности, которая недоступна при исполнении на физической аппаратуре. Можно сделать полный останов всех компонент системы одновременно, например синхронно всех ядер многоядерного микропроцессора вместе с периферийными устройствами и даже данными, летящими по шинам и сетям, и исполнить программу реверсивно (в обратном направлении) для поиска первопричины возникшего сбоя. Симулятор Simics умеет трассировать любую, даже внутреннюю информацию процессоров и устройств и сохранять ее, в том числе с временными метками, для последующего анализа.
Один из наиболее распространенных вариантов применения симулятора Simics – построение виртуального испытательного стенда для тестирования кибербезопасности. Во-первых, виртуальный стенд (модель испытуемой компьютерной системы) гораздо дешевле экземпляра оборудования, во-вторых, при запуске вредоносного ПО на модели системы это ПО не может обнаружить, что оно находится под наблюдением, в отличие от реальной системы, в которой подключение средств трассировки исполнения будут видны вредоносному ПО и оно сможет скрыть свое проявление.
Для обнаружения уязвимостей ПО в Simics есть функция «инъекции неисправности» (fault injection), с помощью которой можно смоделировать любой вектор атаки и любое количество этих векторов, а также сделать скрипт для многократного повторения сценария атаки.
Библиотека моделей Simics содержит сотни цифровых устройств (процессоры, контроллеры шин, памяти, прерываний и прямого доступа, интерфейсы ввода/вывода и др.), а также десятки коммерческих плат (reference-дизайны и COTS-модули). На базе библиотечных моделей Simics можно построить модель многоплатной системы, в том числе распределенной. В семейство продуктов Simics входит инструмент для разработки новых моделей или для модификации библиотечных моделей.
В новой версии Simics 6 производительность симулятора увеличена на 20% и добавлены новые средства трассировки внутреннего состояния моделей. Также в Simics 6 расширены возможности по подключению пользовательских средств анализа собранной внутренней информации.
В этом году симулятору Simics исполнится 22 года. В 1998 г. шведская компания-стартап Virtutech вышла на рынок с этим продуктом, который позволяет вести разработку аппаратного и программного обеспечения параллельно и производить интеграционное тестирование на этапах, когда итерации разработки еще не ведут к критическим задержкам сроков проекта. В 2010 г. Virtutech была приобретена компанией Wind River. Дистрибьютор компании Wind River в России – компания «АВД Системы», поставщик средств разработки программного обеспечения критически важных для безопасности сертифицируемых встраиваемых компьютерных систем.