![信息安全與密碼課堂作業(yè)匯總_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b1.gif)
![信息安全與密碼課堂作業(yè)匯總_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b2.gif)
![信息安全與密碼課堂作業(yè)匯總_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b3.gif)
![信息安全與密碼課堂作業(yè)匯總_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b4.gif)
![信息安全與密碼課堂作業(yè)匯總_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/9/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b/5b6a936b-e9a0-469a-a098-ab6c4ffaa95b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課堂作業(yè)1、 圖示防火墻應(yīng)用的典型環(huán)境,并作簡(jiǎn)要文字說明。防火墻典型的應(yīng)用環(huán)境,每個(gè)防火墻至少應(yīng)該具有的三個(gè)接口,一個(gè)對(duì)內(nèi)部網(wǎng)路的接口,連接內(nèi)部網(wǎng)路,只有通過了防火墻檢測(cè)過的數(shù)據(jù)包才能到達(dá)該網(wǎng)路,一個(gè)對(duì)外的接口,用于連接外部網(wǎng)路,很多情況下,連接一臺(tái)對(duì)外的路由器,以加強(qiáng)內(nèi)部網(wǎng)路的安全性,當(dāng)外部路由器受到攻擊時(shí),一個(gè)DMZ區(qū)域接口,該區(qū)域主要用于放置一些對(duì)外宣傳等的服務(wù)器。2、 什么是NAT技術(shù),有何特點(diǎn)?方法描述優(yōu)越性不利因素NAT技術(shù)把內(nèi)部網(wǎng)絡(luò)的 IP 子網(wǎng)放置在一個(gè)或一組外部 IP 地址之后,把所有的請(qǐng)求都偽裝成來自一個(gè)地址而不是多個(gè)不同地址。l 可在 LAN 機(jī)器上被透明配置l 保護(hù)在一
2、個(gè)或多個(gè)外部IP地址之后的許多機(jī)器,簡(jiǎn)化管理任務(wù)l 用戶到LAN的出入可以通過打開和關(guān)閉 NAT防火墻/網(wǎng)關(guān)上的端口來限制一旦用戶從防火墻外連接了服務(wù),則無法防止其蓄意活動(dòng)分組過濾防火墻讀取每個(gè)進(jìn)出 LAN 的數(shù)據(jù)分組,可以根據(jù)頭信息來讀取和處理分組,并根據(jù)被防火墻管理員實(shí)施的可編排的規(guī)則來過濾分組。Linux 內(nèi)核通過 Netfilter 內(nèi)核子系統(tǒng)內(nèi)建了分組過濾功能;路由器內(nèi)置的防火墻通過訪問控制列表定義控制規(guī)則來過濾分組。l Linux可以通過 iptables 這個(gè)前端工具定制,路由器通過ACL來定制。l 不需要任何客戶方面的定制,因?yàn)樗械木W(wǎng)絡(luò)活動(dòng)都在網(wǎng)路層級(jí)別而不是應(yīng)用程序級(jí)別被過
3、濾l 由于分組沒有通過代理來傳輸,客戶和遠(yuǎn)程主機(jī)間是直接連接,因此網(wǎng)絡(luò)傳輸速度比較快。l 無法像代理防火墻一樣根據(jù)內(nèi)容過濾分組l 在協(xié)議層處理分組,但是無法在應(yīng)用程序?qū)犹幚矸纸Ml 復(fù)雜的網(wǎng)絡(luò)體系可能會(huì)使建立分組過濾規(guī)則方面比較困難,特別是在和 IP 偽裝或本地子網(wǎng)及 DMZ 網(wǎng)絡(luò)一起使用時(shí)。代理防火墻過濾所有從 LAN 客戶到代理機(jī)器的某種特定協(xié)議或類型的請(qǐng)求,然后,它再代表這個(gè)本地客戶向互聯(lián)網(wǎng)發(fā)送這些請(qǐng)求。代理機(jī)器被用來充當(dāng)企圖不良的遠(yuǎn)程用戶和內(nèi)部網(wǎng)絡(luò)客戶機(jī)器之間的一個(gè)緩沖。l 使管理員擁有對(duì) LAN 之外的應(yīng)用程序和協(xié)議功能的控制權(quán)l(xiāng) 某些代理服務(wù)器可以緩存數(shù)據(jù),因此當(dāng)客戶存取頻繁請(qǐng)求的數(shù)
4、據(jù)時(shí),這些數(shù)據(jù)就可以從本地緩存調(diào)出而不必使用互聯(lián)網(wǎng)連接,這有助于減少不必要的帶寬用量l 代理服務(wù)可以被密切地監(jiān)視和記錄,從而允許你在網(wǎng)絡(luò)資源用量方面有更嚴(yán)格的控制l 代理通常是應(yīng)用程序特有的(HTTP、Telnet 等)或在協(xié)議方面有限制的(多數(shù)代理只能用于TCP連接的服務(wù))l 應(yīng)用程序服務(wù)無法在代理后面運(yùn)行,因此應(yīng)用程序服務(wù)器必須使用另一種網(wǎng)絡(luò)安全措施l 代理可能會(huì)成為網(wǎng)絡(luò)的瓶頸,因?yàn)樗械恼?qǐng)求和傳輸都要經(jīng)過一個(gè)中介而不是讓客戶直接連接遠(yuǎn)程服務(wù)。NAT(network address translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)將私用的本地地址區(qū)域映射到公用地址區(qū)域,使位于不同網(wǎng)絡(luò)中的服務(wù)器、主機(jī)
5、和控制臺(tái)能夠通過公用的內(nèi)部網(wǎng)絡(luò)相互通信。這種映射可以是靜態(tài)的,也可以是動(dòng)態(tài)的。準(zhǔn)確的講,NAT技術(shù)包括NAT和PAT(port address translation, PAT)兩種,NAT指的是一個(gè)內(nèi)部網(wǎng)路地址被翻譯為另外一個(gè)網(wǎng)路地址,僅僅是一對(duì)一的翻譯,這種情況主要用于將一個(gè)內(nèi)部的機(jī)器映射為一個(gè)外部的機(jī)器,不是內(nèi)部地址不夠用而進(jìn)行的地址翻譯,而是為了隱藏內(nèi)部機(jī)器的地址,更好的防范外部網(wǎng)路的攻擊。由于目前IP地址的極端匱乏,所以,對(duì)大多數(shù)網(wǎng)路來說,沒有足夠的IP地址,這種簡(jiǎn)單的一對(duì)一的地址映射是不夠的,還需要進(jìn)行一對(duì)多的映射,這種映射就是PAT。3、 泄密的種類有哪些?泄密的防范主要從哪些方
6、面著手?放介質(zhì)泄密技術(shù)有哪些?泄密問題對(duì)于國(guó)防安全來講是十分嚴(yán)重的。通常所說的泄密包括以下類別:1、辦公自動(dòng)化泄密n計(jì)算機(jī)電磁輻射引起的泄密n傳真機(jī)、打印機(jī)等辦公設(shè)備引起的電磁輻射泄密n用來存儲(chǔ)信息的磁介質(zhì)引起的泄密n網(wǎng)絡(luò)泄密n設(shè)備和介質(zhì)在維修過程中引起的泄密2、涉外活動(dòng)泄密n不恰當(dāng)?shù)慕哟惩馊藛T參觀訪問n保密意識(shí)薄弱造成的泄密n不遵守保密規(guī)定造成的泄密n故意出賣國(guó)家機(jī)密造成的泄密3、通信泄密n使用移動(dòng)電話、無繩電話(子母機(jī))、對(duì)講機(jī)等進(jìn)行無線通信過程中引起的泄密n使用有線通信過程中被竊聽等引起的泄密4、文書在起草、印制、傳閱、保管和銷毀過程中泄密5、其它類別的泄密泄密的防范泄密的防范主要從行
7、政管理、法律監(jiān)督和技術(shù)保障三個(gè)方面著手。1、行政管理方面n機(jī)房的選址要安全可靠、還要考慮防震、防電磁輻射、防火災(zāi)、防盜竊等設(shè)計(jì)。n嚴(yán)格執(zhí)行機(jī)房或重要部門的出入管理n規(guī)定分級(jí)使用權(quán)限n建立文件、磁介質(zhì)等的復(fù)制、打印、借閱、存放、銷毀等規(guī)定n明確工作人員的職責(zé),加強(qiáng)保密培訓(xùn)和教育等2、法律監(jiān)督方面目前我國(guó)已有保密法、計(jì)算機(jī)信息系統(tǒng)安全保護(hù)條例和計(jì)算機(jī)信息網(wǎng)絡(luò)國(guó)際聯(lián)網(wǎng)管理暫行規(guī)定,依照法律法規(guī),做好計(jì)算機(jī)的保密防范工作。3、技術(shù)保障方面n采用低電磁輻射的設(shè)備和電磁屏蔽n使用身份認(rèn)證、入侵檢測(cè)、防火墻、數(shù)據(jù)加密、數(shù)字簽名等技術(shù)進(jìn)行訪問控制和身份識(shí)別等n使用防拷貝技術(shù)、加密技術(shù)、消磁技術(shù)、徹底刪除文件等
8、方法預(yù)防介質(zhì)泄密3.1.3 防介質(zhì)泄密技術(shù)1、防拷貝技術(shù)由于版權(quán)保護(hù)等方面的需求,防拷貝技術(shù)已經(jīng)有了些產(chǎn)品在使用。如DVD影片的數(shù)碼加密主要是由“CSS(Content Scrambling System,數(shù)據(jù)干擾系統(tǒng))”加密的。所謂的CSS,就是所有存入DVD影片內(nèi)容的數(shù)據(jù)都要經(jīng)過編碼程序,而要播放這些影片數(shù)據(jù)必須先經(jīng)過解碼才能播放。所以在DVD影片里看的影像必須經(jīng)過“解碼授權(quán)”,也就是用合法的解碼程序才能播放。當(dāng)然“道高一尺,魔高一丈”,無論什么防拷貝方法都是有辦法破解的。挪威少年Jon Lech Johansen,就破解了DVD防拷密碼。2、加密技術(shù)加密技術(shù)的使用是防止介質(zhì)泄密的重要手段
9、之一。由于文件被加密,即使出現(xiàn)泄密狀況,要破解經(jīng)過現(xiàn)代加密技術(shù)加密的文件也非易事。如果破解的成本超出文件本身的價(jià)值或者破解時(shí)間超出文件的有效期,就可以使破解者放棄破解的努力。數(shù)據(jù)加密算法有很多種,按照發(fā)展進(jìn)程來分,經(jīng)歷了古典密碼、對(duì)稱密鑰密碼和公開密鑰密碼階段,古典密碼算法有替代加密、置換加密;對(duì)稱加密算法包括DES和AES;非對(duì)稱加密算法包括RSA 、背包密碼、McEliece密碼、Rabin、橢圓曲線、EIGamal D_H等。目前在數(shù)據(jù)通信中使用最普遍的算法有DES算法、RSA算法和PGP算法等。古典密碼大都較簡(jiǎn)單,一般可用手工破解。對(duì)稱加密算法密碼體制中,加密算法是公開的,但加密密鑰和
10、解密密鑰相同,必須保密。在公開密鑰密碼體制中,公開密鑰是可以公開的信息,而私有密鑰是需要保密的。加密算法E和解密算法D也都是公開的。用公開密鑰對(duì)明文加密后,僅能用與之對(duì)應(yīng)的私有密鑰解密,才能恢復(fù)出明文,反之亦然。另外,辦公自動(dòng)化軟件如MS Word,Acrobat,WPS等都具有加密功能,在安全強(qiáng)度要求不高的情況下也可以使用。3、消磁技術(shù)計(jì)算機(jī)磁盤屬于磁介質(zhì),所有磁介質(zhì)都存在剩磁效應(yīng)的問題,保存在磁介質(zhì)中的信息會(huì)使磁介質(zhì)不同程度地永久性磁化,所以磁介質(zhì)上記載的信息在一定程度上是抹除不凈的,使用高靈敏度的磁頭和放大器可以將已抹除信息的磁盤上的原有信息提取出來。據(jù)一些資料的介紹,即使磁盤已改寫了1
11、2次,但第一次寫入的信息仍有可能復(fù)原出來。曾經(jīng)記載過秘密信息的磁盤在釋放作他用之前必須將原記載的信息徹底清除,具體的清除辦法和技術(shù)有很多種,但實(shí)質(zhì)上可分為直流消磁法和交流消磁法兩種。直流消磁法是使用直流磁頭將磁盤上原先記錄信息的剩余磁通,全部以一種形式的恒定值所代替。通常,我們操作計(jì)算機(jī)用完全格式化方式格式化磁盤就是這種方法。交流消磁法是使用交流磁頭將磁盤上原先所記錄信息的剩余磁通變得極小,這種方法的消磁效果比直流消磁法要好得多,消磁后磁盤上的殘留信息強(qiáng)度可比消磁前下降分貝。比如國(guó)產(chǎn)的CXB-1型軟磁盤信息消除器是一種采用磁抹技術(shù),迅速而徹底地消除軟磁盤信息的先進(jìn)的信息保密安全設(shè)備。它無需電源
12、的支持也不需維護(hù),使用簡(jiǎn)便。軟磁盤經(jīng)過信息消除后,可重復(fù)正常使用,對(duì)軟磁盤無任何損傷??梢酝晟频慕鉀Q計(jì)算機(jī)上對(duì)軟磁盤文件刪除和格式化后,信息仍然保留的問題。廢舊軟磁盤經(jīng)過消除后,給徹底免除任何信息泄露的可能。對(duì)于一些經(jīng)消磁后仍達(dá)不到保密要求的磁盤,或已損壞需廢棄的涉密磁盤以及曾記載過絕密信息的磁盤,必須作銷毀處理。磁盤銷毀的方法是將磁盤碾碎然后丟進(jìn)焚化爐熔為灰燼和鋁液。4、徹底刪除文件硬盤上文件的“刪除”實(shí)際上只是在文件系統(tǒng)中把文件名稱的第一個(gè)字母改成一個(gè)特殊字符,然后把該文件占用的簇標(biāo)記為空閑狀態(tài),但文件包含的數(shù)據(jù)仍在磁盤上,下次將新的文件保存到磁盤時(shí),這些簇可能被新的文件使用,從而覆蓋原來
13、的數(shù)據(jù)。因此,只要不保存新的文件,被刪除文件的數(shù)據(jù)實(shí)際上仍舊完整無缺地保存在磁盤上。用恢復(fù)軟件的查找分析功能找出文件頭,重寫前2個(gè)代碼,并修改文件分配表中的映射記錄,就能夠恢復(fù)文件。僅僅是刪除的文件,恢復(fù)起來比較容易,如果整個(gè)磁盤被格式化了,恢復(fù)的困難就更大些,但是只要恢復(fù)軟件能搜尋,并分析到它的殘存的文件頭,就有可能利用文件頭中的信息,連接文件原來占用的簇,以恢復(fù)被刪除的文件。然而,如果一個(gè)文件的某些簇被其他數(shù)據(jù)覆蓋,即使恢復(fù)軟件強(qiáng)行把原來占用各簇的數(shù)據(jù)連接起來恢復(fù)文件,但是因?yàn)槠渲械哪承┐匾巡皇窃撐募陨淼臄?shù)據(jù),所以這個(gè)恢復(fù)后的文件有可能無法使用。4、 簡(jiǎn)述緩沖區(qū)溢出原理,緩沖區(qū)溢出的攻擊
14、方式。想象一下,一個(gè)杯子可以裝一升的水,硬要向它倒兩升的水,水就會(huì)流出來,這就是溢出。對(duì)于計(jì)算機(jī)來說,杯子就是存儲(chǔ)空間,水就是數(shù)據(jù),如果向一個(gè)容量有限的空間里存儲(chǔ)過量的數(shù)據(jù),這時(shí)數(shù)據(jù)就會(huì)溢出存儲(chǔ)空間。程序運(yùn)行時(shí)會(huì)向計(jì)算機(jī)申請(qǐng)內(nèi)存中一段空間來存放動(dòng)態(tài)數(shù)據(jù),這個(gè)臨時(shí)存放的空間就被稱為緩沖區(qū),它的長(zhǎng)度事先已經(jīng)被程序或者操作系統(tǒng)定義好了(如在數(shù)組聲明時(shí)),如果存入的數(shù)據(jù)超過了預(yù)先定義的長(zhǎng)度,這些數(shù)據(jù)就會(huì)溢出到緊接著的內(nèi)存空間,會(huì)覆蓋原來存在這個(gè)空間中的數(shù)據(jù)。被故意覆蓋掉的數(shù)據(jù)通常是指引程序下一步操作的返回地址(該地址上放的是本條指令操作結(jié)束后要執(zhí)行的下一步指令),也可能是某個(gè)指針(實(shí)際上同樣是指示某個(gè)
15、地址)。如果計(jì)算機(jī)不能理解修改后數(shù)據(jù)(覆蓋原來合法數(shù)據(jù)的溢出數(shù)據(jù)),則將引起程序的運(yùn)行失敗,嚴(yán)重的甚至導(dǎo)致系統(tǒng)崩潰;如果這些溢出數(shù)據(jù)是精心設(shè)計(jì)的,則攻擊者就可以利用它們是程序跳轉(zhuǎn)到預(yù)先設(shè)計(jì)的攻擊代碼(通常叫做shellcode)。要實(shí)現(xiàn)溢出攻擊的三要點(diǎn)是n 確定溢出點(diǎn):找到溢出對(duì)程序執(zhí)行開始產(chǎn)生影響的地方;n 構(gòu)造攻擊代碼:shellcode可能自己的編寫,也可能是利用了已有代碼,無論哪種情況,在溢出時(shí)shellcode都應(yīng)該存在于被攻擊的計(jì)算機(jī)之中;n 跳轉(zhuǎn)到攻擊代碼緩沖區(qū)溢出產(chǎn)生的根源在于疏忽的編程,c和c+語言編寫的程序風(fēng)格自由而容易出錯(cuò),出于靈活性考慮并沒有提供自動(dòng)的數(shù)組邊界檢查,還提
16、供了很多非安全的字符串操作(strpy()、sprintf()、get()等),需要程序員自己進(jìn)行溢出與否的判斷,但這個(gè)操作通常被大多數(shù)人所忽略。具有緩沖區(qū)溢出漏洞的程序幾乎都是用C和C+語言編寫的,也有人直接建議采用更安全的語言,如java,但是操作系統(tǒng)和大量已有的程序都是使用C/C+語言的,而且作為Java程序執(zhí)行平臺(tái)的Java虛擬機(jī)使用的也是C語言,同樣會(huì)有緩沖區(qū)溢出的危險(xiǎn)。3.3.2 緩沖區(qū)溢出攻擊的方式按照緩沖區(qū)在內(nèi)存中地址空間中位置的不同,緩沖區(qū)溢出可以分為兩類:基于棧的緩沖區(qū)溢出和基于堆的緩沖區(qū)溢出。 1、棧溢出基于棧的緩沖區(qū)溢出是最常見的溢出方式,它相比堆溢出更好利用,幾乎成了
17、緩沖區(qū)溢出的代名詞,棧溢出又可細(xì)分為:覆蓋返回地址、重定向函數(shù)指針和長(zhǎng)跳轉(zhuǎn)。n 覆蓋返回地址這是最簡(jiǎn)單最常見的棧溢出攻擊方式。棧(stack),也稱為堆棧,是一段連續(xù)的內(nèi)存區(qū)域,可以簡(jiǎn)單視為數(shù)據(jù)結(jié)構(gòu)中的棧的實(shí)現(xiàn)。當(dāng)程序中的函數(shù)被調(diào)用時(shí),系統(tǒng)先將被調(diào)用函數(shù)所需的參數(shù)以逆序的方式壓入棧,然后,將返回地址(EIP)入棧,隨系統(tǒng)不同,還可能壓入一些其他數(shù)據(jù)來保護(hù)現(xiàn)場(chǎng),通常是?;罚‥BP,即返回時(shí)棧頂指針應(yīng)恢復(fù)的地址)。隨后,開始執(zhí)行被調(diào)用的函數(shù),其間,程序在棧中為被調(diào)用的函數(shù)內(nèi)的局部變量分配了所需的存儲(chǔ)空間,形成如圖3-60所示的棧結(jié)構(gòu)。當(dāng)被調(diào)用函數(shù)執(zhí)行結(jié)束后,系統(tǒng)就會(huì)釋放掉為此函數(shù)的局部變量所分配
18、的??臻g,恢復(fù)被保存的運(yùn)行環(huán)境,將程序控制權(quán)交給返回地址上的程序,這個(gè)程序?qū)⒁栽瓉砗瘮?shù)的級(jí)別運(yùn)行。棧底高端地址棧頂?shù)投说刂穲D3-60 棧的結(jié)構(gòu)參數(shù)n參數(shù)1返回地址局部變量1局部變量m在發(fā)生函數(shù)調(diào)用時(shí)的??臻g分配的過程中,局部變量空間的分配和填充不是同時(shí)進(jìn)行的,它的分配是依據(jù)局部變量的聲明,而填充則是依據(jù)其實(shí)際被賦予的值,這個(gè)過程中就出現(xiàn)了安全漏洞。雖然分配空間時(shí)是按局部變量出現(xiàn)的先后順序一個(gè)一個(gè)壓入棧(即先出現(xiàn)的變量更靠近棧底),但由于棧是從高端地址向低端地址擴(kuò)展的(即棧底位于內(nèi)存中更高端的地址),而在實(shí)際填充時(shí),是從低端內(nèi)存向高端內(nèi)存操作,因此,只要實(shí)際填充的數(shù)據(jù)足夠長(zhǎng),就可以將上面的返回地
19、址覆蓋掉。攻擊一般采取如下三步:(1)測(cè)試溢出點(diǎn) 這種溢出最關(guān)鍵的地方就是找到返回地址在棧中的地址,攻擊者一般可以通過查看參數(shù)的地址和變量的地址,就很容易計(jì)算出返回地址在棧中可能的地址范圍。如果程序產(chǎn)生了溢出,而新寫入的返回地址是無效的,系統(tǒng)就會(huì)報(bào)告訪問內(nèi)存出錯(cuò),如“oxaaaaaa引用內(nèi)存oxbbbbbbbb”,其中“oxbbbbbbbb”是溢出后的數(shù)據(jù),與“oxaaaaaa”和寄存器EIP的值就可以判斷出返回地址在棧中的精確地址。通常這都是一個(gè)不斷重復(fù)的過程,用各種長(zhǎng)度的不同數(shù)據(jù)進(jìn)行測(cè)試,比較系統(tǒng)返回信息,逐步細(xì)化范圍,從而測(cè)算出具體溢出點(diǎn),計(jì)算出應(yīng)填充數(shù)據(jù)的長(zhǎng)度。即使是同一個(gè)溢出漏洞,在
20、不同的操作系統(tǒng)類型,補(bǔ)丁版本,以及軟件環(huán)境下產(chǎn)生的溢出情況都不同,而溢出點(diǎn)哪怕計(jì)算錯(cuò)一個(gè)位置,攻擊代碼都不可能被系統(tǒng)執(zhí)行,因此,攻擊者在攻擊前一般都會(huì)先掃描被攻擊主機(jī)的具體情況,或者說,針對(duì)特定緩沖區(qū)溢出漏洞的蠕蟲只會(huì)感染特定的系統(tǒng)(2)構(gòu)造攻擊代碼 攻擊者必須嚴(yán)格按照受攻擊系統(tǒng)的相關(guān)匯編指令的格式和規(guī)范來編寫代碼。攻擊者也可以利用已經(jīng)存在的代碼,如libC中部分代碼會(huì)執(zhí)行“exec( )”,如“WinExec(cmd.exe, SW_HIDE);”會(huì)打開命令窗口,攻擊者需要做的就是將參數(shù)放置到合適的位置,然后溢出使程序跳轉(zhuǎn)到特定庫函數(shù)的入口。(3)發(fā)起攻擊攻擊代碼可以是直接放置到被攻擊程序的
21、緩沖區(qū)中,也就是向攻擊程序輸入一個(gè)字符串,這個(gè)字符串包含了可以在這個(gè)硬件平臺(tái)上運(yùn)行的指令序列,此時(shí)一般是直接在返回地址處填入本棧棧頂?shù)刂?,或者使程序先返回到一條jmp esp指令處。當(dāng)然,放置攻擊代碼和緩沖區(qū)溢出不一定要在一次動(dòng)作內(nèi)完成。攻擊者可以在另一個(gè)緩沖區(qū)內(nèi)放置代碼,通過溢出被攻擊程序所在的緩沖區(qū)來轉(zhuǎn)移該程序的執(zhí)行。n 重定向函數(shù)指針棧溢出攻擊的另一種實(shí)現(xiàn)方式是覆蓋函數(shù)指針。如果程序中存在一句“void (* p)() ”聲明了一個(gè)返回值為void函數(shù)指針的變量p,由于函數(shù)指針可以用來定位任何地址空間,所以攻擊者只需在任何空間內(nèi)的函數(shù)指針附近找到一個(gè)能夠溢出的緩沖區(qū),然后溢出這個(gè)緩沖區(qū)來
22、改變函數(shù)指針。以后,當(dāng)程序通過函數(shù)指針調(diào)用函數(shù)時(shí),程序的流程就將按攻擊者的意圖實(shí)現(xiàn)。n 長(zhǎng)跳轉(zhuǎn)長(zhǎng)跳轉(zhuǎn)是C語言中的一個(gè)異常處理機(jī)制,是一個(gè)簡(jiǎn)單的檢驗(yàn)/恢復(fù)系統(tǒng),使用setjmp/longjmp,這是c標(biāo)準(zhǔn)庫的兩個(gè)庫函數(shù),setjmp函數(shù)用于保存程序的運(yùn)行時(shí)的堆棧環(huán)境,后面可以通過調(diào)用longjmp函數(shù)來恢復(fù)先前被保存的程序堆棧環(huán)境。Longjmp也能夠指向任何地址空間。攻擊者首先找到一個(gè)可供溢出的緩沖區(qū),覆蓋longjmp緩沖區(qū),使它指向攻擊代碼,然后誘導(dǎo)程序進(jìn)入恢復(fù)模式(如浮點(diǎn)異常),這樣恢復(fù)后執(zhí)行就跳轉(zhuǎn)到攻擊代碼上了。2、堆溢出對(duì)于一個(gè)進(jìn)程的內(nèi)存空間而言,可以在邏輯上分成3個(gè)部份:代碼區(qū),靜
23、態(tài)數(shù)據(jù)區(qū)和動(dòng)態(tài)數(shù)據(jù)區(qū)。全局變量和靜態(tài)變量分配在靜態(tài)數(shù)據(jù)區(qū),局部變量分配在動(dòng)態(tài)數(shù)據(jù)區(qū),動(dòng)態(tài)數(shù)據(jù)區(qū)除了“?!边€有“堆”。棧是一種線性結(jié)構(gòu),是一段連續(xù)的空間,而堆是一種鏈?zhǔn)浇Y(jié)構(gòu),它不同于數(shù)據(jù)結(jié)構(gòu)中堆的概念,而有些類似于鏈表。棧的分配運(yùn)算內(nèi)置于處理器的指令集中,效率很高,但分配的內(nèi)存容量有限,因此,一些程序員會(huì)調(diào)用C函數(shù)malloc(calloc/realloc)/free、C+的new/delete或者WIN32 API函數(shù)HeapAlloc/HeapFree來動(dòng)態(tài)分配內(nèi)存,這時(shí)分配的空間就是堆(heap),堆也常被稱為塊(chunk)。高端地址A. 空閑的塊結(jié)構(gòu)低端地址管理結(jié)構(gòu)(16字節(jié))高端地址
24、B. 分配后的塊結(jié)構(gòu)低端地址管理結(jié)構(gòu)(8字節(jié))上一塊的字節(jié)當(dāng)前塊的字節(jié)數(shù)據(jù)區(qū)上一塊的字節(jié)當(dāng)前塊的字節(jié)雙指針數(shù)據(jù)區(qū)圖3-61 堆的結(jié)構(gòu)堆的結(jié)構(gòu)如圖3-61所示,與棧相反,它是從低端地址向高端地址擴(kuò)展的。每個(gè)堆除了分配用戶指定大小的內(nèi)存外,還有一個(gè)管理結(jié)構(gòu),這個(gè)管理結(jié)構(gòu)對(duì)于空閑堆和已經(jīng)被分配的堆是不同的。不同的最大體現(xiàn)是雙指針,只有空閑堆才有雙指針,這是一對(duì)向前(fd)和向后(bk)指向的指針,分別指向前一個(gè)和后一個(gè)空閑堆,操作系統(tǒng)就通過雙指針實(shí)現(xiàn)雙向鏈表來對(duì)空閑堆加以管理,形成邏輯上連續(xù)的空間。另外只有當(dāng)上一個(gè)塊是空閑的,才會(huì)在本堆的“上一塊的字節(jié)(pre_chunk->size)”處填入
25、上一塊空閑堆的字節(jié)數(shù)。對(duì)于每個(gè)堆至少分配16字節(jié),而且大小必須是8字節(jié)的整數(shù)倍,這樣在計(jì)算堆的大小時(shí)會(huì)自動(dòng)忽略字節(jié)數(shù)的最后3位,其中最后兩位被用作標(biāo)志位,最低位常用“P”標(biāo)志,表示前一塊是否是被分配了,只有當(dāng)P標(biāo)志位為0時(shí)(表示上一塊沒有被使用,即是空閑塊),“上一塊的字節(jié)”中的數(shù)字才有價(jià)值。當(dāng)空閑塊被分配后,會(huì)執(zhí)行unlink操作,將這部分空間從雙向鏈表中脫離,并在“當(dāng)前塊的字節(jié)(chunk->size)”處填入分配的size+8字節(jié)(管理結(jié)構(gòu)的大小)后的值。但實(shí)際填充數(shù)據(jù)后,如果填充的數(shù)據(jù)超過了分配的空間大小,“當(dāng)前塊的字節(jié)”會(huì)變成實(shí)際填充的size+8字節(jié),這就產(chǎn)生了溢出。溢出后的
26、數(shù)據(jù)會(huì)覆蓋后面一塊的管理結(jié)構(gòu),產(chǎn)生漏洞。堆溢出比棧溢出相對(duì)復(fù)雜,由于堆中不再存在返回地址,目前已有的對(duì)堆的緩沖區(qū)溢出攻擊主要通過改變“當(dāng)前塊的字節(jié)”的P標(biāo)志位,使程序執(zhí)行unlink操作實(shí)現(xiàn)。攻擊時(shí)Unlink操作主要在程序執(zhí)行free()或下一次malloc()的時(shí)候執(zhí)行,通常攻擊者采用前一種方法。當(dāng)程序在執(zhí)行free(mem)這個(gè)指令時(shí),會(huì)首先將mem轉(zhuǎn)換為chunk(mem-8),也就是使指向數(shù)據(jù)區(qū)的指針向前移動(dòng)8字節(jié)(管理結(jié)構(gòu)的大?。┺D(zhuǎn)而指向這個(gè)堆的開始處,然后調(diào)用chunk_free()來釋放這個(gè)堆。然后程序會(huì)檢查其相鄰的內(nèi)存塊(包括前一個(gè)和后一個(gè))是否是空閑的,如果是就會(huì)將這些相鄰
27、的空閑塊合并,如果只有前一個(gè)塊是空閑的,修改前面那一塊的“當(dāng)前塊的字節(jié)”的值,將其填入后面那一塊的“上一塊的字節(jié)”,并修改P標(biāo)志位;如果后面那一塊也是空閑的,除了修改兩個(gè)字節(jié)數(shù),還需要將后面那一塊從鏈表中摘除(unlink)。當(dāng)然,如果都不是空閑塊,就只需要設(shè)置后一個(gè)塊的兩個(gè)字節(jié)數(shù),最后將得到的空閑塊加入雙向鏈表中去。在執(zhí)行unlink操作時(shí),實(shí)際上就是執(zhí)行修改雙向指針的工作,比如,要從鏈表中刪除B節(jié)點(diǎn),刪除前后雙向鏈表如圖3-62所示。A B CA_fd A_bk B_fd B_bk C_fd C_bk BA CBA B CA_fd A_bk C_fd C_bk CA圖3-62 unlink
28、操作Unlink操作本應(yīng)該直接修改前一個(gè)節(jié)點(diǎn)和后一個(gè)節(jié)點(diǎn)中指向本節(jié)點(diǎn)的指針的值(即圖中的A_bk和C_fd),但從圖中我們可以看出,實(shí)際上就是將B_fd中的內(nèi)容放到B_bk指向的空間中去,將B_bk中的內(nèi)容放到B_fd指向的空間中去,這是兩個(gè)寫內(nèi)存的操作。而如果B_fd和B_bk的內(nèi)容都被覆蓋了,那就可以實(shí)現(xiàn)將攻擊者安排好的數(shù)據(jù)寫入攻擊者安排好的地方,一般被稱為“將任意的內(nèi)容寫入任意的地址”。攻擊者通過溢出強(qiáng)制將下一塊的“P”標(biāo)志設(shè)為0(空閑),或者在輸入的數(shù)據(jù)中模擬管理結(jié)構(gòu),形成一個(gè)假的空閑塊,在釋放本塊時(shí)就涉及到空閑塊的合并問題,需要對(duì)下一塊執(zhí)行unlink操作(雖然可能下一塊并非存在于空
29、閑鏈表中),從而攻擊者可以改變程序執(zhí)行的流向。3.3.3 緩沖區(qū)溢出攻擊防范措施目前,防止緩沖區(qū)溢出的技術(shù)主要有五種:源程序檢查、數(shù)組邊界檢查、指針完整性檢查、不可執(zhí)行的緩沖區(qū)和運(yùn)行時(shí)攔截并檢查,每種技術(shù)都解決了一定的問題,但也存在相應(yīng)的限制。1、源程序檢查既然緩沖區(qū)溢出漏洞的產(chǎn)生的根源在于程序中沒有進(jìn)行邊界判斷,使攻擊者有機(jī)會(huì)在一個(gè)空間有限的緩沖區(qū)中放入過長(zhǎng)的數(shù)據(jù),那么防范緩沖區(qū)攻擊最根本的措施就是強(qiáng)制編寫正確的代碼,要求程序員在編程的時(shí)候避免使用非安全的C函數(shù),在將數(shù)據(jù)傳送到自己的緩沖區(qū)之前,先檢查數(shù)據(jù)的長(zhǎng)度。源程序檢查的方法分為靜態(tài)檢查和動(dòng)態(tài)測(cè)試。靜態(tài)檢查靜態(tài)檢查就是使用工具檢查程序的全
30、部源代碼,通過語義分析找到危險(xiǎn)函數(shù)的調(diào)用,通過跟蹤數(shù)據(jù)流,即從變量的定義到它所有的引用,或者從一個(gè)引用到所有可能的定義,查找潛在漏洞。這樣的檢查程序本身不需要運(yùn)行,因此被稱為靜態(tài)檢查。 最簡(jiǎn)單的靜態(tài)檢查就是使用turboc,c+ builder等自帶的grep工具,它與一般的find(如word中的“查找”)工具有一些相似,功能比較簡(jiǎn)單,僅僅對(duì)輸入的檢索詞匹配,依據(jù)輸入的限制條件返回找到的結(jié)果,找什么、找到的到底有沒有漏洞需要程序員自己進(jìn)行分析判斷。該工具優(yōu)勢(shì)在于容易獲取,簡(jiǎn)單易用,能夠滿足基本的檢查要求。如果對(duì)源代碼檢索的智能性有更高的要求,可以使用Flawfinder、RATS(Rough
31、 Auditing Tool for Security、lint等專門的源代碼掃描工具,它們一般擁有專門的漏洞庫,通過類型匹配等技術(shù)實(shí)現(xiàn)。Flawfinder是免費(fèi)、開源軟件,目前版本是1.29,處理速度比較快,但目前主要針對(duì)Red Hat Linux平臺(tái)。RATS是secure software公司提供的免費(fèi)軟件,目前版本是2.1,分別針對(duì)Linux和Windows平臺(tái)提供了不同版本,需要同時(shí)安裝另一個(gè)開源軟件expat,以支持通過XML輸出錯(cuò)誤信息,expat也提供了Linux和Windows兩個(gè)版本,但其Windows版本運(yùn)行不是很好。RATS的最大的優(yōu)點(diǎn)是可配置,可以改變輸出的錯(cuò)誤信息
32、的級(jí)別,漏洞庫也接受用戶的自定義輸入。Lint工具發(fā)展到目前分為PC-Lint、flexeLint和spLint,PC-Lint和flexeLint是Gimpel Software公司的收費(fèi)產(chǎn)品,PC-Lint僅能運(yùn)行在Windows操作系統(tǒng)上每一臺(tái)電腦需要239美元,而flexeLint能夠運(yùn)行在所有系統(tǒng)上,每一臺(tái)電腦需要998美元。PC-Lint(flexeLint)目前版本是8.0,功能很強(qiáng)大,光選項(xiàng)就有300多個(gè),據(jù)說國(guó)外的大型專業(yè)軟件公司,如微軟,都把它作為程序檢查工具。spLint(Secure Programming Lint)也是一個(gè)開源的免費(fèi)產(chǎn)品,提供Unix、Linux、S
33、olaris、Win32等不同版本,要求程序員在C源碼中按照固定的注釋格式/*/加入標(biāo)記,這些標(biāo)記被當(dāng)作規(guī)格屬性,通過詞法分析和過程內(nèi)流敏感程序分析技術(shù),驗(yàn)證標(biāo)記的限制條件是否與程序一致,實(shí)現(xiàn)程序掃描??偟膩碚f,靜態(tài)檢查的優(yōu)勢(shì)是速度快,但源碼有時(shí)很難獲取,目前除了開源軟件獲取其它軟件的源程序基本上是不可能的,這極大的限制了源程序檢查作為防護(hù)手段的實(shí)用性,這也是大多數(shù)靜態(tài)檢查工具都基于Linux平臺(tái)的原因。當(dāng)然,也有工具通過對(duì)目標(biāo)代碼的反匯編來實(shí)現(xiàn),但技術(shù)還不夠成熟。雖然理論上源程序檢查可以從根本上防止任何緩沖區(qū)溢出的發(fā)生,但C語言的靈活性(如指針)使得有效的跟蹤數(shù)據(jù)流變得困難,漏報(bào)、誤報(bào)率高,
34、即使檢查出潛在漏洞,也還需要驗(yàn)證。動(dòng)態(tài)測(cè)試即使程序通過了靜態(tài)檢查,代碼中往往仍會(huì)有緩沖區(qū)溢出漏洞,為此開發(fā)了動(dòng)態(tài)測(cè)試技術(shù),也叫做故障注入,通過人為的隨機(jī)制造一些緩沖區(qū)溢出來測(cè)試、尋找代碼的安全漏洞。故障注入法一般工作在靜態(tài)檢查的基礎(chǔ)上,在找到的漏洞處插入專門的故障發(fā)生函數(shù),或者輸入可能溢出的數(shù)據(jù),然后通過專門的監(jiān)控程序來監(jiān)測(cè)是否發(fā)生了溢出。由于故障注入的針對(duì)性極強(qiáng),一般通過人工完成??偟膩碚f,源程序檢查是從緩沖區(qū)產(chǎn)生的根源著手,但一般都只能減少緩沖區(qū)溢出的可能,而不能完全消除它的存在。2、數(shù)組邊界檢查只要數(shù)組不被溢出,溢出攻擊也就無法實(shí)現(xiàn)。Java等語言正是由于進(jìn)行了數(shù)組索引的邊界檢查,從而能
35、夠有效的抵御緩沖區(qū)溢出攻擊。數(shù)組邊界檢查在某種程度上與源代碼靜態(tài)檢查相似,但是主要在編譯中實(shí)現(xiàn),在編譯時(shí)檢查所有的數(shù)組操作,確保對(duì)數(shù)組的操作都在正確的范圍內(nèi)。目前Compaq公司的C編譯器和GCC(GNU C Compiler)的一個(gè)補(bǔ)丁可以實(shí)現(xiàn)數(shù)組邊界檢查,但這樣的檢查是以犧牲性能為代價(jià)的,商業(yè)軟件中很少使用。已經(jīng)推出的Compaq C和GCC也還不夠成熟,Compaq C不會(huì)對(duì)指針傳遞的數(shù)組和strcpy這樣的不安全函數(shù)進(jìn)行檢查,而gcc補(bǔ)丁還不能編譯復(fù)雜的程序。有的程序員就直接在調(diào)試程序時(shí)使用purify等工具檢查存儲(chǔ)器的存取來進(jìn)行數(shù)組邊界檢查??偟膩碚f,對(duì)數(shù)組的邊界檢查能夠限制數(shù)據(jù)輸入
36、的長(zhǎng)度,但由于要檢查所有的數(shù)組操作,對(duì)性能影響很大,不能防范長(zhǎng)跳轉(zhuǎn)的棧溢出攻擊。3、指針完整性檢查指針完整性檢查是檢測(cè)程序指針是否被修改了。這個(gè)檢查可以由編譯器實(shí)現(xiàn),StackGuard就是針對(duì)gcc的實(shí)現(xiàn)了指針完整性檢查的編譯器。覆蓋返回地址的棧溢出會(huì)修改返回地址及它以前(低地址方向)的所有數(shù)據(jù),StackGuard就在堆棧內(nèi)的函數(shù)返回地址后(返回地址先入棧)面附加一個(gè)字節(jié)(canary),在函數(shù)返回時(shí)先檢查這個(gè)附加的字節(jié)是否發(fā)生了變化。為了使這種保護(hù)機(jī)制有效,就不能給攻擊者在攻擊數(shù)據(jù)中偽造canary的機(jī)會(huì),StackGuard提供了采用C語言的終止符號(hào)(如CR,LF等)或者隨機(jī)數(shù)方式兩種
37、方式。另一種提供指針完整性檢驗(yàn)保護(hù)的是StackShield,它與StackGuard的不同之處在于它是創(chuàng)建一個(gè)特別的堆棧(表現(xiàn)為一個(gè)數(shù)組)用來儲(chǔ)存函數(shù)返回地址的一份拷貝,然后在受保護(hù)的函數(shù)的開頭和結(jié)尾分別增加一段代碼,開頭處的代碼用來將函數(shù)返回地址拷貝過去,而結(jié)尾處的代碼用來將返回地址拷貝回來。它考慮緩沖區(qū)是否溢出,只保證函數(shù)執(zhí)行流程不會(huì)改變,能夠正確返回到主調(diào)函數(shù)中。還有一種工具Pointguard,它對(duì)stackguard進(jìn)行擴(kuò)展,將保護(hù)字節(jié)置于所有的代碼指針后面和所有受保護(hù)的變量前后。總的來說,通過指針完整性檢驗(yàn)提供堆棧保護(hù)對(duì)系統(tǒng)性能的影響很小,雖然目前已經(jīng)發(fā)現(xiàn)可以繞過StackGua
38、rd和StackShield的方法,但這兩種工具技術(shù)還是比較成熟的。但,指針完整性檢驗(yàn)主要針對(duì)的是棧溢出攻擊的防范。4、不可執(zhí)行的緩沖區(qū)不可執(zhí)行的緩沖區(qū)技術(shù)就是使堆棧數(shù)據(jù)段中不能執(zhí)行程序。以前Unix系統(tǒng)設(shè)計(jì)就是嚴(yán)格區(qū)分?jǐn)?shù)據(jù)段和代碼段,使數(shù)據(jù)段的地址空間不能執(zhí)行,后來由于Unix和MS Windows系統(tǒng)追求更好的性能和功能,允許在數(shù)據(jù)段動(dòng)態(tài)的放入可執(zhí)行的代碼,但是,幾乎沒有合法的程序會(huì)在堆棧中存放代碼,因此,一種防止緩沖區(qū)溢出攻擊的方法就是設(shè)定堆棧段不可執(zhí)行,在堆棧中設(shè)置一個(gè)表示不可執(zhí)行的標(biāo)志位NX bit(No eXecute bit),在最大限度保證程序兼容性的情況下避免溢出攻擊。這種防
39、范方法一般通過專門的補(bǔ)丁的形式實(shí)現(xiàn),但目前的趨勢(shì)是由硬件來提供堆棧保護(hù),將NX bit技術(shù)內(nèi)建在CPU中。Intel和AMD都已經(jīng)開始銷售采用NX技術(shù)的CPU,Intel將其命名為EDB(Execute Disable Bit,禁止執(zhí)行位),AMD將其命名為EVP(Enhanced Virus Protection,增強(qiáng)病毒保護(hù))。CPU的NX功能還無法獨(dú)立完成所有工作,需相關(guān)操作系統(tǒng)和應(yīng)用軟件配合,目前Windows和Red Hat Linux等相關(guān)操作系統(tǒng)都已支持。這是目前最常見、最容易實(shí)現(xiàn)的防范緩沖區(qū)溢出的技術(shù),但要注意的是,這種方法只能防范攻擊者直接將代碼植入緩沖區(qū)的攻擊方式,對(duì)于其他溢出的攻擊都無能為力。5、運(yùn)行時(shí)攔截并檢查這是目前大多數(shù)殺毒軟件采取的技術(shù),它們或者在程序運(yùn)行時(shí)攔截危險(xiǎn)函數(shù),然后調(diào)用相應(yīng)的具有邊界檢查功能的安全函數(shù),如果邊界檢查不通過,就報(bào)警并終止進(jìn)程;或者在程序運(yùn)行時(shí)截獲loadlibrary(加載模塊名,也就是所需要的組件所在的文件,可以是一個(gè) .dll,也可以是一個(gè) .exe,或者是其它)、getprocaddress(取得模塊中導(dǎo)出函數(shù)的地址)等API函數(shù)(木馬、蠕蟲、病毒等一般要用到)等API函數(shù),然后調(diào)用某個(gè)檢測(cè)函數(shù),檢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西師范大附屬中學(xué)2025屆中考二模生物試題含解析
- 北京市北京師范大附屬實(shí)驗(yàn)中學(xué)2025屆中考試題猜想生物試卷含解析
- 煥發(fā)傳統(tǒng)文化蓬勃活力的策略及實(shí)施路徑
- 2025年項(xiàng)目經(jīng)理個(gè)人工作計(jì)劃
- 2025屆陜西省西安一中中考考前最后一卷生物試卷含解析
- 貨物運(yùn)輸服務(wù)合作合同
- 全新房地產(chǎn)中介傭金合同下載年
- 2024秋七年級(jí)英語下冊(cè) Module 11 Body language Unit 2 Here are some ways to welcome them說課稿 (新版)外研版
- 食品購銷合同協(xié)議書范文
- 七年級(jí)生物上冊(cè) 第二單元 第一章 第2節(jié) 植物細(xì)胞說課稿 (新版)新人教版
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試化學(xué)試題 附答案
- 2025 年福建省中考語文試題:作文試題及范文
- 短視頻運(yùn)營(yíng)績(jī)效考核表KPI-企業(yè)管理
- 【譯林】九下英語單詞默寫表
- IEC 62368-1標(biāo)準(zhǔn)解讀-中文
- 15J403-1-樓梯欄桿欄板(一)
- QC課題提高金剛砂地面施工一次合格率
- 2024年發(fā)電廠交接班管理制度(二篇)
- 《數(shù)學(xué)課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版(原版)
- 各種標(biāo)本采集的技術(shù)-痰標(biāo)本的采集(護(hù)理技術(shù))
-
評(píng)論
0/150
提交評(píng)論