欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

老生常談重放攻擊的概念(必看篇)

  發(fā)布時間:2017-04-06 11:01:26   作者:佚名   我要評論
下面小編就為大家?guī)硪黄仙U勚胤殴舻母拍?必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

重放攻擊的概念

根據(jù)百科的解釋:重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊或新鮮性攻擊(Freshness Attacks),是指攻擊者發(fā)送一個目的主機(jī)已接收過的包,來達(dá)到欺騙系統(tǒng)的目的,主要用于身份認(rèn)證過程,破壞認(rèn)證的正確性。

它是一種攻擊類型,這種攻擊會不斷惡意或欺詐性地重復(fù)一個有效的數(shù)據(jù)傳輸,重放攻擊可以由發(fā)起者,也可以由攔截并重發(fā)該數(shù)據(jù)的敵方進(jìn)行。攻擊者利用網(wǎng)絡(luò)監(jiān)聽或者其他方式盜取認(rèn)證憑據(jù),之后再把它重新發(fā)給認(rèn)證服務(wù)器。從這個解釋上理解,加密可以有效防止會話劫持,但是卻防止不了重放攻擊。重放攻擊任何網(wǎng)絡(luò)通訊過程中都可能發(fā)生。重放攻擊是計(jì)算機(jī)世界黑客常用的攻擊方式之一,它的書面定義對不了解密碼學(xué)的人來說比較抽象。

概念性的幾個防御手段

時間戳

“時戳”──代表當(dāng)前時刻的數(shù)

基本思想──A接收一個消息當(dāng)且僅當(dāng)其包含一個對A而言足夠接近當(dāng)前時刻的時戳

原理──重放的時戳將相對遠(yuǎn)離當(dāng)前時刻

時鐘要求──通信各方的計(jì)算機(jī)時鐘保持同步

處理方式──設(shè)置大小適當(dāng)?shù)臅r間窗(間隔),越大越能包容網(wǎng)絡(luò)傳輸延時,越小越能防重放攻擊

適用性──用于非連接性的對話(在連接情形下雙方時鐘若偶然出現(xiàn)不同步,則正確的信息可能會被誤判為重放信息而丟棄,而錯誤的重放信息可能會當(dāng)作最新信息而接收)

序號

通信雙方通過消息中的序列號來判斷消息的新鮮性

要求通信雙方必須事先協(xié)商一個初始序列號,并協(xié)商遞增方法

提問與應(yīng)答

“現(xiàn)時”──與當(dāng)前事件有關(guān)的一次性隨機(jī)數(shù)N(互不重復(fù)即可)

基本做法──期望從B獲得消息的A 事先發(fā)給B一個現(xiàn)時N,并要求B應(yīng)答的消息中包含N或f(N),f是A、B預(yù)先約定的簡單函數(shù)

原理──A通過B回復(fù)的N或f(N)與自己發(fā)出是否一致來判定本次消息是不是重放的

時鐘要求──無

適用性──用于連接性的對話

重放攻擊是對協(xié)議的攻擊中危害最大、最常見的一種攻擊形式。

以登陸為例看具體的例子

常規(guī)流程

1.前端web頁面用戶輸入賬號、密碼,點(diǎn)擊登錄。

2.請求提交之前,web端首先通過客戶端腳本如javascript對密碼原文進(jìn)行md5加密。

3.提交賬號、md5之后的密碼

4.請求提交至后端,驗(yàn)證賬號與密碼是否與數(shù)據(jù)庫中的一致,一致則認(rèn)為登錄成功,反之失敗。

有什么問題呢?

上述流程看似安全,認(rèn)為傳輸過程中的密碼是md5之后的,即使被監(jiān)聽截取到,由于md5的不可逆性,密碼明文也不會泄露。其實(shí)不然!監(jiān)聽者無需解密出密碼明文即可登錄!監(jiān)聽者只需將監(jiān)聽到的url(如:http://****/login.do?method=login&password=md5之后的密碼&userid=登錄賬號)重放一下,即可冒充你的身份登錄系統(tǒng)。

稍微安全點(diǎn)的方式

1.進(jìn)入登陸頁面時,生成一個隨機(jī)碼(稱之為鹽值),在客戶端頁面和session中各保存一份。

2.客戶端提交登錄請求時,將md5之后的密碼與該隨機(jī)碼拼接后,再次執(zhí)行md5,然后提交(提交的密碼=md5(md5(密碼明文)+隨機(jī)碼))。

3.后端接收到登錄請求后,將從數(shù)據(jù)庫中查詢出的密碼與session中的隨機(jī)碼拼接后,md5運(yùn)算,然后與前端傳遞的結(jié)果進(jìn)行比較。

為何要這樣?

該登錄方式,即使登錄請求被監(jiān)聽到,回放登錄URL,由于隨機(jī)碼不匹配(監(jiān)聽者的session中的隨機(jī)碼與被監(jiān)聽者的session中的隨機(jī)碼相同概率可忽略),無法登錄成功。

該登錄方式,由于傳輸?shù)拿艽a是原密碼md5之后與隨機(jī)碼再次md5之后的結(jié)果,即使監(jiān)聽者采用暴力破解的方式,也很難解密出密碼明文。

更進(jìn)一步

考慮到密碼輸入的方便性,好多用戶的密碼都設(shè)置的很短,并且不夠復(fù)雜,往往是6位數(shù)字字母組合,這樣的密碼md5之后保存到數(shù)據(jù)庫,一旦數(shù)據(jù)庫數(shù)據(jù)泄露,簡單密碼的md5結(jié)果很容易通過暴力破解的方式給解密出來,何況md5出現(xiàn)了這么多年,可能已經(jīng)有不少字典了!同時為了方便用戶登錄的方便性,我們的系統(tǒng)一般不可能要求用戶設(shè)置很長、很復(fù)雜的密碼!怎么辦?加固定鹽值。1.系統(tǒng)設(shè)置一個固定的鹽值,該鹽值最好足夠復(fù)雜,如:1qaz2wsx3edc4rfv!@#$%^&qqtrtRTWDFHAJBFHAGFUAHKJFHAJHFJHAJWRFA

2.用戶注冊、修改密碼時,將用戶的原始密碼與我們的固定鹽值拼接,然后做md5運(yùn)算。

3.傳遞至后端,保存進(jìn)數(shù)據(jù)庫(數(shù)據(jù)庫中保存的密碼是用戶的原始密碼拼接固定鹽值后,md5運(yùn)算后的結(jié)果)。

4.登錄時,將用戶的原始密碼與我們的固定鹽值進(jìn)行拼接,然后做md5運(yùn)算,運(yùn)算后的結(jié)果再拼接上我們的隨機(jī)碼,再次md5運(yùn)算,然后提交。

5.后端接收到登錄請求后,將從數(shù)據(jù)庫中查詢出的密碼與session中的隨機(jī)碼拼接后,md5運(yùn)算,然后與前端傳遞的結(jié)果進(jìn)行比較。

再再進(jìn)一步

1.加登錄驗(yàn)證碼,可預(yù)防人為地暴力登錄破解

2.賬戶鎖定,如果用戶密碼輸入錯誤次數(shù)達(dá)到一定量后(如6次),則可以鎖定該賬號

以上這篇老生常談重放攻擊的概念(必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • CSRF的攻擊方式詳解 黑客必備知識

    CSRF(Cross-site request forgery),中文名稱:跨站請求偽造,也被稱為:one click attack/session riding,縮寫為:CSRF/XSRF
    2012-05-11
  • CSRF—攻擊與防御

    0x01 什么是CSRF攻擊 CSRF是Cross Site Request Forgery的縮寫(也縮寫為XSRF),直譯過來就是跨站請求偽造的意思,也就是在用戶會話下對某個CGI做一些GET/POST的事情
    2008-10-08

最新評論