9 способов защитить данные облачных приложений

Статья редактора InfoWorld (США)
Главная Блог9 способов защитить данные облачных приложений

Питер Уэйнер является редактором InfoWorld и автором более 16 книг по различным темам, включая программное обеспечение с открытым исходным кодом, автономные автомобили, цифровые транзакции и стеганографию.

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

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

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

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

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

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

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


Используйте функционал

Облачные провайдеры понимают, что клиенты обеспокоены по поводу безопасности, и постепенно добавляют функции, которые облегчают защиту данных. Amazon, например, предлагает более двадцати решений, повышающих безопасность. AWS Firewall Manager помогает убедиться, что брандмауэры пропускают только правильные пакеты. AWS Macie будет сканировать ваши данные в поисках слишком открытых конфиденциальных данных. Google Cloud и Microsoft Azure имеют свои собственные наборы средств безопасности. Освоение всех этих продуктов может потребовать сил целой команды, однако это отличный первый шаг в защите ваших облачных данных.

Следите за «секретами»

Защиты при помощи паролей, ключей шифрования и параметров аутентификации вполне хватает, когда мы просто блокируем наши рабочие столы. С облачными машинами все гораздо сложнее, особенно когда ими управляет команда. Множество инструментов сегодня предназначено помочь в этом. Вы все еще должны быть осторожны с управлением исходным кодом, но различные сервисы помогут управлять секретами (всей конфиденциальной информацией), чтобы их можно было безопасно интегрировать в облачные машины. Такие инструменты, как хранилище Hashicorp, анклав Доплера, система управления ключами AWS и инструменты управления API Okta, — это лишь некоторые из вариантов, которые упрощают процесс. Все они по-прежнему требуют некоторой осторожности, но это лучше, чем записывать пароли в маленькую записную книжку и запирать ее в чьем-то кабинете.

Рассмотрите возможность выделенного оборудования

Никогда не знаешь, какую степень параноидальности стоит сохранять, делясь компьютерным оборудованием с другими. Трудно поверить, что злоумышленник может найти способ поделиться нужной машиной, а затем использовать некоторые из экстремальных подходов, таких как rowhammer, но некоторые данные наверняка стоят беспокойства. Если ваша вычислительная нагрузка достаточно постоянна, экономический смысл может иметь использование локальных серверов в вашем собственном здании. Кто-то применяет гибридные инструменты облачных компаний, другие планируют обслуживать свои собственные машины. В любом случае, полный контроль над компьютером обходится дороже, чем общий доступ, но он исключает ряд возможных атак.

Хэширование

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

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

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


Шифрование

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

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

Поддельные данные

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

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

Компания AI, Hazy, поставляет инструмент на основе Python, который будет работать внутри защищенных центров обработки данных и производить синтетические версии ваших данных, которыми вы можете делиться более свободно.

Дифференциальная конфиденциальность

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

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

Microsoft предлагает White Noise, инструмент с открытым исходным кодом, созданным с помощью Rust и Python, для добавления точно настроенного количества шума в ваши SQL-запросы.

Гомоморфное шифрование

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

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

Ничего не храните

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

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



Источник: infoworld.com/article/3572600/9-ways-to-build-privacy-into-your-cloud-applications.html

   К списку

Поделиться