[00:02] один-два дня, может быть, неделя. Я буквально за 15 минут это сделал с помощью немного пугать. И я хотел бы немного объяснить ход своих мыслей. Итак, для пытаюсь взломать свой монитор. Хорошо? Я знаю, вы думаете: "Подождите, монитор [00:16] можно взломать?" Да, внутри периферийных устройств может происходить множество взломов лишь один из них, верно? Внутри вашего монитора находится программный блок, который обрабатывает команды HDMI, видеосигнал, [00:29] функций. А поскольку я всего лишь рядовой пользователь, это, кстати, название канала хотел бы проверить, смогу ли я найти уязвимость в мониторе, который стоит у меня в кабинете наверху, — это мой 34-дюймовый монитор Dell S3422. Мне нравятся размеры 34 дюйма. [00:44] Я знаю, вы, наверное, уже слышали новости, верно? Искусственный интеллект становится невероятно хорош в хакинге. О боже, это взламывает всю планету. И я лично уже давно отношусь к числу скептиков в отношении искусственного интеллекта. Но каждый раз, когда я [00:58] передовые модели, такие как открытый ИИ, или антропологические, даже модели с открытым исходным кодом, такие как GLM и Kimmy, они становились очень и очень хороши в быстром выполнении задач, на которые раньше у меня уходило очень много времени. И подобно тому, как [01:12] математических вычислениях, я действительно думаю, что ИИ произведет революцию в исследованиях уязвимости благодаря своей способности автоматизировать выдвижение гипотез и быстро принимать конкретные решения при проверке этих гипотез. В [01:24] общем, когда вы заходите на сайт Dell и хотите обновить прошивку этот небольшой файл .exe, вставляете USB- накопитель и обновляете прошивку. Сейчас я пытаюсь заглянуть внутрь этого исполняемого файла и найти [01:38] саму прошивку, чтобы обнаружить потенциальные уязвимости в ней. Используя эти выполнения кода на мониторе, и я выполнил свою задачу. Как здорово! А теперь, до эпохи искусственного интеллекта, выпивайте рюмку каждый раз, когда я это говорю в своих видео. Раньше [01:51] я использовал небольшую утилиту под названием binwalk, верно? Binwok capital me рекурсивное извлечение из бинарного файла, и я бы запустил это на этом я заглядываю внутрь этого .exe-файла. Я рекурсивно извлекаю файлы из [02:05] исполняемого файла, чтобы найти другие файлы. Верно? Идея заключается в том, что сам образ прошивки, который будет записывать исполняемый файл (.exe) на монитор, будет спрятан где-то внутри этого файла . Итак, если мы перейдём в извлеченную папку, вы увидите, что оттуда [02:17] поведение. У нас есть самостоятельно упакованный исполняемый файл (.exe) с кучей полезных вещей. Наиболее примечательными окажутся сами файлы обновления. Итак, номер модели и номер прошивки нашего монитора, а также так [02:31] называемая библиотека Dell ISP. ДЛ. Итак, это библиотека внутрисистемного программирования, которая, как мы надеемся, будет содержать функции, прошивки. Это покажет мне, где именно в этом файле обновления мне нужно искать [02:45] соответствующий код. Вот тут-то все и усложняется, и опять же, ИИ буквально выполнил весь этот процесс за 15 минут, и я не блефую. Здесь представлена ​​хронология событий. Распространенная проблема при исследовании уязвимостей в [02:57] прошивке заключается в том, что прошивка часто зашифрована , не так ли? заглядывал внутрь и смотрел, что происходит на моем мониторе, поэтому он шифрует файл. И проведете так называемый анализ энтропии (с использованием бинарных операторов) для [03:12] график, и вы увидите, что все ребра этого графика имеют значение 0,96. Это восходящее ребро энтропии, что означает очень высокую бинарную энтропию. Биты данных [03:27] достаточно случайны, чтобы указывать на то, что файл зашифрован. Это не очень хорошо, я не знаю ключа для этого файла. Я предполагаю, что ключ зашифрован где-то в памяти жаль. Если мы проиграем игру. Теперь, будучи хакером, я собираюсь провести [03:39] небольшое дополнительное расследование. А библиотека интернет-провайдера (ISP) на самом деле обладает определённым функционалом. Сегодняшнее видео предоставлено вам компанией Century, друзья. Мы же видели это в новостях, правда? Искусственный интеллект значительно упрощает хакерам взлом [03:53] вам нужно всего лишь интегрировать Sentry в свой код. Зачастую это всего лишь , вы получаете удобный поток всех возникающих ошибок и исключений, вашего кода. Когда вы заходите в описание ошибки, вы можете точно увидеть, когда [04:05] . В данном случае это происходит непосредственно в продакшене, а также некоторые метаданные, связанные есть исходный код, я мог бы вручную проверить наличие ошибки, но, используя сервер MCP от Sentry, я могу использовать данные MCP вместе с [04:19] исходным кодом, чтобы агент ИИ проверил наличие ошибки за меня. И очень быстро агент ИИ связывает телеметрию от Sentry на сервере MCP с основная причина проблемы заключалась в том, что URL-адрес, предоставленный пользователем, был [04:32] конфиденциальности. Эмм, это был не совсем обычный содержащем подпапку, которую репозиторий проекта не способен обработать. исключение, которое мы не смогли должным образом перехватить. Таким образом, программа не только сообщает о [04:45] предлагает решение проблемы. Опять же, с точки зрения безопасности, меня лично беспокоит проблема «долга безопасности», верно? По мере увеличения объема кода, используемого в агентах ИИ, начинают возникать сбои, и эти, казалось бы, незначительные ошибки, способные накапливаться, могут перерасти в [04:59] вы же знаете этот мир. Лучший способ поддержать канал — это зайти на сайт ваших задач по телеметрии и поиску уязвимостей. И кстати, новые пользователи получают 100 долларов в виде Спасибо за спонсорство видео, Sentry. Давайте вернёмся к этому. Если [05:13] открыть эту библиотеку в среде обратного проектирования, разработанной АНБ, то это окажется Gedra, верно? Вы заметили функцию, называемую методом шифрования и дешифрования. Наша единственная что где-то в этой функции находится ключ для шифрования и [05:27] расшифровки этих образов прошивки до того, как они будут загружены и прошиты на монитор. Теперь, если мы откроем исполняемый файл и перейдем к одной из этих функций, вы увидите, что там есть таблица виртуальных функций, которая называется [05:40] и разверну на весь экран для вас. Но именно здесь процесс обратного проектирования становится очень итеративным, очень... приходится действовать методом перебора и проверять разные вещи, а искусственный интеллект делает это пугающе простым. Итак, в [05:55] таблице виртуальных функций для этого метода шифрования/дешифрования находятся девять функций, каждая из которых выполняет разные действия, и многие из них работают с, казалось бы, случайными . Я очень быстро понял, что это данные ASKY, которые обычно [06:09] указывают на наличие ключа для алгоритма шифрования/дешифрования. Но если прокрутить страницу чуть ниже, ситуация становится немного сложнее. Внезапно мы стали использовать множество подобных циклов for. Мы часто [06:22] заполняем такие случайные структуры значениями из других структур. И прежде чем мы это осознаем, ситуация трудно понять, что здесь происходит. Это процесс обратного просмотреть подобный бинарный файл, внимательно его изучить и в конце концов понять [06:36] замысел человека, написавшего код, но это же не бесплатно, верно? Это не происходит само по себе. Приходится тратить много времени на итерации, предположения и выдвижение обоснованных гипотез и проведение тестов, которые призваны, так сказать, уменьшить [06:51] количество шума в вашей мысленной модели программы. Искусственный интеллект очень хорошо справляется с сокращением этого пространства. Хорошо. Проблема при обратном проектировании подобной криптографической процедуры заключается в том, что структура файла, то есть смещения внутри файла, где [07:05] может начинаться или заканчиваться криптографическая операция, не всегда сразу очевидна, верно? Именно поэтому ошибку хотя бы в одном бите, в одном символе в процессе вы допустите абсолютную ошибку. И вот тут вам приходится, так сказать, методом [07:19] грубой силы, подтверждать свою гипотезу, верно? Однако, используя ИИ, мы можем значительно ускорить этот процесс. Увидев это, я понял, что у меня не так я хотел быстро во всем разобраться. Вот что я сделал. И я буквально только это и [07:33] сказал: «Привет, я пытаюсь найти прошивку в этом образе и хочу определить прошивку в этом образе и хочу определить [07:46] прошивке. Прошивка потенциально зашифрована». Вот и все. Это всё, что я сказал. Хорошо, я оставлю это. А вот и хронология событий, ребята. Когда я сказал 15 минут, это был кликбейт, а оказалось, что прошло 16 минут. [08:02] Эм, но это же буквально такой процесс, на который я бы тратила все свое рабочее время, по 8 часов в день, если бы работала полный рабочий день, верно? На это у меня ушло бы, наверное, максимум неделя. Можно сказать, что это проблема с навыками, но в любом случае, это произошло за 15 минут. Хорошо, вот в [08:16] . Итак, мы дошли примерно до того момента, где находились, и вот тут-то всё и начинается, а примерно на отметке 1351 становится по-настоящему страшно. Итак, сессия начинается. Программа обнаруживает, что контейнер UPG, являющийся обновлением, содержит сам по [08:32] опять же, представляет собой программу, позволяющую нам выполнить обратное проектирование, то есть преобразовать бинарный файл в псевдо-C код, верно? Это всё равно что гадать, каким был бы наилучший производителем, если у нас на самом деле нет этого кода. Это переводит код на язык C. [08:46] Это указывает на ту же самую функцию, которую мы нашли в библиотеке Dell ISP. Но затем система тут же замечает: «Ой, подождите, в одной из функций 10001260 есть конструктор, который создает ключевой блок, а затем другая функция [09:02] буквально расшифровывает данные, используя их для выполнения математических операций шифрования над этим блоком». Программа извлекла эти ключи, менее чем за минуту записала файл расшифровки UPG на Python, а затем, менее чем [09:21] через 40 секунд, выполнила первую расшифровку этого изображения и сообщила: «Да, расшифровка подтверждена». И, как и следовало ожидать, как и любой, кто занимается исследованиями в области искусственного интеллекта, я был крайне скептически настроен. Как мы можем быть в этом так [09:33] уверены? Как мы можем быть так уверены, что двоичные данные действительно расшифрованы, а не являются просто высокочастотным шумом? А вот вторая часть, ребята, заняла всего 45 секунд. И я хочу показать вам, насколько безумны эти модели. [09:47] Решающую проверку мы еще не проводили. Расшифрованное изображение содержит еще не проводили. Расшифрованное изображение содержит собственный MD5-код, вычисленный DLL-библиотекой по отношению к открытому тексту со смещением 1 CD, если соответствующее поле MAC обнулено. Хорошо. Итак, программа [10:03] берет полученное изображение, и я быстро покажу вам его. Это расшифрованное предположительно изображение. Запись производится на один компакт-диск, и когда это поле обнуляется, а затем выполняется MD5-проверка всего образа, полученный MD5-проверочный код сохраняется там. Я написал [10:20] небольшой скрипт для проверки этого, и он буквально сказал: «Да, сохранённый MD5 такой, а вычислённый MD5 такой. Он правильно расшифрован в соответствии со спецификацией этой DLL, которую я изучал менее 15 минут». Не я, как ИИ. Более того [10:35] , был проведен статистический анализ энтропии двоичного файла, показавший, что определенные шаблоны содержат нули и FFS в пределах плотности битов, ожидаемой для в пределах плотности битов, ожидаемой для [10:49] изображению. Оно также знает, что код, который, как оно считает, было декомпилировано, на который, как оно считает, было декомпилировано, на самом деле соответствует MSAR 80051, микроконтроллеру, встроенному в монитор. Кроме того, он содержит допустимый [11:01] вектор сброса с правильным смещением в изображении. И вы можете, расчеты. Вы можете открыть само изображение и просмотреть его содержимое, и увидите, что расшифрованные данные содержат не только действительный номер модели [11:14] монитора, но и конкретную версию, а также множество других метаданных об этом устройстве. И вот что вас действительно напугает, так это то, что настоящий болтливый повар, правда? Для любого человека, [11:27] Но если вы начинаете замечать подобные повторяющиеся узоры на изображении, которое изначально не было повторяющимся, это указывает на наличие какой-то структуры данных, возможно, таблицы указателей на функции или [11:40] двоичного файла. И тогда начинаешь замечать эти закономерности, верно? 0208 что-то 0208 что-то. Это может быть что-то вроде преамбулы к функции, или, может быть, это способ начала инструкций в их кодировке. [11:53] изображение действительно правильно сформировано. А затем мы переходим к самому низу И мы видим эти паттерны FF, которые указывают на то, что это конец изображения со вспышкой, верно? Потому что, эээ, вспышка при нулевом значении на самом деле соответствует высокому уровню FF. Если я [12:06] кого-то из вас потерял, это хорошо. Цель этого видео вовсе не в том, чтобы научить вас обратному проектированию. Цель заключалась не в том, чтобы научить вас ходу моих мыслей. Цель этого видео — показать вам, что возможность разбирать на [12:21] части неправильно спроектированные вещи и выявлять в них проблемы стала может сделать каждый. Вы можете спросить: а что здесь не так? Тот спросить: а что здесь не так? Тот факт, что шифрование [12:35] предоставляется пользователю, является существенным недостатком в конструкции, если цель состоит конструкции, если цель состоит в защите интеллектуальной собственности Dell. Верно? Если вы следует зашифровать данные, предоставленные самим пользователем [12:49] во время прошивки. Его нужно прошить в прошивку материнской платы, микроконтроллера будет встроен ключ, который нельзя извлечь из микроконтроллера и использовать для расшифровки на [13:04] материнской плате. Такой способ по своей сути ошибочен, и любой опытный специалист по сделать это за пару дней, может быть, за неделю, даже меньше. Возможно, здесь проблему с уровнем квалификации, и некоторым людям потребовался бы день или два. Опять же, [13:17] некоторым людям потребовался бы день или два. Опять же, GLM53 потребовалось три с половиной минуты, и, насколько я могу судить, результат выглядит правильным. Что это означает для безопасности в целом? Гораздо больше багов. Любой может найти [13:31] bugs. That's about it. Thanks for watching.