CHƯƠNG 1. TỔNG QUAN VỀ PHÂN LOẠI GÓI TIN TRÊN TƯỜNG LỬA 1.1 Một số khái niệm về tường lửa 1.1 Lịch sử hình thành tường lửa An ninh máy tính mượn khái niệm tường lửa từ việc xử lý và ngăn chặn lửa, tại đó một tường lửa là một vật chắn được thiết lập để ngăn chặn quá trình mở rộng của đám cháy. Khi các tổ chức bắt đầu chuyển từ việc sử dụng các máy tính lớn (mainframe) và các trạm khai thác đầu cuối sang mô hình khách-chủ (client-server), thì việc kiểm soát truy cập tới máy chủ (server) là vấn đề được ưu tiên. Trước khi khái niệm tường lửa xuất hiện vào cuối những năm 1980, chức năng an ninh mạng chỉ được thực hiện bởi các Danh sách điều khiển truy nhập (ACL) được triển khai trên các thiết bị định tuyến.
Các ACL xác định địa chỉ IP nào được phép hay không được phép truy nhập vào mạng. Với sự phát triển của mạng internet và việc gia tăng về khả năng kết nối liên mạng thì các ACL không đủ khả năng kiểm soát các kết nối độc hại nhờ các thông tin cơ bản trích xuất trong header của gói tin. Từ thách thức đó, Digital Equipment Corp đã đưa ra sản phẩm tường lửa thương mại đầu tiên (DEC SEAL vào năm 1992) và công nghệ tường lửa đã phát triển để chống lại các cuộc tấn công mạng với sự phức tạp ngày càng tăng.2 Định nghĩa về tường lửa Không có một định nghĩa chính thức về tường lửa nhưng nhìn chung các tài liệu đều khẳng định: Tường lửa là một hệ thống an ninh mạng, dựa trên nền tảng phần mềm, phần cứng hoặc kết hợp cả hai, mà trên đó sử dụng các luật để kiểm soát lưu lượng mạng theo chiều đi vào và đi ra của một mạng cụ thể [59], [81]. Tường lửa hoạt động như một rào cản giữa một mạng tin cậy và một mạng không tin cậy.
Thiết bị này kiểm soát truy cập vào các tài nguyên của một mạng thông qua một mô hình kiểm soát tích cực. Quá trình kiểm soát được thực hiện thông qua chính sách an ninh mà trong đó chỉ rõ những truy cập nào được phép và không được phép đi qua.3 Chức năng của tường lửa Tùy theo yêu cầu sử dụng, tường lửa được triển khai sẽ nhằm thực hiện một hay nhiều chức năng sau: Cấp phép cho các dịch vụ truy nhập ra ngoài (từ mạng được bảo vệ). Cấp phép cho các dịch vụ truy nhập vào trong mạng bảo vệ. Theo dõi luồng dữ liệu mạng giữa mạng bảo vệ và mạng bên ngoài.
Cấp phép cho các địa chỉ được phép truy cập vào bên trong mạng và ra bên ngoài mạng. Kiểm soát người sử dụng và việc truy nhập của người sử dụng. Kiểm soát nội dung thông tin lưu chuyển trên mạng. Ngoài các chức năng chính như trên, tường lửa hiện nay có thể được tích hợp thêm các chức năng khác như cảnh báo phát hiện xâm nhập, mã hóa dữ liệu đường truyền, phòng chống virut… Tuy nhiên, các tính năng này không phải là tính năng cơ bản của tường lửa.4 Các kiểu tường lửa Tường lửa được phân loại theo nhiều tiêu chí khác nhau như: Dựa trên nền tảng phần cứng, phần mềm; Dựa trên kỹ thuật sử dung trong kiểm soát truy cập; Dựa trên đối tượng sử dụng (cá nhân hay mạng); Dựa trên loại mã nguồn tường lửa (mã nguồn mở, thương mại)… Tuy nhiên, phân loại căn cứ vào cách thức kiểm soát truy nhập là cách phổ biến nhất, theo đó thì tường lửa gồm các loại: Lọc gói (Packet firewall); Lọc gói với đầy đủ trạng thái (Stateful firewalls); Mức ứng dụng; Ủy quyền (Proxy firewall).1 Tường lửa lọc gói Đây là loại tường lửa thể hệ thứ nhất chỉ với chức năng như một bộ lọc gói tin, nó chỉ kiểm tra các gói tin trao đổi giữa các máy tính trong một mạng.
Khi một gói tin đi qua tường lửa lọc gói, địa chỉ IP nguồn, IP đích, giao thức, cổng nguồn và cổng đích được kiểm tra theo các luật định sẵn. Các gói tin không được phép đi vào mạng sẽ bị loại (drop), ngược lại chúng sẽ được chuyển tiếp (forward). luan an 7 Tường lửa lọc gói chủ yếu làm việc trên 3 lớp đầu tiên của mô hình tham chiếu OSI (vật lý, liên kết dữ liệu và tầng mạng). Loại này có ưu điểm là nhanh và hiệu quả, tuy nhiên các tường lửa lọc gói không có khả năng phân biệt một gói tin thuộc một luồng dữ liệu nào vì chúng coi các gói tin là độc lập.
Chính điều này cũng làm chúng dễ bị tấn công kiểu giả mạo cũng như hạn chế trong việc đưa ra các quyết định phức tạp dựa trên trạng thái kết nối giữa các thực thể trên mạng.2 Tường lửa lọc gói với đầy đủ trạng thái Để khắc phục các điểm yếu của tường lửa lọc gói, thế hệ tường lửa thứ hai được phát triển – Tường lửa lọc gói với đầy đủ trạng thái được xây dựng. Các thiết bị này có khả năng nhận biết trạng thái kết nối của một gói tin. Với khả năng đó, nó biết được hoặc gói tin là bắt đầu của một kết nối, một phần của kết nối đã có hay không thuộc kết nối nào cả. Chức năng này được gọi là “Kiểm tra đầy đủ thông tin của gói” (stateful packet inspection) và được giới thiệu vào năm 1994 bởi Check Point Software [56].
Kỹ thuật này trở nên phổ biến và là một tính năng cơ bản của tường lửa từ cuối những năm 1990. Các thông tin bổ sung này có thể được sử dụng để cho phép hay loại bỏ một gói tin dựa vào lịch sử của nó trong bảng trạng thái một cách nhanh chóng. Một gói tin nếu thuộc một kết nối đã được lưu trong bảng trạng thái sẽ được phép đi qua mà không phải thực hiện các kiểm tra khác. Nếu một gói tin không thuộc các kết nối đã được đánh dấu thì nó sẽ được xem xét như một kết nối mới sau khi đã được kiểm tra bằng các luật ban đầu.3 Các tường lửa lớp ứng dụng Đây là tường lửa giai đoạn thứ ba.
Khi các cuộc tấn công vào các máy chủ nói chung và máy chủ Web nói riêng trở nên phổ biến hơn, thì nhiệm vụ của tường lửa là có thể bảo vệ các máy chủ và các ứng dụng đang chạy trên chúng, mà không chỉ là các tài nguyên mạng. Công nghệ tường lửa lớp ứng dụng lần đầu tiên xuất hiện vào năm 1999 [46], cho phép tường lửa kiểm tra và lọc các gói tin trên bất kỳ lớp OSI nào đến lớp ứng dụng. Một đặc điểm mạnh của các tường lửa lớp ứng dụng là khả năng chặn các nội dung cụ thể, chẳng hạn như phần mềm độc hại hoặc trang web nhất định, và nhận luan an 8 dạng khi các ứng dụng và giao thức nhất định - chẳng hạn như HTTP, FTP và DNS - đang bị tấn công.4 Các tường lửa ủy quyền Một máy chủ ủy quyền [53] có thể hoạt động như một tường lửa lớp ứng dụng, đóng vai trò là lớp trung gian giữa các yêu cầu từ mạng này sang một mạng khác cho một ứng dụng cụ thể. Một tường lửa ủy quyền ngăn chặn các kết nối trực tiếp giữa hai bên tường lửa; Cả hai bên đều bị buộc phải tiến hành phiên kết nối thông qua nó, do đó có thể chặn hoặc cho phép truy cập dựa trên bộ qui tắc của nó.
Một dịch vụ ủy quyền phải được chạy cho mỗi loại ứng dụng mạng mà tường lửa sẽ hỗ trợ, chẳng hạn như một proxy HTTP cho các dịch vụ Web. Ngoài các loại tường lửa phổ biến nói trên, trong thời gian gần đây xuất hiện các loại tường lửa đó là: Unified threat management (UTM) [68]: Đây là sự phát triển của tường lửa truyền thống thành một sản phẩm bảo mật có khả năng thực hiện nhiều chức năng trong một thiết bị duy nhất: tường lửa mạng, phát hiện xâm nhập mạng (IDS / IPS), cổng chống virut (gateway antivirut) , mạng riêng ảo - VPN, lọc nội dung, cân bằng tải, chống mất mát dữ liệu… Tường lửa thế hệ tiếp theo (Next-generation firewall - NGFW) [22], [68]: là một phần của công nghệ tường lửa thế hệ thứ ba, kết hợp tường lửa truyền thống với các chức năng lọc các thiết bị mạng khác như tường lửa ứng dụng sử dụng kiểm tra nội dung gói tin, hệ thống phòng chống xâm nhập (IPS ). Các kỹ thuật khác cũng có thể được sử dụng, như kiểm tra truy cập được mã hóa TLS / SSL, lọc trang web, quản lý chất lượng dịch vụ - QoS / băng thông, chống virut ….2 Hiệu năng và mối quan hệ với quá trình phân loại gói tin của tường lửa 1.1 Mối quan hệ giữa hiệu năng và tốc độ phân loại gói tin Hiệu năng của một tường lửa được đánh giá theo các tiêu chí thuộc “RFC- 3511: Methodology for Firewall Performance”, bao gồm: Thông lượng IP. Khả năng kết nối TCP đồng thời.
luan an 9 Tỷ lệ thiết lập kết nối TCP tối đa. Tỷ lệ rớt kết nối TCP tối đa. Khả năng xử lý tấn công từ chối dịch vụ. Tốc độ trao đổi HTTP.
Tốc độ trao đổi HTTP tối đa. Xử lý giao dịch bất hợp pháp. Xử lý phân mảnh gói tin. Tiêu chí đầu tiên được sử dụng để đánh giá là thông lượng IP (IP Throutput), được định nghĩa là số gói tin lớn nhất đi qua tường lửa trong một giây mà không có hiện tượng mất gói.
Trong thực tế, thông lượng của một thiết bị mạng nói chung và tường lửa nói riêng có thể còn được tính theo đơn vị khác là số bít được trao đổi qua thiết bị trong một giây. Trong trường hợp đó, thông lượng phụ thuộc trực tiếp vào kích thước gói tin và số lượng gói tin đi qua thiết bị trong một giây.1 thể hiện yêu cầu về tốc độ phân loại gói tin cần đáp ứng để tường lửa đạt được thông lượng tính bằng bít trên giây tương ứng với trường hợp kích thước của gói tin là nhỏ nhất 40 byte (gói nhỏ nhất của giao thức TCP). Như vậy, với bất cứ cách tính như thế nào thì thông lượng IP của tường lửa đều gắn với tốc độ phân loại gói tin trên thiết bị đó. Điều này cũng đồng nghĩa tốc độ phân loại gói tin có thể được coi là một tiêu chí để đánh giá hiệu năng của tường lửa và các nghiên cứu nhằm nâng cao tốc độ phân loại gói tin trên tường lửa cũng tương đương với mục đích nâng cao hiệu năng của thiết bị này.
Thông lượng tính theo bps và tốc độ phân loại gói tin cần đạt Thông lượng Số gói tin cần được phân loại mỗi giây 1 Mbps 3.