Một số kiểu tấn công ứng dụng Web

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật bảo mật trong microsoft net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank (Trang 49 - 52)

Chương 3: BẢO MẬT HỆ THỐNG PHẦN MỀM TRONG .NET

3.3. Một số kiểu tấn công ứng dụng Web

Các lỗi bảo mật ứng dụng web là nguyên nhân chủ yếu gây ra các lỗi đối với website đang vận hành. Sau khi xác định các lỗi này, tin tặc sẽ sử dụng các kỹ thuật

khác nhau để tiến hành khai thác hệ thống đích. Một số kỹ thuật thường được sử dụng: Buffer Overflows, SQL Injection, và Cross-site Scripting…Việc phân loại các kiểu tấn công thành các nhóm khác nhau sẽ giúp cho người quản trị dễ dàng xác định các nguy cơ cũng như biên pháp đối phó hơn.

3.3.1. SQL Injection

Tấn công SQL Injection được thực thi bằng cách chèn các câu truy vấn SQL vào dữ liệu tương tác giữa máy khách và trình ứng dụng. Quá trình khai thác lỗi SQL Injection thành công có thể giúp tin tặc lấy được các dữ liệu nhạy cảm trong cở sở dữ liệu, thay đổi cơ sở dữ liệu (Insert/Update/Delete), thực thi các hành động với quyền của người quản trị và cao hơn có thể điều khiển được hệ điều hành máy chủ.

Đặc điểm của tấn công SQL Injection

 Tấn công SQL Injection dựa vào cách thức hoạt động của trang web.

 Sử dụng nguồn dữ liệu nhập vào: Textbox, QueryString.

 Sử dụng kỹ thuật chèn các “mã độc SQL” vào lệnh SQL: chức năng tìm kiếm, phân trang, xác thực người dùng. Ví dụ: string sql = "select * from Users where user=' ' or 1=1 --' and pwd=''";

 Chiếm quyền kiểm soát hệ thống, có thể thực hiện các lệnh hệ thống như:

;xp_cmdshell 'format c: /q /yes'; drop database myDB; --. Ví dụ: select * from tabelle where id=1; xp_cmdshell 'format c: /q /yes '; drop database myDB; --

Biện pháp đối phó:

 Không sử dụng quyền “sa”.

 Chuỗi kết nối (connection string) lưu có mã hóa.

 Sử dụng Store Procedure để thực hiện truy vấn dữ liệu.

 Sử dụng tham số (đối tượng Parameter) trong lệnh SQL.

string sql = "select * from Users where user = @user and pwd = @pwd"; SqlCommand cmd = new SqlCommand(sql,con);

cmd.Parameters.Add("@user",User.Text); cmd.Parameters.Add("@pwd",Password.Text);

3.3.2. Cross-site scripting (XSS)

Cross-site scripting là một trong những kĩ thuật tấn công phổ biến nhất hiện nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS.

Tin tặc tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP …) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những

người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML

Giải pháp:

 Chỉ cho phép những dữ liệu hợp lệ, từ chối nhận các dữ liệu sai, thường xuyên kiểm tra và lọc dữ liệu đầu vào.

 Sử dụng Validation controls, Regexp.

 Sử dụng Server.HtmlEncode/ Server.HtmlDecode.

3.3.3. HTTP Harvesting

Tấn công HTTP Harvesting cũng là một kỹ thuật tấn công ứng dụng web, tin tặc tấn công bằng cách lợi dụng:

 Trang web điều khiển cơ sở dữ liệu

 Hiển thị kết kết quả dựa vào: Textbox, QueryString, Cookie.

 Sử dụng các lệnh SQL.

 Sử dụng tham số phân trang: Detail.aspx?id=1

 Địa chỉ email để gửi thư rác. Giải pháp:

 Mã hóa QueryString.

 Kết hợp dữ liệu đầu vào người dùng với Textbox

 Sử dụng System.Drawing.

 Theo dõi quá trình khai thác web của người dùng.

 Đánh giá của bên thứ ba.

3.4. Kết luận

Như vậy ở chương này luận văn đã cung cấp một cái nhìn tổng quan về kiến trúc bảo mật hệ thống thông qua vòng đời phát triển bảo mật, kỹ thuật về phân tích yêu cầu bảo mật, thiết kế bảo mật, đánh giá bảo mật cũng như kiểm thử bảo mật. Luận văn cũng cung cấp một cái nhìn tổng quan về .NET Framwork, kỹ thuật bảo mật từ web server IIS, ứng dụng web ASP.NET, công cụ hỗ trợ kết nối tới CSDL ADO.NET, cơ sở dữ liệu SQL Server. Ngoài ra còn cung cấp các thư viện mã hóa trong .NET và một số kiểu tấn công ứng dụng web.

Chương 4: MỘT MÔ HÌNH ỨNG DỤNG KỸ THUẬT BẢO MẬT TRONG MICROSOFT .NET TẠI GPBANK

Trên cơ sở lý thuyết về các kiểu tấn công trong chương 2 và chương 3, kiến trúc bảo mật hệ thống phần mềm trong chương 3, bảo mật trong Microsoft .NET, ASP.NET và các thư viện mã hóa trong .NET trong chương 3, trong chương này tôi xây dựng hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank. Hệ thống xây dựng trong chương này cụ thể là thống TestKey Management System (TMS). Đây là hệ thống quản lý các yêu cầu và chứng từ chuyển tiền thanh toán quốc tế từ các PGD/CN chuyển lên phòng Thanh toán Quốc tế tại TSC ứng dụng các kỹ thuật bảo mật trong Microsoft .NET, ứng dụng giải pháp hạn chế lỗ hổng bảo mật và tấn công ứng dụng web.

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật bảo mật trong microsoft net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank (Trang 49 - 52)

Tải bản đầy đủ (PDF)

(78 trang)