Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 169 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
169
Dung lượng
2,46 MB
Nội dung
Khoa CNTT B GIÁO DC VÀ ÀO TO TRNG I HC KHOA HC T NHIÊN TP.HCM KHOA CÔNG NGH THÔNG TIN B MÔN MNG MÁY TÍNH cd LUN VN TT NGHIP TÀI: NGHIÊN CU MT S VN V BO MT NG DNG WEB TRÊN INTERNET GVHD: Th.S. MAI VN CNG SVTH : NGUYN DUY THNG - 9912074 NGUYN MINH THU - 9912156 KHÓA HC: 1999-2003 Khoa CNTT Li cm n Sau gn 6 tháng n lc thc hin, lun vn nghiên cu “Các k thut tn công và bo mt ng dng Web trên Internet” đã phn nào hoàn thành. Ngoài s c gng ht mình ca bn thân, chúng em đã nhn đc s khích l rt nhiu t phía nhà trng, thy cô, gia đình và bn bè. Trc ht chúng con xin cám n ba m đã luôn đng viên và to mi điu kin tt đ chúng con hc tp và hoàn thành lun vn tt nghip này. Chúng em xin cám n thy cô trng i Hc Khoa Hc T Nhiên đã truyn đt nhng kin thc quý báu cho chúng em trong sut quá trình hc tp. c bit, chúng em xin bày t lòng chân thành sâu sc đn thy Mai Vn Cng, ngi đã tn tình hng dn và giúp đ chúng em trong quá trình làm lun vn tt nghip. Xin cám n tt c bn bè đã và đang đng viên, giúp đ chúng tôi trong quá trình hc tp và hoàn thành tt lun vn tt nghip này. Khoa CNTT Li nhn xét …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet MC LC GII THIU……………………………………………………………………………… T chc ca lun vn…………………………………………………………………… PHN TH NHT: C S LÍ THUYT………………………………………………. Chng 1: Gii thu ng dng Web…………………………………………………… I. KHÁI NIM NG DNG WEB……………………………… …………………… II. MÔ T HOT NG CA MT NG DNG WEB……… ………………… Chng 2: Các khái nim, thut ng liên quan ………………………………………… I. HACKER……………………………………………………………………………… II. HTTP HEADER…………………………………………………………………… III. SESSION…………………………….……………………………………………… IV. COOKIE…………………………………………………………………………… V. PROXY………………………………………………………………………………. Chng 3: Gii thiu s lc v các k thut tn công ng dng Web………………… I. KIM SOÁT TRUY CP WEB……………………………………………………… I.1. Thâm nhp h thng qua ca sau………………………………………………… II. CHIM HU PHIÊN LÀM VIC………………………………………………… II.1. n đnh phiên làm vic…………………………………………………………… II.2. ánh cp phiên làm vic…………………………………………………………. III. LI DNG CÁC THIU SÓT TRONG VIC KIM TRA D LIU NHP HP L……….…………………………………………………………………………… III.1. Kim tra tính đúng đn ca d liu bng ngôn ng phía trình duyt………… III.2. Tràn b đm…………… ………………………………………………………. III.3. Mã hóa URL…………………………………………………………………… III.4. Kí t Meta……………………………………………………………………… III.5. Vt qua đng dn…………………………………………………………… III.6. Chèn mã lnh thc thi trên trình duyt nn nhân……………………………… III.7. Thêm câu lnh h thng………………….…………………………………… 7 9 11 12 13 16 18 19 19 21 22 25 26 27 27 27 27 27 27 28 28 28 28 29 29 29 Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet III.8. Chèn câu truy vn SQL…………………….…………………………………… III.9. Ngôn ng phía máy ch……………… III.10. Kí t rng….………………………………………………………………… III.11. Thao tác trên tham s truyn………………………………………………… IV. L THÔNG TIN………………………………………………………………. V. T CHI DCH V………………….…………………………………………… PHN TH HAI: CÁC K THUT TN CÔNG VÀ BO MT NG DNG WEB Chng 4: Thao tác trên tham s truyn………………………………………………… I. THAO TÁC TRÊN URL…………………………………………………………… I.1. Khái nim…………………………………………………………………………. I.2. Mt s bin pháp khc phc………………………………………………………. II. THAO TÁC TRÊN BIN N FORM………………………………………………. II.1. Khái nim………………………………………………………………………… II.2. Mt s bin pháp khc phc…………………………………………………… III. THAO TÁC TRÊN COOKIE……………………………………………………… III.1. Khái nim ………………………………………………………………………. III.2. Mt s bin pháp khc phc…………………………………………………… IV. THAO TÁC TRONG HTTP HEADER……………………………………………. IV.1. Khái nim……………………………………………………………………… IV.2. Mt s bin pháp khc phc…………………………………………………… Chng 5: Chèn mã lnh thc thi trên trình duyt nn nhân (Cross Side Scripting)……. I. K THUT TN CÔNG CROSS-SITE SCRIPTING (XSS)……………………… II. PHNG PHÁP TN CÔNG XSS TRUYN THNG………………………… III. MT S WEBSITE TÌM THY L HNG XSS……………………………… IV. TN CÔNG XSS BNG FLASH…………………………………………………. V. CÁCH PHÒNG CHNG…………………………………………………………… Chng 6: Chèn câu truy vn SQL (SQL Injection)……………………………………. I. KHÁI NIM SQL INJECTION…………………………………………………… II. GII THIU MÔ HÌNH C S D LIU……………………………………… 30 30 30 30 31 31 33 34 35 35 36 36 36 38 39 39 40 41 41 42 43 44 46 50 51 54 56 57 57 Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet III. CÁC CÁCH TN CÔNG…………………………………………………………. III.1. K thut tn công SQL Injection……………………………………………… III.2. Tn công da vào câu lnh SELECT…………………………………………… III.3. Tn công da vào câu lnh HAVING………………………………………… III.4. Tn công da vào câu lnh kt hp UNION…………………………………… III.5. Tn công da vào lnh INSERT……………………………………………… III.6. Tn công da vào STORED PROCEDURE…………………………………… III.7. Nâng cao……………………………………………………………………… III.7.1. Chui kí t không có du nháy đn…………………………………………. III.7.2. Tn công 2 tng……………………………………………………………… III.7.3. Tránh s kim soát………………………………………………………… III.7.4. Dùng Extended Stored Procedure…………………………………………… III.7.4.1. Dùng Extended Stored Procedure có sn trong h thng SQL Server… III.7.4.2. Dùng Extended Stored Procedure t to…………………………………. III.7.4.3. Nhp tp tin vn bn vào bng…………………………………………… IV. CÁCH PHÒNG CHNG………………………………………………………… IV.1. Kim tra d liu……………………………………………………………… IV.2. Khoá cht SQL Server (SQL Server Lockdown)…………………………… Chng 7: Chim hu phiên làm vic (Session Management)………………………… I. TNG QUAN V SESSION ID…………………………………………………… II. N NH PHIÊN LÀM VIC…………………………………………………… II.1. Tn công Session ID trên tham s URL………………………………………… II.2. Tn công Session ID trong bin n form……………………………………… II.3. Tn công Session ID trong cookie………………………………………………. II.4. Cách phòng chng………………………………………………………………. III. ÁNH CP PHIÊN LÀM VIC………………………………………………… III.1. Tn công kiu d đoán phiên làm vic (Prediction sessionID)………………… III.2. Tn công kiu vét cn phiên làm vic (Brute force ID)……………………… III.3. Tn công kiu dùng đon mã đ đánh cp phiên làm vic…………………… 58 58 60 62 62 69 70 70 70 71 74 75 75 76 77 77 78 81 83 84 85 88 89 89 91 92 93 93 94 Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet III.4. Cách phòng chng………………………………………………………………. III.5. S khác bit gia đánh cp phiên làm vic (session hijacking) và n đnh phiên làm vic (session fixation)…………………………………………………………… Chng 8: Tràn b đm (Buffer Overflow)…………………………………………… I. KHÁI NIM…………………………………………………………………………. II. S T CHC CA B NH…………………………………………………. II.1. Stack…………………………………………………………………………… II.2. Push và Pop……………………………………………………………………… II.3. Cách làm vic ca hàm………………………………………………………… II.4. Shell code……………………………………………………………………… III. MT S CÁCH GÂY TRÀN B M QUA NG DNG WEB………………. IV. CÁC CÁCH PHÒNG CHNG……………………………………………………. Chng 9: T chi dch v (DoS)………………………………………………………. I. KHÁI NIM………………………………………………………………………… II. NHNG KH NNG B TN CÔNG BNG DOS………………………………. III. CÁC K THUT TN CÔNG…………………………………………………… III.1. Khái nimv Tcp bt tay ba chiu……………………………………………… III.2. Li dng TCP thc hin phng pháp SYN flood truyn thng……………… III.3. Tn công vào bng thông……………………………………………………… III.3.1. Kiu tn công th 1………………………………………………………… III.3.2. Kiu tn công th 2………………………………………………………… III.4. Kiu tn công vào tài nguyên h thng…………………………………………. IV. BIN PHÁP PHÒNG CHNG……………………………………………………. Chng 10: Mt s k thut tn công khác…………………………………………… I. MÃ HÓA URL (URL Encoding) …………………………………………………… I.1. Khái nim………………………………………………………………………… I.2. Mt s bin pháp phòng chng………………………………………………… II. KIU TN CÔNG VT NG DN………………………………………… II.1. Khái nim……………………………………………………………………… 94 94 97 98 99 100 101 102 104 106 106 108 109 109 110 110 112 113 113 113 117 117 119 120 120 121 121 121 Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet II.2. Mt s bin pháp phòng chng………………………………………………… III. TN CÔNG DA VÀO KÍ T RNG………………………………………… III.1. Khái nim……………………………………………………………………… III.2. Mt s bin pháp phòng chng…………………………………………………. IV. NGÔN NG PHÍA TRÌNH CH…………………………………………………. IV.1. Khái nim……………………………………………………………………… IV.2. Cách tn công…………………………………………………………………… IV.3. Bin pháp phòng chng………………………………………………………… Chng 11: Tng kt quá trình tn công ca Hacker………………………………… I. THU THP THÔNG TIN MC H TNG CA MC TIÊU………………… II. KHO SÁT NG DNG WEB…………………………………………………… III. TN CÔNG……………………………………………………………………… Chng 12: Tng kt các bin pháp phòng chng…………………………………… I. VI NHNG NHÀ QUN TR MNG…………………………………………… II. VI NHNG NHÀ THIT K NG DNG WEB………………………………. III. VI NGI S DNG NG DNG WEB…………………………………… PHN TH BA: CHNG TRÌNH WEB CHECKER……………………………… Chng 13: Chng trình Web Checker……………………………………………… I. C T CHNG TRÌNH WEB CHECKER…………………………………… I.1. Tng quan……………………………………………………………………… I.2. Yêu cu………………………………………………………………………… I.2.1. Yêu cu chc nng……………………………………………………………. I.2.1. Yêu cu phi chc nng……………………………………………………… II. KIN TRÚC CHNG TRÌNH WEB CHECKER……………………………… II.1. Kin trúc chng trình Web Checker………………………………………… II.2. Giao tip gia chng trình vi trình ch Web…………………………………. III. CÀI T………………………………………………………………………… III.1. Ngôn ng cài đt……………………………………………………………… III.2. Phng pháp cài đt……………………………………………………………. 122 123 123 123 123 123 125 125 127 128 131 132 134 135 137 139 140 141 142 142 142 142 143 143 143 144 145 145 145 Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet III.2.1. S dng mô hình giao din dng Dialog……………………………………. III.2.2. S dng ActiveX Control (Microsoft Web Browser)………………………. III.2.3. S dng giao din lp trình Window Socket 2……………………………… III.2.4. Mt s lp và hàm chính đc cài đt trong chng trình…………………. III.3. Mô t chng trình và cách s dng…………………………………………… III.3.1. Màn hình chng trình……………………………………………………… III.3.2. Cách s dng……………………………………………………………… IV. ÁNH GIÁ CHNG TRÌNH…………………………………………………… IV.1. Nhng vn đ đt đc……………………………………………………… IV.2. Nhng vn đ hn ch………………………………………………………… KT LUN…………………………………………………………………………… I. NHNG VN T C……………………………………………………. II. HNG PHÁT TRIN……………………………………………………………. PH LC……………………………………………………………………………… 145 145 146 146 151 151 152 153 153 153 155 156 157 158 Khoa CNTT Nghiên cu mt s vn đ v bo mt ng dng Web trên Internet -Trang 7- GII THIU Ngày nay, khi Internet đc ph bin rng rãi, các t chc, cá nhân đu có nhu cu gii thiu thông tin ca mình trên xa l thông tin cng nh thc hin các phiên giao dch trc tuyn. Vn đ ny sinh là khi phm vi ng dng ca các ng dng Web ngày càng m rng thì kh nng xut hin li và b tn công càng cao, tr thành đi tng cho nhiu ngi tn công vi các mc đích khác nhau. ôi khi, cng ch đn gin là đ th tài hoc đùa bn vi ngi khác. Cùng vi s phát trin không ngng ca Internet và các dch v trên Internet, s lng các v tn công trên Internet cng tng theo cp s nhân. Trong khi các phng tin thông tin đi chúng ngày càng nhc nhiu đn nhng kh nng truy nhp thông tin ca Internet, thì các tài liu chuyên môn bt đu đ cp nhiu đn vn đ bo đm và an toàn d liu cho các máy tính đc kt ni vào mng Internet. Theo s liu ca CERT (Computer Emegency Response Team - "i cp cu máy tính"), s lng các v tn công trên Internet đc thông báo cho t chc này là ít hn 200 vào nm 1989, khong 400 vào nm 1991, 1400 vào nm 1993, và 2241 vào nm 1994, và nm 2001 là 5315 v. Nhng v tn công này nhm vào tt c các máy tính có mt trên Internet, các máy tính ca tt c các công ty ln nh AT&T, IBM, các trng đi hc, các c quan nhà nc, các t chc quân s, nhà bng Mt s v tn công có quy mô khng l (có ti 100.000 máy tính b tn công). Hn na, nhng con s này ch là phn ni ca tng bng. Mt phn rt ln các v tn công không đc thông báo, vì nhiu lý do, trong đó [...]... C A M T u tiên trình duy t s g i m t yêu c u (request) NG D NG WEB n trình ch Web thông qua các l nh c b n GET, POST… c a giao th c HTTP, trình ch lúc này có th cho th c thi m t ch ng trình c xây d ng t nhi u ngôn ng nh Perl, C/C++… ho c trình ch yêu c u b di n d ch th c thi các trang ASP, JSP… theo yêu c u c a trình khách Tùy theo các tác v c a ch ng trình c cài t mà nó x lý, tính toán, k t n i c s... trang trao T c Tr cm ts xây d ng n i dung cho nh ng ph n sau ng d ng Web là m t ng d ng ch /khách s d ng giao th c HTTP ng ra ng Ng ng trình óng vai trò i i dùng g i và nh n các ng vào các trang Web Các ch ng trình i mua bán, các di n àn, g i nh n e-mail… phát tri n các k thu t xây d ng ng d ng Web c ng phát tri n r t nhanh c ây nh ng ng d ng Web th Gateway Interface) d li u ng c xây d ng b ng CGI (Common... ph ng trình “T ng án ng phát hi n l h ng trên ng d ng Web” giúp ích cho nh ng nhà l p trình Web ít kinh nghi m tránh nh ng sai sót trong quá trình t o các ng d ng T ch c c a lu n v n Lu n v n g m 13 ch ng chia thành 3 ph n: Ph n th nh t: C LÍ THUY T S Ph n này g m có 3 ch ng: + Ch ng 1 : Gi i thi u v ng d ng Web + Ch ng 2 : M t s khái ni m, thu t ng liên quan + Ch ng 3: S l c các k thu t t n công ng... (Hacker nón en) Vì tính ch t ph bi n c a thu t ng hacker, nên trong ph n trình bày, lu n v n s s d ng “hacker” thay cho “k t n công II.HTTP HEADER HTTP header là ph n u (header) c a thông tin mà trình khách và trình ch g i cho nhau Nh ng thông tin trình khách g i cho trình ch c g i là HTTP requests (yêu c u) còn trình ch g i cho trình khách là HTTP responses (tr l i) Thông th ng, m t HTTP header g m... firewall, lu ng thông tin gi a trình ch và trình khách là lu ng thông tin h p l Vì th , n u hacker tìm th y vài l h ng trong ng d ng Web thì firewall không còn h u d ng trong vi c ng n ch n hacker này Do ó, các k thu t t n công vào m t h th ng m ng ngày nay ang d n t p trung vào nh ng s su t (hay l h ng) trong quá trình t o ng d ng c a nh ng nhà phát tri n Web h n là t n công tr c ti p vào h th ng m... ang phát tri n nhanh chóng (ch y u chú tr ng n y u t th m m , y u t t c …) nên d n n nhi u khuy t i m m i phát sinh S t n công không n m trong khuôn kh vài k thu t ã phát hi n, mà linh ng và t ng lên tùy vào nh ng sai sót c a nhà qu n tr h th ng c ng nh c a nh ng ng Lu n v n i l p trình ng d ng c th c h ên v i m c ích tìm hi u, phân tích các l h ng b o m t trong các ng d ng web (cùng v i ch ng trình. .. cho trang web L p ng d ng: là n i x lý c a ng d ng Web Nó s x lý thông tin ng yêu c u, a ra quy t c cài nh, g i k t qu t b ng các k ColdFusion, i dùng n “l p trình bày” L p này th thu t l p trình nh ng CGI, Java, NET , PHP hay c tri n khai trên các trình ch nh IBM WebSphere, WebLogic, Apache, IIS… L p d li u: th ng là các h qu n tr d li u (DBMS) ch u trách nhi m qu n lý các file d li u và quy n s d ng... h th ng không hay bi t nh ng cu c t n công ang nh m vào h th ng c a h i n hình là cu c t n công vào ph n m m th ng m i c a IBM tháng 3/2001, hai hacker ã tìm th y l h ng trên ng d ng mà b t c ai v i m t trình duy t Web c ng có th l y tài kho n c a ng Không ch s l i dùng, th m chí c ng i qu n tr ng các cu c t n công t ng lên nhanh chóng, mà các ph ng pháp t n công ngày càng tinh vi và có t ch c M... N CÔNG VÀ BI N PHÁP PHÒNG CH NG Ph n này g m có 9 ch ng t ch ng 4 lu n v các k thu t t n công, cu i m i ch thu t Ch n ch ng 12 trong ó 7 ch ng u bàn ng là bi n pháp phòng ch ng cho t ng k ng 11 nói v quá trình t n công c a hacker và các bi n pháp phòng ch ng chung nh t -Trang 9- n ch ng 12 là n i dung Khoa CNTT Nghiên c u m t s v n Ph n th ba : CH Là g m ch v b o m t ng d ng Web trên Internet NG TRÌNH... các k thu t t n công trang Web và cách phòng ch ng Do ó, trong ch ng khái ni m c b n và ây chính là n n t ng I KHÁI NI M u tiên lu n v n s gi i thi u s l NG D NG WEB t ng tác v i i dùng hay h th ng khác Trình khách dành cho ng i s d ng th ng là m t trình duy t Web nh Internet Explorer hay Netscape Navigator C ng có th là m t ch lý ng i dùng ho t ng nh m t trình duy t t thông tin t trình ch thông qua . chng trình minh ha) đ qua đó đ xut các phng án sa cha. Song song đó, lun vn còn thc hin mt chng trình “T đng phát hin l hng trên ng dng Web” giúp ích cho nhng nhà lp trình. ba : CHNG TRÌNH “WEB CHECKER” Là gm chng cui trình bày, gii thích v chng trình Kt thúc lun vn là phn kt lun, tóm lc li nhng vn đ đã trình bày và mt s hng phát trin trong. e-mail… Tc đ phát trin các k thut xây dng ng dng Web cng phát trin rt nhanh. Trc đây nhng ng dng Web thng đc xây dng bng CGI (Common Gateway Interface) đc chy trên các trình ch