ปัญหาอยู่ที่โปรแกรมเก่ายังใช้ อัปไม่ได้มากกว่า

Microsoft ออกมาเตือนผู้ดูแลระบบให้หลีกเลี่ยงการใช้งาน .NET Runtime เวอร์ชันที่หมดซัพพอร์ตบน Windows เพราะอาจเสี่ยงต่อความปลอดภัยและทำให้ระบบไม่เสถียรได้

.

ปัจจุบัน .NET เวอร์ชันใหม่จะถูกติดตั้งเฉพาะเมื่อโปรแกรมต้องการใช้งาน ทำให้เครื่องหนึ่งอาจมี .NET หลายเวอร์ชันอยู่พร้อมกันได้ แต่ถ้ามีตัวเก่าหลงเหลืออยู่ ก็อาจเปิดช่องให้มัลแวร์โจมตีหรือทำให้ระบบไม่ผ่านมาตรฐานด้านความปลอดภัยขององค์กร

.

ตอนนี้ Microsoft ระบุว่ารุ่นที่ยังได้รับการสนับสนุนคือ .NET 8 ขึ้นไป ส่วนเวอร์ชันก่อนหน้านี้ถือว่าหมดอายุแล้ว และแม้จะติดตั้ง .NET เวอร์ชันใหม่เพิ่มเข้าไปหรือถอดเวอร์ชันเก่าออก ก็ต้องทำด้วยความระมัดระวัง เพราะโปรแกรมที่สร้างมาด้วย .NET รุ่นเก่าอาจใช้งานไม่ได้ หากนักพัฒนาไม่ได้อัปเดตให้รองรับเวอร์ชันใหม่ก่อน โปรแกรมจะไม่สลับไปใช้ runtime ใหม่โดยอัตโนมัติ

.

การอัปเดตจึงต้องทำตั้งแต่ฝั่งนักพัฒนา ไม่ว่าจะเป็นการแก้โค้ด ปรับเฟรมเวิร์ก หรือคอมไพล์ใหม่ เพื่อให้แอปรองรับ runtime รุ่นใหม่ ทำให้ผู้ดูแลระบบต้องตรวจสอบว่าแต่ละแอปกำลังใช้ .NET เวอร์ชันใดอยู่

.

Microsoft แนะนำให้ตรวจสอบผ่านคำสั่ง listdlls.exe -d coreclr.dll -accepteula -v ใน Command Prompt แบบสิทธิ์แอดมิน จากนั้นให้ประสานกับผู้พัฒนาแอปที่ยังใช้เวอร์ชันเก่าเพื่อให้ปรับปรุงให้เรียบร้อย และหลังจากอัปเดตเสร็จแล้วก็ให้ตรวจสอบซ้ำอีกครั้งเพื่อให้มั่นใจว่าไม่มี runtime เก่าค้างอยู่ ขั้นตอนสุดท้ายคือการถอนการติดตั้ง .NET รุ่นที่หมดอายุเพื่อปิดช่องโหว่ที่อาจเกิดขึ้น

.

อย่างไรก็ดี Microsoft ไม่แนะนำให้ใช้งาน .NET ที่หมดอายุอีกต่อไป เพราะไม่มีแพตช์ ไม่มีอัปเดตด้านความปลอดภัย และไม่มีการสนับสนุนทางเทคนิค แถมยังเสี่ยงถูกซอฟต์แวร์ความปลอดภัยตรวจจับว่าเป็นช่องโหว่ด้วย การอัปเกรดให้เรียบร้อยจึงเป็นทางเลือกที่ปลอดภัยที่สุดในการป้องกันปัญหาที่อาจตามมา

.

ที่มา : Neowin

#ข่าวไอที #รวมเรื่องไอที #ไอที่น่ารู้ #ไอที

2025/12/5 แก้ไขเป็น

... อ่านเพิ่มเติมการใช้งาน .NET Runtime เวอร์ชันที่หมดอายุนั้นไม่เพียงแค่เสี่ยงต่อช่องโหว่ความปลอดภัยเท่านั้น แต่ยังส่งผลต่อประสิทธิภาพและความเสถียรของระบบโดยรวมด้วย เนื่องจากการที่เครื่องมี .NET หลายเวอร์ชัน ซึ่งบางเวอร์ชันเป็นเวอร์ชันเก่าที่หมดการสนับสนุน อาจทำให้มีมัลแวร์แอบแฝงทำงานได้ง่ายขึ้นและแอปพลิเคชันไม่สามารถทำงานร่วมกับ runtime ที่ไม่มีการอัปเดตได้อย่างราบรื่น จุดสำคัญในกระบวนการอัปเดตคือการประสานงานอย่างใกล้ชิดระหว่างผู้ดูแลระบบและนักพัฒนาซอฟต์แวร์ เพราะโปรแกรมที่พัฒนาด้วย .NET เวอร์ชันเก่านั้น อาจไม่สามารถใช้งานบน .NET 8 ได้หากไม่มีการปรับโค้ดและเฟรมเวิร์กให้รองรับ ซึ่งอาจจำเป็นต้องแก้ไขโค้ด ปรับเฟรมเวิร์ก หรือคอมไพล์โปรแกรมใหม่เพื่อเสริมความเข้ากันได้ สำหรับผู้ดูแลระบบ Microsoft เสนอให้ใช้คำสั่ง listdlls.exe -d coreclr.dll -accepteula -v โดยรันใน Command Prompt ที่มีสิทธิ์แอดมินเพื่อตรวจสอบเวอร์ชัน .NET Runtime ที่ใช้งานในเครื่อง จากนั้นนำข้อมูลไปประสานกับนักพัฒนาเพื่อตรวจสอบและอัปเดตโปรแกรมต่างๆ ให้รองรับ .NET เวอร์ชันล่าสุด หลังจากอัปเดตเรียบร้อยแล้ว ต้องทำการตรวจสอบซ้ำเพื่อให้แน่ใจว่าไม่มี .NET Runtime เวอร์ชันหมดอายุหลงเหลือ และควรถอนการติดตั้งเวอร์ชันเก่าเหล่านั้นออกเพื่อปิดช่องโหว่ที่อาจถูกแฮกเกอร์โจมตี ในภาพรวม การหลีกเลี่ยงการใช้งาน .NET รุ่นที่หมดอายุและการอัปเกรดไปใช้ .NET 8 ขึ้นไป ถือเป็นการรักษาความปลอดภัยของระบบที่มีความสำคัญสูงสุดในยุคที่ภัยคุกคามจากมัลแวร์และแฮกเกอร์มีความซับซ้อนและรุนแรงมากขึ้นเรื่อยๆ การจัดการ runtime และซอฟต์แวร์ที่ใช้บนเครื่องในองค์กรจึงควรทำอย่างรอบคอบและต่อเนื่องเพื่อประสิทธิภาพและความปลอดภัยสูงสุดของระบบ IT ภายในองค์กร