TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1814 1.39K
День 1479. #ProjectManagement
Организация Разработки Безопасного ПО. Начало
Каждый год университеты, колледжи и курсы выпускают новых разработчиков, которые никогда не учились безопасному программированию или безопасности приложений. Это отсутствие понимания безопасности имеет последствия для разработки ПО на трёх уровнях: отдельный разработчик, пишущий небезопасный код, команда инженеров, слепо доверяющая зависимостям, и организация, считающая, что лучше всего внедрить собственные средства безопасности.

С самого начала нас учат программировать небезопасно. Мы спрашиваем у пользователя его имя, он его вводит, мы берем эти данные и отображаем их: «Привет, <имя>». Студента не учат проверке пользовательского ввода или кодированию информации на выходе, чтобы отключить любой потенциальный код, введённый пользователем и избежать межсайтового скриптинга (XSS).

Рекомендации по написанию безопасного кода
Начнём с жизненного цикла разработки системы. Некоторые общие действия по обеспечению безопасности, которые можно добавить в него, включают:
- Требования безопасности: меры, которые необходимо принять, чтобы приложение считалось безопасным. Создаём бессерверное приложение? Вот список требований безопасности, которые нужно добавить в ТЗ проекта, чтобы убедиться, что он достаточно безопасен для размещения в сети.
- Моделирование угроз: сеанс мозгового штурма, в котором участвуют как минимум один специалист по безопасности, владелец продукта и/или представитель бизнеса, а также член технической группы. Цель состоит в том, чтобы определить как можно больше потенциальных угроз для продукта, а затем работать над устранением тех из них, которые кажутся наиболее разрушительными или опасными. Это часто делается на этапе проектирования, но это можно сделать в любой момент позже.
- Сканирование кода: на этапе написания кода можно сканировать его с помощью статического инструмента тестирования безопасности приложений (SAST) или инструмента анализа состава программного обеспечения (SCA) или отправить приложение на сервер разработки и просканировать его с помощью инструмента DAST.
- Ранний взлом: на этапе тестирования можно нанять пентестера для тщательного автоматического и ручного тестирования всей системы.
- Защита кода в рабочей среде: на этапе выпуска можно настроить мониторинг, журналирование и оповещения.

Это только начало. Можно использовать некоторые элементы или ничего из перечисленного выше; главное найти действия и инструменты, которые работают для вас. Мы можем создать безопасный жизненный цикл разработки, добавив действия по безопасности во все процессы. Тем не менее, безопасностью надо заниматься всегда, а не только иногда или когда это удобно.

Если добавите даже один шаг по безопасности или лишнюю проверку, вы создадите более безопасное приложение. Ещё шаг – и оно ещё более безопасно. ПО — это всегда компромисс: мы не хотим тратить миллион долларов на безопасность приложения, которое заработает пару тысяч долларов. Мы хотим убедиться, что защищаем систему так, чтобы она соответствовала допустимым рискам. Проще говоря, мы должны работать с командой безопасности, чтобы точно решить, какой уровень безопасности требуется, но в целом, когда речь идет о безопасности, можно с уверенностью предположить, что «чем больше, тем лучше».

Окончание следует…

Источник:
https://stackoverflow.blog/2023/02/09/three-layers-to-secure-a-software-development-organization
  • 👍 3
More from @netdeveloperdiary
  1. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 1. Почему существу…
  2. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  3. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  4. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  5. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
  6. Oct 8, 2026День 2808. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Начало В ИТ есть се…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →