TENEX

TENEX

TENEX操作系統如今已不再使用。TENEX支持分頁,為了使用戶能監控程序的行為,他們可以要求系統在頁錯誤時,調用自己的函數進行相應處理。TENEX也使用口令來保護文件,要存取一個文件。程序中必須給出正確的口令。操作系統在檢測口令時,每次檢查一個字元,一旦發現口令錯誤,立即停止執行。

概述


TENEX口令問題
TENEX口令問題
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方次。