Российские эксперты разглядели риски использования GitHub Copilot хакерами

Российские эксперты разглядели риски использования GitHub Copilot хакерами

Российские эксперты разглядели риски использования GitHub Copilot хакерами

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

Copilot, созданный GitHub на базе искусственного интеллекта, действует по принципу клавиатур на мобильных устройствах — дополняет строки и даже целые функции в коде.

Специалисты GitHub в конце июня представили этот сервис, а для его разработки потребовалась помощь OpenAI. Ожидается, что Copilot сможет существенно упростить девелоперам жизнь.

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

Парсинг закомментированных кусков помогает сервису понять, над чем именно разработчик работает в данный момент. На пример работы GitHub Copilot можно посмотреть здесь.

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

Эксперт GIS, заместитель генерального директора — технический директор компании «Газинформсервис» Николай Нашивочников рассказал об опасности использования нового бота для программистов хакерами:

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

Следует учитывать, как проходит обучение сети, если «хакерам» удастся внедрить опасную конструкцию в систему "подсказок" Copilot и она начнёт предлагать разработчикам вставлять эту уязвимость в их код, в итоге мы можем получить более массовое распространение уязвимости.

Также специалисты говорят про возможность банальной кражи чужого кода. Примерно в 0,1% случаев код будет дословно взят из обучающей выборки. В остальных 99,9% случаев сервис использует обучающую выборку в качестве основы для синтеза чего-то нового. Граница не столь чётко определена, как хотелось бы GitHub».

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru