Вход на сайт

Участие

  • обсуждение
  • участие в секции
  • мастер-классы
  • видео

Кто на сайте

Сейчас на сайте 16 гостей и нет пользователей

Никитин С.В. ОНЛАЙН-РЕСУРСЫ В ОРГАНИЗАЦИИ ПРАКТИЧЕСКИХ ЗАНЯТИЙ

Оцените материал
(0 голосов)

ГБОУ ДПО НТФ ИРО, Нижний Тагил

Аннотация

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

The practical part of information security teaching always faced with the problem that attacking a computer system illegal in many jurisdiction without granted authorization. The article tells about the resources that allow you to explore some methods of protection and hacking web applications.

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

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

Так, для осуществления нападения принято выделять два класса методов: «метод белого ящика» и «метод чёрного ящика». Понятно, что для осуществления нападения на чёрный ящик не нужно никаких знаний о нём, но нападение на известный механизм может дать гораздо более существенные результаты.

Таким образом, учащимся приходится решать две задачи: понять «как это может работать», а затем – понять «как это может работать неправильно» и суметь заставить систему выполнить определённые действия, не запланированные изначально.

Проблема педагога в данном конспекте иная: если теоретическую часть реализовать можно, то при реализации практических работ сталкиваемся с законодательными или моральными ограничениями: обходить защиту чужих сайтов не только противозаконно, но и просто нехорошо. Так, несмотря на большое количество статей по обходу защит таких популярных систем управления контентом как WordPress, Drupal, Joomla, 1С Битрикс и др., взламывать реальные сайты всё-таки некорректно, а без реальных примеров использования «брешей» обучение бесполезно.

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

Первый вопрос – как функционирует веб-приложение. Отметим, что веб-разработка редко изучается в вузах, а основной упор делается на изучение настольных сред программирования (от C++, Delphi и т.д.). Для преподавания данного вопроса нами используется онлайн-курс с сайта http://lynda.com, который называется «Основы веб-дизайна» («Web Design Fundamentals»), автор Джеймс Вилльямсон, основная задача которого – рассказать о том, какие технологии и для чего используются в веб-дизайне. Действительно, не понимая стандарт CGI, многие студенты не способны оценить значение связки LAMP или Windows+IIS+MsSQL.

Проблем в прохождения данного курса возникает две: платный доступ к lynda.com (хотя бы на месяц), и лекции на английском языке. Первая проблема решается просто: две недели триал-доступа и «новогодние акции», когда всем желающим дают доступ на два месяца (главное, заранее запланировать эти темы на это время). Вторая проблема решилась за несколько месяцев группой энтузиастов из тех же студентов.

Мы использовали онлайн-технологии, которые, возможно, будут кому-то интересны, поэтому приведём их в этой статье. Во-первых, это сайт notabenoid.com – сайт коллективного перевода текстов. Во-вторых, сервис для перевода текстов от Google: translate.google.com/toolkit/. Надо заметить, что добавку /toolkit/ к известному адресу в официальных сервисах мы не нашли, найдя сервис совершенно случайно, когда хотелось найти что-то ещё помимо notabenoid.com.

Не вдаваясь в подробности, скажу, что на перевод субтитров к курсу ушло около двух месяцев, поэтому на парах мы смотрели английскую версию видео, которую приходилось комментировать по ходу рассказа Джеймса Вилльямсона. Также замечу, что, несмотря на наши надежды, переводчики с notabenoid практически никак не помогли.

Разобравшись с веб-технологиями, мы в первую очередь спроектировали сайт notabenoid.com (функциональную схему): база данных (таблица в базе данных для хранения оригинальных текстов и переводов, таблица для оценок, таблица пользователей), приложение для передачи файлов, приложение для их конвертации, приложение для управления пользователями и т.д.

Затем пришлось пояснить понятие «уязвимость» и «угроза». Для этого есть хороший пример: реализация на любом языке программирования задачи деления А на Б. Обычно, делается две ошибки при написании данной программы: во-первых, редко кто проверяет, что Б не равно 0; в во-вторых, практически никто не проверяет, что А и Б действительно числа.

Затем мы перешли к изучению угроз веб-среды. Здесь неоценимую помощь оказывает Google Labs. Во-первых, это курс Аркайта Дея и Нейла Дасвани «Что каждый веб-программист должен знать об информационной безопасности» (http://code.google.com/intl/ru-RU/edu/submissions/daswani/) Этот курс состоит из презентаций (коллективный перевод которых занял всего-то пару дней) опубликованных по свободной лицензии.

Во-вторых, несколько лет назад на Google Labs появилась разработка Брюса Лебана «Бреши и защита веб-приложений», которая позднее была переименована и реализована при помощи Gruyere (http://google-gruyere.appspot.com/) . Суть данной разработки: это небольшая система управления контентом, реализующая часть функций любой социальной среды: пользователи, страницы пользователей, HTML-вставки, комментарии и т.п. Необычная особенность системы – отсутствие SQL базы данных.

Основной плюс Gruyere при изучении информационной безопасности в ином – в системе специально оставлены уязвимости, позволяющие реализовать определённый класс веб-атак. Защищённая среда Google Labs позволяет нам провести целую серию таких «нападений».

Вот краткое перечисление реализуемых нападений:

  • Межсайтовый скриптинг (XSS) (XSS в загружаемых файлах, отражаемый XSS, сохраняемый XSS, сохраняемый XSS через атрибуты HTML, сохраняемый XSS в AJAX, отражаемый XSS через AJAX)
  • Манипуляция клиентской частью (Повышение привилегий, Манипуляции с Cookie)
  • Подделка межсайтовых запросов (XSRF)
  • Подключение межсайтовых скриптов
  • Манипуляции путями в адресной строке
  • Отказ в обслуживании (DoS – падение сервера, DoS – перегрузка сервера, другие DoS-атаки)
  • Выполнение кода на стороне сервера
  • Уязвимости конфигурации
  • Уязвимости AJAX (DoS через AJAX, Фишинг через AJAX)
  • Переполнение буфера и целочисленное переполнение
  • SQL-инъекции

К сожалению, отметим, что попробовать SQL-инъекции на данном сайте нет возможности (причина написана ранее – CMS не использует SQL базу данных). Чтобы попробовать SQL-инъекцию в действии, придётся поступать так, как написано в статье Viglim с HackZone.RU (http://www.hackzone.ru/news/sql_inj.html), правда, приходится каждый раз подготавливать ноутбук с предустановленным denwer, и удалять всё после занятий.

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

Прочитано 1279 раз

Оставить комментарий

Убедитесь, что Вы ввели всю требуемую информацию, в поля, помеченные звёздочкой (*). HTML код не допустим.