Амелин Р.В. Лаборатория преподавателя ИТ. Дизайн. Право

Заключение, которое никто обычно не читает

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

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

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

  • Математические основы информационной безопасности. Криптографические алгоритмы и протоколы базируются на строгой доказательной математике, позволяющей оценивать их стойкость и надежность в заданных условиях. Те же области математики используются для разработки новейших методов криптоанализа. Соперничество криптографии и криптоанализа привело к взрывному развитию математического аппарата в таких областях как булева алгебра, теория чисел, теория сложности. Прежде чем дойти до математического аппарата, реально использующегося на фронтире, понадобится изучить довольно много, но это действительно интересная и перспективная сфера для занятий математической наукой. Можно начать с одной из многих книг о теоретико-числовых методах в криптографии. Если считаете себя достаточно подготовленным математически, попробуйте продвинутый учебник для исследователей: Булевы функции в теории кодирования и криптологии О. А. Логачева, А. А. Сальникова и В. В. Ященко.
  • Современные технологии информационной безопасности. Каждый день картина угроз и защитных мер меняется. Угрозы устаревают вместе с технологиями; противники находят новые приемы; обнаруживаются уязвимости в популярных алгоритмах и их реализациях; совершенствуется математический аппарат. Специалисты по защите информации с ужасом ждут создания реально действующего квантового компьютера и придумывают защитные меры уже сейчас. Меняются и практически используемые каждый день протоколы и алгоритмы. Не только симметричные шифры докомпьютерной эпохи, но и другие стандарты, рассмотренные в курсе для объяснения на их примере важных концепций, сегодня могут фактически не применяться. Современному специалисту, работающему над созданием защищенных систем, необходимо разбираться в технологиях, актуальных сегодня. Их изучение не требует глубокого знания математического аппарата (в известной степени можно доверять оценкам надежности от соответствующих специалистов), но требует видения полной картины, взаимодействия технологий, их применимости для конкретных задач и т.д. Начать погружение стоит с книги Росса Андерсона Security Engineering, а потом – материалы OWASP по защите веб-приложений, база приемов MITRE ATT&CK и банк данных угроз ФСТЭК – свежесть, которую придется добывать самому, читать новости, а не книги.
  • Безопасная разработка. Криптографические средства и защитные механизмы могут идеально подходить для противодействия актуальным угрозам, быть стойкими, надежными и иметь надлежащее математическое обоснование. Но в конечном счете они существуют в программном коде, который кто-то пишет. В курсе рассмотрен класс уязвимостей, связанных с излишним доверием разработчика к внешним данным, но, разумеется, этим опасности далеко не исчерпываются. Программист, занимающийся написанием безопасного кода, или тестировщик, анализирующий уязвимости информационной системы, должен развивать особый склад ума, в том числе уметь думать как взломщик. Начать можно с одной из книг Майкла Ховарда, например, «24 смертных греха компьютерной безопасности», а затем всерьез исследовать сферу этичного хакинга и пентестинга, начиная с правовых вопросов (т.к. неправомерный доступ остается преступлением независимо от мотивов).
  • Управление информационной безопасностью. Великолепный гуру в области информационной безопасности Брюс Шнайер написал в 1990-е книгу «Прикладная криптография», где разобрал самые актуальные на тот момент алгоритмы и протоколы, включая программную реализацию и историю их развития (самое интересное – причины, по которым вносились изменения при переходах к следующей версии!). Эта книга стала настольной для программиста, работающего над созданием защищенных систем. Несколько лет спустя он написал еще одну книгу: «Секреты и ложь. Безопасность данных в цифровом мире». В ней он покаялся за предыдущую и очень просил не читать ее раньше времени. Люди проникаются верой в надежные шифры, начинают их использовать и чувствуют себя в безопасности, а какая же безопасность, если при этом они хранят ключи в файлах на рабочем столе и пароли записывают на бумажке?! Книга не потеряла актуальность несмотря на смену технологий, написана живым и понятным языком и продолжает логику рассуждений этого курса. Понимать, как строить систему защиты должны не только разработчики, но и те, кто дает им задание. Это первый шаг на пути к превращению в специалиста, ответственного за информационную безопасность в компании (Chief Information Security Officer, CISO), – того, кто решает, какие активы защищаются, какие меры принимаются, кто за что отвечает (политика, приемлемый риск, аудит, непрерывность деятельности, зрелость процессов…).

Брюс Шнайер потом написал еще одну книгу. «Beyond Fear: Thinking Sensibly About Security in an Uncertain World». Она о безопасности вообще. Сам не читал, но думаю, в начале он опять извиняется и просит не читать раньше времени предыдущую. Ведь какой смысл заниматься информационной безопасностью, если не умеешь правильно переходить улицу и в любой момент вся эта конфиденциальность может стать неактуальной.

  • Правовые основы информационной безопасности. Как было показано в курсе, правовые меры составляют важнейший рубеж защиты, поддерживающий все остальные. Бессмысленно составлять инструкции, за неисполнение которых нельзя наказать, равно как бессмысленно устанавливать программы защиты, которыми не будут правильно пользоваться. Кроме того, законодательство фиксирует множество требований к безопасности самых разных классов систем (обрабатывающих персональные данные, являющихся объектами критической инфраструктуры и т.д.). А за нарушение этих требований организацию наказывают. Интересный факт: производство криптографических средств защиты относится к лицензируемым видам деятельности и так просто кто угодно не может программировать свои шифраторы. Понимание того, что хочет от разработчиков законодательство и как оно в свою очередь может помочь в построении работающей системы защиты тоже требует специальных знаний и особого склада ума. Начинать надо с самих законов («Об информации, информационных технологиях и о защите информации», «О персональных данных», «О коммерческой тайне», «Об электронной подписи»), а потом комментариев к ним и учебникам по информационному праву.
  • Анекдоты, истории и захватывающая литература о хакерах и прочих чертях. Я бы рекомендовал начать с «Криптономикона» Нила Стивенсона. Ни в коем случае не читайте «Цифровую крепость» Дэна Брауна.

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

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

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