1. Trang chủ
  2. » Tất cả

Xây dựng giải pháp tường lửa lớp ứng dụng dựa trên modsecurity

49 10 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây dựng giải pháp tường lửa lớp ứng dụng dựa trên Modsecurity
Tác giả Trần Đức Mạnh
Người hướng dẫn PGS.TS. Trần Quang Đức
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 49
Dung lượng 1,65 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: GIỚ I THI ỆU ĐỀ TÀI (10)
    • 1.1. Đặ t v ấn đề (10)
    • 1.2. Các gi ả i pháp hi ệ n t ạ i và h ạ n ch ế (10)
    • 1.3. M ục tiêu và định hướ ng gi ả i pháp (11)
    • 1.4. Đóng góp củ a lu ận văn (11)
    • 1.5. B ố c ụ c c ủ a lu ận văn (12)
  • CHƯƠNG 2: CƠ SỞ LÝ THUY Ế T (12)
    • 2.1. Các nguy cơ mất an toàn đố i v ớ i ứ ng d ụ ng Web (12)
      • 2.1.1. T ổ ng quan v ề ứ ng d ụ ng Web (13)
      • 2.1.2. Các nguy cơ gây mất an toàn đố i v ớ i ứ ng d ụ ng Web (14)
    • 2.2. Đặc trưng trong header HTTP (12)
      • 2.2.1. Request (18)
      • 2.2.2. Request Header (20)
      • 2.2.3. HTTP Response (20)
      • 2.2.4. Các phiên b ả n c ủ a HTTP (21)
    • 2.3. Web Application Firewall (23)
      • 2.3.1. Khái ni ệ m (23)
      • 2.3.2. Mô hình ho ạt độ ng c ủ a WAF (25)
    • 2.4. Tườ ng l ử a ModSecurity (12)
      • 2.4.1. Khái ni ệ m (25)
      • 2.4.2. Các tính năng củ a Modsecurity (25)
      • 2.4.3. Nguyên lý ho ạt độ ng (26)
      • 2.4.4. Quá trình ho ạt độ ng x ử lý (27)
      • 2.4.5. C ấ u trúc lu ậ t c ủ a ModSecurity (28)
    • 2.5. M ộ t s ố thu ậ t toán h ọ c máy (12)
      • 2.5.1. Phương pháp Support Vector Machine (SVM) (29)
      • 2.5.2. Phương pháp Cây quyết đị nh (Decision Tree) (31)
      • 2.5.3. Phương pháp Rừ ng ng ẫ u nhiên (Random Forest) (32)
      • 2.5.4. Phương pháp Hồ i quy Logistic (Logistic Regression) (33)
  • CHƯƠNG 3: THỰ C NGHI ỆM VÀ ĐÁNH GIÁ (12)
    • 3.1. Gi ải pháp đề xu ấ t (12)
    • 3.2. Ki ế n trúc t ổ ng quan h ệ th ố ng (35)
    • 3.3. B ộ d ữ li ệ u th ử nghi ệ m (36)
    • 3.4. Phân tích l ự a ch ọn đặc trưng (37)
      • 3.4.1. L ự a ch ọn đặc trưng (39)
      • 3.4.2. Mô t ả đặc trưng (41)
    • 3.5. Đánh giá và thử nghi ệ m các thu ậ t toán h ọ c máy (42)
      • 3.5.1. L ọ c d ữ li ệu đầ u vào v ớ i ModSecurity (42)
      • 3.5.2. Đánh giá kế t qu ả d ựa trên các phương pháp họ c máy (43)
      • 3.5.3. Tích h ợ p Modsecurity v ớ i h ệ th ố ng phát hi ệ n truy v ấ n HTTP (45)
  • CHƯƠNG 4: KẾ T LU Ậ N (12)
    • 4.1. Đóng góp củ a lu ận văn (48)
    • 4.2. Hướ ng phát tri ể n c ủ a lu ận văn (48)

Nội dung

Hệ thống phát hiện/chống tấn công Intrusion Detection System-IDS/Intrusion Prevention System-IPS được các cơ quan, tổ chức đưa vào sử dụng như một giải pháp được đưa ra để bảo vệ các ứng

GIỚ I THI ỆU ĐỀ TÀI

Đặ t v ấn đề

Trong bối cảnh sự phát triển mạnh mẽ của công nghệ thông tin, các nguy cơ mất an toàn và an ninh mạng ngày càng gia tăng cả về số lượng lẫn mức độ hiểm họa Xu hướng tấn công vào các cổng thông tin điện tử trở thành thách thức lớn cho các nhà quản trị bảo mật, gây nhiều khó khăn trong việc bảo vệ dữ liệu Những kẻ tấn công lấy cắp thông tin, phá hoại hoặc xuyên tạc nội dung tại các cổng thông tin mang lại hậu quả nghiêm trọng, đặc biệt đối với các cổng thông tin quan trọng của chính phủ Đây là vấn đề cấp bách cần được chú trọng để đảm bảo an ninh mạng và duy trì hoạt động bình thường của các hệ thống thông tin.

Các cơ quan nhà nước và tổ chức chính phủ đã và đang triển khai nhiều biện pháp hiệu quả để phòng chống và phát hiện các cuộc tấn công website Trong đó, giải pháp triển khai tường lửa lớp ứng dụng web (Web Application Firewall - WAF) được xem là một trong những phương pháp tối ưu nhất giúp đảm bảo an toàn thông tin cho các cổng thông tin điện tử.

Hiện nay, trên thị trường có nhiều sản phẩm WAF, bao gồm cả bản thương mại và mã nguồn mở, trong đó các giải pháp WAF thương mại thường được đánh giá cao hơn Tuy nhiên, việc sử dụng phần mềm hoặc thiết bị thương mại có thể tiềm ẩn rủi ro rò rỉ thông tin, đặt ra yêu cầu làm chủ công nghệ và phát triển các phần mềm, thiết bị nhằm đảm bảo an ninh cho các hệ thống thông tin quan trọng Nhận thấy tiềm năng và lợi ích của tường lửa lớp ứng dụng web, tôi đã quyết định nghiên cứu đề tài “Xây dựng giải pháp tường lửa lớp ứng dụng dựa trên ModSecurity” để nâng cao khả năng bảo vệ hệ thống thông tin.

Các gi ả i pháp hi ệ n t ạ i và h ạ n ch ế

Các loại tường lửa phổ biến hiện nay chủ yếu hoạt động dựa trên thông tin tầng mạng (network layer) và tầng vận chuyển (transport layer), sử dụng số cổng (port number) và giao thức để ngăn chặn các cuộc tấn công và truy cập trái phép Do các giải pháp tường lửa này vẫn cho phép gói tin truy cập đến các dịch vụ như máy chủ web, DNS, FTP, việc bảo vệ các dịch vụ này đòi hỏi quản trị viên phải phát triển các ứng dụng với mã nguồn an toàn Mặc dù có nhiều tài liệu hướng dẫn lập trình an toàn, nhưng các nhà phát triển không phải lúc nào cũng nắm vững và tuân theo các hướng dẫn này, dẫn đến lỗi trong quá trình thiết kế và cài đặt Hệ thống phát hiện và chống tấn công (IDS/IPS) đã trở thành giải pháp quan trọng để bảo vệ các ứng dụng web như trang thông tin điện tử khỏi các mối đe dọa mạng.

Trong quá trình phát triển hệ thống IDS/IPS, có hai hướng tiếp cận chính được sử dụng, bao gồm giải pháp dựa trên mẫu nhận dạng (signature-based IDS) và giải pháp dựa trên hành vi (behavior-based IDS) Các kỹ thuật dựa trên mẫu nhận dạng hoạt động bằng cách so sánh nội dung gói tin với các dấu hiệu nhận dạng từ cơ sở dữ liệu, giúp phát hiện các cuộc tấn công dựa trên đặc điểm đã được xác định trước.

Hệ thống phát hiện xâm nhập dựa trên dữ liệu đã tạo sẵn có khả năng cảnh báo khi có sự trùng khớp, ví dụ như hệ thống Snort, mang lại độ chính xác cao nhưng không thể phát hiện các dạng tấn công mới do sự gia tăng liên tục của mã độc Trong khi đó, phương pháp dựa trên hành vi, như hệ thống Bro, xây dựng hồ sơ mô tả hoạt động bình thường của hệ thống và phát hiện các trạng thái khác thường, giúp nhận diện các cuộc tấn công mới nhưng lại dễ gây ra nhiều cảnh báo sai.

Hệ thống IDS/IPS gặp hạn chế trong việc hiểu rõ logic của các giao thức, khiến chúng không thể xác định chính xác xem các gói tin HTTP có đúng định dạng hay không Để vượt qua hạn chế này, tường lửa lớp ứng dụng web (WAF) đã được triển khai nhằm phát hiện các loại tấn công mà IDS/IPS không thể phát hiện, đảm bảo an ninh mạng hiệu quả hơn.

M ục tiêu và định hướ ng gi ả i pháp

Mục đích nghiên cứu của luận văn bao gồm hai nội dung chính:

- Tìm hiểu vềcác đặc trưng cơ bản của website và vận dụng xây dựng tường lửa lớp ứng dụng

- Nghiên cứu các phương pháp học máy kết hợp với tường lửa Modsecurity mã nguồn mở xây dựng giải pháp tường lửa lớp ứng dụng

ModSecurity là giải pháp xây dựng tường lửa lớp ứng dụng (WAF) dựa trên mã nguồn mở, có khả năng phát hiện các dạng tấn công phổ biến như SQL injection, cross-site scripting, session hijacking, parameter và URL tampering, cũng như buffer overflows Các chức năng của ModSecurity giúp tăng cường bảo mật cho hệ thống web, vượt qua khả năng của các hệ thống IDS/IPS truyền thống trong việc phát hiện các cuộc tấn công phức tạp và tinh vi hơn Việc áp dụng ModSecurity góp phần nâng cao khả năng phòng thủ của các ứng dụng web khỏi các mối đe dọa mạng ngày càng tinh vi.

Đóng góp củ a lu ận văn

Luận văn “Xây dựng giải pháp tường lửa lớp ứng dụng dựa trên ModSecurity” đã giải quyết được một số nội dung:

Luận văn phân tích các mối đe dọa và rủi ro về bảo mật web, đặc biệt là trong lĩnh vực tường lửa ứng dụng web cho cổng thông tin điện tử tại Việt Nam, đồng thời giới thiệu các giải pháp và xu hướng nghiên cứu hiện nay về bảo mật thông tin toàn cầu Các giải pháp này nhằm nâng cao an toàn dữ liệu, đảm bảo tính ổn định và tin cậy của các hệ thống thông tin Trong lĩnh vực kinh tế - xã hội, nghiên cứu cũng đóng vai trò quan trọng trong việc cung cấp các giải pháp bảo mật cho cổng thông tin điện tử, góp phần thúc đẩy chính phủ điện tử, tăng cường hiệu quả hoạt động và bảo vệ các thông tin quan trọng, từ đó thúc đẩy sự phát triển bền vững của xã hội.

B ố c ụ c c ủ a lu ận văn

Luận văn được chia ra làm 05 chương cụ thểnhư sau:

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.2 Các giải pháp hiện tại và hạn chế

1.3 Mục tiêu và định hướng giải pháp

1.4 Đóng góp của luận văn

1.5 Bố cục của luận văn

CƠ SỞ LÝ THUY Ế T

Đặc trưng trong header HTTP

2.3 Tường lửa lớp ứng dụng web

2.5 Một số thuật toán học máy

CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ

3.1 Kiến trúc tổng quan hệ thống

3.3 Phân tích lựa chọn đặc trưng

3.4 Đánh giá và thử nghiệm các thuật toán học máy

CHƯƠNG 5: TÀI LIỆU THAM KHẢO

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Các nguy cơ mất an toàn đối với ứng dụng Web

2.1.1 Tổng quan về ứng dụng Web Ứng dụng Web là các chương trình máy tính cho phép người dùng website đăng nhập, truy vấn dữ liệu qua mạng Internet trên trình duyệt Web Dữ liệu sẽ được gửi tới người dùng trong trình duyệt theo kiểu thông tin động từ ứng dụng web qua một máy chủ (web server) Ứng dụng web có những đặc điểm khác biệt so với trang web thông thường đó là: tính tương tác cao, nhiều chức năng; được tạo bởi html (HyperText Markup Language) và code ở back end (bằng ngôn ngữ lập trình PHP, C#, Java, ); ngoài ra các ứng dụng web được dùng để thực hiện công việc và chức năng của một ứng dụng nhất định; có yêu cầu khó, tính quản trị lớn và có thể phân tích hệ thống, xây dựng cơ sở dữ liệu đặc thù riêng biệt

Trong thực tế, cơ chế hoạt động của ứng dụng web được mô phỏng như sau:

Hình 2.1: Cơ chế hoạt động của ứng dụng web

Người dùng truy cập internet để kích hoạt yêu cầu đến máy chủ web, quá trình này được thực hiện dễ dàng thông qua giao diện người dùng của ứng dụng hoặc trình duyệt web.

- Tiếp theo, web server sẽ tiến hành chuyển tiếp yêu cầu này đến máy chủ ứng dụng web (Web Application Server) thích hợp

Máy chủ sử dụng ứng dụng web bắt đầu thực hiện các thao tác nghiệp vụ như truy vấn cơ sở dữ liệu và xử lý dữ liệu để đáp ứng yêu cầu của người dùng Sau quá trình xử lý, máy chủ tạo ra kết quả phù hợp với dữ liệu đã được yêu cầu, đảm bảo quá trình truy cập và xử lý dữ liệu hiệu quả.

Sau khi xử lý, máy chủ ứng dụng web gửi các thông tin yêu cầu hoặc dữ liệu đã được xử lý đến máy chủ web để tiếp tục các bước tiếp theo trong quy trình.

- Cuối cùng máy chủ web sẽ phản hồi lại khách hàng cụ thể những thông tin đã được yêu cầu ban đầu

2.1.2 Các nguy cơ gây mất an toàn đối với ứng dụng Web

Ngày nay, việc sử dụng các website trở nên phổ biến, nhưng đồng thời cũng tiềm ẩn nguy cơ hệ thống bị tấn công do các lỗ hổng bảo mật Nguy cơ chính bắt nguồn từ các phiên bản của máy chủ web và máy chủ cơ sở dữ liệu đang sử dụng, bởi mỗi phiên bản đều có thể tồn tại những lỗ hổng mà kẻ tấn công lợi dụng để xâm nhập Để giảm thiểu rủi ro này, quản trị viên cần thường xuyên cập nhật các bản vá từ nhà cung cấp, nhưng việc này có thể gây ra xung đột hoặc không tương thích với cấu hình và các phần mềm đã cài đặt sẵn, ảnh hưởng đến sự ổn định và hoạt động của hệ thống.

Nguy cơ thứ hai đến từ mã nguồn của website, có thể gây ra các lỗ hổng bảo mật và ảnh hưởng đến hoạt động của website Để khắc phục, cần thực hiện sửa đổi mã nguồn nhằm hạn chế các nguy cơ và lỗ hổng, tuy nhiên quá trình này có thể làm website hoạt động không đúng chức năng ban đầu Việc kiểm tra và cập nhật mã nguồn là bước quan trọng để đảm bảo an toàn và duy trì hiệu năng của website.

Nguy cơ thứ ba xuất phát từ bên ngoài gồm có:

- Nguy cơ bị tấn công từ chối dịch vụ (DoS, DDoS) làm cho hệ thống không còn khảnăng phục vụ các yêu cầu từphía người dùng

- Nguy cơ bịthay đổi nội dung trang web làm giảm uy tín hay các hoạt động bôi nhọ tổ chức, chính quyền

- Nguy cơ bị kẻ xấu làm sai lệch các thông tin khi thực hiện các giao dịch điện tửtrên môi trường Internet

- Nguy cơ bịđánh cắp các thông tin nhạy cảm như: thông tin tài khoản, mật khẩu truy cập hệ thống và thông tin thẻ tín dụng,…

Nguy cơ thứ tư đến từ các dịch vụ khác trong hệ thống như FTP và thư điện tử, có thể gây ra các lỗ hổng bảo mật nghiêm trọng cho website của bạn Kẻ tấn công dễ dàng khai thác các lỗ hổng này để xâm nhập vào máy chủ web, đe dọa an toàn và dữ liệu của website Để bảo vệ hệ thống, cần đảm bảo cập nhật các dịch vụ này thường xuyên và áp dụng các biện pháp bảo mật phù hợp.

OWASP (Open Web Application Security Project) là một tổ chức phi lợi nhuận quốc tế chuyên về bảo mật ứng dụng web Nguyên tắc cốt lõi của OWASP là cung cấp tất cả tài liệu và nguồn lực miễn phí, dễ truy cập tại trang web chính thức http://owasp.org Tổ chức này cung cấp đa dạng tài liệu, công cụ, video hướng dẫn và diễn đàn thảo luận nhằm nâng cao nhận thức và kiến thức về an toàn web Theo báo cáo năm 2021, Top 10 nguy cơ gây mất an ninh trên các ứng dụng web đã được xác định nhằm giúp các nhà phát triển và tổ chức bảo vệ tốt hơn hệ thống của mình.

Lỗi phân quyền trong hệ thống, còn gọi là Broken Access Control, là hình thức tấn công diễn ra khi kẻ xâm nhập có thể truy cập và chiếm quyền sử dụng các tài nguyên bảo vệ một cách trái phép Đây là một lỗ hổng bảo mật nghiêm trọng có thể gây ra hậu quả nghiêm trọng cho hệ thống Việc bảo vệ chống lại lỗi này đòi hỏi các biện pháp kiểm soát truy cập chặt chẽ và cập nhật liên tục các biện pháp phòng ngừa Hiểu rõ về lỗi phân quyền giúp doanh nghiệp nâng cao an ninh hệ thống và giảm thiểu rủi ro mất dữ liệu.

Các hacker có khả năng truy cập vào tài khoản người dùng và xâm nhập hệ thống máy chủ thông qua các lỗ hổng trong hệ thống xác thực Những lỗ hổng này cho phép kẻ tấn công lấy cắp mật khẩu, mã thông báo phiên, khóa xác thực, từ đó dễ dàng khai thác để kiểm soát toàn bộ hệ thống Việc khai thác các điểm yếu này đe dọa nghiêm trọng đến an ninh hệ thống và dữ liệu của tổ chức.

6 các cuộc tấn công khác để có thể truy cập trái phép bất kỳ tài khoản hoặc phiên người dùng nào khác tạm thời hoặc vĩnh viễn

Các lỗi phân quyền thường xuất phát từ việc thiếu các bộ phát hiện lỗi tự động hoặc phương pháp kiểm thử chưa hiệu quả, dẫn đến hệ thống dễ bị rò rỉ thông tin Cấu hình an ninh không chặt chẽ tại các tầng kiến trúc của web như nền tảng, framework, máy chủ, cơ sở dữ liệu và mã tùy chỉnh cũng là nguyên nhân chính gây ra các lỗ hổng bảo mật Do đó, việc duy trì cập nhật liên tục tất cả các tầng kiến trúc của web là điều cần thiết để giảm thiểu các nguy cơ tấn công.

Các loại tấn công trực tuyến có thể được ngăn chặn hiệu quả bằng cách áp dụng hệ thống xác thực đa yếu tố và luôn đặt mật khẩu có mức độ bảo mật cao Không sử dụng thông tin đăng nhập mặc định để tránh rủi ro bị tấn công Đảm bảo tuân thủ chính sách độ phức tạp của mật khẩu để tăng cường khả năng bảo vệ dữ liệu Ngoài ra, phía máy chủ nên trình quản lý phiên tạo ID phiên ngẫu nhiên mới sau mỗi lần đăng nhập để ngăn chặn các cuộc tấn công dựa trên việc truy cập trái phép.

Lỗi mật mã (Cryptographic Failures)

Việc bảo mật thông tin cá nhân nhạy cảm bằng cách sử dụng các phương pháp mã hóa đa dạng là rất cần thiết để đảm bảo an toàn dữ liệu Tuy nhiên, nếu phương pháp mã hóa đơn giản, dễ bị giải mã bởi kẻ xấu, hoặc quá trình giải mã không đảm bảo an toàn tuyệt đối, thông tin cá nhân nhạy cảm có nguy cơ bị lộ ra ngoài Do đó, việc sử dụng các kỹ thuật mã hóa mạnh mẽ và phù hợp là yếu tố quan trọng để bảo vệ dữ liệu cá nhân trong môi trường số hiện nay.

Nguyên nhân gây ra lỗi mật mã bao gồm việc lưu trữ hoặc truyền dữ liệu ở dạng rõ, sử dụng các phương pháp mã hóa đã lạc hậu hoặc yếu, cũng như quá trình lọc và che giấu dữ liệu không đúng cách trong quá trình truyền tải Ngoài ra, các chuỗi mã hóa không được xác thực đúng chuẩn cũng là nguyên nhân chính dẫn đến lỗi bảo mật này.

- Không sử dụng những giao thức đã cũ như FTP, SMTP, để vận chuyển dữ liệu cá nhân nhạy cảm

- Đảm bảo các thuật toán mã hóa đạt tiêu chuẩn mạnh mẽ

- Mã hóa dữ liệu trên đường truyền bằng TLS, HTTPS

- Lưu trữ password bằng các hàm băm mạnh

- Luôn sử dụng mã hóa được xác thực thay vì chỉ mã hóa

Injection là kỹ thuật tấn công lợi dụng lỗ hổng trong kiểm tra dữ liệu nhập vào của các ứng dụng web và lỗi hệ quản trị cơ sở dữ liệu để thực hiện các câu lệnh SQL bất hợp pháp Nguy cơ này gây ra hậu quả nghiêm trọng, cho phép kẻ tấn công thêm, sửa, xóa hoặc hiệu chỉnh dữ liệu mà có thể dẫn đến quyền kiểm soát toàn bộ cơ sở dữ liệu hoặc máy chủ của ứng dụng Các lỗi SQL injection thường xảy ra trên các ứng dụng web quản lý dữ liệu bằng các hệ quản trị như SQL Server, MySQL, Oracle, DB2 và Sybase Có bốn dạng tấn công SQL injection phổ biến, gây ra các rủi ro bảo mật lớn cho hệ thống.

- Sử dụng câu lệnh SELECT;

- Sử dụng câu lệnh INSERT;

- Sử dụng các Stored-Procedures

Lỗi thiết kế không bảo mật (Insecure Design) Đây là phương thức mà kẻ tấn công lợi dụng các sai sót trong thiết kếđể tấn công

- Thiết lập sử dụng những thư viện mẫu thiết kế an toàn

- Kiểm tra tính hợp lí ở mỗi cấp ứng dụng

- Hạn chế tiêu thụtài nguyên người dùng hoặc dịch vụ

THỰ C NGHI ỆM VÀ ĐÁNH GIÁ

Gi ải pháp đề xu ấ t

3.1 Kiến trúc tổng quan hệ thống

3.3 Phân tích lựa chọn đặc trưng

3.4 Đánh giá và thử nghiệm các thuật toán học máy

CHƯƠNG 5: TÀI LIỆU THAM KHẢO

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Các nguy cơ mất an toàn đối với ứng dụng Web

2.1.1 Tổng quan về ứng dụng Web Ứng dụng Web là các chương trình máy tính cho phép người dùng website đăng nhập, truy vấn dữ liệu qua mạng Internet trên trình duyệt Web Dữ liệu sẽ được gửi tới người dùng trong trình duyệt theo kiểu thông tin động từ ứng dụng web qua một máy chủ (web server) Ứng dụng web có những đặc điểm khác biệt so với trang web thông thường đó là: tính tương tác cao, nhiều chức năng; được tạo bởi html (HyperText Markup Language) và code ở back end (bằng ngôn ngữ lập trình PHP, C#, Java, ); ngoài ra các ứng dụng web được dùng để thực hiện công việc và chức năng của một ứng dụng nhất định; có yêu cầu khó, tính quản trị lớn và có thể phân tích hệ thống, xây dựng cơ sở dữ liệu đặc thù riêng biệt

Trong thực tế, cơ chế hoạt động của ứng dụng web được mô phỏng như sau:

Hình 2.1: Cơ chế hoạt động của ứng dụng web

Người dùng truy cập internet để gửi yêu cầu đến máy chủ web thông qua giao diện người dùng của ứng dụng hoặc trình duyệt web, bắt đầu quá trình truy cập và tương tác với dịch vụ trực tuyến.

- Tiếp theo, web server sẽ tiến hành chuyển tiếp yêu cầu này đến máy chủ ứng dụng web (Web Application Server) thích hợp

Máy chủ sử dụng ứng dụng web bắt đầu thực hiện các thao tác nghiệp vụ như truy vấn cơ sở dữ liệu và xử lý dữ liệu để đáp ứng yêu cầu của người dùng Sau quá trình xử lý, máy chủ tạo ra kết quả phù hợp với dữ liệu đã được yêu cầu, đảm bảo hoạt động hiệu quả của hệ thống web.

Sau khi nhận được kết quả, máy chủ ứng dụng web sẽ gửi dữ liệu đã được xử lý đến máy chủ web để phục vụ yêu cầu của người dùng, đảm bảo quá trình truy cập diễn ra một cách hiệu quả và chính xác.

- Cuối cùng máy chủ web sẽ phản hồi lại khách hàng cụ thể những thông tin đã được yêu cầu ban đầu

2.1.2 Các nguy cơ gây mất an toàn đối với ứng dụng Web

Trong thế giới ngày nay, việc sử dụng website phổ biến dẫn đến nhiều nguy cơ tấn công hệ thống Một trong những nguy cơ chính đến từ các phiên bản của máy chủ web và cơ sở dữ liệu đang sử dụng, vì mỗi phiên bản đều có các lỗ hổng bảo mật có thể bị khai thác bởi kẻ tấn công Để giảm thiểu rủi ro này, người quản trị cần thường xuyên cập nhật các bản vá bảo mật từ nhà cung cấp Tuy nhiên, quá trình cập nhật có thể gây ra xung đột hoặc làm hệ thống hoạt động không ổn định, do các cấu hình và phần mềm bổ sung có thể không tương thích sau khi nâng cấp.

Nguy cơ thứ hai đến từ mã nguồn của Website, gây ra các lỗ hổng bảo mật có thể bị khai thác và gây hại cho hệ thống Để giảm thiểu nguy cơ này, cần tiến hành sửa đổi mã nguồn, nhằm hạn chế các lỗ hổng phát sinh Tuy nhiên, việc chỉnh sửa mã nguồn có thể ảnh hưởng đến chức năng của Website, gây ra các vấn đề về hoạt động hoặc hiệu suất Do đó, việc kiểm tra kỹ lưỡng và áp dụng các biện pháp bảo mật phù hợp là rất quan trọng để đảm bảo an toàn và duy trì chức năng của Website.

Nguy cơ thứ ba xuất phát từ bên ngoài gồm có:

- Nguy cơ bị tấn công từ chối dịch vụ (DoS, DDoS) làm cho hệ thống không còn khảnăng phục vụ các yêu cầu từphía người dùng

- Nguy cơ bịthay đổi nội dung trang web làm giảm uy tín hay các hoạt động bôi nhọ tổ chức, chính quyền

- Nguy cơ bị kẻ xấu làm sai lệch các thông tin khi thực hiện các giao dịch điện tửtrên môi trường Internet

- Nguy cơ bịđánh cắp các thông tin nhạy cảm như: thông tin tài khoản, mật khẩu truy cập hệ thống và thông tin thẻ tín dụng,…

Nguy cơ thứ tư đến từ các dịch vụ phụ trợ của hệ thống, như dịch vụ FTP và email, có thể đe dọa an toàn của website Các lỗ hổng trong các dịch vụ này tạo điều kiện cho hacker tấn công vào máy chủ web của bạn, gây nguy hiểm và ảnh hưởng đến toàn bộ hệ thống bảo mật của website.

OWASP, viết tắt của Open Web Application Security Project, là một tổ chức phi lợi nhuận quốc tế chuyên về bảo mật ứng dụng web Một trong những nguyên tắc cốt lõi của OWASP là tất cả các tài liệu của tổ chức đều miễn phí và dễ dàng truy cập trên trang web chính thức http://owasp.org OWASP cung cấp nhiều nguồn tài nguyên bao gồm tài liệu, công cụ, video và diễn đàn để hỗ trợ cộng đồng bảo mật Theo báo cáo năm 2021, danh sách Top 10 nguy cơ gây mất an toàn bảo mật trên các ứng dụng web đã được công bố, giúp các nhà phát triển và nhà quản trị hiểu rõ các mối đe dọa tiềm tàng.

Lỗi phân quyền trong hệ thống, hay còn gọi là Broken Access Control, là hình thức tấn công nhằm xâm nhập và chiếm quyền truy cập trái phép vào các tài nguyên được bảo vệ trên hệ thống Đây là một lỗ hổng bảo mật nghiêm trọng có thể bị khai thác để truy cập dữ liệu nhạy cảm hoặc thực hiện các hành vi gây hại Việc đảm bảo phân quyền chính xác và kiểm soát truy cập chặt chẽ là yếu tố quan trọng giúp ngăn chặn các cuộc tấn công này Chính vì vậy, các doanh nghiệp cần chú trọng kiểm tra và vá lỗi phân quyền để nâng cao an ninh hệ thống và bảo vệ dữ liệu khách hàng hiệu quả.

Các hacker có thể truy cập vào tài khoản người dùng và xâm nhập toàn bộ hệ thống máy chủ qua các lỗ hổng trong hệ thống xác thực Những lỗ hổng này cho phép kẻ tấn công lấy được mật khẩu, mã thông báo phiên và khóa xác thực, từ đó lợi dụng để xâm nhập sâu hơn vào hệ thống Điều này đặt ra nguy cơ lớn về an ninh, yêu cầu nâng cao các biện pháp bảo mật xác thực để ngăn chặn các cuộc tấn công.

6 các cuộc tấn công khác để có thể truy cập trái phép bất kỳ tài khoản hoặc phiên người dùng nào khác tạm thời hoặc vĩnh viễn

Các lỗi phân quyền thường xuất phát từ việc thiếu các bộ phát hiện lỗi tự động hoặc các phương pháp kiểm thử hiệu quả, dẫn đến nguy cơ rò rỉ hệ thống Cấu hình an ninh không chặt chẽ tại các tầng kiến trúc của website như nền tảng, framework, máy chủ, cơ sở dữ liệu và mã tùy chỉnh cũng là nguyên nhân chính gây ra các cuộc tấn công này Do đó, việc cập nhật thường xuyên tất cả các tầng kiến trúc của web là vô cùng cần thiết để đảm bảo an toàn.

Các loại tấn công có thể được ngăn chặn hiệu quả bằng cách triển khai hệ thống xác thực đa yếu tố và đặt mật khẩu với mức độ bảo mật mạnh, không sử dụng thông tin đăng nhập mặc định hoặc dễ đoán Để đảm bảo an toàn tối đa, cần tuân thủ chính sách độ phức tạp của mật khẩu và sử dụng các biện pháp như trình quản lý phiên phía máy chủ để tạo ID phiên ngẫu nhiên mới sau mỗi lần đăng nhập, giúp giảm thiểu nguy cơ tấn công và bảo vệ dữ liệu của người dùng.

Lỗi mật mã (Cryptographic Failures)

Việc bảo mật thông tin cá nhân nhạy cảm bằng cách sử dụng mã hóa là cần thiết để đảm bảo an toàn dữ liệu Tuy nhiên, nếu phương pháp mã hóa quá dễ dàng để kẻ tấn công có thể giải mã hoặc quá trình giải mã không đảm bảo an toàn, thông tin nhạy cảm có thể bị lộ ra ngoài Do đó, áp dụng các phương pháp mã hóa phức tạp và an toàn là yếu tố quyết định để bảo vệ dữ liệu cá nhân hiệu quả.

Nguyên nhân chính gây ra lỗi mật mã bao gồm việc lưu trữ hoặc truyền dữ liệu ở dạng bản rõ, sử dụng phương pháp mã hóa đã cũ hoặc yếu, cùng với việc lọc và che giấu dữ liệu không đúng quy trình khi chuyển tiếp Ngoài ra, các chuỗi mã hóa không được xác thực đúng cách cũng là yếu tố dẫn đến các lỗi bảo mật liên quan đến mật mã.

- Không sử dụng những giao thức đã cũ như FTP, SMTP, để vận chuyển dữ liệu cá nhân nhạy cảm

- Đảm bảo các thuật toán mã hóa đạt tiêu chuẩn mạnh mẽ

- Mã hóa dữ liệu trên đường truyền bằng TLS, HTTPS

- Lưu trữ password bằng các hàm băm mạnh

- Luôn sử dụng mã hóa được xác thực thay vì chỉ mã hóa

Injection là kỹ thuật tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập vào của các ứng dụng web và thông báo lỗi của hệ quản trị cơ sở dữ liệu để thực hiện câu lệnh SQL bất hợp pháp Nguy hiểm của SQL injection là cho phép kẻ tấn công thực hiện các thao tác như thêm, sửa, xóa hoặc chỉnh sửa dữ liệu với quyền truy cập toàn diện vào cơ sở dữ liệu của ứng dụng hoặc thậm chí máy chủ chạy ứng dụng Lỗi này thường xuất hiện trên các ứng dụng web quản lý dữ liệu bằng hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2 hoặc Sysbase Có bốn dạng tấn công SQL injection phổ biến, gây nguy cơ lớn về bảo mật và dữ liệu của hệ thống.

- Sử dụng câu lệnh SELECT;

- Sử dụng câu lệnh INSERT;

- Sử dụng các Stored-Procedures

Lỗi thiết kế không bảo mật (Insecure Design) Đây là phương thức mà kẻ tấn công lợi dụng các sai sót trong thiết kếđể tấn công

- Thiết lập sử dụng những thư viện mẫu thiết kế an toàn

- Kiểm tra tính hợp lí ở mỗi cấp ứng dụng

- Hạn chế tiêu thụtài nguyên người dùng hoặc dịch vụ

Ki ế n trúc t ổ ng quan h ệ th ố ng

Hình 3.2: Kiến trúc tổng quan của hệ thống

Hình 3.2 mô tả kiến trúc tổng thể của hệ thống, trong đó dữ liệu training hoặc các truy vấn bất kỳ từ máy khách sẽ được đưa vào bước tiền xử lý để làm sạch dữ liệu Tiếp theo, hệ thống phân tách các trường dữ liệu để xác định các đặc trưng quan trọng, phục vụ cho quá trình phân tích và trích xuất thông tin Quy trình này giúp tối ưu hóa hiệu quả của hệ thống phân tích dữ liệu, đáp ứng tốt các yêu cầu về xử lý dữ liệu và trí tuệ nhân tạo.

Trong giai đoạn huấn luyện, tất cả các truy vấn đều phải qua tường lửa ModSecurity để đảm bảo an toàn hệ thống Tại đây, các luật lệ sẽ được thiết lập để kiểm soát các yêu cầu phù hợp với các giao thức như GET, PUT, HEAD, OPTIONS, DELETE, CONNECT và TRACE Các truy vấn theo đúng các giao thức này sẽ được tiến hành thực thi sau khi vượt qua các quy định của tường lửa, giúp bảo vệ hệ thống khỏi các mối đe dọa tiềm ẩn.

Trong quá trình xử lý, 27 tệp tin chứa thông tin đặc trưng truy vấn được đưa vào bộ huấn luyện để xác định các ngưỡng so sánh Bộ huấn luyện sẽ phân tích và đưa ra kết luận về tính bất thường của yêu cầu dựa trên các ngưỡng này, sau đó ModSecurity sẽ xử lý và cảnh báo nếu phát hiện yêu cầu bất thường Để thiết lập quy trình này, cần thêm luật tại file /usr/share/modsecurity-crs/rules/luat.conf để đảm bảo hệ thống phát hiện chính xác các hoạt động đáng ngờ.

"^(GET|PUT|HEAD|OPTIONS|DELETE|CONNECT|TRACE|POST)$"

"pass,setenv:input_raw=http://%{SERVER_NAME}%{REQUEST_URI}?%{RE QUEST_BODY},exec:/home/chamaeleon/manh/learn.sh,id:1993"

Luật sẽ được kích hoạt khi phát hiện các truy vấn có phương thức GET, PUT, HEAD, OPTIONS, DELETE, CONNECT hoặc TRACE Các biến môi trường sẽ được thiết lập dưới dạng setenv, theo định dạng như sau: input_raw=http://%{SERVER_NAME}%{REQUEST_URI}?%{REQUEST_BODY} Điều này đảm bảo xử lý chính xác các yêu cầu HTTP đa dạng và tối ưu hóa khả năng phân tích dữ liệu truy cập trên hệ thống của bạn.

Sau đó luật này sẽ thực thi tập tên /home/chamaeleon/modsec/learn.sh

Nội dung của tệp tin learn.sh:

#!/bin/sh python /home/chamaeleon/modsec/learn.py -t $input_raw

Tập tin learn.py sẽ chạy với tham số $input_raw chứa toàn bộ các trường dữ liệu của câu lệnh truy vấn Quá trình này gồm phân tách, phân tích và so sánh dữ liệu với các ngưỡng giá trị đã định sẵn để xác định truy vấn bất thường hay truy vấn bình thường Dựa trên kết quả so sánh, hệ thống sẽ đưa ra phản hồi chính xác, phù hợp với tiêu chuẩn kiểm tra an ninh dữ liệu.

B ộ d ữ li ệ u th ử nghi ệ m

Trong phạm vi luận văn, tôi sử dụng bộ dữ liệu HTTP CSIC 2010 từ CSIC 2020, chứa hàng ngàn yêu cầu web tự động tạo và phù hợp để thử nghiệm các hệ thống bảo vệ chống tấn công web Bộ dữ liệu này được phát triển tại Viện Bảo Mật Thông Tin của CSIC, một tổ chức nghiên cứu hàng đầu của Tây Ban Nha, nhằm hỗ trợ các nghiên cứu về an ninh mạng và phát hiện các mối đe dọa trên web.

Dữ liệu được tạo tự động gồm hơn 36.000 yêu cầu bình thường và hơn 25.000 yêu cầu bất thường, giúp phân loại các yêu cầu HTTP dựa trên nhãn là bình thường hoặc bất thường Các yêu cầu này chứa các cuộc tấn công phổ biến như SQL injection, tràn bộ đệm, thu thập thông tin, tiết lộ tệp tin, tiêm mã CRLF, và XSS tại phía máy chủ Việc phân tích các yêu cầu này hỗ trợ nâng cao khả năng phát hiện và phòng chống các cuộc tấn công mạng hiệu quả hơn.

Dữ liệu được tạo ra thông qua quá trình thu thập tất cả các tham số của ứng dụng web từ dữ liệu thực tế, bao gồm các thông tin như tên, họ, địa chỉ, và các dữ liệu cá nhân khác Các giá trị này sau đó được lưu trữ vào hai cơ sở dữ liệu riêng biệt: một cho các giá trị bình thường và một cho các giá trị bất thường, nhằm phục vụ mục đích phân tích và phát hiện gian lận Ngoài ra, toàn bộ các trang web công khai của ứng dụng cũng được liệt kê đầy đủ để dễ dàng kiểm tra và xử lý Tiếp đó, các yêu cầu bình thường và bất thường được tạo ra dựa trên các trang web này để phục vụ cho các mục đích kiểm thử và phân tích Trong trường hợp yêu cầu bình thường có tham số, các giá trị tham số này được điền đầy đủ nhằm đảm bảo tính chính xác và phù hợp của dữ liệu.

Trong hệ thống, 28 liệu được lấy trực tiếp từ cơ sở dữ liệu bình thường, đảm bảo tính chính xác và nhất quán trong dữ liệu Đối với các yêu cầu bất thường có tham số đi kèm, các giá trị tham số sẽ được điền đầy đủ dựa trên dữ liệu lấy từ cơ sở dữ liệu bất thường, giúp xử lý linh hoạt các tình huống đặc thù Việc này đảm bảo hệ thống hoạt động hiệu quả, chính xác trong mọi điều kiện.

Trong tập dữ liệu sử dụng, ba loại truy vấn bất thường bao gồm:

Các cuộc tấn công nhằm khai thác các tài nguyên ẩn hoặc không tồn tại trên hệ thống, bao gồm các yêu cầu truy cập các tệp lỗi thời, ID phiên trong URL, tệp cấu hình và các tệp mặc định Những hành động này nhằm dò tìm lỗ hổng bảo mật và kiểm tra cấu hình yếu của hệ thống, góp phần mở đường cho các tấn công mạng Việc phát hiện và ngăn chặn các yêu cầu này là một phần quan trọng trong chiến lược bảo vệ an ninh mạng cho tổ chức.

- Các cuộc tấn công tác động thay đổi các đối số yêu cầu hợp lệ: SQL injection, CRLF injection, cross-site scripting, tràn bộđệm, v.v

Các truy vấn bất hợp pháp không chủ ý thường không có ý xấu, nhưng chúng không tuân theo hành vi bình thường của ứng dụng web Những truy vấn này thường không có cấu trúc chuẩn như các giá trị tham số thông thường, ví dụ như số điện thoại có thể bao gồm cả các chữ cái Do đó, việc phát hiện và xử lý các truy vấn này là cần thiết để đảm bảo an toàn và tính nhất quán của hệ thống web.

Dữ liệu được phân chia thành ba tập con để phục vụ quá trình huấn luyện và thử nghiệm mô hình Tập đầu tiên dùng cho giai đoạn đào tạo, chứa dữ liệu truy cập bình thường để mô hình học các hành vi hợp lệ Hai tập còn lại dùng cho giai đoạn thử nghiệm, trong đó một tập chứa dữ liệu truy cập bình thường để kiểm tra độ chính xác của mô hình, và tập còn lại chứa dữ liệu độc hại nhằm đánh giá khả năng phát hiện các lưu lượng truy cập không hợp lệ hoặc tấn công mạng.

Phân tích l ự a ch ọn đặc trưng

Trong luận văn, chúng tôi sử dụng 30 tính năng liên quan đến phát hiện các cuộc tấn công Web Application, dựa trên nghiên cứu tại [1] Mô hình tổng quan mô tả quá trình trao đổi dữ liệu giữa máy khách (web client) và máy chủ (web server) qua các câu truy vấn và phản hồi Các thuộc tính được xác định với hai cấp độ: thuộc tính của từng trường dữ liệu và thuộc tính của toàn bộ câu truy vấn, và được đánh giá điểm từ 0 đến 1 để phản ánh mức độ giống với giá trị chuẩn đã biết Giá trị p càng gần 0, cho thấy thuộc tính khác với giá trị mặc định, báo hiệu nguy cơ tấn công Ngược lại, giá trị p càng gần 1, thể hiện rằng dữ liệu không có dấu hiệu tấn công Điểm bất thường được tính theo công thức: Điểm bất thường = w * (1 - p), giúp xác định các hành vi tiềm ẩn nguy hiểm trong quá trình phân tích dữ liệu.

Trong quá trình thực nghiệm, tôi nhận thấy công thức trên chỉ hiệu quả trong việc nhận biết truy vấn bất thường khi câu truy vấn có ít thuộc tính Khi số lượng thuộc tính trong câu truy vấn tăng lên, điểm bất thường có thể bị nhiễu do ảnh hưởng của nhiều yếu tố Để khắc phục vấn đề này, tôi đã áp dụng các phương pháp học máy nhằm xác định ngưỡng giá trị phù hợp từ bộ dữ liệu đầu vào, giúp phân loại chính xác hơn giữa truy vấn bình thường và truy vấn bất thường, nâng cao hiệu quả của quá trình phát hiện truy vấn lạ.

Trong 30 tính năng được đề cập ở trên đều có một sốcác điểm chung và sẽ được chia thành các nhóm để phân tách và chọn lựa:

Chiều dài của trường dữ liệu trong các truy vấn thông thường thường cố định khi gửi từ trình duyệt của người dùng lên máy chủ, với độ biến thiên không lớn Tuy nhiên, trong các trường hợp tấn công như SQL injection hoặc XSS, độ dài của trường dữ liệu có thể thay đổi lớn, do đó, việc thay đổi chiều dài trường dữ liệu trong câu truy vấn trở thành một đặc trưng quan trọng để nhận diện các cuộc tấn công an ninh mạng.

Trong giai đoạn học, quá trình trích chọn toàn bộ chiều dài của trường dữ liệu trong các câu truy vấn từ cả bộ dữ liệu bất thường và bình thường có sẵn Phương pháp này giúp xác định các giá trị ngưỡng chính xác, từ đó nâng cao khả năng phân biệt giữa dữ liệu hợp lệ và dữ liệu có vấn đề trong hệ thống.

Trong giai đoạn phát hiện tấn công, chiều dài của các câu truy vấn được đo lường và so sánh với ngưỡng đã xác định trong giai đoạn học Nếu chiều dài của truy vấn xấp xỉ ngưỡng, hệ thống sẽ coi đó là truy vấn bình thường; ngược lại, nếu chiều dài vượt quá ngưỡng đáng kể, truy vấn đó sẽ được phát hiện là bất thường, giúp ngăn chặn các hành vi tấn công tiềm ẩn.

Phân bố thuộc tính ký tự trong câu truy vấn thể hiện rõ sự khác biệt giữa các trường hợp bình thường và bị tấn công Trong câu truy vấn bình thường, tần suất xuất hiện của các ký tự giảm dần theo thứ tự, phản ánh đặc điểm tự nhiên của dữ liệu Ngược lại, khi có tấn công, tần suất ký tự có thể giảm đột ngột do một số ký tự xuất hiện liên tục hoặc trở nên đồng đều do các ký tự được tạo ngẫu nhiên, gây ra sự phân bố rất đều Việc thống kê và sắp xếp tần suất xuất hiện của ký tự giúp phát hiện các bất thường, từ đó nâng cao khả năng phòng chống các tấn công vào hệ thống Giả sử phân bố tần suất ký tự bình thường là TS, ta có thể xác định tần suất xuất hiện thứ i của ký tự là TS(i), góp phần phân tích đặc điểm của câu truy vấn.

Trong giai đoạn học, hệ thống xây dựng sự phân bố tần suất xuất hiện của các ký tự trong câu truy vấn Mỗi câu truy vấn mới đều được kiểm tra và tính toán để cập nhật các giá trị thể hiện sự phân bố ký tự, giúp cải thiện độ chính xác của mô hình Giá trị của từng phần tử i trong câu truy vấn TS(i) được xác định bằng trung bình của tất cả các giá trị tương ứng trước đó trong phân bố ký tự đã lưu lại, đảm bảo tính thống nhất và chính xác của dữ liệu.

Trong quá trình phát hiện tấn công, hệ thống bắt đầu bằng việc xác định giá trị TS cho các truy vấn bình thường Đối với các truy vấn mới, cần xác định tham số của câu truy vấn có thỏa mãn trạng thái bình thường hay bất thường bằng cách tính tần suất xuất hiện của các ký tự và xây dựng thành vector 256 giá trị, tương ứng với 256 ký tự trong bảng ASCII Sau đó, sử dụng phép thử chi bình phương (chi-squared) để kiểm tra xem giá trị hiện tại có cùng phân phối với giá trị TS đã biết hay không Cuối cùng, dựa trên kết quả kiểm tra, hệ thống kết luận truy vấn đó là bình thường hay bất thường, giúp phát hiện các cuộc tấn công một cách chính xác và nhanh chóng.

Trong quá trình học, hệ thống sẽ lưu lại các ký tự đã sử dụng để xây dựng tập ký tự Khi phát hiện tấn công, hệ thống sẽ kiểm tra xem câu lệnh truy vấn có chứa ký tự mới nào không; nếu phát hiện ký tự mới, đây sẽ được xem là điểm nghi ngờ tấn công Điều này giúp phân biệt chính xác giữa truy vấn bình thường và truy vấn có dấu hiệu bất thường, nâng cao khả năng phát hiện các cuộc tấn công.

Trong giai đoạn học, một bộ từ khóa sẽ được xây dựng dựa trên những truy vấn bất thường trong bộ dữ liệu, giúp xác định các đặc điểm nổi bật của dữ liệu Trong giai đoạn phát hiện tấn công, việc sử dụng các từ khóa này có vai trò quan trọng để phát hiện các hành vi bất thường hoặc các cuộc tấn công mạng, nâng cao hiệu quả của hệ thống bảo mật Quá trình xây dựng bộ từ khóa từ các truy vấn bất thường giúp hệ thống nhận diện các mối đe dọa tiềm tàng nhanh chóng và chính xác hơn, góp phần tăng cường khả năng phòng vệ cho hệ thống thông tin.

Trong quá trình phân tích câu truy vấn, việc kiểm tra sự xuất hiện của từ khóa trong bộ từ khóa đã xây dựng đóng vai trò then chốt Nếu trong câu truy vấn có xuất hiện từ khóa phù hợp, điều này là cơ sở để xác định truy vấn đó là bình thường hay bất thường Việc này giúp nâng cao độ chính xác của hệ thống phân tích truy vấn, đảm bảo phản hồi phù hợp với nội dung người dùng mong muốn Khoảng cách giữa các từ khóa cũng được xem xét để đánh giá tính hợp lệ của truy vấn, từ đó tối ưu hóa quá trình xử lý và trả về kết quả phù hợp hơn.

Sau khi tính toán các giá trị tham số của 30 tính năng và phân tích dữ liệu, bước tiếp theo là lựa chọn các tính năng tốt nhất để đưa vào bộ dữ liệu huấn luyện của mô hình học máy Để xác định các giá trị tham số của các tính năng, ngôn ngữ Python được sử dụng, trong đó hàm len() giúp tính chiều dài của các trường như độ dài của yêu cầu hoặc đối số, còn hàm sum() hỗ trợ tính tổng của các giá trị như số lượng đối số hoặc số byte khác biệt Ngoài ra, để tính các giá trị cụ thể của từng trường như số lượng chữ số trong đường dẫn hoặc ký tự khác trong đối số, hàm len() và sum() kết hợp với hàm split() nhằm phân tách các trường trong truy vấn, giúp đảm bảo tính chính xác và toàn diện trong quá trình trích xuất đặc trưng.

Hình 3.3: Kết quả tính toán tham số của 30 tính năng liên quan đến Web Attack

Tất cả các kết quả tính toán sẽ được tổng hợp thành file định dạng csv, giúp dễ dàng phân tích và so sánh Việc lưu trữ dữ liệu dưới dạng này tối ưu cho quá trình lựa chọn đặc trưng tốt nhất từ các tính năng đã tính toán Điều này đảm bảo tính linh hoạt và tiện lợi trong các bước xử lý dữ liệu tiếp theo của dự án.

Lựa chọn tính năng quan trọng trong học máy ảnh hưởng lớn đến hiệu suất của mô hình, giúp giảm dữ liệu dư thừa và nhiễu để đưa ra quyết định chính xác hơn Việc chọn đúng tính năng còn giúp dữ liệu ít sai lệch hơn, từ đó nâng cao độ chính xác của mô hình Ngoài ra, giảm số lượng điểm dữ liệu giúp giảm độ phức tạp của thuật toán, khiến quá trình huấn luyện trở nên nhanh chóng hơn Để xác định những tính năng có đặc trưng tốt nhất trong số 30 tính năng đã đề cập, tôi đã sử dụng ba phương pháp khác nhau giúp tối ưu hóa quá trình chọn lọc, nâng cao hiệu quả của mô hình học máy.

Univariate Selection (Lựa chọn đơn biến) là phương pháp lựa chọn các đặc điểm có mối quan hệ chặt chẽ với biến đầu ra, giúp giảm số lượng đặc điểm nhưng vẫn duy trì được khả năng dự đoán hiệu quả Thư viện scikit-learn cung cấp các lớp hỗ trợ kỹ thuật này, giúp tối ưu quá trình tiền xử lý dữ liệu trong các dự án học máy và phân tích dữ liệu Việc lựa chọn đặc điểm phù hợp không chỉ nâng cao hiệu suất mô hình mà còn giảm thiểu sai số do quá tải dữ liệu Đặc biệt, univariate selection rất hữu ích trong các bài toán có dữ liệu lớn, giúp tập trung vào các đặc điểm quan trọng nhất để xây dựng mô hình chính xác và hiệu quả hơn.

SelectKBest sử dụng đưa ra các bộ kiểm tra khác nhau để lựa chọn các tính năng tốt nhất từ tập dữ liệu

Hình 3.4: Lựa chọn 10 tính năng tốt nhất sử dụng phương pháp Univariate Selection

KẾ T LU Ậ N

Ngày đăng: 24/03/2023, 23:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hai Thanh Nguyen, Carmen Torrano-Gimenez, Gonzalo Alvarez, Slobodan Petrović and Katrin Franke, Application of the Generic Feature Selection Measure in Detection of Web Attacks, 2011 Sách, tạp chí
Tiêu đề: Application of the Generic Feature Selection Measure in Detection of Web Attacks
[2] Ngoc-Tin Tran, Van-Hoa Nguyen, Thanh Nguyen-Le, and Khuong Nguyen- An, Improving ModSecurity WAF with Machine Learning Methods, 2020 Sách, tạp chí
Tiêu đề: Improving ModSecurity WAF with Machine Learning Methods
[3] Gim´enez, C.T, Villegas, A.P, Maranon, G.A: HTTP data set CSIC 2010. Information Security Institute of CSIC (Spanish Research National Council), 2010 Sách, tạp chí
Tiêu đề: Information Security Institute of CSIC (Spanish Research National Council)
[3] Ristic, Ivan, Modsecurity Handbook: The Complete Guide to the Popular Open Source Web Application Firewall, 2010 Sách, tạp chí
Tiêu đề: Modsecurity Handbook: The Complete Guide to the Popular Open Source Web Application Firewall
[4] Khu ấ t Th ị Ng ọ c Ánh, “Phương pháp phát hiện tấn công web ứng dụng dựa trên k ỹ thuật phân tích hành vi” , Lu ận văn thạc sĩ, Họ c vi ện bưu chính viễ n thông, 2020 Sách, tạp chí
Tiêu đề: “Phương pháp phát hiện tấn công web ứng dụng dựa trên kỹ thuật phân tích hành vi”
[6] ModSecurity Core Rule Set Project, “OWASP ModSecurity Core Rule Set,” Sách, tạp chí
Tiêu đề: “OWASP ModSecurity Core Rule Set
[7] T. Berners-Lee, Hypertext transfer protocol (HTTP). [Online]. Available: https://www.rfc-editor.org/rfc/rfc1945 (truy c ậ p ngày 03/10/2022) Sách, tạp chí
Tiêu đề: https://www.rfc-editor.org/rfc/rfc1945
[8] The OWASP Top 10 2021. Available: https://owasp.org/Top10/ (truy c ậ p ngày 28/9/2022) Sách, tạp chí
Tiêu đề: https://owasp.org/Top10/

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w