ChatGPT изменит кибербезопасность… но как?
2 марта 2023 г.ChatGPT, впечатляющий чат-бот OpenAI, способствовал глобальному пониманию потенциала искусственного интеллекта (ИИ). Искусственный интеллект и машинное обучение (МО) уже некоторое время влияют на нашу повседневную жизнь, но ChatGPT — это наглядный пример способностей ИИ, и неудивительно, что он привлек такое внимание.
И прежде чем вы спросите, нет, эта статья не была написана с использованием ChatGPT.
ChatGPT и разработка ПО
В сообществе разработчиков программного обеспечения особое внимание уделялось способности ChatGPT создавать примеры программирования профессионального уровня на основе самых необычных запросов. Это также вызвало предположения о том, как ИИ может изменить индустрию программного обеспечения и повлиять на рабочие места разработчиков программного обеспечения.
Смогут ли разработчики обычных граждан углубиться в разработку программного обеспечения, поскольку отсутствие кода/мало кода и ИИ становятся все лучше и лучше? И будет ли ИИ создавать более качественный и безопасный код, чем разработчики пишут сегодня?
Давайте перейдем к основам и демистифицируем ИИ и машинное обучение.
Демистификация ИИ и машинного обучения
На высоком уровне ИИ – это процесс, когда алгоритм снабжается данными для обучения, что позволяет алгоритму распознавать закономерности, а затем применять их новыми способами. Например, инструменты грамматики, используемые в Microsoft Word, Google Sheets и Grammarly, — это примеры правильной грамматики и распространенных грамматических ошибок, которые следует искать при анализе вашего письма; затем они предоставляют вам обратную связь на основе шаблонов, которые они видят (или не видят).
Подробнее: 4 основных типа искусственного интеллекта
Наиболее важным фактором в создании хорошего ИИ являются хорошие обучающие данные. Разработка ИИ почти так же стара, как разработка программного обеспечения. Тем не менее, гигантский скачок, который мы наблюдали в последнее время, можно объяснить простотой получения огромных вычислительных мощностей и возможностью потреблять гигантские объемы обучающих данных, которые находятся в свободном доступе в Интернете.
ChatGPT обучается на большом количестве текстовых данных из различных источников, таких как книги, веб-сайты и социальные сети. Это позволяет модели генерировать человеческие ответы на широкий спектр вопросов и подсказок, но это также означает, что на ее ответы могут влиять предубеждения и неточности, присутствующие в обучающих данных.
Опасности безопасного кодирования с помощью ИИ
Бывают случаи, когда ChatGPT уверенно дает неверный ответ. Если вы не сможете проверить эти ответы, использование ChatGPT может представлять риск для вашей организации.
GitHub Copilot – это инструмент на основе искусственного интеллекта, который предлагает варианты кода, пока разработчики программного обеспечения активно пишут код. GitHub Copilot обучался с использованием огромной коллекции программного обеспечения, хранящегося в репозиториях GitHub. Как и ChatGPT, он может давать впечатляющие результаты.
Но не всегда.
Моя повседневная работа требует, чтобы я создавал простые примеры кода, которые можно использовать для обучения разработчиков программного обеспечения методам безопасного кодирования. При создании одного из этих примеров GitHub Copilot предложил следующий код (предлагаемый код выделен серым цветом) [1]:
Если вы должным образом обучены методам безопасного кодирования, вы должны сразу понять, что предлагаемый код уязвим для одной из наиболее распространенных уязвимостей: SQL Injection.
Создание правильного, безопасного кода примера требует много размышлений со стороны ИИ — он должен понимать библиотеку, которая будет использоваться для связи с базой данных, и должен понимать намерения кода. И то, и другое — тяжелая работа для ИИ, и я не удивлен, что не было лучшего предложения.
Вот почему крайне важно понимать, что вам нужен кто-то, кто проверит предложение и отклонит те предложения, которые содержат небезопасный код.
Надлежащим образом обученные разработчики по-прежнему считаются лучшими защита для обеспечения безопасности кода и защиты архитектур от атак. Такие инструменты, как GitHub Copilot и ChatGPT, обещают сделать разработчиков более эффективными и сократить количество небезопасного кода. Однако, как и в случае с появлением беспилотных автомобилей, до реальности, вероятно, еще далеко.
Многоуровневый подход к защите вашей организации от атак безопасности по-прежнему остается передовой практикой. Лучший подход к минимизации подверженности атакам включает в себя сочетание:
* Хорошо образованный персонал * Культура, которая ценит безопасность * Использование автоматических инструментов (инструментов статического и динамического анализа, например) * Жизненный цикл разработки программного обеспечения, ориентированный на безопасность
:::информация Одно признание, параграф шесть, было написано ChatGPT.
:::
[1] Поскольку я часто пишу небезопасный код ради плохих примеров кода, вполне возможно, что я обучил GitHub Copilot этой вредной привычке. Но я считаю, что точка зрения остается в силе.
Оригинал