Web安全实践(14)嗅探,arp欺骗,会话劫持与重放攻击(下)
距離上篇文章已經很長時間了,但是不能留下這個缺憾,所以今天抽時間寫了點內容。還是希望更多的高手和朋友參與進web安全的討論中來。這篇文章重點放在重放攻擊的原理解說上。
正文
14.1 什么是重放攻擊
所謂重放攻擊就是攻擊者發送一個目的主機已接收過的包,來達到欺騙系統的目的,主要用于身份認證過程。
攻擊者利用網絡監聽或者其他方式盜取認證憑據,之后再把它重新發給認證服務器。從這個解釋上理解,加密可以有效防止會話劫持,但是卻防止不了重放攻擊。重放攻擊任何網絡通訊過程中都可能發生。
?14.2重放攻擊的類型
?
l 根據消息的來源:協議輪內攻擊:一個協議輪內消息重放
協議輪外攻擊:一個協議不同輪次消息重放
根據消息的去向:
偏轉攻擊:改變消息的去向
直接攻擊:將消息發送給意定接收方 其中偏轉攻擊分為:
反射攻擊:將消息返回給發送者
第三方攻擊:將消息發給協議合法通信雙方之外的任一方
?
典型例子:?
?
?
?
14.3重放攻擊與cookie
我們監聽http數據傳輸的截獲的敏感數據大多數就是存放在cookie中的數據。其實在web安全中的通過其他方式(非網絡監聽)盜取cookie與提交cookie也是一種重放攻擊。我們有時候可以輕松的復制別人的cookie直接獲得相應的權限。關于cookie,我想應該用單獨的一篇文章來說明,在這里就不重復了。
?14.4重放攻擊的防御方案
(1)時間戳
“時戳”──代表當前時刻的數
基本思想──A接收一個消息當且僅當其包含一個對A而言足夠接近當前時刻的時戳
原理──重放的時戳將相對遠離當前時刻
時鐘要求──通信各方的計算機時鐘保持同步
處理方式──設置大小適當的時間窗(間隔),越大越能包容網絡傳輸延時,越小越能防重放攻擊
適用性──用于非連接性的對話 (在連接情形下雙方時鐘若偶然出現不同步,則正確的信息可能會被誤判為重放信息而丟棄,而錯誤的重放信息可能會當作最新信息而接收)
(2)序號
通信雙方通過消息中的序列號來判斷消息的新鮮性
要求通信雙方必須事先協商一個初始序列號,并協商遞增方法
(3)提問——應答
“現時”──與當前事件有關的一次性隨機數N(互不重復即可)
基本做法──期望從B獲得消息的A 事先發給B一個現時N,并要求B應答的消息中包含N或f(N),f是A、B預先約定的簡單函數
原理──A通過B回復的N或f(N)與自己發出是否一致來判定本次消息是不是重放的
時鐘要求──無
適用性──用于連接性的對話
14.5重放攻擊演示
本來是做了個演示的,但受到了相關人士的阻攔,這里就不發布了。如果你有相關的實例,可以貢獻出來做個補充。
總結
以上是生活随笔為你收集整理的Web安全实践(14)嗅探,arp欺骗,会话劫持与重放攻击(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对弈程序基本技术---最小-最大搜索
- 下一篇: Web安全实践(13)嗅探,arp欺骗,