Comments 2
Спасибо, очень статья!
После ее прочтения у меня возникают следующие вопросы.
По-хорошему каждый тип атаки — это свой класс (SQL-инъекция и прочие). В связи с этим вопрос: вы решаете задачу бинарной или многоклассовой классификации?
Лично у меня поиск нелегитимных http-запросов в первую очередь ассоциируется с задачей поиска аномалий, а не классификации. Потому что когда вы решаете задачу классификации, вы, соответственно, учитесь не искать аномальные запросы, а классифицировать так или иначе. В связи в этим возникает вопрос — как вы формировали обучающую выборку? Насколько вы уверены, что в ней присутствуют все возможные типы атак и в достаточном количестве, чтобы алгоритм на них обучился? Также очень интересно, какие источники вы использовали? Это какие-то открытые базы или внутренние источники?
Вы тестировали нейросеть или отказались от нее уже на уровне идеи?
Почему AdaBoost, а не XGBoost или CatBoost?
После ее прочтения у меня возникают следующие вопросы.
По-хорошему каждый тип атаки — это свой класс (SQL-инъекция и прочие). В связи с этим вопрос: вы решаете задачу бинарной или многоклассовой классификации?
Лично у меня поиск нелегитимных http-запросов в первую очередь ассоциируется с задачей поиска аномалий, а не классификации. Потому что когда вы решаете задачу классификации, вы, соответственно, учитесь не искать аномальные запросы, а классифицировать так или иначе. В связи в этим возникает вопрос — как вы формировали обучающую выборку? Насколько вы уверены, что в ней присутствуют все возможные типы атак и в достаточном количестве, чтобы алгоритм на них обучился? Также очень интересно, какие источники вы использовали? Это какие-то открытые базы или внутренние источники?
Вы тестировали нейросеть или отказались от нее уже на уровне идеи?
Почему AdaBoost, а не XGBoost или CatBoost?
>> Вы тестировали нейросеть или отказались от нее уже на уровне идеи?
Тестировали, но не глубинную, и они показали себя хуже.
>> Почему AdaBoost, а не XGBoost или CatBoost?
Для HTTP-запросов алгоритм AdaBoost показал лучшие результаты.
>> По-хорошему каждый тип атаки — это свой класс (SQL-инъекция и прочие). В связи с этим вопрос: вы решаете задачу бинарной или многоклассовой классификации?
Каждый тип атаки — это отдельный класс, но в рамках задачи по выявлению аномалий сформировать репрезентативную обучающую выборку, которая дала бы хорошие результаты на новых, неизвестных данных, не удается, поэтому задачу свели к двум классам.
>> Лично у меня поиск нелегитимных http-запросов в первую очередь ассоциируется с задачей поиска аномалий, а не классификации. Потому что когда вы решаете задачу классификации, вы, соответственно, учитесь не искать аномальные запросы, а классифицировать так или иначе. В связи в этим возникает вопрос — как вы формировали обучающую выборку? Насколько вы уверены, что в ней присутствуют все возможные типы атак и в достаточном количестве, чтобы алгоритм на них обучился? Также очень интересно, какие источники вы использовали? Это какие-то открытые базы или внутренние источники?
Базовые запросы для каждого класса атак собираются из различных источников (большая из которых — инструментальный и полуинструментальный анализ защищенности веб-приложений). После каждой итерации производится выверка полученных запросов (группировка, сортировка и ручная обработка). Но основной отличительной особенностью работы Nemesida AI является является процесс частичного разбавления данных для класса атак данными из легитимных запросов к конкретному веб-приложению (например, подстановка cookie, UA и т.д. реальных посетителей). Такой подход позволяет добиваться максимально высоких показателей точности при обнаружении аномальных обращений.
Тестировали, но не глубинную, и они показали себя хуже.
>> Почему AdaBoost, а не XGBoost или CatBoost?
Для HTTP-запросов алгоритм AdaBoost показал лучшие результаты.
>> По-хорошему каждый тип атаки — это свой класс (SQL-инъекция и прочие). В связи с этим вопрос: вы решаете задачу бинарной или многоклассовой классификации?
Каждый тип атаки — это отдельный класс, но в рамках задачи по выявлению аномалий сформировать репрезентативную обучающую выборку, которая дала бы хорошие результаты на новых, неизвестных данных, не удается, поэтому задачу свели к двум классам.
>> Лично у меня поиск нелегитимных http-запросов в первую очередь ассоциируется с задачей поиска аномалий, а не классификации. Потому что когда вы решаете задачу классификации, вы, соответственно, учитесь не искать аномальные запросы, а классифицировать так или иначе. В связи в этим возникает вопрос — как вы формировали обучающую выборку? Насколько вы уверены, что в ней присутствуют все возможные типы атак и в достаточном количестве, чтобы алгоритм на них обучился? Также очень интересно, какие источники вы использовали? Это какие-то открытые базы или внутренние источники?
Базовые запросы для каждого класса атак собираются из различных источников (большая из которых — инструментальный и полуинструментальный анализ защищенности веб-приложений). После каждой итерации производится выверка полученных запросов (группировка, сортировка и ручная обработка). Но основной отличительной особенностью работы Nemesida AI является является процесс частичного разбавления данных для класса атак данными из легитимных запросов к конкретному веб-приложению (например, подстановка cookie, UA и т.д. реальных посетителей). Такой подход позволяет добиваться максимально высоких показателей точности при обнаружении аномальных обращений.
Sign up to leave a comment.
Машинное обучение vs сигнатурный анализ при обнаружении атак на веб-приложение