История изменений
Исправление
Moisha_Liberman,
(текущая версия)
:
На живую, на сети. И не обязательно http(s). Так можно любой протокол прочесать на вшивость. В принципе, для поиска места приложения эксплоита, можно совместить фаззер и посмотреть под отладчиком где софтина рухнет. Впрочем, это всё легко гуглится.
Я бы со своей колокольни, если честно, то до греха бы не доводил и прогнал бы свой код через тот же splint для начала. Это secure programming lint. Поделие не самое новое, но как бесплатный статический анализатор кода показывает достаточно в сишном коде. Как с плюсами — не знаю, не пробовал. А вот с С постоянно.
В коде особое внимание обратить следует на работу с сетевыми буферами и стеком. Т.е., там, где софт «соприкасается» с сетью. Если есть косяк глубже, то это плохо, но менее смертельно, т.к. в начале до глубин надо ещё и дорубиться. А remote exploit будут в начале к сетевой части применять, а не к работе с диском, это уже потом.
Ну вот, как-то вот так...
Исходная версия
Moisha_Liberman,
:
Ну вообще качество реализации протокола фаззерами тестируют.
На живую, на сети. И не обязательно http(s). Так можно любой протокол прочесать на вшивость. В принципе, для поиска эксплоита, можно совместить фаззер и посмотреть под отладчиком где софтина рухнет. Впрочем, это всё легко гуглится.
Я бы со своей колокольни, если честно, то до греха бы не доводил и прогнал бы свой код через тот же splint для начала. Это secure programming lint. Поделие не самое новое, но как бесплатный статический анализатор кода показывает достаточно в сишном коде. Как с плюсами — не знаю, не пробовал. А вот с С постоянно.
В коде особое внимание обратить следует на работу с сетевыми буферами и стеком. Т.е., там, где софт «соприкасается» с сетью. Если есть косяк глубже, то это плохо, но менее смертельно, т.к. в начале до глубин надо ещё и дорубиться. А remote exploit будут в начале к сетевой части применять, а не к работе с диском, это уже потом.
Ну вот, как-то вот так...