20 марта OpenAI на несколько часов отключила популярный инструмент генеративного искусственного интеллекта ChatGPT. Это позже признал что причиной сбоя стала уязвимость в цепочке поставок программного обеспечения, которая возникла в библиотеке хранилища данных в памяти с открытым исходным кодом».Redis.
В результате этой уязвимости возник временной интервал (с 1 до 10 утра по тихоокеанскому стандартному времени 20 марта), когда пользователи могли случайно получить доступ к заголовкам истории чатов других пользователей и, возможно, раскрыть информацию, связанную с платежами, такую как имена, адреса электронной почты, платежные адреса. , тип кредитной карты и последние четыре цифры номера платежной карты.
Это была относительно незначительная ошибка, которую быстро обнаружили и исправили. Учитывая растущую популярность ChatGPT и других генеративных программ LLM, какими могут быть последствия более целенаправленного подхода? атака на цепочку поставок программного обеспечения?
В этой статье мы разберемся, что именно произошло 20 марта и как была раскрыта информация о пользователях. Мы также совершим короткое воображаемое путешествие в сторону более серьезной потенциальной атаки и посмотрим, какая информация может быть раскрыта и что можно сделать, чтобы предотвратить такие случаи. Закончим несколькими общими безопасность цепочки поставок программного обеспечения предложения, которые могут быть актуальны независимо от того, над каким программным обеспечением работает ваша компания.
Вот что случилось
Как и почти любая другая компания-разработчик программного обеспечения, код OpenAI в немалой степени зависит от библиотек и кода с открытым исходным кодом. В данном случае ошибка была обнаружена в клиентской открытой библиотеке Redis, Redis-Py. Вот описание ошибки в том виде, в котором оно содержится в собственных документах компании. пересчитывать:
- OpenAI использует Redis для кэширования информации о пользователях на своем сервере, чтобы не требовать проверки базы данных для каждого запроса.
- Кластеры Redis используются для распределения этой нагрузки по нескольким экземплярам Redis.
- Библиотека redis-py используется для взаимодействия с Redis с сервера Python компании, который работает под управлением Асинкио.
- Библиотека поддерживает общий пул соединений между сервером и кластером и повторно использует соединение для использования для другого запроса после выполнения.
- При использовании Asyncio запросы и ответы с помощью redis-py ведут себя как две очереди: вызывающий объект отправляет запрос в входящая очередь, выдает ответ от исходящая очередь, а затем возвращает соединение с пулом.
- Предположим, что запрос отменен после того, как он был помещен во входящую очередь, но до того, как ответ появится из исходящей очереди. В этом случае мы видим нашу ошибка: соединение повреждается, и следующий ответ, полученный на несвязанный запрос, может получить данные, оставшиеся в соединении.
- В большинстве случаев это приводит к неисправимой ошибке сервера, и пользователю придется повторить запрос.
- Но в некоторых случаях поврежденные данные соответствуют типу данных, который ожидал запрашивающий, и поэтому то, что возвращается из кэша, выглядит действительным, даже если оно принадлежит другому пользователю.
- В понедельник, 1 марта, в час ночи по тихоокеанскому времени OpenAI непреднамеренно внесла изменения на свой сервер, что привело к резкому увеличению количества отмен запросов Redis. Это создавало более высокую, чем обычно, вероятность возврата неверных данных для каждого соединения.
Эта конкретная ошибка появилась только в клиенте Redis-py Asyncio для Redis Cluster и с тех пор была исправлена совместной работой инженеров OpenAI и сопровождающих библиотеки Redis.
Напоминаем, что эта ошибка может непреднамеренно раскрыть поисковый заголовок другого активного пользователя и часть платежной информации этого пользователя. Некоторые пользователи теперь предоставляют ChatGPT полный или частичный контроль над своими личными финансы, что приводит к потенциально катастрофическим последствиям раскрытия этой информации.
Вот что может произойти
В данном случае ошибка в цепочке поставок программного обеспечения, унаследованная OpenAi от библиотеки с открытым исходным кодом Redis, была относительно простой и легко исправляемой. Я хотел бы попросить вас снисходительно представить себе более серьезный сценарий, в котором целенаправленная атака на цепочку поставок программного обеспечения, подобная той, которая рассматривалась SolarWinds происходит и остается незамеченным в течение значительного периода времени, скажем, месяцев.
Поскольку пользователи теперь платят OpenAI за более прямой доступ к своим LLM, такая атака потенциально может раскрыть информацию о клиентах, включая их платежные данные. Но на самом деле это не та информация, которая интересует нашу гипотетическую хакерскую группу. ChatGPT в настоящее время имеет 1.16 млрд пользователей. В марте 1 года число пользователей превысило 2023 миллиард. Эти цифры отражают рост почти на 55% с февраля 2023 года по март 2023 года. Поскольку сейчас множество людей используют генеративный ИИ для чего угодно — от искусства до домашних заданий по истории и финансов, неограниченный доступ к базе данных OpenAI может раскрыть потенциал шантажировать информацией о неучтенных пользователях. Black Mirror эпизод «Заткнись и танцуй» (3-й сезон, 3-я серия, 2016 г.) дает довольно хороший творческий результат тому, как такая откровенная информация попадает в руки недобросовестных людей. Если вы ищете более реальную параллель, Нарушение данных Эшли Мэдисон Действия 2015 года имели серьезные последствия, некоторые из них все еще актуальны даже спустя годы.
Давайте пойдем немного дальше в нашем творческом взломе и скажем, что эта неназванная хакерская группа может не только получить доступ к базе данных OpenAI, но и влиять на результаты запросов. Можете ли вы представить себе потенциал того, что миллионы людей получат целевые финансовые консультации, специально разработанные хакерской группой? Или получить ложную информацию о сканировании безопасности или информацию о тестировании кода, опять же, благодаря нашей загадочной хакерской группе. Тот факт, что ChatGPT теперь может получить доступ к Интернету, упрощает сокрытие информации, входящей или исходящей от серверов OpenAI, как не более чем обычных, безобидных данных.
На этом я остановлюсь, но думаю, вы видите огромный потенциальный ущерб, который может нанести атака на цепочку поставок программного обеспечения против успешного LLM.
Как защитить себя и свою цепочку поставок программного обеспечения
Первое, что вы можете сделать, чтобы защитить себя, — это обострить свое чувство подозрительности. Не доверяйте безоговорочно никакому инструменту, каким бы безопасным он ни казался, если только вы не можете гарантировать, что у вас есть полный контроль над тем, что он делает, что он потенциально может делать и к каким ресурсам он имеет доступ. Возможность запуска версии ChatGPT с открытым исходным кодом. в местном масштабе может дать вам больше контроля как над обучающей информацией, так и над уровнем доступа к ней.
Как компания-разработчик программного обеспечения, желающая быть более бдительной в отношении потенциальных риски цепочки поставок программного обеспечения унаследован от используемых им пакетов с открытым исходным кодом, я рекомендую вам проверить Решение писца. Scribe разработал платформу, которая обеспечивает большую прозрачность вашего полного SDLC с точки зрения всех включенных вами пакетов и унаследованных пакетов, а также любых тестов, которые вы хотите провести на этом пути. Платформа генерирует СБОМ для каждой вашей сборки и содержит всю собранную информацию о безопасности для каждой сборки в одном месте. Он также может сообщить вам, совместима ли ваша сборка с SLSA до уровня 3 и SSDF NIST. Новый Валинт инструмент также позволяет сочиняйте свою собственную политику и примените их к любой части вашего конвейера сборки, которую вы пожелаете. Сохранение всей вашей информации о безопасности в одном месте, упорядоченной по сборкам с течением времени, позволяет вам наблюдать, как ваше приложение меняется по мере его развития как с точки зрения его зависимостей, так и с точки зрения безопасности.
Будущее искусственного интеллекта
ИИ останется здесь, что бы мы ни делали. Уровень его участия в нашей повседневной жизни является предметом предположений, но, основываясь только на последних шести месяцах, можно с уверенностью предположить, что мы наблюдаем потенциальный переломный момент для технологии LLM и ее использования. Поскольку ИИ превращает создание кода и полноценных приложений в вопрос поиска правильных подсказок на «естественном языке», мы можем столкнуться с беспрецедентным потоком приложений, которые не были должным образом протестированы и не имеют надлежащих мер безопасности для защиты обоих пользователей. и люди или компании, которые их создали.
Позже в этом месяце Scribe проведет webinar конкретно занимаясь вопросом, можете ли вы доверять ИИ, который поможет вам защитить вашу цепочку поставок программного обеспечения. Если у вас есть какие-либо вопросы, основанные на прочитанном здесь, это хорошее место и время, чтобы их задать.
С Платформа Scribe бесплатна. использовать до 100 сборок в месяц. Я призываю любого из вас, отдельного разработчика или компанию, попробовать и посмотреть, скольким вашим требованиям безопасности и нормативных требований отвечает платформа. До тех пор, пока настоящий интеллект не будет слушать нас за нашими экранами, нам придется искать другие способы обеспечения собственной безопасности, и я считаю, что продвижение прозрачности как предшественника доверия — хорошее начало.
Этот контент предоставлен вам Scribe Security, ведущим поставщиком комплексных решений для обеспечения безопасности цепочки поставок программного обеспечения, обеспечивающим современную безопасность артефактов кода, а также процессов разработки и доставки кода по всей цепочке поставок программного обеспечения. Подробнее.