Привет, Хабр. Меня зовут Владимир Душкевич, я специалист по информационной безопасности, преподаватель факультета «Информационная безопасность». Несколько лет назад я присоединился к команде GeekBrains и хочу рассказать об этом. В конце статьи будет небольшой анонс для тех читателей, кто тоже хотел бы стать частью нашей команды. Но это потом, а сначала моя история.

Все началось в 2018 г. — тогда я впервые услышал о GeekBrains. И, решив подтянуть навыки программирования, устроился на курсы. Тогда же узнал, что компания ищет преподавателя по информационной безопасности, и меня это заинтересовало. В то время я уже преподавал в Архангельском колледже телекоммуникаций (АКТ (ф) СПбГУТ) и карьера преподавателя в офлайне меня вполне устраивала. Но было интересно узнать, как все происходит, когда преподаешь по удаленке.

Немного о себе


Вуз я закончил еще в 2008 г. по специальности «Физика с дополнительной специальностью Информатика» в Поморском Государственном университете им. М.В. Ломоносова. Потом неоднократно получал дополнительное образование: в сфере информационной безопасности, Linux, сетевых и web-технологий. Профессионалу постоянно нужно учиться, чтобы знания и опыт не устарели — я это хорошо понимал и понимаю. В IT по-другому просто нельзя. К примеру, нельзя быть специалистом по защите информации без знания настройки антивирусной сети, поэтому последним сертификатом, который я получил, стал сертификат компании DrWeb по администрированию DrWeb Enterprise Security Suite v.11. С другой стороны, бывает полезно взглянуть на безопасность со стороны злоумышленника, поэтому пришлось изучать техники, используемые в сетевых атаках. В частности, иногда приходится изучать подозрительные файлы, поэтому без знания техник не обойтись.


Среда для динамического анализа вредоносного ПО.

К сожалению, курсы по программированию, которые я решил пройти в GeekBrains, закончить не удалось, поскольку преподавательская работа в колледже отнимала массу времени. У нас как раз проходила аккредитация специальности 10.02.02 «Информационная безопасность телекоммуникационных систем», и мне пришлось составлять большое количество документов. То есть бюрократическая работа просто не оставила времени на учебу.

Теперь о том, как я попал в GeekBrains. В мае 2018 г. на портале hh.ru увидел вакансию преподавателя по информационной безопасности с дистанционным форматом работы. Захотелось попробовать себя в новом деле, и я решил откликнуться на вакансию. Со мной связался методист, сообщил, что нужно провести пробную трансляцию на YouTube с небольшим уроком. Я провел ее успешно, после чего меня пригласили преподавать.

Моя работа в GeekBrains


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

  • методологии поиска уязвимостей;
  • pentest и Bug Bounty;
  • разведка;
  • разведка 2.0;
  • security misconfiguration;
  • inclusion;
  • remote code execution;
  • non-RCE vulnerabilities.

На втором курсе рассматриваем уязвимости клиентской части и возможные способы защиты. Это интерактивный курс, на котором мы изучаем:

  • что такое XSS;
  • контексты XSS;
  • классификацию XSS;
  • эксплуатацию XSS;
  • обход WAF;
  • CSRF;
  • content security policy;
  • прочие уязвимости на клиенте.

Достоинства онлайн-преподавания


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

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


Уязвимая среда Owasp Mutillidae используется на курсах для демонстрации уязвимостей.

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

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

Например, на курсе мы используем Kali Linux (и утилиты из ее состава), а на моей предыдущей работе к использованию этой операционной системы относились скорее отрицательно.


Сканер Nikto используется у нас на курсах для поиска уязвимостей.

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

Я описываю не только положительный опыт, но и проблемы, которые могут возникнуть в работе специалиста по компьютерной безопасности. Например, эффект от использования некоторых утилит очень сильно зависит от настроек системы. Если чего-то не хватает, то привычный инструмент работать не будет. Об этом нужно рассказывать, демонстрируя все на практике. К примеру, можно заблокировать использование многих «нежелательных» утилит для анализа сервера и поиска информации на нем. Идея заключается в том, что у многих утилит значение поляUser_Agent является уникальным. Один из методов блокировки — через файл .htaccess при наличии установленного и активированного модуля mod_rewrite. Содержимое файла будет таким (на примере Apache 2):

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} curl [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^$ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Acunetix [NC]
RewriteRule ^.* - [F,L]

Где:

  • curl означает, что слово «curl» должно встречаться в поле User_Agent;
  • ^ означает начало строки, то есть ^Acunetix — строка, которая начинается на Acunetix;
  • ^$ означает пустоту;
  • RewriteRule ^.* — [F,L] — страница 403 (Forbidden, опция [F]); она возвращается, если выполняется хотя бы одно из условий.

В итоге запрос, содержащий User_Agent утилиты curl, будет заблокирован:


Заблокированный запрос утилиты curl.

Что получает выпускник курса по информационной безопасности?


Если говорить обо всем курсе, то по завершении обучения студент получает:

  • навыки работы с операционной системой Linux, азы программирования на Python и знание основных компонентов, из которых состоит web: URL, HTTP, HTML, JavaScript, Same Origin Policy и т.д.;
  • навыки поиска уязвимостей в клиентской части web-приложений, эксплуатации клиентских уязвимостей, знание способов защиты, понимание принципов работы основных web-протоколов и механизмов защиты браузера;
  • навыки поиска server-side-уязвимостей и понимание особенностей Bug Bounty, что позволит зарабатывать деньги с помощью Bug Bounty;
  • навыки использования проводных и беспроводных сетей, понимание их устройства, знание способов обеспечения безопасности в сетях и умение тестировать параметры их безопасности;
  • навыки обратного инжиниринга приложений, поиска и эксплуатации бинарных уязвимостей, знание основ криптографических протоколов.

Что касается направлений, которые я веду в рамках курса, то студенты:

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

В качестве заключения


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

А теперь тот самый анонс. Если хотите присоединиться к команде GeekBrains, то сейчас есть хорошая возможность: компания ищет новых преподавателей, авторов и ревьюеров, от backend-разработчиков до data scientist, от тестировщиков до специалистов по информационной безопасности. Все это можно совмещать с основной работой. Узнать подробнее, а также подать заявку, если предложение вас заинтересовало, можно по этой ссылке.