LINUX.ORG.RU

Ищу курсы повышения квалификации для разработчика

 


1

1

Ищу курсы по повышению квалификации для _разработчиков_ программ в области технологий безопасного программирования, знаний требований нормативных документов по безопасности информации.

В поиске нашел например такой курс http://infosystems.ru/services/informacionnaya/kursy__soglasov_742/4845/4844....
Вроде написано много, но это не для разработчиков, а для руководителей и администраторов.

Именно для разработчиков ничего и не попалось, все больше поверхностное знакомство.

★★★★★

Если честно, не очень понятен ваш вопрос... Что за технологии безопасного программирования? (эм... контрацептивы на пальцах? однако...). Видимо вы имеете ввиду безопасность разрабатываемых приложений.

Тут надо уточнить следующее:

  • 1) Вы разработчик, а не специалист по информационной безопасности. Следовательно указанный Вами курс не подходит.
  • 2) Какова Ваша конечная цель? Писать безопасный код? Уметь разработать архитектуру приложения с точки зрения безопасности? Веб или нет? Ачивка в резюме «Прослушал курс»?
  • 3) Конкретный язык или в общем?
  • 4) Если у Вас хоть какая-то база и понимание по вопросам безопасности? Если да, то какая?

В России таких курсов НЕТ, нормальных это уж точно. Если сможете более конкретно ответить на вопросы, постараюсь помочь с направлением.

jfspec
()
Ответ на: комментарий от jfspec

1. да не подходит, других вообще не нашел
2. есть несколько разработчиков - их нужно ознакомить с РД Гостехкомиссии (http://www.atlas-nsk.ru/index.php?id=17) и научить писать код и архитектуру приложения в соответствии с ними; запись в резюме также не будет бесполезна
3. с\с++ как основной
4. я читал РД, есть небольшой опыт сдачи приложения по ним (сертификация)

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

И так, давайте разбираться.

Ознакомиться с РД Гостехкомиссии сможете соответственно только самостоятельно. Касательно кода и архитектуры существует ряд общих практик, о которых и постараюсь рассказать.

Стоит сразу отметить, что вы должны обратить внимание на то, что решение проблем безопасности на этапе разработки стоит копейки, но, когда софт уже находится в проде, править и патчить удовольствие из затратных.

Для создания безопасного софта необходимо:

1) Процессе осведомленности участников разработки ПО в вопросах информационной безопасности. Желательно, чтобы каждый из разработчиков и архитекторов ознакомился с общими вопросами информационной безопасности. Без этого просто невозможно будет продолжать никакие мероприятия. Закончив с общими вопросами, стоит перейти к конкретике, т.е. разобраться примеры конкретных уязвимостей. Совершенно не важно, как вы это будете делать, это может быть и пример SQL injection в PHP приложении или Buffer Overflow в С. Основная цель данного мероприятия выбить из головы разработчиков самоуверенность и поселить там мысли о необходимости применять необходимые практики. По факту все сводиться к обработке входных и выходных значений.

По теме тренингов:

http://www.itsecgames.com/

https://exploit-exercises.com/

http://www.dvwa.co.uk/

И другие, поищите найдете.

Хочу сказать, что, как и в любом другом шаге Вам необходим специалист по информационной безопасности. Только он сможет организовать такие процессы. Вы не должны делать из кодеров хакеров :-) И конечно нужно понимать, что специалист по инфбезу это не спец по фз-152, как у нас нынче модно.

2) Внедрение Security Development Lifecycle. Крупные компании давно осознали, что проще писать хорошее ПО сразу, чем потом бороться с последствиями. Стоит отметить заслугу Microsoft и Cisco, которые сделали это мейнстримом. Рассказывать тут бессмысленно, надо читать, подкину несколько ссылок:

https://www.owasp.org/index.php/Secure_SDLC_Cheat_Sheet

http://www.microsoft.com/security/sdl/default.aspx

http://www.ixbt.com/soft/microsoft-security-development-lifecycle.shtml

http://www.cisco.com/web/about/security/cspo/csdl/index.html

Будете искать дальше найдете, информации очень много. Самое главное выстроить правильный процесс разработки, который все это будет реализовывать.

3) Риск менеджмент и моделирование угроз. Да и вот тут Вам опять нужен специалист по безопасности, который сможет взять модель Вашего приложения, разложить все по полочкам и проанализировать все риски и угрозы. Это основный архитектурный процесс. Именно тут решаются больше половины Ваших проблем и перепроверяются все требования безопасности к проекту. На данном этапе нет еще ни строчки кода, а проблемы уже можно решать. Очень выгодно и правильно!

Тут на помощь могу прийти такие вещи как:

http://www.microsoft.com/security/sdl/adopt/threatmodeling.aspx

http://www.amazon.com/Threat-Modeling-Designing-Adam-Shostack/dp/1118809998

4) Code review и Static Code Analyze. Еще на этапе проектирования вы должны были определиться на чем и как вы будете писать. Вот если к примеру, Вы взяли какой-то framework будьте добры соблюдать его требования и использовать лучшие практики (базу которых вы кстати должны вести) разработки на данном языке программирования. Дальше нужно использовать статический анализ кода, это платное или бесплатное ПО, которое пробежится по Вашему коду и на основе сигнатур или эвристики найдет проблемы безопасности. ОЧЕНЬ полезная штука, когда Ваши спецы еще не опытны! Результаты анализа обязательно нужно совместно разбирать. Может служить отличной базовой метрикой по качеству Вашего кода. Стоит сказать, что от ошибок реализации бизнес логики это Вас не спасет. Это все должно решать на этапе моделирования угроз.

5) И последний пункт, о котором хотелось сказать. Это конечно тестирования. Это как внешний, так и внутренний аудит вашего ПО. Причем этот процесс должен повторяться не единожды. Вот тут опять Вам нужен спец по ИБ.

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

Вот парочку материалов:

http://www.ozon.ru/context/detail/id/3159814/

https://www.securecoding.cert.org/confluence/display/seccode/CERT+Coding+Standards

Удачи в этом нелегком деле!

jfspec
()
Ответ на: комментарий от jfspec

Ознакомиться с РД Гостехкомиссии сможете соответственно только самостоятельно.

Ознакомился, многое непонятно )

Удачи в этом нелегком деле!

Спасибо !

Буду переваривать материал.

x905 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.