Безопасность приложений

Материал из devopswiki
Версия от 13:50, 26 сентября 2012; Admin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Безопасность приложений (англ. Application Security) включает в себя меры, принимаемые на протяжении всего жизненного цикла приложении, чтобы предотвратить нарушения (уязвимости) политики безопасности приложений или основной системы из-за через недочётов в проектировании, разработке, развертывании, обновлении или обслуживании приложения.

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

Основные задачи

Организации, деятельность которых зависит от прикладных систем, должны решить ряд задач, связанных с безопасным использованием приложений:

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

Методология

Угрозой безопасности информации называется совокупность условий и факторов, создающих потенциальную или реально существующую опасность нарушения информационной безопасности (ИБ).

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

Таким образом, атака – это реализация угрозы.

В настоящее время существует классификация угроз по различным признакам, таким как: природа возникновения, цель воздействия на АС, степень преднамеренности возникновения, положение источника угрозы, этап доступа пользователей или программ к ресурсам АС и т.д.

Уязвимость – некая слабость, которую можно использовать для нарушения системы или содержащейся в ней информации (определение сформулировано на сонове документа ФСТЭК «Базовая модель угроз безопасности персональных данных при их обработке в информационных системах персональных данных»). Т.е. уязвимыми являются компоненты системы, наиболее подверженные к угрозам.

Классификация нарушений безопасности

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

  • операционная система (ОС)
  • сервер СУБД
  • веб-сервер
  • маршрутизатор

Нарушения безопасности ОС

К основным угрозам на ОС относятся:

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

К угрозам нарушения ИБ в ходе загрузки ОС относятся угроза перехвата паролей или идентификаторов, угроза модификации программного обеспечения базовой системы ввода/вывода (BIOS), угроза перехвата управления загрузкой с изменением необходимой технологической информации для получения НСД в операционную среду ИС.

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

Примерами угроз такого типа служат:

  • сканирование жестких дисков компьютера (нарушитель последовательно пытается обратиться к каждому файлу, хранимому на жестких дисках компьютерной системы);
  • сборка «мусора» (если средства ОС позволяют восстанавливать ранее удаленные объекты, злоумышленник может воспользоваться этой возможностью, чтобы получить доступ к объектам, удаленным другими пользователями: например, просмотрев содержимое их «мусорных» корзин);
  • превышение полномочий (используя ошибки в программном обеспечении или в администрировании операционной системы, злоумышленник получает полномочия, превышающие полномочия, предоставленные ему согласно действующей политике безопасности);угрозы, реализация которых определяется тем, какая из прикладных программ запускается пользователем, или фактом запуска любой из прикладных программ. Большая часть таких угроз – это внедрение вредоносных программ.

Нарушения безопасности СУБД

К угрозам СУБД относятся: SQL-Injection («инъекция в SQL-запросы»). Реализация угрозы такого типа позволяет нарушителю выполнять несанкционированные операции над содержимым баз данных SQL-серверов путем вставки дополнительных команд в SQL-запросы, что приведет к его искажению к СУБД. Данная атака может применяться со следующими целями:

  • получение несанкционированного доступа к ИС. В ряде случаев атака SQL-Injection может иметь место в программах, которые выполняют функции идентификации и аутентификации пользователя в ИС;
  • несанкционированное извлечение данных из СУБД;
  • несанкционированное изменение данных в СУБД;
  • нарушение работоспособности SQL-сервера.

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

В самом коде системы управления базой данных могут быть ошибки анализатора и проблемы преобразования чисел со знаком и без знака, которые приводят к проблемам переполнения буфера. В качестве примера уязвимой платформы можно назвать SQL-Server, в котором есть функция OpenDataSource(), уязвимая для атак на переполнение буфера.

Нарушения безопасности Web-сервера

К угрозам на Web-сервере относятся:

  • угроза сканирования, направленная на выявление типа или типов используемых операционных систем, сетевых адресов рабочих станций ИС топологии сети, открытых портов и служб, открытых соединений и др. Сущность процесса реализации атаки заключается в передаче запросов сетевым службам хостов ИС и анализе ответов от них. Цель – выявление используемых протоколов, доступных портов сетевых служб, законов формирования идентификаторов соединений, определение активных сетевых сервисов, подбор идентификаторов и паролей пользователей;
  • угроза выявления паролей по сети. Цель реализации угрозы состоит в получении НСД путем преодоления парольной защиты. Для реализации атаки используются специальные программы, которые пытаются получить доступ к хосту путем последовательного подбора паролей. В случае успеха, злоумышленник может создать для себя «проход» для будущего доступа, который будет действовать, даже если на хосте изменить пароль доступа;
  • угроза подмены доверенного объекта сети и передача по каналам связи сообщений от его имени с присвоением его прав доступа. Процесс реализации с установлением виртуального соединения состоит в присвоении прав доверенного субъекта взаимодействия, что позволяет нарушителю вести сеанс работы с объектом сети от имени доверенного субъекта;
  • угроза внедрения ложного объекта. В случае, если объекты сети изначально не имеют адресной информации друг о друге, используются различные протоколы удаленного поиска (например, SAP в сетях NovellNetWare; ARP, DNS, WINS в сетях со стеком протоколов TCP/IP), заключающиеся в передаче по сети специальных запросов и получении на них ответов с искомой информацией;
  • угроза «Отказ в обслуживании». Основана на недостатках сетевого программного обеспечения, его уязвимостях, позволяющих нарушителю создавать условия, когда операционная система оказывается не в состоянии обрабатывать поступающие пакеты. Результатом реализации данной атаки может стать нарушение работоспособности соответствующей службы предоставления удаленного доступа к данным в ИС, передача с одного адреса такого количества запросов на подключение к техническому средству в составе ИС, какое максимально может «вместить» трафик (направленный «шторм запросов»), что влечет за собой переполнение очереди запросов и отказ одной из сетевых служб или полную остановку компьютера из-за невозможности системы заниматься ничем другим, кроме обработки запросов;
  • угроза удаленного запуска приложений. Реализация этой угрозы заключается в стремлении запустить на хосте ИС различные предварительно внедренные вредоносные программы: программы-закладки, вирусы, «сетевые шпионы», основная цель которых – нарушение конфиденциальности, целостности, доступности информации и полный контроль работы хоста.

Нарушения безопасности маршрутизатора

К угрозам маршрутизатора относятся:

  • угроза «Анализ сетевого трафика» с перехватом передаваемой из ИС и принимаемой из внешних сетей информации. Эта угроза реализуется с помощью специальной программы-анализатора пакетов (sniffer), перехватывающей все пакеты, передаваемые по сегменту сети, и выделяющей среди них те, в которых передаются идентификатор пользователя и его пароль. В ходе реализации угрозы нарушитель изучает логику работы ИС – то есть стремится получить однозначное соответствие событий, происходящих в системе, и команд, пересылаемых при этом хостами, в момент появления данных событий. В дальнейшем это позволяет злоумышленнику на основе задания соответствующих команд получить, например, привилегированные права на действия в системе или расширить свои полномочия в ней, а также перехватывает поток передаваемых данных, которыми обмениваются компоненты сетевой операционной системы, для извлечения конфиденциальной или идентификационной информации (например, статических паролей пользователей для доступа к удаленным хостам по протоколам FTP и TELNET, не предусматривающих шифрование), ее подмены, модификации и т.п.;
  • угроза навязывания ложного маршрута сети. Реализация угрозы основывается на несанкционированном использовании протоколов маршрутизации (RIP, OSPF, LSP) и управления сетью (ICMP, SNMP) для внесения изменений в маршрутно-адресные таблицы. При этом нарушителю необходимо послать от имени сетевого управляющего устройства (например, маршрутизатора) управляющее сообщение;
  • угрозы, реализация которых направлена на нарушение работоспособности маршрутизатора посредством использования уязвимостей реализации стека TCP/IP. В результате блокируется доступ пользователей к ресурсам сети;
  • угрозы, реализация которых направлена на несанкционированное изменение таблиц маршрутизации с целью блокирования корректного перенаправления пакетов данных Web-серверу.

Каждая угроза характеризуется определенными параметрами. Основными параметрами являются вероятность возникновения угрозы и стоимость ущерба в случае ее осуществления.

Выводы

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

Ссылки

Безопасность приложений в Wikipedia

Улучшение Безопасности приложений

Концепция Безопасности приложений