1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Tiểu luận) báo cáo chủ đề tấn công và phòng chống sql injection

32 6 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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN - BÁO CÁO Chủ đề: Tấn cơng phịng chống SQL injection Giáo viên: Dương Thúy Hường Sinh viên: Vũ Thùy Linh Lớp: An tồn thơng tin – N14 Thái Nguyên, 2023 CHƯƠNG 1: Tổng quan SQL injection 1.1 Khái niệm 1.1.1 SQL Là ngôn ngữ truy vấn mang tính cấu trúc, loại ngơn ngữ máy tính phổ biến để tạo, sửa, lấy liệu từ hệ quản trị sở liệu quan hệ Ngôn ngữ phát triển vượt xa so với mục đích ban đầu để phục vụ hệ quản trị sở liệu đối tượng-quan hệ Nó tiêu chuẩn ANSI/ISO Từ báo tham dự hội thảo khoa học A Relational Model of Data for Large Share Data Banks (tạm dịch "Mơ hình quan hệ cho liệu dùng ngân hàng liệu chia sẻ có khối lượng lớn") tiến sĩ Edgar F Codd xuất tháng năm 1970 tạp chí Communications of the ACM Hiệp hội ACM [8] , mơ hình chấp nhận rộng rãi mơ hình tiêu chuẩn dùng cho hệ thống quản lý sở liệu quan hệ Giữa năm 1970, nhóm nhà phát triển trung tâm nghiên cứu IBM San Jose phát triển hệ thống sở liệu "Hệ thống R" dựa mơ hình Codd Structured English Query Language, viết tắt "SEQUEL" (tạm dịch "Ngôn ngữ truy vấn tiếng Anh có cấu trúc"), thiết kế để quản lý truy lục liệu lưu trữ Hệ thống R Sau này, tên viết tắt SEQUEL rút gọn thành SQL để tránh việc tranh chấp nhãn hiệu (từ SEQUEL công ty máy bay UK Hawker-Siddeley đăng ký) Mặc dù SQL bị ảnh hưởng cơng trình tiến sĩ Codd không tiến sĩ Codd thiết kế Ngôn ngữ SEQUEL thiết kế Donald D Chamberlin vàRaymond F Boyce IBM, khái niệm họ phổ biến để tăng ý SQL Phiên sở liệu quan hệ phi thương mại, không hỗ trợ SQL phát triển năm 1974.(Ingres from U.C Berkeley.) Năm 1978, việc thử nghiệm phương pháp khởi đầu sở thử nghiệm khách hàng Cuộc thử nghiệm chứng minh có ích tính thực tiễn hệ thống chứng tỏ thành công IBM Dựa vào kết đó, IBM bắt đầu phát triển sản phẩm thương mại bổ sung thêm SQL dựa nguyên mẫu Hệ thống R bao gồm System/38 (Hệ thống/38) (được cơng bố năm 1978 thương mại hóa tháng năm 1979, SQL/DS (được giới thiệu vào năm 1981) DB2 (năm 1983) Cùng thời điểm Relational Software, Inc (bây Oracle Corporation) nhận thấy tiềm khái niệm Chamberlin and Boyce đưa phát triển phiên Hệ quản trị sở dự liệu quan hệ riêng họ cho Navy, CIA tổ chức khác Vào mùa hè năm 1979, Relational Software, Inc giới thiệu Oracle V2 (Phiên 2), phiên thương mại hỗ trợ SQL cho máy tính VAX Oracle thường xuyên nhắc tới cách khơng nghiêm túc cơng thị trường IBM năm, việc táo bạo quan hệ công chúng họ công phiên IBM System/38 có vài tuần Tương lai Oracle đảm bảo có quan tâm đáng kể cơng chúng sau phát triển, có nhiều phiên nhà cung cấp khác IBM chậm việc phát triển SQL sản phẩm quan hệ, có lẽ ban đầu khơng dùng mơi trường Unix máy tính lớn (Mainframe), họ sợ làm giảm lợi nhuận thu từ việc bán sản phẩm sở liệu IMS (những sản phẩm dựa mô hình sở liệu định hướng khơng phải sở liệu quan hệ) Trong lúc đó, Oracle phát triển, IBM phát triển System/38, mong đợi hệ sở liệu quan hệ họ Với lực thiết kế tiên tiến nó, người ta cho thay cho hệ thống Unix máy tính lớn SQL thừa nhận tiêu chuẩn ANSI (American National Standards Institute) vào năm 1986 ISO (International Organization for Standardization) năm 1987 ANSI cơng bố cách phát âm thức SQL "ess kyoo ell", nhiều chuyên gia sở liệu nói tiếng Anh gọi sequel Một quan niệm sai khác phổ biến rộng rãi "SQL" chữ viết tắt "Structured Query Language" (Ngơn ngữ truy vấn có cấu trúc) 1.1.2 SQL Injection SQL Injection kĩ thuật cho phép kẻ công lợi dụng lỗ hổng việc kiểm tra liệu nhập ứng dụng web thông báo lỗi hệ quản trị sở liệu để "tiêm vào" (inject) thi hành câu lệnh SQL bất hợp pháp (không người phát triển ứng dụng lường trước) Hậu tai hại cho phép kẻ cơng thực thao tác xóa, hiệu chỉnh, … Do có tồn quyền sở liệu ứng dụng, chí server mà ứng dụng chạy Lỗi thường xảy ứng dụng web có liệu quản lí hệ quản trị sở liệu SQL Server, MySQL, Oracle, DB2, Sysbase 1.2 Các lỗi SQL injection thường gặp 1.2.1 Không kiểm tra ký tự thoát truy vấn Đây dạng lỗi SQL injection xảy thiếu đoạn mã kiểm tra liệu đầu vào câu truy vấn SQL Kết người dùng cuối thực số truy vấn không mong muốn sở liệu ứng dụng Dòng mã sau minh họa lỗi này: statement = "SELECT * FROM users WHERE name = '" + userName + "';" Câu lệnh thiết kế để trả ghi tên người dùng cụ thể từ bảng người dùng Tuy nhiên, biến "userName" nhập xác theo cách người dùng ác ý, trở thành câu truy vấn SQL với mục đích khác hẳn so với mong muốn tác giả đoạn mã Ví dụ, ta nhập vào giá trị biến userName sau: a' or 't'='t Khiến câu truy vấn hiểu sau: SELECT * FROM users WHERE name = 'a' or 't'='t'; Nếu đoạn mã sử dụng thủ tục xác thực ví dụ sử dụng để bắt buộc lựa chọn tên người dùng hợp lệ 't'='t' Trong hầu hết SQL server cho phép thực nhiều truy vấn lúc với lần gọi, nhiên số SQL API mysql_query php lại khơng cho phép điều lý bảo mật Điều ngăn cản tin tặc công cách sử dụng câu lệnh riêng rẽ mà không ngăn cản tin tặc thay đổi từ cú pháp truy vấn Các giá trị biến "userName" câu truy vấn gây việc xoá người dùng từ bảng người dùng tương tự việc xóa tất liệu từ bảng liệu (về chất tiết lộ thông tin người dùng), ví dụ minh họa API cho phép thực nhiều truy vấn lúc: a';DROP TABLE users; SELECT * FROM data WHERE 't' = 't Điều đưa tới cú pháp cuối câu truy vấn sau: SELECT * FROM users WHERE name = 'a';DROP TABLE users; SELECT * FROM data WHERE 't' = 't'; 1.2.2 Xử lý không kiểu 1.2.3 Tường lửa lọc gói Khi phân loại tường lửa dựa phương pháp hoạt động chúng, loại tường lửa lọc gói Loại tường lửa hoạt động điểm kiểm tra an ninh nội tuyến gắn vào định tuyến chuyển mạch Tên tường lửa cho thấy, giám sát lưu lượng mạng cách lọc gói tin đến theo thơng tin mà mang theo Mỗi gói liệu bao gồm tiêu đề liệu mà truyền Loại tường lửa định gói tin cho phép hay bị từ chối truy cập dựa thông tin tiêu đề Để làm vậy, tường lửa kiểm tra giao thức, địa IP nguồn, IP đích, cổng nguồn cổng đích Tùy thuộc vào cách số khớp với danh sách kiểm soát truy cập (quy tắc xác định lưu lượng truy cập mong muốn không mong muốn) mà gói truyền loại bỏ Nếu gói liệu không phù hợp với tất quy tắc bắt buộc khơng phép truy cập vào hệ thống Tường lửa lọc gói giải pháp nhanh chóng mà khơng cần nhiều tài ngun Tuy nhiên, khơng phải an tồn Mặc dù kiểm tra thơng tin tiêu đề lại khơng kiểm tra liệu bên gói tin Phần mềm độc hại tìm thấy phần gói liệu Do đó, tường lửa lọc gói khơng phải lựa chọn tốt để bảo mật hệ thống mạnh mẽ 1.2.3.1 Cổng cấp mạch Các cổng cấp mạch loại tường lửa hoạt động lớp phiên mơ hình OSI Chức chúng đảm bảo kết nối thiết lập an toàn Trong hầu hết trường hợp, tường lửa cấp mạch tích hợp số loại phần mềm tường lửa có sẵn Loại tường lửa khơng kiểm tra liệu thực tế mà kiểm tra thông tin giao dịch Ngoài ra, cổng cấp mạch dễ thiết lập không yêu cầu máy chủ proxy riêng 1.2.3.2 Tường lửa kiểm tra trạng thái Tường lửa kiểm tra trạng thái theo dõi trạng thái kết nối cách giám sát trình bắt tay bước TCP Điều cho phép tường lửa theo dõi toàn kết nối – từ đầu đến cuối – cho phép lưu lượng trở lại dự kiến vào Khi bắt đầu kết nối yêu cầu liệu, việc kiểm tra trạng thái xây dựng sở liệu (bảng trạng thái) lưu trữ thông tin kết nối Trong bảng trạng thái, thông tin như: IP nguồn, cổng nguồn, IP đích cổng đích cho kết nối ghi rõ ràng Sử dụng phương pháp kiểm tra trạng thái tự động tạo quy tắc tường lửa phép lưu lượng truy cập dự kiến Loại tường lửa sử dụng làm bảo mật bổ sung Nó thực thi nhiều kiểm tra an toàn so với lọc không trạng thái Tuy nhiên, không giống lọc gói/ khơng trạng thái, tường lửa trạng thái kiểm tra liệu thực tế truyền qua nhiều gói Do đó, chúng yêu cầu nhiều tài nguyên hệ thống 1.2.3.3 Tường lửa proxy Tường lửa proxy đóng vai trị thiết bị trung gian hệ thống bên bên giao tiếp qua Internet Nó bảo vệ mạng cách chuyển tiếp yêu cầu từ máy khách ban đầu che làm mạng Proxy có nghĩa đóng vai trị thay Theo đó, vai trị tường lửa làm nhiệm vụ thay Nó thay người dùng gửi yêu cầu Khi người dùng gửi yêu cầu truy cập trang web, thông báo giao đến máy chủ proxy Proxy chuyển tiếp tin nhắn đến máy chủ web Làm ẩn nhận dạng định vị địa lý người dùng, bảo vệ người dùng khỏi hạn chế cơng tiềm ẩn Sau đó, máy chủ web phản hồi cung cấp cho proxy thông tin yêu cầu Cuối thông tin chuyển cho máy khách 1.2.3.4 Tường lửa hệ (NGFW) Tường lửa hệ thiết bị bảo mật kết hợp số chức loại tường lửa khác Nó kết hợp kiểm tra gói tin, trạng thái gói tin sâu Nói cách đơn giản, tường lửa NGFW kiểm tra tải trọng thực tế gói tin thay tập trung vào thông tin tiêu đề Không giống tường lửa truyền thống, tường lửa hệ kiểm tra tồn giao dịch liệu Những thơng tin kiểm tra bao gồm trình bắt tay TCP, cấp độ bề mặt kiểm tra gói tin sâu Sử dụng NGFW giúp người dùng bảo vệ khỏi công phần mềm độc hại, mối đe dọa bên xâm nhập 1.2.3.5 Tường lửa đám mây Tường lửa đám mây tường lửa dạng dịch vụ (Faas) giải pháp đám mây để bảo vệ hệ thống mạng Giống giải pháp đám mây khác, trì chạy Internet nhà cung cấp bên thứ ba Khách hàng thường sử dụng tường lửa đám mây làm máy chủ proxy, cấu hình thay đổi tùy theo nhu cầu riêng Lợi họ bảo vệ hình (screensaver), ứng dụng quyền chạy Các sách nhóm (Group Policy) GPO có tác động lớn với người dùng, nên bạn kiểm tra cẩn thận trước thực 2.2.9 Dùng phần mềm lọc nội dung cho HTTP, FTP SMTP Kết nối mạng đem tới nhiều lợi ích mang lại nhiều nội dung khơng phù hợp theo mong muốn gây lãng phí thời gian, mạng tiếp xúc với nguy tiềm ẩn phí băng thơng Vì vậy, cần phải lọc nội dung để tránh hệ lụy sau giữ an toàn cho hệ thống mạng LAN 2.2.10 Dùng phần mềm chống thư rác Khi vào số trang web đăng ký nhận tin thông tin mới…, vài ngày sau bạn nhận hàng tá thư rác (spam) Phần mềm chống thư rác trở nên cần thiết Cài chống thư rác để tránh phí thời gian vào email không mong muốn PHẦN 2: NGHIÊN CỨU THỰC TIỄN CHƯƠNG 3: VAI TRÒ CỦA FIREWALL TRONG BẢO MẬT MẠNG LAN 3.1 Vai trò tường lửa 3.1.1 Bảo mật mạng Bảo mật mạng có nghĩa để ngăn chặn mối đe dọa bên bên hệ thống mạng Trong người dùng làm việc internet, định tuyến hệ thống kết nối mạng nội với mạng bên Internet Tường lửa đặt hai mạng khác để theo dõi lưu lượng truy cập đến Mạng nội tổ chức, doanh nghiệp đễ bị cơng Internet Do đó, tường lửa đóng vai trị quan trọng bảo mật mạng Vai trò tường lửa bảo mật mạng đảm bảo bảo mật mạng cách ngăn chặn mối đe dọa bên đến từ nguồn mạnh tin tặc Cùng với đó, tường lửa bảo vệ sở hạ tầng nội mạng cách ngăn virus phần mềm độc hại Các tác nhân nguy hiểm làm hỏng phần mềm nội đơi chí làm lộ liệu bí mật (như mật khẩu) cho kẻ công

Ngày đăng: 28/09/2023, 20:27

Xem thêm:

w