CHƯƠNG 1: TỔNG QUAN VỀ PHÒNG CHỐNG XÂM NHẬP MẠNG
1.1. Những mối đe dọa đối với bảo mật
Trước khi tìm hiểu các phương thức xâm nhập hệ thống và phòng chống, chúng
ta cần phân biệt được các mối đe dọa đối với bảo mật cũng như mức độ nghiêm trọng
của chúng. Từ đó chúng ta có thể đưa ra các đánh giá chính xác và cách phịng chống
một cách hợp lí nhất. Những mối đe dọa được biết đến có thể phân chia dựa theo cấu
trúc hoặc vị trí tấn công.
1.1.1. Phân loại theo cấu trúc
Mối đe dọa tấn công vào một hệ thống có thể đến từ rất nhiều loại. Phổ biến nhất
là các hacker mới vào nghề, còn ít kiến thức và khơng có kinh nghiệm, thực hiện việc
tấn công bằng cách sử dụng công cụ hoặc thực hiện tấn cơng DoS (mối đe dọa khơng
có cấu trúc). Hoặc việc tấn công được thực hiện bởi các hacker thực thụ hoặc cả một tổ
chức (mối đe dọa có cấu trúc), họ là những người có kiến thức và kinh nghiệm cao, nắm
rõ việc hoạt động của các hệ thống, giao thức mạng cũng như các phương pháp thường
được sử dụng để ngăn chặn trong các firewall. Đây là mối đe dọa khó ngăn ngừa và
phịng chống nhất đối với các hệ thống mạng.
ØNhững mối đe dọa khơng có cấu trúc
Những mối đe dọa khơng có cấu trúc được gây ra bởi những kẻ tấn cơng ít có
khả năng lập trình và hầu hét chỉ sử dụng cơng cụ hack và script được cung cấp trên
Internet.
ØNhững mối đe dọa có cấu trúc
Những mối đe dọa có cấu trúc được biết đến là những hành động cố ý, có động
cơ và kỹ thuật cao. Những kẻ tấn cơng có trình độ và kỹ năng để lập trình tạo ra các
cơng cụ mới, sử dụng các kỹ thuạt hạk phức tạp và hiện đại hoặc chỉnh sửa và sự dụng
các công cụ theo mong muốn của chúng.
1.1.2. Phân loại theo vị trí tấn cơng
ØNhững mối đe dọa từ bên ngồi
Đây là những mối đe dọa phổ biến, các cuộc tấn công được gây ra bởi những kẻ
khơng có quyền nào trong hệ thống mục tiêu thông qua Internet. Những mối đe dọa loại
này thường được các doanh nghiệp đặc biệt chú ý và đề phịng.
Mối đe dọa bên ngồi là việc các hacker cố gắng xâm nhập vào một hệ thống mạng nào
đó bằng một vài kỹ thuật hay việc phá hoại truy cập hệ thống (DoS, DDoS…). Xây dựng
1
hệ thống firewall và cảnh báo để ngăn ngừa các mối đe dọa từ bên ngồi là việc mà ccs
cơng ty và tổ chức thường phải bỏ nhiều thời gian và tiền bạc để đầu tư phát triển.
ØNhững mối đe dọa từ bên trong
Khi những kẻ tấn cơng có một hoặc một vài quyền trong hệ thống và thực hiện
cuộc tấn công từ một khu vực tin cậy trong mạng thì ta gọi đó là những cuộc tấn cơng
từ bên trong.
Mối đe dọa bên trong là kiểu tấn công được thực hiện từ một cá nhân hoặc một tổ
chức được tin cậy trong mạng và có một vài quyền hạn để truy cập vào hệ thống. Hầu
hết chúng ta chỉ quan tâm xây dựng một hệ thống firewall và giám sát dữ liệu truy cập
ở các đường biên mạng mà ít để ý đến các truy cập trong mạng nội do sự tin tưởng vào
các chính sách được người quản trị quy định trong hệ thống. Do sự bảo mật trong một
mạng local thường lỏng lẻo nên đây là môi trường thường được các hacker sử dụng để
tấn công hệ thống.
Mối đe dọa bên trong thường được thực hiện bởi các nhân viên có bất đồng với
cơng ty, các gián điệp kinh tế hay do một máy client đã bị hacker chiếm quyền truy cập.
Mối đe dọa này thường ít được để ý và phịng chống vì các nhân viên có thể truy cập
vào mạng và dữ liệu quan trọng của sever.
1.2. Các phương thức xâm nhập và phòng chống
Tấn cơng (attack) là hoạt động có chủ ý của kẻ phạm tội lợi dụng các tổn
thương của hệ thống thông tin và tiến hành phá vỡ tính sẵn sàng, tính tồn vẹn và tính
bí mật của hệ thống thơng tin.
1.2.1. Tấn công từ chối dịch vụ (Denial of Service – DoS)
Tấn công từ chối dịch vụ là tên gọi chung của cách tấn cơng làm cho một hệ thốn
nào đó bị quá tải không thể cung cấp dịch vụ, làm gián đoạn hoạt động của hệ thống
hoặc hệ thống phải ngưng hoạt động.
Tùy theo phương thức thực hiện mà nó được biết dưới nhiều tên gọi khác nhau:
Khởi đầu là lợi dụng sự yếu kém của giao thức TCP (Transmision Control
Protocol) để thực hiện tấn công từ chối dịch vụ DoS (Denial of Service). DoS là cuộc
tấn công từ một người hoặc một nhóm người nào đó nhằm làm tê liệt hệ thống bị tấn
công, làm cho người dùng không thể truy xuất dữ liệu hay thực hiện bất kỳ một công
việc nào. DoS không cho phép ủy quyền truy cập đến máy móc hoặc dữ liệu, ngăn chặn
người dùng hợp pháp truy cập hệ thống của dịch vụ.
2
Tiếp theo là tấn công từ chối dịch vụ phân tán DDoS (Distributed DoS). DdoS
được tiến hành từ một hệ thống các máy tính cực lớn trên Internet, và thường dựa vào
các dịch vụ có sẵn trên các máy tính trong mạng BOTNET. Đây là dạng tấn công cực
kỳ nguy hiểm và rất khó phát hiện bởi nó được sinh ra từ nhiều địa chỉ trên Internet. Khi
cuộc tấn công DdoS xảy ra, rất khó có thể ngưng lại vì Firewall có teher ngăn chặn các
gói dữ liệu đến nhưng nó sẽ dễ dàng tràn ngập tại kết nối Internet.
Mới nhất là tấn công từ chối dịch vụ theo phương pháp phản xạ phân tán DRDoS
(Distributed Reflection DoS).
Một số phương pháp phịng chóng tấn cơng DdoS:
-
Phịng ngừa các điểm yếu của ứng dụng: Hacker có thể lợi dụng các điểm yếu
trong tầng ứng dụng để gây ra lỗi tràn bộ đệm dẫn đến dịch vụ bị chấm dứt. Các lỗi chủ
yếu thường được tìm thấy trên các ứng dụng mạng nội bộ của Windows, các chương
trình Web, DNS,...Chính vì vậy cập nhập bản là một những yêu cầu quan trọng cho việc
phịng ngừa.
-
Kiểm sốt số lượng u cầu SYN-ACK tới hệ thống mạng
-
Giới hạn số lượng kết nối từ một nguồn cụ thể tới server
-
Phát hiện và ngăn chặn tấn cơng tới hạn tố độ thiết lệp kết nối: Có thể áp dụng
bộ lọc để giới hạn số lượng kết nối trung bình. Bộ lọc sẽ xác định ngưỡng tốc độ kết nối
cho từng đối tượng mạng.
1.2.2. Nghe lén (Sniffer)
Sniffing là một hình thức nghe lén trên hệ thống mạng dựa trên những đặc điểm
của cơ chế TCP/IP.
Sniffer ban đầu là một kỹ thuật bảo mật, được phát triển nhằm giúp các nhà
quản trị mạng khai thác mạng hiệu quả hơn và có thể kiểm tra lỗi các dữ liệu vào mạng
cũng như các dữ liệu trong mạng. Sau này, các hacker dùng phương pháp này để lấy
cắp mật khẩu hay các thông tin nhạy cảm khác.
Biến thể của sniffer là các chương trình nghe lén bất hợp pháp như: cơng cụ nghe
lén yahoo, ăn cắp password email…
Chúng ta có thể ngăn ngừa xâm phạm trái phép sử dụng sniffers bằng các cách sau:
-
Xác thực Kỹ thuật xác thực hiện bao gồm hai yếu tố: personal indentification
number (số nhận dạng cá nhân) và token card (xác thực người dung) để xác thực một
thiết bị hoặc một phần mềm ứng dụng.
3
-
Dùng switch thay vì dùng bridge, hup nhằm hạn chế các gói được broadcast trong
mạng và làm giảm ảnh hưởng của sniffer mặc dù khơng thể ngăn chặn hồn tồn sniffers.
-
Mã hóa: mã hóa tất cả các thơng tin trên mạng khi hacker dùng sniffer thì chỉ có
thể bắt được các gói dữ liệu đã mã hóa.
1.2.3. Port scan (Quét cổng)
Scan port là phương pháp thường được thực hiện trực tiếp trên một host hoặc một
mạng nhằm mục đích nhận biết các dịch vụ mà host đó cung cấp. Hacker có thể dựa trên
thơng tin thu nhận được được để tìm cách tấn cơng, khai thác vào servo đó.
Để hạn chế và khắc phục loại tấn cơng này, có thể sử dụng Firewall hoặc IDS/IPS
nhằm phát hiện, cảnh báo và ngăn chặn thăm dị và sau đó là xâm nhập mạng.
Port scanning là một quá trình kết nối các cổng (TCP và UDP) trên một hệ thống
mục tiêu nhằm xác định xem dịch vụ nào đang “chạy” hoặc đang trong trạng thái “nghe”.
Xác định các cổng nghe là một công việc rất quan trọng nhằm xác định được loại hình
hệ thống và những ứng dụng đang được sử dụng.
Port scanning thực hiện các chức năng:
-
Xác định máy đang ở cổng nào.
-
Xác định hệ thống đang sử dụng dịch vụ nào. Mỗi cơng cụ có cơ chế port scan
riêng.
1.2.4. ARP Spoofing (giả mạo ARP)
ARP là một giao thức của lớp 2, chức năng của nó dùng để định vị một host trong
một segment mạng bằng cách phân giải địa chỉ IP ra địa chỉ MAC.ARP thực hiện điều
đó thơng qua một tiến trình broadcast (quảng bá) gói tin đến tất cả các host trong mạng,
gói tin đó chứa địa chỉ IP của host cần giao tiếp. Các host trong mạng đều nhận được trả
lời lại, cịn lại tự động drop gói tin. Kỹ thuật giả mạo ARP lợi dụng điểm yếu của giao
thức này đó là khơng có sự xác thực khi gửi các gói tin ARP reply với địa chỉ IP là một
máy trong mạng nhưng địa chỉ MAC lại là giả hoặc MAC của máy tấn công. Như vậy
máy nạn nhân khi nhận được các gói tin giả này sẽ tưởng nhầm đối tác của mình có địa
chỉ MAC do người tấn công gửi đến sai lệch trong gửi/nhận thông tin.
4
1.3. Các phương pháp bảo mật trong an ninh mạng
1.3.1. Firewall
1.3.1.1. Giới thiệu
Firewall là một thiết bị, hay một hệ thống điều khiển truy cập mạng, nó có thể là
phần cứng hoặc phần mềm hoặc kết hợp cả hai.
Firewall thường được đặt tại mạng vành đai để đóng vai trị như cổng nối
(gateway) bảo mật giữa một mạng tin cậy và mạng khơng tin cậy, có thể giữa Intranet
và Internet hoặc giữa mạng của doanh nghiệp chủ với mạng của đối tác.
Firewall được thiết kế để ngăn chặn tất cả các lưu lượng không được phép và cho phép
các lưu lượng được phép đi qua nó. Vì vậy, thiết bị firewall thường bao gồm hai giao
tiếp mạng (network interface): một nối với mạng bên trong (intranet: mạng cần bảo vệ)
và một nối với mạng bên ngồi (Internet: mạng khơng tin cậy).
Hình 1. 1 Vị trí của firewall trong hệ thống mạng
Firewall đóng vai trị như một getway, nhưng nhiệm vụ của nó khác với router.
Router là thiết bị mạng, thường được sử dụng cho mục tiêu định tuyến lưu lượng mạng
(có thể từ chối lưu lượng nào đó). Trong khi đó, firewall là thiết bị bảo mật, có nhiệm
vụ giám sát và điều khiển lưu lượng mạng (chỉ cho phép lưu lượng thích hợp đi qua).
Firewall cung cấp một cơ chế cấu hình linh hoạt, nó có thể được cấu hình để cho phép
hoặc cấm các lưu lượng dựa trên dịch vụ, địa chỉ IP của nguồn hoặc đích, hoặc ID của
người yêu cầu sử dụng dịch vụ. Nó cũng có thể được cấu hình để ghi lại (log) tất cả
các lưu lượng đã đi qua nó.
1.3.1.2. Phân loại Firewall
Firewall được chia làm 2 loại gồm: Firewall cứng và Firewall mềm.
a.
Đặc điểm Firewall cứng
Firewall cứng nằm giữa mạng máy tính cục bộ và Internet, Firewall cứng sẽ kiểm tra
tất cả các dữ liệu đến từ Internet, đi qua các gói dữ liệu an tồn trong khi chặn các gói
dữ liệu nguy hiểm tiềm ẩn.
5
Hình 1. 2 Firewall cứng
Để bảo vệ đúng mạng mà không cản trở hiệu suất, tường lửa firewall cứng yêu
cầu người thiết lập phải có kiến thức chuyên sâu và do đó có thể khơng phải là giải pháp
khả thi cho các cơng ty khơng có bộ phận cơng nghệ thông tin chuyên dụng. Tuy nhiên,
đối với các doanh nghiệp có nhiều máy tính, có thể kiểm sốt an ninh mạng từ một thiết
bị đơn giản hóa cơng việc.
Các doanh nghiệp thường có tường lửa phần cứng chuyên dụng có nhiều công cụ
khác nhau để giúp chặn các mối đe dọa ở ngoại vi của mạng. Bằng cách này, người quản
trị có thể lọc email và lưu lượng truy cập web (trong số những thứ khác) cho tất cả mọi
người.
Tường lửa phần cứng được tích hợp vào bộ định tuyến nằm giữa máy tính và
Internet. Người quản trị thường sử dụng lọc gói, có nghĩa là họ quét tiêu đề gói để xác
định nguồn gốc, nguồn gốc, địa chỉ đích và kiểm tra với quy tắc người dùng hiện có
được xác định để đưa ra quyết định cho phép từ chối.
Tường lửa phần cứng được thiết lập cho thời gian phản hồi nhanh hơn do phần cứng và
phần mềm được đồng bộ một cách tối đa giúp phát huy hết hiệu năng của tường lửa
phần cứng giúp nó có thể xử lý nhiều lưu lượng truy cập hơn.
Tường lửa có hệ điều hành riêng ít bị tấn cơng hơn, điều này lần làm giảm nguy cơ bảo
mật và ngoài ra, tường lửa phần cứng có các điều khiển bảo mật nâng cao.
Tường lửa phần cứng là một thành phần mạng nội bộ, nó có thể được quản lý tốt hơn.
b.
Đặc điểm Firewall mềm
Firewall mềm được cài đặt trên các máy tính cá nhân trên mạng. Khơng giống
như Firewall cứng, Firewall mềm có thể dễ dàng phân biệt các chương trình trên máy
tính, điều này cho phép dữ liệu vào một chương trình trong khi chặn một chương trình
khác. Firewall mềm cũng có thể lọc dữ liệu gửi đi, cũng như các phản hồi từ xa cho các
6
yêu cầu gửi đi. Nhược điểm chính của Firewall mềm cho một doanh nghiệp là: yêu cầu
cài đặt, cập nhật và quản trị trên mỗi máy tính cá nhân.
Firewall mềm được cài đặt trên các máy chủ riêng lẻ giúp chặn mỗi yêu cầu kết
nối và sau đó xác định xem u cầu có hợp lệ hay khơng. Firewall xử lý tất cả các yêu
cầu bằng cách sử dụng tài nguyên máy chủ.
Trong khi so sánh với Firewall cứng, Firewall mềm hoặc Firewall Opensource
(tường lửa mã nguồn mở) dễ cấu hình và thiết lập hơn.
Firewall mềm cung cấp cho người dùng quyền kiểm sốt hồn tồn lưu lượng
truy cập Internet của họ thông qua giao diện thân thiện với người dùng u cầu ít hoặc
khơng có kiến thức.
1.3.1.2. Khái niệm công nghệ tường lửa thế hệ mới
An ninh mạng tại hầu hết các doanh nghiệp hiện nay gặp phải những vấn đề như
bị phân tán hay bị hỏng gây ra những nguy cơ đe doạ không mong muốn và tốn nhiều
chi phí. Giải pháp an tồn an ninh mạng truyền thống đã không theo kịp sự phát triển và
thay đổi của các ứng dụng, các mối đe doạ và kết nối mạng. Hơn nữa các biện pháp
doanh nghiệp đưa ra để khắc phục vấn đề này hầu hết không mạng lại hiệu quả. Như
vậy một yêu cầu thực tiễn và cấp bách đặt ra đó là phải tái tạo lại an tồn an ninh mạng
và có biện pháp bảo vệ hệ thống mạng một cách hiệu quả nhất.
Dựa trên những nhu cầu thực tiễn của thị trường công nghệ thông tin như vậy,
các chuyên gia trong lĩnh vực an minh mạng đã cho ra đời khái niệm công nghệ tường
lửa thế hệ mới và các dòng sản phẩm tường lửa thế hệ mới. Với sự tích hợp các cơng
nghệ tiên tiến hiện đại nhất trong phát hiện, ngăn chặn và phịng chống các cuộc tấn
cơng, mối đe doạ nguy hiểm đã giúp các doanh nghiệp có một giải pháp hiệu quả trong
việc bảo vệ an ninh mạng của công ty mình.
Tường lửa thế hệ mới (Next Generation Firewalls – NGFWs) là nền tảng mạng
tích hợp đầy đủ tường lửa truyền thống với các thiết bị mạng có chức năng lọc như inline
deep packet inspection (DPI), intrucsion prevention system (IPS) và các kỹ thuật ngăn
chặn khác như SSL, SSH, lọc website, quản lý chất lượng dịch vụ, quản lý băng thông,
kiểm tra chống virus và quản lý sự tham gia của bên thứ ba.
NGFWs được xây dựng dựa trên nền tảng bảo mật mạng của doanh nghiệp,
NGFWs “fix the ploblem at the it’s core”. NGFWs phân loại lưu lượng dữ liệu dựa vào
các đặc tính của ứng dụng để cho phép khả năng hiển thị và kiểm sốt tồn bộ ứng dụng
chạy trong mạng doanh nghiệp.
7
Các yêu cầu chức năng cần thiết cho một NGFWs hoạt động hiệu quả bao gồm:
•
Xác định ứng dụng khơng cần chú ý đến cổng, giao thức, các kỹ thuật lẩn tránh,
mã hoá SSL trước khi làm bất cứ điều gì khác.
•
Cung cấp các biện pháp bảo vệ để chống lại một loại các mối đe doạ ở thời gian
thực, bao gồm cả những người hoạt động ở lớp ứng dụng.
•
Cung cấp khả năng hiện thị, kiểm sốt chính sách dựa trên các ứng dụng bao gồm
cả các chức năng riêng lẻ.
•
Khơng chỉ kết hợp mà phải tích hợp khả năng phịng chống xâm nhập của tường
lửa truyền thống.
•
Nhận dạng chính xác người sử dụng và sau đó sử dụng thơng tin nhận dạng như
một thuộc tính trong chính sách giám sát.
•
Hỗ trợ mutil-gigabit.
Khả năng điển hình của tường lửa truyền thống là lọc gói tin, dịch địa chỉ mạng
và địa chỉ cổng mạng (NAT), kiểm tra trạng thái và mạng riêng ảo (VPN). Khả năng
phòng chống xâm nhập điển hình là chống lại các lỗ hổng và những dấu hiệu của sự đe
doạ, phỏng đoán các dấu hiệu và sự xâm nhập.
Chìa khố cốt lõi và điểm mạnh của NGFWs là làm tất cả các khả năng một tưởng lửa
truyền thống với khả năng tiên tiến như: tích hợp các cơng nghệ tiên tiến, hiệu suất cao
và các tính năng khác nhằm cung cấp một giải pháp mạng doanh nghiệp hiệu quả.
1.3.1.3. Một số công nghệ, kỹ thuật sử dụng trong NGFWs
ØHệ thống phát hiện xâm nhập mạng IDS
IDS (Intrusion Detection System) là hệ thống giám sát lưu thông mạng (có thể là
phần cứng hoặc phần mềm), có khả năng nhận biết những hoạt động khả nghi hay những
hành động xâm nhập trái phép trên hệ thống mạng trong tiến trình tấn cơng, cung cấp
thơng tin nhận biết và đưa ra cảnh báo cho hệ thống, nhà quản trị. IDS có thể phân biệt
được các cuộc tấn cơng từ nội bộ hay tấn cơng từ bên ngồi. IDS phát hiện dựa trên các
dấu hiệu đặc biệt về nguy cơ đã biết hay dựa trên so sánh lưu thông mạng hiện tại với
baseline (thơng số chuẩn của hệ thống có thể chấp nhận được) để tìm ra các dấu hiệu
bất thường.
ØHệ thống ngăn chặn xâm nhập mạng IPS
IPS (Intrusion Prevention System) là một hệ thống có thể phát hiện và ngăn chặn
sự xâm nhập từ bên ngoài vào các hệ thống máy tính.
8
IPS là một phương pháp tiếp cận an ninh mạng bằng cách ưu tiên sử dụng các
công nghệ tiên tiến để phát hiện và ngăn chặn các nỗ lực xâm nhập vào hệ thống máy
tính. IPS kiểm tra các luồng lưu lượng ra/ vào một hệ thống máy tính hoặc mạng máy
tính nhằm mục đích vi phạm an ninh. Nếu phát hiện mối đe dọa thì nó sẽ có những hành
động bảo vệ như ngăn chặn gói tin hoặc ngắt toàn bộ kết nối. IPS kiểm tra, ghi chép lại
một cách chi tiết các hành động đang đăng nhập vào hệ thống và gửi cảnh báo cho hệ
thống hoặc quản trị mạng. Các IPS khác nhau có phương thức khác nhau trong việc
kiểm tra các luồng dữ liệu để phát hiện các mối đe dọa, xâm nhập.
ØCông nghệ giám sát an ninh mạng NSM
Giám sát an ninh mạng (Network Security Mornitoring) là việc thu thập các thông
tin trên các thành phần của hệ thống, phân tích các thơng tin, dấu hiệu nhằm đánh giá
và đưa ra các cảnh báo cho người quản trị hệ thống.
Đối tượng của giám an ninh mạng là tất cả các thành phần, thiết bị trong hệ thống mạng:
•
Các máy trạm
•
Cơ sở dữ liệu
•
Các ứng dụng
•
Các server
•
Các thiết bị mạng
Ø Sử dụng PCAP log tại thơng tin của lưu lượng dữ liệu mạng
PCAP (packet capture) bao gồm những giao diện lập trình ứng dụng (API) dùng
để chặn bắt và phân tích các lưu lượng dữ liệu trên mạng. PCAP thực hiện các chức
năng lọc gói dữ liệu theo những luật của người dùng khi chúng được truyền tới ứng
dụng, truyền những gói dữ liệu thơ tới mạng, thu thập thông tin thống kê lưu lượng
mạng. Đối với các hệ thống thuộc họ Unix ta có thư viện libpcap, cịn đối với Window
ta có thư viện được port từ libpcap là winpcap
1.3.1.4. Chức năng của NFGWs
Ø Xác định ứng dụng
Thiết lập cổng và giao thức là bước quan trọng đầu tiên trong việc xác định ứng
dụng nhưng đó là chưa đủ. Nhận dạng, xác định ứng dụng một cách nhanh chóng và
mạnh mẽ thơng qua việc kiểm tra và cho phép kiểm sốt chặt chẽ các dịng chảy (lưu
lượng truy cập) của session thông qua một tường lửa dựa trên ứng dụng cụ thể đang
chạy thay vì chỉ dựa trên các thiết lập cơ bản thì khơng thể nhận rõ được các giao tiếp
mạng.
9
Xác thực rõ ràng các ứng dụng là mục đích cuả phân loại lưu lượng dữ liệu mạng tại
trung tâm của NGFWs. Nó địi hỏi tiếp cận đa yếu tố để xác định danh tính của các
ứng dụng trên mạng, bất kể cổng, giao thức, mã hoá hay các kỹ thuật lần tránh để vượt
qua tường lửa. Kỹ thuật nhận dạng ứng dụng được sử dụng trong NGF bao gồm:
•
Phát hiện giao thức ứng dụng và giải mã
Phát hiện các giao thức ứng dụng (ví dụ: HTTP, FTP…) và nếu SSL được sử dụng thì
sẽ tiến hành giải mã các lưu lượng dữ liệu để phân tích các dữ liệu đó. Lưu lượng dữ
liệu được mã hố lại sau khi tất cả các kỹ thuật nhận dạng được hoạt động.
•
Giải mã giao thức ứng dụng
Xác định các giao thức đã được phát hiện là “thực tế” hay nó được sử dụng như là một
“đường hầm” để ẩn đi các ứng dụng (ví dụ: Yahoo! Messenger có thể được ẩn bên trong
HTTP)
•
Dấu hiệu ứng dụng
Dấu hiệu ngữ cảnh dựa trên tìm kiếm các đặc tính duy nhất và đặc điểm tồn tác để
xác định ứng dụng không phụ thuộc vào cổng và giao thức được sử dụng. Điều này
bao gồm khả năng phát hiện các chức năng cụ thể trong các ứng dụng (chẳng hạn như
chuyển tập tin trong IM (Instant Messenger) session)
•
Tìm kiếm
Đối với các dữ liệu vượt q khả năng của phân tích dấu hiệu thì khi đó phân tích
Heuristics (hành vi) được áp dụng để nhận dạng các ứng dụng phức tạp, chẳng hạn
như P2P (Peer-to-peer) hay công cụ VoIP (Voice over Internet Protocol).
Ø
Xác định người dùng
Công nghệ nhận dạng người dùng sử dụng liên kết các địa chỉ IP để nhận dạng người
dùng cụ thể, tạo điều kiện cho khả năng hiển thị và kiểm soát các hoạt động mạng trên
một cơ sở cho mỗi người dùng. Tích hợp chặt chẽ với các thư mục LDAP (Lightweight
Directory Access Protocol là một giao thức ứng dụng truy cập các cấu trúc thư mục. Nó
được thiết kế trên giao thức Internet TCP/IP), chẳng hạn như Microsoft Active Directory
(dịch vụ thư của Microsoft), hỗ trợ mục tiêu này theo hai cách:
-
Thứ nhất, nó ln kiểm chứng và duy trì các mối quan hệ với người sử đụng địa
chỉ IP bằng cách kết hợp các giải pháp như: giám sát đăng nhập, các kỹ thuật captive
portal…
-
Tiếp theo nó giao tiếp với AD để thu thập các thông tin người dùng. Các chi tiết,
thông tin sau khi thu thập được sẽ được lưu trữ để hỗ trợ cho các nhiệm vụ:
10
-
Đạt được tầm nhìn vào người cụ thể chịu trách nhiệm cho tất cả ứng dụng, nội
dung và mối đe doạ của lưu lượng truy cập trên mạng.
-
Cho phép sử dụng nhận dạng như là một biến trong chính sách kiểm soát truy
cập.
-
Tạo điều kiện xử lý sự cố, phản ứng sự cố và báo cáo. Với việc nhận dạng người
dùng, bộ phận IT có được một cơ chế mạnh mẽ để giúp kiểm soát việc sử dụng các ứng
dụng một cách thông minh.
Ø
Xác định nội dung
Việc xác định nội dung truyền vào của tường lửa thế hệ mới với các khả năng
chưa từng có ở các tường lửa trước đây của các doanh nghiệp như: phòng ngừa các mối
đe doạ thời gian thực trong lưu lượng truy cập cho phép, kiểm soát các hoạt động truy
cập Web, các tập tin và lọc dữ liệu.
Threat prevention (phòng chống mối đe doạ): thành phần này ngăn chặn các spyware,
virus, các lỗ hổng xâm nhập mạng mà không phụ thuộc vào lưu lượng ứng dụng.
Bộ giải mã ứng dụng: Xử lý dòng dữ liệu và kiểm tra nó để xác định cụ thể các
mối đe doạ.
Quét vi-rút và phần mềm gián điệp dựa trên luồng: Quét lưu lượng truy cập ngay
sau khi nhân được các gói tin đầu tiền của một tập tin thay vì qt sau khi nhận được
tồn bộ tập tin vào bộ nhớ để tối đa hố thơng lượng và giảm thiểu bộ nhớ.
Định dạng chữ ký mối đe dọa thống nhất: Tăng hiệu suất bằng cách tránh sự cẩn
thiết phải sử dụng công cụ quét riêng biệt cho từng mối đe doạ. Viruses, spyware, các
lỗ hổng đều có thể được phát hiện trong một lần.
Hệ thống ngăn chặn xâm nhập (IPS): Chương trình mạnh mẽ cho việc bình
thường hoá các lưu lượng truy cập và chống phân mảnh được nối bởi các giao thức bất
thường, hành vi bất thường, cơ chế phát hiện heuristic để cung cấp bảo vệ trên phạm vi
rộng nhất của cả hai mối đe doạ là mối đe doạ đã biết và mối đe doạ chưa biết.
Lọc URL: Mặc dù không bắt buộc, nhưng lọc URL (Hệ thống định vị tài nguyên
thống nhất) đôi khi cũng được dùng để phân loại nội dung. Việc phân tích dựa trên cơ
sở dữ liệu URL cho phép các quản trị viên giám sát và kiểm soát hoạt động truy cập
Web của người sử dụng. Được sử dụng kết hợp với xác định người dùng, chính sách sử
dụng Web, thậm chí được thiết lập trên mỗi cơ sở sử dụng, hơn nữa là bảo vệ các doanh
nghiệp từ các quy định, rủi ro liên quan đến pháp lý.
11
Lọc tệp và dữ liệu: Sử dụng giải pháp kiểm tra chuyên sâu ứng dụng, tập tin và
lọc dữ liệu cho phép thực thi các chính sách làm giảm nguy cơ của các tập tin trái phép
và chuyển giao dữ liệu. Khả năng bao gồm: ngăn chặn các file kiểu thực tại của file
(không dựa vào phần mở rộng) và khả năng kiểm sốt việc chuyển giao các mơ hình dữ
liệu nhạy cảm. Thành phần này bổ sung chi tiết cho nhận dạng ứng dụng, mà đối với
nhiều ứng dụng cung cấp khả năng kiểm soát tập tin trong một ứng dụng riêng lẻ.
Với việc xác định nội dung, bộ phận IT có được khả năng ngăn chặn các mối đe doạ,
giảm việc sử dụng không hợp lệ của Internet và giúp ngăn chặn rỏ rỉ dữ liệu.
Ø
Chính sách kiểm soát
Xác định các ứng dụng sử dụng (nhận dạng ứng dụng), những người đang sử
dụng ứng dụng (nhận dạng người sử dụng), và những gì họ đang sử dụng cho ứng dụng
(xác định nội dung) là một bước quan trọng đầu tiên trong việc tìm hiểu về lưu lượng
truy cập đi qua mạng. Tìm hiểu các ứng dụng làm những gì, các cổng mà nó sử dụng,
cơng nghệ cơ bản của nó, và hành vi của nó là bước tiếp theo để đưa ra một quyết định
sáng suốt về cách xử lý với các ứng dụng. Khi một bức tranh hoàn chỉnh về cách sử
dụng là đã đạt được, tổ chức có thể áp dụng chính sách với một loạt các phản ứng chi
tiết hơn và thích hợp hơn thay vì chỉ đơn giản là "cho phép" hoặc "từ chối" - các tùy
chọn chỉ có sẵn trong cổng của tường lửa truyền thống. Điều này có thể được thực hiện
bởi sự kết hợp của nhận dạng ứng dụng, người dùng, nội dung và các mơ hình bảo mật
tích cực của các tường lửa thế hệ mới. Tường lửa truyền thống có các mơ hình bảo mật,
nhưng thiếu thơng minh. Thiết bị an ninh khác có thể có một số các thơng tin tình báo,
nhưng khơng phải là mơ hình bảo mật. Ví dụ về các tùy chọn kiểm sốt chính sách trong
NGFWs bao gồm:
•
Cho phép hoặc từ chối
•
Cho phép nhưng quét các lỗ hổng, virus và các mối đe dọa khác
•
Cho phép dựa trên lịch trình, người dùng, hoặc các nhóm
•
Áp dụng định hình lưu lượng truy cập thơng qua QoS
•
Áp dụng chuyển tiếp dựa trên chính sách
•
Cho phép chức năng ứng dụng nhất định
•
Kết hợp bất kỳ các chính sách nói trên
1.3.1.5. So sánh giữa tường lửa truyền thống và tường lửa thế hệ mới
Bảng 1: Bảng so sánh giữa tường lửa truyền thống và tường lửa thế hệ mới
Thuộc tính
Tường lửa truyền thống
12
Tường lửa thế hệ mới
Source
Mã nguồn đóng
Cơng nghệ sử
Sử dụng các kỹ thuật:
Mã nguồn mở
Sử dụng các công nghệ hiện đại
dụng
và tiên tiến:
- Lọc, bắt gói tin thơng qua bộ lọc gói -
Cơng nghệ phát hiện
tin
xâm nhập IDS
- Lọc, chặn giao thức thông qua port
-
(đóng, mở port)
xâm nhập IPS
- Sử dụng cơ chết NAT trong che dấu
-
địa chỉ IP
ninh mạng NMS
Cơng nghệ phịng chống
Cơng nghệ giám sát an
-
Sử dụng công nghệ
PCAP trong việc log thơng
tin lưu chuyển lưu lượng
mạng…
Cơ chế hoạt
•
Lọc gói
động
•
Lọc gói theo địa chỉ
•
Lọc gói theo cổng (dịch vụ)
-
•
Cổng ứng dụng
dụng và giải mã
•
Sử dụng cơ chế Proxy
-
•
Circuit Level Gate
dụng
•
Sử dụng cơ chế Nat để che dấu
-
-
Tầng ứng dụng
-
Nhận biết
Phát hiện giao thức ứng
Giải mã giao thức ứng
Dấu hiệu ứng dụng
địa chỉ IP
Phạm vi hoạt
động
Tầng Ứng dụng
Tầng mạng
•
Thực hiện các chức năng
Quản lý và kiểm soát luồng dữ liệu
của tường lửa truyền thống như
trên mạng
lọc gói tin, kiểm tra giao thức
Xác thực quyền truy cập
stateful (SPI), kết nối VPN,
Hoạt động như một thiết bị trung gian
NAT…
Bảo vệ tài nguyên
•
Ghi nhận và báo cáo các sự kiện
linh hoạt các mối đe dọa hiện
Thích ứng và tiếp nhận
thời, tích hợp, hỗ trợ và nâng cấp
đường dẫn cho việc lưu các
thông tin dữ liệu và các kỹ thuật
13
Chức năng cơ
mới để giải quyết các vấn đề xâm
bản
nhập trong tương lai.
•
Tích hợp thư mục (tích
hợp chứ khơng chỉ đơn thuần
là ngăn chặn xâm nhập mạng
theo vị trí)
•
Tích hợp SSL giải mã
với tốc độ multi-gigabit
•
SSL and SSH inspection
•
Có khả năng lọc sâu các
gói tin nhờ cơng nghệ
kiểm tra gói tin sâu nội
tuyến (DPI).
•
•
Các sản phẩm
Sortware firewall, SunScreen
•
Lọc phần mềm độc hại
Tường lửa thế hệ mới
firewall, IPF, Microsoft ISA server,
của HP
Check
•
Point NG, Linux’s IPTables
Check Point của Cơng nghệ
… Appliance firewall
phần mềm Checkpoint Palo
Cisco PIX, NetScreen firewall,
Alto Firewall của Palo Alto
SonicWall Appliaces, WatchGuard
•
Fireboxes, Nokia firewall…
mềm: Suricata, Iptable,
•
Snort…
Integrated firewalls
Tường lửa thế hệ mới
Một số tường lửa
1.3.2. An tồn thơng tin bằng mật mã
Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền thơng tin bí
mật. Mật mã bao gồm: lập mã và phá mã. Lập mã bao gồm hai q trình: mã hóa và giải
mã.
Để bảo vệ thơng tin trên đường truyền, thông tin được biến đổi từ dạng nhận thức được
sang dạng không nhận thức được trước khi truyền trên mạng, quá trình này được gọi là
mã hóa thơng tin (encryption). Ở đích đến thơng tin được biến đổi ngược lại q trình
mã hóa, gọi là q trình giải mã.
14
1.3.3. Cân bằng tải
Cân bằng tải là một phương pháp phân phối khối lượng tải trên nhiều máy tính
hoặc một cụm máy tính để có thể sử dụng tối ưu các nguồn lực, tối đa hóa thơng lượng,
giảm thời gian đáp ứng và tránh tình trạng quá tải trên máy chủ.
Các lợi ích khi sử dụng phương pháp cân bằng tải:
- Tăng khả năng đáp ứng, tránh tình trạng quá tải trên máy chủ, đảm bảo tính linh hoạt
và mở rộng cho hệ thống.
- Tăng độ tin cậy và khả năng dự phòng cho hệ thống: Sử dụng cân bằng tải giúp tăng
tính khả dụng cao cho hệ thống, đồng thời đảm bảo cho người dùng không bị gián đoạn
dịch vụ khi xảy ra lỗi sự cố lỗi tại một điểm cung cấp dịch vụ.
- Tăng tính bảo mật cho hệ thống: Thông thường khi người dùng gửi yêu cầu dịch vụ
đến hệ thống, yêu cầu đó sẽ được xử lý trên bộ cân bằng tải, sau đó thành phần cân bằng
tải mới chuyển tiếp các yêu cầu cho các máy chủ bên trong. Quá trình trả lời cho khách
hàngcũng thơng qua thành phần cân bằng tải, vì vậy mà người dùng khơng thể biết được
chính xác các máy chủ bên trong cũng như phương pháp phân tải được sử dụng. Bằng
cách này có thể ngăn chặn người dùng giao tiếp trực tiếp với các máy chủ, ẩn các thông
tin và cấu trúc mạng nội bộ, ngăn ngừa các cuộc tấn công trên mạng hoặc các dịch vụ
không liên quan đang hoạt động trên các cổng khác.
1.4 Kết Luận
Từ một cái nhìn tổng quan về các cách phịng chống xâm nhập mạng trái phép
từ bên ngồi từ đó phân biệt được các mối đe dọa đối với bảo mật cũng như mức độ
nghiêm trọng của chúng. Giới thiệu thi tiết về tường lửa đang hay được sử dụng trong
mơ hình mạng máy tính hiện nay.
CHƯƠNG 2: TƯỜNG LỬA THẾ HỆ MỚI
Tường lửa thế hệ mới là một nền tảng mạng tích hợp đó là một phần của thế hệ
thứ ba của công nghệ tường lửa, kết hợp một truyền thống tường lửa với chức năng
lọc thiết bị mạng khác, từ tường lửa cứng Checkpoint đến các tường lửa mềm như
Suricata, Iptable, Snort…Đặc biệt là tường lửa Suricata với nhiều tính năng nổi trội
như công cụ IDS/IPS, dễ dàng sử dụng trên các hệ điều hành và được chạy đa luồng
nên khả năng xử lý lưu lượng rất cao.
15
2.1. Giới thiệu về Suricata
Suricata là một hệ thống phát hiện xâm nhập dựa trên mã nguồn mở. Nó được
phát triển bởi Open Information Security Foundation (OISF). Một phiên bản beta đã
được phát hành vào tháng 12 năm 2009, bản chuẩn đầu tiên phát hành tiếp theo vào
tháng 7 năm 2010[11][12].
Công cụ này được phát triển không nhằm cạnh tranh hay thay thế các cơng tụ
hiện có, nhưng nó sẽ mang lại những ý tưởng và công nghệ mới trong lĩnh vực an tồn
an ninh mạng.
Suricata là cơng cụ IDS/IPS dựa trên luật để theo dõi lưu lượng mạng và cung
cấp cảnh báo đến người quản trị hệ thống khi có sự kiện đáng ngờ xảy ra. Nó được thiết
kế để tương thích với các thành phần an ninh mạng hiện có. Bản phát hành đầu tiên chạy
trên nền tảng linux 2.6 có hỗ trợ nội tuyến (inline) và cấu hình giám sát lưu lượng thụ
động có khả năng xử lý lưu lượng lên đến gigabit. Suricata là công cụ IDS/IPS miễn phí
trong khi nó vẫn cung cấp những lựa chọn khả năng mở rộng cho các kiến trúc an ninh
mạng phức tạp nhất.
Là một công cụ đa luồng, suricata cung cấp tăng tốc độ và hiệu quả trong việc
phân tích lưu lượng mạng. Ngồi việc tăng hiệu quả phần cứng (với phần cứng và card
mạng giới hạn), công cụ này được xây dựng để tận dụng khả năng xử lý cao được cung
cấp bởi chip CPU đa lõi mới nhất.
Tại sao Suricata được nhiều người sử dụng:
•
Dễ dàng cấu hình: Suricata làm việc như thế nào, tập tin cấu hình ở đâu, các luật
như thế nào người quản trị đều có thể biết và cấu hình theo ý mình được.
•
Kể cả việc tạo ra các luật mới.
•
Suricata là phần mềm mã nguồn mở: Sricata được phát hành dưới giấy phép
GNU/GPL điều này có nghĩa là bất cứ ai cũng có thể sử dụng Suricata một cách miễn
phí dù đó là doanh nghiệp hay người dùng cá nhân. Ngoài ra vì là phần mềm mã nguồn
mở nên Suricata có một cộng đồng người sử dụng lớn, sẵn sàng hỗ trợ nếu có bất cứ
thắc mắc gì.
•
Chạy trên nhiều nền tảng khác nhau: Chạy trên các hệ điều hành nguồn mở như
Linux, CentOS. Debian, Fedora, FreeBSD, Window, Mac OS X (10.5.8 and 10.6.8)…
•
Luật của Suricata thường xuyên được cập nhật: Các luật của Suricata thường
xuyên được bổ sung và cập nhật các hình thức xâm nhập mới. Người sử dụng có thể dễ
dàng tải về từ />16
2.2. Cấu trúc Suricata
Suricata được phát triển dựa trên Snort nên nó vẫn giữ nguyên kiến trúc bên trong
của Snort. Kiến trúc của nó có nhiều thành phần, với mỗi thành phần có một chức năng
riêng.
Kiến trúc của Suricata gồm 4 phần cơ bản sau:
•
Bộ giải mã gói tin
•
Bộ tiền xử lý
•
Cơng cụ phát hiện
•
Đầu ra: gồm 2 mơ-đun
- Cảnh báo / Ghi nhật ký
- Kết xuất thơng tin
Hình 2. 1 Kiến trúc của Suricata
Khi Suricata hoạt động nó sẽ thực hiện lắng nghe và thu bắt tất cả các gói tin nào di
chuyển qua nó.
Các gói tin sau khi bị bắt được đưa vào bộ giải mã gói tin, tại đây các gói tin sẽ
được giải mã. Tiếp theo gói tin sẽ được đưa vào bộ tiền xử lý, tại đây gói tin sẽ được
phân tích một cách chi tiết và đầy đủ theo các cách khác nhau. Sau khi phân tích xong
các gói tin được đưa vào cơng cụ phát hiện. Tại đây, tùy theo việc có phát hiện được
xâm nhập hay khơng mà gói tin có thể được lưu thông tiếp hay được đưa vào module
cảnh báo / Ghi nhật ký để xử lý. Khi các cảnh báo được xác định module kết xuất thông
tin sẽ thực hiện việc đưa cảnh báo ra theo đúng định dạng mong muốn.
Preprocessors, detection engine và alert system đều là các plug-ins. Điều này giúp cho
việc chỉnh sửa hệ thống theo mong muốn của người quản trị một cách dễ dàng.
2.2.1. Bộ giải mã gói tin
Bộ giải mã gói tin là một thiết bị phần cứng hoặc phần mềm được đặt vào trong
mạng. Chức năng của nó tương tự như việc nghe lén trên điện thoại di động, nhưng thay
vì hoạt động trên mạng điện thoại nó nghe lén trên mạng dữ liệu. Bởi vì trong mơ hình
17
mạng có nhiều giao thức cao cấp như TCP, UDP, ICMP... nên cơng việc của packet
sniffer là nó phải phân tích các giao thức đó thành thơng tin mà con người có thể đọc và
hiểu được.
Bộ giải mã gói tin có thể được sử dụng với các mục đích như:
• Phân tích mạng và xử lý sự cố.
• Đo điểm chuẩn và đánh giá hiệu suất.
• Nghe lén mật khẩu văn bản rõ ràng và những dữ liệu khác.
Mã hóa lưu lượng mạng có thể tránh được việc nghe trộm các gói tin. Tùy vào mục đích
mà bộ giải mã gói tin có thể sử dụng cho mục đích tốt hoặc xấu.
Hình 2. 2 Các gói tin đi vào Sniffer
Khi Suricata đã nhận các gói tin từ q trình sniffer nó sẽ đi vào q trình giải mã. Chính
xác thì nơi mà gói tin đi vào bộ giải mã phụ thuộc vào lớp liên kết mà trước đó đọc
được. Snort hỗ trợ một số lớp liên kết từ pcap: Ethernet, 802.11, Token ring, FDDI,
Cisco HDLC, SLIP, PPP và OpenBSD’s PF. Ở trên lớp liên kết Suricata hỗ trợ giải mã
các giao thức khác nhau, bao gồm: IP, ICMP, TCP, UDP (chi tiết trong mã nguồn
src/decode.c)
Bất kể là lớp liên kết nào đang đ ược sử dụng, tất cả các bộ giải mã sẽ đều làm việc theo
một kiểu chung. Đối với trường hợp các lớp cụ thể, con trỏ trong cấu trúc của gói tin sẽ
được thiết lập trỏ tới một phần khác của gói tin. Dựa vào các thơng tin đã giải mã được,
nó sẽ gọi các lớp cao hơn và giải mã cho đến khi khơng cịn bộ giải mã nào nữa.
2.2.2. Bộ tiền xử lý
Bộ tiền xử lý là kết nối cho phép phân tích cú pháp dữ liệu theo những cách khác
nhau. Nếu chạy Suricata mà khơng có bất cứ cấu hình nào về bộ tiền xử lý trong tập tin
cấu hình sẽ chỉ thấy từng gói dữ liệu riêng rẽ trên mạng. Điều này có thể làm IDS bỏ
qua một số cuộc tấn cơng, vì nhiều loại hình tấn cơng hiện đại cố tình phân mảnh dữ
liệu hoặc có tình đặt phần độc hại lên một gói tin và phần cịn lại lên gói tin khác (kỹ
thuật lẩn trốn).
Dữ liệu sẽ được đưa vào bộ tiền xử lý sau khi đi qua bộ giải mã gói tin. Suricata cung
cấp một loạt các bộ tiền xử lý ví dụ như: Frag3 (một module chống phân mảnh gói tin
18
IP), sfPortscan (module được thiết kế chống lại các cuộc trinh sát, như scan port, xác
định dịch vụ, scan OS), Stream5 (module tái gộp các gói tin ở tầng TCP).
Hình 2. 3 Q trình xử lí ở bộ tiền xử lý
2.3.3. Cơng cụ phát hiện
Đầu vào là các gói tin đã được sắp xếp ở quá trình bộ tiền xử lý. Công cụ phát hiện là
một phần của hệ thống phát hiện xâm nhập dựa trên dấu hiệu. Detection engine sẽ lấy
dữ liệu từ bộ tiền xử lý và kiểm tra chúng thơng qua các luật. Nếu các luật đó khớp với
dữ liệu trong gói tin, nó sẽ được gửi tới hệ thống cảnh báo, nếu khơng nó sẽ bị bỏ qua
như hình phía dưới.
Các luật có thể được chia thành 2 phần:
•
Phần Hearder (tiêu đề): gồm các hành động (log/ alert), loại giao thức (TCP,
UDP, ICMP...), địa chỉ IP nguồn, địa chỉ IP đích và port.
•
Phần Options (Tùy chọn): là phần nội dung của gói tin được tạo ra để phù hợp
với luật.
Luật là phần quan trọng mà bất cứ ai tìm hiểu về Suricata cần phải nắm rõ. Các
luật trong Sricata có một cú pháp cụ thể. Cú pháp này có thể liên quan đến giao thức,
nội dung, chiều dài, hearder và một vài thông số khác. Một khi hiể u được cấu trúc các
luật trong Suricata, người quản trị có thể dễ dàng tinh chỉnh và tối ưu hóa chức năng
phát hiện xâm nhập của Suricata. Từ đó có thể định nghĩa các luật phù hợp với từng môi
trường và hệ thống mạng.
19
Hình 2. 4 Gói tin được xử lý ở Detection Engine bằng các luật
2.3.4. Thành phần cảnh báo/ghi lại
Cuối cùng sau khi các luật đã phù hợp với dữ liệu, chúng sẽ được chuyển tới thành phần
cảnh báo và ghi lại (alert and loggin component). Cơ chế log sẽ lưu trữ các gói tin đã
kích hoạt, các luật cịn cơ chế cảnh báo sẽ thơng báo các phân tích bị thất bại.
Giống như Preprocessors, chức năng này được cấu hình trong tập tin suricata.yaml, có
thể chỉ định cảnh báo và ghi lại trong tập tin cấu hình nếu muốn kích hoạt.
Dữ liệu là giá trị cảnh báo, nhưng có thể chọn nhiều cách để gửi các cảnh báo
này cũng như chỉ định nơi ghi lại các gói tin. Có thể gửi cảnh báo thông qua SMB
(Server Message Block) pop- up tới máy trạm Windows, ghi chúng dưới dạng logfile,
gửi qua mạng thông qua UNIX socket hoặc thông qua giao thức SNMP.
Cảnh báo cũng có thể lưu trữ dưới dạng cơ sở dữ liệu SQL như MySQL hoặc
PostgerSQL. Thậm chí một vài hệ thống của các hãng thứ ba có thể gửi cảnh báo thơng
qua SMS tới điện thoại di động.
Có rất nhiều các add-on giúp người quản trị nhận các cảnh báo cũng như phân tích các
dữ liệu một cách trực quan.
Oinkmaster: là một Pertscript giúp cập nhật các luật của Suricata và comment nếu không
muốn sau mỗi lần cập nhật.
20
Hình 2. 5 Thành phần cảnh báo và ghi lại
2.4. Chức năng của Suricata
2.4.1. HTTP Layer support (Hỗ trợ lớp HTTP)
•
Lắng nghe DNS packet.
•
Đăng ký giao thức HTTP và các chức năng xử lý trạng thái vào lớp APP của cơng
cụ.
•
Đăng ký các bài kiểm tra Đơn vị cho giao thức HTTP.
•
Các số liệu thống kê của các yêu cầu HTTP.
•
Xóa bộ nhớ cấu hình máy chủ HTTP được sử dụng bởi thư viện HTTP).
•
Chức năng gọi lại để thêm các đoạn dữ liệu cho các u cầu.
•
In thơng tin các đoạn dữ liệu của một khối.
•
Cố định (giữ) các thơng tin tự do trong các khối u cầu.
•
Giải phóng bộ nhớ HTTP và giải phóng các kết nối phân tích cú pháp HTTP được
sử dụng bởi các thư viện HTTP.
•
Thiết lập cờ thơng báo cho lớp ứng dụng HTTP là một số module trong cơ cấu
cần khối dữ liệu http request.
•
Thiết lập cờ thơng báo cho lớp ứng dụng HTTP rằng một số module trong cơ cấu
cần tập tin http request).
2.4.2. Giải mã gói tin
•
Trả về gói tin malloced
•
Hồn thành giải mã gói tin
21
•
Nhận gói tin malloced
•
Trả về gói tin tới nơi nó được phân bổ
•
Nhận gói tin
•
Copy dữ liệu tới các khoảng trống đã xác định của gói dữ liệu
•
Sao chép dữ liệu tới gói dữ liệu và thiết lập chiều dài của gói
•
Thiết lập gói tin giả
•
Thiết lập một gói tin giả (các khung được lắp ráp lại)-> mức độ đệ quy ít hơn so
với (tunnel)
•
Thơng báo cho " parent " rằng một gói tin giả hiện đã được gán cho nó
•
Gỡ lỗi in cho các địa chỉ in ấn
•
Phân bổ và thiết lập DecodeThreadVars
•
Đặt dữ liệu cho gói dữ liệu và thiết lập chiều dài cho gói khi khơng sao chép
2.4.3. State support
•
Giải phóng một đối tượng DetectEngineState
•
Kiểm tra nếu cần kiểm tra trạng thái
•
So khớp danh sách sig của lớp ứng dụng với trạng thái ứng dụng và lưu trữ thơng
tin khớp có liên quan
•
Tiếp tục phát hiện DeState của các chữ ký được lưu trữ trong trạng thái
•
Kiểm tra cập nhật dịng chảy các id
•
Đặt lại trạng thái DetectEngineState
•
Đặt lại trạng thái de cho gói tin hoạt động để được sử dụng khi phát hiện tải lại
•
Lấy chuỗi cho enum đối sánh
2.4.4. Thresholding (ngưỡng cảnh báo)
Tính năng này được sử dụng để giảm số lượng cảnh báo sai quy định. Nó có thể được
điều chỉnh để giảm đáng kể số lượng cảnh báo sai, và cũng có thể được sử dụng để sinh
ra các quy tắc mới. Các lệnh cảnh báo giới hạn số lần một sự kiện cụ thể trong một
khoảng thời gian xác định.
•
Trả lại DetectThresholdData tiếp theo để có chữ ký
•
Xóa các phần tử băm ngưỡng thời gian chờ
•
Tạo logic ngưỡng cho chữ ký ngưỡng bối cảnh dữ liệu hỏng khởi tạo
•
Ngưỡng huỷ bỏ bối cảnh dữ liệu hỏng
•
Giải phóng tất cả các lối vào của list DetectTagDataEntry
22
2.5.
Luật trong Suricata
2.5.1. Giới thiệu
“Luật” trong Suricata ta có thể hiểu một cách đơn giản nó giống như các quy tắc
và luật lệ trong thế giới thực. Nghĩa là nó sẽ có phần mơ tả một trạng thái và hành động
gì sẽ xảy ra khi trạng thái đó đúng. Một trong những điểm đáng giá nhất của Suricata đó
là khả năng cho phép người sử dụng có thể tự viết các luật của riêng mình hoặc tùy biến
các luật có sẵn cho phù hợp với hệ thống mạng của mình. Ngoài một cơ sở dữ liệu lớn
mà người sử dụng có thể download từ trang chủ của Suricata, người quản trị có thể tự
phát triển các luật cho hệ thống của mình. Thay vì phải phụ thuộc vào nhà cung cấp,
một cơ quan bên ngoài, hoặc phải cập nhật khi có một cuộc tấn cơng mới hay một
phương pháp khai thác lỗ hổng mới được phát hiện. Người quản trị có thể viết riêng một
luật dành cho hệ thống của mình khi nhìn thấy các lưu lượng mạng bất thường và so
sánh với bộ luật được cộng đồng phát triển. Ưu điểm của việc tự viết các luật là có thể
tùy biến và cập nhật một cách cực kỳ nhanh chóng khi hệ thống mạng có sự bất thường.
Để biết cách viết một luật từ các dữ liệu của hệ thống ta cần phải hiểu cấu trúc
của luật trong Suricata như thế nào. Một luật trong Suricata được chia thành hai phần
đó là phần rule header và rule options. Phần rule header bao gồm: rule action, protocol,
địa chỉ ip nguồn, địa chỉ ip đích, subnetmask, port nguồn, port đích. Phần options bao
gồm các thông điệp cảnh báo, thông tin các phần của gói tin sẽ được kiểm tra để xác
định xem hành động nào sẽ được áp dụng.
2.5.2. Rule Header (quy tắc tiêu đề)
Hình 2. 6 Cấu trúc luật trong Suricata
a) Rule Action (quy tắc hành động)
Phần tiêu đề sẽ chứa các thông tin xác định ai, ở đâu, cái gì của một gói tin, cũng
như phải làm gì nếu tất cả các thuộc tính trong luật được hiện lên. Mục đầu tiên trong
một luật đó chính là phần rule action, rule action sẽ nói cho Suricata biết phải làm gì khi
thấy các gói tin phù hợp với các luật đã được quy định sẵn. Có 4 hành động mặc định
trong Suricata đó là: pass (cho qua), drop (chặn gói tin), reject (từ chối), alert (cảnh báo).
23
•
Pass: nếu định danh được so sánh trùng khớp và chỉ ra là cho qua thì Suricata sẽ
thực hiện dừng quét gói tin và bỏ qua tất cả các luật phía sau đối với gói tin này.
•
Drop: nếu chương trình tìm thấy một định danh hợp lệ và nó chỉ ra là chặn gói
tin thì gói tin đó sẽ bị hủy bỏ và dừng truyền ngay lập tức, khi đó gói tin khơng thể đến
được nơi nhận.
•
Reject: là hành động bỏ qua gói tin, bỏ qua ở cả bên nhận và bên gửi. Suricata sẽ
tạo ra một cảnh báo với gói tin này.
•
Alert: nếu định danh được so sánh là hợp lệ và có chứa cảnh báo thì gói tin đó sẽ
được xử lý giống như với một gói tin không hợp lệ. Suricata sẽ tạo ra một cảnh báo.
b)
Protocol (các giao thức)
Trường tiếp theo trong luật đó là protocol. Các giao thức mà Suricata hiện đang
phân tích các hành vi bất thường đó là TLS, SSH, SMTP (tải thư điện tử qua mạng
internet), IMAP (đặt sự kiểm soát email trên mail server), MSN, SMB (chia sẻ file),
TCP, UDP, ICMP và IP, DNS.
c)
Địa chỉ IP
Mục tiếp theo của phần header đó là địa chỉ IP. Các địa chỉ này dùng để kiểm tra nơi đi
và nơi đến của một gói tin. Địa chỉ ip đó có thể là địa chỉ của một máy đơn hoặc cũng
có thể là địa chỉ của một lớp mạng.
e) Điều hướng
Toán tử hướng “→” chỉ ra đâu là hướng nguồn, đâu là hướng đích. Phần địa chỉ
IP và port ở phía bên trái của tốn tử được coi như là địa chỉ nguồn và port nguồn, phần
bên phải được coi như địa chỉ đích và port đích. Ngồi ra cịn có tốn tử “<>” Suricata
sẽ xem cặp địa chỉ/port nguồn và đích là như nhau. Nghĩa là nó sẽ ghi/phân tích ở cả hai
phía của cuộc hội thoại.
3.5.3. Tùy chọn quy tắc luật
Tùy chọn quy tắc luật chính là trung tâm của việc phát hiện xâm nhập. Nội dung
chứa các dấu hiệu để xác định một cuộc xâm nhập. Nó nằm ngay sau phần Rule Header
và được bọc bởi dấu ngoặc đơn “()”. Tất cả các rule options sẽ được phân cách nhau bởi
dấu chấm phẩy “;”, phần đối số sẽ được tách ra bởi dấy hai chấm “:”.
Có 4 loại rule options chính bao gồm:
-
General (tổng quát): Tùy chọn này cung cấp thông tin về luật đó nhưng khơng có
bất cứ ảnh hưởng nào trong quá trình phát hiện.
-
Payload (tải trọng): Tùy chọn liên quan đến phần tải trong một gói tin.
24
-
Non-payload (Không trọng tải): Bao gồm các tùy chọn không liên quan đến phần
tải của gói tin (tiêu đề).
-
Post-detection (phát hiện sau): Các tùy chọn này sẽ gây ra những quy tắc cụ thể
sau khi một luật đã được kích hoạt.
2.6. Kết luận
Khả năng ứng dụng của suricata công cụ này được phát triển không nhằm cạnh
tranh hay thay thế các cơng cụ hiện có, nhưng nó sẽ mang lại những ý tưởng và công
nghệ mới trong lĩnh vực an tồn an ninh mạng.
Trong chương này trình các cấu trúc chi tiết của từng thành phần trong suricata. Ngoài
ra chương này cũng trình bày chức năng của các thành phần có trong suricata, mơ tả một
trạng thái và hành động gì sẽ xảy ra khi trạng thái đó đúng.
25