Google เปิดตัว OSS-Fuzz ค้นหาบั๊กบน Open Source แบบอัตโนมัติด้วย Fuzz Testing

Google ประกาศช่วยเสริมความปลอดภัยให้กับโครงการ Open Source ทั่วโลกด้วยการทำ Fuzz Testing โดยอัตโนมัติผ่าน OSS-Fuzz และเชิญชวนให้เหล่า Developer ทั่วโลกใช้ในโครงการ Open Source ของตนให้กลายเป็นมาตรฐาน

google_logo

Google นั้นเห็นว่า Open Source Software (OSS) นั้นได้กลายมาเป็นหัวใจหลักของหลายๆ Application และหลายๆ บริการทั่วโลก ในขณะที่ประเด็นทางด้านความปลอดภัยนั้นก็เป็นเรื่องสำคัญขึ้นในทุกๆ วัน ซึ่งที่ผ่านมานั้นช่องโหว่อย่าง Buffer Overflow หรือ Use-after-free นั้นก็อาจสร้างปัญหาร้ายแรงให้เกิดขึ้นมาได้ Google จึงได้มองว่าการทำ Fuzz Testing โดยอัตโนมัติกับเหล่า Open Source Software อย่างต่อเนื่องเพื่อค้นหาช่องโหว่หรือบั๊กเหล่านี้ให้เจอโดยเร็วที่สุดน่าจะเป็นทางออกได้สำหรับปัญหาเหล่านี้

Fuzz Testing นั้นคือการทดสอบโค้ดด้วยการยิงค่าแบบสุ่มเข้าไปยังฟังก์ชันหรือโปรแกรมต่างๆ และคอยดูผลลัพธ์เพื่อตรวจสอบว่าจะพบกับ Error ใดๆ หรือไม่ และแจ้งไปยังผู้พัฒนาเพื่อให้แก้ไขช่องโหว่เหล่านี้ทันทีโดยเร็ว

ที่ผ่านมา Google จึงได้ทดลองใช้งาน Fuzzing Engine ที่หลากหลาย ไม่ว่าจะเป็น AFL หรือ libFuzzer ก็ตามเพื่อใช้ในการค้นหาบั๊กหรือช่องโหว่บน Google Chrome และเมื่อนำ Fuzzer มาใช้ร่วมกับ Sanitizer แล้วก็จะทำให้สามารถค้นหาช่องโหว่ทางด้านความปลอดภัย (เช่น Buffer Overflow, Use-after-free, Bad Cast, Integer Overflow และอื่นๆ), บั๊กทางด้านความทนทาน (Null Dereference, Memory Leak, Out-of-memory Assertion Failure และอื่นๆ) รวมไปถึงบั๊กใน Logic ของโปรแกรมได้ด้วย

เป้าหมายของ Google ในการพัฒนา OSS-Fuzz นี้จึงเป็นความต้องการที่จะทำให้ Software ต่างๆ ทั่วโลกปลอดภัยและทนทานมากยิ่งขึ้นด้วยการนำ Fuzz Testing สมัยใหม่มาใช้ในแบบที่สามารถ Scale เพื่อรองรับการทดสอบขนาดใหญ่ได้ ซึ่งภายใน OSS-Fuzz เองนี้ก็ประกอบไปด้วย Fuzzing Engine อย่าง libFuzzer และ Sanitizer อย่าง AddressSanitizer ที่สามารถทำงานแบบ Distributed ได้ด้วย ClusterFuzz

ในการทดสอบของ Google ด้วยการใช้งาน OSS-Fuzz กับ FreeType Library ที่มีการใช้งานอยู่บนอุปกรณ์นับพันล้านชิ้นทั่วโลกนั้น ก็ทำให้สามารถตรวจพบช่องโหว่ Heap Buffer Overflow ได้ภายในการทดสอบเพียงไม่กี่ชั่วโมง โดยที่ผ่านมาจากการทดสอบใช้ในหลากหลายโครงการด้วยการทดสอบกว่า 4 ล้านล้านครั้งในแต่ละสัปดาห์ก็ทำให้สามารถพบช่องโหว่และบั๊กเพิ่มขึ้นได้มากถึง 150 รายการเลยทีเดียว ซึ่งทาง Google ก็อยากเชิญชวนเหล่านักพัฒนาให้มาใช้งาน OSS-Fuzz, มาร่วม Contribute ในโครงการ รวมถึงมาร่วมแสดงความคิดเห็นเพื่อปรับปรุงให้โครงการดียิ่งขึ้นต่อไป

สำหรับผู้ที่สนใจข้อมูลของ OSS-Fuzz นั้นสามารถเข้าไปศึกษาเพิ่มเติมได้ที่ https://github.com/google/oss-fuzz และ https://github.com/google/oss-fuzz/blob/master/docs/clusterfuzz.md เลยนะครับ ปัจจุบันนี้ OSS-Fuzz ยังอยู่ในขั้น Beta อยู่ ใครที่ทำโครงการ Open Source อะไรแล้วอยากเข้าร่วมก็สามารถอ่านวิธีการสมัครได้ที่ https://github.com/google/oss-fuzz#accepting-new-projects เลยนะครับ

ที่มา: https://testing.googleblog.com/2016/12/announcing-oss-fuzz-continuous-fuzzing.html


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

RSA จับมือ DEPA ETDA พัฒนา Thailand Smart City

เมื่อวันพฤหัสบดีที่ 20 มิถุนายน 2019 ที่ผ่านทางทางทีมงาน TechTalkThai ได้มีโอกาสเข้าร่วมสัมภาษณ์กลุ่มกับผู้บริหารจาก RSA ซึ่งได้พูดคุยถึงความร่วมมือกับ DEPA และ ETDA ในการพัฒนาโปรเจ็คด้าน Smart City …

ฟรี eBook: A Developer’s Guide to Building AI Applications โดย Microsoft

Microsoft เปิดให้ดาวน์โหลด eBook เรื่อง A Developer’s Guide to Building AI Applications สำหรับนักพัฒนาที่ต้องการสร้างแอปพลิเคชันและ Bot อัจฉริยะโดยใช้เทคโนโลยี AI …