По договоренности
Без предоплаты. Оплата после демонстрации результата.
Задача:
Необходимо реализовать дополнительный режим к существующему фаззеру системных вызовов на основе указанной статьи. Реализация строго на C, без использования дополнительных инклудов и библиотек, которых на момент работы в фаззере нет, только системные и те, которые присутствуют в проекте самого фаззера.
Статья приложена.
Из статьи необходима только часть, детектирующая кандидатов в уязвимости double fetch, точно до пункта 4.3, пункт 4.4 желателен, но не обязателен. В статье описываются подробности за пределами этих пунктов, так что прочтение всей статьи целиком очень желательно чтобы верно выполнить задачу.
Целевая среда работы Linux (старый Debian). Проект фаззера Trinity https ://github .com/kernelslacker/trinity
Подробности при общении.
Результатом работы является:
1) проект фаззера с внесенными изменениями, исходники.
2) краткое описание внесенных изменений и комментарии в коде к ним.
3) демонстрация факта сборки кода, демонстрация хэш-суммы архива, в котором код, передача мне архива и хэш-суммы для сверки.
4) демонстрация факта работы собранного кода, пример поиска double fetch на каком-нибудь старом Linux приветствуется
Задача признается выполненной, если я получаю проект, который собирается и при выполнении который:
1) позволяет указывать режим работы параметром -mode full/df, где full обычный режим работы фаззера, а df режим из статьи.
2) При указании режима df из статьи в аргументах также должна быть возможность указывать 1 конкретный системный вызов, список вызовов и указывать "все" вызовы.
3) режим df подразумевает использование лога в виде файлов, содержащих информацию о потоке, исследуемом системном вызове и времени обращения к аргументам системных вызовов, которое и измеряется по статье. Данное время может быть не в стандартных единицах (секунды/миллисекунды/тики), главное чтобы не противоречило концепции статьи, т.е. с помощью него можно было бы искать double fetch к аргументу системного вызова.
4) внесенные изменения в фаззер не должны затронуть структуру таблиц системных вызовов, должна остаться возможность использования кастомных таблиц вызовов.
Приветствуется:
1) Git, если работа по совести и на доверии, т.е. если я вижу, что вы работаете и код работает, то просто договариваемся о переводе средств остальные формальности выше не затрагиваем.
2) Обсуждение вопросов.
Ориентировочная цена: 3000 руб если выполнение не более чем за 5 дней.
Могу написать конкретнее если заинтересованы. Торг уместен, если вы можете его обосновать, но моя позиция в цене такова потому что работы по коду здесь мало (как студенту на лабораторную), но для того, чтобы этот код написать надо предварительно прочитать статью. Одну из версий я писал сам, но на рефакторинг нет времени, потому отдаю на фриланс и потому знаю, что работы там мало, но время тратить не могу, к сожалению.