Классификация средств антивирусной защиты 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Классификация средств антивирусной защиты



 

Хорошей иллюстрацией тезиса о продуктивности анализа явления не только в статике, но и в динамике, является анализ состояния антивирусной защиты [11]. Каких только классификаций средств защиты не приходится видеть! Как правило, с научной точки зрения ни одну их них классификацией назвать нельзя, так как выполняются они по разным основаниям. Что же является причиной? Думается, именно то, что во внимание не принимается динамический этап существования информационных технологий. В результате классификации пересматриваются каждый раз с появлением новых антивирусных программ, а отнесение антивирусной программы к тому или иному виду носит волюнтаристский характер, не говоря уже о том, что неверные классификации неприменимы для прогноза развития и планирования работ.

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

Анализ данных – к этому классу антивирусных средств относятся «ревизоры» и «полифаги».

«Ревизоры» анализируют последствия от деятельности компьютерных вирусов и других вредоносных программ. Последствия проявляются в изменении данных, которые изменяться не должны. Именно факт изменения данных является признаком деятельности вредоносных программ с точки зрения «ревизора». Другими словами, «ревизоры» контролируют целостность данных, и по факту нарушения целостности принимают решение о наличии в компьютерной среде вредоносных программ.

«Полифаги» действуют по-другому. Они на основе анализа данных выделяют фрагменты вредоносного кода в файлах пользователя (например, по его сигнатуре), и на этой основе делают вывод о наличии вредоносных программ. Удаление или «лечение» пораженных вирусом данных позволяет предупредить (компенсировать) негативные последствия исполнения вредоносных программ.

Схема работы и «ревизоров», и «полифагов» практически одинакова – сравнить данные (или их контрольную сумму) с одним или несколькими эталонными образцами. Данные сравниваются с данными.

Таким образом, для того, чтобы найти вирус в своем компьютере, нужно, чтобы он уже «сработал», чтобы появились последствия его деятельности. Вряд ли такую защиту можно назвать надежной.

Несколько по-иному работают антивирусные средства, основанные на анализе процессов.

«Эвристические анализаторы» также, как и ранее, анализируют данные (на диске, в канале, в памяти – это в данном случае несущественно). Принципиальное отличие состоит в том, что анализ проводится в предположении, что анализируемый код – это не данные, а команды. Еще раз напомним, что в компьютерах с фон-Неймановской архитектурой данные и команды неразличимы, в связи с этим при анализе и приходится выдвигать то или иное предположение.

«Эвристический анализатор» выделяет последовательность операций, каждой из них присваивает некоторую оценку «опасности», и по совокупности «опасности» принимает решение о том, является ли данная последовательность операций частью вредоносного кода. Сам код при этом не выполняется.

Другим видом антивирусных средств, основанных на анализе процессов, являются «поведенческие блокираторы». В этом случае подозрительный код выполняется поэтапно до тех пор, пока совокупность инициируемых кодом действий не будет оценена как «опасное» (либо «безопасное») поведение. Код при этом выполняется частично – ведь завершение вредоносного кода можно будет обнаружить более простыми методами анализа данных.

Подведем итог. Анализу можно подвергать данные и процессы. Данные в нашем случае можно характеризовать с помощью понятия «целостность». Факт нарушения целостности устанавливают «ревизоры». Конкретный внедренный код, содержание модификации, выявляют «полифаги». Других вариантов нет, и, следовательно, развитие данного направления будет идти по пути совершенствования уже используемых механизмов.

Процессы, развивающиеся во времени, следует и анализировать «во времени», то есть в процессе исполнения. В типичных случаях, можно анализировать без исполнения («эвристические анализаторы»), можно на основе поведения, выявляемого при частичном исполнении кода (поведенческие блокираторы). Этим и исчерпываются применяемые сегодня методы. Теперь очевидно, что остается не реализован еще один (и самый достоверный) метод – на основе полного исполнения кода.

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

 

ДОВЕРИЕ

 

Проблемы доверия – на примере банков и клиентов

 

Доверие является фундаментальным понятием безопасности (защищенности). Это связано с человеком как субъектом безопасности. Любая защита, сколь бы надежной она ни была, не создаст ощущения безопасности, если человек ей не доверяет.

И наоборот. Если человек доверяет плохому продукту, у него возникает ощущение безопасности. Но это плохо – безосновательная успокоенность при реальной незащищенности обычно приводит к печальным последствиям.

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

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

Во всех случаях «успешных» хакерских атак банки объясняли своим пострадавшим клиентам, что банк не при чем, а виноваты они сами. Но как же так? Разве клиент виноват, что банк перепутал его с преступником и отдал преступнику деньги, которые гражданин доверил банку? Зачастую вина клиента в таких ситуациях лишь в том, что он выбрал именно этот банк.

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

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

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

Какое уж тут доверие? Клиенты недовольны банками, банки в каждом клиенте видят потенциального хакера.

Так как быть? Защищать банки от клиентов или клиентов от банков?

Для ухода от крайних позиций целесообразно правильно выставить цели и понять, как сделать информационное взаимодействие клиента и банка безопасным, удобным и при этом недорогим.

Положения Федерального закона от 27 июня 2011 года № 161-ФЗ «О национальной платежной системе» (161-ФЗ) создали реальные предпосылки для реализации повышения доверия клиентов к ДБО – если деньги клиента со счета в банке исчезнут, то банк должен сначала деньги вернуть, а уже потом разбираться, куда они исчезли, и кто в этом виноват. Это достаточно радикальное средство возвращения доверия клиентов к услугам банка. Но риски банков тоже должны быть блокированы – а ведь техническая защита информации никак не может быть профильной для банка. Совсем другой бизнес у банков. Видимо, поэтому за минувшее время почти ничего не изменилось – предпосылки так и остались предпосылками. У сильного всегда бессильный виноват.

В ДБО участвуют две стороны — Банк и Клиент.

Банк. Функция обеспечения защиты информации, идентификации и аутентификации клиентов — не свойственна банку. Но банк вынужден это делать в силу упомянутых особенностей законодательства. Конечно, он делает это плохо. Более того, плохое исполнение этих функций — выгодно банку. Имитируя защиту, банк не тратит много денег и всегда может обвинить клиента в недостаточно полном следовании правилам ИБ.

Клиент. Клиент (хозяйствующий субъект) приходит в банк потому, что другого способа управлять своими деньгами у него нет. Он исходит из того, что банк его не обманет, и рекомендации банка по ИБ воспринимает как диктуемое ему условие, выполнение которого необходимо для получения услуги от банка.

Суть информационного взаимодействия клиента и банка заключается в том, что клиент поручает (с использованием электронного платежного поручения) банку выполнить ту или иную операцию с его (клиента) деньгами, находящимися на его (клиента) счете. Это волеизъявление клиента, и оно должно быть оформлено соответствующим образом. При использовании услуги ДБО это означает, что поручение клиента должно быть подписано электронной подписью. ЭП может эффективно соответствовать своим декларируемым целям при условии, что она (ЭП) вырабатывается и устанавливается в доверенной среде. Средство, с помощью которого ведется работа с ЭП, называется средством электронной подписи (СЭП).

Для банка при выполнении поручения клиента важнейшим элементом является закрепленное клиентским договором положение о том, что банк «выполняет поручения клиента». Клиента, а не хакера.

Для выполнения данного положения в распоряжении банка должны быть средства идентификации и аутентификации, позволяющие однозначно отделять хакерские «поручения» от волеизъявления клиентов, а также надежные средства ЭП. Причем средство ЭП вполне может быть не клиентским, а банковским (с точки зрения размещения). Юридическую значимость имеет волеизъявление клиента, а не его подпись. Подпись может подтверждать волеизъявление, но для этого должны быть обеспечены соответствующие условиях – например, собственноручность подписи. Если подпись клиента ставит хакер – является ли это отражением волеизъявления клиента? Думается, нет.

Таким образом, нужно рассмотреть требования к идентификации и требования к ЭП.

ЭП использует ключ подписи (КП), который принципиально не должен быть никому известен, поскольку именно он обеспечивает свойства электронного документа (ЭлД), связанные с тем, что снабдить документ ЭП может только его автор или владелец[8].

Процедура ЭП всегда используется в некоторой системе, обеспечивающей целевую функцию обработки ЭлД, включающую выработку и проверку ЭП в ЭлД. То есть это всегда подсистема системы более высокого уровня.

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

Если ЭП реализована в отдельном устройстве, не имеющем общей памяти с окружением – тогда КП не попадает во враждебную среду, и в полной мере защищен от компрометации. При этом КП обрабатывается локально, не допуская перемещения информации о КП в другие части системы. Принцип локальной реализации предопределяет реализацию алгоритма ЭП в отдельном устройстве как предпочтительную. Такое решение актуально также в смысле противодействия целевой компрометации КП. Суть противодействия состоит в необходимости обеспечить условия, при которых воздействие методами социальной инженерии (давление, подкуп, шантаж) не приводило бы к выведению КП из системы, его отчуждению и передаче третьи лицам. Задача противодействия целевой компрометации решается изолированностью КП, его неизвлекаемостью из контейнера, в котором КП хранится. Тем самым снимается и нагрузка с владельца ЭП, который избавляется от опасности компрометации ЭП с помощью внесистемных методов воздействия.

Принципиально важным является обеспечение целостности и однозначности связи «человек – ключ подписи».

Эта связь может быть обеспечена либо тем, что человек хранит свое персональное средство ЭП у себя, полностью за него отвечает и/или КП неизвлекаем, либо СЭП хранится в банке («облачная подпись»), а средства идентификации клиента надежны настолько, что позволяют идентифицировать клиента однозначно.

Рассмотрим эти варианты.

Персональное СЭП. Надежное и традиционное решение. Должно быть сертифицировано, отчуждаемо от компьютера, соответствовать принципу локальной реализации, иметь либо собственные средства отображения, либо использоваться совместно с доверенным компьютером, иметь вирусный иммунитет [4] или мощную и постоянно обновляемую систему антивирусной защиты.

СЭП для ДБО у клиента должно иметь определенные особенности. Главная особенность СЭП – оно должно быть ненастраиваемым – работать «в одно касание», «one touch». Настройки безопасности – дело достаточно сложное и тонкое, и лучше его доверить профессионалам[9].

При этом, конечно, со стороны банка доверенность информационной системы должна быть обеспечена в полном объеме.

Облачное СЭП. Такие решения только разрабатываются, но разрабатываются активно. И камень преткновения здесь – обеспечение надежной идентификации клиента. Действительно, если осуществлять надежную криптографическую идентификацию/аутентификацию, то требования доверенности среды, локальной реализации СЭП, работы с КП все равно нужно выполнить. В этом случае цена решения никак не снизится, и никаких препятствий для установки еще и СЭП на те же технические средства (уже доверенные) не будет. То есть – выигрыш здесь недостижим.

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

Некоторые черты такого решения уже вырисовываются – это, видимо, будет биометрия с обратной когнитивной связью – рефлекторная идентификация. Если получится – то для идентификации достаточно будет смартфона[10]. И, конечно, и в этом случае тоже со стороны банка доверенность информационной системы должна быть обеспечена в полном объеме.

Заметим, что рассмотренное выше требование использовать ненастраиваемое средство идентификации является единым для всех клиентов.

Для всех без исключения банков обеспечение доверенности среды – тоже единое требование, как и требование о доверенности и ненастраиваемости СЭП для клиента. Всем банкам придется так или иначе эту задачу решать. И, если задача решена правильно – потери будут сведены к минимуму. Если неправильно и с помощью негодных средств – банк может нести ощутимые потери.

Итак, требования одинаковы как для всех клиентов, так и для всех банков. Клиентам нужно использовать ненастраиваемое СЭП[11], формирующее доверенную среду или же средства доверенной идентификации с помощью недоверенных устройств. Каждый банк же должен создать свою собственную доверенную систему идентификации и аутентификации.

Рационально ли это? Есть ли другой путь?

Клиент хорошо понимает, что он не специалист по ИБ, наслышан об активности хакерских группировок, надеется, что конкретно его это не коснется, но хочет эти риски передать кому угодно. В цепочке взаимодействия Клиент-Банк нет третьего, поэтому клиент хочет риски передать банку, и даже не сделав это, верит, что так и есть.

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

Как мы видим, все участники информационного взаимодействия хотят расстаться со своими рисками. Но в текущей конструкции взаимодействия клиент-банк такой возможности нет. Противоречие выглядит неразрешимым.

Для его разрешения нужно изменить саму конструкцию. Например, создать единого для всех Национального оператора идентификации (НОИ), который возьмет на себя предоставление доверенной услуги идентификации клиента для всех банков и ответственность за данное представление, тем самым снимая с банков несвойственные им функции и блокируя риски. А НОИ, в свою очередь, свои риски сможет застраховать.

Страхование информационных рисков [12] не слишком развитая сегодня практика. Сертификация и аттестация будет при этом иметь важный, но лишь справочный характер. Создать систему, при которой учет требований страховщиков не подменил бы оценки наших регуляторов, а дополнил бы их в требуемом разрезе — важная задача. При этом сам механизм страхования информационных рисков вполне может выступить инструментом регулирования на рынке СЗИ и СКЗИ – страховая премия отразит качество продуктов защиты информации.

 

НОВЫЕ АРХИТЕКТУРЫ

 

Выше уже упоминалось, что на машине Тьюринга можно моделировать любую другую вычислительную машину (любого «исполнителя») – поэтому говорят о полноте машины Тьюринга. С ограничениями (конечность памяти) на универсальной машине (УМ) можно, в свою очередь, моделировать машину Тьюринга. Такие УМ называют полными по Тьюрингу (Turing complete).

Полные по Тьюрингу УМ, таким образом, как минимум должны выполнять элементарные операции, свойственные машине Тьюринга, а именно: перемещать управляющее устройство (головка чтения-записи) влево и вправо по ленте, читать и записывать в ячейки символы некоторого конечного алфавита. Линейность памяти и последовательность выполнения операций – базовые характеристики машины Тьюринга.

Универсальная машина потенциально может самообучаться, достигая уровня, при котором человек, ведущий беседу, не сможет определить, кто его собеседник – человек или компьютер (тест Тьюринга). Конечно, это блестящие перспективы, само существование которых делает необычайно привлекательной сферу компьютерных технологий!

Но всегда ли возможность самообучения является плюсом? Серьезные опасения, например, может вызвать возможность бесконтрольного самообучения контроллеров АСУ ТП АЭС, железнодорожного транспорта, непрерывных производств и так далее. Вряд ли эти контроллеры должны блистать интеллектом, а не абсолютно точно выполнять свои функции. Видимо, поэтому для решения таких задач применяют обычно конечные автоматы. Конечные автоматы, контекстно-свободные грамматики, примитивно-рекурсивные функции являются примерами неполных по Тьюрингу формализмов.

Таким образом, есть много задач, которые можно решить и не на универсальном «исполнителе». Более того, есть много задач, которые нужно решать не на универсальном, а на специализированном «исполнителе». Так, неотчуждаемая возможность «читать и записывать», которая делает операцию копирования в компьютере имманентной, полностью противоречит, как минимум, задачам защиты информации. Необходимое для «универсальности» свойство становится неприемлемым в конкретных условиях. Этой уязвимостью мы платим за универсальность наших компьютеров. Мы эксплуатируем компьютеры, а хакеры – эксплуатируют эту уязвимость.

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

Поскольку архитектуру нельзя изменить программным путем, то никакие программные средства не помогут нам защититься от хакеров надежно. Игра «кто кого» продолжается уже много лет, давая работу сотням тысяч специалистов по информационной безопасности, но не спасая нас от потерь.

Как же быть?

Если уязвимость в архитектуре – то и совершенствовать нужно архитектуру.

Классическими являются две архитектуры – архитектура фон-Неймана [13] и гарвардская архитектура [14]. Примером первой являются практически все настольные компьютеры, примером второй – практически все планшетные компьютеры и телефоны.

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

Выше уже приводились 5 принципов фон-Неймана [6].

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

В 1958 году под руководством Н. П. Брусенцова был разработан опытный образец ЭВМ «Сетунь» [15], а в 1961 году она была запущена в серию.

Особенностью вычислительной машины «Сетунь» было использование троичной системы счисления с коэффициентами (1, 0, -1). Главное преимущество троичного представления чисел перед фон Неймановским (двоичным) представлением состоит в том, что с тремя цифрами возможно естественное представление натурального ряда чисел со знаком.

В любой системе с нечетным числом цифр можно создать «симметричную» систему чисел со знаком. Троичная система самая простая для технической реализации из систем с нечетным числом цифр. При этом особенности вычислений дают ощутимое преимущество в скорости операций и их энергоемкости. Так, в троичном сумматоре перенос в следующий разряд возникает в 8 ситуациях из 27, а в двоичном – в 4 из 8. Кроме этого, упрощается операция умножения – умножение на -1 просто инвертирует множимое. Такое упрощение вычислений не исчерпало себя, и вполне можно ожидать новых решений, основанных на троичной системе счислений.

В ЭВМ «Сетунь» очевидным образом нарушен П1.

В 1967 году на выставке в Лондоне демонстрировалась ЭВМ МИР-1, которая тогда произвела фурор. Важной особенностью отличием ЭВМ был язык высокого уровня, непосредственно исполняемый машиной.

Язык «Аналитик» представлял собой набор конструкций для описания вычислительных схем, и развивался в направлении алгебраических спецификаций вычислительных схем. Разработчики [15] реализовали все стандартные рекурсивные функции, включая их в состав языка[12]. Настоящий, завершенный язык, пригодный для описания вычислений, функций и процедур не может состоять только из набора рекурсивных функций, и по совету академика А. А. Дородницына пришлось включить в язык оператор перехода, завершив создание языка, и заодно констатировав, что простое отрицание принципов фон-Неймана не обязательно приводит к успеху. В то же время нельзя эти принципы считать догмами – например, принцип последовательного исполнения команд целесообразно исполнять только в самых простых случаях. Мультикомандный принцип зачастую дает намного более эффективные решения.

В 1974 году на конгрессе IFIP В.М. Глушков высказал мнение [16] о том, что только разработка принципиально новой не-неймановской архитектуры вычислительных систем, позволит решить проблему построения супер-ЭВМ с неограниченным ростом производительности. Такие решения были найдены Глушковым и положены в основу оригинальной структуры высокопроизводительной ЭВМ, названной им макроконвейером.

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

 Исполняемый язык высокого уровня, принцип макроконвейерной обработки нарушают принципы фон-Неймана (П2, П3), что не мешает решениям быть эффективными.

Эти идеи не пропали, и позднее были использованы в макроконвейерных многостековых сопроцессорах безопасности Аккорд-КПД и Аккорд-СБ [17].

Они использовались в организациях кредитно-финансовой системы страны для того, чтобы в огромном потоке финансовых документов каждый из них был «подписан» в процессе создания, и проверен на всех этапах обработки. Устанавливались они в большие быстродействующие ЭВМ, и основной задачей было добиться высокой производительности и линейного ее увеличения при установке нескольких сопроцессоров, при этом не занимая ресурсов основной ЭВМ, которая решала функциональные задачи. Шина при этом была довольно медленной. Вот здесь и пригодился принцип макроконвейера – вначале загружалась задача, перестраивалась архитектура вычислителя, потом отправлялась пачка данных, и пока они обрабатывались – в стек загружались следующие данные.

Рис.1 Аккорд-СБ

В 1961 году Burroughs Corporation [18] выпустила двухпроцессорный компьютер с виртуальной памятью B5000, уникальными для своего времени особенностями которого были, в частности, адресация на основе дескрипторов и использование языка высокого уровня (Алгол) как входного языка, как и ранее в ЭВМ «МИР».

При дескрипторной (теговой) организации памяти каждое слово содержит не только информационную, но и управляющую часть – тег элемента. Использование тегов позволяет резко снизить количество ошибок, выбирая (ограничивая) перед исполнением нужный вариант операции и контролируя операнды. При такой организации «лампольсины» никогда не произведутся, так как невозможно сложение «лампочек» и «апельсинов». Нарушение принципов П2 и П3 дает положительный эффект.

Идеи, заложенные в ЭВМ В5000 и МИР – принципиально важны. Впервые был опробован механизм динамического изменения структуры ЭВМ в соответствии с исполняемой программой и показано, что при разработке ЭВМ необходимо понимать, какие программы будут на ней исполняться. И обратное – создавая программное обеспечение, необходимо понимать архитектуру компьютера.

Использование Алгола в качестве управляющего языка и теговая организация памяти впоследствии стали также отличительными признаками ЭВМ «Эльбрус», которая разрабатывалась коллективом академика В. С. Бурцева.

Вот что говорил по этому поводу Всеволод Сергеевич [19]: «При решении сложных задач возникает проблема быстрого перераспределения вычислительных ресурсов и коммутации информационных потоков. Из-за этого эффективность использования одного процессора снижается до уровня 5–10% и ниже. Все это происходит потому, что по-прежнему применяется фон-Неймановская схема вычислительного процесса.

Нам удалось уйти от фон-Неймановской структуры обработки информации – в нашей машине отдельные операции, даже скалярные на определенном интервале времени, могут выполняться независимо одна от другой. Вычислительные ресурсы распределяются аппаратно».

В 1972-1975 гг. в ИПУ РАН под руководством академика Прангишвили Ивери Варламовича была разработана многопроцессорная машина с одним потоком команд и многими потоками данных – ПС-2000 [20]. Управление состоянием ПС-2000 осуществлялось с помощью ЭВМ СМ-2М.

Уже в то время говорили, что аббревиатура ПС в названии комплекса означает «перестраиваемые структуры».

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

Основными архитектурными и структурными принципами организации МВК ПС-3000 [21] являются: динамическая перестраиваемость его структуры по текущим требованиям параллельных вычислительных процессов. Перераспределение ресурсов осуществлялось как программно, так и аппаратно, оптимизируя структуру комплекса под текущую задачу.

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

В последние годы техника совершила огромный скачек вперед, но это почти никак не отразилось на архитектурах компьютеров. Наиболее заметное здесь изменение – опережающий рост решений на базе гарвардской архитектуры. Если несколько лет назад объемы продаваемых процессоров типов x86 и ARM соотносились как 80:20, то уже сегодня 50:50, и эта тенденция усиливается[13]. Сложились условия для размышлений над усовершенствованием архитектуры.

При разработке компьютера главное – понять, какая часть функций должна быть реализована аппаратно, а какая – программно. Правильный выбор этого соотношения позволил ПЭВМ с архитектурой фон-Неймана многие годы занимать лидирующее положение. Однако сейчас практически достигнут предел эффективности данного технического решения, и для совершенствования компьютеров нужно устранить имеющиеся уязвимости. В аппаратную часть нужно включать то, что снижает стоимость, редко изменяется, расширяет возможности и используется постоянно. Кроме этого, сейчас совсем не выглядит экзотической мысль о том, что в процессе работы структура компьютера может динамически изменяться. Или, например, структура вначале может быть такой, как конечный автомат, а потом, на следующем этапе, стать «универсальным исполнителем» по Тьюрингу.

Отличительной особенностью архитектуры фон-Неймана является то, что команды и данные не разделяются, они передаются по единому общему каналу.

 

ОБЩАЯ ПАМЯТЬ
ПРОЦЕССОР
ПЕРИФЕРИЯ

 

Рис. 2. Архитектура фон-Неймана

 

Гарвардская архитектура предполагает наличие разных каналов для команд и данных.

 

ПРОЦЕССОР
ПЕРИФЕРИЯ
ПАМЯТЬ КОМАНД
ПАМЯТЬ ДАННЫХ

Рис. 3. Гарвардская архитектура

 

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

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

На использовании этой уязвимости основаны практически все современные хакерские атаки, которые, в основном, сводятся к атаке на «перехват управления». Схема атаки обычно выглядит так:

s1) внедряется и размещается в оперативной памяти вредоносное ПО (ВрПО);

s2) внедряется и размещается в оперативной памяти вредоносный обработчик прерываний;

s3) записывается в долговременную память ВрПО и обработчик прерываний;

s4) с помощью любого доступного механизма вызывается прерывание –например, с помощью DDOS-атаки;

s5) внедренный ранее обработчик прерываний срабатывает, и передает управление ВрПО;

s6) ВрПО выполняет свою функцию, например, реализует разрушающее программное воздействие (РПВ).

 

Здесь s1 – s3 – это шаги по подготовке атаки, s4 – инициирование атаки, s5 и s6 – собственно использование архитектурной уязвимости.

 

Для того, чтобы обезвредить шаги s1 и s2, обычно используются антивирусные программы. Иногда это бывает полезным, но только иногда – невозможно с помощью антивирусных программ выявить все ВрПО. Более того – специалистам известны конструкции ВрПО, которые точно нельзя обнаружить. Можно даже сказать, что компьютерные вирусы и в целом ВрПО удается обнаружить только в силу их несовершенства. В общем случае всегда можно разработать такое ВрПО, которое не может быть обнаружено с помощью антивирусных программ сигнатурного поиска, эвристических анализаторов и поведенческих блокираторов.

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

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

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

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

Примером такого устройства является СЗИ НСД «Аккорд» [1].

Это аппаратный модуль доверенной загрузки с программным комплексом разграничения доступа. Он выполняет все необходимые контрольные функции, его программная часть контролирует, в частности, и запуск задач. «Аккорд» предназначен для работы на компьютерах с процессором x86. Напомним, что архитектура таких компьютеров очень близка к классической архитектуре фон-Неймановского типа.

Эффективность СЗИ НСД «Аккорд» связана с тем, что он блокирует уязвимости, связанные с нарушением целостности, и создает доверенную среду для работы программных средств, обеспечивающих защиту компьютера на шагах s1 – s6.

Несмотря на большую распространенность, цена СЗИ НСД «Аккорд» довольно высока, и его настройка – дело для профессионалов. Конечно, он лучшее решение для корпоративных применений, но, видимо, слишком сложен для частного применения. Сложность его связана именно с фон-Неймановской архитектурой защищаемого компьютера – нужно доб<



Поделиться:


Последнее изменение этой страницы: 2021-11-27; просмотров: 62; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.174.156 (0.004 с.)