Секреты и ложь. Безопасность данных в цифровом мире - Брюс Шнайер
Шрифт:
Интервал:
Закладка:
Аудит с трудом может быть применим к компьютерам. Регистрационная лента хорошо подходит для ревизии, потому что клерк не в силах изменить записи: операции последовательно напечатаны на едином рулоне бумаги, и невозможно добавить или удалить операцию, не вызвав подозрения. (Правда, есть некоторые способы: блокирование записи, имитация того, что закончились чернила, блокировка записи для отдельной операции, подделывание целой ленты и т. д.) С другой стороны, компьютерные файлы могут быть легко стерты или изменены; это делает аудиторскую проверку записей более сложной. Большинство проектировщиков систем не думают о ревизии, когда занимаются их разработкой. Вспомните заложенное изначально контрольно-ревизионное свойство двойной записи счетов бухгалтерского учета. Эта контрольная способность обречена на неудачу, когда обе книги хранятся в одной и той же компьютерной системе и один и тот же человек имеет доступ к обеим книгам. Но таким образом работают все бухгалтерские компьютерные программы.
Электронные деньгиВернемся в старые времена (год 1995 или около того). В те дни каждый думал, что мы должны создать новый вид денег для обращения в электронной торговле. Много компаний прекратили свое существование в попытках выдумать новые деньги. Некоторые компании старались создать электронный эквивалент наличных денег, другие – электронный эквивалент чеков и кредитных карт. Одной из последних таких попыток стал объединенный протокол Visa/Master card, предназначенный для использования существующих кредитных карт совместно с особой интернет-системой, позволяющей сделать кредитные карты надежными для электронной коммерции.
Они как-то изворачиваются, но не в этом дело. Кредитные карты прекрасно подходят для Интернета, и очень многие с готовностью пользуются ими для покупки книг, одежды и всего прочего. Однако наличие таких брешей в защите, которые позволили осуществить кражи серийных номеров кредитных карт в 2000 году, впечатляет. Будет ли когда-нибудь создана специфическая для Интернета форма оплаты?
В большей степени это вопрос регулирования, чем безопасности. Для электронной торговли система безопасности должна быть разработана на основе синтеза всех рассмотренных выше требований: подтверждения подлинности, секретности, целостности, безотказности, аудита. Потребности достаточно просты: нам нужна возможность перемещать денежные массы по компьютерной сети. При пристальном рассмотрении обнаруживаются несколько путей для достижения этого. Мы можем взять любой из имеющихся вариантов оплаты: наличные деньги, чеки, дебиторские и кредиторские карты, кредитные бумаги и перенести их в киберпространство. Различные платежные средства подчиняются различным правилам и требованиям.
Некоторые требования зависят от того, какую ответственность кто несет. Торговцы и компании, обслуживающие операции по кредитным картам, несут ответственность по большинству долгов украденных кредитных карт и мошенническим сделкам с их использованием. По этой причине электронные версии для данных систем разрабатываются таким образом, чтобы облегчить жизнь именно им, а не потребителям.
Различные физические реализации также предполагают различные требования. Эта система сетевая или автономная? Все намного проще, если вы можете рассчитывать на сетевое соединение с банком (каковое требует банкомат). Если вы создаете торговую систему для использования в той части света, где недостаточно телефонных линий (как, например, в отдельных районах Африки), вы не можете принять этот вариант. Будет ли система работать в программной среде или мы можем рассчитывать на надежные аппаратные средства, подобные смарт-карте? И будет ли эта система предполагать анонимность, как в случае использования наличных денег, или включать опознавание, подобно системе кредитных карт? И наконец, какое правительственное регулирование будет осуществляться по отношению к этой системе? Это зависит не только от выбранных платежных средств, но также от постановлений правительства или правительств, имеющих власть над системой.
Мы уже можем наблюдать кое-что из этого. У нас пока нет цифровых наличных денег, но уже появляются альтернативные системы, которые выполняют ту же роль, что и деньги. Flooz com создал специализированную валюту для оплаты подарков. На нем выдаются подарочные сертификаты, которые могут быть использованы в качестве денег. Beenz com предпринимает нечто подобное; «beenz» не являются настоящими деньгами, но они могут использоваться и обращаться, как настоящие деньги. Другие компании тоже участвуют в этом процессе.
Я ожидаю, что это станет большим делом и, возможно, опасным. Причина в том, что псевдовалюты не могут играть той регулирующей роли в процессе товарооборота, которую играют реальные деньги.
Упреждающие мерыТрадиционно предотвращение мошенничества было упреждающим. Криминальные элементы находят изъян в торговой системе и пользуются им. Они продолжают идти вперед, в то время как проектировщики системы пытаются понять, как устранить недостатки или хотя бы свести к минимуму ущерб. Преступники изучают ситуации, когда их атаки не достигают цели, и продолжают атаковать другими способами. И процесс продолжается.
Вы можете проследить это на примере кредитных карт. Изначально подтверждение кредитных карт не осуществлялось через сеть. Торговцам предоставляли книги с недействительными номерами кредитных карт каждую неделю, и они должны были вручную проверять номер по книге. Сейчас подтверждение карты происходит по сети в режиме реального времени. Плохие люди воровали новые карты из почтовых ящиков; из-за этого компании, обслуживающие кредитные карты, стали требовать, чтобы вы звонили для активации своей карты. Сейчас карты и извещения об активации отправляются из различных точек. У компаний также есть разведывательные программы для контроля непредвиденных расходов. («Доброе утро, сэр, извините за беспокойство. Многие годы вы были хорошим клиентом. Мы хотим проверить, действительно ли вы внезапно переехали в Гонконг и полностью исчерпали свой кредит».)
Когда банкоматы впервые были введены Citicorp в 1971 году, клиент должен был помещать кредитную карту в прорезь и набирать свой идентификационный номер[17]. Машина проверяла его и выбрасывала карту обратно клиенту. После этого он мог закончить операцию. Предприимчивые нью-йоркские преступники переодевались в костюмы обслуживающего персонала и ждали недалеко от этой машины. После подтверждения идентификационного номера клиента они подходили и говорили, что банкомат сломан, проходит тестирование или в нем просто нет денег, и просили использовать соседний рядом. В конце концов, людям в таких костюмах можно доверять – так думали клиенты. После того как клиент уходил, они заканчивали первую операцию и клали в карман наличные деньги.
Карта должна была удерживаться до конца сделки, но это требовало реконструкции аппаратных средств. Банкам нужно было действовать быстро, и они нашли временное решение, которое могло быть введено в действие в банкоматах: было сделано так, чтобы расположенные рядом машины имели связь между собой. Поскольку банки применили это повсюду, то могли наблюдать, как преступники перемещались по всему городу в поисках машин, где уловка все еще срабатывала. Тогда они настроили банкомат так, чтобы он удерживал карту до конца сделки. Долгосрочное решение состояло в том, чтобы создать сеть с обратной связью, дающую уверенность в том, что в любой момент времени проводится только одна транзакция с использованием данной карты. Это было сделано, так что теперь не имеет значения, сколько времени карта удерживается машиной. Теперь многие банкоматы попросят вас просто предъявить свою карту, но раньше было очень много мошенничества, пока проблема не была определена.
Подобные способы фиксации недостатков в системах безопасности после того, как уже было осуществлено нападение, не подходят для Интернета. Атаки могут быть автоматизированными, они могут легко и быстро повторяться низкоквалифицированными нападающими. Нападение на банкоматы, адаптированное к Интернету, может разрушить банковскую систему. Недостаточно противодействовать мошенничеству после того, как оно было продемонстрировано в работе; мы должны быть предусмотрительны и бороться с обманом до того, как он произойдет.
Часть II
Технологии
Система безопасности, как луковица, состоит из слоев. На внешнем слое находятся пользователи, по-разному использующие систему, по-разному всем доверяющие и по-разному же реагирующие на баги системы. Внутри «луковицы» находятся связи, обеспечивающие безопасность взаимодействия пользователя с системой и контактов различных систем. Еще ближе к сердцевине расположены программные средства, наверняка содержащие ошибки; поэтому естественно ожидать, что для них у нас есть какие-то элементы защиты. Эти программы работают в сетях и на отдельных компьютерах. Двигаясь глубже, мы обнаружим теоретически идеальные протоколы обмена данными. И в самой сердцевине (иногда) располагается криптография: математические уравнения, описывающие условия безопасности.