《計算機網絡安全技術》教學課件01_第1頁
《計算機網絡安全技術》教學課件01_第2頁
《計算機網絡安全技術》教學課件01_第3頁
《計算機網絡安全技術》教學課件01_第4頁
《計算機網絡安全技術》教學課件01_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機網絡平安聯(lián)系方式:Email:287986791@qq主講人:黃老邪1金目標學習平臺賬號:9205512登陸方法:登錄名@9205512登錄名命名規(guī)那么:單字名:名全拼+姓全拼如:嬋娟為juanchan雙字名:名拼音首字母+姓全拼如:李如玉為ryli軟件下載地址:初始密碼為12345678;首次登錄后請自行修改密碼如遇登錄名相同或者選修多門課程者,末尾加1,2,3序號以示區(qū)分。學習交流考評平臺21、請牢記自己的賬號及登錄密碼;2、每周登錄系統(tǒng)在線時間不低于6個小時〔時間區(qū)間不限,累計達8個小時以上〕;3、記錄學習實驗內容,遇到的問題、解決的問題及思路、過程等內容,可以以文件附件、圖片及文字等方式描述學習內容,每周學習內容不少于講授內容;4、雷同率大于50%即視為抄襲,以先閱覽到者為原創(chuàng);抄襲者視為無效內容;5、特殊情況在登錄賬號里面自行說明,否那么視為缺席,后補一律無效;6、本系統(tǒng)作為最終成績中課程平時成績來源之一,比率為60%。學習要求3關于考試考試方式:開卷考試內容:網絡平安策略+分析+方法+技術考試要求:筆試50%+考勤10%+課程綜合實踐考評40%課程實驗:>36學時4關于考試友情揭示:沒有復習題不得攜帶、電腦、平板電腦等電子設備入場除了教學用教材、打印件、影印件之外的參考資料方可帶入考場5第一章網絡平安概述網絡平安的概念網絡平安的內容網絡平安面臨的問題網絡平安的客觀必要性常見的網絡信息攻擊模式網絡平安保障體系網絡平安工作的目的6什么是網絡平安〔五要素〕可用性:授權實體有權訪問數據機密性:信息不暴露給未授權實體或進程完整性:保證數據不被未授權修改可控性:控制授權范圍內的信息流向及操作方式可審查性:對出現的平安問題提供依據與手段7網絡平安的內容物理平安網絡平安傳輸平安應用平安用戶平安8網絡平安面臨的問題來源:CSI/FBIComputerCrimeSurvey,March2012.21%48%72%89%外國政府競爭對手黑客不滿的雇員9網絡平安威脅的來源1.外部滲入〔penetration〕 未被授權使用計算機的人;2.內部滲入者 被授權使用計算機,但不能訪問某些數據、程序或資源,它包括: -冒名頂替:使用別人的用戶名和口令進行操作;-隱蔽用戶:逃避審計和訪問控制的用戶; 3.濫用職權者:被授權使用計算機和訪問系統(tǒng)資源,但濫用職權者。10冒名頂替廢物搜尋身份識別錯誤不平安效勞配置初始化乘虛而入代碼炸彈病毒更新或下載特洛伊木馬間諜行為撥號進入算法考慮不周隨意口令口令破解口令圈套竊聽偷竊網絡平安威脅線纜連接身份鑒別編程系統(tǒng)漏洞物理威脅網絡平安威脅的幾種類型11網絡平安面臨嚴峻挑戰(zhàn)網上犯罪形勢不容樂觀有害信息污染嚴重網絡病毒的蔓延和破壞網上黑客無孔不入機要信息流失與信息間諜潛入網絡平安產品的自控權信息戰(zhàn)的陰影不可無視

互聯(lián)網正以巨大的力度和廣度沖擊和改造著社會、經濟、生活的傳統(tǒng)模式互聯(lián)網正在成為社會公眾強烈依賴的社會重要基礎設施互聯(lián)網平安正在成為普遍關注的焦點12網上犯罪形勢不容樂觀計算機犯罪以100%的速度增加網上攻擊事件每年以10倍速度增漲銀行的電子購物賬戶密碼曝光事件增多2000年2月7日攻擊美國知名網站案件:損失$12億,影響百萬網民Yahoo、Amazon、CNN、Buy、eBay、E-Trade、ZDNet網上勒索、詐騙不斷:用戶信用卡被曝光美國網絡平安造成損失$170億/年美國金融界計算機犯罪損失$100億/年13有害信息污染嚴重黃色信息:涉及1%網站,10億美元年營業(yè)額邪教信息:法輪功160多個反宣傳網站虛假新聞:美校園炸彈恐嚇事件、網上股市欺詐宣揚暴力:炸藥配方、幫助自殺政治攻擊:考克斯報告、政治演變論14網絡病毒的蔓延和破壞10年內以幾何級數增長病毒達55000種〔2000.12亞洲計算機反病毒大會〕網絡病毒有更大的破壞性1988年莫里斯事件〔UNIX/Email〕6000臺、$9000萬1998年4月的CIH病毒2000萬臺計算機1999年2月的梅利莎案件〔Window/Email〕$12億2000年5月4日的我愛你病毒$87億2001年7、8月紅色代碼〔CodeRed〕到目前為止$26億15網上黑客無孔不入美國網絡屢遭掃蕩

軍事、政治、經濟美國五角大樓情報網絡、美國海軍研究室、空軍、美國中央情報局、許多貿易及金融機構都有被黑的歷史全球網絡危機四伏

非法侵入、破壞系統(tǒng)、竊取機密

中國網絡不斷被侵入五一中美黑客大戰(zhàn)800多網站被黑黑客是一些發(fā)自好奇、尋求刺激、富有挑戰(zhàn)的家伙是一群以攻擊網絡,搜尋并破壞信息為了的無賴;是一幫為了揚名,專與政府作對的極端分子;是一些恐怖主義分子或政治、軍事、商業(yè)和科技間諜。16機要信息流失與信息間諜潛入國家機密信息、企業(yè)關鍵信息、個人隱私Web發(fā)布、電子郵件、文件傳送的泄漏預謀性竊取政治和經濟情報CIA統(tǒng)計入侵美國要害系統(tǒng)的案件年增長率為30%我國信息網絡開展必然成為其重要目標17網絡平安產品的自控權平安產品隱通道、嵌入病毒、缺陷、可恢復密鑰大量外購平安產品缺少自控權我國缺少配套的平安產品控制政策和機制我國平安產業(yè)還比較稚嫩是重大平安隱患之一18信息戰(zhàn)的陰影不可無視有組織、大規(guī)模的網絡攻擊預謀行為:國家級、集團級無硝煙的戰(zhàn)爭:跨國界、隱蔽性、低花費、跨領域高技術性、情報不確定性美國的“信息戰(zhàn)執(zhí)行委員會”:網絡防護中心〔1999年〕信息作戰(zhàn)中心〔2000年〕網絡攻擊演練〔2000年〕要害目標:金融支付中心、證券交易中心空中交管中心、鐵路調度中心電信網管中心、軍事指揮中心19網絡的脆弱性網絡的擴展與業(yè)務負荷膨脹:信息量半年長一倍,網民年增漲30%網絡帶寬瓶頸和信息擁擠社會與經濟對網絡的巨大經濟依賴性:20%股市、25%產品、30%金融、40%人口災難情況下的網絡脆弱性“AOL”96年10小時癱瘓:影響700萬用戶平安的模糊性網絡的開放性技術的公開性人類的天性20平安的模糊性平安是相對的,不易明確平安的目標平安是復雜的,不易認清存在的問題平安是廣泛的,不易普及平安的知識平安鏈條:鏈條的強度等于其最弱一環(huán)的強度〔木桶原理:網絡平安最薄弱之處好比木桶壁上最短的木塊,也是黑客對網絡攻擊的首選之處?!?1網絡的開放性互聯(lián)機制提供了廣泛的可訪問性Client-Server模式提供了明確的攻擊目標開放的網絡協(xié)議和操作系統(tǒng)為入侵提供了線索用戶的匿名性為攻擊提供了時機22技術的公開性如果不能集思廣益,自由地發(fā)表對系統(tǒng)的建議,那么會增加系統(tǒng)潛在的弱點被無視的危險,因此Internet要求對網絡平安問題進行坦率公開地討論?;谏鲜鲈敲矗咚降木W絡平安資料與工具在Internet中可自由獲得。23人類的天性好奇心 這扇門為什么鎖上,我能翻開嗎?惰性和依賴心理 平安問題應由專家來關心恐懼心理 家丑不可外揚24網絡攻擊形式

按網絡效勞分: E-Mail、FTP、Telnet、R效勞、IIS按技術途徑分: 口令攻擊、Dos攻擊、種植木馬按攻擊目的分: 數據竊取、偽造濫用資源、篡改數據25主要攻擊與威脅 ——十大攻擊手段

1.Dos:使目標系統(tǒng)或網絡無法提供正常效勞網絡Flooding:synflooding、pingflooding、DDos系統(tǒng)Crash:Pingofdeath、淚滴、land、WinNuke應用Crash/Overload:利用應用程序缺陷,如長郵件

2.掃描探測:系統(tǒng)弱點探察SATAN、ISS、CybercopScanner、ping〔嗅探加密口令,口令文件)

263.口令攻擊:弱口令 口令竊?。盒崽狡鳌⑼蹈Q、社會工程〔垃圾、便條、偽裝查詢〕 口令猜測:常用字—無法獲得加密的口令-強力攻擊 口令Crack:字典猜測、字典攻擊—可獲得加密的口令〔嗅探加密口令,口令文件)4.獲取權限,提升權限〔root/administrator〕猜/crackroot口令、緩沖區(qū)溢出、利用NT注冊表、訪問和利用高權限控制臺、利用啟動文件、利用系統(tǒng)或應用Bugs

5.插入惡意代碼: 病毒、特洛伊木馬〔BO)、后門、惡意Applet276.網絡破壞: 主頁篡改、文件刪除、毀壞OS、格式化磁盤7.數據竊?。?敏感數據拷貝、監(jiān)聽敏感數據傳輸---共享媒介/效勞器監(jiān)聽/遠程監(jiān)聽RMON8.偽造、浪費與濫用資源: 違規(guī)使用9.篡改審計數據: 刪除、修改、權限改變、使審計進程失效10.平安根底攻擊: 防火墻、路由、帳戶修改,文件權限修改。28我國網絡平安現狀硬件設備上嚴重依賴國外網絡平安管理存在漏洞網絡平安問題還沒有引起人們的廣泛重視平安技術有待研究美國和西方國家對我過進行破壞、滲透和污染啟動了一些網絡平安研究工程建立一批國家網絡平安根底設施29Hacker(黑客)MMMMaster(主攻手)zzzzzzzzZombie(僵尸)Target(目標機)美2.7黑客案件的攻擊方式分布式拒決效勞〔DDoS〕30美國2.7黑客事件的啟示

互聯(lián)網正在成為國家重要根底設施9800萬網民3000萬人參予網上購物,$1000億元交易額14%的股市交易互聯(lián)網威脅給社會帶來巨大沖擊CNN的100萬網民閱讀網絡新聞受阻Amason的820萬注冊用戶無法購書3天總損失高達$12億互聯(lián)網平安問題正在進入國家戰(zhàn)略層克林頓2月16日召開網絡平安頂峰會議支持$900萬建立高科技平安研究所拔款$20億建根底設施打擊網絡恐怖活動31值得深思的幾個問題網絡平安的全局性戰(zhàn)略黑客工具的公開化對策網絡平安的預警體系應急反響隊伍的建設32傳統(tǒng)平安觀念受到挑戰(zhàn)網絡是變化的、風險是動態(tài)的傳統(tǒng)平安觀側重策略的技術實現現代平安觀強調平安的整體性,平安被看成一個與環(huán)境相互作用的動態(tài)循環(huán)過程33網絡平安策略網絡平安是一個系統(tǒng)的概念,可靠的網絡平安解決方案必須建立在集成網絡平安技術的根底上,網絡系統(tǒng)平安策略就是基于這種技術集成而提出的,主要有三種:1直接風險控制策略〔靜態(tài)防御〕平安=風險分析+平安規(guī)那么+直接的技術防御體系+平安監(jiān)控攻擊手段是不斷進步的,平安漏洞也是動態(tài)出現的,因此靜態(tài)防御下的該模型存在著本質的缺陷。2自適應網絡平安策略〔動態(tài)性〕平安=風險分析+執(zhí)行策略+系統(tǒng)實施+漏洞分析+實時響應該策略強調系統(tǒng)平安管理的動態(tài)性,主張通過平安性檢測、漏洞監(jiān)測,自適應地填充“平安間隙”,從而提高網絡系統(tǒng)的平安性。完善的網絡平安體系,必須合理協(xié)調法律、技術和管理三種因素,集成防護、監(jiān)控和恢復三種技術,力求增強網絡系統(tǒng)的健壯性與免疫力。局限性在于:只考慮增強系統(tǒng)的健壯性,僅綜合了技術和管理因素,僅采用了技術防護。34網絡平安策略〔續(xù)〕

3智能網絡系統(tǒng)平安策略〔動態(tài)免疫力〕平安=風險分析+平安策略+技術防御體系+攻擊實時檢測+平安跟蹤+系統(tǒng)數據恢復+系統(tǒng)學習進化技術防御體系包括漏洞檢測和平安縫隙填充;平安跟蹤是為攻擊證據記錄效勞的,系統(tǒng)學習進化是旨在改善系統(tǒng)性能而引入的智能反響機制。 模型中,“風險分析+平安策略”表達了管理因素;“技術防御體系+攻擊實時檢測+系統(tǒng)數據恢復+系統(tǒng)學習進化”表達了技術因素;技術因素綜合了防護、監(jiān)控和恢復技術;“平安跟蹤+系統(tǒng)數據恢復+系統(tǒng)學習進化”使系統(tǒng)表現出動態(tài)免疫力。35網絡網絡平安防護體系

〔PDRR〕 隨著信息網絡的飛速開展,信息網絡的平安防護技術已逐漸成為一個新興的重要技術領域,并且受到政府、軍隊和全社會的高度重視。隨著我國政府、金融等重要領域逐步進入信息網絡,國家的信息網絡已成為繼領土、領海、領空之后的又一個平安防衛(wèi)領域,逐漸成為國家平安的最高價值目標之一??梢哉f信息網絡的平安與國家平安密切相關。36網絡網絡平安防護體系

〔PDRR〕 最近平安專家提出了信息保障體系的新概念,即:為了保障網絡平安,應重視提高系統(tǒng)的入侵檢測能力、事件反響能力和遭破壞后的快速恢復能力。信息保障有別于傳統(tǒng)的加密、身份認證、訪問控制、防火墻等技術,它強調信息系統(tǒng)整個生命周期的主動防御。美國在信息保障方面的一些舉措,如:成立關鍵信息保障辦公室、國家根底設施保護委員會和開展對信息戰(zhàn)的研究等等,說明美國正在尋求一種信息系統(tǒng)防御和保護的新概念,這應該引起我們的高度重視。37網絡網絡平安防護體系

〔PDRR〕 保護、檢測、響應和恢復涵蓋了對現代信息系統(tǒng)的平安防護的各個方面,構成了一個完整的體系,使網絡平安建筑在一個更加堅實的根底之上。38網絡網絡平安防護體系

〔PDRR〕保護(PROTECT) 傳統(tǒng)平安概念的繼承,包括信息加密技術、訪問控制技術等等。檢測(DETECT) 從監(jiān)視、分析、審計信息網絡活動的角度,發(fā)現對于信息網絡的攻擊、破壞活動,提供預警、實時響應、事后分析和系統(tǒng)恢復等方面的支持,使平安防護從單純的被動防護演進到積極的主動防御。39網絡網絡平安防護體系

〔PDRR〕響應(RESPONSE)在遭遇攻擊和緊急事件時及時采取措施,包括調整系統(tǒng)的平安措施、跟蹤攻擊源和保護性關閉效勞和主機等?;謴?RECOVER)評估系統(tǒng)受到的危害與損失,恢復系統(tǒng)功能和數據,啟動備份系統(tǒng)等。40網絡平安保障體系平安管理與審計物理層平安網絡層平安傳輸層平安應用層平安鏈路層物理層網絡層傳輸層應用層表示層會話層審計與監(jiān)控身份認證數據加密數字簽名完整性鑒別端到端加密訪問控制點到點鏈路加密物理信道平安訪問控制數據機密性數據完整性用戶認證防抵賴平安審計網絡平安層次層次模型網絡平安技術實現平安目標用戶平安41網絡平安工作的目的42黑客攻擊與防范43以太幀與MAC地址一、以太資料幀的結構圖前同步碼報頭資料區(qū)資料幀檢查序列(FCS)8個字節(jié)(不包括)通常14個字節(jié)46-1,500字節(jié)

固定4字節(jié)44以太幀構成元素解釋及作用前同步碼Send“Iamready,Iwillsendmessage”報頭必須有:發(fā)送者MAC地址目的MAC地址共12個字節(jié)OR長度字段中的字節(jié)總數信息(差錯控制)OR類型字段(說明以太幀的類型)資料區(qū)資料源IP目的地IP實際資料和協(xié)議信息如果資料超過1,500分解多個資料幀,使用序列號如果不夠46個字節(jié),數據區(qū)末尾加1FCS保證接受到的資料就是發(fā)送出的資料。45MAC地址的前三個字節(jié)制造商00-00-0CCISCO00-00-A2BAYNETWORKS00-80-D3SHIVA00-AA-00INTEL02-60-8C3COM08-00-09HEWLET-PACKARD08-00-20SUN08-00-5AIBMFF-FF-FF-FF-FF廣播地址46地址解析協(xié)議

地址解析協(xié)議

索引物理位址IP地址類型物理口(接口)設備的物理地址與物理位址對應的IP地址這一行對應入口類型入口1

入口2

入口N

注:數值2表示這個入口是非法的,數值3表示這種映像是動態(tài)的,數值4表示是靜態(tài)的〔如口不改變〕,數值1表示不是上述任何一種。入口:ARP高速緩存。47TIP/IPIP〔InternetProtocol〕網際協(xié)議,把要傳輸的一個文件分成一個個的群組,這些群組被稱之為IP數據包,每個IP數據包都含有源地址和目的地址,知道從哪臺機器正確地傳送到另一臺機器上去。IP協(xié)議具有分組交換的功能,不會因為一臺機器傳輸而獨占通信線路。

TCP〔TransportcontrolProtocal〕傳輸控制協(xié)議具有重排IP數據包順序和超時確認的功能。IP數據包可能從不同的通信線路到達目的地機器,IP數據包的順序可能序亂。TCP按IP數據包原來的順序進行重排。IP數據包可能在傳輸過程中喪失或損壞,在規(guī)定的時間內如果目的地機器收不到這些IP數據包,TCP協(xié)議會讓源機器重新發(fā)送這些IP數據包,直到到達目的地機器。TCP協(xié)議確認收到的IP數據包。超時機制是自動的,不依賴于通訊線路的遠近。

IP和TCP兩種協(xié)議協(xié)同工作,要傳輸的文件就可以準確無誤地被傳送和接收48TIP/IPTCP/IP協(xié)議族與OSI七層模型的對應關系,如以下圖所示49數據包是什么樣的?TCP/IP/Ethernet舉例對分組過濾而言:涉及四層1. Ethernet layer2. IP layer3. TCP layer4. data layer分組與數據封包:DataDataDataDataHeaderHeaderHeaderHeaderHeaderHeaderApplicationlayer(SMTP,Telnet,FTP,etc)Transportlayer(TCP,UDP,ICMP)InternetLayer(IP)NetworkAccessLayer(Ethernet,FDDI,ATM,etc)在每層,分組由兩部分構成:首標(頭)和本體(數據)首標包含與本層有關的協(xié)議信息,本體包括本層的所有數據每層分組要包括來自上層的所有信息,同時加上本層的首標,即封包應用層包括的就是要傳送出去的數據Ethernetlayer1.分組=EthernetHeader+EthernetBody2.Header說明:3.EthernetBody包含的是IP分組該分組的類型,如AppleTalk數據包、Novell數據包、DECNET數據包等。輸送該分組的機器的Ethernet地址(源址)接收該分組的機器的Ethernet地址(宿址)IPlayer1.IP分組=IPheader+IPBody3.IP可將分組細分為更小的局部段(fragments),以便網絡傳輸。4.IPBody包含的是TCP分組。2.IPheader包括:IP源地址:4bytes,eg.4IP的目的地址:同上

IP協(xié)議類型:說明IPBody中是TCP分組或是UDP分組,ICMP等IP選擇字段:???,用于IP源路由或IP安全選項的標識IP分組字段版本 IHL服務類型 總長度 標識 O分段偏差有效期 協(xié)議 報頭校驗和 源地址 宿地址 選項 填充 數據OMFF32BIT過濾字段54IP:1、處于Internet中間層次。2、其下有很多不同的層:如Ethernet,tokenring,FDDI,PPP等。3、其上有很多協(xié)議:TCP,UDP,ICMP。4、與分組過濾有關的特性是:5、分段示意圖:IP選項:用于Firewall中,對付IP源路由。IP分段:Firewall只處理首段,而讓所有非首段通過。丟掉了首段,目的地就不能重組。IPHeaderTCPHeaderDATADATAIPHeaderTCPHeaderDATAIPHeaderDATAIPHeaderDATATCPLayer1、TCP分組:TCP報頭+TCP本體2、報頭中與過濾有關局部:TCP源端口:2byte數,說明處理分組的源機器。TCP宿端口:同上TCP旗標字段〔flag〕,含有1bit的ACKbit。3、本體內是實際要傳送的數據。TCPLayer源端口宿端口序號確認號HLEN保存碼位窗口校驗和緊急指針選項填充字節(jié)數據WordsBits048121620242831頭標端口掃描攻擊WWW效勞SMTP效勞POP3效勞DNS效勞SNMP效勞58Sniffer攻擊59DOS原理DoS的英文全稱是DenialofService,也就是“拒絕效勞”的意思。從網絡攻擊的各種方法和所產生的破壞情況來看,DoS算是一種很簡單但又很有效的進攻方式。它的目的就是拒絕你的效勞訪問,破壞組織的正常運行,最終它會使你的局部Internet連接和網絡系統(tǒng)失效。DoS的攻擊方式有很多種,最根本的DoS攻擊就是利用合理的效勞請求來占用過多的效勞資源,從而使合法用戶無法得到效勞。DoS攻擊的原理如下圖。60DOS原理61DOS原理從圖我們可以看出DoS攻擊的根本過程:首先攻擊者向效勞器發(fā)送眾多的帶有虛假地址的請求,效勞器發(fā)送回復信息后等待回傳信息,由于地址是偽造的,所以效勞器一直等不到回傳的消息,分配給這次請求的資源就始終沒有被釋放。當效勞器等待一定的時間后,連接會因超時而被切斷,攻擊者會再度傳送新的一批請求,在這種反復發(fā)送偽地址請求的情況下,效勞器資源最終會被耗盡。62DDOS原理DDoS〔分布式拒絕效勞〕,它的英文全稱為DistributedDenialofService,它是一種基于DoS的特殊形式的拒絕效勞攻擊,是一種分布、協(xié)作的大規(guī)模攻擊方式,主要瞄準比較大的站點,象商業(yè)公司,搜索引擎和政府部門的站點。從圖1我們可以看出DoS攻擊只要一臺單機和一個modem就可實現,與之不同的是DDoS攻擊是利用一批受控制的機器向一臺機器發(fā)起攻擊,這樣來勢迅猛的攻擊令人難以防范,因此具有較大的破壞性。DDoS的攻擊原理如下圖。63DDOS原理64DDOS原理從圖可以看出,DDoS攻擊分為3層:攻擊者、主控端、代理端,三者在攻擊中扮演著不同的角色。

1、攻擊者:攻擊者所用的計算機是攻擊主控臺,可以是網絡上的任何一臺主機,甚至可以是一個活動的便攜機。攻擊者操縱整個攻擊過程,它向主控端發(fā)送攻擊命令。

2、主控端:主控端是攻擊者非法侵入并控制的一些主機,這些主機還分別控制大量的代理主機。主控端主機的上面安裝了特定的程序,因此它們可以接受攻擊者發(fā)來的特殊指令,并且可以把這些命令發(fā)送到代理主機上。

3、代理端:代理端同樣也是攻擊者侵入并控制的一批主機,它們上面運行攻擊器程序,接受和運行主控端發(fā)來的命令。代理端主機是攻擊的執(zhí)行者,真正向受害者主機發(fā)送攻擊。65SYNFlood的根本原理大家都知道,TCP與UDP不同,它是基于連接的,也就是說:為了在效勞端和客戶端之間傳送TCP數據,必須先建立一個虛擬電路,也就是TCP連接,建立TCP連接的標準過程是這樣的:

首先,請求端〔客戶端〕發(fā)送一個包含SYN標志的TCP報文,SYN即同步〔Synchronize〕,同步報文會指明客戶端使用的端口以及TCP連接的初始序號;

第二步,效勞器在收到客戶端的SYN報文后,將返回一個SYN+ACK的報文,表示客戶端的請求被接受,同時TCP序號被加一,ACK即確認〔Acknowledgement〕。

第三步,客戶端也返回一個確認報文ACK給效勞器端,同樣TCP序列號被加一,到此一個TCP連接完成。

以上的連接過程在TCP協(xié)議中被稱為三次握手〔Three-wayHandshake〕。66

SYNFlood的根本原理

假設一個用戶向效勞器發(fā)送了SYN報文后突然死機或掉線,那么效勞器在發(fā)出SYN+ACK應答報文后是無法收到客戶端的ACK報文的〔第三次握手無法完成〕,這種情況下效勞器端一般會重試〔再次發(fā)送SYN+ACK給客戶端〕并等待一段時間后丟棄這個未完成的連接,這段時間的長度我們稱為SYNTimeout,一般來說這個時間是分鐘的數量級〔大約為30秒-2分鐘〕;一個用戶出現異常導致效勞器的一個線程等待1分鐘并不是什么很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,效勞器端將為了維護一個非常大的半連接列表而消耗非常多的資源----數以萬計的半連接,即使是簡單的保存并遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果效勞器的TCP/IP棧不夠強大,最后的結果往往是堆棧溢出崩潰---即使效勞器端的系統(tǒng)足夠強大,效勞器端也將忙于處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求〔畢竟客戶端的正常請求比率非常之小〕,此時從正??蛻舻慕嵌瓤磥?,效勞器失去響應,這種情況我們稱作:效勞器端受到了SYNFlood攻擊〔SYN洪水攻擊〕。67SYNFlood的根本根本解決方法

第一種是縮短SYNTimeout時間,由于SYNFlood攻擊的效果取決于效勞器上保持的SYN半連接數,這個值=SYN攻擊的頻度x

SYNTimeout,所以通過縮短從接收到SYN報文到確定這個報文無效并丟棄改連接的時間,例如設置為20秒以下〔過低的SYNTimeout設置可能會影響客戶的正常訪問〕,可以成倍的降低效勞器的負荷。

第二種方法是設置SYNCookie,就是給每一個請求連接的IP地址分配一個Cookie,如果短時間內連續(xù)受到某個IP的重復SYN報文,就認定是受到了攻擊,以后從這個IP地址來的包會被丟棄。

68DDoS攻擊使用的常用工具DDoS攻擊實施起來有一定的難度,它要求攻擊者必須具備入侵他人計算機的能力。但是很不幸的是一些傻瓜式的黑客程序的出現,這些程序可以在幾秒鐘內完成入侵和攻擊程序的安裝,使發(fā)動DDoS攻擊變成一件輕而易舉的事情。下面我們來分析一下這些常用的黑客程序。1、TrinooTrinoo的攻擊方法是向被攻擊目標主機的隨機端口發(fā)出全零的4字節(jié)UDP包,在處理這些超出其處理能力的垃圾數據包的過程中,被攻擊主機的網絡性能不斷下降,直到不能提供正常效勞,乃至崩潰。它對IP地址不做假,采用的通訊端口是:攻擊者主機到主控端主機:27665/TCP

主控端主機到代理端主機:27444/UDP

代理端主機到主效勞器主機:31335/UDPFNTFN由主控端程序和代理端程序兩局部組成,它主要采取的攻擊方法為:SYN風暴、Ping風暴、UDP炸彈和SMURF,具有偽造數據包的能力。69DDoS攻擊使用的常用工具3、TFN2KTFN2K是由TFN開展而來的,在TFN所具有的特性上,TFN2K又新增一些特性,它的主控端和代理端的網絡通訊是經過加密的,中間還可能混雜了許多虛假數據包,而TFN對ICMP的通訊沒有加密。攻擊方法增加了Mix和Targa3。并且TFN2K可配置的代理端進程端口。4、StacheldrahtStacheldraht也是從TFN派生出來的,因此它具有TFN的特性。此外它增加了主控端與代理端的加密通訊能力,它對命令源作假,可以防范一些路由器的RFC2267過濾。Stacheldrah中有一個內嵌的代理升級模塊,可以自動下載并安裝最新的代理程序。70

DDoS的監(jiān)測

現在網上采用DDoS方式進行攻擊的攻擊者日益增多,我們只有及早發(fā)現自己受到攻擊才能防止遭受沉重的損失。檢測DDoS攻擊的主要方法有以下幾種:1、根據異常情況分析當網絡的通訊量突然急劇增長,超過平常的極限值時,你可一定要提高警惕,檢測此時的通訊;當網站的某一特定效勞總是失敗時,你也要多加注意;當發(fā)現有特大型的ICP和UDP數據包通過或數據包內容可疑時都要留神??傊斈愕臋C器出現異常情況時,你最好分析這些情況,防患于未然。2、使用DDoS檢測工具當攻擊者想使其攻擊陰謀得逞時,他首先要掃描系統(tǒng)漏洞,目前市面上的一些網絡入侵檢測系統(tǒng),可以杜絕攻擊者的掃描行為。另外,一些掃描器工具可以發(fā)現攻擊者植入系統(tǒng)的代理程序,并可以把它從系統(tǒng)中刪除。71DDoS攻擊的防御策略由于DDoS攻擊具有隱蔽性,因此到目前為止我們還沒有發(fā)現對DDoS攻擊行之有效的解決方法。所以我們要加強平安防范意識,提高網絡系統(tǒng)的平安性。可采取的平安防御措施有以下幾種:1、及早發(fā)現系統(tǒng)存在的攻擊漏洞,及時安裝系統(tǒng)補丁程序。對一些重要的信息〔例如系統(tǒng)配置信息〕建立和完善備份機制。對一些特權帳號〔例如管理員帳號〕的密碼設置要謹慎。通過這樣一系列的舉措可以把攻擊者的可乘之機降低到最小。2、在網絡管理方面,要經常檢查系統(tǒng)的物理環(huán)境,禁止那些不必要的網絡效勞。建立邊界平安界限,確保輸出的包受到正確限制。經常檢測系統(tǒng)配置信息,并注意查看每天的平安日志。3、利用網絡平安設備〔例如:防火墻〕來加固網絡的平安性,配置好它們的平安規(guī)那么,過濾掉所有的可能的偽造數據包。4、比較好的防御措施就是和你的網絡效勞提供商協(xié)調工作,讓他們幫助你實現路由的訪問控制和對帶寬總量的限制。

72DDoS攻擊的防御策略5、當你發(fā)現自己正在遭受DDoS攻擊時,你應當啟動您的應付策略,盡可能快的追蹤攻擊包,并且要及時聯(lián)系ISP和有關應急組織,分析受影響的系統(tǒng),確定涉及的其他節(jié)點,從而阻擋從攻擊節(jié)點的流量。6、當你是潛在的DDoS攻擊受害者,你發(fā)現你的計算機被攻擊者用做主控端和代理端時,你不能因為你的系統(tǒng)暫時沒有受到損害而掉以輕心,攻擊者已發(fā)現你系統(tǒng)的漏洞,這對你的系統(tǒng)是一個很大的威脅。所以一旦發(fā)現系統(tǒng)中存在DDoS攻擊的工具軟件要及時把它去除,以免留下后患。73分布式拒絕效勞〔DDoS〕攻擊工具分析--TFN2K

客戶端——用于通過發(fā)動攻擊的應用程序,攻擊者通過它來發(fā)送各種命令。

守護程序——在代理端主機運行的進程,接收和響應來自客戶端的命令。

主控端——運行客戶端程序的主機。

代理端——運行守護程序的主機。

目標主機——分布式攻擊的目標〔主機或網絡〕。

74分布式拒絕效勞〔DDoS〕攻擊工具分析--TFN2K

TFN2K通過主控端利用大量代理端主機的資源進行對一個或多個目標進行協(xié)同攻擊。當前互聯(lián)網中的UNIX、Solaris和WindowsNT等平臺的主機能被用于此類攻擊,而且這個工具非常容易被移植到其它系統(tǒng)平臺上。

TFN2K由兩局部組成:在主控端主機上的客戶端和在代理端主機上的守護進程。主控端向其代理端發(fā)送攻擊指定的目標主機列表。代理端據此對目標進行拒絕效勞攻擊。由一個主控端控制的多個代理端主機,能夠在攻擊過程中相互協(xié)同,保證攻擊的連續(xù)性。主控央和代理端的網絡通訊是經過加密的,還可能混雜了許多虛假數據包。整個TFN2K網絡可能使用不同的TCP、UDP或ICMP包進行通訊。而且主控端還能偽造其IP地址。所有這些特性都使開展防御TFN2K攻擊的策略和技術都非常困難或效率低下。

75主控端通過TCP、UDP、ICMP或隨機性使用其中之一的數據包向代理端主機

發(fā)送命令。對目標的攻擊方法包括TCP/SYN、UDP、ICMP/PING或BROADCAST

PING(SMURF)數據包flood等?!糁骺囟伺c代理端之間數據包的頭信息也是隨機的,除了ICMP總是使用

ICMP_ECHOREPLY類型數據包。

◆與其上一代版本TFN不同,TFN2K的守護程序是完全沉默的,它不會對接收

到的命令有任何回應??蛻舳酥貜桶l(fā)送每一個命令20次,并且認為守護程

序應該至少能接收到其中一個。

76◆這些命令數據包可能混雜了許多發(fā)送到隨機IP地址的偽造數據包。

◆TFN2K命令不是基于字符串的,而采用了"++"格式,其中是

代表某個特定命令的數值,那么是該命令的參數。

◆所有命令都經過了CAST-256算法〔RFC2612〕加密。加密關鍵字在程序編

譯時定義,并作為TFN2K客戶端程序的口令。

◆所有加密數據在發(fā)送前都被編碼〔Base64〕成可打印的ASCII字符。TFN2K

守護程序接收數據包并解密數據。

77◆守護進程為每一個攻擊產生子進程。

◆TFN2K守護進程試圖通過修改argv[0]內容〔或在某些平臺中修改進程名〕

以掩飾自己。偽造的進程名在編譯時指定,因此每次安裝時都有可能不同。

這個功能使TFN2K偽裝成代理端主機的普通正常進程。因此,只是簡單地檢

查進程列表未必能找到TFN2K守護進程〔及其子進程〕。

◆來自每一個客戶端或守護進程的所有數據包都可能被偽造。

78TFN2K仍然有弱點。可能是疏忽的原因,加密后的Base64編碼在每一個TFN2K數據包的尾部留下了痕跡〔與協(xié)議和加密算法無關〕??赡苁浅绦蜃髡邽榱耸姑恳粋€數據包的長度變化而填充了1到16個零(0x00),經過Base64編碼后就成為多個連續(xù)的0x41('A')。添加到數據包尾部的0x41的數量是可變的,但至少會有一個。這些位于數據包尾部的0x41('A')就成了捕獲TFN2K命令數據包的特征了79fork

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

/dev/urandom

/dev/random

%d.%d.%d.%d

sh*

ksh*

command.exe**

cmd.exe**

tfn-daemon***

tfn-child***

80目前仍沒有能有效防御TFN2K拒絕效勞攻擊的方法。最有效的策略是防止網絡資源被用作客戶端或代理端。

◆只使用應用代理型防火墻。這能夠有效地阻止所有的TFN2K通訊。但只使用應

用代理效勞器通常是不切合實際的,因此只能盡可能使用最少的非代理效勞。

◆禁止不必要的ICMP、TCP和UDP通訊。特別是對于ICMP數據,可只允許ICMP類

型3〔destinationunreachable目標不可到達〕數據包通過。

◆如果不能禁止ICMP協(xié)議,那就禁止主動提供或所有的ICMP_ECHOREPLY包。

81◆禁止不在允許端口列表中的所有UDP和TCP包。

◆配置防火墻過濾所有可能的偽造數據包。

◆對系統(tǒng)進行補丁和平安配置,以防止攻擊者入侵并安裝TFN2K。

監(jiān)

◆掃描客戶端/守護程序的名字。

◆根據前面列出的特征字符串掃描所有可執(zhí)行文件。

◆掃描系統(tǒng)內存中的進程列表。

82◆檢查ICMP_ECHOREPLY數據包的尾部是否含有連續(xù)的0x41。另外,檢查數據側

面內容是否都是ASCII可打印字符〔2B,2F-39,0x41-0x5A,0x61-0x7A〕。

◆監(jiān)視含有相同數據內容的連續(xù)數據包〔有可能混合了TCP、UDP和ICMP包〕。

一旦在系統(tǒng)中發(fā)現了TFN2K,必須立即通知平安公司或專家以追蹤入侵進行。因為TFN2K的守護進程不會對接收到的命令作任何回復,TFN2K客戶端一般會繼續(xù)向代理端主機發(fā)送命令數據包。另外,入侵者發(fā)現攻擊失效時往往會試圖連接到代理端主機上以進行檢查。這些網絡通訊都可被追蹤。

83

IP欺騙的原理

⑴什么是IP電子欺騙攻擊?

所謂IP欺騙,無非就是偽造他人的源IP地址。其實質就是讓一臺機器來扮演另一臺機器,籍以到達蒙混過關的目的。⑵誰容易上當?

IP欺騙技術之所以獨一無二,就在于只能實現對某些特定的運行FreeTCP/IP協(xié)議的計算機進行攻擊。

一般來說,如下的效勞易受到IP欺騙攻擊:

■任何使用SunRPC調用的配置

■任何利用IP地址認證的網絡效勞

■MIT的XWindow系統(tǒng)

■R效勞84

IP欺騙的原理

假設B上的客戶運行rlogin與A上的rlogind通信:

1.B發(fā)送帶有SYN標志的數據段通知A需要建立TCP連接。并將TCP報頭中的sequencenumber設置成自己本次連接的初始值ISN。

2.A回傳給B一個帶有SYS+ACK標志的數據段,告之自己的ISN,并確認B發(fā)送來的第一個數據段,將acknowledgenumber設置成B的ISN+1。

3.B確認收到的A的數據段,將acknowledgenumber設置成A的ISN+1。

85B----SYN---->A

B<----SYN+ACK----A

B----ACK---->A

86IP欺騙攻擊的描述1.假設Z企圖攻擊A,而A信任B,所謂信任指/etc/hosts.equiv和$HOME/.rhosts中有相關設置。注意,如何才能知道A信任B呢?沒有什么確切的方法。我的建議就是平時注意搜集蛛絲馬跡,厚積薄發(fā)。一次成功的攻擊其實主要不是因為技術上的高明,而是因為信息搜集的廣泛翔實。動用了自以為很有成就感的技術,卻不比人家酒桌上的巧妙提問,攻擊只以成功為終極目標,不在乎手段。

2.假設Z已經知道了被信任的B,應該想方法使B的網絡功能暫時癱瘓,以免對攻擊造成干擾。著名的SYNflood常常是一次IP欺騙攻擊的前奏。請看一個并發(fā)效勞器的框架:

87IP欺騙攻擊的描述intinitsockid,newsockid;

if((initsockid=socket(...))<0){

error("can'tcreatesocket");

}

if(bind(initsockid,...)<0){

error("binderror");

}

if(listen(initsockid,5)<0){

error("listenerror");

}

88IP欺騙攻擊的描述for(;;){

newsockid=accept(initsockid,...);/*阻塞*/

if(newsockid<0){

error("accepterror");

}

if(fork()==0){/*子進程*/

close(initsockid);

do(newsockid);/*處理客戶方請求*/

exit(0);

}

close(newsockid);

}

89IP欺騙攻擊的描述3.Z必須確定A當前的ISN。首先連向25端口(SMTP是沒有平安校驗機制的),與1中類似,不過這次需要記錄A的ISN,以及Z到A的大致的RTT(roundtriptime)。這個步驟要重復屢次以便求出RTT的平均值?,F在Z知道了A的ISN基值和增加規(guī)律(比方每秒增加128000,每次連接增加64000),也知道了從Z到A需要RTT/2的時間。必須立即進入攻擊,否那么在這之間有其他主機與A連接,ISN將比預料的多出64000。

90IP欺騙攻擊的描述4.Z向A發(fā)送帶有SYN標志的數據段請求連接,只是信源IP改成了B,注意是針對TCP513端口(rlogin)。A向B回送SYN+ACK數據段,B已經無法響應(憑什么?按照作者在2中所說,估計還達不到這個效果,因為Z必然要模仿B發(fā)起connect調用,connect調用會完成全相關,自動指定本地socket地址和端口,可事實上B很可能并沒有這樣一個端口等待接收數據。91IP欺騙攻擊的描述除非Z模仿B發(fā)起連接請求時打破常規(guī),主動在客戶端調用bind函數,明確完成全相關,這樣必然知道A會向B的某個端口回送,在2中也針對這個端口攻擊B。可是如果這樣,完全不用攻擊B,bind的時候指定一個B上根本不存在的端口即可。我也是想了又想,還沒來得及看看老外的源代碼,不妥之處有待商榷??傊?,覺得作者好象在蒙我們,他自己也沒有實踐成功過吧。),B的TCP層只是簡單地丟棄A的回送數據段。

92IP欺騙攻擊的描述5.Z暫停一小會兒,讓A有足夠時間發(fā)送SYN+ACK,因為Z看不到這個包。然后Z再次偽裝成B向A發(fā)送ACK,此時發(fā)送的數據段帶有Z預測的A的ISN+1。如果預測準確,連接建立,數據傳送開始。問題在于即使連接建立,A仍然會向B發(fā)送數據,而不是Z,Z仍然無法看到A發(fā)往B的數據段,Z必須蒙著頭按照rlogin協(xié)議標準假冒B向A發(fā)送類似"cat++>>~/.rhosts"這樣的命令,于是攻擊完成。如果預測不準確,A將發(fā)送一個帶有RST標志的數據段異常終止連接,Z只有從頭再來。

93IP欺騙攻擊的描述Z(B)----SYN---->A

B<----SYN+ACK----A

Z(B)----ACK---->A

Z(B)----PSH---->A

......

6.IP欺騙攻擊利用了RPC效勞器僅僅依賴于信源IP地址進行平安校驗的特性,建議閱讀rlogind的源代碼。攻擊最困難的地方在于預測A的ISN。作者認為攻擊難度雖然大,但成功的可能性也很大,不是很理解,似乎有點矛盾。94IP欺騙攻擊的描述考慮這種情況,入侵者控制了一臺由A到B之間的路由器,假設Z就是這臺路由器,那么A回送到B的數據段,現在Z是可以看到的,顯然攻擊難度驟然下降了許多。否那么Z必須精確地預見可能從A發(fā)往B的信息,以及A期待來自B的什么應答信息,這要求攻擊者對協(xié)議本身相當熟悉。同時需要明白,這種攻擊根本不可能在交互狀態(tài)下完成,必須寫程序完成。當然在準備階段可以用netxray之類的工具進行協(xié)議分析。

95IP欺騙攻擊的描述7.如果Z不是路由器,能否考慮組合使用ICMP重定向以及ARP欺騙等技術?沒有仔細分析過,只是隨便猜測而已。并且與A、B、

Z之間具體的網絡拓撲有密切關系,在某些情況下顯然大幅度降低了攻擊難度。注意IP欺騙攻擊理論上是從廣域網上發(fā)起的,不局限于局域網,這也正是這種攻擊的魅力所在。利用IP欺騙攻擊得到一個A上的shell,對于許多高級入侵者,得到目標主機的shell,離root權限就不遠了,最容易想到的當然是接下來進行bufferoverflow攻擊。

96IP欺騙攻擊的描述8.也許有人要問,為什么Z不能直接把自己的IP設置成B的?這個問題很不好答復,要具體分析網絡拓撲,當然也存在ARP沖突、出不了網關等問題。那么在IP欺騙攻擊過程中是否存在ARP沖突問題?;叵胛仪懊尜N過的ARP欺騙攻擊,如果B的ARPCache沒有受到影響,就不會出現ARP沖突。如果Z向A發(fā)送數據段時,企圖解析A的MAC地址或者路由器的MAC地址,必然會發(fā)送ARP請求包,但這個ARP請求包中源IP以及源MAC都是Z的,自然不會引起ARP沖突。而ARPCache只會被ARP包改變,不受IP包的影響,所以可以肯定地說,IP欺騙攻擊過程中不存在ARP沖突。相反,如果Z修改了自己的IP,這種ARP沖突就有可能出現,示具體情況而言。攻擊中連帶B一起攻擊了,其目的無非是防止B干擾了攻擊過程,如果B本身已經down掉,那是再好不過

97IP欺騙攻擊的描述9.fakeip曾經沸沸揚揚了一下,對之進行端口掃描,發(fā)現其tcp端口113是接收入連接的。和IP欺騙等沒有直接聯(lián)系,和平安校驗是有關系的。

98IP欺騙攻擊的描述10.關于預測ISN,我想到另一個問題。就是如何以第三方身份切斷A與B之間的TCP連接,實際上也是預測sequencenumber的問題。嘗試過,也很困難。如果Z是A與B之間的路由器,就不用說了;或者Z動用了別的技術可以監(jiān)聽到A與B之間的通信,也容易些;否那么預測太難。作者在3中提到連接A的25端口,可我想不明白的是513端口的ISN和25端口有什么關系?看來需要看看TCP/IP內部實現的源代碼。99電子欺騙攻擊很少見,但必竟也發(fā)生過。詳細情況可閱讀以下所述的資料:

/scc/sec.9532.txt

:///~coder/spoofit/spoofithtm

://lighting.ch/products/software/ipx/details.html

://craycom.co.uk/prodinfo/inetwork/fsin301x.htm100未雨綢繆

雖然IP欺騙攻擊有著相當難度,但我們應該清醒地意識到,這種攻擊非常廣泛,入侵往往由這里開始。預防這種攻擊還是比較容易的,比方刪除所有的/etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/inetd.conf文件,使得RPC機制無法運做,還可以殺掉portmapper等等。設置路由器,過濾來自外部而信源地址卻是內部IP的報文。cisio公司的產品就有這種功能。不過路由器只防得了外部入侵,內部入侵呢?

TCP的ISN選擇不是隨機的,增加也不是隨機的,這使攻擊者有規(guī)可循,可以修改與ISN相關的代碼,選擇好的算法,使得攻擊者難以找到規(guī)律。101未雨綢繆估計Linux下容易做到,那solaris、irix、hp-unix還有aix呢?sigh

雖然作者紙上談兵,但總算讓我們了解了一下IP欺騙攻擊,我實驗過預測sequencenumber,不是ISN,企圖切斷一個TCP連接,感覺難度很大。建議要找到規(guī)律,不要盲目預測,這需要時間和耐心。一個現成的bug足以讓你取得root權限.102其他形式的電子欺騙

電子欺騙還有其他一些形式,諸如DNS欺騙。當DNS效勞器被入侵者接手后就有可能出現DNS欺騙。這種情況發(fā)生的可能性很小,然而萬一發(fā)生將會導致不堪設想的泄密后果。此類攻擊雖然罕見,人們也不能因此高枕無憂。

:///ciac/bulletins/g-14.shtml

在多數情況下,實施DNS欺騙時,入侵者要取得DNS效勞器的信任并明目張膽地改變主機的IP地址表,這些變化被寫入到DNS效勞器的轉換表數據庫中,因此,當客戶發(fā)出一個查詢請求時,他會等到假的IP地址,這一地址會處于入侵者的完全控制之下。

:///sip/pub/oakland-paper-96.pdf

/pub/tools/unix103進程的內存組織形式為了理解什么是堆棧緩沖區(qū),我們必須首先理解一個進程是以什么組織形式在內存中存在的.進程被分成三個區(qū)域:文本,數據和堆棧.我們把精力集中在堆棧區(qū)域,但首先按照順序簡單介紹一下其他區(qū)域.文本區(qū)域是由程序確定的,包括代碼(指令)和只讀數據.該區(qū)域相當于可執(zhí)行文件的文本段.這個區(qū)域通常被標記為只讀,任何對其寫入的操作都會導致段錯誤(segmentationviolation).數據區(qū)域包含了已初始化和未初始化的數據.靜態(tài)變量儲存在這個區(qū)域中.數據區(qū)域對應可執(zhí)行文件中的data-bss段.它的大小可以用系統(tǒng)調用brk(2)來改變.如果bss數據的擴展或用戶堆棧把可用內存消耗光了,進程就會被阻塞住,等待有了一塊更大的內存空間之后再運行.新內存參加到數據和堆棧段的中間.104什么是堆棧堆棧是一個在計算機科學中經常使用的抽象數據類型.堆棧中的物體具有一個特性:最后一個放入堆棧中的物體總是被最先拿出來,這個特性通常稱為后進先處(LIFO)隊列.堆棧中定義了一些操作.兩個最重要的是PUSH和POP.PUSH操作在堆棧的頂部參加一個元素.POP操作相反,在堆棧頂部移去一個元素,并將堆棧的大小減一.105為什么使用堆?,F代計算機被設計成能夠理解人們頭腦中的高級語言.在使用高級語言構造程序時最重要的技術是過程(procedure)和函數(function).從這一點來看,一個過程調用可以象跳轉(jump)命令那樣改變程序的控制流程,但是與跳轉不同的是,當工作完成時,函數把控制權返回給調用之后的語句或指令.這種高級抽象實現起來要靠堆棧的幫助.堆棧也用于給函數中使用的局部變量動態(tài)分配空間,同樣給函數傳遞參數和函數返回值也要用到堆棧.106堆棧區(qū)域

堆棧是一塊保存數據的連續(xù)內存.一個名為堆棧指針(SP)的存放器指向堆棧的頂部.堆棧的底部在一個固定的地址.堆棧的大小在運行時由內核動態(tài)地調整.CPU實現指令PUSH和POP,向堆棧中添加元素和從中移去元素.堆棧由邏輯堆棧幀組成.當調用函數時邏輯堆棧幀被壓入棧中,當函數返回時邏輯堆棧幀被從棧中彈出.堆棧幀包括函數的參數,函數地局部變量,以及恢復前一個堆棧幀所需要的數據,其中包括在函數調用時指令指針(IP)的值.堆棧既可以向下增長(向內存低地址)也可以向上增長,這依賴于具體的實現.107堆棧區(qū)域在我們的例子中,堆棧是向下增長的.這是很多計算機的實現方式,包括Intel,Motorola,SPARC和MIPS處理器.堆棧指針(SP)也是依賴于具體實現的.它可以指向堆棧的最后地址,或者指向堆棧之后的下一個空閑可用地址.在我們的討論當中,SP指向堆棧的最后地址.除了堆棧指針(SP指向堆棧頂部的的低地址)之外,為了使用方便還有指向幀內固定地址的指針叫做幀指針(FP).108堆棧區(qū)域有些文章把它叫做局部基指針(LB-localbasepointer).從理論上來說,局部變量可以用SP加偏移量來引用.然而,當有字被壓棧和出棧后,這些偏移量就變了.盡管在某些情況下編譯器能夠跟蹤棧中的字操作,由此可以修正偏移量,但是在某些情況下不能.而且在所有情況下,要引入可觀的管理開銷.而且在有些機器上,比方Intel處理器,由SP加偏移量訪問一個變量需要多條指令才能實現.109堆棧區(qū)域因此,許多編譯器使用第二個存放器,FP,對于局部變量和函數參數都可以引用,因為它們到FP的距離不會受到PUSH和POP操作的影響.在IntelCPU中,BP(EBP)用于這個目的.在MotorolaCPU中,除了A7(堆棧指針SP)之外的任何地址存放器都可以做FP.考慮到我們堆棧的增長方向,從FP的位置開始計算,函數參數的偏移量是正值,而局部變量的偏移量是負值.當一個例程被調用時所必須做的第一件事是保存前一個FP(這樣當例程退出時就可以恢復).110系統(tǒng)應用技巧111注冊表常見問題

1注冊表破壞后的現象在通常情況下,注冊表被破壞后,系統(tǒng)會有如下現象發(fā)生:●系統(tǒng)無法啟動。例如,在啟動Windows95/98時,將出現如對話框。112注冊表常見問題113注冊表常見問題114注冊表常見問題無法運行合法的應用程序。應用程序無法正常運行。找不到相應的文件。例如,在啟動Windows95/98時,可能會出現如下提示信息:115注冊表常見問題CannotfindadevicefilethatmaybeneededtorunWindowsorawindowsapplication.TheWindowsRegistryorSystem.inifilereferstothisdevicefile,butthedevicefilenolongerexistsIfyoudeletedthisfileonpurpose,tryuninsallingtheassociatedapplicationusingitsuninstallOrSetupprogram.Ifyoustillwanttousetheapplicationassociaredwiththisdevicefile,Tryreinstallingtheapplicationtoreplacethemissingfile.Ndskwan.vxdPressakeytocontinue.116注冊表常見問題沒有訪問應用程序的權限。驅動程序不能正確被安裝。無法調入驅動程序。不能進行網絡連接。注冊表條目有誤。117破壞注冊表的途徑破壞注冊表的途徑

破壞注冊表的主要途徑可以歸結為如下三大類:

1.向系統(tǒng)中添加應用程序和驅動程序

由于用戶經常地在Windows95/98上添加或者刪除各種應用程序和驅動程序,因此,基于以下幾種情況,注冊表有被破壞的可能性:(1)應用程序的錯誤

在實際使用過程中,很少有完全沒有錯誤的應用程序。最好的情況就是用戶在使用軟件過程中沒有遇到到錯誤,而且那些看似微小的錯誤,可能會導致非常嚴重的后果。同時,當今的軟件的數目是如此的繁多,誰也不能確定當多個軟件安裝在一個系統(tǒng)里以后,是否能正常運行,彼此間是否毫無沖突。那些做Beta測試的軟件,就是因為系統(tǒng)還沒有定型,還有相當多的錯誤,希望被測試用戶在使用的過程中發(fā)現。118破壞注冊表的途徑(2)驅動程序的不兼容性

雖然驅動程序一般都經過了比較周密的測試,但是由于PC的體系結構是一個開放性的體系結構,誰也不能確認每個驅動程序會和哪些其他程序協(xié)同工作。因此,誰也不可能測試所有的可能性,這樣就有不兼容的可能性存在。(3)使用了錯誤的驅動程序

某些驅動程序是16位,在安裝到32位的Windows95/98操作系統(tǒng)后,可能出現不兼容的情況。(4)應用程序在注冊表中添加了錯誤的內容

某些應用程序在修改注冊表時,增加了不該增加的內容,或者將原來正確的注冊表內容修改為不正確的內容。119破壞注冊表的途徑(5)應用程序添加了錯誤的數據文件和應用程序之間的關聯(lián)。2.硬件被更換或者被損壞

如果計算機系統(tǒng)本身出現了問題,常常會導致注冊表的毀壞。下面列出了幾種原因會導致計算機系統(tǒng)出現問題:

(1)病毒

現在一些病毒〔如CIH病毒等〕可以更改系統(tǒng)的BIOS程序,使BIOS程序受到破壞。還有一些病毒可能會隱藏在Cache中,使系統(tǒng)運行不正常。某些CMOS病毒能夠去除CMOS存儲器所保存的硬件數據。

120破壞注冊表的途徑(2)斷電在非正常斷電情況下,可能會燒毀主板或者其他硬件設備。(3)CPU燒毀

在CPU超頻情況下,可能會燒毀CPU。另外,在夏天工作時,由于溫度過高,對于發(fā)熱量較大的CPU〔如AMD、Cyrix、IBM、WinChip等〕極易燒毀。(4)硬盤錯誤

由于硬盤質量不穩(wěn)定,導致系統(tǒng)受到破壞。121破壞注冊表的途徑

3.用戶手工修改注冊表

由于注冊表中的數據是非常復雜的〔在第5章中,我們花費了大量的篇幅詳解了注冊表〕,所以,用戶在手工修改注冊表的時候,經常導致注冊表中的內容的毀壞。

有時,用戶會將另一臺計算機上的注冊表覆蓋到本地計算機上的注冊表文件,但是由于一個注冊表在一臺計算機上使用正常,并不等于它會在其他計算機上也使用正常,這樣做極易破壞整個系統(tǒng)。122分析問題及恢復出現注冊表故障的可能原因有三個:WIN95目錄中的SYSTEM.DAT文件不存在、崩潰或MSDOS.SYS文件中的[Paths]部分丟失了。----如果是第一、二種原因,可用下面的方法進行恢復:----1.進入WIN95目錄,看看SYSTEM.DAT及USER.DAT文件是否存在:attrib/system.datattribuser.dat----2.如果SYSTEM.DAT、USER.DAT兩文件存在,那么做第3、4步;否那么跳到第5步。123分析問題及恢復----3.在MS-DOS狀態(tài)下去除SYSTEM.DAT及USER.DAT文件的只讀、系統(tǒng)、隱藏屬性:attribsystem.dat-r-h-sattribuser.dat-r-h-s----4.將SYSTEM.DAT、USER.DAT兩文件改名為SYSTEM.BAD、USER.BAD:renamesystem.datsystem.badrenameuser.datuser.bad----5.重新啟動機器,系統(tǒng)會自動修:在引導時,如果Windows95找不著注冊表文件,它用備份的SYSTEM.DA0和USER.DA0做為注冊表文件;假如這倆文件運行正常的話,系統(tǒng)就把它們分別改為SYSTEM.DAT和USER.DAT。124分析問題及恢復----如果是第三種原因,那么應做下面的工作:----在MSDOS.SYS文件中加上[Paths]部分,或對[Paths]部分進行修改。有關MSDOS.SYS的內容,----這部分內容包括三項:----HostWinBootDrv=<引導盤的根目錄>----缺省值為C,其作用是指明引導盤的根目錄。----WinBootDir=<啟動所需要文件的位置>125分析問題及恢復----缺省值為安裝時指定的目錄(如C:\WINDOWS),其作用是列出啟動所需要文件的位置。----WinDir=<WIN95目錄的位置>----缺省值為安裝時指定的目錄(如C:\WINDOWS),其作用是列出安裝過程中指定的WIN95目錄的位置。----如果是故障的第三種原因,那么可以參考上面的內容用任一種編輯器對引導盤根目錄(通常為C:\)下的隱含文件MSDOS.SYS進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論