RTLO是Right to Left Override的縮寫,主要的攻擊方式是利用檔案名稱編排呈現方式來誘騙使用者執行偽裝後的惡意檔案,一般英文語系國家書寫方式是由左至右編排,但是在中東的國家其書寫方式是由右至左編排,於是攻擊者即可透過Unicode萬國碼的支援特性來製作攻擊範本,下面有個簡單的攻擊範例可供參考。 攻擊範例: 攻擊者有個命名為「2011年下半年度薪資調整slx.scr」的惡意程式,透過RTLO的攻擊模式可以在檔名的中間插入轉碼字元,如: 「2011年下半年度薪資調整[RTLO轉碼字元]slx.scr」如此可將檔名後面的slx.scr由左至右編排方式顯示為右至左的編排方式,之後在系統看到的檔案名稱會變成: 「2011年下半年度薪資調整rcs.xls」 雖然這時看到的檔案副檔名為xls,但這只是利用Unicode特性欺騙受害者的障眼法,系統仍舊是將此檔案判斷為scr副檔名的螢幕保護裝置程式,之後攻擊者只需再透過工具將該檔案的圖示及部份資訊改成符合Excel-XLS檔案的模樣後,即可利用該檔案透過寄出假造e-mail信件等社交工程辦法,誘騙受害者執行此惡意程式。 針對該如何防範RTLO的攻擊,由於此障眼法是用來欺騙受害者的雙眼,系統在判讀此檔案時並不會受到影響,因此要有效的防堵,可於執行可疑的檔案之前先查看其檔案類型是否符合副檔名的定義,收到之檔案若為壓縮檔,也請先將其解壓縮至硬碟中來進行判斷(註),當然安裝防毒軟體也是一個方法,但必須要瞭解到防毒軟體只能針對現有大多數已知的病毒定義以及行為進行判斷阻擋,因此提升使用者在系統方面的基礎認知才是比較有效的治本方式。 另外在Windows系統亦可於「群組原則」內的「軟體限制原則」新增一筆針對路徑做檢查的規則,將所有具Unicode反轉字元的檔名限制執行,系統即會在使用者執行具反轉字元的檔案時予以阻擋,但由於RTLO的反轉字元需透過Hexadecimal 16進位之較為特殊的方式來輸入,需遵循下列方式來執行: 1) 先開啟Registry並於HKEY_Current_User/Control Panel/Input Method下新增字串值EnableHexNumpad=1 2) 於「其他原則」內新增一條「路徑規則」 3) 在路徑之處依序輸入 * (alt與+鍵一起按住) 202e (放開alt與+鍵) 再輸入 * 4) 之後會看到路徑內僅出現**,此時將滑鼠游標移至該處點選,再用←→鍵確認即可發現*與*的中間已插入反轉字元。 設定完成之後使用者只要嘗試執行具反轉字元的檔案,系統即會優先阻止並跳出告知警示。 若於設定上遇到困難,可參考「國家資通安全會報技術服務中心」提供的自動設定辦法,透過執行其所提供之.reg檔來進行設定。 註:由於市面上有相當多免費/付費版本的解壓縮軟體,其中有部份解壓縮軟體在其介面中並無將「檔案類型」這類的資訊提供予使用者參考,可能會造成使用者判斷上的混淆。