Файл: Проблема небезопасности Webтехнологий.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.12.2023

Просмотров: 74

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


2.Технологические аспекты и процессы защиты информации



В общем случае информационную безопасность (ИБ) можно определить как "защищенность информации, ресурсов и поддерживающей инфраструктуры от случайных или преднамеренных воздействий естественного или искусственного характера, которые могут нанести неприемлемый ущерб субъектам информационных отношений – производителям, владельцам и пользователям информации и поддерживающей инфраструктуре" [1].

Информационная безопасность не сводится исключительно к защите от несанкционированного доступа к информации: это принципиально более широкое понятие, включающее защиту информации, технологий и систем.

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

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

• конфиденциальности. Засекреченная информация должна быть доступна только тому, кому она предназначена. Такую информацию невозможно получить, прочитать, изменить, передать, если на это нет соответствующих прав доступа;

• доступности (готовности). Это возможность за приемлемое время получить требуемую информационную услугу, т.е. данные, информация и соответствующие службы, автоматизированные сервисы, средства взаимодействия и связи должны быть доступны и готовы к работе всегда, когда в них возникает необходимость [6, с.74].

Деятельность по обеспечению информационной безопасности направлена на то, чтобы не допустить, предотвратить или нейтрализовать следующие действия:

• несанкционированный доступ к информационным ресурсам (НСД, UnauthorizedAccess – UAA);

• искажение, частичную или полную утрату конфиденциальной информации;

• целенаправленные действия (атаки) по разрушению целостности программных комплексов, систем данных и информационных структур;

• отказы и сбои в работе программно-аппаратного и телекоммуникационного обеспечения.

Исходя из подзадач, реализацию которых требует атака, выделяют следующие способы борьбы с атаками подобного типа: Корректировка исходных кодов программы для устранения уязвимостей. Переполнение буфера происходит, прежде всего, из-за неправильного алгоритма работы программы, который не предусматривает проверок выхода за границы буферов. Также возможно применение специальных утилит автоматического поиска уязвимостей в исходном коде программы. Указанные методы и средства позволяют создавать более защищенные программы, но не решают проблему в принципе, а лишь минимизируют число уязвимостей по переполнению буфера. Данный подход ориентирован непосредственно на разработчиков программного обеспечения и не является инструментом конечного пользователя или системного администратора. Использование неисполнимых буферов. Суть метода заключается в запрещении исполнения кода в сегментах данных и стека, т.е. параметры сегментов данных и стека содержат только атрибуты записи и чтения, но не исполнения. Однако ограничение на исполнение данных приводит к проблеме несовместимости. Исполняемый стек необходим для работы многим программам, так как на его основе генерируется код компиляторами, реализуются системные функции операционных систем, реализуется автоматическая генерация кода. Защита с использованием неисполнимых буферов
предотвратит только атаки с внедрением кода, но не поможет при других видах атак. Применение проверок выхода за границы. В основе данного метода лежит выполнение проверок выхода за границы переменной при каждом обращении к ней. Это предотвращает все возможные атаки по переполнению буфера, так как полностью исключает само переполнение. Однако, у этого решения есть существенный недостаток - значительное (до 30 раз) снижение производительности программы. Применение проверок целостности. Решение, основанное на данном методе, получено благодаря проекту Synthetix. Цель Synthetix - специализация кода для увеличения производительности операционных систем. При этом вводится понятие так называемого квази-постоянства (Quasi-invariant), т.е. состояния среды, которое неизменно в определенных рамках. Такое квази-постоянство позволяет устранить ряд избыточного кода проверки выполнения различных условий. В рамках проекта реализован набор утилит, в том числе обеспечивающих контроль и защиту квази-постоянных состояний среды. К их числу относятся StackGuard и PointGuard. Использование специализированных программ. Рабочие станции конечных пользователей очень уязвимы для вирусов и троянских коней. Вирусами называются вредоносные программы, которые внедряются в другие программы для выполнения определенной нежелательной функции на рабочей станции конечного пользователя. В качестве примера можно привести вирус, который прописывается в файле command.com (главном интерпретаторе систем Windows) и стирает другие файлы, а также заражает все другие найденные им версии command.com. "Троянский конь" - это не программная вставка, а настоящая программа, которая выглядит как полезное приложение, а на деле выполняет вредную роль. Примером типичного "троянского коня" является программа, которая выглядит, как простая игра для рабочей станции пользователя. Однако пока пользователь играет в игру, программа отправляет свою копию по электронной почте каждому абоненту, занесенному в адресную книгу этого пользователя.

Все абоненты получают по почте игру, вызывая ее дальнейшее распространение. Сниффер пакетов представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode (в этом режиме все пакеты, полученные по физическим каналам, сетевой адаптер отправляет приложению для обработки). При этом сниффер перехватывает все сетевые пакеты, которые передаются через определенный домен. В настоящее время снифферы работают в сетях на вполне законном основании. Они используются для диагностики неисправностей и анализа трафика. Однако ввиду того, что некоторые сетевые приложения передают данные в текстовом формате (telnet, FTP, SMTP, POP3 и т.д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли). Перехват имен и паролей создает большую опасность, так как пользователи часто применяют один и тот же логин и пароль для множества приложений и систем. Многие пользователи вообще имеют один пароль для доступа ко всем ресурсам и приложениям. Если приложение работает в режиме клиент/сервер, а аутентификационные данные передаются по сети в читаемом текстовом формате, эту информацию с большой вероятностью можно использовать для доступа к другим корпоративным или внешним ресурсам. [2] Rootkit - программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе. Большинство из реализаций современных rootkit могут прятать от пользователя файлы, папки и ключи реестра, скрывать запущенные программы, системные службы, драйверы и сетевые соединения. Т.е. злоумышленник имеет возможность создавать файлы и ключи реестра, запускать программы, работать с сетью и эта активность не будет обнаружена администратором. Кроме того, rootkits могут скрывать сетевую активность путем модификации стека протоколов TCP/IP. Так, например rootkit Hacker Defender перехватывает вызовы Winsock и может обрабатывать сетевой трафик до того как он будет передан приложению. Т.е. если в системе установлен Web сервер, и соответственно открыт 80й порт, rootkit может использовать его для взаимодействия с взломщиком, в то время как другие пользователи будут без проблем работать по протоколу HTTP. [1] Выделяют следующие способы борьбы с этими видами атак: Использование антивирусных средств и регулярное обновление их сигнатур. Может решить проблему с троянскими программами, вирусами, почтовыми червями, но не решит проблему снифферов и rootkit-ов. Шифрование передаваемых данных. Проблема не решает полностью проблему снифферов, однако, противник перехватывает данные, которые нельзя свободно прочитать. Для их расшифровки требуется время. Использование антиснифферов (Например, AntiSniff или PromiScan). Использование межсетевых экранов. Использование антируткитов. Сетевая разведка. Сетевой разведкой называется сбор информации о сети с помощью общедоступных данных и приложений. При подготовке атаки против какой-либо сети злоумышленник, как правило, пытается получить о ней как можно больше информации. Сетевая разведка проводится в форме запросов DNS, эхо-тестирования (ping sweep) и сканирования портов. Запросы DNS помогают понять, кто владеет тем или иным доменом и какие адреса этому домену присвоены. Эхо-тестирование (ping sweep) адресов, раскрытых с помощью DNS, позволяет увидеть, какие хосты реально работают в данной среде. Получив список хостов, злоумышленник использует средства сканирования портов, чтобы составить полный список услуг, поддерживаемых этими хостами. И, наконец, злоумышленник анализирует характеристики приложений, работающих на хостах. В результате добывается информация, которую можно использовать для взлома. [2] Способы борьбы с данной атакой: Отключение эхо ICMP и эхо-ответ на периферийных маршрутизаторах. Это, однако, приведет к потере данных необходимых для диагностики сетевых сбоев. Использование систем обнаружения вторжений (IDS). IP-спуфинг. IP-спуфинг происходит, когда злоумышленник, находящийся внутри корпорации или вне ее выдает себя за санкционированного пользователя. Это можно сделать двумя способами. Во-первых, злоумышленник может воспользоваться IP-адресом, находящимся в пределах диапазона санкционированных IP-адресов, или

авторизованным внешним адресом, которому разрешается доступ к определенным сетевым ресурсам. Атаки IP-спуфинга часто являются отправной точкой для прочих атак. Классический пример - атака DoS, которая начинается с чужого адреса, скрывающего истинную личность злоумышленника. Обычно IP-спуфинг ограничивается вставкой ложной информации или вредоносных команд в обычный поток данных, передаваемых между клиентским и серверным приложением или по каналу связи между одноранговыми устройствами. Для двусторонней связи злоумышленник должен изменить все таблицы маршрутизации, чтобы направить трафик на ложный IP-адрес. Некоторые злоумышленники, однако, даже не пытаются получить ответ от приложений. Если главная задача состоит в получении от системы важного файла, ответы приложений не имеют значения. Если же злоумышленнику удается поменять таблицы маршрутизации и направить трафик на ложный IP-адрес, злоумышленник получит все пакеты и сможет отвечать на них так, будто он является санкционированным пользователем. [2] Угрозу спуфинга можно ослабить (но не устранить) с помощью следующих мер: Контроль доступа. Самый простой способ предотвращения IP-спуфинга состоит в правильной настройке управления доступом. Чтобы снизить эффективность IP-спуфигна, настройте контроль доступа на отсечение любого трафика, поступающего из внешней сети с исходным адресом, который должен располагаться внутри вашей сети. Если санкционированными являются и некоторые адреса внешней сети, данный метод становится неэффективным. Фильтрация RFC 2827. Вы можете пресечь попытки спуфинга чужих сетей пользователями вашей сети (и стать добропорядочным "сетевым гражданином"). Для этого необходимо отбраковывать любой исходящий трафик, исходный адрес которого не является одним из IP-адресов вашей организации. Этот тип фильтрации, известный под названием "RFC 2827", может выполнять и провайдер. В результате отбраковывается весь трафик, который не имеет исходного адреса, ожидаемого на определенном интерфейсе. Использование криптографической аутентификации. Атака типа man-in-the-middle. Для атаки типа Man-in-the-Middle злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера в любую другую сеть, может, к примеру, получить сотрудник этого провайдера. Для атак этого типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Атаки проводятся с целью кражи информации, перехвата текущей сессии и получения доступа к частным сетевым ресурсам, для анализа трафика и получения информации о сети и ее пользователях, для проведения атак типа DoS, искажения передаваемых данных и ввода несанкционированной информации в сетевые сессии. [2] Способы борьбы с данной атакой: Использование шифрования данных Инъекция. SQL-инъекция. SQL-инъекция – это атака, в ходе которой изменяются параметры SQL-запросов к базе данных. В результате запрос приобретает совершенно иной смысл, и в случае недостаточной фильтрации входных данных способен не только произвести вывод конфиденциальной информации, но и изменить/удалить данные. [4] Способы защиты от данной атаки (используются исключительно администраторами ресурсов): Для целых и дробных величин, перед их использованием в запросе достаточно привести величину к нужному типу. $id=(int)$id; $total=(float)$total; Вместо этого можно вставить систему слежения за тестированием на SQL инъекцию. if((string)$id<>(string)(int)$id) { die('ops'); } Для строковых параметров, которые не используются в like, regexp и тд, экранируем кавычки. $str=addslashes($str); или, лучше, mysql_escape_string($str) В строках, которые предполагается использовать внутри like, regexp и тд, необходимо так же заэкранировать специальные символы, применяющиеся в этих операторах, если это необходимо. В противном случае, можно задокументировать использование этих символов. PHP-инъекция. PHP-инъекция - один из способов взлома веб-сайтов, работающих на PHP. Он заключается в том, чтобы внедрить специально сформированный злонамеренный сценарий в код веб-приложения на серверной стороне сайта, что приводит к выполнению произвольных команд. [5] Способы борьбы с данной атакой (используются исключительно администраторами ресурсов): Проверять, не содержит ли переменная $name посторонние символы: Проверять, что $name присвоено одно из допустимых значений: Межсайтовый скриптинг или XSS-атака. XSS атака – это атака на уязвимость, которая существует на сервере, позволяющая внедрить в генерируемую сервером HTML-страницу некий произвольный код, в котором может быть вообще все что угодно и передавать этот код в качестве значения переменной, фильтрация по которой не работает, то есть сервер не проверяет данную переменную на наличие в ней запрещенных знаков –, <, >, ’, ”. Значение данной переменной передается от генерируемой HTML-страницы на сервер в скрипт, ее вызвавший путем отправки запроса. А далее начинается самое интересное для Злоумышленника. РНР-скрипт в ответ на данный запрос генерирует HTML-страницу, в которой отображаются значения требующихся злоумышленнику переменных, и отправляет данную страницу на браузер злоумышленника. То есть, говоря проще, XSS атака – это атака с помощью уязвимостей на сервере на компьютеры клиентов. XSS атака чаще всего используется для кражи Cookies (или куки, как их произносят по-русски). В них хранится информация о сессии пребывания пользователя на сайтах, что и бывает нужным злоумышленникам для перехвата управления личными данными пользователя на сайте в пределах, пока сессия не будет закрыта сервером, на котором размещен сайт. Помимо этого в Cookies
хранится зашифрованный пароль, под которым пользователь входит на данный сайт, и при наличии необходимых утилит и желания злоумышленникам не доставляет особого труда расшифровать данный пароль.

3. Проблема небезопасности Web-технологий
В едином информационном пространстве государственной структуры или коммерческой фирмы должны быть созданы механизмы и инструмент аутентификации для проверки подлинности пользователя, сообщения и контента. Таким образом, должна быть создана система информационной безопасности, которая включала бы необходимый комплекс мероприятий и технических решений по защите:

• от нарушения функционирования информационного пространства путем исключения воздействия на информационные каналы и ресурсы;

• несанкционированного доступа к информации путем обнаружения и ликвидации попыток по использованию ресурсов информационного пространства, приводящих к нарушению его целостности;

• разрушения встраиваемых средств защиты с возможностью выявления неправомочности действий пользователей и обслуживающего персонала;

• внедрения программных "вирусов" и "закладок" в программные продукты и технические средства.

Особо следует отметить задачи обеспечения безопасности разрабатываемых и модифицируемых систем в интегрированной информационной среде, так как в процессе модификации КИС неизбежно возникновение нештатных ситуаций незащищенности системы (так называемые "дыры в системе") [3, с.89].

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

Следующим этапом по разработке комплексной системы информационной безопасности служит приобретение, установка и настройка средств и механизмов защиты информации. К таким средствам можно отнести системы защиты информации от несанкционированного доступа, системы криптографической защиты, межсетевые экраны (брандмауэры, файерволы), средства анализа защищенности и др. Для правильного и эффективного применения установленных средств защиты необходим квалифицированный персонал [2, с.39].

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


Любое предприятие, получающее ресурсы, в том числе и информационные, перерабатывает их, чтобы в конечном итоге реализовать на рынке собственный коммерческий продукт. При этом оно порождает специфическую внутреннюю среду, которая формируется усилиями персонала всех структурных подразделений, а также техническими средствами и технологическими процессами, экономическими и социальными отношениями как внутри предприятия, так и во взаимодействии с внешней средой[1, с.21].

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

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

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

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