Tìm hiểu về linux based ids

1. Giới thiệu hệ thống IDS

Hệ thống phát hiện xâm nhập IDS là một hệ thống giám sát lưu lượng mạng nhằm phát hiện ra hiện tượng bất thường, các hoạt động trái phép xâm nhập vào hệ thống. 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 ngoài.

IDS phát hiện dựa trên các dấu hiệu đặc biệt về nguy cơ đã biết (giống như cách phần mềm diệt virus phát hiện và diệt virus) 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.

Một hệ thống IDS cần phải thỏa mãn những yêu cầu:

  •      Tính chính xác (Accuracy): IDS không được coi những hành động thông thường trong môi trường hệ thống là những hành động bất thường hay lạm dụng
    
  •      Hiệu năng (Performance): Hiệu năng của IDS phải đủ để phát hiện xâm nhập trái phpes trong thời gian thực
    
  •      Tính trọn vẹn (Completeness): IDS không được bỏ qua một xâm nhập trái phép nào. Đây là một điều kiện khó thỏa mãn được .
    
  •      Chịu lỗi (Fault Tolerance): bản thân IDS cũng phải có khả năng chống lại tấn công
    
  •      Khả năng mở rộng (Scalability): IDS phải có khả năng xử lý trong trạng thái xấu nhất là không bỏ sót thông tin nào. Yên cầu này liên quan tới hệ thống mà các sự kiện trong tương lai đến từ nhiều nguồn tài nguyên với số lượng host nhỏ. Với sự phát triển nhanh và mạnh của mạng máy tính, hệ thống có thể bị quá tải bởi sự tăng trưởng của số lượng sự kiện.
    

2. Kiến trúc, chức năng và quy trình hoạt động của IDS

2.1 Các thành phần của IDS

Tìm hiểu về linux based ids

IDS bao gồm các thành phần chính: thành phần thu thập gói tin (information collection), thành phần phân tích gói tin (Detection), thành phần phản hồi (response) nếu gói tin đó được phát hiện là một cuộc tấn công.

Thành phần phân tích gói tin là quan trọng nhất và ở thành phần này bộ cảm biến đóng vai trò quyết định. Bộ cảm biến tích hợp với thành phần là sưu tập dữ liệu và một bộ tạo sự kiến. Cách sưu tập này được xác định bởi chính sách tạo sự kiện để định nghĩa chế độ lọc thông tin sự kiện. Vai trò của bộ cảm biến là dùng để lọc thông tin và loại bỏ dữ liệu không tương thích đạt được từ các sự kiện liên quan với hệ thống bảo vệ, vì vậy có thể phát hiện được các hành động nghi ngờ. Bộ phân tích sử dụng cơ sở dữ liệu chính sách phát hiện cho mục này. Ngoài ra còn có các thành phần: dấu hiệu tấn công, profile hành vi thông thường, các tham số cần thiết. Thêm vào đó, cơ sở dữ liệu giữa các tham số cấu hình, gồm các chế độ truyền thông với module đáp trả. Bộ cảm biến cũng có sơ sở dữ liệu của riêng nó.

2.2 Chức năng

Chức năng quan trọng nhất của IDS là:

  • Giám sát: giám sát lưu lượng mạng các hoạt động bất thường và các hoạt động khả nghi
  • Cảnh báo: Khi đã biết được các hoạt động bất thường của một truy cập nào đó, IDS sẽ đưa ra cảnh báo về hệ thống cho người quản trị
  • Bảo vệ: Dùng những thiết lập mặc định và những cấu hình từ nhà quản trị mà có những hành động chống lại kẻ xâm nhập

Chức năng mở rộng của IDS:

  • Phân biệt các cuộc tấn công từ trong hoặc từ bên ngoài: nó có thể phân biệt được đâu là những truy cập hợp lệ (hoặc không hợp lệ) từ bên trong và đâu là cuộc tấn công từ bên ngoài
  • Phát hiện: dựa vào so sánh lưu lượng mạng hiện tại với baseline, IDS có thể phát hiện ra những dấu hiệu bất thường và đưa ra các cảnh báo và bảo vệ ban đầu cho hệ thống

2.3 Quy trình hoạt động của IDS

  • Một host tạo ra một gói tin mạng
  • Các cảm biến trong mạng đọc các gói tin trong khoảng thời gian trước khi nó được gửi ra khỏi mạng cục bộ (cảm biến này cần phải được đặt sao cho nó có thể đọc tất cả các gói tin).
  • Chương trình phát hiện nằm trong bộ cảm biến kiểm tra xem có gói tin nào có dấu hiệu vi phạm hay không. Khi có dấu hiệu vi phạm thì một cảnh báo sẽ được tạo ra và gửi đến giao diện điều khiển.
  • Khi giao diện điều khiển lệnh nhận được cảnh báo nó sẽ gửi thông báo cho một người hoặc một nhóm đã được chỉ định từ trước (thông qua email, cửa sổ popup, trang web v.v…).
  • Phản hồi được khởi tạo theo quy định ứng với dấu hiệu xâm nhập này.
  • Các cảnh báo được lưu lại để tham khảo trong tương lai (trên địa chỉ cục bộ hoặc trên cơ sở dữ liệu).
  • Một báo cáo tóm tắt về chi tiết của sự cố được tạo ra.
  • Cảnh báo được so sánh với các dữ liệu khác để xác định xem đây có phải là cuộc tấn công hay không.

3. Phân loại IDS

Hệ thống IDS được chia làm 2 loại cơ bản:

  •      Network-based IDS (NIDS): sử dụng dữ liệu trên toàn bộ lưu thông mạng cùng dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập
    
  •      Host-based IDS (HIDS): sử dụng dữ liệu kiểm tra tự một máy trạm đơn để phát hiện xâm nhập
    

3.1 Network based IDS - NIDS

Tìm hiểu về linux based ids

Hệ thống IDS dựa trên mạng sẽ kiểm tra các giao tiếp trên mạng với thời gian thực (real-time). Nó kiểm tra các giao tiếp, quét header của các gói tin, và có thể kiểm tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn công khác nhau. Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát hiện các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based) của tấn công Denied of Service (DoS).

Ưu điểm:

  •      Quản lý được cả một network segment (gồm nhiều host)
    
  •      Trong suốt với người sử dụng lẫn kẻ tấn công
    
  •      Cài đặt và bảo trì đơn giản, không ảnh hưởng tới mạng
    
  •      Tránh DOS ảnh hưởng tới một host nào đó
    
  •      Có khả năng xác định lỗi ở tầng Network
    
  •      Độc lập với OS
    

Nhược điểm:

  •      Có thể xảy ra trường hợp báo động giả
    
  •      Không thể phân tích các dữ liệu đã được mã hóa (VD: SSL, SSH, IPSec...)
    
  •      NIDS đòi hỏi phải được cập nhật các signature mới nhất để thực sự an toàn
    
  •      Có độ trễ giữa thời điểm bị tấn công với thời điểm phát báo động. Khi báo động được phát hiện, hệ thống có thể đã bị tổn hại.
    
  •      Không cho biết việc tấn công có thành công hay không
    
  •      Hạn chế lớn nhất là giới hạn băng thông. Những bộ dò mạng phải nhận tất cả các lưu lượng mạng, sắp xếp lại những lưu lượng đó và phân tích chúng. Khi tốc độ mạng tăng lên thì khả năng của đầu dò cũng phải tăng theo.
    

3.2 Host based IDS - HIDS

Bằng cách cài đặt một phần mềm trên máy chủ, IDS dựa trên máy chủ quan sát tất cả những hoạt động về hệ thống và các file log, lưu lượng mạng thu thập. Hệ thống dựa trên máy chủ cũng theo dói OS, những cuộc gọi hệ thống, lịch sử và những thông điệp báo lỗi trên hệ thống máy chủ. HIDS thường được cài đặt trên một máy tính nhất định thay vì giám sát hoạt động của một network, HIDS chỉ giám sát các hoạt động trên một máy tính. HIDS thường được đặt trên các host quan trọng và các server trong vùng DMS. Nhiệm vụ của HIDS là theo dõi các thay đổi trên hệ thống gồm:

  •      Các tiến trình
    
  •      Các entry
    
  •      Mức độ sử dụng CPU
    
  •      Tình trạng RAM
    
  •      Tính toàn vẹn của hệ thống
    
  •      Các thông số này khi vượt qua một ngưỡng nhất định hoặc có những thay đổi khả nghi sẽ gây ra báo động
    

Tìm hiểu về linux based ids

Ưu điểm:

  •      Có khả năng xác định user liên quan tới event
    
  •      HIDS có khả năng phát hiện tấn công diễn ra trên một máy, NIDS thì không
    
  •      Có thể phân tích các dữ liệu mã hóa
    
  •      Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này
    

Nhược điểm:

  •      Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này thành công
    
  •      Khi OS bị sập  do tấn công, đồng thời HIDS cũng sập
    
  •      HIDS phải được thiết lập trên từng host cần giám sát
    
  •      HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcat ...)
    
  •      HIDS cần tài nguyên trên host để hoạt động
    
  •      HIDS có thể không hiệu quả khi bị DOS.
    

4. Những loại tấn công thường gặp và IDS tương ứng

4.1 Tấn công từ chối dịch vụ Denial of Services

Denial of Service (DoS) có mục đích đóng bang hay chặn đứng tài nguyên hệ thống đích. Cuối cùng mục tiêu không thể tiếp cận và trả lời các gói tin gửi đến. DoS tấn công vào các mục tiêu bao gồm 3 dạng: mạng, hệ thống và ứng dụng.

  •      Phá hoại mạng: kiểu tấn công SYN flood. Kẻ tấn công sẽ gửi các gói tin kết nối SYN tới hệ thống cho tới khi công suất của máy chủ quá tải và sẽ không thể nhận được bất kỳ gói tin nào nữa.
    
  •      Phá hoại hệ thống: bao gồm các dạng như Ping of Death (gửi 1 gói dữ liệu có kích thước lớn thông qua lệnh ping tới máy chủ), Teardrop (gửi tới máy chủ một loại gói tin có giá trị offset chồng chéo khiến máy chủ không sắp xếp được à crash hoặc reboot) … Các kiểu tấn công này nhằm lợi dụng lỗ hổng trên hệ điều hành nhằm phá hoại, gây quá tải hệ thống.
    
  •      Phá hoại ứng dụng: bằng cách lợi dụng điểm yếu trên ứng dụng, cơ sở dữ liệu hay trang web…
    

Giải pháp: Network IDS có thể phát hiện được các cuộc tấn công dạng gói tin

4.2 Quét và thăm dò (Scanning và Probe)

Bộ quét và thăm dò tự động sẽ tìm kiếm hệ thống trên mạng để xác định điểm yếu. Việc thăm dò có thể thực hiện bằng cách ping tới hệ thống cũng như kiểm tra các cổng TCP hoặc UDP để phát hiện ra ứng dụng có những lỗi đã được biết tới.

Giải pháp: Network IDS có thể phát hiện các hành động nguy hiểm trước khi chúng xảy ra. Host IDS cũng có tác dụng đối với kiểu tấn công này

4.3 Tấn công vào mật khẩu (Password attack)

Có các phương thức để tiếp cận:

  •      Kiểu dễ nhận thấy nhất là ăn trộm mật khẩu, mang lại quyền quản trị cho kẻ tấn công có thể truy cập mọi thông tin trong mạng.
    
  •      Đoán hay bẻ khóa mật khẩu là phương thức tiếp cận bằng cách thử nhiều lần mật khẩu để tìm được đáp án đúng. Với kiểu bẻ khóa, kẻ tấn công cần truy cập tới mật khẩu đã được mã hóa hay file chứa mật khẩu đã mã hóa. Và sử dụng chương trình đoán mật khẩu với thuật toán mã hóa để xác định mật khẩu đúng.
    

Giải pháp: Một Network IDS có thể phát hiện và ngăn chặn cố gắng đoán mật khẩu, nhưng nó không hiệu quả trong việc phát hiện truy cập trái phép tới file bị mã hóa. Trong khi đó, Host IDS lại thể hiện hiệu quả trong việc phát hiện đoán mật khẩu cũng như truy cập trái phép.

4.4 Chiếm đặc quyền (Privilege-grabbing)

Khi kẻ tấn công đã xâm nhập được hệ thống, chúng sẽ cố chiếm quyền truy cập. Khi thành công, chúng sẽ tìm cách phá hoại hệ thống hoặc đánh cắp thông tin quan trọng. Một số kỹ thuật thường dung cho việc chiếm đặc quyền:

  •      Đoán hay đánh cắp mật khẩu root, admin
    
  •      Gây tràn bộ đệm
    
  •      Khai thác registry
    
  •      Sử dụng file, script hay lỗi của hệ điều hành, ứng dụng.
    

Giải pháp: Cả NIDS và HIDS đều có thể xác định được việc thay đổi đặc quyền trái phép

4.5 Cài đặt mã nguy hiểm (Hostile code insertion)

Một số loại tấn công có thể cài đặt mã nguy hiểm vào hệ thống. Mã này có thể lấy trộm dữ liệu, gây từ chối dịch vụ, xóa file hay tạo backdoor cho lần truy cập tiếp theo.

  •      Virus: khi được thực thi sẽ dẫn tới hành động tự động, có hoặc không có hại, luôn tạo ra bản sao của file hệ thống, file ứng dụng hay dữ liệu.
    
  •      Trojan Horse: được đặt tên như một chương trình người ta muốn sử dụng nhưng thực tế chúng kích hoạt các hành động dẫn tới hỏng hệ thống
    

Giải pháp: không có loại IDS nào chống việc phá hoại từ virus hay Trojan. Cách tốt nhất là cài đặt phần mềm diệt virus

4.6 Hành động phá hoại trên máy móc (Cyber vandalism)

Hành động phá hoại bao gồm: thay đổi trang web, xóa file, phá block khởi động và chương trình hệ điều hành, format ổ đĩa

Giải pháp: sử dụng HIDS trong trường hợp này là hoàn toàn phù hợp. Với NIDS có thể sử dụng dấu hiệu tấn công được định nghĩa trước để phát hiện chính xác việc truy cập trái phép vào hệ điều hành

4.7 Tấn công hạ tầng bảo mật (Security infrastructure attack)

Có nhiều loại tấn công can thiệp vào việc điều khiển cơ bản của cơ sở hạ tầng bảo mật như tạo tường lửa trái phép, chỉnh sửa tài khoản của người dung hay thay đổi các quyền của file. Tấn công vào cơ sở hạ tầng cho phép kẻ xâm nhập có them quyền truy cập hay tạo them nhiều đường xâm nhập vào hệ thống

Giải pháp: HIDS có thể bắt giữ các cuộc đăng nhập mà thực hiện những hành động như trên

Chúng ta sẽ cùng nghiên cứu demo về HIDS trong phần 2 của bài giới thiệu này.