Luận văn Tìm hiểu các cơ chế để bảo mật hệ thống thương mại điện tử Web Security

Ngàynay, nhờcó internet, cuộc sống con người được cải thiện rất nhiều,trao đổi thông tin nhanh hơn và thuận tiện hơn. Thương mại điện tửtrên thếgiới đang có xu hướng phát triển mạnh. Kỹthuật sốgiúp con người tiết kiệm đáng kểcác chi phí như chi phí vận chuyển trung gian, chi phí giao dịch và đặc biệt là giúp tiết kiệm nguồn nhân lực và thời gian đểcon người có thể đầu tưvào các hoạt động khác. Do đó, lợi nhuận con người kiếm được gia tăng gấp bội. Không những thế, thương mại điện tửcòn giúp con người có thểtìm kiếm tự động theo nhiều mục đích khác nhau, tự động cung cấp thông tin theo nhu cầu và sởthích của con người Giờ đây, con người có thểngồi tại nhà đểmua sắm mọi thứtheo ý muốn. Khi Internet được phổbiến rộng răi, các tổchức, cá nhân đều có nhu cầu giới thiệu thông tin của ḿình trên xa lộthông tin cũng nhưthực hiện các phiên giao dịch trực tuyến. Vấn đềnảy sinh là khi phạm vi ứng dụng của các ứng dụng Web ngày càng mở rộng thì khảnăng xuất hiện lỗi và bịtấn công càng cao, trởthành đối tượng cho nhiều người tấn công với các mục đích khác nhau. Nhưphá hoại , đánh cắp thông tin mật , ăn cắp tài khoản ,làm mất uy tín của công ty gây nhiều tổn hại nặng nề.Đôi khi, cũng chỉ đơn giản là đểthửtài hoặc đùa bỡn với người khác nhưng không lường trước được hậu quả.

pdf114 trang | Chia sẻ: tuandn | Lượt xem: 2481 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu các cơ chế để bảo mật hệ thống thương mại điện tử Web Security, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 1  Lời cảm ơn Sau gần 3 tháng nỗ lực thực hiện, luận văn nghiên cứu “tìm hiểu các cơ chế để bảo mật hệ thống thương mại điện tử - web security ” đã phần nào hoàn thành. Ngoài sự cố gắng hết mình của bản thân, tôi đã nhận được sự khích lệ rất nhiều từ phía nhà trường, thầy cô, gia đình và bạn bè. Trước hết con xin cám ơn ba mẹ đã luôn động viên và tạo mọi điều kiện tốt để con học tập và hoàn thành luận văn tốt nghiệp này. Em xin cám ơn thầy cô trường Đại Học Kỷ Thuật Công Nghệ đã truyền đạt những kiến thức quý báu cho em trong suốt quá trình học tập. Đặc biệt, em xin bày tỏ lòng chân thành sâu sắc đến thầy Huỳnh Quốc Bảo, người đã tận tình hướng dẫn và giúp đỡ em trong quá trình làm luận văn tốt nghiệp. Xin cám ơn tất cả bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn thành tốt luận văn tốt nghiệp này. Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 2  MỤC LỤC TỔ CHỨC LUẬN VĂN.......................................................................................8 CHƯƠNG 1: TÌM HIỂU ỨNG DỤNG WEB ........................................................9 1.1. Kiến trúc cơ bản của ứng dụng web ............................................................9 1.2. Hoạt động của ứng dụng web...................................................................10 1.3. Kết nối với các cơ sở dữ liệu......................................................................12 CHƯƠNG 2 : TÌM HIỂU QUÁ TRÌNH TẤN CÔNG CỦA HACKER ..................14 2.1. Các quy trình : ..........................................................................................14 2.2. Kết luận.....................................................................................................19 CHƯƠNG 3 : TÌM HIỂU TẤN CÔNG CHÈN THAM SỐ ...................................20 3.1. HTML Form Field Manipulation – thao tác trên biến ẩn form ...................21 3.1.1 Khái niệm ........................................................................................................ 21 3.1.2. Kĩ thuật phòng chống ..................................................................................... 22 3.2. URL Manipulation – thao tác trên URL :...................................................23 3.2.1 Khái niệm ........................................................................................................ 23 3.2.2. Kĩ thuật phòng chống ..................................................................................... 24 3.3. HTTP Header Manipulation – thao tác trên HTTP header: ......................25 3.3.1 Khái niệm : ...................................................................................................... 25 3.3.2. Kĩ thuật phòng chống ..................................................................................... 29 3.4. Hidden Manipulation - Thao tác vùng ẩn..................................................29 3.4.1. Khái niệm ....................................................................................................... 29 3.4.2. Cách phòng chống .......................................................................................... 29 CHƯƠNG 4 : TẤN CÔNG TRÀN BỘ ĐỆM BUFFER OVERFLOW ATTACKS 31 4.1. Buffer Overflow Attacks ............................................................................31 4.2. Cách phòng chống...................................................................................32 Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 3  CHƯƠNG 5 : CHÈN MÃ THỰC THI TRÊN TRÌNH DUYỆT CROSS SITE SCRIPTING ..............................................................................33 5.1. Khái niệm XSS..........................................................................................33 5.2. Phương thức hoạt động XSS ......................................................................33 5.3. Truy tìm lổ hổng XSS của ứng dụng web.................................................36 5.4. Các bước thực hiện tấn công XSS : ...........................................................37 5.5. Cách phòng chống....................................................................................38 CHƯƠNG 6 : TẤN CÔNG PHIÊN LÀM VIÊC...................................................40 6.1. Sự ra đời và khái niệm ..............................................................................40 6.1.1. Sự ra đời của session ...................................................................................... 40 6.1.2. Khái niệm : ..................................................................................................... 40 6.2. Cơ chế tấn công phiên làm việc .................................................................41 6.2.1. Ấn định phiên làm việc( session fixation) ..................................................... 41 6.2.2. Đánh cắp phiên làm việc( session hijacking) ................................................ 43 6.3. Cách phòng chống :..................................................................................46 CHƯƠNG 7: CHÈN CÂU TRUY VẤN - SQL INJECTION.................................48 7.1. Khái niệm SQL injection ...........................................................................48 7.2 Các cách tấn công .....................................................................................48 7.2.1. Dạng tấn công vượt qua kiểm tra đăng nhập.................................................. 48 7.2.2. Tấn công dưa vào câu lệnh SELECT............................................................. 52 7.2.3. Tấn công dựa vào câu lệnh kết hợp UNION.................................................. 53 7.2.4. Dạng tấn công sử dụng câu lệnh INSERT..................................................... 54 7.2.5. Dạng tấn công sử dụng stored-procedures ..................................................... 55 7.3. Cách phòng tránh .....................................................................................56 7.3.1. Kiểm soát chặt chẽ dữ liệu nhập vào.............................................................. 56 7.3.2. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu ............................... 58 CHƯƠNG 8 : TẤN CÔNG TỪ CHỐI DỊCH VỤ - DENY of SERVICES............59 8.1. Khái niệm về Tcp bắt tay ba chiều: ..........................................................59 8.2. Tấn công kiểu SYN flood..........................................................................60 Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 4  8.3. Kiểu tấn công Land Attack........................................................................62 8.4. Kiểu tấn công UDP flood ..........................................................................62 8.5. Flood Attack..............................................................................................62 8.6. Tấn công kiểu DDoS (Distributed Denial of Service)................................63 8.7. Tấn công DRDoS (Distributed Reflection Denial of Service) – Tấn công từ chối dịch vụ phản xạ nhiều vùng. ....................................................................65 8.8. Tấn công các nguồn tài nguyên khác.......................................................67 8.9. Các cách phòng chống.............................................................................68 CHƯƠNG 9 : NHỮNG KẾT LUẬN TRONG QUÁ TRÌNH PHÒNG CHỐNG....70 9.1. Nhiệm vụ nhà quản trị mạng.....................................................................70 9.2 .Nhiệm vụ người thiết kế ứng dụng web ....................................................71 9.3. Nhiệm vụ người sử dụng ứng dụng web...................................................72 CHƯƠNG 10: GIỚI THIỆU CÁC GIẢI PHÁP BẢO MẬT HỆ THỐNG MẠNG .73 10.1. Firewall (Bức tường lửa) .........................................................................73 10.1.1. Giới thiệu về firewall ................................................................................... 73 10.1.2. Phân loại Firewall......................................................................................... 73 10.1.3. Sản phầm của Firewall................................................................................ 74 10.1.4. Chức năng chính của Firewall ..................................................................... 76 10.1.5 Các kỹ thuật dùng trong Firewall.................................................................. 77 10.2 Intrusion detection system (Hệ thống phát hiện xâm nhập) ....................83 10.2.1 Khái niệm: ..................................................................................................... 83 10.2.2. Mô hình hoạt động. ...................................................................................... 84 10.2.2.1 Chi tiết về IDS ........................................................................................ 85 10.2.2.2 Đánh giá về mức độ an toàn của hệ thống:............................................. 86 10.2.2.3 Khả năng phát triển trong tương lai:....................................................... 86 10.3. Intrusion Prevension System ( Hệ thống ngăn chặn xâm nhập) .............87 10.3.1 Khái niệm: ..................................................................................................... 87 10.3.1.1 Chức năng:.............................................................................................. 87 10.3.1.2. Mô hình lý luận: .................................................................................... 88 Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 5  10.3.2 Mô hình hoạt động: ....................................................................................... 88 10.3.3. Các thành phần của IPS:............................................................................... 89 10.3.3.1. Phân tích sự hoạt động liên thành phần:................................................ 89 10.3.3.2. Đánh giá về mức độ an toàn của hệ thống: .......................................... 90 10.3.3.3 Khả năng phát triển trong tương lai:....................................................... 90 CHƯƠNG 11: DEMO THỰC TẾ CÀI ĐẶT VÀ CẤU HÌNH TƯỜNG LỬA “IPCOP” ...........................................................................................................91 11.1. Giới thiệu ................................................................................................91 11.2.Triển khai IPCOP firewall/ IDS.................................................................94 11.3. Quản trị IPCOP firewall/IDS ................................................................103 KẾT LUẬN .....................................................................................................113 TÀI LIỆU THAM KHẢO..................................................................................114  Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 6  GIỚI THIỆU Ngày nay, nhờ có internet, cuộc sống con người được cải thiện rất nhiều, trao đổi thông tin nhanh hơn và thuận tiện hơn. Thương mại điện tử trên thế giới đang có xu hướng phát triển mạnh. Kỹ thuật số giúp con người tiết kiệm đáng kể các chi phí như chi phí vận chuyển trung gian, chi phí giao dịch… và đặc biệt là giúp tiết kiệm nguồn nhân lực và thời gian để con người có thể đầu tư vào các hoạt động khác. Do đó, lợi nhuận con người kiếm được gia tăng gấp bội. Không những thế, thương mại điện tử còn giúp con người có thể tìm kiếm tự động theo nhiều mục đích khác nhau, tự động cung cấp thông tin theo nhu cầu và sở thích của con người… Giờ đây, con người có thể ngồi tại nhà để mua sắm mọi thứ theo ý muốn. Khi Internet được phổ biến rộng răi, các tổ chức, cá nhân đều có nhu cầu giới thiệu thông tin của ḿình trên xa lộ thông tin cũng như thực hiện các phiên giao dịch trực tuyến. Vấn đề nảy sinh là khi phạm vi ứng dụng của các ứng dụng Web ngày càng mở rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao, trở thành đối tượng cho nhiều người tấn công với các mục đích khác nhau. Như phá hoại , đánh cắp thông tin mật , ăn cắp tài khoản ,làm mất uy tín của công ty … gây nhiều tổn hại nặng nề .Đôi khi, cũng chỉ đơn giản là để thử tài hoặc đùa bỡn với người khác nhưng không lường trước được hậu quả. Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 7  Cùng với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số lượng các vụ tấn công trên Internet cũng tăng theo cấp số nhân. Trong khi các phương tiện thông tin đại chúng ngày càng nhắc nhiều đến những khả năng truy nhập thông tin của Internet, thì các tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và an toàn dữ liệu cho các máy tính được kết nối vào mạng Internet. Công nghệ Web đang phát triển nhanh chóng , tuy nhiên theo thị hiếu, chỉ chủ yếu chú trọng đến yếu tố thẩm mĩ, yếu tố tốc độ , sự tiện dụng … nên dẫn đến nhiều khuyết điểm về sự bảo mật và độ an toàn . 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ười lập trình ứng dụng và cả đối với người sử dụng. Luận văn đượ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 để qua đó đề xuất các phương án khắc phục. Song song đó, luận văn sẽ DEMO bằng một chương trình mã nguồn mở dựa trên cơ chế của firewall và IDS rất hữu ích cho những người quản trị bảo mật hệ thống. Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 8  TỔ CHỨC LUẬN VĂN Luận văn được chia thành 11 chương Chương đầu tiên tìm hiểu và giới thiệu các ứng dụng web cơ bản, các vấn đề cơ bản làm nền tảng cho các kiến thức tấn công các lổi bảo mật Từ chương 2 đến chương 8 : Tìm hiểu quá trình và các phương pháp tấn công của hacker, từ đó tìm ra các biện pháp phòng chống khắc phục . Chương 9 đến chương 10: Rút ra kết luận quá trình bảo mật phòng chống chung và giới thiệu các giải pháp, công nghệ bảo mật như firewall, IDS, IPS… cho những nhà quản trị hệ thống Chương cuối là thực hiện Demo triển khai và cấu hình firewall IPCOP trên hệ thống mạng máy tính ảo. Thử nghiệm các phương pháp tấn công, sau đó dùng hệ thống IDS tích hợp sẵn IPCOP để phát hiện tấn công đó. Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 9  CHƯƠNG 1: TÌM HIỂU ỨNG DỤNG WEB Web application là một ứng dụng, thường bao gồm một tập hợp các script cư trú ở Web server và tương tác với database hay các nguồn nội dung động khác (dynamic content). Ứng dụng này nhanh chóng được sử dụng rộng rãi vì nó cho phép nhà cung cấp dịch vụ và khách hàng chia sẻ và vận dụng thông tin theo các độc lập nền thông qua cơ sở hạ tầng của Internet. Một vài ví dụ về web application như: công cụ search, Webmail, shopping cart và portal system. 1.1. Kiến trúc cơ bản của ứng dụng web Về cơ bản, một ứng dụng web bao gồm vài thành phần, các thành phần này là một web server, nội dung ứng dụng có trên 1 web server, và tiêu biểu là nơi lưu trử dử liệu cuối cùng cho các giao diện và truy cập ứng dụng. Đây là mục tiêu rất cơ bản của ứng dụng. Kiến trúc ứng dụng web được tạo bởi các thành phần sau : - Web server - Nội dung ứng dụng (Application content) - Lưu trữ dử liệu (datastore) 1.1.1. Web server Web server là dịch vụ chạy trên máy tính phục vụ nội dung web. Dịch vụ này tiểu biểu lắng nghe trên các cổng 80 cho giao thức http hoặc trên cổng 443 ( https). Đôi khi các webserver cũng chạy trên các cổng không chuẩn. Microsoft’s Internet Imformation Server(IIS) và Apache là ví dụ về các webserver hiên nay. Nó được chú Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 10  Hầu hết việc truyền thông các web servers sử dụng Hyper Text Tranfer Protocol (giao thức truyền siêu văn bản - HTTP) và các yêu cầu được tiền tố đặt trước là “ http://”. Các thông tin của HTTP được tìm thấy trong RFC 2616 và RFC 1945 Ý tưởng ứng dụng web chạy trên giao thức SSL webserver sẽ được truy cập bằng giao thức HTTPS( Hyper Text Transfer Protocol Secure) với tiếp đầu ngữ là “ https://”. Thông tin tìm thấy từ RFC 2818 1.1.2. Application Content ( nội dung ứng dụng ) Nội dung ứng dụng là một chương trình tác động để lấy các yêu cầu và sử dụng các tham số được gởi bởi trình duyệt để thực hiện một chức năng nào đó. Nội dung của ứng dụng tồn tai trên webserver. Nội dung ứng dụng là một nội dung không cố định hay đúng hơn là nội dung lập trình logic hay nội dung mà thực hiện các hành động khác nhau dựa trên tham số được gởi từ client. Theo cách này, các chương trình sẽ được thực thi hoặc được biên dịch khác nhau rất lớn. Ví du, PHP là một trình biên dịch được ghi vào trong hệ nhị phân máy chủ web và sự tác động các kịch bản PHP là khi được biên dịch bởi máy chủ web của chính nó. CGI là một chương trình lưu trú trong một thư mục đặ biệt của máy chủ web và khi những yêu cầu được tạo ra trang đó, máy chủ web thực thi các lệnh. Trong một số trường hợp, các chương trình trong thư mục CGI sẽ trở thành kịch bản PERL. Những trường hợp này máy chủ web sẽ thực hiện phiên dịch PERL mà nó sẽ xử lý từng đặc điểm các chức năng trong kịch bản đó. 1.1.3.The Data Store ( lưu trữ dử liệu) Data Store là đặc trưng của cơ sở dử liệu, nhưng nó có thể là mọi thứ, flat files, lệnh xuất dử liệu, về cơ bản mọi thứ mà ứng dụng truy cập để nhận hoặc lưu trử dử liệu. Data store có thể lưu trú trên một máy tính hoàn toàn khác nhau so với web server chỉ chạy trên nó. Web server và data store không cần thiết phải trên cùng một network, chỉ cần tiếp cận nhau qua một kết nối mạng. 1.2. Hoạt động của ứng dụng web Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Hình bên dưới minh họa mô hình ứng dụng Web ba tầng. Tầng đầu tiên thông thường là trình duyệt Web hoặc giao diện người dùng. Tầng thứ hai là công nghệ kỹ thuật tạo nội dung động như Java servlets (JSP) hay Active Server Pages (ASP). Còn tầng thứ ba là cơ sở dữ liệu chứa nội dung và dữ liệu người dùng (như username, password, mã số bảo mật xã hội, chi tiết thẻ tín dụng). Hình 1-1: kiến trúc một ứng dụng web Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Server). Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu. Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua trình duyệt. Trang 11  Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc Bảo SVTH: Lê Bá Quý – MSSV: 02DHCT078 Trang 12  1.3. Kết nối với các cơ sở dữ liệu Một ứng dụng phải được viết trong một ngôn ngữ chủ được hổ trợ bởi hệ thống đặc biệt.Mổi DBMS(Database Managerment System) có cách sở hữu những ứng dụng được cho phép sử dụng nó. Ưu điểm của SQL làm dể dàng các nhà phát triển để chuẩn hóa dử liệu định nghĩa và dử liệu thao tác và hầu hết các nhà quản trị cơ sở dử liệu chon SQL là ngôn ngữ truy vấn của họ. Tuy nhiên , ứng dụng và sự phân chia cơ sở dử liệu chỉ đạt được ưu điểm của mô hình lập trình Client-Server. Giao diện ứng dụng với cơ sở dử liệu bằng phương pháp kết nối cơ sỏ dử liệu APIs cung cấp với ngôn ngữ lập trình được sử dụng để phát triển ứng dụng. Những bộ kết nối cơ sở dử liệu APIs là có thể lưu trữ những thông tin kết nối cơ sở dử liệu và ủy nhiệm thư, và c