พื้นผิวการโจมตีบนคลาวด์
ความเสี่ยงจาก IAM พื้นที่จัดเก็บข้อมูล และเมทาดาทา
พื้นผิวการโจมตีบนคลาวด์ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
รูปแบบความรับผิดชอบร่วมกันบนระบบคลาวด์
ในระบบคลาวด์ ผู้ให้บริการดูแลความปลอดภัยของโครงสร้างพื้นฐาน ขณะที่ลูกค้าดูแลการกำหนดค่า ตัวตน และข้อมูล การละเมิดความปลอดภัยส่วนใหญ่เกิดจากฝั่งลูกค้า ไม่ใช่ฝั่งผู้ให้บริการ
- ผู้ให้บริการติดตั้งแพตช์ให้ไฮเปอร์ไวเซอร์และดูแลความปลอดภัยทางกายภาพ
- ลูกค้าเป็นผู้รับผิดชอบนโยบาย IAM สิทธิ์ของที่เก็บข้อมูล และกฎเครือข่าย
- การกำหนดค่าผิด ไม่ใช่การเจาะระบบของผู้ให้บริการ เป็นความเสี่ยงหลัก
ตัวตนคือขอบเขตป้องกันใหม่
ระบบคลาวด์ไม่มีขอบเขตเครือข่ายแบบเดิม การเข้าถึงถูกควบคุมด้วย IAM ซึ่งประกอบด้วยผู้ใช้ บทบาท นโยบาย และคีย์ คีย์การเข้าถึงที่รั่วไหลอาจสร้างความเสียหายได้ไม่ต่างจากรหัสผ่านผู้ดูแลโดเมนที่ถูกขโมย
- นโยบาย IAM มอบสิทธิ์ให้ดำเนินการกับทรัพยากร
- บทบาทเปิดให้บริการและผู้ใช้รับข้อมูลรับรองชั่วคราวมาใช้ได้
- ตัวตนที่ได้รับสิทธิ์มากเกินไปเป็นเวกเตอร์หลักของการยกระดับสิทธิ์
การเปิดเผยข้อมูลรับรอง
ข้อมูลรับรองระบบคลาวด์รั่วไหลอยู่เสมอ แหล่งที่พบบ่อย ได้แก่
- คีย์การเข้าถึงที่ถูกบันทึกไว้ในคลังโค้ดสาธารณะ
- คีย์ที่ฝังแบบตายตัวในแอปมือถือ บันทึกการทำงานของระบบผสานรวมอย่างต่อเนื่อง หรืออิมเมจคอนเทนเนอร์
- การปลอมคำขอจากฝั่งเซิร์ฟเวอร์ (SSRF) ที่เข้าถึงบริการข้อมูลเมทาดาทา
- การแชร์คีย์ที่มีอายุยาวนานอย่างกว้างขวางเกินไป แทนการใช้บทบาทที่มีอายุสั้น
# Scan a repo for leaked cloud secrets
trufflehog git file://./repo --only-verified
# Validate an AWS key you found
aws sts get-caller-identityบริการข้อมูลเมทาดาทา
อินสแตนซ์ระบบคลาวด์ทุกตัวเปิดเผยปลายทางเมทาดาทาที่สามารถแจกข้อมูลรับรองของบทบาทแบบชั่วคราวได้ การโจมตีด้วย SSRF หรือ RCE บน VM ที่เข้าถึงปลายทางนี้ได้ มักทำให้ผู้โจมตีได้มาซึ่งบทบาทของอินสแตนซ์
- AWS IMDS อยู่ที่
169.254.169.254 - IMDSv1 รับคำขอเท่านั้น จึงถูกนำไปใช้โจมตีผ่าน SSRF ได้ง่ายมาก
- IMDSv2 ต้องใช้โทเค็นเซสชัน (PUT แล้วจึง GET) ทำให้การโจมตีด้วย SSRF หลายรูปแบบลดประสิทธิภาพลง
# IMDSv1 (vulnerable) credential theft via SSRF
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE
# IMDSv2 requires a token first
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' -H 'X-aws-ec2-metadata-token-ttl-seconds: 60')การกำหนดค่าพื้นที่จัดเก็บไม่ถูกต้อง
พื้นที่จัดเก็บออบเจ็กต์ (S3, GCS, Azure Blob) เป็นแหล่งที่ทำให้ข้อมูลรั่วไหลอยู่บ่อยครั้ง
- บัคเก็ตที่อ่านได้แบบสาธารณะทำให้ไฟล์ที่มีความละเอียดอ่อนรั่วไหล
- บัคเก็ตที่เขียนได้แบบสาธารณะเปิดโอกาสให้แก้ไขข้อมูลหรือใช้โฮสต์มัลแวร์
- นโยบายบัคเก็ตหรือรายการควบคุมการเข้าถึงที่เปิดกว้างเกินไป ทำให้ผู้ใช้ที่ยืนยันตัวตนแล้วเข้าถึงข้อมูลได้
- URL ที่ลงนามล่วงหน้าและมีอายุหมดอายุนาน ทำให้การเข้าถึงที่คงอยู่รั่วไหล
# Enumerate and test an S3 bucket
aws s3 ls s3://target-bucket --no-sign-request
aws s3 cp s3://target-bucket/secret.txt . --no-sign-requestการเปิดเผยเครือข่ายและบริการ
การควบคุมเครือข่ายระบบคลาวด์ (กลุ่มความปลอดภัย กลุ่มความปลอดภัยเครือข่าย และกฎไฟร์วอลล์) มักถูกเปิดกว้างเกินไปได้ง่าย
- ฐานข้อมูลหรือพอร์ตผู้ดูแลระบบเปิดเผยต่อ
0.0.0.0/0 - ระนาบการจัดการ (Kubernetes API, RDP, SSH) เข้าถึงได้จากอินเทอร์เน็ต
- บริการภายในเชื่อถือ VPC โดยอัตโนมัติโดยไม่มีการยืนยันตัวตน
บริการแบบไร้เซิร์ฟเวอร์และบริการที่มีการจัดการ
แบบไร้เซิร์ฟเวอร์เปลี่ยนรูปแบบความเสี่ยง แต่ไม่ได้ขจัดความเสี่ยง ฟังก์ชัน คิว และฐานข้อมูลที่มีการจัดการแต่ละรายการมีข้อมูลประจำตัวสำหรับการทำงาน
- บทบาทสำหรับการทำงานของ Lambda อาจมีสิทธิ์มากเกินไป
- ตัวแปรสภาพแวดล้อมมักเก็บข้อมูลลับที่อ่านได้เมื่อระบบถูกเจาะ
- การกำหนดค่าแหล่งเหตุการณ์ที่ไม่ถูกต้องอาจทำให้ข้อมูลนำเข้าที่ไม่น่าเชื่อถือเรียกใช้ฟังก์ชันที่มีสิทธิ์สูงได้
ระนาบควบคุมกับระนาบข้อมูล
แยกพื้นผิวการโจมตีทั้งสองประเภทนี้ออกจากกัน:
- ระนาบควบคุม: API ของระบบคลาวด์ (สร้างทรัพยากร แก้ไข IAM อ่านการกำหนดค่า) หากถูกเจาะ ระบบจะได้รับผลกระทบทั่วทั้งบัญชี
- ระนาบข้อมูล: เวิร์กโหลดต่าง ๆ (แอป อินสแตนซ์ VM และคอนเทนเนอร์)
การยึดจุดในระนาบข้อมูลที่ทำให้ได้ข้อมูลรับรองของระนาบควบคุมมา คือรูปแบบการยกระดับสิทธิ์บนคลาวด์ที่พบได้บ่อย
หลายบัญชีและข้ามผู้เช่า
องค์กรขนาดใหญ่มักแบ่งเวิร์กโหลดออกเป็นหลายบัญชี การสมัครใช้งาน และโครงการ
- บทบาทข้ามบัญชีที่มีนโยบายความเชื่อถืออ่อนแอเปิดโอกาสให้เคลื่อนย้ายต่อไปยังส่วนอื่น
- ปัญหาตัวแทนสับสนในบทบาทการผสานรวมของบุคคลที่สามอาจถูกนำไปใช้ในทางที่ผิด
- บทบาทระดับองค์กร เช่น OrganizationAccountAccessRole มีมูลค่าสูงสำหรับผู้โจมตี
พื้นผิวการบันทึกและการตรวจจับ
ผู้ป้องกันระบบพึ่งพาบันทึกเหตุการณ์ที่มีอยู่ในระบบคลาวด์ ผู้โจมตีพยายามทำให้กิจกรรมของตนมองไม่เห็น
- CloudTrail / Activity Log / Audit Logs บันทึกการเรียกใช้ระนาบควบคุม
- ผู้โจมตีอาจปิดเส้นทางบันทึกหรือหยุดการส่งบันทึก
- GuardDuty / Security Command Center / Defender ตรวจจับและแจ้งเตือนความผิดปกติ
การปิดการบันทึกเองก็เป็นเหตุการณ์ที่มีสัญญาณชัดเจนและควรตั้งการแจ้งเตือน
การกำหนดขอบเขตการทดสอบระบบคลาวด์
การทดสอบเจาะระบบคลาวด์ต้องคำนึงถึงผู้ให้บริการและได้รับอนุญาต การดำเนินการบางอย่าง เช่น การทำให้ปฏิเสธการให้บริการและการสแกนบางประเภท อาจละเมิดเงื่อนไขการให้บริการของผู้ให้บริการ ควรยืนยันความเป็นเจ้าของบัญชี ตกลงขอบเขตผลกระทบ และเริ่มจากการสำรวจแบบอ่านอย่างเดียวก่อนเสมอ
ใช้บัญชีสำหรับการทดสอบโดยเฉพาะหรือใช้ทรัพยากรที่ติดแท็กไว้อย่างชัดเจน และอย่าแตะต้องทรัพยากรนอกขอบเขตที่ระบุไว้ในเอกสาร
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ตรวจสอบว่าคุณเข้าใจพื้นผิวการโจมตีของระบบคลาวด์แล้ว
สรุปทบทวน
คุณได้ทำแผนผังพื้นผิวการโจมตีของระบบคลาวด์
- การกำหนดค่าที่ไม่ถูกต้องฝั่งลูกค้าเป็นสาเหตุหลักของความเสี่ยงบนคลาวด์
- ข้อมูลประจำตัวคือขอบเขตป้องกัน ขณะที่คีย์และบทบาทที่รั่วไหลเป็นช่องทางสำคัญ
- บริการเมทาดาทาเชื่อมโยงบั๊กในระนาบข้อมูลเข้ากับข้อมูลรับรองระบบคลาวด์
- การกำหนดค่าพื้นที่จัดเก็บ เครือข่าย และการบันทึกที่ไม่ถูกต้องประกอบกันเป็นพื้นผิวความเสี่ยงที่เหลือ
ถัดไป: สำรวจทรัพยากรระบบคลาวด์เพื่อค้นหาปัญหาเหล่านี้
คำถามที่พบบ่อย
บทเรียน “พื้นผิวการโจมตีบนคลาวด์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นผิวการโจมตีบนคลาวด์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นผิวการโจมตีบนคลาวด์”
ความเสี่ยงจาก IAM พื้นที่จัดเก็บข้อมูล และเมทาดาทา คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “พื้นผิวการโจมตีบนคลาวด์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นผิวการโจมตีบนคลาวด์
- การแจกแจงทรัพยากรคลาวด์
- การใช้ประโยชน์จากการกำหนดค่า IAM ที่ผิดพลาด
- การคงอยู่และการเคลื่อนที่ด้านข้าง