Сведения о вопросе

Gentleman

16:03, 1st July, 2020

Теги

security   agile    

Существуют ли рекомендации по тестированию безопасности в магазине разработки Agile?

Просмотров: 425   Ответов: 4

Что касается разработки Agile, каковы рекомендации по тестированию безопасности для каждого выпуска?

Если это ежемесячный выпуск, есть ли магазины, которые делают тесты пера каждый месяц?



  Сведения об ответе

nYU

18:03, 1st July, 2020

Каков ваш домен приложения? Это зависит.

Поскольку вы использовали слово "Agile", я предполагаю, что это веб-приложение. У меня есть хороший простой ответ для вас.

Идите и купите копию Burp Suite (это результат #1 Google для "burp" - - - верное одобрение!); это будет стоить вам 99EU, или ~$180USD, или $98 долларов Обамы, если вы подождете до ноября.

Burp работает как веб-прокси. Вы просматриваете свое веб-приложение, используя Firefox или IE или что-то еще, и он собирает все хиты, которые вы генерируете. Эти хиты попадают в функцию под названием "Intruder", которая является веб-фуззером. Злоумышленник определит все параметры, которые вы предоставляете каждому из ваших обработчиков запросов. Затем он будет пробовать сумасшедшие значения для каждого параметра, включая SQL, файловую систему и HTML метасимволов. В типичном сообщении сложной формы это будет генерировать около 1500 обращений, которые вы будете просматривать, чтобы идентифицировать страшные --- или, что более важно в контексте Agile, новые --- ответы на ошибки.

Размытие каждого обработчика запросов в вашем веб-приложении на каждой итерации выпуска-это #1, что вы можете сделать, чтобы улучшить безопасность приложения, не устанавливая формальный "SDLC" и не добавляя headcount. Кроме того, просмотрите свой код для основных горячих точек безопасности веб-приложений:

  • Используйте только параметризованные подготовленные операторы SQL; никогда не просто объединяйте строки и подавайте их в дескриптор базы данных.

  • Отфильтруйте все входные данные в белый список известных хороших символов (alnum, базовая пунктуация) и, что более важно, выходные данные фильтра из результатов запроса к метасимволам "neutralize" HTML к объектам HTML (quot, lt, gt и т. д.).

  • Используйте длинные случайные идентификаторы hard-to-guess везде, где вы в настоящее время используете простую целочисленную строку IDs в параметрах запроса, и убедитесь, что пользователь X не может видеть данные пользователя Y, просто угадывая эти идентификаторы.

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

  • Включите защиту XSRF в вашем веб-стеке, которая будет генерировать скрытые параметры маркера формы на всех ваших визуализированных формах, чтобы предотвратить создание злоумышленниками вредоносных ссылок, которые будут отправлять формы для ничего не подозревающих пользователей.

  • Используйте bcrypt - - - и ничего больше - - - для хранения хэшированных паролей.


  Сведения об ответе

lool

18:03, 1st July, 2020

Модульное тестирование, Программирование защиты и множество журналов

Модульное тестирование

Убедитесь, что вы тестируете модуль как можно раньше (например, пароль должен быть зашифрован перед отправкой, туннель SSL работает и т. д.). Это не позволит вашим программистам случайно сделать программу небезопасной.

Обороны Программирования

Я лично называю это параноидальным программированием, но Википедия никогда не ошибается ( сарказм). В принципе, вы добавляете тесты в свои функции, которые проверяют все входы:

  • действительны ли файлы cookie пользователя?
  • он все еще входит в систему?
  • защищены ли параметры функции от SQL инъекций? (даже если вы знаете, что входные данные генерируются вашими собственными функциями, вы все равно проверите)

Лесозаготовительный

Регистрируйте все как сумасшедший. Его проще удалить журналы, а затем добавить их. Пользователь вошел в систему? Запишите это. Пользователь нашел 404? Запишите это. Админ редактировал / удалял пост? Запишите это. Кто-то смог получить доступ к закрытой странице? Запишите это.

Не удивляйтесь, если ваш лог-файл достигает 15 + Мб на этапе разработки. Во время бета-тестирования вы можете решить, какие журналы удалить. Если вы хотите, вы можете добавить флаг, чтобы решить, когда регистрируется определенное событие.


  Сведения об ответе

lool

18:03, 1st July, 2020

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


  Сведения об ответе

PIRLO

18:03, 1st July, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться