Блог про интернет-маркетинг, развитие бизнеса в Интернете и внедрение Интернета в бизнес  
Здесь обсуждаются создание сайтов, способы их развития, технологии интернет-маркетинга, анализ эффективности, проблемы и возможности внедрения Интернета в бизнес глазами специалистов Интернет-агентства "Артус".
  RSS  
 

Атаки против сайтов

Дата публикации 19 сентября, 2008
В метках События и практика, Техническая поддержка | комментарии: 3

Я и раньше знал, что злоумышленники часто атакуют веб-сайты, чтобы похитить конфиденциальную информацию или просто повредить сайт. Но об истинных масштабах этого бедствия я узнал недавно. Оказывается, только в августе текущего года было зафиксировано и блокировано 16278 атак на сайты, находящиеся на нашем хостинге. Основные виды атак и их количество перечислены в таблице (данные за август 2008 г.)

Вид атаки

Число атак

Более 200 запросов к сайту в течение 2 секунд

4348

SQL Injection — SQL иньекция

3783

Cross-Site Scripting — Межсайтовый скриптинг

3081

Запросы с анонимных прокси-серверов

2770

Probing — Исследование сайта на известные уязвимости

901

Encoding — Кодирование запроса

712

Bad User-Agents Signatures — агенты-сканеры

619

 


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

SQL инъекции

Это одна из самых опасных атак против сайта. Сайт представляет собой программный код, который хранится на веб-сервере с ограниченным доступом (это хранение специалисты предпочитают именовать хостингом). Казалось бы, злоумышленник не может получить доступ к этому коду, если не узнает имя и пароль для доступа к серверу. Но есть один вход, который не закрыт паролем. Для того чтобы войти на сайт, посетитель набирает в адресной строке программы-браузера адрес сайта. Перемещаясь по сайту, заполняя различные формы, посетитель посылает запросы к базе данных, которые выполняются веб-сервером. В этой базе может, например, находиться информация о товарах, предлагаемых в Интернет-магазине, а также о зарегистрированных пользователях. Здесь и находится слабое место в обороне сайта, через которое может проникнуть взломщик. Он формирует такой запрос, который будет воспринят веб-сервером как команда. В результате выполнения этой команды преступник может получить доступ к информации из базы данных или заменить эту информацию на другую. Он может также полностью блокировать работу базы данных.

Некоторые владельцы сайтов могут подумать, что такие атаки нацелены, в основном, на сайты банков. Там злоумышленник действительно может найти ценную информацию, касающуюся, например, доступа к счетам клиентов. Но и обычные корпоративные сайты, содержащие всего лишь сведения о компании и её продукции, тоже часто становятся жертвами SQL инъекций. Причины могут быть разными. Самой банальной является обыкновенное хулиганство. Атаку могут организовать конкуренты или, например, один из обиженных сотрудников компании. Если администратор веб-сервера не примет своевременные меры, сайт может выйти из строя. Результат – потеря потенциальных клиентов и партнеров, не нашедших сайт компании или обнаруживших его в неприглядном виде.

Межсайтовый скриптинг.

Эта атака направлена не против сервера, на котором находится сайт, а против посетителей сайта. Для этого в веб-страницы уязвимого сайта внедряется соответствующий код. После этого зараженный сайт превращается в ловушку для ничего не подозревающих посетителей. Они становятся жертвами взломщиков при просмотре зараженных страниц или после клика по зараженной ссылке. Результатом атаки может быть выполнение вредоносного кода на компьютере пользователя или переадресация посетителя на другой сервер. Тогда работу по взлому компьютера пользователя проведет этот сервер.

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

Другие атаки

Есть и много других способов атаковать сайт. Один из самых примитивных – послать большое число запросов к сайту (например, 200 запросов в течение 2 секунд), чтобы перегрузить веб-сервер. Кроме того, злоумышленники сканируют сайты для выявления известных уязвимостей. Эти атаки также фиксируются и блокируются нашим сервером. Блокируются также входы с анонимных прокси-серверов. Если посетитель сайта хочет скрыть свой IP адрес, это уже можно считать признаком готовящейся атаки.

Противостояние защиты и атакующих похоже на настоящую войну. Разрабатываются все более сложные методы защиты сайтов, но взломщики отыскивают новые уязвимые места и изобретают новые методы атаки. Конечно, сотрудники компаний, владеющих сайтами, не должны становиться специалистами по компьютерной безопасности. Но им следует знать и помнить, что их корпоративный сайт может быть атакован в любой момент.

Если вы хотите следить за нашими публикациями, подписывайтесь на новости блога по e-mail или RSS. Тем, кто еще не знаком c сервисами для чтения RSS каналов, рекомендую прочитать статью Начинайте пользоваться Google Reader.

Андрей Мусиенко,
кандидат физико-математических наук
аналитик Интернет-агентства Артус

При полном или частичном цитировании материалов ссылка на blog.artus.ru обязательна.

Интересные посты на ту же тему:

Зачем нужна Служба технической поддержки
Главный критерий при выборе разработчика Интернет-сайта.

Понравилась статья? Подпишитесь на обновления блога через RSS. Удобнее всего следить за новыми записями на блоге через Google Reader. Рекомендуем.

Комментарии

Комментарии: 3 на “Атаки против сайтов”

  1. Дмитрий 23 сентября, 2008 10:52

    200 запросов за 2 минуты — ничто для правильно настроенного веб-сервера и приложений, которые не допускают перерасхода памяти.

    В том случае, если такие запросы будут поступать (судя по заголовкам ваши сайты работают под MS Internet Information Services 6 на платформе ASP), IIS организует из них очередь. Очередь из 200 запросов обрабатывается нормальным веб-сервером очень быстро (секунда).

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

    Если вы задаетесь вопросом атаки при 200 запросах, то нужно в первую очередь разбираться в том, как расходуется память. Для ASP под которым работает ваш сайт основной причиной перерасхода в первую очередь являются незакрытые рекордсеты и потоки, память на которые расходуется. Такое происходит из-за раздолбайства программиста — забыл закрыть поток после выхода из цикла, не предусмотрел закрытие потока при нештатном завершении выполнения блока кода и пр. Нормальные разработчиками за этим следят и как минимум проводят нагрузочное тестирование (регулярное) для определения слабых мест.

    Далее — 200 запросов к страницам, которые требуют большого количества вычислений на стороне сервера БД также ничто. MS SQL сервер с древних времен умел организовывать очереди запросов, которые состоят из сотен тысяч запросов. Да, он будет выполнять их долго, но в итоге выполнит. И ниакакого ущерба, разве кроме времени выполнения этих запросов. А это уже вопрос нормальной техподдержки — следить за производительностью сервера БД и завершать выполнение транзакций, выполняемых для атаки сервера.

    С БД опять же штука следующая — если запросы и индексы сделаны правильно, то выполнение большого количества запросов не нанесет вреда СБД. Если Вы, как такой крупный разработчик еще не понимаете, то СБД расчитан на вычисления и выполнения запросов значительно (на порядки больше) большего объема, нежели необходимо для обслуживания 200 запросов к сайту.

    Далее — если процедура обработки запросов реализована правильно, то никакие SQL инъекции вам не страшны. Запретите передавать параметры, содержащие в качестве текста диррективы, необходимые для выполнения запросов и эта лазейка в вашу систему будет тоже закрыта. Возможность выполнения SQL-инъекции это, опять же, вопрос чистоплотности программиста, отвечающего за конкретный вызов.

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

  2. Евгений Лернер 23 сентября, 2008 16:31

    Дмитрий, спасибо Вам за такой развёрнутый коментарий. Если Вам интересно, готовы публиковать у нас на блоге Ваши статьи , по интересным для нашей целевой аудитории темам.
    Что касается статьи «Атаки на сайты». В ней мы показали, в каких объёмах всё это происходит. Через месяца три мы дадим новые данные, чтобы показать, какими темпами всё это нарастает.

  3. Дмитрий 24 сентября, 2008 9:47

    Евгений, в тех объемах, которые описываете Вы, атаки не происходят. Флудят в значительно больших объемах, которые отличаются от указанных Андреем на порядки. Статьи я к сожалению не пишу. Целью написания этого поста скорее было показать проблему — если специалист видит проблему в столь малом (а это мало — подумайте, как работают сайты BBC или CNN, например) количестве обращений, то проблема не в серверах, а в хостимом ПО.

    Я так понимаю, ваша компания делает сайты на базе своей разработки. Так вот, если вы видите проблему в таких объемах запросов, то нужно смотреть именно разработку, разбираться в том, что с ней не так. Ну и также это — повод для статьи, у которой могло бы быть следующее название «Раздолбайство программистов при создании сайта и деньги, которые за это потом платит клиент при атаках на сайт». И темы статьи — использование памяти, рекордсеты, курсоры, незакрытые потоки. Думаю, что параллельно узнаете много нового о своей разработке ))

Подпишитесь на новые комментарии, через RSS.

правила комментирования

  1. Запрещены оскорбительные и необоснованные высказывания в адрес собеседников.
  2. Запрещено умышленно подписываться чужим именем (человека, который присутствует в блоге).
  3. Запрещено использовать ники, созданные из ключевых слов для SEO, в сочетании с URL сайтов аналогичного написания.
  4. По умолчанию запрещены ссылки в теле комментариев. Комментарий может быть отредактирован на первый раз (ссылка удалена), на второй раз комментарий удаляется целиком.
  5. Запрещены искусственные “комментарии”, созданные подряд в разных статьях с интервалом менее 2 минут.
  6. За любое нарушение пп. 1-5 комментарии удаляются без объяснения причин, пользователю делается предупреждение.
  7. Комментарии, не относящиеся к теме статьи (оффтоп), могут быть удалены.
  8. За систематическое нарушение правил (3 и более раз) пользователь банится.

Оставьте свой ответ




IT специалисты PR SEO web-дизайн Интернет-маркетинг Техническая поддержка сайтов ЦА банки баннерная реклама бюджет интернет-проекта веб-дизайн дизайн сайтов заказ сайта заказчик затраты на привлечение клиента интернет-маркетолог интернет-проект интернет-специалисты ключевые показатели эффективности конверсия посетителей сайта контекстная реклама контент корпоративный сайт маркетинговая поддержка нужен сайт подбор персонала поисковая оптимизация продажи продвижение сайта разработка сайтов сайты банков сайты на заказ сколько стоит сайт социальные сети стоимость создания сайта тендер финансовый кризис целевая аудитория цели и задачи сайта цены на сайты экономический кризис электронные госуслуги электронный документооборот эффективность рекламной компании эффективность сайта
 
  © Блог про интернет-маркетинг, развитие бизнеса в Интернете и внедрение Интернета в бизнес, 2007-2008. Рейтинг@Mail.ru Rambler's Top100 Rambler's Top100