Русский
Русский
English
Статистика
Реклама

Блог компании программный продукт

Вредоносный ИИ реальность угрозы

20.02.2021 16:15:19 | Автор: admin

Привет, Хабр! Сегодня мы бы хотели обсудить такую щекотливую тему как вредоносный ИИ.

Вокруг искусственного интеллекта в целом витает очень много хайпа - и ещё больше алармизма, особенно в последнее время. Не последнюю роль в этом, конечно, сыграла поп-культура: достаточно вспомнить такие телесериалы последних десяти лет, как: В поле зрения (Person of Interest), Мир Дикого Запада (Westworld) и недавнее детище Ридли Скотта Взращённые волками (Raised by Wolves).

Впрочем, научная фантастика была пронизана беспокойной подозрительностью к ИИ за многие десятилетия до этих сериалов. Но насколько велика и реалистична угроза вредоносного ИИ в реальности?

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

Теорема Теслера гласит: "ИИ - это всё, что ещё не было сделано". Когда-то к технологиям искусственного интеллекта относили распознавание текста. Лет через пять распознавание голоса и лица также станут рядовыми технологиями - если уже не стали, учитывая их распространение в банковской сфере, например. Ещё лет через десять нейросети в их нынешнем виде станут столь же заурядной вещью, как текстовый редактор.

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

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

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

Наконец, третий сценарий - это воздействие на нейросети, которые могут спровоцировать их некорректное или прямо вредоносное поведение в нужный момент.

В 2018 и 2020 годах были опубликованы два разных аналитических документа, в которых рассматриваются возможности применения ИИ с вредоносными целями. Первый был главным образом теоретический. Исследование The Malicious Use of Artificial Intelligence: Forecasting, Prevention, and Mitigation" ("Злонамеренное использование искусственного интеллекта: прогнозы, предотвращение и минимизация ущерба") явилась плодом усилий сразу 26 экспертов из 14 европейских и американских организаций, в том числе, Оксфордского, Кэмбриджского, Стэнфордского университетов, Фонда Электронного Фронтира и OpenAI.

Источником второго исследования стал Европол, и в нём описаны несколько случаев вредоносного применения ИИ на практике. И это о многом говорит.

Робот-хакер

Компьютерная программа, которая способна взломать всё, обойти любую защиту и перепрограммировать любую другую компьютерную систему под себя... В этом образе нет ничего особенно нового - но для фантастики.

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

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

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

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

Что, если такие атаки удастся автоматизировать и продвинутые атаки будут производиться машинами самостоятельно - так же, как это делают люди, только быстрее и эффективнее?

Именно такой сценарий предсказывают авторы обоих упомянутых исследований: технологии ИИ в итоге сделают возможными полную автоматизацию хакерских атак. То есть, реальностью станет робот-хакер, способный самостоятельно обучаться, мимикрировать под невинный трафик, адаптироваться к попыткам противодействия, и всё это с нечеловеческой скоростью, если нужно. Нельзя исключать и автоматизацию поиска уязвимостей и даже генерации эксплойтов к ней - почему нет?

В каком-то смысле программный хакер уже реальность. в том же 2018 году IBM представила концептуальную модель вредоносного ПО, использующего технологии ИИ, - DeepLocker.

Разработчики описывают его как узконаправленный и труднообнаруживаемый вредоносный инструмент, который может скрываться в коде других программ и никак не выдавать себя до тех пор, пока жертва не будет идентифицирована. Причём речь идёт не о какой-то специфической машине, а именно о человеке. Для распознавания объекта интереса DeepLocker может применять целый арсенал - средства распознавания лица и голоса, геолокация и анализ данных собранных из открытых источников.

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

Эксперимент доказал применимость и практичность использования ИИ в контексте вредоносного ПО. Очевидно, что то, что смогли сделать в IBM, смогут повторить и в других местах. Особенно при наличии нужной интеллектуальной и материальной базы. И ничто не противоречит предположению, что кибероружие с ИИ-усилением у крупнейших держав мира уже есть.

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

Подменить человека, обмануть человека

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

По данным Европола, на подпольных киберфорумах вовсю обсуждаются, тестируются и даже сдаются в аренду инструменты для взлома паролей и CAPTCHA на базе нейросети, такие как XEvil 4.0 (используется для взлома CAPTCHA на сайтах Яндекса), или PWnagotchi 1.0.0 (используется для взлома сетей Wi-Fi посредством атак деаутентификации).

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

Кроме того, на таких форумах активно обсуждается возможность создания ИИ-ботов для Spotify и Instagram, которые достоверно имитировали бы человеческое поведение. Главным образом - ради мошеннических накруток популярности и повышения монетизации.

Бота для Spotify, кстати, уже создали и предлагают в аренду по цене от 25 до 180 долларов. Можно с уверенностью сказать, что и потребители найдутся - когда фейковая популярность кажется неотличимой от подлинной, почему бы не воспользоваться? Особенно, когда моральных ограничений нет.

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

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

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

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

Отдельная история - дипфейки. Убедительное поддельное видео с помощью ИИ уже вполне можно создать. Это не очень просто сделать, но реально.

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

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

Другой вариант: по соцсетям начинает разгоняться видео, где известный политик вещает что-то глубоко возмутительное (но не вполне неожиданное с его стороны). Итогом становится большой скандал, а то и битые витрины и горящие автомобили. На деле же сам политик ничего такого не озвучивал, от его лица распространили дип-фейк.

Далее: видеозаписи сегодня принимаются как доказательство в суде - при условии, что они представлены в исходном, неотредактированном виде. Но с помощью ИИ нужное видео можно в теории подсадить прямо в носитель, с которого записывается сигнал с камеры, без всяких следов редактирования. Отличный способ подсаживать улики или уничтожать свидетельства.

А как насчёт автоматизированных кампаний по дезинформации или зашумливанию каналов связи с помощью посторонних сообщений от ботов? Или атак на используемые в социальных сетях алгоритмы по курированию контента (которые и так работают не лучшим образом). Всё это уже сегодня под силу ИИ-решениям.

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

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

Дипфейки могут затрагивать и другие области: например, уже многократно продемонстрировано, как может быть легко обмануть автомобильные автопилоты просто с помощью специально подготовленных проекций изображений. Все эти эксперименты проводились в безопасной среде, практическая реализуемость таких атак не всегда однозначна, но заведомо отлична от нуля. Особенно, если в дело вступит ИИ.

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

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

Обмануть ИИ

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

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

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

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

Можно ли что-то с этим сделать?

Как ни странно это может прозвучать, но в конечном счёте всё упирается в этику. Пусть и в самом широком смысле.

В уже упомянутом сериале "В поле зрения" сквозной сюжетной линией трёх из пяти сезонов оказывается противостояние двух искусственных интеллектов (настоящих) и их создателей - людей.

Перевес постоянно на стороне антагонистов. Их ресурсы кажутся неисчерпаемыми, вдобавок они ни в чём себя не сдерживают, ни с чем, кроме собственных целей и намерений не считаются и никакими средствами не гнушаются - эмпатию и человечность в целом они считают слабостью. Соответственно ведёт себя и их ИИ - "Самаритянин": будучи намного мощнее оппонента, он ещё и полностью лишён каких-либо моральных ограничителей, в то время как основной протагонист потратил огромное количество времени и сил на то, чтобы обучить свою систему ИИ отличать добро от зла. Это и обусловило победу протагонистов, хотя и пиррову. Этичный рационализм оказался выше рационализма аморального (чтобы не сказать, психопатичного).

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

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

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

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

К области этики принадлежат и отношения людей и друг к другу, и к собственной личной и рабочей информации. Этика разработки программного обеспечения и систем ИИ - это тоже существенный вопрос.

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

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

Но кроме этого, поменяться должна и этика разработчиков любого ПО. На сегодняшний день существует консенсус, в рамках которого создатели программного обеспечения не несут ответственности за кибератаки, оказавшиеся возможными из-за ошибок в коде - соответствующие положения прописываются в пользовательских соглашениях. А почему возникают ошибки? - В частности потому, что программисты работают в условиях "внезапных дедлайнов" и неожиданных идей начальства, которые имеют большее значение, чем best practices безопасной разработки. Ниоткуда не следует, что подходы к разработке в области ИИ окажутся значительно совершеннее. А вот риски куда выше.

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


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

Правильно ли, что из той информации, которую мы оставляем в Сети по каким бы то ни было причинам, можно составить полный психологический, физический, медицинский, наконец, профиль? И воспользоваться им для причинения вреда нам же самим?

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

И, действительно, чем дальше, тем меньше оснований остаётся думать как-то иначе.

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

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

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

Тем более, что основной мишенью вредоносного применения ИИ является именно человек. А не технологические устройства.

Подробнее..

Как трассировка запросов сломала API

29.01.2021 14:10:10 | Автор: admin

TL;DR;

История провала со счастливым концом о том, как команда узнала о трассировке запросов, AOP, а потом сломала API.

Невинное начало

Каждый проект содержит логирование. Наш проект использовал Lombok и его @Slf4j аннотацию. Мы логировали выполнение бизнес операций, но нам не хватало контекста. Логи содержали что-то типа такого:

Create orderCreate orderOrder created.Failed to create order

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

REQ#1 Create orderREQ#2 Create orderREQ#2 Order created.REQ#1 Failed to create order

А теперь детективная история. Добро пожаловать в текстовый микрокомикс :)

Условный понедельник

Итак, задача ясна. Идея решения тоже. В начале каждого API метода генерируем уникальный идентификатор запроса и сохраняем его вплоть до выхода из метода. В дальнейшем, везде, где происходит логирование, мы используем этот сгенерированный уникальный идентификатор запроса и выводим его в лог, перед основным сообщением.

Короче, всё по ТЗ. Ну ок, поехали.

Тимлид в отдельной ветке добавляет в один из классов пример использования MDC для решения поставленной задачи. Отдает свой код команде на ревью. Команда узнала что-то новое. Команда рада. Тимлид доволен. Ревью проходит успешно и код вливается в основную ветку.

Условный вторник

Тимлид просит свою команду сделать по аналогии логирование еще для нескольких важных мест в проекте. Команда задачу поняла. Команда сделала. Все довольны.

Условная среда

Давящее чувство, связанное с дублированием кода в нескольких местах (для установки сгенерированного уникального идентификатора, а потом для его очистки) гложет команду и подрывает моральный дух. Вроде проблему решили, но как-то не круто.

На обеденном перерыве тимлид вспоминает, что есть такая штука как AOP. Тимлид знает, что это особая эльфийская магия и что надо ей пользоваться аккуратно. Но тимлид верит в свою команду. Что вообще может пойти не так?

Условный четверг

Команда узнает от тимлида про AOP и о том, как это может помочь решить проблему дублирования кода. Один из разработчиков получает задание внедрить Spring AOP и прикрутить логирование запросов. Получилось что-то такое:

@Around("execution(public * super.pupper.web.api.*.*Api.*(..))")public void aroundApi(ProceedingJoinPoint jp) throws Throwable {    LogUtil.initTraceId();    jp.proceed()    LogUtil.clearTraceId();}

Для команды AOP штука новая. Команда смотрит на код, выглядит ок. Мерджим.

Условная пятница

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

Внимательный читатель уже знает в чем причина, давайте уже наконец раскроем карты. Все дело в коде (естественно):

@Around("execution(public * super.pupper.web.api.*.*Api.*(..))")public void aroundApi(ProceedingJoinPoint jp) throws Throwable {    LogUtil.initTraceId();    jp.proceed();    LogUtil.clearTraceId();}

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

@Around("execution(public * super.pupper.web.api.*.*Api.*(..))")public Object aroundApi(ProceedingJoinPoint jp) throws Throwable {    LogUtil.initTraceId();    try {        return jp.proceed();    } finally {        LogUtil.clearTraceId();    }}

Разработчик заливает фикс. Все рады. Успехов вам на код-ревью и на отладке! :)

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru