ทีมวิจัยความปลอดภัยของ Wiz ผู้ให้บริการรักษาความปลอดภัยบนคลาวด์ทดสอบความปลอดภัยของบริการฐานข้อมูลแบบ SQL บนคลาวด์โดยเจาะเฉพาะบริการ PostgreSQL ที่ได้รับความนิยมสูง โดยการออกแบบของ PostgreSQL นั้นไม่ได้คำนึงถึงการใช้งานพร้อมกันหลายองค์กร (multi-tenant) ผู้ให้บริการคลาวด์ต้องหาทางจัดการแยกข้อมูลออกจากกัน พร้อมกับจำกัดสิทธิ์ของลูกค้าไม่ให้เข้ามายุ่งกับระบบเกินความจำเป็น แม้บัญชีของลูกค้าจะมีสิทธิ์ผู้ดูแลฐานข้อมูลเต็มรูปแบบก็ตาม
การโจมตีที่พบบ่อยในการให้บริการ SQL-as-a-Service เช่นนี้คือคำสั่ง COPY [ชื่อตาราง] FROM PROGRAM [ชื่อโปรแกรม]
เพราะเป็นคำสั่งที่รันโปรแกรมในเครื่องได้โดยตรง แต่กูเกิลก็ล็อกสิทธิ์นี้เอาไว้ ทาง Wiz หาช่องโหว่อื่น และพบว่าหากเปลี่ยนเจ้าของตารางให้เป็น cloudsqladmin
แล้วนำคำสั่ง FROM PROGRAM
ไปซ่อนไว้ในฟังก์ชั่น INDEX
แทน จากนั้นจึงสั่ง ANALYZE
ตัว PostgreSQL ก็จะรันฟังก์ชั่นด้วยสิทธิ์ของเจ้าของตาราง
การรันคำสั่งได้เช่นนี้ ทำให้ Wiz สามารถรันคำสั่งในเครื่องด้วยสิทธิ์ของผู้ใช้ postgres ได้ เมื่อเข้าไปใน shell ก็พบว่าตัวโปรแกรมรันอยู่ในคอนเทนเนอร์อีกชั้น แต่ใช้เน็ตเวิร์คของโฮสต์โดยตรง จากนั้นก็ตรวจหาว่ามีไฟล์ใดที่แก้ไขได้ และผู้รันมีสิทธิ์เหนือกว่า postgres ก็พบว่ามีไฟล์ iptables-save
ในเครื่องที่แก้ไขจากการเปิดสิทธิ์ให้เครื่องภายนอกเชื่อมต่อเข้ามาในหน้าคอนฟิกของ Google Cloud เอง โดยตัวเจ้าของไฟล์เป็นสิทธิ์ root จากนั้นจึงเจาะออกจากคอนเทนเนอร์ผ่านทาง Google Cloud guest agent ที่รันอยู่ในเครื่อง โดย Wiz สามารถสร้างบัญชี SSH บนโฮสต์ได้สำเร็จและล็อกอินเข้าไปยังเครื่องได้
แต่หลังจากล็อกอินสำเร็จไปไม่นาน ทีมงาน Google Cloud ก็เมลหาทีมงาน Wiz ว่ากำลังวิจัยความปลอดภัยอยู่ใช่หรือเปล่า และขอให้ช่วยแจ้งความคืบหน้าของการวิจัย ทาง Wiz ระบุว่านี่เป็นครั้งแรกในรอบปีที่บริการคลาวด์สามารถจับการทดสอบความปลอดภัยได้กลางทาง หลังจากนั้นจึงรายงานรายละเอียดและหาวิธีการปิดช่องโหว่ต่อไป
ทีมงาน Wiz ทดสอบแบบเดียวกันกับคลาวด์รายอื่นๆ ด้วย และพบว่าผู้ให้บริการคลาวด์แต่ละรายพยายามจัดการสิทธิ์ของผู้ใช้แตกต่างกันไป ทาง Google Cloud เสนอว่าอาจจะสร้างโครงการ PostgreSQL ที่เสริมความแข็งแกร่งด้านความปลอดภัยแล้ว เพื่อให้ผู้ให้บริการคลาวด์อื่นๆ ใช้แนวทางร่วมกันได้มากขึ้น และยังมี Aiven ผู้ให้บริการฐานข้อมูลบนคลาวด์ก็เตรียมจะเปิด PostgreSQL รุ่นปรับปรุงสำหรับให้บริการคลาวด์ออกมาเป็นโอเพนซอร์สเช่นกัน
ที่มา - Wiz
Comments
สุดยอดไปเลย ทั้งฝ่ายวิจัยกับระบบของ Google
..: เรื่อยไป
เมพขริงๆ
มือใหม่!! ใหม่จริงๆนะ
นึกภาพแบบ นักวิจัยกำลังแอบเข้าบ้าน เจาะไปในบ้านได้แล้ว กำลังเดินไปได้กลางบ้าน เจ้าบ้านโผล่มาแล้วพูดว่า จ๊ะเอ๋ตัวเอง
//อย่างกับเรื่องโลกิ
บล็อก: wannaphong.com และ Python 3
ผมเข้าใจว่าเป็นเหมือนเจาะเข้าบ้านตัวเอง แล้วกูเกิลเป็นเหมือนยามของหมู่บ้านอะไรแบบนี้
อ่า อธิบายให้เป๊ะกว่าคือ เช่าคอนโดอยู่ แล้วพยายามแงะประตูห้องข้างๆ ครับ
อุ๊ย ถ้าแงะห้องที่ไม่ใช่ของตัวเองนี่มันเข้าข่ายอาชญากรรมไหม อ้างว่าทำไปเพื่อวิจัยไม่น่าจะฟังขึ้น หรือวงการแฮกเกอร์เขาใจดีเป็นกันเอง
Google มีโครงการ bug bounty อย่าง Google and Alphabet Vulnerability Reward Program (VRP) น่ะ หาเจอและรายงานก็ได้เงินไป
เข้าใจว่าแงะได้เสร็จแล้วก็พอแค่นั้นครับ แล้วไปแจ้งหน่วยรักษาความปลอดภัย(จำเป็นต้องแจ้ง)
แต่ถ้าแงะแล้วเข้าไปดูของข้างในด้วย อันนี้ถึงจะแจ้งแต่ยังไงก็ผิดวัตถุประสงค์แน่นอน
แต่เอาจริงๆ การทำแบบนี้มันมีระเบียบและขอบเขตมันอยู่ ซึ่งเค้าคงศึกษามาแล้ว ไม่ใช่สุ่มสี่สุ่มห้าทำแล้วบอกว่าวิจัย ซึ่งทำโดยพลการถึงแม้จะวิจัยจริงๆแต่ก็โดนฟ้องได้
เจาะออกมาข้างนอกยังไงก็ผิดเพราะถึงขั้นไปสร้าง SSH ใน Host ได้ นี่คือ hack แล้วครับ
ผมอยากเห็นแบบ กำลังพยายามเข้าไปในระบบ ยังเข้าไปไม่ได้ แล้วเจอ google โทรมาบอกว่า "muda muda muda muda!"
รักษาความปลอดภัย
วงเล็บไม่ครบ?
เจ้าผู้รัน?
iptables-save
จริง ๆ ผมอยากให้เนื้อข่าวมีการเกริ่นอีกนิดนึงในช่วงแรกว่าเขาทดสอบบน Google Cloud Platform (GCP) ถ้าไม่ได้อ่านหัวข้อข่าว ชื่อ GCP มันกระโดดมากลางข่าวเลย
*ผิด
Google รู้ได้ยังไงว่า Wiz เป็นคนทำ ย้อนรอย IP?
account ที่สั่งเจาะมั้งครับ
ถ้าเป็นแบบนั้นจริง จะรู้ได้ไงว่าไม่ได้โดน hack อยู่ แล้วทดลองใช้ช่องโหว่ใหม่อะไรแบบนั้น :o
เค้าก็ไม่แน่ใจไงครับ ก็เลยส่งไปถามว่าใช่รึเปล่า ถ้าใช่ก็แล้วไป