Независимо от нашего желания, в современном мире мы все сталкиваемся с неизбежной необходимостью использования облачных сервисов для обмена, хранения и обработки наших данных. Мы внедряем в повседневную жизнь десятки таких сервисов, порой даже не осознавая этого. Мотивация для этого проста: облако приносит ряд значительных преимуществ как отдельным пользователям, так и организациям. Эти преимущества включают в себя возможность доступа к данным с разных устройств, обмен информацией в любой точке мира и управление ресурсами удаленного центра обработки данных с помощью портативных устройств.
Тем не менее, несмотря на все эти преимущества, использование облачных сервисов также подразумевает, что наша безопасность и приватность зависят от облачных провайдеров. Важно понимать, что облако – это по сути чужой компьютер, и эти поставщики играют роль единственных уязвимых точек и первоочередной цели для хакеров, которые стремятся получить доступ к разнообразной информации, начиная от корпоративных данных и заканчивая нашей личной информацией, такой как фотоальбомы и финансовые документы.
Риски, с которыми мы сталкиваемся в мире облачных сервисов, не случайны. Например, для того чтобы Google мог показывать ваши рабочие электронные письма, ему приходится хранить множество копий данных на различных серверах. Даже если эти данные хранятся в зашифрованной форме, Google должен иметь возможность расшифровать их для отображения ваших писем на веб-странице. Подобные ситуации наблюдаются и в других облачных сервисах, как Zoom, который координирует вызовы, ретранслируя видео и аудио участников и при этом имеет доступ к этим данным.
Нарушения безопасности облачных сервисов происходят с удивительной регулярностью, и иногда они столь масштабны, что затрагивают огромное количество пользователей, как в случае с нарушением безопасности Equifax в 2017 году или инцидентом SolarWinds в 2019-2020 годах, когда пострадали значительная часть крупнейших компаний и правительство США.
Подобные вызовы безопасности наводят нас не только на мысль о злоумышленниках, но и на проблему использования доступа к данным компаниями в собственных интересах. Некоторые организации могут извлекать прибыль из слабых законов, сложных правил безопасности и недостаточного контроля, добывая и продавая наши личные данные. Другие же компании продвигают нам современные, но не всегда эффективные технологии безопасности. В этом контексте каждой компании следует уделять особое внимание вопросам информационной безопасности, а также вкладываться в страхование кибербезопасности. Пользователи в свою очередь должны следить за утечками данных и изменениями в политике конфиденциальности, предоставляемой облачными провайдерами.
Тем не менее, несмотря на все эти меры осторожности, они могут быть недостаточными для обеспечения надежной защиты. Даже крупные компании, такие как Microsoft и Zoom, не всегда способны предотвратить серьезные инциденты безопасности. Поэтому приходит время задуматься о том, что мы сами должны активно участвовать в обеспечении безопасности наших данных.
В итоге наше послание очень простое: существует возможность достичь наилучших результатов, объединив лучшие аспекты облачных сервисов с применением собственных защищенных решений на собственных серверах. Такой подход позволяет получить все преимущества облачных сервисов, сохраняя при этом контроль над безопасностью и конфиденциальностью данных.
Что такое “разделение”?
За последние несколько лет множество разнообразных идей, как уже устоявшихся, так и новых, объединились в поисках выхода из данной ситуации. Однако, эти идеи, которые в совокупности мы можем назвать “разделением”, не получили широкого признания, интеграции или широкого использования. Они призваны пересмотреть наш подход к безопасности и конфиденциальности данных.
Идея разделения весьма проста. Чем меньше информации о вас и ваших данных знает кто-либо еще, тем меньше уязвимостей и рисков для вашей безопасности. В области информационной безопасности это известно как принцип “наименьших привилегий”. Применительно к облачным сервисам, принцип разделения заключается в том, чтобы системы максимально ограничивали доступ к вашей личной информации.
Чтобы разобраться в этом подробнее, давайте рассмотрим три основных сценария работы с данными при использовании облачных сервисов: передача данных, хранение данных и обработка данных. Нам необходимо внедрить разделение в каждом из этих сценариев.
Наши данные всегда находятся в движении, когда мы обмениваемся информацией с облачными сервисами, такими как серверы видеоконференций, удаленные системы хранения файлов и другие средства доставки данных. В то же время наши данные находятся в состоянии покоя, хранясь на устройствах или резервных копиях в облачных хранилищах, которые регулируются политиками облачных поставщиков. Кроме того, многие сервисы обрабатывают наши данные в облаке, иногда без нашего явного согласия или уведомления. Большинство сервисов используют несколько из этих сценариев.
Для обеспечения того, чтобы облачные сервисы не имели излишних прав доступа к нашей информации и чтобы нарушение одного элемента не представляло угрозу для всех данных, необходимы два вида разделения. Первый тип – это организационное разделение: это разделение личных данных между различными организациями так, чтобы никто не имел полного представления о всем происходящем. Второй тип – функциональное разделение: это разделение данных на разных уровнях программного обеспечения. Например, идентификаторы, используемые для аутентификации пользователей, должны отделяться от идентификаторов, используемых для соединения устройств с сетью.
При создании систем с разделением облачные поставщики должны учитывать различные потенциальные угрозы, будь то умысел, небрежность или жадность. Эффективность разделения можно проверить, опираясь на аналогию с шифрованием: если можно спокойно использовать облачные сервисы, зная, что они разделены и информация о вас не сконцентрирована в одном месте, значит, разделение реализовано правильно.
Криптограф Дэвид Чаум впервые предложил подход разделения в области информационной безопасности для обеспечения анонимности и цифровой конфиденциальности еще в 1980-х годах, задолго до широкого распространения онлайн-банкинга и криптовалют. Он задал себе вопрос: как можно предоставлять услуги пользователям банка или сетевых провайдеров, не нарушая их конфиденциальность?
Чаум предложил использовать множество серверов, находящихся под управлением разных организаций, для пересылки интернет-трафика и разделения данных таким образом, чтобы даже при взломе одного из серверов не разглашалась полная информация о пользователях и их действиях. Несмотря на влияние, которое оказали его идеи, они нашли применение в ограниченном контексте, таком как браузер Tor.
Как применение разделения может обеспечить безопасность данных в движении
Существует три класса новых технологий, разработанных в течение последних нескольких лет, которые теперь делают концепцию разделения практичной и применимой во многих других приложениях.
Давайте представим, что вы используете приложение Zoom для проведения видеозвонка. Ваше устройство и устройства ваших коллег отправляют видеоданные на серверы Zoom. Исходно данные передаются в зашифрованной форме, но Zoom имеет доступ к их расшифровке. Это означает, что серверы Zoom могут видеть видео и слышать аудио, а затем передавать эти данные другим пользователям во время разговора. При этом Zoom также имеет информацию о том, кто разговаривает с кем и в какое время.
Ранее собрания проводились в частных конференц-залах, но сегодня они переместились в облако, и третьи стороны, такие как Zoom, имеют доступ ко всей информации: кто, что, когда и где. На самом деле нет объективной необходимости для компании, предоставляющей услуги видеоконференций, знать такую конфиденциальную информацию о каждой организации, использующей их сервис. Но в настоящее время это обыденная практика, и мы все уже привыкли к этому.
Существует множество угроз безопасности в случае использования Zoom. Сотрудники Zoom могут злоупотреблять доступом и прослушивать разговоры. Zoom может осуществлять слежку за звонками других компаний и собирать, и продавать пользовательские данные информационным брокерам. Он может использовать ваши личные данные для обучения своим искусственным интеллектом. Даже если Zoom и все его сотрудники полностью достойны доверия, существует риск взлома системы Zoom повсюду. Без разделения данных в движении все операции, выполняемые Zoom с вашими данными, также могут быть выполнены злоумышленниками, взломавшими систему. Применение разделения данных в движении может устранить эти угрозы.
Для организации видеоконференций нет необходимости предоставлять доступ к нешифрованным видеоданным для передачи битовой информации между вашим устройством и другими пользователями. Соответственно настроенный видеосервис может обеспечить передачу данных о том, кто, что, где и когда находится в движении, начиная с исходных данных вызова. Подлинное сквозное шифрование видео и аудио сохранит конфиденциальность этой информации только для авторизованных участников разговора и никого другого (на данный момент Zoom предоставляет такую опцию, но при ее использовании некоторые другие функции могут быть отключены).
Чтобы защитить информацию о “кто” внутри сервиса, функциональное разделение может обеспечить аутентификацию пользователей с использованием криптографических схем, скрывающих их личность, например, слепые подписи, которые были придуманы Чаумом десятилетия назад для обеспечения анонимности при покупках.
Организационное разделение может также защитить информацию о “где” и “когда”, не разрешая сервису получать информацию о сетевых адресах участников и, следовательно, о их местоположении и личных данных через различные методы. Новые системы ретрансляции с несколькими каналами, более эффективные, чем Tor, маршрутизируют данные через стороннюю инфраструктуру, что позволяет скрыть истинный источник данных, когда они попадают в видеосервис.
Все эти разделительные меры вместе обеспечат защиту пользователей как от злонамеренных действий со стороны Zoom, так и от сбоев в системе безопасности.
Как разделение данных может обеспечить безопасность их хранения
Данные, находящиеся в незашифрованном виде на ноутбуке или телефоне, представляют собой очевидную угрозу, подверженную риску кражи со стороны злоумышленников и вредоносных программ. Облачное хранилище, несомненно, предлагает преимущества в виде удобства, скорости и надежности, но с этими преимуществами связаны новые риски. Даже нарушение безопасности, затрагивающее одного клиента, может повлечь за собой угрозу для всех пользователей, делая попытку взлома более привлекательной для хакеров.
Большинство поставщиков систем хранения данных и баз данных начали применять шифрование данных на дисках много лет назад, однако иногда это недостаточно для обеспечения полной безопасности. В большинстве случаев данные расшифровываются при каждом доступе к ним с диска. Это означает, что, несмотря на шифрование, данные могут быть украдены хакерами или злоумышленниками, следящими за облачным провайдером.
Компании, которые работают с облачными хранилищами данных, ранее собирали информацию о пользователях для обучения искусственного интеллекта или для продажи целевой рекламы. Некоторые из них хранят данные и предоставляют возможность пользователям получить доступ к ним за дополнительную плату или даже продают эти данные оптовым брокерам. Даже самые крупные корпорации занимаются обработкой наших данных и участвуют в рекламных практиках. Старая модель безопасности, при которой одна компания предоставляла аппаратное и программное обеспечение, а также различные локальные и облачные сервисы пользователям, уступает место новой реальности.
Разделение данных может помочь сохранить преимущества облачного хранения, обеспечивая при этом безопасность пользовательских данных. Как и в случае с данными в движении, риски начинаются с доступа провайдера к необработанным данным (или с доступа, который хакеры могут получить в результате взлома). Сквозное шифрование с ключами, находящимися у конечного пользователя, гарантирует, что облачный провайдер не сможет самостоятельно расшифровать данные с диска. Однако обработка данных в состоянии покоя требует другого подхода, и механизмы разграничения доступа должны соответственно измениться.
Функциональное разделение становится так же важным, как и организационное. Необходимо создать независимую инфраструктуру для аутентификации, позволяющую пользователям подтверждать свою личность, для авторизации, определяющей, какие данные доступны каждому пользователю, для хранилищ, в которых хранятся необработанные данные, и для приложений, предоставляющих доступ к данным только с разрешения пользователя. Идеально, эти функции должны разделены между различными поставщиками с использованием стандартных протоколов и интерфейсов, чтобы обеспечить согласованные услуги для пользователей.
Необходимо также учитывать различные сценарии использования данных. Мы храним информацию в облаке не только для личного доступа, но и для её обмена с другими. Многие облачные системы, такие как Amazon Simple Storage Service (S3), Google Drive или Microsoft 365, а также аналитические платформы, вроде Intuit или Salesforce, предоставляют инструменты для совместного использования данных. Тем не менее, облачный провайдер все равно остается владельцем данных пользователя и имеет к ним полный доступ. Здесь необходимо четко разграничить управление данными и физическое их размещение. Задача поставщика хранилища состоит в размещении данных, сделав их мгновенно доступными из любого места. Он не должен контролировать доступ к данным или прикладному программному обеспечению, работающему на его серверах. Облачное программное обеспечение, предоставляющее доступ, должно полностью передать контроль пользователю.
Современные протоколы, включая Solid, разработанный Тимом Бернерсом-Ли, предоставляют уровень безопасности, который обеспечивает независимое и децентрализованное хранение данных. Solid — это протокол, предназначенный для управления распределенными хранилищами персональных данных, известными как “pods. Он дает пользователям полный контроль над тем, где находится их модуль и кто имеет доступ к включенным в него данным на самом детальном уровне. Это означает, что пользователи могут уверенно контролировать свои данные, даже в случае неблагонадежных действий со стороны хостинг-провайдера или разработчика приложения. В этой модели пользователи и организации могут самостоятельно управлять своими рисками, предоставляя только те данные, которые необходимы для конкретных сценариев использования.
Как разделение может повысить безопасность вычислений
Практически все облачные сервисы должны выполнять определенные вычисления с нашими данными. Даже у самых простых поставщиков хранилищ данных есть программный код, который позволяет копировать байты информации из их внутренних систем хранения и передавать их пользователям. В таких ограниченных случаях сквозное шифрование может быть достаточным. Однако во многих ситуациях нам нужно, чтобы наши облачные провайдеры могли выполнять разнообразные вычисления на наших необработанных данных, включая поиск, анализ, обучение искусственных интеллектуальных моделей или тонкую настройку и многое другое. Без использования дорогостоящих методов, таких как безопасные протоколы для многопартийных вычислений или методы гомоморфного шифрования, которые способны выполнять вычисления с зашифрованными данными, серверам облачных провайдеров необходим доступ к нешифрованным данным, чтобы выполнять полезные операции.
К счастью, в течение последних нескольких лет появились общедоступные средства для безопасных вычислений с аппаратной поддержкой. Они основаны на специальных функциях процессоров, известных как доверенные среды выполнения (TEE) или безопасные анклавы. TEE изолируют тех, кто управляет чипом (облачный провайдер, например, Microsoft Azure), от тех, кто обеспечивает безопасность чипа (поставщик процессоров, такой как Intel), и от тех, кто контролирует данные, используемые в вычислениях (клиент или пользователь). TEE позволяют облачному провайдеру выполнять вычисления, не видя самих данных. Результаты вычислений могут быть отправлены через безопасный туннель из анклава или зашифрованы и сохранены. Кроме того, TEE может сгенерировать подписанное подтверждение того, что он действительно выполнил код, который клиент запросил.
С появлением TEE в облаке последний кусочек пазла разделения становится на свои места. Организация может надежно хранить свои данные, обмениваться ими в режиме покоя, безопасно перемещать их в движении и даже расшифровывать и анализировать, не предоставляя поставщику облачных услуг доступ к ним. После завершения вычислений результаты могут быть повторно зашифрованы и отправлены в хранилище. TEE, основанные на процессорах, теперь широко распространены среди облачных провайдеров, и в скором времени TEE, использующие графические процессоры и полезные для приложений искусственного интеллекта, также станут стандартом.
Разделение обеспечивает важное преимущество в защите конфиденциальности и безопасности данных
Одним из его ключевых преимуществ является отсутствие единой точки отказа. Например, если взломан облачный провайдер, предоставляющий несвязанные видеоконференц-сервисы, то единственное, что видно, — это поток зашифрованных данных, перенаправляемых на другие анонимные облачные серверы и обратно. То же самое касается и хранилища данных: при взломе обнаруживается лишь множество зашифрованных дисков и потоков зашифрованных данных. Также это относится к вычислениям, где аппаратный анклав предотвращает несанкционированный доступ злоумышленников к используемым данным.
Остальные риски остаются присущими каждому из режимов. Важно отметить, что тот факт, что несвязанные услуги Azure, например, используются для хранения данных и выполняют вычисления, не раскрывает дополнительной информации. Это особенно верно, если данные в движении также зашифрованы, обеспечивая полное отсутствие информации у Microsoft о том, кто имеет доступ к данным. В случае отключения всех режимов Azure видит только то, что неизвестный пользователь обращается к неизвестному блоку зашифрованных данных для выполнения неизвестного кода в защищенном анклаве на процессорах Intel. Такой уровень анонимности и отсутствия информации – то, чего организации должны ожидать от своих облачных сервис-поставщиков, несмотря на предоставление тех же самых полезных услуг в облаке.
Разделение также меняет наше представление о безопасности и конфиденциальности. В прошлом, приватность и безопасность часто воспринимались как разные концепции: приватность означала свободу от наблюдения, обычно для отдельных лиц, тогда как безопасность относилась к защите данных организации и предотвращению угроз безопасности. Однако в современном мире, когда организации и частные лица используют одни и те же облачные сервисы и сталкиваются с подобными угрозами, граница между безопасностью и конфиденциальностью размывается. Сегодня мы можем рассматривать их как взаимосвязанные аспекты, применяя при этом концепцию разделения.
Разделение также открывает новые возможности: для компаний предоставлять новые услуги в изолированной облачной среде, для исследователей создавать новые технологии, способствующие повышению безопасности и конфиденциальности, а для политиков обеспечивать лучший уровень безопасности для всех. Однако важно помнить, что разделение не является универсальным средством. Всегда будут существовать новые и хитроумные методы атаки через побочные каналы, и большинство решений для разделения предполагают определенную степень отсутствия сговора между независимыми компаниями или организациями. Однако на сегодняшний день это предположение остается неявным, и организации могут продолжать доверять своим облачным поставщикам услуг даже при применении концепции разделения.
Подход к разделению функций может оказать положительное воздействие не только на отдельные организации и пользователей, но и на важные события
Допустим, частные лица и организации хранят свои кредитные данные в облачных хранилищах, которые обеспечивают высокий уровень шифрования и контроль доступа. Подача заявки на получение кредита в такой системе может включать использование всех трех аспектов разделения. Во-первых, пользователь может воспользоваться технологией, подобной Solid, чтобы предоставить доступ к своим кредитным данным только конкретным организациям, таким как Equifax и банк, для рассмотрения этой конкретной заявки. Во-вторых, коммуникация с безопасными анклавами в облаке и из них может быть разделена и защищена, чтобы скрыть информацию о том, кто именно запрашивает кредитный анализ и личности заявителей. В-третьих, вычисления, связанные с кредитным анализом, могут выполняться в защищенной среде (TEE). Пользователь может даже обратиться к внешнему аудитору, чтобы убедиться, что был запущен только конкретный алгоритм. Алгоритм оценки кредитоспособности может быть закрытым и независимым, и это допустимо. При таком подходе Equifax не обязан раскрывать детали своего алгоритма пользователю, так же как пользователю не нужно предоставлять Equifax доступ к своим незашифрованным данным за пределами TEE.
Конечно, воплотить это в жизнь не так просто, как описать. Но в настоящее время эта концепция становится практичной, и главные преграды чаще всего не технические, а экономические.
С развитием использования искусственного интеллекта во всё большем количестве организаций вопрос разделения функций становится особенно актуальным. Многие облачные решения, использующие искусственный интеллект, будь то мощные языковые модели, такие как ChatGPT, или сервисы автоматической транскрипции в видео- и голосовых коммуникациях, а также аналитика больших объемов данных, требуют предоставления облачным провайдерам значительного объема личных данных. Иногда организации стремятся создать собственную модель искусственного интеллекта, обученную на своих собственных данных, которую они могут использовать внутри компании. Иногда организации просто применяют предварительно обученные модели искусственного интеллекта к своим данным. В каждом случае облачный сервис получает доступ к различным аспектам данных, включая содержание сообщений или введенных данных, структуру доступа пользователей в организации, и даже бизнес-контекст и варианты использования данных. Искусственный интеллект обычно требует больших объемов данных, что сопряжено с существенными рисками.
Снова же, три аспекта разделения могут обеспечить безопасность искусственного интеллекта, размещенного в облаке. Данные организаций и частных лиц могут храниться в отдельных хранилищах данных с тщательным контролем пользователей и механизмами, разделяющими идентификацию и использование. Когда данные требуют обработки, доступ может быть предоставлен явно, обеспечивая безопасное перемещение данных из хранилища в безопасные анклавы. Фактическое обучение искусственного интеллекта или работа с данными пользователей могут использовать безопасные анклавы, включая те, основанные на графических процессорах (GPU). Сущность GPU TEE аналогична CPU TEE, что позволяет избежать утечки исходных данных.
Философия разделения функций может способствовать улучшению политики и безопасности в целом
Почему же эта философия дизайна так и не получила широкого распространения? Одной из возможных причин является относительно недавнее появление соответствующих технологий, таких как протоколы многопартийной ретрансляции, безопасные мелкозернистые хранилища данных и аппаратные средства TEE (доверенные среды выполнения). Безопасность редко стоит на первом месте при принятии бизнес-решений, и даже после того, как соответствующие технологии становятся доступными, их внедрение может затянуться.
Проблемой также является то, что существующее законодательство, не учитывает – или не различает четко – три аспекта разделения. Ограниченное понимание данных аспектов в правовых рамках может замедлить регулирование в этой области. Политики не могут регулировать то, о чем они практически ничего не знают.
Технологи должны сыграть ключевую роль в информировании политиков о возможностях, уже имеющихся в руках, чтобы решить эту проблему. Важно показать, что потенциальные решения основаны на существующих технологиях и могут быть реализованы.
Одной из проблем, связанных с попытками регулировать технологии, заключается в том, что индустрия часто предлагает технические решения, которые в конечном итоге могут лишь поверхностно улучшить существующие практики. Например, когда компании, такие как Facebook, предлагают рекламу, которая кажется улучшением конфиденциальности, но при этом продолжают собирать и анализировать данные о пользователе, уровень защиты остается недостаточным. Нам нужно думать не только о косметических изменениях, а о радикальных и эффективных шагах.
На первый взгляд, концепция разделения может показаться странной, но она основана на принципах, которые уже давно применяются в области вычислительной техники – абстракции и косвенности. Абстракция подразумевает скрытие сложных деталей внутри более удобной упаковки. Например, когда вы используете электронную почту, вам не нужно задумываться о работе тысяч серверов Google, которые управляют вашими данными. Косвенность предполагает создание промежуточного элемента между двумя вещами. Например, сервис Uber стал посредником между пассажирами и водителями.
Текущая концепция облачных вычислений формировалась в течение нескольких десятилетий и базируется на принципах абстракции и косвенности. Начиная с серверов в шкафах и заканчивая облачными вычислениями, каждый уровень абстракции добавляет удобство использования, но при этом уменьшает контроль над инфраструктурой.
В настоящее время мы стоим на пороге новой эры, в которой разделение функций может добавить еще один уровень абстракции и косвенности, который повысит безопасность и возвратит контроль пользователям и организациям, не ущемляя при этом преимуществ, получаемых от облачных вычислений.
Технологии и инфраструктура для реализации этой концепции уже существуют, и существуют сервисы, способные работать в соответствии с принципами разделения без ущерба для производительности, качества и удобства использования облачных сервисов.
Однако, чтобы обеспечить широкое применение этой философии, требуется сочетание усилий и регулирования. Важно создать политику, которая бы обязывала представителей облачных услуг применять лучшие практики, основанные на разделении функций. Технологический сектор также должен активно внедрять эту архитектуру, предоставляя пользователям возможность более безопасного и приватного доступа к облачным сервисам.
Важным аспектом является повышение осведомленности общественности о преимуществах и необходимости этой новой философии. Распространение информации и образование помогут людям понимать, как разделение функций может улучшить безопасность и приватность данных, сохраняя при этом удобство и функциональность облачных сервисов.
В заключение, разделение функций представляет собой инновационный подход, который может изменить облик облачных вычислений, улучшая их безопасность и приватность. Эта концепция стоит перед нами как возможность создания более безопасного и прозрачного цифрового мира, и для ее реализации необходимо совместное усилие со стороны технологического сектора, политики и общественности.
Дполнительные материалы