Bài viết này chúng tôi sẽ giới thiệu cho các bạn về chủ đề này, cụ thể là vấn đề tổng quan về một số loại tấn công có thể phát hiện, triệu chứng khi bị tấn công và nhiệm vụ của IDS, các
Trang 1Hệ thống phát hiện xâm phạm (IDS) (Phần 1)
Do số lượng xâm phạm ngày càng tăng, khi Internet và các mạng nội bộ càng ngày càng xuất hiện nhiều ở khắp mọi nơi, thách thức của các vấn
đề xâm phạm mạng đã buộc các tổ chức phải bổ sung thêm hệ thống
Trang 2khác để kiểm tra các lỗ hổng về bảo mật CNTT Hệ thống phát hiện xâm
phạm (IDS) là một hệ thống gần đây được đông đảo những người liên quan đến bảo mật khá quan tâm Bài viết này chúng tôi sẽ giới thiệu cho các bạn
về chủ đề này, cụ thể là vấn đề tổng quan về một số loại tấn công có thể phát hiện, triệu chứng khi bị tấn công và nhiệm vụ của IDS, các kiến trúc khác nhau và những khái niệm trong lĩnh vực này
IDS là gì?
IDS (Hệ thống phát hiện xâm phạm) là một hệ thống phòng chống, nhằm phát hiện các hành động tấn công vào một mạng Mục đích của nó là phát hiện và ngăn ngừa các hành động phá hoại đối với vấn đề bảo mật hệ thống, hoặc những hành động trong tiến trình tấn công như sưu tập, quét các cổng Một tính năng chính của hệ thống này là cung cấp thông tin nhận biết về những hành động không bình thường và đưa ra các báo cảnh thông báo cho quản trị viên mạng khóa các kết nối đang tấn công này Thêm vào đó công
cụ IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong tổ chức (từ chính nhân viên hoặc khách hàng) và tấn công bên ngoài (tấn công
từ hacker)
Những gì không phải là một IDS?
Trái ngược với những thuật ngữ được sử dụng trong các bài giảng về hệ thống phát hiện xâm phạm, không phải mọi thứ đều được quy vào mục này Theo một cách riêng biệt nào đó, các thiết bị bảo mật dưới đây không phải là IDS:
Trang 3 Hệ thống đăng nhập mạng được sử dụng để phát hiện lỗ hổng đối với vấn đề tấn công từ chối dịch vụ (DoS) trên một mạng nào đó Ở đó sẽ có hệ thống kiêm tra lưu lượng mạng
Các công cụ đánh giá lỗ hổng kiểm tra lỗi và lỗ hổng trong hệ điều hành, dịch vụ mạng (các bộ quét bảo mật)
Các sản phẩm chống virus đã thiết kế để phát hiện phần mềm mã nguy hiểm như virus, Trojan horse, worm Mặc dù những tính năng mặc định có thể rất giống hệ thống phát hiện xâm phạm và thường cung cấp một công cụ phát hiện lỗ hổng bảo mật hiệu quả
Tường lửa {1}
Các hệ thống bảo mật/mật mã, ví dụ như VPN, SSL, S/MIME,
Kerberos, Radius
Các loại tấn công được phân thành hai loại như sau:
Bị động (được trang bị để tăng mức truy cập làm cho có thể thâm nhập vào hệ thống mà không cần đến sự đồng ý của tài nguyên CNTT)
Tích cực (các kết quả gây ra thay đổi trạng thái không hợp lệ của tài nguyên CNTT)
Dưới dạng mối quan hệ giữa nạn nhân và người xâm phạm, các tấn công được chia thành:
Bên trong, những tấn công này đến từ chính các nhân viên của công
ty, đối tác làm ăn hoặc khách hàng
Bên ngoài, những tấn công đến từ bên ngoài, thường thông qua
Internet
Trang 4Các tấn công cũng được phân biệt bằng hạng mục nguồn, cụ thể là nguồn đã thực hiện từ các hệ thống bên trong (mạng nội bộ, Internet hoặc từ các
nguồn quay số từ xa) Bây giờ chúng ta hãy xem xét đến các loại tấn công có thể bị phát hiện bởi công cụ IDS và xếp chúng vào một chuyên mục đặc biệt Các loại tấn công dưới đây có thể được phân biệt:
Những tấn công này liên quan đến sự truy cập trái phép đến tài
nguyên
o Việc bẻ khóa và sự vi phạm truy cập
o Trojan horses
o Đánh chặn; hầu hết kết hợp với việc lấy cắp TCP/IP và sự đánh chặn thường sử dụng các cơ chế bổ sung để thỏa hiệp hệ thống
o Sự giả mạo
o Quét cổng và dịch vụ, gồm có quét ICMP (ping), UDP, TCP
o Lấy dấu OS từ xa, ví dụ như việc kiểm tra phản ứng đối với các gói cụ thể, các địa chỉ cổng, phản ứng của ứng dụng chuẩn, các tham số ngăn xếp IP,…
o Nghe gói tin mạng (một tấn công thụ động rất khó khăn phát hiện nhưng đôi khi vẫn có thể)
o Lấy cắp thông tin, ví dụ như trường hợp bị lộ thông tin về
quyền sở hữu
o Lạm dụng tính xác thực; một loại hình tấn công bên trong, ví dụ: nghi ngờ sự truy cập của một người dùng xác thực có thuộc tính kỳ lạ (đến từ một địa chỉ không mong muốn)
o Các kết nối mạng trái phép
Trang 5o Sử dụng tài nguyên CNTT cho các mục đích riêng, ví dụ như truy cập vào các trang có hoạt động không lành mạnh
o Lợi dụng điểm yếu của hệ thống để truy cập vào tài nguyên hoặc các quyền truy cập mức cao
Sự thay đổi tài nguyên trái phép (sau khi đã chiếm được quyền truy cập)
o Xuyên tạc tính đồng nhất, ví dụ: để lấy được các quyền quản trị viên hệ thống
o Thay đổi và xóa thông tin
o Truyền tải và tạo dữ liệu trái phép, ví dụ: lập một cơ sở dữ liệu
về các số thẻ tín dụng đã bị mất cắp trên một máy tính của chính phủ
o Thay đổi cấu hình trái phép đối với hệ thống và các dịch vụ mạng (máy chủ)
Từ chối dịch vụ (DoS)
o Làm lụt (Flooding) – thỏa hiệp một hệ thống bằng việc gửi đi một số lượng lớn các thông tin không giá trị để làm tắc nghẽn lưu lượng hạn chế dịch vụ
Ping (Smurf) – một số lượng lớn các gói ICMP được gửi đến một địa chỉ quảng bá
Gửi mail – làm lụt với hàng trăm hoặc hàng nghìn các message trong một thời điểm ngắn
SYN – khởi tạo một số lượng lớn các yêu cầu TCP và không tiến hành bắt tay hoàn toàn như được yêu cầu đối với một giao thức
Hạn chế dịch vụ phân tán; đến từ nhiều nguồn khác nhau
Trang 6o Gây tổn hại hệ thống bằng việc lợi dụng các lỗ hổng của nó
Tràn bộ đệm (ví dụ: “Ping of Death” – gửi một số lượng lớn ICMP (vượt quá 64KB))
Tắt hệ thống từ xa
Tấn công ứng dụng web; các tấn công lợi dụng lỗi ứng dụng có thể gây ra như đã nói ở phần trên
Bạn cần phải nhớ rằng, hầu hết các tấn công không phải là một hành động đơn, mà nó thường gồm có một số các sự kiện riêng lẻ
Bạn có gặp phải rủi ro
Để nhận ra các tấn công, chúng ta phải kiểm tra bất cứ các hành vi không bình thương nào của hệ thống Điều này có thể là cách hữu dụng trong việc phát hiện các tấn công thực Chúng ta hãy xem xét thêm về vấn các triệu chứng để có thể lần theo dấu vết của những kẻ xâm phạm
Sử dụng các lỗ hổng đã được biết đến
Trong hầu hết các trường hợp, việc cố gắng lợi dụng các lỗi trong hệ thống bảo mật của một tổ chức nào đó có thể bị coi như hành vi tấn công, đây cũng
là triệu chứng chung nhất cho một sự xâm phạm Mặc dù vậy bản thân các tổ chức có thể phải có các biện pháp chống lại kẻ tấn công bằng cách sử dụng các công cụ hỗ trợ trong việc bảo vệ mạng –công cụ đó được gọi là bộ quét tình trạng file và bảo mật Chúng hoạt động nội bộ hoặc từ xa, tuy nhiên chúng cũng thường bị những kẻ xâm nhập nghiên cứu rất kỹ
Trang 7Các công cụ này thường cũng là con dao hai lưỡi, có sẵn cho cả người dùng
và kẻ tấn công Việc kiểm tra tính đúng đắn về cách sử dụng file bằng các bộ quét toàn vẹn và việc hiểu biết đến các bộ quét lỗ hổng là cần thiết để phát hiện những cuộc tấn công đang trong quá trình thực thi hoặc lần theo những hỏng hóc từ các tấn công thành công Từ những vấn đề đó nảy sinh ra các vấn đề công nghệ dưới đây:
Sự phát hiện của bộ quét Công cụ kiểm tra tính toàn vẹn file hoạt động theo một cách có hệ thống để có thể sử dụng các kỹ thuật mô hình hóa
và các công cụ đặc biệt cho mục đích phát hiện, ví dụ: phần mềm
anti-SATAN
Một sự tương quan giữa việc quét và sử dụng là rất cần thiết – việc quét các lỗ hổng có thể cần phải sâu hơn sử dụng một tính năng dịch vụ, điều này nghĩa là nó có thể báo trước được những tấn công có thể xuất hiện trong tương lai
Hoạt động mạng khác thường có tính chất định kỳ
Một kẻ xâm phạm đang muốn tấn công một hệ thống thường khai thác các ứng dụng và tiến hành nhiều phương pháp thử Các hoạt động xâm phạm thường khác với hoạt động của người dùng đang làm việc với hệ thống Bất
kỳ một công cụ kiểm tra thâm nhập đều có thể phân biệt các hoạt động khả nghi sau một ngưỡng Nếu vượt quá một ngưỡng nào đó đã được đặt trước thì sẽ có một cảnh báo xuất hiện và công bố cho bạn biết Đây là kỹ thuật thụ động cho phép phát hiện kẻ xâm nhập mà không cần phải tìm một chứng cứ
rõ ràng mà chỉ cần qua việc kiểm tra định lượng
Phương pháp thụ động sử dụng trong việc phát hiện xâm nhập được điều
Trang 8khiển từ cơ sở dữ liệu về các dấu hiệu tấn công tái diễn đều đặn và được xem xét theo các khía cạnh dưới đây:
Các ngưỡng lặp lại nhằm để giúp cho việc phân biệt hoạt động hợp lệ
và nghi ngờ (để kích hoạt các báo cảnh) Các hoạt động mạng có thể được nhận dạng bằng sử dụng nhiều giá trị tham số được lấy từ (ví dụ) profile người dùng hoặc trạng thái Session
Thời gian giữa những lần lặp là một tham số để xác định thời gian trôi qua giữa các sự kiện diễn ra liền kề nhau, ví dụ, một hoạt động bị nghi ngờ nếu xuất hiện trong khoảng 2 phút có đến 3 lần đăng nhập không thành công
Xây dựng một cơ sở dữ liệu ứng với các dấu hiệu tấn công Một kẻ tấn công có thể có các hành động trung tính (hầu như xảy ra trong giai đoạn thăm dò) và điều đó có thể làm sai lệnh các thiết bị phòng chống IDS
Các lệnh không được đánh hoặc trả lời trong các session tự động
Các dịch vụ và giao thức mạng được minh chứng theo những cách nghiêm ngặt và sử dụng các công cụ phần mềm nhận dạng Bất kỳ một sự không tương thích nào với các mẫu đã được đưa ra (gồm có các lỗi con người như việc xuất hiện lỗi in trong gói mạng) có thể là thông tin có giá trị để phát hiện ra dịch vụ đang bị nhắm đến bởi kẻ xâm nhập
Nếu hệ thống kiểm định sử dụng những tiện nghi, ví dụ như giữ chậm mail, thì chuỗi bản ghi của nó sẽ thể hiện thói quen thông thường hoặc có thể đoán trước Mặc dù vậy, nếu bản ghi chỉ thị rằng một quá trình đặc biệt nào đó đã cung cấp các lệnh không hợp lệ thì đây vẫn có thể là một triệu chứng của một sự kiện bình thường hoặc một sự giả mạo
Trang 9Kiểm tra những tác động tấn công:
Phát hiện tấn công để khôi phục lại được các lệnh hoặc câu trả lời dưới đây bằng việc khởi chạy chúng
Phát hiện một số tấn công thất bại có thể thấy được giao thức cú pháp của những lần tấn công thành công trước đó
Việc phát hiện các tấn công đang nghiên cứu để thích nghi nhằm bắt các lỗi liên quan đến cùng một đối tượng (dịch vụ, host) Sau một chu kỳ nào đó, các lỗi này sẽ ngừng
Mâu thuẫn trực tiếp trong lưu lượng
Bất cứ sự mâu thuẫn trực tiếp nào trong các gói hoặc session là một trong những triệu chứng tấn công tiềm ẩn Xem xét dữ liệu nguồn và địa điểm (trong nước hoặc nước ngoài) có thể nhận dạng trực tiếp về một gói tin
Luồng Session được nhận dạng trực tiếp ngay từ gói đầu tiên Mặc dù vậy, yêu cầu cho dịch vụ trong mạng nội bộ lại là một session đang tới và một quá trình kích hoạt một Web dựa vào dịch vụ từ một mạng nội bộ là một session gửi đi
Sự mâu thuẫn trực tiếp dưới đây có thể được xem như các dấu hiệu của một
vụ tấn công:
Các gói đến từ Internet và được nhận dạng bởi địa chỉ mạng nội bộ của chúng – yêu cầu dịch vụ đang tới từ bên ngoài, trong trường hợp đó các gói có địa chỉ nguồn bên trong của chúng Tình huống này có thể là dấu hiệu
Trang 10của một tấn công giả mạo IP bên ngoài Các vấn đề như vậy có thể được giải quyết tại các bộ định tuyến, chúng có thể so sánh địa chủ nguồn với vị trí đích Trong thực tế, số ít bộ định tuyến hỗ trợ tính năng bảo mật này bởi vì đây là lĩnh vực dành cho tường lửa
Các gói sinh ra trong mạng nội bộ (gửi đi) và đã gửi đến mạng ở ngoài với một địa chỉ đích của nó – trường hợp ngược lại Kẻ xâm nhập thực hiện
từ bên ngoài và nhắm vào một hệ thống ở ngoài
Các gói có các cổng nguồn và đích không mong muốn – nếu cổng nguồn của một gói đang tới hoặc yêu cầu gửi đi không phù hợp với loại dịch
vụ thì điều này sẽ thể hiện như một hành động xâm nhập (hoặc quét hệ
thống) Ví dụ: yêu cầu Telnet Service trên cổng 100 trong môi trường có thể xảy ra thì một dịch vụ như vậy vẫn không thể được hỗ trợ (nếu có) Sự mâu thuẫn trực tiếp hầu như đều có thể được phát hiện bằng tường lửa để gạt bỏ lại các gói không hợp lệ Mặc dù vậy, các tường lửa không phải lúc nào cũng được ưu tiên cho hệ thống phát hiện xâm phạm
Các thuộc tính không mong muốn
Các trường hợp thường xảy ra nhất là ở những nơi phải xử lý một số lượng lớn các thuộc tính của gói hoặc các yêu cầu cụ thể đối với dịch vụ Chúng ta hoàn toàn có thể định nghĩa mẫu thuộc tính mong đợi Nếu các thuộc tính gặp phải không phù hợp với mẫu này thì nó có thể là một hành động xâm phạm
Các thuộc tính thời gian và lịch biểu – trong môi trường nào đó, hành
vi mạng cụ thể có thể xảy ra một cách thường xuyên tại một thời điểm nào
đó trong ngày Nếu hành vi thông thường này bị phá vỡ thì trường hợp này cần phải được kiểm tra Ví dụ, chúng tôi sử dụng một công ty, nơi mà việc
Trang 11vận chuyển được tiến hành vào chiều thứ sáu hàng tuânà Bằng cách đó, dữ liệu số trao đổi trong các phiên giao dịch đang làm việc tại thời điểm đó hoặc vào ngày hôm đó được xem như các hành động bình thường Tuy nhiên nếu thứ sáu là ngày nghỉ mà vẫn xuất hiện việc truyền tải dữ liệu thì vấn đề này cần phải kiểm tra
Thuộc tính tài nguyên hệ thống Các xâm phạm nào đó thường liên làm ảnh hưởng xấu cho một số các thuộc tính hệ thống Việc bẻ khóa bằng cách thử lặp đi lặp lại password nhiều lần thường liên quan đến sự sử dụng phần lớn hiệu suất CPU giống như các tấn công DoS với các dịch vụ hệ thống Sử dụng nhiều tài nguyên hệ thống (bộ vi xử lý, bộ nhớ, ổ đĩa, các tiến trình hệ thống, các dịch vụ và kết nối mạng) đặc biệt là những thời điểm không bìng thường rất có thể là một dấu hiệu
Với các gói có các thiết lập TCP phúc đáp không mong đợi Nếu có một tập ACK-flag thông qua một gói và không có SYN-packet (gói đồng bộ) trước được gửi thì cũng có thể là một trường hợp tấn công (hoặc quét dịch vụ) Tình huống như vậy có thể cũng là trường hợp bị hỏng gói, sự cố mạng đối với các phần mềm chứ không nhất thiết là một tấn công
Dịch vụ trộn lẫn các thuộc tính Thông thường chúng ta có thể định nghĩa một tập hợp chuẩn các dịch vụ vào ra để cung cấp cho một người dùng
cụ thể Ví dụ: nếu người dùng đang trong chuyến đi công tác của họ, anh ta muốn sử dụng mail và các tùy chọn truyền tải file Bất kỳ những cố gắng nào liên quan đến tài khoản của anh ta thông qua Telnet để truy cập vào các cổng đều có thể là những tấn công
Cũng có một khái niệm tổng quát hơn so với sự trộn lẫn dịch vụ, cụ thể là người dùng và các profile dịch vụ giúp đỡ trong việc phân biệt các thuộc tính điển hình và các thuộc tính không mong muốn Một file dấu hiệu giữ
Trang 12một số các dịch vụ chung của một người dùng cụ thể cũng có thể lưu thông tin bổ sung đa thuộc tính Các thông tin này bao gồm giờ làm việc liên quan đến hệ thống của người dùng, vị trí của máy trạm làm việc (vị trí địa lý, địa chỉ IP), cường độ sử dụng tài nguyên, khoảng thời gian session điển hình bởi các dịch vụ đơn lẻ
Các vấn đề không được giải thích
Một kẻ xâm phạm dấu mặt có thể thiết kế các hành động nguy hiểm, các hành động này thường sẽ gây ra những vấn đề kỳ cục trong hành vi của một
hệ thống Việc kiểm tra các ảnh hưởng như vậy thường khó khăn bởi vì vị trí của chúng rất khó có thể phát hiện Dưới đây là một số ví dụng của nó:
Các vấn đề không mong muốn với phần cứng hoặc phần mềm hệ thống, ví dụ máy chủ chạy chậm, một số tiện ích không hoạt động, những lần khởi động lại hệ thống không mong muốn, thay đổi các thiết lập đồng hồ
hệ thống
Các vấn đề tài nguyên hệ thống: tràn file hệ thống; sự sử dụng hiệu suất CPU không cách không bình thường
Các thông báo kỳ cục từ các tiện ích hệ thống, các tiện ích hệ thống không hoạt động hoặc bị phá hủy Những triệu chứng như vậy luôn phải nghi ngờ
Các vấn đề hiệu suất hệ thống (các bộ định tuyến hoặc các dịch vụ hệ thống có thời gian đáp ứng máy chủ quá lâu)
Hành vi người dùng không mong muốn, ví dụ: truy cập không mong muốn vào tài nguyên hệ thống