Современная электроника №4/2021
КОМПЕТЕНТНОЕ МНЕНИЕ 73 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 4 2021 управления в не предназначенную для исполняемых команд область памяти была классическим и самым массовым способом передачи управления вредо- носным программам, в результате чего злоумышленники получали контроль над уязвимой системой. Поскольку в современных компью- терных системах память разделяется на страницы, имеющие определённые атрибуты, разработчики процессоров добавили ещё один атрибут, обеспе- чивающий запрет исполнения кода на странице: такая страница может быть использована для хранения дан- ных, но не программного кода. При попытке злоумышленников передать управление на страницу с запретом исполнения программного кода будет инициировано прерывание, ОС полу- чит управление и завершит выполне- ние «подозрительной» программы. Смешно сказать, но на этой «ерунде» возникла целая индустрия киберпре- ступности и (соответственно) инду- стрия кибербезопасности. К сожалению, и теперь, и тем более в будущем (после создания компиля- торов, операционных систем и нара- ботки колоссального количества при- кладного программного обеспечения для стандартных архитектур) доста- точно сложно внедрять в вычислитель- ные системы, казалось бы, очевидные, простые, но требующие и аппаратной, и программной поддержки элементы безопасности, такие как защищённый прямой доступ к памяти с шифрова- нием данных для критически важных функций, защищённая загрузка и защи- щённое обновление кода, контроль доступа к защищённым ресурсам, аутентификация сеансов, защита набо- ров инструкций, на которые не должны выполняться переходы при ветвлени- ях, сохранение функции адреса возвра- та в отдельном «теневом» стеке после передачи управления и извлечение его перед выходом из функции, поддерж- ка встроенного в накопитель обору- дования inline-шифрования (Inline Encryption), осуществляющего про- зрачное шифрование и расшифров- ку на основе заданных ключей и алго- ритмов шифрования при вводе/выводе информации с дисков и т.д, и т.п. Многое в части кибербезопасности, конечно, делается уже сейчас, причём максимальная эффективность защиты достигается как раз там и тогда, когда разработчики имеют как возможность модернизировать вычислительную систему на структурном уровне процес- соров (модифицировать сам кристалл), так и возможность модифицировать (а зачастую создавать заново) её систем- ное (OS, компиляторы) программное обеспечение.Например, в микропро- цессорах «Эльбрус» уже используют- ся защищённые вычисления, основан- ные на контекстной защите памяти на базе тегированной архитектуры, обеспе- чивающей стойкость к компьютерным вирусам и быструю отладку программ, а аппаратно поддерживаемая двоич- ная компиляция обеспечивает совме- стимость этой системы с другими плат- формами на уровне исполняемых кодов. Для реализации всего этого потре- бовалась определённая поддержка и со стороны аппаратуры, операци- онной системы, и со стороны систем языкового программирования: ком- пиляторов, редакторов связей, отлад- чиков. Предложенная разработчика- ми реализация обеспечивает полную и эффективную модульную защиту программного обеспечения (поддер- жанную аппаратурой и компилятором) и может служить основой для защиты системы от компьютерных вирусов, а достичь этого (а также обеспечить воз- можность дальнейшего развития этой «экосистемы») оказалось возможным исключительно благодаря тому, что и идеология, и архитектура, и структура микропроцессора, и его программное обеспечение (OS, компиляторы, ком- поновщики, загрузчики, отладчики) изначально разрабатывались в России, причём как всегда за копейки и «не бла- годаря, а вопреки». И всей этой истории около 50 лет. Защита передаваемой информации При передаче информации через открытые, незащищённые передаю- щие среды важное значение приобре- тает её криптокодирование. Основной задачей криптографии является шиф- рование информации у источника её происхождения и дешифрования её в приёмнике при помощи ключей шиф- рования (не путать с квантовой «крип- тографией», используемой на волокон- но-оптических линиях связи, которая не шифрует информацию, а делает её просто физически принципиально недоступной именно для несанкцио- нированного «съёма»). Формирование, распределение и защита от компрометации ключей осуществляется по-разному, в зави- симости от области применения, сре- ды передачи и класса проектируемых систем: системы массового обслужива- ния, спецсистемы и т.п. При передаче через незащищённую среду по откры- тым каналам связи любую информа- цию (текстовую, цифровую и т.п.) сна- чала преобразуют в двоичный поток бит, затем шифруют его (по тем или иным алгоритмам шифрования) дво- ичным кодом (ключом шифрования), передают зашифрованный двоичный поток по каналам связи, принимают и дешифруют этот поток при помощи двоичных же кодов (ключей дешиф- рования) с помощью соответствующих алгоритмов дешифрования, а затем вос- станавливают исходную информацию в текстовом, цифровом или ином виде. В системах массового обслужива- ния, передающих информацию через открытые (широковещательные) сре- ды, совершенно отдельными проблема- ми являются передача (распределение) открытых ключей корреспондентам, принимающим зашифрованный поток информации, и формирование ими (на основе этих открытых ключей) ключей закрытых, при помощи которых осу- ществляется дешифрование цифрово- го потока на принимающей стороне, а также проблема защиты передаваемых ключей от компрометации [18]. Сам процесс шифрования и дешиф- рования осуществляется посредством примитивных логических опера- ций в двоичном формате, над двоич- ной информацией, с использованием двоичных ключей, но для реализации криптоалгоритмов и алгоритмов рабо- ты с ключами (вычисление, аутенти- фикация, верификация, генерация, распределение ключей, защита их от компрометации и т.п.) в настоящее вре- мя используют весьма сложные алго- ритмы и весьма ресурсоёмкую про- цессорную «десятичную арифметику». Но разве не странно тратить вычисли- тельные ресурсы и время на переход из одной системы счисления в другую и использовать ресурсоёмкие вычис- лительные процедуры в десятичной системе счисления, когда всё это мож- но сделать аппаратно (т.е. на несколько порядков быстрее) в двоичной систе- ме на уровне булевых функций и дво- ичной арифметики? Современные достижения в области дискретной стохастической криптогра- фии позволяют создавать криптографи- ческие технологии совершенно нового типа, аппаратно (без потерь на про-
RkJQdWJsaXNoZXIy MTQ4NjUy