概述
TENEX作業系統如今已不再使用。TENEX支持分頁,為了使用戶能監控程式的行為,他們可以要求系統在頁錯誤時,調用自己的函式進行相應處理。
作用
TENEX也使用口令來保護檔案,要存取一個檔案。程式中必須給出正確的口令。作業系統在檢測口令時,每次檢查一個字元,一旦發現口令錯誤,立即停止執行。要闖入TENEX,入侵者可以精心地安排口令,如圖5-20(a)所示,把第一個字元放在一頁的末尾,而剩下部分放在下一頁的開頭。
安全問題
TENEX口令問題
接下來,要確保第二頁不在記憶體之中。通過多次引用其他頁面,我們可以保證第二頁被調出記憶體。現在,程式可以使用這個精心排列的口令試著打開受害者的檔案。如果真實口令中的第一個字元不是A,系統立即停止檢查並報告“口令非法”。可是,如果口令確實是以A開始,系統繼續讀下面的字元,得到頁錯誤,這一錯誤也會報告給入侵者。
如果口令不是以A開始,入侵者修改口令如圖5-20(b)所示,並重複上述整個過程,看看口令是否以B開始。要確定口令的第一個字元,最多只需嘗試128次,即檢查整個ASCII字元集。
假設第一個字元為F,那么圖5-20(c)所示的記憶體布局可使入侵者檢測FA、FB等形式的字元串。採用這種方法,猜出一個n個字元的ASCII口令最多僅需要128n次,而不是128的n方次。