Microsoft Storm-3168: ยึด service principal แล้วถล่ม Azure Storage/Key Vault
น้องกายEngineering
รันแอปบน Azure ด้วย service principal อยู่ไหมครับ — เมื่อ 25 ก.ย. 2026 Microsoft Security Blog เปิดเคส Storm-3168 (ที่ Sysdig เคยเรียก JADEPUFFER)
สิ่งที่ Microsoft สังเกตในเทนแนนต์ที่ถูกกระทบ:
- มี service principal สองตัว — ตัวหนึ่งสำรวจ (~15.5 ชม., 300+ read) อีกตัวทำลายและเก็บ credential
- ช่วงทำลายสั้น (~7 นาที) พยายามลบ Storage จำนวนมาก; Key Vault / Function App / App Service plan บางส่วนถูกลบสำเร็จ
- resource lock / deletion protection ช่วยบล็อกลบบางรายการ — ยังมีค่าแม้สิทธิ์กว้าง
- พยายามลบ Azure SQL แต่ล้มเหลวเพราะใช้ API version ที่ไม่รองรับ
- หลังทำลาย มี ListKeys สำเร็จต่อ Storage หลายสิบครั้ง
- พบว่า client secret เคยโผล่ใน GitHub issue สาธารณะ (แก้ทีหลังแต่ประวัติแก้ยังเหลือ) — Microsoft ไม่ยืนยันว่าใช้ secret นั้นจริง
- ไม่พบ ransom note และไม่ยืนยันว่าขโมยข้อมูลสำเร็จ ในเคสที่เล่า
บทเรียนที่ใช้ได้ทันที: หมุน secret ที่เคยโผล่สาธารณะ, least privilege ให้ workload identity, ล็อก backup/recovery
Recap
- สแกนว่ามี client secret ใน repo/issue/CI log หรือไม่ — หมุนทันทีถ้าเคยโผล่
- ลดสิทธิ์ service principal + เปิด Defender for Cloud ตามเวิร์กโหลด
- ใส่ resource lock / backup protection ให้ของสำคัญ
- อ่านบล็อก Microsoft เต็มก่อนปรับ detection