Остается только надеяться, что со временем разработчики систем защиты поймут свою ошибку и начнут уделять внимание не только самым современным алгоритмам и методам безопасности, но и такой «простой» теме, как удобство и практичность.
Безопасность с человеческим лицом
Установив систему защиты, не ждите благоприятных отзывов от пользователей
Законы Мерфи для информационной безопасности, А.Лукацкий
Постоянно приходится слышать мнения о том, что безопасность это сложно и неудобно. Последнее и вызывает основные проблемы с повсеместным внедрением систем защиты. Во многих книгах можно прочесть о том, что занимаясь безопасностью нужно соблюдать баланс между удобством и защищенностью. Нельзя создать бронированный автомобиль, который ездит как Ferrari. Нельзя защитить свое жилище, не возведя вокруг него высоких стен или установив на окнах решеток, которые мешают любоваться красотами. Нельзя построить денежное хранилище и открыть доступ к нему всем желающим. Но… стремиться к компромиссу необходимо обязательно. Более того. Современные технологии позволяют сделать то, что раньше было невозможно представить. Например, объединение карты доступа в помещения и токена для доступа к компьютеру. Теперь это возможно, что сразу сняло множество проблем с забыванием одной из карт дома, путаницей с этими картами на входе в здании и создании очередей из-за этого и т.д.
Смежная безопасность и удобство
Но внедряя систему безопасности нельзя забывать о том, что не она является самоцелью (хотя для многих специалистов по защите это именно так). Безопасность, если мы не говорим об отдельных сферах нашей жизни носит второстепенный характер. Однако это не умаляет ее важности. Как же разрешить этот конфликт интересов и можно ли вообще это сделать? Как показывает практика – можно. Возьмем 2 примера – положительный и отрицательный. Начнем с последнего, как наиболее близкого по времени.
Предотвращенный теракт в Великобритании. После ареста террористов в аэропортах по всему миру были введены «драконовские» меры к пассажирам – «для их безопасности». Любые жидкости были запрещены для провоза в ручной клади; электроника тоже. Сильно ли это подняло безопасность? Не знаю. Но вот проблем доставило много. Во-первых, запрет на провоз жидкостей снизит доходы магазинов Duty Free. Во-вторых, запрет на перевозку лэптопов и КПК мог «убить» сегмент бизнес-перевозок, т.к. путешествующие бизнес-классом бизнесмены врядли с энтузиазмом отнесутся к многочасовым полетам без своих инструментов ведения бизнеса. В-третьих, как быть с теми, кому жидкость нужна «по определению»? Например, для хранения контактных линз. А если мне нужно лекарство, которое продается без рецепта, но от этого оно не становится менее важным для меня. И это не говоря про многочасовые очереди в аэропортах на пунктах досмотра, отказ от полетов, сдача купленных билетов, ущерб репутации, недовольство клиентов и т.д. Выиграли от этого, пожалуй, только компании, занимающиеся железнодорожными перевозками. И все это ради безопасности. Со временем все встало на свои места. Большинство запретов было снято под давлением общественности. Проносить в салон самолеты лэптопы, напитки Duty Free и т.д. все-таки разрешили.
У данной проблемы есть и другая сторона. Лишний раз было продемонстрировано, что только реактивный подход к безопасности неэффективен. Неужели, достигнув своей цели, террористы захотят немедленно повторить свой «успех»? Врядли. В этом случае теряется эффект «нагнетания страха», а именно он является движущей силой терроризма. Возникает парадокс. Преступление произошло, а меры по его предотвращению принимаются после, а не до. Неужели спецслужбы не знали о жидкой взрывчатке? Неужели никто не думал, что электронные приборы могут выступать в качестве детонатора? Знали, но действовали по принципу «пока гром не грянет…». В итоге введенные меры существенно ухудшили отношение простых граждан к безопасности.
Теперь посмотрим на другую область, в которой также невозможно обойтись без безопасности, - автомобилестроение. Здесь производители демонстрируют совершенно иное отношение к вопросам защиты водителей и пассажиров. Возьмем хороший автомобиль, сядем за руль и тронемся с места. Нарастающий сигнал предупредит вас о том, что вы и ваши пассажиры не пристегнуты. Вы можете проигнорировать сигнал и он через некоторое время отключится, но всю вину за возможное ДТП вы будете уже нести сами – ведь «железный друг» вас предупреждал. Вы начинаете движение и постепенно увеличиваете скорость. Попав на скользкий участок или крутой поворот вы даже не чувствуете как вас заносит или «уводит» в сторону – незаметно работает система курсовой устойчивости, антиблокировочная система и множество других полезных и невидимых подсистем. Сталкиваетесь ли вы с системами безопасности автомобиля? Практически нет. Видимое проявление происходит только в минуту опасности. В крайнем случае срабатывают подушки безопасности, уберегая вас от серьезных повреждений. В некоторых моделях автомобилей дошло до того, что они оснащаются ограничителями максимальной скорости (даже если машина может и больше) и алкотестерами (мотор не заработает, если в салоне будет «чувствоваться» запах спиртных напитков).
Налицо 2 подхода к безопасности клиента. В первом случае безопасность ставится во главу угла и только мешает; во втором – все наоборот. Мне по душе второй подход. Именно так необходимо внедрять защитные решения – они должны максимально эффективно решать свои задачи, не мешая при этом выполнению основных бизнес-функций.
Психологическая приемлемость
30 лет назад, еще в 1975 году Джером Зальтцер и Майкл Шредер определили «психологическую приемлемость» (psychological acceptability), как один из 8 ключевых принципов при построении защищенных систем. Звучит он следующим образом: «Очень важно, чтобы интерфейс взаимодействия с пользователем был удобным в использовании; чтобы пользователи запросто и «на автомате» использовали механизмы защиты правильным образом. Если образ защиты в уме пользователя будут соответствовать тем механизмам, которые он использует на практике, то ошибки будут минимизированы. Если же пользователь должен переводить представляемый им образ на совершенно иной «язык», он обязательно будет делать ошибки». Суть этого принципа проста – механизм безопасности не должен делать доступ к ресурсу или иное действие более сложным, чем если бы этого механизма не было. Иными словами, на практике это означает, что безопасность должна вносить лишь незначительную сложность в защищаемые операции.
Однако на практике этот принцип почти не соблюдается – интерфейс многих систем защиты хоть и рекламируется как «интуитивно понятный», но проектируется без учета требований к эргономике, практичности, удобству и простоте использования. А это подчас бывает гораздо важнее, чем криптостойкость, использование двухфакторной аутентификации, эвристических алгоритмов для обнаружения вредоносных программ и т.п. Информационные системы становятся все более сложными и громоздкими, а значит возрастает вероятность совершить ошибку и неправильно сконфигурировать, эксплуатировать, обновить или поддерживать защищаемую систему. Иными словами безопасность ослабевает.
Разумеется воплотить на практике этот принцип не так то просто. Уж слишком много участников в жизненном цикле системы защиты, начиная от программиста и заканчивая самим пользователем. Реализовывать этот принцип надо в расчете на тех, кто будет использовать систему, а не тех, кто ее создает. Это простое правило известно по многим другим отраслям. Например, в маркетинге есть классический принцип – «прежде чем выпускать на рынок новый продукт, встань на место его потребителя и подумай, нужен ли ему такой продукт?». В безопасности необходимо делать тоже самое – рассчитывать надо не на сотрудника отдела системы защиты и даже не на среднестатистического пользователя. Исходить надо из худшего, т.е. в расчете на самого «тупого» потребителя. В противном случае останется только вспомнить законы Мерфи для информационной безопасности «Если вы уверены, что написанная вами инструкция по правилам выбора паролей не может быть понята неправильно, всегда найдется сотрудник, который поймет ее именно так» (http://www.securitylab.ru/opinion/212050.php). На практике же разработчики систем защиты создают свои продукты «для себя» - исходя из своих собственных представлений и ожиданий. Хотя и эти представления могут сильно отличаться в зависимости от того, где они работают – одно дело компания Cisco или Microsoft со своими законами и налаженным процессом разработки, и совсем другое дело – небольшая российская компания-стартап с 5-10 программистами.
От теории к практике
Возьмем самый распространенный защитный механизм, с которым сталкивается каждый пользователь чуть ли не ежедневно. Речь пойдет о паролях. Классическая рекомендация, с которой сталкивается любой неискушенный человек – выбирайте пароли так, чтобы они не содержали известных слов или комбинаций цифр (номер паспорта, телефон, день рождения), состояли из символов в обоих регистрах, также включали цифры и знаки препинания. А еще необходимо, чтобы пароль был не менее 8 символов. В итоге мы регулярно сталкиваемся с такими паролями, как например, 8HguJ7hY. С точки зрения безопасности он почти идеален, но вот запомнить его практически нереально. А если учесть, что таких паролей пользователь может иметь несколько (для компьютера, для Интернета, для коммуникатора, для базы данных, для ключевых приложений и т.д.), то в результате пользователь запишет его или их на бумажке или сохранит в текстовом файле на своем компьютере. Если же отдать выбор пароля на откуп пользователю, то он выберет что-нибудь тривиальное. Не буду приводить результатов различных исследований, но ситуация с самостоятельным выбором действительно удручающая.
Это то, с чем нам приходится сталкиваться постоянно. Поставив во главу угла безопасность и забыв про принцип психологической приемлемости мы получаем огромное количество проблем – утерянные или легко угадываемые пароли. Разработчики просто не думают, что можно сделать что-то более эффективное. Например, графические пароли, которые не менее эффективны, но более удобны, чем обычные сложно запоминаемые последовательности символов. Но используются такой способ представления пароля редко, хотя в современных графических системах нет особых проблем в реализации этого механизма (у меня на коммуникаторе, например, реализован именно такой механизм).
Если же вспомнить, про принцип психологической приемлемости, то один из путей его реализации – парольные брелки или токены, которые хранят все пароли к разным системам. Пользователю надо знать только главный пароль к брелку. И хотя мы существенно облегчаем жизнь пользователю, это только видимое решение проблемы. Но что делать, если он забудет главный пароль или злоумышленник сможет этот главный пароль подобрать? Конечно существуют системы централизованного управления токенами, но они внедряются не везде и тоже имеют свои ограничения. Зато гораздо более эффективна с точки зрения названного принципа биометрия, т.к. пользователю не надо помнить пароли и злоумышленнику не так просто выдать себя за другого человека. К сожалению, разработчики часто идут по пути наименьшего сопротивления и поэтому биометрическая аутентификация пока редкость, несмотря на наличие достаточно эффективных алгоритмов и практических решений.
Хотя и на обычных паролях также можно реализовать достаточно эффективную систему. Например, SofToken (рис.1). На экране мы видим, что пользователю дается всего две кнопки «Get Password» и «Close». Вторая закрывает приложение, а первая генерит одноразовый пароль, который даже не надо специально копировать в буфер обмена – все делает система. Вам достаточно ввести созданный пароль в какое-нибудь приложение и пройти процесс аутентификации.
Рис. . VPN-клиент Cisco
Интегрировав VPN-клиент Cisco с токеном (например, от компании Aladdin) мы исключаем и этап ввода пароля, который берется автоматически из токена.
Другой пример – патчи и системные обновления. К сожалению, программное обеспечение не совершенно, как и люди, его создающие. А значит обновления, устраняющие те или иные уязвимости или ошибки, нам будут нужны всегда. Принцип психологической приемлемости применительно к патчам означает, что они должны устанавливаться прозрачно для пользователя и системного администратора. Пока же на практике это происходит не всегда, хотя многие производители систем управления патчами уже на полпути к решению этой проблемы. Например, у нас в компании все патчи и ПО распространяются и устанавливаются централизованно с помощью решений компании Altiris. И происходит это абсолютно прозрачно для пользователей. Даже инсталляция такой системы защиты как Cisco Security Agent на 47000 лэптопов по всему миру произошло абсолютно прозрачно и без участия пользователей в этом процессе.
Заключение
Пройти в открытую дверь гораздо проще, чем в закрытую. Но современный мир диктует нам свои условия – без безопасности нам уже не обойтись. И у нас остается два пути – оставить все как есть или попробовать реализовывать принцип психологической приемлемости. Безопасность – это не только какие-то механизмы или алгоритмы. Это продукт, включающий также и другие компоненты, такие как человеческий фактор и различные правила и политики. Игнорирование или недооценка любого из этих факторов приводит к неудаче.
Безопасность очень тесно связана с человеческим фактором. Даже лучшие политики безопасности или методы защиты могут быть разрушены или обойдены, если пользователь найдет их сложными в реализации или «мешающими жизни». Поэтому прежде чем пускать ту или иную системы в «свободное плавание» необходимо проверить ее на следование принципу психологической приемлемости. Тестирование на пользователях – вот обязательное условие его реализации. Недостаточно проверить систему на программистах или сотрудниках отдела тестирования. Нужно привлечь тех, кто затем будет использовать эту систему. Только в этом случае мы можем быть уверенными, что система будет не только безопасной, но и удобной. Будьте как злоумышленники, которые обращают больше внимания на человеческий фактор, чем разработчики средств защиты (достаточно вспомнить действия Кевина Митника и многих других хакеров, применяющих социальный инжиниринг).
Хотя конечно надо понимать, что реализация принципа психологической приемлемости может обойтись дороже, чем отказ от него и следование стандартной практике создания защищенных систем. Возможно это тоже является препятствием на пути повсеместного внедрения принципов создания эргономичных систем защиты. Ведь любой разработчик системы безопасности думает о рентабельности, а любые дополнительные шаги (особенно тестирование) не только ее снижают, но и увеличивают время вывода продукта на рынок с жестокой конкуренцией. Остается только надеяться, что со временем разработчики систем защиты поймут свою ошибку и начнут уделять внимание не только самым современным алгоритмам и методам безопасности, но и такой «простой» теме, как удобство и практичность.
Дополнительная информацияhttp://www.ischool.berkeley.edu/~rachna/security_usability.html - набор ссылок на различные публикации об удобстве и безопасности
Security and Usability. Lorrie Faith Cranor, Simson Garfinkel. O’Reilly. 2005 – отличная книга, полностью посвященная данной теме
Об авторе:
Алексей Лукацкий, бизнес-консультант по безопасности Cisco Systems, alukatsk@cisco.com
Никаких овечек — только отборные научные факты