100 Мифы и заблуждения информационной безопасности Лукацкий

Вид материалаДокументы

Содержание


Миф №84 «USB-токен спасает от кражи секретных ключей ЭЦП»09.07.2010 22:00
Обычная USB-флешка
USB-флешка с защищенным хранилищем
USB-токен с встроенным криптопроцессором
USB-токен с встроенной генерацией ЭЦП
Подобный материал:
1   ...   53   54   55   56   57   58   59   60   ...   69

Миф №84 «USB-токен спасает от кражи секретных ключей ЭЦП»09.07.2010 22:00


После далеко неединичных инцидентов с кражей секретных ключей ЭЦП, используемых для цифровой подписи платежных поручений, на многих конференциях, в маркетинговых материалах, в рекомендациях разработчиков банковского софта и средств защиты звучит одна общая рекомендация – использовать USB-токены. Мол, это позволит полностью исключить кражу секретных ключей ЭЦП и защитит банковских клиентов от несанкционированного перевода средств на подставные счета. Но так ли это на самом деле? Не лукавят ли производители АБС и аппаратных USB-токенов?

Начнем с того, что токеном называется компактное устройство в виде USB-брелка, смарткарты или иной формы, которое служит для авторизации пользователя. Следуя этому определению обычные USB-флешки не подходят под понятие токен. Однако некоторые поставщики таких носителей информации все-таки называют их токенами, ссылаясь на то, что на них можно хранить PKI-сертификаты, по которым в свою очередь можно аутентифицировать пользователей. Чтобы не вступать в полемику с такой позицией, рассмотрим все виды USB-носителей, используемых для хранения секретных ключей ЭЦП. Их несколько:
  1. Обычная USB-флешка. Данный тип носителя никак не влияет на защищенность хранимых на нем данных. По данному критерию такой USB-токен мало чем отличается от дискеты. Украсть с него секретные ключи не представляет никакого труда и использовать такой токен для поставленной задачи нельзя. Хотя ссылка скрыта банки допускают это.
  2. USB-флешка с защищенным хранилищем. Этот тип носителя стал распространяться не так давно. Это USB-носители с встроенным шифрованием. Примером такого носителя является Verbatim Store ‘n’ Go USB Executive Secure, семейство разнообразных носителей Kingston DataTraveler или Buffalo RUF2-HSCL-U (последняя помимо шифрования поддерживает еще и встроенную антивирусную проверку хранящихся файлов). Данное решение обладает более высокой защищенностью чем обычная флешка, но также не может быть рекомендована как хранилище секретных ключей ЭЦП. Все дело в том, что в защищенном виде ключи хранятся только на самой флешке. Однако для того, чтобы подписать платежное поручение или какой-нибудь документ, ключ должен быть извлечен из флешки в память компьютера и отдан в программу, реализующую функцию ЭЦП. Вот в этот момент секретный ключ (а также любые иные защищаемые данные) могут быть украдены. Более того, получив доступ к секретной информации, злоумышленник может ее модифицировать и заново записать на флешку.
  3. USB-токен с встроенным криптопроцессором. Этот тип носителя помимо функции хранения обладает еще и ярко выраженной функцией идентификации его владельца. Различные примеры таких токенов позволяют генерить одноразовые пароли, использоваться как смарт-карта или применяться для бесконтактной RFID-идентификации. С точки зрения хранения секретных ключей такой токен мало чем отличается от предыдущего примера. Разве что у них может присутствовать две области хранения секретной информации – одна в режиме чтение/запись, а вторая только для чтения. Именно в нее можно записать секретные ключи ЭЦП, которые нельзя будет модифицировать… но вот украсть их можно в момент их передачи от токена в программу формирования ЭЦП. При этом дальнейшее наличие токена уже не нужно, т.к. у нас имеется копия перехваченного секретного ключа. PIN-код для доступа к токену также может быть перехвачен специализированным программным обеспечением. Примером такого типа устройства является VeriSign USB Token, eToken PRO или Rutoken.
  4. USB-токен с встроенной генерацией ЭЦП. Этот тип носителя отличается от всех остальных тем, что он не только хранит секретный ключ ЭЦП и самостоятельно вырабатывает ее внутри себя. Иными словами, на вход этого токена подается платежное поручение, которое и подписывается внутри USB-устройства. Как правильно пишут разработчики таких устройств, секретный ключ никогда не покидает токен. Сегодня на российском рынке представлено только одно сертифицированное в ФСБ решение – «ссылка скрыта», работающий с АБС iBank компании «БИФИТ». На сертификации находятся аналогичные решения ссылка скрыта от компании Aladdin и ссылка скрыта от компании «Актив».

Последнее время вокруг «iBank 2 Key» нагнетается ажиотаж. Причем его активно подпитывают и сами банки, которые для своих клиентов дают такие рекомендации: «Радикальной мерой борьбы с выявленным трояном, является использование носителя ключевой информации - USB-токен, который делает невозможным копирование ключей ЭЦП». Другой банк приводит на своем сайте такую рекомендацию: «Если в настоящий момент для работы в Интернет-банке Вы используете обычные носители для хранения ключей ЭЦП (дискета, «флэшка», жесткий диск), то мы настоятельно рекомендуем Вам перейти на использование аппаратного криптопровайдера USB-токен "iBank 2 Key".Это радикальная мера защиты для противодействия хищению ключей ЭЦП Клиента. Основное достоинство заключается в том, что ключи, созданные на USB-токен, невозможно скопировать. Так, физическое нахождение у Вас  токена, дает гарантию того, что никто другой им не воспользуется, и Вы смело можете использовать открытые точки доступа в Интернет». Насколько это корректно?

Если обратить внимание на рекламу такого токена, то можно обратить внимание, что в качестве его «радикального» преимущества преподносится защита секретного ключа ЭЦП. В этом и кроется подвох или непонимание продавцами всей глубины проблемы. Ведь не в краже секретных ключей ЭЦП состоит основная угроза. Ключевая же проблема заключается в несанкционированном переводе средств клиента банка. Кража секретных ключей – это всего лишь один из вариантов ее реализации, но далеко не единственный. Сходу можно предложить иной метод кражи денег – подать на вход USB-токена поддельное платежное поручение. Токен благополучно подпишет его и оно будет отправлено в банк, где банк в соответствии с договор банковского обслуживания переведет сумму, указанную в платежке на подставные реквизиты. Легко ли реализовать такую атаку? Не сложнее, чем перехватывать PIN-код доступа к обычному USB-токену. Достаточно написать троянца, который будет перехватывать документ, отправляемый клиентским приложением к токену, и подменять платежные реквизиты. Можно полностью подменить платежное поручение, а можно отдать токену две платежки – оригинальную и несанкционированную. При этом в банковском приложении будут отображаться не вызывающие подозрения реквизиты и статус подписи.

С точки зрения специалиста по безопасности проблема с кражей секретных ключей может быть решена рассматриваемым USB-токеном. А вот с точки зрения клиента внедрение такого токена не дает ничего нового (кроме затрат на покупку токенов). Если клиент подхватил где-то ссылка скрыта, крадущего секретные ключи ЭЦП, то он с таким же успехом может подхватить и троянца, подменяющего платежки. Усилия по внедрению таких вредоносных программ идентичны. И USB-токен в встроенной ЭЦП, решив одну проблему, ничего не может поделать с другой.

Частично решить проблему с подменой платежки могло бы хранение всех подписанных документов в энергонезависимой памяти токена. В этом случае при разборе конфликтов всегда можно было бы обнаружить, что подписанный документ не тот, который был подан со стороны клиентского приложения ДБО. Правда, и несанкционированный перевод средств уже был произведен. С точки зрения законодательства вина может лежат как на юридическом лице, нарушившем условия договора банковского обслуживания, в котором были прописаны условия обеспечения безопасности ДБО, так и на банке, которые не внес в договор (именно в договор) рекомендаций по защите. Однако из имеющихся сегодня на рынке решений только у eToken ГОСТ (в модификации eToken ГОСТ/Flash) объем памяти составляет 4 Гб (стоимость, правда, тоже возрастает. У Rutoken ЭЦП объем памяти для хранения данных всего 64 Кбайт. iBank 2 Key также не предусматривает архивного хранения хоть сколько-нибудь большого количества подписанных документов.

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

Но вернемся к самому токену с встроенной генерацией/проверкой ЭЦП. Можно ли все-таки украсть с него секретный ключ или это полностью исключено, как утверждают разработчики? Оказывается можно. Помимо простого физического доступа к внутренностям токена (что достаточно быстро обнаруживается) существует целый класс атак, называемых ссылка скрыта или атака по сторонним каналам. В отличие от криптоанализа, направленного на алгоритмы, используемые для шифрования или ЭЦП, данные атаки опираются на сведения, полученные в результате наблюдения за физическим процессом работы USB-токена. Данные атаки известны еще с 80-х годов и, как это не странно, они не настолько дороги в реализации как кажется. А в 1998-м году известный специалист по безопасности Брюс Шнайер писал об успешности таких атак против смарт-карт и токенов безопасности. Существует даже отдельный сайт, посвященный данным атакам (ссылка скрыта).

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

Что же получается? USB-токены не нужны? Конечно же нет. Они повышают уровень защиты секретных ключей ЭЦП и другой конфиденциальной информации. Но полностью полагаться на них не стоит. Как бы не хотели мы доверять заявлениям поставщиков, что USB-токен радикально решает проблему, необходимо четко для себя уяснить – защита системы дистанционного банковского обслуживания – это проблема комплексная, и только одним устройством нерешаемая.