Translated ['src/pentesting-cloud/aws-security/aws-services/aws-sagemake

This commit is contained in:
Translator
2025-10-23 11:00:16 +00:00
parent f4d19d4653
commit 16eec1c93e

View File

@@ -4,29 +4,29 @@
## Огляд сервісу
Amazon SageMaker — керований AWS сервіс для машинного навчання, який обєднує notebooks, training infrastructure, orchestration, registries та managed endpoints. Компрометація ресурсів SageMaker зазвичай дає:
Amazon SageMaker — керована AWS платформа машинного навчання, яка об'єднує notebooks, training infrastructure, orchestration, registries та managed endpoints. Компрометація ресурсів SageMaker зазвичай надає:
- Тривалого життя IAM execution roles з широким доступом до S3, ECR, Secrets Manager або KMS.
- Доступ до чутливих наборів даних, збережених в S3, EFS або всередині feature stores.
- Мережеві footholds всередині VPCs (Studio apps, training jobs, endpoints).
- Високопривілейовані presigned URLs, які обходять console authentication.
- Довготривалі IAM execution roles зі значним доступом до S3, ECR, Secrets Manager або KMS.
- Доступ до конфіденційних наборів даних, що зберігаються в S3, EFS або у feature stores.
- Мережеві опорні точки всередині VPCs (Studio apps, training jobs, endpoints).
- Привілейовані presigned URLs, що обходять автентифікацію в консолі.
Розуміння того, як зібрано SageMaker, є ключовим перед тим, як pivot, persist або exfiltrate дані.
## Основні складові
## Основні компоненти
- **Studio Domains & Spaces**: Web IDE (JupyterLab, Code Editor, RStudio). Кожен domain має спільну файлову систему EFS та default execution role.
- **Notebook Instances**: Керовані EC2 інстанси для standalone notebooks; використовують окремі execution roles.
- **Training / Processing / Transform Jobs**: Ефемерні контейнери, які витягують код з ECR та дані з S3.
- **Pipelines & Experiments**: Оркестровані workflows, що описують всі кроки, inputs та outputs.
- **Studio Domains & Spaces**: Web IDE (JupyterLab, Code Editor, RStudio). Кожен domain має спільну файлову систему EFS та роль виконання за замовчуванням.
- **Notebook Instances**: Керовані EC2 інстанси для автономних notebooks; використовують окремі ролі виконання.
- **Training / Processing / Transform Jobs**: Ефемерні контейнери, які завантажують код з ECR та дані з S3.
- **Pipelines & Experiments**: Оркестровані робочі потоки, які описують усі кроки, вхідні та вихідні дані.
- **Models & Endpoints**: Запаковані артефакти, розгорнуті для inference через HTTPS endpoints.
- **Feature Store & Data Wrangler**: Керовані сервіси для підготовки даних та управління features.
- **Autopilot & JumpStart**: Автоматизований ML та кураторований catalogue моделей.
- **Feature Store & Data Wrangler**: Керовані сервіси для підготовки даних та управління ознаками.
- **Autopilot & JumpStart**: Автоматизований ML та відібраний каталог моделей.
- **MLflow Tracking Servers**: Керований MLflow UI/API з presigned access tokens.
Кожний ресурс посилається на execution role, S3 locations, container images та опціональну VPC/KMS конфігурацію — зафіксуйте всі з них під час enumeration.
Кожен ресурс посилається на execution role, S3-локації, образи контейнерів та опціональну VPC/KMS конфігурацію — зафіксуйте всі вони під час enumeration.
## Account & Global Metadata
## Облікові та глобальні метадані
```bash
REGION=us-east-1
# Portfolio status, used when provisioning Studio resources
@@ -41,7 +41,7 @@ aws sagemaker list-tags --resource-arn <sagemaker-arn> --region $REGION
```
Зверніть увагу на будь-які cross-account trust (execution roles або S3 buckets з external principals) та базові обмеження, такі як service control policies або SCPs.
## Studio домени, додатки та спільні простори
## Studio Domains, Apps & Shared Spaces
```bash
aws sagemaker list-domains --region $REGION
aws sagemaker describe-domain --domain-id <domain-id> --region $REGION
@@ -60,14 +60,14 @@ aws sagemaker describe-space --domain-id <domain-id> --space-name <space> --regi
aws sagemaker list-studio-lifecycle-configs --region $REGION
aws sagemaker describe-studio-lifecycle-config --studio-lifecycle-config-name <name> --region $REGION
```
What to record:
Що фіксувати:
- `DomainArn`, `AppSecurityGroupIds`, `SubnetIds`, `DefaultUserSettings.ExecutionRole`.
- Змонтовані EFS (`HomeEfsFileSystemId`) та S3 домашні директорії.
- Змонтований EFS (`HomeEfsFileSystemId`) та домашні каталоги в S3.
- Lifecycle scripts (часто містять bootstrap credentials або додатковий код для push/pull).
> [!TIP]
> Presigned Studio URLs можуть обійти аутентифікацію, якщо вони надані широкому колу користувачів.
> Presigned Studio URLs можуть обходити автентифікацію, якщо надані широко.
## Notebook Instances & Lifecycle Configs
```bash
@@ -76,11 +76,11 @@ aws sagemaker describe-notebook-instance --notebook-instance-name <name> --regio
aws sagemaker list-notebook-instance-lifecycle-configs --region $REGION
aws sagemaker describe-notebook-instance-lifecycle-config --notebook-instance-lifecycle-config-name <cfg> --region $REGION
```
Метадані Notebook виявляють:
Notebook metadata reveals:
- Роль виконання (`RoleArn`), прямий доступ до інтернету проти режиму VPC-only.
- Місця розташування S3 у `DefaultCodeRepository`, `DirectInternetAccess`, `RootAccess`.
- Скрипти життєвого циклу для облікових даних або хуків персистенції.
- Роль виконання (`RoleArn`), прямий доступ до інтернету або режим лише VPC.
- Розташування S3 у `DefaultCodeRepository`, `DirectInternetAccess`, `RootAccess`.
- Скрипти життєвого циклу для credentials або persistence hooks.
## Навчання, обробка, трансформація та пакетні завдання
```bash
@@ -95,12 +95,12 @@ aws sagemaker describe-transform-job --transform-job-name <job> --region $REGION
```
Ретельно перевірте:
- `AlgorithmSpecification.TrainingImage` / `AppSpecification.ImageUri` які образи в ECR розгорнуті.
- `InputDataConfig` & `OutputDataConfig` S3 бакети, префікси та ключі KMS.
- `ResourceConfig.VolumeKmsKeyId`, `VpcConfig`, `EnableNetworkIsolation` визначають мережеву чи шифрувальну конфігурацію.
- `AlgorithmSpecification.TrainingImage` / `AppSpecification.ImageUri` які ECR images розгорнуті.
- `InputDataConfig` & `OutputDataConfig` S3 бакети, префікси та KMS ключі.
- `ResourceConfig.VolumeKmsKeyId`, `VpcConfig`, `EnableNetworkIsolation` визначають мережеву або шифрувальну конфігурацію.
- `HyperParameters` можуть leak секрети середовища або рядки підключення.
## Pipelines, Experiments & Trials
## Конвеєри, експерименти та тести
```bash
aws sagemaker list-pipelines --region $REGION
aws sagemaker list-pipeline-executions --pipeline-name <pipeline> --region $REGION
@@ -110,7 +110,7 @@ aws sagemaker list-experiments --region $REGION
aws sagemaker list-trials --experiment-name <experiment> --region $REGION
aws sagemaker list-trial-components --trial-name <trial> --region $REGION
```
Визначення pipeline описують кожен крок, пов'язані ролі, образи контейнерів та змінні середовища. Компоненти trial часто містять URI артефактів навчання, S3 логи та метрики, які можуть вказувати на потік конфіденційних даних.
Визначення Pipeline описують кожен крок, пов'язані ролі, образи контейнерів та змінні середовища. Компоненти Trial часто містять URI артефактів навчання, S3 логи та метрики, які натякають на потік чутливих даних.
## Моделі, конфігурації кінцевих точок та розгорнуті кінцеві точки
```bash
@@ -123,12 +123,12 @@ aws sagemaker describe-endpoint-config --endpoint-config-name <cfg> --region $RE
aws sagemaker list-endpoints --region $REGION
aws sagemaker describe-endpoint --endpoint-name <endpoint> --region $REGION
```
Ключові області:
Ключові напрямки:
- Артефакти моделі S3 URIs (`PrimaryContainer.ModelDataUrl`) та образи контейнерів для інференсу.
- Конфігурація захоплення даних endpoint (S3 bucket, KMS) для можливого log exfil.
- Multi-model endpoints, що використовують `S3DataSource` або `ModelPackage` (перевірити cross-account packaging).
- Мережеві конфігурації та security groups, прикріплені до endpoints.
- S3 URIs артефактів моделі (`PrimaryContainer.ModelDataUrl`) та образи контейнерів для inference.
- Налаштування захоплення даних endpoint (S3 bucket, KMS) для можливого log exfil.
- Мульти-модельні endpoints, що використовують `S3DataSource` або `ModelPackage` (перевірити на міжакаунтне пакування).
- Мережеві конфігурації та security groups, приєднані до endpoints.
## Feature Store, Data Wrangler & Clarify
```bash
@@ -143,9 +143,9 @@ aws sagemaker list-model-monitoring-schedule --region $REGION
```
Висновки з безпеки:
- Online feature stores реплікують дані в Kinesis; перевірте `OnlineStoreConfig.SecurityConfig.KmsKeyId` та VPC.
- Потоки Data Wrangler часто вбудовують облікові дані JDBC/Redshift або приватні кінцеві точки.
- Завдання Clarify/Model Monitor експортують дані в S3, які можуть бути публічно читабельними (world-readable) або доступними для інших акаунтів.
- Онлайн feature stores реплікують дані в Kinesis; перевірте `OnlineStoreConfig.SecurityConfig.KmsKeyId` та VPC.
- Data Wrangler flows часто вбудовують облікові дані JDBC/Redshift або приватні endpoints.
- Clarify/Model Monitor jobs експортують дані в S3, які можуть бути доступні світові (world-readable) або між акаунтами (cross-account).
## MLflow Tracking Servers, Autopilot & JumpStart
```bash
@@ -158,41 +158,41 @@ aws sagemaker describe-auto-ml-job --auto-ml-job-name <name> --region $REGION
aws sagemaker list-jumpstart-models --region $REGION
aws sagemaker list-jumpstart-script-resources --region $REGION
```
- Сервери MLflow для відстеження зберігають експерименти та артефакти; presigned URLs можуть розкрити все.
- Завдання Autopilot запускають кілька training jobs — перераховуйте outputs у пошуках прихованих даних.
- Еталонні архітектури JumpStart можуть розгортати привілейовані ролі в акаунті.
- MLflow tracking servers store experiments and artefacts; presigned URLs can expose everything.
- Autopilot jobs spin multiple training jobs—enumerate outputs for hidden data.
- JumpStart reference architectures may deploy privileged roles into the account.
## Міркування щодо IAM та мережі
## IAM & Networking Considerations
- Перелічіть IAM policies, приєднані до всіх execution roles (Studio, notebooks, training jobs, pipelines, endpoints).
- Перевірте мережеві контексти: subnets, security groups, VPC endpoints. Багато організацій ізолюють training jobs, але забувають обмежити вихідний трафік.
- Перегляньте S3 bucket policies, на які посилаються `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig`, щодо зовнішнього доступу.
- Enumerate IAM policies attached to all execution roles (Studio, notebooks, training jobs, pipelines, endpoints).
- Check network contexts: subnets, security groups, VPC endpoints. Many organisations isolate training jobs but forget to restrict outbound traffic.
- Review S3 bucket policies referenced in `ModelDataUrl`, `DataCaptureConfig`, `InputDataConfig` for external access.
## Підвищення привілеїв
## Privilege Escalation
{{#ref}}
../../aws-privilege-escalation/aws-sagemaker-privesc/README.md
{{#endref}}
## Персистентність
## Persistence
{{#ref}}
../../aws-persistence/aws-sagemaker-persistence/README.md
{{#endref}}
## Пост-експлуатація
## Post-Exploitation
{{#ref}}
../../aws-post-exploitation/aws-sagemaker-post-exploitation/README.md
{{#endref}}
## Несанкціонований доступ
## Unauthorized Access
{{#ref}}
../../aws-unauthenticated-enum-access/aws-sagemaker-unauthenticated-enum/README.md
{{#endref}}
## Посилання
## References
- [AWS SageMaker Documentation](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html)
- [AWS CLI SageMaker Reference](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/index.html)