Маскирование данных

редактировать

Маскирование данных или Обфускация данных - это процесс скрытия исходных данных с измененным содержимым (символы или другие данные.)

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

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

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

Содержание
  • 1 Предпосылки
  • 2 Методы
    • 2.1 Замена
    • 2.2 Перемешивание
    • 2.3 Разница в числах и датах
    • 2.4 Шифрование
    • 2.5 Обнуление или удаление
    • 2.6 Маскирование
    • 2.7 Дополнительные сложные правила
  • 3 разных типа
    • 3.1 Маскирование статических данных
    • 3.2 Детерминированное маскирование данных
    • 3.3 Обфускация статистических данных
    • 3.4 Маскирование данных на лету
    • 3.5 Динамическое маскирование данных
    • 3.6 Маскирование данных и облако
  • 4 См. Также
  • 5 Ссылки
Предпосылки

Данные, участвующие в маскировании или обфускации данных, должны оставаться значимыми на нескольких уровнях:

  1. Данные должны оставаться значимыми для логики приложения. Например, если элементы адресов должны быть скрыты, а город и пригород заменены на заменяющие города или пригороды, тогда, если в приложении есть функция, которая проверяет почтовый индекс или поиск почтового индекса, этой функции все равно должно быть разрешено работать без ошибка и работайте должным образом. То же самое верно и для проверки алгоритма кредитной карты и проверки номера социального страхования.
  2. Данные должны претерпеть достаточно изменений, чтобы не было очевидным, что замаскированные данные взяты из источника производственных данных. Например, в организации может быть общеизвестно, что 10 старших менеджеров зарабатывают более 300 тысяч долларов. Если тестовая среда системы управления персоналом организации также включает 10 идентификаторов в одной и той же группе доходов, тогда другая информация может быть собрана вместе, чтобы реконструировать реальную личность. Теоретически, если данные явно замаскированы или запутаны, то для кого-то, намеревающегося взломать данные, было бы разумно предположить, что они могли бы реконструировать идентификационные данные, если бы они имели некоторую степень знания идентичностей в производственном наборе данных. Соответственно, обфускация данных или маскирование набора данных применяется таким образом, чтобы гарантировать защиту записей идентичности и конфиденциальных данных, а не только отдельных элементов данных в дискретных полях и таблицах.
  3. Маскированные значения могут должны быть согласованы между несколькими базами данных в рамках организации, когда каждая из баз данных содержит определенный маскируемый элемент данных. Приложения могут сначала обращаться к одной базе данных, а затем обращаться к другой, чтобы получить связанную информацию, в которой внешний ключ был замаскирован (например, приложение центра обработки вызовов сначала извлекает данные из основной базы данных клиентов и, в зависимости от ситуации, впоследствии обращается к одной из нескольких других баз данных с очень разными финансовыми продуктами.) Для этого необходимо, чтобы применяемое маскирование повторялось (одно и то же входное значение для алгоритма маскирования всегда дает одно и то же выходное значение), но не может быть реконструировано для возврата к исходному значению. Дополнительные ограничения, упомянутые в пункте (1) выше, также могут применяться в зависимости от задействованных элементов данных. Если в базах данных используются разные наборы символов, которые необходимо соединить в этом сценарии, необходимо будет применить схему преобразования исходных значений в общее представление либо с помощью самого алгоритма маскировки, либо до вызова указанного алгоритма.
Методы

Подстановка

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

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

Этот метод замены необходимо применять для многих полей, которые есть в структурах БД по всему миру, таких как телефонные номера, почтовые индексы и почтовые индексы, как а также номера кредитных карт и номера других типов карт, такие как номера социального страхования и номера Medicare, где эти номера действительно должны соответствовать проверке контрольной суммы алгоритма Луна.

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

Перемешивание

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

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

Числовое отклонение и отклонение даты

Метод числового отклонения очень полезен для применения к полям финансовой и датированной информации. Фактически, метод, использующий этот способ маскирования, может по-прежнему оставлять значимый диапазон в наборе финансовых данных, таком как платежная ведомость. Если применяемая дисперсия составляет около +/- 10%, то это все еще очень значимый набор данных с точки зрения диапазонов заработной платы, выплачиваемой получателям.

То же самое относится и к информации о дате. Если для всего набора данных необходимо сохранить целостность демографических и актуарных данных, то применение случайного числового отклонения в +/- 120 дней до полей даты сохранит распределение дат, но все равно предотвратит прослеживаемость до известной сущности на основе их известных фактическая дата или рождение или известное значение даты для любой записи, которая маскируется.

Шифрование

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

В последнее время проблема шифрования данных при сохранении свойств объектов получила признание и вновь возник интерес среди поставщиков и научных кругов. Новая задача породила алгоритмы под названием FPE (шифрование с сохранением формата). Они основаны на принятом алгоритмическом режиме AES, который позволяет распознавать их NIST.

Обнуление или удаление

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

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

Маскирование

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

Обычно применяется к данным кредитной карты в производственных системах. Например, оператор центра обработки вызовов может выставить счет на оплату кредитной карты клиента. Затем они цитируют платежную ссылку на карту с последними 4 цифрами XXXX XXXX xxxx 6789. Как оператор, они могут видеть только последние 4 цифры номера карты, но как только биллинговая система передает данные клиента для списания, полный номер сообщается системам платежных шлюзов.

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

Дополнительные сложные правила

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

Различные типы

Маскирование данных тесно связано с данными тестирования зданий. Два основных типа маскирования данных - это статическое маскирование и маскирование данных «на лету».

Статическое маскирование данных

Статическое маскирование данных обычно выполняется для золотой копии базы данных, но также может применяться к значениям в других источниках, включая файлы. В средах БД производственные администраторы баз данных обычно загружают резервные копии таблиц в отдельную среду, сокращают набор данных до подмножества, содержащего данные, необходимые для определенного раунда тестирования (метод, называемый «подмножество»), применяют правила маскирования данных, пока данные находятся в стазис, применить необходимые изменения кода из системы управления версиями и / или передать данные в желаемую среду.

Детерминированное маскирование данных

Детерминированное маскирование - это процесс замены значения в столбце таким же значение, будь то в одной строке, той же таблице, той же базе данных / схеме и между экземплярами / серверами / типами баз данных. Пример: в базе данных есть несколько таблиц, в каждой из которых есть столбец с именами. При детерминированном маскировании имя всегда будет заменяться одним и тем же значением - «Lynne» всегда будет «Denise» - везде, где «Lynne» может быть в базе данных.

Обфускация статистических данных

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

Маскирование данных на лету

Маскирование данных на лету происходит в процессе передачи данных из среды в среду, не касаясь диска на своем пути. Тот же метод применяется к «динамическому маскированию данных», но по одной записи за раз. Этот тип маскирования данных наиболее полезен для сред с непрерывным развертыванием, а также для сильно интегрированных приложений. У организаций, использующих методы непрерывного развертывания или непрерывной доставки, нет времени, необходимого для создания резервной копии и загрузки ее в золотую копию базы данных. Таким образом, важна постоянная отправка небольших подмножеств (дельт) замаскированных данных тестирования из производственной среды. В сильно интегрированных приложениях разработчики получают каналы из других производственных систем в самом начале разработки, и маскирование этих каналов либо игнорируется, либо не учитывается в бюджете до более позднего времени, что делает организации несоответствующими. Наличие маскировки данных «на лету» становится важным.

Динамическое маскирование данных

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

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

Динамическое маскирование данных на основе атрибутов и политик. Политики включают:

  • Врачи могут просматривать медицинские карты пациентов, которым они назначены (фильтрация данных)
  • Врачи не могут просматривать поле SSN внутри медицинской карты (маскирование данных).

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

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

Существует пять возможных технологий применения динамического маскирования данных:

  1. В базе данных: база данных получает SQL и применяет перезапись к возвращаемому набору результатов с маскированием. Применимо для разработчиков и администраторов баз данных, но не для приложений (поскольку пулы соединений, кэширование приложений и шина данных скрывают идентификационные данные пользователя приложения от базы данных и также могут вызвать повреждение данных приложения).
  2. Сетевой прокси-сервер между приложением и база данных: захватывает SQL и применяет перезапись к запросу выбора. Применимо для разработчиков и администраторов баз данных с простыми запросами select, но не для хранимых процедур (которые прокси идентифицирует только исполняемого) и приложений (поскольку пулы соединений, кэширование приложений и шина данных скрывают идентификационные данные пользователя приложения из базы данных, а также могут вызвать повреждение данных приложения).
  3. Сетевой прокси между конечным пользователем и приложением: определение текстовых строк и их замена. Этот метод неприменим для сложных приложений, так как он может легко вызвать повреждение, если непреднамеренно применяется замена строки в реальном времени.
  4. Изменения кода в приложениях и XACML: изменения кода обычно трудно выполнить, невозможно поддерживать и не применяется для упакованных приложений. Некоторые приложения, такие как Oracle E-Business Suite, PeopleSoft и JD Edwards, позволяют добавлять код API в код своего приложения, чтобы включить динамическое маскирование данных.
  5. Во время выполнения приложения: путем инструментирования времени выполнения приложения, политик определены для перезаписи результирующего набора, возвращаемого из источников данных, при полной видимости для пользователя приложения. Этот метод является единственным применимым способом динамического маскирования сложных приложений, поскольку он позволяет управлять запросом данных, результатом данных и результатом пользователя.
  6. Поддерживается подключаемым модулем браузера: в случае SaaS или локальных веб-приложений браузер надстройки можно настроить для маскирования полей данных, соответствующих точным селекторам CSS. Это может быть выполнено либо путем маркировки конфиденциальных полей в приложении, например, с помощью HTML-класса, либо путем поиска правильных селекторов, которые идентифицируют поля, которые необходимо скрыть или замаскировать.

Маскирование данных и облако

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

См. Также
Ссылки
Последняя правка сделана 2021-05-17 14:10:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте