Light mode

«Преподавать ради денег — бессмысленно»: как я читал курс по безопасной разработке в ВШЭ

8 минут
  • #AppSec
  • #Образование

В обществе сложилось неоднозначное, скорее даже негативное отношение к онлайн-курсам и онлайн-образованию в целом. «Чему можно научиться в интернете? Какой специалист может вырасти из студента, который ни разу не нюхал пыль аудиторий? Ну уж нет — только парта и кафедра!» Все знают термин «инфоцыгане»… Но я убежден, что дело не в приставке «онлайн», а в том, кто, чему, зачем и где учит. В 2022–2023 году я провел онлайн-курс по безопасной разработке в Высшей школе экономики и приобрел преподавательский опыт, которым хочу поделиться.

Три причины стать преподавателем

В интернете можно найти массу курсов по ИБ. По запросу «онлайн-курс информационная безопасность» Google выдает больше миллиона ссылок: GeekBrains, Skillbox, «Нетология», Udemy... Десять лет назад ничего подобного не было. Чтобы хоть как-то прикоснуться к ИБ, а уж тем более к хакерской тематике, нужно было забыть все, чему тебя учили в институте, бежать на специализированные форумы, участвовать в CTF-соревнованиях и самостоятельно постигать азы, а потом и глубины кибербеза. Возможно, именно поэтому нас, практиков, так тянет в преподавание. Хочется дать будущим ИБ-специалистам то, чего мы сами были лишены, — доступные квалифицированные знания под обложкой одного курса.

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

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

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

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

«Вышка»

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

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

В обучении участвовало более 70 человек — студенты вузов и сотрудники российских компаний (в основном старше 30 лет).

3 месяца
70+ учащихся
12 лекций 
9 вебинаров

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

Детали курса

Я разработал программу с нуля. В нее входят 12 видеолекций (по 45 мин. каждая) и 9 онлайн-вебинаров (от 1,5 ч. и более). В течение недели студенты изучали лекции, а по субботам мы проводили практические занятия.

О чем мы говорили на лекциях:

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

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

Первый — анкетирование. Это классические онлайн-тесты с несколькими вариантами ответов. Например:

Определите модель приложения, рассматриваемую в рамках предметной области безопасности приложений:

  1. Поток управления.
  2. Поток данных.
  3. Поток управления и множество производных от него потоков данных.
  4. Множество производных потоков управления от потока данных.
  5. Потоки данных и управления, производные друг от друга.

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

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

Нежданчик № 1

Студенты — это студенты, даже если речь идет о менеджерах старше 30 из солидных компаний. Желание сачкануть есть у всех, и для меня до сих пор остается загадкой, как можно отдать 800 000 руб. на курс и забить на учебу.

Без списываний тоже не обошлось. Однажды я получил выполненную домашнюю работу, где в самом начале файла красовалась фраза: «Только, пожалуйста, не показывай Кочеткову в этом виде, иначе он спалит, что это я сделал». Этот человек сделал мой день.

Немного об инструментах

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

Преподавателям помогала команда «Нетологии». За мной был закреплен методист, который давал рекомендации по проработке материалов курса. Каждый слайд лекций проходил через редактора-корректора; кроме того, коллеги помогали при записи видео.
 

Реверанс

Хочу отдать должное команде «Нетологии». При чтении докладов я привык ориентироваться на слайды, но в случае с видеолекциями так нельзя — нужно смотреть в камеру. Мы отдельно записывали каждый абзац, иногда на сорокаминутный ролик уходил целый день. Сначала я то и дело косился на слайды, жутко нервничал, и мы снова и снова переписывали один и тот же кусок. Коллеги меня поддерживали, помогали и отпаивали чаем :) Постепенно я освоился, дело пошло веселее, и во многом это заслуга команды «Нетологии». В будущем я бы не хотел менять платформу, хотя есть и другие, не менее эффективные инструменты.

Онлайн-площадка выручала: общаться с такой большой и разнообразной аудиторией вживую было бы куда сложнее. Но без проблем, конечно, не обошлось. Мой курс был частью большой программы — одним из модулей, которые студенты сами выбирали и комбинировали. При этом в программе были взаимоисключающие модули. К примеру, учащимся нужно было выбрать либо программирование на Python, либо криптографию. Проблема в том, что задания моего модуля предполагали владение Python, поэтому те, кто выбрал криптографию, не могли делать домашку. Мы обсудили этот косяк с организаторами и договорились исправить его в будущем.

Нежданчик № 2

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

Что дальше

Нынешняя группа студентов продолжает обучение, а в ноябре ко мне придет новый поток. В этот раз я планирую привлечь к работе коллег из Positive Technologies. Все-таки каждый раз проверять 70 домашек — это долго и не так уж просто.

Кроме того, я планирую активнее использовать на вебинарах наши ИБ-продукты. Это отличный способ показать, как та или иная функциональность реализуется на практике. Тем более что я знаю все нюансы. Например, в новом учебном году я хочу использовать PT Application Inspector на практических занятиях, посвященных поиску и устранению уязвимостей в коде.
 

Screenshot1.png
Интерфейс PT Application Inspector

 

Будущим преподавателям посвящается

  • Не стоит идти в преподавание только ради денег. Гонорары составляют примерно 1/10 часть моей зарплаты, а времени зачастую уходит даже больше. Кроме того, я убежден, что одной из главных задач преподавателя является «зажигание глаз» студентов, пробуждение интереса к предметной области. Если вы работаете только ради денег, у вас вряд ли это получится.
  • «Метод прогрессивного джипега» от Артемия Лебедева прекрасно ложится на подход к разработке учебных материалов. Нужно идти от общего к частному, чтобы в любой момент у вас была возможность использовать уже имеющиеся материалы при проведении занятий.
  •  В области безопасности приложений (как, впрочем, и во всей ИБ) практика имеет куда большее значение, чем теория. А негативный опыт играет не меньшую роль, чем позитивный. Чтобы освоить язык программирования, нужно писать код, в котором поначалу будет много багов и ошибок. Чтобы научиться администрировать сеть, нужно завалить несколько инфраструктур в попытке настроить конфигурацию. Чтобы разобраться в безопасности приложений, нужно пропустить приличное количество уязвимостей. Любой подобный курс должен строиться вокруг практики, которую дополняет теория, а не наоборот.

Да пребудет с нами сила AppSec!
 

Мы дěлаем Positive Research → для ИБ-экспертов, бизнеса и всех, кто интересуется ✽ {кибербезопасностью}