最值的重視的問題是關(guān)于Java與外部的接口的。年初的時候人們發(fā)現(xiàn)QuickTime的 Java接口存在一系列高調(diào)的安全漏洞。在最近幾個月中, Java Web Start(幫助客戶機端應(yīng)用程序開發(fā)的一個新技術(shù))技術(shù)也被發(fā)現(xiàn)了一連串的弱點。關(guān)于這些案件的新聞都是關(guān)于漏洞的而沒有提及開發(fā)。
早在2004年,Sun公司在各種瀏覽器和操作系統(tǒng)中運行Java程序的一個插件被發(fā)現(xiàn)存在一個安全漏洞。這個安全漏洞能夠讓病毒通過 Windows和Linux電腦進行傳播。安全信息提供商Secunia公司在安全公告中把這個安全漏洞列為“高危”等級。這個Java插件能夠讓小型網(wǎng)絡(luò)程序在用戶計算機上安全的運行。但是,這個安全漏洞允許惡意網(wǎng)站繞過安全措施通過受害者的瀏覽器在用戶計算機上運行惡意程序。由于這一過程無需用戶干預(yù),因此這是“嚴重”等級的安全漏洞。而且,這個安全漏洞可以被用來攻擊Windows和Linux等各種操作系統(tǒng),因此就更加嚴重。
一些純粹基于Java的開發(fā),生產(chǎn)出在non-VM軟件中易于被攻擊的同一類型的軟件業(yè)務(wù)。考慮近期Java的圖像解析代碼的弱點,我們發(fā)現(xiàn)來自文件的解析數(shù)據(jù)似乎是一個在所有平臺永不休止的安全問題源頭。但很多這類問題,因為存在于不太知名的應(yīng)用程序,所以即使它們被正確發(fā)現(xiàn)并被供應(yīng)商所確定也仍然在很大程度上未被公眾所了解。
Java是一個互聯(lián)網(wǎng)技術(shù)中的一個相關(guān)的標準部分,惡意程序作者似乎逐漸開始關(guān)注它。我曾見過其他的關(guān)于惡意Java代碼的公開報告,比如一份來自ISC的報告。這可能是因為將Java作為開發(fā)平臺的工作剛剛起步。Java的堆管理使之能夠被用來開發(fā)噴涂堆代碼。如果這些都可以在很大程度上被可靠的操作,即使只工作充足時間的 50%——Java也是游走在麻煩的邊緣。我也不清楚重寫Java的堆管理來解決問題是否會造成實際的Java代碼兼容性問題。
針對處理Java安全問題的建議是令人不安的老生常談:及時升級Java,使用IDS /IPS(入侵檢測系統(tǒng)/入侵防御系統(tǒng))和保持簽名的最新性,不要瀏覽不安全的網(wǎng)站等,這些和針對非Java產(chǎn)品的建議沒有什么區(qū)別。但是難道不應(yīng)該有所區(qū)別嗎?