Лень, кибербезопасность и машинное обучение.

Previous Entry Поделиться Next Entry
26 сентября, 2016
e_kaspersky
Так исторически и генетически сложилось, что человек ленив: если что-то можно не делать, большинство и не сделает. Как это ни парадоксально, но это хорошо, ибо лень – двигатель прогресса. Если до чего-то не дотягиваются руки, то человек ленивый (но ответственный) поручает машинам(хомо лентяйус?)

Разумеется, есть и другие драйверы, мотивирующие делать нашу жизнь проще и комфортнее.

Но когда дело касается кибербезопасности – лень противопоказана. Здесь на первый план выходит оптимизация. Анализ миллионов вредоносных файлов и сайтов в день, разработка «таблеток» против новых угроз, «прокачка» проактивной защиты и решение десятков других критических задач просто невозможно без внедрения автоматизации. И машинное обучение, такое популярное сейчас, является одним из главных инструментов этого процесса.

Автоматизация прописалась в кибербезопасности в момент появления этой самой кибербезопасности. Помню, например, как в бородатые 2000-е своими мозгами руками писал робота по разбору входящих «самплов» – робот раскладывал детектирующиеся файлы по папочкам в вирусной коллекции в соответствии с вердиктом. Трудно представить, что раньше я делал это вручную.

Но сейчас заставить роботов делать то, что ты хочешь, просто чётко поставив им задачу, недостаточно. Задачу хочется ставить нечётко. Да, именно так!

Например, «найди на фотографии лица людей». В такой постановке не хочется описывать как эти лица выделить и чем люди отличаются от собак. Хочется показать роботу несколько фотографий и сказать: «вот здесь люди, это лица, а тут собаки; дальше сам думай». Вот такая «свобода творчества» и называется машинным обучением.

25CCD2F400000578-2958597-image-a-27_1424270103152Источник

МО + КБ = Л

Без машинного обучения (МО) сегодня не выживет ни одна секюрити-компания (если, конечно, не паразитировать на чужих детектах). Забавно, что некоторые стартапы преподносят эту дисциплину как недавнюю революцию в кибербезопасности (КБ), которую они как бы затеяли и возглавляют. В действительности машинное обучение применяется на секюрити-практике уже более десяти лет, хотя и без особой помпы.

Машинное обучение - тема тысяч докторских диссертаций, которую в один пост не впихнёшь. Даже в два поста :) Да и нужны ли читателю академические подробности? Посему сейчас я доступно расскажу только о самом вкусном, практическом и захватывающем.

В начале пути мы использовали разные математические модели только для внутренних нужд. Например, для автоматизации рабочего места вирусного аналитика (выделение главного в потоке информации), кластеризации (группировка объектов по признакам), оптимизации работы краулера (определение приоритета и интенсивности обхода миллионов URL с учётом весов разных факторов).

Позднее стало ясно, что без внедрения умных технологий в продукты для защиты пользователей поток кибергадости нас похоронит. Нужны были роботы, способные быстро и точно ответить на сложные вопросы, вроде «покажи-ка мне самые подозрительные файлы, только сам догадайся, кто подозрителен, вот тебе примеры». Или: «смотри, вот так выглядят классные эвристические процедуры, которые детектят десятки тысяч объектов - тебе надо найти закономерности, разобраться и сделать такие же процедуры, но для других объектов».

Сразу немного дёгтя, чтобы вы не подумали, что всё так просто: в применении методов машинного обучения к реальным задачам есть много трудностей и тонкостей. Особенно в кибербезопасности. Сетевой андерграунд постоянно изобретает новые типы атак и какой бы хорошей ни была математическая модель, её нужно постоянно совершенствовать. Это ключевой момент – мы работаем в условиях, когда машинное обучение сталкивается с направленным и постоянным противодействием.

Во-первых, сначала нужно эти новые атаки найти. Разумеется, кибернегодяи не присылают нам свои поделки – наоборот, они стараются их скрыть, чтобы как можно дольше быть вне радара и побольше заработать. Поиск таких атак – это дорогостоящий экспертный труд с использованием сложных инструментов.

Во-вторых, аналитик должен натренировать робота правильно распознавать что важно, а что нет. Это ой как непросто, тут много проблем и одна из них - переобучение, где «пере-» - в значении «слишком».

machine-learning-ai-artificial-intelligence-e1462471461626Источник

Есть такой классический пример: математики создали модель для распознавания изображения коров, обучили её на множестве картинок и – о, чудо! – она действительно стала распознавать коров! Начали усложнять картинки, а модель вообще ничего не понимает… Попробовали разобраться – алгоритм оказался слишком «умным» и он обманул сам себя – «натренировался» на зелёную лужайку на фоне вместо коров.

Так что путь добавления «мозга» в технологии тернист – это долгий и сложный путь проб и ошибок, который требует комбинации двух экспертиз – в анализе данных и в кибербезопасности. К середине 2000-х мы накопили и то и другое и начали подключать машинное обучение к «боевым» технологиям в продуктах. С тех времен автоматизация шагнула сильно вперёд, ввысь и вглубь. Различные математические подходы были внедрены в самых разных продуктах и компонентах, больших и маленьких: в анти-спаме (классификация писем на предмет спамовости), анти-фишинге (эвристическое распознавание фишинговых страниц), родительском контроле (обнаружение нежелательного контента), анти-фроде, защите от целевых атак, мониторинге активности и других.

 

Нет так быстро, мистер Смит

У прочитавшего об успехах машинного обучения может возникнуть соблазн запихнуть такой вот умный машинный алгоритм прямо на компьютер клиента и забыть о нём – алгоритм же умный, вот пусть и учится. Но один в поле не воин и вот почему.

Во-первых, такой подход упирается в ограничение по производительности. Пользователю нужен разумный баланс между качеством защиты и скоростью, а развитие существующих и добавление новых, пусть даже самых умных технологий неизбежно потребует драгоценных системных ресурсов.

Во-вторых, подобная «изолированность» с отсутствием обновлений, отсутствием новой обучающей информации неизбежно снижает качество защиты. Алгоритм нужно регулярно обучать на принципиально новых типах кибератак, чтобы он не терял свои детектирующие способности, не падал уровень защиты пользователя.

В-третьих, концентрация всех «боевых» технологий на компьютере даёт кибернегодяям больше возможностей изучить особенности защиты и разработать методы противодействия.

И это самые важные, но далеко не все причины.

Что делать?

Конечно, вынести самые тяжёлые и ресурсоёмкие технологии машинного обучения в куда более продвинутое, чем компьютер пользователя, место! Создать удалённый мозг, который по признакам объектов с миллионов клиентских машин способен быстро и точно распознать атаку и доставить защиту.

 

Белогривая лошадка

Так, 10 лет назад мы создали KSN (17 патентов и патентных заявок), которая решила проблему – облачная технология связала каждый защищённый компьютер с передовой инфраструктурой, которая экономила ресурсы пользователя и усиливала защиту.

По сути KSN – матрёшка: «облако» содержит много других умных технологий против кибератак. Здесь у нас и «боевые» системы и постоянно развиваемые экспериментальные модели.  Про одну из таких систем я уже рассказывал – с 2009-го года Astraea (патенты US7640589, US8572740, US7743419) автоматически анализирует события на защищённых компьютерах и выявляет неизвестные угрозы. Сегодня Astraea обрабатывает в сутки более сотни миллионов событий, попутно рассчитывая рейтинг для десятков миллионов объектов.

И хотя облачные технологии на практике доказали своё преимущество до сих пор есть продукты, которые продают автономные, изолированные системы, прошедшие предварительное машинное обучение и редко обновляющиеся на клиентском компьютере.

Мол, благодаря машинному обучению они могут долго, без обновлений детектить новые поколения вредоносов. Ага, «неуловимые Джо» - их детект просто никто не сбивает, потому что нет нужной поверхности для атаки экономической выгоды – слишком мало пользователей у таких продуктов, чтобы злоумышленники взялись за них всерьёз. А может и сбивают, но они не в курсе. Что-то я не слышал, что кто-то из них словил такие продвинутые шпионские атаки как Duqu, Flame или Equation.

Сейчас у нас 99,9% киберугроз анализируется инфраструктурными алгоритмами с использованием машинного обучения. Между выявлением подозрительного поведения на защищённом устройстве и выпуском «таблетки» в среднем проходит всего 10 минут. Если, конечно, мы не отловили негодяя автономной проактивной защитой (например, автоматической защитой от эксплойтов). Были случаи, когда от момента обнаружения подозрительного объекта до выпуска обновления проходило всего 40 секунд (sic!) и на андерграундных форумах начинали ныть: «Как эти сволочи так быстро нас детектят? Мы не успеваем сбивать детект!».

Результат создания облачной инфраструктуры с машинным обучением был ааафигительный! Мы и раньше редко проигрывали в тестах, но с тех пор стали вообще бесспорным №1 по качеству защиты. При этом сохраняли очень низкий уровень ложных срабатываний и давали высокую скорость – один из лучших показателей по индустрии.

 

Выдержанное вино vs молодая бурда

Казалось, вот она – панацея! Достаточно иметь на компьютере лёгкий клиент-перехватчик, а всю работу по анализу передавать в «облако». Но тогда при проблемах с сетевым доступом компьютер будет вообще беззащитен. Дааа, он такой – соблазн впасть в другую крайность. Практика доказала, что идеальная среда обитания умных технологий – сочетание автономного и облачного ландшафта.

Другая крайность и не меньшее заблуждение: машинное обучение может заменить все остальные подходы. Да, есть сторонники класть все яйца в одну корзину.

Но что будет, когда злоумышленник поймёт работу алгоритма (благо вся логика у него перед глазами) и научится обходить защиту? Это потребует доработки всей математической модели и обновления защищённого устройства. А пока модель дорабатывается, а обновления доставляются, пользователь остаётся наедине с кибератакой, без защиты.

Вывод очевиден: лучшая защита – это комбинация различных технологий на всех уровнях и с учётом всех векторов атак.

Наконец, самое важное: машинное обучение создаётся людьми, экспертами самого высокого класса по анализу данных и кибербезопасности. Одного без другого просто не бывает. И это длительный процесс проб и ошибок, который занимает многие годы. Это как хорошее выдержанное вино – оно всегда будет лучше молодой бурды с красивой этикеткой и пластиковым декантером в бонус. Кто раньше начал роман с машинным обучением – у того опытнее эксперты, лучше технологии и надёжнее защита. Что красноречиво подтверждают тесты, исследования и заказчики.

 

Бонус трэк: o tempora, o mores!

Бизнес-модель некоторых секюрити стартапов понятна: они работают в парадигме «неважно сколько ты зарабатываешь – главное сколько ты стоишь». Их цель – бурная маркетинговая деятельность, основанная на провокациях, манипуляциях и фейках для раздувания пузыря ожиданий.

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

С другой стороны, сделать с нуля хороший секюрити-продукт, обладающий всеми достоинствами и качествами – сложно, если вообще возможно. Для этого нужны не столько деньги, сколько мозги и время. Но можно начать с малого и потихоньку «допиливать» разработку.

machine-learning-robots-dilbert

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



Previous Entry Поделиться Next Entry

Записи из этого журнала по тегу «humachine»

  • Рекламная энтомология.

    Само собой разумеется, что мой e-mail весьма подвержен спаму. Долгие годы раздачи визиток направо и налево, «засвечивания» адреса в публикациях, на…

  • Одержимость фигурами.

    Дамы и господа, Без лишних предисловий сим спешу сообщить, что мы являемся официальным спонсором талантливого шахматиста Сергея Карякина. По этому…

  • Миллиард в облаке.

    Не так давно хорошие наблюдательные пользователи засекли "миллиард" в нашей базе и поздравили меня с этим событием. Спасибо! Но надо объясниться -…


сломал мозг, пока прочел ваш комментарий

Нам тут обещают госвредонос с госсертификатом от имени Касперской, Duqu покажется детской шалостью из 20-го века.

Это будет забавно, кстати. Один правильно проведенный взлом, и вся Россиюшка под лупой, лол, свой ламповый мини-АНБ на стероидах.

Может я глуп, но всегда отключаю "облако", так как есть подозрения, что вы получаете некоторую информацию с моего компа. )))

(Удалённый комментарий)
спасение утопающих в руках утопающих. отключая облако, вы сильно ослабляете защиту, никакой дополнительной приватности при этом не получая.

Про KSN по ссылкам выше и в EULA понятно рассказано - данные идут неперсоницифированные, с конкретным пользователем не сопоставляемые. Впрочем, следуя логике "есть подозрения, что вы получаете информацию с моего компа" лучше первым делом удалить Windows. А потом и практически весь остальной софт, потому что передача анонимизированной "телеметрии" есть практически в любом приложении

Вы знаете, однажды я поймал такую заразу, что Каспер просто "сдох". Комп завис, а эта тварь множила и множила что-то на мой стол. Пришлось аварийно вырубать комп и вставлять диск с Acronis True Image Home. А так - бережёного Бог бережёт.

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

Лучше сходить вниз и выкрутить пробки. Потому что и телевизор передаёт информацию, да и вообще везде жучки и закладки могут быть, в таком мире живем. :)

Ну че тут скажешь, норм экосистема, конечно. Кулхацкеры пишут говнокод уровня K+ε, антивирус быстренько обновляется до K+2ε, используя распределенные машинные алгоритмы в облаке, и все довольны. Эх, где мой первый полностью полиморфный вирус… Не осталось уже идейных, совсем не осталось. :(

(Удалённый комментарий)
" человек ленивый (но ответственный) поручает машинам"

несправедливое утверждение
человек ленивый даже слово "машина" не придумает
Как раз человек "в попе - шило, в голове - мозги" изобретает и придумывает, упрощая жизнь в первую очередь себе и заодно и всем лентяям

лень – двигатель прогресса

vasm

2016-09-26 18:28 (UTC)

Ах, как хорошо!

"— Ну, по этой комнате не скажешь, что тут живет лентяй, — смеется Рэнди.

— А вот представь, — сказал Джордж. — Оттого-то она так и выглядит. Знаешь… — лицо у него стало задумчивое, — по-моему, в нашем мире прорву работы выполняют лентяи. Они оттого и работают, что так ленивы.

— Что-то я не пойму, — сказал Рэнди. — Но ты говори… выкладывай…

— Ладно, слушай, — вполне серьезно продолжал Джордж. — Работаешь, потому что боишься не работать. Работаешь, потому что должен черт-те как разъяриться, чтобы начать. Это самое трудное. Начать до того трудно, что, уж когда начал, боишься остановиться. Готов на что угодно, только бы не проходить опять через эту муку… ну, и знай работаешь, гонишь быстрей и быстрей… Уже и захотел бы остановиться, так не смог бы. Забываешь поесть, побриться, надеть чистую рубашку, если она у тебя есть. Про сон и то забываешь, а захочешь уснуть — не можешь… лавина сдвинулась, ее уже не остановишь ни днем, ни ночью. А люди говорят: «Почему бы вам разок-другой не сделать перерыв? Почему изредка не выкинуть работу из головы? Почему не передохнуть денек-другой?» А ты просто не можешь… не можешь остановиться… а и мог бы, так побоялся — вдруг придется снова пройти через весь этот ад, когда захочешь продолжать. Говорят, ты жаден до работы, а дело вовсе не в том. Это просто-напросто лень, самая обыкновенная лень, и черт бы ее подрал."

Томас Вулф. Домой возврата нет.

KIS 14.0.0.4561 - не вижу там KSN. :'-(

?

Log in

No account? Create an account