現今最常使用的文書軟體除了Microsoft Office與OpenOffice.org之外,還有近年興起且已內建在Linux Ubuntu系統中的LibreOffice。為因應政府於1993年起推行公文電子化,文書軟體間的相容程度日漸提升,除了能相互開啟與編輯檔案外,檔案內容也要完整呈現,巨集便是其中之一。文書軟體提供方便編輯文件的巨集功能,經有心人士不當使用,撰寫成為巨集病毒,迫害使用者電腦。若文書軟體間的巨集相容性高,那麼巨集病毒就能藉由文書軟體交叉感染。巨集病毒會感染文書軟體的共用範本─儲存使用者的巨集程式─並藉由觸發事件自動執行,使自己藉機發作。文書軟體提出保護共用範本的做法,但經本研究發現,部份做法仍有缺失。 本研究探討Microsoft Office、OpenOffice.org與LibreOffice的巨集安全性以及檢驗三者之間的巨集相容性。以覆蓋的方式編輯共用範本,經實驗證實,此舉足以影響巨集安全性,並且也提出防範共用範本被覆蓋的方法。以48種情況,分別在Windows XP與Linux Ubuntu平台上對於同一文件使用不同文書軟體、不同的巨集語言,檢驗文書軟體三者之間的巨集相容性,經檢驗結果得知,OpenOffice.org與LibreOffice的巨集相容性佳,故巨集病毒可以在它們之間交叉感染。
In addition to Microsoft Office and OpenOffice.org, the LibreOffice has been developed and defaulted in Linux Ubuntu, they are document processing software. For the electronic official document since 1993 by the government, the compatibility of them is better then before. They can open and modify document files by each other, and the contents of the documents should be shown completely; the macro is one of the contents. Document processing software provides the macro program for users to modify files conveniently. But someone use the macro illegally, the macro program become macro virus. If the compatibility is getting better, the macro virus can crossly infect by document processing software. The way of macro virus infection is to copy the virus’s codes into the template file and to make it executed automatically by the trigger events. Although document processing software proposed some methods to protect the template file, these methods still have problems. This paper addresses the macro security and macro compatibility of Microsoft Office, OpenOffice.org and LibreOffice. We prove that the modification of the template file can cause security problem, and propose a method to avoid the situation. We inspect the compatibility of the macro programs of Microsoft Office, OpenOffice.org and LibreOffice and use 48 situations within Windows XP and Linux Ubuntu. After inspection, the macro compatibility of OpenOffice.org and LibreOffice is good, so the macro virus can crossly infect between them.