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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Работа № 81947


Наименование:


Курсовик Уязвимости Windows XP

Информация:

Тип работы: Курсовик. Предмет: Информатика. Добавлен: 20.11.2014. Сдан: 2011. Страниц: 58. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Оглавление

1 Определение уязвимости компьютерной системы………....……...………………….3

2 Классификация уязвимостей……………….…………………………………………...4

3 Уязвимости Windows XP…………………….………………………………………….8
·20 критических уязвимостей……………………………………………………..8
·Уязвимости Microsoft Windows XP(Service Pack 3)……………………….....15

4 Борьба с уязвимостями Windows XP………………………………………………….55


Определение уязвимости
В компьютерной безопасности < wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C>, термин уязвимость (англ. < wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA> vulnerability) используется для обозначения недостатка в системе, используя который, можно нарушить её целостность и вызвать неправильную работу. Уязвимость может быть результатом ошибок программирования < wiki/%D0%91%D0%B0%D0%B3>, недостатков, допущенных при проектировании системы, ненадежных паролей < wiki/%D0%9F%D0%B0%D1%80%D0%BE%D0%BB%D1%8C>, вирусов < wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B8%D1%80%D1%83%D1%81> и других вредоносных программ < wiki/%D0%92%D1%80%D0%B5%D0%B4%D0%BE%D0%BD%D0%BE%D1%81%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0>, скриптовых, а также SQL-инъекций < wiki/%D0%98%D0%BD%D1%8A%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_SQL>. Некоторые уязвимости известны только теоретически, другие же активно используются и имеют известные эксплойты < wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%BB%D0%BE%D0%B9%D1%82>.
Обычно уязвимость позволяет атакующему «обмануть» приложение - заставить его совершить действие, на которое у того не должно быть прав. Это делается путем внедрения каким-либо образом в программу данных или кода в такие места, что программа воспримет их как «свои». Некоторые уязвимости появляются из-за недостаточной проверки данных, вводимых пользователем, и позволяют вставить в интерпретируемый < wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80> код произвольные команды (SQL-инъекция < wiki/SQL-%D0%B8%D0%BD%D1%8A%D0%B5%D0%BA%D1%86%D0%B8%D1%8F>, XSS < wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3>). Другие уязвимости появляются из-за более сложных проблем, таких как запись данных в буфер без проверки его границ (переполнение буфера < wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0>).
Метод информирования об уязвимостях является одним из пунктов спора в сообществе компьютерной безопасности. Некоторые специалисты отстаивают немедленное полное раскрытие информации об уязвимостях, как только они найдены. Другие советуют сообщать об уязвимостях только тем пользователям, которые подвергаются наибольшему риску, а полную информацию публиковать лишь после задержки или не публиковать совсем. Такие задержки могут позволить тем, кто был извещён, исправить ошибку при помощи разработки и применения патчей < wiki/%D0%9F%D0%B0%D1%82%D1%87>, но также могут и увеличивать риск для тех, кто не посвящён в детали.
Существуют инструментальные средства, которые могут помочь в обнаружении уязвимостей в системе. Хотя эти инструменты могут обеспечить аудитору хороший обзор возможных уязвимостей, существующих в сети, они не могут заменить участие человека в их оценке.
Для обеспечения защищённости и целостности системы необходимо постоянно следить за ней: устанавливать обновления, и использовать инструменты, которые помогают противодействовать возможным атакам. Уязвимости обнаруживались во всех основных операционных системах, включая Microsoft Windows < wiki/Microsoft_Windows>, Mac OS < wiki/Mac_OS>, различные варианты UNIX < wiki/UNIX> (в том числе GNU/Linux < wiki/GNU/Linux>) и OpenVMS < wiki/OpenVMS>. Так как новые уязвимости находят непрерывно, единственный путь уменьшить вероятность их использования против системы - постоянная бдительность.
Классификация уязвимостей
Проблема уязвимостей и их обнаружения исследуется очень давно, и за время ее существования предпринимались различные попытки классифицировать уязвимости по различным критериям.
Каждая организация приводила и обосновывала свою классификацию. Однако ни одна классификация не может быть категоричной.
Для устранения неразберихи с именованием уязвимостей и атак в 1999 году компания MITRE Corporation ( ww.mitre.org) предложила решение, независимое от различных производителя средств поиска уязвимостей. Это решение было реализовано в виде базы данных CVE (Common Vulnerability Enumeration), которая затем была переименована в Common Vulnerabilities and Exposures. Это позволило всем специалистам и производителям разговаривать на одном языке. Так, например, различные названия одной и той же уязвимости (CA-96.06.cgi_example_code, HTTP phf Attack, http-cgi-phf, phf CGI allows remote command execution, PHF Attacks - Fun and games for the whole family, #107 - cgi-phf, #3200 - WWW phf attack, Vulnerability in NCSA/Apache Example Code, http_escshellcmd, #180 HTTP Server CGI example code compromises http server) получили единый код CVE-1999-0067.
В разработке базы данных CVE помимо экспертов MITRE принимали участие специалисты многих известных компаний и организаций. Например, ISS, Cisco, BindView, Axent, NFR, L-3, CyberSafe, CERT, Carnegie Mellon University, институт SANS, UC Davis Computer Security Lab, CERIAS и т.д. О своей поддержке базы CVE заявили компании Internet Security Systems, Cisco, Axent, BindView, IBM и другие. Однако, несмотря на столь привлекательную инициативу, база данных CVE пока не получила широкого распространения среди производителей коммерческих продуктов.
В настоящее время используется следующая классификация уязвимостей компьютерных систем (КС), отражающая этапы ее жизненного цикла (табл. 1).



Таблица 1
Этапы жизненного цикла КС Категории уязвимостей КС
Проектирование КС Уязвимости проектирования
Реализация КС Уязвимости реализации
Эксплуатация КС Уязвимости конфигурации

Наиболее опасны уязвимости проектирования, которые обнаруживаются и устраняются с большим трудом. В этом случае, уязвимость свойственна проекту или алгоритму и, следовательно, даже совершенная его реализация (что в принципе невозможно) не избавит от заложенной в нем уязвимости.
Например, уязвимость стека протоколов TCP/IP. Недооценка требований по безопасности при создании этого стека протоколов привела к тому, что не проходит месяца, чтобы не было объявлено о новой уязвимости в протоколах стека TCP/IP.
Например, 7 и 8 февраля 2000 года было зафиксировано нарушение функционирования таких популярных и ведущих Internet-серверов, как Yahoo ( /www.ebay.com), Amazon ( /www.buy.com) и CNN ( /www.zdnet.com), Datek ( /www.etrade.com). Проведенное ФБР расследование показало, что указанные сервера вышли из строя из-за огромного числа направленных им запросов, что и привело к тому, что эти сервера не могли обработать трафик такого объема и вышли из строя. Например, организованный на сервер Buy трафик превысил средние показатели в 24 раза, и в 8 раз превысил максимально допустимую нагрузку на сервера, поддерживающие работоспособность Buy. Раз и навсегда устранить эти недостатки уже невозможно - существуют только временные или неполные меры.
Однако бывают и исключения. Например, внесение в проект корпоративной сети множества модемов, облегчающих работу персонала, но существенно усложняющих работу службы безопасности. Это приводит к появлению потенциальных путей обхода межсетевого экрана, обеспечивающего защиту внутренних ресурсов от несанкционированного использования. И обнаружить, и устранить эту уязвимость достаточно легко.

Смысл уязвимостей второй категории (уязвимости реализации) заключается в появлении ошибки на этапе реализации в программном или аппаратном обеспечении корректного с точки зрения безопасности проекта или алгоритма. Яркий пример такой уязвимости - "переполнение буфера" ("buffer overflow") во многих реализациях программ, например, sendmail или Internet Explorer. Обнаруживаются и устраняются такого рода уязвимости относительно легко - путем обновления исполняемого кода или изменения исходного текста уязвимого ПО. Еще одним примером уязвимостей реализации является случай с компьютерами Tandem, произошедший 1 ноября 1992 г. и 7 января 1993 г. В 3 часа ночи функционирование большинства компьютеров Tandem во всем мире было нарушено по причине сбоя в подсистеме BASE23 Nucleus, приводящего к переполнению переменной микрокода таймера при определении времени. Из-за этой ошибки значения системных часов было сброшено на декабрь 1983 г., что иногда приводило к неправильной интерпретации данных в различных финансовых приложениях.
Последняя причина возникновения уязвимостей - ошибки конфигурации программного или аппаратного обеспечения. Наряду с уязвимостями реализации они являются самой распространенной категорией уязвимостей. Существует множество примеров таких уязвимостей. К их числу можно отнести доступный, но не используемый на узле сервис Telnet, использование "слабых" паролей или паролей менее 6 символов, учетные записи (accounts) и пароли, остановленные по умолчанию (например, SYSADM или DBSNMP в СУБД Oracle), и т.д. Обнаружить и исправить такие уязвимости проще всего (Таблица 3).

Таблица 3. Возможности по обнаружению и устранению уязвимостей
Категория уязвимости Обнаружение /Устранение
Уязвимости проектирования Трудно и долго Трудно и долго (иногда невозможно)
Уязвимости реализации Относительно трудно и долго Легко и относительно долго
Уязвимости конфигурации Легко и быстро Легко и быстро


Реальным примером использования такой уязвимости явился взлом базы данных компании Western Union, специализирующейся на денежных переводах, которая 8 сентября 2000 г. объявила о том, что из-за "человеческой ошибки" неизвестному злоумышленнику удалось скопировать информацию о кредитных карточках около 15,7 тысяч клиентов ее Web-сайта. Представитель Western Union сообщил, что взлом произошел, когда во время проведения регламентных работ были открыты системные файлы, доступ к которым во время штатной работы сайта имеют только администраторы. Western Union настаивала, что это не проблема архитектуры системы защиты, это была ошибка персонала.


Уязвимости Windows XP
Для того, чтобы немного четче представлять, что откуда взялось и кому все это нужно, будет более чем уместно привести "повесть временных лет" горячих отчетов SANS. Четыре года назад институт SANS (SANS Institute) и Национальный центр защиты инфраструктуры США (National Infrastructure Protection Center - NIPC) совместно с FBI представили документ, который по сути своей являлся самым что ни на есть настоящим отчетом, в котором было озвучено 10 критических (на тот момент) уязвимостей, касающихся интернет-безопасности. Данный отчет за короткое время приобрел статус авторитетного руководства, которое активно использовалось различными конторами для устранения дыр ПО. Отчет содержал свежую информацию об уязвимых сервисах, компрометирующихся такой киберзаразой своего времени, как Blaster, Slammer и Code Red. В последующие годы отчет трансформировался в список уже из 20 критических уязвимостей, каковым и является на сегодняшний день.
Уязвимости Windows-систем
Сервисы Windows. Семейство операционных систем платформы Windows характеризуется наличием самых разнообразных сервисов, многие из которых обеспечивают нормальную работу данной ОС как сетевой. К чему это мы? Наверное, к тому, что уязвимости сервисов Windows как таковых - довольно распространенное явление - можно даже сказать больше: дыры в сервисах как находили, так и находят и, несомненно, будут находить, благо сервисов у Windows предостаточно. Большинство сервисных уязвимостей эксплуатируются посредством переполнения буфера (уязвимости переполнения буфера - buffer overflow vulnerabilities), причем большинство атак подобного рода относят к категории удаленных. Удивляться этому факту особо не приходится, учитывая, что подобные сервисы - сетевые. Небольшое лирическое отступление: наверное, многим из читателей доводилось слышать, что чем больше открытых портов в системе, тем она более уязвима. И тут должен возникнуть закономерный вопрос: как же можно минимизировать количество открытых портов? Просто. Все дело в том, что порт, по сути, представляет собой какое-либо сетевое приложение, взаимодействующее с подобными себе посредством сетевого интерфейса (очень упрощенно). Чаще всего какому-либо открытому порту соответствует определенное приложение (в нашем случае служба). Из вышесказанного следует, что минимизировать количество открытых портов можно, минимизировав количество запущенных служб. В качестве горячего примера, иллюстрирующего вышесказанное, уместно привести следующие скриншоты:
Рис. 1. Открытые порты (cmd/netstat -an). Порт 123 открыт
При отключении службы времени Windows автоматически закрывается соответствующий ему порт

Рис. 2. Порт 123 закрыт

Естественно, в данном случае главное - не переусердствовать, для чего очень полезно ознакомиться с описанием служб Windows. Вернемся к SANS. Согласно последнему отчету список уязвимых служб таков:
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)
*Буквенно-цифровое обозначение уязвимости соответствует оригинальной классификации Microsoft.
Уязвимости большинства перечисленных служб реализуются посредством удаленного выполнения кода либо отказа в обслуживании. Не вдаваясь в технические подробности, отмечу лишь, что абсолютное большинство вышеперечисленных уязвимостей служб эксплуатируется по механизму переполнения буфера (buffer overflows). Это на сегодняшний день является самой распространенной уязвимостью в области безопасности ПО. Баг подобного рода широко используется в механизмах проникновения компьютерных червей - таких, например, как CodeRed, Slammer, Lovesan, Zotob и т.д.). Помимо червей, уязвимости на переполнение буфера активно используются и для организации атак типа Dos (Denial of Service - отказ в обслуживании) - в частности, DDos (Distributed - распределительный), поэтому сомневаться в силе и могуществе данного бага просто не имеет смысла;)).
Небольшой исторический экскурс: самая первая атака с применением уязвимости на переполнение буфера имела место в вирусе-черве Морриса в далеком 1988 году. По этому поводу уместно привести следующие факты: червь, созданный студентом Корнельского университета, всего через 5 часов спустя активации умудрился инфицировать около 6000 компьютеров - по сегодняшним меркам не очень много, но не будем забывать про год! Среди пострадавших - такие монстры, как Агентство национальной безопасности и стратегического авиационного командования США, лаборатории NASA (в частности, в вычислительном центре NASA в Хьюстоне червь попытался взять под контроль систему запуска кораблей многоразового использования Space Shuttle). Помимо прочего, червь успел насытить свои низменные гастрономические пристрастия исследовательским центром ВМС США, Калифорнийским НИИ, крупнейшими университетами страны, а также рядом военных баз, клиник и частных компаний. С тех пор число багов на переполнение буфера только увеличилось.
Как же осуществляется это самое переполнение буфера? Попробую внести ясность. Допустим, что некая процедура хранения данных использует буфер. Буфер находится в стеке (в определенной области памяти, которая используется во время выполнения программы). Представим в стеке несколько переменных и адрес возврата функции - число, показывающее, куда передать управление после выполнения текущей процедуры. Каким образом программа записывает данные в N-й байт буфера? К адресу начала буфера прибавляется число N. Полученный результат и есть адрес, по которому будут записаны данные. Если размер буфера равен 1024 байта, а мы попытаемся "втиснуть" в него больше, то некоторая часть данных попадет в другую область памяти. Может произойти так, что адрес возврата функции затрется, и как следствие программа выполнит не тот код, на который указывал предыдущий адрес возврата. Рассмотрим поподробней особенности уязвимостей некоторых служб из вышеупомянутого списка:
Print Spooler Service (MS05-043). Уязвимость позволяет удаленному пользователю вызвать отказ в обслуживании или выполн........





Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы

* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.