Защити свой компьютер на 100% от вирусов и хакеров - [22]
httр://example/cgi-bin/FormMail.pl? recipient= [email protected]&message =you% 20got%20spam
В качестве отправителя почтового сообщения указывался адрес веб-сервера, что позволяло злоумышленнику оставаться полностью анонимным.
Иногда базовый интерфейс администрирования, поставляемый вместе с веб-приложением, может использоваться с не предусмотренными разработчиками целями. К примеру, Macromedia's Cold Fusion по умолчанию имеет модуль, позволяющий просматривать исходный код сценариев. Злоупотребление этой функцией может привести к получению критичной информации веб-приложения. Удаление или отключение данной функции весьма проблематично, поскольку от нее зависят важные компоненты приложения.
Иногда изменение данных, обрабатываемых приложением, может позволить модифицировать поведение программы. К примеру, уязвимость в функции покупки приложения CyberOffice позволяла модифицировать значение цены, передаваемой пользователю в скрытом поле HTML-формы. Страница подтверждения заказа загружалась злоумышленником, модифицировалась на клиенте и передавалась серверу уже с модифицированным значением цены.
Отказ в обслуживании (Denial of Service). Данный класс атак направлен на нарушение доступности веб-сервера. Обычно атаки, направленные на отказ в обслуживании, реализуются на сетевом уровне, однако они могут быть направлены и на прикладной уровень. Используя функции веб-приложения, злоумышленник может исчерпать критичные ресурсы системы или воспользоваться уязвимостью, приводящей к прекращению функционирования системы. Обычно DoS-атаки направлены на исчерпание критичных системных ресурсов – таких как вычислительные мощности, оперативная память, дисковое пространство или пропускная способность каналов связи. Если какой-то из ресурсов достигнет максимальной загрузки, приложение целиком будет недоступно. Атаки могут быть направлены на любой из компонентов веб-приложения, например такие как сервер СУБД, сервер аутентификации и т. д. В отличие от атак на сетевом уровне, требующих значительных ресурсов злоумышленника, атаки на прикладном уровне обычно легче реализовать. В качестве примера подойдет следующий случай.
Предположим, что сервер Health-Care генерирует отчеты о клинической истории пользователей. Для генерации каждого отчета сервер запрашивает все записи, соответствующие определенному номеру социального страхования. Поскольку в базе содержатся сотни миллионов записей, пользователю приходится ожидать результата несколько минут. В это время загрузка процессора сервера СУБД достигает 60 %. Злоумышленник может послать десять одновременных запросов на получение отчетов, что с высокой вероятностью приведет к отказу в обслуживании, поскольку загрузка процессора сервера баз данных достигнет максимального значения. На время обработки запросов злоумышленника нормальная работа сервера будет невозможна. Как второй вариант – атаки на сервер СУБД. Злоумышленник может воспользоваться внедрением кода SQL для удаления данных из таблиц, что приведет к отказу в обслуживания приложения.
Недостаточное противодействие автоматизации (Insufficient Anti-automation).
Недостаточное противодействие автоматизации возникает, когда сервер позволяет автоматически выполнять операции, которые должны проводиться вручную. Для некоторых функций приложения необходимо реализовывать защиту от автоматических атак. Автоматизированные программы могут варьироваться от безобидных роботов поисковых систем до систем автоматизированного поиска уязвимостей и регистрации учетных записей. Подобные роботы генерируют тысячи запросов в минуту, что может привести к падению производительности всего приложения. Противодействие автоматизации заключается в ограничении возможностей подобных утилит. Например, файл robots может предотвращать индексирование некоторых частей сервера, а дополнительные средства идентификации – автоматическую регистрацию сотен учетных записей системы электронной почты.
Недостаточная проверка процесса (Insufficient Process Validation). Уязвимости этого класса возникают, когда сервер недостаточно проверяет последовательность выполнения операций приложения. Если состояние сессии пользователя и приложения должным образом не контролируется, приложение может быть уязвимо для мошеннических действий. В процессе доступа к некоторым функциям приложения ожидается, что пользователь выполнит ряд действий в определенном порядке. Если некоторые действия выполняются неверно или в неправильном порядке, возникает ошибка, приводящая к нарушению целостности. Примерами подобных функций выступают переводы, восстановление паролей, подтверждение покупки, создание учетной записи и т. д. В большинстве случаев эти процессы состоят из ряда последовательных действий, осуществляемых в четком порядке. Для обеспечения корректной работы подобных функций веб-приложение должно четко отслеживать состояние сессии пользователя и ее соответствие текущим операциям. В большинстве случаев это осуществляется путем сохранения состояния сессии в cookie или скрытом поле формы HTML. Но поскольку эти значения могут быть модифицированы пользователем, обязательно должна проводиться их проверка на сервере. Если этого не происходит, злоумышленник получает возможность обойти последовательность действий и, как следствие, логику приложения. В качестве примера подойдет следующее. Система электронной торговли может предлагать скидку на продукт B в случае покупки продукта A. Пользователь, не желающий покупать продукт A, может попытаться приобрести продукт B со скидкой. Заполнив заказ на покупку обоих продуктов, пользователь получает скидку. Затем он возвращается к форме подтверждения заказа и удаляет продукт A из покупаемых путем модификации значений в форме. Если сервер повторно не проверит возможность покупки продукта B по указанной цене без продукта A, будет осуществлена закупка по низкой цене.
Книг о работе в Интернете для начинающих очень много. Немало книг по интернет-технологиям было выпущено и для программистов-профессионалов. Но есть ли книги про Интернет, которые были бы интересны пользователю со средним уровнем подготовки? Таких изданий на русском языке почти нет. Данная книга призвана восполнить этот пробел. В ней собраны сотни неочевидных трюков и хитрых приемов для работы в Интернете, описаны десятки полезнейших программ, даны тысячи важных советов и рекомендаций. Диапазон рассматриваемых в книге вопросов очень широк.
Сегодня книжный рынок предлагает огромный выбор литературы о работе в Интернете – как для начинающих пользователей, так и для профессионалов. Но есть ли книги об Интернете, которые были бы интересны пользователю со средним уровнем подготовки? Таких изданий на русском языке почти нет. Данная книга призвана восполнить этот пробел. В ней собраны сотни неочевидных трюков и хитрых приемов для работы в Интернете, описаны десятки полезнейших программ, даны множество важных советов и рекомендаций.Диапазон рассматриваемых авторами вопросов очень широк – это и оптимизация подключения, и расширение возможности браузеров, и секреты эффективного поиска, и вопросы безопасности… Можете не сомневаться: освоив эту книгу, вы будете проводить время в Интернете куда более эффективно и интересно.
Вы хотите создать собственный сайт на просторах Интернета? Причем желательно, чтобы он был красивым, удобным и «неглючным»? Казалось бы, чего проще: существует столько программ – конструкторов сайтов. Однако чтобы создать действительно профессиональный сайт, подобных утилит недостаточно. Вам потребуется знание языков программирования HTML и XHTML, а также каскадных таблиц стилей CSS. И в этом случае книга, которую вы держите в руках, – именно то, что вам необходимо. С ее помощью вы научитесь создавать красиво оформленные, быстрые и профессиональные сайты.
Если вы только приступили к освоению азов компьютерных технологий, если вы пока еще задумываетесь, прежде чем нажать какую-либо клавишу на клавиатуре, если вы поминутно опасаетесь забыть, как запустить нужную вам программу, как отредактировать текстовый документ, как найти потерявшийся файл, – эта книга для вас. Прочитав ее, вы освоите работу в операционной системе Windows Vista, с программами из пакета Microsoft Office 2007, а также научитесь преодолевать сбои в работе вашего компьютера.
Из вашего компьютера валит сизый дым? Windows не грузится, и вы видите лишь черный экран? Или же Windows загружается, но потом экран становится синим и на нем появляются непонятные символы? Из системного блока раздается пронзительный писк? Ваши любимые игры перестали запускаться, а антивирус уже не помогает? Не паникуйте и не спешите вызывать мастера! В большинстве случаев сбои компьютера можно «излечить» самостоятельно. Как — научит эта книга. В ней предельно просто рассказывается о наиболее часто встречающихся поломках и ошибках ПК.
В книге изложены методы восстановления данных с различных носителей информации – жестких дисков, массивов RAID, CD, DVD, карт флэш-памяти, карт фотоаппаратов и мобильных телефонов. Ремонт поврежденного оборудования рассматривается в издании только как один из аспектов всего процесса извлечения данных. Основная тема – извлечение данных, поврежденных из-за физических или логических нарушений в работе компьютерной системы либо неверных действий пользователя. В книге рассматривается восстановление случайно удаленных файлов, извлечение ценной информации с поломанных жестких дисков; описываются программы и методика восстановления данных с поврежденных массивов RAID, что критически важно для работы корпоративных компьютерных систем.Книга не требует специальной подготовки читателя: простые пошаговые процедуры восстановления данных предваряются описанием принципов их хранения на различных носителях.