Mark Reinhold หัวหน้าทีมสถาปัตยกรรมของกลุ่มแพลตฟอร์ม Java จาก Oracle เผย บริษัทเตรียมวางแผนที่จะยกเลิกการซัพพอร์ตการทำ Data Serialization/Deserialization บนภาษา Java เนื่องจากเป็นบ่อเกิดปัญหาด้านความมั่นคงปลอดภัย
Serialization เป็นกระบวนการนำ Data Object มาแปลงเป็นสายของ Bytes (ในรูปของ Binary) เพื่อให้สามารถส่งข้ามระบบเครือข่ายหรือบันทึกลงบนฐานข้อมูลได้ ในขณะที่ Deserialization คือกระบวนการย้อนกลับเพื่อให้มีรูปแบบดั้งเดิม ด้วยความเป็นคุณสมบัติที่สะดวกสบายนี้ ส่งผลให้หลายภาษาโปรแกรมรองรับฟีเจอร์ดังกล่าว รวมไปถึงภาษา Java
อย่างไรก็ตาม Reinhold กลับระบุว่า การเพิ่มฟีเจอร์ Serialization ลงบนภาษา Java ในปี 1997 นั้นเป็น “ความผิดพลาดที่ร้ายแรงมาก” เนื่องจากเป็นบ่อเกิดแห่งปัญหาด้านความมั่นคงปลอดภัยมาจนถึงทุกวันนี้ โดยอาจคิดเป็นสาเหตุถึง 1 ใน 3 หรือครึ่งหนึ่งเลยทีเดียว นอกจากนี้ แพตช์ด้านความมั่นคงปลอดภัยล่าสุดของ Oracle เมื่อเดือนมกราคมที่อุดช่องโหว่รวม 237 รายการ 28.5% ของช่องโหว่เหล่านั้นก็เกี่ยวข้องกับการทำ Deserialization
ด้วยเหตุนี้ทีม Java ของ Oracle จึงตัดสินใจที่จะเตรียมยกเลิกการซัพพอร์ตฟีเจอร์ดังกล่าว แต่ยังคงมีระบบ Plug-in เพื่อให้นักพัฒนาบางรายนำไปใช้ถ้าจำเป็นจริงๆ
จนถึงตอนนี้ Oracle ยังไม่กำหนดวันและเวอร์ชันของ Java ที่จะยกเลิกการรองรับ Serialization สำหรับบริษัทหรือหัวหน้าโครงการที่ไม่ต้องการให้นักพัฒนาหรือโมดูลแปลกปลอมเรียกใช้ฟังก์ชัน Serialization/Deserialization สามารถใช้ฟีเจอร์ “Serialization Filter” ที่เพิ่งเพิ่มเข้าไปในภาษา Java เมื่อปี 2016 ไปพลางๆ ก่อนได้