MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG VÀO TRANG WEB VÀ CÁCH PHỒNG CHỐNG

67 1.2K 3
MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG VÀO TRANG WEB  VÀ CÁCH PHỒNG CHỐNG

Đ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

MỤC LỤC MỤC LỤC .1 MỤC LỤC HÌNH GIỚI THIỆU CHƯƠNG I: TỔNG QUAN VỀ WEB VÀ CÁC NGUY CƠ TẤN CÔNG ỨNG DỤNG WEB I.1 TỔNG QUAN VỀ WEB I.1.1 Khái niệm ứng dụng Web I.1.2 Các vấn đề liên quan đến ứng dụng Web 11 I.1.3 Mô tả hoạt động ứng dụng Web .11 I.2 CÁC KHÁI NIỆM THUẬT NGỮ LIÊN QUAN 12 I.2.1 Hacker 12 I.2.2 HTTP HTTPS 12 I.2.3 Session 14 I.2.4 Cookie 15 I.2.5 Poxy .16 I.2.6 Firewall 17 I.3 GIỚI THIỆU SƠ LƯỢC VỀ CÁC KĨ THUẬT TẤN CÔNG ỨNG DỤNG WEB 17 I.3.1 Kiểm soát truy cập Web(Web Access Control) 17 I.3.2 Chiếm hữu phiên làm việc(Session Mangement) 17 I.3.2.1 Ấn định phiên làm việc (Session Fixation) .17 I.3.2.2 Đánh cắp phiên làm việc (Session Hijacking) 17 I.3.2.3 Lợi dụng thiếu sót việc kiểm tra liệu nhâp hợp lệ (Input validation) 18 I.3.2.3.1 Kiểm tra tính đắn liệu ngôn ngữ phía trình duyệt (Client-Side validation) 18 -1- I.3.2.3.2 Tràn đệm (Buffer OverFlow) 18 I.3 SƠ LƯỢC VỀ QUÁ TRÌNH TẤN CÔNG CỦA HACKER 18 I.3.1 Các giai đoạn công 18 I.3.2 Khảo sát ứng dụng Web 20 I.3.3 Tấn công mục tiêu 22 I.4 SƠ LƯỢC VỀ CÁC KĨ THUẬT TẤN CÔNG ỨNG DỤNG WEB 23 I.4.1 Kiểm soát truy cập web (Web Access Control) 23 I.4.2 Chiếm hữu phiên làm việc (Session Mangement) 23 I.4.2.1 Ấn định phiên làm việc (Session Fixation) .23 I.4.2.2 Đánh cắp phiên làm việc (Session Hijacking) 23 I.4.3 Lợi dụng thiếu sót việc kiểm tra liệu nhập hợp lệ (Input validation) .23 I.4.3.1 Kiểm tra tính đắn liệu ngôn ngữ phía trình duyệt (Client-Side validation) 23 I.4.3.2 Tràn đệm (Buffer OverFlow) .23 I.4.3.3 Mã hoá URL (URL Encoding) .23 I.4.3.4 Kí tự Meta (Meta-characters) 24 I.4.3.5 Vượt qua đường dẫn (Path Traversal): 24 I.4.3.6 Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross- Site Scripting): .24 I.4.3.7 Thêm câu lệnh hệ thống (OS Command Injection): .24 I.4.3.8 Chèn câu truy vấn SQL (SQL Injection) 24 I.4.3.9 Ngôn ngữ phía máy chủ (Server side includes) 24 I.4.3.10 Kí tự rỗng (Null Characters) 25 I.4.3.11 Thao tác tham số truyền (Paramet manipulation) 25 I.5 Để lộ thông tin (informational) 25 I.6 Từ chối dich vụ (Denial of service (DoS) 25 -2- Chương II: KỸ THUẬT TẤN CÔNG VÀO CÁC LỖ HỔNG TRÊN WEBSITE VÀ CÁCH PHÒNG CHỐNG .27 II.1 THỰC TRẠNG AN NINH MẠNG TẠI VIỆT NAM HIỆN NAY VÀ DỰ BÁO XU HƯỚNG AN NINH MẠNG NĂM 2011 27 II.1.2 Các công hacker thiệt hại mà gây Việt Nam 28 II.1.3 Dự báo xu hướng an ninh mạng năm 2011 30 II.2 SƠ LƯỢC VỀ MỘT SỐ BIỆN PHÁP KIỂM TRA AN TOÀN WEB .31 II.2.1 Webscarab 31 II.2.2 WebGoat .34 II.2.3 Burp Suite .35 II.3 CÁC KỸ THUẬT TẤN CÔNG CỦA HACKER VÀO LỖ HỎNG TRÊN TRANG WEB VÀ BIỆN PHÁP PHÒNG CHỐNG 35 II.3.1 Tấn công chèn câu truy vấn SQL Injection biện pháp phòng chống 35 II.3.1.1 SQL Injection gì? .35 II.3.1.2 Các dạng công SQL Injection 36 II.3.1.2.1 Dạng công vượt qua kiểm tra đăng nhập 36 II.3.1.2.2 Dạng công sử dụng câu lệnh SELECT 38 II.3.1.2.3 Dạng công sử dụng câu lệnh INSERT 39 II.3.1.2.4 Dạng công sử dụng stored-procedures 40 II.3.1.3 Cách phòng tránh 40 II.3.1.3.1 Kiểm soát chặt chẽ liệu nhập vào 41 II.3.1.3.2 Thiết lập cấu hình an toàn cho hệ quản trị sở liệu 42 II.3.2 Chèn mã lệnh thực thi trình duyệt Cross-Site Scripting .43 II.3.2.1Tấn công Cross-Site Scripting 43 II.3.2.2 Phương pháp công XSS truyền thống .45 II.3.2.3 Cách phòng ngừa 46 -3- II.3.3 Chiếm hữu phiên làm việc (Session Management) .47 II.3.3.1 Tổng quan Session ID .47 II.3.3.2 Ấn định phiên làm việc 48 II.3.3.3 Đánh cắp phiên làm việc 50 II.3.3.4 Cách phòng ngừa 50 II.3.4 Từ chối dịch vụ (DOS) 51 II.3.4.1 Khái niệm công kiểu DoS (Denial of Service) 51 II.3.4.2 Các kỹ thuật công .52 II.3.4.2.1 Khái niệm Tcp bắt tay ba chiều 52 II.3.4.2.2 Lợi dụng TCP thực phương pháp SYN flood truyền thống .53 II.3.4.2.3 Tấn công vào băng thông 53 II.3.4.2.4 Kiểu công vào tài nguyên hệ thống 55 II.3.4.3 Cách phòng ngừa 56 II.3.5 MỘT SỐ KĨ THUẬT TẤN CÔNG KHÁC 57 II.3.5.1 Mã Hóa URL (URL Encoding) .57 II.3.5.1.1 Khái niệm 57 II.3.5.1.2 Một số biện pháp phòng chống 58 II.3.5.2 Kiểu công vượt đường dẫn 58 II.3.5.2.1 Khái niệm 58 II.3.5.2.2 Một số biện pháp phòng chống 58 II.3.5.3 TẤN CÔNG DỰA VÀO KÍ TỰ RỖNG .58 II.3.5.3.1 Khái niệm 58 II.3.5.3.2 Một số biện pháp phòng chống 58 II.3.5.4 Ngôn ngữ phía trình chủ 59 II.3.5.4.1 Khái niệm 59 II.3.5.4.3 Cách công 59 -4- II.3.5.4.4 Biện pháp phòng chống 59 II.4 TỔNG KẾT QUÁ TRÌNH TẤN CÔNG CỦA HACKER 60 II.4.1 Thu thập thong tin mức hạ tầng mục tiêu 60 II.4.2 Khảo sát ứng dụng web 61 II.4.3 Tấn công .62 II.5 TỔNG KẾT CÁC BIỆN PHÁP PHÒNG CHỐNG 63 II.5.1 Với nhà quản trị mạng 63 II.5.2 Với nhà thiết kế ứng dụng WEB 64 II.5.3 Với người sừ dụng Web 66 -5- MỤC LỤC HÌNH Hình I.1 Một số ứng dụng web thường có kiến trúc Hình I.2 Mô hình hoạt động ứng dụng Web .10 Hình 1.3 Quá trình công hacker 18 Hình II.1 Giao diện báo điện tử VietNamNet bị công 29 Hình II.2 Quá trình thực XSS 46 Hình II.3 Quá trình công người dùng kỹ thuật ấn định session 48 Hình II.4 Tấn công Session ID tham số URL 49 Hình II.5 Cơ chế thiết lập kết nối trước truyền số liệu .52 Hình II.6 Tấn công DoS truyền thống .53 Hình II.7 Tấn công DDoS 54 Hình II.8 Tấn công DrDoS 55 -6- GIỚI THIỆU Ngày nay, Internet phổ biến rộng rãi ,các tổ chức 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 vi phạm ứng dụng ứng dụng web ngày mở rộng khả xuất lỗi 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 đơ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ụ Internet, số lượng dịch 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 cập thông tin Internet, tài liệu chuyên môn bắt đầu đề cập đến nhiều vấn đề bảo đảm an toàn liệu cho máy tính kết nối vào mạng Internet Vì vấn đề bảo đảm an toàn liệu cho máy tính kết nối vào mạng Internet cần thiết nhằm mục đích bảo vệ liệu, bảo vệ thông tin doanh nghiệp, người dùng bảo vệ hệ thống Tuy có nhiều cố gắng từ nhà lập trình Web đảm bảo ngăn chặn toàn công nghệ Web phát triển nhanh chóng (chủ yếu 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 phát sinh Sự công không nằm vài khuôn khổ 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 Vì vậy, đề tài thực với mục đích tìm hiểu, phân tích lỗ hổng bảo mật ứng dụng Web * Mục tiêu nhiệm vụ  Tìm hiểu vấn đề liên quan đến hoạt động ứng dụng Web  Tìm hiểu kỹ thuật công ứng dụng Web như: SQL Injection, Session, DOS  Xây dựng ứng dụng Web Demo thể cách công kỹ thuật SQL Injection đưa giải pháp fix lỗ hổng chương trình  Kết thực hiện: nắm rõ chất cách thức công vào ứng dụng Web, áp dụng vào thực tế để hạn chế thấp khả bị công ứng dụng Web triển khai -7- * Đối tượng phạm vi nghiên cứu  Cở sở lý thuyết liên quan hoạt động ứng dụng Web  Các mô hình công đặc trưng vào ứng dụng Web  Kỹ thuật vượt qua cửa sổ đăng nhập  Kỹ thuật lợi dụng câu lệnh Select, Insert  Kỹ thuật dựa vào Stored Procedure  Các giải pháp phòng ngừa mức quản trị người lập trình ứng dụng  Ngôn ngữ ASP.NET, SQL Server 2005 * Phương pháp nghiên cứu  Tổng hợp tìm hiểu, nghiên cứu từ tư liệu liên quan  Phân tích, đánh giá kỹ thuật công Đưa giải pháp phòng ngừa mức  Thiết kế table sở liệu, xây dựng ứng dụng Web Demo thể cách công SQL Injection * Ý nghĩa thực tiễn đề tài  Về mặt lý thuyết, đề tài thể rõ cách công thường hacker sử dụng để công vào ứng dụng Web từ trước đến nay, sử dụng tiếp thời gian dài tương lai  Về mặt thực tiển, với cách công hacker tìm hiểu, nghiên cứu báo cáo này, áp dụng tốt phương pháp phòng ngừa đề tài nêu góp phần nâng cao khả bảo vệ ứng dụng Web trước nguy công kẽ xấu * Bố cục luận văn tốt nghiệp Luận văn tốt nghiệp chia thành chương: Chương 1: TỔNG QUAN VỀ WEB VÀ CÁC NGUY CƠ TẤN CÔNG ỨNG DỤNG WEB Chương 2: MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG VÀO TRANG WEB VÀ CÁCH PHỒNG CHỐNG Chương 3: XÂY DỰNG ỨNG DỤNG DEMO SQL INJECTION VÀ DOS -8- CHƯƠNG I: TỔNG QUAN VỀ WEB VÀ CÁC NGUY CƠ TẤN CÔNG ỨNG DỤNG WEB I.1 TỔNG QUAN VỀ WEB I.1.1 Khái niệm ứng dụng Web Ứ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 Trình khách dành cho người sử dụng thường trình duyệt web Internet Explorer hay Netscape Navigator Cũng chương trình đóng vai trò đại lý người dùng hoạt động trình duyệt tự động Người dùng gửi nhận thông tin từ trình chủ thông qua việc tác động vào trang Web Các chương trình trang trao đổi mua bán, diển đàn ,gửi nhận e-mial… Tốc độ phát triển kỷ thuật xây dựng ứng dụng web phát triển nhanh.Trước ứng dụng web thường xây dựng CGI(Common Gateway Interface)được chạy trình chủ Web kết nối vào sỡ dử liệu đơn giản máy chủ Ngày nay, ứng dụng web thường viết Java( hay ngôn ngữ tương tự) chạy máy chủ phân tán, kết nối đến nhiều nguồn liệu Dù có nhiều biến thể, ứng dụng Web thông thường cấu trúc ứng dụng ba lớp: Hình I.1 Một số ứng dụng web thường có kiến trúc - Lớp trình bày:Lớp có nhiệm vụ hiển thị liệu cho người dùng, có thêm ứng dụng tạo bố cục cho trang web -9- - Lớp ứng dụng: 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 hay ColdFusion, triển khai trình chủ IBM WebSphere, WebLogic, Apache, IIS… - Lớp liệu : 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 Hình I.2 Mô hình hoạt động ứng dụng Web Kiến trúc ứng dụng Web Trong :  Trình khách (hay gọi trình duyệt): Internet Explorer, Nétcap Navigator  Trình chủ : Apache,IIS…  Hệ quản trị sỡ liệu : SQL, Server, MySQL, DB2,Access… Bên cạnh đó, gải pháp dùng để bảo vệ hệ thống mạng thường sữ dụng tường lửa, có vai trò lớp rào chắn bên hệ thống mạng, chức firewall kiểm soát luồng thông tinh máy tính Có thể xem firewall lộc thông tin, xác định cho phép máy tính truy xuất đến máy tính khác hay không, hay mạng có truy xuất đến mạng hay không? Người ta thường dùng firewall vào mục đích:  Cho phép cấm dịch vụ truy xuất  Cho phép cấm dịch vụ từ truy nhập vào -10- Server bắt buộc phải gửi thông báo lại TCP chuẩn tin cậy nên máy không nhận thông báo nghĩ packet bị lạc gửi lại packet  Bước 3: Máy gửi hồi đáp gói tin ACK, báo cho máy chủ biết máy nhận SYN/ACK packet lúc kết nối thiết lập II.3.4.2.2 Lợi dụng TCP thực phương pháp SYN flood truyền thống Hình II.6 Tấn công DoS truyền thống Bất gói tin SYN, máy chủ phải để phần tài nguyên hệ thống nhớ đệm để nhận truyền liệu cho đường truyền Tuy nhiên, tài nguyên hệ thống có hạn hacker tìm cách để hệ thống giới hạn Đây gọi half-open connection máy khách mở kết nối chừng Nếu máy chủ sau gửi trả gói tin SYN/ACK để thông báo chấp nhận kết nối cho máy yêu cầu địa IP máy yêu cầu giả mạo gói tin đến đích, nên máy chủ phải dành tài nguyên cho yêu cầu Sau thời gian không nhận phản hồi từ máy khách, máy chủ lại tiếp tục gửi gói tin SYN/ACK để xác nhận lần Và vậy, kết nối tiếp tục mở Nếu hacker gửi nhiều gói tin SYN đến máy chủ đến máy chủ tiếp nhận thêm kết nối lúc hệ thống hạn bị phá vỡ II.3.4.2.3 Tấn công vào băng thông Thường kiểu công sử dụng đường truyền mạng hacker thấp so với đường truyền máy đích (kiểu công vào băng thông lớn) 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 khiến cho đường truyền hệ thống đích không khả đáp ứng, không khả nhận gói tin -53- Phương pháp công kiểu từ chối dịch vụ gọi DDoS (từ chối dịch vụ phân tán), lúc nhiều máy phát động để gửi gói tin đến máy đích làm cho máy đích hạn bị loại khỏi mạng Internet, sơ đồ minh họa sau:ợ Hình II.7 Tấn công DDoS Đây cách thức công nguy hiểm 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 "ngốn" hết băng thông mục tiêu nháy mắt => DrDoS (Distributed Reflection Denial of Service) - Tấn công từ chối dịch vụ phản xạ nhiều vùng Mục tiêu DrDoS chiếm đoạt toàn băng thông máy đích, tức làm tắc nghẽn hoàn toàn đường kết nối từ máy đích vào xương sống Internet làm tiêu hao tài nguyên Trong suốt trình máy đích bị công DrDoS, không máy khách kết nối vào máy đích Tất dịch vụ chạy TCP/IP DNS, HTTP, FTP, POP3, bị vô hiệu hóa -54- Hình II.8 Tấn công DrDoS Bằng cách giả địa IP máy đích, hacker lúc gửi nhiều gói tin đến hệ thống máy mạnh mạng Yahoo, Micorosoft,… chẳng hạn Các hệ thống nhận gói tin SYN giả, chấp nhận kết nối gửi trả gói tin SYN/ACK để thông báo Vì địa IP gói tin SYN bị hacker sửa đổi thành địa IP máy đích nên gói tin SYN/ACK gửi cho máy đích Các server lớn, đường truyền mạnh vô tình đóng vai trò zoombies cho kẻ công Cùng lúc nhận nhiều gói tin, đường truyền máy đích không đủ khả đáp ứng, hệ thống máy đích từ chối nhận gói tin lúc hệ thống máy đích bị sụp đổ II.3.4.2.4 Kiểu công vào tài nguyên hệ thống Đây kiểu công nhằm vào tài nguyên hệ thống tài nguyên mạng CPU, nhớ, file hệ thống, tiến trình,… Hacker người dùng hợp lệ hệ thống, lượng tài nguyên giới hạn hệ thống Tuy nhiên, hacker lạm dụng quyền truy cập để yêu cầu thêm tài nguyên, 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ệ, không tiến trình để thực thi  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 -55- 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  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 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 thay đổi trực tiếp từ xa thông tin quan trọng thiết bị hay phá hoại thiết bị phần cứng router, switch,… II.3.4.3 Cách phòng ngừa Tấn công từ chối dịch vụ không khó thực hiện, khó phòng chống tính bất ngờ thường phòng chống bị động việc diễn Kiểu công khiến cho hệ thống bị phá vỡ vài phút hậu to lớn (ảnh hưởng kinh tế, uy tín,…) Đây kỹ thuật thường hacker sử dụng trường hợp chiếm quyền quản trị hệ thống thông tin, muốn phá hủy uy tín quan Việc giả mạo địa khiến cho hacker dễ dàng thực viêc công mà không sợ bị phát Thông thường kỹ thuật thực kèm theo hỗ trợ vài công cụ Ping of death, Tear drop,…  Các phương án phòng ngừa:  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 Cài đặt, quản lý thiết bị mạng hệ thống cách tối ưu Xác định mức độ ưu tiên đối tượng, đối tượng cần bảo vệ hệ thống là: Máy chủ dịch vụ, router, chương trình ứng dụng Web, hệ quản trị sở liệu, dịch vụ cung cấp,  Phòng ngừa điểm yếu ứng dụng Lỗi chủ yếu tìm thấy ứng dụng mạng nội Windows, chương trình Webserver, -56- DNS, hay SQL database Cập nhật vá yêu cầu quan trọng cho việc phòng ngừa  Thiết lập mức xác thực, hệ thống định mức, giới hạn người sử dụng nguồn tin mạng Mục đích ngăn ngừa trường hợp người sử dụng chủ ý muốn lợi dụng tài nguyên server để công server mạng server khác  Dùng tính lọc liệu, tính cho phép đặt rate limit router / firewall để loại bỏ packet không mong muốn, giảm lượng lưu thông mạng tải máy chủ, hạn chế số lượng packet vào hệ thống  Dùng số chế, công cụ, phần mềm để chống lại TCP SYN Flooding 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  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 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 Xây dựng triển khai hệ thống dự phòng II.3.5 MỘT SỐ KĨ THUẬT TẤN CÔNG KHÁC II.3.5.1 Mã Hóa URL (URL Encoding) II.3.5.1.1 Khái niệm Theo RFC 1738 định nghĩa URL RFC 2369 cho URIs, kí tự giới hạn sử dụng URL URI tập kí tự US-ASCII Theo RFC 1738, 2369 kí tự chữ số, kí tựđặc biệt “ $-_.+!*’() ” số kí tự dành riêng không bị mã hoá URL hay URIs Còn kí tựđặc biệt khác mã hóa khoảng trắng, < > ”…Sau trình chủ nhận liệu này, trình chủ tự động giải mã để thao tác bình thường Vậyhackercó thể lợi dụng URL mã hóa Những nhà phát triển ứng dụng thiết kế ứng dụng để kiểm tra liệu nhập vào người dùng có hợp lệ hay không, kí tựđặc biệc < > thẻ script thường dùng kĩ thuật công XSS bị lọai bỏ Vậy để hợp thức hóa nội dung liệu cần nhập, hacker thay nhập trựctiếp kí tựđặc biệt vào ô nhập họ nhập kí tựđã mã hoá theo chuẩn RFC 1738, RFC 2369 Như cách đó, hacker dễ dàng vượt qua kiểm soát -57- II.3.5.1.2 Một số biện pháp phòng chống Tránh sử dụng phương thức GET dùng GET, liệu dễ dàng thêm vào URL Vì thế, sử dụng phương thức POST Trong trường hợp URL bắt buộc sử dụng để chuyển liệu lên trình chủ, cần giới hạn kiểu liệu, nên kiểm tra liệu ứng dụng trước sử dụng Không nên sử dụng ngôn ngữ máy khách để kiểm tra tính đắn liệu II.3.5.2 Kiểu công vượt đường dẫn II.3.5.2.1 Khái niệm Nhiều ứng dụng sử dụng tập tin hệ thống trình chủ “lớp trình bày” để hiển thị thông tin lưu trử tạm thời Những tập tin bao gồm tập tin hình ảnh , tập tin HTML, hay ứng dụng CGI Thư mục WWW-ROOT thư mục gốc ảo bên trong bên ngòai WWW-ROOT Nếu ứng dụng không kiểm tra kí tự đặc biệt, thường sử dụng đường dẫn “/” ứng dụng có lỗ hổng cho kiểu công vượt đường dẫn Hacker yêu cầu trình chủ trả kết nội dung tập tin vật lí /etc/password… Tóm lại : Kiểu công dựa vào lỏng lẻo trình kiểm tra liệu URL, cookie, HTTP Header yêu cầu Lợi dụng quyền truy xuất tập tin ứng dụng, nhờđó hacker xem file lưu trữ hệ thống II.3.5.2.2 Một số biện pháp phòng chống Việc phòng chống kiểu công vượt đường dẫn thử thách lớn cho nhà ứng dụng hệ thống phân tán Tuy nhiên, cách phòng chống tốt Ứng dụng cần kiểm tra việc truy xuất file trước xuất kết cho trình duyệt II.3.5.3 TẤN CÔNG DỰA VÀO KÍ TỰ RỖNG II.3.5.3.1 Khái niệm Nhiều ứng dụng Web thường sử dụng ngôn ngữ lập trình C, Java để tạo modul xử lý công việc thao tác liệu nhập vào từ người dùng Lợi dụng kí tự kết thúc chuỗi mà hacker thêm vào chuỗi nhập để đánh lừa ứng dụng II.3.5.3.2 Một số biện pháp phòng chống -58- Cách để phòng chống trường hợp chấp nhận liệu hợp lệ Những kí tự “\” phải bị lọai bỏ trước ứng dụng sử dụng chúng II.3.5.4 Ngôn ngữ phía trình chủ II.3.5.4.1 Khái niệm SSI đoạn mã nhúng vào trang Web để yêu cầu trình chủ cung cấp thông tin điểm trang Tuy nhiên, SSI hỗ trợ hầu hết trình chủ, Apache IIS trình chủ hỗ trợ SSI Trang Web có sử dụng SSI thường lưu dạng shtml hoặc.stm (là phần mở rộng html hay htm) để báo hiệu cho trình chủ biết trang có sử dụng SSI để tiết kiệm thời gian xử lí cho trình chủ (không thời gian tìm kiếm) Quá trình thực xử lí trang Web yêu cầu: Nếu thị khác, trình chủ gửi nội dung trang Web cho trình duyệt với SSI, công việc theo bước sau:  Trình chủ nhận liệu phân tích liệu (tìm kiếm phân loại câu lệnh đặc biệt) để thị thực  Dưa câu lệnh mà trình chủ tìm thấy, trình chủ thực thi câu lệnh để trả kết cho trình duyệt  Trả kết cho trình duyệt Có khả thực hiện:  Nhận thông tin từ file chèn vào trang  Gán giá trị cho số biến  Gọi chương trình CGI II.3.5.4.3 Cách công Hacker lợi dụng ô nhập để chèn thêm vào đónội dung câu lệnh SSI Ví dụ : > Thiết lập câu lệnh Select Câu lệnh di chuyển trỏ đến dòng tập II.3.5.4.4 Biện pháp phòng chống -59- Với người quản trị, cấu hình lại trình chủ cho trình chủ không hỗ trợ SSI Với người lập trình, kiểm tra kĩ nội dung liệu gửitừ người dùng Loại bỏ kí tự < > # !…Tuy nhiên điều nên thực trình chủ, không nên kiểm tra tính đắn liệu ngôn ngữ phía trình khách, khả thay đổi nội dung trang Web II.4 TỔNG KẾT QUÁ TRÌNH TẤN CÔNG CỦA HACKER II.4.1 Thu thập thong tin mức hạ tầng mục tiêu Bước 1: FootPrinting (thu thập thông tin): Đây cách mà 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 v.v - 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 Unixclient, http://www.networksolutions.com/whois, nslookup Is -d , Sam spade, http://www.arin.net/whois, dig Bước 2: Scanning (Quét thăm dò): Phần lớn thông tin quan trọng từ server có từ bước , bao gồm quét cổng, 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): Bước thứ ba tìm kiếm tài nguyên bảo vệ kém, hoạch tài khoản người dùng mà 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 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 -60- 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 soát toàn hệ thống Hacker tìm cách crack password admin, sử dụng lỗ hổng để leo thang đặc quyền John Riper hai chương trình crack password hay sử dụng Công cụ: L0phtcrack, Ic_messages, getadmin, sechole Thêm lần máy tìm kiếm lại đựơ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 toàn khác đích cho hacker.Thông tin lấy từ bước đủ để ta định vị server điều khiển server Nếu bước không thành công, đến bước 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 tổ 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 Công cụ: members of wheel, administrators cron, At rc, Startup folder, registry keys, netcat, remote.exe, VNC, BO2K, keystroke loggers, add acct to secadmin mail aliases login, fpnwclnt.dll II.4.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 Một số ngôn ngữ web thông dụng có nhiều lỗi -61- 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 chuyên khu web Ví dụ : + Muốn tìm file mdb (đây file chứamậ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 đoán mật khẩu, thay đổi 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, confirmation, 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ể phát sinh lỗi trình giúp hacker lợi dụng lỗi SQL input để đoạt quyền điều khiển hệ thống II.4.3 Tấn công Sau thu thập khảosá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 soá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 hoạt đông -62- Nhận xét: Việcthu thập thông tin vô quan trọng cho việc công vào hệ thống máy đích Cho dù hacker công theo phương diện phần cứng hay qua ứng dụng việc thu thập cần thiết Vấn đề việc thực theo bước Có thể bước nêu hacker không cần phải qua theo thứ tự hay qua hết, việc nắm rõ thông tin máy đích điều kiện tiên để dẫn đến thành công việc công Tùy vào nội dung thông tin mà hacker thu thập mà hacker định công theo kĩ thuật Do đó, việc bảo mật cho hệ thống cần đòi hỏi kết hợp không riêng nhà quản trị hệ thống mà nhà thiết kếứng dụng hợp tác khách hàng sử dụng ứng dụng II.5 TỔNG KẾT CÁC BIỆN PHÁP PHÒNG CHỐNG II.5.1 Với nhà quản trị mạng Người quản trị hệ thống cần xác định rõ đối tượng quan trọng hệ thống cần bảo vệ; xác định rõ mức độ ưu tiên đối tượng Ví dụ đối tượng cần bảo vệ hệ thống là: Các máy chủ dịch vụ, router, điểm truy nhập hệ thống, chương trình ứng dụng, hệ quản trị CSDL, dịch vụ cung cấp…  Cấu hình cho ứng dụng: Thận trọng việc cấu hình trình chủ số ứng dụng Trình chủ nên hay không cho phép thực thi câu lệnh SSI Ngoài phải thiết lập quyền cho ứng dụng chạy số quyền hạn định quản trị CSDL ( không nên chạy quyền Admin ) tránh trường hợp hacker lợi dụng chạy câu lệnh điều khiển hệ thống Xác định nguy hệ thống xác định lỗ hỏng bảo mật dịch vụ, ứng dụng hệ thống Việc xác định đắn nguy giúp người quản trị tránh công mạng, hoạc có biên pháp bảo vệ đắn cách thường xuyên cập nhật tin tức nhóm tin bảo mật từ nhà cung cấp phần mềm sử dụng Khi phát lỗi cần cập -63- nhật phần mềm để tránh trường hợp hacker lợi dụng lỗ hổng có ứng dụng chưa sữa chữa phiên cũ Nắm hoạt động phần mềm sử dụng, ý nghĩa file cấu hình quan trọng (như ete/password), áp dụng biện pháp bảo vệ cấu sử dụng phương thức mã hóa hashing code (MD5) Sử dụng vài công cụ phát hoạt động truy nhập không hợp lệ vào hệ thống logfile Kiểm soát chặt chẽ quyền tài khoản hệ thống; không sử dụng quyền root trường hợp không cần thiết Đối với tài khoản không sử dụng hệ thống cần đổi mật hoạc hủy bỏ  Quản lý mật cách chặt chẽ: Buộc người sử dụng thay đổi mật thời gian định Hầu hết hệ thống hỗ trợ chế này; không thay đổi mật tài khoản không giá trị hệ thống Trong trường hợp người sử dụng bị mật khẩu, để cấp lại mật cần có thủ tục khác để xác thực người sử dụng… Cần giám sát theo dõi chặt chẽ chương trình đổi mật khẩu; thường mục tiêu để công II.5.2 Với nhà thiết kế ứng dụng WEB  Đảm bảo liệu cung cấp từ người dùng hợp lệ : Tất liệu đưa vào ứng dụng phải đảm bảo kiểm tra kĩ, loại bỏ từ chối kí tự đặc biệt ’/… Tuy nhiên, không nên dùng ngôn ngữ trình khách (như JavaScript, VBScript )để kiểm tra liệu nhập hợp lệ hacker vẩn lợi dụng để công kĩ thuật mã hóa URL hay vượt đường dẫn…Cach tốt kiễm tra ứng dụng Nếu từ chối loại bỏ kí tự, ứng dụng cần kiểm tra liệu xuất để đảm bảo liệu xuất đến trình duyệt an toàn  Chứng thực người dùng : Nhiều ứng dụng quản lí phiên làm việc người dùng sessionID yếu cách quản lí phiên làm việc khiến cho -64- hacker dể dàng kiểm soát phiên việc người dùng Vì phiên làm việc, ứng dụng bị hủy sau trình duyệt đóng kết nối  Mã hóa liệu quan trọng: Những thông tin quan trọng tên/mật khẩu, credit card….cần mã hóa để tránh hacker lấy nội dung sử dụng chúng kĩ thuật XSS, SQL Injection Ngoài ra, trình truyền, kết hợp phương pháp SSL để tránh trường hợp mát thông tin đường truyền Hiện lĩnh vực mã hóa liệu, có nhiều phương pháp mã hóa mã hóa khóa bí mật, mã hóa công khai…nên tùy vào mức độ sử dụng tầm quan trọng mà ứng dụng chọn phương pháp mã hóa để đảm bảo liệu bảo mật Tuy nhiên, nhiều nhà ứng dụng lại mã hóa liệu kết hợp với vài thông tin ngày giờ, địa IP…khiến cho hacker dể dàng dự đoán, nội dung liệu mã hóa ngắn khiến cho hacker sử dụng công cụ sẳn có để vét cạn khả xảy kĩ thuật công sessionID Hoặc phương pháp mã hóa củ khiến cho hacker dể dàng dùng công cụ giải mã như”John and Ripper” Do đó, cần chọn thuật toán mã hóa với khóa để mã hóa cho liệu không để dự đoán bị vét cạn Ngoài ra, việc dùng SSL cần thiết để tránh trường hợp liệu bị đánh cắp đường truyền  Dùng phần mềm có sẵn : Hiện thị trường xuất phần mềm Appshield hoạt động proxy, nghĩa trung gian giũa máy khách máy chủ, yêu cầu từ máy khách bị qua phần mềm này, phát yêu cầu có ẩn chứa khả công lên hệ thống, từ chối yêu cầu, không gửi lên máy chủ mà tự động hủy yêu cầu  Thiết lập quyền : Với ứng dụng, hệ thống nên cung cấp quyền hạn định cho ứng dụng đủ thực chức Không nên đưa quyền cao nhất, root hacker lợi dụng quyền root để t hực thi câu lệnh hệ thống, kĩ thuật công SQL Injectio -65- II.5.3 Với người sừ dụng Web Đưa lời cảnh báo cho sử dụng Web rủi ro xảy ra, đặc biệt nên ý cho phép trình duyệt thực thi ngôn ngữ trình khách máy mình, khả lợi dụng ngôn ngữ lớn kĩ thuật sessionID Sau sử dụng xong ứng dụng cần thoát khỏi hệ thống theo quy định(như Sigh-out yahoo)để nội dung quan trọng lưu cookie bị hủy bỏ, tránh khả hacker vẩn tiếp tục dùng sessionID tồn để đăng nhập vaò hệ thống hợp lệ  Quản lí tài khoản : Người dùng cần nhận thức vai trò quan trọng việc bảo vệ tài khoản cảu Các hoạt động bảo vệ tài khoản bao gồm việc bảo vệ mật khẩu, thay đổi mật định kỳ, đăng kí thời điểm…Sử dụng phần mềm bảo vệ máy trạm người sử dụng, log out khỏi hệ thống sau thời gian time-out -66- i ii [...]... tiên quyết để dẫn đến thành công trong việc tấn công Tùy vào thông tin thu thập được mà hacker sẽ quyết định tấn công theo kỹ thuật nào, xây dựng một kịch bản tấn công phù hợp  Một số kịch bản tấn công: - Tấn công đồng loạt vào các trang tin điện tử thuộc Chính phủ, thành phố, bộ, sở ban ngành,… làm thay đổi nội dung, đưa thông tin sai lệch,… - Tấn công vào các ứng dụng Web mua bán, giao dịch trực... Tấn công ứng dụng Web, đặt mã độc tại trang Web, sử dụng máy chủ bị lỗi để thực hiện hành vi tấn công khác  Mục đích tấn công cơ bản của hacker trên các ứng dụng Web như sau: - Tấn công với mục đích chính trị (tấn công các trang tin điện tử thuộc chính phủ, thành phố, các sở ban ngành,…) - Tấn công với mục đích lợi nhuận (các trang thương mại điện tử, tài chính, ngân hàng, các doanh nghiệp, …) - Tấn. .. World Wide Web sử dụng HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video,…) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server và các trình duyệt Web phải làm để đáp ứng các lệnh Khi gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở... này  Một máy quét ứng dụng web tiên tiến, để tự động phát hiện các loại dễ bị tổn thương rất nhiều  Khả năng mở rộng, cho phép bạn dễ dàng viết plugin của riêng bạn, để thực hiện các nhiệm vụ phức tạp và tùy biến rất cao trong Burp II.3 CÁC KỸ THUẬT TẤN CÔNG CỦA HACKER VÀO LỖ HỎNG TRÊN TRANG WEB VÀ BIỆN PHÁP PHÒNG CHỐNG II.3.1 Tấn công chèn câu truy vấn SQL Injection và các biện pháp phòng chống. .. càng cao hơn Số lượng các cuộc tấn công web tăng gấp đôi:  Trong năm 2009, ở nước ta có hơn 1000 (1.037) website bị hacker tấn công, tăng hơn gấp đôi so với năm 2008 (461 website) và gấp ba lần so với năm 2007 (342 website)  Trong 3 tháng đầu năm 2010 đã có hơn 300 website của các cá nhân và tổ chức có tên miền vn bị các hăcker nước ngoài thăm dò, tấn công  Tính đến cuối quý I/2011, số người sử dụng... tiêu Việc thu thập thông tin là vấn đề quan trọng cho việc tấn công vào một hệ thống máy mục tiêu Cho dù hacker tấn công theo phương diện phần cứng hay qua ứng dụng thì việc thu thập vẫn là cần thiết Sau khi đã khảo sát và thu thập thông tin mục tiêu, hacker bắt đầu thực hiện tấn 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 soát,… Có thể trong những bước đã nêu... lỗi thông thường tiết lộ các chi tiết kỹ thuật có thể cho phép kẻ tấn công biết được điểm yếu của hệ thống - Sử dụng các công cụ để đưa các trang Web mục tiêu vào dò tìm các lỗi của người phát triển ứng dụng để từ đó xây dựng nên kịch bản tấn công và chọn cách tấn công cụ thể - Tìm hiểu sâu về các chức năng của ứng dụng Web Tìm hiểu cách thực hiện của các phần trong ứng dụng, đặc biệt như các order input,... người, chiểm 31,9 % dân số; số thuê bao internet trên cả nước ước tính đạt 3,8 triệu thuê bao Đa số các doanh nghiệp và các tổ chức có hệ thống mạng và website giới thiệu, quảng bá thương hiệu (191.667 tên miền vn và hàng triệu tên miền thương mại) Có rất nhiều doanh nghiệp đã ứng dụng thanh toán trực tuyến vào công việc kinh doanh, giao dịch,…  Các website bị tấn công chủ yếu là các website kinh doanh... để giả lập một mạng chậm hơn, để quan sát trang web của họ sẽ thực hiện khi truy cập qua, nói rằng, một modem Spider - xác định các URL mới trên trang web mục tiêu, và nạp chúng vào lệnh -Hướng dẫn yêu cầu cho phép chỉnh sửa và phát lại các yêu cầu trước đó, hoặc tạo ra các yêu cầu hoàn toàn mới Sessionid phân tích thu thập và phân tích một số cookie để trực quan xác định mức độ ngẫu nhiên và không thể... các mục tiêu  Một con nhện ứng dụng nhận biết, để thu thập nội dung và chức năng  Một công cụ chuyển tiếp, cho các thao tác và gửi lại yêu cầu cá nhân  Một công cụ kẻ đột nhập, để thực hiện các cuộc tấn công mạnh mẽ tùy chỉnh để tìm và khai thác các lỗ hổng khác thường  Một công cụ sắp xếp dãy, để thử nghiệm các tính ngẫu nhiên của các thẻ phiên  Khả năng lưu công việc của bạn và tiếp tục làm ... 1: TỔNG QUAN VỀ WEB VÀ CÁC NGUY CƠ TẤN CÔNG ỨNG DỤNG WEB Chương 2: MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG VÀO TRANG WEB VÀ CÁCH PHỒNG CHỐNG Chương 3: XÂY DỰNG ỨNG DỤNG DEMO SQL INJECTION VÀ DOS -8- CHƯƠNG... tiên để dẫn đến thành công việc công Tùy vào thông tin thu thập mà hacker định công theo kỹ thuật nào, xây dựng kịch công phù hợp  Một số kịch công: - Tấn công đồng loạt vào trang tin điện tử thuộc... cao Burp II.3 CÁC KỸ THUẬT TẤN CÔNG CỦA HACKER VÀO LỖ HỎNG TRÊN TRANG WEB VÀ BIỆN PHÁP PHÒNG CHỐNG II.3.1 Tấn công chèn câu truy vấn SQL Injection biện pháp phòng chống II.3.1.1 SQL Injection

Ngày đăng: 05/11/2015, 16:54

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan