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

Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ

74 704 1
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 đề Xây dựng hệ thống tường lửa mạng nội bộ
Tác giả Đinh Tuấn Khải
Người hướng dẫn Ts. Đàm Quang Hồng Hải
Trường học Trường Đại Học Lạc Hồng
Chuyên ngành Công nghệ Thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2012
Thành phố Đồng Nai
Định dạng
Số trang 74
Dung lượng 4,08 MB

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

Nội dung

Với mô hình hệ thống tường lửa mạng nội bộ đơn giản, dễ sử dụng và tích hợp tùy chọn quét virus cho thấy tính khả thi khi áp dụng cho các hệ thống mạng nội bộ của một tổ chức, doanh nghi

Trang 1

XÂY DỰNG HỆ THỐNG TƯỜNG LỬA MẠNG NỘI BỘ

Luận văn thạc sĩ Công nghệ thông tin

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG

* * *

Đinh Tuấn Khải

XÂY DỰNG HỆ THỐNG TƯỜNG LỬA MẠNG NỘI BỘ

Chuyên ngành : Công nghệ thông tin

Trang 3

LỜI CẢM ƠN

Tôi xin bày tỏ lòng biết ơn sâu sắc đến Tiến sỹ Đàm Quang Hồng Hải Người đã tận tình hướng dẫn tôi hoàn thành luận văn này

Tôi vô cùng cảm ơn Thạc sỹ Phan Mạnh Thường và các nhà khoa học Bạn bè, đồng nghiệp đã đóng góp nhiều ý kiến quý báu

Giúp tôi hoàn thiện luận văn này

Tôi xin chân thành cảm ơn Trường Đại Học Lạc Hồng, Trường Đại Học Công Nghệ Thông Tin,

Khoa Công nghệ thông tin, Phòng Nghiên cứu khoa học và sau Đại học trường Đại học Lạc Hồng

Đã tạo điều kiện thuận lợi cho tôi thực hiện luận văn này

Tôi xin kính tặng luận văn này cho Cha Mẹ

Và người thân trong gia đình Bằng tất cả tình cảm yêu thương nhất…

Đồng Nai, tháng 10 năm 2012

Đinh Tuấn Khải

Trang 4

LỜI CAM ĐOAN

Tôi cam đoan rằng đề tài này do chính tôi thực hiện

Các số liệu thu thập, kết quả phân tích, dẫn chứng trong đề tài là trung thực

Không có sự trùng lắp, sao chép từ bất kỳ đề tài, hay công trình nghiên cứu khoa học nào của các tác giả khác

Đồng Nai, tháng 10 năm 2012

Đinh Tuấn Khải

Trang 5

TÓM TẮT

Cùng với sự phát triển của mạng Internet, vấn đề bảo mật và an toàn dữ

liệu cho các hệ thống mạng máy tính trên thế giới được đặt ra Đề tài “Xây dựng

hệ thống tường lửa mạng nội bộ” với mục tiêu nâng cao tính an toàn cho mạng

nội bộ Đầu tiên, Người quản trị quản lý hoạt động của hệ thống mạng nội bộ, cho phép hoặc cấm các chương trình nguy hiểm kết nối Internet Bên cạnh đó, hệ thống cũng được bảo vệ virus lây lan trong mạng nội bộ, những hoạt động khác

lạ chương trình sẽ kiểm tra, duyệt quét và báo cáo Với mô hình hệ thống tường lửa mạng nội bộ đơn giản, dễ sử dụng và tích hợp tùy chọn quét virus cho thấy tính khả thi khi áp dụng cho các hệ thống mạng nội bộ của một tổ chức, doanh nghiệp ngày nay

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

DANH MỤC CÁC KÝ HIỆU SỬ DỤNG TRONG LUẬN VĂN

Ký hiệu Thuật ngữ

Firewall Firewall system

Hacker Hacker, cracker

Header File header

Macro Macro virus

Trojan Trojan horse

Virus Computer viruses

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT SỬ DỤNG TRONG LUẬN VĂN

Từ viết tắt Thay cho cụm từ

ALE Application Layer Enforcement

API Application Programming Interface

ASCII American Standard Code for Information Interchange

BFE Base Filtering Engine

CNTT Công nghệ thông tin

CPU Central Processing Unit

CSDL Cơ sở dữ liệu

DMZ DeMilitarized Zone

DNS Domain Name System

DOS Denial of Service

FTP File Transfer Protocol

HTTP Hypertext Transfer Protocol

ICMP Internet Control Message Protocol

IDS Intrusion Detection System

IP Instruction Pointer

IPsec Protocol security

ISVs Independent Software Vendors

JS Java Script files

LE-EXE LinEar EXEcutable files

LIFO Last In - First Out

NDF Network Diagnostics Framework

NDIS Network Driver Interface Specification

NE-EXE NEw EXEcutable files

PE-EXE PortablE EXEcutable files

POT PowerpOint Template files

PPP Point-to-Point Protocol

PPT PowerPoinT files

REG REGistry files

SHA Screened host architecture

SLIP Serial Line Internet Protocol

SMTP Simple Mail Transfer Protocol

TCP/IP Internet protocol suite

TDI Transport Driver Interface

UDP User Datagram Protocol

VBA Visual Basic Application

WFP Windows Filtering Platform

Trang 8

DANH MỤC BẢNG BIỂU

Stt Bảng Mô tả Trang

1 BẢNG 2.1 Phân loại virus máy tính theo kiểu dữ liệu 17

2 BẢNG 2.2 Lịch trình cập nhật của Kaspersky Lab (1995-2004) 18

3 BẢNG 3.1 Các định dạng vật chủ chứa mã thi hành có thể nhiễm virus máy tính 39

4 BẢNG 3.2 Các loại tập tin chương trình 40

5 BẢNG 4.1 So sánh tính năng với một số sản phẩm hiện có 56

Trang 9

DANH MỤC HÌNH ẢNH

Stt Hình Mô tả Trang

1 HÌNH 2.1 Mô hình tường lửa bảo vệ hệ thống mạng nội bộ 10

2 HÌNH 2.2 Kiến trúc Dual – Homed host architecture 11

3 HÌNH 2.3 Kiến trúc Screened host architecture (SHA) 13

4 HÌNH 2.4 Kiến trúc Screened subnet architecture 14

5 HÌNH 3.1 Kiến trúc và khả năng mở rộng của WFP 25

6 HÌNH 3.2 Mô hình OSI rút gọn 33

7 HÌNH 3.3 Client gửi yêu cầu đến Server 34

8 HÌNH 3.4 Server chấp nhận yêu cầu và tạo một socket để phục vụ Client 35

9 HÌNH 3.5 Phân loại các tập tin chương trình 40

10 HÌNH 4.1 Mô hình ứng dụng Firewall 41

11 HÌNH 4.2 Sơ đồ hoạt động của hệ thống Firewall 42

12 HÌNH 4.3 Mô hình chức năng chương trình Firewall Client 43

13 HÌNH 4.4 Giao diện khi khởi động firewall client 43

14 HÌNH 4.5 Màn hình quản lý việc tạo luật IP 44

15 HÌNH 4.6 Màn hình sau khi thêm một luật 45

16 HÌNH 4.7 Màn hình để chỉnh sửa luật 45

17 HÌNH 4.8 Màn hình sau khi sửa một tập luật 46

18 HÌNH 4.9 Màn hình sau khi xóa luật 46

19 HÌNH 4.10 Màn hình quản lý luật chương trình 47

20 HÌNH 4.11 Thêm một chương trình vào luật cấm thực thi 47

21 HÌNH 4.12 Màn hình quản lý việc phân giải địa chỉ trang web dưới dạng IP 48

22 HÌNH 4.13 Chuyển chế độ người dùng 48

23 HÌNH 4.14 Màn hình thông báo khi Client chạy một chương trình 49

24 HÌNH 4.15 Khung đăng nhập vào tài khoản quản trị 49

25 HÌNH 4.16 Bảng thông báo khi chạy chương trình ở chế độ quản trị 49

26 HÌNH 4.17 Màn hình sau khi thêm luật chương trình 50

27 HÌNH 4.18 Màn hình Quét virus 50

28 HÌNH 4.19 Quét virus theo thư mục 51

29 HÌNH 4.20 Thông báo chương trình nhiễm virus 51

Trang 10

DANH MỤC HÌNH ẢNH

Stt Hình Mô tả Trang

30 HÌNH 4.21 Mô hình chức năng chương trình Firewall Server 52

31 HÌNH 4.22 Giao diện chương trình Firewall Server 52

32 HÌNH 4.23 Quản lý các Firewall Client 53

33 HÌNH 4.24 Quản lý luật IP của Client từ Server 54

34 HÌNH 4.25 Quản lý luật chương trình của Client từ Server 54

35 HÌNH 4.26 Màn hình quản lý việc phân giải IP của trang web 54

36 HÌNH 4.27 Màn hình thông báo có chương trình chạy ở Client 55

Trang 11

DANH MỤC BIỂU ĐỒ

Stt Biểu đồ Mô tả Trang

1 BIỂU ĐỒ 2.1 Biểu đồ so sánh tỷ lệ phân bố các lớp virus máy tính 17

2 BIỂU ĐỒ 2.2a Biểu đồ tăng trưởng các lớp virus máy tính 19

3 BIỂU ĐỒ 2.2b Biểu đồ tăng trưởng các lớp virus máy tính 19

Trang 12

MỤC LỤC

Trang

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

TÓM TẮT iii

MỤC LỤC iv

DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vii

DANH MỤC BẢNG BIỂU ix

DANH MỤC HÌNH ẢNH x

DANH MỤC BIỂU ĐỒ xii

CHƯƠNG 1 MỞ ĐẦU 1

1.1 Giới thiệu đề tài 1

1.1.1 Lý do chọn đề tài 1

1.1.2 Mục tiêu đề tài 1

1.2 Đối tượng, phạm vi nghiên cứu của đề tài 2

1.3 Ý nghĩa khoa học và thực tiễn của đề tài 2

1.4 Cấu trúc của luận văn 3

CHƯƠNG 2 MỘT SỐ CÔNG NGHỆ BẢO MẬT MẠNG MÁY TÍNH 4

2.1 Tổng quan về tường lửa (Firewall) 4

2.1.1 Đặt vấn đề 4

2.1.2 Khái niệm tường lửa 4

2.1.3 Lịch sử tường lửa 4

2.1.4 Các kiểu tấn công mạng 6

2.1.4.1 Tấn công trực tiếp 6

2.1.4.2 Kỹ thuật đánh lừa (Social Engineering) 6

2.1.4.3 Kỹ thuật tấn công vào vùng ẩn 6

2.1.4.4 Tấn công vào các lỗ hổng bảo mật 6

2.1.4.5 Khai thác tình trạng tràn bộ đệm: 7

2.1.4.6 Nghe trộm 7

2.1.4.7 Kỹ thuật giả mạo địa chỉ 7

2.1.4.8 Kỹ thuật chèn mã lệnh 7

2.1.4.9 Tấn công vào hệ thống có cấu hình không an toàn 7

2.1.4.10 Tấn công dùng Cookies 8

2.1.5 Các phương pháp bảo vệ 8

Trang 13

2.1.6 Tường lửa bảo vệ những gì? 8

2.1.7 Các loại tường lửa 9

2.1.7.1 Có ba loại tường lửa cơ bản tùy theo: 9

2.1.7.2 Phân loại theo phạm vi của các giao tiếp được lọc 9

2.1.7.3 Phân loại theo các tầng giao thức nơi dữ liệu có thể bị chặn 9

2.1.7.4 Phân loại theo tường lửa theo dõi trang thái 10

2.1.8 Nguyên lý hoạt động của tường lửa 10

2.1.9 Một số kiến trúc tường lửa cơ bản 11

2.1.9.1 Dual – Homed host architecture: 11

2.1.9.2 Screened host architecture (SHA) 13

2.1.9.3 Screened subnet architecture 14

2.1.9.4 Sử dụng nhiều Bastion hosts 15

2.1.9.5 Ghép chung Interior Router và Exterior Router 15

2.1.9.6 Kiến trúc ghép chung Bastion host và Exterior Router 16

2.2 Khảo sát virus máy tính 16

2.3 Các cơ chế chẩn đoán virus máy tính 18

2.3.1 Phát hiện virus dựa vào chuỗi nhận dạng 20

2.3.2 Phát hiện virus dựa vào hành vi 20

2.3.3 Phát hiện virus dựa vào ý định 21

2.4 Tình hình nghiên cứu và ứng dụng ở nước ngoài 21

2.5 Các vấn đề mở của công nghệ anti-virus 22

CHƯƠNG 3 NGHIÊN CỨU CÔNG NGHỆ SỬ DỤNG TRONG TƯỜNG LỬA 23

3.1 WINDOWS FILTERING PLATFORM (WFP) 23

3.1.1 Giới thiệu Windows Filtering Platform 23

3.1.2 Những lợi ích khi sử dụng WFP 24

3.1.3 Kiến trúc của WFP 25

3.1.4 Tính năng của WFP 27

3.1.5 Các WFP APIs được dùng để viết chương trình tường lửa 28

3.2 SOCKET 31

3.2.1 Lịch sử hình thành 31

3.2.2 Định nghĩa Socket 32

3.2.3 Nguyên lý hoạt động 33

3.2.4 Socket hỗ trợ TCP 34

3.2.5 Socket hỗ trợ UDP 35

3.2.6 Các thuộc tính của socket 35

3.2.7 Một số hàm thông dụng cùa socket 37

Trang 14

3.3 Nhận dạng virus dạng thực thi 39

3.3.1 Các định dạng dữ liệu bị nhiễm virus 39

3.3.2 Tập tin chương trình 39

CHƯƠNG 4 XÂY DỰNG HỆ THỐNG VÀ THỰC NGHIỆM 41

4.1 Giới thiệu hệ thống 41

4.1.1 Mô hình của hệ thống tường lửa 41

4.1.2 Sơ đồ hoạt động của tường lửa 42

4.2 Chương trình Firewall Client 42

4.2.1 Chức năng chính 42

4.2.2 Mô hình chức năng 43

4.2.3 Giao diện đồ họa của Firewall Client 43

4.3 Chương trình Firewall Server 51

4.3.1 Chức năng chính 51

4.3.2 Mô hình chức năng 52

4.3.3 Giao diện đồ họa của Firewall Server 52

4.4 So sánh giải pháp với phần mềm khác 55

CHƯƠNG 5 KẾT LUẬN 57

5.1 Kết quả đạt được 57

5.2 Hạn chế của đề tài, hướng khắc phục 57

5.3 Hướng phát triển tương lai 58 TÀI LIỆU THAM KHẢO

Trang 15

vệ an toàn dữ liệu cho các hệ thống tính toán, giữ vững an ninh mạng, đảm bảo liên lạc thông suốt, duy trì chất lượng phục vụ luôn là vấn đề quan tâm hàng đầu của các nhà quản trị hệ thống

Sự phát triển của Internet tạo điều kiện cho các loại hình xâm nhập luận

lý trái phép vào các hệ thống CNTT cả chiều rộng và chiều sâu Mỗi ngày các

hệ thống mạng phải đối phó với hàng loạt đợt tấn công mạng khiến nhiều hệ thống bị đình trệ, tắc nghẽn và tê liệt; gây thiệt hại không nhỏ Dự án nghiên cứu về sự phát triển toàn cầu của Viện Hàn lâm Công nghệ Quốc gia Mỹ (National Academy of Engineering, USA - 2008) nhận định vấn đề an ninh thông tin là một trong 14 thách thức công nghệ lớn nhất của thế kỷ 21 mà nếu giải quyết được, cuộc sống con người sẽ được cải thiện đáng kể [15]

Trong bối cảnh đó, đề tài “Xây dựng hệ thống tường lửa mạng nội bộ”

được tiến hành nhằm góp phần giải quyết vấn đề bảo vệ an toàn cho các hệ thống CNTT nói chung và hệ thống mạng nội bộ trường Đại học Lạc Hồng nói riêng

1.1.2 Mục tiêu đề tài

Ngày càng có nhiều người kết nối mạng Internet và các công ty, tổ chức ngày càng mở rộng hệ thống mạng, vấn đề bảo mật cho mạng nội bộ trở nên khó khăn hơn bao giờ hết Hiện nay, nhiều phương pháp đã được đưa ra phát triển để đảm bảo an toàn cho cơ sở hạ tầng và giao tiếp trên Internet

Trang 16

Trên cơ sở xác định loại hình nghiên cứu của đề tài là nghiên cứu ứng dụng, mục tiêu của đề tài là xây dựng hệ thống tường lửa mạng nội bộ, tiếp đến tích hợp nhận dạng virus máy tính với các tiêu chí cơ bản:

- Xây dựng hệ thống tường lửa có khả năng cấm những chương trình nguy hiểm cố gắng ra mạng

- Quyết định chương trình nào được phép thực thi, được kết nối internet

- Nhận dạng nhanh, phát hiện chính xác các trường hợp lây nhiễm, tiềm ẩn của các virus đã biết trên hệ thống đích

1.2 Đối tượng, phạm vi nghiên cứu của đề tài

Có ba vấn đề cân nhắc khi nghiên cứu xây dựng hệ thống tường mạng nội

bộ là môi trường (hệ điều hành, kiến trúc máy), phương tiện (Cơ sở hạ tầng mạng) và người dùng (cộng đồng sử dụng) Mặc dù có nhiều loại hệ thống tường lửa máy tính được xây dựng trên nhiều hệ thống và môi trường khác nhau, nhưng do tính phổ biến của Windows, để đáp ứng nhu cầu thực tế bức thiết, đề tài tập trung nghiên cứu quản lý hệ thống tường lửa mạng nội bộ hoạt động trên hệ điều hành (HĐH) Windows

Mặc dù vậy, đề tài cũng được định hướng nghiên cứu để có thể mở rộng kết quả nghiên cứu cho các HĐH khác Windows

1.3 Ý nghĩa khoa học và thực tiễn của đề tài

Đề tài sau khi hoàn thành có khả năng giám sát, bảo vệ an toàn mạng nội

bộ thông qua hệ thống tường lửa

Giúp cho việc quản trị hệ thống dễ dàng hơn thông qua giao tiếp chương trình tường lửa đơn giản, dễ sử dụng

Giải quyết được nhu cầu thực tế trong việc quản lý bảo vệ an toàn thông tin

Trang 17

1.4 Cấu trúc của luận văn

Trong luận văn được chia làm năm chương:

 Chương 1: Trình bày lý do chọn đề tài, mục tiêu và phạm vi nghiên cứu

 Chương 2: Chương này giới thiệu tổng quan về đề tài và tìm hiểu về Firewall những ưu khuyết điểm của hệ thống tường lửa

 Chương 3: Nội dung chương 3 tập trung giới thiệu và nghiên cứu các công nghệ sử dụng trong chương trình Firewall Nội dung chính là nghiên cứu về Windows Filtering Platform, Socket và cách sử dụng nó trong luận văn Mô

tả sơ lược về virus máy tính

 Chương 4: Đây là chương chính của khóa luận Chương này sẽ trình bày nội dung chương trình Firewall

 Chương 5: Tổng kết, đánh giá ý nghĩa thực tiễn, phân tích hạn chế, đề xuất các biện pháp khắc phục và dự kiến hướng phát triển tương lai của đề tài

Trang 18

CHƯƠNG 2

MỘT SỐ CÔNG NGHỆ BẢO MẬT MẠNG MÁY TÍNH

2.1 Tổng quan về tường lửa (Firewall)

2.1.1 Đặt vấn đề

Việc xây dựng một hệ thống bảo vệ, giám sát hoạt động những chương trình

ra ngoài Internet nhằm đảm bảo sự an toàn cho người sử dụng khi kết nối Internet

và việc quản lý hệ thống một cách dễ dàng là điều cần thiết Đề tài tiến hành nghiên cứu xây dựng hệ thống tường lửa mạng nội bộ nhằm giải quyết vấn đề trên

2.1.2 Khái niệm tường lửa

Internet cho phép chúng ta truy cập tới mọi nơi trên thế giới thông qua một

số dịch vụ Ngồi trước máy tính có thể biết được thông tin trên toàn cầu, nhưng cũng chính vì thế mà hệ thống máy tính có thể bị xâm nhập vào bất kỳ lúc nào

mà không hề được biết trước Do vậy, việc bảo vệ hệ thống là một vấn đề đáng phải được quan tâm đặt lên hàng đầu và khái niệm Firewall ra đời để giải quyết vấn đề này

Tường lửa là một thiết bị phần cứng hoặc phần mềm được đặt giữa máy tính và Internet, bức tường lửa là rào chắn mà một số cá nhân, tổ chức, doanh nghiệp, cơ quan nhà nước lập ra nhằm ngăn chặn người dùng mạng Internet truy cập các thông tin không mong muốn hoặc ngăn chặn người dùng từ bên ngoài truy nhập các thông tin bảo mật nằm trong mạng nội bộ

2.1.3 Lịch sử tường lửa

Công nghệ tường lửa bắt đầu xuất hiện vào cuối những năm 1980 khi Internet vẫn còn là một công nghệ khá mới mẻ theo khía cạnh kết nối và sử dụng trên toàn cầu.Ý tưởng đầu tiên được đã hình thành sau khi hàng loạt các vụ xâm phạm nghiêm trọng đối với an ninh liên mạng xảy ra vào cuối những năm 1980 Năm 1988, một nhân viên tại trung tâm nghiên cứu NASA Ames tại California gửi một bản ghi nhớ qua thư điện tử tới đồng nghiệp rằng: "Chúng ta đang bị một con VIRUS Internet tấn công! Nó đã đánh Berkeley, UC San Diego, Lawrence Livermore, Stanford, và NASA Ames" Con virus được biết đến với tên Sâu Morris này đã được phát tán qua thư điện tử và khi đó đã là một sự khó chịu chung ngay cả đối với những người dùng vô thưởng vô phạt nhất Sâu Morris là

Trang 19

cuộc tấn công diện rộng đầu tiên đối với an ninh Internet Cộng đồng mạng đã không hề chuẩn bị cho một cuộc tấn công như vậy và đã hoàn toàn bị bất ngờ Sau đó, cộng đồng Internet đã quyết định rằng ưu tiên tối cao là phải ngăn chặn không cho một cuộc tấn công bất kỳ nào nữa có thể xảy ra, họ bắt đầu cộng tác đưa ra các ý tưởng mới, những hệ thống và phần mềm mới để làm cho mạng Internet có thể trở lại an toàn

Năm 1988, bài báo đầu tiên về công nghệ tường lửa được công bố, khi Jeff Mogul thuộc Digital Equipment Corp phát triển các hệ thống lọc đầu tiên được biết đến với tên các tường lửa lọc gói tin Hệ thống khá cơ bản này đã là thế hệ đầu tiên của cái mà sau này sẽ trở thành một tính năng kỹ thuật an toàn mạng được phát triển cao Từ năm 1980 đến năm 1990, hai nhà nghiên cứu tại phòng thí nghiệm AT&T Bell, Dave Presetto và Howard Trickey, đã phát triển thế hệ tường lửa thứ hai, được biến đến với tên các tường lửa tầng mạch (circuit level firewall) Các bài báo của Gene Spafford ở Đại học Purdue, Bill Cheswick ở phòng thí nghiệm AT&T và Marcus Ranum đã mô tả thế hệ tường lửa thứ ba, với

tên gọi tường lửa tầng ứng dụng (application layer firewall), hay tường lửa dựa proxy (proxy-based firewall) Nghiên cứu công nghệ của Marcus Ranum đã khởi

đầu cho việc tạo ra sản phẩn thương mại đầu tiên Sản phẩm này đã được Digital Equipment Corporation's (DEC) phát hành với tên SEAL Đợt bán hàng lớn đầu tiên của DEC là vào ngày 13 tháng 9 năm 1991 cho một công ty hóa chất tại bờ biển phía Đông của Mỹ

Tại AT&T, Bill Cheswick và Steve Bellovin tiếp tục nghiên cứu của họ về lọc gói tin và đã phát triển một mô hình chạy được cho công ty của chính họ, dựa trên kiến trúc của thế hệ tường lửa thứ nhất của mình Năm 1992, Bob Braden và Annette DeSchon tại Đại học Nam California đã phát triển hệ thống tường lửa lọc gói tin thế hệ thứ tư Sản phẩm có tên “Visas” này là hệ thống đầu tiên có một giao diện với màu sắc và các biểu tượng, có thể dễ dàng cài đặt thành phần mềm cho các hệ điều hành chẳng hạn Microsoft Windows và Mac/OS của Apple

và truy nhập từ các hệ điều hành đó Năm 1994, một công ty Israel có tên Check Point Software Technologies đã xây dựng sản phẩm này thành một phần mềm sẵn sàng cho sử dụng, đó là FireWall-1 Một thế hệ thứ hai của các tường lửa proxy đã được dựa trên công nghệ Kernel Proxy Thiết kế này liên tục được cải

Trang 20

tiến nhưng các tính năng và mã chương trình cơ bản hiện đang được sử dụng rộng rãi trong cả các hệ thống máy tính gia đình và thương mại Cisco, một trong những công ty an ninh mạng lớn nhất trên thế giới đã phát hành sản phẩm này năm 1997

2.1.4 Các kiểu tấn công mạng

2.1.4.1 Tấn công trực tiếp

Sử dụng một máy tính để tấn công một máy tính khác với mục đích dò tìm mật mã, tên tài khoản tương ứng, … Họ có thể sử dụng một số chương trình giải mã để giải mã các file chứa password trên hệ thống máy tính của nạn nhân

Do đó, những mật khẩu ngắn và đơn giản thường rất dễ bị phát hiện

2.1.4.2 Kỹ thuật đánh lừa (Social Engineering)

Đây là thủ thuật được nhiều hacker sử dụng cho các cuộc tấn công và thâm nhập vào hệ thống mạng và máy tính bởi tính đơn giản mà hiệu quả của nó Thường được sử dụng để lấy cấp mật khẩu, thông tin, tấn công vào và phá hủy hệ thống

2.1.4.3 Kỹ thuật tấn công vào vùng ẩn

Những phần bị giấu đi trong các website thường chứa những thông tin về phiên làm việc của các Client Các phiên làm việc này thường được ghi lại ở máy khách chứ không tổ chức cơ sở dữ liệu trên máy chủ Vì vậy, người tấn công có thể sử dụng chiêu chức View Source của trình duyệt để đọc phần đầu đi này và

từ đó có thể tìm ra các sơ hở của trang Web mà họ muốn tấn công Từ đó, có thể tấn công vào hệ thống máy chủ

2.1.4.4 Tấn công vào các lỗ hổng bảo mật

Hiện nay các lỗ hổng bảo mật được phát hiện càng nhiều trong các hệ điều hành, các web server hay các phần mềm khác, Và các hãng sản xuất luôn cập nhật các lỗ hổng và đưa ra các phiên bản mới sau khi đã vá lại các lỗ hổng của các phiên bản trước Do đó, người sử dụng phải luôn cập nhật thông tin và nâng cấp phiên bản cũ mà mình đang sử dụng nếu không các hacker sẽ lợi dụng điều này để tấn công vào hệ thống

Trang 21

2.1.4.5 Khai thác tình trạng tràn bộ đệm:

Tràn bộ đệm là một tình trạng xảy ra khi dữ liệu được gởi quá nhiều so với khả năng xử lý của hệ thống hay CPU Nếu hacker khai thác tình trạng tràn bộ đệm này thì họ có thể làm cho hệ thống bị tê liệt hoặc làm cho hệ thống mất khả năng kiểm soát

Để khai thác được việc này, hacker cần biết kiến thức về tổ chức bộ nhớ, stack, các lệnh gọi hàm Shellcode

2.1.4.6 Nghe trộm

Các hệ thống truyền đạt thông tin qua mạng đôi khi không chắc chắn lắm

và lợi dụng điều này, hacker có thể truy cập vào data paths để nghe trộm luồng

dữ liệu truyền qua

2.1.4.7 Kỹ thuật giả mạo địa chỉ

Thông thường, các mạng máy tính nối với Internet đều được bảo vệ bằng tường lửa Tường lửa có thể hiểu là cổng duy nhất mà người đi vào nhà hay đi ra cũng phải qua đó Tường lửa hạn chế rất nhiều khả năng tấn công từ bên ngoài và gia tăng sự tin tưởng lẫn nhau trong việc sử dụng tài nguyên chia sẻ trong mạng nội bộ

2.1.4.8 Kỹ thuật chèn mã lệnh

Một kỹ thuật tấn công căn bản và được sử dụng cho một số kỹ thuật tấn công khác là chèn mã lệnh vào trang web từ một máy khách bất kỳ của người tấn công

Kỹ thuật chèn mã lệnh cho phép người tấn công đưa mã lệnh thực thi vào phiên làm việc trên web của một người dùng khác Khi mã lệnh này chạy, nó sẽ cho phép người tấn công thực hiện nhiều việc như giám sát phiên làm việc trên trang web hoặc có thể toàn quyền điều khiển máy tính của nạn nhân Kỹ thuật tấn công này thành công hay thất bại tùy thuộc vào khả năng và sự linh hoạt của người tấn công

2.1.4.9 Tấn công vào hệ thống có cấu hình không an toàn

Cấu hình không an toàn cũng là một lỗ hổng bảo mật của hệ thống Các lỗ hổng này được tạo ra do các ứng dụng có các thiết lập không an toàn hoặc người quản trị hệ thống cấu hình không an toàn Chẳng hạn như cấu hình máy chủ web

Trang 22

cho phép ai cũng có quyền duyệt qua hệ thống thư mục Việc thiết lập như trên

có thể làm lộ các thông tin nhạy cảm như mã nguồn, mật khẩu hay các thông tin của khách hàng

2.1.4.10 Tấn công dùng Cookies

Cookie là những phần tử dữ liệu nhỏ có cấu trúc được chia sẻ giữa website

và trình duyệt của người dùng

Cookies được lưu trữ dưới những tập tin dữ liệu nhỏ dạng text Chúng được các trình duyệt tạo ra để lưu trữ, truy tìm, nhận biết các thông tin về người dùng

đã ghé thăm và những vùng mà họ đi qua Những thông tin này có thể bao gồm tên, định danh người dùng, mật khẩu, sở thích, thói quen, … Cookies được trình duyệt của người dùng chấp nhận lưu trên đĩa cứng của máy tính, không phải trình duyệt nào cũng hỗ trợ cookies

Vô hiệu hóa dịch vụ: Kiểu tấn công này thông thường làm tê liệt một số dịch vụ, được gọi là DOS (Denial of Service)

2.1.5 Các phương pháp bảo vệ

 Xây dựng hệ thống tường lửa: Phổ biến nhất là các sản phẩm thương mại như của Checkpoint, Cisco Tường lửa Open Source phổ biến là Netfilter/Iptable

 Dùng phần mềm antivirus

 Phương pháp kiểm soát lối vào

 Ngăn cản sự xâm nhập trái phép vào hệ thống: IDS phổ biến nhất là Snort

 Mã hoá dữ liệu trước khi truyền

 Dùng chữ ký số trước khi truyền

 Xây dựng một chính sách an toàn cho hệ thống

 Xây dựng mạng riêng ảo

 Các công cụ đánh giá tính an toàn

2.1.6 Tường lửa bảo vệ những gì?

 Dữ liệu: đây là nhu cầu đầu tiên khi cần sử dụng tường lửa để bảo vệ nhằm các yêu cầu sau:

o Tính bảo mật: Đây là những thông tin quan trong mà cần phải giữ kín

o Tính toàn vẹn: Thông tin không bị thay đổi, hay bị đánh tráo

Trang 23

o Tính kịp thời: Đảm bảo sự cần thiết kịp thời khi có yêu cầu

 Tài nguyên: Khi hệ thống bị xâm nhập thì những hacker có thể sử dụng tài nguyên để mưu đồ riêng

 Danh tiếng: Đây là vấn đề hết sức quan tâm của các công ty có danh tiếng lớn Trong trường hợp, người quản trị chỉ biết khi hệ thống đã bị tấn công và dùng bàn đạp để tấn công hệ thống khác thì hậu quả thiệt hại về danh tiếng rất lớn

2.1.7 Các loại tường lửa

2.1.7.1 Có ba loại tường lửa cơ bản tùy theo:

 Giao tiếp được thực hiện giữa một nút đơn và mạng, hay giữa một số mạng

 Giao tiếp được chặn tại tầng mạng, hay tại tầng ứng dụng

 Tường lửa có theo dõi trạng thái của giao tiếp hay không

2.1.7.2 Phân loại theo phạm vi của các giao tiếp được lọc

 Tường lửa cá nhân, một ứng dụng phần mềm với chức năng thông thường là lọc dữ liệu ra vào một máy tính đơn

 Tường lửa mạng, thường chạy trên một thiết bị mạng hay máy tính chuyên dụng đặt tại ranh giới của hai hay nhiều mạng hoặc các khu phi quân sự (mạng con trung gian nằm giữa mạng nội bộ và mạng bên ngoài) Một tường lửa thuộc loại này lọc tất cả dữ liệu vào hoặc ra của các mạng được kết nối qua nó

2.1.7.3 Phân loại theo các tầng giao thức nơi dữ liệu có thể bị chặn

 Tường lửa tầng mạng (iptables)

 Tường lửa tầng ứng dụng (TCP Wrappers)

 Tường lửa ứng dụng (hạn chế các dịch vụ ftp bằng việc định cấu hình tại tệp /etc/ftpaccess)

Trang 24

2.1.7.4 Phân loại theo tường lửa theo dõi trang thái

 Tường lửa có trạng thái (Stateful firewall)

Tường lửa phi trạng thái (Stateless firewall)

HÌNH 2.1: Mô hình tường lửa bảo vệ hệ thống mạng nội bộ

2.1.8 Nguyên lý hoạt động của tường lửa

Khi nói đến việc lưu thông dữ liệu giữa các mạng với nhau thông qua tường lửa có nghĩa rằng tường lửa hoạt động chặt chẽ với giao thức TCP/IP Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận được từ các ứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy trên các giao thức (SMTP, DNS,…) [3] thành các gói dữ liệu (data pakets) rồi gán cho các paket này những địa chỉ để có thể nhận dạng, tái lập lại ở đích cần gửi đến, do đó các loại tường lửa cũng liên quan rất nhiều đến các packet và những địa chỉ của chúng Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được Nó kiểm tra toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một trong số các luật lệ của lọc packet hay không Các luật lệ lọc packet này là dựa trên các thông tin ở đầu mỗi packet (packet header), dùng để cho phép truyền các packet đó ở trên mạng Đó là:

 Địa chỉ IP nơi xuất phát ( IP Source address)

 Địa chỉ IP nơi nhận (IP Destination address)

 Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)

 Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)

Trang 25

 Cổng TCP/UDP nơi nhận (TCP/UDP destination port)

 Dạng thông báo ICMP ( ICMP message type)

 Giao diện packet đến ( incomming interface of packet)

 Giao diện packet đi ( outcomming interface of packet)

Nếu luật lệ lọc packet được thỏa mãn thì packet được chuyển qua tường lửa Nếu không packet sẽ bị bỏ đi Nhờ vậy mà tường lửa có thể ngăn cản được các kết nối vào các máy chủ hoặc mạng nào đó được xác định, hoặc khóa việc truy cập vào hệ thống mạng nội bộ từ những địa chỉ không cho phép Hơn nữa, việc kiểm soát các cổng làm cho tường lửa có khả năng chỉ cho phép một số loại kết nối nhất định vào các loại máy chủ nào đó, hoặc chỉ có những dịch vụ nào

đó (Telnet, SMTP, FTP…) được phép mới chạy được trên hệ thống mạng cục

bộ

2.1.9 Một số kiến trúc tường lửa cơ bản

2.1.9.1 Dual – Homed host architecture:

HÌNH 2.2: Kiến trúc Dual – Homed host architecture Đây là kiến trúc đơn giản nhất Kiến trúc này sẽ sử dụng một máy tính có ít nhất 2 card giao tiếp (dual- homed host ) Máy tính này sẽ là cầu nối giữa mạng

Trang 26

bên trong (internal network) và mạng bên ngoài (external network) và chức năng routing của máy này cũng bỏ đi

Để cung cấp dịch vụ cho những người sử dụng internal network có một số giải pháp như sau: hoặc kết hợp với các proxy server cung cấp những proxy service hoặc cấp các tài khoản cho người dùng trên máy dual-homed host này

và khi mà người dùng muốn sử dụng dịch vụ từ Internet hay dịch vụ từ external network thì người dùng phải đăng nhập vào máy này, dẫn đến nảy sinh vấn đề về hệ thống không được an toàn đó là vấn đề cấp tài khoản trên máy này

là không nên làm, vì máy này nối ra bên ngoài nên nó như là một hàng rào bên ngoài có nhiều attacker muốn tấn công

Ưu khuyết điểm:

 Nếu dùng phương pháp cấp tài khoản cho user trên máy dual- homed host thì người dùng không thích sử dụng dịch vụ phiền phức như vậy, vì mỗi lần họ muốn sử dụng dịch vụ thì phải đăng nhập vào máy khác (dual homed host) khác với máy của họ đây là vấn đề không trong suốt với người sử dụng

 Nếu dùng Proxy Server: Khó có thể cung cấp được nhiều dịch vụ cho người

sử dụng vì phần mềm proxy server và proxy client không phải loại dịch vụ nào cũng có sẵn Hoặc khi số dịch vụ cung cấp nhiều thì khả năng đáp ứng của hệ thống có thể giảm xuống vì tất cả các proxy server đều đặt trên cùng một máy

 Một khuyết điểm cơ bản của hai mô hình trên nữa là: khi mà máy dual -homed host nói chung cũng như các proxy server bị đột nhập vào Người tấn công đột nhập vào được qua nó - thì lưu thông bên trong internal network bị người tấn công thấy hết điều này hết sức nguy hiểm Trong các hệ thống mạng dùng Ethernet hoặc Token-ring thì dữ liệu lưu thông trong hệ thống có thể bị bất kỳ máy nào nối vào mạng đánh cắp dữ liệu cho nên kiến trúc trên chỉ thích hợp với một số mạng nhỏ

Trang 27

2.1.9.2 Screened host architecture (SHA)

HÌNH 2.3: Kiến trúc Screened host architecture (SHA) Kiến trúc này kết hợp 2 kỹ thuật đó là packet filtering và proxy services Packet Filtering: Lọc một số loại dịch vụ mà hệ thống muốn cung cấp sử dụng proxy server, yêu cầu người dùng nếu muốn dùng dịch vụ thì phải kết nối đến proxy server mà không được bỏ qua proxy server để nối trực tiếp với internal/external network, đồng thời có thể cho phép Bastion Host mở một số kết nối với internal/external host

Proxy Service: Bastion host sẽ chứa các proxy server để phục vụ một số dịch vụ hệ thống cung cấp cho người sử dụng qua proxy server

Ưu khuyết điểm:

Kiến trúc screened host hay hơn kiến trúc dual- homed host ở một số điểm

cụ thể sau:

 Dual-Homed Host: Khó có thể bảo vệ tốt vì máy này cùng lúc cung cấp nhiều dịch vụ, vi phạm qui tắc căn bản là mỗi phần tử hay thành phần nên giữ ít chức năng nếu có thể được - Mỗi phần tử nên giữ ít chức năng càng tốt , cũng như tốc độ đáp ứng không cao vì cùng lúc đảm nhận nhiều chức năng

 Screened Host Architecture: đã tách chức năng lọc các gói IP và các proxy server ở hai máy riêng biệt Packet filtering chỉ giữ chức năng lọc gói nên

có thể kiểm soát, cũng như khó xảy ra lỗi - tuân thủ qui tắc ít chức năng

Trang 28

Proxy servers được đặt ở máy khác nên khả năng phục vụ - tốc độ đáp ứng cũng cao

 Cũng tương tự như kiến trúc Dual-Homed Host khi mà packet filtering system cũng như bastion host chứa các proxy server bị đột nhập vào - Người tấn công đột nhập được qua các hàng rào này thì lưu thông của internal network bị người tấn công thấy

 Từ khuyết điểm chính của 2 kiến trúc trên ta có kiến trúc thứ 3 sau đây khắc phục được phần nào khuyết điểm trên

2.1.9.3 Screened subnet architecture

HÌNH 2.4: Kiến trúc Screened subnet architecture Đối với những hệ thống yêu cầu cung cấp dịch vụ nhanh, an toàn cho nhiều người sử dụng đồng thời cũng như khả năng theo dõi lưu thông của mỗi người sử dụng trong hệ thống và dữ liệu trao đổi giữa các người dùng trong hệ thống cần được bảo vệ thì kiến trúc cơ bản trên phù hợp

Để tăng độ an toàn trong internal network, kiến trúc screen subnet ở trên sử dụng thêm một mạng DMZ (DMZ hay perimeter network) để che phần nào lưu thông bên trong internal network Tách biệt internal network với Internet

Sử dụng 2 Screening Router: Exterior Router và Interior Router

Áp dụng qui tắc dư thừa có thể bổ sung thêm nhiều mạng trung gian càng tăng khả năng bảo vệ càng cao

Trang 29

2.1.9.4 Sử dụng nhiều Bastion hosts

Do các yêu cầu về tốc độ đáp ứng (performance) và dư thừa (redundancy), cũng như tách biệt các server khác nhau

Sử dụng 1 bastion host cung cấp những dịch vụ cho internal user, như dịch vụ SNMP server, proxy server

Sử dụng 1 bastion host khác cung cấp dịch vụ cho Internet - những người sử dụng bên ngoài (external user) sẽ sử dụng Như là anonymous FTP server mà server này những người sử dụng bên trong (local users) không truy xuất đến

Với cách này thì tốc độ đáp ứng cho những người sử dụng bên trong một phần nào đó không bị ảnh hưởng bởi hoạt động của những người sử dụng bên ngoài (external users)

Cũng có thể sử dụng nhiều bastion host mà cung cấp cho 1 dịch vụ nào đó để tăng tốc độ đáp ứng, nhưng việc này cũng khó cân bằng tải giữa các server trừ khi đoán trước được mức độ sử dụng

Việc sử dụng kỹ thuật dư thừa để đảm bảo tính sẵn sàng cao của hệ thống, khi một bastion host hỏng thì có cái khác thay thế Nhưng chỉ có một số loại dịch vụ trợ giúp dạng này: DNS server, SMTP server, có thể dùng nhiều bastion host làm DNS server, SMTP server Khi một bastion host hỏng hoặc quá tải, những yêu cầu

về DNS server và SNMP sẽ dùng bastion host khác như là một fallback system Việc sử dụng nhiều bastion host trong trường hợp muốn cung cấp dịch vụ cho nhiều mạng khác nhau và loại dữ liệu cung cấp cho mỗi mạng cũng khác nhau

Sử dụng nhiều bastion host cho các server khác nhau để khi một server nào đó

bị đột nhập vào (break-in) hay hỏng thì server khác vẫn hoạt động tốt Ví dụ: Tách HTTP server và FTP server trên 2 máy riêng biệt

2.1.9.5 Ghép chung Interior Router và Exterior Router

Sử dụng kiến trúc này thì cần tăng tốc độ của máy làm ROUTER

Kiến trúc này gần giống với screened host architecture trong trường hợp khi

mà exterior / interior router bị độ nhập vào thì lưu thông trong mạng cục bộ sẽ bị lộ

ra bên ngoài nhưng tốt hơn screened host architecture đó là nó cũng sử dụng thêm một mạng bên ngoài Mạng bên ngoài sẽ chứa các server có thể nối ra Internet mà nếu các server này bị đột nhập thì lưu thông của mạng bên trong cũng không bị lộ ra bên ngoài Kiến trúc này cũng gần giống với screened subnet architecture nhưng mà

Trang 30

exterior router và interior router được ghép chung nên nó giảm đi số lớp bảo vệ Nói chung, kiến trúc ghép chung interior router và exterior router ở trung gian giữa hai kiến trúc này

2.1.9.6 Kiến trúc ghép chung Bastion host và Exterior Router

Cho mạng chỉ có một đường nối dùng nghi thức SLIP hoặc PPP ra Internet Phần mềm có thể sử dụng: Morning Star PPP Package

Kiến trúc này gần giống với screened subnet architecture

Kiến trúc này cho tốc độ đáp ứng thường thấp nhưng vẫn có thể chấp nhận được do tốc độ đường truyền thấp, chức năng lọc của exterior router ít - chức năng lọc gói chủ yếu là interior router

2.2 Khảo sát virus máy tính

Virus máy tính (computer virus) là loại chương trình máy được thiết kế để

thực hiện các chỉ thị của nó sau chương trình khác [5] Bí mật sao chép bản thân

nó vào các hệ thống máy tính, virus lây từ máy này sang máy khác, làm suy giảm năng lực hoạt động hệ thống và xâm phạm dữ liệu người dùng [1] Kể từ khi virus Brain xuất hiện đầu tiên (1986), ngày nay có đến hàng chục ngàn biến thể virus máy tính lây lan trên toàn thế giới Biến thái qua nhiều thế hệ, virus máy tính ngày càng tinh vi, mức độ quấy rối phá hoại càng nguy hiểm và nghiêm trọng

Có nhiều định nghĩa về virus máy tính [4][6][8] Theo Bordera [2], virus

máy tính là: “bất cứ chỉ thị, thông tin, dữ liệu hoặc chương trình làm suy giảm tính hoàn thiện của tài nguyên máy tính, làm vô hiệu, gây nguy hiểm hoặc phá hủy, hoặc ghép bản thân nó vào tài nguyên của máy tính khác và thi hành khi chương trình máy tính thi hành”

Ngoài những tính chất chung, mỗi loại virus có nguyên tắc lây nhiễm, đặc điểm dữ liệu khác nhau Lúc đầu các chuyên gia phân loại virus theo hình thức lây nhiễm Về sau virus máy tính phát triển đa dạng với nhiều xu hướng kết hợp, phân hóa, lai tạp, kế thừa… khiến việc phân loại gặp nhiều khó khăn Kết quả phân tích mã lệnh thực thi các virus đại diện trong danh sách 65.824 virus DOS/Windows của Kaspersky Lab [12] cho thấy virus máy tính được thiết kế từ bốn lớp dữ liệu cơ bản (Bảng 2.1) Biểu đồ so sánh phân bố tỷ lệ các lớp virus máy

Trang 31

tính (biểu đồ 2.1) cho thấy lớp dữ liệu program (gồm hai nhóm 16-bit và 32-bit) chiếm tỷ lệ cao nhất

BẢNG 2.1: Phân loại virus máy tính theo kiểu dữ liệu

BIỂU ĐỒ 2.1: Biểu đồ so sánh tỷ lệ phân bố các lớp virus máy tính

Để đánh giá xu hướng phát triển của virus máy tính, có thể tìm hiểm quá trình xuất hiện của các loại virus máy tính trong khoảng thời gian xác định Thống kê thời điểm cập nhật 14575 virus DOS/Windows đại diện của Kaspersky Lab trong 10 năm (1995-2004) Biểu đồ 2.2a cho thấy:

- Các lớp virus đều có sự gia tăng về số lượng Đến năm 2000, trong khi các lớp khác tăng đều, lớp Program-32 có sự gia tăng đột biến

- Năm 2003 có sự phân hóa lớn: trong khi lớp Program-32 vẫn tăng trưởng mạnh, lớp Program-16 (lây vào các ứng dụng 16 bit của DOS/Windows) và

Trang 32

lớp Text (sử dụng tập lệnh script ASCII plain text) đều sụt giảm

- Các lớp virus Binary (chủ yếu là boot virus) và Macro (chủ yếu là word macro) tăng nhưng không tạo ra sự biến chuyển lớn nào (Biểu đồ 2.2b)

BẢNG 2.2: Lịch trình cập nhật của Kaspersky Lab (1995-2004)

Năm Program 32 bit Program 16 bit Binary Text Macro

2.3 Các cơ chế chẩn đoán virus máy tính

Hơn 20 năm qua, virus máy tính đã gây nguy hại cho nhiều hệ thống CNTT trên thế giới Các nhà khoa học đã tốn nhiều công sức nghiên cứu, xây dựng các hệ phòng chống virus máy tính theo nhiều tiếp cận, kỹ thuật khác nhau [11] Cho đến nay, có ba kỹ thuật nhận dạng virus máy tính đã được áp dụng: dựa vào chuỗi nhận dạng virus , dựa vào hành vi nghi ngờ virus và dựa vào ý định virus

Trang 33

BIỂU ĐỒ 2.2a: Biểu đồ tăng trưởng các lớp virus máy tính

BIỂU ĐỒ 2.2b: Biểu đồ tăng trưởng các lớp virus máy tính

Trang 34

2.3.1 Phát hiện virus dựa vào chuỗi nhận dạng

Hoạt động theo nguyên lý nhận dạng mẫu, các Antivirus sử dụng một CSDL chứa mẫu virus Mỗi khi có virus mới, các chuyên gia anti-virus sẽ giải

mã, trích chọn và cập nhật chuỗi nhận dạng virus vào thư viện Thông tin về đối tượng chẩn đoán (ghi nhận từ hệ thống đích) cùng với thông tin của virus (trong thư viện mẫu) sẽ cho kết luận về tình trạng của đối tượng

Nhận dạng mẫu giúp Antivirus phát hiện các virus đã biết trên tập dữ liệu chẩn đoán với độ chính xác cao Tuy nhiên phương pháp này có khá nhiều nhược điểm:

- Cồng kềnh: Kích thước thư viện mẫu tỷ lệ thuận với số virus đã cập nhật và

tỷ lệ nghịch với tốc độ tìm kiếm

- Bị động: Antivirus chỉ hiệu quả trên các mẫu virus đã cập nhật, không đáp ứng kịp thời dịch bệnh do tốn thời gian cho việc thu thập mẫu virus mới, giải mã, phân tích, lập thuật giải, cập nhật phiên bản mới, phát hành…

- Nhầm lẫn: Các hacker cố gắng tạo vỏ bọc an toàn cho virus Khi Antivirus

so mẫu chẩn đoán giống với virus, dữ liệu sạch của hệ thống sẽ bị tẩy (clean) nhầm

2.3.2 Phát hiện virus dựa vào hành vi

Tiếp cận này nghiên cứu virus máy tính dưới góc độ thi hành của tập

mã lệnh Cũng là chương trình máy tính, nhưng khác với các phần mềm hữu ích, virus chỉ chứa các lệnh nguy hiểm Nghiên cứu trật tự, quy luật hình thành các

lệnh máy của virus, tiếp cận này dựa vào khái niệm hành vi để xây dựng cơ chế

nhận dạng thông qua tập các thủ tục/hành vi của chúng

Sử dụng tri thức hành vi từ kinh nghiệm chuyên gia nên tiếp cận này còn gọi là phương pháp heuristic Do các virus giống nhau thường có hành vi như nhau nên Antivirus có thể nhận dạng các virus cùng họ Tuy nhiên Antivirus khó phân biệt được các hành vi giống nhau nhưng mục đích khác nhau (ví dụ các phần mềm thường tạo và xóa tập tin tạm, trong khi virus tạo bản sao chính nó và xóa dữ liệu người dùng…) nên tiếp cận này ít được sử dụng cho máy lẻ/trạm làm việc, vốn dành cho người dùng ít kinh nghiệm [14]

Trang 35

2.3.3 Phát hiện virus dựa vào ý định

Do hãng Sandrasoft (Ấn Độ) đề xướng từ năm 2005, tiếp cận based (tên mã Rudra) lưu giữ hình ảnh chi tiết của máy tính trong tình trạng

intention-sạch, sau đó tiếp tục theo dõi trạng thái hệ thống Những thay đổi quan trọng trong tập tin, cấu hình hệ thống hay HĐH đều được cảnh báo như một mối hiểm họa tiềm tàng Khi những thay đổi này được đánh giá nguy hiểm, hệ sẽ khôi phục máy về tình trạng ban đầu Mặc dù đơn giản nhưng tiếp cận này tỏ ra khá hiệu quả vì nó có thể bảo vệ máy tính khỏi các mối đe dọa chưa được biết đến, kể

cả virus máy tính

Trong thực tế, tiếp cận “quay về quá khứ” đã được nhiều hãng phần mềm

hệ thống sử dụng: Symantec có Norton Ghost và Norton Goback; VMware có System Image Snapshot; Faronics có Deep Freeze… Tuy nhiên tiếp cận này kém hiệu quả khi các điểm trạng thái được ghi nhận lúc hệ thống bị nhiễm virus lạ Mặt khác, hệ cũng cần bộ nhớ ngoài đủ lớn để lưu toàn bộ hình ảnh hệ thống qua từng thời điểm [6]

2.4 Tình hình nghiên cứu và ứng dụng ở nước ngoài

Databases That Learn: dự án của Symantec Research Labs ở Santa

Monica (California-USA) luyện học thói quen truy nhập vào các cơ sở dữ liệu để rút quy luật tấn công của hacker, bảo vệ hệ thống khỏi thâm nhập trộm [13]

MLX™ Proofpoint Zero-Hour Anti-virus: sản phẩm của ProofPoint

Inc., gồm nhiều gói thành phần như Proofpoint Protection Server®, Proofpoint Messaging Security Gateway™, bảo vệ hệ thống trong thời gian thực Bằng các kỹ thuật máy học, Proofpoint phân tích các email có tập tin đính kèm và phát cảnh báo khi có file nghi ngờ mã độc Công cụ này được cài đặt cho hệ F-Secure Messaging Security Gateway để lọc thư rác

DDI (Distributed Detection and Inference): dự án của Intel triển khai ở

đại học Berkeley (2005) suy luận trên hệ thống mạng nhằm phát hiện các cuộc tấn công lan tràn Nghiên cứu này đặt giả thuyết rằng nếu một nút mạng bị tấn công thì các nút khác trong hệ thống cũng có thể bị tấn công

Trang 36

tương tự Giải pháp của đề tài là cài đặt một thuật toán học cho mỗi nút mạng để phát hiện các cuộc truy nhập cục bộ Mỗi nút có liên lạc với các nút kế cận để suy luận và cảnh báo các tình huống hệ thống bị tấn công lan tràn

2.5 Các vấn đề mở của công nghệ anti-virus

Cũng trong bài viết “Virus máy tính: lý thuyết và thực nghiệm” (1987) đã

đề cập ở phần trên, Fred Cohen nêu ra “Các vấn đề chưa được giải quyết” gồm:

1 Phát hiện biểu hiện (appearance) của virus

2 Phát hiện hành vi (behavior) của virus

3 Phát hiện sự tiến triển (evolution) của một virus đã biết (known virus)

4 Phát hiện cơ chế kích hoạt (triggering mechanism) qua biểu hiện của virus

5 Phát hiện cơ chế kích hoạt qua hành vi của virus

6 Phát hiện sự tiến triển của một cơ chế kích hoạt đã biết

7 Phát hiện bộ nhận dạng virus qua biểu hiện của nó

8 Phát hiện bộ nhận dạng virus qua hành vi của nó

9 Phát hiện sự tiến triển của cơ chế tự kiểm tra (selftest) của virus đã biết Năm 1998, Steve R White (chuyên gia anti-virus của IBM) khái quát hóa tình hình và đưa ra năm vấn đề mở của anti-virus, đó là:

1 Nghiên cứu, xây dựng các lớp bài toán heuristic khác nhau

2 Khống chế tốc độ lây lan và sản sinh của virus máy tính

3 Nghiên cứu các giải pháp phù hợp cho đa số người dùng

4 Nghiên cứu phương pháp nhận dạng sâu trình (worm)

5 Cải tiến phương pháp nhận dạng, phát hiện nhanh và kịp thời trước khi virus lan tràn thành dịch trên mạng

Mặc dù các chuyên gia anti-virus có cách phân loại vấn đề mở khác nhau, nhìn chung công nghệ anti-virus ngày nay đang giải quyết ba vấn đề cơ bản:

1 Cải tiến phương pháp, nghiên cứu các kỹ thuật nhận dạng heuristic, tiến tới xây dựng các lớp bài toán heuristic khác nhau

2 Cải tiến hiệu quả, phát hiện nhanh chóng, chủ động phòng ngừa dịch bệnh

3 Trên quy mô rộng, nghiên cứu các giải pháp phù hợp cho đa số người dùng Phát hiện và dự báo các mã độc lan truyền trên hệ thống mạng

Trang 37

CHƯƠNG 3 NGHIÊN CỨU CÔNG NGHỆ

SỬ DỤNG TRONG TƯỜNG LỬA

Nội dung nghiên cứu bao gồm:

Phần thứ nhất là nghiên cứu Windows Filtering Platform (WFP), cách thức sử dụng các WFP APIs để tạo một chương trình tường lửa

Kế đến, đề tài là nghiên cứu và sử dụng socket để truyền thông tin giữa các

máy tính trong mạng nội bộ

Nghiên cứu một số kỹ thuật nhận dạng virus

3.1 WINDOWS FILTERING PLATFORM (WFP)

3.1.1 Giới thiệu Windows Filtering Platform

Windows Filtering Platform (WFP) là một tập API (giao diện lập trình ứng dụng) - một cấu trúc mới trong Windows Vista, Windows Server 2008 và Windows

7 cho phép các nhà cung cấp phần mềm độc lập để lọc và sửa đổi gói tin TCP/IP [10], giám sát hoặc ủy quyền cho các kết nối, lọc các lưu lượng được bảo vệ của Internet Protocol security (IPsec) và lọc các cuộc gọi thủ tục từ xa Lọc và sửa đổi các gói tin TCP/IP cung cấp khả năng truy cập đến quá trình xử lý gói tin TCP/IP Trong quá trình này, chúng ta có thể kiểm tra hoặc sửa đổi các gói tin gửi đi và gói tin vào trước khi tiếp tục quá trình gửi gói tin Bằng cách truy cập vào TCP/IP, thay đổi quá trình xử lý ở các lớp khác nhau, chúng ta có thể dễ dàng tạo ra phần mềm Firewall, phần mềm chống virus, phần mềm chuẩn đoán, và các loại ứng dụng, dịch

vụ khác

Windows Filtering Platform (WFP) cung cấp các API để chúng ta có thể tham gia vào việc quyết định việc lọc xảy ra tại lớp nào trong TCP/IP stack WFP cũng tích hợp và cung cấp hỗ trợ cho các tường lửa thế hệ kế tiếp các tính năng như giao tiếp xác thực và cấu hình tường lửa Khả năng này còn được gọi là chính sách dựa trên ứng dụng

Bằng cách cung cấp một nền tảng phát triển đơn giản, WFP được thiết kế để thay thế các công nghệ lọc gói tin trước đó như bộ lọc Transport Driver Interface (TDI), bộ lọc Network Driver Interface Specification (NDIS), và Winsock Layered Service Providers (LSP) Các trình điều khiển firewall hook và filter hook không có

Ngày đăng: 18/12/2013, 14:45

HÌNH ẢNH LIÊN QUAN

HÌNH 2.1: Mô hình tường lửa bảo vệ hệ thống mạng nội bộ - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 2.1 Mô hình tường lửa bảo vệ hệ thống mạng nội bộ (Trang 24)
HÌNH 3.1: Kiến trúc và khả năng mở rộng của WFP  Kiến trúc của WFP [16] bao gồm các thành phần sau: - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 3.1 Kiến trúc và khả năng mở rộng của WFP Kiến trúc của WFP [16] bao gồm các thành phần sau: (Trang 39)
HÌNH 3.2: Mô hình OSI rút gọn - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 3.2 Mô hình OSI rút gọn (Trang 47)
HÌNH 4.3: Mô hình chức năng chương trình Firewall Client - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.3 Mô hình chức năng chương trình Firewall Client (Trang 57)
HÌNH 4.13:  Chuyển chế độ người dùng - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.13 Chuyển chế độ người dùng (Trang 62)
HÌNH 4.14: Màn hình thông báo khi Client chạy một chương trình. - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.14 Màn hình thông báo khi Client chạy một chương trình (Trang 63)
HÌNH 4.16: Bảng thông báo khi chạy chương trình ở chế độ quản trị - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.16 Bảng thông báo khi chạy chương trình ở chế độ quản trị (Trang 63)
HÌNH 4.17: Màn hình sau khi thêm luật chương trình. - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.17 Màn hình sau khi thêm luật chương trình (Trang 64)
HÌNH 4.19: Quét virus theo thư mục - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.19 Quét virus theo thư mục (Trang 65)
HÌNH 4.21: Mô hình chức năng chương trình Firewall Server - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.21 Mô hình chức năng chương trình Firewall Server (Trang 66)
HÌNH 4.22: Giao diện chương trình Firewall Server - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.22 Giao diện chương trình Firewall Server (Trang 66)
HÌNH 4.24: Quản lý luật IP của Client từ Server - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.24 Quản lý luật IP của Client từ Server (Trang 67)
HÌNH 4.25: Quản lý luật chương trình của Client từ Server - Xây dựng hệ thống tường lửa mạng nội bộ luận văn thạc sĩ
HÌNH 4.25 Quản lý luật chương trình của Client từ Server (Trang 68)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w