Сергей Яремчук
Сегодня большая часть информации обрабатывается веб-приложениями и
выдается пользователю с помощью динамически генерируемых страниц. Номера
кредитных карточек, персональные данные клиентов, важная корпоративная
информация, ко всему этому можно получить доступ 7 дней в неделю, 24 часа в
сутки. Естественно, и злоумышленики пытаются этим воспользоваться.
Несмотря на то что уязвимости могут быть в принципе в любом сервисе,
запущенном в системе, статистика показывает, что в последнее время существенно
увеличилось количество нападений на прикладном уровне. По различным подсчетам
приблизительно 60-75% атак направлены на веб-cервисы, количество таких атак,
как SQL Injection, cross-site-scripting, никогда не уменьшается. Несмотря на то
что об этих технологиях и методах защиты от них написано немало, взломы все
равно продолжаются. Вероятно, потому, что веб-сервер ориентирован на публичный
доступ, поэтому его не спрячешь за межсетевым экраном. Страдают не только
проекты, созданные программистами-одиночками, но и, казалось бы, вылизанный код
крупных проектов также содержит ошибки. Отследить все моменты довольно тяжело,
да и подчас работа сдается в авральном порядке в короткие сроки. Ситуацию
усложняет то, что протокол HTTP может использовать множество способов
кодирования и инкапсуляции информации. Поэтому контроль за вводимой информацией
и проверка ее корректности по-прежнему являются ключевыми факторами при
обеспечении безопасности всех веб-приложений.
Вручную проверить большой объем кода, чтобы
выявить все возможные значения всех элементов данных – задача сложная и
трудоемкая, требующая больших знаний в различных областях. По этой причине все
чаще приходится прибегать к специализированным сканерам безопасности,
работающим на прикладном уровне. Одним из продуктов, позволяющим протестировать
веб-сайт на наличие слабых мест, является Acunetix Web Vulnerability Scanner.