Tuy nhiên,trong thời gian hiện tại, hệ thống Snort này đang ngày càng trở nên khônghiệu quả vì nhiều nguyên do.• Thứ nhất, giao thức mạng hiện nay đa số sử dụng HTTPS, đồng nghĩavới việc
Lý do hình thành đề tài
Xâm nhập (Intrusion) trong lĩnh vực máy tính là hành động xâm phạm và phá hoại hệ thống bằng cách vượt qua các lớp bảo mật để làm tổn hại dữ liệu và hoạt động của hệ thống Mỗi ngày hàng triệu máy tính trở thành mục tiêu của những cuộc xâm nhập, khiến doanh nghiệp phải đối mặt với thiệt hại do thông tin bí mật bị lộ ra ngoài trong quá trình cạnh tranh Các rủi ro này nhấn mạnh tầm quan trọng của an ninh mạng và việc tăng cường bảo mật hệ thống để ngăn ngừa rò rỉ dữ liệu, bảo vệ tài sản trí tuệ và uy tín của tổ chức.
An ninh mạng ngày càng quan trọng đối với máy tính cá nhân và các tổ chức, khi các mối đe dọa từ truy cập trái phép ngày càng tinh vi Để ngăn chặn và phát hiện xâm nhập, hàng loạt công cụ phát hiện xâm nhập được triển khai nhằm theo dõi, giám sát và nhận diện những truy cập không mong muốn trong mạng hoặc trên các thiết bị mạng, từ đó bảo vệ hệ thống và dữ liệu.
Trong số các công cụ bảo mật được giới thiệu từ đầu những năm 2000, hệ thống ngăn chặn xâm nhập (IPS) và hệ thống phát hiện xâm nhập (IDS) là hai công cụ phổ biến nhất Cả IPS và IDS đều tiến hành kiểm tra các gói tin, chặn các gói tin đáng ngờ và cảnh báo quản trị viên về các nỗ lực tấn công nhằm tăng cường an ninh mạng và quản trị hệ thống.
IPS (Intrusion Prevention System) là hệ thống kiểm soát hoạt động mạng nhằm ngăn chặn các mối đe dọa và các cuộc tấn công đang diễn ra, trong khi IDS (Intrusion Detection System) là công cụ phát hiện và giám sát để cảnh báo cho quản trị viên về lưu lượng nguy hiểm tiềm ẩn Trong bối cảnh bảo mật mạng hiện nay, IDS được xem là một hướng tiếp cận phù hợp để xây dựng hệ thống phát hiện xâm nhập cho Cổng thông tin Portal của Đại học Bách Khoa, nhằm phát hiện bất thường và cung cấp thông tin về các cuộc tấn công mạng vào Portal, từ đó hỗ trợ phân tích và phát triển thêm IPS cho hệ thống trong tương lai.
Trường đang vận hành hệ thống Snort để phát hiện xâm nhập mạng Snort là hệ thống phát hiện xâm nhập nguồn mở dựa trên danh sách các quy tắc nhằm nhận diện các hoạt động mạng độc hại và cảnh báo cho quản trị viên khi phát hiện gói tin vi phạm Trong quá khứ, Snort hoạt động hiệu quả nhờ khả năng can thiệp sâu vào nội dung dữ liệu để đánh giá và phân tích các gói tin Tuy nhiên, hiện nay hệ thống Snort đang ngày càng kém hiệu quả vì nhiều nguyên nhân.
Hiện nay phần lớn giao thức mạng sử dụng HTTPS, đồng nghĩa với việc dữ liệu trong gói tin được mã hóa và các quy tắc của Snort liên quan đến dữ liệu gói tin trở nên kém hiệu quả Thực tế, nhiều cuộc tấn công hiện nay chứa mã độc nằm ở phần dữ liệu (payload), khiến chúng có thể dễ dàng vượt qua hệ thống Snort Vì vậy, an ninh mạng nên được bổ sung bằng các biện pháp phân tích lưu lượng và hành vi mạng ngoài việc kiểm tra dữ liệu đã mã hóa để tăng khả năng phát hiện xâm nhập Để bài viết thân thiện với SEO, có thể nhấn mạnh các từ khóa như HTTPS, mã hóa dữ liệu, Snort, quy tắc Snort, dữ liệu gói tin và mã độc trong payload.
Snort là hệ thống phát hiện xâm nhập mạng (NIDS) có khả năng phân tích gói tin ở mức độ bao quát, cho phép giám sát và nhận diện nhiều mối đe dọa khác nhau Tuy nhiên, độ tổng quát cao này gây ra thách thức khi đánh giá hiệu quả thực sự của một IDS, vì việc tổng quát hóa gói tin có thể làm mất chi tiết và dẫn đến kết quả đánh giá không phản ánh đầy đủ hiệu suất hoạt động.
Thực tế cho thấy các cảnh báo Snort hiện nay chủ yếu tập trung vào các tấn công dạng Challenge-Response Buffer Overflow trong giao thức SSH, bỏ qua nhiều mối nguy ở các tầng cao hơn (Session, Presentation và Application), đặc biệt là các dạng tấn công phổ biến như SQL injection và XSS Vì thế, việc xây dựng một hệ thống phát hiện xâm nhập ở các tầng trên, cụ thể là tầng ứng dụng, để bảo vệ nguồn dữ liệu cho Portal là thực sự cần thiết Luận văn đề xuất triển khai một hệ thống IDS ở tầng ứng dụng nhằm tăng cường bảo mật, hạn chế rủi ro từ các lỗ hổng ở tầng Presentation và Application và đảm bảo an toàn dữ liệu cho Portal.
Mục đích, đối tượng và phạm vi nghiên cứu
Đề tài này hướng tới xây dựng một hệ thống phát hiện xâm nhập ở tầng máy chủ (HIDS) nhằm tăng cường bảo mật cho Cổng thông tin của trường Đại học Bách Khoa, Đại học Quốc gia TP.HCM (ĐHBK-ĐHQG-HCM) – Portal Hệ thống sẽ thu thập và phân tích dữ liệu từ máy chủ, log và hành vi truy cập để nhận diện các dấu hiệu xâm nhập, từ đó cảnh báo kịp thời và hỗ trợ ngăn chặn sự cố Mục tiêu là phát hiện sớm các hành vi bất thường, giảm thiểu rủi ro rò rỉ dữ liệu và thời gian gián đoạn dịch vụ, bảo đảm tính sẵn sàng và an toàn cho Portal Các thành phần chính gồm thu thập dữ liệu, phân tích theo quy tắc và học máy, giám sát thời gian thực và tích hợp dễ dàng với hạ tầng hiện có của ĐHBK-ĐHQG-HCM Kết quả mong đợi là một HIDS chủ động, có khả năng mở rộng, hiệu quả và hỗ trợ quản trị sự kiện an toàn thông tin cho portal của trường.
Ý tưởng của đề tài được hình thành từ các vấn đề đã đề cập ở mục Lý do hình thành đề tài, tập trung vào phát hiện xâm nhập cho một dịch vụ cụ thể – trang Portal – nhằm xây dựng hệ thống phát hiện xâm nhập ở tầng máy chủ (Host-based Intrusion Detection System, HIDS) Nghiên cứu nhằm nhận diện sớm các hành vi xâm nhập và những bất thường trên máy chủ vận hành Portal, từ đó tăng cường bảo mật, giảm thiểu rủi ro và bảo vệ dữ liệu quan trọng Việc triển khai giải pháp HIDS cho dịch vụ Portal cho phép ghi nhận log, phân tích mẫu tấn công và cung cấp cảnh báo kịp thời cho quản trị viên an toàn thông tin, nâng cao hiệu quả bảo mật cho môi trường máy chủ web.
Các hệ thống IDS thông thường không hoạt động tốt như mong đợi vì một số lí do:
Việc phân loại trong các hệ thống IDS thường dựa trên chiến lược quy tắc hoặc các thuật toán học máy có giám sát để phân biệt giữa các request bình thường và request tấn công, đòi hỏi một lượng lớn dữ liệu huấn luyện có nhãn để đào tạo các mô hình Tuy nhiên, việc thu thập dữ liệu huấn luyện cho các ứng dụng tùy chỉnh là khó khăn và tốn kém Dữ liệu có nhãn thường bị mất cân bằng, vì các request tấn công khó nhận diện hơn hoặc ít phổ biến hơn các request bình thường, gây thách thức lớn cho các mô hình phân loại Thêm vào đó, dù các phương pháp học có giám sát có thể nhận diện các cuộc tấn công đã biết, nhưng các kiểu tấn công và lỗ hổng mới liên tục xuất hiện nên có nguy cơ phân loại sai.
Hạn chế về dương tính giả (báo động giả) là một thách thức lớn đối với các hệ thống phát hiện xâm nhập dựa trên học máy không giám sát Trước đây, nhiều công trình đã áp dụng các thuật toán học không giám sát như PCA và SVM để nhận diện các cuộc tấn công, nhưng các phương pháp này đòi hỏi lựa chọn thủ công các đặc trưng của cuộc tấn công Mặc dù hiệu suất có thể ở mức chấp nhận được, chúng vẫn chịu tỷ lệ dương tính giả cao, khiến IDS gắn nhãn sai cho người dùng hợp pháp Ví dụ, tăng 1% dương tính giả có thể khiến hệ thống IDS gắn cảnh báo không chính xác cho nhiều người dùng hợp pháp.
Để giảm tỉ lệ dương tính giả và tăng hiệu quả bảo vệ, đề tài áp dụng mô hình học sâu đầu cuối nhằm phát hiện các cuộc tấn công mạng một cách tự động trong thời gian thực, đồng thời được thiết kế để thích ứng hiệu quả, mở rộng quy mô và đảm bảo an toàn nhằm ngăn chặn kịp thời các mối đe dọa [5].
Dữ liệu cho nghiên cứu được thu thập từ các yêu cầu (request) của người dùng khi thực hiện lệnh gọi (system call) đến trang Portal qua API Các request đến từ mọi người dùng truy cập Portal, bao gồm cán bộ, sinh viên, học viên, nghiên cứu sinh và người dùng khách của trường ĐHBK-ĐHQG-HCM Đề tài nhằm xây dựng hệ thống phát hiện xâm nhập để giảm thiểu rủi ro cho Portal khỏi các tác nhân gây hại.
Hệ thống này gồm có 2 thành phần chính:
Phần phát hiện xâm nhập và cảnh báo cho quản trị viên hoạt động qua hệ thống giám sát an ninh, nhằm nhận diện các yêu cầu bất thường và gửi cảnh báo ngay khi phát hiện dấu hiệu nghi ngờ Hệ thống cung cấp cho quản trị viên thông tin chi tiết về từng yêu cầu bất thường—bao gồm nguồn gốc, loại yêu cầu, thời gian và mức độ rủi ro—giúp đánh giá nhanh và áp dụng biện pháp xử lý phù hợp.
Phần học thuật sẽ thực hiện huấn luyện trên một bộ dữ liệu được liên tục thu thập theo thời gian, ứng dụng đồng thời các kỹ thuật học sâu không giám sát và học bán giám sát để tối ưu hóa hiệu suất phân loại Dựa vào tập luật phân tích thông tin, hệ thống sẽ liên tục cập nhật bộ phân loại nhằm thích nghi với sự biến động của dữ liệu và môi trường, từ đó tăng độ chính xác và độ nhạy của quá trình nhận diện Quá trình này cho phép phát hiện thêm các kiểu tấn công mới và nâng cao hiệu suất phát hiện cho hệ thống phát hiện xâm nhập Việc cập nhật liên tục dựa trên dữ liệu mới và các quy tắc phân tích giúp hệ thống duy trì khả năng phát hiện trước các mối đe dọa ngày càng tinh vi.
Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu
Về mặt khoa học, đề tài đóng góp cho nghiên cứu xây dựng và phát triển hệ thống phát hiện xâm nhập ở tầng máy chủ, tập trung vào phân tích trực tiếp nguồn dữ liệu mà người dùng truy cập vào hệ thống Đề tài cũng đề xuất một mô hình mạng autoencoder mới nhằm nâng cao khả năng nhận diện và phân tích xâm nhập, đồng thời mở hướng phát triển và ứng dụng cho các hệ thống an ninh mạng trong tương lai.
Về mặt thực tiễn, kết quả của nghiên cứu mang lại lợi ích rõ ràng cho doanh nghiệp và các cơ sở đào tạo khi được áp dụng Người dùng có thể đề xuất các giải pháp bảo mật cụ thể và tích hợp chúng vào hệ thống bảo mật hiện có, từ đó bảo vệ nguồn tài nguyên và dữ liệu quan trọng Việc triển khai những giải pháp này không chỉ tăng cường an toàn thông tin mà còn tối ưu hóa quy trình làm việc, giúp doanh nghiệp và các cơ sở đào tạo nâng cao năng lực cạnh tranh và sự an tâm trong hoạt động.
Cuối cùng, nghiên cứu này sẽ là một tài liệu tham khảo quý giá cho các nhà nghiên cứu tương lai cũng như cho các cá nhân, tổ chức quan tâm đến phát hiện xâm nhập ở tầng máy chủ và bảo mật hệ thống thông tin, đồng thời góp phần nâng cao nhận thức và hiệu quả phòng thủ trước các mối đe dọa an ninh mạng.
2 TÌNH HÌNH NGHIÊN CỨU VÀ THÁCH
Trong chương này, chúng tôi tiến hành phân tích và đánh giá toàn diện các công trình nghiên cứu đã có của các tác giả trong nước và nước ngoài, liên quan mật thiết đến đề tài Đồng thời, chúng tôi chỉ ra những vấn đề còn tồn tại và hạn chế hiện tại, từ đó làm rõ những nội dung và nội dung mà đề tài cần tập trung nghiên cứu và giải quyết nhằm nâng cao chất lượng và tính khả thi của đề tài.
Các nghiên cứu liên quan đến đề tài
Survey of intrusion detection systems: techniques, datasets and challenges, năm 2019
This article provides an overview of intrusion detection systems (IDS), covering the technical aspects, the datasets used for evaluation, and the challenges facing these systems It discusses several IDS techniques, including signature-based IDS (SIDS), anomaly-based IDS (AIDS), network-based IDS (NIDS), and host-based IDS (HIDS), and explains how each approach contributes to detection performance, deployment considerations, and real-world applicability.
Hệ thống phát hiện xâm nhập dựa trên chữ ký (SIDS) sử dụng kỹ thuật đối chiếu mẫu để nhận diện các cuộc tấn công đã biết, còn được gọi là phát hiện dựa trên sự hiểu biết hoặc phát hiện lạm dụng Trong SIDS, phương pháp đối chiếu chữ ký xâm nhập được dùng để tìm kiếm các sự cố đã xảy ra trước đó: khi chữ ký xâm nhập khớp với chữ ký của một lần xâm nhập đã lưu trong cơ sở dữ liệu, hệ thống sẽ phát báo động.
Với cơ chế này, hệ thống phát hiện xâm nhập dựa trên chữ ký (SIDS) thường có độ chính xác cao khi phát hiện các cuộc tấn công đã được biết trước, nhưng sẽ gặp khó khăn trong việc nhận diện các cuộc tấn công dạng zero-day do thiếu chữ ký phù hợp tồn tại trong cơ sở dữ liệu cho đến khi được cập nhật và lưu trữ [2].
Với sự gia tăng liên tục của các cuộc tấn công zero-day, hiệu quả của hệ thống phát hiện xâm nhập dựa trên chữ ký (SIDS) ngày càng giảm vì không có chữ ký trước cho các biến thể tấn công như vậy Điều này cho thấy nhu cầu đổi mới trong các phương pháp bảo mật, khi các cơ chế nhận diện truyền thống không còn đủ khả năng đối phó với mối đe doạ mới Do đó, đề tài tập trung vào các chiến lược phát hiện dựa trên hành vi, phân tích bất thường và các thuật toán học máy nhằm nâng cao khả năng nhận diện mối nguy và giảm thiểu rủi ro cho hệ thống an toàn thông tin.
Cuộc tấn công zero-day là thuật ngữ dùng để mô tả mối đe dọa từ một lỗ hổng bảo mật chưa được phát hiện trong phần mềm hoặc ứng dụng máy tính, khi bản vá lỗi chưa được phát hành hoặc các nhà phát triển chưa biết hoặc chưa có đủ thời gian để khắc phục Vì lỗ hổng này vẫn chưa được vá và có thể bị khai thác trước khi có bản vá, zero-day attack đặt ra rủi ro lớn cho người dùng và doanh nghiệp Trong bối cảnh hiện nay, các cuộc tấn công ngày càng đa dạng về loại hình, khiến công tác bảo mật khó khăn hơn Do đó, việc chỉ dựa vào một hệ thống bảo mật đơn lẻ như IDS (Hệ thống Phát hiện Xâm nhập) là không đủ; cần kết hợp nhiều lớp biện pháp bảo mật, cập nhật bản vá kịp thời, thực hành kiểm thử bảo mật định kỳ và giám sát liên tục để giảm thiểu tác động của zero-day attack.
Hệ thống phát hiện xâm nhập dựa trên sự bất thường (AIDS) là một mô hình phân tích hoạt động của hệ thống máy tính bằng cách kết hợp học máy, các phương pháp dựa trên thống kê và kiến thức đã biết Bất kỳ sai lệch đáng kể nào cũng được xem là bất thường và có thể được hiểu như một dấu hiệu xâm nhập Quá trình xây dựng AIDS gồm hai giai đoạn: huấn luyện và thử nghiệm Trong giai đoạn huấn luyện, lưu lượng truy cập bình thường được dùng để học mô hình hành vi bình thường; trong giai đoạn thử nghiệm, một tập dữ liệu mới được dùng để đánh giá khả năng tổng quát hóa của hệ thống đối với các hành vi xâm nhập chưa từng thấy trước đây Ưu điểm chính của AIDS là khả năng phát hiện các cuộc tấn công zero-day bằng cách nhận diện sự bất thường của người dùng, không dựa vào cơ sở dữ liệu chữ ký như kỹ thuật SIDS AIDS phát tín hiệu khi hành vi được kiểm tra khác với hành vi thông thường Tuy nhiên, nhược điểm của phương pháp này là nó chưa giải quyết được các gói tin đã bị mã hóa; các mối đe dọa có thể ẩn trong đó và qua mặt AIDS.
AIDS là một kỹ thuật hiệu quả trong phát hiện bất thường, khắc phục nhược điểm mà SIDS gặp phải, nhưng AIDS cũng có nhược điểm riêng đối với các gói tin bị mã hóa Cơ chế hình thành hệ thống của AIDS phù hợp với môi trường mạng để đối phó với các cuộc tấn công không lường trước được ngày nay, tuy nhiên AIDS tiếp cận với lượng dữ liệu ở các tầng dưới của mô hình OSI khi các gói tin vẫn còn chứa đựng nhiều tham số và có thể dữ liệu đang ở trạng thái bị mã hóa Đây là lý do hình thành ý tưởng xây dựng hệ thống phát hiện xâm nhập của đề tài khi áp dụng cơ chế hình thành của AIDS nhưng sẽ tiếp cận đối tượng dữ liệu ở tầng cao hơn, không bị mã hóa và được cụ thể hóa hơn.
Trong lĩnh vực an toàn thông tin, SIDS và AIDS là hai phương pháp chính trong các hệ thống phát hiện xâm nhập Ngoài ra, hệ thống phát hiện xâm nhập còn được phân loại dựa trên vị trí mà hệ thống đó được đặt trong hệ thống máy tính, bao gồm các hệ thống được triển khai tại các điểm nút của mạng và các thành phần trọng yếu của hệ thống máy tính.
OSI - Open Systems Interconnection là một mô hình mô tả 7 lớp mà hệ thống máy tính dùng để giao tiếp qua mạng, và được xem là chuẩn đầu tiên cho truyền thông mạng được áp dụng rộng rãi bởi các công ty máy tính và viễn thông lớn [20] Trong bài viết này, hai kỹ thuật phát hiện xâm nhập được nhắc đến là hệ thống phát hiện xâm nhập tầng mạng (NIDS) và hệ thống phát hiện xâm nhập tầng máy chủ (HIDS) Hai kỹ thuật này có ưu điểm và nhược điểm riêng, được nghiên cứu và nêu ra trong bài báo, và được thể hiện cụ thể trong bảng 1.
Kỹ thuật Ưu điểm Nhược điểm
HIDS HIDS có thể kiểm tra hành vi truyền thông được mã hóa đầu cuối.
Chậm trễ trong việc cảnh báo tấn công
Không yêu cầu thêm phần cứng Tiêu thụ tài nguyên của máy
Phát hiện xâm nhập bằng chủ cách kiểm tra tệp máy chủ, lệnh gọi hệ thống, sự kiện mạng
Cần được cài đặt trên mỗi máy chủ
Mọi gói tin được tập hợp lại Chỉ giám sát được các cuộc tấn công trên máy tính nơi nó được cài đặt
NIDS (Network Intrusion Detection System) phát hiện tấn công bằng cách kiểm tra gói tin và phân tích lưu lượng mạng nhằm nhận diện các hành vi xâm nhập Thách thức lớn là xác định tấn công từ lưu lượng được mã hóa, đòi hỏi công nghệ phân tích mã hóa và các kỹ thuật nhận diện hiệu quả mà vẫn duy trì độ chính xác cao Hệ thống này không yêu cầu cài đặt trên từng máy chủ và có thể triển khai ở vị trí giám sát tập trung Cần có phần cứng chuyên dụng để xử lý lưu lượng ở tốc độ cao, đảm bảo hiệu quả phát hiện và tối ưu hóa hiệu suất mạng.
Có thể kiểm tra các máy chủ dụng khác nhau trong cùng một khoảng thời gian
Chỉ hỗ trợ xác định các cuộc tấn công mạng
Có khả năng phát hiện phạm vi rộng nhất của các giao thức mạng
Khó phân tích mạng tốc độ cao
Hầu hết các mối đe dọa nghiêm trọng đến từ các cuộc tấn công bên trong nội bộ, cho thấy nguy cơ từ những người có quyền truy cập hệ thống và dữ liệu Điều này nhấn mạnh sự cần thiết của kiểm soát nội bộ, quản trị truy cập và giám sát hành vi người dùng để giảm thiểu rủi ro cho an ninh thông tin Bảng 1 trình bày kết quả thử nghiệm hệ thống trên bộ dữ liệu Portal, làm rõ hiệu suất của hệ thống và các điểm cần cải thiện để đối phó với các mối đe dọa nội bộ.
Hệ thống mạng của trường đại học Bách Khoa đang sử dụng Snort ở dạng NIDS (Network Intrusion Detection System) Thực trạng cho thấy NIDS còn tồn tại nhược điểm như đã đề cập: lưu lượng dữ liệu trên mạng hiện nay phần lớn là mã hóa, nên NIDS không thể nắm bắt được nội dung của các gói tin; thêm vào đó, lưu lượng truy cập vào hệ thống mạng rất lớn khiến việc bảo vệ mang tính tổng thể, bao quát và khó tập trung bảo vệ cho một hệ thống cụ thể NIDS hiện nay chỉ có thể phát hiện các loại xâm nhập ở các tầng phía dưới của mô hình OSI theo các định nghĩa đã biết trước, như tấn công DDoS, brute force SSH và một số hình thức xâm nhập liên quan.
Kỹ thuật HIDS, hay hệ thống phát hiện xâm nhập dựa trên host, nổi bật và phù hợp hơn khi giải quyết bài toán đề tài nhờ khả năng đọc dữ liệu đã bị mã hóa Vì HIDS được đặt trực tiếp tại máy chủ tiếp nhận gói tin từ mạng, nơi các gói tin đã được giải mã hoàn toàn, nó có thể phân tích nội dung dữ liệu một cách trực tiếp và chi tiết Dữ liệu mà HIDS nhắm tới ở đây là các lệnh gọi hệ thống, bao gồm API và HTTP request từ người dùng, cho phép giám sát hành vi và phát hiện bất thường ở mức độ ứng dụng Việc này làm tăng hiệu quả bảo mật bằng cách kiểm tra các yêu cầu từ API và các thao tác hệ thống ngay tại điểm tiếp xúc với dữ liệu, đáp ứng yêu cầu của đề tài về khả năng bảo vệ khi dữ liệu đã được giải mã Do đó, HIDS có thể cung cấp cái nhìn toàn diện về lưu lượng và hành vi trên máy chủ, đồng thời tối ưu hóa phát hiện sự cố liên quan đến lệnh gọi hệ thống và dữ liệu từ HTTP request.
Các nhược điểm của HIDS cũng không là một vấn đề lớn khi áp dụng cho đề tài, chúng có thể được giải quyết một cách hiệu quả.
Trong quá trình triển khai, việc cảnh báo chậm khi phát hiện tấn công là điều dễ gặp phải bởi hệ thống hiện tại là một hệ thống phát hiện xâm nhập (IDS), không phải hệ thống ngăn chặn xâm nhập (IPS) Vì mục tiêu của IDS là nhận diện xâm nhập bất thường và cảnh báo người quản trị, nên việc cảnh báo sau một thời gian ngắn được xem là tạm chấp nhận khi so sánh với việc ngăn chặn trực tiếp Do đó, trong khuôn khổ hệ thống này, yếu tố cảnh báo chậm phù hợp với chức năng phát hiện xâm nhập và cần được kết hợp với các biện pháp phản hồi an ninh mạng để giảm thiểu rủi ro.
Vấn đề tiêu thụ tài nguyên của máy chủ phát sinh khi hệ thống HIDS cần triển khai phần mềm lên máy chủ đang chạy dịch vụ, làm tăng mức tiêu thụ tài nguyên của hệ thống Để khắc phục, khi triển khai thực tế đề tài sẽ được cài đặt trên một máy tính thứ cấp hoạt động song song với các máy tính phục vụ Portal, đảm bảo dịch vụ không bị gián đoạn Các HTTP Request đến sẽ được máy chủ chạy dịch vụ chuyển tiếp sang máy chủ thứ cấp để máy chủ thứ cấp đảm nhiệm công tác phát hiện xâm nhập, từ đó không ảnh hưởng đến tài nguyên và hiệu năng của máy chủ chính đang chạy dịch vụ.
Vấn đề cần tập trung nghiên cứu, giải quyết
Sau những đánh giá về những tài liệu có liên quan đến đề tài đã tìm hiểu, tồn đọng những vấn đề như sau:
Phương pháp phát hiện xâm nhập của hệ thống theo dạng SIDS và NIDS hiện nay hầu hết theo xu hướng học có giám sát, cho phép nhận diện các bất thường và các cuộc tấn công đã biết từ trước, nhưng vẫn khó khăn trong việc phát hiện các cuộc tấn công chưa biết.
Phần lớn các nghiên cứu được thực hiện trên các bộ dữ liệu có sẵn, và hiện tại các bộ dữ liệu này thường không được cập nhật đầy đủ Bên cạnh đó, do các chính sách về bảo mật và pháp lý, các tập dữ liệu liên quan đến HTTP request của người dùng hiếm khi được công khai, khiến việc đánh giá và mở rộng các phân tích về lưu lượng truy cập web gặp nhiều hạn chế.
Trong phần lớn các nghiên cứu, các thí nghiệm được tiến hành trên các tập dữ liệu gói tin từ lưu lượng mạng của một tổ chức hoặc hệ thống cụ thể Những tập dữ liệu này có quy mô lớn và phạm vi bao phủ rộng, phản ánh đa dạng tình huống và đặc trưng của lưu lượng mạng Dữ liệu chứa nhiều tham số của mỗi gói tin, cho phép phân tích các đặc trưng và mô hình hành vi giao tiếp trong mạng Tuy nhiên, nội dung chi tiết bên trong gói tin thường không được thể hiện rõ hoặc đã bị mã hóa, làm hạn chế khả năng trực tiếp quan sát dữ liệu và đòi hỏi các kỹ thuật phân tích an toàn, xử lý dữ liệu và tôn trọng quyền riêng tư.
Hiện có một số ít nghiên cứu đề cập đến việc xây dựng hệ thống phát hiện xâm nhập dựa trên các HTTP request từ người dùng, nhưng chúng không nêu rõ cách xử lý nguồn dữ liệu này, quy trình tiền xử lý, các kỹ thuật trích xuất đặc trưng và cách tích hợp dữ liệu vào mô hình phát hiện Những thiếu sót này gây khó khăn cho việc tái hiện, đánh giá và so sánh hiệu suất giữa các phương pháp IDS dựa trên lưu lượng HTTP và làm giảm khả năng áp dụng thực tế Do đó, bài viết nên tập trung làm rõ luồng dữ liệu, kỹ thuật tiền xử lý, lựa chọn đặc trưng và tiêu chí đánh giá để tăng độ tin cậy và tính khả thi của hệ thống phát hiện xâm nhập dựa trên HTTP request.
Để có một hệ thống phát hiện xâm nhập đầy đủ và hiệu quả, cần kết hợp hai thành phần NIDS và HIDS, vì chúng bổ sung và khắc phục lẫn nhau NIDS tập trung vào phát hiện xâm nhập ở tầng mạng, giám sát lưu lượng và sự kiện đáng ngờ trên mạng, với các ví dụ điển hình như tấn công DDoS và Brute Force SSH Trong khi đó, HIDS tập trung vào máy chủ và hệ thống người dùng, phân tích nhật ký hoạt động, kiểm tra tính toàn vẹn của tệp tin và nhận diện hành vi bất thường trên host, những điểm mà NIDS có thể bỏ qua Sự phối hợp giữa NIDS và HIDS giúp tăng cường khả năng phát hiện xâm nhập ở nhiều lớp, giảm thiểu rủi ro và nâng cao hiệu quả ứng phó với các mối đe dọa bảo mật mạng.
Đề tài tập trung xây dựng một hệ thống phát hiện xâm nhập theo kỹ thuật HIDS nhằm khắc phục hạn chế của NIDS và bảo vệ nguồn tài nguyên của Portal trường Đại học Bách Khoa khỏi các nguy cơ gây hại Hệ thống sẽ áp dụng phương pháp học sâu không giám sát trên tập dữ liệu là các HTTP request từ người dùng gọi đến Portal được thu thập trực tiếp từ máy chủ.
3 PHƯƠNG PHÁP ÁP DỤNG MÔ HÌNH
AUTOENCODER ĐỂ PHÁT HIỆN BẤT THƯỜNG CỦA REQUEST
Chương này trình bày rõ các công nghệ được áp dụng, cơ sở lý thuyết, lý luận và giả thuyết khoa học cùng với phương pháp nghiên cứu đã được sử dụng trong luận văn, đồng thời giới thiệu các phương pháp và trình tự thực hiện để hiện thực hóa hệ thống phát hiện xâm nhập cho trang Portal, như hình 1 minh họa.
Hình 1: Cấu trúc hệ thống phát hiện xâm nhập tầng máy chủ cho Portal
Trong sơ đồ hệ thống được trình bày ở hình 1, mọi request từ người dùng khi đi đến Portal sẽ được nhân bản và đưa vào hệ thống phát hiện xâm nhập Trong giai đoạn đầu, khi chưa có nguồn dữ liệu để huấn luyện, hệ thống chỉ thực hiện thu thập dữ liệu và lọc ra một tập dữ liệu các request được xác định là bình thường, vô hại Hệ thống này gồm các thành phần cơ bản cho quá trình thu thập, phân tích và lọc dữ liệu, nhằm xây dựng nền tảng cho hệ thống phát hiện xâm nhập hiệu quả.
Hệ thống phát hiện xâm nhập được chia thành hai phần chính là huấn luyện và phát hiện; mọi request khi đi qua hai phần này được xử lý và chuyển đổi sang dạng số để phân tích Trong phần huấn luyện, tập dữ liệu bình thường đã được thu thập sẵn sẽ được dùng để huấn luyện mô hình Autoencoder, tính toán lỗi tái kiến trúc trên tập validation và từ đó xác định một ngưỡng dùng cho phần phát hiện Phần phát hiện sẽ dùng mô hình đã huấn luyện để đo giá trị lỗi tái kiến trúc của các request tới Portal và so sánh với ngưỡng đã thiết lập: nếu giá trị nhỏ hơn ngưỡng được xem là bình thường, còn nếu lớn hơn ngưỡng thì được xem là bất thường Để hình thành hệ thống phát hiện xâm nhập này, đề tài đã kết hợp các công nghệ và nền tảng lập trình một cách tối ưu nhằm tăng hiệu quả và hiệu suất vận hành của hệ thống.
Công nghệ sử dụng
NodeJS
NodeJS là một nền tảng xây dựng tầng máy chủ được chạy trên Chrome V8, engine JavaScript của Chrome, giúp thực thi mã JavaScript ở phía máy chủ với hiệu suất cao Phần lõi của NodeJS phần lớn được viết bằng C++, tối ưu tốc độ xử lý và hiệu năng cho các ứng dụng mạng quy mô lớn Với kiến trúc I/O bất đồng bộ và vòng lặp sự kiện, NodeJS cho phép phát triển các API tốc độ cao, ứng dụng thời gian thực và hệ thống có khả năng mở rộng linh hoạt Bên cạnh đó, hệ sinh thái npm phong phú cung cấp thư viện và công cụ hỗ trợ mạnh mẽ, giúp tăng tốc quá trình phát triển và triển khai.
• NodeJS tạo ra được các ứng dụng có tốc độ xử lý nhanh, thời gian thực, có khả năng tận dụng được tối đa được nguồn tài nguyên của máy tính bằng công nghệ phân cụm hoạt động (clustering) của chính NodeJS.
• NodeJS là từ javascript phát triển lên, vì vậy bản thân nó là javascript mà javascript là một ngôn ngữ rất thông dụng và rất thân thiện với các loại dữ liệu web, http request, javascript rất dễ viết và nó không tốn thời gian để biên dịch khi khởi chạy, điều này làm tăng thêm tốc độ hiện thực của hệ thống.
Dưới sự hỗ trợ của framework ExpressJS, Node.js trở nên thuận tiện hơn khi có thể thu thập tất cả các request từ người dùng chỉ bằng một triển khai đơn giản Đề tài áp dụng Node.js cho hệ thống thu thập dữ liệu, hệ thống này được thiết kế để xác định liệu các dữ liệu request thu thập được là bình thường hay bất thường, từ đó giúp quá trình xử lý và phân tích dữ liệu diễn ra hiệu quả hơn.
3 Framework là tập hợp các đoạn mã được hiện thực sẵn, kết hợp thành một khung làm việc chung và một thư viện, được đóng gói thành hệ thống thống nhất để tạo ra tập dữ liệu đầu tiên phục vụ cho quá trình huấn luyện, đồng thời cung cấp cơ chế chuyển đổi các request thành dạng số và tích hợp hệ thống phát hiện xâm nhập cùng chức năng cảnh báo, từ đó nâng cao khả năng xử lý, phân tích và bảo mật cho hệ thống.
Python
Python [22] là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và học máy.
Một số ưu điểm mà Python mang lại cho đề tài này có thể kể đến như sau:
• Python sử dụng ít dòng code để viết thành một chương trình hoàn chỉnh do có một nguồn thư viện chuẩn lớn.
Python tỏ ra hiệu quả khi xử lý các dữ liệu dạng ma trận và vector nhờ thư viện numpy, mang lại hiệu suất tính toán ấn tượng cho các ứng dụng học máy Những kiểu dữ liệu này là nền tảng quen thuộc trong học máy, và Python cùng numpy giúp tối ưu hóa tốc độ xử lý và dễ triển khai mà ít ngôn ngữ khác sánh bằng.
Python có nhiều thư viện mạnh hỗ trợ nạp dữ liệu, xây dựng và huấn luyện mạng neural sâu chỉ với vài dòng mã Đề tài tập trung vào việc sử dụng thư viện Keras để thực hiện quá trình huấn luyện mô hình mạng, mang lại triển khai nhanh chóng và hiệu quả cho các tác vụ học sâu Ngoài ra, Python được ứng dụng trong hệ thống huấn luyện mô hình và hệ thống phát hiện xâm nhập để cảnh báo kịp thời, tận dụng dữ liệu và khả năng học máy nhằm nâng cao hiệu quả bảo mật mạng.
RabbitMQ
RabbitMQ là một phần mềm xếp hàng thông điệp (message-queueing software), còn được biết đến như một Message Broker hoặc Queue Manager Nói một cách đơn giản, hệ thống này chứa các hàng đợi đã được định sẵn và các ứng dụng có thể kết nối vào để gửi và nhận thông điệp với nhau Những ưu điểm của RabbitMQ thể hiện ở khả năng giao tiếp bất đồng bộ giữa các dịch vụ, đảm bảo giao hàng tin cậy ngay cả khi một phần của hệ thống gặp sự cố, dễ mở rộng và tích hợp với nhiều ngôn ngữ lập trình nhờ các client đa ngôn ngữ và giao thức linh hoạt, đồng thời được quản trị và theo dõi hiệu quả thông qua các công cụ quản trị đi kèm Tóm lại, RabbitMQ là giải pháp mạnh cho kiến trúc phân tán và microservices nhờ khả năng định tuyến tin nhắn linh hoạt và quản lý hàng đợi dễ dàng.
RabbitMQ cho phép các ứng dụng phản hồi nhanh hơn bằng cách xử lý bất đồng bộ thông qua hàng đợi tin nhắn, giảm tải cho các tác vụ tốn tài nguyên và tăng hiệu suất hệ thống Trong đề tài này, máy chủ chạy các tác vụ liên quan đến website bằng NodeJS và máy chủ thực hiện huấn luyện, phát hiện bằng Python có thể giao tiếp qua RabbitMQ thay vì tương tác trực tiếp bằng HTTP, từ đó giảm sự dư thừa khai báo và thiết lập kết nối không cần thiết Nếu không có RabbitMQ, hai máy chủ sẽ phải trao đổi qua HTTP với nhiều thông tin và cấu hình không cần thiết, làm tăng lưu lượng băng thông nội bộ và làm giảm tốc độ phản hồi của hệ thống.
RabbitMQ được thiết kế theo mô hình hàng đợi, mỗi hàng đợi có định danh riêng, giúp các ứng dụng phân biệt dữ liệu của từng hàng đợi và xác định thao tác cần thực hiện khi nhận tin nhắn Nhờ hệ thống hàng đợi, RabbitMQ cho phép xử lý bất đồng bộ và đảm bảo không bỏ sót bất kỳ yêu cầu nào được gửi tới, ngay cả khi cổng thông tin Portal đang có lưu lượng truy cập lớn nhất.
Hình 4 minh họa việc sử dụng RabbitMQ để các máy chủ có thể giao tiếp và phối hợp nhịp nhàng với nhau, từ đó hình thành nên một hệ thống hoàn chỉnh và ổn định Việc triển khai RabbitMQ giúp tăng tính linh hoạt và mở rộng cho kiến trúc hệ thống, đảm bảo các dịch vụ có thể trao đổi thông tin hiệu quả và đồng bộ trong môi trường phân tán.
Thu thập dữ liệu
Dữ liệu cần được thu thập là các HTTP request của người dùng đến trang Portal.
HTTP request là hình thức cơ bản nhất để người dùng giao tiếp với máy chủ Trong mỗi yêu cầu, thông tin từ trình duyệt hoặc ứng dụng được gửi tới máy chủ nhằm yêu cầu thực hiện các tác vụ và nhận lại phản hồi phù hợp Hiểu rõ về HTTP request giúp tối ưu hóa hiệu suất, bảo mật và trải nghiệm người dùng khi tương tác với các ứng dụng web và API.
Một HTTP request bao gồm nhiều thành phần cấu thành nên, bao gồm
• Request method: GET, POST, PUT, DELETE,
• URL, URI: Xác định các tài nguyên mà người dùng yêu cầu, dựa trên thiết kế API của máy chủ.
• HTTP version: 1.1, 1.2, - phiên bản giao thức HTTP.
• Request header: các thông tin thêm cho một request, ví dụ User-agent,Connection, Accept-Language, Content-Length, Content-Type,
Request query, or request parameters, are the values included with a client's request that the server uses to determine which data to return The server parses these parameters to filter, sort, paginate, or tailor the response, ensuring the data delivered matches the user's needs Using well-defined request parameters improves performance and relevance, making APIs more efficient and easier to consume.
• Request body, phần dữ liệu bổ sung thêm cho request
Phạm vi của đề tài này được giới hạn ở việc phân tích một số thành phần của request, cụ thể bao gồm request method, URL, request query và request body Lý do lựa chọn các thành phần này là vì chúng quyết định tính chất và hành vi của một request trong hệ thống, từ cách nó được định tuyến đến cách dữ liệu được gửi và xử lý ở phía máy chủ Việc tập trung vào những yếu tố này cho phép nắm bắt các yếu tố cốt lõi ảnh hưởng đến hiệu suất, an toàn và khả năng mở rộng của ứng dụng, đồng thời hỗ trợ quá trình kiểm thử và đánh giá tính đúng đắn của các yêu cầu.
• Request method giúp phân loại request thành các dạng với chức năng khác nhau, mức độ nguy hiểm, nhạy cảm khác nhau.
GET request là một loại yêu cầu HTTP được dùng phổ biến để xem thông tin của một loại dữ liệu cụ thể Tuy nhiên, các điểm truy cập nhận GET có thể trở thành mục tiêu dễ bị tấn công, và nếu không được kiểm soát chặt chẽ, chúng có thể dẫn đến việc lấy toàn bộ dữ liệu hiện có trong tài nguyên Portal Vì vậy, quản lý truy cập, xác thực và giới hạn dữ liệu trả về qua các endpoint GET là yếu tố then chốt để bảo vệ dữ liệu của Portal và giảm thiểu rủi ro rò rỉ thông tin.
POST request là loại yêu cầu HTTP được dùng phổ biến để tạo mới một mẫu dữ liệu cho một đối tượng hoặc tác vụ cụ thể Tuy nhiên, dữ liệu gửi từ POST có thể trở thành mục tiêu của các vụ tấn công nếu kẻ xấu chèn mã độc vào mẫu dữ liệu để gây hại cho các tài nguyên của Portal Để giảm thiểu rủi ro bảo mật, cần thực hiện xác thực và làm sạch dữ liệu đầu vào, kiểm soát quyền truy cập và xác thực người dùng, cũng như áp dụng các biện pháp bảo vệ như token CSRF và các cơ chế phòng chống mã độc trước khi lưu trữ hoặc xử lý dữ liệu.
PUT request là loại yêu cầu trong REST API được dùng để cập nhật toàn bộ dữ liệu của một đối tượng hoặc tài nguyên, thay thế hoàn toàn bản hiện có bằng một mẫu dữ liệu mới cho một tác vụ hoặc mục tiêu cụ thể Do tính chất thay thế toàn diện, mục tiêu của PUT có thể bị khai thác để chỉnh sửa dữ liệu một cách trái phép, đặc biệt khi kẻ xấu nhắm tới tài nguyên trong Portal Vì vậy, cấu hình an toàn cho PUT, kèm theo xác thực, phân quyền và kiểm tra đầu vào, là rất quan trọng; thậm chí nên cân nhắc sử dụng PATCH cho cập nhật từng phần thay vì thay thế toàn bộ, nhằm giảm thiểu rủi ro và bảo vệ tính toàn vẹn của dữ liệu trong tài nguyên Portal.
DELETE request là loại yêu cầu HTTP được dùng để xóa một mẫu dữ liệu liên quan đến một đối tượng hoặc tác vụ trên hệ thống, có thể xóa toàn bộ dữ liệu hiện hữu của một tài nguyên Portal khi được cấp quyền đầy đủ Trong thực tế, các yêu cầu xóa cần được xác thực và kiểm soát quyền truy cập nghiêm ngặt để ngăn chặn xóa dữ liệu trái phép Mức độ nguy cơ của DELETE request cao vì mục tiêu dễ bị tấn công và có thể dẫn tới mất mát dữ liệu quan trọng nếu khai thác thành công Để giảm thiểu rủi ro, các hệ thống nên áp dụng xác thực mạnh, phân quyền chi tiết, kiểm tra và hạn chế đầu vào, cũng như ghi log và kiểm tra bảo mật định kỳ cho các yêu cầu xóa Việc quản lý đúng cách DELETE request góp phần bảo vệ tài nguyên Portal và tối ưu hóa an ninh API cho dự án.
URL hoặc URI xác định rõ khu vực Portal mà request nhắm tới, cho biết request đang thuộc lĩnh vực nào và tham số được truyền vào ra sao Các endpoint API được thiết kế để phân biệt nhóm dịch vụ và tối ưu hóa quá trình xử lý tham số Ví dụ, /api/khcn/ là yêu cầu đến nhóm dịch vụ của Phòng Khoa học công nghệ và Dự án, còn /api/ero/ là yêu cầu đến nhóm dịch vụ của Phòng Quan hệ đối ngoại.
Một số URI chứa các tham số quan trọng quyết định dữ liệu mà Portal trả về cho người dùng, nhất là khi API làm việc theo cơ chế phân trang Ví dụ, một request API có thể chỉ định trang và kích thước trang để Portal trả về danh sách địa phương ở phạm vi tương ứng; với trang thứ hai và kích thước trang 50, Portal sẽ cung cấp dữ liệu từ 51 đến 100 Các tham số này mang tính nhạy cảm và có thể bị kẻ xấu lợi dụng để xâm nhập hệ thống nếu không được bảo vệ đúng cách, vì vậy việc quản lý và bảo vệ URL request là yếu tố thiết yếu của bảo mật và vận hành của Portal.
Query string và request body xuất hiện trong lựa chọn gửi yêu cầu là điều hiển nhiên, vì đây là các thành phần chứa đựng nhiều kiểu dữ liệu khác nhau mà người dùng có thể gửi tới máy chủ Portal Do đó, hacker có nhiều cách thức xâm nhập hệ thống thông qua hai thành phần này, nên cần phân tích kỹ lưỡng query và body của request để phát hiện và ngăn chặn các lỗ hổng bảo mật, từ đó tăng cường an ninh cho Portal.
HTTP request có nhiều loại dữ liệu khác nhau có thể được thu thập, tuy nhiên trong phạm vi đề tài này chúng ta sẽ tập trung phân tích các loại dữ liệu đã nêu và các dữ liệu khác sẽ được cân nhắc nghiên cứu trong tương lai Cách thu thập các request của người dùng được thể hiện qua hình 5.
Hình 5: Luồng xử lý để thu thập dữ liệu HTTP request từ người dùng
Theo sơ đồ hình 5, các HTTP request được gửi tới máy chủ Portal bắt đầu khi người dùng truy cập website Portal và thực hiện các thao tác trên giao diện Portal, chẳng hạn đăng nhập, tìm kiếm, điền biểu mẫu hoặc duyệt nội dung; sau đó máy chủ Portal xử lý các yêu cầu này và trả về kết quả cho người dùng.
Toàn bộ các request được gửi đi đều được mã hóa bởi chứng chỉ bảo mật SSL (SSL certificate 4), bảo đảm an toàn cho dữ liệu truyền qua mạng Vì thế, việc thu thập dữ liệu chỉ có thể diễn ra khi các request đến được máy chủ Portal, còn ở các tầng trước đó dữ liệu đang bị mã hóa nên không thể bị đọc Khi request tới máy chủ Portal, dữ liệu sẽ được giải mã và xử lý an toàn để thực hiện các thao tác cần thiết.
SSL (Secure Sockets Layer) là công nghệ chuẩn để bảo vệ kết nối Internet và dữ liệu được gửi giữa hai hệ thống máy chủ Dữ liệu được mã hóa bằng SSL nhằm ngăn chặn rò rỉ thông tin và đảm bảo tính toàn vẹn khi truyền trên mạng Trong một cấu hình phổ biến, lưu lượng sẽ đi qua NGINX, tại đây yêu cầu được giải mã thành dữ liệu gốc để xử lý bởi ứng dụng phía sau Việc triển khai SSL không chỉ tăng cường bảo mật mà còn nâng cao uy tín người dùng và hiệu suất kết nối, đồng thời hỗ trợ tối ưu hóa SEO nhờ giao thức an toàn và trải nghiệm người dùng ổn định.
Trong kiến trúc NGINX, mỗi yêu cầu từ người dùng được chia thành hai luồng dữ liệu tương tự nhau: một luồng đi vào Portal server và một luồng khác đi vào hệ thống thu thập thông tin, là một thành phần nhỏ trong hệ thống phát hiện xâm nhập Việc tách luồng dữ liệu này giúp tối ưu hóa hiệu suất xử lý và tăng cường khả năng giám sát an ninh mạng bằng cách đồng bộ hóa luồng dữ liệu giữa Portal và hệ thống thu thập thông tin.
Phân tích dữ liệu
Dữ liệu của các yêu cầu HTTP được thu thập đầy đủ để phục vụ cho phân tích và nhận diện, nhưng cần xác định rõ đâu là yêu cầu bình thường và đâu là yêu cầu bất thường nhằm nâng cao bảo mật; mục tiêu của đề tài là học được các đặc trưng của các yêu cầu gửi tới trang Portal, vì vậy cần có một bộ dữ liệu trong đó 100% yêu cầu là bình thường và vô hại với hệ thống; vấn đề được đặt ra ở đây là làm thế nào để phân tích khối lượng dữ liệu lớn như vậy và làm sao xác định được một yêu cầu có tính bình thường để phục vụ cho huấn luyện; đề tài dựa trên hiểu biết và kinh nghiệm của bản thân cùng với sự tham gia của các chuyên gia mạng và an ninh mạng, kết hợp với thiết kế và cấu trúc của máy chủ Portal để đưa ra nhận định về một yêu cầu bình thường và vô hại; các nhận định này được đúc kết thành một bộ quy tắc với những ý chính nhằm hỗ trợ nhận diện và phân tích các yêu cầu gửi tới Portal.
Portal's HTTP communication supports only the methods GET, HEAD, POST, OPTIONS, PUT, and DELETE; any request using a method outside this set is considered abnormal and will be rejected.
Máy chủ Portal chỉ chấp nhận các ký tự hợp lệ trong request URL là chữ cái tiếng Anh, ký tự /, -, %, và các chữ số; phần tham số của URL (query string) được tách riêng thành một phần khác nên không nằm trong phạm vi quy tắc ký tự này Do đó, mọi request URL chứa ký tự ngoài bộ ký tự trên sẽ bị coi là bất thường và có thể bị xử lý đặc biệt bởi hệ thống bảo mật Portal.
HTTP requests typically include a request body only for the methods POST, OPTIONS, PUT, and DELETE, while GET and HEAD requests should not carry a body; if they do, that behavior is unusual and often signals an anomaly or misconfiguration.
• Dữ liệu tại request query và request body sau khi được chuyển hóa sẽ có dạng JSON Cặp giá trị key, value tuân theo các quy tắc sau:
– Các kí tự trong key là chữ cái (tiếng Anh), key chứa các kí tự khác là bất thường.
– Value thuộc một trong các kiểu dữ liệu sau: chuỗi (string), số (number), mảng (array), JSON Value thuộc kiểu dữ liệu khác là bất thường.
Để tối ưu hóa SEO và đảm bảo an toàn dữ liệu, Key và Value không được chứa các từ khóa nhạy cảm liên quan đến code hoặc câu lệnh thực thi, như các hàm JavaScript hay câu lệnh SQL (ví dụ SELECT, DROP TABLE) và các tham chiếu như document.cookies Việc Key hoặc Value chứa những từ khóa này được xem là bất thường và có thể gây nhầm lẫn cho hệ thống xử lý dữ liệu cũng như công cụ tìm kiếm Thay vào đó, hãy chuẩn hóa dữ liệu bằng cách lọc, xác thực và mã hóa các giá trị, sử dụng mô tả có ý nghĩa và an toàn cho từng khóa Quy trình này giúp cải thiện tính nhất quán, độ đọc hiểu và hiệu suất lập chỉ mục SEO của trang, đồng thời tăng cường bảo mật bằng cách ngăn các chuỗi nhạy cảm lọt vào các trường không phù hợp Mỗi Key nên mang ý nghĩa rõ ràng còn Value chứa thông tin dữ liệu người dùng mà không cho phép thực thi mã hay truy cập trái phép.
Ví dụ về request bình thường:
4 "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36",
5 "originalUrl": "/user/doi-ngoai/doi-tac-hoc-thuat
Ví dụ về request bất thường
4 "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36",
5 "originalUrl": "/user/doi-ngoai/doi-tac-hoc-thuat
10 hacker%2B.example.com%2Fcgi-bin%2Fcookiesteal.cgi
Một số loại request bình thường và bất thường khác được trình bày trong phần phụ lục của luận văn.
Những quy tắc được nêu ra mang tính tổng quát cao và không thể ràng buộc sâu hơn mối quan hệ giữa các cặp key và value, ví dụ key age không nhất thiết phải có giá trị là số hay key name phải là chuỗi Nguyên nhân nằm ở việc server Portal đang ở giai đoạn phát triển liên tục, số lượng dịch vụ ngày càng tăng khiến hệ thống API của Portal trở nên phong phú và đa dạng về phương thức, URL, tham số truyền vào và kiểu dữ liệu; do đó không có một quy tắc ràng buộc cụ thể nào được áp dụng.
Bộ quy tắc được hình thành với độ tổng quát cao, giúp hệ thống áp dụng rộng rãi và linh hoạt trong quản trị an ninh Tuy nhiên, nó vẫn đặc biệt chú trọng tới các ký tự đặc biệt và các từ khóa nhạy cảm nhằm hạn chế rủi ro và nâng cao khả năng kiểm soát Việc quản lý những ký tự đặc biệt và từ khóa nhạy cảm này là cần thiết để hệ thống có thể phát hiện sự bất thường của một yêu cầu mới so với đặc trưng của tập request hiện tại từ Portal, từ đó tăng cường khả năng bảo vệ và an toàn cho người dùng.
Trong việc hỗ trợ hệ thống phát hiện sự bất thường của các request độc hại, một yếu tố then chốt không thể thiếu là sự tương quan giữa các thành phần trong một request Sự tương quan này cho phép phân tích mối liên hệ giữa nguồn gốc, đường dẫn, tham số và nội dung của request để nhận diện các mẫu hành vi bất thường và nguy cơ tiềm ẩn Sự liên kết giữa các thành phần được thể hiện rõ trong hình 6, cho thấy cách các yếu tố của một request phối hợp với nhau để xác định mức độ rủi ro và kích hoạt các biện pháp phòng ngừa Việc khai thác hiệu quả tương quan này giúp tăng độ chính xác của hệ thống phát hiện, giảm cảnh báo giả và nâng cao hiệu quả bảo mật cho toàn bộ hệ thống.
Hình 6: Đồ thị thể hiện sự tương quan giữa các thành phần trong một request
Giải thích các thành phần xuất hiện trong hình 6:
Các khối chữ nhật màu xanh dương là các phương thức của request, bao gồm GET/HEAD, POST/OPTIONS, PUT và DELETE; các yêu cầu khác được quy định bởi OTHER.
• Các khối chữ nhật màu xám là nội dung của request query và request body, bao gồm cặp giá trị key-value.
• Khối URL màu xanh lục là nội dung url của request, ví dụ: /api/con- tent?t45516426193.
• Các khối màu tím là các loại dữ liệu của request Bao gồm:
Trong tiền xử lý ngôn ngữ tự nhiên, các ký tự chữ cái từ a đến z được xử lý đồng nhất Tất cả ký tự chữ cái từ A đến Z được chuyển đổi sang dạng in thường tương ứng Quá trình chuẩn hóa này giúp giảm thiểu lượng dữ liệu đầu vào mà vẫn không làm ảnh hưởng đến kết quả huấn luyện mô hình, đồng thời tăng khả năng nhận diện từ khóa và tối ưu hóa nội dung cho SEO.
Trong xử lý văn bản, các ký tự lạ, không xác định và không thuộc bảng mã ASCII có thể xuất hiện; chúng có thể là ký tự tiếng Việt hoặc ký tự của các ngôn ngữ khác không phải tiếng Anh, và thường được gắn nhãn để nhận diện khi mã hóa gặp sai sót hoặc thiếu.
– : Các kí tự trong bảng mã ASCII ngoài các kí tự chữ cái và chữ số.
– : Các từ khóa không được phép xuất hiện trong request, ví dụ: SELECT * FROM USER, DROP TABLE USER,
Đây là một phần tiền định nghĩa trước của hệ thống, được thiết kế để tăng độ chính xác trong việc xác định các request bất thường đã biết trước và đồng thời hỗ trợ nhận diện các request bất thường chưa được biết tới Danh sách các từ khóa không được phép xuất hiện được trình bày cụ thể trong phần phụ lục.
Trong quá trình tiền xử lý dữ liệu cho huấn luyện mô hình, các giá trị số được chuyển sang dạng Việc chuẩn hóa số thành ký hiệu giúp giảm lượng dữ liệu đầu vào mà không ảnh hưởng đến kết quả huấn luyện, đồng thời tối ưu hóa tài nguyên tính toán và tăng khả năng tổng quát của mô hình.
là các giá trị dạng chuỗi được dùng để quy định giá trị của query value và body value, quy định này mang lại lợi ích lớn cho quá trình huấn luyện mô hình bằng cách tinh giảm đáng kể lượng dữ liệu đầu vào Ví dụ, dữ liệu gửi đi bằng PUT có thể chứa nội dung của một bài viết ở dạng HTML với số lượng ký tự và ký tự đặc biệt rất lớn, những ký tự này dù vô hại nhưng dễ làm nhiễu thông tin về đặc trưng học được của portal Khi chuyển hóa sang dạng , lượng dữ liệu được giảm thiểu đáng kể, giúp tránh nhiễu loạn thông tin trong quá trình học và thể hiện sự tương đồng giữa các request bình thường với nhau.
Hình 7: Một PUT request có dữ liệu thuộc dạng chuỗi HTML
Trước khi chuyển đổi dữ liệu về dạng , toàn bộ dữ liệu được quét để xác định có bao nhiêu ký tự thuộc các nhóm , và , nhằm đảm bảo không bỏ sót các tác nhân có thể khiến một request trở nên bất thường ngay trong dữ liệu mà request đang chứa.
– : Là các giá trị dạng mảng
– : Là các giá trị dạng JSON