Luận văn: Phương pháp phát hiện tấn công web dựa trên phân tích hành vi

Phát hiện và ngăn chặn tấn công web hiệu quả bằng kỹ thuật phân tích hành vi, bảo vệ dữ liệu và hệ thống khỏi các mối đe dọa mạng.

Chuyên ngành

Hệ Thống Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2020

71
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan luận văn thạc sĩ về phát hiện tấn công web

Luận văn thạc sĩ kỹ thuật với chủ đề "Phương pháp phát hiện tấn công web ứng dụng kỹ thuật phân tích hành vi" là một công trình nghiên cứu chuyên sâu, giải quyết vấn đề cấp thiết trong lĩnh vực an toàn thông tin. Trong bối cảnh các cuộc tấn công mạng ngày càng tinh vi, các phương pháp bảo mật truyền thống như tường lửa ứng dụng web (Web Application Firewall - WAF) hay hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) dựa trên signature đang dần tỏ ra kém hiệu quả. Luận văn này đề xuất một hướng tiếp cận mới, tập trung vào việc phân tích hành vi người dùng (User Behavior Analytics - UBA) để xác định các truy cập bất thường. Mục tiêu chính là xây dựng một mô hình có khả năng nhận diện các cuộc tấn công chưa từng được biết đến (zero-day) thông qua việc mô hình hóa hành vi thông thường và phát hiện các sai lệch. Nghiên cứu này không chỉ có giá trị lý thuyết mà còn mang tính ứng dụng cao, đặc biệt khi áp dụng cho các hệ thống web có lượng truy cập lớn như website của các trường đại học, tổ chức chính phủ, hay doanh nghiệp thương mại điện tử. Đây là một tài liệu quan trọng cho các nhà nghiên cứu và chuyên gia an ninh mạng.

1.1. Tầm quan trọng của an ninh mạng trong ứng dụng web hiện đại

Sự phát triển nhanh chóng của Internet đã biến các ứng dụng web trở thành một phần không thể thiếu trong hoạt động của tổ chức và doanh nghiệp. Tuy nhiên, điều này cũng kéo theo sự gia tăng về số lượng và mức độ nguy hiểm của các cuộc tấn công. Theo các báo cáo khoa học an ninh mạng, Việt Nam thường xuyên là điểm nóng của mã độc và các chiến dịch tấn công có chủ đích. Các cuộc tấn công như tấn công SQL injection hay tấn công XSS (Cross-Site Scripting) có thể gây ra những hậu quả nghiêm trọng: từ việc đánh cắp dữ liệu nhạy cảm, phá hoại uy tín thương hiệu, đến việc kiểm soát hoàn toàn hệ thống. Do đó, việc đầu tư vào các giải pháp an toàn thông tin tiên tiến không còn là một lựa chọn, mà là yêu cầu bắt buộc để đảm bảo hoạt động ổn định và bền vững. Việc nghiên cứu phát hiện xâm nhập là bước đi chiến lược để bảo vệ tài sản số quan trọng.

1.2. Mục tiêu chính của luận văn thạc sĩ an toàn thông tin này

Mục đích cốt lõi của luận văn thạc sĩ an toàn thông tin này là nghiên cứu và xây dựng một phương pháp hiệu quả để phát hiện tấn công web dựa trên kỹ thuật phân tích hành vi. Thay vì phụ thuộc vào các mẫu tấn công đã biết, phương pháp này tập trung vào việc xây dựng một "đường cơ sở" (baseline) về hành vi bình thường của người dùng. Bất kỳ hành động nào lệch khỏi đường cơ sở này sẽ được xem là bất thường và cần được điều tra. Các mục tiêu cụ thể bao gồm: tìm hiểu sâu về các thuật toán học máy trong an ninh mạng (machine learning for cybersecurity) như SVM, Decision Tree; nghiên cứu cách trích xuất đặc trưng từ dữ liệu truy cập web (phân tích log server); và xây dựng một mô hình phân loại có khả năng phân biệt giữa hành vi hợp lệ và các hành vi tấn công tiềm ẩn. Luận văn hướng đến việc cung cấp một giải pháp phát hiện bất thường (anomaly detection) mạnh mẽ và linh hoạt.

II. Thách thức an ninh mạng và các lỗ hổng tấn công web phổ biến

An ninh cho ứng dụng web là một cuộc chiến không hồi kết. Tin tặc liên tục tìm ra những kỹ thuật mới để vượt qua các lớp phòng thủ. Các phương pháp bảo mật truyền thống thường hoạt động dựa trên các quy tắc hoặc dấu hiệu đã biết, khiến chúng dễ bị qua mặt bởi các biến thể tấn công mới hoặc các cuộc tấn công có chủ đích (APT). Theo báo cáo của OWASP (Open Web Application Security Project), tồn tại nhiều lỗ hổng nghiêm trọng mà các nhà phát triển và quản trị hệ thống cần đặc biệt quan tâm. Việc hiểu rõ bản chất của các lỗ hổng này là bước đầu tiên và quan trọng nhất để xây dựng một chiến lược phòng thủ hiệu quả. Những thách thức này đòi hỏi sự ra đời của các giải pháp bảo mật thông minh hơn, có khả năng thích ứng và học hỏi từ môi trường thực tế, thay vì chỉ dựa vào các kiến thức được lập trình sẵn. Đây chính là động lực thúc đẩy các nghiên cứu phát hiện xâm nhập theo hướng phân tích hành vi.

2.1. Phân tích các kiểu tấn công web nguy hiểm SQL XSS CSRF

Trong số các mối đe dọa, có ba loại tấn công đặc biệt nguy hiểm và phổ biến. Tấn công SQL Injection cho phép kẻ tấn công chèn các câu lệnh SQL độc hại vào truy vấn của ứng dụng, từ đó có thể truy cập, sửa đổi hoặc xóa toàn bộ cơ sở dữ liệu. Tấn công XSS (Cross-Site Scripting) xảy ra khi ứng dụng cho phép chèn các đoạn mã script độc hại vào trang web, và các đoạn mã này sẽ được thực thi trên trình duyệt của người dùng khác, dẫn đến việc đánh cắp phiên đăng nhập hoặc thông tin cá nhân. Cuối cùng, tấn công CSRF (Cross-Site Request Forgery) lừa người dùng đã đăng nhập thực hiện các hành động không mong muốn trên một ứng dụng web mà họ đang tin cậy. Các cuộc tấn công này khai thác những điểm yếu cơ bản trong quá trình xử lý đầu vào và quản lý phiên, nhấn mạnh sự cần thiết của một hệ thống giám sát hành vi sâu sắc hơn.

2.2. Hạn chế của hệ thống phát hiện xâm nhập IDS truyền thống

Một hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) truyền thống thường dựa trên cơ sở dữ liệu các "chữ ký" (signatures) của những cuộc tấn công đã biết. Phương pháp này có hiệu quả cao trong việc ngăn chặn các mối đe dọa quen thuộc. Tuy nhiên, nó có hai nhược điểm lớn. Thứ nhất, nó không thể phát hiện các cuộc tấn công zero-day hoặc các biến thể tấn công mới chưa có chữ ký. Thứ hai, cơ sở dữ liệu chữ ký cần được cập nhật liên tục, tạo ra một độ trễ nhất định giữa thời điểm lỗ hổng được phát hiện và khi hệ thống được bảo vệ. Tương tự, tường lửa ứng dụng web (WAF) dựa trên quy tắc cũng có thể bị vượt qua bởi các kỹ thuật tấn công tinh vi. Những hạn chế này cho thấy sự cần thiết của một phương pháp bổ sung, có khả năng phát hiện bất thường dựa trên hành vi thay vì chỉ dựa vào dấu hiệu.

III. Phương pháp phát hiện tấn công web bằng phân tích hành vi

Để khắc phục những hạn chế của phương pháp truyền thống, luận văn thạc sĩ an toàn thông tin này đề xuất một giải pháp đột phá: phát hiện tấn công web dựa trên kỹ thuật phân tích hành vi. Cốt lõi của phương pháp này là nguyên tắc "tin tưởng nhưng phải xác minh". Thay vì chỉ tìm kiếm những gì "xấu", hệ thống sẽ học những gì được coi là "bình thường" và cảnh báo về bất kỳ sai lệch nào. Kỹ thuật này, còn được gọi là User Behavior Analytics (UBA), xây dựng một hồ sơ hành vi chi tiết cho mỗi người dùng hoặc một nhóm người dùng dựa trên các hoạt động lịch sử. Các hoạt động này được thu thập và phân tích từ nhiều nguồn khác nhau, chủ yếu là từ nhật ký máy chủ. Cách tiếp cận này giúp phát hiện các mối đe dọa nội bộ, tài khoản bị xâm nhập và các hình thức tấn công phức tạp mà các hệ thống dựa trên chữ ký không thể nhận diện.

3.1. Nguyên lý hoạt động của kỹ thuật User Behavior Analytics UBA

Kỹ thuật User Behavior Analytics (UBA) hoạt động bằng cách thu thập, tổng hợp và phân tích dữ liệu hoạt động của người dùng từ các log server và các nguồn khác. Quá trình này bao gồm ba bước chính. Đầu tiên là thu thập dữ liệu (Data Collection), nơi các bản ghi về yêu cầu HTTP, thời gian truy cập, địa chỉ IP, và các tham số được ghi lại. Bước thứ hai là mô hình hóa hành vi (Behavior Modeling), sử dụng các thuật toán thống kê và học máy trong an ninh mạng để xây dựng một hồ sơ hành vi chuẩn cho từng người dùng hoặc phiên truy cập. Hồ sơ này có thể bao gồm các yếu tố như tần suất yêu cầu, loại tài nguyên hay truy cập, thời gian hoạt động. Cuối cùng là phát hiện bất thường (Anomaly Detection). Khi một hành động mới xảy ra, nó sẽ được so sánh với hồ sơ đã được mô hình hóa. Nếu độ lệch vượt quá một ngưỡng nhất định, hệ thống sẽ đưa ra cảnh báo về một cuộc tấn công web tiềm tàng.

3.2. Quy trình trích xuất và mô hình hóa hành vi từ log server

Việc phân tích log server là nền tảng của phương pháp này. Dữ liệu log chứa đựng thông tin vô giá về mọi tương tác của người dùng với ứng dụng web. Quy trình bắt đầu bằng việc tiền xử lý và làm sạch dữ liệu log để loại bỏ nhiễu. Sau đó, các đặc trưng quan trọng được trích xuất, ví dụ như số lượng tham số trong một yêu cầu GET/POST, độ dài của URL, sự hiện diện của các ký tự đặc biệt, hoặc tần suất truy cập một chức năng cụ thể. Các đặc trưng này sau đó được sử dụng để xây dựng vector hành vi cho mỗi phiên truy cập. Luận văn đã sử dụng các kỹ thuật như N-Gram và TF-IDF để trích xuất các thuộc tính có ý nghĩa từ dữ liệu văn bản trong các yêu cầu. Quá trình mô hình hóa hành vi này tạo ra một biểu diễn toán học cho phép các thuật toán học máy có thể phân loại và phát hiện các hành vi bất thường một cách hiệu quả.

IV. Hướng dẫn ứng dụng học máy để phát hiện hành vi bất thường

Học máy trong an ninh mạng (machine learning for cybersecurity) đóng vai trò trung tâm trong việc tự động hóa quá trình phát hiện tấn công. Thay vì các quy tắc cứng nhắc do con người định nghĩa, các mô hình học máy có thể tự học các mẫu phức tạp từ dữ liệu và đưa ra quyết định phân loại. Luận văn này khảo sát và so sánh hiệu quả của nhiều thuật toán học có giám sát (Supervised Learning) khác nhau. Các thuật toán này được "huấn luyện" trên một bộ dữ liệu đã được gán nhãn, bao gồm cả các mẫu truy cập bình thường và các mẫu tấn công. Sau quá trình huấn luyện, mô hình có thể dự đoán nhãn (bình thường hoặc tấn công) cho các truy cập mới chưa từng thấy. Việc lựa chọn thuật toán phù hợp và tinh chỉnh các tham số của nó là yếu tố quyết định đến độ chính xác và hiệu quả của toàn bộ hệ thống phát hiện xâm nhập.

4.1. So sánh các thuật toán học máy SVM Decision Tree và K NN

Luận văn đã tiến hành thực nghiệm với một số thuật toán phân loại phổ biến. Support Vector Machine (SVM) là một thuật toán mạnh mẽ, hoạt động bằng cách tìm ra một siêu phẳng tối ưu để phân tách các lớp dữ liệu trong không gian nhiều chiều. Decision Tree (Cây quyết định) xây dựng một mô hình dạng cây, trong đó mỗi nút đại diện cho một quyết định dựa trên một thuộc tính, giúp mô hình dễ diễn giải. Random Forest, một phiên bản cải tiến của cây quyết định, kết hợp nhiều cây để tăng độ chính xác và giảm hiện tượng overfitting. Ngoài ra, thuật toán K-Nearest Neighbors (K-NN) phân loại một điểm dữ liệu mới dựa trên "phiếu bầu" của K điểm lân cận gần nhất trong không gian đặc trưng. Mỗi thuật toán có ưu và nhược điểm riêng, và việc lựa chọn phụ thuộc vào đặc điểm của bộ dữ liệu và yêu cầu cụ thể của bài toán phát hiện tấn công web.

4.2. Lựa chọn thuật toán tối ưu cho bài toán phát hiện xâm nhập

Việc lựa chọn thuật toán không chỉ dựa trên độ chính xác lý thuyết mà còn phải xem xét các yếu tố thực tiễn như tốc độ xử lý, khả năng mở rộng và yêu cầu về tài nguyên tính toán. Trong bối cảnh phát hiện tấn công web, khả năng xử lý thời gian thực là rất quan trọng. Các thuật toán như Decision Tree và Random Forest thường có tốc độ dự đoán nhanh, trong khi SVM có thể yêu cầu nhiều tài nguyên hơn trong quá trình huấn luyện, đặc biệt với các bộ dữ liệu lớn. Luận văn đã thực hiện các đánh giá chéo và so sánh các chỉ số như độ chính xác (accuracy), độ phủ (recall) và độ chính xác dự báo dương (precision) để xác định mô hình nào hoạt động tốt nhất. Kết quả thực nghiệm cho thấy các thuật toán học máy có giám sát mang lại hiệu quả cao trong việc xây dựng một hệ thống phát hiện bất thường đáng tin cậy.

V. Kết quả nghiên cứu phát hiện xâm nhập web từ luận văn

Phần thực nghiệm và đánh giá là chương quan trọng nhất, chứng minh tính khả thi và hiệu quả của phương pháp đề xuất. Luận văn đã xây dựng một kịch bản thực nghiệm chi tiết, sử dụng các công cụ và bộ dữ liệu chuẩn trong cộng đồng an ninh mạng để đảm bảo kết quả có tính khách quan và có thể tái lập. Quá trình thực nghiệm được tiến hành trên môi trường lập trình Python, một ngôn ngữ mạnh mẽ với các thư viện hỗ trợ khoa học dữ liệu và học máy phong phú. Kết quả thu được không chỉ khẳng định rằng kỹ thuật phân tích hành vi người dùng kết hợp với học máy có thể phát hiện tấn công web hiệu quả, mà còn cung cấp những số liệu cụ thể về hiệu năng của từng thuật toán. Đây là một báo cáo khoa học an ninh mạng có giá trị, đóng góp vào kho tàng tri thức chung của ngành.

5.1. Mô tả kịch bản thực nghiệm trên bộ dữ liệu CSIC 2010

Để đánh giá mô hình, luận văn đã sử dụng bộ dữ liệu CSIC 2010, một bộ dữ liệu công khai và được sử dụng rộng rãi trong các nghiên cứu phát hiện xâm nhập web. Bộ dữ liệu này chứa hàng chục nghìn yêu cầu HTTP, bao gồm cả lưu lượng truy cập bình thường và các loại tấn công đa dạng như tấn công SQL injection, buffer overflow, và XSS. Việc sử dụng một bộ dữ liệu chuẩn hóa giúp so sánh hiệu quả của mô hình đề xuất với các nghiên cứu trước đó. Kịch bản thực nghiệm bao gồm các bước: tiền xử lý dữ liệu, trích xuất đặc trưng hành vi bằng N-Gram và TF-IDF, chia dữ liệu thành tập huấn luyện và tập kiểm thử, sau đó huấn luyện và đánh giá các mô hình phân loại (SVM, Random Forest, Decision Tree) trên tập kiểm thử.

5.2. Đánh giá hiệu quả mô hình phát hiện tấn công web đề xuất

Kết quả thực nghiệm được trình bày chi tiết trong Bảng 3.1 của luận văn, cho thấy các mô hình học máy đã đạt được độ chính xác cao trong việc phân loại giữa hành vi bình thường và bất thường. Các chỉ số đánh giá quan trọng như độ chính xác (accuracy), tỷ lệ phát hiện đúng (true positive rate) và tỷ lệ báo động giả (false positive rate) đều được phân tích kỹ lưỡng. Kết quả khẳng định rằng phương pháp phân tích hành vi có khả năng phát hiện hiệu quả các cuộc tấn công web, kể cả các biến thể phức tạp. Đặc biệt, các thuật toán như Random Forest cho thấy sự cân bằng tốt giữa độ chính xác và khả năng khái quát hóa. Những kết quả này cung cấp bằng chứng thực tiễn mạnh mẽ về tiềm năng của việc ứng dụng machine learning for cybersecurity vào các hệ thống phòng thủ mạng hiện đại.

VI. Tương lai của hệ thống phát hiện xâm nhập IDS thông minh

Kết thúc luận văn, tác giả đã tổng kết những đóng góp chính của công trình và đề xuất các hướng phát triển trong tương lai. Nghiên cứu này không chỉ là một bài tập học thuật mà còn mở ra một hướng đi đầy hứa hẹn cho việc xây dựng các hệ thống phát hiện xâm nhập (IDS) thế hệ mới. Các hệ thống này sẽ không còn phụ thuộc vào các quy tắc tĩnh mà sẽ trở nên thông minh hơn, có khả năng tự học và thích ứng với bối cảnh mối đe dọa luôn thay đổi. Tương lai của an ninh mạng nằm ở các giải pháp tự động, chủ động và dựa trên dữ liệu. Việc kết hợp phân tích hành vi với các công nghệ tiên tiến khác như học sâu (Deep Learning) hay phân tích dữ liệu lớn (Big Data Analytics) sẽ tạo ra những lớp phòng thủ vững chắc, bảo vệ hiệu quả hơn cho các ứng dụng web và hạ tầng số quan trọng.

6.1. Đóng góp chính của luận văn cho ngành an toàn thông tin

Đóng góp quan trọng nhất của luận văn này là việc đề xuất và kiểm chứng thành công một phương pháp phát hiện tấn công web toàn diện dựa trên kỹ thuật phân tích hành vi. Công trình đã hệ thống hóa kiến thức về các loại tấn công, các phương pháp phòng chống và phát hiện hiện có. Hơn nữa, luận văn đã áp dụng thành công các thuật toán học máy trong an ninh mạng vào bài toán thực tiễn, từ khâu trích xuất đặc trưng dữ liệu đến xây dựng và đánh giá mô hình. Kết quả thực nghiệm trên bộ dữ liệu chuẩn CSIC 2010 đã cung cấp những bằng chứng thuyết phục về hiệu quả của phương pháp. Đây là một tài liệu tham khảo giá trị cho các sinh viên, nhà nghiên cứu và chuyên gia đang làm việc trong lĩnh vực an toàn thông tinan ninh mạng.

6.2. Hướng phát triển cho các nghiên cứu phát hiện tấn công web

Luận văn cũng đã gợi mở một số hướng phát triển tiềm năng. Một hướng đi là cải tiến các kỹ thuật trích xuất đặc trưng để nắm bắt được các sắc thái hành vi tinh vi hơn. Hướng thứ hai là khám phá các thuật toán học máy tiên tiến hơn, chẳng hạn như các mô hình học sâu (Deep Learning) như mạng nơ-ron tái phát (RNN) hay LSTM, vốn rất phù hợp cho việc phân tích dữ liệu chuỗi thời gian như log truy cập. Ngoài ra, việc xây dựng một hệ thống có khả năng phản hồi tự động (Intrusion Prevention System - IPS) dựa trên các cảnh báo từ mô hình phát hiện bất thường cũng là một lĩnh vực nghiên cứu đầy hứa hẹn. Cuối cùng, việc mở rộng phương pháp này để áp dụng cho các loại tấn công khác, như tấn công DoS/DDoS, cũng là một hướng đi cần được quan tâm trong tương lai.

05/10/2025

Trích đoạn nội dung tài liệu

chương 1 luận văn sẽ trình bày một số phương pháp và công cụ phòng chống tấn công web. Top 10 lỗ hổng bảo mật ứng dụng web theo OWASP Ngày nay nguy cơ mất an toàn thông tin ngày càng xảy ra nhiều và dẫn đến các hậu quả nghiêm trọng mà người quản trị website không thể lường trước được. Đặc biệt là đối với các cuộc tấn công web ngày càng tinh vi và khó lường. Chính vì vậy, trong mục này luận văn sẽ khảo sát các phương thức tấn công lỗ hổng bảo mật Website dựa trên khuyến nghị của OWASP (The Open Web Application Security Project- dự án mở về bảo mật ứng dụng Web) [12].

SQL injection SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu chỉnh,… do có toàn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase. Có 4 dạng tấn công kiểu SQL injection sau: - Vượt qua kiểm tra lúc đăng nhập; - Sử dụng câu lệnh SELECT; - Sử dụng câu lệnh INSERT; 5 - Sử dụng các Stored-Procedures.

Broken Authentication And Session Management Đây là kiểu tấn công lỗi xác thực và quản lý phiên làm việc (Broken Authentication And Session Management), bao gồm những đoạn chương trình kiểm tra danh tính và quản lý phiên làm việc của ngƣời sử dụng thường hay được làm qua loa không đúng cách. Điều này giúp kẻ thâm nhập có thể ăn cắp mật mã, khóa, mã của các phiên làm việc {session token} hoặc tận dụng những lỗi khác để giả mạo danh tính các người dùng khác. Quản lý xác thực và phiên bao gồm tất cả các khía cạnh xử lý xác thực và quản lý phiên làm việc. Xác thực là một khía cạnh quan trọng của quá trình này, nhưng ngay cả các cơ chế xác thực vững chắc cũng có thể bị suy yếu do chức năng quản lý có khe hở, bao gồm thay đổi mật khẩu, ghi nhớ mật khẩu, thay đổi tài khoản và nhiều chức năng khác.

Vì các cuộc tấn công có thể xảy ra với nhiều ứng dụng web nên chức năng quản lý tài khoản yêu cầu xác thực lại ngay cả khi người sử dụng có phiên làm việc hợp lệ. Một phương pháp xác thực mạnh mẽ hơn là sử dụng phần mềm và phần cứng tuy nhiên phương pháp này rất tốn kém. Các ứng dụng web thường phải thiết lập phiên để theo dõi các luồng yêu cầu từ người dùng, giao thức HTTP không hỗ trợ khả năng này vì vậy các ứng dụng web phải tự tạo ra nó. Thông thường môi trƣờng ứng dụng web cung cấp khả năng phiên nhưng nhiều nhà phát triển thích tự họ tạo ra một thẻ phiên của riêng họ.

Tuy nhiên, chức năng ứng dụng liên quan đến quản lý xác thực và phiên làm việc thường thực hiện một cách chính xác, điều này cho phép kẻ tấn công lấy được mật khẩu, khóa, thẻ phiên hoặc khai thác lỗ hổng để thực hiện các giả mạo danh tính người dùng. Cross Site Scripting (XSS) Kiểu tấn công thực thi mã script xấu Cross-Site Scripting (XSS) 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 6 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. Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật 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. Kĩ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ biến nhất của Web Applications và mối đe dọa của chúng đối với người sử dụng ngày càng lớn. Insecure Direct Object References Kiểu tấn công đối tượng tham chiếu trực tiếp không an toàn (Insecure Direct Object References), xảy ra khi người phát triển để lộ một tham chiếu đến những đối tượng trong hệ thống như các tập tin, thư mục hay chìa khóa dữ liệu. Nếu chúng ta không có một hệ thống kiểm tra truy cập, kẻ tấn công có thể lợi dụng những tham chiếu này để truy cập dữ liệu một cách trái phép.

Việc phân quyền yếu cho phép người dùng có thể truy cập dữ liệu của người khác. Hacker có thể xác định được cấu trúc truy vấn gửi đến server và có thể nhanh chóng thu nhập dữ liệu như Credit Card, mã khách hàng, thông tin cá nhân. Security Misconfiguration Kiểu tấn công sai sót trong cấu hình bảo mật (Security Misconfiguration), như là một cơ chế an ninh tốt cần phải định nghĩa những hiệu chỉnh về an ninh và triển khai nó cho các ứng dụng, máy chủ ứng dụng, máy chủ web, máy chủ dữ liệu và các ứng dụng nền tảng. Tất cả những thiết lập nên được định nghĩa, thực hiện và bảo trì bởi vì rất nhiều 7 hệ thống không được triển khai với thiết lập an toàn mặc định.

Các hiệu chỉnh cũng bao gồm cập nhật phần mềm và những thư viện được sử dụng bởi ứng dụng. Sensitive Data Exposure Kiểu tấn công phơi bày các dữ liệu nhạy cảm (Sensitive Data Exposure), bao gồm nhiều ứng dụng web không bảo vệ dữ liệu nhạy cảm nhƣ thẻ tín dụng, mã số thuế và những mã xác thực bí mật bằng các phƣơng thức mã hóa hay băm (hashing). Kẻ tấn công có thể ăn cắp hay thay đổi những dữ liệu nhạy cảm này và tiến hành hành vi trộm cắp, gian lận thẻ tín dụng, v. Missing Function Level Access Control Kiểu tấn công thiếu chức năng điều khiển truy cập (Missing Function Level Access Control) bao gồm gần như tất cả các ứng dụng web kiểm tra quyền truy cập cấp độ chức năng trước khi thực hiện chức năng mà có thể nhìn thấy trong giao diện ngƣời dùng.

Tuy nhiên, các ứng dụng cần phải thực hiện kiểm tra kiểm soát truy cập tương tự trên máy chủ khi mỗi chức năng đƣợc truy cập. Nếu yêu cầu không được xác nhận, kẻ tấn công sẽ có thể giả mạo yêu cầu để truy cập vào chức năng trái phép. Cross-Site Request Forgery (CSRF) Kiểu tấn công giả mạo yêu cầu (CSRF) là kiểu tấn công này ép buộc trình duyệt web của một người dùng đã đăng nhập gửi những yêu cầu các HTTP giả bao gồm cookie của phiên truy cập và những thông tin tự động khác bao gồm thông tin đăng nhập đến một ứng dụng web. Điều này, cho phép kẻ tấn công buộc trình duyệt web tạo ra những yêu cầu đến ứng dụng web mà ứng dụng không thể biết đây là những yêu cầu giả mạo của kẻ tấn công.

Using Components with Known Vulnerabilities Kiểu tấn công sử dụng thành phần đã tồn tại lỗ hổng (Using Components with Known Vulnerabilities) bao gồm các lổ hổng có thể có trong các thành phần (thành phần phát triển ứng dụng) như các thư viện, các framework, và mô-đun phần mềm 8 khác. Các thành phần này gần như luôn luôn chạy với quyền cao nhất trong hệ thống. Vì vậy, nếu bị khai thác, các thành phần này có thể gây mất dữ liệu nghiêm trọng. Các ứng dụng sử dụng các thành phần tồn tại lổ hổng có thể làm suy yếu phòng thủ của hệ thống, cho phép một loạt các cuộc tấn công và ảnh hưởng đến hệ thống.

Unvalidated Redirects and Forwards Kiểu tấn công chuyển hướng và chuyển tiếp thiếu kiểm tra (Unvalidated Redirects and Forwards) là kiểu tấn công ứng dụng web thường chuyển hướng, chuyển tiếp người dùng đến những trang web, website khác và sử dụng những thông tin thiếu tin cậy để xác định trang đích đến. Nếu không được kiểm tra một cách cẩn thận, kẻ tấn công có thể lợi dụng để chuyển hướng nạn nhân đến các trang web lừa đảo hay trang web chứa phần mềm độc hại, hoặc chuyển tiếp để truy cập các trang trái phép. Phương pháp phòng chống tấn công trên web 1. Các phương pháp phòng chống tấn công web phổ biến ❖ Phương pháp phòng chống tấn công SQL injection SQL Injection attack [13] gây ra nhiều tác hại tùy thuộc vào môi trường và cách cấu hình hệ thống.

Nếu ứng dụng sử dụng quyền dbo (quyền của người sở hữu CSDL - owner) khi thao tác dữ liệu, nó có thể xóa toàn bộ các bảng dữ liệu, tạo các bảng dữ liệu mới,… Nếu ứng dụng sử dụng quyền sa (quyền quản trị hệ thống), nó có thể điều khiển toàn bộ hệ quản trị CSDL và với quyền hạn rộng lớn như vậy nó có thể tạo ra các tài khoản người dùng bất hợp pháp để điều khiển hệ thống của bạn. Để phòng tránh các nguy cơ có thể xảy ra, cần bảo vệ các câu truy vấn SQL là bằng cách kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượng Request (Request, Request.Cookies, and Request. 9 Trong trường hợp dữ liệu nhập vào là chuỗi, lỗi xuất phát từ việc có dấu nháy đơn trong dữ liệu. Để tránh điều này, thay thế các dấu nháy đơn bằng hàm Replace để thay thế bằng 2 dấu nháy đơn: p_strUsername = Replace(Request.Form("txtUsername"), "'", "''") p_strPassword = Replace(Request.Form("txtPassword"), "'", "''") Trong trường hợp dữ liệu nhập vào là số, lỗi xuất phát từ việc thay thế một giá trị được tiên đoán là dữ liệu số bằng chuỗi chứa câu lệnh SQL bất hợp pháp.

Để tránh điều này, đơn giản hãy kiểm tra dữ liệu có đúng kiểu hay không: p_lngID = CLng(Request("ID")) Như vậy, nếu người dùng truyền vào một chuỗi, hàm này sẽ trả về lỗi ngay lập tức. Ngoài ra để tránh các nguy cơ từ SQL Injection attack, nên chú ý loại bỏ bất kì thông tin kĩ thuật nào chứa trong thông điệp chuyển xuống cho người dùng khi ứng dụng có lỗi. Các thông báo 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ