เพียงแค่วันเดียวหลังจากที่ Google ประกาศว่า สามารถพัฒนาการโจมตีเพื่อให้ค่าแฮช SHA-1 ของเอกสารที่แตกต่างกัน 2 ชุดมีค่าตรงกันได้ หรือที่เรียกว่า SHA-1 Collision Attack นักพัฒนาจาก WebKit ซึ่งเป็น Web Browser Engine สำหรับใช้ใน Safari, App Store และแอพพลิเคชันอื่นของ Apple ก็ออกมาเปิดเผยถึงปัญหาของ Subversion (SVN) Repositories ที่ใช้เก็บซอร์สโค้ดอันเนื่องมาจากการโจมตีดังกล่าว
SVN Repo หยุดทำงานหลังทดสอบ SHA-1 Collision Attack
วิศวกรของ WebKit ต้องการทราบว่า SVN Repo ที่ใช้งานอยู่สามารถรับมือกับ SHA-1 Collision Attack ได้หรือไม่ จึงได้ทำการทดสอบโดยอัปโหลดไฟล์ PDF 2 ไฟล์ที่ Google ใช้สาธิตการโจมตี (PDF1 และ PDF2 แตกต่างกันแต่มีค่าแฮชเดียวกัน) ปรากฏว่าหลังจากที่ SVN Repo ทำการประมวลผลไฟล์ทั้งสองแล้ว ระบบ SVN Installation ทั้งหมดหยุดทำงาน และไม่สามารถอัปโหลดซอร์สโค้ดใหม่เข้าไปได้อีก
ทีมวิศวกรพยายามย้อนการอัปโหลดกลับคืนมา และลบไฟล์ PDF ทั้งสองไฟล์ทิ้งไป แต่ก็ไม่สามารถแก้ปัญหาได้ SVN Repo ยังคงหยุดทำงาน นอกจากนี้ การซิงค์ข้อมูลไปยัง Mirror Repo ก็หยุดทำงานเช่นเดียวกัน และไม่สามารถเริ่มการทำงานกลับมาใหม่ได้ สรุปคือ Repositories สำหรับเก็บซอร์สโค้ดของ WebKit ทั้งหมดหยุดให้บริการเป็นเวลานานหลายชั่วโมง โดยที่ไม่มีใครทราบถึงต้นตอของปัญหา
ท้ายที่สุด ระบบ SVN Repo ของ WebKit ก็กลับมาใช้งานได้ตามปกติ แต่ทางทีมวิศวกรจำเป็นต้องยกเลิกแผนการรวมระบบสำหรับตรวจสอบ SHA-1 Collision Attack เข้าไปยังซอฟต์แวร์ของตน
Google และ Apache ยืนยันปัญหา SHA-1 บนระบบ SVN ของตน
วิศวกรของ Google ได้ทำการทดสอบ SHA-1 Collision Attack บน SVN Repo ของตนเช่นเดียวกัน และยืนยันว่าระบบหยุดให้บริการทันทีหลังจากที่มีการอัปโหลดไฟล์ที่มีค่าแฮชตรงกันเข้าไป
“Subversion Servers ใช้ SHA-1 ในการทำ Deduplication และ Repositories หยุดการทำงานทันทีเมื่อมีไฟล์ที่มีค่าแฮชตรงกัน 2 ไฟล์ถูกส่งเข้าไป Commit ยัง Repositories […] พวกเราสังเกตเห็นว่า ในบางกรณีที่ Repositories หยุดทำงาน การส่งไฟล์เข้าไป Commit ใหม่จะถูกบล็อก” — Google ระบุในการทดสอบ
เช่นเดียวกัน Apache Foundation ก็ออกมายืนยันว่า ระบบบริหารจัดการและซิงค์ข้อมูลซอร์สโค้ดจะมีปัญหาทันทีที่มีการอัปโหลดไฟล์ที่มีค่าแฮชตรงกันเข้าไปยังระบบ
Apache ออกสคริปต์สำหรับตรวจสอบ SHA-1 Collision Attack
เพื่อแก้ปัญหาดังกล่าวแบบชั่วคราว ทีม SVN ของ Apache ได้ออกสคริปต์สำหรับตรวจสอบว่าซอร์สโค้ดใน Repositories มีคู่ไฟล์ที่ก่อนให้เกิด SHA-1 Collision Attack หรือไม่ ก่อนที่ SVN จะเริ่มดำเนินการตามคำสั่ง ผู้ที่สนใจสามารถดาวน์โหลดสคริปต์ที่นี่ [reject-known-sha1-collisions.sh]
Apache ยืนยันว่าจะหาวิธีรับมือ SHA-1 Collision Attack ที่ดีกว่านี้ในอนาคต
สำหรับ Git ระบบบริหารจัดการซอร์สโค้ดชื่อดัง ไม่ได้รับผลกระทบต่อ SHA-1 Collision Attack แต่อย่างใด แต่ทาง Linus Torvalds ผู้ก่อตั้ง Git ระบุใน Google+ ว่า ทีมงานกำลังวางแผนที่จะเปลี่ยนจากการใช้ฟังก์ชัน SHA-1 ไปใช้ฟังก์ชันแฮชอื่นที่แข็งแกร่งยิ่งขึ้นในอนาคต
TechTalkThai ศูนย์รวมข่าว Enterprise IT ออนไลน์แห่งแรกในประเทศไทย







