Существуют ли лучшие практики для тестирования безопасности в Agile-магазине? [закрыто]

Если вы используете WAMP, то перейдите к расширениям PHP и включите PHP_fileinfo и перезапустите все службы.

10
задан danday74 25 January 2017 в 13:54
поделиться

4 ответа

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

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

Пойдите покупают копию Комплекта Отрыжки (это - результат Google № 1 для "отрыжки"---верное подтверждение!); это будет стоить Вам 99EU, или ~ $180, или Долларам Obama за 98$, если Вы будете ожидать до ноября.

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

Fuzzing каждый обработчик запросов в Вашем веб-приложении при каждом повторении выпуска является вещью № 1, которую можно сделать для улучшения безопасности приложений, не устанавливая формальный "SDLC" и добавив количество головок. Кроме того, рассмотрите свой код для крупнейших горячих точек безопасности веб-приложения:

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

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

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

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

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

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

2
ответ дан 4 December 2019 в 03:40
поделиться

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

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

1
ответ дан 4 December 2019 в 03:40
поделиться

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

1
ответ дан 4 December 2019 в 03:40
поделиться

Поблочное тестирование, Программирование Защиты и много журналов

Поблочное тестирование

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

Программирование защиты

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

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

Вход

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

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

1
ответ дан 4 December 2019 в 03:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: