SlideShare a Scribd company logo
Информационная безопасность в
открытых проектах
Алексей Брагин, Pierre Schweitzer
О докладчике
• Алексей Брагин, aleksey@reactos.org
• Активный участник СПО с 2000 г.
• 10+ лет разработки и руководства ReactOS
• Разносторонние интересы
• Программирование
• Бизнес
• Финансы
• Управление
• Наука
• Соавтор доклада – Pierre Schweitzer
• Сфера интересов – информационная безопасность, инфраструктура
О докладчике
• Координатор проекта ReactOS
• Преподаватель в МГТУ им. Н.Э.Баумана
• Научный руководитель НИРС
• Участник рабочей группы по ОС МинСвязи
• Член комиссии по модернизации Научного
совета РАН по проблемам европейской
интеграции и модернизации
ИБ в открытых проектах
1. Безопасность (надёжность) исходного кода
2. Безопасность инфраструктуры
3. Безопасность самого проекта
1. Безопасность кода в открытых проектах
• Критические уязвимости в 2014 году – в открытых проектах
• Heartbleed (OpenSSL, CVE-2014-016)
• Shellshock (Bash, CVE-2014-6271)
OpenSSL – открытая библиотека SSL/TLS
• OpenSSL – очень широко используемый проект
• Нет коммерческой поддержки
• Отсутствует аудит кода
• Все только используют, но не помогают
• Только 2 человека работает над ним полное рабочее время
Bash – командный процессор, оболочка
• Bash – очень широко используемый проект
• Нет коммерческой поддержки
• Отсутствует аудит кода
• Все только используют, но не помогают
• 1 мейнтейнер
Как с этим бороться?
• Аудит исходного кода, в т.ч. независимый
• Рецензирование (review) всех вносимых изменений
• Возможно позволило бы обнаружить heartbleed/shellshock
• Негативное тестирование
• Обычно – тестирование на обнаружение регрессий
• Нужно – тестирование с совершенно некорректными значениями параметров.
Позволило бы обнаружить heartbleed/shellshock
• Статический анализ кода
• Не помогло в случае Heartbleed/shellshock
• Fuzzing – (полу)автоматическое тестирование, подающее на вход
различные неправильные, неожидаемые и случайные значения
• Позволило бы обнаружить heartbleed/shellshock
Apple “goto fail” – что могло помочь?
• Правильный стиль
написания кода
• Правильные методы
разработки
• copy/paste вносит ошибки
• Опции компилятора
• Игнорирование
предупреждений
компилятора – верный путь к
ошибкам
hashOut.data = hashes + SSL_MD5_DIGEST_LEN;
hashOut.length = SSL_SHA1_DIGEST_LEN;
if ((err = SSLFreeBuffer(&hashCtx)) != 0)
goto fail;
if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail; /* err здесь равно 0, т.е. «успех» */
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
err = sslRawVerify(...);
fail: /* Epic */
1. Безопасность кода в открытых проектах
• Уязвимость в открытом проекта – не значит, что проект
провальный.
• Люди ошибаются
• Разработчики не могут просчитать все сценарии работы кода
• Common Weakness Enumeration – CWE MITRE
• Общие шаблоны ошибок
• Пример того, как была предотвращена уязвимость в ReactOS
• https://www.reactos.org/node/932
2. Безопасность инфраструктуры
• Проект свободный, исходные коды открыты
• Но не стоит игнорировать уязвимости хостинга, на котором он
работает
• Учётные записи пользователей
• Те же принципы системного администрирования как и для любой
серьёзной инфраструктуры
• Политики безопасности
• Системы Intrusion Detection System / Prevention System
• Обновление ОС/ПО
• Firewall
• Аудит безопасности
Инфраструктура СПО
• Утечка данных – всегда имеет огромные последствия
• Не важно – из компании или из открытого проекта
• Всего-лишь один из векторов атаки
• А что, если злоумышленники похитят данные для внесения изменений в
код (коммитов) от имени разработчика этого проекта?
• Не волнуйтесь, вас тоже рано или поздно взломают
• ReactOS – не исключение, ситуация подробно описана
• https://www.reactos.org/node/928
3. Безопасность самого проекта
• Надёжность хранения данных – это тоже безопасность!
• Резервное копирование – залог успеха
• В этом ошибаются очень и очень многие
• Управление правами доступа в команде
• Где размещать код?
• Что делать, если хостинг закрывается
(Например, Google Code)
Сила открытого кода
• Открытый код должен больше дублироваться
• во многих местах по всему миру
• децентрализация
• В реальности всё не так…
• Например, TrueCrypt (из-за плохой лицензии)
• Вопросы и предложения

More Related Content

Viewers also liked

Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
Maxim Krentovskiy
 
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.7bits
 
[Long 11-00] Михаил Емельянников - Философия безопасности
[Long 11-00] Михаил Емельянников - Философия безопасности[Long 11-00] Михаил Емельянников - Философия безопасности
[Long 11-00] Михаил Емельянников - Философия безопасностиUISGCON
 
Информационная безопасность 2014, CNews, Станислав Макаров
Информационная безопасность 2014, CNews,  Станислав МакаровИнформационная безопасность 2014, CNews,  Станислав Макаров
Информационная безопасность 2014, CNews, Станислав Макаров
Stanislav Makarov
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасностьpsemitkin
 
Информационная безопасность
Информационная безопасностьИнформационная безопасность
Информационная безопасность
milushaaa
 
Журнал "!Безопасность Деловой Информации" #2
Журнал "!Безопасность Деловой Информации" #2Журнал "!Безопасность Деловой Информации" #2
Журнал "!Безопасность Деловой Информации" #2
Mikhail Safronov
 
Информационная безопасность доменных имён
Информационная безопасность доменных имёнИнформационная безопасность доменных имён
Информационная безопасность доменных имён
Reggi.Ru
 
Эволюция таргетированных атак в кризис
Эволюция таргетированных атак в кризисЭволюция таргетированных атак в кризис
Эволюция таргетированных атак в кризис
InfoWatch
 
защита по для банкоматов
защита по для банкоматовзащита по для банкоматов
защита по для банкоматовExpolink
 
киберпреступность в россии
киберпреступность в россиикиберпреступность в россии
киберпреступность в россииЕлена Ключева
 
Организация профессиональной переподготовки по направлению «Информационная бе...
Организация профессиональной переподготовки по направлению «Информационная бе...Организация профессиональной переподготовки по направлению «Информационная бе...
Организация профессиональной переподготовки по направлению «Информационная бе...ATOL Drive
 
Kaspersky_cyber_meeting_3.0_presentation
Kaspersky_cyber_meeting_3.0_presentationKaspersky_cyber_meeting_3.0_presentation
Kaspersky_cyber_meeting_3.0_presentation
Lena Rovich
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
Andrey Dolinin
 
FireEye Современное решение по защите от угроз "нулевого дня"
FireEye Современное решение по защите от угроз "нулевого дня"FireEye Современное решение по защите от угроз "нулевого дня"
FireEye Современное решение по защите от угроз "нулевого дня"
Alexey Komarov
 
Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...
Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...
Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...
Expolink
 
информационная безопасность 01
информационная безопасность 01информационная безопасность 01
информационная безопасность 01
TanyaRoxy
 
Информационная безопасность
Информационная безопасностьИнформационная безопасность
Информационная безопасность
SainaVika
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасностьmetodkopilka
 
Информационная этика и право. Информационная безопасность
Информационная этика и право. Информационная безопасностьИнформационная этика и право. Информационная безопасность
Информационная этика и право. Информационная безопасностьВиктор Леонидович Ярославцев
 

Viewers also liked (20)

Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
 
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
Стажировка-2014, занятие 6. Информационная безопасность и атаки на сервер.
 
[Long 11-00] Михаил Емельянников - Философия безопасности
[Long 11-00] Михаил Емельянников - Философия безопасности[Long 11-00] Михаил Емельянников - Философия безопасности
[Long 11-00] Михаил Емельянников - Философия безопасности
 
Информационная безопасность 2014, CNews, Станислав Макаров
Информационная безопасность 2014, CNews,  Станислав МакаровИнформационная безопасность 2014, CNews,  Станислав Макаров
Информационная безопасность 2014, CNews, Станислав Макаров
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Информационная безопасность
Информационная безопасностьИнформационная безопасность
Информационная безопасность
 
Журнал "!Безопасность Деловой Информации" #2
Журнал "!Безопасность Деловой Информации" #2Журнал "!Безопасность Деловой Информации" #2
Журнал "!Безопасность Деловой Информации" #2
 
Информационная безопасность доменных имён
Информационная безопасность доменных имёнИнформационная безопасность доменных имён
Информационная безопасность доменных имён
 
Эволюция таргетированных атак в кризис
Эволюция таргетированных атак в кризисЭволюция таргетированных атак в кризис
Эволюция таргетированных атак в кризис
 
защита по для банкоматов
защита по для банкоматовзащита по для банкоматов
защита по для банкоматов
 
киберпреступность в россии
киберпреступность в россиикиберпреступность в россии
киберпреступность в россии
 
Организация профессиональной переподготовки по направлению «Информационная бе...
Организация профессиональной переподготовки по направлению «Информационная бе...Организация профессиональной переподготовки по направлению «Информационная бе...
Организация профессиональной переподготовки по направлению «Информационная бе...
 
Kaspersky_cyber_meeting_3.0_presentation
Kaspersky_cyber_meeting_3.0_presentationKaspersky_cyber_meeting_3.0_presentation
Kaspersky_cyber_meeting_3.0_presentation
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
FireEye Современное решение по защите от угроз "нулевого дня"
FireEye Современное решение по защите от угроз "нулевого дня"FireEye Современное решение по защите от угроз "нулевого дня"
FireEye Современное решение по защите от угроз "нулевого дня"
 
Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...
Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...
Максим Жарников (НТКС) - Предотвратить нельзя поймать. Альтернативные подходы...
 
информационная безопасность 01
информационная безопасность 01информационная безопасность 01
информационная безопасность 01
 
Информационная безопасность
Информационная безопасностьИнформационная безопасность
Информационная безопасность
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Информационная этика и право. Информационная безопасность
Информационная этика и право. Информационная безопасностьИнформационная этика и право. Информационная безопасность
Информационная этика и право. Информационная безопасность
 

Similar to Информационная безопасность в открытых проектах (РИФ 2015)

Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
KazHackStan
 
История про OpenSource в Яндексе
История про OpenSource в ЯндексеИстория про OpenSource в Яндексе
История про OpenSource в Яндексе
Yandex
 
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчикаNode.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
Alexei Smolyanov
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
Fwdays
 
PVS-Studio, решение для разработки современных ресурсоемких приложений
PVS-Studio, решение для разработки современных ресурсоемких приложенийPVS-Studio, решение для разработки современных ресурсоемких приложений
PVS-Studio, решение для разработки современных ресурсоемких приложений
Tatyanazaxarova
 
(Не)безопасный Frontend / Сергей Белов (Digital Security)
(Не)безопасный Frontend / Сергей Белов (Digital Security)(Не)безопасный Frontend / Сергей Белов (Digital Security)
(Не)безопасный Frontend / Сергей Белов (Digital Security)
Ontico
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Andrew Mayorov
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийSergey Belov
 
защита Web приложений f5 cti
защита Web приложений f5 ctiзащита Web приложений f5 cti
защита Web приложений f5 ctiCTI_analytics
 
Сергей Белов
Сергей БеловСергей Белов
Сергей Белов
CodeFest
 
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
Vadim Ponomarev
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Alexander Granin
 
OpenShift 2.2
OpenShift 2.2OpenShift 2.2
OpenShift 2.2
Andrey Markelov
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
IT Event
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
Nikita Baksalyar
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
Roman Dvornov
 
Развитие навыков 1С облачно-мобильного специалиста до 5-го уровня
Развитие навыков 1С облачно-мобильного специалиста до 5-го уровняРазвитие навыков 1С облачно-мобильного специалиста до 5-го уровня
Развитие навыков 1С облачно-мобильного специалиста до 5-го уровня
Alexey Lustin
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
Denis Kolesnikov
 
(Не)безопасный frontend
(Не)безопасный frontend(Не)безопасный frontend
(Не)безопасный frontend
Sergey Belov
 
Xe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновXe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леонов
Екатерина Макарова
 

Similar to Информационная безопасность в открытых проектах (РИФ 2015) (20)

Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
 
История про OpenSource в Яндексе
История про OpenSource в ЯндексеИстория про OpenSource в Яндексе
История про OpenSource в Яндексе
 
Node.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчикаNode.JS: возможности для РНР-разработчика
Node.JS: возможности для РНР-разработчика
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
 
PVS-Studio, решение для разработки современных ресурсоемких приложений
PVS-Studio, решение для разработки современных ресурсоемких приложенийPVS-Studio, решение для разработки современных ресурсоемких приложений
PVS-Studio, решение для разработки современных ресурсоемких приложений
 
(Не)безопасный Frontend / Сергей Белов (Digital Security)
(Не)безопасный Frontend / Сергей Белов (Digital Security)(Не)безопасный Frontend / Сергей Белов (Digital Security)
(Не)безопасный Frontend / Сергей Белов (Digital Security)
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложений
 
защита Web приложений f5 cti
защита Web приложений f5 ctiзащита Web приложений f5 cti
защита Web приложений f5 cti
 
Сергей Белов
Сергей БеловСергей Белов
Сергей Белов
 
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
OpenStack - Python Project with 12 Million Lines of code (RUS, Moscow Python ...
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
 
OpenShift 2.2
OpenShift 2.2OpenShift 2.2
OpenShift 2.2
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
 
SPA инструменты
SPA инструментыSPA инструменты
SPA инструменты
 
Развитие навыков 1С облачно-мобильного специалиста до 5-го уровня
Развитие навыков 1С облачно-мобильного специалиста до 5-го уровняРазвитие навыков 1С облачно-мобильного специалиста до 5-го уровня
Развитие навыков 1С облачно-мобильного специалиста до 5-го уровня
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
(Не)безопасный frontend
(Не)безопасный frontend(Не)безопасный frontend
(Не)безопасный frontend
 
Xe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леоновXe4 launch мобильная разработка всеволод_леонов
Xe4 launch мобильная разработка всеволод_леонов
 

Информационная безопасность в открытых проектах (РИФ 2015)

  • 1. Информационная безопасность в открытых проектах Алексей Брагин, Pierre Schweitzer
  • 2. О докладчике • Алексей Брагин, aleksey@reactos.org • Активный участник СПО с 2000 г. • 10+ лет разработки и руководства ReactOS • Разносторонние интересы • Программирование • Бизнес • Финансы • Управление • Наука • Соавтор доклада – Pierre Schweitzer • Сфера интересов – информационная безопасность, инфраструктура
  • 3. О докладчике • Координатор проекта ReactOS • Преподаватель в МГТУ им. Н.Э.Баумана • Научный руководитель НИРС • Участник рабочей группы по ОС МинСвязи • Член комиссии по модернизации Научного совета РАН по проблемам европейской интеграции и модернизации
  • 4. ИБ в открытых проектах 1. Безопасность (надёжность) исходного кода 2. Безопасность инфраструктуры 3. Безопасность самого проекта
  • 5. 1. Безопасность кода в открытых проектах • Критические уязвимости в 2014 году – в открытых проектах • Heartbleed (OpenSSL, CVE-2014-016) • Shellshock (Bash, CVE-2014-6271)
  • 6. OpenSSL – открытая библиотека SSL/TLS • OpenSSL – очень широко используемый проект • Нет коммерческой поддержки • Отсутствует аудит кода • Все только используют, но не помогают • Только 2 человека работает над ним полное рабочее время
  • 7. Bash – командный процессор, оболочка • Bash – очень широко используемый проект • Нет коммерческой поддержки • Отсутствует аудит кода • Все только используют, но не помогают • 1 мейнтейнер
  • 8. Как с этим бороться? • Аудит исходного кода, в т.ч. независимый • Рецензирование (review) всех вносимых изменений • Возможно позволило бы обнаружить heartbleed/shellshock • Негативное тестирование • Обычно – тестирование на обнаружение регрессий • Нужно – тестирование с совершенно некорректными значениями параметров. Позволило бы обнаружить heartbleed/shellshock • Статический анализ кода • Не помогло в случае Heartbleed/shellshock • Fuzzing – (полу)автоматическое тестирование, подающее на вход различные неправильные, неожидаемые и случайные значения • Позволило бы обнаружить heartbleed/shellshock
  • 9. Apple “goto fail” – что могло помочь? • Правильный стиль написания кода • Правильные методы разработки • copy/paste вносит ошибки • Опции компилятора • Игнорирование предупреждений компилятора – верный путь к ошибкам hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGEST_LEN; if ((err = SSLFreeBuffer(&hashCtx)) != 0) goto fail; if ((err = ReadyHash(&SSLHashSHA1, &hashCtx)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &clientRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; /* err здесь равно 0, т.е. «успех» */ if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; err = sslRawVerify(...); fail: /* Epic */
  • 10. 1. Безопасность кода в открытых проектах • Уязвимость в открытом проекта – не значит, что проект провальный. • Люди ошибаются • Разработчики не могут просчитать все сценарии работы кода • Common Weakness Enumeration – CWE MITRE • Общие шаблоны ошибок • Пример того, как была предотвращена уязвимость в ReactOS • https://www.reactos.org/node/932
  • 11. 2. Безопасность инфраструктуры • Проект свободный, исходные коды открыты • Но не стоит игнорировать уязвимости хостинга, на котором он работает • Учётные записи пользователей • Те же принципы системного администрирования как и для любой серьёзной инфраструктуры • Политики безопасности • Системы Intrusion Detection System / Prevention System • Обновление ОС/ПО • Firewall • Аудит безопасности
  • 12. Инфраструктура СПО • Утечка данных – всегда имеет огромные последствия • Не важно – из компании или из открытого проекта • Всего-лишь один из векторов атаки • А что, если злоумышленники похитят данные для внесения изменений в код (коммитов) от имени разработчика этого проекта? • Не волнуйтесь, вас тоже рано или поздно взломают • ReactOS – не исключение, ситуация подробно описана • https://www.reactos.org/node/928
  • 13. 3. Безопасность самого проекта • Надёжность хранения данных – это тоже безопасность! • Резервное копирование – залог успеха • В этом ошибаются очень и очень многие • Управление правами доступа в команде • Где размещать код? • Что делать, если хостинг закрывается (Например, Google Code)
  • 14. Сила открытого кода • Открытый код должен больше дублироваться • во многих местах по всему миру • децентрализация • В реальности всё не так… • Например, TrueCrypt (из-за плохой лицензии)
  • 15. • Вопросы и предложения