Yêu cầu chung về mô hình hóa và mô phỏng tấn công mạng

Một phần của tài liệu TÌM HIỂU THỬ NGHIỆM NESSI2 MÔ PHỎNG TẤN CÔNG MẠNG VÀ PHÂN TÍCH ĐÁNH GIÁ TẤN CÔNG MẠNG (Trang 25)

Sự phát triển của các công cụ an ninh mạng có sử dụng các kỹ thuật tổng hợp là một bước tiến quan trọng trong việc đảm bảo một mạng tin cậy và an toàn. Tuy nhiên, vẫn còn nhiều việc phải làm trong lĩnh vực này do khó khăn trong việc phát triển hệ thống. Để biết các cuộc tấn công được phát hiện đầy đủ, một mạng có thể được thiết lập để thực hiện các cuộc tấn công thử nghiệm. Tuy nhiên chi phí sẽ tăng đáng kể và thiết lập như vậy cũng không giải thích được mục đích và phương thức của các cuộc tấn công có thể xảy ra.

Mô phỏng sẽ cho phép cho các mạng có kích thước, cấu trúc khác nhau để dễ dàng mô hình hóa và được sử dụng trong việc thử nghiệm các cuộc tấn công ngày càng tinh vi, phức tạp vào một mô hình giả lập. Bằng cách cung cấp dữ liệu mô phỏng cuộc tấn công mạng, thông tin về hệ thống có thể kiểm tra trên một loạt các kịch bản.

Có nhiều tiêu chí quan trọng trong việc phát triển một mô hình mô phỏng các cuộc tấn công với độ chính xác cao. Cần xây dựng và triển khai thiết kế một cơ sở hạ tầng giả định chuẩn, bao gồm hệ thống mạng tốc độ cao, hệ thống máy chủ, máy trạm, các hệ thống bảo đảm an toàn thông tin,.... Các thành phần này sẽ được kết nối với nhau, tạo ra các kịch bản mô phỏng. Hệ thống hạ tầng giả định phải đáp ứng được các yêu cầu cần thiết để xây dựng các kịch bản gần với thực tế, như vậy mới đảm bảo được tính hiệu quả khi sử dụng mô hình mô phỏng.

Sau khi đã có đầy đủ các trang thiết bị và công cụ mô phỏng sẵn sàng để thực hiện thì phần quan trọng nhất khi triển mô phỏng là xây dựng các kịch bản. Trong các kịch bản này cần mô tả được các tình huống sát với thực tế mà lực lượng tham gia phải bảo vệ hoặc tấn công.

Các mục tiêu được sử dụng trong các kịch bản tấn công thường có các loại như sau: Truy cập được vào các dữ liệu bí mật (Đọc và Ghi), làm gián đoạn, từ chối dịch vụ (DDoS), Kiểm soát hệ thống,....

Mô hình hóa tấn công mạng

Để hiểu các cuộc tấn công mạng là thông qua phân loại các cuộc tấn công và mô hình hóa các tiến trình tấn công. Điều này cần quan sát cẩn thận sự kiện liên quan đến một cuộc tấn công để hiểu được về các hành vi tấn công. Việc phát triển một tấn công trên mạng phù hợp với hệ thống mô hình hóa sẽ hỗ trợ trong việc kiểm tra, bảo vệ hệ thống mạng. Có ba loại tấn công chính đã được xác định là các cuộc tấn công dựa trên ứng dụng web, tấn công ứng dụng client-server và hệ thống các cuộc tấn công độc lập. Mô hình thực hiện thông qua các nghiên cứu đã chỉ ra đó là cần thiết để thử nghiệm các hệ thống mạng được bảo vệ, các phương pháp đang trở thành cần thiết cho bất kỳ loại công cụ bảo mật nào.

Mô phỏng tấn công mạng

Một cuộc tấn công mạng bao gồm các bước tấn công, hành vi và hoạt động tấn công.

Mô phỏng tấn công mạng cung cấp một cấu trúc mạng, các cuộc tấn công mạng điển hình để từ đó đánh giá được mức độ tàn phá là một điều cần thiết. Mặc dù các quá trình này có thể được thiết lập trên một mạng vật lý, tuy nhiên sẽ tốn kém và mất nhiều thời gian.

2.2. Phƣơng pháp mô hình hóa và mô phỏng tấn công mạng

2.2.1. Các phương pháp mô hình hóa

2.2.1.1. Phương pháp mô phỏng sự kiện rời rạc

Một mô phỏng sử dụng mô hình trạng thái rời rạc của hệ thống được gọi là phương pháp mô phỏng sự kiện rời rạc. Phương pháp này ngược với các phương pháp mô phỏng sự kiện liên tục ở chỗ trong mô phỏng sự kiện liên tục trạng thái của hệthống lấy các giá trị liên tục. Các mô hình trạng thái liên tục được sử dụng trong các mô phỏng hóa học do trạng thái của hệ thống được mô tả bởi sự tập trung của một chất hóa học. Trong các hệ thống máy tính, các mô hình sự kiện rời rạc được sử dụng bởi vì trạng thái của hệ thống được mô tả bởi số lượng công việc ở những thiết bị khác nhau. Lưu ý rằng thuật ngữ “rời rạc” không dùng để chỉ giá trị thời gian

được sử dụng trong mô phỏng. Phương pháp mô phỏng sự kiện rời rạc có thể sử dụng các giá trị thời gian liên tục hay rời rạc.

Tất cả phương pháp mô phỏng sự kiện rời rạc đều có chung một cấu trúc. Bất kể hệ thống được mô hình là gì thì phương pháp mô phỏng cũng sẽ có một số thành phần như sau: Nếu sử dụng ngôn ngữ lập trình đa dụng, thì các nhà phân tích phải tự phát triển tất cả các thành phần. Ngôn ngữ lập trình mô phỏng thì có thể cung cấp một vài thành phần, còn lại các nhà phân tích phải tự phát triển.

2.2.1.2. Phương pháp mô phỏng theo vết (trace driven)

Mô phỏng sử dụng trace làm đầu vào là phương pháp mô phỏng trace-driven. Trace là một bản ghi các sự kiện được sắp xếp theo thời gian của một hệ thống thật. Các phương pháp mô phỏng trace-driven này khá thông dụng trong các phân tích hệ thống máy tính. Chúng thường được sử dụng để phân tích và điều chỉnh các giải thuật quản lý tài nguyên. Giải thuật paging, phân tích bộ nhớ cache, các giải thuật lập lịch CPU, các giải thuật ngăn chặn nghẽn và các giải thuật để phân chia động bộ nhớlà các ví dụ về các trường hợp đã áp dụng thành công phương pháp mô phỏng Trace-driven.

2.2.1.3. Phương pháp mô phỏng Monte

Phương pháp mô phỏng tĩnh hay một phương pháp mô phỏng nào đó không có trục thời gian thì được gọi là phương pháp mô phỏng Monte Carlo. Những phương pháp thường được dùng để mô hình những hiện tượng xác suất, những hiện tượng không thay đổi đặc tính theo thời gian. Giống như một phương pháp mô phỏng động, các phương pháp mô phỏng tĩnh cũng cần phải có một bộ tạo các số giả ngẫu nhiên. Phương pháp mô phỏng Monte Carlo cũng được sử dụng để tính toán các biểu thức không theo xác suất bằng cách sử dụng các phương pháp theo xác suất.

2.2.2. Phương pháp mô phỏng tấn công mạng

Sau khi xác định một cấu trúc mạng chi tiết bằng cách sử dụng các thành phần từ các mạng gói, mạng có thể được sử dụng như một cơ sở cho thiết lập và mô phỏng một loạt các cuộc tấn công mạng. Các công cụ phần mềm sử dụng để thực

hiện tấn công là phương tiện của các cuộc tấn công và mô phỏng trong các ứng dụng. Các công cụ phần mềm cũng cung cấp một phần lớn các chức năng cần thiết để từ đó đưa ra những giải pháp phòng, chống tấn công mạng.

Khi một kịch bản tấn công được xác định đầy đủ, ứng dụng sau đó có thể tiến hành để chạy một mô phỏng sự kiện rời rạc của các cuộc tấn công tăng dần qua mạng. Quá trình mô phỏng xảy ra thông qua việc xử lý các sự kiện. Một bước tấn công có thể được mô hình hóa qua các hoạt động. Một cuộc tấn công có thể được chia làm nhiều bước và được mô hình hóa thông qua các hoạt động cụ thể như sau.

2.2.2.1. Mô hình hóa lưu lượng

Trong một mạng máy tính thực sự, lưu lượng mạng đại diện cho tất cả các gói dữ liệu di chuyển giữa các thiết bị trong mạng. Mô hình hóa tất cả các lưu lượng mạng có thể là một quá trình kéo dài sẽ làm giảm đáng kể hiệu suất của các mô phỏng. Ngoài ra, mô hình lưu lượng này không thêm bất kỳ giá trị bổ sung cho các mô phỏng. Do đó, mô hình chỉ bao gồm lưu lượng mạng được tham gia vào tiến trình tấn công hoặc quá trình phát hiện xâm nhập.

Mô hình này là có liên quan với ba loại lưu lượng mạng: 1) lưu lượng kết hợp với một bước tấn công phù hợp với một định nghĩa cảnh báo; 2) lưu lượng kết hợp với một bước tấn công song không phù hợp với một định nghĩa cảnh báo và 3) lưu lượng không liên quan đến một cuộc tấn công nhưng vẫn có một định nghĩa cảnh báo. Loại cuối cùng liên quan đến nhiễu, một hệ thống mạng hoàn toàn bình thường có thể bị nhầm lẫn như là bị tấn công. Lưu lượng không liên quan đến một bước tấn công và cũng không có một định nghĩa cảnh báo, không được mô hình bởi vì lưu lượng như vậy sẽ không có ảnh hưởng đến các cuộc tấn công.

Mô hình sử dụng lưu lượng để xác định từng đối tượng lưu lượng di chuyển giữa các thiết bị mạng. Các đối tượng này không đại diện cho các gói dữ liệu đơn lẻ. Thay vào đó, các đối tượng đại diện cho tập hợp các gói dữ liệu cần thiết để thực hiện một sự kiện cụ thể. Đại diện lưu lượng truy cập theo cách này làm giảm số lượng thông tin phải được định tuyến giữa các nút của mô hình mạng. Các thuộc

tính cơ bản định nghĩa trong lớp Traffic bao gồm máy tính nguồn, máy tính mục tiêu, chỉ số sự kiện, thể loại sự kiện và thời gian tạo ra.

Lưu lượng tấn công được định nghĩa bằng các thuộc tính cơ bản bao gồm địa chỉ máy nguồn, địa chỉ máy đích, chỉ số sự kiện.

Máy tính nguồn đại diện cho máy mà tạo ra lưu lượng truy cập và chỉ ra nút trong mô hình mạng mà đối tượng lưu lượng ban đầu nằm ở phần chạy mô phỏng (Run Simulation). Máy đích là máy mà tại đó tin tặc mong muốn đạt được mục tiêu mong muốn. Khi đến nút đích này, lưu lượng được lấy ra từ các mô phỏng.

Chỉ số sự kiện là một số nguyên dùng để chỉ sự kiện đang được thực hiện bởi lưu lượng. Sự kiện này có thể là nguy hại trong cuộc tấn công hay chỉ là nhiễu thông thường. Các mô tả của sự kiện được chứa trong lớp sự kiện có sẵn và được tham chiếu bởi các chỉ số sự kiện. Ngoài ra, các đối tượng lưu lượng bao gồm các kiểu sự kiện để chỉ ra những hoạt động có liên quan.

Các mục chính và phụ có thể được liệt kê trong các biến lớp Traffic đại diện cho các hệ thống phân loại được sử dụng cho các sự kiện. Phân loại này được thực hiện bằng cách sử dụng thiết lập trong năm loại chính và đều có một tập hợp con của loại thứ cấp. Các loại sự cố được hiển thị trong hình 2.1, mỗi sự kiện thực hiện được coi là một thành viên của một trong các loại được liệt kê trong hình này.

Hình 2.1: Phân tích về thể loại sự kiện

Mặc dù lớp Traffic xác định một mức độ chi tiết để tạo ra lưu lượng mạng, các lớp lưu lượng truy cập dựa trên hai lớp con khác để tạo các đối tượng lưu lượng. Hai lớp là bước tấn công và lớp nhiễu, mỗi lớp kế thừa các thuộc tính, phương pháp cung cấp trong lớp Traffic [5].

Lớp tấn công xác định lưu lượng của một cuộc tấn công. Đối với một đối tượng tấn công, sự kiện tham chiếu đại diện cho một sự khai thác thực hiện trên

máy tính đích. Một đối tượng tấn công cũng bao gồm một số thuộc tính bổ sung liên quan đến một cuộc tấn công tổng thể. Một thuộc tính tấn công thuộc về các đối tượng tấn công. Ngoài ra, một thuộc tính chỉ ra nơi xảy ra sự bùng phát của các cuộc tấn công. Cuối cùng, một thuộc tính thành công là một giá trị Boolean cho biết tấn công đã được thực hiện thành công.

Lớp nhiễu định nghĩa lưu lượng liên quan đến mạng nhiễu không bị tấn công điển hình. Loại hình lưu lượng vẫn sẽ tạo ra các cảnh báo, nhưng các sự kiện tham chiếu bởi một đối tượng nhiễu sẽ đại diện cho một sự kiện không thực sự xảy ra hay không xảy ra như một phần của một cuộc tấn công. Lớp nhiễu không xác định bất kỳ thuộc tính bổ sung, nhưng lớp cũng không cung cấp các phương pháp để tạo ra lưu lượng nhiễu ngẫu nhiên [5].

2.2.2.2. Những sự kiện có thể sử dụng

Một trong những yếu tố đầu vào quan trọng của mô hình là cơ sở dữ liệu của các sự kiện có sẵn để sử dụng trong việc tạo ra bước tấn công và nhiễu mạng. Đối với các bước tấn công những sự kiện đại diện cho khai thác tiềm năng có thể được sử dụng trong một cuộc tấn công. Đối với nhiễu, những sự kiện này đại diện cho các bộ tiềm năng giả tích cực có thể được lựa chọn từ khi tạo đối tượng nhiễu.

Lớp hành động (Action) có sẵn là một lớp trừu tượng nhằm xác định danh sách các sự kiện có thể được sử dụng. Loại này bao gồm các mảng thuộc tính đại diện cho các thuộc tính của mỗi sự kiện. Một chỉ số duy nhất, đại diện cho các vị trí trong một mảng, được sử dụng cho mỗi sự kiện đơn lẻ. Sử dụng phương pháp này, bất kỳ các thuộc tính của sự kiện có thể được lấy ra thông qua phương pháp lớp khi chỉ cung cấp các chỉ số.

Các mảng thuộc tính thành lập trong lớp sự kiện bao gồm các sự kiện, mục chính, mục phụ, loại máy, hệ điều hành, vị trí dễ bị tấn công, giao thức và số cổng.

Các kiểu chính và phụ phân loại các sự kiện và chỉ ra những loại hình hoạt động đang được thực hiện. Thông tin này được sử dụng khi lọc ra danh sách các sự kiện tiềm năng dựa trên các mục mong muốn.

Các loại máy, hệ điều hành và tất cả các vị trí dễ bị tấn công đã nêu ra chi tiết và cần thiết trên máy tính mục tiêu cho các sự kiện để thành công.

Sự kiện có thể trên nhiều loại máy hoặc hệ điều hành phải có một mục trong cơ sở dữ liệu cho từng loại. Vị trí lỗ hổng đại diện cho lỗ hổng xác định cụ thể các sự kiện có thể khai thác và thuộc tính này được sử dụng khi ánh xạ một dịch vụ của máy tính để các lỗ hổng thể hiện khi sử dụng dịch vụ. Vì vậy, khi cung cấp một tập hợp các dịch vụ đang chạy trên máy tính mục tiêu, một tập hợp các sự kiện có khả năng thành công có thể được lấy dựa trên các vị trí dễ bị tấn công.

Các giao thức và các thuộc tính số cổng chỉ ra một khả năng thay thế mà sự kiện có thể sử dụng. Theo mặc định, các sự kiện sẽ sử dụng một trong các cổng dịch vụ của các dịch vụ đó kết hợp với sự kiện. Sự thành công của các sự kiện được thực hiện bởi một đối tượng lưu lượng, tuy nhiên sẽ yêu cầu ít nhất một trong những cổng dịch vụ được phép dọc theo toàn bộ tuyến đường mà các đối tượng lưu lượng có thông qua mạng [5].

2.2.2.3. Kịch bản tấn công

Khái niệm về một kịch bản tấn công được sử dụng trong mô hình để xác định rõ loại hoạt động xảy ra trong quá trình chạy mô phỏng. Hoạt động này bao gồm cả các cuộc tấn công đe dọa và nhiễu mạng điển hình. Mỗi mạng theo mô hình có thể chứa một tập hợp các tình huống tấn công được xác định cụ thể cho hệ thống mạng. Tuy nhiên, các mô phỏng chỉ xử lý một kịch bản được lựa chọn tại một thời điểm. Một bảng điều khiển cụ thể được cung cấp trong khung mạng để quản lý các tình huống tấn công của mạng. Với bảng điều khiển này, người dùng có thể lựa chọn một kịch bản, tạo ra một kịch bản, chỉnh sửa kịch bản, hoặc quản lý danh sách các kịch bản, trong đó bao gồm việc loại bỏ hoặc sao chép một kịch bản.

Khi tạo ra một kịch bản mới hay chỉnh sửa kịch bản hiện tại, người dùng được trình bày với một hình thức mà các thuộc tính kịch bản có thể được sửa đổi. Mỗi kịch bản đối tượng tấn công có một tập hợp các thuộc tính liên quan đến nhiễu tạo ra bởi kịch bản và một tập hợp các thuộc tính liên quan đến các cuộc tấn công có

Một phần của tài liệu TÌM HIỂU THỬ NGHIỆM NESSI2 MÔ PHỎNG TẤN CÔNG MẠNG VÀ PHÂN TÍCH ĐÁNH GIÁ TẤN CÔNG MẠNG (Trang 25)

Tải bản đầy đủ (PDF)

(81 trang)