Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008 |
Безопасность в Веб-разработке
Презентацию к данной лекции Вы можете скачать здесь.
17.1. Безопасность в Интернете
17.1.1. Информационная безопасность
Интернет теперь доступен едва ли не каждому. Многие хранят свою личную информацию в Сети, пользуются системами Интернет-банкинга, оплачивают услуги сотовой связи, зарабатывают деньги в Интернете.
Однако вместе с колоссальным ростом популярности Интернета возникает беспрецедентная угроза разглашения персональных данных, критически важных корпоративных ресурсов, государственных тайн и т.д. Каждый день хакеры подвергают угрозе эти ресурсы, пытаясь получить к ним доступ с помощью специальных атак. Эти атаки становятся все более изощренными и простыми в исполнении. Этому способствуют два основных фактора. Во-первых, это повсеместное проникновение интернета. Во-вторых, это всеобщее распространение простых в использовании операционных систем и сред разработки.
Приведем несколько определений:
Безопасность информации (данных) – состояние защищенности информации (данных), при котором обеспечены ее (их) конфиденциальность, доступность и целостность [1].
Информационная безопасность – защита конфиденциальности, целостности и доступности информации [2]. В качестве стандартной модели безопасности часто приводят модель из трех категорий:
- конфиденциальность (confidentiality) – состояние информации, при котором доступ к ней осуществляют только субъекты, имеющие на него право [3];
- целостность (integrity) – избежание несанкционированной модификации информации [4];
- доступность (availability) – избежание временного или постоянного сокрытия информации от пользователей, получивших права доступа [5].
Выделяют и другие не всегда обязательные категории модели безопасности:
- неотказуемость или апеллируемость (non-repudiation) – невозможность отказа от авторства;
- подотчетность (accountability) [3] – обеспечение идентификации субъекта доступа и регистрации его действий;
- достоверность (reliability) [6] – свойство соответствия предусмотренному поведению или результату;
- аутентичность или подлинность (authenticity) [6] – свойство, гарантирующее, что субъект или ресурс идентичны заявленным.
Точками приложения процесса защиты информации к информационной системе являются аппаратное обеспечение, программное обеспечение и обеспечение связи (коммуникации) (рис. 17.1) [7]. Сами процедуры (механизмы) защиты разделяются на защиту физического уровня, защиту персонала и организационный уровень.
Источник: Информационная безопасность [6]
Системный подход к описанию информационной безопасности предлагает выделить следующие составляющие информационной безопасности [8]:
- законодательная, нормативно-правовая и научная база;
- структура и задачи органов (подразделений), обеспечивающих безопасность ИТ;
- организационно-технические и режимные меры и методы (Политика информационной безопасности);
- программно-технические способы и средства обеспечения информационной безопасности.
Рассмотрим подробнее каждую из составляющих информационной безопасности:
Законодательная, нормативно-правовая и научная база
В Российской Федерации к нормативно-правовым актам в области информационной безопасности относятся [9]:
- Акты федерального законодательства:
- Международные договоры РФ;
- Конституция РФ;
- Законы федерального уровня (включая федеральные конституционные законы, кодексы);
- Указы Президента РФ;
- Постановления правительства РФ;
- Нормативные правовые акты федеральных министерств и ведомств;
- Нормативные правовые акты субъектов РФ, органов местного самоуправления и т. д.
К нормативно-методическим документам можно отнести
- Методические документы государственных органов России:
- Доктрина информационной безопасности РФ;
- Руководящие документы ФСТЭК (Гостехкомиссии России);
- Приказы ФСБ;
- Стандарты информационной безопасности, из которых выделяют:
- Международные стандарты;
- Государственные (национальные) стандарты РФ;
- Рекомендации по стандартизации;
- Методические указания.
Организационно-технические и режимные меры и методы
Для описания технологии защиты информации конкретной информационной системы обычно строится так называемая "Политика информационной безопасности" или " Политика безопасности рассматриваемой информационной системы".
Приведем несколько определений:
Политика безопасности (информации в организации) (Organizational security policy) – совокупность документированных правил, процедур, практических приемов или руководящих принципов в области безопасности информации, которыми руководствуется организация в своей деятельности [1].
Политика безопасности информационно-телекоммуникационных технологий (ІСТ security policy) – правила, директивы, сложившаяся практика, которые определяют, как в пределах организации и ее информационно-телекоммуникационных технологий управлять, защищать и распределять активы, в том числе критичную информацию [6].
Для построения Политики информационной безопасности рекомендуется отдельно рассматривать следующие направления защиты информационной системы [8]:
- защита объектов информационной системы;
- защита процессов, процедур и программ обработки информации;
- защита каналов связи;
- подавление побочных электромагнитных излучений;
- управление системой защиты.
При этом по каждому из перечисленных выше направлений "Политика информационной безопасности" должна описывать следующие этапы создания средств защиты информации:
- определение информационных и технических ресурсов, подлежащих защите;
- выявление полного множества потенциально возможных угроз и каналов утечки информации;
- проведение оценки уязвимости и рисков информации при имеющемся множестве угроз и каналов утечки;
- определение требований к системе защиты;
- осуществление выбора средств защиты информации и их характеристик;
- внедрение и организация использования выбранных мер, способов и средств защиты;
- осуществление контроля целостности и управление системой защиты.
Политика информационной безопасности оформляется в виде документированных требований на информационную систему. Документы обычно разделяют по уровням описания (детализации) процесса защиты.
Документы верхнего уровня "Политики информационной безопасности" отражают позицию организации к деятельности в области защиты информации, ее стремление соответствовать государственным, международным требованиям и стандартам в этой области. Подобные документы могут называться "Концепция ИБ", "Регламент управления ИБ", "Политика ИБ", "Технический стандарт ИБ" и т. п. Область распространения документов верхнего уровня обычно не ограничивается, однако данные документы могут выпускаться и в двух редакциях – для внешнего и внутреннего использования.
Согласно ГОСТ Р ИСО/МЭК 17799—2005 [2], на верхнем уровне "Политики информационной безопасности" должны быть оформлены следующие документы: "Концепция обеспечения ИБ", "Правила допустимого использования ресурсов информационной системы", "План обеспечения непрерывности бизнеса".
К среднему уровню относят документы, касающиеся отдельных аспектов информационной безопасности. Это требования на создание и эксплуатацию средств защиты информации, организацию информационных и бизнес-процессов организации по конкретному направлению защиты информации. Например: Безопасности данных, Безопасности коммуникаций, Использования средств криптографической защиты, Контентная фильтрация и т. п. Подобные документы обычно издаются в виде внутренних технических и организационных политик (стандартов) организации. Все документы среднего уровня политики информационной безопасности конфиденциальны.
В политику информационной безопасности нижнего уровня входят регламенты работ, руководства по администрированию, инструкции по эксплуатации отдельных сервисов информационной безопасности.
Программно-технические способы и средства обеспечения информационной безопасности
В литературе предлагается следующая классификация средств защиты информации [6]:
- Средства защиты от несанкционированного доступа (НСД):
- Системы анализа и моделирования информационных потоков (CASE-системы);
- Системы мониторинга сетей:
- Анализаторы протоколов ;
- Антивирусные средства ;
- Межсетевые экраны ;
-
Криптографические средства:
- шифрование;
- цифровая подпись;
- Системы резервного копирования ;
-
Системы бесперебойного питания:
- источники бесперебойного питания;
- резервирование нагрузки;
- генераторы напряжения;
- Системы аутентификации:
- Средства предотвращения взлома корпусов и краж оборудования ;
- Средства контроля доступа в помещения ;
-
Инструментальные средства анализа систем защиты:
- мониторинговый программный продукт.
17.1.2. Виды угроз и способы борьбы с ними
Сетевые атаки столь же разнообразны, как и системы, против которых они направлены. Некоторые атаки отличаются большой сложностью. Другие может осуществить обычный оператор, даже не предполагающий, какие последствия может иметь его деятельность [10]. Для оценки типов атак необходимо знать некоторые ограничения, изначально присущие протоколу TPC/IP. Сеть Интернет создавалась для связи между государственными учреждениями и университетами в помощь учебному процессу и научным исследованиям. Создатели этой сети не подозревали, насколько широко она распространится. В результате, в спецификациях ранних версий интернет-протокола (IP) отсутствовали требования безопасности. Именно поэтому многие реализации IP являются изначально уязвимыми. Через много лет, получив множество рекламаций (RFC – Request for Comments), наконец, стали внедряться средства безопасности для IP. Однако ввиду того, что изначально средства защиты для протокола IP не разрабатывались, все его реали зации стали дополняться разнообразными сетевыми процедурами, услугами и продуктами, снижающими риски, присущие этому протоколу.
Далее кратко обсудим классификацию типов атак, которые обычно применяются в Интернете, и перечислим способы борьбы с ними [10, 11, 12, 13].
17.1.2.1. Аутентификация (Authentication)
Раздел, посвященный аутентификации описывает атаки, направленные на используемые Веб-приложением методы проверки идентификатора пользователя, службы или приложения.
17.1.2.1.1. Подбор (Brute Force)
Описание
Подбор – автоматизированный процесс проб и ошибок, использующийся для того, чтобы угадать имя пользователя, пароль, номер кредитной карточки, ключ шифрования и т.д.
Существует два вида подбора: прямой и обратный. При прямом подборе используются различные варианты пароля для одного имени пользователя. При обратном перебираются различные имена пользователей, а пароль остается неизменным.
Решение
Традиционным методом борьбы с подбором пароля является, ограничение на количество ошибочных вводов пароля. Существует множество вариантов реализаций этой идеи, от самых простых – статическое ограничение, например не более трех ошибок, до сложно реализованных динамических, с увеличивающимся промежутком времени запрета между запросами.
17.1.2.1.2. Недостаточная аутентификация (Insufficient Authentication)
Описание
Эта уязвимость возникает, когда Веб-сервер позволяет атакующему получать доступ к важной информации или функциям сервера без должной аутентификации. Интерфейсы администрирования через Веб – яркий пример критичных систем. В зависимости от специфики приложения, подобные компоненты не должны быть доступны без должной аутентификации.
Пример
Многие Веб-приложения по умолчанию используют для административного доступа ссылку в корневой директории сервера ( /admin/ ). Обычно ссылка на эту страницу не фигурирует в содержимом сервера, однако страница доступна с помощью стандартного браузера. Поскольку пользователь или разработчик предполагает, что никто не воспользуется этой страницей, так как ссылки на нее отсутствует, зачастую реализацией аутентификации пренебрегают. И для получения контроля над сервером злоумышленнику достаточно зайти на эту страницу.
Решение
Решение достаточно просто – при входе в администраторскую часть сайта, пользователь обязан провести дополнительную аутентификацию, не смотря на общую на сайте.
17.1.2.1.3. Небезопасное восстановление паролей (Weak Password Recovery Validation).
Описание
Эта уязвимость возникает, когда Веб-сервер позволяет атакующему несанкционированно получать, модифицировать или восстанавливать пароли других пользователей.
Пример
Многие серверы требуют от пользователя указать его email в комбинации с домашним адресом и номером телефона. Эта информация может быть легко получена из сетевых справочников. В результате, данные, используемые для проверки, не являются большим секретом. Кроме того, эта информация может быть получена злоумышленником с использованием других методов, таких как межсайтовое выполнение сценариев или фишинг (phishing).
Решение
Наиболее эффективным является следующее решение: пользователь нажимает кнопку "Восстановить пароль" и попадает на страницу, где у него спрашивают его логин в системе и почтовый ящик, указанный при регистрации. Далее на почтовый ящик высылается уведомление о запросе восстановления пароля и уникальная псевдослучайно сгенерированная ссылка на страницу смены пароля. В таком случае пароль изменить может действительно только владелец почтового ящика, на который зарегистрирован аккаунт.