Google เสร็จสิ้นโครงการนำร่องโดยใช้ Gemini เพื่อเขียนไลบรารี C ที่ใช้งานกันอย่างแพร่หลายใน Rust และการทดลองก็ให้ผลตอบแทนในแบบที่ไม่มีใครวางแผนไว้ ไม่นานหลังจากที่บริษัทย้ายระบบการผลิตไปยังการเขียนซ้ำไลบรารีการประมวลผล GIF ที่สร้างโดย AI และปลอดภัยต่อหน่วยความจำ ช่องโหว่การเขียนฮีปนอกขอบเขตใหม่ก็ถูกเปิดเผยในโค้ด C ดั้งเดิม ซึ่งกำหนดไว้ CVE-2026-26740 ระบบของ Google มีภูมิคุ้มกันแล้ว
บริษัทได้แก้ไขช่องโหว่แบบ Zero-day ได้อย่างมีประสิทธิภาพผ่านสถาปัตยกรรมแทนที่จะทำการแพตช์ ตามที่ทีมวิศวกรรมความปลอดภัยของ Google อธิบายไว้ในโพสต์ในบล็อก Bug Hunters ทีมงานไม่มีความรู้เกี่ยวกับการเปิดเผยที่รอดำเนินการในขณะที่ทำการเขียนใหม่ การป้องกันเป็นผลข้างเคียงทางโครงสร้างของการกำจัดโค้ดที่ไม่ปลอดภัยของหน่วยความจำ หากต้องการข้อมูลเพิ่มเติมว่า AI กำลังปรับเปลี่ยนรูปแบบอย่างไร การวิจัยและวิศวกรรม AI โปรดติดตาม AI Buzz Wire
เหตุใดความปลอดภัยของหน่วยความจำจึงมีความสำคัญในตอนนี้
ช่องโหว่ด้านความปลอดภัยของหน่วยความจำคิดเป็นประมาณ 70% ของช่องโหว่ในโค้ดเบส C และ C++ ตามการวิจัยของ Google ไลบรารีบุคคลที่สามเป็นจุดอ่อนโดยเฉพาะเนื่องจากจะแยกวิเคราะห์ข้อมูลที่ไม่น่าเชื่อถือเป็นประจำ ในเวลาเดียวกัน ช่วงเวลาระหว่างการค้นพบช่องโหว่และการสร้างอาวุธยังคงลดลงเรื่อยๆ ผู้โจมตีที่ได้รับความช่วยเหลือจาก AI มากขึ้น จะเคลื่อนที่ได้เร็วกว่าวงจรแพตช์แบบเดิม
Google สนับสนุนกลยุทธ์ "Safe Coding" มานานแล้วโดยจัดลำดับความสำคัญของภาษาที่ปลอดภัยต่อหน่วยความจำ เช่น Rust ปัญหาที่ยังไม่ได้รับการแก้ไขคือฐานการติดตั้งจำนวนมากของการพึ่งพา C และ C++ ซึ่งไม่สามารถลบออกได้ง่ายๆ นักบินถามคำถามตรง ๆ ว่า LLM สามารถเปลี่ยนการพึ่งพาเหล่านั้นเป็น Rust ได้อย่างรวดเร็วโดยไม่ทำลายสิ่งใดเลยหรือไม่
เป้าหมาย: giflib
Google เลือก giflib ซึ่งเป็นไลบรารีการประมวลผลภาพ GIF ที่ใช้กันอย่างแพร่หลายซึ่งเดิมพัฒนาโดย Eric S. Raymond ไลบรารีนำเสนอโปรไฟล์ความซับซ้อนในอุดมคติสำหรับความพยายามครั้งแรก: โค้ดประมาณ 3,000 บรรทัด ไม่มีการปรับแต่ง SIMD หรือแอสเซมบลี และฐานโค้ดที่เสถียร ในเชิงวิกฤต giflib มักจะประมวลผลข้อมูลที่ไม่น่าเชื่อถือในสภาพแวดล้อมที่ไม่ใช่แซนด์บ็อกซ์ ซึ่งเป็นประเภทการโจมตีที่ทีมรักษาความปลอดภัยพื้นผิวกังวลมากที่สุด
เป้าหมายคือความทะเยอทะยาน: ผลิตการแทนที่แบบดรอปอินที่ปลอดภัยและเข้ากันได้กับ ABI ซึ่งสามารถปรับใช้ทั่วทั้งโครงสร้างพื้นฐานการผลิตของ Google โดยไม่รบกวนบริการที่พึ่งพา การแปลลอจิกของไลบรารีเบื้องต้นเสร็จสิ้นอย่างรวดเร็วด้วยความช่วยเหลือจาก LLM แต่ทีมงานได้ทำเครื่องหมายข้อกำหนดสองประการที่พิสูจน์แล้วว่ามีความเด็ดขาด ได้แก่ การจัดการขอบเขต FFI อย่างระมัดระวัง - วงจรชีวิตของตัวชี้ และความหมายการเป็นเจ้าของของ Rust ที่อินเทอร์เฟซกับผู้เรียก C ที่มีอยู่ และสิ่งที่ Google เรียกว่า "องค์ประกอบทางสังคมของการรักษาความปลอดภัย" ความไว้วางใจของมนุษย์ที่จำเป็นในการปรับใช้การเขียนซ้ำที่สร้างโดย AI ในบริการที่สำคัญ
ถุงมือตรวจสอบความถูกต้อง
เพื่อให้ได้รับความไว้วางใจในการผลิต การใช้งาน Rust ผ่านการทดสอบอย่างละเอียดถี่ถ้วน:
- การทดสอบการถดถอยขนาดใหญ่: ตรวจสอบกับชุดข้อมูล GIF ในชีวิตจริงมากกว่า 30 ล้านรายการ ซึ่งยืนยันผลลัพธ์ที่เหมือนกับการใช้งานดั้งเดิม
- การฟัซเซอร์แบบดิฟเฟอเรนเชียล: ฟัซเซอร์แบบเดิมเทียบกับแบบสนิมทำงานอย่างต่อเนื่องนานกว่าหกวันและทำซ้ำมากกว่า 200 ล้านครั้งโดยไม่พบความเบี่ยงเบนทางตรรกะใดๆ
- การตรวจสอบ AI ของฝ่ายตรงข้าม: พรอมต์ LLM แบบพิเศษถูกใช้เพื่อค้นหาความแตกต่างทางพฤติกรรมที่ละเอียดอ่อนระหว่างโค้ดเบสทั้งสองที่การทดสอบแบบดั้งเดิมอาจพลาดไป
ไปป์ไลน์ได้พิสูจน์ความคุ้มค่าก่อนการใช้งาน โดยระบุกรณี Edge ในตัวถอดรหัส LZW และที่สะดุดตากว่านั้นคือได้ค้นพบช่องโหว่ในการเขียนนอกขอบเขตที่มีอยู่แล้ว ซึ่งแพตช์ดั้งเดิมภายในของ Google นำมาใช้กับซอร์ส C ดั้งเดิม ซึ่งทีมงานได้แก้ไขในการเขียนใหม่ของ Rust
ประสิทธิภาพไม่ได้รับผลกระทบ
ข้อโต้แย้งทั่วไปเกี่ยวกับภาษาที่ปลอดภัยของหน่วยความจำคือค่าใช้จ่ายในการตรวจสอบขอบเขตรันไทม์ การตรวจสอบของ Google ในบริการประมวลผลภาพทั่วโลกแสดงให้เห็นว่าการใช้งาน Rust นั้นมีประสิทธิภาพที่เป็นกลางเมื่อเทียบกับ C ดั้งเดิม ซึ่งเป็นผลลัพธ์ที่บริษัทกล่าวว่าได้สังเกตเห็นซ้ำแล้วซ้ำอีกในการโยกย้ายของ Rust
มีโบนัสที่ไม่คาดคิด เนื่องจากไลบรารี Rust มีหน่วยความจำที่ปลอดภัยโดยการก่อสร้าง Google จึงสามารถเลิกใช้งานแซนด์บ็อกซ์ที่ใช้ทรัพยากรจำนวนมากซึ่งบริการการผลิตบางอย่างที่จำเป็นก่อนหน้านี้เพื่อแยกไลบรารี C ออก การลดความซับซ้อนทางสถาปัตยกรรมนั้นทำให้เวลาแฝงของส่วนท้ายสำหรับงานถอดรหัสภาพลดลงอย่างมาก
โอเพ่นซอร์ส - พร้อมคำเตือนที่ซื่อสัตย์
Google ได้เผยแพร่ Rust rewrite ที่ github.com/google/giflib-rs และกำลังสนับสนุนการค้นพบนี้กลับสู่ชุมชน บริษัทยังให้เครดิตความพยายามที่ส่งเสริมโดยมนุษย์ เช่น การเขียน zlib ลงใน Rust ด้วยตนเองของ Trifecta Tech Foundation พร้อมประสิทธิภาพที่เพิ่มขึ้นอย่างมาก ซึ่งเป็นส่วนหนึ่งของระบบนิเวศของโซลูชันที่กว้างขึ้น
คำเตือนมีค่าควรแก่การสังเกต การเขียนซ้ำต้องใช้ข้อมูลในโลกแห่งความเป็นจริงจำนวนมากหรือชุดทดสอบที่แข็งแกร่งที่มีอยู่เพื่อตรวจสอบความเท่าเทียมทางพฤติกรรม และการเบี่ยงเบนไปจากโปรเจ็กต์อัปสตรีมโดยการเปลี่ยนภาษาทำให้เกิดค่าใช้จ่ายในการบำรุงรักษาจริง โดยเฉพาะอย่างยิ่งสำหรับการอ้างอิงภายใต้การพัฒนาที่ใช้งานอยู่ กล่าวอีกนัยหนึ่งคือการแปลโดยใช้ AI จะช่วยเร่งความเร็วแต่ไม่ได้แทนที่การตัดสินทางวิศวกรรม
ภาพใหญ่กว่า
โครงการนำร่องนี้เป็นหนึ่งในการสาธิตที่ชัดเจนที่สุดว่า LLM สามารถนำเสนอการปรับปรุงการรักษาความปลอดภัยของโครงสร้างในวงกว้าง ไม่ใช่แค่คำแนะนำโค้ดเท่านั้น ด้วยการรวมความเร็วของการแปลที่ขับเคลื่อนด้วย LLM เข้ากับการทดสอบที่แตกต่างและการตรวจสอบขอบเขตความปลอดภัยโดยผู้เชี่ยวชาญโดยมนุษย์ Google ให้เหตุผลว่าช่องโหว่ระดับทั้งหมดสามารถถูกปลดออกจากโครงสร้างพื้นฐานที่ใช้งานจริงได้ ก่อนที่ใครจะรู้ว่า CVE ใดที่จะเกิดขึ้นต่อไป
ที่มา: บล็อกของ Google Bug Hunters "การปรับขนาดความปลอดภัยของหน่วยความจำ: การเขียนซ้ำที่ได้รับความช่วยเหลือจาก AI ของการพึ่งพา C/C++ ให้เป็นสนิม"
---
ก้าวนำหน้า AIรับข่าวสาร AI การวิเคราะห์ และความก้าวหน้าล่าสุด ทั้งหมดในที่เดียว
อ่านข่าว AI เพิ่มเติม →