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

Nghiên cứu kỹ thuật phát hiện và ngăn chặn xâm nhập mạng

118 0 0

Đ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 đề Nghiên Cứu Kỹ Thuật Phát Hiện Và Ngăn Chặn Xâm Nhập Mạng
Định dạng
Số trang 118
Dung lượng 1,12 MB

Cấu trúc

  • 1.1.1 Khái niệm chung (0)
  • 1.1.2 Mạng Internet và giao thức TCP/IP (8)
  • 1.2.1 Một số khái niệm về bảo mật (15)
  • 1.2.2 Sự xuất hiện của các Virus (17)
  • 1.2.3 Một số hình thức tấn công mạng (18)
  • 1.2.4 Các mức bảo vệ an toàn mạng (20)
  • 1.3 Lỗ hổng và khai thác lỗ hổng (21)
    • 1.3.1 Các lỗ hổng (21)
    • 1.3.2 ảnh hởng của các lỗ hổng bảo mật trên mạng Internet (38)
  • 1.4 Một số phơng pháp tấn công xâm nhập mạng phổ biÕ n (40)
    • 1.4.1 Scanner (40)
    • 1.4.2 Password Cracker (43)
    • 1.4.3 Trojans (47)
    • 1.4.4 Sniffer (50)
  • 1.5 Các biện pháp thủ công phát hiện tấn công (53)
    • 2.1.1 Hệ thống phát hiện xâm nhập là gì (55)
    • 2.1.2 Lịch sử (56)
    • 2.1.3 Chức năng của hệ thống phát hiện xâm nhập (57)
    • 2.1.4 Phân loại (58)
    • 2.2.1 Module phân tích luồng dữ liệu (60)
    • 2.2.2 Module phát hiện tấn công (0)
  • 2.3 Phơng pháp phát hiện tấn công (61)
    • 2.3.1 Phơng pháp dò sự lạm dụng (61)
    • 2.3.2 Phơng pháp dò sự không bình thờng (69)
  • 2.4 Những giới hạn chung của các hệ thống IDS…… 57 Chơng 3: Ngăn chặn xâm nhập bằng mật mã học (70)
  • 3.1 Một số hệ mật cổ điển (71)
    • 3.1.1 Mã dịch vòng (72)
    • 3.1.2 Mã thay thế (73)
    • 3.1.3 Mã Affine (74)
    • 3.1.4 Mã Vigenère (75)
    • 3.1.5 Mật mã Hill (76)
    • 3.1.6 Mã hoán vị (77)
  • 3.2 Chuẩn mã hóa dữ liệu (DES) (0)
    • 3.2.1 Mô tả DES (78)
    • 3.2.2 Độ an toàn của DES (90)
  • 3.3 Hệ mật khóa công khai và các thuật toán băm (0)

Nội dung

Mạng Internet và giao thức TCP/IP

Thuật ngữ “ Internet ” đợc xem nh là một “mạng của các mạng” hay một liên kết mạng có tính toàn cầu Công nghệ Internet ra đời cho phép ngời sử dụng trên toàn cầu có thể chia sẻ, trao đổi thông tin cho nhau trong nhiều lĩnh vực Hiện nay, các dịch vụ của mạng Internet có mặt trong hầu khắp các lĩnh vực của cuộc sống.

Một số khái niệm thờng sử dụng

Có một số thuật ngữ thờng đợc sử dụng liên quan đến mạng Internet đó là:

Site: Là một hệ thống mạng, máy tính và ngời dùng, trên đó có thiết lập và thi hành các quyết định riêng biệt

Host: Là một trạm làm việc trong một site.

Services: Là các dịch vụ cung cấp trên các site Ví dụ các dịch vụ nh: truyền file, th điện tử, nhóm tin, web.

Client/Server: Là một mô hình xử lý phân tán đối của cac services Trong đó hoạt động của dịch vụ dựa trên 2 đối tợng là ứng dụng

Uer Data Program Protocol (UDP)

9 và các dịch vụ, thiết lập các chính sách cần thiết đối với site đó.

1.1.2.2 Căn bản về giao thức TCP/IP

KiÕn tróc ph©n tÇng TCP/IP

Bộ giao thức TCP/IP đợc thiết kế theo kiến trúc phân tầng:

Hình 1-1: So sánh mô hình mạng TCP/IP và mô hình

Xét về khía cạnh bảo mật, nhợc điểm của bộ giao thức TCP/IP là không hỗ trợ xây dựng các cơ chế bảo mật, dễ dàng đối với các hoạt động giải mã, nghe trộm Hình 1-2 mô tả cấu trúc của một đoạn dữ liệu của gói TCP.

Do hoạt động của các dịch vụ trong tầng ứng dụng dựa vào định danh các cổng dịch vụ trên hệ thống đó Có hai loại cổng:

Số cổng nguồn: Có giá trị tùy ý.

Số hiệu cổng trạm nguồn Số hiệu cổng trạm

Số hiệu byte đầu tiên của segmentđích

Số hiệu của segment tiếp theo( Trạm đích báo nhận )

Vị trí bắt đầu của vùng dữ liệu

Cấp phát credit để kiểm soát luồng dữ liệu

Mã kiểm soát lỗi theo phơng pháp

CRC Con trỏ cho biết bên nhận biết đợc độ dài của dữ liệu Các tuỳ chọn của TCP (nếu có) Phần chèn thêm vào headerkhẩn

Hình 1-2: Khuôn dạng gói dữ liệu (segment) trong TCP

Trên hệ thống, để hạn chế sự phá hoại ta có thể thiết lập chính sách nh đóng cổng dịch vụ Tuy nhiên điều này dẫn đến hạn chế là từ chối cung cấp dịch vụ đó Network, địa chỉ

Các máy tính trên mạng đợc phân biệt với nhau bằng địa chỉ, qua đó các gói tin mới có thể chuyển giao tới đúng đích cần tới Hệ thống địa chỉ này đợc quản lý bởi giao thức mạng IP. Mỗi máy tính có một địa chỉ IP của riêng nó.

Một địa chỉ IP có chiều dài 32 bits Cấu trúc một địa chỉ

IP đợc chia làm hai phần: phần NetId định danh mạng, phầnHostId định danh host trong mạng đó Để đảm bảo không có

1 những nhầm lẫn địa chỉ trên mạng các nhà khoa học đã thành lập một tổ chức quốc tế có trách nhiệm phân phối và quản lý địa chỉ mạng.

Các địa chỉ IP đợc chia thành 5 lớp A, B, C, D, E Trong đó chỉ có 3 lớp A, B, C đợc sử dụng thực tế để đánh địa chỉ cho Host, còn lớp D dùng cho địa chỉ theo nhóm các host trên mạng, lớp E dành để dự trữ cho tơng lai. Địa chỉ IP có thể viết ở dạng cơ số 10, phân tách bởi các dấu chấm (ví dụ: 192.139.5.12) hoặc viết ở dạng hệ 16 (0xC08BEA66) Cấu trúc của các lớp địa chỉ này nh sau: Địa chỉ lớp A: Lớp A dùng 8 bit đánh địa chỉ mạng và 24 bit đánh địa chỉ cho host. Địa chỉ lớp B: Lớp B dùng 16 bit đánh địa chỉ mạng và 16 bit đánh địa cho host Địa chỉ lớp C: Lớp C dùng 24 bit đánh địa địa chỉ mạng và 8 bit đánh địa chỉ cho host Địa chỉ lớp D: Lớp D là lớp địa chỉ dùng để đánh địa chỉ theo nhóm các host trên mạng (multicast address)

Class D 1 1 1 0 Địa chỉ theo nhóm các host

Class E 1 1 1 1 0 Địa chỉ dành cho tơng lai

Hình 1-3: Cấu trúc các lớp địa chỉ IP Một số địa chỉ đặc biệt:

0.0.0.0 Địa chỉ cho các host khi khởi động. x.x.x.0 Địa chỉ xác định mạng x.x.x. x.x.x.255 Chỉ tất cả các host có trong mạng x.x.x.

255.255.255.255 Địa chỉ broadcast cho tất cả các host trên mạng.

Tất cả các địa chỉ trên đều không đợc sử dụng để đánh địa chỉ cho host.

Trong thực tế, để dễ dàng cho hoạt động quản lý các trạm trong mạng, thờng phân các mạng lớn trong các lớp mạng (A, B, C) thành các mạng nhỏ hơn Các mạng này gọi là subnet Quá trình này đợc thực hiện bằng cách lấy một số bit ở phần định danh host để sử dụng cho việc đánh địa chỉ mạng Tùy theo cách sử dụng của ngời quản trị mạng (số subnet và số host trên mỗi subnet) mà số lợng bit lấy ở phần hostid nhiều hay ít. Để tách biệt giữa địa chỉ mạng và địa chỉ host ngời ta dùng netmask Để tách biệt giữa subnet address và địa chỉ host ngời ta dùng subnet mask.

Một số ví dụ về địa chỉ mạng cách dùng netmask và subnet mask:

Khi thực hiện subnet một mạng thì số lợng subnet sẽ quyết định số bit đợc lấy từ phần host để phục vụ cho subnet Ví dụ bạn muốn chia một mạng ở lớp B thành 32 mạng con (thực tế chỉ dùng 30 subnet trên mỗi địa chỉ mạng, subnet đầu là subnet zero, subnet cuối là subnet broadcast), bạn cần 5 bit (2 5 2 ) cho subnet, còn lại 11 bit cho host trên mỗi subnet ( khoảng 2046 host trên mỗi subnet) Ví dụ:

Việc nhớ địa chỉ IP định danh mỗi host trở nên khó khăn khi số lợng các host trên mạng lớn Khái niệm hostnsme sẽ giải quyết vấn đề này Hostname là tên mà ngời quản trị đặt cho một thiết bị mạng (có thể là router hoặc máy in) để dễ quản lý về mặt hành chính Mỗi thiết bị trên mạng thờng có một hostname và địa chỉ IP tơng ứng Trên mạng, một host chỉ đợc xác định bằng địa chỉ IP của nó Do đó để host có thể họat động đợc trên mạng thì hostname phải đợc chuyển đổi sang địa chỉ IP t- ơng ứng Để thực hiện đợc việc chuyển đổi này ngời ta dùng các cơ chế tạo bảng Hostname Table hoặc Domain Name System (DNS) cho phép lu các ánh xạ từ địa chỉ IP sang hostname tơng ứng và ngợc lại.

Một số dịch vụ của giao thức TCP/IP

Các dịch vụ này nằm ở tầng ứng dụng trong bộ giao thức TCP/IP Cùng với phát triển của Internet các ứng dụng ngày càng đa dạng và hoàn thiện hơn Mỗi dịch vụ có một giao thức riêng. Sau đây sẽ giới thiệu hoạt động của các dịch vụ này.

Telnet là dịch vụ cho phép thâm nhập (login) từ xa vào các máy tính, sử dụng giao thức cùng tên là TELNET Giao thức Telnet sử dụng kết nối TCP giữa Client và Server Khi truy nhập từ xa vào các hệ thống, ngời dùng không những có thể truy nhập các tài nguyên về đĩa và các tệp mà còn tận dụng đợc khả năng của bộ nhớ, khả năng của bộ vi xử lý trên hệ thống ở xa đó Telnet là một ứng dụng chuẩn mà hầu hết các phiên bản TCP/IP đều hỗ trợ.

Dịch vụ truyền file (File Transfer Protocol)

FTP là dịch vụ cho phép truyền các file giữa các máy đợc nối với nhau Dùng dịch vụ này ta có thể truy cập tới hệ thống file ở một máy từ xa và sau đó tải các tệp từ trạm làm việc ở xa đó vào máy tính cuả mình (download) hoặc chuyển các file từ máy tính của mình vào máy tính trên mạng (upload) Dịch vụ này sử dụng giao thức cùng tên là FTP để thực hiện việc truyền tệp Giao thức FTP có thể hỗ trợ tất cả các kiểu tệp (văn bản ASCII, nhị phân, các tệp ở các hệ điều hành khác nhau…) FTP là một dịch vụ đã từng đợc sử dụng rất nhiều tuy nhiên nó có nhợc điểm chính là ngời dùng không phải lúc nào cũng biết đợc toàn bộ danh sách các tệp có thể sao chép và quá trình truy nhập các th mục để tìm tệp thêng chËm.

Dịch vụ th tín điện tử (E- mail)

Th điện tử (E-mail) là dịch vụ đợc sử dụng rộng rãi và lâu đời nhất trên Internet E- mail giúp ta trao đổi thông tin một cách dễ dàng, nhanh chóng và thuận tiện với nhiều ngời trên mạng E- mail có u điểm là nó dùng phần mềm tơng đối đơn giản, dễ sử dụng So với các dịch vụ thông tin khác E-mail là dịch vụ yêu cầu mạng có giải thông, phần cứng, phần mềm ít nhất Giao thức sử dụng trong dịch vụ E-mail là giao thức truyền th đơn giản (SMTP- Simple Mail Tranfer Protocol) Một số chơng trình gửi th đơn giản rất phổ biến trên UNIX là Sendmail, trên Windows làExchange Server Theo giao thức này, việc trao đổi th đợc thực hiện bởi các trạm truyền th (MTA – Message Tranfer Agent), ngời gửi không trực tiếp truyền th đến ngời nhận, mà th đợc lu truyền qua các MTA trung gian, do đó cơ chế hoạt động của E-mail đợc gọi là lu và chuyển tiếp Ngời sử dụng nhận th qua giao thức POP3(Post office Protocol Version 3) hoặc IMAP (Internet MessageAccess Protocol) Hiện nay các trình duyệt Web nh IE và

Netscape hỗ trợ các thành phần đóng vai trò POP3 Client ( Netscape Messaging và Internet Mail).

Dịch vụ thông tin World Wide Web

Dịch vụ thông tin World Wide Web (W W W–gọi tắt là dịch vụ Web) là dịch vụ thông tin mới nhất và có tốc độ phát triển mạnh nhất Điểm mạnh của Web là giao diện thân thiện với ngời sử dụng, khă năng tích hợp với các dịch vụ thông tin khác nhau nh FTP, E–mail, Gopher.

Ngoài các dòng văn bản, dịch vụ Web còn hỗ trợ cả các thông tin dới dạng đa phơng tiện (multimedia), đồ họa, hình ảnh, âm thanh Trên mỗi trang Web có thể tạo kết nối từ bất cứ điểm nào của tài liệu hiện thời tới một tài liệu khác trong mạng. Dịch vụ Web sử dụng giao thức truyền siêu văn bản (Hypertext Transfer Protocol), giao thức này đợc đánh giá là một giao thức đơn giản và hiệu quả nhất trong các giao thức ở tầng ứng dụng.

1.2 Các vấn đề chung về bảo mật mạng

Một số khái niệm về bảo mật

Trớc khi tìm hiểu các các vấn đề liên quan đến phơng thức phá hoại và các biện pháp bảo vệ cũng nh thiết lập các chính sách về bảo mật, phần sau đây sẽ trình bày một số khái niệm liên quan đến bảo mật thông tin trên mạng Internet. Đối tợng tấn công mạng (Intruder)

Là những cá nhân hoặc các tổ chức sử dụng các kiến thức về mạng và các công cụ phá hoại (phần mềm hoặc phần cứng) để dò tìm các điểm yếu, lỗ hổng bảo mật trên hệ thống, thực hiện các hoạt động xâm nhập và chiếm đoạt tài nguyên mạng trái phÐp.

Một số đối tợng tấn công mạng

- Hacker: Là những kẻ xâm nhập vào mạng trái phép bằng cách sử dụng các công cụ phá mật khẩu hoặc khai thác các điểm yếu của các thành phần truy nhập trên hệ thống.

- Masquerader: Là những kẻ giả mạo thông tin trên mạng Một số hình thức giả mạo nh giả mạo địa chỉ IP, tên miền, định danh ngời dùng.

- Eavesdropping: Là những đối tợng nghe trộm thông tin trên mạng, sử dụng các công cụ sniffer, sau đó dùng các công cụ phân tích và debug để lấy đợc các thông tin có giá trị.

Những đối tợng tấn công mạng có thể nhằm nhiều mục đích khác nhau nh ăn cắp các không tin có giá trị kinh tế, phá hoại hệ thống mạng có chủ định, hoặc cũng có thể chỉ là những hành động vô ý thức, thử nghiệm các chơng trình không kiểm tra cÈn thËn.

Các lỗ hổng bảo mật

Các lỗ hổng bảo mật là những điểm yếu kém trên hệ thống hoặc điểm yếu kém ẩn chứa trong một dịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép để thực hiện các hành động chiếm đoạt tài nguyên bất hợp pháp Nguyên nhân gây ra những lỗ hổng bảo mật là khác nhau, có thể do lỗi của bản thân hệ thống, hoặc phần mềm cung cấp, hoặc do ngời quản trị yếu kém không hiểu sâu sắc các dịch vụ cung cấp.Mức độ ảnh hởng của các lỗ hổng là khác nhau Có những lỗ

Máy tấn công Máy bị tấn công

Kích hoạt một script khác chạy dựa vào lỗ hổng của sendmail hay finger.

Gửi một Shell Script hổng chỉ ảnh hởng tới chất lợng dịch vụ cung cấp, có những lỗ hổng ảnh hởng nghiêm trọng tới toàn bộ hệ thống.

Là tập hợp các quy tắc áp dụng cho mọi đối tợng có tham gia quản lý và sử dụng các tài nguyên và dịch vụ mạng Mục tiêu của chính sách bảo mật giúp ngời sử dụng biết đợc trách nhiệm của mình trong việc bảo vệ các tài nguyên thông tin trên mạng, đồng thời giúp các nhà quản trị thiết lập các biện pháp hữu hiệu trong quá trình trang bị, cấu hình, kiểm soát hoạt động của hệ thống và mạng Một chính sách bảo mật đợc coi là đầy đủ nếu nó xây dựng gồm các văn bản pháp qui đầy đủ về vấn đề an toàn mạng.

Sự xuất hiện của các Virus

Có một số sự kiện đánh dấu các hoạt động phá hoại trên mạng, từ đó nảy sinh các yêu cầu về bảo mật hệ thống nh sau:

- Năm 1988: Trên mạng Internet xuất hiện một chơng trình tự nhân phiên bản của chính nó lên tất cả các máy khác trên mạng

Internet Các chơng trình này gọi là “sâu” Tuy mức độ nguy hại của nó không lớn, nhng nó đặt ra các vấn đề đối với nhà quản trị về quyền truy nhập hệ thống, cũng nh các lỗi phần mềm

Kẻ tấn công giành đ ợc quyền root

1 2 3 Tấn công bằng bom th

Hình 1-4 : Cơ chế hoạt động của sâu Internet

- Năm 1990: Các hình thức truyền Virus qua địa chỉ

Email xuất hiện phổ biến trên mạng Internet.

- Năm 1991: Phát hiện các chơng trình trojans.

Cùng thời gian này sự phát triển của dịch vụ Web và các công nghệ liên quan nh Java, Javascripts xuất hiện rất nhiều các thông báo lỗi về bảo mật nh các lỗ hổng cho phép đọc nội dung các file dữ liệu của ngời dùng, một số lỗ hổng cho phép tấn công làm ng- ng trệ dịch vụ.

- Năm 1998: Virus Melisa lan truyền trên mạng Internet thông qua các chơng trình gửi mail của Microsoft, gây những thiệt hại kinh tế không nhỏ.

- Năm 2000: Một loạt các WebSite lớn nh yahoo.com và ebay.com bị tê liệt, ngừng cung cấp dịch vụ trong nhiều giờ.

Một số hình thức tấn công mạng

Có thể tấn công mạng theo một trong các hình thức sau đây:

- Dựa vào những lỗ hổng bảo mật trên mạng Những lỗ hổng này có thể là các điểm yếu của dịch vụ mà hệ thống đó cung cấp Ví dụ những kẻ tấn công lợi dụng các điểm yếu trong các dịch vụ mail, ftp, web để xâm nhập và phá hoại.

- Sử dụng các công cụ để phá hoại Ví dụ nh sử dụng các ch- ơng trình phá khóa mật khẩu để truy nhập vào hệ thống bất hợp pháp, lan truyền virus trên hệ thống, cài đặt các đoạn mã bất hợp pháp vào một số chơng trình.

Hình 1-5: Các mức độ tấn công mạng

- Mức 1 : Tấn công vào một số dịch vụ mạng nh Web, Email, dẫn đến các nguy cơ lộ các thông tin về cấu hình mạng Các hình thức tấn công ở mức này có thể dùng DoS hoặc spam mail (th rác).

- Mức 2: Kẻ phá hoại dùng tài khoản của ngời dùng hợp pháp để chiếm đoạt tài nguyên hệ thống (dựa vào các phơng thức tấn công nh bẻ khóa, đánh cắp mật khẩu), kẻ phá hoại có thể thay đổi quyền truy nhập hệ thống qua các lỗ hổng bảo mật hoặc đọc các thông tin trong tập tin liên quan đến truy nhập hệ thống nh / etc / passwd.

- Từ mức 3 đến mức 5: Kẻ phá hoại không sử dụng quyền của ngời dùng thông thờng mà có thêm một số quyền cao hơn đối với hệ thống nh quyền kích hoạt một số dịch vụ, xem xét các thông tin khác trên hệ thống.

- Mức 6: Kẻ tấn công chiếm đợc quyền Root trên hệ thống.

Thông tin Quyền truy cËp Đăng nhập mật khẩu Mã hoá dữ liệu Bảo

Các mức bảo vệ an toàn mạng

Vì không có một giải pháp nào là an toàn tuyệt đối nên ng- ời ta thờng phải sử dụng đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều lớp rào chắn đối với các hoạt động xâm phạm. Việc bảo vệ thông tin trên mạng chủ yếu là bảo vệ thông tin cất giữ trong các máy tính, đặc biệt là trong các Server của mạng. Hình sau mô tả các lớp rào chắn thông dụng hiện nay để bảo vệ thông tin tại các trạm của mạng.

Hình 1-6: Các mức độ bảo vệ an toàn mạng

Nh minh hoạ trong hình trên, các lớp bảo vệ thông tin trên mạng gồm:

- Lớp bảo vệ trong cùng: Là quyền truy nhập nhằm kiểm soát các tài nguyên (ở đây là thông tin) của mạng và quyền hạn (có thể thực hiện những thao tác) trên tài nguyên đó Hiện nay việc kiểm soát ở mức này đợc áp dụng sâu nhất đối với tệp.

- Lớp bảo vệ tiếp theo: Là hạn chế theo tài khoản truy nhập gồm đăng ký tên và mật khẩu tơng ứng Đây là phơng pháp bảo vệ phổ biến vì nó đơn giản, ít tốn kém và cũng rất có hiệu quả Mỗi ngời sử dụng muốn truy nhập đợc vào mạng đều phải có đăng ký tên và mật khẩu Ngời quản trị hệ thống có trách nhiệm quản lý, kiểm soát mọi hoạt động của mạng và xác định quyền

2 truy nhập của những ngời sử dụng khác tuỳ theo thời gian và không gian.

- Lớp thứ ba : Là sử dụng các phơng pháp mã hoá (encryption).

Dữ liệu đợc biến đổi từ dạng “đọc đợc” sang dạng “không đọc đợc” theo một thuật toán nào đó.

- Lớp thứ t: là lớp bảo vệ vật lý (physical protection) nhằm ngăn cản các truy nhập vật lý bất hợp pháp vào hệ thống Thờng dùng các biện pháp truyền thống nh ngăn cấm ngời không có nhiệm vụ vào phòng đặt máy, dùng hệ thống khoá trên máy tính, cài đặt các hệ thống báo động khi có truy nhập vào hệ thống.

- Lớp thứ năm : Cài đặt các hệ thống bức tờng lửa (Firewall), nhằm ngăn chặn các thâm nhập trái phép và cho phép lọc các gói tin mà ta không muốn gửi đi hoặc nhận vào vì một lý do nào đó.

Lỗ hổng và khai thác lỗ hổng

Các lỗ hổng

Nh phần trên đã trình bày, các lỗ hổng bảo mật trên hệ thống là các điểm yếu có thể tạo ra sự ngng trệ của dịch vụ, thêm quyền đối với ngời sử dụng hoặc cho phép các truy nhập không hợp pháp vào hệ thống Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp nh web, ftp Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành nh trong Windows NT, Windows 95, UNIX hoặc trong các ứng dụng mà ngời sử dụng thờng xuyên sử dụng nh Word processing, các hệ database Phần sau đây sẽ trình bày các lỗ hổng bảo mật thờng gặp trên một số hệ thống.

1.3.1.1 Phân loại lỗ hổng bảo mật

Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biệt Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ thống đợc chia nh sau:

Lỗi cấu hình mặc định

Không giấu tệp tin mật

Lỗi có khả năng làm hệ thống h hỏng hoàn toàn

Lỗi cho phép ng ời dùng trong mạng thêm quyền truy cập

Lỗi cho phép ng ời dùng trong và ngoài mạng làm hệ thống bi treo

- Lỗ hổng loại C: Các lỗ hổng loại này cho phép thực hiện các phơng thức tấn công theo DoS (Denial of Services - từ chối dịch vụ ) Mức độ nguy hiểm thấp, chỉ ảnh hởng tới chất lợng dịch vụ, có thể làm ngng trệ, gián đoạn hệ thống nhng không làm phá hỏng dữ liệu hoặc đạt đợc quyền truy nhập bất hợp pháp.

- Lỗ hổng loại B: Các lỗ hổng cho phép ngời sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ Mức độ nguy hiểm trung bình Những lỗ hổng này thờng có trong các ứng dụng trên hệ thống, có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật.

- Lỗ hổng loại A: Các lỗ hổng này cho phép ngời sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp Lỗ hổng rất nguy hiểm, có thể làm phá huỷ toàn bộ hệ thống.

Hình 1- 7 : Một số lỗ hổng bảo mật và mức độ nguy hiÓm

Sau đây ta sẽ phân tích kỹ hơn các lỗ hổng.

Các lỗ hổng loại này cho phép thực hiện các cuộc tấn công DoS.

DoS là hình thức tấn công sử dụng các giao thức ở tầng Internet trong bộ giao thức TCP / IP để làm hệ thống ngng trệ dẫn đến tình trạng từ chối ngời sử dụng hợp pháp truy nhập hay sử dụng hệ thống Một số lợng lớn các gói tin đợc gửi tới server trong khoảng thời gian liên tục làm cho hệ thống trở nên quá tải, kết quả là server không thể đáp ứng các yêu cầu từ client gửi tới (sập server).

Các dịch vụ có lỗ hổng cho phép các thực hiện các cuộc tấn công DoS có thể đợc nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung cấp dịch vụ Hiện nay, cha có một giải pháp toàn diện nào để khắc phục các lỗ hổng này vì bản thân việc thiết kế giao thức ở tầng Internet (IP) nói riêng và bộ giao thức TCP / IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng này Một số ví dụ điển hình của phơng thức tấn công DoS là vào một số Website lớn làm ngng trệ hoạt động của Website này nh : www.ebay.com và www.yahoo.com

Tuy nhiên, mức độ nguy hiểm của các lỗ hổng loại này đợc xếp loại C, ít nguy hiểm vì chúng chỉ làm gián đoạn cung cấp dịch vụ của hệ thống trong một thời gian mà không làm nguy hại đến dữ liệu và những kẻ tấn công cũng không đạt đợc quyền truy nhập bất hợp pháp vào hệ thống.

Một lỗ hổng loại C khác cũng thờng thấy đó là các điểm yếu của dịch vụ cho phép thực hiện tấn công làm ngng trệ hệ thống của ngời sử dụng cuối Chủ yếu với hình thức tấn công này là sử dụng dịch vụ Web Giả sử trên một Web Server có những trang Web trong đó có chứa các đoạn mã Java hoặc Javacripts, làm “treo” hệ thống của ngời sử dụng trình duyệt Web bằng các bíc sau:

- Viết các đoạn mã để nhận biết đợc Web Browsers

- Nếu sử dụng Netscape, sẽ tạo một vòng lặp vô thời hạn, sinh ra vô số các cửa sổ, trong mỗi cửa sổ đó nối đến các Webserver khác nhau.

Với một hình thức tấn công đơn giản này, có thể làm treo hệ thống trong khoảng thời gian 40 giây (đối với máy client có 64

MB RAM) Đây cùng là một hình thức tấn công kiểu DoS Ngời sử dụng trong trờng hợp này chỉ có thể khởi động lại hệ thống.

Một lỗ hổng loại C khác cũng thờng gặp đối với các hệ thống mail là cho phép thực hiện các hành động chuyển tiếp, một số hệ thống mail không có cách xác thực khi ngời dùng gửi th, dẫn đến tình trạng các đối tợng tấn công lợi dụng các máy chủ mail này để thực hiện Spam mail Spam mail là hành động nhằm tê liệt dịch vụ mail của hệ thống bằng cách gửi một số lợng lớn các messages tới một địa chỉ khác không xác định, vì máy chủ mail luôn phải tốn năng lực đi tìm những địa chỉ không thực dẫn đến tình trạng ngng trệ dịch vụ

Lỗ hổng loại này có mức độ nguy hiểm hơn lỗ hổng loại

C, cho phép ngời sử dụng nội bộ có thể chiếm đợc quyền cao hơn hoặc truy nhập không hợp pháp Lỗ hổng loại B có thể có đối với hệ thống UNIX mà file /etc/passwd để ở dạng bản rõ, không sử dụng cơ chế che mật khẩu trong UNIX Những lỗ hổng loại này th- ờng xuất hiện trong các dịch vụ trên hệ thống Ngời sử dụng cục bộ đợc hiểu là ngời đã có quyền truy nhập vào hệ thống với một

2 số quyền hạn nhất định Sau đây sẽ phân tích một số lỗ hổng loại B thờng xuất hiện trong các ứng dụng trên hệ thống UNIX.

Sendmail là một chơng trình đợc sử dụng rất phổ biến trên hệ thống UNIX để thực hiện gửi th điện tử cho những ngời sử dụng trong nội bộ mạng Thông thờng, sendmail là một chơng trình chạy ở chế độ nền đợc kích hoạt khi khởi động hệ thống. Trong trạng thái hoạt động sendmail mở port 25 đợi một yêu cầu tới sẽ thực hiện gửi hoặc chuyển tiếp th Sendmail khi đợc kích hoạt sẽ chạy dới quyền root hoặc quyền tơng ứng (vì liên quan đến các hành động tạo file và ghi log file) Lợi dụng đặc điểm này và một số lỗ hổng trong các đoạn mã của sendmail mà các đối tợng tấn công có thể dùng sendmail để đạt đợc quyền root trên hệ thèng

Ví dụ một lỗi của sendmail:

Trong ví dụ trên, ngời sử dụng thông thờng có thể đọc đợc nội dung của file /etc/passwd sau đó gửi mail đến địa chỉ zen@ecil.com Vì sendmail hoạt động dới quyền root nên nó có thể đọc đợc nội dung file /etc/passwd Mặt khác lợi dụng lỗ hổng telnet victim.com 25

220 victim.com Sendmail 5.55 ready at Saturday, 6 Nov 93 18:04

Mail from: “| / bin / mail zen@ecil.com> / etc/ passwd Chuỗi kí tự trớc cấu thành một mẫu cho biên bản một tấn công SITE EXEC, nh vậy chỉ có mẫu này trong một hồ sơ hoặc cơ sở dữ liệu dẫn đến nhiều sự tấn công đợc ghi nhận nh là cùng một loại tấn công nếu nh những phơng pháp tấn công

SITE EXEC khác đợc sử dụng.

IDS sử dụng phơng pháp so sánh mẫu có khả năng nhận biết tốt Thêm một mẫu mới vào th viện mẫu của một IDS hoặc IPS sẽ giúp hệ thống có khả năng phát hiện ra các dạng tấn công mới. Nếu không đợc cập nhật thờng xuyên IDS và IPS sử dụng phơng pháp so sánh mẫu sẽ bỏ qua những kiểu tấn công mới.

Việc quản lý các th viện mẫu là công việc khá vất vả Các mẫu cũ nhiều khi không còn cần thiết nhng vẫn phải đợc giữ lại trong th viện gây nên sự thừa thãi và làm giảm tốc độ hoạt động của hệ thống Tuy nhiên nếu việc loại bỏ mẫu không cẩn thận cũng sẽ dẫn đến việc hệ thống không có khả năng phát hiện đợc một số kiểu tấn công cũ nhng vẫn còn đợc sử dụng.

IDS và IPS sử dụng phơng pháp so sánh mẫu có khuynh hớng tạo ra nhiều báo động sai Lý do là vài kiểu mẫu đợc nhập vào nh. Vipw/ etc/passwd adjunct

Có thể đợc cảnh báo nh sự tấn công, nhng đôi khi đó cũng là một hành động hợp pháp (nh hành động của những quản trị hệ thống) Những mẫu đợc nhập vào thờng không thể hiện đợc các

6 tình tiết dẫn đến nó Bất kỳ lúc nào khi phát hiện đợc sự tơng hợp, một IDS hoặc IPS sử dụng phơng pháp so sánh mẫu ngay lập tức phát ra cảnh báo.

2.3.1.2 Phơng pháp so sánh quy luật

IDS và IPS hoạt động trên quy luật, lu trữ một số lợng các khả năng rằng chúng là sự kết hợp của những tiêu chí có thể của sự tấn công.

Phơng pháp dò sự không bình thờng

Đây là kỹ thuật dò thông minh, nhận dạng ra các hành động không bình thờng của mạng Quan niệm của phơng pháp này về các cuộc tấn công sẽ có những hành động khác so với bình thờng và phơng pháp dò này có thể nhận dạng Có một số kỹ thuật giúp thực hiện dò sự không bình thờng của các cuộc tấn công nh dới ®©y:

- Phát hiện mức ngỡng: Kỹ thuật này nhấn mạnh việc đo đếm các hoạt động bình thờng trên mạng Các mức ngỡng về hoạt động bình thờng đợc đặt ra Nếu có sự bất thờng nào đó nh đăng nhập với số lần quá quy định, số lợng các tiến trình hoạt động trên CPU, số lợng một loại gói tin đợc gửi vợt quá mức thì hệ thống có dấu hiệu bị tấn công.

- Phát hiện nhờ quá trình tự học: Kỹ thuật này bao gồm hai bớc Khi bắt đầu thiết lập, hệ thống phát hiện tấn công sẽ chạy ở chế độ tự học và tạo ra một hồ sơ về cách c xử của mạng với các hoạt động bình thờng Sau thời gian khởi tạo, hệ thống sẽ chạy ở chế đội làm việc, tiến hành theo dõi, phát hiện các hoạt động bất thờng của mạng bằng cách so sánh với hồ sơ đã thiết lập Chế độ tự học có thể chạy song song với chế độ làm việc để cập nhật hồ sơ của mình nhng nếu dò ra có tín hiệu tấn công thì chế độ tự học phải dừng lại cho đến khi cuộc tấn công kết thúc.

- Phát hiện sự không bình thờng của các giao thức: Kỹ thuật này căn cứ vào hoạt động của các giao thức, các dịch vụ của hệ thống để tìm ra các gói tin không hợp lệ Các hoạt động bất thờng vốn là dấu hiệu của sự xâm nhập, tấn công Kỹ thuật này rất hiệu quả trong việc ngăn chặn các hình thức quét mạng, quét cổng để thu nhập thông tin của các tin tặc.

Phơng pháp dò sự không bình thờng của hệ thống rất hữu hiệu trong việc phát hiện các cuộc tấn công kiểu từ chối dịch vụ. Ưu điểm của phơng pháp này là có thể phát hiện ra các kiểu tấn công mới, cung cấp các thông tin hữu ích bổ sung cho phơng pháp dò sự lạm dụng, tuy nhiên chúng có nhợc điểm thờng tạo ra một số lợng các cảnh báo sai làm giảm hiệu suất hoạt động của mạng Phơng pháp này sẽ là hớng đợc nghiên cứu nhiều hơn, khắc phục các nhợc điểm còn tồn tại, giảm số lần cảnh báo sai để hệ thống chạy chuẩn xác hơn.

Những giới hạn chung của các hệ thống IDS…… 57 Chơng 3: Ngăn chặn xâm nhập bằng mật mã học

Tình trạng thiếu tài nguyên có thể dẫn một hệ thống IDS có bộ nhớ, CPU, hoặc giới hạn băng thông, có thể bị treo cứng Để theo dõi những kết nối, IDS càn thiết lập một bản ghi kết nối cho mỗi kết nối tích cực Nếu số kết nối quá mức đợc làm, những tài nguyên (Bộ nhớ, CPU, Băng thông) có thể bị quá tải Hacker thờng sử dụng kỹ thuật làm lụt SYN để tạo ra kiểu sự từ chối dịch vụ này.

Trong hệ thống mạng diện rộng sử dụng các Router hay cácSwitch, các IDS riêng lẻ thờng không thể kiểm soát hiệu quả đợc toàn bộ hệ thống mạng Việc triển khai nhiều hệ thống IDS sẽ làm cho công tác cập nhật các mẫu phức tạp hơn và công tác quản lý các cảnh báo cũng sẽ gặp nhiều khó khăn hơn.

Các hệ thống IDS thờng không thể phát hiện ra dạng xâm nhập mới Các xâm nhập sử dụng kết hợp nhiều kết nối bình th- ờng sẽ bị bỏ qua.

Chơng iii: ngăn chặn xâm nhập bằng mật mã học

Một số hệ mật cổ điển

Mã dịch vòng

Ta sẽ sử dụng MDV (với modulo 26) để mã hoá một văn bản tiếng Anh thông thờng bằng cách thiết lập sự tơng ứng giữa các kí tự và dãy các số tự nhiên theo modulo 26 nh sau:

Sau đây là một ví dụ nhỏ để minh hoạ:

Giả sử khoá cho MDV là K = 11 và bản rõ là: wewillmeetatmidnight

Trớc tiên biến đổi bản rõ thành dãy các số nguyên nhờ dùng phép tơng ứng trên:

0 19 12 8 3 13 8 6 7 19 sau đó cộng 11 vào mỗi giá trị rồi rút gọn tổng theo modulo 26

Cuối cùng biến đổi dãy số nguyên này thành các kí tự thu đ- ợc bản mã sau:

HPHTWWXPPELEXTOYTRSE Để giải bản mã này, Bob sẽ biến đổi bản mã thành dãy các số nguyên rồi trừ đi 11, rút gọn theo modulo 26 và cuối cùng biến

7 đổi lại dãy này thành các ký tự Trong ví dụ trên, ta đã dùng các chữ in hoa cho bản mã, các chữ thờng cho bản rõ để tiện phân biệt Quy tắc này còn tiếp tục sử dụng sau này.

Nhận xét rằng, MDV (theo modulo 26) là không an toàn vì nó có thể bị thám theo phơng pháp vét cạn Do chỉ có 26 khoá nên dễ dàng thử mọi khoá dK có thể cho tới khi nhận đợc bản rõ có nghĩa.

Mã thay thế

Một hệ mật nổi tiếng khác là hệ mã thay thế Hệ mật này đã đợc sử dụng hàng trăm năm với các trò chơi đố chữ trong các bài báo

Sau đây là một ví dụ về một hàm mã thay thế kí hiệu là ep chỉ cần sử dụng một phép hoán vị ngẫu nhiên p: a b c d e f g h i j k l m

Nh vậy, ep(a) = X, ep(b) = N Hàm giải mã là phép hoán vị ngợc Điều này đợc thực hiện bằng cách viết hàng thứ hai lên tr- ớc rồi sắp xếp theo thứ tự chữ cái Ta nhận đợc:

Mỗĩ khoá của MTT là một phép hoán vị của 26 kí tự Số các hoán vị này là 26!, lớn hơn 4 ´10 26 là một số rất lớn Bởi vậy, phép tìm khoá vét cạn không thể thực hiện đợc bằng các tính toán trên giấy thông thờng Tuy nhiên, sau này sẽ thấy rằng MTT có thể dễ dàng bị thám bằng các phơng pháp khác.

Mã Affine

MDV là một trờng hợp đặc biệt của MTT chỉ gồm 26 trong số 26! các hoán vị có thể của 26 phần tử Một trờng hợp đặc biệt khác của MTT là mã Affine đợc mô tả dới đây trong mã Affine, ta giới hạn chỉ xét các hàm mã có dạng: e(x) = ax + b mod 26 trong đó a,b ẻ Z26 Các hàm này đợc gọi là các hàm Affine (chú ý rằng khi a = 1, ta cã MDV) XÐt mét vÝ dô nhá:

Giả sử K = (7,3) Nh đã nêu ở trên, ta tính 7 -1 mod 26 = 15. Hàm mã hoá là: eK(x) = 7x+3

Và hàm giải mã tơng ứng là: dK(x) = 15(y-3) = 15y -19 ở đây, tất cả các phép toán đều thực hiện trên Z26 Ta sẽ kiểm tra liệu dK(eK(x)) = x với mọi x ẻ Z26 không? Dùng các tính toán trên Z26, ta có: dK(eK(x)) =dK(7x+3)

= x +45 -19 = x Để minh hoạ, ta hãy mã hoá bản rõ "hot" Trớc tiên biến đổi các chữ h, o, t thành các thặng d theo modulo 26 Ta đợc các số t- ơng ứng là 7, 14 và 19 Bây giờ sẽ mã hoá:

Bởi vậy 3 ký hiệu của bản mã là 0, 23 và 6 tơng ứng với x©u ký tù AXG.

Mã Vigenère

Trong cả hai hệ MDV và MTT (một khi khoá đã đợc chọn) mỗi ký tự sẽ đợc ánh xạ vào một ký tự duy nhất Vì lý do đó, các hệ mật trên còn đợc gọi hệ thay thế đơn biểu Bây giờ ta sẽ trình bày một hệ mật đa biểu lấy tên của Blaise de Vigenère sống vào thÕ kû XVI.

Ta có thể gắn cho mỗi khoá K với một chuỗi kí tự có độ dài m đợc gọi là từ khoá Mật mã Vigenère sẽ mã hoá đồng thời m kí tự: mỗi phần tử của bản rõ tơng đơng với m ký tự Xét một ví dụ nhá:

Giả sử m =6 và từ khoá là CIPHER Từ khoá này tơng ứng với dãy số K = (2, 8, 15, 4, 17) Giả sử bản rõ là xâu: thiscryptosystemisnotsecure Chúng ta biến đổi bản rõ thành các số, nhóm chúng thành từng nhóm 6 rồi cộng với từ khóa theo module 26:

Bởi vậy, dãy ký tự tơng ứng của xâu bản mã sẽ là:

V P X Z G I A X I V W P U B T T M J P W I Z I T W Z T Để giải mã ta có thể dùng cùng từ khoá nhng thay vì cộng ta trừ nó theo module 26 Ta thấy rằng các từ khoá với độ dài m trong phơng pháp mã hoá Vigenere là 26 m Bởi vậyvới các giá trị m khá nhỏ, phơng pháp tìm kiếm vét cạn cũng yêu cầu thời gian khá lớn Ví dụ, nếu m = 5 thì không gian khoá cũng có kích thớc lớn hơn 1,1 ´ 10 7

Nhận xét: Trong hệ mật Vigenère có từ khoá độ dài m, mỗi ký tự có thể đợc ánh xạ vào trong m ký tự có thể có (giả sử rằng từ khoá chứa m ký tự phân biệt) Một hệ mật nh vậy đợc gọi là hệ mật thay thế đa biểu Nói chung, việc thám mã hệ thay thế đa biểu sẽ khó khăn hơn so việc thám mã hệ đơn biểu.

Mật mã Hill

Trong phần này sẽ mô tả một hệ mật thay thế đa biểu khác đợc gọi là mật mã Hill Mật mã này do Lester S.Hill đa ra năm 1929. Giả sử m là một số nguyên dơng ý tởng ở đây là lấy m tổ hợp tuyến tính của m ký tự trong một phần tử của bản rõ để tạo ra m ký tự ở một phần tử của bản mã.

Ví dụ nếu m = 2 ta có thể viết một phần tử của bản rõ là x

= (x1,x2) và một phần tử của bản mã là y = (y1,y2) ở đây, y1 cũng nh y2 đều là một tổ hợp tuyến tính của x1và x2.

Nói chung, có thể lấy một ma trận K kích thớc m ´ m làm khoá Nếu một phần tử ở hàng i và cột j của K là ki,j thì có thể

351642 viết K = (ki,j), với x = (x1, x2, ,xm) là bản rõ và K ẻ ma trận khoá

K , ta tÝnh y = eK(x) = (y1, y2, ,ym) nh sau:

Nói một cách khác y = xK Chúng ta nói rằng bản mã nhận đợc từ bản rõ nhờ phép biến đổi tuyến tính Ta sẽ xét xem phải thực hiện giải mã nh thế nào, tức là làm thế nào để tính x từ y. Với đại số tuyến tính sẽ thấy rằng phải dùng ma trận nghịch đảo

K -1 để giải mã Bản mã đợc giải mã bằng công thức x=y K -1

Mã hoán vị

Tất cả các hệ mật thảo luận ở trên ít nhiều đều xoay quanh phép thay thế: các ký tự của bản rõ đợc thay thế bằng các ký tự t- ơng ứng trong bản mã T tởng của mã hoán vị (MHV) là giữ các ký tự của bản rõ không thay đổi nhng sẽ thay đổi vị trí của chúng bằng cách sắp xếp lại các ký tự này MHV (còn đợc gọi là mã chuyển vị) đã đợc dùng từ hàng trăm năm nay Không giống nh mã thay thế (MTT), ở đây không có các phép toán đại số nào cần thực hiện khi mã hoá và giải mã nên thích hợp hơn cả là dùng các ký tự mà không cần dùng các thặng d Dới đây là một ví dụ minh hoạ:

Giả sử m = 6 và khoá là phép hoán vị ( p ) sau:

Bây giờ giả sử có bản rõ:

Chuẩn mã hóa dữ liệu (DES)

Mô tả DES

DES mã hoá một xâu 64 bits x của bản rõ bằng một khoá cũng có độ dài 64 bits (54 bits làm khoá và 8 bits kiểm sai) Bản mã nhận đợc là một xâu 64 bit tơng ứng Trớc hết ta mô tả ở mức cao của hệ thống.

Thuật toán tiến hành theo 3 giai đoạn:

Với bản rõ cho trớc x, một xâu bít x0 sẽ đợc xây dựng bằng cách hoán vị các bít của x theo phép hoán vị cố định ban đầu

IP Ta viết:x0= IP(X) = L0R0, trong đó L0 gồm 32 bít đầu và R0 là

Sau đó tính toán 16 lần lặp theo một hàm f xác định Ta sẽ tính LiRi, 1 Ê i Ê16 theo quy tắc sau:

Ri = Li-1 Å f(Ri-1, Ki) trong đó Å là ký hiệu của phép hoặc_loại trừ của hai xâu bít (cộng theo modulo 2) f là một hàm mà ta sẽ mô tả ở sau, còn

K1,K2, ,K16 là các xâu bít độ dài 48 đợc tính nh hàm của khoá

K (mỗi Ki là một phép chọn hoán vị bít trong K) K1, , K16 sẽ tạo thành bảng khoá Một vòng của phép mã hoá đợc mô tả nh trên hình 3-2 Cuối cùng hoán vị ngợc IP -1 cho xâu bít R16L16, ta thu đ- ợc bản mã y Tức là: y=IP -1 (R16L16) Hãy chú ý thứ tự đã đảo của

Hình 3-2: Một vòng của DES

Chi tiết hơn nữa hàm f có hai biến vào: biến thứ nhất A là xâu 32bits, biến thứ hai J là một xâu 48 bits Đầu ra của f là một xâu 32 bits Các bớc sau đợc thực hiện:

- Biến thứ nhất A đuợc mở rộng thành một xâu bít độ dài 48 theo một hàm mở rộng cố định E E(A) gồm 32 bít của A (đợc hoán vị theo cách cố định) với 16 bits xuất hiện hai lần.

- Tính E(A) Å J và viết kết quả thành một chuỗi 8 xâu 6 bít

- Dùng 8 bảng S1, S2, ,S8 ( đợc gọi là các hộp S ) Với mỗi Si là một bảng 4´16 cố định có các hàng là các số nguyên từ 0 đến

15 Với xâu bít có độ dài 6 (kí hiệu Bi = b1b2b3b4b5b6), ta tính

Sj(Bj) nh sau: Hai bit b1b6 xác định biểu diễn nhị phân của hàng r của Sj ( 0 Ê r Ê 3) và bốn bit (b2b3b4b5) xác định biểu diễn nhị phân của cột c của Sj ( 0 Ê c Ê 15 ) Khi đó Sj(Bj) sẽ xác định phần tử Sj(r,c); phần tử này viết dới dạng nhị phân là một xâu bits có độ dài 4

Bởi vậy, mỗi Sj có thể đợc coi là một hàm mã mà đầu vào là một xâu bít có độ dài 2 và một xâu bits có độ dài 4, còn đầu ra là một xâu bits có độ dài 4

Bằng cách tơng tự tính các Cj = Sj(Bj), 1 Ê j Ê 8.

Xâu bít C = C1C2 C8 có độ dài 32 đợc hoán vị theo phép hoán vị P Xâu kết quả là P(C) đợc xác định là f(A,J) Nh vậy chủ yếu f gồm một phép thế (sử dụng hộp S ), tiếp sau đó là phép hoán vị P

Ta sẽ mô tả các hàm cụ thể đợc dùng trong DES Phép hoán vị ban đầu IP nh sau:

Bảng này có nghĩa là bít thứ 58 của x là bít đầu tiên của IP(x); bít thứ 50 của x là bít thứ hai của IP(x), v.v

Phép hoán vi ngợc IP -1 là:

57 25 Hàm mở rộng E đợc xác định theo bảng sau:

Và phép hoán vị P có dạng:

Cuối cùng ta cần mô tả việc tính toán bảng khoá từ khoá K.Trên thực tế, K là một xâu bits độ dài 64, trong đó 56 bits là khoá và 8 bít để kiểm tra tính chẵn lẻ nhằm phát hiện sai Các bít ở các vị trí 8,16, , 64 đợc xác định sao cho mỗi byte chứa một số lẻ các số "1".Các bít kiểm sai bị bỏ qua trong quá trình tính toán bảng khoá.

Ta sẽ đa ra bảng khoá kết quả Nh đã nói ở trên, mỗi vòng sử dụng một khoá 48 bít gồm 48 bít nằm trong K Các phần tử trong các bảng dới đây biểu thị các bít trong K trong 16 vòng khoá khác nhau.

Hình 3-4: 16 vòng khoá của DES

Phép giải mã đợc thực hiện nhờ dùng cùng thuật toán nh phép mã nhng đầu vào là y nhng dùng bảng khoá theo thứ tự ngợc lại K16, K1 Đầu ra của thuật toán sẽ là bản rõ x.

Độ an toàn của DES

Khi DES đợc đề xuất nh một chuẩn mật mã, đã có rất nhiều ý kiến phê phán Một lý do phản đối DES có liên quan đến các hộp S Mọi tính toán liên quan đến DES ngoại trừ các hộp S đều tuyến tính Các hộp S - chứa đựng thành phần phi tuyến của hệ mật là yếu tố quan trong nhất đối với độ mật của hệ thống (Các hệ mật tuyến tính - chẳng hạn nh mật mã Hill - có thể dễ dàng bị mã thám khi bị tấn công bằng bản rõ đã biết) Tuy nhiên tiêu chuẩn xây dựng các hộp S không đợc biết đầy đủ Một số ngời đã gợi ý là các hộp S phải chứa các "cửa sập" đợc dấu kín, cho phép Cục An ninh Quốc gia Mỹ (NSA) giải mã đợc các thông báo nh- ng vẫn giữ đợc mức độ an toàn của DES Dĩ nhiên ta không thể bác bỏ đợc khẳng định này, tuy nhiên không có một chứng cớ nào đợc đa ra để chứng tỏ rằng trong thực tế có các “cửa sập” nh vËy.

Sự phản đối xác đáng nhất về DES chính là kích thớc của không gian khoá: 2 56 là quá nhỏ để đảm bảo an toàn thực sự. Nhiều thiết bị chuyên dụng đã đợc đề xuất nhằm phục vụ cho việc tấn công với bản rõ đã biết Phép tấn công này chủ yếu thực hiện tìm khoá theo phơng pháp vét cạn Tức với bản rõ 64 bits x và bản mã y tơng ứng, mỗi khoá đều có thể đợc kiểm tra cho tới

9 khi tìm đợc một khoá K thảo mãn eK(x) = y Cần chú ý là có thể có nhiều hơn một khoá K nh vậy.

Ngay từ năm 1977, Diffie và Hellman đã gợi ý rằng có thể xây dựng một chíp VLSI (mạch tích hợp mật độ lớn) có khả năng kiểm tra đợc 10 6 khoá/giây Một máy có thể tìm toàn bộ không gian khoá trong khoảng 1 ngày Họ ớc tính chi phí để tạo một máy nh vậy khoảng 2.10 7 $.

Trong cuộc hội thảo tại hội nghị CRYPTO'93, Michael Wiener đã đa ra một thiết kế rất cụ thể về máy tìm khoá Máy này xây dựng trên một chíp tìm khoá, có khả năng thực hiện đồng thời

16 phép mã và tốc độ tới 5´10 7 khoá/giây Với công nghệ hiện nay, chi phí chế tạo khoảng 10,5$/chíp Giá của một khung máy chứa 5760 chíp vào khoảng 100.000$ và nh vậy nó có khả năng tìm ra một khoá của DES trong khoảng 1,5 ngày Một thiết bị dùng 10 khung máy nh vậy có giá chừng 10 6 $ sẽ giảm thời gian tìm kiếm khoá trung bình xuống còn 3,5 giờ

3.3 hệ mật khoá công khai và các thuật toán băm

3.3.1 Giới thiệu chung về hệ mật khoá công khai

Trong mô hình mật mã cổ điển Alice (ngời gửi) và Bob (ngời nhận) chọn một cách bí mật khoá K Sau đó dùng K để tạo luật mã hoá e k và luật giải mã d k Trong hệ mật này d k hoặc giống nh e k hoặc dễ dàng nhận đợc từ e k (ví dụ nh trong hệ DES quá trình giải mã hoàn toàn tơng tự nh quá trình mã nhng thủ tục khoá ngợc lại) Các hệ mật thuộc loại này đợc gọi là hệ mật khoá bí mật, nếu để lộ e k thì làm cho hệ thống hoàn toàn mất an toàn. Nhợc điểm của hệ mật này là nó yêu cầu phải có thông tin trớc về khoá K giữa Alice và Bob qua một kênh an toàn trớc khi gửi một bản mã bất kỳ Trên thực tế điều này rất khó đảm bảo.Chẳng hạn khi Alice và Bob ở cách xa nhau và họ chỉ có thể liên lạc với nhau bằng th điện tử (Email) Trong tình huống đó Alice và Bob không thể tạo một kênh bảo mật với giá phải chăng. ý tởng xây dựng một hệ mật khoá công khai (hay khoá dùng chung) là tìm một hệ mật không có khả năng tính toán về thời gian thực để xác định d k khi biết e k Nếu thực hiện đợc nh vậy thì quy tắc mã e k có thể đợc công khai bằng cách công bố nó trong một danh bạ (bởi vậy nên có thuật ngữ hệ mật khoá công khai) Ưu điểm của hệ mật khoá công khai là ở chỗ Alice (hoặc bất kì một ai) có thể gửi một bản tin đã mã cho Bob (mà không cần thông tin trớc về khoá mật) bằng cách dùng luật mã công khai e k Ngời nhận sẽ là ngời duy nhất có thể giải đợc bản mã này bằng cách sử dụng luật giải mã bí mật d k của mình. ý tởng về một hệ mật khoá công khai đã đợc Diffie và Hellman đa ra vào năm 1976 Còn việc hiện thực hoá nó thì do

Rivest, Shamir và Adleman đa ra đầu tiên vào năm 1977, họ đã tạo nên hệ mật nổi tiếng RSA

Sau đây là một số hệ mật khoá công khai quan trọng :

+ Hệ mật RSA Độ bảo mật của hệ RSA dựa trên độ khó của việc phân tích ra thừa số nguyên tố các số nguyên lớn

+ Hệ mật xếp ba lô Merkle - Hellman

Hệ này và các hệ liên quan dựa trên tính khó giải của bài toán tổng các tập con (bài toán này là bài toán NP đầy đủ – là một lớp khá lớn các bài toán không có thuật giải trong thời gian đa thức) Tuy nhiên tất cả các hệ mật xếp ba lô khác nhau đều đã bị chứng tỏ là không mật (ngoại trừ hệ mật Chor – Rivest sẽ đợc nêu díi ®©y)

Hệ này dựa trên lý thuyết mã đại số và vẫn còn đợc coi là an toàn Hệ mật McEliece dựa trên bài toán giải mã cho các mã tuyến tính (cũng là một bài toán NP đầy đủ).

Hệ mật Elgamal dựa trên tính khó giải của bài toán logarithm rời rạc trên các trờng hữu hạn

Hệ mật Chor - Rivest cũng đuợc xem nh một loại hệ mật xếp ba lô Tuy nhiên nó vẫn đợc coi là an toàn.

+ Hệ mật trên các đờng cong Elliptic

Các hệ mật này là biến tớng của các hệ mật khác (chẳng hạn nh hệ mật Elgamal), chúng làm việc trên các đờng cong Elliptic chứ không phải là trên các trờng hữu hạn.Một chú ý quan trọng là một hệ mật khoá công khai không bao giờ có thể đảm bảo đợc độ mật tuyệt đối (an toàn vô điều kiện) Sở dĩ nh vậy vì đối phơng khi nghiên cứu một bản mã y có thể thử lần lợt các bản rõ bằng luật mã công khai e k cho tới khi anh ta tìm đợc bản rõ duy nhất x đảm bảo y = e k (x) Bản rõ này chính là kết quả giải mã của y Bởi vậy ta chỉ nghiên cứu độ mật về mặt tính toán của các hệ mật này

Một khái niệm có ích khi nghiên cứu hệ mật khoá công khai là khái niệm hàm cửa sập một chiều Các hàm một chiều đóng vai trò quan trọng trong mật mã học Chúng rất quan trọng trong các hệ mật khoá công khai và trong nhiều lĩnh vực khác. Đáng tiếc là mặc dù có rất nhiều hàm đợc coi là hàm một chiều nhng cho tới nay vẫn không tồn tại một hàm nào có thể chứng minh đợc là hàm một chiều.

Trong khuôn khổ của khoá luận chúng ta sẽ nghiên cứu hệ mật RSA, một hệ mật có thể vừa dùng làm hệ mật khoá công khai vừa có thể áp dụng trong việc xây dựng sơ đồ chữ kí số.

Hệ mật này sử dụng các tính toán trong Zn, trong đó n là tích của 2 số nguyên tố phân biệt p và q Ta xét: f(n) = (p-1)(q- 1).

Ta hãy kiểm tra xem các phép mã và giải mã có phải là các phép toán nghịch đảo của nhau hay không Vì: ab º 1 (mod f(n)) nên ta có ab = t f(n) + 1 với một số nguyên t ³ 1 nào đó Giả sử x ẻ Zn *; khi đó ta có:

(x b ) a º x t f (n)+1 (mod n) º (x f (n) ) t x (mod n) º 1 t x (mod n) º x (mod n) Để hiểu rõ hơn vấn đề này ta sẽ xem xét một ví dụ nhỏ (tất nhiên là không mật!!! ) về hệ mật RSA Ví dụ:

Giả sử Bob chọn p = 101 và q = 113 là hai số nguyên tố Khi đó n = 11413 và f(n) = 100´112 = 11200 Vì 11200 = 2 6 5 2 7, nên có thể dùng một số nguyên b nh một số mũ mã hoá khi và chỉ khi b không chia hết cho 2, 5 hoặc 7 (Vì thế trong thực tế Bob

Cho n = p.q trong đó p và q là các số nguyên tố

K = {(n,p,q,a,b): n = p.q, p,q là các số nguyên tố, ab º 1(mod f(n))}

(x,y) ẻ Z n Các giá trị n và b đợc công khai , các giá trị p, q, a đợc giữ bí mật.

9 sẽ không phân tích f(n), anh ta sẽ kiểm tra điều kiện (Uớc số chung lớn nhất) (f(n),b) = 1 (bằng thuật toán Euclide) Giả sử Bob chọn b = 3533, khi đó theo thuật toán Euclide mở rộng Bob sẽ tính đợc a: a= b -1 = 6597 (mod 11200) (b -1 là số sao cho tích của nó với b là một số đồng d với 1 theo module 11200) Bởi vậy số mũ mật để giải mã của Bob là ae97.

Bob sẽ công bố n = 11413 và b = 3533 trong một danh bạ. Bây giờ, giả sử Alice muốn gửi bản rõ 9726 tới Bob Alice sử dụng b và n mã hoá công khai:

9726 3533 mod 11413 = 5761 rồi gửi bản mã 5761 trên kênh Khi đó Bob nhận đợc bản mã 5761, anh ta sử dụng số mũ a mật chỉ Bob biết (do biết f(n)=(p-1)(q- 1)):

Ngày đăng: 03/07/2023, 18:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1) William Stalling, “Cryptography and Network Security”, Prentice Hall, 1999 Sách, tạp chí
Tiêu đề: Cryptography and Network Security
2) Nguyễn Quốc Cờng, “Internet Working với TCP/IP”, NXB Giáo Dôc, 2001 Sách, tạp chí
Tiêu đề: Internet Working với TCP/IP
Nhà XB: NXB Giáo Dôc
3) Nguyễn Thúc Hải, “Mạng máy tính và các hệ thống mở”, NXB Giáo Dục Sách, tạp chí
Tiêu đề: Mạng máy tính và các hệ thống mở
Nhà XB: NXB Giáo Dục
4) Nguyễn Minh Hoàng, “Linux-giáo trình lý thuyết và thực hành”, NXB Lao Động – Xã Hội Sách, tạp chí
Tiêu đề: Linux-giáo trình lý thuyết và thực hành
Nhà XB: NXB Lao Động – Xã Hội
5) Vnguide, “Bảo mật trên mạng-Bí quyết và Giải pháp”,NXB Thống Kê, 2003 Sách, tạp chí
Tiêu đề: Bảo mật trên mạng-Bí quyết và Giải pháp
Nhà XB: NXB Thống Kê
6) Nguyễn Văn Bình, “Đề tài nghiên cứu bảo vệ luận văn thạc sỹ”, Đại học Đà Nẵng 2005 Sách, tạp chí
Tiêu đề: Đề tài nghiên cứu bảo vệ luận văn thạc sỹ

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

TÀI LIỆU LIÊN QUAN

w