Проект DeMono

Проект посвящен таким направлениям информационных технологий, как киберпреступность и безопасность, поиск уязвимостей, реверс-инжиниринг, программа восстановления машинного кода (аналог декомпиляции), телекоммуникация. Более развернутое описание каждой из областей дается ниже.

Киберпреступность и безопасность

Уже давно кибероружие, логично несущее угрозу кибербезопасности, стало считаться оружием массового поражения. И одна из причин этого заключается в том, что большое количество объектов инфраструктур подключено к сетям связи (например к Internet). Это позволяет злоумышленнику, используя уязвимости в программном обеспечении устройств инфраструктуры, получить доступ к критически важным объектам и нанести ощутимый вред. При этом, например, в случае атомной станции или нефтегазового оборудования, это может привести к полноценной техногенной катастрофе.

С.Шойгу сравнил угрозы кибербезопасности с оружием массового поражения // rbc.ru

Поиск уязвимостей

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

Реверс-инжиниринг

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

Программа восстановления машинного кода (аналог декомпиляции)

Разработка программы восстановления алгоритмов работы машинного кода в понятный человеку вид позволит автоматизировать, и тем самым упростить, процесс поиска уязвимостей (как низкоуровневых, так и архитектурных) в исследуемом коде. Демо(альфа) версия такой программы, названной утилитой DeMono, описание которой приводится в статья, представлена на сайте в виде онлайн-сервиса (имеющего отладочный вывод внутреннего представления программы в виде текста, деревьев и графов). На данный момент программа поддерживает процессор PowerPC.

Телекоммуникация

Телекоммуникационное оборудование как правило используется для работы с потоками данных, которые могут быть критичными с точки зрения информационной безопасности. Поэтому, поиск уязвимостей в таком оборудовании носит первоочередное (а иногда и стратегическое в масштабах страны) значение. Для поиска уязвимостей может быть использована утилита DeMono, преобразующая машинный код телекоммуникационных устройств в алгоритмическое описание на разработанном расширении языка C, приведенном в статья.