«Эльбрус» — пик безопасности? 16.03.2004 Александр Карабуто
В заключительной статье темы мы познакомимся с еще одним оригинальным взглядом на защиту информационных систем, которого придерживается известный российский разработчик микропроцессоров семейства «Эльбрус» Борис Бабаян.1 Еще во времена СССР команда создателей вычислительных комплексов «Эльбрус» 1 и 2 (1978, 1985) имела за плечами опыт разработки и эксплуатации системы, в которой, в частности, была успешно решена проблема защищенности вычислений. Архитектура последующих микропроцессоров «Эльбрус» 3М и Е2К адаптирует эту технологию для современного окружения. Технология основана на использовании контроля типов данных и аргументов на всех уровнях системы: в аппаратуре, в языке и в ОС. По мнению многих независимых экспертов, отладка программ на ней требует на порядок меньше времени, а качество программ значительно выше, поскольку резко уменьшается доля необнаруженных ошибок в коде. Важнейшее свойство системы — защита от вирусов и хакерских атак. Изначально концепция современных языков программирования высокого уровня не страдает такими недостатками. Все проблемы появляются при реализации этой концепции.2 Но для полного решения проблемы на подобных же идеях должны быть разработаны операционная система и аппаратура, включая организацию регистров и систему команд процессора. Технология «Эльбрус» радикально отличается от традиционного подхода — базовые решения, развитые в языках, эффективно поддержаны в аппаратуре и в операционной системе «Эльбрус». Технология была разработана в 70-е годы, но актуальность заложенных в нее идей возросла в последнее время, когда незащищенность информационных систем создала критическую ситуацию для развития IT-индустрии. Реализация технологии требует, конечно, некоторых аппаратных ресурсов и ведет к небольшому снижению производительности, однако, думается, это вполне разумная плата. Технология защищенности «Эльбрус» обеспечивается простым и небольшим ядром (построенным на базовых идеях), тогда как в других системах приходится штопать огромное и непредсказуемое число дыр (причем нет уверенности, что найдены все дыры и/или не допущены ошибки в громадном числе «штопок»). Одним из базовых принципов организации системы «Эльбрус» является правило работы со ссылкой. Система должна следить за тем, чтобы в операциях, использующих в качестве аргументов ссылки, не применялись данные других типов (целые, вещественные и т. д.), а в операциях с аргументами других типов ссылка не могла быть модифицирована. То есть при работе со ссылками нужен строгий контроль типов. Другой важный базовый принцип — система идентификации и переключения контекста. Не вдаваясь в детали, подчеркнем, что защищенность такой системы базируется на двух простых положениях. 1. Никто не тронет меня 2. Я не трону никого В описываемой системе элементарным звеном защиты является контекст. Любой контекст защищен от ошибочных или злонамеренных действий программ, работающих в других контекстах. Иными словами, обеспечивается защита одной процедуры от другой. Эта защита (в «Эльбрусе» она называется контекстной) существенно отличается от других подобных схем (Unix или Windows), таких, например, как защита между двумя виртуальными пространствами, когда невозможно никакое взаимодействие, — в нашем же случае два контекста могут активно взаимодействовать, работая в одной задаче. Из этих принципов доказуемо вытекает полная и удобная в использовании защищенность. Это верно, по крайней мере, на уровне проектирования системы. Остается проследить, чтобы не вкралась ошибка при реализации этих принципов. Весьма ограниченное количество функций, описанных выше, ответственных за защищенность, сильно упрощает и повышает надежность реализации. Такая система значительно облегчает обнаружение ошибок в программах.3 Прежде всего, введение динамического контроля типов позволяет автоматически обнаружить ряд ошибок, которые иначе приходилось бы искать сложным образом, через семантику программы. Важной чертой описываемой системы является простота и естественность ее использования. Программисту нет необходимости делать что-либо специальное для обеспечения защищенности4. Например, нет ограничений на запуск нескольких независимо откомпилированных программ внутри одной виртуальной памяти. Программы, отлаженные на «Эльбрусе» после перетрансляции, должны работать на других системах. Мало того, отлаженные гораздо лучше, они не будут представлять угрозы для других программ даже на существующих машинах. По мнению разработчиков, «Эльбрус» способен стать системой, на которой можно проверять любые программные системы перед выпуском на рынок. 1 Борис Арташесович Бабаян — один из первых выпускников Физтеха, а ныне — семидесятилетний патриарх с мировым именем в области архитектуры и программного обеспечения вычислительных комплексов, устойчивых к отказам и сбоям, директор Института микропроцессорных вычислительных систем РАН, главный конструктор вычислительных средств систем ПРО/ПКО и микропроцессорных вычислительных комплексов «Эльбрус», научный руководитель ТОО «Московский центр SPARC-технологий» (www.elbrus.ru), с 1984 года — член-корреспондент РАН. Мы предлагаем вам конспект основных положений стостраничной статьи Бориса Бабаяна «Защита информационных систем», опубликованной в 2003 году на www.elbrus.ru/mcst/ secure_ information_system_v5_2r.pdf и излагающей взгляды автора на защиту информационных систем. За деталями желающие могут обратиться к первоисточнику.
|