Logo    
Деловая газета CitCity.ru citforum.ck.ua - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: citforum.ck.ua
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Sunday, 21-Sep-2008 19:54:18 EEST

Google
WWW citforum.ck.ua
2005 г.

К вопросу защиты карточек пополнения счета мобильных операторов связи

, Игорь Васильевич Шестак, Украинский Государственный Университет информационно-коммуникационных технологий

Данный вариант является переработанной версией статьи, опубликованной в журнале «Зв’язок» № 7, 2005.

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

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

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

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

Функцией перемешивания могут быть хэш - алгоритмы: MD2 (128 бит), MD4 (128 бит), MD5 (128 бит), SHA (160 бит) и т.д. В основном используются MD4 и MD5, обладающие высоким быстродействием и хорошими размешивающими характеристиками (MD4 в 3 раза быстрее MD5).

Далее будем полагать, что используется хэш-функция с 128 битным выходом m=128.

Нулевая итерация (начальное заполнение) примет вид:

Г0 = Hash(NomSeria, GodenDo, Nominal, SecretKey). (1)

На выходе (1) получим фиксированную m - битную строку хэш - суммы.

В итоге возможно ≈ 2m начальных состояний генератора, вне зависимости от того, какой длины секретный ключ вводится и какой массив данных туда вводится.

Для получения остальных бит используется рекуррентное выражение:

Гi+1 = Hashi) , (2)

где N – количество карточек в выпускаемой серии, L – длина кода пополнения счета в битах, [ ] – округление до большего целого.

Полученные по формуле (2) биты не является равновероятными, из-за существования запрещенных значений (к примеру, данное значение было уже ранее сгенерировано, получена инверсия ранее сгенерированных бит и т.д.).

Свойством (2) является возможность однозначного определения через любой выход хэш-суммы Гk всех последующих хэш-сумм Гk+1.

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

Приведем один из возможных механизмов подделки кодов пополнения счета.

Количество карточек в выпускаемой серии N несложно определить по серийным номерам карточек.

По номеру карточки можно вычислить номер m - битного блока бит и смещение кода пополнения счета в этом блоке.

Длина кода пополнения счета L подбирается из анализа кодов пополнения счета.

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

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

При этом не спасает модификация формулы (2) к виду:

Гi+1 = Hashi, SecretKey) , (3)

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

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

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

Для минимизации возможности взлома кодов карточек пополнения счета, службам безопасности (далее СБ) операторов мобильной связи необходимо отказаться от пагубной стратегии, именуемой на Западе SbO, что в зависимости от чувства юмора расшифровывают либо как Security by Obscurity ("безопасность упрятыванием"), либо как Security by Ostrich ("безопасность по-страусиному"). Согласно этой стратегии, степень защиты любой системы в значительной степени увязывается с сохранением в тайне как особенностей ее конструкции, так и случаев ее компрометации. Автор еще в 2002 году лично столкнулся с проявлением этой стратегии в разговоре с представителем СБ одного оператора мобильной связи. СБ выразила заинтересованность в анализе защищенности кодов пополнения счета и даже хотела подкрепить свой интерес финансово. При этом они отказались предоставить для анализа уже использованную серию кодов пополнения счета, сославшись на ее … секретность! Секретным они называли то, что уже находилось в распоряжении автора и при этом было собрано из открытых источников без нарушения законодательства Украины. Налицо полная некомпетентность представителя СБ и непонимание того, что в действительности необходимо защищать. Не думаю, что сейчас что-либо изменилось в стратегии работы СБ.

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

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

 

Подписка на новости IT-портала citforum.ck.ua
(библиотека, citforum.ck.ua, CitCity)

Новые публикации:

17 сентября

  • T2C: технология автоматизированной разработки тестов базовой функциональности программных интерфейсов
  • Технология Azov автоматизации массового создания тестов работоспособности
  • citforum.ck.ua

  • FreeBSD: ZFS vs UFS, и обе-две — против всех (А.Федорчук)
  • Zenwalk: пакет недели

    • Текстовый редактор Geany
    • Xfce4-xkb-plugin

  • Дачнет — практика без теории (С.Голубев)
  • 10 сентября

  • За чем следить и чем управлять при работе приложений с Oracle
  • Планировщик заданий в Oracle
    (В.Пржиялковский)
  • citforum.ck.ua:

  • Microsoft: ответный "боян" (С.Голубев)
  • Причуды симбиоза, или снова "сделай сам" (В.Попов)
  • Файловые системы современного Linux'а: последнее тестирование
  • Zsh. Введение и обзор возможностей
    (А.Федорчук)
  • Описания пакетов Zenwalk: Zsh, Thunar, Thunar-bulk-rename, Xfce4-places-plugin, Xfce4-fsguard-plugin

    Блогометки:

  • Google Chrome
  • Лончер для ASUS Eee PC 701
  • 3 сентября

    citforum.ck.ua:

  • Заметки о ядре (А.Федорчук):
    • Что такое ядро?
    • Пересборка ядра: ядерный распад или термоядерный синтез?
    • Ядро для "памятливой" машины
    • Лишнему в ядре не место

    Добавлены описания пакетов Zenwalk: Galculator, Screenshot, Gnumeric, Pidgin

    В дискуссинном клубе:

  • И еще о Википедии и Google Knol
  • Лекция для начинающего линуксоида (С.Голубев)
  • 26 августа

  • Транзакционная память (Пересказ: С. Кузнецов)
  • citforum.ck.ua:

  • Открыт новый проект Zenwalk: пакет недели
  • Статья Текстовые процессоры и их быстродействие: конец еще одной легенды?
  • 21 августа

    citforum.ck.ua:

  • Почему школам следует использовать только свободные программы (Ричард Столлман)
  • Беседа Сергея Голубева с учителем В.В.Михайловым
  • Википедия или Гуглезнание? Приглашение к обсуждению (Алексей Федорчук)
  • Народная энциклопедия от Google (StraNNik)
  • Обзор Mandriva 2009.0 Beta 1 Thornicrofti
  • Новичок в Линукс: Оптимизируем Mandriva 2008.1
  • Книга Zenwalk. Приобщение к Linux:
    • Глава 10. Zenwalk: построение пакетов
    • Что дальше? Вместо заключения

    13 августа

    CitCity:

  • Мирный Atom на службе человеку. Обзор платы Intel D945GCLF с интегрированным процессором
  • Обзор процессоров Intel Atom 230 на ядре Diamondville
  • iPhone - год спустя. Скоро и в России?
  • citforum.ck.ua:

  • Интермедия 3.4. GRUB: установка и настройка (из книги Zenwalk. Приобщение к Linux)
  • 6 августа

  • СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности? (Пересказ: С. Кузнецов)
  • citforum.ck.ua:

  • Интермедия 2.2. Что неплохо знать для начала (из книги Zenwalk. Приобщение к Linux)
  • И снова про шрифты в Иксах (А.Федорчук)
  • 20 самых быстрых и простых оконных менеджеров для Linux
  • Дело о трех миллиардах (С.Голубев)
  • 30 июля

  • OLTP в Зазеркалье (Пересказ: С. Кузнецов)
  • CitCity:

  • Будущее BI в облаках?
  • Тиражные приложения и заказная разработка. Преимущества для заказчика
  • Дискуссия со сторонниками заказной разработки
  • citforum.ck.ua:

  • Новые главы книги Zenwalk. Приобщение к Linux:
  • Глава 8. Пакеты: средства установки, системы управления, системы построения
  • Глава 9. Zenwalk: репозитории, пакеты, методы установки
  • 23 июля

    citforum.ck.ua:

  • Все против всех. 64 vs 32, Intel vs AMD, tmpfs vs ext3
  • Две головы от Intel
  • Zenwalk: обзор штатных приложений (глава из книги "Zenwalk. Приобщение к Linux")
  • Нормально, Григорий...
  • 16 июля

    Обзоры журнала Computer:

  • Перспективы и проблемы программной инженерии в XXI веке
  • Большие хлопоты с большими объемами данных
  • Перспективы наноэлектроники
  • citforum.ck.ua:

  • Интермедия о лицензиях (А.Федорчук. "Zenwalk. Приобщение к Linux")
  • Есть ли будущее у KDE?
  • Linux в школе: альтернативный вариант в задачах
  • Шифр (приключения агента Никодима)
  • 10 июля

    citforum.ck.ua:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия вступительная. Linux или GNU/Linux? Как вас теперь называть?
  • Глава 5. Среда Xfce
  • Глава 6. Xfce: приложения и плагины
  • ZUR (Zenwalk User Repository) FAQ
  • 2 июля

  • Персистентность данных в объектно-ориентированных приложениях (С. Кузнецов)
  • citforum.ck.ua:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия 1.2. Дорога к Zenwalk'у. Период бури и натиска
  • Интермедия 3.3. Немного о Linux'е и "железе"
  • Глава 4. Настройка: инструментами и руками
  • Интермедия 4.1. Zenpanel и конфиги: поиски корреляции
  • Интервью с Жан-Филиппом Гийоменом, создателем дистрибутива Zenwalk
  • Linux в школе: первые итоги (С. Голубев)
  • 25 июня

    citforum.ck.ua:

  • Zenwalk. Приобщение к Linux (А. Федорчук)
  • Логика и риторика (С.Голубев)
  • Технология Tru64 AdvFS
  • Ханс Райзер предлагает отвести полицейских к телу Нины
  • 18 июня

  • Проекты по управлению данными в Google (Пересказ: С. Кузнецов)
  • citforum.ck.ua:

  • ОС и поддержка "железа": мифы и реальность (А. Федорчук)
  • Linux в школе: другие дистрибутивы
  • Пинок (С. Голубев)
  • 4 июня

  • Ландшафт области управления данными: аналитический обзор (С. Кузнецов)
  • citforum.ck.ua:

  • Linux в школе: слово заинтересованным лицам
  • SlackBuild: пакеты своими руками
  • Linux от компании Novell. Установка и обзор openSUSE Linux
  • Все публикации >>>




IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей Пресс-релизы -
Послать комментарий
Информация для авторов
Rambler's Top100 This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...