1. Trang chủ
  2. » Luận Văn - Báo Cáo

PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2

81 910 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích, Đánh Giá Một Số Công Cụ Mô Phỏng Tấn Công Mạng Và Xây Dựng Kịch Bản Thử Nghiệm Với NESSI2
Tác giả Bùi Hồng Đại
Người hướng dẫn PGS.TSKH. Hoàng Đăng Hải
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Hệ thống thông tin
Thể loại Luận văn thạc sĩ kỹ thuật
Năm xuất bản 2014
Thành phố Hà Nội
Định dạng
Số trang 81
Dung lượng 2,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2

Trang 1

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TSKH HOÀNG ĐĂNG HẢI

HÀ NỘI, 2014

Trang 2

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công

bố trong bất kỳ công trình nào khác

Hà Nội, tháng 02 năm 2014

Tác giả luận văn

Bùi Hồng Đại

Trang 3

Em xin được bày tỏ lòng cảm ơn sâu sắc đến thầy giáoPGS.TSKH.Hoàng Đăng Hải, Phó Giám đốc Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) đã hướng dẫn tận tình, động viên và tạo điều kiện thuận lợi trong suốt quá trình làm khóa luận

Em xin chân thành cảm ơn các thầy, cô khoa Quốc tế và đào tạo sau đại học cùng toàn thể các thầy giáo, cô giáo tham gia giảng dạy đã tạo điều kiện, truyền đạt những kiến thức nền tảng mang tính định hướng rất có ích trong quá trình làm khóa luận

Chân thành cảm ơn Ban Giám hiệu trường Đại học Kỹ thuật - Hậu cần CAND, lãnh đạo khoa CNTT và đồng nghiệp luôn tạo điều kiện thuận lợi và hỗ trợ tôi trong suốt quá trình học tập

Trang 4

DANH MỤC VIẾT TẮT iv

DANH SÁCH HÌNH VẼ v

MỞ ĐẦU 1

Chương 1 - TỔNG QUAN VỀ TẤN CÔNG MẠNGVÀ MÔ PHỎNG 3

1.1 Khái quát về tấn công mạng 3

1.1.1 Một số khái niệm 3

1.1.2 Mục đích tấn công 4

1.1.3 Các hình thức tấn công 4

1.1.4 Các mô hình tấn công mạng 6

1.2 Giới thiệu về một số tấn công mạng điển hình 7

1.2.1 Tấn công dò tìm 7

1.2.2 Tấn công xâm nhập 10

1.2.3 Tấn công từ chối dịch vụ 10

1.3 Khái niệm mô phỏng tấn công mạng 14

1.3.1 Khái niệm 14

1.3.2 Các tiêu chí đánh giá chương trình mô phỏng mạng 14

1.4 Kết luận chương 15

Chương 2 - MÔ HÌNH HÓA VÀ MÔ PHỎNG TẤN CÔNG MẠNG 16

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

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

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

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

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

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

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

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

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

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

2.2.2.4 Các lớp tấn công 23

2.3 Nhận xét chung 25

2.4 Kết luận chương 26

Chương 3 - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG ĐIỂN HÌNH 27

3.1 Giới thiệu một số công cụ mã nguồn mở điển hình 27

3.1.1 Nhóm các công cụ đơn lẻ giả lập tấn công DoS/DDoS 27

Trang 5

3.1.4 Bộ công cụ giả lập tấn công WebGoat 29

3.1.5 Bộ công cụ NeSSi2 29

3.1.6 Bộ công cụ mô phỏng mạng NS-2 30

3.1.7 Bộ công cụ mô phỏng OMNeT++ 31

3.2 Phân tích, đánh giá một số bộ công cụ mô phỏng 32

3.2.1 Phân tích, đánh giá bộ công cụ NeSSi2 32

3.2.1.1 Các thành phần cơ bản của NeSSi2 32

3.2.1.2 Các tính năng của NeSSi2 34

3.2.1.3 Đặc tính an ninh 35

3.2.1.4 Đánh giá mô phỏng 35

3.2.2 Phân tích, đánh giá bộ công cụ NS-2 36

3.2.2.1 Các thành phần cơ bản trong bộ mô phỏng NS-2 36

3.2.2.2 Kiến trúc của NS-2 36

3.2.2.3 Các đặc tính của NS-2 40

3.2.2.4 Đánh giá mô phỏng 41

3.2.3 Phân tích, đánh giá bộ công cụ OMNeT++ 41

3.2.3.1 Các thành phần chính của OMNeT++ 41

3.2.3.2 Mô hình trong OMNeT++ 41

3.2.3.3 Các đặc tính của OMNeT++ 44

3.2.3.4 Đánh giá mô phỏng 44

3.3 So sánh NeSSi2, NS-2 và OMNeT++ 44

3.4 Kết luận chương 49

Chương 4 - XÂY DỰNG KỊCH BẢN MÔ PHỎNG THỬ NGHIỆM TẤN CÔNG MẠNG VỚI NESSI2 51

4.1 Cài đặt phần mềm mô phỏng NeSSi2 51

4.1.1 Yêu cầu chung cho việc cài đặt NeSSi2 51

4.1.2 Tải và cài đặt NeSSi2 51

4.1.3 Cấu hình NeSSi2 51

4.1.4 Khởi động NeSSi2 51

4.2 Cài đặt giao diện người dùng NeSSi2 52

4.2.1 Tải và cài đặt 52

4.2.2 Cấu hình 52

4.2.3 Khởi động giao diện người dùng NeSSi2 52

4.3 Cơ sở dữ liệu NeSSi2 52

Trang 6

4.4.2 Thiết lập hồ sơ 54

4.4.3 Thiết lập kịch bản mô phỏng 55

4.4.4 Thiết lập phiên kịch bản 55

4.4.5 Thực hiện mô phỏng 56

4.5 Mô hình mô phỏng, thử nghiệm 56

4.5.1 Sơ đồ mạng mô phỏng, chức năng các thành phần 56

4.5.1.1 Xây dựng sơ đồ tượng trưng cho hệ thống mạng trường Đại học Kỹ thuật - Hậu cần CAND trên phần mềm mô phỏng NeSSi2 56

4.5.1.2 Mô tả các thành phần của hệ thống mạng trường Đại học Kỹ thuật - Hậu cần CAND 57

4.5.2 Tạo nguồn lưu lượng 62

4.6 Xây dựng một số kịch bản tấn công 65

4.7 Các kết quả mô phỏng 66

4.8 Phân tích, đánh giá 69

4.9 Kết luận chương 69

KẾT LUẬN 70

TÀI LIỆU THAM KHẢO 72

Trang 7

CBR Constant Bit Rate Tốc độ bit không đổi

IMAP Internet Message Access Protocl Giao thức truy cập thông

điệp Internet IRC Internet Relay Chat Trò chuyện trực tuyến

MAC Media Access Control Kiểm soát truy nhập truyền

thông MTU Max Transmission Unit Đơn vị truyền tải lớn nhất

NESSI2 Network Security Simulator version 2 Mô phỏng an ninh mạng

phiên bản 2

NNTP Netwwok News Transfer Protocol Giao thức truyền tin trên

mạng POP Post Office Protocol Giao thức nhận thư

DRDoS Distributed Reflection DoS Tấn công từ chối dịch vụ

theo phương pháp phản xạ SMTP Simple Mail Transfer Protocol Giao thức gửi thư

SOAP Simple Object Access Protocol Giao thức truy cập đối tượng

đơn giản

Tcl/TK Tool Command Language/Tkinter

Công cụ ngôn ngữ lệnh/Gói

mở rộng để xây dựng giao diện người dùng đồ họa

TFTP Trivial File Transfer Protocol Giao thức truyền file thông

thường VBR Variable Bit Rate Tốc độ bit có thể thay đổi XML Extensible Markup Language Ngôn ngữ đánh dấu mở rộng

Trang 8

Số hiệu hình vẽ Tên hình vẽ Trang

1.6 Mô hình tấn công truyền thống nhiều - nhiều 6

3.4 Luồng các sự kiện cho file Tcl chạy trong NAM 38 3.5 Luồng dữ liệu các sự kiện cho file tcl chạy trong NS 38

3.7 TclCl hoạt động như liên kết giữa A và B 39

4.1 Quy trình tạo và chạy mô phỏng trên phần mềm NeSSi2 53

4.2 Quy trình thiết lập một mạng cần mô phỏng trong phần mềm

4.3 Quy trình thiết lập một hồ sơ cho mạng cần mô phỏng 54 4.4 Quy trình thiết lập một kịch bản cho mạng cần mô phỏng 55 4.5 Quy trình thiết lập phiên kịch bản cho mạng cần mô phỏng 55

4.7 Sơ đồ tượng trưng cho hệ thống mạng trường Đại học Kỹ

Trang 9

4.10 Tạo Profile TCP Client 63

4.21 Quá trình gửi các gói tin tấn công từ client đến WebServer 67 4.22 Lưu lượng giữa Firewall và Webserver sau khi tấn công 67 4.23 Lưu lượng giữa Firewall và Webserver sau khi sử dụng

Trang 10

MỞ ĐẦU

Internet có vai trò to lớn đối với đời sống con người hiện nay, giúp cho quá trình trao đổi thông tin, truyền thông trở nên nhanh chóng, hiệu quả và có tính tương tác cao Sự ra đời của Internet kéo theo rất nhiều các dịch vụ, ứng dụng được xây dựng, hỗ trợ con người trong công việc một cách tốt nhất với khả năng truyền đạt thông tin đa dạng, với nhiều kiểu dữ liệu như: Hình ảnh, âm thanh, video Khi Internet ngày càng phát triển, phạm vi ứng dụng của mạng Internet ngày càng

mở rộng thì các loại hình tấn công cũng ngày càng nhiều và trở nên đa dạng

Cho tới nay đã có nhiều công cụ mô phỏng tấn công mạng được nghiên cứu phát triển Ngoài các bộ công cụ dưới dạng sản phẩm thương mại, ngày càng có nhiều bộ công cụ mã nguồn mở, cung cấp khả năng mô phỏng hiệu quả các tấn công mạng để phục vụ cho mục đích nghiên cứu, tìm hiểu hành vi tấn công để có thể đưa ra các biện pháp kỹ thuật bảo vệ hữu hiệu hơn

Nghiên cứu, tìm hiểu về các bộ công cụ mô phỏng tấn công mạng là một việc cần thiết Từ đó có được sự lựa chọn công cụ phù hợp cho việc nghiên cứu, đào tạo chuyên gia, phân tích và theo dõi tấn công, tìm hiểu về hành vi, mức độ phá hoại của các cuộc tấn công mạng Trong số các bộ công cụ mã nguồn mở, bộ công cụ NeSSi2 mới được đưa ra từ vài năm trở lại đây đã có nhiều ưu điểm nổi bật trong việc mô phỏng tấn công mạng

Vì vậy, đề tài nghiên cứu đặt ra của bài luận văn là “Phân tích, đánh giá một số công cụ mô phỏng tấn công mạng và xây dựng kịch bản thử nghiệm với NeSSi2”

Mục đích nghiên cứu :

- Phân tích và đánh giá một số bộ công cụ mô phỏng tấn công mạng điển hình Trên cơ sở đó thực hiện xây dựng kịch bản mô phỏng thử nghiệm với một bộ công cụ điển hình là NeSSi2

Đối tƣợng và phạm vi nghiên cứu:

- Đối tượng nghiên cứu: Một số hình thức tấn công mạng điển hình Một số

bộ công cụ mô phỏng tấn công mạng điển hình

Trang 11

- Phạm vi nghiên cứu: Phân tích một một số kiểu tấn công mạng điển hình Khảo sát một số công cụ mô phỏng điển hình đang có, so sánh và đánh giá

Phương pháp nghiên cứu:

- Về mặt lý thuyết: Tìm hiểu, phân tích một số hình thức tấn công mạng Tìm hiểu một số bộ công cụ mô phỏng tấn công mạng điển hình

- Về thực tế: Tham khảo ý kiến chuyên gia và thu thập thông tin trên Internet

- Về công cụ sử dụng: Khai thác, sử dụng công cụ mô phỏng Nessi2

Các kết quả đạt được của luận văn:

- Nghiên cứu tổng quan về tấn công mạng, trình bầy một số tấn công mạng điển hình và vấn đề mô phỏng tấn công mạng ;

- Nghiên cứu phương pháp mô hình hóa tấn công mạng và kiến trúc mô phỏng;

- Nghiên cứu, phân tích, đánh giá một số công cụ mô phỏng điển hình dùng cho mô phỏng tấn công mạng;

- Xây dựng kịch bản mô phỏng thực nghiệm với NeSSi2

Luận văn được chia làm bốn chương, bố cục như sau:

Chương 1 Tổng quan về tấn công mạng và mô phỏng

Chương 2 Mô hình hóa và mô phỏng tấn công mạng

Chương 3 Phân tích, đánh giá một số công cụ mô phỏng điển hình

Chương 4 Xây dựng kịch bản mô phỏng thử nghiệm tấn công mạng với NeSSi2

Trang 12

Chương 1 - TỔNG QUAN VỀ TẤN CÔNG MẠNGVÀ MÔ

- Tính bí mật: Thông tin phải được sử dụng đúng đối tượng Chỉ những người có thẩm quyền được phép truy nhập đến thông tin hay hệ thống Thuộc tính này sẽ bị vi phạm nếu thông tin bị sử dụng sai đối tượng dưới nhiều hình thức như

ăn cắp thiết bị chứa thông tin (Máy tính, đĩa cứng, USB,…), xâm nhập trái phép vào

hệ thống máy tính để lấy trộm hoặc sao chép trộm thông tin, theo dõi, nghe trộm luồng thông tin trên mạng, sử dụng các công nghệ đột nhập qua mạng (Hack), phần mềm gián điệp và thu thập thông tin trái phép, cài đặt bí mật vào máy tính bị xâm nhập (Trojan, keyloger, spyware, rootkit,… ) [1];

- Tính toàn vẹn: Thông tin phải đảm bảo đầy đủ, nguyên vẹn về cấu trúc, không mâu thuẫn Mọi sửa đổi thông tin hay hệ thống chỉ được thực hiện bởi các bên có đủ thẩm quyền Thuộc tính này sẽ bị vi phạm nếu tin tặc thực hiện sửa đổi diện mạo trang web, thay đổi nội dung trái phép, tráo đổi địa chỉ đường dẫn URLs trang web [1];

- Tính sẵn sàng: Thông tin phải được sẵn sàng tiếp cận, phục vụ đúng cách, đúng mục đích Đảm bảo khả năng truy nhập đến thông tin hay hệ thống cho người dùng hợp pháp Thuộc tính này sẽ bị vi phạm nếu hệ thống bị tấn công làm giảm hoặc mất khả năng phục vụ theo chức năng (Tấn công từ chối dịch vụ Dos, DDoS),

hệ thống bị mở cửa hậu trái phép (Backdoor), hệ thống bị hacker kiểm soát (Máy tính Zoombie, Botnet), tấn công phá hoại, cướp quyền kiểm soát hệ thống, khủng bố mạng (Cyber terrorism) nhằm vào cơ sở hạ tầng trọng yếu [1];

Trang 13

- Tính chính xác: Thông tin phải chính xác, tin cậy Thuộc tính này sẽ bị vi phạm nếu tin tặc thực hiện sửa đổi diện mạo trang web, thay đổi nội dung trái phép, tráo đổi địa chỉ đường dẫn URLs trang web [1];

- Tính chống chối bỏ: Thông tin có thể kiểm chứng được nguồn gốc, hoặc người đưa tin Thuộc tính này sẽ bị vi phạm nếu tin tặc thực hiện được các hành vi xuyên tạc làm mất uy tín, thư rác (Spam), lừa đảo qua mạng (phishing) [1]

Ngoài các đặc tính trên còn có một số khái niệm sau được sử dụng:

- Điểm yếu: Là tính chất không hoàn thiện do thiết kế, cấu hình, vận hành dẫn đến nguy cơ, lỗi không mong muốn;

- Nguy cơ: Khả năng tiềm ẩn về sự cố có thể xảy ra, làm hệ thống không thực hiện được đúng chức năng, làm các thông tin có thể bị sai;

- Tấn công: Là hành động xâm nhập trái phép, có mưu đồ nhằm tìm kiếm và

sử dụng điểm yếu hệ thống, biến nguy cơ thành sự cố;

- Khai thác lỗ hổng: Là hành động xâm nhập gây mất an toàn thông tin của

hệ thống qua khai thác điểm yếu, lỗ hổng bảo mật

- Đánh cắp thông tin: Kẻ tấn công có thể truy nhập tới tài nguyên thông tin Đây là hình thức tấn công vào tính bí mật của thông tin;

- Sửa đổi thông tin: Kẻ tấn công truy nhập, chỉnh sửa thông tin trên mạng Đây là hình thức tấn công vào tính toàn vẹn của thông tin;

- Giả mạo thông tin: Kẻ tấn công chèn các thông tin và dữ liệu giả vào hệ thống Đây là hình thức tấn công vào tính xác thực của thông tin

1.1.3 Các hình thức tấn công

Trang 14

Nhằm phá vỡ một số khái niệm cơ bản đã nêu trên, có hai hình thức tấn công

cơ bản là tấn công chủ động và tấn công bị động Cụ thể như sau:

- Tấn công bị động (Passive) có các đặc điểm như sau: khai thác nội dung thông điệp và phân tích dòng dữ liệu Tấn công bị động rất khó bị phát hiện vì nó không làm thay đổi dữ liệu và không để lại dấu vết rõ ràng Biện pháp hữu hiệu để chống lại kiểu tấn công này là ngăn chặn (đối với kiểu tấn công này, ngăn chặn tốt hơn là phát hiện)

Hình 1.1: Mô hình tấn công bị động

- Tấn công chủ động (Active) được chia thành bốn loại nhỏ như sau:

+ Giả mạo (Masquerade): Một thực thể (người dùng, máy tính, chương trình…) đóng giả thực thể khác

+ Phát lại (replay): Chặn bắt các thông điệp và sau đó truyền lại nó nhằm đạt được mục đích bất hợp pháp

+ Sửa thông điệp (Modification of messages): Thông điệp bị sửa đổi hoặc

bị làm trễ và thay đổi trật tự để đạt được mục đích bất hợp pháp

+ Từ chối dịch vụ (Denial of Service - DoS): Ngăn cấm việc sử dụng bình thường hoặc việc quản lý các tiện ích/dịch vụ truyền thông

Hình 1.2: Mô hình tấn công chủ động

Trang 15

1.1.4 Các mô hình tấn công mạng

Các mô hình tấn công mạng có thể được chia thành mô hình tấn công truyền thống và mô hình và mô hình tấn công phân tán Cụ thể như sau: Tấn công truyền thống được tạo dựng theo nguyên tắc một đến một hoặc một đến nhiều, có nghĩa là cuộc tấn công xảy ra từ một nguồn gốc Tấn công phân tán sử dụng quan hệ nhiều đến một và nhiều đến nhiều Tấn công phân tán dựa trên các cuộc tấn công “cổ điển” thuộc nhóm “từ chối dịch vụ”, chính xác hơn là dựa trên các cuộc tấn công như Flood hay Storm (những thuật ngữ trên có thể hiểu tương đương như “bão”, “lũ lụt” hay “thác tràn”)

Hình 1.3: Mô hình tấn công

truyền thống 1-1

Hình 1.4: Mô hình tấn công truyền thống 1- nhiều

Hình 1.5: Mô hình tấn công phân tán

Trang 16

được sử dụng cho quá trình này là: các công cụ dùng quét cổng, quét dãy địa chỉ IP,

Bước 5: (Che đậy, xóa dấu vết) Một khi kẻ tấn công đã xâm nhập và cố gắng duy trì xâm nhập Bước tiếp theo là phải làm sao xóa hết dấu vết để không còn chứng cứ pháp lý xâm nhập Kẻ tấn công phải xóa các tập tin log, xóa các cảnh báo

Để thu thập được những thông tin nêu trên cần phải có một số kỹ thuật sau đây:

Kỹ thuật kiểm tra máy tính đang nối mạng: Kiểm tra bằng cách thực hiện

quét ICMP Ping sẽ gửi gói dữ liệu ICMP Echo tới hệ thống đích, nếu máy nguồn nhận lại được tín hiệu trả lời là gói dữ liệu ICMP Reply thì hệ thống đích đang còn

Trang 17

sống Mục đích của kẻ tấn công là tìm kiếm, kiểm tra các máy tính đang nối mạng,

vì vậy để tìm kiếm nhứng thông tin này kẻ tấn công có thể sử dụng công cụ Angry Scanner Đây là một công cụ có thể quét các địa chỉ IP được xác định sẵn; Ping mỗi địa chỉ IP để kiểm tra hệ thống còn sống; thu thập các thông tin về NETBIOS như tên máy tính, tên nhóm làm việc, địa chỉ MAC

Kỹ thuật Ping Sweep: Không giống như Ping thông thường chỉ kiểm tra một

lúc cho 1 máy tính, Ping Sweep gửi một lúc nhiều gói dữ liệu ICMP Echotới nhiều máy tính khác nhau để kiểm tra sự tồn tại của chúng Nếu máy tính nào đang tham gia kết nối mạng nó sẽ trả lại gói tin ICMP Reply

Kỹ thuật xác định sơ đồ mạng: Trước khi tấn công, tin tặc cần biết vị trí các

thiết bị bao gồm cả các thiết bị an ninh mạng, thông tin về mỗi thiết bị như tên máy, địa chỉ MAC, địa chỉ IP,…Để thực hiện điều này tin tặc có thể sử dụng công cụ Friendly Pinger để khai thác Công cụ này có khả năng thu thập sơ đồ hệ thống mạng bằng cách Ping tới tất cả các thiết bị trong mạng

 Dò tìm thông tin về các cổng:

Ngoài mục đích quét mạng, kẻ tấn công còn quét các cổng đang mở để tìm ra các dịch vụ trong hệ thống máy tính Đây là tiến trình kết nối cổng TCP và UDP trên hệ thống đích để xác định dịch vụ nào đang lắng nghe dựa trên nguyên lý kết nối bắt tay 3 bước - kết nối TCP Kết nối TCP có một số cờ chức năng như sau:

- SYN (Synchronize): Khởi tạo kết nối giữa các máy

- ACK (Acknownledge): Thiết lập kết nối giữa các máy

- PSH (Push): Hệ thống chuyển tiếp dữ liệu đệm

- URG (Urgent):Dữ liệu trong các gói phải được xử lý nhanh chóng

- FIN (Finish): Hoàn tất giao tiếp, không truyền

- Reset: Thiết lập lại kết nối

Để thực hiện việc quét được các cổng đang mở tin tặc sẽ sử dụng các kỹ thuật sau:

- TCP SYN: Kỹ thuật này còn có tên gọi là bán mở vì không hoàn tất kết nối TCP đầy đủ Chính vì vậy kỹ thuật này thường tránh bị ghi blog;

Trang 18

- Nmap scan: Là công cụ quét TCP và UDP cao cấp, công cụ này hợp rất nhiều công cụ quét như TCP Xmas Tree, TCP SYN, TCP FIN, UDP,…

 Dò tìm thông tin về hệ điều hành:

Bên cạnh việc quét mạng và quét các cổng mở trên tin tặc còn quét kiểm tra các lỗ hổng của hệ điều hành để thu thập thông tin về hệ điều hành trong quá trình tấn công Các hệ điều hành phiên bản khác nhau có điểm yếu bảo mật khác nhau Những lỗ hổng đối với mỗi phiên bản của hệ điều hành tin tặc có thể tìm kiếm và khai thác dễ dàng Tin tặc có thể sử dụng các công cụ tìm kiếm và khai thác lỗ hổng điển hình như: Active Stack Fingerprinting, Passive Stack Fingerprinting; quét kiểm tra lỗ hổng hệ thống máy tính về các gói dịch vụ được cài đặt; các công cụ quét kiểm tra lỗ hổng: Bof - Banner Grabbing, Netcaft - Banner Grabbing, Retina, Microsoft Baseline Security Analyzer,…

 Dò tìm thông tin về lỗ hổng ứng dụng Web:

Ngoài quét lỗ hổng của hệ điều hành tin tặc còn quét kiểm tra lỗ hổng của ứng dụng web Các lỗ hổng ứng dụng web có thể nhóm thành hai loại: kỹ thuật và logic Các lỗ hổng kỹ thuật được biết đến như là: Cross-Site Scripting (XSS), Injection Flaws (các khe hở dễ bị xâm nhập) và Buffer Overflows (tràn bộ đệm) Còn các lỗ hổng logic thì khó khăn hơn trong việc phân loại Các lỗ hổng này liên quan đến tính logic của ứng dụng mà nó chưa hề được dự định từ trước Có thể sử dụng một số công cụ để quét kiểm tra lỗ hổng như: Acunetix WVS (Web Vulnerability Scanner), Acunetix OWASP (Open Web Application Security Project)

 Dò tìm thông tin qua nghe lén:

Một hình thức tấn công khác trong nhóm tấn công dò tìm đó là nghe lén (Sniffer) Nghe lén là một chương trình hay thiết bị dùng để chặn bắt dữ liệu được truyền trên hệ thống mạng Mục tiêu của việc nghe lén là lấy được: mật khẩu (của Email, Web, FTP,…), nội dung của Email, các tệp lưu chuyển Các giao thức có thể

bị nghe lén bao gồm: HTTP dữ liệu ở dạng bản rõ, SMTP, POP, IMAP, FTP,

Trang 19

NNTP,… gồm mật khẩu và dữ liệu bản rõ Công cụ tin tặc sử dụng phổ biến để thực hiện việc nghe lén là Cain & Abel

1.2.2 Tấn công xâm nhập

Tấn công xâm nhập là một thuật ngữ rộng miêu tả bất kỳ kiểu tấn công nào đòi hỏi người xâm nhập lấy được quyền truy cập trái phép của một hệ thống bảo mật với mục đích thao túng dữ liệu, nâng cao đặc quyền Có hai hình thức tấn công xâm nhập đó là:

- Tấn công truy nhập hệ thống: Là hành động nhằm đạt được quyền truy cập bất hợp pháp đến một hệ thống mà ở đó tin tặc không có tài khoản sử dụng

- Tấn công truy nhập thao túng dữ liệu: tin tặc có thể đọc, viết, xóa, sao chép hay thay đổi dữ liệu

1.2.3 Tấn công từ chối dịch vụ

Tấn công bằng từ chối dịch vụ DoS (Denial of Service) có thể mô tả như hành động ngăn cản những người dùng hợp pháp khả năng truy cập và sử dụng vào một dịch vụ nào đó.Nó bao gồm làm tràn ngập mạng, mất kết nối với dịch vụ,… mà mục đích cuối cùng là máy chủ (Server) không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các máy trạm (Client)

DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ hoặc cả một hệ thống mạng rất lớn.Về bản chất thực sự của DoS, tin tặc sẽ chiếm dụng một lượng lớn tài nguyên mạng như băng thông, bộ nhớ và làm mất khả năng xử lý các yêu cầu dịch vụ từ các client khác [2], [4]

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 Bắt nguồn 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, mới hơn là tấn công từ chối dịch vụ phân tán DDoS (Distributed DoS), mới nhất là tấn công từ chối dịch vụ theo phương pháp phản xạ DRDoS (Distributed Reflection DoS)

Để tấn công DoS, tin tặc sử dụng một số tấn công điển hình như:

- SYN flood attack: Loại tấn công này sử dụng cơ chế của giao thức TCP, là

loại tấn công chủ yếu để làm tràn ngập băng thông của nạn nhân Một kết nối TCP

Trang 20

được hình thành sử dụng cơ chế bắt tay 3 bước Đầu tiên một gói tin SYN với địa chỉ nguồn giả yêu cầu được gửi từ host của kẻ tấn công đến nạn nhân Nạn nhân tiếp nhận yêu cầu là một SYN-ACK, truy cập cấu trúc dữ liệu cho kết nốivà lưu trữ thông tin cần thiết cho kết nối vào hàng đợi, chờ kẻ tấn công gửi gói tin yêu cầu SYN-ACK ở trên Khi thực hiện xong điều này, hàng đợi xóa thông tin kết nối và kết nối được thành lập Nhưng nếu địa chỉ nguồn là địa chỉ giả mạo, bước thứ 3 cần thiết cho việc kết nối được lưu trữ trong hàng đợi cho đến hết một khoảng thời gian mặc định được thiết lập rồi mới bị loại bỏ Mỗi server chỉ có một số lượng hạn chế

bộ nhớ, do vậy sẽ hạn chế số lượng các kết nối chờ cho tới khi kết nối được thiết lập, một kẻ tấn công gửi tói tin SYN-REQUEST sử dụng địa chỉ nguồn ảo với một tốc độ cao có thể khiến hàng đợi kết nối quá tải, do vậy ngăn cản những người dùng hợp lệ yêu cầu dịch vụ của server trong quá trình bắt tay 3 bước ở trên không bao giờ được hoàn thành [3]

Hình 1.7: Tấn công SYN

- UDP Flood attack: Khác với giao thức hướng kết nối TCP, UDP (User

Datagaram Protocol) là giao thức không hướng kết nối, yếu tố này có thể được kẻ tấn công lợi dụng để gửi một số lượng lớn luồng dữ liệu với địa chỉ giả mạo tới một cổng sever nạn nhân Server nạn nhân xử lý các gói tin này và sớm nhận ra rằng đó không phải là yêu cầu cho một dịch vụ cụ thể.Vì vậy bộ xử lý trung tâm (CPU-Central Processing Unit) của server nạn nhân tốn hiệu năng vô ích vào việc xử lý những yêu cầu này Với việc gửi một số lượng lớn các luồng dữ liệu giả mạo như vậy, kẻ tấn công có thể khiến CPU của server nạn nhân quá tải, hơn nữa UDP không có cơ chế điều khiển tắc nghẽn, nó sẽ có xu hướng cắt bớt băng thông khi tốc

Trang 21

độ gửi các gói tin tăng nhanh và có thể ép những người dùng hợp lệ sử dụng giao thức TCP (có cơ chế điều khiển tắc nghẽn) phải hạ thấp tốc độ gửi gói tin, gây ra sự mất cân bằng trong phân phối dịch vụ

- Smurf attack: Kẻ tấn công gửi gói tin ping ICMP (Internet Control

Message Protocol) đến địa chỉ broadcast của mạng, điều này khiến tất cả những host trong mạng phải gửi gói tin ICMP đáp lại, việc này thường tạo ra một lượng lớn các luồng dữ liệu và có xu hướng tiêu tốn nhiều băng thông mạng

Hình 1.8: Smurf Attack

Ngoài hình thức sử dụng tấn công DoS còn có tấn công từ chối dịch vụ phân tán DDoS (Distributed Denial Of Service) Đây là kiểu tấn công phân tán trên mạng, làm cho hệ thống máy tính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động.Trong các cuộc tấn công DDoS, máy chủ dịch vụ

sẽ bị "ngập" bởi hàng loạt các lệnh truy cập từ lượng kết nối khổng lồ Khi số lệnh truy cập quá lớn, máy chủ sẽ quá tải và không còn khả năng xử lý các yêu cầu.Hậu quả là người dùng không thể truy cập vào các dịch vụ trên các trang web bị tấn công DDoS Để thực hiện tấn công DDoS tin tặc sẽ trải qua các giai đoạn như chuẩn bị, xác định mục tiêu, thời điểm phát động tấn công và xoá dấu vết [3] Mục tiêu tấn công từ chối dịch vụ phân tán đó là:

- Tấn công vào băng thông mạng: Trong phương pháp này kẻ tấn công

điều khiển mạng lưới Agent đồng loạt gửi các gói tin ICMP hay UDP đến nạn nhân làm cho băng thông mạng của nạn nhân bị quá tải và không thể phục vụ được Ví dụ như trong trường hợp ICMP flood, nạn nhân sẽ phải gửi trả lại các gói tin ICMP_REPLY tương ứng Do số lượng của Agent gửi đến nạn nhân rất lớn nên

Trang 22

việc gửi lại các gói ICMP_REPLY dẫn đến nghẽn mạng Trong trường hợp UDP flood cũng tương tự Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng của nạn nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận Hiện nay, với sự phát triển của các công cụ DDoS, hầu hết đều hỗ trợ giả mạo địa chỉ IP

- Tấn công vào giao thức: Điển hình của phương pháp tấn công này là TCP

SYN flood Kẻ tấn công lợi dụng quá trình bắt tay 3 bước trong giao thức TCP Kẻ tấn công liên tục khởi tạo kết nối TCP Nạn nhân sẽ tiến hành gửi lại trả lời với SYN và ACK để chờ ACK từ phía máy khách Tuy nhiên, kẻ tấn công sẽ không gửi ACK đến nạn nhân hay nói cách khác là sẽ không làm gì cả như quá trình bắt tay 3 bước Cứ như vậy, nạn nhân sẽ tốn nhiều tài nguyên và bộ nhớ để chờ các phiên TCP Do vậy nạn nhân sẽ không thể phục vụ được do tốn bộ nhớ đề chờ các kết nối

ảo do kẻ tấn công khởi tạo

- Tấn công bằng những gói tin khác thường: Trong phương pháp này, kẻ

tấn công dựa vào các điểm yếu của giao thức mạng Ví dụ khi tấn công Ping of Death Kẻ tấn công sẽ gửi một số gói tin ICMP có kích thước lớn hơn kích thước giới hạn Gói tin sẽ bị chia nhỏ, khi nạn nhân ghép lại nhận thấy rằng là gói tin quá lớn để xử lý Kết quả là, hệ thống không thể xử lý được tình trạng bất thường này và

sẽ bị treo Một trường hợp khác như tấn công mạng cục bộ (LAN Attack - Local Area Network Attack) Kẻ tấn công sẽ gửi các gói tin TCP SYN có địa chỉ nguồn, địa chỉ đích và số cổng giống nhau Nạn nhân sẽ liên tục khởi tạo và kết nối với chính nó Do vậy hệ thống sẽ bị treo hoặc bị chậm lại

- Tấn công qua phần mềm trung gian: Trong phương pháp tấn công này,

kẻ tấn công sẽ sử dụng một phần mềm hợp lệ trên máy nạn nhân Khai thác một số thuật toán và tiến hành đưa tham số trong trường hợp xấu nhất Do vậy, máy nạn nhân sẽ phải xử lý quá trình này và có thể bị treo Đây là phương pháp tấn công khá đơn giản nhưng lại có hiệu quả rất cao Nhưng nguy hiểm hơn cả là kẻ tấn công đã đột nhập được vào máy nạn nhân để có thể ăn cắp các thông tin cá nhân của nạn

nhân

Trang 23

1.3 Khái niệm mô phỏng tấn công mạng

1.3.1 Khái niệm

Mô phỏng nói về một cách tập hợp thu thập lớn các phương pháp và áp dụng

để miêu tả hành vi của các hệ thống thực, thông thường trên một máy vi tính với phần mềm thích hợp

1.3.2 Các tiêu chí đánh giá chương trình mô phỏng mạng

Cần xem xét các đặc điểm sau đây của các chương trình mô phỏng mạng để lựa chọn được chương trình mô phỏng mạng thích hợp nhất cho các dự án nghiên cứu riêng biệt Các tiêu chí đánh giá một chương trình mô phỏng bao gồm như sau:

- Hỗ trợ chạy trên các nền tảng khác nhau: Cụ thể là trên cả các hệ điều hành linux và windows vì hai hệ điều hành này là phổ biến

- Hỗ trợ trong việc tạo các topo mạng: Hai loại tạo topo mạng chính là dùng các tập lệnh đặc biệt, hoặc các ngôn ngữ lập cấu hình và giao diện đồ họa Các chương trình mô phỏng cần có khả năng tạo các topo mạng phân cấp, không phân cấp cũng như các topo mạng ngẫu nhiên

- Hỗ trợ việc tạo và quản lí các profile lưu lượng: Các chương trình mô phỏng cần các bộ phát dữ liệu tuân theo một vài phân bố cụ thể (ví dụ Poisson hay các phân bố nhận được từ các quan sát thực tế về lưu lượng) Một chương trình mô phỏng tốt thường có một hệ thống các bộ phát lưu lượng như vậy Mặt khác, cũng cần phải có các công cụ nhằm mô tả sơ lược lưu lượng đã phát và tính toán các con

số thống kê cần thiết để đưa ra kết luận

- Hỗ trợ giám sát: Trong quá trình mô phỏng, sẽ rất có lợi nếu giám sát hoạt động của mạng trên mỗi luồng, mỗi nút mạng hay tổng quát hơn là trên một số các tiêu chí tổng hợp Việc giám sát có thể được trợ giúp bởi giao diện đồ họa Kết quả giám sát có thể ghi vào các file nhằm tạo ra các dữ liệu để so sánh về sau hay chạy lại mô phỏng phục vụ mục đích nghiên cứu các hoạt động đã xảy ra

- Các tính năng khác về khả năng mở rộng, khả năng điều chỉnh và tính mềm dẻo, linh hoạt: Các chương trình mô phỏng phải có một kiến trúc module thực sự

mở mà trong đó, các thành phần có thể dễ dàng chuyển đổi giữa hai trạng thái bật

Trang 24

tắt, các mô hình hiện thời có thể được thay thế hay chỉnh sửa và kiến trúc module này có thể bổ sung cả các mô hình mới Khả năng mở rộng cũng là một vấn đề quan trọng Về nguyên lí, tất cả các chương trình mô phỏng đều cho phép thêm nhiều nút mạng để tăng tải tính toán của các mẫu lưu lượng và các mặt động của mạng (các thành phần di động, các nút mạng đang xuất hiện hoặc biến mất, các đường bị lỗi,…) Tuy nhiên, trong thực tế chỉ một vài chương trình mô phỏng là đáp ứng được các chỉ tiêu trên Do đó, cần nhận ra các hạn chế của các chương trình mô phỏng này

- Tính khả dụng: Thiết kế phần mềm của một chương trình mô phỏng cũng như là các công cụ lập trình dùng trong chương trình mô phỏng đó có tác động lớn đến tính khả dụng của nó Sự thân thiện của giao diện đồ họa có thể tăng tốc thao tác trên chương trình mô phỏng và do đó được coi là một ưu điểm Chất lượng chung của các tài liệu sẵn có và hỗ trợ về kĩ thuật cũng là các yếu tố quan trọng để

có thể học cách sử dụng và điều khiển chương trình mô phỏng đó một cách hiệu quả

và nhanh chóng

- Mức độ cộng đồng mạng chấp nhận một chương trình mô phỏng: Việc chọn lựa một chương trình mô phỏng được sử dụng rộng rãi và được chấp nhận bởi cộng đồng mạng cho phép tạo ra các kết quả dễ so sánh đối chiếu với các kết quả được trình bày trong các tài liệu đã có Ở khía cạnh nào đó, các kết quả này cũng dễ được giới khoa học chấp nhận hơn Bên cạnh đó cũng cần xem xét bản quyền của chương trình mô phỏng là tính phí hay không tính phí

1.4 Kết luận chương

Trong chương đã trình bày các khái niệm cơ bản về tấn công, một số tấn công mạng điển hình và về vấn đề mô phỏng tấn công mạng Luận văn đã đưa ra các tiêu chí làm cơ sở để phân tích, đánh giá các công cụ mô phỏng tấn công điển hình Các tiêu chí chung cần thiết là: Chi phí thấp, dễ dàng phát triển; Thân thiện,

dễ dàng sử dụng; Dễ dàng tạo ra các kịch bản tấn công Chương 2 sẽ trình bày về phương pháp mô phỏng tấn công mạng cụ thể

Trang 25

Chương 2 - MÔ HÌNH HÓA VÀ MÔ PHỎNG TẤN CÔNG

MẠNG

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

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,

Trang 26

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

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

Trang 27

đượ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

Trang 28

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

Trang 29

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

Trang 30

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

Trang 31

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ó trong kịch bản

Trang 32

Lưu lượng nhiễu được sử dụng trong một kịch bản tấn công được tạo ra trong quá trình chạy mô phỏng Quá trình này làm giảm đáng kể số lượng thông tin cần phải được lưu trữ trong một kịch bản tấn công Sự sinh ra của nhiễu này được hướng dẫn bởi một tập hợp các thông số nhiễu là thuộc tính của các kịch bản tấn công Các thông số này bao gồm các sự cố trong các loại của các sự kiện được sử dụng trong nhiễu và tốc độ nhiễu được tạo ra Người dùng có thể chỉ ra tỷ lệ phần trăm (trong số 100%) năm loại sự kiện chính sẽ chiếm trong nhiễu tạo ra Quá trình trinh sát sẽ tự động điều chỉnh để tổng tỷ lệ phần trăm đạt tới 100% Thuộc tính tỷ

lệ nhiễu (gọi tắt là "cảnh báo cho mỗi giờ" trong hình thức kịch bản) đại diện cho những đối tượng nhiễu sẽ được tạo ra mỗi giờ mô phỏng

Kịch bản cũng bao gồm một tập hợp các cuộc tấn công sẽ được thực hiện trong các mô phỏng Những cuộc tấn công được xác định trước khi thực hiện mô phỏng và một kịch bản tấn công có thể chứa nhiều các cuộc tấn công như mong muốn của người dùng Ngoài ra, các kịch bản tấn công bao gồm một thuộc tính đại diện cho mô phỏng bao lâu (thời gian mô phỏng) nên tiếp tục chạy sau khi các cuộc tấn công đã hoàn thành Nếu không có tính năng này, các đối tượng lưu lượng cuối cùng sẽ luôn luôn được liên kết với một bước tấn công Vì vậy, cung cấp thêm thời gian của một số mô phỏng cho phép nhiễu để có thể được tạo ra và tránh lệch lạc của việc kết thúc mô phỏng với các bước tấn công cuối cùng [5]

2.2.2.4 Các lớp tấn công

Lớp tấn công được sử dụng để xác định các cuộc tấn công độc lập xảy ra như một phần của một kịch bản tấn công Một cuộc tấn công được coi là hướng vào một máy tính mục tiêu cụ thể với một sự kiện mục tiêu nhất định Cuộc tấn công cũng bao gồm tập hợp các bước thực hiện để đạt được các sự kiện mục tiêu cuối cùng Một cuộc tấn công ví dụ đơn giản được miêu tả trong hình 2.2 Trong cuộc tấn công này, mục tiêu cuối cùng là cài đặt một backdoor trên mạng máy chủ tập tin nội bộ được coi là an toàn Các tin tặc bên ngoài đầu tiên thực hiện sự kiện do thám để quét các máy chủ với truy cập trực tiếp từ bên ngoài (Internet) Các tin tặc sau đó thực hiện một bước xâm nhập để truy cập vào máy chủ web Từ máy chủ web, các

Trang 33

tin tặc thực hiện một sự kiện xâm nhập và một sự kiện leo thang để đạt được quyền truy cập root của một máy tính trong mạng nội bộ Với quyền root đạt được, những

kẻ tấn công có thể xâm nhập vào các máy chủ tập tin và thực hiện cài đặt backdoor

Hình 2.2: Ví dụ về tấn công leo thang

Giao diện để thêm một cuộc tấn công vào một kịch bản tấn công cung cấp hai phương pháp khác nhau để xác định một cuộc tấn công Những phương pháp này quy định cụ thể các bước của cuộc tấn công hoặc tự động tạo ra các bước của cuộc tấn công Nếu người dùng đưa ra để xác định mỗi sự kiện được sử dụng theo

sự leo thang của một cuộc tấn công, sau đó thiết lập cuộc tấn công bằng tay có thể được lựa chọn Tuy nhiên, nếu người dùng chỉ quan tâm đến mục tiêu cuối cùng thực hiện bằng việc tấn công và không thực sự quan tâm đến các bước chính xác được sử dụng để đạt được mục tiêu, sau đó thiết lập cuộc tấn công tự động có thể được lựa chọn

Lớp tấn công cung cấp các thuộc tính và phương pháp được sử dụng để tạo các đối tượng tấn công chi tiết Một số thuộc tính quan trọng được xác định trong lớp tấn công bao gồm các loại tấn công (bằng tay hoặc tự động), các tên tấn công, các mạng được sử dụng, các kịch bản tấn công, cuộc tấn công các máy tính mục tiêu cuối cùng, các loại mục tiêu cuối cùng, các bước trong cuộc tấn công, thời gian bắt đầu của cuộc tấn công, tổng thời gian của cuộc tấn công, một lựa chọn theo cấp số, một tham số hiệu quả, một tham số lén lút và một tham số kỹ năng

Lưu trữ các đối tượng tấn công là lưu một dãy các bước tấn công của các đối tượng Ngoài ra, các thuộc tính cho tổng thời gian của các cuộc tấn công sẽ chỉ được

Trang 34

sử dụng nếu các bước thời gian không được định nghĩa tách biệt Tùy chọn theo cấp

số là một thuộc tính Boolean cho biết tổng thời gian của cuộc tấn công (nếu được định nghĩa) được phân phối theo cấp số xung quanh một giá trị hoặc sử dụng một giá trị không đổi Ba thuộc tính tham số (hiệu quả, lén lút và kỹ năng) được sử dụng khi xác định một cuộc tấn công tự động tạo ra

Khi thêm một cuộc tấn công dẫn đến một kịch bản hoặc khi chỉnh sửa một cuộc tấn công được xác định bằng tay, người dùng được trình bày với một hình thức lưu trữ các bước của cuộc tấn công

Trong các dạng tấn công, IP nguồn và IP mục tiêu cho biết địa chỉ IP của nguồn và đích cho lưu lượng các bước tấn công tương ứng Dựa trên địa chỉ IP nguồn được lựa chọn , danh sách các địa chỉ IP có sẵn trong số IP mục tiêu sẽ được lọc để đại diện cho các máy có thể được truy cập từ các máy đại diện bởi địa chỉ IP nguồn Sự kiện được lựa chọn bằng cách chỉ ra các loại sự kiện chính và phụ sau đó chọn từ sự kiện có sẵn phù hợp với các loại này Các sự kiện phụ là không cần thiết

mà còn giúp thu hẹp danh sách các sự kiện có sẵn Lọc ra những sự kiện vô lý để kiểm tra, các máy tính mục tiêu được lựa chọn (bằng cách tham khảo các IP mục tiêu) đóng vai t như là một tiêu chí để lọc ra danh sách các sự kiện có thể được thực hiện Ngoài ra, thời gian quy định cho các bước có thể được quy định như một giá trị không đổi hoặc phân phối theo cấp số Bước thời gian này chỉ ra hết bao nhiêu thời gian thì mô phỏng sẽ vượt qua trước khi bước tiếp theo có thể được thực hiện [5]

2.3 Nhận xét chung

Mô hình hóa và mô phỏng tấn công mạng được sử dụng để tạo ra các tình huống tấn công chi tiết và mô phỏng các sự kiện tấn công riêng biệt trong một mô hình mạng được thiết lập

Các chức năng của mô hình mạng và mô phỏng cuộc tấn công được xác minh và xác nhận thông qua một số phương pháp tiếp cận khác nhau Một số các tính năng mô hình mạng, thực hiện mạng, máy đại diện dịch vụ và cho phép tường lửa kết nốiđược xác định thông qua việc sử dụng các báo cáo có điều kiện và kết

Trang 35

quả sửa lỗi tạm thời Các tính năng mạng khác là trực quan được thẩm định thông qua quan sát của mô hình mạng kết quả

Các giai đoạn trong quá trình tạo tấn công được kiểm tra bằng cách quan sát kết quả kịch bản Mức độ kiểm soát được cung cấp bởi các thông số cuộc tấn công được xác minh bằng cách quan sát các xu hướng tấn công và các hiệu ứng khác khi thay đổi các thông số

Mô hình mạng và kịch bản tấn công có thể được tạo ra và kiểm soát Ngoài

ra, các tình huống tấn công có thể dễ dàng được thử nghiệm và sửa đổi

2.4 Kết luận chương

Mô phỏng mạng là lĩnh vực hiện nay đang ngày càng được sử dụng rộng rãi trong thiết kế mạng máy tính và mạng viễn thông Các phần mềm mã nguồn mở, các phần mềm thương mại lần lượt xuất hiện mang đến cho người dùng những công

cụ tối ưu nhất phục vụ cho mục đích, công việc của mình

Mô hình hóa và mô phỏng tấn công mạng cho phép nghiên cứu, tìm hiểu về các cuộc tấn công mạng với các mạng có kích thước, cấu trúc khác nhau; giúp phân tích được các bước tấn công, hành vi và hoạt động của tấn công một cách mềm dẻo, linh hoạt

Nội dung chương đã trình bày những yêu cầu chung về mô hình hóa và mô phỏng tấn công mạng, một số phương pháp mô hình hóa và mô phỏng tấn công mạng điển hình

Trang 36

Chương 3 - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ

PHỎNG ĐIỂN HÌNH

3.1 Giới thiệu một số công cụ mã nguồn mở điển hình

3.1.1 Nhóm các công cụ đơn lẻ giả lập tấn công DoS/DDoS

Để thực hiện tấn công DoS/DDoS, có thể sử dụng một số công cụ giả lập tấn công DoS điển hình như sau:

- Panther2: Tấn công từ chối dịch vụ dựa trên nền tảng UDP Attack được

thiết kế dành riêng cho kết nối 28.8Kbps - 56 Kbps Có khả năng chiếm toàn bộ băng thông của kết nối này Nó có khả năng chiếm băng thông mạng bằng nhiều phương pháp như thực hiện quá trình Ping cực nhanh và có thể gây ra tấn công DoS [7]

- Jolt2: Cho phép kẻ tấn công từ chối dịch vụ (DoS) lên các hệ thống trên

nền tảng Windows Nó là nguyên nhân khiên máy chủ bị tấn công có CPU luôn hoạt động ở mức độ 100%, CPU không thể xử lý các dịch vụ khác Không chỉ trên nền tảng Windows, Cisco Router và một số loại Router khác cũng có thể bị lỗ hổng bảo mật và bị công cụ này tấn công [7]

- UDP Flood: UDP Flood là một chương trình gửi các gói tin UDP Nó gửi

ra ngoài những gói tin UDP tới một địa chỉ IP và port không cố định Gói tin có khả năng là một đoạn mã văn bản hay một số lượng dữ liệu được sinh ngẫu nhiên hay từ một tệp tin được sử dụng để kiểm tra khả năng đáp ứng của Server [7]

Một số công cụ điển hình có khả năng sử dụng để thực hiện tấn công DDoS như sau:

- Trinoo: Công cụ này cho phép kẻ tấn công kiểm soát một số máy để yêu

cầu gửi đồng loạt các gói tin UDP làm tê liệt mục tiêu Master Trinoo có thể điều khiển các deamon trinoo như đồng loạt gửi các gói tin UDP, dừng việc gửi gói tin, thay đổi cấu hình của các deamon trinoo

- Tribe Flood Network (TFN): Là công cụ tấn công vào băng thông TFN

hỗ trợ tấn công các kỹ thuật ICMP flood, UDP flood, TCP SYN flood Hiện tại TFN hỗ trợ việc giả mạo địa chỉ IP Hoạt động hầu hết trên các hệ điều hành

Trang 37

- Stacheldraht: Là một dạng khác của TFN nhưng có khả năng tự động

update trên các Agent

- Shaft: Chính là biến thể của Trinoo Hỗ trợ nhiều loại tấn công như ICMP,

UDP, TCP flood Shaft còn hỗ trợ tấn công nhiều kỹ thuật cùng lúc Vì vậy việc ngăn chặn shaft cũng sẽ trở nên rất khó khăn Đặc biệt shaft còn cho biết các thông

số như là mức độ thiệt hại của nạn nhân để điều khiển các Agent

- Trinity: Có khả năng tấn công với hầu hết các kỹ thuật như UDP, SYN và

một số dạng flood khác Tuy nhiên nó còn có thể kết nối Internet thông qua mạng Relay Chat (IRC).Trinity thường sử dụng các cổng 6667 và cũng có thể là 1 chương trình backdoor lắng nghe ở cổng 33270 qua kết nối TCP

- Knight: Là một cộng cụ hoạt động trên hệ điều hành windows Knight

cung cấp các kỹ thuật tấn công như UDP flood, SYN flood Nó có thể tự động update thông qua các giao thức HTTP hoặc FTP Knight được cài đặt sử dụng Trojan thông qua chương trình backdoor được gọi là Back Oifice Knight được sử dụng trong mô hình IRC-Based

- Kaiten: Chính là biến thể của Knight Kaiten hỗ trợ các kỹ thuật tấn công

như UDP flood, TCP flood, SYN Có khả năng giả mạo địa chỉ IP Kaiten cũng là công cụ được sử dụng trong mô hình IRC-Based

3.1.2 Nhóm các công cụ đơn lẻ dùng cho khai thác lỗ hổng Website

Để khai thác được các lỗ hổng của website, có thể sử dụng một số công cụ điển hình như sau:

- Paros Proxy: Đây là một ứng dụng kiểm tra các lỗ hổng bảo mật trên các

ứng dụng web trên Proxy Một trang web trên nền Java thường kết hợp dạng proxy điều đó dẫn tới có nhiều lỗ hổng bảo mật Phần mềm này hỗ trợ cho phép thay đổi, xem các gói tin HTTP, HTTPS và thay đổi chúng ở cookies Bao gồm một tính năng Web Recorder, web spider và công cụ Scanner cho phép kiểm tra các ứng dụng có khả năng bị tấn công như lỗi SQL Injection và Cross-site Scripting [14]

- WebInspect: Công cụ trợ giúp người dùng nhận dạng ra những lỗ hổng

bảo mật trên ứng dụng Web WebInspect có thể giúp kiểm tra các Web Server cấu

Trang 38

hình đã chuẩn chưa và cố gắng thử một vài dạng tấn công như Prameter Injection, Cross-site Scripting, Directory Traversal [14]

- Acunetix WVS (Web Vulnerability Scanner): Một phiên bản thương mại

của chương trình tìm kiếm các lỗ hổng bảo mật trên các ứng dụng Web Acunetix WVS tự động kiểm tra các ứng dụng Web để tìm kiếm các lỗ hổng bảo mật như SQL Injection hay Cross-Site Scripting, tìm kiếm những chính sách đối với mật khẩu đăng nhập cũng như các phương thức xác thực vào Web Site Với giao diện đồ họa thân thiện, những Report đầy đủ cho phép kiểm tra những vấn đề trên máy chủ

và ứng dụng Web [16]

3.1.3 Bộ công cụ WebScarab

Cho phép phân tích các ứng dụng giao tiếp sử dụng giao thức HTTP và HTTPS WebScarab lưu các Request và Response cho phép tái sử dụng trong các phiên làm việc khác WebScarab được thiết kế cho phép người dùng xem được hoạt động của các ứng dụng sử dụng giao thức HTTP và HTTPS, tuy nhiên bộ công cụ này cũng cho phép phát triển và sửa những lỗi khó hoặc cho phép nhận biết những

lỗ hổng bảo mật trên các ứng dụng được thiết kế và triển khai [6]

3.1.4 Bộ công cụ giả lập tấn công WebGoat

WebGoat là một Server Application được cố tình lập trình có rất nhiều lỗi bảo mật Thông qua đó hướng dẫn người sử dụng khai thác để hiểu rõ hơn bản chất các lỗi mà web applications thường gặp như: Cross-site Scripting (XSS), Access Control, Thread Safety, Hidden Form Field Manipulation, Parameter Manipulation, Weak Session Cookies, Blind SQL Injection, Numeric SQL Injection, String SQL Injection, Web Services, Fail Open Authentication, Dangers of HTML Comments,…[6]

3.1.5 Bộ công cụ NeSSi2

NeSSi2 (Network Security Simulator version 2) là một công cụ mô phỏng kết hợp nhiều tính năng liên quan đến an ninh mạng Chúng ta có thể dễ dàng phân biệt nó với các công cụ mô phỏng khác.Thông qua nó chúng ta có thể mô phỏng các cuộc tấn công tự động dựa trên các profile đã được thiết lập, phân tích lưu

Trang 39

lượng, NeSSi2 được sử dụng trong lĩnh vực nghiên cứu an ninh và các mục đích đánh giá Trong các trường hợp muốn thử nghiệm các thuật toán phát hiện xâm nhập, tiến hành phân tích tình hình an ninh mạng thì NeSSi2 là công cụ mạng lại hiệu quả rất cao

Các cơ hở hạ tầng truyền thông hiện đại, hệ thống mạng máy tính dựa trên nền tảng IP đóng vai trò chủ đạo Việc triển khai các mạng này đang phát triển theo cấp số mũ Thật vậy hầu hết các tập đoàn, các cơ quan và cá nhân đều sử dụng các dịch vụ phức tạp và hệ thống thông tin liên lạc cho mình

Đối với an ninh thông tin, điều này dẫn đến những thách thức mới như một lượng lớn dữ liệu, trong đó có thể chứa nội dung độc hại như sâu, virus hoặc Trojans được chuyển qua các mạng mở Mạng biện pháp an ninh đối phó với những mối đe dọa này có thể được thực hiện trong mạng riêng của mình cũng như tại các máy chủ kết nối để truy cập vào bộ định tuyến của mạng

Bản thân các nhà cung cấp mạng cũng luôn phấn đấu để cung cấp các tính năng bảo mật cho khách hàng của họ Để làm được điều này thì bên trong hệ thống của họ sẽ đặt thiết bị an ninh để phát hiện và ngăn chặn các hiểm họa có thể xảy ra Trước khi làm được điều này thì các nhà cung cấp dịch vụ phải sử dụng các công cụ

mô phỏng mạng mà trong đó các tính năng khác nhau của các kiến trúc bảo mật có thể kiểm tra để đảm bảo tối đa phát hiện tấn công trước khi triển khai thực tế

NeSSi2 cho phép thử nghiệm với các hệ thống mạng khác nhau, thiết lập chính sách bảo mật và các thuật toán để đánh giá và so sánh hiệu quả của việc phát

hiện xâm nhập và chi phí triển khai [13]

3.1.6 Bộ công cụ mô phỏng mạng NS-2

NS-2 (Network Simulator Version2) là bộ công cụ phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và Otcl Bộ công cụ này được sử dụng rất phổ biến trong các nghiên cứu khoa học về mạng (rất hữu ích cho việc mô phỏng mạng diện rộng WAN và mạng local LAN) Mục đích của NS-2 là tạo ra một môi trường giả lập cho việc nghiên cứu, kiểm tra, thiết kế các giao thức, các kiến trúc mới, so sánh các

Trang 40

giao thức và tạo ra các mô hình mạng phức tạp Do nhu cầu mô phỏng về an ninh bảo mật ngày càng nhiều, một số mô đun phần mềm đã được phát triển bổ sung giúp cho mô phỏng các tấn công trong NS-2 Tuy nhiên, việc mô phỏng tấn công với NS-2 không thực sự phổ biến, do bộ công cụ này ban đầu không phải là viết để chuyên cho việc mô phỏng tấn công mạng

3.1.7 Bộ công cụ mô phỏng OMNeT++

OMNeT++ (Objective Modular Network Testbed in C++) là một bộ công cụ phần mềm cung cấp cho người sử dụng môi trường để tiến hành mô phỏng hoạt động của mạng Mục đích chính của bộ công cụ này là mô phỏng hoạt động mạng thông tin, tuy nhiên do tính phổ cập và linh hoạt của nó, OMNeT++ còn được sử dụng trong nhiều lĩnh vực khác như mô phỏng các hệ thống thông tin phức tạp, các mạng kiểu hàng đợi (queueing networks) hay các kiến trúc phần cứng,

OMNeT++ cung cấp sẵn các thành phần tương ứng với các mô hình thực tế Các thành phần này (còn được gọi là các module) được lập trình theo ngôn ngữ C++, sau đó được tập hợp lại thành những thành phần hay những mô hình lớn hơn bằng một ngôn ngữ bậc cao (NED) OMNeT++ hỗ trợ giao diện đồ hoạ, tương ứng với các mô hình cấu trúc của nó đồng thời phần nhân mô phỏng (simulation kernel)

và các module của OMNeT++ cũng rất dễ dàng nhúng vào trong các ứng dụng khác [10], [11], [12]

OMNeT++ là một công cụ mô phỏng các hoạt động mạng bằng các module được thiết kế hướng đối tượng OMNeT++ thường được sử dụng trong các ứng dụng chủ yếu như:

- Mô hình hoạt động của các mạng thông tin

- Mô hình giao thức

- Mô hình hoá các mạng kiểu hàng đợi

- Mô hình hoá các hệ thống đa bộ vi xử lý (multiprocesser) hoặc các hệ thống phần cứng theo mô hình phân tán khác (distributed hardware systems)

- Đánh giá kiến trúc phần cứng

- Đánh giá hiệu quả hoạt động của các hệ thống phức tạp,

Ngày đăng: 24/05/2014, 09:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Quantifying Computer Network Security, Ian Burchett, 2011 Sách, tạp chí
Tiêu đề: Quantifying Computer Network Security
Tác giả: Ian Burchett
Năm: 2011
[2] Tao Peng Christopher Leckie Kotagiri Ramamohanarao: Protection from Distributed Denial of Service Attack Using History-based IP Filtering Sách, tạp chí
Tiêu đề: Protection from Distributed Denial of Service Attack Using History-based IP Filtering
Tác giả: Tao Peng, Christopher Leckie, Kotagiri Ramamohanarao
[3] Mbabazi Ruth Reg. No. 2005/HD18/4029U B.Sc Elec (Mak): Victim-based defense against IP packet flooding denial of service attacks Sách, tạp chí
Tiêu đề: Victim-based defense against IP packet flooding denial of service attacks
Tác giả: Mbabazi Ruth
[5] Development of a Cyber Attack Simulator forr Network Modeling and Cyber Security Analysis, Kevin C. Costanitini, 2007 Sách, tạp chí
Tiêu đề: Development of a Cyber Attack Simulator forr Network Modeling and Cyber Security Analysis
Tác giả: Kevin C. Costanitini
Năm: 2007
[9] Eitan Altman, Tanima Jim²nez. NS Simulator for beginners , Lecture Note, 2003 -2004 Sách, tạp chí
Tiêu đề: NS Simulator for beginners
Tác giả: Eitan Altman, Tanima Jim²nez
Nhà XB: Lecture Note
Năm: 2003 -2004
[14] www.testingsecurity.com [15] www.sectools.org Link
[4]MODELING DISTRIBUTED DENIAL OF SERVICE ATTACKS AND DEFENSES Li-Chiou Chen,Kathleen M. Carley Khác
[11] OMNeT++ User Manual [12] TicToc Tutorial for OMNeT++ Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Mô hình tấn công chủ động - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 1.2 Mô hình tấn công chủ động (Trang 14)
Hình 1.3: Mô hình tấn công - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 1.3 Mô hình tấn công (Trang 15)
Hình 1.7: Tấn công SYN - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 1.7 Tấn công SYN (Trang 20)
Hình 1.8: Smurf Attack - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 1.8 Smurf Attack (Trang 21)
Hình 3.1: Giao diện người dùng đồ họa NeSSi2 - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 3.1 Giao diện người dùng đồ họa NeSSi2 (Trang 41)
Hình 3.2: Hoạt động Back end của NeSSi2 - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 3.2 Hoạt động Back end của NeSSi2 (Trang 43)
Hình quan hệ - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình quan hệ (Trang 56)
Hình 4.2: Quy trình thiết lập một mạng cần mô phỏng trong phần mềm NeSSi2 - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.2 Quy trình thiết lập một mạng cần mô phỏng trong phần mềm NeSSi2 (Trang 63)
Hình 4.5: Quy trình thiết lập phiên kịch bản cho mạng cần mô phỏng - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.5 Quy trình thiết lập phiên kịch bản cho mạng cần mô phỏng (Trang 64)
Hình 4.4: Quy trình thiết lập một kịch bản cho mạng cần mô phỏng - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.4 Quy trình thiết lập một kịch bản cho mạng cần mô phỏng (Trang 64)
Hình 4.9: Tạo Profile Echo Server - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.9 Tạo Profile Echo Server (Trang 71)
Hình 4.8: Tạo Profile Echo Client - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.8 Tạo Profile Echo Client (Trang 71)
Hình 4.16: Tạo lưu lượng tấn công DDoS. - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.16 Tạo lưu lượng tấn công DDoS (Trang 73)
Hình 4.19: Quá trình chạy kết thúc. - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.19 Quá trình chạy kết thúc (Trang 75)
Hình 4.23: Lưu lượng giữa Firewall và Webserver sau khi sử dụng Firewall. - PHÂN TÍCH, ĐÁNH GIÁ MỘT SỐ CÔNG CỤ MÔ PHỎNG TẤN CÔNG MẠNG VÀ XÂY DỰNG KỊCH BẢN THỬ NGHIỆM VỚI NESSI2
Hình 4.23 Lưu lượng giữa Firewall và Webserver sau khi sử dụng Firewall (Trang 77)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w