Горячая двадцатка уязвимостей от SANS
Обычному пользователю очень часто приходится слышать о появлении новых уязвимостей. Разобраться в такой каше бывает совсем непросто ввиду слабой систематизации таких сообщений, которые чаще всего представлены сухой констатацией отрывков бюллетеней безопасности корпорации Microsoft. Наиболее авторитетным источником, представляющим различные уязвимости в классифицированной форме, является The SANS Institute (http://www.sans.org/top20).В отчете SANS все уязвимости разделены на уязвимости Windows-систем, UNIX-систем, приложений (программ) и сетевых продуктов.
В объеме данного раздела подробно остановимся лишь на уязвимостях Windows-систем (с полным отчетом можно ознакомиться по адресу http://www.sans.org/top20).
ПРИМЕЧАНИЕ
Список рассматриваемых в данном разделе уязвимостей нельзя считать самым новым. Он приведен лишь как пример.
Чтобы немного четче представлять, что откуда взялось и кому все это нужно, будет более чем уместно привести «повествование временных лет» горячих отчетов SANS.
Несколько лет назад институт SANS (SANS Institute) и Национальный Центр Защиты Инфраструктуры США (National Infrastructure Protection Center, или NIPC) совместно с FBI представили документ, который по сути своей являлся самым что ни на есть настоящим отчетом, где было озвучено десять критических (на тот момент) уязвимостей, касающихся интернет-безопасности. Данный отчет за короткое время приобрел статус авторитетного руководства, которое активно использовалось различными конторами для устранения дыр ПО. Отчет содержал свежую информацию об уязвимых сервисах, компрометирующихся такой "киберзаразой" своего времени, как Blaster, Slammer и Code Red. В последующие годы отчет трансформировался в список уже из двадцати критических уязвимостей, коим и является на сегодняшний день.
Ну что ж, вот, пожалуй, и начнем.
Сервисы Windows.Семейство операционных систем платформы Windows характеризуется наличием самых разнообразных сервисов, многие из которых обеспечивают нормальную работу данной операционной системы как сетевой. К чему это мы? Наверное, к тому, что уязвимости сервисов Windows как таковые – довольно распространенное явление. Можно даже сказать больше: дыры в сервисах находили, находят и, несомненно, будут находить, благо сервисов у Windows предостаточно. Многие сервисные уязвимости эксплуатируются посредством переполнения буфера (уязвимости переполнения буфера – buffer overflow vulnerabilities), причем большинство атак подобного рода относят к категории удаленных. Удивляться этому факту особо не приходится, учитывая, что подобные сервисы – сетевые.
Небольшое лирическое отступление: наверное, многим из читателей доводилось слышать, что чем больше открытых портов в системе, тем она более уязвима. И тут должен возникнуть закономерный вопрос: как же можно минимизировать количество открытых портов? Просто. Все дело в том, что порт по сути представляет собой какое-либо сетевое приложение, взаимодействующее с подобными себе посредством сетевого интерфейса (очень упрощенно). Чаще всего какому-либо открытому порту соответствует определенное приложение (в нашем случае – служба). Из вышесказанного следует, что минимизировать количество открытых портов можно, минимизировав количество запущенных служб. В качестве горячего примера, иллюстрирующего вышесказанное, уместно привести следующее изображение (рис. 1.7). 
Рис. 1.8.Порт 123 закрыт!
Естественно, что в данной ситуации главное – не переусердствовать, для чего очень полезно ознакомиться с описанием служб Windows. Вернемся к SANS.
Согласно отчету список уязвимых служб таков (буквенно-цифровое обозначение уязвимости соответствует оригинальной классификации Microsoft):
♦ MSDTC and COM+ Service (MS05-051);
♦ Print Spooler Service (MS05-043);
♦ Plug and Play Service (MS05-047, MS05-039);
♦ Server Message Block Service (MS05-027, MS05-011);
♦ Exchange SMTP Service (MS05-021);
♦ Message Queuing Service (MS05-017);
♦ License Logging Service (MS05-010);
♦ WINS Service (MS04-045);
♦ NNTP Service (MS04-036);
♦ NetDDE Service (MS04-031);
♦ Task Scheduler (MS04-022).
Уязвимости большинства из перечисленных служб реализуются посредством удаленного выполнения кода либо отказа в обслуживании. Не вдаваясь в технические подробности, еще раз отметим, что абсолютное большинство из вышеперечисленных уязвимостей служб эксплуатируется по механизму переполнения буфера. Переполнение буфера (buffer overflows) на сегодняшний день является самой распространенной уязвимостью в области безопасности ПО. Уязвимость подобного рода широко используется в механизмах проникновения компьютерных червей, таких, например, как CodeRed, Slammer, Lovesan, Zotob и т. д. Помимо червей, уязвимости на переполнение буфера активно используются и для организации атак типа DoS (Denial of Service – отказ в обслуживании), в частности DDoS (Distributed – распределительный), поэтому сомневаться в силе и могуществе данной уязвимости просто не имеет смысла.