В рубрику "Криптография" | К списку рубрик | К списку авторов | К списку публикаций
В настоящее время сложно найти человека, информация о котором не фигурировала бы в каких-либо государственных или коммерческих информационных системах, например информационных системах налоговых органов, пенсионного фонда, банковских базах данных. Однако, как показывает практика, зачастую при создании информационных ресурсов в первую очередь прорабатывается вопрос всестороннего функционального наполнения разрабатываемых сервисов, а вопросы реализации необходимых мер защиты информации оставляются без должного внимания.
Вместе с тем, в настоящий момент обеспечение защиты информации является сложной и многогранной задачей, которая требует комплексного подхода к своему решению.
В этой ситуации нарушитель обладает крайне обширными возможностями по формированию различных векторов атаки. Неадекватный выбор механизмов защиты информации для использования в разрабатываемых информационных системах и сервисах, а также их неправильная реализация приводят к значительному числу потенциальных уязвимостей в создаваемом программном обеспечении. Стоит заметить, что в Российской Федерации существуют нормативные документы, в которых систематизирована информация о различных угрозах при использовании СКЗИ. Несмотря на то, что эти документы носят обязательный характер в достаточно узких ситуациях использования СКЗИ, общая методология оценки угроз, представленная в них, может быть использована для оценки безопасности произвольной системы защиты, использующей криптографические механизмы.
В целом безопасность СКЗИ определяется:
Разработанные в рамках Технического комитета по стандартизации "Криптографическая защита информации" (ТК 26) базовые криптографические механизмы (электронная подпись, функции хеширования, блочные шифры и режимы их работы) к настоящему моменту прошли всесторонний анализ и подтвердили свои высокие криптографические свойства, о чем мы рассказывали в предыдущих выпусках журнала. Особенностью действующей в настоящее время системы национальных криптографических стандартов является использование алгоритмов только высокого уровня безопасности (256 бит или 128 бит при использовании короткого варианта электронной подписи) и отсутствие алгоритмов с низким уровнем безопасности (таких, например, как "экспортный" вариант RSA). Такой подход делает принципиально невозможным для протоколов, использующих отечественные криптографические механизмы, проведение атак, связанных с понижением уровня безопасности используемых в протоколах алгоритмов (атаки Logjam, FREAK, POODLE и др.).
Если говорить о криптографических механизмах более высокого уровня, с помощью которых фактически и реализуются непосредственно пользовательские функции СКЗИ, то в рамках деятельности ТК 26 к настоящему моменту разработан ряд методических рекомендаций и технических спецификаций определяющих использование базовых криптографических механизмов в широко используемых протоколах информационного взаимодействия:
Следует отметить, что даже использование криптографически безопасных механизмов в протоколах высокого уровня не всегда приводит к ожидаемому результату – построению безопасной системы. Так, например, в опубликованной в конце августа 2016 г. работе K. Бхаргавана и Г. Лерента показана практическая возможность атаки на HTTPS и OpenVPN при использовании шифра с длиной блока 64 бит (авторы рассматривают алгоритмы 3DES и Blowfish). Вместе с тем, при грамотном построении СКЗИ эта уязвимость может быть легко устранена. Так, например, определяемый методическими рекомендациями ТК 26 механизм CryptoPro Key Meshing позволяет эффективно противодействовать атакам подобного рода.
Но лидерами по количеству потенциальных уязвимостей, безусловно, являются конкретные реализации СКЗИ. Большинство угроз безопасности являются следствием ошибок, допущенных именно на этапе .
Даже не принимая во внимание такие банальные ситуации, как использование зависимого от времени программного кода или некорректная работа с памятью, важно отметить, что уязвимости могут порождаться самим инструментарием разработчика. Например, использование при программировании архитектурно-зависимых функций может приводить к тому, что критические участки кода исполняются на различных архитектурах и различных операционных системах по разному. Другой проблемой является то, что современные компиляторы обладают широчайшими возможностями по оптимизации программного кода, что может приводить к нарушению заложенной разработчиком логики работы СКЗИ и разработанных мер защиты.
Таким образом, разработка СКЗИ в настоящее время – это технологически сложный и наукоемкий процесс, существенным образом зависящий от особенностей использования создаваемого средства.
В большинстве случаев разработчикам приходится противодействовать не "чистому криптоанализу", а атакам, существенным образом использующим свойства конкретной технической реализации, ошибки использования, методам социальной инженерии.
В ближайшее время эта проблема будет иметь тенденцию к ухудшению, связанную в том числе с активным развитием т.н. технологий Интернета вещей. В этой области даже на мировом уровне вопросы защиты информации серьезно отстают от общего развития области. При этом массовое внедрение устройств Интернета вещей, передающих в том числе конфиденциальную информацию, зачастую может приводить к ситуациям, когда нарушитель имеет существенно большие возможности по сравнению с "классическим" случаем.
Опубликовано: Журнал "Information Security/ Информационная безопасность" #6, 2016