Недостаток ресурсов. Ошибки программирования.
Атака, приводящая к недостатку ресурсов (resource starvation), отличается от предыдущей атаки тем, что она направлена на захват системных ресурсов, таких как центральный процессор, память, дисковые квоты или другие системные процессы. Зачастую взломщик обладает легитимным доступом к ограниченному количеству системных ресурсов. Однако он предпринимает попытку захватить и дополнительные ресурсы. Таким образом, система или законные пользователи будут испытывать недостаток в совместно используемых ресурсах. Атаки такого типа обычно приводят к недоступности ресурса, и, следовательно, к краху системы, переполнению файловой системы или зависанию процессов.
Ошибки программирования
Ошибки программирования (programming flaw) заключаются в неспособности приложения, операционной системы или логической микросхемы обрабатывать исключительные ситуации. Обычно эти ситуации возникают при передаче уязвимому элементу несанкционированных данных. Взломщики будут много раз передавать пакеты, в которых не учитываются рекомендации документов RFC, чтобы определить, способен ли сетевой стек справиться с этими исключениями или это приведет к панике ядра (kernel panic) или краху всей системы. Для определенных приложений, которым требуются пользовательские входные данные, взломщики будут передавать строковые данные длиной в тысячи строк.
Если программой используется буфер фиксированной длины, скажем, 128 байт, то злоумышленники попробуют сгенерировать условие переполнения буфера и вызвать крах приложения. Что еще хуже, взломщики могут также выполнить привилегированные команды, как описывалось в главах 5 и 7. Ошибки программирования часто встречаются и в логических микросхемах. Печально известная атака под названием Pentium f00f основывается на том, что пользовательский процесс, выполнив некорректную инструкцию 0xf 00f c7c8, приведет к краху любой операционной системы.
Не трудно догадаться, что программы, операционной системы или даже центрального процессора, в которых отсутствуют любые дефекты, не существует. Взломщикам прекрасно известна эта аксиома. Будьте уверены, что они полностью воспользуются преимуществами краха важных приложений. К сожалению, в большинстве случаев все атаки происходят в совершенно неподходящее время.