Nghiên cứu này hướng đến mục tiêu phát triển một giải pháp tự động hóa quátrình kiểm thử bảo mật, giúp cung cấp khả năng tìm kiếm, phát hiện lỗ hổng và tự động đối phó với các mồi đe dọa
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
NGUYỄN QUỐC VIỆT - 18521641
KHÓA LUẬN TỐT NGHIỆP
BỘ KHUNG KIỂM THU BAO MAT TỰ ĐỘNG TÍCH HOP CƠ
CHẾ GIĂNG BẪY VÀ CHIA SẺ THÔNG TIN TÌNH BÁO
MỐI DE DOA
A FRAMEWORK OF AUTOMATIC SECURITY ASSESSMENT WITH
CYBER DECEPTION AND CYBER THREAT INTELLIGENCE
KY SU NGANH AN TOAN THONG TIN
GIANG VIÊN HƯỚNG DAN
TS NGUYEN TAN CAM
THS DO HOANG HIEN
TP HO CHi MINH, 2023
Trang 2LỜI CẢM ƠN
Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến Ban giám hiệu Trường Đại học
Công nghệ Thông tin - Đại học Quốc Gia Thành Phố Hồ Chí Minh cùng quý thầy cô
nói chung và quý thầy cô khoa Khoa Mạng máy tính & Truyền thông nói riêng đã tạo
điều kiện tốt nhất cho quá trình học tập và nghiên cứu của tôi Sự quan tâm và sự hỗ
trợ từ phía Ban giám hiệu và quý thầy cô đã là động lực lớn để tôi có thể hoàn thành khóa luận tốt nghiệp này.
Tôi xin chân thành tri ân đến TS Nguyễn Tấn Cầm và ThS Đỗ Hoàng Hiển, thầy
hướng dẫn của tôi, với kiến thức sâu rộng và sự tận tâm trong việc truyền đạt, chỉ
dẫn và hỗ trợ tôi trong suốt quá trình nghiên cứu Sự am hiểu và những góp ý, định
hướng từ Thầy đã giúp tôi phát triển khả năng nghiên cứu và hoàn thiện khóa luận
tốt nghiệp một cách tốt nhất.
Tôi xin gửi lời cảm ơn đặc biệt đến ThS Phan Thế Duy, người đã dành thời gian va
công sức để hỗ trợ, tư vấn và chia sẻ kiến thức với tôi trong quá trình nghiên cứu Sự
tận tâm và sự quan tâm từ Thầy đã góp phần quan trọng trong thành công của khóa luận tốt nghiệp này.
Cuối cùng, tôi xin chân thành cảm ơn sự hỗ trợ và đóng góp từ gia đình và bạn bè
trong quá trình thực hiện khóa luận tốt nghiệp Sự giúp đỡ và khích lệ này đã trở
thành nguồn động lực lớn để tôi vượt qua những thử thách và đạt được kết quả mà
tôi mong đợi.
TP.Hồ Chí Minh, ngày 25 tháng 06 năm 2023
Tác giả
Trang 3Mục lục
1 Tổng quan đề tài
11 Ly dochọn để tai} eee
1.2 Mục tiêu nghiên ctu) 2 eee 1.3 Phạm vinghién cttu) 2.2.0.0 00 eee een
14 Tinhungdung) 2.0 2 ee,
1.5 Phương pháp thựchiện|
1.6 Câu trúc Khóa luận tốtnghiệp|
2_ Tổng quan tình hình nghiên cứu
2.1 Tinh hình nghiên cứu và các công trình liên quan|
2.2_ Tính mới và tính khoa học của đề tài|
3 Cơ sở lý thuyết
3.1 Kiểm thử xâm nhập va tự động hoá quá trình kiểm thử xâm nhập|.
TÓM TẮT KHOÁ LUẬN
Các hình thức thực hiện kiểm thử xâm nhập
Lý do cần phải thực hiện kiểm thử xâm nhậpCác giai đoạn của kiểm thử xâm nhập
1.5 Tu động hoá quá trình kiểm thử xâm nhập 3.2 Top 10 lỗ hổng OWASP| c
3.2.1 Broken Access Controll
Lee
3.2.5 Security Misconfiguration|
Trang 43.2.6 Vulnerable and Outdated Componentsl 29
3.2.7 Identification and Authentication Failures} 30
3.2.8 Software and Data Integrity Failures} 31
3.2.9 Security Logging and Monitoring Failures} 33
3.2.10 Server-Side Request Forgery| 34
3.3 Các công cu hỗ trợ kiểm thử xâm nhập 35 3.3.1 NMAHD| ee 35 Le ee 38 3.3.3 Các công cụ hỗ trợ tìm kiếm lỗ hổng bảo mat web] 40
3.2.4 Máy chủNGINXƑ 41
Ta cee ees 44 ` AI eee eae 45 3.4 Chia sẻ thông tin tình báo mối de doa và các khái niệm liên quan) 45 3.4.1 Lợi ích của chia sẻ thông tin tình báo mối đe dọa 46 ot Meese Í 47
3.4.3 CôngcụuMISP| 48
344 Côngcụl-Pot| Ặ ee 49 51 4.1 Xây dựng bộ khung tự động hóa quá trình kiểm thử xâm nhập| 51
4.2 Đa nhiệm với hang doi Redi| - 54
4.3 Tìm kiếm thông tin tên miền con| - 57
4.4 Khám phá hệ thống và tìm kiếm 16 hổng bảo mật 58 4.4.1 Khám phá hệ thông ở bé mặt bên ngoài 58 4.4.2 Tim kiếm 16 hổng bảo mật 59 4.5 Bảo vệ hệ thông va chia sẻ thông tin tình báo mối de dọa 63 65 5.1 Hién thuc hoa quá trình ẶẶo 65 Lee eee eee 65 5.1.2 Quá trình khám phá hệ thong bề mặt ngoài 69 5.13 Quá trình tìm kiếm 16 hổng bảo mật 70 5.1.4 Bảo vệ hệ thống và chia sẻ thông tin tinh báo mối de doa} 74 5.1.5 Xây dựng cơ sở dữ liệu và cơ chế giao tiếp với cơ sở dữ liệu| 78
Trang 552 Thựcnghiệm| Ặ Ặ Q Q Q eee eee ho
5.2.1 Môi trường thựcnghiệm|
5.2.2 Kết quả thực nghiệm quá trình tìm kiêm tên miền con| 5.2.3 Kết quả thực nghiệm quá trình tìm kiếm lỗ hổng bao mat}
53 Thaoluén| 0 0.0.00 0 Q Q TQ Q HQ HQ ee ee
6 Kết luận và hướng phát triển
6.1 Kếtluận| cece cece eee va
6.2 Hướng phattrién} 2 ee
vii
Trang 6Danh sách hình ve
2.1 Cấu trúc của khung kiểm thử tự động 9
ýádaàaàaaaỶẲỶÝ 102.3 Mô hình chuyển đổi TTP thành loC| 112.4 Mô hình sử dụng redis để tạo một chương trình đa nhiệm 12
Trang 7Danh sách bảng
2.1 Bảng so sánh kiểm thử xâm nhập tự động va thủ công) 7
5.1 Bảng thông tin câu hình các hạng mục| 815.2 Bảng kết quả tìm kiếm tên miễn con dùng một máy ảo
5.3 Bảng kết quả tìm kiếm tên mién con của bốn tên miền cùng lúc
e6 Á\ \ 83
5.4 Bảng kết quả Zeus2 tìm kiếm tên miền con của bốn tên miền cùng
lúc trên nhiều máy ảo| - - 835.5 Bảng kết quả Zeus2 và Acunetix tìm kiếm lỗ hổng bảo mật 855.6 Bảng kết qua Zeus2 tìm kiếm lỗ hổng bảo mật dùng nhiều máy ảo| 87
Trang 8Danh mục từ viết tắt
API Application Programming Interface
CVE Common Vulnerabilities and Exposures
DDoS Distributed Denial of Service
DỌN Deep Q-Learning Network
IDS Intrusion Detection System
loC Indicators of Compromise LDAP Lightweight Directory Access Protocol LFI Local File Inclusion
MulVAL Multi-host, Multi-stage Vulnerability Analysis Language
SCADA _— Supervisory Control and Data Acquisition
SQLI Structured Query Language Injection
SSRF Indicators of Compromise TTP Tactics, Techniques, and Procedures URL Uniform Resource Locator
WAF Web Application Firewall
XML Xtensible Markup Language XSS Cross-site Scripting
Trang 9Danh mục tu tạm dịch
Công nhân Worker
Công việc Job
Các mối đe doa thế hệ mới New Generation Threats
Các mối đe dọa dai dang nâng cao Advanced Persistent Threats
Các mối đe dọa đa hình Polymorphic ThreatsCác mối de dọa tổng hợp Composite Threats
Trang 10TÓM TẮT KHOÁ LUẬN
An ninh mạng ngày càng trở thành một vấn dé nóng không chỉ trong các tổ chức
lớn mà còn trong các doanh nghiệp nhỏ Đảm bảo an toàn cho hệ thống trong môi
trường mạng luôn được xem là một ưu tiên hàng đầu Trong tình hình này, công
việc kiểm thử xâm nhập đóng vai trò vô cùng quan trọng Kiểm thử xâm nhập là
quá trình đánh giá một cách tỉ mỉ khả năng bị xâm nhập của một hệ thống trongmôi trường thực tế, được thực hiện bởi các chuyên gia bảo mật có kiến thức vàkinh nghiệm đáng tin cậy Tuy nhiên, hiện tại thị trường lao động đang thiếu hụt
các chuyên gia bảo mật, đặc biệt là những người có trình độ cao.
Nghiên cứu này hướng đến mục tiêu phát triển một giải pháp tự động hóa quátrình kiểm thử bảo mật, giúp cung cấp khả năng tìm kiếm, phát hiện lỗ hổng và
tự động đối phó với các mồi đe dọa trong hệ thống mạng của tổ chức Đây là một
bước quan trong để giải quyết vấn dé thiếu hụt nhân lực chuyên gia bảo mật va
nâng cao hiểu quả trong việc bảo vệ an toàn thông tin của tổ chức.
Trong nghiên cứu này, tác giả đã phát triển một bộ khung kiểm thử bảo mật tiên
tiến, nhằm tự động tìm kiếm các tên miền con thuộc tổ chức và phát hiện tự độngcác lỗ hổng trên các tên miền con đó Bên cạnh đó, bộ khung này còn tích hợp cơ
chế chia sẻ thông tin tình báo về các mối đe dọa, giúp tổ chức phát hiện và chủđộng đối phó với các mối đe doa đã, đang hoặc sẽ tan công vào hệ thống Ngoài
ra, bộ khung còn sử dụng một cơ chế giăng bẫy linh hoạt, giúp bảo vệ hệ thốngngay lập tức sau khi phát hiện lỗ hổng hoặc mồi đe doa mới
Quá trình thực nghiệm cho thấy bộ khung kiểm thử có khả năng tìm kiếm lỗhổng bảo mật một cách nhanh chóng và chính xác, hoàn toàn vá được các lỗ hổngsau khi phát hiện và đã có thể chia sẻ cũng như cập nhật tin tức tinh báo mối de
doa.
Trang 11Chương 1
Tổng quan đề tài
11 Lý do chọn đề tài
Sự bùng nổ của cuộc cách mạng công nghiệp 4.0 đã mang lại nhiều tiện ích và sự
tiện lợi trong đời sống xã hội Tuy nhiên, điều đáng lo ngại là an ninh mạng đã
trở thành một vấn dé ngày càng nóng hơn, đặc biệt là với sự gia tăng của các cuộctấn công mạng tinh vi và nguy hiểm Những cuộc tấn công nay đã gây ra nhữngthiệt hại lớn và khó kiểm soát
Để giải quyết van dé này, các tổ chức và doanh nghiệp, bat kể lớn hay nhỏ, đãtăng cường sự quan tâm và đầu tư vào các giải pháp bảo vệ hệ thống của mình.Một trong những giải pháp phổ biến là thuê các kỹ sư kiểm thử bảo mật để thực
hiện kiểm thử bảo mật theo cách thủ công Tuy nhiên, phương pháp này đòi hỏi
sự đầu tư lớn về tài nguyên, bao gồm cả thời gian và nhân lực Các kỹ sư phải tiếnhành từng bước kiểm thử một, mat nhiều ngày để hoàn thành quá trình kiểm thử
và đôi khi cũng đễ bỏ sót các lỗ hổng và thông tin quan trọng.
Với sự phát triển của công nghệ va sự tiến bộ trong lĩnh vực an ninh mạng, da
xuất hiện nhiều công cụ hỗ trợ tự động trong quá trình kiểm thử bảo mật Tuy
nhiên, các công cụ hiện có thường chỉ tập trung vào một bước hoặc một vài bước
trong quá trình kiểm thử, ví dụ như phát hiện lỗ hổng, nhưng không có hành
động tiếp theo sau khi phát hiện Điều này tạo ra một khoảng trống và giới hạn
trong việc tối ưu hóa quá trình bảo mật
Trang 12Chương 1 Tổng quan dé tài
Để giải quyết các hạn chế này, trong nghiên cứu này, tác giả đã phát triển một
bộ khung tự động hoá quá trình kiểm thử bảo mật Bộ khung này không chỉ tìm
kiếm lỗ hổng và phát hiện các mối đe dọa, mà còn tích hợp hệ thống chia sẻ thôngtin mối đe dọa Điều này cho phép tổ chức chủ động chồng lại các mối de doa da,
đang hoặc thậm chí chưa trực tiếp tấn công vào hệ thống Bằng cách cập nhật vàchia sẻ thông tin mối đe dọa, tổ chức có thể nhanh chóng nhận biết và ứng phó
với các hình thức tân công mới và tiềm ẩn Hơn nữa, bộ khung còn tích hợp một
cơ chế giăng bay linh hoạt, giúp bảo vệ hệ thống ngay sau khi phát hiện lỗ hổng
hoặc một mối đe dọa mới Điều này đảm bảo rằng tổ chức không chỉ có thông tin
về các lỗ hổng mà còn có khả năng đối phó và ngăn chặn sự xâm nhập một cách
hiệu quả.
Với bộ khung tự động này, các tổ chức có thể tiết kiệm thời gian, nhân lực và tài
nguyên, đồng thời nâng cao khả năng phát hiện và phản ứng nhanh chóng đốivới các mối đe dọa mạng Đây là một đột phá quan trọng trong lĩnh vực an ninh
mạng, giúp các tổ chức đảm bảo an toàn thông tin và bảo vệ hệ thống của mình
trước những mối đe dọa ngày càng phức tạp và tiên tiến
1.2 Mục tiêu nghiên cứu
° Xây dựng mô hình tự động hóa kiểm thử xâm nhập và trinh thám hiểu qua
và mạnh mẽ dựa trên mô hình phân tán.
© Giảm thiểu tối đa tài nguyên về thời gian và nhân lực cũng như tăng độ
chính xác cho quá trình kiểm thử xâm nhập
* Săn tìm và chia sẻ thông tin tình báo mối de dọa giúp phát hiện và ngăn
chặn sớm các cuộc tân công.
* Bảo vệ hệ thống trước các lỗ hổng bảo mật và các mối đe doa đã phát hiện
Trang 13Chương 1 Tổng quan dé tài
1.3 Pham vi nghiên cứu
© Nghiên cứu, phát triển các công cụ mã nguồn mở và tích hợp chúng thành
bộ công cu tự động trinh thám, quét lỗ hổng, giăng bay, tìm kiếm và chia sẻthông tin mối đe dọa
© Nghiên cứu va phát triển hệ thống phân tán giúp công cụ có thể chạy da
nhiệm trên nhiều máy chủ cùng lúc
© Nghiên cứu hệ thống reverse proxy để có thể tự động điều hướng lưu lượng
mạng đi tới chính xác máy chủ hoặc bẫy dựa trên bộ quy tắc được tự độngtạo ra sau quá trình quét lỗ hổng và thu thập thông tin trinh thám về mối
đe dọa.
1.4 Tính ứng dụng
Nghiên cứu của tác giả đề xuất một bộ khung kiểm thử bảo mật tự động, manglại lợi ích đáng kể cho các tổ chức muốn cải thiện khả năng bảo mật mà không
tốn quá nhiều thời gian và nhân lực Bằng việc áp dụng công nghệ tự động hóa
trong quá trình kiểm thử, tổ chức có thể tiết kiệm tài nguyên và đạt hiệu quả caohơn trong việc phát hiện và ứng phó với các lỗ hổng và mối đe dọa mạng Đây
là một tiến bộ quan trọng trong lĩnh vực an ninh mạng, giúp tổ chức tăng cường
bảo vệ thông tin quan trọng và đáp ứng một cách nhanh chóng và chính xác đối
với môi trường mạng ngày càng phức tạp và tiên tiến
1.5 Phương pháp thực hiện
Tiến hành nghiên cứu các công trình đã được thực hiện trong và ngoài nước liênquan đến kiểm thử bảo mật, các nghiên cứu vẻ việc bảo vệ hệ thống sau khi pháthiện lỗ hổng bảo mật và nghiên cứu các công nghệ liên quan đến việc quản lý
đa nhiệm Tiếp theo xây dựng và triển khai hệ thống kiểm thử bảo mật tự độngkết hợp giăng bay và chia sẻ thông tin mối đe dọa Cuối cùng tôi thực hiện thựcnghiệm, đánh giá thực tế bộ khung này và đưa ra hướng phát triển cho tương lai
Trang 14Chương 1 Tổng quan dé tài
1.6 Cau trúc Khóa luận tốt nghiệp
Qua những gì đã giới thiệu về tổng quan của đề tài thực hiện trong khoá luận tốtnghiệp, tôi xin đưa ra nội dung của Khoá luận tốt nghiệp sẽ được tổ chức như
sau:
° Chương] Tổng quan đề tài.
° Chương Tổng quan về tình hình nghiên cứu.
° Chương] Cơ sở lý thuyết của khóa luận.
° Chương Phương pháp thực hiện trong khóa luận
° Chương] Hiện thực và thực nghiệm
e Chương |6| Kết luận và hướng phát triển của khóa luận.
Trang 15Chương 2
Tổng quan tình hình nghiên cứu
2.1 Tình hình nghiên cứu và các công trình liên quan
Trong thời gian gần đây, van dé an toàn thông tin trong doanh nghiệp đang được
chú trọng và đầu tư, đặc biệt sau các vụ tan công mạng, các doanh nghiệp vừa va
nhỏ phải biết bảo vệ khỏi nguy cơ tan công vào cơ sở hạ tang Theo báo cád của
Viettel Threat Intelligence (VCS - Threat Intelligence), trong năm 2022 đã ghi nhận
4240 cuộc tân công giả mạo thương hiệu, tăng 40% so với năm 2021 Số lượng lỗhổng được phát hiện và công bố tăng 13.9% so với năm 2021, trong đó có nhiều
lỗ hổng nghiêm trọng gây ảnh hưởng lớn trên thế giới trên các sản phẩm như:
MS Exchange Server, WSO2, Atlassian Confuence, Zimbra, Viettel Threat ligence cũng đã ghi nhận 150 triệu thông tin tài khoản người dùng được rao bán
Intel-trên mạng trong năm 2022 Nghiêm trọng hơn, thông tin đăng nhập của người
dùng vào các hệ thống trọng yêu của doanh nghiệp, tổ chức lớn nhỏ tại Việt Namliên tục xuất hiện trong các tập dữ liệu được rao bán trên thế giới, trong đó có tới
29 vụ rò rỉ dữ liệu ở Việt Nam gây ảnh hưởng tới các doanh nghiệp lớn với hàng
triệu người dùng Bên cạnh đó còn có xu hướng mã độc hoạt động mạnh, nhất là
các dòng mã độc nhắm vào lĩnh vực tài chính - dịch vụ
Theo khảo sát năm 2022 của The International Information System Security
Cer-tification Consortium (Isc2?| năm 2022 có khoảng 4.7 triệu kỹ sư bảo mật trên
thế giới, nhưng tình hình thế giới vẫn đang thiếu khoảng 3.4 triệu kỹ sư cho thấy
Nguồn: _
https://blog.viettelcybersecurity.com/bao-cao-thi-truong-an-toan-thong-tin-viet-nam-nam-2022/
2Neudn:
https://www.isc2.org//-/media/ISC2/Research/2022-WorkForce-Study/ISC2-Cybersecurity-Workforce-Study.ashx
Trang 16Chương 2 Tổng quan tình hình nghiên cứu
ngành an toàn thông tin đang đối mặt với bối cảnh thiếu hụt nhân sự toàn cầu.Trong bối cảnh thiếu hụt kỹ sư bảo mật trên toàn cầu, quy trình kiểm thử tự
động trở thành một giải pháp hữu ích cho các doanh nghiệp vừa và nhỏ, giúp
giảm thiểu nguy cơ tan công mạng và đồng thời giải quyết vấn dé nhân lực phứctạp Hiện tại, quy trình kiểm thử xâm nhập đang rất phức tạp và phụ thuộc vào
việc thực hiện thủ công, chỉ có thể được chuyên gia với nhiều năm kinh nghiệmthực hiện Người kiểm thử phải viết bản khai thác riêng của mình, nắm vững các
công cụ khả dụng đã được công bố trên internet, gây tẻ nhạt và tốn nhiều thời
gian Dưới đây (Bảng 2.1) là so sánh giữa quy trình kiểm thử tự động và kiểm thử
thủ công[7]
BANG 2.1: Bang so sánh kiểm thử xâm nhập tự động va thủ công
Kiểm thử thủ công Kiểm thử tự động
l 1 LF ¬ | Tiết kiệm tài nguyên về thời gian
Quy trình | Dễ bỏ sót lô hong, tôn kém thoi | | | ` a ak
kiểm thử | gian va nhân lực và nhân lực, quy trình chuẩn, dé
d dang lap lai va thuc hién lién tuc
Bao tri và nâng cap co sở dữ ¬ kk ,
¬ oa AM - co a Co sở dữ liệu tan công được bao Quan lý cơ | liệu tân công một cách thủ công, | „ ` - l MAI ` ~~ we SH | trì và nâng cap tự động Mã khai
sở dữ liệu | dựa vào cơ sở dữ liệu công khai ` A oan
thác hoạt động tot cho nhieu nêntan côn hoặc các đội nghiên cứu bảo mật
8 : — “| tảng khác nhau.
cung cấp
Yêu cầu thu thập di liệu va báo
Báo cáo Báo cáo tự động và tùy chỉnh
cáo thủ công
Do đó, việc cần thiết là phải có một công cụ tự động hóa toàn bộ quy trình từ việctrinh sát, kiểm tra lỗ hổng cho đến hệ thống phòng ngự, với khả năng triển khai
và duy trì dé dàng Trước thách thức đó, tác giả đã xây dựng một giải pháp dành
cho các tổ chức, nhằm tự động hóa hoàn toàn quy trình tìm kiếm lỗ hổng, tạo báo
cáo và đảm bảo sự chủ động trong việc bảo vệ máy chủ khỏi các lỗ hổng và mối
đe dọa tiềm tàng
Trang 17Chương 2 Tổng quan tình hình nghiên cứu
Có một số nghiên cứu liên quan đến tự động hóa quá trình kiểm thử xâm nhập
mà có thể dé cập, bao gồm nghiên cứu của nhóm Hu[5] và nghiên cứu của nhóm
tác giả Ajmal|[2]
Trong nghiên cứu của nhóm Hul5], họ tập trung vào việc xây dựng một công cụ
tự động hóa toàn bộ quy trình (Hinh:[2.1) kiểm thử xâm nhập Đầu tiên, nhóm sử
dụng công cụ shodan để thu thập dữ liệu từ các máy chủ có liên quan, tạo ra một
cấu trúc liên kết mạng thực tế Tiếp theo, họ áp dụng phân tích lỗ hổng đa tầng
đa máy chủ (Multi-host, Multi-stage Vulnerability Analysis Language - MulVAL)
để xác định các lỗ hổng trong câu trúc liên kết đó Các thuật toán tìm kiếm truyềnthống được sử dụng để tìm tat cả các con đường tan công có thể trong cây liên kết
và xây dựng biểu diễn ma trận khi cần thiết bằng các thuật toán học tăng cườngsâu Tiếp theo, nhóm sử dụng phương pháp Deep Q-Learning Network (DỌN)
để khám phá con đường tấn công dễ khai thác nhất từ các ứng viên tiềm năng
Bằng cách tạo ra hàng nghìn kịch bản đầu vào, DON có khả năng tìm ra đườngdẫn tối ưu với độ chính xác 0,86 và cung cấp các giải pháp hợp lệ trong các trườnghợp khác.
Trang 18Chương 2 Tổng quan tình hình nghiên cứu
DQN
Deep Reinforcement Learning Model
PenetrationTools
Environment ——
HÌNH 2.1: Cấu trúc của khung kiểm thử tu động
Nghiên cứu của nhóm Hul5] tuy mang lại kết quả ấn tượng trong việc tự động
hóa quá trình kiểm thử xâm nhập, nhưng nó có một hạn chế quan trọng Phương
pháp của nhóm dựa trên giả định tấn công và tìm ra con đường khai thác khả
thi nhất Điều này có thể dẫn đến việc phát hiện các trường hợp dương tính giả,
vì cách tiếp cận này không đánh giá khả năng tan công dựa trên điều kiện thực
tế mà chỉ dựa trên giả định và tìm ra tất cả các khả năng để chọn ra khả năng
dé bị tấn công nhất Trong thực tế, máy chủ có thể có hoặc không có những lỗ
hổng này, do vậy cách tiếp cận của nhóm Hu có thé không hiệu quả Tuy nhiên,phương pháp của này đảm bảo việc đánh giá tất cả các khả năng tấn công vàomáy chủ, giúp tránh việc bỏ sót các trường hợp mà máy chủ có thể bị tấn công
Nghiên cứu của nhóm tác giả Ajmall2], đã đưa ra một giải pháp để xây dựng hệ
thống môi nhử linh hoạt với sự tham gia của nhiều node như Honeynet, Nova,
và honeyd Hệ thống nay cho phép phản ứng linh hoạt khi kẻ tan công gửi yêu
cầu HTTP vào mạng, bằng cách chuyển yêu cầu tới node phù hợp Các hoạt độngcủa kẻ tấn công được ghi lại và được phân tích kỹ lưỡng để xác định các hành vi
Trang 19Chương 2 Tổng quan tình hình nghiên cứu
độc hại hoặc mối de dọa Đặc biệt, nhóm tác giả đã dé xuất một giải pháp để tạo
ra hệ thống môi nhử linh hoạt trong mang SCADA
-ATTACK Engagement Need Based
i = ¬, [Forward _ Decoys _ Orchestrating
SCADA Attacker Analysis
) (Customized Conpot) lf Customized ` : Ba
| | sinh required | | Conpot, Nova > uneasy
Siemens paced Artillery
| Isolated PLC's HMI ‹ honeypots /
Vitual Modbus Modbu | ani ỤẠ
Environment server slaves ee
— | Admin Can control the
creation of new decoys
Threat hunters can deeply monitor each
HINH 2.2: Mang mỗi nhử SCADA
Mang SCADA (Supervisory Control and Data Acquisition) là một mang điều
khiển va giám sát thu thập dữ liệu trong một hệ thống lưới gồm nhiều thành
phần khác nhau Hệ thống SCADA thu thập và phân tích dữ liệu từ các thiết bịtruyền động khác nhau để giám sát theo thời gian thực Cấu trúc SCADA baogồm nhiều thành phần, các thành phần này tương tác và hình thành một mạng
lưới hoàn chỉnh Trong nỗ lực bảo vệ mạng SCADA, nhóm tác giả đã xây dựng
một trang trại mỗi nhử (Hình: dựa trên câu trúc SCADA để thu hút và phân
tích các cuộc tấn công, nhằm phát hiện các mối de dọa chưa được biết đến
Với cách tiếp cận này, nhóm tác giả đã xây dựng thành công một hệ thống mỗinhử đa giao thức, bao gồm các giao thức phổ biến như HTTP, FTP, SSH, và nhiều
giao thức khác Hệ thống được thiết kế với cơ chế hoạt động linh hoạt, cho phép
thêm hoặc xoá các node trong mạng một cách dé dàng, và có khả năng mở rộng
cao Tuy nhiên, mô hình này là một mô hình bị động, phải chờ đợi mối đe dọa tiếp
10
Trang 20Chương 2 Tổng quan tình hình nghiên cứu
cận và sau đó phân tích nhật ký để xác định mối đe dọa Điều này có thể được
vượt qua bằng các kỹ thuật cao cấp như mã hóa, rối mã, hoặc ẩn kết nối phía saucác kết nối hợp lệ Sau khi hệ thống cung cấp báo cáo cho người quản trị, người
quản trị sẽ phải có nhiều kinh nghiệm để xem xét, đánh giá và đưa ra quyết địnhđối với các hệ thống chứa các lỗ hổng tương tự trong mạng mỗi nhử Điều này
dẫn đến việc vận hành hệ thống này đòi hỏi một đội ngũ chuyên gia để phân tích
các mối đe dọa đã được thống kê Sự không chủ động, chỉ chờ đợi kẻ tan côngtình cờ tấn công vào hệ thống mỗi nhử để phát hiện lỗ hổng tiềm tàng trong hệ
thống không an toàn, đặc biệt khi các tiêu chí về bảo mật ngày càng được nâng
cao.
Ngoài ra, tôi đã tham khảo một số nghiên cứu khác để làm cơ sở cho quá trìnhxây dựng mạng mỗi nhử linh hoạt va công cụ tự động hóa kiểm thử xâm nhập
của mình.
Nghiên cứu của nhóm tác giả Berady [3] đã đóng góp quan trong trong việc xây
dựng mô hình (Hình: phân tích và trừu tượng hóa các yếu tố của cuộc tancông từ cả góc nhìn của người phòng thủ và người tấn công Họ đã tiến hànhthử nghiệm phương pháp này trên dữ liệu mô phỏng của cuộc tấn công từ nhóm
tin tặc APT29 Nghiên cứu giúp tạo ra các chỉ số của sự thỏa hiệp (Indicators of
Compromise - IoC) để xác định các yêu cầu HTTP có nguy cơ từ các thủ tục, kỹ
thuật và chiến thuật (Tactics, Techniques, and Procedures - TTP) phổ biến
H Procedure exec Object | Da : Component Traces Indexer x
: be —> > > —* | Sensor | —> > >| Eol | —> | generate_IoC
‡ param (',r7) oy = (ee) 9 ref ; € Xe, (SIEM) ị
Directory +(e) i ectory Dp >
HINH 2.3: M6 hinh chuyén d6i TTP thanh IoC
11
Trang 21Chương 2 Tổng quan tình hình nghiên cứu
Nghiên cứu của nhóm Hakluke [4] cũng đã đưa ra một mô hình (Hình: đáng
chú ý, sử dụng máy chủ redis để tạo ra một chương trình kiểm thử bảo mật đa
nhiệm có thể chạy trên nhiều máy chủ khác nhau Điều này cung cấp sự linh hoạt
và mở rộng cho quá trình kiểm thử xâm nhập, cho phép thực hiện các kiểm tra
đồng thời trên nhiều mục tiêu và thu thập dữ liệu quan trọng vẻ các lỗ hổng bảo
HÌNH 2.4: Mô hình sử dụng redis để tạo một chương trình đa nhiệm
2.2 Tính mới và tính khoa hoc của đề tài
Dựa trên nghiên cứu được trình bày ở mục trên, có thể thấy rằng hiện chưa có
nhiều nỗ lực nghiên cứu để phát triển công cụ tự động hoàn toàn các bước trinhthám, tấn công và bảo vệ hệ thống sau khi phát hiện lỗ hổng hoặc mối đe dọa
Các nghiên cứu trước đây thường tập trung vào việc phát hiện khả năng xâm
nhập vào máy chủ dựa trên trí tuệ nhân tạo, tạo ra nhiều kịch bản kiểm thử vàđánh giá con đường khả thi nhất Tuy nhiên, việc này có thể dẫn đến việc bỏ sót
12
Trang 22Chương 2 Tổng quan tình hình nghiên cứu
lỗ hổng và tạo ra nhiều trường hợp dương tính giả Vì vậy, dé tài nghiên cứu này
xây dựng một giải pháp tự động hóa quy trình kiểm thử xâm nhập, khắc phục lỗhổng bảo mật va bảo vệ hệ thống thông qua cơ chế giăng bay linh hoạt đồng thời
chủ động săn tìm mối đe dọa thông qua cơ ché chia sẻ thông tin tình báo Tạo ramột bộ khung kiểm thử tự động có day đủ các tinh năng để tìm kiếm lỗ hổng và
bảo vệ hệ thống của các tổ chức mà không gây tốn kém chỉ phí về nhân lực và
thời gian.
Nghiên cứu này tập trung vào xây dựng công cụ tự động hoá các quy trình kiểm
thử, nhằm giảm thời gian xử lý và tăng hiệu suất của quá trình kiểm thử xâmnhập Để đạt được điều này, nghiên cứu sử dụng mô hình phân tán để chia nhỏcông việc thành các phần nhỏ và giao chúng cho nhiều máy chủ để cùng xử lý
đồng thời, nhằm tăng năng suất của hệ thống
Bên cạnh việc tìm kiếm và phát hiện lỗ hổng, nghiên cứu này còn tập trung vàoviệc bảo vệ hệ thống ngay khi phát hiện lỗ hổng hoặc mối đe dọa mới Điều này
được thực hiện bằng cách sử dụng một máy chủ reverse proxy được liên kết với
công cụ kiểm thử tự động và cơ chế chia sẻ thông tin tình báo và mạng honeypot
để tạo ra một cơ chế bay linh hoạt Cơ chế này giúp các máy chủ trong môi trường
thực tế tránh các hành vi nguy hiểm bằng cách chuyển những hành vi đó cho
mạng honeypot xử lý và phân tích.
Ngoài ra, nghiên cứu còn tập trung vào khả năng mở rộng của công cụ kiểmthử bảo mật một cách linh hoạt Điều này giúp hệ thống có khả năng tùy chỉnhkích thước dé dang và linh hoạt phù hợp với nhu cầu sử dụng của từng thời điểm
13
Trang 23Chương 3
Cơ sở lý thuyết
3.1 Kiểm thử xâm nhập và tự động hoá quá trình kiểm
thử xâm nhập
3.1.1 Tổng quan về kiểm thử xâm nhập
Kiểm thử xâm nhập là quá trình hệ thống hóa, thực hiện và đánh giá khả năng
bảo mật của một hệ thống hoặc ứng dụng nhằm xác định các lỗ hổng và mối nguy
tiềm ẩn Mục tiêu chính của kiểm thử xâm nhập là đảm bảo tính bảo mật, toànvẹn và sẵn sàng của hệ thống bằng cách tìm kiếm lỗ hổng bảo mật càng nhiều
càng tốt, từ đó giúp tổ chức kịp thời khắc phục hoặc giảm thiểu thiệt hại trước
khi cuộc tấn công thực sự được diễn ra Tiến hành kiểm thử xâm nhập sẽ giúpcác tổ chức giảm tổn thất tài chính và thông tin có thể gây mắt lòng tin của khách
hàng do vi phạm bảo mật.
Công việc kiểm thử xâm nhập có thể được thực hiện trên một loạt hệ thống, baogồm: ứng dụng web, ứng dụng di động, phần cứng của các thiết bị, hệ điều hành,
hạ tầng mang máy tính, cơ sở dir liệu, các thiết bị kết nối vạn vật, ứng dụng và hạ
tầng đám mây, hoặc một đối tượng có kết nối với internet và có khả năng bị tan
công Ngoài những thiết bi hoặc thành phan công nghệ kể trên, công việc kiểmthử xâm nhập còn bao gồm cả việc kiểm thử con người, với việc kiểm tra nhậnthức của nhân viên trong bảo mật thông tin và kiểm tra các quy định, quy trình
của tổ chức có lỗ hổng về bảo mật hay không
14
Trang 24Chương 3 Cơ sở lý thuyết
Kiểm thử xâm nhâp hợp pháp được thực hiện bởi các chuyên gia trong lĩnh vực
bảo mật, với sự đồng ý và phê duyệt của chủ sở hữu hệ thống hoặc ứng dụng.Điều quan trọng là công việc kiểm thử xâm nhập phải tuân thủ pháp luật và các
quy tắc, quy định của các bên liên quan, đồng thời tuân thủ các nguyên tắc đạo
đức Các chuyên gia kiểm thử xâm nhập cần thực hiện công việc một cách cẩnthận, trung thực và chuyên nghiệp, bảo vệ thông tin và quyền riêng tư của ngườidùng, không gây hại đến hệ thống và đữ liệu, và không vi phạm quyển riêng tư,
bí mật thương mại hoặc các quy định pháp luật khác.
Có 3 khái niệm cơ bản trong kiểm thử xâm nhập thường được nhắc tới là:
¢ Lỗ hổng (vulnerabilities) là các điểm yếu trong hệ thống hoặc ứng dụng có
thể bị tấn công và khai thác để xâm nhập hoặc gây tổn hại Đây có thể lànhững lỗi trong thiết kế, triển khai, cấu hình hoặc quản lý của hệ thống
Các lỗ hổng này có thể cho phép tin tặc truy cập trái phép vào hệ thống, lấycắp thông tin nhạy cảm hoặc gây hại cho hệ thống
® Khai thác (exploits) là các phương pháp và công cụ được sử dụng để tận
dụng lỗ hổng và tan công vào hệ thống Đây có thể là mã độc, kỹ thuật tancông hoặc các công cụ tự động hóa để xâm nhập và kiểm soát hệ thống mục
tiêu Khai thác được thiết kế để tận dụng các lỗ hổng cụ thể và thực hiện
các hành động độc hại như kiểm soát từ xa, thực thi mã độc hoặc lay cắp
dw liệu.
¢ Trọng tai (payloads) là các thành phần hoặc mã độc được chèn vào khai thác
nhằm mục đích cụ thể Trọng tải có thể là mã độc, các lệnh để kiểm soát hệ
thống mục tiêu, hoặc các hành động độc hại khác như xóa dữ liệu, mã hóa
tệp tin hoặc tạo backdoor Trọng tải được thiết kế để thực hiện các hành
động mà tin tặc muốn thực hiện khi khai thác một lỗ hổng bảo mật
3.1.2 Các hình thức thực hiện kiểm thử xâm nhập
wow
Trong lĩnh vực kiểm thử bảo mật, các khái niệm "white box", "black box" va "greybox" được sử dụng để mô tả phương pháp và mức độ truy cập thông tin về hệthống mục tiêu trong quá trình kiểm thử Dưới đây là giải thích chỉ tiết về từngkhái niệm|6]:
15
Trang 25Chương 3 Cơ sở lý thuyết
© White Box Testing (Kiểm thử hộp trắng): White box testing là phương pháp
kiểm thử bảo mật trong đó người kiểm thử có day đủ thông tin và hiểu biết
về câu trúc, thiết kế và mã nguồn của hệ thống mục tiêu Trong quá trình
kiểm thử, người kiểm thử có quyền truy cập va phân tích mã nguồn, cơ sở
dữ liệu, cầu hình hệ thống và các tài liệu liên quan Phương pháp này cho
phép kiểm tra sâu hơn và tìm ra các lỗ hổng bảo mật ẩn trong mã nguồn
hoặc thiết kế hệ thống
© Black Box Testing (Kiểm thử hộp den): Black box testing là phương pháp
kiểm thử bảo mật mà người kiểm thử không có thông tin chỉ tiết về câutrúc nội bộ và mã nguồn của hệ thống mục tiêu Người kiểm thử chỉ có thểxem hệ thống từ bên ngoài, giống như một kẻ tan công không có kiến thứcbên trong về hệ thống Phương pháp này nhằm kiểm tra tính bảo mật của
hệ thống trong tình huống mà kẻ tân công không có sự biết thông tin trướcđối với hệ thống Ngoài ra còn có một phương pháp kiểm thử gần giống
với black box testing là double-blind testing, trong đó cả người kiểm thử và
nhóm hệ thống không biết về việc kiểm thử đang diễn ra Người kiểm thử
sẽ tân công hệ thống mục tiêu mà không có thông tin trước về nó và không
có sự hỗ trợ từ nhóm hệ thống Phương pháp này nhằm mô phỏng cách kẻ
tấn công không biết về việc kiểm thử và tăng tính thực tế của quá trình kiểm
thử.
e Grey Box Testing (Kiểm thử hộp xám): Grey box testing là sự kết hợp giữa
white box testing và black box testing Người kiểm thử chỉ có một phần
thông tin về hệ thống, nhưng không biết chỉ tiết về toàn bộ cấu trúc và mã
nguồn Thông tin được cung cấp có thể là một sé tài liệu, giao diện người
dùng hoặc một phần mã nguồn Phương pháp này cho phép người kiểmthử tận dụng thông tin có sẵn để tăng hiệu quả và phạm vi kiểm thử, đồngthời duy trì tính khách quan và giả định rằng kẻ tấn công có một số thôngtin cơ bản về hệ thống
Ngoài ra còn có một số khái niệm khác như:
¢ External Testing (Kiểm thử từ bên ngoài): External testing là phương pháp
kiểm thử bảo mật được tiền hành bởi một bên thứ ba hoặc một nhóm khôngthuộc tổ chức sở hữu hệ thống Người kiểm thử sẽ đánh giá tính bảo mật
16
Trang 26Chương 3 Cơ sở lý thuyết
của hệ thống từ một góc nhìn bên ngoài, mô phỏng các kỹ thuật tấn công
từ một kẻ tấn công bên ngoài Phương pháp này giúp phát hiện các lỗ hổng
bảo mật mà kẻ tân công có thể tận dụng từ bên ngoài hệ thống
® Internal Testing (Kiểm thử từ bên trong): Internal testing là phương pháp
kiểm thử bảo mật được tiến hành bởi các nhân viên hoặc nhóm bảo mậtthuộc tổ chức sở hữu hệ thống Người kiểm thử có kiến thức và truy cậpvào các thành phần nội bộ của hệ thống, như mã nguồn, cơ sở dữ liệu vacau hình Phương pháp nay cho phép kiểm tra tinh bảo mật của hệ thống
từ một góc nhìn nội bộ và xác định các lỗ hổng tiềm ẩn có thể bị khai thác
từ bên trong tổ chức.
© Targeted Testing (Kiểm thử hướng đích): Targeted testing là phương pháp
kiểm thử bảo mật tập trung vào mục tiêu cụ thể, như một ứng dụng, một
mô-đun hoặc một hệ thống con Người kiểm thử sẽ tập trung vào việc kiểmtra và khai thác các lỗ hổng bảo mật trong mục tiêu được chỉ định Phươngpháp này cho phép đánh giá chỉ tiết và chính xác hơn về tính bảo mật của
mục tiêu cụ thể và đưa ra các biện pháp bảo mật phù hợp.
Tuy các phương pháp kiểm thử bảo mật này có những ưu nhược điểm khác nhau,nhưng thường được kết hợp và áp dụng dựa trên tài nguyên, yêu cầu và mục tiêucủa tổ chức để đảm bảo tính bảo mật toàn diện cho hệ thống
Ở dé tai này, tác giả tập trung xây dung một công cụ tự động quá trình kiếm
thử với phương pháp black box testing.
3.1.3 Lý do cần phải thực hiện kiểm thử xâm nhập
Penetration Testing (kiểm thử xâm nhập)[7] là một quy trình quan trọng trong
lĩnh vực bảo mật thông tin Có những lý do quan trọng kiến các tổ chức cần thựchiện kiểm thử xâm nhập bao gồm:
© Phát hiện lỗ hổng bảo mật: Kiểm thử xâm nhập giúp xác định va phát hiện
các lỗ hổng bảo mật tổn tại trong hệ thống Nhờ đó, có thể phát hiện sớm
các van dé an ninh, từ đó tổ chức có thể thực hiện các biện pháp bảo mật
phù hợp để giảm thiểu rủi ro xâm nhập từ bên ngoài.
17
Trang 27Chương 3 Cơ sở lý thuyết
® Đánh giá tính bảo mật toàn diện: Kiểm thử xâm nhập cho phép kiểm tra
tính bảo mật toàn điện của hệ thống Bằng cách mô phỏng các kỹ thuật tan
công và khai thác, các chuyên gia bảo mật có thể đánh giá hiệu quả của cácbiện pháp bảo mật hiện có và tìm ra các cách thức tan công tiềm năng mà
kẻ xâm nhập có thể sử dụng
® Đảm bảo tuân thủ quy định và quy chế: Kiểm thử xâm nhập giúp kiểm tra
và đảm bảo rằng hệ thống tuân thủ các quy định và quy chế bảo mật liên
quan Điều này đặc biệt quan trọng đối với các tổ chức hoạt động trong cácngành nhạy cảm như tài chính, y tế hoặc chính phủ, nơi tuân thủ quy định
về bảo mật là một yêu cầu bắt buộc
¢ Nâng cao nhận thức về bảo mật: Kiểm thử xâm nhập giúp tăng cường nhận
thức về bảo mật cho cả tổ chức và nhân viên Khi thấy được các lỗ hổng vàmối de dọa tiềm tàng, nhân viên có thể hiểu rõ hơn về tam quan trọng của
việc thực hiện các biện pháp bảo mật và tuân thủ các quy tắc an toàn thông
tin.
© Nâng cấp nang lực phan ứng: Kiểm thử xâm nhập giúp tổ chức cải thiện
khả năng phản ứng và ứng phó với các cuộc tân công Nhờ phát hiện sớm
các lỗ hổng và mối đe dọa, tổ chức có thể đưa ra các biện pháp ngăn chặn
và phục hồi một cách nhanh chóng và hiệu quả khi xảy ra sự cô bảo mật
3.1.4 Các giai đoạn của kiểm thử xâm nhập
Quá trình kiểm thử xâm nhập có thể được chia thành các giai đoạn (Hình:
sau:
18
Trang 28Chương 3 Cơ sở lý thuyết
© Xác định yêu cầu và phân tích: Giai đoạn này tập trung vào việc hiểu yêu
cầu và mục tiêu của kiểm thử bảo mật Điều này bao gồm việc xác địnhphạm vi kiểm thử, các hệ thống và ứng dụng được liên quan, cũng như các
mục tiêu và kỳ vọng của tổ chức Quá trình phân tích giúp xác định phương pháp và kỹ thuật kiểm thử phù hợp.
¢ Thu thập thông tin: Giai đoạn này tập trung vào việc thu thập thông tin chi
tiết về mục tiêu kiểm thử Các chuyên gia bảo mật sẽ nghiên cứu hệ thống,
kiến trúc, ứng dụng, cơ sở dữ liệu va các yêu tố khác để hiểu rõ hơn về mụctiêu và xác định các điểm yếu tiém ẩn
© Tìm kiếm và phát hiện lỗ hổng: Giai đoạn này bao gồm việc sử dụng các
công cụ tự động hoặc thủ công để quét hệ thống và ứng dụng để tìm kiếm
các lỗ hổng bảo mật Các chuyên gia bảo mật sẽ kiểm tra các cổng, giao thức,
phân tích mã nguồn, tìm kiếm lỗ hổng phần mễm, xác định các điểm yếu
và khai thác chúng.
19
Trang 29Chương 3 Cơ sở lý thuyết
® Khai thác và kiểm tra: Giai đoạn này tập trung vào việc kiểm tra tinh bảo
mật của hệ thống bằng cách khai thác các lỗ hổng đã được tìm thấy Các
chuyên gia bảo mật sẽ sử dụng các công cụ và kỹ thuật khai thác để kiểmtra khả năng chống lại các cuộc tan công và chứng minh mức độ tổn thươngcủa hệ thống
© Báo cáo và đánh giá: Giai đoạn này tập trung vào việc tạo ra báo cáo chỉ tiết
về các lỗ hổng, khuyến nghị và phản hồi cho tổ chức Báo cáo bao gồm mô
tả các lỗ hổng được tìm thấy, cấp độ nguy hiểm và các biện pháp khắc phục
Đánh giá tổng thể được thực hiện để đảm bảo tính chính xác và toàn diện
của quá trình kiểm thử
® Remediation (phục hồi): Giai đoạn này bao gồm việc triển khai các biện
pháp khắc phục và nâng cấp để sửa chữa các lỗ hổng bảo mật đã được tìmthấy Các biện pháp phục hồi có thể bao gồm vá lỗi phần mềm, cài đặt lạicau hình, cập nhật hệ thống và ứng dụng, hoặc triển khai các biện pháp bảo
mật bổ sung.
Tóm lại, việc phân tích, quét, khai thác, báo cáo và phục hồi là các giai đoạn chính
trong quá trình kiểm thử bảo mật Mỗi giai đoạn đóng góp vào việc xác định và giảm thiểu các lỗ hổng bảo mật, đảm bảo tính bảo mật toàn diện và tăng cường
khả năng chống lại các cuộc tắn công
3.1.5 Tự động hoá quá trình kiểm thử xâm nhập
Kiểm thử xâm nhập tự động (Automated Penetration Testing) là một quy trình kiểm thử bảo mật mà sử dụng công nghệ tự động hoặc các công cụ chuyên dụng
để tự động hóa quá trình tìm kiếm lỗ hổng bảo mật và khai thác chúng trong một
hệ thống hoặc ứng dụng Điều đặc biệt về kiểm thử xâm nhập tự động là khả
năng thực hiện các kiểm thử và phân tích một cách tự động, liên tục, giúp tiết
kiệm thời gian và tăng tính hiệu quả của quá trình kiểm thử.
So với kiểm thử xâm nhập thủ công, kiểm thử xâm nhập tự động mang lại nhiều
lợi ích Đầu tiên, nó có thể thực hiện các kiểm thử và phân tích nhanh chóng, liêntục, giúp phát hiện lỗ hổng bảo mật một cách nhanh nhạy và chính xác hơn Các
20
Trang 30Chương 3 Cơ sở lý thuyết
công cụ tự động có khả năng quét hệ thống, tìm kiếm lỗ hổng và sử dụng các kỹthuật tan công một cách tự động, tiết kiệm nhiều thời gian và công sức hơn so với
việc thực hiện thủ công.
Thứ hai, kiểm thử xâm nhập tự động có khả năng thực hiện các kiểm thử lớn
và phức tạp, vượt qua khả năng của con người Các công cụ tự động có thể tạo
ra và thử nghiệm hàng trăm, thậm chí hàng ngàn kịch bản tấn công khác nhau,giúp tìm ra các lỗ hổng tiềm ẩn và đánh giá tính bảo mật toàn điện hơn Điều nàygiúp cung cấp một cái nhìn rõ ràng và đáng tin cậy về mức độ rủi ro và khả năng
chống lại các cuộc tan công
Mặt khác, kiểm thử xâm nhập thủ công vẫn có vai trò quan trọng Con người với
kiến thức và kỹ năng chuyên môn có thể thực hiện kiểm thử một cách tinh vi và
sáng tạo hơn Kiểm thử xâm nhập thủ công có thể khám phá các lỗ hổng độc đáo
và tìm ra các kịch bản tấn công phức tạp mà các công cụ tự động chưa thể thực
hiện Ngoài ra, con người có khả năng kiểm soát và tùy chỉnh quá trình kiểm thử
theo yêu cầu cụ thể của từng hệ thống và ứng dụng
Kiểm thử xâm nhập tự động và kiểm thử xâm nhập thủ công đều có giá trị và vaitrò quan trọng trong việc đảm bảo tính bảo mật của hệ thống Sự kết hợp giữa cả
hai phương pháp có thể mang lại hiệu quả tốt nhất, sử dụng các công cụ tự động
để phát hiện lỗ hổng và thử nghiệm quy mô lớn, trong khi con người tiếp tụcđóng vai trò quan trọng trong việc tìm hiểu và thử nghiệm các tấn công tỉnh vi
và đặc biệt Tuy nhiên với những tổ chức nhỏ hoặc không thể tìm kiếm đủ nhân
lực, việc sử dụng kiểm thử xâm nhập tự động là cần thiết để bù đắp lại sự thiếu
hụt tài nguyên về nhân sự và thời gian
3.2 Top 10 lỗ hổng OWASP
OWASP (Open Web Application Security Project}}] là một tổ chức phi lợi nhuận
toàn cầu tập trung vào việc cung cấp thông tin, tài liệu và công cụ liên quan đến
bảo mật ứng dụng web OWASP tập trung vào việc nâng cao nhận thức về bảo
mật ứng dụng web và tạo ra các tiêu chuẩn, hướng dẫn và tài liệu phát triển an
Thttp: / /owasp.org
21
Trang 31Chương 3 Cơ sở lý thuyết
toàn và miễn phí cho cộng đồng
OWASP Top 10 là một danh sách (Hình:|3.2) những rủi ro bảo mật ứng dụng webphổ biến và nguy hiểm nhất được OWASP công bố Danh sách này cung cấp cáinhìn tổng quan về những lỗ hổng bảo mật phổ biến và cần được chú ý OWASP
Top 10 được cập nhật định kỳ để phản ánh các mối đe dọa mới và xu hướng phát
triển OWASP Top 10 như một “tài liệu nâng cao nhận thức” và nó được khuyếnnghị tất cả các công ty nên kết hợp báo cáo này vào các quy trình của họ để giảmthiểu rủi ro bảo mật
A03:2017-Sensitive Data Exposure
.A04:2017-XML External Entities (XXE)
A05:2017-Broken Access Control
A06:2017-Security Misconfiguration _—— A06:2021-Vulnerable and Outdated Components
.A07:2017-Cross-Site Scripting (XSS) : di A07:2021-Identification and Authentication Failures
_A08:2017-Insecure Deserialization = § re {New} A08:2021-Software and Data Integrity Failures
A09:2017-Using Components with Known Vulnerabilities _ A09:2021-Security Logging and Monitoring Failures*
A10:2017-Insufficient Logging & Monitoring |) (New) A10:2021-Server-Side Request Forgery (SSRF)*
* From the Survey
HINH 3.2: OWASP Top 10 nam 2017 va 2021
Dưới đây là các rủi ro bảo mật được báo cáo trong OWASP Top 10 công bố năm
2021:
3.21 Broken Access Control
Đứng dau trong danh sách OWASP Top 10 là lỗ hổng Broken Access Control Nóxảy ra khi hệ thống không kiểm soát và quản lý việc truy cập vào các tài nguyên
nhạy cảm và chức năng của ứng dụng một cách chính xác.
Với lỗ hổng Broken Access Control, tin tặc có thể xâm nhập và thực hiện các hoạt
động không được ủy quyền như xem, chỉnh sửa, xóa thông tin hoặc truy cập vào
các tinh năng quan trọng mà không có quyển truy cập Điều này có thể dẫn đếnviệc tiết lộ các thông tin nhạy cảm, thay đổi dữ liệu, hoặc lợi dụng các chức năng
quản lý để chiếm quyền điều khiển hệ thống
TNguồn anh: https:/ /owasp.org/www-project-top-ten/
22
Trang 32Chương 3 Cơ sở lý thuyết
Ví dụ, giả sử một ứng dụng web có tính năng xem và sửa thông tin người dùng.
Người dùng A chỉ có quyển xem thông tin của riêng mình Tuy nhiên, do tổn tại
lỗ hổng Broken Access Control, một tin tặc (người dùng A) có thể thay đổi tham
số truy vấn để đánh lừa hệ thống rằng mình là người dùng B từ đó truy cập thông
tin người dùng khác Điều này cho phép tin tặc xem, chỉnh sửa hoặc xóa thông
tin của những người dùng khác mà không có quyền truy cập
Để khắc phục lỗ hổng Broken Access Control, cần thực hiện kiểm tra và xác thựcquyền truy cập của người dùng đối với các tài nguyên và chức năng quan trọng
Hệ thống nên áp dụng các kiểm soát truy cập chặt chẽ, đảm bảo rằng người dùngchỉ có thể truy cập và thao tác trên các tài nguyên mà họ được ủy quyền
3.2.2 Cryptographic Failures
Lỗ hổng Cryptographic Failures liên quan đến việc sử dung mã hóa và các thuật
toán mật mã một cách không chính xác hoặc không an toàn trong ứng dụng web.
Khi các phương pháp mã hóa không được thực hiện đúng cách, thông tin nhạycảm có thể bị tiết lộ hoặc bị tấn công
Có một số ví dụ về Cryptographic Failures mà ta có kể đến Một ví dụ đầu tiên
là sử dụng thuật toán mã hóa yêu Một thuật toán mã hóa yêu có thể dé dang bị
phá vỡ bởi các tin tặc thông qua các phương pháp phân tích va tấn công mật mã
Nếu ứng dụng web sử dụng một thuật toán mã hóa yếu như MD5 hay DES, thìthông tin được mã hóa có thể bị phá vỡ và tiết lộ
Một ví dụ khác là quản lý và bảo mật các khóa mã hóa một cách không an toàn.
Nếu khóa bí mật hoặc khóa công khai được lưu trữ hoặc truyền tải một cáchkhông an toàn, tin tặc có thể thu thập được khóa và sử dụng chúng để giải mã
hoặc tạo ra chữ ký giả mạo.
Ngoài ra, Cryptographic Failures cũng có thể xảy ra khi không thực hiện đúng
các quy trình và phương pháp sử dụng mật mã Ví dụ, việc sử dụng cách sử dụng
mật mã không an toàn như việc lưu trữ mật khẩu người dùng dưới dạng văn bản
23
Trang 33Chương 3 Cơ sở lý thuyết
không được mã hóa hoặc sử dụng các thư viện mật mã cũ, không cập nhật.
Để khắc phục lỗ hổng Cryptographic Failures, can thực hiện các biện pháp bảomật mật mã chính xác và an toàn Điều này bao gồm sử dụng các thuật toán
mã hóa mạnh, lưu trữ và truyền tải khóa mật mã một cách an toàn, và tuân thủcác quy trình và phương pháp sử dụng mật mã được khuyến nghị và chấp nhậntrong cộng đồng bảo mật
3.2.3 Injection
Lỗ hổng Injection là một rủi ro bảo mật phổ biến và nguy hiểm trong ứng dụng
web, với lỗ hổng này, tin tặc có thể chèn và thực thi mã độc hại hoặc các lệnh
không được kiểm soát vào các thành phần của ứng dụng Điều này thường xảy rakhi dữ liệu đầu vào không được xử lý hoặc kiểm tra đúng cách trước khi sử dungtrong các truy vân SQL, lệnh command shell, biểu thức XPath, hoặc các ngôn ngữtruy vấn khác
Ví dụ cụ thể về lỗ hổng Injection là SQL Injection Khi một ứng dung web khôngkiểm tra hoặc sử dung đữ liệu đầu vào không an toàn khi thực thi truy vấn SQL,
tin tặc có thể chèn ma SQL độc hai để thực hiện các hành động không mong muốn
như truy xuất, thay đổi hoặc xóa dữ liệu trong cơ sở dữ liệu Ví dụ ở tính năngđăng nhập của một trang web có sử dụng dữ liệu đầu vào lấy từ người dùng và
không hề thông qua bat kỳ quá trình lọc đầu vào hoặc xử lý các kỹ tự đặc biệt để
đưa vào một đoạn truy van SQL bang cách ghép chuỗi như sau:
String q = "Select u_id from User where "
+ "u name = '" + u name + "' + "and password = '" + password + "';";
Nếu người dùng truyén vào u_name="viet" va password="Aa@123456" thì câu truyvấn thu được sẽ là:
String q = "Select u_id from User where "
+ "u name = 'viet' and password = 'Aa@123456';";
24
Trang 34Chương 3 Cơ sở lý thuyết
Nhưng nếu người dùng truyền vào u_name="admin' OR 1=1; -" va password="Aa@"thì câu truy van bây giờ sẽ trở thành:
String q = "select u_id from User where "
+ "u_name = 'admin' OR 1=1; -' "
+ "and password = 'Aa@';";
Lúc nay câu điều kiện của truy van sẽ là luôn đúng, có nghĩa là tin tặc có thể dé
đàng đăng nhập với tài khoản admin với lỗ hổng SQL Injection
Injection cũng có thể xảy ra trong các ngôn ngữ và công cụ khác như Command
Injection, XML Injection, LDAP Injection, hoặc là các lỗ hổng XSS (Cross-Site
Scripting) cho phép tin tặc chèn mã JavaScript độc hại vào các trang web.
Để phòng ngừa lỗ hổng Injection, cần thực hiện các biện pháp bảo mật như
sử dụng cách nhập liệu an toàn như Prepared Statements hoặc Parameterized
Queries, kiểm tra và xử lý dữ liệu đầu vào một cách cẩn thận, hạn chế quyền truy
cập cơ sở đữ liệu, và cập nhật thường xuyên các phiên bản phần mềm và thư viện
sử dụng.
3.2.4 Insecure Design
Thiết kế không an toàn (Insecure Design) là một trong những mối nguy bảo mat
phổ biến trong lĩnh vực ứng dụng web Nó không chi dé cập đến một lỗ hổng cụ
thể mà thực tế là một van dé toàn điện trong việc thiết kế hệ thống
Thiết kế không an toàn có thể tạo ra các điểm yếu trong hệ thống, mở ra cơ hội
cho các cuộc tấn công xâm nhập Nó có thể bao gồm việc không xác thực và phân
quyền đúng cách, sử dụng các thuật toán mã hóa yếu, lưu trữ thông tin nhạy cảm
một cách không an toàn hoặc không tuân thủ các yêu cầu bảo mật cơ bản
Ví dụ, nếu một ứng dụng web không thực hiện kiểm tra xác thực đúng cách,
người dùng có thể thực hiện các hoạt động không được phép, truy cập vào thông
tin nhạy cảm hoặc thay đổi đữ liệu trong hệ thống Hoặc nếu một ứng dung web
lưu trữ mật khẩu dưới dang văn bản không được mã hóa, tin tặc có thé dé dang
25
Trang 35Chương 3 Cơ sở lý thuyết
đánh cắp thông tin này và sử dụng nó để xâm nhập vào tài khoản của người dùng
Những vấn dé trong thiết kế rất khó để khắc phục hoặc mất rất nhiều nguồnlực để khắc phục nó Vậy nên muốn hạn chế Insecure Design ta cần áp dụng cácphương pháp thiết kế an toàn, sử dụng nguyên tắc bảo mật trong quá trình pháttriển Dưới đây là một số phương pháp và quy trình phát triển sản phấp để tránh
thiết kế không an toàn:
HINH 3.3: Threat Modeling
© Threat modeling: Day là quy trình (Hình: xác định và đánh giá các
mối đe dọa tiềm tàng đối với hệ thống Bằng cách xác định các mối đe dọa
trước, ta có thể áp dụng các biện pháp bảo mật phù hợp từ giai đoạn thiếtkế
® Kiến trúc bảo mật: Thiết kế kiến trúc hệ thống bảo mật da tang, bao gồm
các thành phần như tường lửa, phân quyền, xác thực và kiểm soát truy cập
26
Trang 36Chương 3 Cơ sở lý thuyết
Điều này giúp giảm thiểu tối đa bề mặt tấn công trong tương lai
(PRE-PRODUCTION) Pre-production Production (PRODUCTION)
Log collection, RASP,
Pre-commit hooks,
Patching, WAF software
composition analysis, SAST, code review,
container security,
vulnerability scanning, DAST
Test Monitor
(PRE-PRODUCTION) (PRODUCTION)
DAST SIEM, vulnerability monitoring,
access control
HÌNH 3.4: Quy trình vòng đời sản phẩm trong DevSecOps
¢ Sử dụng quy trình phát triển an toàn: Ap dụng các quy trình phát triển
an toàn như Secure SDLC (Secure Software Development Lifecycle) hoặc
DevSecOps (Hinh: (3.4) Quy trình nay tích hợp các hoạt động bảo mật vào
quy trình phát triển, bao gồm kiểm tra mã nguồn, kiểm thử bảo mật và đánhgiá rủi ro liên tục suốt vòng đời của sản phẩm giúp phát hiện và khắc phục
các lỗ hổng sớm hơn và ít tốn chỉ phí hơn
¢ Đào tạo và nhận thức bảo mật: Dam bảo rằng nhân viên và thành viên của
nhóm phát triển được đào tạo về các nguy cơ bảo mật và các phương pháp
phòng ngừa Tăng cường nhận thức về bảo mật sẽ giúp mọi người nhậnthức về tầm quan trọng của thiết kế an toàn và áp dụng các phương pháp
phù hợp.
TNguôồn anh: https:/ /www.atlassian.com/devops/devops-tools/devsecops-tools
27
Trang 37Chương 3 Cơ sở lý thuyết
3.2.5 Security Misconfiguration
Lỗ hổng Security Misconfiguration (cau hình sai) là một trong những rủi ro quan
trọng trong lĩnh vực bảo mật ứng dụng web Nó xuất hiện khi cau hình hệ thống,
máy chủ, ứng dụng web, hoặc các thành phần khác của một hệ thống không đượcthực hiện một cách an toàn và chính xác Điều này có thể dẫn đến việc để lộ thôngtin nhạy cảm, truy cập trái phép vào dữ liệu hoặc hệ thống, hoặc mở ra cánh cửa
cho các cuộc tấn công khác
Các lỗ hổng Security Misconfiguration có thể xảy ra trong nhiều khía cạnh của
một ứng dụng web, bao gồm cau hình máy chủ, câu hình ứng dụng, cấu hình cơ
sở dữ liệu, và câu hình bảo mật Dưới đây là một số ví dụ:
e Một tổ chức sử dụng một ứng dụng web mã nguồn mở Ứng dụng nay sử
dụng một khóa bí mật được đặt mặc định trong tệp cầu hình Khi triển khaiứng dụng này, khóa bí mật không được thay thế mà lại được sử dụng mặcđịnh như trong câu hình Điều này khiến tin tặc biết được khóa bí mật đang
sử dụng, từ đó tái tạo lại được một phiên đăng nhập hợp lệ và có thể truy
cập trái phép ứng dụng này.
e Giả sử ứng dụng web cho phép người dùng đưa đữ liệu đầu vào với dang
dit liệu XML Nếu ứng dụng không kiểm tra và hạn chế các XML external
entity, kẻ tan công có thể chèn và khiến máy chủ thực thi những XML
ex-ternal entity mà tin tặc muốn Điều này dẫn đến tin tặc có thể khai thác đọctệp tùy ý, giả mạo yêu cầu phía máy chủ (Server-Side Request Forgery) vàtấn công từ chối dịch vụ
Để ngăn chặn lỗ hổng Security Misconfiguration, ta có thể thực hiện các biện
pháp sau:
* Cấu hình an toàn: Kiểm tra và cấu hình hệ thống, máy chủ và các thành
phần khác theo các hướng dẫn và hạn chế bảo mật của nhà cung cấp Loại
bỏ hoặc tắt các tính năng không cần thiết và mặc định không an toàn
¢ Kiểm tra và sửa lỗi cấu hình mặc định: Đảm bảo rằng cấu hình mặc định
của các thành phần, khung (frameworks) và thư viện được sử dụng trongứng dụng web đã được điều chỉnh và cấu hình an toàn
28
Trang 38Chương 3 Cơ sở lý thuyết
* Cập nhật và bảo trì: Theo dõi và áp dung các bản vá bảo mật mới nhất cho
hệ điều hành, phần mềm máy chủ, các thành phần và khung sử dụng trong
ứng dụng web.
© Xóa thông tin debug (thông tin trong lúc chạy ở chế độ sửa lỗi): Loại bỏ các
thông tin debug hoặc chế độ xem xét của ứng dung web trước khi triển khai
nó vào môi trường thực tế
e Chỉ cung cấp quyền hạn cần thiết: Đảm bảo rằng các quyền va khả năng
truy cập của người dùng và các thành phần khác được thiết lập chính xác
và hạn chế Hạn chế quyền truy cập đến các chức năng quản trị và các tài
nguyên nhạy cảm.
® Kiểm tra và xác minh bảo mật: Thực hiện kiểm tra bảo mật thường xuyên
để xác định các cầu hình không an toàn và điều chỉnh chúng một cách kịpthời.
3.2.6 Vulnerable and Outdated Components
Vulnerable and Outdated Components (Các thành phan dé tổn thương và đã lỗithời) là mối nguy bảo mật phát sinh khi ứng dụng sử dụng các thành phần bênthứ ba (thư viện, khung, trình cắm (plugin), mô-đun, ) có lỗ hổng đã được công
bồ hoặc đã lỗi thời Việc sử dung các thành phan này có thể tạo điểm yếu cho ứngdụng, cho phép kẻ tấn công tìm thấy và khai thác các lỗ hổng đã được biết đến
để thâm nhập vào hệ thống
Ví dụ, nếu một ứng dụng web sử dụng một phiên bản cũ của một plugin phổbiến, phiên bản đó có một lỗ hổng bảo mật đã được công bó Kẻ tấn công có thểtìm ra và tận dụng lỗ hổng này để tấn công và xâm nhập vào hệ thống Như vậy,
việc sử dụng thành phần lỗi thời hoặc có lỗ hổng có thể tao ra một mồi nguy rủi
ro đáng kể cho ứng dụng.
Để giảm thiểu mối nguy Vulnerable and Outdated Components, có một số biện
pháp sau:
© Theo dõi các cập nhật bảo mật: Thường xuyên cập nhật các thành phần bên
thứ ba của ứng dụng, bao gồm các khung, thư viện, plugin và mô-đun Đảm
29
Trang 39Chương 3 Cơ sở lý thuyết
bảo rằng bạn theo đõi các thông báo về lỗ hổng bảo mật va cập nhật ngay
khi có các bản vá bảo mật được phát hành.
¢ Sử dụng công cụ quản lý thành phan: Sử dụng các công cu quản lý thành
phan (component management tools) để theo déi và kiểm soát việc sử dụng
các thành phần bên thứ ba trong ứng dụng Công cụ này giúp xác định cácthành phần có lỗ hổng hoặc đã lỗi thời và cung cấp khả năng tự động cập
nhật.
© Đánh giá rủi ro: Tiến hành kiểm tra và đánh giá rủi ro cho các thành phan
bên thứ ba được sử dụng trong ứng dụng Điều này giúp xác định và ưutiên các thành phần có lỗ hổng hoặc có nguy cơ cao để xử lý trước
se Xây dựng chính sách quản lý thành phan: Xác định và áp dung các quy định
và quy trình cho việc sử dụng thành phần bên thứ ba trong ứng dụng Đảm
bảo rằng các thành phần được kiểm tra và cập nhật định kỳ, và có các quy
trình để đảm bảo sự kiểm soát và tuân thủ
Bằng cách áp dụng các biện pháp trên, người phát triển và quản lý ứng dụng có
thể giảm thiểu rủi ro từ lỗ hổng Vulnerable and Outdated Components, bảo vệ
ứng dung va dit liệu khỏi các cuộc tấn công dựa trên các thành phan đã biết
3.2.7 Identification and Authentication Failures
Identification and Authentication Failures (Lỗi xác định va xác thực) là một lỗ
hổng bảo mật phát sinh khi quá trình xác định và xác thực người dùng khôngđược thực hiện đúng cách hoặc không đủ mạnh, dẫn đến việc kẻ tan công có thể
giả mạo hoặc xâm nhập vào tài khoản người dùng hợp pháp.
Một số ví dụ về lỗ hổng Identification and Authentication Failures bao gồm:
se Weak or Default Credentials (Mật khẩu yếu hoặc mặc định): Sử dụng mật
khẩu yếu hoặc mặc định như "123456" hoặc "admin" cho các tài khoản ngườidùng hoặc tài khoản quản trị của hệ thống, tạo điều kiện thuận lợi cho kẻtấn công đoán được mật khẩu và xâm nhập vào hệ thống
® Brute Force Attacks (Tan công dò mật khẩu): Kẻ tan công thử một loạt các
mật khẩu khác nhau cho một tài khoản người dùng nhằm tìm ra mật khẩu
30
Trang 40Chương 3 Cơ sở lý thuyết
đúng Nếu quá trình xác thực không có cơ chế chống tan công brute force,
kẻ tấn công có thể thành công trong việc đoán mật khẩu và tiếp cận tài
khoản.
Session Management Issues (Van dé quản lý phiên): Thiếu các biện pháp
bảo mật trong quản lý phiên, dẫn đến việc kẻ tấn công có thể lấy được
thông tin phiên (session) của người dùng hợp pháp và giả mạo hoặc chiếmđoạt phiên đó.
Insufficient Multi-factor Authentication (Xác thực đa yêu tố không đủ): Quá
trình xác thực chỉ sử dụng một yếu tố duy nhất như mật khẩu, không sử
dụng xác thực đa yếu tố như mã OTP (one-time password) hoặc thông quathiết bị xác thực, làm tăng nguy cơ tin tặc cơ truy cập trái phép vào tài khoản
người dùng.
Để giảm thiểu lỗ hổng Identification and Authentication Failures, cần thực
hiện các biện pháp sau:
Sử dụng mật khẩu đủ mạnh và riêng biệt cho mỗi tài khoản người dùng.
Ap dụng chính sách đời hỏi mật khẩu phức tạp, đổi mật khẩu định kỳ và
hạn chế số lần đăng nhập thất bại
Xây dựng và triển khai cơ chế xác thực đa yếu tố dé tăng cường bảo mật
Quản lý phiên hiệu quả, bao gồm việc sử dụng các mã thông báo phiên
ngẫu nhiên, giới hạn thời gian phiên và sử dụng các biện pháp bảo vệ khác
để ngăn chặn tấn công đánh cắp phiên
Kiểm tra và nâng cấp hệ thống xác thực và quản lý phiên định kỳ để khắc
phục các lỗ hổng và sửa các lỗi bảo mật
3.2.8 Software and Data Integrity Failures
Software and Data Integrity Failures (Lỗi hoặc thiếu tính toàn vẹn phan mềm và
đữ liệu) là một lỗ hổng bảo mật xảy ra khi tính toàn vẹn của phần mềm hoặc dữ
liệu không được duy trì đúng cách Điều này có thể dẫn đến việc thất bại của hệthống, thất thoát dữ liệu quan trọng hoặc tan công đối với hệ thống
31