Cải tiếnNgày nay, các cuộc tấn công rất đa dạng, các doanh nghiệp thường sử dụng hệ thống phát hiện xâm nhập IDS để phát hiện các cuộc tấn công.. Hệ thống phát hiện xâm nhập IDS là một
Trang 1TRƯỜNG ĐẠI HỌC GIA ĐỊNH KHOA CÔNG NGHỆ THÔNG TIN
MÔN: GIÁM SÁT MẠNG
GVHD: NGUYỄN NGỌC ĐẠI
SVTH: NGUYỄN NGỌC XUÂN TRINH MSSV: 2008110243
Mã lớp học: K14DCATTT
Thành phố Hồ Chí Minh, Tháng 10 năm 2022
Trang 2MỤC LỤC
I IDS viết từng dòng lệnh? Cải tiến 3
ĐỀ XUẤT VỀ IDS 3
II Log sinh ra khó đọc? Phương pháp nào ra vào dễ? Biểu thức chính quy? 7
III Snort 2 và snort 3? 9
11 IV Tiêu chí nào đánh giá Firewall mạnh hay yếu? 11
1 Tường lửa có vai trò như thế nào? 11
2 Các loại tường lửa 12
V Truy vấn Database? Cloud 13
Các kỹ thuật phát hiện xâm nhập CSDL 13
Trang 3I IDS viết từng dòng lệnh? Cải tiến
Ngày nay, các cuộc tấn công rất đa dạng, các doanh nghiệp thường
sử dụng hệ thống phát hiện xâm nhập (IDS) để phát hiện các cuộc tấn công Có hai cách tiếp cận để thực hiện IDS: một cách phát hiện các cuộc tấn công dựa trên chữ ký và một cách dựa trên hành vi
Hệ thống phát hiện xâm nhập (IDS) là một thiết bị hoặc ứng dụng phần mềm giám sát các hoạt động của mạng hoặc hệ thống đối với các hoạt động gây hại hoặc vi phạm chính sách và đưa ra báo cáo cho các trạm quản lý Hai cách tiếp cận chính của IDS là: I) IDS dựa trên dấu hiệu vi phạm: phát hiện các cuộc tấn công thông qua các đặc điểm dấu hiệu vi phạm có sẵn Những đặc điểm này được lưu trữ trong tập cơ sở dữ liệu của IDS II) IDS dựa trên hành vi: phát hiện thông qua các hành
vi bất thường IDS phát hiện một hành vi là bất thường bởi vì đã được học trong các dữ liệu mẫu trước đó Những hành vi bình thường này được mô tả thông qua hai vectơ: Activity vector: mô tả hoạt động của một luồng trong thời gian thực Status vector: mô tả trạng thái của hệ thống
Bản đồ tự tổ chức (SOM) là một loại mạng nơron nhân tạo
(artificial neural network - ANN) được tạo ra bằng cách sử dụng học không giám sát (unsupervised learning) để tạo ra một bản đồ hai chiều của không gian đầu vào của các mẫu đào tạo SOM khác với các mạng nơron nhân tạo khác nghĩa là được sử dụng hàm lân cận để bảo toàn các thuộc tính ban đầu của không gian đầu vào Giống như hầu hết các mạng nơron khác, SOM hoạt động theo hai chế độ: I) Đào tạo: xây dựng bản đồ bằng các dữ liệu đầu vào (một quá trình cạnh tranh, còn gọi là lượng tử hóa vectơ), II) Ánh xạ: tự động phân loại một vectơ đầu vào mới Mục tiêu của việc học trong SOM là làm cho các phần khác nhau của mạng phản ứng tương tự với các mẫu đầu vào nhất định
ĐỀ XUẤT VỀ IDS
Khi phát triển IDS dựa trên hành vi, chúng ta phải đối mặt với một số khó khăn sai âm và sai dương Trong hệ thống máy tính, Sai dương: báo động khi không có cuộc tấn công Vấn đề này không nghiêm trọng, nhưng hệ thống IDS không nên đưa ra báo động trong
2
Trang 4khi không có cuộc tấn công nào IDS dựa trên hành vi hoàn toàn không thể tránh được vấn đề này Nhưng có thể học hỏi thêm kiến thức để loại bỏ dần sai dương giả Âm tính giả: không có báo động khi bị tấn công Vấn đề này rất nghiêm trọng và nguy hiểm IDS trở nên vô dụng khi nó không đưa ra bất kỳ báo động nào khi bị tấn công Những lỗi này có liên quan đến việc có quá nhiều kiến thức về
sự hiểu biết mà IDS được học trong quá trình vận hành bình thường của hệ thống và mức độ lớn hay nhỏ để xem xét hai trạng thái vận hành là giống nhau hoặc khác nhau
True positive Sự tích cực thực sự là một trạng thái tốt
khi trẻ phát hiện ra cuộc tấn công nó trẻ tìm cách trú ẩn
người lạ trước
True Negative Tiêu cực thực sự là một trạng thái bình
thường học được mà vô hại với trẻ
False positive Việc dương tính giả không gây ra bất kỳ
tác động nào đến trẻ, nhưng nó chỉ xảy ra một lần Sau đó trẻ sẽ được học các hoạt động mới của người lạ
False negative Âm tính giả được coi là trạng thái bình
thường
Trạng thái này báo động sai rất nghiêm trọng
Kết luận: Sai tiêu cực là tác động gây ảnh hưởng nhiều hơn sai tích cực Sai tích cực sẽ được loại bỏ khi IDS có nhiều kiến thức về về các trạng thái bình thường
Đối mặt với những khó khăn đã đề cập ở trên, chúng tôi đã phát triển một thuật toán để giải quyết các vấn đề về sai âm và sai dương Đồng thời, làm cho bản đồ trở nên chính xác hơn bằng cách loại bỏ
sự chồng chéo giữa nhóm bản đồ cũ và bản đồ mới Các quy trình
mà SOM đã sử dụng để học và quản lý kiến thức Bao gồm các bước sau:
Giai đoạn 0 Zero knowledge - Không có kiến thức
Lúc đầu, hệ thống IDS không có kiến thức về trạng thái bình thường
và trạng thái bất thường
Giai đoạn 1 Tạo tế bào nơ ron ngẫu nhiên
Một mảng S (n x m) của k-dimensional-vector được tạo bởi lệnh
Trang 5randinit Mỗi vectơ sẽ được gọi là nơ ron để phân biệt chúng với
vectơ huấn luyện Mỗi nơ ron có 1 trung tâm k-dimension được tạo ngẫu nhiên
Giai đoạn 2 Thu thập trạng thái Vector
Khi một sự kiện bình thường xảy ra, sự kiện này hoạt động theo một số hoạt động và làm cho hệ thống mạng tạo ra các trạng thái Các hoạt
động này được mô hình hóa như Vector hoạt động Activity Vector, vector hoạt động này có kích thước x-dimension (Đại diện cho x thông
tin) Các trạng thái hệ thống này được mô hình hóa như vector trạng
thái Status Vector, có kích thước k-dimension (Đại diện cho k
thông tin)
Giai đoạn 3 Huấn luyện
Sau quá trình training dựa trên phương pháp SOM, vị trí của các nơron trong mảng S sẽ được thiết lập để có các tính năng tốt nhất, gần nhất với sự phân bố của các Vector training
Hoạt động bình thường của hệ thống sẽ được đại diện bởi một cụm các vectơ huấn luyện và mỗi cụm vectơ huấn luyện sẽ được đặc trưng bởi một nơron Mỗi tế bào thần kinh có trung tâm đại diện cho chiều k-dimension thông tin và bán kính biểu thị bằng lỗi lượng tử hóa (Lỗi lượng tử hóa được tính bằng lệnh lỗi)
Giai đoạn 4 IDS
Trong giai đoạn phát hiện, IDS sẽ xác định trạng thái bất thường của hệ thống bằng cách so sánh với các tế bào nơron hiện tại trong bản đồ SOM Nếu khoảng cách đến bất kỳ tế bào nơron nào nhỏ hơn ngưỡng, thì hệ thống IDS sẽ xử lý một cách ngẫu nhiên và không có cảnh báo nào được nêu ra Ngược lại, nếu khoảng cách đến mỗi nơron trong mảng S lớn hơn ngưỡng, được gọi là bán kính IDS, thì hệ thống IDS sẽ coi đó là trạng thái bất thường và tạo ra báo động Bán kính IDS đóng vai trò là độ nhạy của từng nơron trong hệ thống IDS Bán kính nhỏ hơn khiến hệ thống IDS trở nên dễ bị ảnh hưởng hơn, đây được gọi là IDS dương tính giả vì IDS sẽ tạo ra báo động sai Ngược lại, bán kính lớn hơn làm cho IDS ít tạo ra cảnh báo, điều này sẽ gây ra âm tính giả
4
Trang 6Hình 2: Tiến trình hoạt động của SOM
Trong quá trình thực hiện, hệ thống IDS sẽ được cập nhật liên tục với các dữ liệu đầu vào mới và thực hiện lại giai đoạn 3 (giai đoạn training), sẽ tạo ra một bản đồ mới SOM cần kết hợp và so sánh bản
đồ cũ và bản đồ mới thành một Sự kết hợp này gây ra một số tế bào nơron có thể được chồng chéo với nhau Vì vậy chúng ta chèn một bước giữa sau giai đoạn đào tạo, bước này có trách nhiệm thu hẹp từng nơron Quá trình thu hẹp phải đảm bảo chất lượng của IDS Chất lượng này của quá trình này thể hiện thông qua việc giảm sai âm và sai dương
Hình 3: Cải tiến quá trình SOM
Thuật toán thu nhỏ của chúng tôi có hai giai đoạn: giai đoạn nhóm cụm (cluster) và giai đoạn phân chia Giai đoạn nhóm cụm lại là giai đoạn tùy chọn để tăng tốc độ khi thu hẹp Nếu các tế bào nơron là riêng biệt, giai đoạn nhóm cụm sẽ trở nên vô ích Nhưng, nếu các nơ-ron được nhóm lại với nhau, giai đoạn nhóm cụm sẽ tạo thuận tiện cho việc tính toán khoảng cách Euclide bằng cách tính khoảng cách Euclide giữa các nơ-ron trong cùng một cụm Bước này làm tăng tốc độ thu nhỏ các nơron lại bởi các nơron nhóm liền kề nhau
5
Trang 7với nhau sẽ tạo thành một cụm Nó làm cho thời gian để tính khoảng cách Euclide giữa mỗi cặp nơ ron giảm đi đáng kể
Bước này là một bước tùy chọn Nếu các tế bào thần kinh là riêng biệt, giai đoạn phân chia cụm sẽ không có ý nghĩa Nhưng, nếu các
tế bào thần kinh gần nhau và tạo thành nhiều cụm Việc phân chia cụm sẽ làm giảm số lượng tính toán khoảng cách Euclide Các nơron trong một cụm không cần phải so sánh khoảng cách với nơron trong một cụm khác
Sau khi phân cụm (tùy chọn), chúng tôi tiếp tục thu nhỏ bán kính nơron để làm cho các nơron trong bản đồ tạo được sự chồng chéo với nhau Nơron lớn hơn sẽ co lại nhiều hơn nơron nhỏ hơn
Thông tin này sẽ được đưa vào chương trình hệ thống để quan sát trạng thái bất thường trực quan Sau đó, chúng tôi sẽ xóa thông tin khi hệ thống không tốt Ví dụ, CPU được giữ ở mức 100% trong một khoảng thời gian
II.Log sinh ra khó đọc? Phương pháp nào ra vào dễ? Biểu thức chính quy?
Biểu thức chính quy (regular expression, viết tắt là regexp, regex hay regxp) là một chuỗi miêu tả một bộ các chuỗi khác, theo những quy tắc cú pháp nhất định Biểu thức chính quy thường được dùng trong các trình biên tập văn bản và các tiện ích tìm kiếm và xử lý văn bản dựa trên các mẫu được quy định
Trong các ngôn ngữ lập trình cũng dược sử dụng biểu thức chính quy một cách rộng rãi để chuẩn hóa dữ liệu đầu vào hoặc tìm kiếm theo một định dạng mẫu cho trước
Phần mà chúng ta cần học ở đây là đi sâu vào cách viết các chuổi mẫu biểu thức chính quy để thực hiện các yêu cầu trong thực tế Một phần ứng dụng của biểu thức chính quy là Validation Form hoặc làm
6
Trang 8việc với Htaccess trong lập trình website
Log ghi lại liên tục các thông báo về hoạt động của cả hệ thống hoặc của các dịch vụ được triển khai trên hệ thống và file tương ứng Log file thường là các file văn bản thông thường dưới dạng
“clear text” tức là bạn có thể dễ dàng đọc được nó, vì thế có thể
sử dụng các trình soạn thảo văn bản (vi, vim, nano…) hoặc các trình xem văn bản thông thường (cat, tailf, head…) là có thể xem được file log
Các file log có thể nói cho bạn bất cứ thứ gì bạn cần biết, để giải quyết các rắc rối mà bạn gặp phải miễn là bạn biết ứng dụng
nào Mỗi ứng dụng được cài đặt trên hệ thống có cơ chế tạo log file riêng của mình để bất cứ khi nào bạn cần thông tin cụ thể thì các log file là nơi tốt nhất để tìm
Các tập tin log được đặt trong thư mục /var/log Bất kỳ ứng dụng
khác mà sau này bạn có thể cài đặt trên hệ thống của bạn có thể sẽ
tạo tập tin log của chúng tại /var/log Dùng lệnh ls -l /var/log
để xem nội dung của thư mục này
VD: Ý nghĩa một số file log thông dụng có mặc định trên /var/log
/var/log/messages – Chứa dữ liệu log của hầu hết các thông
báo hệ thống nói chung, bao gồm cả các thông báo trong quá trình khởi động hệ thống
/var/log/cron – Chứa dữ liệu log của cron deamon Bắt đầu
và dừng cron cũng như cronjob thất bại
/var/log/maillog hoặc /var/log/mail.log – Thông tin log từ các
máy chủ mail chạy trên máy chủ
/var/log/wtmp – Chứa tất cả các đăng nhập và đăng xuất lịch sử /var/log/btmp – Thông tin đăng nhập không thành công
/var/run/utmp – Thông tin log trạng thái đăng nhập hiện tại của
mỗi người dùng
/var/log/dmesg – Thư mục này có chứa thông điệp rất quan trọng
về kernel ring buffer Lệnh dmesg có thể được sử dụng để xem các tin nhắn của tập tin này
/var/log/secure – Thông điệp an ninh liên quan sẽ được lưu trữ ở
đây Điều này bao gồm thông điệp từ SSH daemon, mật khẩu thất bại, người dùng không tồn tại
7
Trang 9III Snort 2 và snort 3?
Snort là một trong những ứng dụng được sử dụng rộng rãi nhất hệ thống phát hiện xâm nhập (IDS) và hệ thống ngăn chặn xâm nhập (IPS) kết hợp với Suricata ngày hôm nay Snort là một IDS / IPS mạng
miễn phí và miễn phí, cung cấp khả năng kiểm tra trong thời gian thực tất cả lưu lượng mạng, bất kể giao diện (WAN hay LAN) nơi chúng tôi đặt nó và mục tiêu của nó là phát hiện bất kỳ loại lưu lượng độc hại
nào và chặn nó thông qua tường lửa Rất nhanh, chúng ta sẽ thấy
phiên bản cuối cùng và ổn định của Snort 3, phiên bản mới nhất tích hợp một số lượng lớn các cải tiến so với Snort 2, hiện là phiên bản thường được sử dụng
- Sự khác biệt giữa snort 3 với snort 2:
Snort 3.0 là một sự phát triển vượt bậc của phiên bản hiện tại của Snort 2.X, phiên bản mới hiệu quả hơn, cung cấp hiệu suất tốt hơn, khả năng
mở rộng, khả năng sử dụng và cho phép khả năng mở rộng lớn Một số cải tiến chính được tích hợp trong phiên bản mới này như sau:
Hỗ trợ nhiều luồng xử lý gói, điều này cho phép Snort tiêu thụ ít tài nguyên hơn, đặc biệt là về RAM
Truy cập vào hơn 200 plugin
Hỗ trợ Hyperscan, tính năng này rất quan trọng vì nó dẫn đến các mẫu, ký tự nội dung nhanh hơn và tương thích với PCRE trong quá trình đánh giá các chữ ký khác nhau mà chúng tôi đã đăng ký trong Snort
Việc xử lý giao thức lớp truyền tải TCP đã được viết lại hoàn toàn, để có hiệu suất tốt nhất có thể
Một trình phân tích cú pháp quy tắc mới và cú pháp quy tắc mới đã được thêm vào Ngoài ra, các nhận xét trong các quy tắc cũng mới
Các quy tắc đối tượng chia sẻ được cải tiến đã được kết hợp, ngoài ra, có thể thêm các quy tắc cho lỗ hổng 0day
Màn hình hiệu suất mới, cấu hình thời gian và không gian
Nếu CPU của bạn có nhiều lõi, khả năng mở rộng quy mô sẽ
đơn giản hơn nhiều để tận dụng tốt nhất phần cứng
Giờ đây, cho phép bạn xử lý tải trọng thô và kết hợp hai ổ cắm để kiểm tra
Trang 10Trong hình ảnh sau, bạn có thể thấy sự so sánh giữa Snort 2 và Snort 3 được lấy trực tiếp từ blog chính thức của Snort:
IV Tiêu chí nào đánh giá Firewall mạnh hay yếu?
Trang 111 Tường lửa có vai trò như thế nào?
Firewall giúp kiểm soát luồng thông tin giữa Intranet và Internet,
chúng phát hiện và phán xét những hành vi được truy cập và
không được truy cập vào bên trong hệ thống, đảm bảo tối đa sự an toàn thông tin
Tính năng chính của dòng thiết bị này có thể được tóm tắt ở những gạch đầu dòng dưới đây:
- Cho phép hoặc vô hiệu hóa các dịch vụ truy cập ra bên ngoài, đảm bảo thông tin chỉ có trong mạng nội bộ
- Cho phép hoặc vô hiệu hóa các dịch vụ bên ngoài truy cập
vào trong
- Phát hiện và ngăn chặn các cuộc tấn công từ bên ngoài
- Hỗ trợ kiểm soát địa chỉ truy cập (bạn có thể đặt lệnh cấm hoặc
là cho phép)
- Kiểm soát truy cập của người dùng
- Quản lý và kiểm soát luồng dữ liệu trên mạng
- Xác thực quyền truy cập
- Hỗ trợ kiểm soát nội dung thông tin và gói tin lưu chuyển trên
hệ thống mạng
- Lọc các gói tin dựa vào địa chỉ nguồn, địa chỉ đích và số Port (hay còn cổng), giao thức mạng
- Người quản trị có thể biết được kẻ nào đang cố gắng để truy cập vào hệ thống mạng
- Firewall hoạt động như một Proxy trung gian
- Bảo vệ tài nguyên của hệ thống bởi các mối đe dọa bảo mật
10
Trang 12- Cân bằng tải: Bạn có thể sử dụng nhiều đường truyền internet
cùng một lúc, việc chia tải sẽ giúp đường truyền internet ổn định hơn rất nhiều
2 Các loại tường lửa
Dựa trên những nhu cầu sử dụng của hệ thống mà Firewall được phân thành 2 loại chính bao gồm:
Personal Firewall và Network Firewall
Personal Firewall: Loại này được thiết kế để bảo vệ một máy tính trước sự truy cập trái phép từ bên ngoài Bên cạnh đó thì
Personal Firewall còn được tích hợp thêm tính năng như theo dõi các phần mềm chống virus, phần mềm chống xâm nhập để bảo vệ
dữ liệu Một số Personal Firewall thông dụng như: Microsoft
Internet connection firewall, Symantec personal firewall, Cisco Security Agent… Loại Firewall này thì thích hợp với cá nhân bởi
vì thông thường họ chỉ cần bảo vệ máy tính của họ, thường được tích hợp sẵn trong máy tính Laptop, máy tính PC…
Network Firewalls: Được thiết kế ra để bảo vệ các host trong mạng trước sự tấn công từ bên ngoài Chúng ta có các Appliance-Based network Firewalls như Cisco PIX, Cisco ASA, Juniper
NetScreen firewall, Nokia firewalls, Symantec’s Enterprise Firewall Hoặc một số ví dụ về Software-Base firewalls include Check Point’s Firewall, Microsoft ISA Server, Linux-based IPTables
=> Điểm khác nhau giữa 2 loại Firewall này đó là số lượng host được Firewall bảo vệ Bạn hãy nhớ 1 điều là Personal firewall chỉ bảo vệ cho một máy duy nhất còn Network firewall lại khác, nó sẽ bảo vệ cho
cả một hệ thống mạng máy tính
V.Truy vấn Database? Cloud
Thông thường, tấn công CSDL có thể phân loại thành tấn công bên trong và tấn công bên ngoài Phát hiện tấn công bên trong thường khó hơn rất nhiều so với tấn công bên ngoài, vì tấn công bên trong được thực hiện bởi những người có các đặc quyền truy cập vào hệ thống nhưng lại thực hiện hành vi độc hại Do đó, phát hiện tấn công bên trong là một thách thức đối với các IDS nói chung, đặc biệt là IDS về CSDL
11