นักวิจัยด้านความปลอดภัยของ Microsoft ตรวจพบการโจมตีแบบใหม่ที่แพร่หลายและต่อเนื่องซึ่งกำหนดเป้าหมายไปยังคลัสเตอร์ Kubernetes ที่เรียกใช้อินสแตนซ์ Kubeflow เพื่อวาง Pods TensorFlow ที่เป็นอันตราย ซึ่งใช้ในการขุดหาสกุลเงินดิจิทัล

Kubeflow เป็นเครื่องมือ Platform Open Source สร้างขึ้นมาเพื่อวัตถุประสงค์ลดความซับซ้อนในการพัฒนาและปรับใช้ด้าน Artificial Intelligent / Machine Learning (AI/ML) บนโครงสร้างของ Kubernetes รองรับการทำงานได้ทั้งแบบ On Cloud และแบบ On-premise โดยตัว Kubeflow รองรับเครื่องมือการทำงานด้าน AI/ML ได้อย่างครบถ้วนเช่น TensorFlow PyTorch และอื่น ๆ ดังรูป

รูปแสดง Kubeflow Architecture [2]

รูปแสดง Kubeflow Architecture [2]

การใช้งาน Kubeflow นั้นสามารถช่วยให้ผู้พัฒนา AI/ML หรือ Data scientists  สามารถออกแบบกระบวนการทำงานในการพัฒนา ทดสอบ ไปจนถึงการนำไปใช้งานจริงและขยายขนาดของ Project

รูปแสดง Kubeflow pipeline [2]

รูปแสดง Kubeflow pipeline [2]

ส่วน TensorFlow TensorFlow เป็น Library สำหรับงานพัฒนา AI/ML ของ Google ที่ได้รับความนิยมอย่างมากเนื่องจากนักพัฒนาทุกคนสามารถเข้าถึงได้ง่าย และ TensorFlow ได้รวมเอา API ที่แตกต่างกันที่สามารถใช้สร้าง deep learning ที่มีประสิทธิภาพได้ นอกจากนั้น TensorFlow ยังสามารถช่วยให้นักพัฒนาเห็นภาพโครงสร้างของ neural network และมี Tensorboad ที่ช่วยในการหา Bug ใน Project อีกด้วย

เมื่อวันอังคารที่ 08 มิถุนายน 2564 ที่ผ่านมาทาง Microsoft มีการตรวจพบ Campaign การโจมตีที่มีเป้าหมายในการโจมตีที่ Kubernetes clusters โดยการใช้งาน Kubeflow เพื่อติดตั้ง Malicious TensorFlow pods ที่สร้างขึ้นสำหรับการขุดสกุลเงินดิจิตอล (Cryptocurrency mining)

Yossi Weizman วิศวกรด้านระบบความปลอดภัย Azure Security Center ของ Microsoft พบว่าการโจมตีโดยใช้ช่องโหว่ดังกล่าวได้มีการแพร่กระจายอย่างรวดเร็ว แสดงให้เห็นว่าผู้โจมตี ได้มีการรวบรวมข้อมูล Kubernetes Cluster เป้าหมายไว้ก่อนหน้าที่จะเริ่ม Campaign โจมตีดังกล่าว

ผู้โจมตีจะใช้ TensorFlow images (Malicious pods) สองส่วนคือ ส่วนแรกเป็น Images version ล่าสุด (tensorflow/tensorflow:latest) สำหรับ CPU mining และส่วนที่สองเป็น Image version ล่าสุดพร้อม GPU Support (tensorflow/tensorflow:latest-gpu) สำหรับ GPU mining ซึ่ง image ทั้งสองนั้นเป็นของถูกลิขสิทธิ์เพียงแต่กระบวนการทำงานที่ถูกสร้างขึ้นมีวัตถุประสงค์เพื่อการขุดสกุลเงินดิจิตอล (Cryptocurrency mining) ทำให้การ Monitor ปกติไม่สามารถตรวจพบได้ แต่เมื่อวิเคราะห์ลึกลงไปจึงได้พบวัตถุประสงค์ที่แท้จริงว่า Pods นี้ถูกสร้างมาเพื่อขุดสกุลเงินดิจิตอล

รูปแบบการโจมตี

Kubeflow ถูกโจมตีเนื่องจาก Misconfigration บน Dashboard โดยข้อผิดพลาดดังกล่าว จะถูกโจมตีก็ต่อเมื่อผู้โจมตีได้รับสิทธิ์ในการ Access ไปยัง pipeline’s user interface ซึ่งเมื่อเข้าไปได้แล้ว ผู้โจมตีจะสามารถสร้าง Cluster ใหม่บน pipeline สำหรับการขุดสกุลเงินดิจิตอลได้

การป้องกันและหลีกเลี่ยงการโจมตี

ทาง Microsoft ได้แนะนำให้ผู้ที่มีการใช้งาน Kubeflow ทำการ Locked down ตัว Centralized Dashboard ไม่ให้สามารถเข้าใช้งานได้ผ่านระบบ Internet หรือหากจำเป็นต้องใช้งานบนระบบ Internet ให้พิจารณาเพิ่มกระบวนการ Authentication เพื่อความปลอดภัยในการเข้าสู่ระบบ

เอกสารอ้างอิง

[1] https://threatpost.com/microsoft-cryptomining-kubeflow/166777/

[2] https://www.infracloud.io/blogs/machine-learning-orchestration-kubernetes-kubeflow/

[3] https://www.thaiprogrammer.org/2018/12/มาทำความรู้จัก-tensorflow/