人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

網絡安全講座之7:攻擊與滲透(6)

網絡安全講座之7:攻擊與滲透(6)

更新時間:2021-12-10 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
其它一些方法

  構造TCP ISN生成器的一些更直接的方法是:簡單地選取一些隨機數作為ISN。這就是給定一個32位的空間,指定 ISN = R(t)。(假設R()是完全的非偽隨機數生成函數)

  固然,對于完全隨機的ISN值,攻擊者猜測到的可能性是1/232是,隨之帶來的一個問題是ISN空間里面的值的互相重復。這違反了許多RFC(RFC 793, RFC 1185, RFC 1323, RFC1948等)的假設----ISN單調增加。這將對TCP協議的穩定性和可靠性帶來不可預計的問題。

  其它一些由Niels Provos(來自OpenBSD 組織)結合完全隨機方法和RFC 1948解決方案:

  ISN = ((PRNG(t)) << 16) + R(t)     32位

  其中

  PRNG(t) :一組隨機指定的連續的16位數字  0x00000000 -- 0xffff0000

  R(t) :16位隨機數生成器(它的高位msb設成0)0x00000000 -- 0x0000ffff

  上面的公式被用于設計OpenBsd的ISN生成器,相關的源代碼可以從下面的網址獲得

http://www.openbsd.org/cgi-bin/cvsweb/src/sys/netinet/tcp_subr.c

  Provos的實現方法有效地生成了一組在給定時間內的不會重復的ISN的值,每兩個ISN值都至少相差32K,這不但避免了隨機方法造成的ISN的值的沖突,而且避免了因為哈希函數計算帶來的性能上的下降,但是,它太依賴于系統時鐘,一旦系統時鐘狀態給攻擊者知道了,就存在著系統的全局ISN狀態泄密的危機。

  TCP ISN生成器的構造方法的安全性評估

  ISN與PRNGs(偽隨機數生成器)

  我們很難用一臺計算機去生成一些不可預測的數字,因為,計算機被設計成一種以重復和準確的方式去執行一套指令的機器。所以,每個固定的算法都可以在其他機器上生成同樣的結果。如果能夠推斷遠程主機的內部狀態,攻擊者就可以預測它的輸出;即使不知道遠程主機的PNRG函數,但因為算法最終會使ISN回繞,按一定的規律重復生成以前的ISN,所以,攻擊者仍然可以推斷ISN。幸運的是,目前條件下,ISN的重復可以延長到幾個月甚至幾年。但是,仍然有部分PRNG生成器在產生500個元素后就開始回繞。解決偽隨機數的方法是引入外部隨機源,擊鍵延時,I/O中斷,或者其它對攻擊者來說不可預知的參數。把這種方法和一個合理的HASH函數結合起來,就可以產生出32位的不可預知的TCP ISN的值,同時又隱蔽了主機的PNRG的內部狀態。不幸的是,很少的TCP ISN產生器是按這種思路去設計的,但即使是這樣設計的產生器,也會有很多的實現上的漏洞使這個產生器產生的ISN具有可猜測性。

  RFC1948的建議提供了一種比較完善的方法,但是,對攻擊者來說,ISN仍然存在著可分析性和猜測性。其中,PRNG的實現是個很關鍵的地方。

  Spoofing 集合

  需要知道一點是,如果我們有足夠的能力能夠同時可以發出232個包,每個包由不同的ISN值,那么,猜中ISN的可能性是100%。但是,無論從帶寬或計算機的速度來說都是不實際的。但是,我們仍然可以發大量的包去增加命中的幾率,我們把這個發出的攻擊包的集合稱為Spoofing集合。通常,從計算機速度和網絡數據上傳速率兩方面來考慮,含5000個包的Spoofing的集合對眾多的網絡用戶是沒有問題的,5000-60000個包的Spoofing集合對寬帶網的用戶也是不成問題的,大于60000個包的Spoofing集合則超出一般攻擊者的能力。網絡的速度和計算機性能的不斷增加會提高那種使用窮盡攻擊方法猜測ISN的成功率。從攻擊者的立場,當然希望能夠通過定制一個盡可能小的Spoofing集合,而命中的幾率又盡可能高。我們假定我們攻擊前先收集50000個包作為ISN值的采樣,然后,我們把這些ISN用作對將來的ISN的值猜測的依據。

  一種稱為“delay coordinates”的分析方法

  在動態系統和非線性系統中,經常使用一種叫做“delay coordinates”的分析法,這種方法使我們可以通過對以前的數據的采樣分析來推想以后的數據。

  我們試圖以建立一個三維空間(x,y,z)來觀察ISN值(seq[t])的變化,其中t取0,1,2, ……



(圖6)

  方程組(E1)

  現在,對采樣了的50000個ISN序列seq[t] 按照上面的三個方程式來構建空間模型A。這樣,就可以通過A的圖像特征來分析這個PNRG生成的ISN值的規律。A呈現的空間模型的3D特性越強,它的可分析性就越好。

  接著,我們根據這個模型,去分析下一個ISN值seq[t],為此,我們用一個集合K(5000個)去猜測seq[t]。

  如果我們知道seq[t-1],要求seq[t],那么,可以通過在這個三維空間中找出一個有良好特性的節點P(x,y,z),將P.x+seq[t-1],我們就可以得到seq[t]。現在,我們將注意力放到怎樣在這個三維空間中選擇一些點來構成Spoofing集合,也就是怎樣通過seq[t-1],seq[t-2],sea[t-3]來推知seq[t]。

  由于seq[t-1],seq[t-2],seq[t-3]都可以很容易地在遠程主機上探測到,于是,P.y和P.z可以通過以下的公式求出



(圖7)

  而對于P.x=seq[t]-seq[t-1], 由于seq[t-1]已知,所以,我們可以把它當作是空間的一條直線。如果,在對以前的ISN的采樣,通過上面提到的構成的空間模型A呈現某種很強的特征,我們就可以大膽地假設,seq[t]在直線與A的交點上,或者在交點的附近。這樣,seq[t]就這樣確定了,于是,seq[t+1],seq[t+2]……,我們都可以推斷出來。



(圖8)

  于是,我們大致將構造Spoofing集合分成3個步驟: 

  先選取L與A交點之間的所有點。如果,L與A沒有交點,我們則選取離L最近的A的部分點。

  假設現在 seq[t-1]=25

   seq[t-2]=50

   seq[t-3]=88

   于是,我們可以計算出

   y = seq[t-1] - seq[t-2]=25

   z = seq[t-2] - seq[t-3]=33

  而我們在集合A中找不到滿足y=25,z=33這個點,但是,我們找到y=24,z=34和y=27,z=35這兩個點,所以,我們要把它們加入Spoofing集合。

  我們按照上面的方法,把在A附近(半徑<=R1的空間范圍內)點集M找出來,然后,我們根據這些點的相應的x值去推導相應的seq[t](按照一定的算法,后面會提到),于是,我們就得到很多的seq[t]。

  根據點集M(j),我們在一定的變化浮動范圍U里(-R2<=U<=+R2)處理其x值,得出以下的集合K:

  M(j).x+1 M(j).x-1 M(j).x+2 M(j).x-2 M(j).x+3 M(j).x-3 …… M(j).x+R2 M(j)-R2

  接著我們確定R1和R2的值

      R1值的選取的原則:使M不為空集,一般為1-500個。

      R2值的選取的原則:使K的個數為5000。

   對TCP ISN的PRNG分析的總體流程:



(圖9)

  相關系數的意義:

  R1 radius: 影響搜索速度。

  R2 radius: 影響猜測ISN的成功率, R2越大,成功率越高,但代價越大。

  Average error: 反映了在3.3.2中找出的點集的平均距離。一個過分大的平均距離是不需要的。可以通過是否有足夠的正確的猜測值來計算Average error。



網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 邮箱| 广州市| 中宁县| 广西| 阿克陶县| 洛南县| 隆子县| 姜堰市| 黄平县| 大余县| 遵化市| 永兴县| 长寿区| 高安市| 涿州市| 台东县| 崇仁县| 元氏县| 新干县| 封丘县| 会泽县| 敖汉旗| 桐城市| 从江县| 卢龙县| 孟连| 海宁市| 平原县| 驻马店市| 晋宁县| 息烽县| 四会市| 文登市| 教育| 麟游县| 南岸区| 资溪县| 甘泉县| 蓝田县| 赤城县| 达拉特旗|