AWS Notes
4.57K subscribers
221 photos
27 videos
10 files
2.38K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://t.me/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
​​Confidential Computing

Confidential Computing, если говорить упрощённо, это способ запуска своей виртуалки или приложения таким образом, что остальные части — гипервизор, хостовая ОС или условный BIOS (в общем, всё, что "выше" и можно подвести под термин "Cloud Provider") — не имеют доступа к вашей информации. Реализуется это на уровне процессора, когда память шифруется на лету, т.е. в DRAM сохраняется уже в зашифрованном виде и расшифровывается при чтении. Ключи шифрования не покидают процессор и вы можете проконтролировать этот процесс.

История

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

AMD выбрала другой путь и в 2016-м выпустила процессоры с AMD SEV, шифрующие всю память на уровне виртуалки. Это намного удобней — нет специальных драйверов и разработки на уровне приложений. Кроме того такой подход позволяет обезопасить уже имеющиеся нагрузки (легаси) да и просто "облачней".

Каждый из конкурирующих вариантов имел проблемы. Intel SGX ломали столько раз, что Intel даже задеприкейтила эту технологию, начиная с десктопных процессоров 11-го поколения. AMD SEV не шифровал регистры при переключении, потому через год появился AMD SEV-ES. Проигрывая Intel по части отсутствия контроля целостности памяти, в 20-м году с выходом Zen3 появился функционал AMD SEV-SNP, который закрыл эту проблему.

Intel тоже активно работал, штопая дыры и клепая версии Intel SGX. Первая позволяла защитить лишь маленькую область данных 128/256МБ, потому появилась Intel SGX Scalable, увеличив объём до 1 ТБ. Технология Intel SGX осталась в серверных процессорах и имеет на текущий момент уже третью версию драйвера. Догоняя AMD в популярном подходе шифрования на уровне виртуалки, она выпустила Intel TDX, доступный в последнем поколении серверных процессоров.

Итого на сегодня для реализации Confidential Computing для x86 имеем:
▫️ AMD SEV-SNP, построенная на базе AMD SEV и AMD SEV-ES — начиная с Zen3 (2021)
▫️ Intel TDX, построенная на базе Intel SGX — начиная с 4th Gen Intel Xeon Scalable processors (2022)

▪️ А что же для ARM? У ARM давно есть технология TrustZone, однако она имеет ограничения схожие с Intel SGX. В будущих процессорах ARM v9 это будет реализовано с помощью ARM CCA (Confidential Computing Architecture), то есть на текущий момент это лишь планы (2023+).
▪️ Наконец, Nvidia тоже с недавнего времени старается решить этот вопрос и год назад реализовала функционал Confidential Computing в NVIDIA H100 Tensor Core GPU (2022).

Итого, четыре крупных игрока, три из которых уже имеют решения для Confidential Computing.

А что же AWS? Амазон пошёл другим путём, по принципу сходным с Intel SGX, реализовав технологию AWS Nitro Enclaves, позволяющую создать защищённую область внутри EC2 виртуалки. Её тоже можно удалённо аттестировать, однако в отличие от Intel, у AWS имеется техническая возможность получить доступ к данным внутри, поэтому реализовать ZeroTrust подход невозможно, т.к. в трастовых всегда будет AWS как провайдер. В том числе поэтому спектр применения AWS Nitro Enclaves достаточно узкий.

👉 Продолжение следует.

#ConfidentialComputing
​​☁️ Confidential Computing на AWS

29 апреля 2023 компания AWS официально вступила в клуб Confidential Computing.

https://aws.amazon.com/about-aws/whats-new/2023/04/amazon-ec2-amd-sev-snp/
 
Многие годы скептики переезда в облака и, в частности, в AWS, имели три железных аргумента:

1️⃣ Не доверяю этим вашим облакам, которые где-то там. Только настоящее железо у себя в серверной!

Появление AWS Outposts закрыло этот аргумент — можно поставить себе в серверную кусочек собственного и при этом настоящего AWS.

https://aws.amazon.com/outposts/

2️⃣ А ключи шифрования-то лежат у облачного провайдера, захочет — расшифрует!

Появление AWS XKS закрыло и этот аргумент — теперь в качестве AWS KMS можно использовать собственный ключ, который не будет покидать вашей серверной.

https://aws.amazon.com/blogs/aws/announcing-aws-kms-external-key-store-xks/

3️⃣ Всё равно провайдер, если захочет или если от него потребуют — получит доступ к вашим данным!

Появление поддержки AMD SEV-SNP закрыло и этот аргумент — создав виртуалку c6a/m6a/r6a в Ирландии или Огайо, её можно аттестовать и убедиться, что AWS не имеет доступа к данным в ней на аппаратном уровне.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snp-attestation.html

И это реально круто. 💪

💰 Круто и недорого — за поддержку AMD SEV-SNP придётся доплатить 10% от стоимости виртуалки, а значит минимальная обойдётся в 60$/месяц. Теперь можно выполнять даже самые жестокие требования регуляторов.

🌤️ Но главное, повторюсь, у скептиков переезда в AWS из-за опасений по части безопасности не осталось аргументов — есть любые варианты. Можно спорить о цене и других моментах, но вопрос с безопасностью железно закрыт во всех смыслах.

👉 Продолжение следует
Часть 1 - Confidential Computing

#ConfidentialComputing
☸️ Confidential Kubernetes

https://kubernetes.io/blog/2023/07/06/confidential-kubernetes/

Реально хорошая статья по состоянию дел с Confidential Computing в отношении Kubernetes. Жаль, без авторов со стороны AWS, потому для человека в теме, по части AWS будут сразу видны некоторые, скажем так, моменты.

1️⃣ «A managed CloudHSM from AWS costs around $1.50 / hour or ~$13,500 / year.»

А-ха-ха. В год, страшное дело, для бизнеса с такими требованиями по безопасности. И особенно смешно с учётом стоимости HSM в Azure: 😃

Hourly usage fee per HSM
Azure Dedicated HSM $4.85

2️⃣ Технология Confidential Computing на AWS или AWS Nitro Enclaves, лишь кратко упомянута из-за «have a different threat model compared to the CPU-based solutions by Intel and AMD».

Тут всё верно, целиком согласен. Nitro Enclaves — крутая фича, однако годность её AWS придётся всю жизнь доказывать, т.к. простых путей проверить этого нет и нужно целиком полагаться на авторитет AWS и аудиторов, а не техническую невозможность доступа в изолированное окружение.

3️⃣ AMD SEV — упомянуты лишь Azure и Google. Хотя на AWS теперь тоже доступны SEV-SNP (в то время как на Google лишь SEV-ES).

4️⃣ Скорость работы — реализация Confidential Computing от AMD очень эффективна: «SEV-SNP VM overhead is <10%». Про реализацию от Intel сказано расплывчато, что "hard to benchmark". Перевожу на простой — полный тормоз. 😁

5️⃣ Смешное название CoCo (Confidential Containers) и возможность запускать Confidential Kubernetes worker nodes вновь распространяется лишь Azure и Google. А правильно было упомянуть, что AWS Nitro Enclaves работает на EKS.

6️⃣ Хорошее и важное замечание «they don't offer a dedicated confidential control plane» — пока никакое облако не предлагает Confidential Kubernetes мастер-ноды, речь только о workers.

7️⃣ Constellation — интересная штука, буду признателен, если кто-то поделится опытом использования.

Итого, хорошая статья, очень рекомендую ознакомиться.

#security #ConfidentialComputing #ConfidentialKubernetes