會話層(Session)是建立在傳輸層之上,利用傳輸層提供的服務(wù),使應(yīng)用建立和維持會話,并能使會話獲得同步。會話層使用校驗點可使通信會話在通信失效時從校驗點繼續(xù)恢復(fù)通信。這種能力對于傳送大的文件極為重要。
網(wǎng)絡(luò)七層協(xié)議(Open System Interconnection),簡稱OSI,是一個開放性的通行系統(tǒng)互連參考模型,他是一個定義的非常好的協(xié)議規(guī)范。OSI模型有7層結(jié)構(gòu),每層都可以有幾個子層。 OSI的7層從上到下分別是 7 應(yīng)用層 6 表示層 5 會話層 4 傳輸層 3 網(wǎng)絡(luò)層 2 數(shù)據(jù)鏈路層 1 物理層 其中高層,即7、6、5、4層定義了應(yīng)用程序的功能,下面3層,即3、2、1層主要面向通過網(wǎng)絡(luò)的端到端的數(shù)據(jù)流。
會話層,表示層,應(yīng)用層構(gòu)成開放系統(tǒng)的高3層,面對應(yīng)用進程提供分布處理,對話管理,信息表示,恢復(fù)最后的差錯等. 會話層同樣要擔(dān)負應(yīng)用進程服務(wù)要求,而運輸層不能完成的那部分工作,給運輸層功能差距以彌補.主要的功能是對話管理,數(shù)據(jù)流同步和重新同步。要完成這些功能,需要由大量的服務(wù)單元功能組合,已經(jīng)制定的功能單元已有幾十種.。如果您想要用盡量少的詞來記住這第5層,那就是“對話和交談”。
會話層的主要標準有"DIS8236:會話服務(wù)定義"和"DIS8237:會話協(xié)議規(guī)范".會話層(SESSION LAYER)允許不同機器上的用戶之間建立會話關(guān)系。會話層循序進行類似的傳輸層的普通數(shù)據(jù)的傳送,在某些場合還提供了一些有用的增強型服務(wù)。允許用戶利用一次會話在遠端的分時系統(tǒng)上登陸,或者在兩臺機器間傳遞文件。 會話層提供的服務(wù)之一是管理對話控制。會話層允許信息同時雙向傳輸,或任一時刻只能單向傳輸。如果屬于后者,類似于物理信道上的半雙工模式,會話層將記錄此時該輪到哪一方。一種與對話控制有關(guān)的服務(wù)是令牌管理(token management)。有些協(xié)議會保證雙方不能同時進行同樣的操作,這一點很重要。為了管理這些活動,會話層提供了令牌,令牌可以在會話雙方之間移動,只有持有令牌的一方可以執(zhí)行某種關(guān)鍵性操作。另一種會話層服務(wù)是同步。如果在平均每小時出現(xiàn)一次大故障的網(wǎng)絡(luò)上,兩臺機器簡要進行一次兩小時的文件傳輸,試想會出現(xiàn)什么樣的情況呢?每一次傳輸中途失敗后,都不得不重新傳送這個文件。當(dāng)網(wǎng)絡(luò)再次出現(xiàn)大故障時,可能又會半途而廢。為解決這個問題,會話層提供了一種方法,即在數(shù)據(jù)中插入同步點。每次網(wǎng)絡(luò)出現(xiàn)故障后,僅僅重傳最后一個同步點以后的數(shù)據(jù)(這個其實就是斷點下載的原理)。
會話劫持由于會話層傳輸數(shù)據(jù)的特點所以在發(fā)生會話時可能會出現(xiàn)會話劫持。會話劫持發(fā)生在攻擊者試圖接管兩臺計算機間所建立的TCP會話的時候。會話劫持的基本步驟包括:尋找會話、猜測序號、迫使用戶掉線、接管會話。會話劫持的目的是竊取有效系統(tǒng)的一個授權(quán)連接。如果黑客成功了,那么他就可以執(zhí)行本地命令。如果他劫持了一個特權(quán)帳戶,那么黑客就擁有了與特權(quán)用戶一樣的訪問權(quán)限。會話劫持之所以會如此的危險是因為它允許控制現(xiàn)有的帳號,這使得攻擊就幾乎沒有痕跡。兩種可用于會話劫持的工具是Ettercap和Hunt。
阻止和檢測會話劫持有兩種主要的機制可以解決劫持的問題:阻止和檢測。阻止的方法包括限制到達的連接數(shù),以及配置網(wǎng)絡(luò)拒絕來自因特網(wǎng)但卻宣稱來自于本地地址的數(shù)據(jù)包。加密也會有所幫助。如果你必須允許來自外部的可信任主機的連接,那么要使用Kerberos或IPsec進行加密。FTP和Telnet是相當(dāng)脆弱的,我們需要使用更安全的協(xié)議。SecureShell(SSH)是一個很好的選擇。SSH在本地和遠程主機上建立一個加密的通道。使用IDS或IPS系統(tǒng)可以改進檢測。使用交換機、諸如SSH的安全協(xié)議,以及更加隨機的初始序列號都將增加會話劫持的難度。