FuzzDB — умный фаззинг

Прежде чем начать рассмотрение проекта FuzzDB, нужно сказать пару слов о самом фаззинге. Итак, фаззинг (англ. fuzzing) — это способ тестирования приложений, в основе которого лежит передача некорректных, случайных или непредвиденных логикой программы данных. Чаще всего фаззинг применяется при blackbox-тестировании, т.е. в условиях отсутствия исходных кодов приложения. У фаззинга имеются как отрицательные, так и положительные стороны. К числу первых можно отнести низкую скрытность процесса тестирования, так как после проверки всех возможных параметров остаются следы, которые невозможно не заметить, если, конечно, проводится мониторинг журналов и нагрузки на систему. Среди положительных моментов выделяется полная автоматизация процесса, позволяющая значительно сэкономить время. Эффективность фаззинга в значительной степени зависит от программы-фаззера и базы, с которой она работает. Говорить, что фаззинг лучше метода ручного точечного тестирования или наоборот, некорректно, так как оба метода должны дополнять друг друга при blackbox-пентесте.

Read more »

Опубликован OWASP Top 10 2010 (RC1)

OWASP, открытый проект безопасности приложений, накануне представил для обсуждения новую версию списка десяти самых опасных угроз. В сравнении с OWASP Top 10 2007 изменениям подверглись четыре позиции. Меня удивило, что инклуд-баг Malicious File Execution был исключен из списка якобы в силу того, что PHP стал более безопасным по умолчанию. Видимо Jeremiah Grossman и компания не учли, что LFI (local file include) по степени риска теперь можно практически приравнять к RFI (remote file include). Возможно к 2010 бажных версий PHP будет намного меньше, но, несмотря на это, косячить в коде будут всегда. А может обнаружатся еще какие-нибудь новые уязвимости 🙂

Итак, сама десятка самых опасных угроз:

  1. A1 Injection (всякого рода инъекции, в т.ч. SQL, LDAP и т.д.)
  2. A2 Cross Site Scripting (не потерявший актуальности XSS)
  3. A3 Broken Authentication and Session Management (ошибки в архитектуре аутентификации и управления сессиями)
  4. A4 Insecure Direct Object References (незащищенные ресурсы и объекты, можно вспомнить случай с SVN)
  5. A5 Cross Site Request Forgery (CSRF)
  6. A6 Security Misconfiguration (небезопасная конфигурация окружения, различных фреймворков, платформы)
  7. A7 Failure to Restrict URL Access (несанкционированный доступ к функционалу, требующему особых привилегий — например обход проверки c помощью двойного слэша «//» в URL для получения доступа к управлению блогом в WordPress)
  8. A8 Unvalidated Redirects and Forwards (открытые редиректы, которые ведут к фишингу, HTTP Response Splitting и XSS)
  9. A9 Insecure Cryptographic Storage (небезопасное хранение важных данных)
  10. A10 Insufficient Transport Layer Protection (недостаточная защита данных при их передаче на транспортном уровне, например по HTTP вместо HTTPS).

Надеюсь, это неокончательная версия Top 10, ждем следующий релиз-кандидат.