Потери при ДБО в системах класса «Клиент-Банк», «Банк-онлайн» и других всегда связаны с хакерскими атаками – как клиентов (возможно и такое), так и неклиентов банка. Банк обычно неплохо защищен, и слабым звеном системы является компьютер клиента. Если компьютер клиента не защищен, то нельзя ни надежно идентифицировать клиента, ни доверять его подписи, так как в этом случае она устанавливается в недоверенной среде.
Надежная (достаточная) защита компьютера стоит около 1520 тыс. руб., что неприемлемо для подавляющего числа клиентов. При этом защита ощутимо ограничивает возможности применения компьютера для других целей, что также неприемлемо для клиентов.
Кроме этого, существующие системы защиты сложны и требуют специальных знаний для настройки, а этого от клиента требовать вообще невозможно. Более того, если знания такие есть (или еще хуже: пользователю ошибочно кажется, что они есть), в своем стремлении улучшить настройки клиент может завести ситуацию очень далеко от предписанного документацией состояния. Клиента в этом обвинять сложно: со своими устройствами, вообще говоря, он имеет право делать все, что сочтет нужным и сможет.
Таким образом, традиционные подходы к защите информации для систем ДБО непригодны.
10.1.1.1. Новая гарвардская архитектура
Если базовая уязвимость компьютеров в их архитектуре, значит, компьютер, соответствующий требованию one touch security должен быть создан на основе принципиально иной архитектуры, не имеющей этой уязвимости. Компьютеры, о которых пойдет речь ниже, – это компьютеры, архитектура которых отличается и от архитектуры фон Неймана, и от гарвардской архитектуры.
Отличительной особенностью архитектуры фон Неймана является то, что команды и данные не разделяются, они передаются по единому общему каналу (рис. 54).
Рис. 54. Архитектура фон Неймана
Гарвардская архитектура предполагает наличие разных каналов для команд и данных (рис. 55).
Рис. 55. Гарвардская архитектура
Такая схема взаимодействия требует более сложной организации процессора, но обеспечивает более высокое быстродействие, так как потоки команд и данных становятся не последовательными, а параллельными, независимыми.
Однако и в случае компьютера фоннеймановского типа, и в случае компьютера с гарвардской архитектурой организация потоков команд и данных такова, что архитектурная уязвимость присуща каждому из них. Гибкость и универсальность как в одном, так и в другом случае обеспечиваются возможностью изменения последовательности команд и данных (двунаправленные стрелки от процессора к памяти) независимо от того, в одной памяти они лежат или разделены. В свою очередь, возможностью изменения последовательности команд и данных создается и возможность несанкционированного вмешательства вредоносного ПО – это и есть основная архитектурная уязвимость, на которой базируются атаки «перехват управления».
Схема атаки обычно выглядит так:
s1) внедряется и размещается в оперативной памяти вредоносное ПО (ВрПО);
s2) внедряется и размещается в оперативной памяти вредоносный обработчик прерываний;
s3) записываются в долговременную память ВрПО и обработчик прерываний;
s4) с помощью любого доступного механизма (например, с помощью DDoS-атаки) вызывается прерывание;
s5) внедренный ранее обработчик прерываний срабатывает и передает управление ВрПО;
s6) ВрПО выполняет свою функцию (например, реализует разрушающее программное воздействие).
Здесь s1-s3 – это шаги по подготовке атаки, s4 – инициирование атаки, s5 и s6 – собственно использование архитектурной уязвимости.
Для того чтобы отразить атаку на шагах s1 и s2, обычно используются антивирусные программы. Иногда это бывает полезным, но только иногда: невозможно с помощью антивирусных программ выявить все ВрПО. Более того, специалистам известны конструкции ВрПО, которые точно нельзя обнаружить. Можно даже сказать, что компьютерные вирусы и в целом ВрПО удается обнаружить только в силу их несовершенства. В общем случае всегда можно разработать такое ВрПО, которое не может быть обнаружено с помощью антивирусных программ сигнатурного поиска, эвристических анализаторов и поведенческих блокираторов.
Борьбе с вирусами и «вирусному иммунитету» посвятим здесь отдельное эссе.
Блокирование последствий выполнения шага s3 осуществляется при последующей загрузке с помощью механизмов контроля целостности – по сути ревизоров, определяющих, есть ли изменения в составе данных; иногда эта проверка выполняется с помощью тех же наборов антивирусных программ – но это слабое решение, так как проверка должна выполняться до загрузки ОС, а программы, в том числе антивирусные, работают под управлением ОС.
Генерация события на шаге s4 частично блокируется с помощью специальных средств анализа трафика, устанавливаемых как в сети, так и на клиентских компьютерах. Важно то, что пока нет средств, позволяющих гарантированно блокировать эту уязвимость.