Искусство защиты по Андерсону

(Март 2001)

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

Sec-Eng-1st-Ed

Американским издательством Wiley со дня на день должна быть выпущена в продажу интереснейшая книга Росса Андерсона «Инженерия безопасности. Руководство по созданию надежных распределенных систем» (Ross Anderson, «Security Engineering: A Guide to Building Dependable Distributed Systems», 2001, John Wiley & Sons, 640 pages).

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

RJA-1990-s

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

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

В последние годы имя ученого чаще всего упоминалось в контексте конкурса на новый криптостандарт AES, поскольку Андерсон является одним из соавторов очень сильного криптоалгоритма «Serpent», вошедшего в пятерку финалистов.

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

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

Всевозможным аспектам этой же проблемы и посвящена выходящая ныне книга «Security Engineering».

В русском языке нет полностью адекватного перевода слову «инжиниринг». Переводить название суконным оборотом «техника безопасности» — просто неверно. Есть, однако, еще два термина, противоположные по смыслу, но дающие представление о богатом заглавии книги: «инженерное искусство безопасности» и «махинации с безопасностью».

Что такое «инженерное искусство безопасности»? По формулировке автора — это построение таких систем, которые продолжают оставаться надежными в условиях козней злоумышленников, случайных ошибок пользователей и прочих бед-несчастий, точный перечень которых составить заранее невозможно.

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

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

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

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

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

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

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

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

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

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

Кроме того, в суховатый учебный курс внесено большое количество историй из жизни и конкретных практических советов, накопленных за 15 лет опыта работы автора в качестве консультанта.

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

1. Что такое инжиниринг безопасности (на примерах банка, авиабазы, госпиталя, дома)
2. Протоколы
3. Пароли
4. Контроль доступа
5. Криптография
6. Распределенные системы
7. Многуровневая безопасность
8. Многосторонняя безопасность
9. Банкинг и учет используемых ресурсов
10. Системы мониторинга и сигнализации
11. Системы управления ядерным оружием
12. Печати и защищенная полиграфия
13. Биометрия
14. Физическая защита от инженерных методов вскрытия
15. Защита от компрометирующих излучений
16. Электронная и информационная война
17. Безопасность телекоммуникационных систем
18. Сетевые атаки и оборона
19. Защита систем электронной коммерции
20. Защита приватности и авторского права
21. Политические аспекты электронной безопасности
22. Вопросы административного управления
23. Оценка безопасности и гарантии

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

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

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

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

По сути дела, мы переходим в эпоху «всепроникающих и невидимых» компьютеров.

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

Иначе говоря, разработчику все время следует себе представлять, что внутри системы («сатанинского компьютера») сидит хитрый и злонамеренный противник.

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

А посему, как пишет в предисловии к книге Брюс Шнайер,

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

* * *

Постскриптум из 2014:

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

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

Эксперимент полностью себя оправдал, продажи бумажной версии книги действительно подскочили.

Sec-Eng-2nd-Ed

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

Так что теперь  все желающие могут абсолютно законно скачать у автора любую из глав любого из изданий его книги. Или даже всю книгу целиком – в одном файле.

А оценив работу по достоинству, кто-то наверняка захочет купить и бумажную версию.