![image](https://habrastorage.org/webt/ss/ps/cu/sspscuvyzq01qk0cgn6mw8int7y.png)
Мы все несем коллективную ответственность за обеспечение безопасности программного обеспечения с открытым исходным кодом — никто из нас не может это делать в одиночку. Сегодня в Github Universe мы объявили Github Security Lab. Место где соберутся вместе исследователи безопасности, сопровождающие и компании по всей отрасли, которые разделяют нашу убежденность в том, что безопасность открытого исходного кода важна для всех.
Мы рады иметь первоначальных партнеров, которые делают свой вклад для достижения этой цели. Вместе мы предоставляем инструменты, ресурсы, награды и тысячи часов исследований в области безопасности, чтобы помочь защитить экосистему с открытым исходных кодом.
В рамках сегодняшнего объявления GitHub Security Lab делает CodeQL свободно доступным для всех, кто может найти уязвимости в открытом исходном коде. CodeQL — это инструмент, который многие исследовательские группы по всему миру используют для проведения семантического анализа кода, и мы использовали его сами, чтобы найти более 100 зарегистрированных CVEs(Common Vulnerabilities and Exposures) в некоторых популярных open source проектов.
Мы также запускаем GitHub Advisory Database — общедоступную базу данных рекомендаций, созданную на GitHub, плюс дополнительные данные, сопоставленные с пакетами, отслеживаемыми графом зависимостей GitHub.
Подход GitHub к безопасности охватывает весь жизненный цикл безопасности open source проектов. GitHub Security Lab поможет выявлять и сообщать об уязвимостях в open source проектах, в то время как меинтейнеры и разработчики используют GitHub для создания исправлений, координации раскрытия и обновления зависимых проектов до с решенней уязвимостью.
![image](https://habrastorage.org/getpro/habr/post_images/a1c/5e2/189/a1c5e21891aafa8f79eedfc888e51459.png)
GitHub Security Lab
Миссия GitHub Security Lab заключается в том, чтобы вдохновлять и позволять глобальному сообществу исследователей безопасности защищать код всего мира. Наша команда будет показывать пример, посвящая постоянные ресурсы поиску и составлению отчетов об уязвимоястях в притически важных open source проектах. Комадна уже выпустила более 100 CVE для обнаружения уязвимостей.
Обеспечения безопасности open source проектов в мире — это непростая задача. Во-первых, масштаб: одна экосистема JavaScript содержит более миллиона open source пакетов. Кроме того, ощущается нехватка специалистов в области безопасности, примерно 500 разработчиков к одному специалисту. Наконец, существует координация: эксперты по безопасности в мире работают в тысячах компаний. GitHub Security lab и CodeQL помогут в этом.
В этой работе к нам присоединяются компании, которые жертвуют свое время и опыт, чтобы найти и сообщить об уязвимостях в open source проектах. Каждый обязался внести свой вклад по-своему, и мы надеемся, что другие присоединятся к нам в будущем.
- F5
- HackerOne
- Intel
- OIActive
- J.P. Morgan
- Microsoft
- Mozilla
- NCC Group
- Oracle
- Trail of Bits
- Uber
- VMWare
Чтобы расширить возможности, мы также делаем наш совместный механизм анализа кода CodeQL бесплатным для использования в open source проектах. CodeQL позволяет запрашивать код, как если бы это были данные. Если вам известна ошибка кодирования, которая привела к уязвимости, вы можете написать запрос, чтобы найти все варианты этого кода, навсенда уничтожив целый класс уязвимостей. Посмотрите, как начать работу с CodeQL.
Если ты исследователь в области безопасности или работаешь в команде безопасности, нам нужна твоя помощь. Обеспечение безопасности open source проектов в мире потребует работы всего сообщества. GitHub Security Lab будет проводить мероприятия и делиться лучшими практиками, чтобы помочь всем в участии. Следите за учетной записью GHSecurityLab в Твиттере для получения более подробной информации.
Улучшение security workflow в open source
По мере того как исследователи в мире безопасности обнаруживают все больше уязвимостей, сопровождающие и конечные пользователи нуждаются в более совершенных инструментах для их устранения.
Сегодня процесс устранения новых уязвимостей часто носит временный характер. 40% новых уязвимостей в open source проектах не имеют идентификатора в CVE, когда они объявлены, то есть не включены ни в одну общедоступную базу данных. 70% критических уязвимостей остаются нерешенными через 30 дней после уведомления разработчиков.
Мы исправляем это. Мэинтейнеры и разработчики теперь могут работать вместе непосредственно в GitHub, чтобы обеспечить раскрытие новых уязвимостей только тогда, когда мэинтейнеры готовы, а разработчики могут быстро и легко обновлять до исправленной версии.
GitHub Security Advisories
Благодаря советам по безопасности, мэинтейнеры могут работать с исследователями безопасности над исправлениями в частном пространстве, подавать на заявки на CVE непосредственно из GitHub и указывать структурированные сведения об уязвимости. Затем, когда они будут готовы опубликовать рекомендации по безопасности, GitHub отправит оповещения по затронутым проектам.
![image](https://habrastorage.org/getpro/habr/post_images/107/685/dd4/107685dd4a65a0b326dfe7a753b23bef.gif)
Автоматические обновления безопасности
Получение уведомления об уязвимых зависимостях полезно, но получение pull-request'ов с исправлением еще лучше. Чтобы помочь разработчикам быстро реагировать на новые уязвимости, GitHub создает автоматические обновления безопасности(automated security updates) — pull request, которые обновляют уязвимую зависимость до исправленой версии.
![image](https://habrastorage.org/getpro/habr/post_images/ad8/9d2/3d3/ad89d23d355756906e98f2df22d8f81d.png)
Автоматические обновления безопасности для системы были запущены в бета-версии на GitHub Satellite 2019 и теперь в основном доступны и развернуты для каждого активного репозитория с включенными предупреждениями безопасности.
Сканирование токенов
Одна из наиболее распространенных ошибок — хардкод токенов или учетных данных в проекте. В течении нескольких секунд после отправки коммита на GitHub, или переклчение проекта в публичный, мы сканируем его на наличие форматов от 20 различных облачных провайдеров. Когда мы обнаруживаем совпадение, мы уведомляем провайдеров, и они предпринимают действия, как правило, ануллируя токены и уведомляя затронутых пользователей. А сегодня мы объявили о четырех новых партнерах: GoCardless, HashiCorp, Postman и Tencent.
GitHub Advisory Database
Мы сделали все изменения, которые мэинтейнеры создают в советах по безопасности GitHub, а также дополнительные данные, и замапленные к пакетам, отслеживаемыми графом зависимостей GitHub, доступными бесплатно. Изучите новую базу данных GitHub Advisory в вашем браузере, создайте прямые ссылки на записи с идентификаторами CVE в комментариях или получите программный доступ к данным с помощью Security Advisory API endpoint.
![image](https://habrastorage.org/getpro/habr/post_images/896/0ab/a9f/8960aba9f1524717ad6bfc53d73819ee.gif)
Комментарии (6)
krab4yar
15.11.2019 06:41+1Исследователи безопасности обязаны будут ставить Emoji в тексте и наводить мышкой на ссылку CVE с писаться кипятком от того как же круто сделано preview?
silvestr22
Начните использовать наш инструмент а потом мы вас забаним по национальному признаку.
Dair_Targ
Embrace, extend, extinguish...
ghrb
Ну там же вроде не за национальность, а за поддержку территориальных захватов? Японию и Францию никто же не банит?
krab4yar
Нет там те страны против которых ведет агрессивную политику правительство США и только.
ghrb
Что за страны? Думаю прикинуть, захотелось бы мне жить в этих странах.
PS: в Крым и Белоруссию меня не тянет.