V n đ t ng quan bao ph nghiên c u
• Các bài báo cáo th ng kê s l ng các cu c t n công trong n m 2021- 2022
Theo báo cáo "Imperva DDoS Threat Landscape Report Q1 2022", số liệu thống kê cho thấy các cuộc tấn công DDoS đang gia tăng đáng kể trong quý một năm 2022.
- Các cu c t n công l p 7 t ng 17% trong 50% s trang web b t n công tr c đó s v n ti p t c là m c tiêu b t n công nhi u l n h n n a
- Các cu c t n công l p 3 và 4 t ng 70% trong tháng 3 Trong khi đó, tháng 1, 2 n m
2022 s l ng t n công t ng g n nh là g p đôi so v i tr c đó.
Các cuộc tấn công DoS đang gia tăng nhanh chóng, gây ảnh hưởng nghiêm trọng đến cá nhân và tổ chức, đặc biệt là các công ty tài chính và chính phủ, nơi yêu cầu bảo mật thông tin cao Do đó, việc phát hiện các cuộc xâm nhập mạng trở nên quan trọng để cảnh báo người dùng và quản trị viên, từ đó triển khai các biện pháp kịp thời nhằm ngăn chặn các cuộc tấn công này.
• Các bài báo cáo s l ng t n công vào các thi t b IoT
Sự phát triển của khoa học, công nghệ và sự bùng nổ số lượng kết nối Internet đã dẫn đến sự gia tăng đáng kể trong các thiết bị IoT và máy tính nhúng, như TV, camera an ninh, và các thiết bị định tuyến Theo báo cáo của SAM Seamless Network, năm 2021 đã ghi nhận hơn 1 tỷ cuộc tấn công mạng, trong đó có hơn 900 triệu cuộc tấn công liên quan đến các thiết bị IoT, bao gồm các cuộc tấn công DoS, DDoS và Brute-force Bên cạnh đó, nghiên cứu của VentureBeat cho thấy 50% mạng gia đình và doanh nghiệp vi mô đã trải qua ít nhất một cuộc tấn công mạng trong năm 2021 Đáng chú ý, báo cáo cũng chỉ ra rằng các thiết bị định tuyến chiếm 46% tổng số cuộc tấn công được phân tích, trong khi các thiết bị khác như extender & mesh (17%), Access point (17%), NAS (5%), VoIP (4%), và camera (3%) cũng bị tấn công.
Các thiết bị IoT trong gia đình đang ngày càng phổ biến, nhưng vẫn còn thiếu các biện pháp bảo mật hiệu quả Nhiều người tiêu dùng và doanh nghiệp chưa chú trọng đến vấn đề bảo mật, dẫn đến nguy cơ bị tấn công Việc này tạo ra rủi ro lớn cho người dùng, bởi vì không có sự giám sát thường xuyên và bảo vệ an toàn cho các thiết bị.
M c đích nghiên c u
Mục đích nghiên cứu này là thiết kế một hệ thống phát hiện các cuộc tấn công từ chối dịch vụ (DoS) dựa trên mô hình máy học Nghiên cứu sẽ áp dụng mô hình này trên các thiết bị có cấu hình thấp như thiết bị định tuyến Do đó, mục tiêu quan trọng nhất của đề tài này là tìm ra giải pháp thu gọn mô hình máy học mà không làm suy giảm quá nhiều hiệu năng của mô hình Từ đó, mô hình có thể được áp dụng cho các thiết bị IoT có cấu hình thấp, đặc biệt là các thiết bị định tuyến, nhằm phát hiện các cuộc tấn công một cách hiệu quả và dễ dàng.
Nh ng k t qu công b tr c đây
• H th ng phát hi n t n công m ng d a trên các mô hình máy h c và h c sâu
B ng 1-1: Các ph ng pháp ti p c n d a trên máy h c và h c sâu
Tác gi K thu t T p d li u hu n luy n
Gohil et al [4] DT, NB, LR, SVM, KNN CICDDoS2019 97.92 ~ 99.99
(Accurancy) Sanchez et al [5] Random Forest CICDDoS2019 99.97 (Accurancy)
Sanchez et al [5] MLP CICDDoS2019 99.93 (Accurancy)
Shieh et al [6] Bi-directional LSTM +
Rehman et al [7] Gated Recurrent Units (GRU) CICDDoS2019 99.94 (Accurancy) Samom and Taggu [8] MLP CICDDoS2019 99.92 (Accurancy) Elsayed et al [9] RNN + Autoencoder CICDDoS2019 99 (F1-score)
Can et al [10] MLP CICDDoS2019 79.39 (F1 - score)
Wei et al [11] Autoencoder + MLP CICDDoS2019 98.34 (Accurancy)
Nghiên cứu về ứng dụng máy học trong phát hiện các cuộc tấn công DDoS đã được thực hiện trên tập dữ liệu CICDDoS2019 Trong bài viết "Đánh giá các thuật toán phân loại cho phát hiện tấn công từ chối dịch vụ phân tán", tác giả Gohil và cộng sự đã áp dụng các mô hình máy học như Decision Tree, Naïve Bayes, Logistic Regression, Support Vector Machine và K-Nearest Neighbors, đạt độ chính xác lên đến 99.99% Tương tự, tác giả Sanchez đã đề xuất giải pháp đơn giản hơn cho các thiết bị IoT, cho thấy mô hình Random Forest cũng đạt độ chính xác cao lên tới 99.97% So với các mô hình máy học, mô hình học sâu có khả năng tổng quát hóa mạnh mẽ hơn và nhiều lợi thế hơn trong việc phát hiện tấn công.
Nghiên cứu cho thấy rằng các mô hình học sâu như Random Forest và Multi-layer Perceptron đạt được độ chính xác cao, lần lượt là 99.93% và 98% với mô hình Bi-directional LSTM kết hợp Gaussian Mixture Tuy nhiên, hiện tại chưa có nhóm tác giả nào triển khai các mô hình này vào thực tiễn để đánh giá khả năng tổng quát của chúng Thêm vào đó, thời gian xử lý của các mô hình học sâu thường lâu, tạo ra thách thức cho các nhà phát triển muốn ứng dụng trí tuệ nhân tạo vào các thiết bị cấu hình thấp Giải pháp khả thi là phát triển các mô hình nhẹ hơn, giúp giảm chi phí tính toán và tiết kiệm năng lượng trong dài hạn.
Vào năm 1995, hai nhà nghiên cứu Thimm và Fiesler đã thực hiện việc tạo ra mô hình bằng cách loại bỏ các tham số dư thừa, nhưng mô hình lúc đó vẫn chưa đạt được tối ưu Sau đó, đã có nhiều thuật toán cải tiến khác nhưng hầu hết không cải thiện được đáng kể Đến năm 2018, các tác giả của thuật toán Sparse Evolutionary Training (SET) đã giúp mô hình trở nên hiệu quả hơn mà không làm giảm đáng kể khả năng của mô hình, đồng thời giảm số lượng kết nối cần thiết.
M c tiêu, đ i t ng và ph m vi nghiên c u
Yêu c u b o m t dành cho các thi t b nhúng và IoT là r t l n trong b i c nh hi n nay
Với nhu cầu phát triển các hệ thống phát hiện các cuộc tấn công mạng, việc áp dụng các mô hình máy học và học sâu là cần thiết để nâng cao độ chính xác Tuy nhiên, khả năng xử lý và bảo mật của các thiết bị IoT vẫn còn hạn chế, gây khó khăn trong việc áp dụng hiệu quả các giải pháp này.
Bài viết này đề xuất một phương pháp tối ưu hóa các tham số cho các mô hình máy học và học sâu nhằm giảm kích thước mô hình và tiết kiệm chi phí tính toán, trong bối cảnh ngày càng nhiều mô hình phát hiện xâm nhập được triển khai với chi phí tính toán gia tăng Đồng thời, nghiên cứu cũng triển khai mô hình đã được tối ưu hóa để đánh giá khả năng hoạt động của nó trong việc phát hiện các cuộc tấn công DoS, từ đó có thể áp dụng trên quy mô lớn hơn với nhiều thiết bị IoT khác nhau Mục tiêu của dự án được xác định rõ ràng.
Mô hình phát hiện xâm nhập mạng dựa trên máy học được xây dựng và áp dụng lên hệ điều hành OpenWRT cho các thiết bị định tuyến Mô hình này đáp ứng các yêu cầu về tính chính xác cao, chi phí tính toán thấp và khả năng phát hiện hiệu quả các xâm nhập mạng.
Thuật toán tối ưu cho mô hình học sâu là một lĩnh vực quan trọng, cần tìm hiểu và đề xuất các thuật toán tối ưu hiệu quả Bài viết này so sánh kết quả đạt được của các thuật toán được đề xuất với các thuật toán khác khi áp dụng cho một số mô hình học sâu như MLP, GoogleNet, và VGG16 trên các tập dữ liệu MNIST và Cifar10.
• i t ng và ph m vi nghiên c u:
Hệ thống phát hiện xâm nhập mạng được thiết kế dựa trên mô hình đã được triển khai cho thiết bị định tuyến BKRouter Qua đó, hệ thống này đánh giá khả năng ngăn chặn các cuộc tấn công DoS, từ đó xác định các định hướng phát triển cho quy mô lớn hơn trong tương lai.
Thuật toán tối ưu cho mô hình học sâu thực tế: sử dụng thuật toán RigL hoặc SET để tối ưu hóa mô hình, giúp giảm thiểu tài nguyên và đạt độ chính xác trên 90%.
1 RigL: Rigging the Lottery [13]: Thay th các k t n i có đ l n th p b ng các k t n i có gradient l n
2 SET: Sparse Evalutionary Training: Thay th các k t n i có đ l n th p b ng các k t n i ng u nhiên
H th ng phát hi n xâm nh p m ng
Tính c n thi t c a tri n khai IDS
Hệ thống IDS (Intrusion Detection System) là công cụ giám sát mạng máy tính giúp phát hiện các mẫu lưu lượng bất thường, ghi lại sự kiện và thông báo cho quản trị viên về các sự kiện quan trọng, từ đó đưa ra các phương án ngăn chặn các hành vi xâm nhập tiềm ẩn IDS cũng hỗ trợ đánh giá an ninh nội bộ và cung cấp dữ liệu cho các quyết định bắt buộc Các phần mềm gián điệp, virus và các cuộc tấn công tinh vi đang ngày càng phát triển, khiến việc bảo vệ mạng máy tính trở nên cần thiết hơn bao giờ hết IDS đóng vai trò quan trọng trong việc phát hiện các truy cập không hợp pháp vào hệ thống, giúp bảo vệ dữ liệu nhạy cảm Mặc dù việc bảo vệ máy tính là cần thiết, nhưng các mạng quy mô lớn vẫn có thể bị tấn công thông qua các cuộc tấn công botnet.
Mỗi thành phần tham gia trong kiến trúc mạng đều có chức năng và nhiệm vụ khác nhau Việc sử dụng và khai thác đúng mục đích sẽ mang lại hiệu quả cao IDS là một trong những thành phần quan trọng trong các giải pháp bảo vệ hệ thống Khi triển khai, IDS có thể giúp hệ thống bảo mật hiệu quả hơn.
- Theo dõi các ho t đ ng b t th ng đ i v i h th ng
- Xác đ nh ai đang tác đ ng đ n h th ng và cách th c nh th nào, các ho t đ ng xâm nh p x y ra t i v trí nào trong c u trúc m ng.
V trí c a IDS trong mô hình m ng
Hệ thống phát hiện xâm nhập (IDS) được triển khai trực tiếp trước hoặc sau firewall, nhằm bảo vệ toàn bộ hệ thống bên trong không bị ảnh hưởng Khi triển khai, IDS không chỉ bảo vệ khu vực nội bộ mà còn giảm thiểu nguy cơ bị tấn công từ các mối đe dọa bên ngoài.
DMZ (Demilitarized Zone) là khu vực nằm giữa mạng nội bộ và mạng Internet, đóng vai trò quan trọng trong việc bảo vệ thông tin Khu vực này cho phép người dùng truy cập Internet trong khi vẫn đảm bảo an toàn trước các rủi ro tấn công mạng.
Triển khai IDS sau firewall giúp tăng cường khả năng phòng chống các cuộc tấn công DoS Điều này đặc biệt quan trọng khi các thiết bị di động sử dụng VPN để kết nối vào mạng nội bộ, vì chúng có thể trở thành mục tiêu cho các cuộc tấn công thông qua khai thác điểm yếu Việc bảo vệ này cần được thực hiện để đảm bảo an toàn cho hệ thống mạng.
Hình 2-1: Ví tr tri n khai IDS trong mô hình m ng 5
Khi triển khai IDS, một yếu tố quan trọng cần quan tâm là vị trí của nó trong hệ thống mạng Để đảm bảo các thiết bị trong mạng có thể nhìn thấy tất cả các lưu lượng di chuyển, IDS nên được đặt tại các điểm có khả năng giám sát lưu lượng hiệu quả Việc lựa chọn vị trí thích hợp sẽ giúp IDS hoạt động tối ưu và phát hiện kịp thời các mối đe dọa trong mạng.
- H th ng m ng đ c thi t k nh th nào, mô hình m ng thi t k theo ki u bus, vòng hay ki u sao hay ki u k t h p…?
- Mu n đ t thi t b m ng tr c t ng l a (l c tr c) hay sau t ng l a (không l c)?
- H th ng m ng s d ng thi t b gì Hub hay Switch?
- Thi t b đ nh tuy n đ t nh th nào trong h th ng m ng?
Tóm lại, để đạt được hiệu quả tối ưu trong mô hình mạng, việc thiết lập các điểm kết nối giữa các segment là rất quan trọng, trong đó "giao thông" càng nhiều càng tốt Các IDS cần được kết nối với các hub để đảm bảo không bỏ sót bất kỳ dịch vụ nào được triển khai trong vùng DMZ, bao gồm máy chủ Web, máy chủ Mail, máy chủ DNS, máy chủ FTP, và nhiều dịch vụ khác Tham khảo thêm tại: https://25giay.vn/hoi-dap/vung-dmz-la-gi.html.
4 VPN: Virtual Private Network cho phép ng i dùng thi t l p m ng riêng o v i m t m ng khác trên
Internet, th ng các k t n i VPN đ u đ c mã hóa giúp cho các k t n i đ c b o m t
5Hình 2-1 đ c tham kh o t : https://securitydaily.net/network-security-he-thong-ngan-ngua-xam-nhap- ips/
7 l u l ng m ng nào Tuy nhiên có th g n các IDS này vào “port giám sát” trên switch (span port, port monitoring), khi d li u đi qua switch nó s g i m t b n sao t i các IDS.
So sánh t ng l a (Firewall) và IDS
Hệ thống ngăn chặn xâm nhập (IPS) là một công nghệ giám sát và ngăn chặn các hoạt động xâm nhập không mong muốn Điểm khác biệt chính của IPS so với hệ thống phát hiện xâm nhập (IDS) là khả năng không chỉ theo dõi mà còn chủ động ngăn chặn các mối đe dọa đối với hệ thống IPS sử dụng các tập luật để tự động phát hiện và chặn các hành vi nguy hiểm, bảo vệ an toàn cho hạ tầng công nghệ thông tin.
Hình 2-2: V trí tri n khai c a 3 h th ng b o m t: Firewall, IPS, IDS 7
IPS và firewall là hai hệ thống bảo mật mạng quan trọng, cho phép lưu lượng mạng đi qua hoặc bị chặn Tuy nhiên, chúng có những chức năng khác nhau: IPS tập trung vào việc phát hiện và ngăn chặn các mối đe dọa, trong khi firewall chủ yếu kiểm soát và quản lý lưu lượng mạng Sự khác biệt chính giữa chúng nằm ở cách thức bảo vệ mà mỗi hệ thống cung cấp.
- T ng l a: Quy t đ nh cho phép ho c ch n l u l ng m ng d a trên đ a ch IP ho c s c ng.
- IPS: Theo dõi l u l ng di chuy n trên h đi u hành và m ng đ ng n ch n các thay đ i và liên l c trái phép.
T ng l a th c hi n các hành đ ng nh ch n và l c l u l ng trong khi IPS/IDS phát hi n và c nh báo cho qu n tr viên h th ng ho c ng n ch n cu c t n công theo c u hình.
6 Áp d ng lu t Snort trong h th ng IPS Khi đó các lu t s có kí hi u drop thay vì alert nh trong IDS
7Hình 2-2 đ c tham kh o t : https://ipwithease.com/firewall-vs-ips-vs-ids/
Tổng lạ cho phép lưu lượng truy cập dữ liệu trên một tập hợp các quy tắc định sẵn cụ thể Nó phụ thuộc vào nguồn, đích và các cổng Tổng lạ có thể chặn bất kỳ lưu lượng nào không đáp ứng các tiêu chí cụ thể.
IDS là thiết bị theo dõi gói dữ liệu qua mạng, so sánh với mẫu chữ ký và cảnh báo khi phát hiện hoạt động đáng ngờ Trong khi đó, IPS là thiết bị hoạt động chủ động, ngăn chặn các cuộc tấn công bằng cách chặn chúng ngay lập tức.
Hình 2-3: So sánh đ i t ng b o v gi a IPS, Firewall 8
Các k thu t ng n ch n xâm nh p
Trong bài viết này, chúng tôi sẽ khám phá các kỹ thuật được sử dụng trên IDS/IPS để phát hiện các cuộc xâm nhập Hai kỹ thuật chính được áp dụng để phát hiện xâm nhập bao gồm: Phát hiện dựa trên mẫu (Misuse/Signature Based ID) và Phát hiện bất thường (Anomaly Based ID).
Phân tích dựa trên chữ ký cho phép phát hiện xâm nhập thông qua việc theo dõi hành vi xâm nhập, nhưng yêu cầu duy trì một cơ sở dữ liệu chữ ký và cập nhật thường xuyên để đối phó với các hình thức xâm nhập mới.
Ít báo sai và được biết đến là rất hiệu quả trong việc xác định các hình thức xâm nhập đã được ghi nhận trước đó Quá trình này nhanh chóng và đáng tin cậy, giúp xác định công cụ và kỹ thuật tấn công Nhờ đó, người quản trị hệ thống có thể nhanh chóng đưa ra các biện pháp xử lý kịp thời.
8Hình 2-3 đ c tham kh o t : https://ipwithease.com/firewall-vs-ips-vs-ids/
• Nh c đi m: hi u qu trong vi c phát hi n xâm nh p thì ph ng pháp này ph i th ng xuyên c p nh t d u hi u c a các hình th c xâm nh p m i
Các d u hi u dùng đ phát hi n n u không đ c thi t k ch t ch thì có th s không th phát hi n ra các cu c t n công “bi n th ” 9
Phát hiện xâm nhập dựa trên bất thường (anomaly-based) hoạt động bằng cách so sánh các hành vi hiện tại với hoạt động bình thường của hệ thống Phương pháp này cho phép nhận diện các bất thường, có thể là dấu hiệu của xâm nhập Để hoạt động hiệu quả, các hệ thống IDS/IPS cần có thời gian nhất định để giám sát và thu thập các hoạt động của hệ thống trong điều kiện bình thường Qua đó, dữ liệu được thu thập sẽ được so sánh để phát hiện các bất thường Ví dụ, trong điều kiện bình thường, lưu lượng trên một giao tiếp mạng của server thường chỉ khoảng 20% Tuy nhiên, nếu trong một thời điểm nào đó, lưu lượng này tăng đột ngột lên đến 50% hoặc hơn, có thể xác định rằng server đang bị tấn công.
M t IDS có khả năng phát hiện những hành vi bất thường, từ đó nhận diện triệu chứng của các cuộc tấn công mà không cần biết chi tiết cụ thể Nói một cách đơn giản, nó có thể phát hiện các cuộc tấn công chưa được biết đến.
Phát hi n s b t th ng có th đ c s d ng đ cung c p các thông tin, mà các thông tin này có th đ c xây d ng các d u hi u (signature) s d ng trong k thu t misuse detector.
Ph ng pháp ti p c n s b t th ng th ng t o ra m t s l ng l n các báo đ ng sai do không th đoán đ c hành vi c a ng i s d ng và h th ng m ng.
Phương pháp tiếp cận cần xây dựng thường yêu cầu phải thường xuyên được “đào tạo” từ các bản ghi của hệ thống nhằm biết được đâu là các hành vi bình thường Phát hiện xâm nhập dựa trên sổ bít thường rất hữu ích trong việc phát hiện các cuộc tấn công như: Lừa đảo giao thức và cổng dịch vụ; Tấn công từ chối dịch vụ; Buffer Overflow.
9 Các cu c t n công đã bi t nh ng đ c thay đ i vài thông s nh s c ng, code, sequence, … nh m tránh s phát hi n t IDS/IPS
10 T n công làm tràn b đ m, t đó khi n CPU luôn u tiên x lý b đ m tr c
T p d li u CICDDoS2019 [13]
T ng quan t p d li u CICDDoS2019
CICDDoS2019 là một bộ dữ liệu về các cuộc tấn công DDoS, bao gồm các bản cập nhật mới nhất tính đến tháng 11, với thông tin chi tiết từ dữ liệu lưu trữ toàn cầu (PCAP) Bộ dữ liệu này cũng cung cấp các kết quả phân tích lưu lượng mạng thông qua công cụ CICFlowMeter-V3, với các luồng được gán nhãn dựa trên thời gian, địa chỉ IP nguồn và đích, các cổng nguồn và đích, giao thức, cùng với các cuộc tấn công được lưu dưới dạng tệp CSV.
Hình 2-4: ki n trúc th nghi m đ t o t p d li u CICDDoS2019
T o l u l ng truy c p n n th c t là u tiên hàng đ u c a nhóm tác gi trong vi c xây d ng t p d li u này Nhóm tác gi đã s d ng h th ng B-Profile đ c đ xu t b i
Vào năm 2016, Sharafaldin và các cộng sự đã phát triển hành vi tấn công giả mạo nhằm tạo ra lưu lượng truy cập không lành tính trong một testbed đặc biệt Nhóm tác giả đã xây dựng mô hình hành vi tấn công này để nghiên cứu các tương tác giữa con người và hệ thống.
25 ng i dùng d a trên các giao th c HTTP, HTTPS, FTP, SSH và email.
Trong t p d li u này, nhóm tác gi th nghi m các cu c t n công DDoS hi n đ i khác nhau nh PortMap, NetBIOS, LDAP, MSSQL, UDP, UDP-Lag, SYN, NTP, DNS và SNMP
Các cu c t n công sau đó đã đ c th c hi n trong th i gian đ c cho trong Nh Error!
Reference source not found.cho th y, nhóm tác gi đã th c hi n 12 cu c t n công DDoS bao g m NTP, DNS, LDAP, MSSQL, NetBIOS, SNMP, SSDP, UDP, UDP-Lag,
WebDDoS, SYN và TFTP trong ngày đào t o và 7 cu c t n công bao g m PortScan,
NetBIOS, LDAP, MSSQL, UDP, UDP-Lag và SYN trong ngày th nghi m L u l ng truy
11 Th i đi m c a bài vi t vào n m 2019
11 c p cho WebDDoS quá th p và PortScan v a đ c th c hi n trong ngày th nghi m và s không đ c bi t đ đánh giá mô hình đ c đ xu t.
Các thu c tính trong t p d li u CICDDoS2019
T p d li u CICDDoS2019 đ c l u d i d ng CSV v i g n 80 thu c tính l u l ng m ng đ c th ng k B ng 2-1.
B ng 2-1: Tên đ c tr ng và ý ngh a trong t p d li u CICDDoS2019. c tr ng Ý ngh a
Flow duration refers to the time duration of a flow measured in microseconds It includes the total number of forward packets, which are the packets sent in the forward direction, and the total number of backward packets, which are the packets sent in the reverse direction Additionally, it encompasses the total length of forward packets, indicating the size of packets transmitted forward, as well as the total length of backward packets, reflecting the size of packets transmitted backward.
Fwd Packet Length Min Kích th c t i thi u c a gói theo h ng forward
Fwd Packet Length Max Kích th c t i đa c a gói theo h ng forward
Fwd Packet Length Mean Trung bình kích th c c a gói theo h ng forward
Fwd Packet Length Std l ch chu n kích th c các gói tin theo h ng forward
Bwd Packet Length Min Kích th c t i thi u c a gói theo h ng backward
Bwd Packet Length Max Kích th c t i đa c a gói theo h ng backward
Bwd Packet Length Mean Trung bình kích th c c a gói theo h ng backward
Bwd Packet Length Std l ch chu n kích th c các gói tin theo h ng backward Flow Byte/s Kích th c byte trong m t lu ng m i giây
Flow Packets/s S gói tin trong m t lu ng m i giây
Flow IAT Mean Th i gian trung bình gi a hai gói đ c g i trong lu ng
Flow IAT Std Th i gian l ch chu n gi a hai gói đ c g i trong lu ng
Flow IAT Max Th i gian t i đa gi a hai gói đ c g i trong lu ng
Flow IAT Min Th i gian t i thi u gi a hai gói đ c g i trong lu ng
Fwd IAT Min là thời gian tối thiểu giữa hai gói được gửi trong luồng theo hướng forward Fwd IAT Max là thời gian tối đa giữa hai gói được gửi trong luồng theo hướng forward Fwd IAT Mean thể hiện thời gian trung bình giữa hai gói trong luồng forward Fwd IAT Std là độ lệch chuẩn thời gian giữa hai gói trong luồng forward Fwd IAT Total là tổng thời gian giữa hai gói được gửi trong luồng forward Bwd IAT Min là thời gian tối thiểu giữa hai gói trong luồng backward Bwd IAT Max là thời gian tối đa giữa hai gói trong luồng backward.
Bwd IAT Mean là thời gian trung bình giữa hai gói được gửi trong luồng theo hướng backward Bwd IAT Std là độ lệch chuẩn thời gian giữa hai gói được gửi trong luồng theo hướng backward Bwd IAT Total là tổng thời gian giữa hai gói được gửi trong luồng theo hướng backward Fwd PSH flag là số lượng PSH được đặt trong các gói di chuyển theo hướng forward (0 cho udp) Bwd PSH Flag là số lượng PSH được đặt trong các gói di chuyển theo hướng backward (0 cho udp) Fwd URG Flag là số lượng URG được đặt trong các gói di chuyển theo hướng forward (0 cho udp) Bwd URG Flag là số lượng URG được đặt trong các gói di chuyển theo hướng backward (0 cho udp) Fwd Header Length là tổng số byte được sử dụng cho tiêu đề theo hướng forward Bwd Header Length là tổng số byte được sử dụng cho tiêu đề theo hướng backward FWD Packets/s là tổng số gói forward mỗi giây.
Bwd Packets/s T ng s gói backward m i giây
Min Packet Length dài gói tin t i thi u
Max Packet Length dài gói tin t i đa
Packet Length Mean dài trung bình gói tin
Packet Length Std l ch chu n đ dài gói tin
Packet Length Variance Ph ng sai đ dài gói tin
FIN Flag Count S gói có c FIN
SYN Flag Count S gói có c SYN
RST Flag Count S gói có c RST
PSH Flag Count S gói có c PSH
ACK Flag Count S gói có c ACK
URG Flag Count S gói có c G
CWR Flag Count S gói có c CWR
ECE Flag Count S gói có c ECE down/Up Ratio T l download trên upload
Average Packet Size Kích th c trung bình c a gói
Avg Fwd Segment Size Kích th c trung bình đ c quan sát theo h ng forward
Avg Bwd Segment Size Kích th c trung bình đ c quan sát theo h ng backward Fwd Header Length Chi u dài c a tiêu đ gói forward
Fwd Avg Bytes/Bulk S byte trung bình hàng lo t theo h ng forward
Fwd AVG Packet/Bulk S l ng các gói d li u trung bình theo h ng forward
Fwd AVG Bulk Rate S l ng hàng lo t trung bình theo h ng forward
Bwd Avg Bytes/Bulk S byte trung bình hàng lo t theo h ng backward
Bwd AVG Packet/Bulk S gói trung bình hàng lo t theo h ng backward
Bwd AVG Bulk Rate S gói trung bình hàng lo t theo h ng backward
Subflow Fwd Packets S gói subflow theo h ng forward
Subflow Fwd Bytes S byte subflow theo h ng forward
Subflow Bwd Packets S gói subflow theo h ng backward
Subflow Bwd Bytes S byte subflow theo h ng backward
Init_Win_bytes_forward T ng s byte g i vào c a s ban đ u theo h ng forward
Init_Win_bytes_backward T ng s byte g i vào c a s ban đ u theo h ng backward
Dưới đây là các thông số quan trọng liên quan đến hoạt động và trạng thái của các gói TCP: Kích thước tối thiểu của gói TCP trong quá trình chuyển tiếp được xác định bởi min_seg_size_forward Thời gian hoạt động tối thiểu (Active Min) là khoảng thời gian cần thiết trước khi chuyển sang trạng thái idle, trong khi thời gian hoạt động trung bình (Active Mean) và tối đa (Active Max) phản ánh các giá trị trung bình và tối đa của thời gian hoạt động trước khi vào trạng thái idle Độ lệch chuẩn (Active Std) cho biết sự biến động của thời gian hoạt động này Ngược lại, thời gian không hoạt động tối thiểu (Idle Min), trung bình (Idle Mean), tối đa (Idle Max) và độ lệch chuẩn (Idle Std) cung cấp cái nhìn sâu sắc về khoảng thời gian mà hệ thống không hoạt động trước khi bắt đầu hoạt động trở lại.
Ph ng pháp c t t a và t i u k t n i cho mô hình h c sâu
Ý t ng s khai c a thu t toán c t t a k t n i cho mô hình h c sâu
Vào năm 1995, hai nhà nghiên cứu Thimm và Fiesler đã thực hiện việc tạo ra mô hình bằng cách loại bỏ các kết nối, tuy nhiên mô hình sau đó vẫn chưa đạt tiêu chuẩn Đến năm 1997, Strom đã đưa ra ý tưởng khác để cải thiện mô hình đã được tạo ra nhằm đạt độ chính xác cao hơn Công trình của Strom đã thực hiện cải tiến mô hình và đào tạo lại sau đó, nhưng vẫn chưa đạt yêu cầu tối ưu Một thập kỷ sau, Han và các cộng sự đã đi xa hơn các cách truyền thống bằng cách chia thành nhiều đợt và đào tạo lại mô hình liên tục Tuy nhiên, điều này tỏ ra kém hiệu quả, đòi hỏi nhiều vòng đào tạo lại khi loại bỏ các kết nối Để khắc phục vấn đề này, Narang và các cộng sự (2017) đã giới thiệu phương pháp cải tiến, trong đó các kết nối được loại bỏ trong suốt quá trình của mỗi vòng đào tạo Mô hình chung, các thuật toán cải tiến trong giai đoạn khai thác là các kết nối bình thường có độ phức tạp cao và đào tạo mô hình sau mỗi lần kết nối cho đến khi mô hình đạt được những mong muốn.
T i u mô hình th a th t b ng các thay th các k t n i trong mô hình b ng các k t n i ng u nhiên còn l i
b ng các k t n i ng u nhiên còn l i
Mô hình kết nối trong các mạng nơ-ron truyền thống thường gặp khó khăn khi các kết nối không tham gia vào quá trình học Điều này dẫn đến việc các kết nối quan trọng có thể bị bỏ qua trong kết quả cuối cùng Để khắc phục vấn đề này, vào năm 2018, tác giả Mocanu và nhóm của ông đã đề xuất thuật toán "Sparse Evolutionary Training", cho phép giảm số lượng kết nối không cần thiết và thay thế chúng bằng các kết nối ngẫu nhiên Phương pháp này đã chứng minh hiệu quả trên tập dữ liệu MNIST, đạt độ chính xác 97.68% khi số lượng kết nối giảm xuống gần 100 lần so với mô hình trước đó.
Ph ng pháp thay th các k t n i b c t gi m b ng nh ng k t n i m i d a trên gradient.
Sparse Evolutionary Training mang lại kết quả ấn tượng, nhưng việc thay thế bằng những kết nối ngẫu nhiên khiến mô hình mất nhiều thời gian đào tạo và hiệu suất không ổn định RigL được đề xuất như một giải pháp khắc phục vấn đề này bằng cách điều chỉnh các kết nối dựa trên gradient trong mỗi lần thay đổi tham số Thuật toán bắt đầu với một mạng thưa ngẫu nhiên và tại các khoảng thời gian cách nhau, nó loại bỏ một phần các kết nối dựa trên độ mạnh của chúng và kích hoạt các kết nối mới bằng cách sử dụng thông tin gradient tại thời điểm đó Sau khi cập nhật kết nối, quá trình đào tạo tiếp tục với mạng được cập nhật cho đến bản cập nhật tiếp theo Các phần chính của thuật toán bao gồm: Phân bố thưa ngẫu nhiên, Lịch trình cập nhật, Cắt giảm và Bù đắp kết nối.
Phân bậc thật là quá trình thu thập và xử lý dữ liệu để tối ưu hóa mô hình Những tác giả liên tục cập nhật các thông tin cần thiết trên nền tảng để đạt được phân bậc thật theo mong muốn trên từng lớp của mô hình.
Chương trình cập nhật là bước quan trọng sau khi mô hình đã đạt được độ chính xác nhất định Để tối ưu hóa quá trình đánh giá mô hình sau này, các thuật toán cập nhật được nhóm tác giả sử dụng bao gồm Cosine Annealing và Learning Rate Schedules.
C t gi m k t n i là một phần quan trọng trong mô hình thống kê, được xác định theo đường lệnh sau khi chương trình đã đạt được trạng thái ổn định Các k t n i này có trọng số nhất định, được điều chỉnh dựa trên số lượng k t n i cần được cài đặt trong quá trình cập nhật chương trình.
Bù đắp các kết nối: Bước cuối cùng trong mỗi vòng lặp, sau khi đã cập nhật các kết nối có trọng số Gradient có thể được tính toán để làm cơ sở cho các kết nối mới có mức độ ảnh hưởng tích cực đối với mô hình Theo đó, những kết nối mới có biên độ gradient lớn sẽ được thêm vào với số lượng tương ứng bằng số lượng các kết nối đã được cập nhật.
CH NG 3: THU T TOÁN T I U MÔ HÌNH TH A
B NG CÁC PHÂN B L I TH A TH T D A TRÊN TRUNG BÌNH GRADIENT ( SR GM)
T ng quan và c s hình thành thu t toán
Các thu ttoán t i u mô hình h c sâu th a th t hi n nay mô hình chung ch y theo các b c chính nh sau:
- C t t a mô hình máy h c, h c sâu đ n đ th a th t trên m i l p theo yêu c u ban đ u đ t ra.
- L p k ho ch thay m i sau khi đã c t t a các k t n itrong mô hình đ nh k
- C t gi m k t n iv i s l ng c ng nh sau m t th i gian đ c đ ra b c l p k ho ch.
- Bù đ p các k t n im i b ng v i s l ng đã c t gi m tr c đó và ti p t c đào t o mô hình.
Thông th ng b c đ u tiên, cácthu t toán t i u mô hình th a th t phân b đ th a th t theo hai cách:
- Phân b Uniform: th a th a c a m i l p đ c c t t a s l là b ng nhau và b ng t ng đ th a th t c a toàn b mô hình S.
- Phân b d a trên mô hình Erd s–Rényi[20]: c gi i thi u vào n m 2018c a nhà nghiên c u Mocanu[18], v i đ th a th t c a m i l p sl đ c tính b ng công th c sau khi áp d ng v i các mô hình MLP:
1伐 券 鎮貸怠+券 鎮
券 鎮貸怠 茅 券 鎮
Trong đó n l là s neuron c a l p l, t ng t đ i v i mô hình CNN: đ phân b c a m i l p nh sau:
1伐 券 鎮貸怠+券 鎮+拳 鎮+月 鎮
券 鎮貸怠 茅 券 鎮 茅 拳 鎮 茅 月 鎮
Có th th y, các thu t toán hi n nay ch th c hi n phân b các k t n i trong m i l p giai đo n đ u tiên T ib c t i u mô hình, đ th a th t c a m i l p là gi nguyêncho đ n k t thúc quá trình t i u
Gradient đóng vai trò quan trọng trong các bài toán tối ưu cho mô hình máy học hiện nay Nó thực chất là đạo hàm của một hàm số, dùng để biểu diễn sự thay đổi của hàm số tại một điểm nào đó Gradient là một vector có những tính chất đặc trưng, giúp xác định hướng đi tối ưu trong quá trình học máy.
- H ng c a vector theo chi u t ng c a hàm.
Giá trị của gradient gần bằng 0 khi tiến dần tới các điểm cực trị Trong các bài toán tối ưu, việc tìm giá trị nhấn mạnh của một hàm số là rất quan trọng Ví dụ, tìm điểm nhấn mạnh cho các hàm một biến không quá khó khăn, nhưng khi số biến tăng lên, việc tìm nghiệm cho phương trình đó trở nên phức tạp hơn Điều này có thể trở thành bất khả thi đối với các hàm nhiều biến trong các mô hình máy học, nơi mà số lượng biến trong phương trình là rất lớn Do đó, thay vì giải phương trình đó, người ta thường xuất phát từ một điểm và tiến dần tới điểm cực trị cho đến khi tìm được nghiệm của phương trình bằng cách đi ngược chiều gradient Đặc điểm của gradient là nó sẽ tiến gần về 0 khi đến gần các điểm cực trị, vì vậy có thể nói rằng khi gradient càng lớn, mức độ ảnh hưởng của điểm này sau khi cập nhật bằng cách đi ngược chiều gradient sẽ ảnh hưởng nhiều đến kết quả tìm điểm cực trị Ngược lại, khi gradient của hàm nhiều biến gần bằng 0, nó sẽ ít ảnh hưởng tới kết quả.
D a trên c s lý thuy t đã đ c p ph n tr c, thu t toán t i u mô hình b ng cách phân b l i đ th a th t trên t ng l p d a trên Gradient c th nh sau:
Randomly sparsify using S for each training step t do
詣 痛 = 布 詣(血 待(捲 沈),検 沈)
兼佃 = min鎮退待蝦挑( 件 鞄 肯 健) if t (mod ∆T) == 0 and t < T end then
12 Vi c tìm đi m global minimum cho các hàm m t mát là r t ph c t p khi có nhi u tham s trong mô hình
Thay vào đó, vi c đi tìm đi m local minimum d dàng h n, và có th cho nó là nghi m c a ph ng trình
穴結健建欠= 磐 デ デ 軽健 デ 椛 到如 椛 詣 建
健=0 伐 怠 挑 卑 茅 兼 佃 茅 f decay (t; ,Tend) number of parameters non-pruned lower than ths: n prune n grow =n prune + delta
Igrow is a powerful tool designed to enhance productivity and streamline processes By leveraging Iactive and Igrow, users can efficiently update their connections This integration helps in managing tasks effectively, ensuring that all necessary information is readily accessible The seamless functionality of Igrow empowers users to achieve their goals with ease and precision.
= − 椛 L t end if end for
L u đ thu t toán
(L u đ thu t toánđ c trình bày trang sau)
Hình 3-1: L u đ thu t toán t i u mô hình b ng cách t i u đ th a th t trong su t quá trình hu n luy n d a trên gradient.
3.2.1 Phân tích thu遺t toán
Trong chương 2.3, chúng tôi đã trình bày về thuật toán RigL và thuật toán SET, bao gồm hai giai đoạn: giai đoạn cắt tỉa mô hình và giai đoạn tinh chỉnh mô hình Giai đoạn cắt tỉa sử dụng hai thuật toán RigL và SET để tối ưu hóa quy trình hoạt động của mô hình.
Trong giai đoạn này, mô hình được khởi tạo cùng với các thông số được thiết lập nhằm tối ưu hóa toàn bộ mô hình trên từng lớp Cụ thể, khi bắt đầu giai đoạn này, các thông số khởi tạo sẽ được liệt kê.
- S: th a th t c a toàn b mô hình Thông s này s đ c gi nguyên cho đ n khi k t thúc vi c hu n luy n
Trong mô hình học máy, giá trị tham số có thể thay đổi trong suốt quá trình đào tạo khi áp dụng thuật toán được đề xuất Tuy nhiên, khi bắt đầu huấn luyện, giá trị tham số của mô hình được xác định theo hai cách như đã trình bày trong phần 3.1.
Khoảng cách giữa mô hình T và các trống s đặc có thể được điều chỉnh linh hoạt, cho phép tạo ra các biến thể khác nhau Các trống s này được điều chỉnh cho đến khi đạt được độ chính xác mong muốn, đảm bảo rằng mô hình hoạt động hiệu quả và đáp ứng được yêu cầu đề ra.
Ninit là bước quan trọng trong giai đoạn huấn luyện mô hình, nơi chương trình thực hiện huấn luyện và tối ưu hóa cho đến khi đạt được giá trị Ninit tối ưu Thông thường, giá trị này được điều chỉnh để đảm bảo hiệu suất của mô hình đạt kết quả tốt nhất.
Nprune là một kỹ thuật quan trọng trong giai đoạn cắt tỉa mô hình Trong giai đoạn này, sau mỗi lần lặp, mô hình sẽ được điều chỉnh để giảm thiểu trọng số không cần thiết Tính năng Pruning có trong thư viện của TensorFlow cho phép mô hình đạt được hiệu suất tối ưu hơn, giúp cải thiện độ chính xác và tốc độ trong quá trình dự đoán.
Các b c th c hi n trong giai đo n c t t a mô hình:
- B c 1: B c đ u tiên trong giai đo n này là mô hình s đ c hu n luy n v i đ y đ s k t n i M c tiêu trong giai đo n này là làm hi u su t c a mô hình đ t đ c cao nh t.
- B c 2: Sau khi mô hình đã đ t đ c hi u n ng t t nh t Lúc này thu t toán s ch n nh ng k t n i nh và lo i b nó kh i mô hình Vi c ch n nh ng k t n i có đ l n
21 nh g n b ng không s không làm nh h ng quá nhi u đ n k t qu c a mô hình S các k t n i c n lo i b ph thu c vào s l n l p hu n luy n,đ th a th t mong mu n, c ng nh s b c cho m i l n c p nh t mô hình.
Mô hình B c 3 đã được huấn luyện và sau khi thu thập toán, các kết nối đã được điều chỉnh Mô hình sẽ tiếp tục huấn luyện với các tham số đã được khai báo trước đó và sẽ lặp lại quá trình này cho đến khi đạt được số lần huấn luyện cần thiết cho giải đoạn cụ thể.
3.2.3 Giai đo n t i u mô hình sau c t t a
Trong quá trình tối ưu mô hình cây quyết định, hai thuật toán RigL và SET có cách tiếp cận khác nhau để xử lý các kết nối Cụ thể, sau khi mô hình đã được tối ưu hóa với các kết nối chính, cả hai thuật toán đều thực hiện việc bổ sung các kết nối mới vào bảng các kết nối đã được lưu trữ Đối với thuật toán SET, các tác giả bổ sung kết nối bằng cách thêm ngẫu nhiên các kết nối đã bị loại bỏ vào mô hình Ngược lại, thuật toán RigL thêm các kết nối dựa trên độ lớn của gradient, với các kết nối có gradient lớn được ưu tiên bổ sung Mặc dù cả hai thuật toán đều thực hiện việc bổ sung kết nối mới mà không làm thay đổi đáng kể kết quả của hệ thống, nhưng thuật toán RigL có khả năng cải thiện hiệu suất mô hình nhanh chóng hơn, trong khi SET có thể không tạo ra sự khác biệt lớn và đôi khi gây ảnh hưởng tiêu cực đến kết quả.
Hình 3-2: B c c p nh t mô hình c a hai thu t toán RigL và SET.
Mô hình đề xuất thêm một bậc phân bổ lại trọng số các lớp trong mạng lưới, nhằm cải thiện kết quả dự đoán Các lớp ít ảnh hưởng sẽ được điều chỉnh để bù đắp cho những lớp có khả năng gây nhiễu tích cực đến hiệu suất của mô hình.
Hình 3-3: B c c p nh t mô hình c a thu t toán phân b đ th a th t trong su t quá trình t i u.
Quá trình thu t toán phân b đ th a th t bao g m các b c sau:
1 Sau khi l p Tl n hu n luy n, thu t toán xác đ nh các thông s sau:
- 稿 潰 如 詣痛: Gradient hàm m t mát c a mô hình.
Trong một lặp, các kết nối có trọng số được điều chỉnh dựa trên giá trị ngưỡng Ví dụ, nếu trọng số của kết nối lớn nhất trong mô hình là 0.8 và ngưỡng được đặt là 0.5, thì các kết nối có trọng số nhỏ hơn 0.4 sẽ bị loại bỏ khi mô hình thực hiện quá trình Dropout Hình 3-3 minh họa quá trình cập nhật mô hình của thuật toán phân bố dựa theo thực tế trong suốt quá trình tối ưu.
2 Tính toán đ th a th t cho m i l p:
Thuật toán này không tính toán trực tiếp mà tìm kiếm sự chênh lệch giữa các kết nối của mô hình mới so với mô hình trước đó để tối ưu hóa giá trị nguyên được xác định cho toàn bộ mô hình Ví dụ, trong một mô hình có ba lớp với số lượng kết nối lần lượt là 1000, 2000 và 3000, lớp đầu tiên có 250/1000 kết nối, lớp thứ hai có 500/2000 kết nối, và lớp thứ ba có 1000/3000 kết nối Trong lần cập nhật này, thuật toán đã thêm 100 kết nối vào lớp đầu tiên trong khi lớp thứ hai giảm đi.
30 k t n i và l p th 3 gi m 70 k t n i Nh v y t ng s k t n i c a mô hình v n đ m b o đ c 1750 k t n i trên t ng s 6000 k t n i. ch nh l ch s k t n i c a m i l p đ c tính b ng công th c sau:
穴結健建欠 = 磐 デ デ 椛 灘如 デ 椛 到如
如転轍 伐 怠 挑 卑 茅 兼 佃 茅 f decay (t; ,Tend)
- デ 椛 灘如 到如 挑 禰
デ薙 デ 椛灘如 到如 挑禰
如転轍 : T s gi a t ng s gradient c a l p l trên t ng s gradient c a toàn b các l p
挑: T s c a 1 trên s l p trong mô hình.
- 兼 佃: S k t n i đã b lo i b nh nh t c a các l p trong mô hình.
- f decay (t; ,Tend):Hàm suy gi m có tác d ng đ gi m d n đ l n c a delta sau m i l n c p nh t = 沈津沈痛 鳥追墜椎 捗追銚頂痛沈墜津
The article discusses the importance of resilience and strength in overcoming challenges, emphasizing the need for determination and commitment in achieving one's goals It highlights the significance of maintaining a strong foundation and building upon it to navigate through difficulties effectively The message encourages readers to stay focused and dedicated, as perseverance is key to success.
- Theo nh công th c delta, デ デ 帝 灘如 デ 帝 之如
Mô hình cần được cập nhật để cải thiện hiệu suất, trong đó L là tổng số lớp không bao gồm lớp đầu tiên Tổng gradient của lớp L và tổng gradient của toàn bộ các kết nối trong mô hình là những yếu tố quan trọng cần được xem xét.
Công thức đạc nhân cho mzcó tác động xác định đến sức khỏe nội bộ trong mỗi lớp Công thức này với số lượng vật chất đã được bồi bổ trong lớp có ảnh hưởng trực tiếp đến việc thu thập toán có thể bù đắp sức khỏe nội bộ.
- Cu i cùng, công th c nhân v i f decay (t; ,Tend)có tác d ng gi m d n s l ng các k t n i c n đ c thêm hay b t vào trong mô hình sau kho ng th i gian T.
Sau khi xác định được độ chênh lệch cần thêm hoặc bớt vào trong mô hình, bước tiếp theo là thực hiện thuật toán để xác định số lượng cần điều chỉnh dựa trên độ lệch đã được tính toán Đồng thời, cần bù đắp lượng cần điều chỉnh sao cho số lượng thêm vào trùng khớp với độ chênh lệch đã được xác định trước đó.
25 u ti n thu t toán s c t b t k t n i v i s l ng b ng s k t n i th p h n ng ng cho ban đ u nhân v i kêt n i có tr ng s l n nh t c a m t l p l.
- Ví d : n u ng ng ban đ u cho là 0.5, k t n i l n nh t trong l p l có đ l n b ng 0.8, thì s k t n i s b lo i b b ng t ng s k t n i có đ l n nh h n 0.5x0.8.
Ti p theo thu t toán s thêm vào l i trong mô hình s k t n i d a vào đ l n gradient v i s l ng b ng s k t n i đã c t b t c ng cho l ng chênh l nh đã tính đ c t b c 2.
- Ví d : n u l ng chênh l ch t i l p l b ng -10, s k t n i đã b c t b trong l n t i u này b ng 20 Thì s l ng k t n i đ c thêm vào b ng 20+(-10) 10 k t n i Nh v y đ chênh l ch v n đ m b o lo i b 10 k t n i kh i l p l.
4 Hu n luy n mô hình đã đ c t i u:
Sau khi đã phânb l i s k t n i có trong m i l p, mô hình đ c đào t o và l p l i vi c t i u sau m i Tl n l p.
CH NG 4: THI T K H TH NG PHÁT HI N XÂM
Phân tích thu t toán
Thi t k kh i giao ti p cho thi t b Server và các thi t b Client
T ng quan và yêu c u thi t k
Các gói tin thông thường không thu c ng t n công khác nhau tùy thuộc vào từng môi trường và mô hình mạng, do đó cần có một tập dữ liệu riêng cho từng mô hình để thiết kế hệ thống phát hiện xâm nhập Đây là ưu điểm của hệ thống phát hiện Anomaly so với hệ thống dựa trên Signature Khi cập nhật mô hình học sâu, nó sẽ thu thập dữ liệu từ các luồng đi tới các thiết bị Client và gửi về thiết bị Server Từ đó, Server có thể tối ưu mô hình học sâu cho phù hợp với từng Client trong hệ thống.
V phía các thi t b Client, các lu ng d li u s luôn đ c thu th p theo th i gian và g i t p d li u v cho Server sau m i m t s l ng lu ng đ c cài đ t
Thiết bị Server là trung tâm chịu trách nhiệm huấn luyện và tối ưu mô hình cho các thiết bị Client Để đáp ứng yêu cầu đào tạo mô hình cho tất cả các thiết bị Client, thiết bị Server cần có cấu hình mạnh mẽ Việc giảm thiểu áp lực đào tạo cho các thiết bị con giúp tối ưu hóa chi phí huấn luyện mô hình, với thiết bị Server thực hiện việc tối ưu mô hình đã được đề xuất trong Chương 3 Với mô hình đã được tối ưu, các thiết bị Client có thể dễ dàng tải mô hình mà không gặp khó khăn về chi phí tính toán, nhờ vào số lượng lớn kết nối trong mô hình Hơn nữa, cần có một phương thức truyền tin hiệu quả giữa các thiết bị Client để tải dữ liệu lên Server, và Server có khả năng gửi mô hình đã được huấn luyện đến các thiết bị phụ thuộc.
Vì v y yêu c u đ t ra cho kh i c p nh t h th ng g m có:
- S d ng ph ng th c truy n tin FTP
- T p d li u thu th p đ c t client ph i đ c g i đ nh k đ n cho Server
- Cho phép m t client g i nhi u t p d li u đ n server phòng tr ng h p server s lý quá nhi u d li u t nhi u thi t b client
- Mô hình h c sâu đ nh nh ng v n đ m b o đ c hi u su t cao thu n ti n cho vi c l u tr c trên thi t b FTP server và các thi t b client.
L u đ thu t toán
Mô hình học sâu được chia thành hai phần chính: khía cạnh phía Server và khía cạnh phía Client Cả hai phần này tương tác với nhau thông qua phương thức truyền tin FTP.
Hình 4-2: L u đ thu t toán c p nh t mô hình h c sâu cho Server và Client.
Phân tích thi t k
Giao thức FTP (File Transfer Protocol) là một phương thức hiệu quả để truyền tải tệp tin giữa server và client Giao thức này có nhiều ưu điểm, bao gồm khả năng truyền tải lượng lớn tệp tin và hỗ trợ lập lịch trình truyền tin Với lịch sử phát triển lâu dài và khả năng hoạt động trên nhiều hệ điều hành khác nhau, FTP trở thành lựa chọn phổ biến cho việc truyền tải dữ liệu giữa các thiết bị.
Đầu tiên, các máy client sau khi khởi động sẽ kết nối tới máy chủ FTP, đây chính là máy chủ huấn luyện và tiêu mô hình học sâu Trong suốt quá trình bắt và phân tích gói tin, các máy client sẽ gửi dữ liệu đã bắt được đến máy chủ FTP, đồng thời gửi thông báo update_required để máy chủ biết rằng đã có một tập dữ liệu mới được thêm vào thư mục FTP Sau khi máy chủ nhận được tập dữ liệu này, quá trình tiếp theo sẽ được thực hiện.
Trong quá trình đào tạo và huấn luyện mô hình dữ liệu trên các máy client và server, sau khi hoàn tất, server sẽ gửi thông báo cho máy client thông qua việc kích hoạt update_available Quá trình cập nhật sẽ được hoàn thành khi các máy khác kiểm tra và phát hiện update_available, từ đó cập nhật mô hình dữ liệu mới từ server.
Thi t k h th ng phát hi n xâm nh p trên thi t b Server
T ng quan và yêu c u thi t k
Hình 4-3: S đ kh i thi t k cho thi t b Server.
S đ i kh i thi t k c a thi t b Server đ c mô t nh trong Hình 4-3 Bao g m hai kh i chính là FTP Server và kh i hu n luy n mô hình MLP.
Phân tích thi t k
Thi t b Server g m hai nhi m v chính: qu n lý máy ch FTP và hu n luy n mô hình cho t ng thi t b máy Client.
Nguyên lý ho t đ ng bên phía Server nh sau:
- Server liên t c ki m tra trong các th m c con c a FTP Server đ xác đ nh đ c máy Client nào đã g i t p d li u m i t i cùng v i c update_required
- Sau khi ki m tra đ c m t máy Client g i t p d li u t i FTP server Thi t b server t i t p d li u m i này, c update_required đ c l u đ ng nh p c a client, và cùng
30 v i file weight đ c l u s n trong th m c con c a client t ng ng Cùng lúc đó Server s xóa c update_required cùng v i t p d li u.
Mô hình máy học được khai báo trước khi sử dụng các trường dữ liệu vào trong mô hình của mình và tiến hành đào tạo trên tập dữ liệu mới Sau khi hoàn tất quá trình đào tạo, mô hình sẽ lưu lại các trường mới và tải chúng lên thư mục con dựa trên tên đăng nhập được lưu trong cột update_required.
- Cu i cùng Server t o c update_available trên th m c c a client yêu c u c p nh t đ báo cho phía client bi t có th c p nh t đ c tr ng s m i cho mô hình c a mình.
Thiết bị Client01 gửi yêu cầu cập nhật đến server như hình 4-4 Quá trình hoạt động của server khi nhận yêu cầu cập nhật từ thiết bị được mô tả chi tiết trong bài viết.
Khi có một client gửi dữ liệu, thiết bị sẽ thu thập các luồng thông tin sau 100 luồng mà không cần tốn công sức, nhờ vào mô hình học sâu Đồng thời, thiết bị cũng cần cập nhật thông tin với tên đăng nhập server FTP Trong trường hợp client yêu cầu cập nhật và dữ liệu đã thu thập được 100 luồng mà chưa có phản hồi từ server, thiết bị sẽ tự động gửi dữ liệu này vào thư mục của server FTP với sự xác nhận thành công.
Bên phía server đang tiến hành kiểm tra các tệp có trong thư mục trên FTP server Client01 đã gửi yêu cầu cập nhật đến server của mình Do đó, thiết bị server sẽ tải toàn bộ các tệp tin hiện có trong thư mục client và xử lý Tệp dữ liệu mới là tệp dữ liệu được lưu sẵn trước đó trong thư mục client và sẽ được cập nhật thêm dữ liệu mới mà client01 gửi tới.
Sau khi hoàn tất việc huấn luyện dữ liệu trên tập dữ liệu mới, server sẽ gửi dữ liệu mới bao gồm: tập dữ liệu mới, trạng thái mới được rút ra từ huấn luyện và cờ update_available đến client được xác định thông qua tên đăng nhập được lưu trong cờ update_required.
Hình 4-4: Quá trình ho t đ ng c a thi t b Server khi có yêu c u c p nh t t thi t b
Thi t k h th ng phát hi n xâm nh p trên các thi t b client
T ng quan và yêu c u thi t k
Sự phát hiện xâm nhập trên các thiết bị client được mô tả trong hình 4-5, bao gồm hai khối chính: thu thập và phân tích gói tin, cùng với khối phân loại lưu lượng tấn công và cảnh báo cho người dùng.
Hình 4-5: S đ kh i thi t k cho các thi t b Client.
Kh i b t và phân tích gói tin
Theo nh mô hình đ c đ nh ngh a trong ph n 7.2 u vào c a h th ng bao g m 18 đ c tr ngnh sau:
• Các thu c tính liên quan t i đ dài gói:
13 Cách tính toán và ý ngh a c a các đ c tr ng đ c tham kh o c a ph n m m CICFlowMeter: https://github.com/ahlashkari/CICFlowMeter
• Các thu c tính liên quan t i t ng s gói trong lu ng:
• Các thu c tính liên quan t i th i gian c a m t lu ng:
• Các thu c tính liên quan t i kho ng th i gian gi a hai gói tin:
• Các thu c tính liên quan t i các c trong gói tin:
Khi một phiên nghe lén bắt đầu, hệ thống sẽ theo dõi các gói tin đi vào và đi ra từ thiết bị Việc nghe lén này không làm thay đổi nội dung của các gói tin Các gói tin được nghe lén sẽ được xác định và cập nhật vào từng luồng tương ứng Một luồng được coi là kết thúc khi: vượt quá thời gian tối đa mà một luồng cho phép, số gói tin mà một luồng có thể lưu trữ đã đạt giới hạn, hoặc nhận thấy cờ FIN trong gói tin.
Kh i phân lo i và c nh báo cho ng i dùng
Sau khi phân tích đ c các lu ng d li u t các gói tin t kh i b t và ph n tích gói tin
Dữ liệu được thu thập qua mô hình MLP đã cải thiện sức mạnh nội tại và đã tối ưu hóa thông qua thuật toán SRGM Nếu hệ thống cho rằng một luồng là lành tính, nó sẽ được lưu vào tập dữ liệu cho đến khi đạt được số lượng nhất định cho thiết bị Server thông qua giao thức FTP, cùng với thông báo update_required để server biết thiết bị cần cập nhật mô hình máy học Sau đó, thiết bị sẽ gửi lại mô hình đã huấn luyện lên FTP server Thiết bị sẽ liên tục nhận thông báo update_available để biết trạng thái của mô hình mới được đào tạo.
Hệ thống báo cáo tấn công của thiết bị định tuyến BKRouter cung cấp thông tin cho người dùng qua hai phương thức: thông báo qua giao diện Web và thông báo qua đèn LED trên thiết bị Khi sử dụng phương thức thông báo qua Web, thiết bị sẽ hiển thị danh sách các địa chỉ bị tấn công trên giao diện người dùng Đồng thời, khi phát hiện có sự xâm nhập, đèn LED trên BKRouter sẽ bật lên, thông báo cho người dùng về tình trạng tấn công đang diễn ra.
• Thi t k giao di n Web LuCI v i ch c n ng thông báo ch a ng i dùng bi t có có cu c t n công đ n thi t b :
Hình 4-6: S đ kh i c a h th ng phát hi n xâm nh p và c nh báo ng i dùng b ng Web và Led.
Khi cảnh báo người dùng sử dụng mô hình M-C-V (Module-Controller-View) của LuCI để hiển thị địa chỉ IP của mạng lưới, điều này được xem là tổng công lên Web cùng với báo LED để người dùng biết có sự xâm nhập M-C-V bao gồm ba khối chính.
- Controller: áp ng các yêu c u HTTP (Request) Controller là đi m truy c p (entry point) vào ng d ng.
Để hiển thị giao diện, các file HTML, JS và CSS cần được kết hợp Trong đó, HTML và JS sẽ chứa logic xử lý khi người dùng nhấn vào nút, giúp gửi và nhận dữ liệu thông qua XMLHttpRequest.
- Model: N i giao ti p v i user space thông qua h th ng UCI c a OpenWRT.
Model là một công cụ dành cho những người phát triển giao tiếp với giao diện Web LuCI Nó sử dụng hệ thống UCI của OpenWRT để tương tác với các file cấu hình trong userspace, đồng thời cho phép chạy các ngữ cảnh hoặc file script, chẳng hạn như file script antiddos_init File này có chức năng khởi chạy ngữ cảnh antiddos mỗi khi thiết bị khởi động, do cách khởi động của OpenWRT thông qua các file script init riêng biệt, với quy trình được xác định trong từng file Ngay sau khi thiết bị khởi động xong kernel, nó sẽ gọi các file init trong thư mục /etc/init.d/ để thực thi các ngữ cảnh cần thiết Bên cạnh đó, script antiddos còn đóng vai trò quan trọng trong việc bảo vệ hệ thống.
35 trò phiên dịch blacklist được tạo ra bằng cách phân loại tên công (MLP model) thành file config Khi mô hình M-C-V của LuCI được sử dụng, các thông tin trong file config sẽ hiển thị trên giao diện web LuCI Cấu trúc của file config như sau:
- Config Attacker: khai báo cho mô hình M-C-V có m t đ i t ng c u hình m i, c th là các đ a ch IP c a nh ng k t n công.
Ng v i m i Config Attacker, người dùng có thể tùy chỉnh IP của kẻ tấn công (target) và các IP bị bỏ qua (ignored) Đối với tùy chọn target, các địa chỉ IP trong danh sách đen được chỉ định thông qua file script antiddos_init Tùy chọn ignored được cấu hình bởi người dùng Hệ thống sẽ thông báo cho người dùng về việc đã bị chặn các địa chỉ IP này, và đèn LED14 sẽ báo hiệu rằng hoạt động này đã được thực hiện trước đó.
14 H th ng giao ti p v i LED c a thi t b BKRouter thông qua giao ti p I 2 C nh đ c đ c p trong ph n 7.4.5
So sánh hi u n ng c a thu t toán t i u RigL, SET và thu t toán phân b l i đ
ánh giá hi u n ng trên t p d li u MNIST
Tập dữ liệu MNIST bao gồm 60.000 mẫu hình ảnh kích thước 28x28 pixel, chứa các chữ số viết tay từ 0 đến 9 Mô hình LeNet-5, được phát triển bởi Yann LeCun và các cộng sự vào năm 1998 trong nghiên cứu "Gradient-Based Learning Applied to Document Recognition", đã được sử dụng để nhận diện các ký tự viết tay và in bằng máy Bài đánh giá này sẽ xem xét hiệu năng của ba thuật toán tiêu biểu là RigL, SET và SRGM, với mục tiêu đạt được độ chính xác từ 90% đến 99%.
Hình 5-1: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình Lenet5 có đ th a th t 90% khi áp d ng cho t p d li u MNIST.
Mô hình đã được huấn luyện với 12.000 lần lặp ban đầu và đạt được độ chính xác khoảng 99% Sau khi áp dụng ba thuật toán khác nhau, độ chính xác của mô hình được cải thiện lên gần 100% sau 8.000 lần huấn luyện Hiệu năng của ba thuật toán không có sự khác biệt đáng kể, cho thấy rằng mô hình đã tối ưu hóa một cách hiệu quả Do đó, việc đánh giá độ chính xác trong nghiên cứu này không có sự chênh lệch lớn.
Hình 5-2: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình Lenet5 có đ th a th t 99% khi áp d ng cho t p d li u MNIST.
M c khác, khi mô hình ch còn g n 1% s k t n i, t c ch còn g n 450 k t n i so v i
Thuật toán SRGM đã cải thiện mô hình gần 10% sau 2000 lần lặp và đạt độ chính xác gần 85% sau 6000 lần lặp, so với mức 70% khi mô hình chưa được tối ưu Bên cạnh đó, thuật toán RigL cũng giúp nâng cao hiệu suất mô hình khoảng 10% Cuối cùng, thuật toán SET đã cải thiện mô hình thêm 5% sau 8000 lần lặp, đạt độ chính xác tối đa là 100%.
ánh giá hi u n ng trên t p d li u Cifar10
B d li u CIFAR-10 bao g m 60000 hình nh màu 32x32đ c chia thành 10 l p, v i
Trong bài đánh giá này, chúng tôi sẽ so sánh hiệu suất của hai mô hình học sâu là GoogleNet và VGG16 trên bộ dữ liệu 6000 hình ảnh Mô hình GoogleNet cho thấy hiệu suất ấn tượng khi áp dụng ba thuật toán khác nhau, đạt được độ chính xác từ 90% đến 99% Việc đánh giá hiệu suất của mô hình này sẽ giúp hiểu rõ hơn về khả năng nhận diện hình ảnh trong các ứng dụng thực tiễn.
Hình 5-3: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình GoogleNet có đ th a th t 95% khi áp d ng cho t p d li u Cifar10.
Khi áp dụng mô hình GoogleNet với dữ liệu ban đầu khoảng 6 triệu hình ảnh, sau hơn 30.000 lần lặp huấn luyện, mô hình đạt được độ chính xác khoảng 80% với 5% sai số Sau đó, khi áp dụng thuật toán tối ưu cho mô hình, sự chênh lệch giữa các lớp không có sự khác biệt đáng kể khi đạt được độ chính xác trên 85% sau khoảng 15.000 lần lặp.
Hình 5-4: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình GoogleNet có đ th a th t 99% khi áp d ng cho t p d li u Cifar10.
Mô hình khi chỉ còn 1% dữ liệu sẽ gặp khó khăn trong việc hoạt động hiệu quả Sự chênh lệch giữa các mô hình đã trở nên rõ ràng hơn Thuật toán SRGM cho thấy khả năng cải thiện độ chính xác của mô hình lên tới 10%, mặc dù ban đầu mô hình gặp khó khăn với độ chính xác giảm xuống còn khoảng 15% Tuy nhiên, sau đó, nó đã được cải thiện đáng kể và tăng cường hiệu suất thông qua hai thuật toán RigL và SET Việc đánh giá hiệu suất trên mô hình VGG16 cũng cho thấy những kết quả khả quan.
Hình 5-5: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình VGG16 có đ th a th t 95% khi áp d ng cho t p d li u Cifar10.
Nghiên cứu cho thấy, khi tỷ lệ đạt 95%, phương pháp SRGM cho kết quả không chênh lệch hơn 5% so với hai phương pháp còn lại sau 20.000 lần lặp, đồng thời không có thời gian trung bình đáng kể.
Hình 5-6: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình VGG16 có đ th a th t 99% khi áp d ng cho t p d li u Cifar10.
Sau khi áp dụng thuật toán SRGM, mô hình đã cải thiện độ chính xác từ 68% lên 80%, trong khi hai thuật toán RigL và SET chỉ giúp tăng độ chính xác lên khoảng 75% Điều này cho thấy rằng, trong quá trình đánh giá, thuật toán SRGM đã mang lại sự cải thiện đáng kể, với mức tăng lên đến 10% so với thời điểm chưa được tối ưu hóa.
ánh giá hi u n ng trên t p d li u CICDDoS2019
Bài đánh giá cuối cùng về dữ liệu CICDDoS2019 với kích thước 18x1 và gần 3.5 triệu mẫu sau khi đã được lọc bớt, đã được chia thành 6 lớp Mô hình đề xuất áp dụng cho tập dữ liệu này là MLP với hai lớp ẩn, mỗi lớp có 40 nút.
40 S d ng hai hàm kích ho t ReLU cho các l p n và Softmax cho l p output.Có th th y mô hình này khá khiêm t n so v i các mô hình đ c đánh giá các ph n tr c v i ch 4310 s k t n i đ y đ Nh ng mô hình c ng s đ c đánh giá các m c th a th t t 85 đ n 99% đ có cái nhìn t ng quát h n v c ba thu t toán t ng m c đ ph c t p c a mình khác nhau
Hình 5-7: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình MLP có đ th a th t 90% khi áp d ng cho t p d li u CICDDoS2019.
Ban đ u khi đ th a th t là 90%, mô hình đ t đ c đ chính xác g n 100% sau h n
Mô hình sử dụng 12,000 dữ liệu đầu vào và áp dụng ba thuật toán RigL, SET và SRGM với bảng 400 Kết quả cho thấy, khi áp dụng các kỹ thuật tối ưu, hiệu năng mạng lưới của cả ba thuật toán không có nhiều sự khác biệt Các thuật toán đã cải thiện độ chính xác của mô hình từ 92% lên hơn 94%.
Hình 5-8: Hi u n ng c a ba thu t toán SRGM, RigL và SET trên mô hình MLP có đ th a th t 95% khi áp d ng cho t p d li u CICDDoS2019.
T ng t v i k t qu đ t đ c khi áp d ng cho mô hình có đ th a th t 90% Hi u n ng đ t đ c gi a các thu t toán trong l n này c ngkhông có quá nhi u s khác bi t.
ánh giá t ng quát cho c ba thu t toán SRGM, RigL và SET
B ng 5-2: Hi u n ng và s k t n i còn l i khi áp d ng 3 thu t toán SRGM, RigL, SET trên các t p d li u CICDDoS2019, MNIST, Cifar10 v i nhi u mô hình khác nhau.
Mnist (lenet5) | 44.190 s k t n i đ y đ Cifar10 (GoogleNet) | 5.951.680 s k t n i đ y đ th a th t 90% 99% 95% 99% chính xác S k t n i còn l i chính xác S k t n i còn l i chính xác S k t n i còn l i chính xác S k t n i còn l i
Cifar10 (VGG16) | 33.625.792 s k t n i đ y đ th a th t 90% 95% 99% chính xác S k t n i còn l i chính xác S k t n i còn l i chính xác S k t n i còn l i
CICDDoS2019 (MLP) | 2.560 s k t n i đ y đ th a th t 90% 95% chính xác S k t n i còn l i chính xác S k t n i còn l i
Bài viết trình bày tổng quan về hiệu năng của ba thuật toán tối ưu SRGM, RigL và SET cho các mô hình học sâu khác nhau Kết quả cho thấy khi mô hình có số lượng tham số còn lại chiếm 10-20%, hiệu năng mang lại của ba thuật toán gần như tương đương nhau Tuy nhiên, khi số lượng tham số giảm, sự chênh lệch hiệu quả giữa các thuật toán tối ưu trở nên rõ rệt Ví dụ, với mô hình GoogleNet áp dụng cho tập dữ liệu Cifar10, sự chênh lệch hiệu suất khi mô hình chỉ còn 5% tham số là không rõ ràng Ngược lại, khi số lượng tham số chỉ còn 1%, hiệu năng khi áp dụng thuật toán SRGM cao hơn so với hai thuật toán còn lại, với mức chênh lệch lên đến 10%.
5.1.1 ánh giá dung l ng l u tr và th i gian tính toán khi áp d ng ba thu t toán t i u cho mô hình h c sâu th a th t
B ng 5-3: Dung l ng l u tr mô hình khi áp d ng các thu t toán tôi u v i các m c th a th t t 0 đ n 99%.
K t qu t B ng 5-3 có th th y dung l ng l u tr các mô hình th a th t gi m đáng k
Khi áp dụng mô hình thả thí nghiệm cho VGG16, dung lượng đã giảm gần 10 lần khi đạt độ chính xác 90% Tổng tỷ lệ kết nối chỉ còn 1%, trong khi dung lượng lưu trữ cho mô hình chỉ còn 0.02 lần so với mô hình kết nối đầy đủ.
B ng 5-4: Th igian tính toán c a mô hình khi áp d ng các thu t toán tôi u v i các m c th a th t t 0đ n 99%.
Khi so sánh th i gian tính toán c a mô hình k t n i đ y đ v i các mô hình th a th t
Kết quả cho thấy không có sự cải thiện đáng kể Nguyên nhân được giải thích là do mô hình thực tế không thể đạt được sự kết nối bền vững, mà chỉ thay đổi sự kết nối tạm thời Vì vậy, thời gian tính toán của mô hình không đạt được hiệu quả như mong muốn.
K t qu c a h th ng khi ng d ng cho thi t b đ nh tuy n BKRouter
K t qu xây d ng h th ng phát hi n t n công cho h đi u hành OpenWRT 44
• K t qu xây d ng thành công gói ng d ng antiddos cho h đi u hành OpenWRT
• K t qu xây d ng thành công h đi u hành OpenWRT
K t qu ki m tra h th ng
Trong phần này, chúng tôi sẽ trình bày lặp lại các tấn công DDoS trên tập dữ liệu CICDDoS2019, đồng thời đánh giá hiệu suất của hệ thống trong môi trường thực tế khi bị tấn công bởi các phần mềm độc hại như LOIC và hping3.
Khi ch ng trình đ c cài vào hi t b BKRouter, nó s yêu c u ng i dùng đ ng nh p thông qua giao di n CLI nh sau:
Hình 5-9: Yêu c u đ ng nh p vào server FTP khi ch y ch ng trình l n đ u tiên.
Ti p theo chúng ta th t n công thi t b b ng cách gi l p các lu ng d li u đ c cung c p b i các tác gi t p d li u CICDDoS2019:
Hình 5-10: H th ng phát hi n t n công Syn đ n đ a ch 192.168.50.7
Hình 5-11: H th ng phát hi n t n công LDAP đ n đ a ch 192.168.50.1
Khi phát hi n có k t n công, BKRouter s c nh báo cho ng i dùng nh ng k t n công thông qua giao di n Web c ng nh báo hi u qua đèn LED có trên thi t b :
Hình 5-12: C nh báo ng i dùng nh ng k t n công thông qua giao di n Web.
Hình 5-13: C nh báo ng i dùng nh ng k t n công thông qua giao di n đèn LED có trên thi t b
Cùng lúc đó h th ng thu th p d li u các lu ng đ c xem là an toàn và g i cho server đ nh k :
Hình 5-14: N i dung logging t phía Client khi yêu c u c p nh t mô hình
Hình 5-15: N i dung logging c a FTP server khi yêu c u c p nh t mô hình t client bkrouter01
Bên c nh đó trong ph n này còn th nghi m v i các ph n m m t n công DDoS thông d ng hi n nay nh LOIC hay hping3:
Hình 5-16: Thi t b c nh báo có cu c t n công DDoS s d ng công c LOIC đ n thi t b
Hình 5-17: Thi t b c nh báo có cu c t n công DDoS s d ng công c hping3 đ n thi t b
Kết quả thu được từ hình 5-16 và hình 5-17 cho thấy thiết bị đã phát hiện được cuộc tấn công DoS từ thiết bị có địa chỉ IP 192.168.1.99 và cuộc tấn công DDoS sinh ra từ phần mềm LOIC Tuy nhiên, có một kết quả đáng chú ý cho thấy có một số lượng thông tin từ các thiết bị có địa chỉ IP an toàn bị nhận nhầm thành tấn công Sự xác định nhầm này có thể được giải thích do sự hạn chế của tập dữ liệu đào tạo ban đầu, cũng như thời gian cho hệ thống làm quen với môi trường còn đang thay đổi.
CH NG 6: K T LU N VÀ H NG PHÁT TRI N
K t lu n
u đi m
Thuật toán đã cải tiến hơn so với các thuật toán tiêu biểu hiện nay như RigL và SET, với một hiệu năng rõ ràng hơn khi mô hình có độ thả nổi thực tăng dần.
- Linh đ ng thay đ iđ cđ th a th t gi a các l p c a mô hình
• i v i h th ng phát hi n xâm nh p d a trên mô hình máy h c:
- Mô hình sau khi đ c t i u chi m dung l ng r t nh phù h p cho các thi t b có dung l ng h n ch
Nh c đi m c a h th ng
- Thu t toán v n ch a đ c ki m tra và so sánh đ i v i các mô hình có nhi u s k t n i nh Resnet hay MobileNet Vì v y, v n ch acó m tđánh giá t ng quát
48 cho hi u n ng c a thu t toán đ i v i t ng lo i mô hình v i kích th ckhác nhau.
Thuật toán đột phát triển trên các mô hình thông dụng như MLP và CNN Tuy nhiên, các mô hình tiên tiến hiện nay như LSTM và GRU vẫn chưa áp dụng được các thuật toán này.
• i v i h th ng phát hi n xâm nh p d a trên mô hình máy h c:
Hệ thống cần phải được duy trì trong thời gian dài để đảm bảo các luồng dữ liệu thông suốt Do đó, trong khoảng thời gian này, yêu cầu đặt ra cho môi trường phải hạn chế các cuộc tấn công đến thiết bị Nếu không, hệ thống sẽ không thể hiểu và xử lý các cuộc tấn công sau đó, dẫn đến nguy cơ mất mát thông tin.
- T p d li u đ c s d ng cho quá trình hu n luy n ban đ u cho h th ng còn t ng đ i h n ch và ch t p trung vào các cu c t n công DDoS
Hệ thống phát hiện xâm nhập Anomaly-based hiện đang gặp khó khăn trong việc xử lý các cuộc tấn công mạng, dẫn đến phản ứng chậm Trong khi đó, các hệ thống phát hiện truyền thống có khả năng nhận diện dựa trên các đặc điểm của gói tin, cho phép chúng phản ứng nhanh chóng hơn khi có cuộc tấn công mới.
- Mô hình phát hi n t n công d a trên c ch Server-Client nên có kh n ng khi n cho server b ngh n khicó l ng l nyêu c u c p nh t phía client.
H ng phát tri n
T nh ng khuy t đi m trên, h ng phát tri n c a đ tàiđ c đ t ra nh sau:
- ánh giá t ng quan thu t toán SRGM trên nhi u mô hình v i kích th c khác nhau c bi t là các mô hình Resnet50, hay MobileNet áp d ng cho t p d li u ImageNet
- Phát tri n thu t toán cho nhi u lo i mô hình máy h c khác ngoài MLP, CNN nh LSTM, GRM, GAN, v.v
Mô hình phát hiện xâm nhập cần được tối ưu hóa để có khả năng đào tạo trực tiếp trên các thiết bị nhúng, thay vì phụ thuộc vào kiến trúc Server-Client Điều này đòi hỏi việc thu thập, phân tích và đánh giá nhiều tập dữ liệu từ các nguồn khác nhau, nhằm nâng cao khả năng phân loại cho hệ thống phát hiện xâm nhập.
Giao th c File Transfer Protocol (FTP) [21]
T ng quan giao th c FTP
FTP (Giao th c truy n t p) là m t giao th c m ng đ truy n t p gi a các máy tính qua k t n i Transmission Control Protocol/Internet Protocol (TCP / IP) Trong môhình TCP /
IP, FTP đ c n mtrênl p ng d ng.
Trong giao thức FTP, máy tính của người dùng được gọi là máy khách, trong khi máy tính tham gia thứ hai là máy chủ Cả hai máy tính cần được kết nối qua mạng và cấu hình đúng cách để truyền tải dữ liệu qua FTP Máy chủ phải được thiết lập để cung cấp các dịch vụ FTP, trong khi máy khách cần cài đặt phần mềm FTP để truy cập các dịch vụ này.
Mặc dù nhiều loại truyền tệp có thể được tiến hành bằng Giao thức truyền siêu văn bản (HTTP) - một giao thức quan trọng trong bộ TCP/IP, FTP vẫn thường được sử dụng để truyền tệp cho các người dùng khác, chẳng hạn như dịch vụ ngân hàng Nó cũng đôi khi được sử dụng để tải xuống các ngữ liệu mới thông qua trình duyệt web.
Ph ng th c ho t đ ng c a giao th c FTP
FTP là m t giao th c client-server d a trên hai kênh truy n thông gi a client và server: m t kênh l nh đ đi u khi n cu c giao ti p và m t kênh d li u đ truy n t i n i dung t p.
D i đây là cách ho t đ ng c a chuy n FTP đi n hình:
Ng i dùng th ng c n đ ng nh pvào máy ch FTP, m c dù m t s máy ch cung c p m t s ho c t t c n i dung c a h mà không c n đ ng nh p, m t mô hình đ c g i là FTP n danh
Máy khách b t đ u cu c trò chuy n v i máy ch khi ng i dùng yêu c u t i xu ng t p
S d ng FTP, máy khách có th t i lên, t i xu ng, xóa, đ i tên, di chuy n và sao chép t p trên máy ch
Các phiên FTP ho t đ ng ch đ ch đ ng ho c th đ ng:
Ch đ ho t đ ng Sau khi máy khách kh i t o phiên thông qua yêu c u kênh l nh, máy ch t o k t n i d li u tr l i máy khách và b t đ u truy n d li u.
Chức năng của máy chủ đăng ký kênh là cung cấp thông tin cần thiết để quản lý kênh dữ liệu Máy chủ đăng ký có khả năng kết nối với tất cả các thiết bị khách hàng, cho phép hoạt động đồng bộ trên toàn bộ mạng lưới và cung cấp địa chỉ chính xác cho các yêu cầu.
Mô hình h c sâu MLP áp d ng cho t p d li u CICDDoS2019
L a ch n các đ c tr ng cho mô hình
Trong phần 2.2, tập dữ liệu bao gồm 80 đặc trưng khác nhau được trích xuất thông qua phần mềm cicflowmeter do các tác giả phát triển Tuy nhiên, việc có nhiều đặc trưng trong tập dữ liệu khiến cho quá trình huấn luyện mất nhiều thời gian và tiêu tốn nhiều băng thông Điều này không phù hợp khi áp dụng cho các thiết bị nhúng hay IoT, vì những thiết bị này có dung lượng băng thông khá thấp và khả năng tính toán của chúng là hạn chế Do đó, trước khi huấn luyện và tối ưu tập dữ liệu, lựa chọn các đặc trưng cho mô hình là một bước quan trọng trong quá trình huấn luyện.
ANOVA f - test [21]
Phân tích phương sai (ANOVA) là một kỹ thuật thống kê được sử dụng để so sánh các biến dữ liệu ANOVA giúp đánh giá sự khác biệt tiềm ẩn giữa nhiều nhóm trong một biến phụ thuộc có ít nhất hai loại hình Các nhà phân tích sử dụng ANOVA để xác định ảnh hưởng của các biến độc lập đối với biến phụ thuộc trong nghiên cứu hồi quy.
K thu t ki m đ nh ANOVA này đ c phát tri n b i Ronald Fisher n m 1918.
F-statistic (ho c F-test), là m t lo i ki m tra th ng kê tính toán t l gi a các giá tr ph ng sai, ch ng h n nh ph ng sai t hai m u khác nhau ho c ph ng sai đ c gi i thích và không gi i thích đ c b ng m t th nghi m th ng kê, nh ANOVA Ph ng pháp ANOVA là m t lo i F-statistic đ c g i đây là phép ANOVA f-test.
Thư viện máy học Scikit-learn cung cấp triển khai kiểm định ANOVA f-test thông qua hàm f_classif() Hàm này có thể được sử dụng để lựa chọn các tính năng, giúp chọn ra những tính năng phù hợp nhất dựa trên giá trị lớn nhất thông qua phương pháp SelectKBest.
7.2.2.1 K t qu ch n l u đ c tr ng v i hàm SeclectKBest c a th vi n scikit
The dataset CICDDoS2019 contains 80 features, categorized into six labels: BENIGN, MSSQL, NetBIOS, UDP, LDAP, and Syn Among these features, several are notable: Unnamed:0, Source Port, Flow ID, Source IP, Destination IP, SimilarHTTP, Flow Bytes/s, and Flow Packets/s These specific attributes carry unique information pertaining to individual flows, such as Unnamed:0, Source Port, and Flow ID.
IP, Destination IP, SimllarHTTP Hay các đ c tr ng trùng l p nh : Flow Bytes/s, Flow
Packets/s Nh v y ch còn 77 đ c tr ng trong t p d li u đ c dùng đ phân tích và đánh giá
Sau khi s d ng ph ng pháp SelectKBest, k t qu đi m s mà hàm SelectKBest đánh giá đ c trình bày trong b ng sau:
B ng 7-1: i m SelectKBest c a t ng đ c tr ng trong t p d li u CICDDoS2019.
5 Total Length of Fwd Packets 0.263954338
6 Total Length of Bwd Packets 0.229580207
Hình 7-1: i m SelectKBest c a t ng đ c tr ng trong t p d li u CICDDoS2019.
Nh k t qu thu đ c trong Hình 7-1, các đ c tr ng nh :
• min_seg_size_forward có đi m s n i b t h n so v i các tính n ng khác Vì v y các tính n ng này s đ c ch n đ làm đ u vào cho mô hình máy h c sau đó.
Mô hình MLP áp d ng cho t p d li u CICDDoS2019
Sau khi đã ch n l a đ c 18đ c tr ng t ph n 7.2.1 Mô hình MLP đ c đ xu t đ phân lo i 6 lo i lu ng trong t p d li u CICDDoS2019 nh sau:
Mô hình máy học được phát triển trong dự án này là một hệ thống đơn giản nhưng hiệu quả, đạt độ chính xác trên 90% Tài liệu tham khảo các mô hình được trình bày trong phần 1.3 và lựa chọn mô hình học sâu MLP của tác giả Shachez để áp dụng phân loại các cuộc tấn công Tác giả đã đề xuất mô hình MLP với hai lớp ẩn, mỗi lớp có 40 nút, sử dụng hàm kích hoạt Relu cho các lớp ẩn và Softmax cho đầu ra Kết quả huấn luyện được thể hiện trong Hình 7-2, cho thấy độ chính xác và tổn thất của mô hình MLP với cấu trúc (40, 40) khi áp dụng cho tập dữ liệu CICDDoS2019.
Hình 7-2: Accurancy và Loss c a mô hình MLP v i 2 l p n (40,40) đ c áp d ng cho t p d li u CICDDoS2019 15
Mô hình MLP đơn giản với hai lớp (40,40) đã đạt hiệu suất 95.4% sau khoảng 20,000 lần huấn luyện, sử dụng kích thước batch là 2048 dữ liệu Để đáp ứng yêu cầu đạt hiệu suất phát hiện trên 90%, mô hình MLP là lựa chọn phù hợp cho hệ thống phát hiện xâm nhập mạng.
15 Mô hình MLP s d ng th vi n Tensorflow đ đào t o và t i u
T o CLI antiddos b ng th vi n setuptools c a python
C u trúc th m c c a antiddos nh sau: src antiddos init py constants py flow session py network py sniffer py features init py packet count py packet lenght py setup py
- init .py: M t th m c ph i ch a file có tên init .py đ Python hi u th m c này là m t package Trong tr ng h p này, file init .py đ c đ tr ng
File setup.py là một thành phần quan trọng trong việc sử dụng setuptools để đóng gói các dự án Python Nó định nghĩa các thông tin cần thiết về gói phần mềm, giúp quản lý và phân phối mã nguồn hiệu quả Chương trình được tạo ra từ file này là sniffer.py.
- constants.py: ch a các h ng s c a ch ng trình antiddos
- flow_sesstion.py: ch u trách nhi m t p h p và phân tích các lu ng d li u flow_sesstion đ ng th i c ng g i kh i t o MLP model t network.py
- network.py: quy đ nh mô hình MLP c a h th ng.
- sniffer.py: kh i t o m t session b t gói tin Sniffer.py đ c xem là file g c c a ch ng trình.
- packet_count.py: quy đ nh các hàm liên quan đ n đ m s gói tin trong m t lu ng.
- packet_lenght.py: duy đ nh các hàm tính đ dài gói tin trong lu ng.
H đi u hành OpenWRT dành cho các thi t b đ nh tuy n
T ng quan v OpenWRT
OpenWrt (OPEN Wireless RouTer) là một dự án mã nguồn mở cho các hệ thống nhúng dựa trên nhân Linux, chủ yếu được sử dụng trên các thiết bị nhúng chuyên dụng như router Các thành phần chính của OpenWrt bao gồm Linux, util-linux, musl, và BusyBox, tất cả đều được tối ưu hóa để phù hợp hơn với các thiết bị có dung lượng nhó.
OpenWrt đ c c u hình b ng giao di n command-line, ho c là trên giao di n web LuCI, có kho ng 3500 ph n m m đ c h tr có s n đ cài đ t thông qua h th ng qu n lý opkg.
OpenWrt là hệ điều hành mã nguồn mở có thể chạy trên nhiều loại thiết bị, bao gồm bộ định tuyến CPE, gateway gia đình, điện thoại thông minh, máy tính bảng và laptop Ngoài ra, OpenWrt cũng có thể được cài đặt trên máy tính cá nhân, thường sử dụng kiến trúc x86.
OpenWrt được phát triển bởi các chuyên gia mạng và những người đam mê công nghệ, nhằm nâng cao hiệu suất của mạng OpenWrt tích hợp nhiều thuật toán nghiên cứu mới nhất, giúp tối ưu hóa tốc độ và hiệu quả so với phần mềm do nhà cung cấp cung cấp.
- OpenWrt n đ nh và ho t đ ng đáng tin c y trong th i gian dài.
- OpenWrt gi m đ tr / đ tr và t ng thông l ng m ng thông qua các thu t toán đi u khi n b đ m.
- C i ti n Wi-Fi h tr t c đ d li u cao h n và s công b ng trong th i gian phát sóng gi a các tr m.
- Các thi t b c h n v n đ c h tr b i các c i ti n OpenWrt (mi n là RAM / Flash c a thi t b c a b n có th ch a các b n phát hành m i) sau khi nhà s n xu t ng ng th c hi n c p nh t
Openwrt là open source firmare đ c phát tri n t nhi u l p trình viên trên kh p th gi i:
- Không có c a h u n còn l i c a các nhà cung c p ph n c ng
- OpenWrt ch ng l i các l h ng ph bi n nh h đi u hành Linux không b nh h ng b i nhi u cu c t n công ph bi n
- OpenWrt đ c c p nh t tích c c đ m i l h ng đ c đóng l i ngay sau khi chúng đ c phát hi n.
- C u hình OpenWrt m c đ nh r t b o th cho phép k t n i internet đ y đ mà không khi n b đ nh tuy n ho c thi t b đ c k t n i c a b n b t n công.
- Nhi u thi t b c h n đ c OpenWrt h tr và có th t n h ng b o m t mà OpenWrt mang l i, r t lâu sau khi các nhà cung c p ng ngphát hành b n c p nh t firmware.
OpenWrt kéo dài tuổi thọ của bộ định tuyến Mặc dù nhiều nhà cung cấp chỉ cung cấp các bản cập nhật cho thiết bị của họ đến khi mẫu mới nhất được phát hành, OpenWrt hỗ trợ tất cả các mẫu tương thích miễn là RAM/Flash của thiết bị có thể chứa các bản phát hành mới.
Trong khi firmware c a nhà cung c p cho m t router có ch c n ng c đ nh, Openwrt cung c p h n 3000 gói s n sàng đ cài đ t M t s gói ph bi n h n cho phép:
- Ch y ch n qu ng cáo trên b đ nh tuy n c a b n đ b n có th t n h ng tr i nghi m web s ch s t m i thi t b đ c k t n i.
- Gi m đ tr / đ tr (vùng đ m) ngay c khi l u l ng truy c p l n v i Qu n lý Queue thông minh.
- B o m t truy c p vào m ng gia đình c a b n khi đi xa v i máy ch OpenVPN / Strongswan.
- B o m t truy c p internet c a b n và ng n ISP c a b n rình mò ho t đ ng internet c a b n v i ng d ng OpenVPN client
- Ng n ch n ISP c a b n gi m o và rình mò các yêu c u DNS c a b n b ng mã hóa DNS.
- Bu c các thi t b đ c k tn i v i máy ch DNS đ c mã hóa c ng đ s d ng DNS c a b đ nh tuy n c a b n v i vi c chi m quy n đi u khi n DNS
- T o M ng Guest cho WiFi khách cho phép truy c p internet, nh ng không ph i thi t b đ a ph ng c a b n
- t h n ng ch trên kh i l ng t i xu ng ho c b ng thông H u ích cho ví d k t n i 3G / 4G v i kh i l ng t i lên / t i xu ng h n ch
- Thêm m t webcam đ giám sát tr c ti p ho c t o video theo th i gian c a phong c nh ho c máy in 3D.
Kết nối internet với máy tính có thể biến nó thành một băng thông rộng, giúp người dùng truy cập thông tin dễ dàng hơn Việc sử dụng webcam để trang trí và phát trực tiếp cũng mang lại trải nghiệm thú vị cho người xem.
- T ng tác v i các thi t b 1 wire.
- Làm cho b đ nh tuy n c a b n là m t trung tâm cho t đ ng hóa nhà.
- Truy c p vào ph m vi r ng h n c a các nhà cung c p DNS đ ng (DDNS) so v i ch ng trình c s c a nhà cung c p thông qua các t p l nh DDNS.
C ng đ ng sôi n i g m các nhà phát tri n, tình nguy n viên và nh ng ng i dùng OpenWrt lâu n m khác luôn s n sàng giúp gi i quy t v n đ : Openwrt forum, …
Vì OpenWrt là m t h th ng d a trên Linux th c s , b n có toàn quy n ki m soát t t c các ch c n ng c a b đ nh tuy n / thi t b c a mình.
- Openwrt cung c p giao di n command line thông qua SSH và giao di n web đ ng i dùng c u hình.
- Thông tin c u hình đ c l u tr trong các file v n b n đ d dàng hi u ch nh và xóa.
Các thành ph n chính c a OpenWrt
Thànhph n chính c u t o nên OpenWrt baog m Linux, util-linux, musl và BusyBox.
OpenWrt là một dự án hệ điều hành dựa trên Linux, nổi bật với tính năng mã nguồn mở, linh hoạt và bảo mật cao Điều này giúp OpenWrt trở thành lựa chọn hàng đầu cho các thiết bị nhúng, đặc biệt là router, cho phép người dùng tùy chỉnh và tối ưu hóa hiệu suất của thiết bị.
7.4.2.2 util-linux 16 util-linux (tr c đây là util-linux-ng) là m t d án ph n m m ngu n m , cung c p cho ng i dùng GNU / Linux m t b các câu l nh command-line l n đ x lý các phân vùng và đ a, qu n tr thông tin và h th ng, qu n lý ghi nh t ký s ki n, và nhi u h n n a. util-linux bao g m m t l ng l n các câu l nh, trong s đó có các câu l nh tiêu bi u sau đây: addpart, agetty, arch, blkid, blockdev, cal, cfdisk, chfn, chkdupexe, chrt, chsh, clock, col, colcrt, colrm, column, ctrlaltdel, cytune, delpart, dmesg, elvtune, fallocate, fdformat, fdisk, findfs, findmnt, flock, fsck, fsck.cramfs, fsck.minix, fsfreeze, fstab, fstrim, getopt, hexdump và hwclock.
The article lists various important Linux commands, including: ionice, ipcmk, ipcrm, ipcs, isosize, kill, ldattach, line, logger, login, look, losetup, lsblk, lscpu, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, newgrp, nologin, partx, pg, pivot_root, prlimit, raw, readprofile, rename, renice, reset, rev, rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk, su, swaplabel, swapoff, swapon, switch_root, tailf, taskset, tunelp (deprecated), ul, umount, unshare, uuidd, uuidgen, vigr, vipw, whereis, wipefs, and write.
16 c tham kh o t ngu n: https://github.com/util-linux/util-linux
Các câu l nh không còn đ c h tr n a: ddate, fastboot, fasthalt, halt, initctl, ramsize, rdev, reboot, rootflags, shutdown, simpleinit và vidmode đã không còn trong util-linux k t n m 2012
• Kh n ng h tr cho các h đi u hành
Mặc dù util-linux có kích thước chỉ 4MB, nhưng nó là một thành phần thiết yếu cho hệ thống GNU/Linux Gói này thường được cài đặt mặc định trên bất kỳ hệ điều hành nào dựa trên nhân Linux, hỗ trợ cả kiến trúc 32-bit và 64-bit.
7.4.2.3 Musl 17 musl là m t th vi n chu n C dành cho các h đi u hành d a trên nhân Linux, đ c phát hành theo Gi y phép MIT Nó đ c phát tri n b i Rich Felker v i m c tiêu vi t ra m t tri n khai libc hi u qu và tuân th tiêu chu n.
BusyBox là một tập hợp các tiện ích UNIX phổ biến, được gói gọn thành một thực thi duy nhất Nó cung cấp sự thay thế cho hầu hết các tiện ích thường thấy trong các gói GNU, shellutils, và nhiều hơn nữa Mặc dù các tiện ích trong BusyBox thường có ít tùy chọn hơn so với GNU, nhưng chúng vẫn đáp ứng được các chức năng cơ bản và hoạt động tương tự như các lệnh GNU BusyBox tạo ra một môi trường hoàn chỉnh cho bất kỳ hệ thống nhúng nào.
BusyBox được phát triển nhằm tối ưu hóa kích thước và giảm thiểu tài nguyên Nó có tính mô-đun hóa cao, cho phép dễ dàng bao gồm hoặc loại bỏ các lệnh tùy theo yêu cầu Điều này giúp tùy chỉnh các hệ thống nhúng một cách linh hoạt Để tạo một hệ thống làm việc, chỉ cần thêm một số nút thiết bị trong /dev, một vài tệp cấu hình trong /etc và kernel Linux.
OPKG
Giới thiệu về cách nâng cấp các bản Linux (hoặc hệ điều hành thiết bị di động như Android và iOS) thông qua việc tải xuống và cài đặt các gói được lưu trữ sẵn trên kho lưu trữ gói (các kho học trên Internet).
17 c tham kh o t ngu n: https://musl.libc.org
Tiện ích opkg là trình quản lý gói được sử dụng cho việc cài đặt và quản lý phần mềm Opkg là một nhánh của ipkg, vốn là trình quản lý gói trong Optware dành cho NSLU2, và được thiết kế để thêm phần mềm vào kho phần mềm của các thiết bị nhúng.
Opkg là trình qu n lý gói đ y đ cho h th ng t p g c, bao g m các kernel modules và drivers, trong khi ipkg ch là m t cách đ thêm ph n m m vào m t th m c riêng (ví d : / opt).
Opkg đôi khi đ c g i là Entware, vì nó c ng đ c s d ng trongkho Entware cho các thi t b nhúng (m t nhánh c a kho l u tr gói c ng đ ng OpenWRT).
LUCI
• T ng quan v LuCI (Web interface)
LuCI được thành lập vào tháng 3 năm 2008 với tên gọi “FFLuCI”, là một phần trong nỗ lực tạo ra một công cụ Freifunk-Firmware dựa trên nhánh OpenWrt White Russian cho nhánh Kamikaze Dự án này ra đời nhằm cung cấp giao diện người dùng web miễn phí, dễ sử dụng, có thể mở rộng và bảo trì cho các thiết bị nhúng Khác với các giao diện cấu hình truyền thống sử dụng ngôn ngữ shell, LuCI áp dụng ngôn ngữ lập trình Lua, chia giao diện thành các phần logic theo mô hình và khung nhìn, giúp tối ưu hiệu suất, giảm kích thước cài đặt, rút ngắn thời gian chạy và khả năng bảo trì Đồng thời, LuCI đã phát triển thành một MVC-Webframework, cung cấp một bộ sưu tập giao diện người dùng thân thiện và dễ sử dụng, phục vụ cho các lập trình viên Lua, đồng thời vẫn giữ trọng tâm là giao diện người dùng web, trở thành một phần quan trọng trong các bản phát hành OpenWrt, đặc biệt là OpenWrt 'Kamikaze' 8.09.
LuCI s d ng mô hình M-V-C (Model – View – Controller)
Hình 7-3: Mô hình M-V-C c a giao di n Web Interface
- Controller: đáp ng các yêu c u HTTP (Request) Controller là đi m truy c p (entry point) vào ng d ng, thay vì View.
Gói HTML, JS và CSS sẽ được trình duyệt hiển thị HTML và JS sẽ xử lý logic khi người dùng nhấp vào nút gửi, và phản hồi sẽ được trả về thông qua XMLHttpRequest.
- Model: tr c ti p ch y ng d ng, tác đ ng đ n các file c u hình h th ng user space thông qua h th ng UCI c a OpenWRT
- LuCI s d ng uHTTPd, là m t máy ch web đ c vi t t đ u b i các nhà phát tri n OpenWrt / LuCI.
Hình 7-4: Diao di n LuCI đ c tùy bi n riêng cho thi t b đ nh tuy n BKRouter.
Kh i đi u khi n LED cho thi t b đ nh tuy n BKRouter
7.4.5.1 T ng quan v kh i đi u khi n ngu n, LED c a thi t b đnh tuy n BKRouter
Trong hệ thống BKRouter, STM32 đảm nhận vai trò quản lý khởi động bộ nguồn, cho phép khởi động bằng cách kích hoạt chân EN của IC chuyển đổi nguồn Khi bộ nguồn khởi động thành công, chân PG của IC sẽ được kích hoạt và STM sẽ nhận biết rằng bộ nguồn đã hoạt động Đồng thời, khi có kết nối LAN, WAN, hoặc PCIe, các kết nối này sẽ truyền tín hiệu đến STM để thông báo trạng thái kết nối Ngoài ra, STM còn kết nối với module SOM qua giao tiếp I2C để điều khiển các LED Từ đó, STM quản lý các chương trình điều khiển dàn đèn LED RGB, phản ánh các trạng thái của Router như khởi động, reset, nạp bootloader, và tình trạng kết nối của card wifi, cổng LAN, WAN.
Hình 7-5: S đ giao ti p SOM và STM32 c a thi t b đ nh tuy n BKrouter.
7.4.5.2 Kh i đi u khi n LED c a thi t b đnh tuy n BKRouter
STM32 quản lý các chương trình điều khiển LED thông qua các trạng thái như khởi động, reset, nạp bootloader và sạc nguồn Đèn LED sẽ báo hiệu tình trạng hoạt động của card wifi, cũng như các cổng LAN và WAN Khi kết nối với card wifi hoặc FPGA, các đèn LED sẽ sáng tương ứng để thông báo cho người dùng về trạng thái hoạt động của thiết bị.
B ng 7-2: S th t LED và ý ngh a c a chúng
Các đèn LED này là RGB nên d dàng thay đ i màu s c, v i:
B ng 7-3: B ng màu xu t ra LED RGB
Màu xanh da tr i 0x0000FF
Màu đen (không sáng LED) 0x000000
Trong giao tiếp I2C giữa CPU (module SOM) và vi xử lý STM32, STM32 được cấu hình là Slave trong khi CPU đóng vai trò Master Địa chỉ I2C của STM32 trong bộ nhớ là 0x2A, với tốc độ hoạt động của I2C là 100kHz Để sử dụng I2C cho giao tiếp giữa STM32 và CPU, trước tiên, CPU cần cài đặt i2c-tool bằng cách gõ lệnh sau trong terminal: opkg install i2c-tool.
T terminal là nơi điều khiển các lệnh đã được quy định như điều khiển đèn sáng, giá trị đèn sáng, đổi màu của LED, và reset mạch Chúng ta cần thiết lập các giá trị như bus data, địa chỉ I2C của slave, địa chỉ resistor, và kiểu dữ liệu xử lý.
CMD_GET_STATUS_WORD 0x01 STM s tr giá tr v
CMD_GENERAL_CONTROL 0x02 CPU đi u khi n STM
CMD_LED_MODE 0x03 Ch n mode LED Default/user CMD_LED_STATE 0x04 LED ON hay OFF
CMD_LED_COLOUR 0x05 i màu LED
CMD_SET_BRIGHTNESS 0x07 Set đ sáng c a LED
CMD_GET_BRIGHTNESS 0x08 L y giá tr đ sáng hi n t i
CMD_GET_FW_VERSION_APP 0x0A L y giá tr phiên b n version CMD_WATCHDOG_STATE 0x0B RUN/STOP waichdog
CMD_WATCHDOG_STATUS 0x0C DISABLE/ENABLE watchdog CMD_GET_WATCHDOG_STATE 0x0D Tr ng thái watchdog
CMD_GET_FW_VERSION_BOOT 0x0E L y version c a bootloader
Các l nh giao ti p I2C gi a MCU và STM đ u có c u trúc sau: i2cset [i2cbus number] [đ a ch ] [đ a ch ] [d li u] [ki u d li u]
- [i2cbus number]: bus number c a giao ti p, đây là 1
- [đ a ch slave]: đ a ch c a slave trong đ ng truy n i2c, đây là 0x2A
- [đ a ch thanh ghi]: đ a ch c a thanh ghi ng v i l nh c n th c thi, là các l nh trong B ng 6.4
- [d li u]: d li u đ c g i xu ng, tùy l nh mà d li u đ c g i xu ng khác nha, s đ c trình bày rõ t ng l nh Giá tr [d li u] này tùy t ng lo i l nh mà có
65 ho c không, đ i v i l nh ch đ c thì s không có giá tr này, đ i v i l nh ch ghi thì giá tr này là m t byte, hai byte ho c nhi u h n tùy câu l nh.
- [ki u d li u]: là m t kí t quy c ki u d li u đ c g i đi, kí t ‘w’ quy c ki u d li u là word, ‘b’ quy c ki u d li u là byte, ‘i’ quy c ki u d li u là block data.
C u hình đèn LED có thể được thiết lập theo chế độ mặc định hoặc tùy chỉnh bởi người dùng Đối với chế độ mặc định, người dùng không thể thay đổi màu sắc hoặc độ sáng của đèn LED Tuy nhiên, trong chế độ tùy chỉnh, người dùng có khả năng điều chỉnh màu sắc và độ sáng của đèn LED theo ý muốn.
Theo cấu trúc mã lệnh, lệnh CMD_LED_MODE có địa chỉ thanh ghi là 3, kiểu dữ liệu là b (byte), và dữ liệu là một byte có 8 bit, mỗi bit quy chuẩn cụ thể được trình bày trong bảng sau.
B ng 7-5: D li u trong l nh CMD_LED_MODE.
Tr ng s bit Ý ngh a Ghi chú
0 3 LED number [0 11] Tr ng h p mu n đi u khi n t t c các LED m t l n -> LED number = 12
4 LED mode 1 - USER mode, 0 - default mode
Ví d : Ch n LED 1 là user mode: i2cset 1 0x2A 3 0x1A b
Lệnh CMD_LED_STATE được sử dụng để cấu hình trạng thái ON/OFF cho các đèn LED Cấu trúc của lệnh này bao gồm địa chỉ thanh ghi là 4, kiểu dữ liệu là byte, và dữ liệu là một byte 8 bit Trong đó, 4 bit đầu tiên đại diện cho 12 vị trí của 12 LED (từ 0 đến 11), và bit thứ 4 xác định trạng thái ON/OFF của LED cần cấu hình, với 1 biểu thị cho trạng thái ON và 0 cho trạng thái OFF.
Tr ng s bit Ý ngh a Ghi chú
0 3 LED number [0 11] Tr ng h p mu n đi u khi n t t c các
4 LED mode 1 - LED ON, 0 - LED OFF
Ví d : set LED 1 ON: i2cset 1 0x2A 4 0x1A b
Lệnh này được sử dụng để tùy chỉnh màu sắc của các đèn LED Theo cấu trúc mã lệnh được trình bày, lệnh CMD_LED_COLOUR có địa chỉ thanh ghi là 5 và kiểu dữ liệu được gửi đi là.
T c block data là một khối dữ liệu gồm 4 byte riêng biệt, trong đó byte đầu tiên quy định đèn LED, còn ba byte tiếp theo quy định mã màu cho các tông màu đỏ, xanh lá cây và xanh dương.
B ng 7-6: D li u đ c g i trong l nh CMD_LED_COLOUR
Byte Tr ng s bit Ý ngh a Ghi chú
1 0 3 LED number [0 11] Tr ng h p mu n đi u khi n t t c các LED -> LED number = 12
Ví d : Set LED 10 thành màu xanh lá cây: i2cset 1 0x2a 5 0x0A 0x00 0xFF 0x00 i Trong đó:
- 0x00 0xFF 0 x00 -> red colour = 0x00, green = 0xFF, blue = 0x00
L nh CMD_SET_BRIGHTNESS dùng đ thay đ i đ sáng c a LED trong kho ng 0-100%, [đ a ch thanh ghi] c a l nh này là 7, [ki u d li u] g i xu ng là ki u b (byte), [d
67 li u] đ c g i đi là m t byte t c 8 bit quy đ nh đ sáng c n thay đ i trong kho n 0 đ n 100 t ng ng v i 0 đ n 100%.
Ví d : Set đ sáng c a LED là 20%: i2cset 1 0x2A 7 20 b
Lệnh CMD_GET_BRIGHTNESS được sử dụng để lấy giá trị độ sáng hiện tại của LED Đây là lệnh đặc biệt vì không có thành phần [dữ liệu] trong lệnh gửi đi Các thành phần còn lại bao gồm [địa chỉ thanh ghi] với giá trị là 8 và [kiểu dữ liệu] là b (byte).
Ví d : đ c giá tr đ sáng hi n t i: i2cget 1 0x2A 8 b
[1] Imperva, “DDoS Threat Landscape Report Q1 2022,” Imperva, 2022.
[2] N Liebermann, “2021 IoT Security Landscape,” SAM Seamless Network, 7 April
2022 [Tr c tuy n] Available: https://securingsam.com/2021-iot-security-landscape/
[3] VentureBeat, “Report: More than 1B IoT attacks in 2021,” VentureBeat, 25 April
2022 [Tr c tuy n] Available: https://venturebeat.com/2022/04/25/report-more-than- 1b-iot-attacks-in-2021/.
[4] M Gohil và S Kumar, “Evaluation of Classification algorithms for Distributed Denial of Service Attack Detection,” trong 2020 IEEE Third International
Conference on Artificial Intelligence and Knowledge Engineering (AIKE), Laguna
[5] O R Sanchez, M Repetto, A Carrega và R Bolla, “Evaluating ML-based DDoS Detection with Grid Search Hyperparameter Optimization,” trong 2021 IEEE 7th
International Conference on Network Softwarization (NetSoft), Tokyo, 2021
[6] C.-S Shieh, T.-T Nguyen, C.-H Chen và D Miu, “Detection of Unknown DDoS Attacks with Deep Learning and Gaussian Mixture Model,” trong 2021 4th
International Conference on Information and Computer Technologies (ICICT), HI,
[7] S u Rehman, M Khaliq, S I Imtiaz, A Rasool, M Shafiq, A R Javed, Z Jalil và
A K Bashir, “DIDDOS: An approach for detection and identification of Distributed Denial of Service (DDoS) cyberattacks using Gated Recurrent Units (GRU),” Future
[8] P S Samom và A Taggu, “Distributed denial of service (DDoS) attacks detection: A machine learning approach,” trong Applied Soft Computing and Communication
[9] M S Elsayed, N.-A Le-Khac, S Dev và A D Jurcut, “DDoSNet: A Deep-Learning Model for Detecting Network Attacks,” Proc IEEE 21st Int Symp.WorldWireless,
Mobile Multimedia Networks (WoWMoM), pp 391-396, 2020
[10] D.-C Can, H.-Q Le và Q.-T Ha, “Detection of Distributed Denial of Service
Attacks Using Automatic Feature Selection with Enhancement for Imbalance
Dataset,” ACIIDS 2021: Intelligent Information and Database Systems, p 386–398,
[11] Y Wei, J Jang-Jaccard, F Sabrina, A Singh, W Xu và S Camtepe, “AE-MLP: A Hybrid Deep Learning Approach for DDoS Detection and Classification,” IEEE
[12] H Liu và B Lang, “Machine Learning and Deep Learning Methods for Intrusion Detection Systems: ASurvey,” Applied Sciences, t p 9, s 20, 2019
[13] G Thimm và E Fiesler, “Evaluating Pruning Methods,” trong Published in the
Proceedings of the International Symposium on Arti, Martigny, 1995
[14] UNB, “DDoS Evaluation Dataset (CIC-DDoS2019),” 2019 [Tr c tuy n] Available: https://www.unb.ca/cic/datasets/ddos-2019.html
[15] N Strửm, “Sparse Connection and Pruning in Large Dynamic Artificial Neural