示意圖,與新聞事件無關。

圖片來源: 

Oracle

甲骨文Java平台的架構長Mark Reinhold近日向InfoWorld透露,為了安全起見,準備放棄Java的物件序列化(Serialization)功能。

序列化可將物件轉換成資料流,以讓它方便傳遞或是儲存於資料庫中, 之後只要將它反序列化(Deserialized)就能以原來的形式使用。序列化及反序列化本身並無問題,主要的問題來自於所序列化的來源並不安全時,曾有研究人員展示將惡意的資料上傳至熱門的Java應用,該資料會被序列化並存放於記憶體中,可是當該資料被反序列化時,它便能夠執行額外的惡意程式。

Reinhold表示,Java在1997年支援序列化功能是個可怕的錯誤,估計可能有1/3到一半的Java漏洞與該功能有關,它雖然容易使用,但整體而言卻是脆弱的。

因此,甲骨文正準備終止Java直接支援序列化的能力,取而代之的是利用外掛系統來支援序列化的操作,Reinhold只說一旦Java開始支援records,就會棄守序列化功能,但並未說明它會在哪個版本實現。


Advertisement

更多 iThome相關內容