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

Осень 2020

Цель курса — Изучение безопасности современных сервисов с точки зрения penetration tester-а и разработчика.
Получение знаний о всех современных векторах атаки на интернет-приложения
Получение навыков создания безопасных архитектур и защиты от атак.
Владение современными инструментами аудита безопасности.

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

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

— методики анализа безопасности клиент-серверных приложений

— методики анализа кода

— архитектурный анализ

— практики разработки защищенных приложений
Подробнее

Преподаватели

Сергей Прилуцкий Сергей Прилуцкий

Бывший ведущий разрабочик в Антиспаме@Mail.Ru, сейчас один из сооснователей компании MixBytes.io,...


Подробнее

Николай Ермишкин Николай Ермишкин

Аналитик информационной безопасности в Mail.Ru. Взламываю сайты, участвую в баг баунти, CTF.

Никита Куликов Никита Куликов

Android-разработчик SDK Notify в MailRu

Программа

занятие Часы в ауд. + сам. работа

Лекция №1: Анализ распространенных web-уязвимостей  

Классификация web-уязвимостей

Векторы атаки

Рассмотрение основных типов web-уязвимостей

Сценарии атак

Методы защиты

4 часа + 3 часа СР

Лекция №2: Продолжение анализа web-уязвимостей. Прикладные аспекты  

Поиск уязвимостей

Программные средства для проведения аудита безопасности web-сервисов, демонстрация их использования

4 часа + 2 часа СР

Семинар №1: Аудит безопасности реального web-сервиса  

Проведение аудита безопасности реального web-сервиса

Поиск и эксплуатация реальных уязвимостей

4 часа + 3 часа СР

Рубежный контроль №1: Аудит безопасности реального web-сеервиса  

Аудит безопасности предложенного преподавателем web-сервиса
4 часа + 3 часа СР

Лекция №3: Обеспечение безопасности современных web-сервисов с точки зрения разработчика и администратора. Практические кейзы  

Нежелательный контент и злонамеренное использование web-сервисов
Архитектура систем фильтрации, репутационные системы
Авторегистрация, боты и автоматизированная генерация контента
DoS, DDoS и методы защиты от них, rate limiting
Аккаунты и парольная защита
4 часа + 3 часа СР

Лекция №4: Безопасность исполняемого кода и антивирусные технологии  

Эксплоиты и низкоуровневые атаки 
Модель памяти процессов и атаки с использованием низкоуровневых механизмов 
Форматы исполняемых файлов
Компьютерные вирусы и скрытый вредоносный код
Внедрение и сокрытие исполняемого кода
Антивирусная безопасность
Скрытное проникновение в информационные системы и методы детектирования


 
4 часа + 2 часа СР

Смешанное занятие №1: Реверс инжиниринг, защита ПО + практика  

Исследование исполняемого кода с целью восстановления или модификации алгоритма
Защита от исследования кода, коммерческие защиты ПО
Практикум по реверсированию
Демонстрация инструментальных средств, отладка, дизассемблирование
Исследование и модификация исполняемого кода

 
4 часа + 3 часа СР

Смешанное занятие №2: Безопасность мобильных приложений  

Атаки на мобильные приложения Android и iOS
Методы защиты мобильных приложений
Практическая часть: написание патчей, инжектирование в процессы, обман защиты

 
4 часа + 2 часа СР

Рубежный контроль №2: Реверс инжиниринг, исполняемый код и мобильные приложения  

Исследование и патчинг бинарников
Мобильное приложение - исследование кода
Написание кейгена на основе кода из моильного приложения
4 часа + 2 часа СР

Лекция №5: Криптография: симметричные и ассиметричные криптосистемы  

Основные положения и алгоритмы

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

Ассиметричные криптосистемы
Односторонние функции, алгоритм Диффи-Хеллмана, шифрование, электронная подпись
Современные ассиметричные криптопротоколы
Практические аспекты асимметричных криптоалгоритмов и их реальное использование
4 часа + 3 часа СР

Лекция №6: Криптография. Аспекты применения и реальные алгоритмы.  

Использование криптопротоколов для решения практических задач
Квантовая криптография
Zero-knowledge и succinct proofs
4 часа + 2 часа СР

Лекция №7: Децентрализованные сети, архитектура и алгоритмы консенсуса  

Peer-to-peer networks, DHT, IPFS, протокол BitTorrent
Блокчейн Bitcoin, форматы транзакций, консенсус, майнинг
Алгоритмы консенсуса proof-of-work, proof-of-stake, proof-of-authority, аспекты безопасности и ограничения


 
4 часа + 2 часа СР

Лекция №8: Децентрализованные сети, процессинг транзакций, смарт-контракты, новые архитектуры  

Архитектура Ethereum, модель аккаунтов, смарт-контракты, state database
Виртуальные машины для процессинга кода контрактов, EVM, WebAssembly, нативный код, ограничения
Другие архитектуры, фреймворки для построения собственных блокчейн-решений
Интересные аспекиы блокчейн-технологий
 
4 часа

Лекция №9: Смарт-контракты, практикум  

Практикум по написанию смарт-контрактов на Solidity. 
Логика, тестирование, выкладка контрактов в тестовую сеть, взаимодействие с пользователем
4 часа + 2 часа СР

Рубежный контроль №3: Криптография и блокчейн, рубежный контроль  

1) вопрос по криптографии
2) вопрос по сетям
3) написание несложного контракта на Solidity
4 часа

РАСПИСАНИЕ

Полное расписание