Удивительно, что, не обладая, скорее всего, в большинстве своем знаниями о машине Тьюринга и ее особенностях, эту довольно специфичную проблему компьютерной безопасности хорошо чувствуют гуманитарно ориентированные люди: писатели, поэты, римские папы, – формулируя теми или иными словами, что компьютеры могут все и наша задача заставить их делать только то, что нам нужно, не дать им делать все. Мы, пожалуй, довольно далеки от опасений насчет бунта компьютеров и захвата ими власти над миром, но полностью разделяем убежденность в том, что универсальность современных компьютеров является основным источником всех связанных с компьютерной сферой угроз. Если компьютер способен выполнить любую задачу, то он выполнит и вредоносную.
Именно в этом состоит цель мероприятий по обеспечению ИБ, если посмотреть на нее с определенной дистанции: нам необходимо добиться того, чтобы все наши (т. е. легальные) задачи решались, а задачи злоумышленников (нелегальные) не решались.
Отсюда распространенное убеждение о том, что все задачи защиты информации сводятся к управлению доступом субъектов к объектам. Это не вполне так, к этому сводятся не все задачи.
Если пытаться уложить деятельность по защите информации в некую максиму, то скорее она будет звучать так: защита информации – это ограничение универсальности средств вычислительной техники.
Универсальность компьютера обеспечивается архитектурно, самой «конструкцией» машины Тьюринга – как мыслимой в абстракции, так и реализованной на практике.
Поскольку архитектуру нельзя изменить программным путем, никакие программные средства не помогут нам защититься от хакеров надежно. Игра «кто кого» продолжается уже много лет, давая работу сотням тысяч специалистов по ИБ, но не спасая нас от потерь.
Как же быть?
Если уязвимость в архитектуре – то и совершенствовать нужно архитектуру.
Мы можем делать это одним из двух способов:
1) усовершенствовать архитектуру уже существующих технических средств;
2) использовать новые технические средства на базе новой, более совершенной, архитектуры.
Следуя первому направлению, эксплуатирующие организации при приобретении новой техники устанавливают на нее те или иные средства защиты, следуя второму – приобретают технику, спроектированную тем или иным особым образом.
10.1.1. Устройства с правильной архитектурой
Каждый день, выходя из дома, мы, даже не задумываясь, запираем дверь. Это действие выполняется привычно, автоматически, так как накопленный за многие годы опыт однозначен: это полезно для сохранения в неприкосновенности принадлежащих нам вещей. Конечно, дверь, замок и ключ не решают проблему воровства полностью, но ни у кого не возникает сомнения, что дверь все же должна быть и чтобы вор в нее не влез – необходимо ее не носить с собой, а запирать по месту установки. Заметим еще раз: вещи, находящиеся в квартире, будут в большей безопасности, если квартиру защищать.
Аналогия верна и для вашего компьютера. Программы и данные, составляющие принадлежащие вам информационные ресурсы, легче сохранить, если компьютер будет защищен.
Конечно, запертая дверь не гарантирует, что вещи не украдут. Защита компьютера – тоже не гарантия от нарушения целостности программ, но это абсолютно необходимый рубеж защиты. Вещи из квартиры точно украдут, если дверь оставить нараспашку. Без защиты компьютера невозможно обеспечить защиту программ.
Но даже если ваши вещи будут находиться внутри защищенной квартиры, вовсе не обязательно они сохранятся в первозданном виде. Если вы в этом не уверены – попробуйте, не выходя из квартиры, вместе с рубашкой простирать паспорт.
Похожая ситуация и в виртуальном мире: казалось бы, в защищенном компьютере ничто не может повлиять на состояние данных и программ – однако же нет! В процессе исполнения одна программа вполне может изменить состояние данных другой программы и даже код другой программы – так, собственно, и ведут себя вирусы, да и не только они.
Именно поэтому на «рабочих» компьютерах, а особенно на машинах, участвующих в технологических процессах, как правило, обеспечена изолированная программная среда, а то и функционально-замкнутая среда [83]. Очевидно, что избежать влияния потенциально опасных программ на функционирование критически важных программ – тех, которым следует выполняться исключительно корректно, – невозможно, не изолируя их одну от другой. Однако как изолировать «Клиент-Банк» на компьютере клиента от его онлайн-игры?