Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Luyện thi - Đề thi Công chức - Viên chức Bài 4 tl ôn thi viên chức y tế chuyên ngành công nghệ thông tin tổng quan về bảo...

Tài liệu Bài 4 tl ôn thi viên chức y tế chuyên ngành công nghệ thông tin tổng quan về bảo mật mạng máy tính

.DOCX
16
221
63

Mô tả:

CHƯƠNG I: TỔNG QUAN VỀ BẢO MẬT MẠNG MÁY TÍNH VÀ CÁC KỸ THUẬT TẤN CÔNG MẠNG I.1. Vấn đề đặt ra với yêu cầu bảo mật thông tin trên mạng máy tính Chúng ta xem xét vấn đề này thông qua một vài ví dụ thực tế (có thể xảy ra khi truyền tải/trao đổi thông tin trên mạng) sau đây: a. Người sử dụng A chuyển một tập tin đến người sử dụng B, tập tin này chứa những thông tin cần được bảo vệ. Trong môi trường mạng (không an toàn), người sử dụng C – người không được phép đọc tập tin này, có thể theo dõi sự di chuyển của tập tin. Người sử dụng C cũng có thể bắt giữ (capture/copy) tập tin trong quá trình di chuyển của nó. b. Người quản lý mạng tên D, chuyển một thông điệp đến máy tính thành viên của mạng, máy tính E. Thông điệp này yêu cầu máy tính E cập nhật tập tin “cấp phép” – có thể bao gồm các định danh của người sử dụng được phép truy cập máy tính đó. Trong môi trường mạng (không an toàn), người sử dụng F có thể chặn thông điệp này, sửa đổi nó (theo ý đồ riêng) và rồi chuyển tiếp đến máy tính E. Máy E thừa nhận thông điệp từ người quản lý D và cập nhật vào tập tin “cấp phép” của nó. Điều đáng nói ở đây là máy E không hề biết thông điệp được gửi đến từ F và nó đã bị thay đổi. c. Trong môi trường mạng (không an toàn) của một một Công ty, khi nhân viên Malconten bị sa thải, người quản lý nhân sự sẽ gửi một thông điệp đến máy Server của hệ thống để yêu cầu làm mất hiệu lực của account user của anh ta. Trong trường hợp này, Malconten có thể chặn thông điệp lại và làm trễ nó trong một khoảng thời gian đủ để anh ta thực hiện một truy cập lần cuối cùng đến máy server và nhận một số thông tin “nhạy cảm” nào đó. Rõ ràng thông điệp cũng được chuyển đến máy Server, nhưng nó đã “quá trễ”. d. Trong môi trường thương mại điện tử (không tin cậy), một thông điệp được gửi từ một khách hàng mua vàng đến trung tâm mua bán vàng The Sun, với nội dung: thoả thuận mua một lượng vàng 9999 với giá 10 triệu đồng. Nhưng trong khi việc giao nhận vàng chưa diễn ra thì giá một lượng vàng trên thị trường giảm xuống còn 9 triệu đồng. Có thể xảy ra tình huống: Người khách mua vàng nói rằng anh ta chưa bao giờ gửi thông điệp thoả thuận mua vàng trước đó. Điều gì sẽ xảy ra? Làm thế nào để buộc khách hàng đó phải thừa nhận rằng anh ta đã từng đồng ý mua vàng với giá 10 triệu đồng một lượng? Từ các ví dụ trên, hãy liên hệ đến các mối đe dọa tìm ẩn trong việc truyền thông tin (message/packet) trong môi trường mạng không an toàn/không tin cậy. Để từ đó có thể đưa ra các giải pháp để phát hiện và ngăn chặn chúng. Đó là nhiệm vụ của công tác An toàn mạng/Bảo mật mạng. Nên nhớ rằng, an toàn mạng là quá trình chứ không phải một công cụ, các công cụ liên quan chỉ có tác dụng hỗ trợ cho quá trình bảo mật đạt hiệu quả hơn. I.2. Vấn đề bảo mật trên các mạng TCP/IP Vấn đề bảo vệ mạng, chính xác hơn là bảo vệ thông tin được lưu trữ và di chuyển trên mạng, để chống lại những người xâm phạm và kẻ phá hoại (gọi chung là hacker), kể cả trong và ngoài hệ thống mạng, được những người quản trị mạng đặt lên hàng đầu trong công tác quản trị mạng. Hacker không chỉ tấn công vào các mạng TCP/IP, nhưng mối đe doạ tiềm ẩn đối với các mạng này là rất lớn, vì TCP/IP là một giao thức mở nên các hacker có thể tìm thấy những lỗ hổng của nó một cách dễ dàng bằng cách thử nhiều kiểu tấn công khác nhau. I.2.1. Mục tiêu của hacker Mục tiêu mà các hacker nhắm đến trước khi thực hiện tấn công các mạng TCP/IP thường là:  Phải đạt được “Sự mạo danh (Impersonation)”: Để có thể thực hiện sự truy cập không được phép (unauthorized) đến tài nguyên mạng (dữ liệu).  Phải làm cho mục tiêu bị tấn công rơi vào tình trạng “từ chối dịch vụ (gọi là tân công DoS: Denial-of-Service)”: Để làm cho tài nguyên của mạng (các máy chủ dịch vụ: Web server, …) trở nên không có tác dụng.  Phải thực hiện được việc “Phát lại thông điệp (Replay of messages)”: Để có thể truy cập/nhận thông tin và thay đổi nó, khi thông tin đang di chuyển trên đường.  Phải đoán được mật khẩu (Guessing of password): Để từ đó có thể truy cập đến thông tin/dịch vụ mà đúng ra nó bị từ chối (gọi là tấn công tự điển: dictionary attack).  Phải đoán được khóa (Guessing of key): Để có thể truy cập đến mật khẩu và dữ liệu đã được mã hoá (gọi là tấn công “thô bạo”: brute-force attack). I.2.2. Chính sách an toàn cho các mạng TCP/IP Người quản trị an toàn của hệ thống mạng, nhất là các mạng TCP/IP, phải thực hiện kết hợp các chính sách bảo mật sau đây để bảo vệ mạng và dữ liệu truyền đi trên mạng của họ, sự bảo vệ mạng không chỉ giới hạn trong một LAN/WAN mà có thể trên cả Intranet và Internet:  Thực hiện mã hoá (encryption) thông tin trước khi tuyền/gửi đi trên mạng: Để bảo vệ dữ liệu và mật khẩu.  Thực hiện cơ chế xác thực (authentication) – có thể sử dụng chữ ký điện tử (digital signature) và/hoặc thẻ chứng thực (certificates): Để kiểm tra ai là người gửi (nguồn gốc) dữ liệu trên mạng.  Thực hiện cơ chế cho phép/cấp phép (authorization): Để ngăn chặn các truy cập không thích hợp/không hợp lệ (improper).  Kiểm tra tính toàn vẹn (integrity) dữ liệu và Mã xác thực thông điệp (message authentication code ): Để bảo vệ chống lại (against) những sự thay đổi/sử đổi (alteration) thông điệp.  Thực hiện quy trình công nhận (Non-repudiation): Để đảm bảo rằng một hành động là không thể bị phủ nhận/từ chối bởi người thực hiện nó.  Thực hiện chính sách mật khẩu một lần (One-time password) và Số bắt tay ngẫu nhiên hai chiều (Two-way random number handshakes: mutually conversation): Để cho phép các cặp tuyền thông có thể xác thực lẫn nhau.  Thực hiện chính sách cập nhật/làm tươi khoá thường xuyên (Frequent key refresh); Sử dụng các khoá “mạnh” (strong key); Ngăn ngừa hiện tượng “giả” khoá trong tương lai; … : Để bảo vệ mạng chống lại các tấn công theo cách “bẻ” khóa: Tấn công “tự điển”, Tấn công “thô bạo”.  Thực hiện chính sách che giấu/che đậy địa chỉ (Address concealment) – sử dụng kỹ thuật NAT/PAT: Để bảo vệ mạng chống lại các tấn công theo kiểu từ chối dịch vụ (DoS). Vì giao thức TCP/IP không được thiết kế gắn liền với bảo mật, nên nhiều hệ thống bảo mật khác nhau được phát triển cho các ứng dụng và lưu lượng chạy trên Intranet/Internet. Các phần mềm này có nhiệm vụ chuẩn bị dữ liệu cho việc truyền trên một mạng, trong đó có chú ý đến các khả năng có thể áp dụng xác thực và mã hoá. Trong mạng TCP/IP, các ứng dụng nói trên có thể được xây dựng ở 1 trong 3 lớp: Ứng dụng; Giao vận/Mạng; Vật lý/Liên kết dữ liệu. I.2.3. Đối phó với các ý đồ (kiểu) tấn công của Hacker · Để ngăn chặn việc đọc lén các thông điệp (message) truyền đi trên mạng: Thông điệp phải được mã hóa trước khi truyền đi và sẽ được giải mã ở bên nhận. Trong trường hợp này bên gửi và bên nhận phải chia sẻ một khóa bí mật để phục vụ cho việc mã hóa/giải mã thông điệp. Với giải pháp này, khóa cũng phải được truyền đi/phân phối trên mạng, nên vấn đề đặt ra tiếp theo là làm thế nào để phânphối khóa một cách an toàn, ở đây có thể sử dụng các kỹ thuật mã hoá khác nhau, mã hóa khoá bí mật và/hoặc mã hóa khoá công cộng. · Không thể sử dụng một khóa trong khoảng thời gian dài và để ngăn chăn việc đoán khóa (có thể đoán khoá trong tương lai nếu biết được khóa hiện tại) của hacker. Để đối phó, phải “làm tươi khoá” thường xuyên và không nên sử dụng chính sách “dựa vào các khoá cũ để tính ra khóa mới”, điều này đảm bảo khóa được truyền đi/phân phối một cách an toàn (bí mật). · Để để ngăn chặn việc “phát lại” thông điệp bởi một kẻ mạo danh (replay attack): Sử dụng chỉ số tuần tự trong các gói tin IP (thông số timestamp thường là không đảm bảo độ tin cậy cho mục tiêu an toàn này). · Để đảm bảo rằng thông điệp không bị thay đổi/sửa đổi (alltered) trong khi truyền từ người gửi đến người nhận: Sử dụng các thông điệp rút gọn (message digest), có thể sử dụng các hàm băm (hash) hoặc các hàm on-way. · Để đảm bảo rằng một “thông điệp rút gọn” là không bị thỏa hiệp hoặc không bị thay đổi trên đường truyền: Sử dụng chữ ký điện tử bằng cách mã hoá thông điệp rút gọn với một khoá bí mật hoặc khoá riêng (đó là chính sách xác thực (authentication), cơ chế không công nhận (non-repudiation)). · Làm thế nào để đảm bảo rằng một message hoặc một chữ ký số là được xuất phát/bắt nguồn (originated) từ một đối tác tin cậy/đối tác mong muốn (desried): Sử dụng cơ chế bắt tay two-way bao gồm các số ngẫu nhiên được mã hoá (còn gọi là xác thực lẫn nhau (mutual authentication)). · Làm thế nào để đảm bảo rằng một “cái bắt tay” là đã được trao đổi với một đối tác tin cậy (từ các tấn công theo kiểu main-in-the-middle): Sử dụng các thẻ chứng thực số (một sự kết hợp giữa khoá công cộng với các thông tin nhận dạng của đối tác). · Làm thế nào để ngăn chặn việc sử dụng không hợp lệ các dịch vụ bởi những người sử dụng không được xác thực một cách thích hợp: Sử dụng mô hình điều khiển truy cập nhiều tầng. · Để bảo vệ chống lại các mã phá hại (malicious code) hoặc các thông điệp không mong muốn (từ tấn công DoS): Giới hạn việc truy cập vào mạng bên trong, bằng các sử dụng: Filter, Firewall, Proxy, Packet Authentication, Conceal internal address anh name structure (che giấu địa chỉ và cấu trúc tên của mạng bên trong),… I.2.4. Các dịch vụ bảo mật (Security Services) · Authentication Service (dịch vụ xác thực): Dịch vụ này đảm bảo một sự truyền thông tin cậy. Nếu chỉ quan tâm đến truyền thông điệp, thì nhiệm vụ của xác thực chỉ đơn giản là đảm bảo với bên nhận rằng thông điệp mà nó nhận được là đến từ một nguồn được xác nhận. Nếu quan tâm đến cả quá trình tương tác của hai đối tác truyền thông, ví dụ sự kết nối giữ Terminal và Host, thì phải quan tâm đến hai khía cạnh. Thứ nhất, tại thời điểm khởi tạo kết nối, dịch vụ đảm bảo rằng hai đối tác truyền thông này là đáng tin cậy. Thứ hai, dịch vụ đảm bảo rằng kết nối là không bị can thiệp bởi thành phần thứ ba – hacker có thể giả mạo một trong hai đối tác hợp pháp, cho mục đích trao đổi hoặc tiếp nhận thông điệp “không được phép”. Do đó, thực tế yêu cầu hai loại dịch vụ xác thực: Peer entity authentication và Data origin authentication: Peer entity authentication: Cung cấp một sự chứng thực về định danh của các thực thể ngang hàng trong một liên kết. Nó được cung cấp để sử dụng tại thời điểm thiết lập kết nối hoặc trong suốt quá trình trao đổi dữ liệu của kết nối. Nó cố gắng cung cấp một sự tin cậy mà một trong hai đối tác truyền thông không thể thực hiện sự giả mạo hoặc một sự replay không được phép của kết nối trước đó. Data origin authentication. Cung cấp sự chứng thực về nguồn gốc của đơn vị dữ liệu, nó không cung cấp sự bảo vệ để chống lại các loại tấn công theo kiểu nhân bản (duplication) hoặc làm thay đổi (modification) đơn vị dữ liệu. Loại này thường dùng để hỗ trợ xác thực cho các ứng dụng e-mail. · Access ControlService (dịch vụ điều khiển truy cập): Trong lĩnh vực an toàn mạng, điều khiển truy cập là khả năng giới hạn và điều khiển truy cập đến các host và các ứng dụng qua liên kết truyền thông. Nhiệm vụ của dịch vụ điều khiển truy cập là: mỗi thực thể truyền thông khi cố gắng truy cập vào hệ thống thì trước hết nó phải được nhận dạng hoặc được xác thực, sau đó mới có thể nhận được quyền truy cập phù hợp với riêng nó. Cụ thể là: Ai được phép truy cập tài nguyên; Điều kiện để truy cập tài nguyên là gì; Được phép truy cập tài nguyên ở mức độ nào (thực hiện những thao tác nào trên tài nguyên); vv. Một cách tổng quát, dịch vụ này thực hiện nhiệm vụ ngăn chặn việc sử dụng “không được cấp phép” đến tài nguyên. · Data Confidentiality Service(dịch vụ tin cậy dữ liệu): Dịch vụ này cung cấp sự bảo vệ cho các dữ liệu được truyền đi, trước các tấn công loại passive (thụ động). Nếu chú ý đến nội dung của dữ liệu truyền tải, thì có thể thiết lập nhiều cấp khác nhau của sự bảo vệ, để có thể được nhận dạng chúng. Tức là, có thể định nghĩa để dịch vụ này bảo vệ một thông điệp đơn hoặc các trường (field) cụ thể của một thông điệp. Một khía cạnh khác của sự tin cậy là sự bảo vệ dòng traffic trước các tấn công theo kiểu phân tích thông điệp. Nó làm cho kẻ tấn công không thể nhận được địa chỉ nguồn, địa chỉ đích, tầng số xuất hiện, độ dài hoặc các đặc tính khác của traffic khi nó được di chuyển trên các hệ thống, các phương tiện truyền thông. · Data Integrity Service(dịch vụ toàn vẹn dữ liệu): Cũng như sự tin cậy, sự toàn vẹn có thể áp dụng với một dòng thông điệp, một thông điệp đơn hoặc các trường được chỉ ra trong phạm vi một thông điệp. Dịch vụ này đảm bảo thông điệp mà bên nhận nhận được là hoàn toàn trung thực với thông điệp được gửi đi từ bên gửi, tức là thông điệp không bị nhân bản, không bị thay đổi, không bị sắp xếp lại, không bị phát lại khi nó di chuyển trên đường truyền. Sự phá hoại dữ liệu cũng bị che chắn (covered) bởi dịch vụ này. Vì thế dịch vụ này hỗ trợ bảo vệ mạng trước hai kiểu tấn công chủ động (active) phổ biến là thay đổi dòng thông điệp và DoS. Khi một sự vi phạm về tính toàn vẹn của dữ liệu được phát hiện thì dịch vụ này sẽ lập báo cáo về sự vi phạm đó, chuyển báo cáo này đến hệ thống để yêu cầu khôi phục lại dữ liệu. · Non-repudiation Service (dịch vụ “sự công nhận”): Sự công nhận ngăn chặn hiện tượng người gửi hoặc người nhận từ chối một thông điệp đã được (họ) chuyển đi. Vì thế khi một thông điệp được gửi, người nhận phải chứng tỏ - viện ra chứng cứ – được rằng thông điệp là được nhận từ người gửi. Tương tự, khi một thông điệp được nhận, người gửi phải chứng tỏ - viện ra chứng cứ – được rằng thông điệp là đã được gửi đến người nhận. · Availability Service (Dịch vụ “sẵn dùng”): Dịch vụ này có nhiệm vụ làm cho tài nguyên của hệ thống trở thành có thể truy cập và có thể được dùng bởi các thực thể được phép (authorized), trong một giới hạn nào đó. Tức là, một hệ thống được gọi là sẵn dùng nếu nó cung cấp các dịch vụ – theo thiết kế hệ thống – bất cứ khi nào người sử dụng yêu cầu chúng. Sự đa dạng của các loại tấn công hiện nay có thể làm cho các hệ thống sẵn dùng trở nên kém tác dụng hoặc mất ý nghĩa. Quan hệ giữa: Tấn công mạng và Dịch vụ bảo mật: ATTACKS (Tấn công) SERVICES (dịch vụ) Read of message content Traffic analysis Masquerade Peer entity Authentication Y Data origin Authentication Y Access Control Y Confidentiality Traffic flow Confidentiality Y Y Replay Modification DoS Data integrity Y Y Nonrepudiation I.2.5. Cài đặt các giải pháp bảo mật cho các mạng TCP/IP Các hệ thống và các giao thức sau đây được sử dụng phổ biến để cung cấp nhiều cấp độ khác nhau của các dịch vụ bảo mật trên mạng máy tính (TCP/IP): IP Filtering; Network Address Translation (NAT); IP Security Architecture (IPSec); SOCKS; Secure Shell (SSH); Secure Sockets Layer (SSL); Application proxies; Firewalls; Kerberos; các hệ thống xác thực từ xa (AAA server);… Hình vẽ sau cho thấy các dịch vụ/giải pháp bảo mật ở trên được cài đặt tại các tầng tương ứng nào trên mô hình mạng TCP/IP. Trong đó: · IP Filtering (Lọc IP) · NAT: Network Address Translation (Chuyển đổi địa chỉ mạng) · IPSec: IP Security Architecture (Kiến trúc IP an toàn) · Application proxies (Các Proxy ứng dụng) · Firewalls (Các Bức tường lửa) · Tunnel protocols (Các giao thức đường hầm: L2TP) · CHAP; PAP; MS-CHAP (Các giao thức xác thực) · S-MIME: Secure Multipurpose Internet Mail Extension: Là một cấu trúc bảo mật cấp ứng dụng (Application-level), nó chỉ dùng để bảo vệ e-mail, thông qua mã hoá và chữ ký điện tử. Nó dựa trên kỹ thuật mã hóa khóa công cộng và sử dụng thẻ chứng thực X.509 để xác minh định danh của các đối tác truyền thông. S-MIME có thể được cài đặt trên các hệ thống đầu cuối, nó không được sử dụng bởi các Router và Firewall. · SOCKS: Là một chuẩn cho các gateway circuit-level. Nó không cần proxy nhưng người sử dụng có thể thực hiện kết nối đến Firewall trước, sau đó yêu cầu một kết nối thứ hai đến server đích. Người sử dụng khởi tạo một ứng dụng client với địa chỉ IP của server đích. Thay vì khởi tạo một session trực tiếp với server đích, client khởi tạo một session đến SOCKS server trên Firewall. Sau đó SOCKS sẽ xác nhận tính hợp lệ của địa chỉ nguồn và user ID, nếu hợp lệ sẽ cho phép user thiết lập kết nối hướng đến mạng không an toàn (non-secure)/bên ngoài, và rồi tạo một session thứ hai. · SSH: Secure Shell: Có thể được sử dụng để kết nối an toàn giữa các hệ thống. Nó cho phép mã hoá và nén các traffic được sinh ra bởi TELNET, FTP, POP3,… SSH thường sử dụng nén trên các liên kết modem tốc độ chậm. SSH cũng cho phép người sử dụng chọn lựa phương pháp mã hoá khi cài đặt nó. Các phần mềm client thường hỗ trợ cả 2 SSH là SSH1 (DES, 3DES, RC4), SSH2 (3DES, RC4). Người sử dụng và các hệ thống ở xa được xác thực bởi password hoặc khoá public/private. SSH thiết lập một kết nối đơn từ client đến server, tất cả traffic gửi qua kết nối này đều được mã hoá, và có thể được nén. · SSL: Secure Sockets Layer: Là một giao thức an toàn được phát triển bởi tập đoàn Netscap Communications và RSA Data Security. Mục tiêu chính của giao thức SSL là cung cấp một kênh riêng giữa các ứng dụng truyền thông cần có sự xác thực các đối tác truyền thông và đảm bảo tính toàn vẹn và riêng tư của dữ liệu. SSL cung cấp một sự thay thế cho các socket API chuẩn TCP/IP, trong đó có cài đặt các tính năng an toàn. Do đó, về lý thuyết nó có thể chạy bất kỳ ứng dụng TCP/IP nào trong một môi trường an toàn mà không cần thay đổi ứng dụng. SSL thường được cài đặt để hỗ trợ các traffic như HTTP, NNTP, Telnet, … · Kerberos: Dịch vụ xác thực mạng Kerberos v5 được đề nghị như là một giao thức chuẩn và được mô tả trong RFC 1510. Dịch vụ Kerberos thường chạy trên các hệ thống riêng của nó, trong một phạm vi an toàn. Người sử dụng cần sự xác nhận tính hợp lệ của chính họ bởi Kerberos trước khi họ được phép kết nối đến các server khác trên mạng. Các nhận dạng của server cũng được kiểm tra ngược lại bởi Kerberos. Hệ thống cho phép và xác thực Kerberos là một hệ thống an toàn dựa trên mã hoá, nó cung cấp sự xác thực lẫn nhau giữa các user và server trên môi trường mạng. Nhiệm vụ mà các hệ thống này đảm trách là:  Authentication(xác thực): Để ngăn chặn các yêu cầu/hồi đáp (request/responses) không trung thực (fraudulent)/giả mạo giữa các user và server cần có độ tin cậy cao.  Authorization(cấp phép): Có thể được cài đặt bổ sung dựa vào xác thực, cho các dịch vụ mà nó muốn cung cấp một hệ thống cấp phép riêng của nó. Hệ thống cấp phép có thể đảm trách việc xác thực tin cậy cho các user/client.  Permits(cho phép): là sự bổ sung cho các hệ thống tính toán, nó kết hợp cả an toàn và tin cậy. Hệ thống Kerberos được sử dụng cho mục đích xác thực là chính, nhưng nó cũng cung cấp một sự mềm dẻo để thực hiện sự cấp phép. Trong các hệ thống Kerberos, một client khi muốn kết nối với server dịch vụ của nó, thì trước hết nó phải hỏi một “ticket” từ một thành phần thứ 3 - được tin cậy lẫn nhau, đó là KAS (Kerberos Authentication Server). Ticket này có thể là một khoá riêng mà chỉ được hiểu bởi dịch vụ và KAS, vì thế mà dịch vụ có thể tin chắc rằng thông tin trong Ticket là được sinh ra bởi Kerberos. Client biết KAS như là người ủy nhiệm (danh nghĩa). Khóa riêng là được xác thực và khóa chỉ được biết đến bởi user và KAS. Khi có được Ticket hợp lệ thì client mới có thể truy cập vào server dịch vụ của nó. · Các giao thức xác thực truy cập từ xa (thường gọi là bộ ba chữ A - AAA: Authentication: Xác thực – Authorization: Cấp phép – Accounting: Kiểm toán): Mô hình an toàn 3 chữ A này được phát triển để giải quyết vấn đề an toàn truy cập từ xa. Authentication, Authorization, Accounting trả lời lần lượt 3 câu hỏi: who, người sử dụng đó là ai; what, người sử dụng đó được phép làm gì; when, ghi lại thời gian và các thông tin liên quan khác khi người sử dụng thực hiện việc gì đó, và/hoặc khi họ đã hoàn thành (sau khi đã qua xác thực và cấp phép). Hai dịch vụ/hệ thống xác thực từ xa được sử dụng hiện nay là RADIUS (Remote Access Dial In User Service) và TACACS (Terminal Access Controller Access Control System). I.3. Các kỹ thuật tấn công mạng TCP/IP I.3.1. Phân loại tấn công: Alice truyền thông điệp sang cho Bob. Darth là kẻ tấn công. Ø Tấn công thụ động (passive attack): Loại tấn công này cố gắng nhận thông tin khi thông tin đang được truyền từ người gửi sang người nhận. Nó không làm ảnh hưởng đến tài nguyên của hệ thống. · Read of message contents (đọc nội dung của thông điệp): Darth đọc nội dung thông điệp mà Alice gửi cho Bob. Traffic analysis (phân tích lưu lượng): Darth quan sát các mẫu thông điệp từ Alice gửi sang cho Bob. Loại tấn công thụ động này khó phát hiện vì người gửi và người nhận không hề biết rằng có một thành phần thứ 3 đang quan sát traffic của họ, và nó không làm thay đổi nội dung của message. Vì thế nên tìm cách ngăn chặn (mã hoá trước khi truyền) hơn là phát hiện chúng. Ø Tấn công chủ động (active attack): Loại này cố gắng tạo ra một vài thay đổi của dòng dữ liệu hoặc làm ảnh hướng đến hoạt động của tài nguyên hệ thống (các server dịch vụ). · Masquerade (giả mạo): Thông điệp được gửi từ Darth gửi tới Bob. Bob nhận thông điệp như cách mà Alice gửi đến anh ta. Replay (“lặp lại”/”phát lại”): Darth bắt giữ (capture) thông điệp Alice gửi đến Bob, sau đó Darth phát lại thông điệp – có thể đã bị sửa đổi – đến Bob. Modification of message (thay đổi thông điệp): Darth thay đổi thông điệp gửi từ Alice sang Bob. · Denail of service (DoS: Từ chối dịch vụ): Darth “phá vỡ” dịch vụ mà Server cung cấp cho người sử dụng trên mạng. Loại tấn công chủ động này có các đặc tính hầu như đối ngược với loại passive attack. Phát hiện để ngăn chặn nó không phải là quá khó để thực hiện. I.3.2. Các kỹ thuật tấn công cổ điển Trong thực tế có nhiều kỹ thuật tấn công cổ điển như: Chia sẻ mở; Mật khẩu yếu; Thiếu sót trong lập trình; Kỹ năng xã hội; Tràn Bộ đệm; Từ chối dịch vụ;… Trong phần này chúng tôi chỉ trình bày một kỹ thuật mà đến nay hacker vẫn sử dụng để tấn công vào các mạng TCP/IP. Ø Tấn công từ chối dịch vụ Loại tấn công từ chối dịch vụ đơn giản chỉ là những hành động nhằm ngăn chặn khả năng truy cập vào một hệ thống hoặc một ứng dụng của một người sử dụng hợp pháp (bị chính hệ thống hoặc ứng dụng từ chối). Tấn công DoS có nhiều dạng khác nhau và có thể được phát động từ một hoặc nhiều hệ thống. Khó có thể ngăn chặn hoặc khống chế hoàn toàn các tấn công DoS nếu như không xác định được nguồn của nó. Phần lớn các cuộc tấn công DoS thường có đặc điểm là, kẻ tấn công không cố gắng truy cập đến hệ thống đích từ các địa chỉ giả mạo, nó thường điều chỉnh địa chỉ nguồn của gói tin để che dấu vị trí thực của nó (giao thức IP có một sai sót trong lược đồ đánh địa chỉ của nó là không kiểm tra địa chỉ nguồn khi một gói tin được tạo ra). Tấn công DoS từ một hệ thống: Loại tấn công DoS đầu tiên mà chúng ta đề cập là loại tấn công chỉ thực hiện từ một hệ thống, tấn công vào một hệ thống khác và gây hỏng một thứ gì đó trên hệ thống đó. Hình: SYN flood DoS attack Kiểu tấn công DoS được áp dụng phổ biến nhất hiện nay là SYN flood (được gọi là tràn SYN). Trong kiểu tấn công DoS này, hệ thống nguồn (hệ thống khởi tạo tấn công) sẽ gửi một số lượng lớn các gói tin TCP “SYN” đến hệ thống đích (hệ thống bị tấn công) - các gói tin SYN được sử dụng để khởi tạo một kết nối TCP. Khi phía đích nhận được gói “SYN”, nó sẽ trả lời bằng một gói tin TCP “SYN ACK”, gói tin này cho biết đã chấp nhận tín hiệu SYN và gửi lại thông tin thiết lập kết nối trở lại cho hệ thống gửi tín hiệu SYN. Hệ thống đích cũng lưu thông tin kết nối vào “bộ đệm kết nối” để chờ giải quyết. Đối với một kết nối TCP thông thường, hệ thống nguồn sẽ gửi trả gói tin TCP “ACK” sau khi nhận được gói tin “SYN ACK”. Nhưng đối với tấn công DoS loại này, hệ thống nguồn sẽ bỏ qua gói tin “SYN ACK” mà nó nhận được và tiếp tục gửi các gói tin “SYN” khác đến hệ thống đích. Do đó “bộ đệm kết nối” của đích sẽ bị lấp đầy (bị tràn) và hệ thống đích không thể nào giải quyết cho các yêu cầu từ các kết nối khác, buộc nó phải từ chối các kết nối này. Đây chính là lý do mà ta gọi nó là tấn công từ chối dịch vụ. Rõ ràng nếu có hàng loạt gói tin “SYN” được gửi đến từ một địa chỉ IP xác định được, thì có thể dễ dàng xác định được hệ thống nguồn và dừng được cuộc tấn công. Nhưng nếu địa chỉ nguồn là một địa chỉ không thể định tuyến đuợc, thì sẽ khó khăn hơn rất nhiều - địa chỉ nguồn là địa chỉ bị che dấu. Đã có một số giải pháp được đề xuất để bảo vệ các hệ thống trước các cuộc tấn công “SYN”. Cách đơn giản nhất là đặt một “bộ định thời (timer)” cho tất cả các kết nối chờ giải quyết, bộ định thời sẽ đi đến quyết định kết thúc các kết nối và giải phóng “bộ đệm kết nối” sau một khoảng thời gian nhất định nào đó. Một số thiết bị mạng có khả năng nhận diện được các “cơn lũ” tín hiệu SYN và vô hiệu hóa chúng. Nếu như cuộc tấn công được tổ chức từ nhiều địa chỉ nguồn khác nhau thì khó có thể phán đoán được cuộc tấn công. Tấn công DoS phân tán: Các cuộc tấn công Dos phân tán (DDoS) là các cuộc tấn công DoS được thực hiện từ nhiều hệ thống khác nhau. Các cuộc tấn công DDoS thường được điều khiển từ một hệ thống chính duy nhất bởi một hacker duy nhất. Các cuộc tấn công này được thực hiện một cách khá đơn giản: hacker gửi một gói tin “Ping” đến một địa chỉ quảng bá của một mạng lớn đồng thời đổi địa chỉ nguồn để hướng tất cả các gói tin trả lời vào mục tiêu cần đánh phá. Cách tấn công như vậy còn được gọi là Smurf. Nếu như mạng trung gian đó có nhiều host thì số lượng các gói tin trả lời hướng đến hệ thống đích sẽ rất lớn và có thể làm cho hệ thống đích bị vô hiệu hóa do quá tải. Tấn công DDoS càng ngày càng tinh vi hơn. Các công cụ dùng để tấn công như là Trinoo, Tribal Flood Network, Mstream và Stachedraht cho phép hacker có thể phối hợp nhiều cuộc tấn công DoS từ các hệ thống khác nhau đến một hệ thống đích. Hình: Minh họa tấn công smurf I.3.3. Các kỹ thuật tấn công hiện nay I.3.2.1. Nghe lén các mạng chuyển mạch (Sniffing Switch Networks) Các bộ nghe lén (sniffer) được sử dụng bởi hacker để thu thập mật khẩu và thông tin hệ thống liên quan của một host hoặc một network nào đó. Thường việc này chỉ thành công khi có một host của mạng bên trong “hợp tác” với hacker. Sniffer sẽ thu thập mật khẩu và các thông tin khác bằng cách đặt một card giao tiếp mạng (network interface card – NIC) vào chế độ ngẫu nhiên (promiseuous mode). Nghĩa là NIC sẽ thu thập tất cả các gói tin trên mạng chứ không chỉ là các gói tin có địa chỉ gửi đến NIC (địa chỉ của hệ thống cài đặt sniffer). Các sniffer thường làm việc tốt với các mạng chuyển mạch phục vụ chia sẻ thông tin. Để nghe lén lưu lượng trong một môi trường chuyển mạch, hacker cần phải thực hiện một trong 2 việc sau đây: Điều khiển switch sao cho thông tin qua switch bị hướng đến các sniffer. Và buộc switch phải gửi tất cả các gói tin đi đến tất cả các cổng. Nếu như một trong hai điều này được đáp ứng, sniffer sẽ “nghe” được lưu lượng mà nó quan tâm, và cung cấp cho hacker những thông tin mà hacker muốn. Ø Định hướng lại traffic (Redirecting traffic) Thiết bị chuyển mạch (Switch) quy định đường đi cho thông tin đến các cổng dựa trên địa chỉ MAC (Media Access Control) của khung tin (frame) Ethernet. Mỗi NIC có một địa chỉ MAC duy nhất, và Switch hiểu được địa chỉ đó đại diện cho cổng nào. Do đó, khi một frame được truyền đi với một địa chỉ đích MAC, Switch sẽ gửi frame đó đến cổng mà địa chỉ MAC đó đại diện. Sau đây là một số phương pháp có thể được sử dụng để yêu cầu các thiết bị chuyển mạch gửi lưu lượng đến Sniffer: · Đánh lừa ARP (ARP spoofing): ARP (Adress Resolution Protocol) là giao thức phân giải địa chỉ, giao thức này được dùng để lấy địa chỉ MAC tương ứng với một địa chỉ IP nào đó. Khi một hệ thống (nguồn) muốn giao dịch để trao đổi thông tin với hệ thống khác (đích), trước hết nó phải gửi một thông điệp yêu cầu đến ARP để tìm MAC tương ứng với địa chỉ IP đích. Hệ thống đích sẽ đáp trả địa chỉ MAC, tương ứng với địa chỉ IP, cho yêu cầu ARP đó.Sau đó hệ thống nguồn (bên gửi tin) sẽ sử dụng địa chỉ MAC này để gửi thông tin đến đích. Nếu như thông điệp yêu cầu tìm MAC bị bắt giữ bởi sniffer, sniffer sẽ đáp trả cho yêu cầu ARP trước hệ thống đích (mà nguồn mong muốn) với địa chỉ MAC của nó (của sniffer). Tất nhiên sau đó hệ thống gửi tin sau đó sẽ gửi trao đổi thông tin vớisniffer (chứ không phải đích mà nó mong muốn). Để đánh lừa ARP thành công, sniffer phải có khả năng chuyển tiếp thông tin đến địa chỉ mà hệ thống gửi cần gửi đến (đích mà nguồn mong muốn). Nếu không làm được điều này thì sniffer phải thực hiện một cuộc tấn công DoS. · Tạo bản sao địa chỉ MAC: Một cách nữa để thuyết phục Switch gửi thông tin qua nó đến sniffer là: hacker phải thay đổi địa chỉ MAC của sniffer cho giống với địa chỉ MAC của hệ thống khác trong hệ thống mạng con cục bộ (local subnet). · Đánh lừa DNS (DNS spoofing): Một cách tương tự với hai cách trên, để buộc switch phải chuyển tất cả các gói tin đến sniffer là: đánh lừa hệ thống gửi tin để hệ thống đó gửi tin đến sniffer bằng cách sử dụng địa chỉ MAC thật của sniffer. Để thực hiện được điều này, sniffer phải “thuyết phục” hệ thống gửi tin sao cho nó phải gửi ARP đến địa chỉ IP của sniffer. Cách làm này có thể thành công dựa vào việc đánh lừa DNS. Trong kiểu tấn công đánh lừa DNS, sniffer gửi các tin trả lời cho các yêu cầu DNS của hệ thống gửi tin. Các tin đáp trả này cung cấp địa chỉ IP của sniffer thay vì địa chỉ IP của hệ thống mà hệ thống gửi tin yêu cầu. Và sau đó, hệ thống gửi tin sẽ gửi tất cả tin đến sniffer. Sau đó sniffer sẽ phải chuyển tiếp các gói tin này đến hệ thống đích thực sự. Kiểu tấn công này còn được gọi là theo kiểu “đánh chặn”. Để tấn công kiểu này thành công, sniffer phải có khả năng nhận biết tất cả các yêu cầu DNS và trả lời cho chúng trước khi máy chủ DNS trả lời. Như vậy sniffer phải nằm trên tuyến mạng giữa hệ thống gửi tin và máy chủ DNS nếu như sniffer không nằm trên mạng con cục bộ của hệ thống gửi tin. Ø Gửi mọi thông tin đến tất cả các cổng Thay vì đánh lừa ARP, đánh lừa DNS hay là nhân bản địa chỉ MAC, hacker có thể làm cho switch hoạt động như một hub. Biết rằng, mỗi Switch sử dụng một lượng bộ nhớ cho việc lưu giữ các ánh xạ giữa địa chỉ MAC và các cổng vật lý. Bộ nhớ này có dung lượng giới hạn, nên nếu nó bị đầy thì Switch sẽ không “mở” được. Tức là, Switch sẽ dừng lại việc gửi thông tin đến các địa chỉ MAC nào đó tương ứng với các cổng cụ thể nào đó, thay vào đó nó sẽ gửi đến tất cả các cổng. Lúc này switch hoạt động như một thiết bị chia sẻ đường truyền, tức là nó như một Hub. Nhờ đó mà sniffer có thể thực hiện chức năng của nó. Để khởi phát cuộc tấn công dạng này, hacker phải trực tiếp tác động tới Switch. Chú ý: Với các cuộc tấn công đánh lừa ARP; Nhân bản địa chỉ MAC; Đánh lừa DNS: Hacker phải kết nối trực tiếp với Switch mà nó tấn công. Điều này có nghĩa là, kiểu tấn công đánh cắp thông tin cầu hacker phải ở trên Switch cục bộ. Đầu tiên hacker thâm nhập vào hệ thống bằng cách phá vỡ một điểm dễ bị tấn công và sau đó cài đặt phần mềm sniffing để thực hiện việc “ngửi” thông tin. Trong trường hợp này nếu hacker là người trong tổ chức cần hack, một nhân viện của tổ chức chẳng hạn, hacker sẽ sử dụng quyền truy cập thực của nó để có thể truy cập đến Switch. I.3.2.2. Đánh lừa địa chỉ IP (IP spoofing) Như đã biết, địa chỉ IP trong các gói tin IP là không được xác thực. Do đó hacker có thể thay đổi địa chỉ nguồn của gói tin và làm cho gói tin có vẻ như được gửi đến từ một địa chỉ nào đó khác. Vấn đề ở đây chính là những gói tin phản hồi (chẳng hạn như gói tin SYN ACK trong một kết nối TCP) sẽ không được gửi về cho hệ thống gửi tin. Do đó việc cố gắng đánh lừa địa chỉ IP để thiếp lập một kết nối TCP sẽ rất khó khăn. Thêm nữa, header của TCP còn chứa một chỉ số được dùng để nhận biết các gói tin. Chuỗi số tuần tự khởi tạo (Initial sequence number – ISN) dành cho mỗi kết nối được chọn (giải mã) một cách ngẫu nhiên. Chi tiết về tấn công đánh lừa địa chỉ IP (xem hình 1.6): Đầu tiên hacker xác định mục tiêu tấn công. Khi đã xác định được mục tiêu, nó sẽ xác định số INS tiếp theo sẽ được dùng, bằng cách thực hiện một chuỗi các kết nối thực đến mục tiêu và ghi nhận các số ISN được trả về. Tuy nhiên, sẽ có một số bất lợi cho hacker vì các kết nối thực này sẽ làm lộ địa chỉ IP thực của nó. Một khi ISN tiếp theo đã được xác lập, hacker sẽ gửi gói tin TCP “SYN” đến hệ thống đích với một địa chỉ nguồn IP giả mạo. Hệ thống đích sẽ trả lời bằng gói tin TCP “SYN ACK” đến địa chỉ IP nguồn giả mạo đó. Như vậy hacker sẽ không thấy được gói tin đáp trả. Gói tin TCP “SYN ACK” có chứa số ISN từ hệ thống đích. Để hoàn thành việc thiết lập một kết nối thì hacker phải xác định được số ISN ở gói tin TCP SYN cuối cùng. Nó đoán số ISN dựa trên tính tăng dần của chuỗi số ISN và gửi đi một gói tin TCP ACK giả từ địa chỉ IP giả mạo trong đó có cả số ISN mà nó biết. Hình: Mô tả tấn công đánh lừa IP Sau khi tất cả những việc đó được thực hiện, hacker sẽ ngừng kết nối thực đến hệ thống đích. Lúc này nó có khả năng gửi lệnh và thông tin đến hệ thống đích nhưng hắn ta không thể biết được hệ thống đích đáp trả các lệnh và thông tin đó như thế nào.
- Xem thêm -

Tài liệu liên quan