39989

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

Контрольная

Информатика, кибернетика и программирование

Технические особенности Существенное преимущество построения Web приложений для поддержки стандартных функций браузера заключается в том что функции должны выполняться независимо от операционной системы данного клиента. Классификация угроз безопасности Webприложений Данная классификация представляет собой совместную попытку членов международного консорциума собрать воедино и упорядочить угрозы безопасности Webсайтов. Члены Web ppliction Security Consortiumсоздали данный проект для унификации стандартной терминологии описания угроз...

Русский

2013-10-13

47.13 KB

12 чел.

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

Веб-приложение

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

Веб-приложения стали широко популярными в конце 1990-х — начале 2000-х годов.

Технические особенности

Существенное преимущество построения Web приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java или Flash реализациями на стороне клиента может приводить к различным осложнениям.

В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «Богатое Интернет приложение» (англ. Rich Internet Applications).

Устройство веб-приложений

Веб-приложение состоит из клиентской и серверной частей, тем самым реализуя технологию «клиент-сервер».

Клиентская часть реализует пользовательский интерфейс, формирует запросы к серверу и обрабатывает ответы от него.

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

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

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

Классификация угроз безопасности Web-приложений

Данная классификация представляет собой совместную попытку членов международного консорциума собрать воедино и упорядочить угрозы безопасности Web-сайтов. Члены Web Application Security Consortiumсоздали данный проект для унификации стандартной терминологии описания угроз безопасности Web-приложений. Это даёт возможность разработчикам приложений, специалистам в области безопасности, производителям программных продуктов и аудиторам использовать единый язык при своем взаимодействии.

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

Классы атак

1. Аутентификация (Authentication)

Раздел, посвященный аутентификации, описывает атаки направленные на используемые Web-приложением методы проверки идентификатора пользователя, службы или приложения. Аутентификация использует как минимум один из трех механизмов (факторов): "что-то, что мы имеем", "что-то, что мы знаем" или "что-то, что мы есть". В этом разделе описываются атаки, направленные на обход или эксплуатацию уязвимостей в механизмах реализации аутентификации Web-серверов.

Краткое описание [подробное описание в формате .pdf – 337 Kb]

  1.  Подбор (Brute Force)

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

  1.  Недостаточная аутентификация (Insufficient Authentication)

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

  1.  Небезопасное восстановление паролей (Weak Password Recovery Validation)

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

2. Авторизация (Authorization)

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

Краткое описание [подробное описание в формате .pdf – 353 Kb]

  1.  Предсказуемое значение идентификатора сессии (Credential/Session Prediction)

предсказуемое значение идентификатора сессии позволяет перехватывать сессии других пользователей

  1.  Недостаточная авторизация (Insufficient Authorization)

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

  1.  Отсутствие таймаута сессии (Insufficient Session Expiration)

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

  1.  Фиксация сессии (Session Fixation)

используя данный класс атак, злоумышленник присваивает идентификатору сессии пользователя заданное значение

3. Атаки на клиентов (Client-side Attacks)

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

Краткое описание [подробное описание в формате .pdf – 369 Kb]

  1.  Подмена содержимого (Content Spoofing)

используя эту технику, злоумышленник заставляет пользователя поверить, что страницы сгенерированны Web-сервером, а не переданы из внешнего источника

  1.  Межсайтовое выполнение сценариев (Cross-site Scripting, XSS)

наличие уязвимости Cross-site Scripting позволяет атакующему передать серверу исполняемый код, который будет перенаправлен браузеру пользователя

  1.  Расщепление HTTP-запроса (HTTP Response Splitting)

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

4. Выполнение кода (Command Execution)

Эта секция описывает атаки, направленные на выполнение кода на Web-сервере. Все серверы используют данные, преданные пользователем при обработке запросов. Часто эти данные используются при составлении команд, применяемых для генерации динамического содержимого. Если при разработке не учитываются требования безопасности, злоумышленник получает возможность модифицировать исполняемые команды.

Краткое описание [подробное описание в формате .pdf – 398 Kb]

  1.  Переполнение буфера (Buffer Overflow)

эксплуатация переполнения буфера позволяет злоумышленнику изменить путь исполнения программы путем перезаписи данных в памяти системы

  1.  Атака на функции форматирования строк (Format String Attack)

при использовании этих атак путь исполнения программы модифицируется методои перезаписи областей памяти с помощью функций форматирования символьных переменных

  1.  Внедрение операторов LDAP (LDAP Injection)

атаки этого типа направлены на Web-серверы, создающие запросы к службе LDAP на основе данных, вводимых пользователем

  1.  Выполнение команд ОС (OS Commanding)

атаки этого класса направлены на выполнение команд операционной системы на Web-сервере путем манипуляции входными данными

  1.  Внедрение операторов SQL (SQL Injection)

эти атаки направлены на Web-серверы, создающие SQL запросы к серверам СУБД на основе данных, вводимых пользователем

  1.  Внедрение серверных сценариев (SSI Injection)

атаки данного класса позволяют злоумышленнику передать исполняемый код, который в дальнейшем будет выполнен на Web-сервере

  1.  Внедрение операторов XPath (XPath Injection)

эти атаки направлены на Web-серверы, создающие запросы на языке XPath на основе данных, вводимых пользователем

5. Разглашение информации (Information Disclosure)

Атаки данного класса направлены на получение дополнительной информации о Web-приложении. Используя эти уязвимости, злоумышленник может определить используемые дистрибутивы ПО, номера версий клиента и сервера и установленные обновления. В других случаях, в утекающей информации может содержаться расположение временных файлов или резервных копий. Во многих случаях эти данные не требуются для работы пользователя. Большинство серверов предоставляют доступ к чрезмерному объему данных, однако необходимо минимизировать объем служебной информации. Чем большими знаниями о приложении будет располагать злоумышленник, тем легче ему будет скомпрометировать систему.

Краткое описание [подробное описание в формате .pdf – 385 Kb]

  1.  Индексирование директорий (Directory Indexing)

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

  1.  Идентификация приложений (Web Server/Application Fingerprinting)

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

  1.  Утечка информации (Information Leakage)

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

  1.  Обратный путь в директориях (Path Traversal)

данная техника атак направлена на получение доступа к файлам, директориям и командам, находящимся вне основной директории Web-сервера.

  1.  Предсказуемое расположение ресурсов (Predictable Resource Location)

позволяет злоумышленнику получить доступ к скрытым данным или функциональным возможностя

6. Логические атаки (Logical Attacks)

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

Краткое описание [подробное описание в формате .pdf – 355 Kb]

  1.  Злоупотребление функциональными возможностями (Abuse of Functionality)

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

  1.  Отказ в обслуживании (Denial of Service)

данный класс атак направлен на нарушение доступности Web-сервера

  1.  Недостаточное противодействие автоматизации (Insufficient Anti-automation)

эти уязвимости возникаеют, в случае, если сервер позволяет автоматически выполнять операции, которые должны проводиться вручную

  1.  Недостаточная проверка процесса (Insufficient Process Validation)

уязвимости этого класса возникают, когда сервер недостаточно проверяет последовательность выполнения операций приложения


 

А также другие работы, которые могут Вас заинтересовать

26355. Третий этап революции. 1793-1794 г. Якобинская диктатура 14.23 KB
  Был ее высшим этапом якобинской диктатурой. Складывавшаяся в ходе напряженной классовой борьбы система якобинской диктатуры сочетала сильную и твердую централизованную власть с идущей снизу широкой народной инициативой. Революционная инициатива масс в период якобинской диктатуры проявилась особенно ярко. Но в самой якобинской диктатуре и в якобинском блоке объединявшем классово разнородные элементы были заложены глубокие внутренние противоречия.
26356. Кризис Якобинской диктатуры и переворот 9 термидора 1794 г 19.66 KB
  Переворот был предпринят группой якобинцевчленов Конвента недовольных политикой Робеспьера и прежде всего по разным причинам опасавшихся за свою личную безопасность. Конвент постановил напечатать речь Робеспьера но Бурдон из Уазы а за ним БийоВаренн потребовали предварительного рассмотрения её комитетами. У Робеспьера потребовали чтобы он назвал имена обвиняемых но он отказался. 27 июля 9 термидора заседание Конвента началось с доклада СенЖюста но председательствующий Колло д’Эрбуа прервал его и предоставил слово БийоВаренну...
26357. Франция в годы термидорианской реакции 17.5 KB
  якобинский клуб был закрыт по постановлению Конвента. Термидорианцы поспешили ликвидировать социальноэкономическое законодательство якобинского Конвента. Восставшим удалось захватить здание Конвента. 4 прериаля после ожесточенной борьбы восстание было подавлено вооруженными силами термидорианского Конвента.
26358. Внутренняя и внешняя политика Директории 23.16 KB
  правительственные войска заняли здания Совета пятисот и Совета старейшин и арестовали часть депутатов. Они били войска Австрийской империи и ее союзников в которых царила рутина насаждавшаяся спесивыми бездарными военачальниками. Основные удары по австрийским войскам нанесла французская армия в Северной Италии под командованием Бонапарта. 10 мая он разбил австрийские войска в сражении при Лоди вошел в Милан и вскоре приступил к осаде главной австрийской военной базы крепости Мантуи.
26359. Государственный переворот 18 брюмера 1799 г. Итоги революции 18.89 KB
  Сийес распустил слух об опасном якобинском заговоре и устроил так что те депутаты совета старейшин на которых он не рассчитывал или которых боялся не попали на заседание в котором предполагалось принять задуманные заговорщиками решения. Собравшиеся депутаты единогласно вотировали перенесение законодательного корпуса в СенКлу где оба совета должны были собраться на другой день не ранее полудня. Бонапарт окружённый генералами и офицерами немедленно отправился на заседание совета где произнес короткую речь с обещанием поддерживать...
26360. Бранденбургско-прусское государство во вт.пол. XVII- первой трети XVIII в. 29.76 KB
  XVII первой трети XVIII в. Социальноэкономическое и политическое развитие Германии в XVIII в. Борьба Пруссии и Австрии за гегемонию в Центральной Европе Господство крепостного права Мекленбург Бранденбург Померания Восточная Пруссия Силезия оставались в XVIII в. Сгон крестьян с земли принимает все более широкие размеры со второй половины XVIII в.
26361. Фридрих II и просвещённый абсолютизм в Пруссии 27.52 KB
  Фридрих II и просвещённый абсолютизм в Пруссии. Фри́дрих II или Фридрих Великий известный также как по прозвищу Старый Фриц нем. Фридрих родился в Берлине 24 января 1712 года при крещении получил имя КарлФридрих. Его отец король Пруссии Фридрих Вильгельм I из династии Гогенцоллернов мать София Доротея Ганноверская дочь короля Англии Георга I.
26362. Просвещенный абсолютизм в Австрии. Реформы Марии-Терезии и Иосифа II 15.02 KB
  Реформы МарииТерезии и Иосифа II. Правление Иосифа II 178090 Сын Марии Терезии Иосиф II ставший соправителем своей матери после 1765 часто вступал с ней в споры по вопросам государственной политики. Демонстрируя просвещенность и добрую волю Иосиф II провозгласил равенство всех подданных перед судом и при сборе налогов. Хотя Иосиф II объявил себя защитником католичества он вел энергичную борьбу с властью папы Римского.
26363. Итальянские войны 1494-1559 г 25.59 KB
  Французские войска вторглись в Италию подчинили Флоренцию и практически не встречая сопротивления в 1495 году заняли Неаполь. 6 июля 1495 года французские войска встретились с армией Венецианской лиги в сражении при Форново и не сумев добиться победы ушли во Францию. В 1496 году испанские войска очистили территорию Италии от французских гарнизонов остававшихся в крепостях а французский гарнизон в Неаполе капитулировал. В 1501 году французские войска вторглись на территорию Неаполя а испанский экспедиционный корпус высадился в Калабрии.