หลังจากที่สัปดาห์ที่แล้วเกิดเหตุการณ์จอฟ้าบน Windows ทำให้ระบบต่าง ๆ ล่มจนใช้งานไม่ได้ทั่วโลก จากระบบรักษาความปลอดภัยด้านคอมพิวเตอร์ CrowdStrike ที่ได้ปล่อยอัปเดตจนเกิด Error เป็นวงกว้างกระทบ ระบบธนาคาร ระบบเช็กอินของสายการบิน และปัญหาอื่น ๆ อีกมากมาย ล่าสุดได้ออกรายงานเบื้องต้นถึงสาเหตุที่ทำให้เกิดเหตุการณ์ดังกล่าวแล้ว
CrowdStrike แถลงผลการสอบสวนเบื้องต้น พบระบบทดสอบโปรแกรมก่อนปล่อยให้ผู้ใช้งานจริงมีบั๊ก ทำให้ปล่อยอัปเดตที่มีบั๊กหลุดออกไปทำเครื่องจอฟ้า โดยรอบนี้เป็นรายละเอียดเพิ่มเติมจากการแถลงรอบแรกที่บอกว่าไฟล์ระบบ Channel Files ทำงานผิดพลาด
โดยตามปกติอัปเดตของ CrowdStrike จะมี 2 แบบ คือแบบแรกเรียกว่า Sensor Content ที่จะเป็นอัปเดตใหญ่รวมมากับตัวโปรแกรมหลักเลย ซึ่งผู้ดูแลระบบสามารถควบคุมได้ว่าจะปล่อยอัปเดตตัวนี้หรือไม่ และ Rapid Response Content เป็นอัปเดตย่อยที่แยกจากโปรแกรมหลัก เพื่ออุดช่องโหว่ และรับมือกับมัลแวร์ในช่วงเวลานั้นได้อย่างทันท่วงที
จากรายงานบอกว่าตัวโปรแกรมหลัก (Agent) Falcon Sensor เวอร์ชัน 7.11 ทำงานได้ตามปกติ และผ่านการทดสอบช่วงเดือน มี.ค. 2024 มาแล้ว ทำให้ทาง CrowdStrike มั่นใจ และได้ปล่อยอัปเดตหลักไปในเดือน เม.ย. ซึ่งก็ทำงานได้ดีไม่มีปัญหา
ประเด็นที่ทำให้เกิดเหตุไม่ได้อยู่ที่โปรแกรมหลัก แต่อยู่ที่อัปเดตย่อยที่มีบั๊กแฝงไปด้วย ซึ่งอัปเดตที่มีบั๊กตัวนี้ได้หลุดรอดกระบวนการทดสอบไปได้ (ตรวจไม่เจอ) เพราะระบบที่ใช้ทดสอบเองก็มีบั๊กอื่นอยู่เหมือนกัน และตอนทดสอบไม่ได้ทดสอบร่วมกับโปรแกรมหลัก ทดสอบเฉพาะตัวอัปเดตย่อยเท่านั้น แถมทดสอบแค่ครั้งเดียวก็ปล่อยอัปเดตเลยด้วย (ทดสอบไม่ละเอียดนั่นแหละครับ)
ต้องบอกก่อนว่าตามปกติแล้วกระบวนการพัฒนาซอฟต์แวร์จะมีขั้นตอนการทดสอบโปรแกรมก่อนที่จะปล่อยไปให้ผู้ใช้งานได้ใช้หลายระยะ เพื่อให้แน่ใจว่าจะไม่มีบั๊ก หรือช่องโหว่ แต่ CrowdStrike เลือกที่จะทดสอบด้วยระบบตัวเองแค่รอบเดียว
ส่วนรอบอื่น ๆ ให้ไปทดสอบที่ระบบจริงในเครื่องผู้ใช้งานแทนเลย (deployed into production) ซึ่งตามหลักการแล้วไม่ถูกต้อง เพราะโค้ดโปรแกรมที่เขียนมามีโอกาสพัง มีบั๊ก ใช้ไม่ได้สูงมาก
นอกจากนี้กระบวนการปล่อยอัปเดตก็ไม่ได้เป็นแบบ ทยอยปล่อยเป็นกลุ่ม ๆ (Soft Rolling) ด้วย แต่เป็นแบบปล่อยพร้อมกันทั่วโลก ทำให้เวลามีปัญหาก็เกิดพร้อมกันทั่วโลกนั่นเอง
อย่างไรก็ตามหลังจากนี้ CrowdStrike ได้เพิ่มมาตรการทดสอบโค้ดให้เข้มงวดกว่าเดิม เพื่อไม่ให้เกิดปัญหาแบบนี้ซ้ำอีก ส่วนการปล่อยอัปเดตจะเพิ่มกระบวนการปล่อยทีละกลุ่ม และให้ผู้ดูแลระบบสามารถควบคุมการปล่อยอัปเดตย่อยได้ด้วยจากเดิมที่ทำให้เฉพาะอัปเดตหลัก
ที่มา : crowdstrike
Comment