>> Вы тестировали нейросеть или отказались от нее уже на уровне идеи?
Тестировали, но не глубинную, и они показали себя хуже.
>> Почему AdaBoost, а не XGBoost или CatBoost?
Для HTTP-запросов алгоритм AdaBoost показал лучшие результаты.
>> По-хорошему каждый тип атаки — это свой класс (SQL-инъекция и прочие). В связи с этим вопрос: вы решаете задачу бинарной или многоклассовой классификации?
Каждый тип атаки — это отдельный класс, но в рамках задачи по выявлению аномалий сформировать репрезентативную обучающую выборку, которая дала бы хорошие результаты на новых, неизвестных данных, не удается, поэтому задачу свели к двум классам.
>> Лично у меня поиск нелегитимных http-запросов в первую очередь ассоциируется с задачей поиска аномалий, а не классификации. Потому что когда вы решаете задачу классификации, вы, соответственно, учитесь не искать аномальные запросы, а классифицировать так или иначе. В связи в этим возникает вопрос — как вы формировали обучающую выборку? Насколько вы уверены, что в ней присутствуют все возможные типы атак и в достаточном количестве, чтобы алгоритм на них обучился? Также очень интересно, какие источники вы использовали? Это какие-то открытые базы или внутренние источники?
Базовые запросы для каждого класса атак собираются из различных источников (большая из которых — инструментальный и полуинструментальный анализ защищенности веб-приложений). После каждой итерации производится выверка полученных запросов (группировка, сортировка и ручная обработка). Но основной отличительной особенностью работы Nemesida AI является является процесс частичного разбавления данных для класса атак данными из легитимных запросов к конкретному веб-приложению (например, подстановка cookie, UA и т.д. реальных посетителей). Такой подход позволяет добиваться максимально высоких показателей точности при обнаружении аномальных обращений.
Какой ещё к чёрту вектор текста?! Чтобы быть вектором, нужно иметь направление в пространстве. Для векторов существует векторная математика. Ваши псевдовекторы к ним не относятся, не несите чуши! Именно вы и занимаетесь подменой понятий, маркетинговой лапшой.
Не стоит считать, что определение вектора из курса школьной геометрии является единственным. Так, например, существует следующее определение:
ВЕКТОР — упорядоченный набор из некоторого количества независимых действительных чисел (x = (x1,…, xn)) [Экономико-математический словарь]. Мера TF-IDF часто используется для представления документов коллекции в виде числовых векторов, отражающих важность использования каждого слова из некоторого набора слов (количество слов набора определяет размерность вектора) в каждом документе. Подобная модель называется векторной моделью и даёт возможность сравнивать тексты, сравнивая представляющие их вектора в какой-либо метрике.
Знаете чем экспертная система отличается от искусственного интеллекта, скажем, в распознавании образов?
1) Экспертная система — система искусственного интеллекта, включающая знания об определенной слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять пользователю разумные решения. Экспертная система состоит из базы знаний, механизма логического вывода и подсистемы объяснений. [Финансовый словарь Финам.]
2) Экспертная система — система, использующая базу знаний для решения задач в некоторой предметной области. ЭС — одно из направлений ИИ. Синоним — knowledge-based system. Особый класс систем искусственного интеллекта, включающий знания об определённой слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять разумные решения. Ее основным назначением является: интерпретация данных, диагностика состояния, мониторинг, прогнозирование, планирование и обучение. [Справочник технического переводчика]
В широком смысле определения ИИ экспертная система также является его частью. В узком смысле Вашего (личного) определения Вы можете относить их к любому разделу науки.
Даже не касаясь истинности приведенного Вами довода о том, что наш модуль машинного обучения является экспертной системой, но отталкиваясь от него и опираясь на определение все равно приходим к выводу о том, что это ИИ.
Искусственный интеллект самостоятельно создаёт алгоритм распознавания и создавшие этот интеллект люди не могут знать заранее этот алгоритм — в общем случае алгоритм может вообще не описываться в элементарных инструкциях (нет возможности запрограммировать каким-либо языком), а обучение состоит в диалоге с ИИ, когда ему дают образы, ИИ даёт своё предположение что это за образ, и ему люди дают ответ — угадал он или нет, всё, никаких указаний признаков для ИИ не требуется — он их определяет самостоятельно.
Не очень понятно, с каким из пунктов определения ИИ, приведенного Вами, из Толкового словаря по искусственному интеллекту согласуется Ваше личное определение?
Приведенный фрагмент поясняет понятие образа, думаю с авторами Вы вряд ли готовы спорить. Не стоит осуществлять подмену понятий. Под «образом» следует также понимать последовательности символов алфавита, вектор признаков, числовые характеристики, ассоциированные с реальным объектом. В нашем случае атака (текстовая строка) преобразуется в вектор признаков на основе TF-IDF и дальше AI работает с вектором признаков — образом исходной атаки.
Машинное обучение — современное название раздела методов распознавания образов, классической задачей которого является задача классификации (в нашей постановке — задача обнаружения атак)
Nemesida AI удовлетворят определению искусственного интеллекта, поскольку в п.1 указано, что функция распознавания образов есть интеллектуальный вид человеческой деятельности.
Давайте оперировать терминами. По определению Artificial Intelligence это:
The theory and development of computer systems able to perform tasks normally requiring human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages. en.oxforddictionaries.com/definition/artificial_intelligence
“The exciting new effort to make computers think… machines with minds, in the full and literal sense.” (Haugeland, 1985)
“The study of mental faculties through the use of computational models.” (Charniak and McDermott, 1985)
“[The automation of] activities that we associate with human thinking, activities such as decision-making, problem solving, learning ...” (Bellman, 1978)
“The study of the computations that make it possible to perceive, reason, and act.” (Winston, 1992)
“The art of creating machines that perform functions that require intelligence when performed by people.” (Kurzweil, 1990)
“Computational Intelligence is the study of the design of intelligent agents.” (Poole et al., 1998)
“The study of how to make computers do things at which, at the moment, people are better.” (Rich and Knight, 1991)
“AI... is concerned with intelligent behavior in artifacts.” (Nilsson, 1998)
[Artificial intelligence: a modern approach (3rd edition) SJ Russell, P Norvig Prentice Hall, 2009]
Речь идет об одной из областей данной отрасли науки — принятие решений машиной на основе предварительно построенных ею самостоятельно моделей (задача классификации) с адаптацией при изменении условий работы. Каждый имеет право вкладывать в это понятие свой смысл, но мы ориентируемся на первоисточники.
Машинное обучение (англ. Machine Learning, ML) — класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач. (wikipedia)
Касательно Nemesida AI — это система, адаптирующаяся под защищаемое веб-приложение за счет построения моделей поведения, и способная выявить атаки — поэтому утверждение, что это ИИ будет верным.
Наличие ложных срабатываний — «обратная сторона медали», они будут в любом случае у систем, работающих в режиме IPS, вопрос только в процентном соотношении ложных срабатываний к общему количеству запросов. Если соотношение ложных срабатываний стремится, например, к 5% — это недопустимо, а 0.04% — это потрясающий в настоящий момент показатель. И большая часть таких срабатываний приходится на запросы внесения изменений в веб-приложения (то есть работа администраторов, разработчиков веб-приложения, которые могут формировать нетипичные для большей части посетителей запросы, например связанные с формированием какой-либо отчетности, с использованием синтаксиса запросов к СУБД, функций языков программирования и т.д. ). Таким образом, показатель ложных срабатываний в Nemesida WAF практически равен нулю.
100 млн. запросов в неделю, то есть 14 млн. запросов в день — что это за интернет-магазин?
Такой трафик могут дать только популярные соц. сети, интернет-магазинов (то есть сайтов, где количество ложных срабатываний влияет на выручку) нет.
Исходя из статистики, 0.04% дадут всего 1-3 ложных (если не 0) срабатываний в день для среднестатистического интернет-магазина (раз о них зашла речь), в то же время представьте размер ущерба, если сайт будет скомпрометирован. Помимо искусственного интеллекта, Nemesida WAF содержит модуль выявления уязвимостей в защищаемом веб-приложении, модуль анализа антивирусным средством, систему автоматического виртуалпатчинга (генерация и наложение патчей на обнаруженные уязвимости не дожидаясь выхода патча от производителя) т.д., которые позволяют обеспечить качественную защиту веб-приложений от атак, в том числе «нулевого дня».
Тестировали, но не глубинную, и они показали себя хуже.
>> Почему AdaBoost, а не XGBoost или CatBoost?
Для HTTP-запросов алгоритм AdaBoost показал лучшие результаты.
>> По-хорошему каждый тип атаки — это свой класс (SQL-инъекция и прочие). В связи с этим вопрос: вы решаете задачу бинарной или многоклассовой классификации?
Каждый тип атаки — это отдельный класс, но в рамках задачи по выявлению аномалий сформировать репрезентативную обучающую выборку, которая дала бы хорошие результаты на новых, неизвестных данных, не удается, поэтому задачу свели к двум классам.
>> Лично у меня поиск нелегитимных http-запросов в первую очередь ассоциируется с задачей поиска аномалий, а не классификации. Потому что когда вы решаете задачу классификации, вы, соответственно, учитесь не искать аномальные запросы, а классифицировать так или иначе. В связи в этим возникает вопрос — как вы формировали обучающую выборку? Насколько вы уверены, что в ней присутствуют все возможные типы атак и в достаточном количестве, чтобы алгоритм на них обучился? Также очень интересно, какие источники вы использовали? Это какие-то открытые базы или внутренние источники?
Базовые запросы для каждого класса атак собираются из различных источников (большая из которых — инструментальный и полуинструментальный анализ защищенности веб-приложений). После каждой итерации производится выверка полученных запросов (группировка, сортировка и ручная обработка). Но основной отличительной особенностью работы Nemesida AI является является процесс частичного разбавления данных для класса атак данными из легитимных запросов к конкретному веб-приложению (например, подстановка cookie, UA и т.д. реальных посетителей). Такой подход позволяет добиваться максимально высоких показателей точности при обнаружении аномальных обращений.
Не стоит считать, что определение вектора из курса школьной геометрии является единственным. Так, например, существует следующее определение:
ВЕКТОР — упорядоченный набор из некоторого количества независимых действительных чисел (x = (x1,…, xn)) [Экономико-математический словарь]. Мера TF-IDF часто используется для представления документов коллекции в виде числовых векторов, отражающих важность использования каждого слова из некоторого набора слов (количество слов набора определяет размерность вектора) в каждом документе. Подобная модель называется векторной моделью и даёт возможность сравнивать тексты, сравнивая представляющие их вектора в какой-либо метрике.
1) Экспертная система — система искусственного интеллекта, включающая знания об определенной слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять пользователю разумные решения. Экспертная система состоит из базы знаний, механизма логического вывода и подсистемы объяснений. [Финансовый словарь Финам.]
2) Экспертная система — система, использующая базу знаний для решения задач в некоторой предметной области. ЭС — одно из направлений ИИ. Синоним — knowledge-based system. Особый класс систем искусственного интеллекта, включающий знания об определённой слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять разумные решения. Ее основным назначением является: интерпретация данных, диагностика состояния, мониторинг, прогнозирование, планирование и обучение. [Справочник технического переводчика]
В широком смысле определения ИИ экспертная система также является его частью. В узком смысле Вашего (личного) определения Вы можете относить их к любому разделу науки.
Даже не касаясь истинности приведенного Вами довода о том, что наш модуль машинного обучения является экспертной системой, но отталкиваясь от него и опираясь на определение все равно приходим к выводу о том, что это ИИ.
Не очень понятно, с каким из пунктов определения ИИ, приведенного Вами, из Толкового словаря по искусственному интеллекту согласуется Ваше личное определение?
Ту Дж., Гонсалес Р. Принципы распознавания образов:
В контексте работы Nemesida AI — это образы атак
The theory and development of computer systems able to perform tasks normally requiring human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages. en.oxforddictionaries.com/definition/artificial_intelligence
“The exciting new effort to make computers think… machines with minds, in the full and literal sense.” (Haugeland, 1985)
“The study of mental faculties through the use of computational models.” (Charniak and McDermott, 1985)
“[The automation of] activities that we associate with human thinking, activities such as decision-making, problem solving, learning ...” (Bellman, 1978)
“The study of the computations that make it possible to perceive, reason, and act.” (Winston, 1992)
“The art of creating machines that perform functions that require intelligence when performed by people.” (Kurzweil, 1990)
“Computational Intelligence is the study of the design of intelligent agents.” (Poole et al., 1998)
“The study of how to make computers do things at which, at the moment, people are better.” (Rich and Knight, 1991)
“AI... is concerned with intelligent behavior in artifacts.” (Nilsson, 1998)
[Artificial intelligence: a modern approach (3rd edition) SJ Russell, P Norvig Prentice Hall, 2009]
Речь идет об одной из областей данной отрасли науки — принятие решений машиной на основе предварительно построенных ею самостоятельно моделей (задача классификации) с адаптацией при изменении условий работы. Каждый имеет право вкладывать в это понятие свой смысл, но мы ориентируемся на первоисточники.
Касательно Nemesida AI — это система, адаптирующаяся под защищаемое веб-приложение за счет построения моделей поведения, и способная выявить атаки — поэтому утверждение, что это ИИ будет верным.
100 млн. запросов в неделю, то есть 14 млн. запросов в день — что это за интернет-магазин?
Такой трафик могут дать только популярные соц. сети, интернет-магазинов (то есть сайтов, где количество ложных срабатываний влияет на выручку) нет.
Исходя из статистики, 0.04% дадут всего 1-3 ложных (если не 0) срабатываний в день для среднестатистического интернет-магазина (раз о них зашла речь), в то же время представьте размер ущерба, если сайт будет скомпрометирован. Помимо искусственного интеллекта, Nemesida WAF содержит модуль выявления уязвимостей в защищаемом веб-приложении, модуль анализа антивирусным средством, систему автоматического виртуалпатчинга (генерация и наложение патчей на обнаруженные уязвимости не дожидаясь выхода патча от производителя) т.д., которые позволяют обеспечить качественную защиту веб-приложений от атак, в том числе «нулевого дня».
P.S.: Статистика посещений: www.liveinternet.ru/rating/#