Ответ 1
Я тестирую проницаемость, и я рад ответить на этот вопрос.
Проникающее тестирование обычно представляет собой форму черный ящик тестирование безопасности. В ручном тесте вы пытаетесь проникнуть на сервер столько раз, сколько возможно, и сообщите о том, как они могут взломать. Это часто делается несколько раз, чтобы убедиться, что исправления удерживают воду. Это важный тип тестирования безопасности, поскольку он как реальный мир, как он получает. Регулярное тестирование на проникновение является требованием PCI-DSS. Общими инструментами для тестирования проникновения веб-приложений являются Acunetix ($), NTOSpider ($$$), w3af (с открытым исходным кодом) и Wapiti (Open Источник). Для других типов испытаний на проникновение обычно используется Metasploit (с открытым исходным кодом), OpenVAS (с открытым исходным кодом), NMAP и THC-Hydra.
В отличие от него white box, у вас есть полный доступ к исходному коду. Вы можете включить аппликацию в приложении, чтобы получить лучшие результаты тестирования от сканеров, таких как Acuenetix. Вы также можете использовать инструменты анализа исходного кода, такие как RATS (Open Source) и Coverity ($$$$$).
Существует две различные формы атак типа "отказ в обслуживании". Самая простая - это атака распределенного отказа в обслуживании, в которой хакер использует ботовую сеть, чтобы нагрузить ваш сервер трафиком. Этот трафик может быть ICMP Ping или даже простой HTTP GET-запрос. У Cisco есть ряд очень дорогих продуктов, чтобы предотвратить такой тип атаки.
Другая форма отказа в обслуживании - это когда возникает проблема с самим сервером. Когда этот тип дефектов безопасности обнаруживается, он часто получает номер CVE, потому что это нарушение CWE-400. Обычно это связано с арифметическим переполнением или повреждением памяти на основе кучи/кучи (переполнение буфера или оборванное указателем). Чтобы предотвратить эти типы атак, вы должны убедиться, что ваше программное обеспечение обновлено. Это не часто, что 0-дневная DoS-атака используется в дикой природе.