Найти в Дзене
Ferra.ru

В России нашли способ изжить читеров из игр с помощью нейросетей

Оглавление

Хакеры. Это слово гремит в новостных заголовках, оно заставляет чесать затылок далеких от кибервойн обывателей. Иногда кажется, что они всесильны — то они играючи базу данных крупной корпорации сольют в Сеть, то заставят половину компов в какой-нибудь африканской стране перестать работать, то осчастливят орды пиратов и взломают популярную игру с «непробиваемой» защитой Denuvo. Но можно ли с ними биться их же оружием — технологиями? Можно! Именно об этом мы сегодня и поговорим.

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

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

Уязвимости нулевого дня и почему из-за них вообще напрягаются

Одна из самых любимых лазеек хакеров — так называемые уязвимости «нулевого дня». Что же это такое?

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

   awmleer
awmleer

Добавьте к этому то, что код для поддержки проектов пишется постоянно, и вы получите благодатнейшую почву для возникновения огромного количества неотловленных багов (привет, Cyberpunk 2077!) либо незамеченных безопасниками уязвимостей. Многие из этих косяков разработчики не успевают исправить до релиза продукта, а потому мы часто получаем полурабочий или недостаточно защищенный продукт в день его выпуска. Все эти проблемы и создают опасности «нулевого дня».

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

С этой вакханалией надо как-то бороться. Идей придумали много, в том числе и в России.

Нейросетки на страже кибербезопасности

Раньше все уязвимости «нулевого дня» искали вручную, изучая самостоятельно код уязвимой программы, тестируя его и делая прочие малопонятные не программисту манипуляции.

   Sigmund
Sigmund

Ученые из Московского технического университета связи и информатики (МТУСИ) решили подойти к проблеме с другой стороны и подумали: «Зачем нам самим смотреть десятки тысяч строк кода, если можно поручить это машине, а самим пойти пить кофе?». Так они пришли к мысли использовать для поиска косяков и дыр в системах нейросетки.

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

Посмотрим сначала на обычный цикл уязвимости «нулевого дня».

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

Параллельно с этим об уязвимости тем или иным путем узнают разработчики — обычно по факту начала атак, которые на ней базируются.

   Sigmund
Sigmund

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

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

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

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

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

Нейросетку можно натаскать на поиск уязвимостей двумя путями: вести ее за ручку и помогать соображать, что к чему (контролируемое обучение), а можно кинуть ее в бассейн с непонятным кодом в надежде, что она разберется и «выплывет» (неконтролируемое обучение).

   GuerrillaBuzz
GuerrillaBuzz

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

Какую пользу принесет эта идея?

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

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

   Sigmund
Sigmund

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