Аннотация: Анализируется методология Scrum, рассматриваются рабочие элементы шаблона MicrosoftVisualStudioScrum 2.2, элементы задела работы продукта, элементы работы, спринты, организация команды в методологии Scrum, жизненный цикл проекта ПО, управление работами по продукту, рабочий процесс элемента невыполненной работы, связи между рабочими элементами.

Презентацию к данной лекции Вы можете скачать .

Цель лекции:

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

Введение

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

Рабочие элементы

Рабочие элементы используются для отслеживания, наблюдения за состоянием хода разработки ПО и создания отчетов. Рабочий элемент - это запись , которая создается в Visual Studio Team Foundation Server для задания определения, назначения, приоритета и состояния элемента работы. Для шаблона MicrosoftVisualStudioScrum 2.2.определяет следующие типы рабочих элементов :

  • невыполненная работа по продукту;
  • ошибка;
  • задача;
  • препятствие;
  • тестовый случай.

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

Цикл выпуска продукта в Scrum состоит из ряда итераций, которые называются спринтами . Спринт имеет фиксированную длительность, как правило, 1-4 недели. Элементы работы, включенные в очередной спринт, не подлежат изменению до его окончания. Хотя спринт завершается подготовкой работоспособного программного продукта, его текущей функциональности может быть недостаточно для оформления выпуска, имеющего ценность для заказчика. Поэтому выпуск работоспособного программного продукта, который заказчик может использовать, включает, как правило, несколько спринтов.

Организация команды

Организация команды в методологии Scrum определяет три роли :

  • владелец продукта (Product owner);
  • руководитель (ScrumMaster);
  • члены команды (Team members).

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

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

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

  • проведение ежедневных Scrum-собраний;
  • привлечение сотрудников вне команды:
  • стимулирование эффективного общения членов команды;
  • определение размера команды.

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

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

Инструментальная и методическая поддержка гибкого подхода к созданию программных продуктов Scrum, реализованная в VisualStudio 2012, позволяет управлять жизненным циклом проекта ПО ( рис. 16.1) .


Рис. 16.1.

В начале проектирования владелец продукта и заказчик формируют концепцию программного продукта, которая показывает, для кого предназначен продукт, какие преимущества получат пользователи и какие существуют конкуренты. Концепция продукта связывается с областью проекта и ограничениями. Область проекта определяет масштаб работ , а ограничения - условия, которыми будут руководствоваться для первых спринтов и выпусков. Далее владелец продукта создает список всех потенциальных функций продукта - "Невыполненная работа по продукту" (ProductBacklog). , которую в дальнейшем будем называть невыполненная работа - НВР , содержит список элементов работы - пользовательских описаний функциональности.

Управление невыполненной работой по проекту сводится к поддержанию элементов работ в актуальном состоянии. Отдельные элементы работ списка НВР могут добавляться или удаляться в процессе создания ПО . Это является результатом того, что команда получает дополнительную информацию о новых требованиях заказчика к проектируемому программному продукту, а заказчик выясняет, как реализуются его ожидания.

Для элементов работ владелец продукта совместно с командой проекта расставляет приоритеты. При планировании спринта в него включают наиболее значимые, с точки зрения владельца продукта, пользовательские требования - ЭР, которые характеризуются наибольшей потребительской ценностью. Выбранные элементы работ перемещают в список "Незаконченная работа " (SprintBacklog). Список Незаконченная работа (НЗР) отражает состав работ планируемого спринта. Список НЗР является результатом процесса планирования спринта.

Координацией работ в спринте занимается руководитель спринта (ScrumMaster). Он организовывает процесс приоритезации задач спринта, распределения задач между членами команды. Руководитель спринта проводит собрание по планирования работ , ежедневные собрания для краткого обсуждения результатов работы и проблем, обзорные собрания в конце спринта и выпуска.

Ежедневные Scrum-собрания имеют продолжительность 15 - 30 минут. Целью таких собраний является выявление проблем, которые тормозят процесс разработки, и определить действия по их нейтрализации. Для простых проблем принимается решение по их устранению, а сложные проблемы откладываются на последующие спринты. В ходе ежедневного Scrum-собрания руководитель задает темп спринта, акцентирует команду на наиболее важных элементах списка невыполненных работ . Каждый член команды сообщает, что было сделано вчера, что будет делать сегодня и какие имеются препятствия в работе. Если на ежедневном Scrum-собрании возникают вопросы, для решения которых необходимы специалисты, которых в команде нет, тогда руководитель берет на себя анализ и возможные пути разрешения данного вопроса.

Результатом спринта является работоспособное ПО , возможно обладающее только частью необходимых функций программного продукта. Выпуск спринта может быть развернут у заинтересованных лиц для предварительного анализа соответствия ожиданиям заказчика. Результатом отзыва является формирование "Отзыв" (FeedBack), что может привести к изменения содержания списка Элемент задела работы продукта. После выполнения всех работ по программному продукту, то есть обнуления списка требований в списке Элемент задела работы продукта подготавливается финальный выпуск программного продукта.

Управление невыполненной работой

Список Невыполненная работа по продукту является одним из ключевых артефактов в методологии Scrum. Успех Scrum-команды во многом определяется качественным содержанием данного списка. Список НВР обычно включает пользовательские описания функциональности - элементы работы, а также может включать нефункциональные требования. Для создания списка НВР в TFS могут применяться различные клиентские сервисы ( рис. 16.2):

  • командный обозреватель Visual Studio;
  • веб-доступ черезTeam Web Access;
  • Microsoft Office Excel;
  • Microsoft Office Project.


Рис. 16.2.

Владелец продукта на основе требований и пожеланий клиентов формирует список функций продукта в виде элементов задела работы продукта, которые помещает в список Невыполненная работа по продукту . При создании нового элемента невыполненной работы для него устанавливается состояние "Новый" ( рис. 16.3).


Рис. 16.3.

После установки элементу работы приоритета его состояние изменяют на "Утверждено". На собрании по планированию спринта команда просматривает наиболее приоритетные элементы работы и выбирает те, которые будут выполняться в текущем спринте. Для элементов невыполненной работы, которые попали в текущий спринт, устанавливается состояние "Зафиксировано". Это означает тот факт, что рабочие элементы спринта не подлежат изменению до конца спринта. При завершении работы по элементу его состояние устанавливается "Выполнено". Если для элемента работы, находящегося в состоянии "Выполнено" выявляется дополнительная работа, то этот элемент может быть переведен в состояние "Зафиксировано". Для элемента работы, находящегося в состоянии "Зафиксировано", при возникновении проблем, препятствующих его завершению в спринте, может быть работа приостановлена и установлено состояние "Утверждено". Элемент невыполненной работы может быть удален из списка Невыполненная работа по продукту по решению Владельца продукта. Это может произойти как из состояния "Новый", так и состояния "Утверждено", что соответствует установке для элемента работы состояния "Удалено". В результате пересмотра элемента работы, имеющего состояние "Удалено", для него вновь возможен перевод в состояние "Новый".

Список Невыполненная работа по продукту является главным документом для Scrum-команды. На основе данного списка команда создает другие рабочие элементы, составляющие спринты и выпуски. Для Элементов невыполненной работы команда создает задачи и тестовые случаи. Задачи детализируют элемент работы и определяют конкретную реализацию требований пользователя. Тестовые случай необходимы для проверки соответствия функциональности кода требованиям пользователя. Если тестовый случай не проходит, то создается рабочий элемент "Ошибка". При блокировании задачи из-за невозможности её выполнения в текущем спринте создают рабочий элемент "Препятствие". Scrum- команда может создавать вспомогательные рабочие элементы (ошибки и препятствия) в отношении элементов, на которые они влияют (задачи и тестовые случаи) и связывать эти элементы ( рис. 16.4).


Рис. 16.4.

Для отслеживания хода выполнения проекта, можно создавать отчеты, отражающие наиболее важные данные для текущего проекта. В процессе создания ПО можно пользоваться стандартными отчетами или создавать собственные отчеты. Отчеты можно создавать, настраивать и просматривать с помощью Excel , Project или служб Reporting ServicesSQL Server .

Методология Scrum имеет следующие положительные стороны:

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

Ключевые термины

  • Что представляет собой спринт в методологии Scrum.
  • Какие роли определены в организации команды в методологии Scrum.
  • Кто отвечает за качественный выпуск программного продукта в методологии Scrum.
  • Поясните содержание жизненного цикл проекта ПО в методологии Scrum.
  • Поясните содержание рабочего процесса элемента невыполненной работы.
  • Поясните возможные связи между рабочими элементами.
  • Упражнения

    1. Проведите исследование (поиск по интернету) применимости методологии Scrumдля проектирования программных систем.
    2. Проанализируйте причины распространения методологии Scrum для создания эффективных программных решений.
    3. Проведите исследование (поиск по интернет) программного инструментария методологии Scrum для платформ отличных от Microsoft.Net.

    Scrum — это авторская гибкая методология разработки с нестандартным распределением ролей в команде и уникальной организацией итераций. Scrum , как и другие agile методы управления проектами, исповедует командный подход, короткие итерации и непрерывное улучшение в процессе работы. Эти принципы реализуются через набор особых ролей, правил, процессов и инструментов, благодаря которым команды производят продукты вдвое быстрее.

    В скрам-командах ключевые позиции занимают
    scrum-master и product owner ,
    итерация начинается планированием ,
    на котором члены команды «играют»
    в покер планирования,
    и завершается демо с ретроспективой .

    Scrum методология создана американцами Джеффом Сазерлендом, исследователем и бизнес-консультантом, и Кеном Швабером, практикующим программистом, в 1993 году. В 1995 году авторы концепции официально представили ее подходы на научной конференции Ассоциации вычислительной техники в Остине, Техас.

    Идея соавторов скрама не была новой: и концепцию, и даже название они переняли из работы японских исследователей в сфере управления , опубликованной в 1986 году. Уже тогда японские производители использовали подходы, которые легли в основу скрама. А название методологии заимствовано из словаря игроков в регби. Scrum, или схватка, — элемент игры, показывающий важность командной работы для победы на поле.

    Применение скрама в IT и не только

    Впервые scrum был применен в компаниях, которые производят программное обеспечение. Первый проект, который Дж.Сазерленд курировал еще до официальной презентации скрама, — создание ПО для сети банкоматов (1983 г.). Команды программистов в IT компаниях и подразделениях до сих пор остаются главными потребителями scrum. Однако автор методологии настаивает, что скрам применим для решения любых задач, и приводит примеры использования скрама в производстве, строительстве, образовании, политике и даже при решении бытовых задач вроде генеральной уборки или организации праздника.

    И действительно, по данным Scrum Alliance за 2016 г. 21% проектов, выполненных по скраму, не имели отношения к сфере IT. Посмотрите, какие подразделения успешно используют scrum:


    Scrum VS Agile VS Waterfall

    Скрам относится к группе гибких методологий, или agile методологий. Agile — это не отдельная методология, а целая философия разработки ПО, ее основные подходы зафиксированы в в 2001 году. В манифесте перечислены основные принципы agile — значимость команды, акцент на продукт, а не на документацию, прозрачность процессов, постоянное совершенствование, быстрый результат.

    Скрам — это один из фреймворков agile , формализованная методология работы над проектами. К аджайл методологиям, кроме скрама, относятся и другие современные подходы. Альтернативой scrum могут быть , Scrumban и другие. То есть скрам — это agile, но agile — не только скрам.

    Представьте, что agile — это христианство, а scrum — одно из его течений, например, протестантизм. И хотя христиане в целом и протестанты в частности исповедуют одни и те же принципы, протестанты имеют свои уникальные ритуалы для проявления веры.

    Соответственно, визуально различия и сходства между Scrum и Agile можно представить так:

    * Артефакты в скраме — это объекты, которые создаются командой во время работы над проектом. К ним относятся бэклог продукта, бэклог спринта и инкремент продукта, то есть работающий кусок функционала, который команда демонстрирует в конце спринта.

    Гибкие методики разработки противостоят каскадной модели (каскад, водопад, waterfall) , которой в 90-е годы пользовались практически все команды разработчиков.

    Суть каскадной модели — поэтапное выполнение проекта, причем работа над каждым последующим этапом начинается только после окончания предыдущего. Схематически каскадная модель выглядит так:


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

    Как работать по скраму

    Роли в скраме

    Скрам-команда

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

    Для скрама нужна небольшая команда: 7±2 человек. При большем количестве людей участники команды тратят слишком много ресурсов на коммуникации. В середине 90-х годов Лоуренс Путнэм проанализировал 491 команду разработчиков: все они создавали новый продукт и были разных размеров. Исследование показало, что большим командам (9-20 человек) нужно в 4 раза больше времени и усилий, чтобы решить задачу, чем малочисленным группам (3-7 человек).

    Скрам-мастер

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

    Владелец продукта, Product Owner

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

    Заказчик

    Заказчик или клиент — тот, для кого делается проект. Заказчиком может быть стороннее лицо или организация или инсайдер. Например, отдел продаж, который заказал девелоперам разработать CRM систему.

    Регулярные скрам-собрания и Worksection

    Планирование

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

    Выбранные задачи вносятся в проект-спринт с дедлайном и исполнителем.

    Ежедневные собрания на ходу

    Все участники команды каждый день в одно и то же время собираются, чтобы оценить ход работы и обменяться информацией.

    Для этого они отвечают на три вопроса:

    1. что я делал вчера, чтобы команда добилась цели?
    2. что я буду делать сегодня, чтобы команда добилась цели?
    3. что мешало мне выполнять работу?

    Собрания длятся не дольше 15 минут и проводятся стоя.

    Для этой встречи каждый может посмотреть свой Отчет за выбранный день.

    Демонстрация или обзор спринта

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

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

    Ретроспектива

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

    Используются Отчеты за соответствующий промежуток времени по Людям, Отделам, Счета и Детальный.

    Алгоритм. Что за чем делать?

    1. Выберите владельца продукта , который четко определит, что должно быть сделано.

    2. Сформируйте скрам-команду.

    3. Назначьте скрам-мастера.

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

    Бэклог — это полный список работ, которые нужно выполнить.
    Пользовательские истории, User stories — это требования к функциональности продукта, озвученные от имени конечного потребителя. Например, я, как покупатель интернет-магазина, хочу искать нужный товар на сайте (оплачивать покупки картой, сохранять товары в корзину и т.д.).

    5. Оцените задачи из бэклога , используя относительные величины, например, размеры футболок или числа из последовательности Фибоначчи: 0, 1, 1, 2, 3, 5, 8, 13 и т.д. Оценивайте задачи всей командой с помощью покера планирования (planning poker): используйте колоду карт или приложение на смартфон.

    Покер планирования — специальная колода карт с числами Фибоначчи. Каждый член команды получает свой комплект. Когда скрам-мастер озвучивает задачу, члены команды одновременно кладут на стол карты с числами, которые, по их мнению, соответствуют сложности задачи. Если карты участников расходятся на одну-две единицы, например, 3 и 8, то задаче присваивается сложность, равная среднему арифметическому этих чисел. Если расхождение больше, то участники, которые выкинули самую маленькую и самую большую карты, объясняют свои решения. После этого все члены команды выкладывают карты заново. И так, пока все не придут к соглашению.


    6. Проведите планирование спринта : выберите задачи и распределите их между исполнителями.

    7. Заведите скрам-доску , поделите ее на три части: нужно сделать, в работе, сделано. Перемещайте стикеры с задачами, чтобы видеть динамику работы. Используйте реальную или виртуальную доску.

    8. Не забывайте о ежедневных собраниях.

    9. В конце спринта проведите демонстрацию.

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

    11. Начинайте следующий спринт с планирования (пункт 6).

    Скрам Гайд. Исчерпывающее руководство по Скраму: Правила Игры / Кен Швабер, Джефф Сазерленд

    Руководство по применению скрама: описывает роли, мероприятия, артефакты скрама, и правила их использования. составлен и поддерживается соавторами скрам методологии.

    Скрам. Революционный метод управления проектами / Джефф Сазерленд


    Управление продуктом в Scrum. Agile-методы для вашего бизнеса / Роман Пихлер

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

    Scrum и XP: заметки с передовой / Хенрик Книберг

    О практическом применении современных подходов agile — скрама и экстремального программирования — в конкретной команде. Множество примеров, инструментов, скрам методы в действии без воды и теории.

    Agile-манифест разработки программного обеспечения

    Состоит из нескольких строк, в которых заложены по гибким методологиям.

    Преимущества и недостатки Scrum в ІТ

    Скрам — отличная методология: высокоэффективная, прозрачная, мотивирующая. Это win-win подход, от которого выигрывает и команда, и заказчик.

    1. Прозрачность. В команде открытый обмен информацией, знаниями, проблемами, каждый чувствует себя причастным к общей цели. Заказчик всегда в курсе хода работ, вносит правки в процессе, получает достоверную информацию о сроках сдачи.
    2. Автономность команд. Ч лены команды сами решают, как работать над проектом, свобода действий и ответственность мотивируют. Заказчик передает требования команде напрямую, без испорченного телефона.
    3. Мотивация результатом. Концепция скрама позволяет каждому члену группы видеть свои и общие достижения ежедневно. Заказчик получает прирост функциональности с каждой итерацией.
    4. Минимизация рыночных рисков. Команда оперативно реагирует на изменение требований к проекту и не делает лишнюю работу. Заказчик получает то, что хочет, и что востребовано на рынке.
    5. Минимизация финансовых рисков. На устранение багов и добавление функционала тратится мало времени и средств, все вкладываются в бюджет.

    Но скрам — формализованная методология, и для некоторых проектов применять ее не так просто.

    Вот явные недостатки скрама:

    • не подходит для проектов с туманными требованиями к конечному продукту, т.к. заказчик может наращивать функционал до бесконечности;
    • сложно научиться правильно расставлять приоритеты и оценивать задачи;
    • успех проекта слишком зависит от скрам-мастера;
    • скрам сложно использовать в крупных проектах, приходится масштабировать методологию и вводить собрания scrum of scrums. В таких митингах участвуют представители нескольких скрам-команд, работающий над связанными продуктами.
    В нашем проекте сразу пытались практиковать двухуровневый скрам: глобальный и на уровне подразделений (sales, маркетинг, финансы и т.д.). Сначала руководители отделов определяли задачи на глобальном планировании, потом они спускались на уровень отдела. У нас получалось плохо — конечный результат был слишком размыт.
    • высокоэффективные команды расслабляются и перестают совершенствоваться. Индикатор наличия проблемы — снижение динамики производительности спринтов. Скрам-мастер должен донести серьезность проблемы до команды. Если команда не выходит из тупика самостоятельно, вмешивается руководство: нанимаются новые сотрудники, проводится ротация кадров.

    Scrum-компании

    По данным отчета Scrumalliance 70% IT компаний используют скрам. Среди них такие гиганты как Google, Amazon, Salesforce.com, Microsoft, Adobe.

    Salesforce.com

    Американская , ведущий разработчик CRM систем для бизнеса. Ее продуктами пользуется 150 тыс. компаний. Много лет использует гибкие методологические подходы во главе со скрамом, создав на его основе уникальный гибрид из нескольких фреймворков agile.


    Применяет гибкие методики с 1999 года, и к 2004 году несколько команд разработчиков уже использовали скрам. К 2009 большая часть разработчиков была целенаправленно переведена на скрам.

    Spotify

    Цифровой музыкальный сервис, который успешно конкурирует с гигантами Google, Apple и Amazon. Своим конкурентным преимуществом Spotify считает максимальное использование возможностей скрам. Руководство компании нанимает лучших скрам-коучей на роль скрам-мастеров. Работа ведется маленькими автономными командами, к которым относятся как к стартапам.


    Применяет скрам с 2008 г., 4 тыс. разработчиков в сотнях команд по 10-12 человек трудятся по методологии скрам, выпуская новый продукт каждые три недели. Корпорации удалось успешно масштабировать скрам под свои размеры.

    То, что скрам используется не только в IT сфере, демонстрирует проект — инициатива учителя химии в школе нидерландского городка Алфен-ан-ден-Рейн. При поддержке делового сообщества в Голландии был создан фонд eduScrum, который обучает учителей использовать скрам на уроках. Школьники, работающие в скрам-командах, учатся лучше и с большим удовольствием, чем сверстники.


    Проект «Страж» для ФБР

    Внедрение скрам методологии спасло от краха многомиллионный проект американского правительства — единую базу данных «Страж» для ФБР. «Страж» был второй попыткой разработать единую информационную систему для ФБР. Первая провалилась, не проработав и дня.

    «Страж» начал создаваться в 2005 г. по каскадной модели. На проект было выделено 4 года и 450 млн дол. В начале пятого года компания-подрядчик выполнила половину работ и израсходовала 95% бюджета. По оценкам экспертов ей бы потребовалось еще 350 млн. и 6-8 лет для завершения проекта.

    Когда в начале 2010 г. каскадную модель сменила работа в скрам-командах, производительность разработчиков увеличилась втрое и 2 июля 2012 года «Стражем» пользовались сотрудники ФБР во всех штатах.

    Приложения

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



    Простой интуитивно понятный для работы над проектами и решения различных задач бизнеса.

    Worksection сейчас дорабатывает и тестирует перед внедрением (на октябрь 2017) фишки для scrum: диаграммы сгорания задач и бэклог — чисто скрамовские инструменты. Возможно будет и покер планирования. Наш консультант в этом деле,

    Сколько стоит написать твою работу?

    Выберите тип работы Дипломная работа (бакалавр/специалист) Часть дипломной работы Магистерский диплом Курсовая с практикой Курсовая теория Реферат Эссе Контрольная работа Задачи Аттестационная работа (ВАР/ВКР) Бизнес-план Вопросы к экзамену Диплом МВА Дипломная работа (колледж/техникум) Другое Кейсы Лабораторная работа, РГР Он-лайн помощь Отчет о практике Поиск информации Презентация в PowerPoint Реферат для аспирантуры Сопроводительные материалы к диплому Статья Тест Чертежи далее »

    Спасибо, вам отправлено письмо. Проверьте почту .

    Хотите промокод на скидку 15% ?

    Получить смс
    с промокодом

    Успешно!

    ?Сообщите промокод во время разговора с менеджером.
    Промокод можно применить один раз при первом заказе.
    Тип работы промокода - "дипломная работа ".

    Безопасность беспроводных сетей

    Запрос на идентификацию клиента (EAP-request/identity message). Аутентификатор может послать EAP-request самостоятельно, если увидит, что какой-либо из его портов перешел в активное состояние.

    Клиент в ответ высылает EAP-response packet с нужными данными, который точка доступа (аутентификатор) перенаправляет в сторону Radius-сервера (сервера аутентификации).

    Сервер аутентификации посылает аутентификатору (точке доступа) challenge-пакет (запрос информации о подлинности клиента). Аутентификатор пересылает его клиенту.

    Далее происходит процесс взаимной идентификации сервера и клиента. Количество стадий пересылки пакетов туда-сюда варьируется в зависимости от метода EAP, но для беспроводных сетей приемлема лишь «strong» аутентификация с взаимной аутентификацией клиента и сервера (EAP-TLS, EAP-TTLS, EAP-PEAP) и предварительным шифрованием канала связи.

    На следующий стадии, сервер аутентификации, получив от клиента необходимую информацию, разрешает (accept) или запрещает (reject) тому доступ, с пересылкой данного сообщения аутентификатору. Аутентификатор (точка доступа) открывает порт для Supplicant-а, если со стороны RADIUS-сервера пришел положительный ответ (Accept).

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

    После отключения клиента, порт на точке доступа опять переходит в состояние «закрыт».

    Для коммуникации между клиентом (supplicant) и точкой доступа (authenticator) используются пакеты EAPOL. Протокол RADIUS используется для обмена информацией между аутентификатором (точкой доступа) и RADIUS-сервером (сервером аутентификации). При транзитной пересылке информации между клиентом и сервером аутентификации пакеты EAP переупаковываются из одного формата в другой на аутентификаторе.


    Типы аутентификации

    Тип метода аутентификации, использующий протокол EAP и протокол безопасности, именуемый протоколом защиты транспортного уровня (Transport Layer Security - TLS). EAP-TLS использует сертификаты на основе паролей. Аутентификация EAP-TLS поддерживает динамическое управление WEP-ключом. Протокол TLS необходим для защиты и аутентификации коммуникаций в сетях общего пользования путем шифрования данных. Протокол квитирования TLS позволяет клиенту и серверу до посылки данных провести взаимную аутентификацию и выработать алгоритм и ключи шифрования.

    Эти настройки определяют протокол и идентификационную информацию, используемую для аутентификации пользователя. В аутентификации TTLS (Tunneled Transport Layer Security) клиент использует EAP-TLS для проверки подлинности сервера и создания канала между сервером и клиентом, шифрованного с помощью TLS. Клиент может использовать другой аутентификационный протокол. Обычно протоколы на основе паролей используются через необъявляемый, защищенный TLS-шифрованный канал. В настоящее время TTLS поддерживает все методы, применяемые в ЕАР, а также некоторые более старые методы (PAP, CHAP, MS-CHAP и MS-CHAP-V2). TTLS легко расширяется для работы с новыми протоколами посредством установки новых атрибутов для описания новых протоколов.

    PEAP - это новый аутентификационный протокол EAP (Extensible Authentication Protocol - EAP) стандарта IEEE 802.1X, разработанный для улучшения системы защиты EAP-Transport Layer Security (EAP-TLS) и поддержки различных методов аутентификации, включающих пароли пользователей, одноразовые пароли и карты доступа (Generic Token Cards).

    Версия протокола аутентификации Extensible Authentication Protocol (EAP). LEAP (Light Extensible Authentication Protocol) представляет собой специальный расширяемый протокол аутентификации, разработанный Cisco, который отвечает за обеспечение процедуры аутентификации "запрос/ответ" и назначение динамического ключа.

    Протокол EAP-SIM (Extensible Authentication Protocol Method for GSM Subscriber Identity) - это механизм аутентификации и распространения ключей сеанса. Он использует модуль идентификации подписчика SIM (Subscriber Identity Module) системы глобального позиционирования для мобильных коммуникаций GSM (Global System for Mobile Communications). Аутентификация EAP-SIM использует динамический WEP-ключ, созданный специально для сеанса, полученный для шифрования данных от адаптера клиента или сервера RADIUS. Для EAP-SIM необходим специальный код проверки пользователя или PIN для обеспечения взаимодействия с SIM-картой (Subscriber Identity Module). SIM-карта - это специальная смарт-карта, которая используется в беспроводных цифровых сетях стандарта GSM (Global System for Mobile Communications). Описание протокола EAP-SIM представлено в документации RFC 4186.

    Метод аутентификации EAP-AKA (Extensible Authentication Protocol Method for UMTS Authentication and Key Agreement) - это механизм EAP, используемый для аутентификации и сеанса распространения ключей, используемый подписчиком модуля идентификации USIM (Subscriber Identity Module) универсальной мобильной телекоммуникационной системы UMTS (Universal Mobile Telecommunications System). Карта USIM - это специальная смарт-карта, предназначенная для проверки подлинности пользователей в сотовых сетях.

    Протоколы аутентификации

    Протокол PAP (Password Authentication Protocol) - двусторонний протокол обмена подтверждениями, предназначенный для использования с протоколом PPP. PAP является обычным текстовым паролем, используемым в более ранних системах SLIP. Он не защищен. Этот протокол доступен только для типа аутентификации TTLS.

    CHAP (Challenge Handshake Authentication Protocol) - это трехсторонний протокол обмена подтверждениями, предполагающий лучшую защиту, чем протокол аутентификации PAP (Password Authentication Protocol). Этот протокол доступен только для типа аутентификации TTLS.

    MS-CHAP (MD4)

    Использует версию Microsoft протокола RSA Message Digest 4. Работает только в системах Microsoft и позволяет осуществлять шифрование данных. Выбор этого метода аутентификации вызовет шифрование всех передаваемых данных. Этот протокол доступен только для типа аутентификации TTLS.

    MS-CHAP-V2

    Предоставляет дополнительную возможность для изменения пароля, недоступную с MS-CHAP-V1 или стандартной аутентификацией CHAP. Данная функция позволяет клиенту менять пароль учетной записи, если сервер RADIUS извещает о том, что срок действия пароля истек. Этот протокол доступен только для типов аутентификации TTLS и PEAP.

    GTC (Generic Token Card)

    Предлагает использование специальных пользовательских карт для аутентификации. Главная функция основана на аутентификации с помощью цифрового сертификата/специальной платы в GTC. Кроме того, в GTC имеется возможность скрытия идентификационной информации пользователя во время использования шифрованного туннеля TLS, обеспечивающего дополнительную конфиденциальность, основанную на запрещении широкой рассылки имен пользователей на стадии аутентификации. Этот протокол доступен только для типа аутентификации PEAP.

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

    Функции Cisco.

    Cisco LEAP.

    Cisco LEAP (Cisco Light EAP) - это аутентификация сервера и клиента 802.1X с помощью пароля, предоставляемого пользователем. Когда точка доступа беспроводной сети взаимодействует с LEAP-совместимым сервером Cisco RADIUS (сервер Cisco Secure Access Control Server ), Cisco LEAP осуществляет управление доступом через взаимную аутентификацию между адаптерами WiFi клиентов и сетью, и предоставляет динамические, индивидуальные ключи шифрования пользователей для защиты конфиденциальности передаваемых данных.

    Функция защиты точки доступа Cisco Rogue.


    Функция "Cisco Rogue AP" обеспечивает защиту от попытки доступа фальшивой или недопустимой точки доступа, которая может имитировать реальную точку доступа в сети для получения идентификационной информации пользователей и протоколов аутентификации, нарушая тем самым целостность защиты сети. Эта функция работает только в среде аутентификации Cisco LEAP. Технология стандарта 802.11 не защищает сеть от несанкционированного доступа фальшивых точек доступа. Более подробную информацию см. в разделе Аутентификация LEAP.


    Протокол безопасности в смешанных средах 802.11b и 802.11g.


    Режим работы, когда некоторые точки доступа, например, Cisco 350 или Cisco 1200 поддерживают среды, в которых не все клиентские станции поддерживают WEP-шифрование, называется смешанным режимом (Mixed-Cell). Когда некоторые беспроводные сети работают в режиме "выборочного шифрования", клиентские станции, подключившиеся к сети в режиме WEP-шифрования, отправляют все сообщения в шифрованном виде, а станции, подключившиеся к сети в стандартном режиме, передают все сообщения нешифрованными. Эти точки доступа передают широковещательные сообщения нешифрованными, но позволяют клиентам использовать режим WEP-шифрования. Когда "смешанный режим" разрешен в профиле, вы можете подключиться к точке доступа, которая сконфигурирована для "дополнительного шифрования".

    Cisco Key Integrity Protocol (CKIP) - это собственный протокол защиты Cisco для шифрования в среде 802.11. Протокол CKIP использует следующие особенности для усовершенствования защиты 802.11 в режиме "infrastructure":

    Быстрый роуминг (CCKM)


    Когда беспроводная ЛС сконфигурирована для выполнения быстрого повторного подключения, клиент с активной поддержкой протокола LEAP может перемещаться от одной точки доступа к другой без вмешательства главного сервера. Используя централизованное управление Cisco (Cisco Centralized Key Management - CCKM), точка доступа, сконфигурированная для обеспечения работы беспроводной службы доменов (Wireless Domain Services - WDS), заменяет сервер RADIUS и аутентифицирует клиента без существенных задержек, которые возможны для голосовых или других, зависимых от времени приложений.

    Управление радиообменом


    Если эта функция включена, адаптер WiFi обеспечивает информацию управления радиообменом для режима Cisco infrastructure. Если программа Cisco Radio Management используется в сети "infrastructure", она конфигурирует параметры радиообмена, определяет уровень помех и фиктивные точки доступа.

    EAP-FAST

    EAP-FAST, подобно EAP-TTLS и PEAP, использует туннелирование для защиты сетевого трафика. Главным отличием является то, что EAP-FAST не использует сертификаты для аутентификации. Аутентификация в среде EAP-FAST представляет собой единственный коммуникационный обмен, инициируемый клиентом, когда идентификация EAP-FAST запрошена сервером. Если клиент не имеет предварительно опубликованного ключа PAC (Protected Access Credential), он может запросить аутентификационный обмен EAP-FAST для динамического получения ключа от сервера.

    EAP-FAST имеет два метода доставки ключа PAC: доставка вручную с помощью внеполосного механизма и автоматического входа.

    Механизмы доставки вручную представляются любым способом передачи, которые наиболее защищены и выбраны администратором.

    Автоматический вход представляет собой туннелированный шифрованный канал, необходимый для обеспечения безопасной аутентификации клиента и доставки клиенту ключа PAC. Этот механизм не такой защищенный, как метод аутентификации вручную, но более надежен, чем аутентификация LEAP.

    Метод EAP-FAST можно разделить на две части: вход и аутентификация. Фаза входа представляет собой начальную доставку клиенту ключа PAC. Эта часть нужна клиенту и пользователю только один раз.


    Шифрование


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

    Первоначальная аутентификация производится на основе общих данных, о которых знают и клиент, и сервер аутентификации (как то логин/пароль, сертификат и т.д.) - на этом этапе генерируется Master Key. Используя Master Key, сервер аутентификации и клиент генерируют Pairwise Master Key (парный мастер ключ), который передается аутентификатору со стороны сервера аутентификации. А уже на основе Pairwise Master Key и генерируются все остальные динамические ключи, которым и закрывается передаваемый трафик. Необходимо отметить, что сам Pairwise Master Key тоже подлежит динамической смене.

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

    Части TKIP, MIC и 802.1X уравнения WPA играют свою роль в усилении шифрования данных сетей с WPA:

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

    Для этого TKIP усиливает структуру 802.1X/ EAP. Сервер аутентификации, после принятия мандата пользователя (credential), использует 802.1X для создания уникального основного ключа (двустороннего) для данного сеанса связи. TKIP передает этот ключ клиенту и точке доступа, затем настраивает иерархию ключей и систему управления, используя двусторонний ключ для динамического создания ключей шифрования данных, которые используются для шифрования каждого пакета данных, которые передаются по беспроводной сети во время сеанса пользователя. Иерархия ключей TKIP заменяет один статический ключ WEP на примерно 500 миллиардов возможных ключей, которые будут использоваться для шифрования данного пакета данных.

    Проверка целостности сообщений (Message Integrity Check, MIC) предназначена для предотвращения захвата пакетов данных, изменения их содержимого и повторной пересылки. MIC построена на базе мощной математической функции, которую применяют отправитель и получатель, а затем сравнивают результат. Если он не совпадает, то данные считаются ложными и пакет отбрасывается.

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

    Важно отметить, что механизмы шифрования, используемые для WPA и WPA-PSK, являются одинаковыми. Единственное отличие WPA-PSK заключается в том, что там аутентификация производится по какому-либо паролю, а не по мандату пользователя. Некоторые наверняка заметят, что подход с использованием пароля делает WPA-PSK уязвимой для атаки методом подбора, и в чем-то они будут правы. Но мы хотели бы отметить, что WPA-PSK снимает путаницу с ключами WEP, заменяя их целостной и чёткой системой на основе цифробуквенного пароля. Robert Moskowitz из ICSA Labs обнаружил, что ключевая фраза WPA может быть взломана. Это происходит из-за того, что хакер может заставить точку доступа регенерировать обмен ключами менее чем за 60 секунд. И даже если обмен ключами достаточно безопасен для мгновенного взлома, его можно будет сохранить и использовать для оффлайнового перебора. еще один вопрос заключается в том, что EAP передает данные открытым текстом. Изначально для шифрования EAP сессий использовался Transport Layer Security (TLS), но для его работы на каждом клиенте требуется сертификат. TTLS несколько исправил эту проблему. Здесь, начиная с Service Pack 2, при работе с беспроводными сетями позволяет использовать аутентификацию по логину/паролю (то есть PEAP) и аутентификацию по цифровому сертификату (EAP-TLS).


    Взлом беспроводной сети с протоколом WPA


    Но к сожалению даже протокол не такой уж и защищенный. Процедура взлома сетей с протоколом WPA мало чем отличается от уже рассмотренной нами процедуры взлома сетей с WEP-протоколом.

    На первом этапе используется все тот же сниффер airodump. Однако здесь есть два важных момента, которые необходимо учитывать. Во-первых, в качестве выходного файла необходимо использовать именно cap-, а не ivs-файл. Для этого в настройке утилиты airodump на последний вопрос - Only write WEP IVs (y/n) - отвечаем «нет».

    Во-вторых, в cap-файл необходимо захватить саму процедуру инициализации клиента в сети, то есть придется посидеть в засаде с запущенной программой airodump. Если применяется Linux-система, то можно предпринять атаку, которая заставит произвести процедуру переинициализации клиентов сети, а вот под Windows такая программка не предусмотрена.

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

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

    После этого запускаем из командной строки программу aircrack, указывая в качестве выходного файла cap-файл (например, out.cap) и название словаря (параметр –w all, где all - название словаря).

    Программа перебора ключей из словаря дает очень интенсивную нагрузку на процессор, и если использовать маломощный ПК, то для выполнения этой процедуры потребуется много времени. Если же для этой цели задействуется мощный многопроцессорный сервер или ПК на базе двухъядерного процессора, то в качестве опции можно указать количество используемых процессоров. К примеру, если использовать двухъядерный процессор Intel Pentium Extreme Edition Processor 955 с поддержкой технологии Hyper-Threading (четыре логических ядра процессора), и в параметрах запуска программы указать опцию –p 4, что позволит утилизировать все четыре логических ядра процессора (при этом каждое ядро утилизируется на 100%), то на поиск секретного ключа уйдет где то полтора часа.

    Это, конечно, не несколько секунд, как в случае с WEP-шифрованием, но тоже неплохой результат, который прекрасно демонстрирует, что и WPA-PSK-защита не является абсолютно надежной, причем результат взлома секретного ключа никак не связан с тем, какой алгоритм шифрования (TKIP или AES) используется в сети.

    Стандарт безопасности WPA2


    WPA2 (Wireless Protected Access ver. 2.0) – это вторая версия набора алгоритмов и протоколов обеспечивающих защиту данных в беспроводных сетях Wi-Fi. Как предполагается, WPA2 должен существенно повысить защищенность беспроводных сетей Wi-Fi по сравнению с прежними технологиями. Новый стандарт предусматривает, в частности, обязательное использование более мощного алгоритма шифрования AES (Advanced Encryption Standard) и аутентификации 802.1X.

    На сегодняшний день для обеспечения надежного механизма безопасности в корпоративной беспроводной сети необходимо (и обязательно) использование устройств и программного обеспечения с поддержкой WPA2. Предыдущие поколения протоколов - WEP и WPA содержат элементы с недостаточно сильными защитой и алгоритмами шифрования. Более того, для взлома сетей с защитой на основе WEP уже разработаны программы и методики, которые могут быть легко скачаны из сети Интернет и с успехом использованы даже неподготовленными хакерами-новичками.

    Протоколы WPA2 работают в двух режимах аутентификации: персональном (Personal) и корпоративном (Enterprise). В режиме WPA2-Personal из введенной открытым текстом парольной фразы генерируется 256-разрядный ключ PSK (PreShared Key). Ключ PSK совместно с идентификатором SSID (Service Set Identifier) используются для генерации временных сеансовых ключей PTK (Pairwise Transient Key), для взаимодействия беспроводных устройств. Как и статическому протоколу WEP, протоколу WPA2-Personal присуще определенные проблемы, связанные с необходимостью распределения и поддержки ключей на беспроводных устройствах сети, что делает его более подходящим для применения в небольших сетях из десятка устройств, в то время как для к орпоративных сетей оптимален WPA2-Enterprise .

    В режиме WPA2-Enterprise решаются проблемы, касающиеся распределения статических ключей и управления ими, а его интеграция с большинством корпоративных сервисов аутентификации обеспечивает контроль доступа на основе учетных записей. Для работы в этом режиме требуются такие регистрационные данные, как имя и пароль пользователя, сертификат безопасности или одноразовый пароль, аутентификация же осуществляется между рабочей станцией и центральным сервером аутентификации. Точка доступа или беспроводной контроллер проводят мониторинг подключений и направляют аутентификационные запросы на соответствующий сервер аутентификации (как правило, это сервер RADIUS, например Cisco ACS). Базой для режима WPA2-Enterprise служит стандарт 802.1X, поддерживающий аутентификацию пользователей и устройств, пригодную как для проводных коммутаторов, так и для беспроводных точек доступа.

    В отличие от WPA, используется более стойкий алгоритм шифрования AES. По аналогии с WPA, WPA2 также делится на два типа: WPA2-PSK и WPA2-802.1x.

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

    Протокол CCMP (Counter-Mode-CBC-MAC Protocol), основанный на режиме Counter Cipher-Block Chaining Mode (CCM) алгоритма шифрования Advanced Encryption Standard (AES). CCM объединяет два механизма: Counter (CTR) для обеспечения конфиденциальности и Cipher Block Chaining Message Authentication Code (CBC-MAC) для аутентификации.

    Протокол WRAP (Wireless Robust Authentication Protocol), основанный на режиме Offset Codebook (OCB) алгоритма шифрования AES.

    Протокол TKIP для обеспечения обратной совместимости с ранее выпускавшимся оборудованием. Взаимная аутентификация и доставка ключей на основе протоколов IEEE 802.1x/EAP. Безопасный Independent Basic Service Set (IBSS) для повышения безопасности в сетях Ad-Hoc. Поддержка роуминга.

    Вклад в обеспечение безопасности беспроводных сетей механизм CCMP и стандарт IEEE 802.11i. Последний вводит понятие надежно защищенной сети (Robust Security Network, RSN) и надежно защищенного сетевого соединения (Robust Security Network Association, RSNA), после чего делит все алгоритмы на:

    RSNA-алгоритмы (для создания и использования RSNA);

    Pre-RSNA-алгоритмы.

    К Pre-RSNA-алгоритмам относятся:

    существующая аутентификация IEEE 802.11 (имеется в виду аутентификация, определенная в стандарте редакции 1999 г.).

    То есть к данным типам алгоритмов относятся аутентификация Open System с WEP-шифрованием или без (точнее, отсутствие аутентификации) и Shared Key.

    К RSNA-алгоритмам относятся:

    TKIP; CCMP; процедура установления и терминации RSNA (включая использование IEEE 802.1x аутентификации); процедура обмена ключами.

    При этом алгоритм CCMP является обязательным, а TKIP – опциональным и предназначен для обеспечения совместимости со старыми устройствами.

    Стандартом предусмотрены две функциональные модели: с аутентификацией по IEEE 802.1x, т. е. с применением протокола EAP, и с помощью заранее предопределенного ключа, прописанного на аутентификаторе и клиенте (такой режим называется Preshared Key, PSK). В данном случае ключ PSK выполняет роль ключа PMK, и дальнейшая процедура их аутентификации и генерации ничем не отличается.

    Так как алгоритмы шифрования, использующие процедуру TKIP, уже принято называть WPA, а процедуру CCMP – WPA2, то можно сказать, что способами шифрования, удовлетворяющими RSNA, являются: WPA-EAP (WPA-Enterprise), WPA-PSK (WPA-Preshared Key, WPA-Personal), WPA2-EAP (WPA2-Enterprise), WPA2-PSK (WPA2-Preshared Key, WPA2-Personal).

    Процедура установления соединения и обмена ключами для алгоритмов TKIP и CCMP одинакова. Сам CCMP (Counter mode (CTR) with CBC-MAC (Cipher-Block Chaining (CBC) with Message Authentication Code (MAC) Protocol) так же, как и TKIP, призван обеспечить конфиденциальность, аутентификацию, целостность и защиту от атак воспроизведения. Данный алгоритм основан на методе CCM-алгоритма шифрования AES, который определен в спецификации FIPS PUB 197. Все AES-процессы, применяемые в CCMP, используют AES со 128-битовым ключом и 128-битовым размером блока.

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

    Процедура кэширования PMK заключается в том, что если клиент один раз прошел полную аутентификацию при подключении к какой-то точке доступа, то он сохраняет полученный от нее ключ PMK, и при следующем подключении к данной точке в ответ на запрос о подтверждении подлинности клиент пошлет ранее полученный ключ PMK. На этом аутентификация закончится, т. е. 4-стороннее рукопожатие (4-Way Handshake) выполняться не будет.

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

    Появившаяся в 2001 г. спецификация WEP2, которая увеличила длину ключа до 104 бит, не решила проблемы, так как длина вектора инициализации и способ проверки целостности данных остались прежними. Большинство типов атак реализовывались так же просто, как и раньше.


    Заключение


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

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

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

    Следующий шаг - при возможности блокировать широковещательную передачу SSID узлом доступа. В результате взломщику становится сложнее (хотя возможность такая сохраняется) обнаружить присутствие беспроводной сети и SSID. В некоторых AP отменить широковещательную передачу SSID нельзя. В таких случаях следует максимально увеличить интервал широковещательной передачи. Кроме того, некоторые клиенты могут устанавливать связь только при условии широковещательной передачи SSID узлом доступа. Таким образом, возможно, придется провести эксперименты с этим параметром, чтобы выбрать режим, подходящий в конкретной ситуации.

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

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

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

    В целом WEP следует применять лишь в случаях крайней необходимости. Если использование WEP обязательно, стоит выбирать ключи максимальной длины и настроить сеть на режим Open вместо Shared. В режиме Open в сети аутентификация клиентов не выполняется, и установить соединение с узлами доступа может каждый. Эти подготовительные соединения частично загружают беспроводной канал связи, но злоумышленники, установившие соединение в AP, не смогут продолжать обмен данными, так как не знают ключа шифрования WEP. Можно блокировать даже предварительные соединения, настроив AP на прием соединений только от известных MAC-адресов. В отличие от Open, в режиме Shared узел доступа использует ключ WEP для аутентификации беспроводных клиентов в процедуре запрос-отклик, и взломщик может расшифровать последовательность и определить ключ шифрования WEP.

    Если можно применить WPA, то необходимо выбрать между WPA, WPA2 и WPA-PSK. Главным фактором при выборе WPA или WPA2, с одной стороны, и WPA-PSK - с другой, является возможность развернуть инфраструктуру, необходимую WPA и WPA2 для аутентификации пользователей. Для WPA и WPA2 требуется развернуть серверы RADIUS и, возможно, Public Key Infrastructure (PKI). WPA-PSK, как и WEP, работает с общим ключом, известным беспроводному клиенту и AP. WPA-PSK можно смело использовать общий ключ WPA-PSK для аутентификации и шифрования, так как ему не присущ недостаток WEP.

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

    В настоящее время для такой проверки применяется информация трех видов.

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

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

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

    Очень часто комбинируют несколько видов информации, по которой проводится аутентификация. Типичный пример: аутентификационная информация хранится на смарт-карте, для доступа к которой нужно ввести пароль (PIN-код). Такая аутентификация называется двухфакторной . Существуют реальные системы и с трехфакторной аутентификацией.

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

    Удаленная аутентификация

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

    Доступ по паролю

    Простейший протокол аутентификации - доступ по паролю (Password Access Protocol, PAP): вся информация о пользователе (логин и пароль) передается по сети в открытом виде (рис. 1). Полученный сервером пароль сравнивается с эталонным паролем данного пользователя, который хранится на сервере. В целях безопасности на сервере чаще хранятся не пароли в открытом виде, а их хэш-значения.

    Рисунок 1 - Схема протокола PAP

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

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

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

    Запрос-ответ

    В семейство протоколов, называемых обычно по процедуре проверки "запрос-ответ", входит несколько протоколов, которые позволяют выполнить аутентификацию пользователя без передачи информации по сети. К протоколам семейства "запрос-ответ" относится, например, один из наиболее распространенных - протокол CHAP (Challenge-Handshake Authentication Protocol).

    Процедура проверки включает как минимум четыре шага (рис. 2):

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

    Рисунок 2 - Схема протокола аутентификации типа "запрос-ответ".

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

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

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

    Протоколы типа "запрос-ответ" легко "расширяются" до схемы взаимной аутентификации (рис. 3). В этом случае в запросе на аутентификацию пользователь (шаг 1) посылает свое случайное число (N1). Сервер на шаге 2, помимо своего случайного числа (N2), должен отправить еще и число N1, зашифрованное соответствующим ключом. Тогда перед выполнением шага 3 пользователь расшифровывает его и проверяет: совпадение расшифрованного числа с N1 указывает, что сервер обладает требуемым секретным ключом, т. е. это именно тот сервер, который нужен пользователю. Такая процедура аутентификации часто называется рукопожатием.


    Рисунок 3 - Схема протокола взаимной аутентификации

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

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

    Протокол Kerberos

    Протокол Kerberos, достаточно гибкий и имеющий возможности тонкой настройки под конкретные применения, существует в нескольких версиях. Мы рассмотрим упрощенный механизм аутентификации, реализованный с помощью протокола Kerberos версии 5 (рис. 4):

    Рисунок 4 - Схема протокола Kerberos

    Прежде всего, стоит сказать, что при использовании Kerberos нельзя напрямую получить доступ к какому-либо целевому серверу. Чтобы запустить собственно процедуру аутентификации, необходимо обратиться к специальному серверу аутентификации с запросом, содержащим логин пользователя. Если сервер не находит автора запроса в своей базе данных, запрос отклоняется. В противном случае сервер аутентификации формирует случайный ключ, который будет использоваться для шифрования сеансов связи пользователя с еще одним специальным сервером системы: сервером предоставления билетов (Ticket-Granting Server, TGS). Данный случайный ключ (обозначим его Ku-tgs) сервер аутентификации зашифровывает на ключе пользователя (Kuser) и отправляет последнему. Дополнительная копия ключа Ku-tgs с рядом дополнительных параметров (называемая билетом) также отправляется пользователю зашифрованной на специальном ключе для связи серверов аутентификации и TGS (Ktgs). Пользователь не может расшифровать билет, который необходим для передачи серверу TGS на следующем шаге аутентификации.

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

    В случае успешной проверки билета сервер TGS генерирует еще один случайный ключ для шифрования сеансов связи между пользователем, желающим получить доступ, и целевым сервером (Ku-serv). Этот ключ шифруется на ключе Kuser и отправляется пользователю. Кроме того, аналогично шагу 2, копия ключа Ku-serv и необходимые целевому серверу параметры аутентификации (билет для доступа к целевому серверу) посылаются пользователю еще и в зашифрованном виде (на ключе для связи TGS и целевого сервера - Kserv).

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

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

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

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

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

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

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

    Аутентификация. Что это и зачем?

    Нередко при аутентификации вместо заветного «Подключено» на дисплее вашего телефона появляется надпись вроде «Сохранено, защита WPA/WPA2», либо «Проблема аутентификации».

    Что же являет она собой?

    Это особая технология защиты, не допускающая в вашу личную или рабочую сеть незваных пользователей, которые стали бы использовать ваш канал интернета и тратить трафик. Платить за него ведь придется Вам. Да и большой радиус действия точки доступа WiFi, дает возможность подключиться к ней не только людям, для которых она создавалась, но и злоумышленникам. А значит, чтобы предотвратить подобное несанкционированное подключение и требуется высококачественная технологию шифрования данных и проверки подлинности с низкой вероятностью взлома и подбора пароля. Именно поэтому для подключения к сети чаще всего необходимо ввести пароль. Подходящий под Ваши требования способ шифрования данных при аутентификации можно выбрать в настройках роутера или точки доступа, к которой подключается Ваше устройство. Наиболее распространенным сегодня метод проверки подлинности WPA-PSK/WPA2.

    Тут есть два основных варианта:

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

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

    Другой из наиболее эффективных способов решения ошибки аутентификации, поскольку не редко её причиной может быть повреждённая микропрограмма маршрутизатора расположенного у вас дома - это обновление его прошивки до последней версии. Обновлять её строго рекомендуется с официального сайта производителя. Также при этом желательно иметь сохранённую копию файла с конфигурацией роутера, а если у Вас её нет, то не поленитесь сделать её на своем компьютере, чтобы не возникло необходимости подбирать его настройки заново. Кроме того лучше удостовериться, что Ваша сеть не скрытая, то есть просто проверить в настройках, не стоит ли галочка «Hidden SSID» и написано ли имя беспроводной сети SSID на латинице.

    Ошибка аутентификации. Почему возникает?

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

    1. Несоответствие выбранного типа шифрования с используемым.
    2. Ошибка при вводе ключа

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

    Для решения проблемы смотрим видео:

    Устранение ошибок при аутентификации

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

    1. Для проверки настроек нужно зайти в настройки роутера. Чтобы сделать это — откройте любой браузер и введите в адресную строку ip-адрес 192.168.0.1 либо 192.168.1.1 . Это уже зависит от модели используемого вами роутера. После этого введите ваш логин и пароль в появившемся окне. Если вы их не изменяли, то сможете необходимые данные для входа найти на самом роутере, либо в инструкции.
    2. Далее следует перейти к настройкам режима беспроводной сети и вместо «b/g/n», который чаще всего стоит по умолчанию, сменить на «b/g», сохранив после этого все внесенные изменения.
    3. Если все предыдущие манипуляции особого результата не дали, то есть смысл сменить тип шифрования при проверке на WPA/WPA2, если был выбран иной метод, или же наоборот – упростить до WEP, который хоть и устарел, но иногда спасает ситуацию, если другие способы оказываются неэффективны. После этого снова попробуйте подключиться к сети с телефона и заново введите свой ключ для прохождения проверки.

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