ATBMTT

Màu nền
Font chữ
Font size
Chiều cao dòng

Nội dung ôn tập môn an toàn bảo mật hệ thống thông tin

http://th5b.darkbb.com/f13-forum

- đồ án

http://nguyenitt2005.wordpress.com/system-security-and-assurance/

Phần I.

v

Mục tiêu

:

v

Tính bảo mật (bí mật):

thông tin chỉ được phép truy cập (đọc, xem, in, sử dụng), bởi những đối tượng (người, chương trình máy tính,…) được cấp phép.

-

Tính bí mật của thông tin có thể đạt được bằng cách giới hạn truy cập về cả mặt vật lý (VD tiếp cận trực tiếp tới thiết bị lưu trữ thông tin đó) và logic (VD truy cập thông tin đó từ xa qua môi trường mạng…), hoặc mã hóa thông tin trước khi nó truyền đi qua mạng.

-

VD:

+ Khóa kín và niêm phong thiết bị.

+ Yêu cầu đối tượng cung cấp các thông tin để xác thực như user/password hay đặc điểm sinh trắc.

+ Sử dụng firewall hoặc ACL trên router để ngăn chặn truy cập trái phép.

+ Mã hóa thông tin sử dụng các phương thức (SSL/TSL…) và thuật toán mạnh (AES, DES…).

v

Đám bảo tính toàn vẹn của thông tin:

tức là thông tin chỉ được phép xóa hoặc sửa bởi những đối tượng được phép và phải đảm bảo rằng thông tin vẫn còn chính xác khi được lưu trữ hay truyền đi.

-

VD: trường thông tin để phân biệt người dùng như tên đăng nhập (ID) không được phép thay đổi.

+ Người dùng có thể thêm, sửa, xóa, đổi, password, thông tin cá nhân của mình nhưng không được phép thay đổi ID.

+ Đảm bảo khi có sự cố trên đường truyền tin làm tín hiệu bị nhiễu, suy hao thì phải có cơ chế truyền lại, tránh sai lệch.

v

Đảm bảo tính sẵn sàng của thông tin:

tức là thông tin có thể được truy xuất bởi những người được phép vào bất cứ khi nào họ muốn.

-

VD:

khi hacker cản trở tính sẵn sàng của hệ thống: máy của hacker sẽ gửi hang loạt các gói tin có các MAC nguồn giả tạo đến switch là bộ nhớ lưu trữ MAC address table của witch nhanh chóng bị đầy khiến switch không thể hoạt động bình thường được nữa (một thuộc hình tấn công từ chối dịch vụ DoS). Để tăng khả năng chống trọi với các cuộc tấn công cũng như duy trì độ sẵn sàng của hệ thống ta có thể áp dụng một số kĩ thuật như:

+ Load Balancing (cân bằng tải): phân đều ra các server để xử lý và có backup nếu có sự cố, tránh tình trạng quá tải gây gián đoạn. Thường dùng trong các ứng dụng mang tính nhất thời như Web, FTP, VPN, DHCP…

+ Clustering: sử dụng nhiều máy chủ kết hợp với nhau tạo thành một cụm có khả năng chấp nhận sai sót nhằm nang cao độ sẵn sàng của hệ thống.

+ Redundancy: (hệ thống dự phòng): là bản sao của hệ thống chính hoặc máy chủ chính để có thể backup khi có sự cố.

+ Failover: khi một máy chủ ngừng hoạt động do có sự cố hay nâng cấp, bảo trì thì toàn bộ công việc của mày chủ này đảm nhận sẽ được tự động chuyển sang cho một máy chủ khác (trong cùng 1 cluster-cụm).

v

Tính xác thực:

thông tin bao gồm các xác thực về đối tác (nhận-gửi), xác thực thông tin trao đổi.

v

Tính sở hữu:

đảm bảo người gửi thông tin không thể thoái thác trách nhiệm về thông tin mà mình đã gửi.

v

Tính tiện ích:

1.

Mục tiêu của an toàn bảo mật hệ thống thông tin? Đưa ra ví dụ minh họa về mục tiêu:

v

Mục tiêu:

Một hệ thống lý tưởng là hệ thống có

-

Có chính sách xác định một cách chính xác và đầy đủ các trạng thái an toàn của hệ thống.

-

Có cơ chế thực thi đầy đủ và hiệu quả các quy định trong chính sách.

Tuy nhiên trong thực tế rất khó xây dựng những hệ thống như vậy do có những hạn chế về kĩ thuật, về con người hoặc do chi phí thiết lập cơ chế cao hơn lợi ích mà hệ thống an toàn đem lại. Do vậy khi xây dựng một hệ thống bảo mật thì mục tiêu đặt ra cho cơ chế được áp dụng phải bao gồm 3 phần như sau:

·

Ngăn chặn (prevention):

mục tiêu thiết kế là ngăn chặn các vi phạm đối với chính sách. Có nhiều sự kiện, hành vi dẫn đến vi phạm chính sách. Có những sự kiện đã được nhận diện là nguy cơ của hệ thống những có những sự kiện chưa được ghi nhận là nguy cơ. Hành vi vi phạm có thể đơn giản như việc để lộ mật khẩu, quên thoát khỏi hệ thống khi rời khỏi máy tính,… hoặc có những vi phức tạp và có chủ đích như cố gắng tấn công vào hệ thống từ bên ngoài.

-

Các cơ chế an toàn (secure mechanism)  hoặc cơ chế chính xác (precise mechanism) theo định nghĩa ở trên là các cơ chế được thiết kế với mục tiêu ngăn chặn.

-

VD: + Khóa kín và niêm phong thiết bị.

+ Yêu cầu đối tượng cung cấp các thông tin để xác thực như user/password hay đặc điểm sinh trắc.

+ Sử dụng firewall hoặc ACL trên router để ngăn chặn truy cập trái phép.

+ Mã hóa thông tin sử dụng các phương thức (SSL/TSL…) và thuật toán mạnh (AES, DES…).

·

Phát hiện (detection):

mục tiêu khi thiết kế tập trung vào các sự kiện vi phạm chính sách và đang xảy ra trên hệ thống.

-

Về cơ bản các cơ chế phát hiện xâm nhập chủ yếu dựa vào việc theo dõi và phân tích các thôngt in trong nhật kí hệ thống (system log) và dữ liệu đang được lưu thông trên mạng để tìm ra các dấu hiệu của vi phạm. Các dấu hiệu này thường phải được nhận diện trước và mô tat trong một cơ sở dữ liệu của hệ thống (signature database).

-

VD: khi máy tính nhiệm virus, đa số các trường hợp người sử dụng phát hiện ra virus khi nó đã thực hiện phá hoại trên máy tính. Tuy nhiên có nhiều virus vẫn ở dạng tiềm ẩn chứ chưa thi hành, khi đó dùng chương trình quét virus có thể sẽ phát hiện ra. Để chương trình virus làm việc có hiệu quả thì cần phải cập nhật thường xuyên danh sách các virus. Quá trình cập nhật là quá trình đưa thêm các mô tả về dấu hiệu nhận biết các loại virus mới vào cơ sở dữ liệu (virus database hoặc virus list).

·

Phục hồi (recovery):

mục tiêu của thiết kế gồm các cơ chế nhặm chặn đứng các vi phạm đang diễn ra hoặc khắc phục hậu quả của vi phạm một cách nhanh chóng nhất với mức độ thiệt hại thấp nhất.

-

 Một phần quan trọng của các cơ chế phục hồi là việc nhận diện sơ hở của hệ thống và điều chỉnh những sơ hở đó. Nguồn góc của sơ hở có thể do chính sách an toàn chưa chặt chẽ hoặc do lỗi kĩ thuật của cơ chế.

-

VD:

2.

Mục tiêu, ý nghĩa của chính sách. Phân tích lý do thiết lập chính sách:

Chính sách bảo mật là hệ thống các quy định nhằm đảm bảo sự an toàn của hệ thống.

v

Mục tiêu của chính sách:

-

Là cơ sở cho các tiêu chuẩn, chỉ dẫn, hướng dẫn.

-

Chính sách nội bộ sẽ đưa ra yêu cầu với nhận viên và những hành động được xem xét

-

Chính sách bên ngoài để mọi người biết được cách thức hoạt động của dự án, sự hỗ trợ đối với công việc, và cho thấy tổ chức hiểu được sự bảo vệ tài sản là ván đề cấp thiết để thực hiện thành công nhiệm vụ.

v

Lý do thiết lập chính sách AT&BMHTTT:

-

Bảo vệ thông tin phải là một phần của chương trình bảo vệ tài sản của tổ chức.

-

Chính sách là một tiến trình nghiệp vụ cung cấp cho người quản lý các xử lý cần thiết để thực hiện trách nhiệm liên quan.

3.

Các đe dọa với an toàn bảo mật hệ thống thông tin, phân tích những đe dọa và giải pháp giảm bớt đe dọa:

v

Các đe dọa với ATBMHTTT:

-

Tấn công mạng máy tính hoặc HTTT: tấn công từ chối dịch vụ DoS, DDoS; tấn công giả danh; tấn công xen giữa; tấn công xen giữa; nghe lén; tấn công mật khẩu; làm tràn kết nối TCP;

-

Tiết lộ thông tin / truy xuất thông tin trái phép: Nghe lén, đọc lén (snooping): nghe lén một cuộc đàm thoại, mở một tập tin trên máy người khác, vào một kết nối mạng để ăn cắp dữ liệu, keylog.

-

Phát thông tin sai / chấp nhận thông tin sai: cũng tương tự những hành vi trên nhưng mang tính chủ động, tức là có thay đổi thông tin gốc. Nếu thông tin bị thay đổi là thông tin điều khiển hệ thống thì mức độ thiệt hại sẽ nghiêm trọng hơn vì không chỉ gây ra sai dữ liệu và còn có thể làm thay đổi các chính sách an toàn của hệ thống hoặc ngăn chặn hoạt động bình thường của hệ thống.

+ Hình thức tấn công xen giữa Man-in-the-middle cũng thuộc đe dọa này. Hình thức tấn công này là xen vào một kết nối mạng, đọc lén thông tin và thay đổi thông tín đó trước khi gửi đến cho nơi nhận.

+ Giả danh (Spoofing): thực hiện việc trao đổi thông tin với một đối tác bằng cách giải danh một thực thể khác.

+ Phủ nhận hành vi (repudiation): thực hiện hành vi phát ra thông tin, nhưng sau đó lại chối bỏ hành vi này, tức không công nhận nguồn gốc của thông tin và do đó vi phạm yêu cầu về tính toàn vẹn của thông tin.

-

Phá hoại / ngăn chặn hoạt động của hệ thống: bằng cách làm chậm hoặc gián đoạn dịch của hệ thống. VD: Tấn công từ chối dịch vụ hoặc virus.

-

Chiếm quyền điều khiển từng phần hoặc toàn bộ hệ thống: gây ra nhiều mức độ thiệt hại khác nhau, từ việc lấy cắp và thay đổi dữ liệu trên hệ thống đên việc thay đổi các chính sách bảo mật và vô hiệu hóa các cơ chế bảo mật đã được thiết lập.

VD: tấn công tràn bộ đệm là cách thường dùng nhất để chiếm quyền root trên các hệ thống Linux vốn được xây dựng trên tảng ngôn ngữ lập trình C.

-

Can thiệp: tài nguyên của hệ thống bị truy cập trái phép từ những người không có thẩm quyền, và bị sửa đổi, xóa…

-

Sửa đổi: tài nguyên của hệ thống bị sửa đổi trái phép. Điều này làm cho hệ thống không hoạt động hoặc hoạt động không đúng như lập trình. VD: thay đổi mật khẩu của người dùng khiến người dùng không thể truy cập vào hệ thống, thay đổi chức năng, thay đổi ID khiến dữ liệu bị sai lệch, mất…

-

Tổ chức hệ thống kĩ thuật không có cấu trúc hoặc không đủ mạnh để bảo vệ thông tin. VD: không có các biện pháp bảo vệ, không cập nhật và nâng cấp thường xuyên.

-

Không tuân hành các chính sách an toàn, không xác định rõ các quyền trong vận hành hệ thống. VD: phân quyền không tốt sẽ dẫn tới tình trạng người dùng không được phép thay đổi thông tin hệ thống hay xem cơ sở dữ liệu cũng có thể thay đổi, thêm sửa… hay window98 không có cơ chế xác thực người sử dingj nên bất cứ ai cũng có thể sử dụng máy với quyền cao nhất.

v

Các giải pháp giảm bớt đe dọa:

-

Bảo mật hệ thống:

+ Điều khiển truy xuất: quyền truy xuất đến tất cả các tài nguyên trong hệ thống được xác định một cách tường minh và gán cho các đối tượng xác định trong hệ thống.

+ Xác thực: có chức năng xác minh nhận dạng của một đối tượng trước khi trao quyền truy xuất cho đối tượng này đến một tài nguyên nào đó. Xác thực được thực hiện dựa trên 3 cơ sở: điều đối tượng biết (mật khẩu, câu hỏi bảo mật…), cái đối tượng có (VD thẻ thông minh smartcard), đặc trưng của đối tượng (các đặc điểm nhận dạng sinh trắc học như dấu vân tay, võng mạc…).

+ Kiểm tra: theo dõi hoạt động của hệ thống, ghi nhận các hành vi diễn ra trên hệ thống và liên kết các hành vi này với các tác nhân gây ra hành vi. Mục tiêu của kiểm tra:

  Cung cấp các thông tin cần thiết cho việc phục hồi hệ thống khi có sự cố.

  Đánh giá mức độ an toàn của hệ thống để có kế hoạch nâng cấp kịp thời.

  Cung cấp các thông tin làm chứng cớ cho việc phát hiện các hành vi truy xuất trái phép trên hệ thống.

-

Tạo tường lửa: ngăn chặn các tấn công xâm nhập từ bên ngoài vào hệ thống bên trong.

-

Xây dựng các hệ thống phát hiện xâm nhập: nhằm phát hiện các dấu hiêu của tấn công xâm nhập.

4.

Ý nghĩa phân lớp tài sản, sự kết hợp phân lớp tài sản với chính sách quản lý tài liệu. Ví dụ minh họa.

v

Ý nghĩa phân lớp tài sản:

-

Trong một hệ thống thông tin có rất nhiều tài sản khác nhau. Thậm chí ngay trong các tài sản có cùng hình thức (văn bản, máy móc….) cũng có giá trị khác nhau và mức độ quan trọng khác nhau trong hệ thống.

-

Việc phân lớp tài sản theo giá trị, độ quan trọng của nó trong hệ thống góp phần đưa ra các chính sách bảo mật tương ứng với từng lớp tài nguyên đó.

-

Dễ dàng trong quản lý hệ thống, tránh những mất mát không đáng có.

-

Là chìa khóa thành công cho chương trình bảo vệ thông tin.

v

Sự kết hợp phân lớp tài sản với chính sách quản lý tài liệu:

tài liệu là một loại tài sản trong HTTT. Phân lớp tài sản hỗ trợ chính sách quản lý tài liệu trong việc có thể biết được phân nhóm của tài liệu để đưa ra ứng xử hợp lý.

v

Ví dụ

:

-

Công ty phần mềm FPT phân chia các loại mẫu biểu thành 4 lớp:

-

Public: Các tài liệu có thể công bố công khai (giới thiệu công ty, lịch sử hình thành phát triển ….).

-

Internal User: Tài liệu sử dụng nội bộ cho toàn bộ nhân viên trong công ty (Convention, Tools hướng dẫn nghiệp vụ, mẫu biểu dự án).

-

Restricted: Thông tin chỉ dùng riêng cho từng nhóm (thường là tà liệu riêng của các group khi trong suốt quá trình triển khai project).

-

Confidential: Các thông tin đặc biệt quan trọng được bảo mật mức cao tại các khu vực giới hạn và chỉ một số người có quyền hạn mới được phép sử dụng. Thông thường đây là các văn bản về chiến lược phát triển, thông tin đối tác của FPT, kế hoạch nhân sự quan trọng, các thông tin dự án và sản phẩm của công ty hoặc của đối tác.

5.

Ý nghĩa điều khiển truy xuất, điều khiển vật lý, ví dụ minh họa, những đặc điểm của điều khiển truy xuất:

v

Ý nghĩa điều khiển truy xuất:

-

Quá trình điều khiển truy xuất tới một mạng và các tài nguyên của nó là nền tảng trong vấn đề an toàn mạng (Giải thích: Nguy cơ giả mạo, nguy cơ bên trong…).

-

Trong môi trường phân tán, điều khiển truy nhập là vấn đề cốt yêu của mọi tổ chức.

-

Điều khiển truy xuất tạo nên khả năng cho chúng ta cho phép hay từ chối một chủ thể, một thực thể chủ động, chẳng hạn như một người, một quy trình nào đó trong hệ thống.

-

Là nhân tố chính để bảo mật thông tin.

v

Ý nghĩa bảo mật vật lý:

-

Bảo mật vật lý là là hình thức bảo mật sơ khai nhất trong các hệ thống hiện nay vẫn có các tác dụng, đảm bảo không có sự hư hỏng và thay đổi các thông tin lưu trữ trên các thiết bị.

-

Ngăn chặn sự can thiệp trực tiếp một cách trái phép của con người lên các tài sản của hệ thống.

-

Hệ thống tồn tại trong môi trường vật lý, chịu tác động trực tiếp của các yếu tố vật lý: nước lũ, hỏa hoạn… bản thân hệ thống gồm các thành phần vật lý (ổ đĩa, CPU… các loại máy móc) --> bảo vệ vật lý là cần thiết để bảo vệ hệ thống trước tác động vật lý và là lớp bảo vệ đầu tiên cơ bản cho toàn bộ hệ thống.

v

Ví dụ:

trong hệ thống quản lý tập tin NTFS trên windows XP, chủ sở hữu của một thư mục có toàn quyền truy xuất với thư mục đó và có quyền cho phép hoặc không cho phép người dùng khác truy xuất đến thư mục, có thể cho phép người dùng khác thay đổi xác lập về quyền truy xuất đối với thư mục.

Tại các trung tâm tập trung dữ liệu có các trạm kiểm soát sự truy xuất (vào/ra), có các hệ thống phát hiện truy cập hoặc báo cháy, chữa cháy.

v

Đặc điểm của điều khiển truy xuất:

có 3 mô hình

·

Mô hình điều khiển truy xuất bắt buộc: là mô hình điều khiển truy xuất được áp dụng bắt buộc với toàn hệ thống. Trong môi trường này cơ chế điều khiển truy xuất bắt buộc được tích hợp sẵn trong hệ điều hành, và có tác dụng đối với tất cả các tài nguyên và đối tượng trong hệ thống, người sử dụng không thể thay đổi được.

-

Được thiết lập cố định ở mức hệ thống, người sử dụng không thay đổi được.

-

Người dùng và tài nguyên trong hệ thống được chia thành nhiều mức bảo mật khác nhau, phản ánh mức độ quan trọng và tài nguyên và người dùng.

-

Khi được thiết lập nó có tác dụng với tất cả người dùng và tài nguyên trên hệ thống.

·

Mô hình điều khiển truy xuất tự do: việc xác lập quyền truy xuất với từng tài nguyên cụ thể do người chủ sở hữu của tài nguyên đó quyết định.

-

Không được áp dụng mặc định trên hệ thống.

-

Người chủ sở hữu tài nguyên, thường là người tạo ra tài nguyên hoặc là người được fán quyền sở hữu có toàn quyền điều khiển truy xuất đến tài nguyên.

-

Quyền điều khiển truy xuất trên một tài nguyên có thể được chuyển từ đối tượng (user) này sang đối tượng khác.

·

Mô hình điều khiển truy xuất theo chức năng: dựa trên vai trò của từng người dùng trong hệ thống.

-

Quyền truy xuất được cấp dựa trên công việc của người dùng trong hệ thống.

-

Linh động hơn mô hình điều khiển truy xuất bắt buộc, người quản trị hệ thống có thể cấu hình lại quyền truy xuất cho từng nhóm chức năng hay thay đổi thành viên trong các nhóm.

-

Thực hiện đơn giản hơn mô hình điều khiển truy xuất tự do, không cần phải gán quyền truy xuất trực tiếp cho từng người dùng.

6.

Phân tích nguy cơ, quá trình quản lý nguy cơ:

Nguy cơ là những sự kiện có khả năng ảnh hưởng đến an toàn của hệ thống. Khi nói đến nguy cơ, nghĩa là sự kiện đó chưa xảy ra nhưng có khả năng xảy ra và có thể gây hại cho hệ thống. Có những sự kiện có khả năng gây hại, nhưng không có khả năng xảy ra với hệ thống khi được xem là nguy cơ.

v

4 nhóm nguy cơ: (xem lại phần các mối đe dọa câu 3)

-

Tiết lộ thông tin / truy xuất thông tin trái phép.

-

Phát thông tin sai / chấp nhận thông tin sai.

-

Phá hoại / ngăn chặn hoạt động của hệ thống.

-

Chiếm quyền điều khiển từng phần hoặc toàn bộ hệ thống.

v

Quá trình quản lý nguy cơ:

1.

 Định nghĩa tài sản:

-

Xác định tiến trình, ứng dụng, hệ thống, tài sản sẽ thực hiện phân tích nguy cơ trên nó.

-

Xác định biên vấn đề được xem xét

2.

Xác định đe doạ:

-

Các đe doạ tự nhiên: Lũ lụt, động đất, bão táp, trượt đất, lở tuyết, bảo từ, và các sự kiện tương tự.

-

Đe doạ từ con người: Bao gồm là thao tác chủ động hoặc vô ý.

-

Đe doạ từ môi trường: Thiếu năng lượng, ô nhiễm, lan tràn hoá chất, rò rỉ chất lỏng.

3.

 Xác định khả năng xuất hiện:

-

Khả năng xảy ra của đe dọa

4.

Xác định tác động của đe doạ

-

Xác định với hiện trạng hiện tại

-

Khi không có điều khiển bảo vệ

-

Khi đã triển khai các điều khiển

-

Đánh giá

A: Phải thực hiện thao tác đúng đắn cần được thực hiện

B: Phải thực hiện thao tác đúng đắn nên được thực hiện

C: Yêu cầu điệu quản lý

D: Không cần phải thực hiện công việc kiểm soát, tại thời điểm hiện tại

-

Khả năng

High probability – Khả năng cao: Trong có vẻ đe doạ sẽ xảy ra trong năm tới.

Medim probability – Khả năng trung bình: Có khả năng đe doạ sẽ xảy ra trong năm tối.

Low probability – Khả năng thấp: khả năng rất cao không xảy ra trong năm tới.

-

Tác động:

High impact – Tác động cao: làm dừng các đơn vị quan trọng dẫn đến dấu hiệu thất bại trong công việc, hình ảnh công ty, hoặc lợi nhuận.

Medium impact – Tác động trung bình: làm dừng tạm thời tiến trình quan trọng của hệ thống và kết quả làm mất một ít tài chính trong giói hạn với một đơn vị.

Low impact – tác động thấp: có sự dừng tạm thời nhưng không làm ảnh hưởng đến tài chính.

5.

 Những điều khiển được đề xuất

-

Tính hiệu quả của điều khiển

-

Yêu cầu chung pháp luật

-

Khả năng nảy sinh nguy cơ khác

-

Tính kinh tế của điều khiển

6.

Tài liệu

-

Báo cáo người sở hữu tài sản

-

Báo cáo theo đúng mẫu

7.

Kế hoạch công việc liên tục, ý nghĩa, tiến hành

v

Ý nghĩa kế hoạch công việc liên tục:

-

Đảm bảo công việc được thực hiện liên tục trong mọi tình huống.

-

Nó bao gồm cả kế hoạch phục hồi sự cố và phát huy tác dụng trong trường hợp khẩn cấp, có thảm họa xảy ra.

v

Các bước triển khai kế hoạch công việc liên tục:

-

Quản trị BCP.

-

Phân tích tác động công việc.

-

Xây dựng chiến lược, biện pháp để công việc được thực hiện.

-

Các chỉ dẫn thực hiện.

-

Đánh giá, duy trì, đảm bảo chất lượng kĩ thuật (kiểm thử, bảo trì, tính toán).

8.

Ý nghĩa chương trình an toàn bảo mật hệ thống thông tin:

Là chương trình thực hiện các mục tiêu của an toàn bảo mật HTTT. Chương trình được lập trình, thiết lập sẵn các tính năng để có thể ngăn chặn các vi phạm chính sách (truy cập trái phép, sửa đổi thông tin trái phép…); đưa ra các cảnh bảo khi phát hiện các vi phạm; hoặc có thể có sẵn các chương trình phản ứng nhanh tích hợp khi hệ thống có sự cố để giảm thiểu thiệt hại và có thể phục hồi hệ thống dễ dàng hơn.  (xem lại câu 1)

9.

Mô hình chữ ký số theo tiêu chuẩn của Mỹ (Digital Signature standard)

Phần II.

1.

Mô tả thuật toán mã hóa: mã hóa cổ điển, DES, AES, RSA, ECC : phân tích tốc độ mã hóa, giải mã, phá mã. Cách thức sử dụng trong lưu trữ và truyền dữ liệu trên mạng máy tính. Ứng dụng

hàm băm.

v

Mã hóa cổ điển:

1.

Phương pháp mã hóa dịch chuyển

-

Định nghĩa: Các ký tự trong thông tin sẽ được dịch đi k vị trí trong bản chữ cái

-

Mã hóa: ký tự mã hóa =thông tin mã hóa + k

-

Giải mã: thông tin mã hóa = ký tự mã hóa – k

-

Vd:  thông tin: “abc”, k =3 => mã hóa: “cde”

-

Phá mã: thử mọi khả năng của k, với bảng chữ cái k = {1,..,26} => sẽ bị giải mã sau 26/2=13 lần thử khóa

2.

Phương pháp mã hóa thay thế

-

Định nghĩa: Các ký tự trong bảng chữ cái được hóa vị cho nhau

-

Mã hóa: tạo bảng hoán vị

-

Giải mã: đảo ngược bảng hóa vị

-

Vd: bảng hóa vị

Ký tự

a

b

c

e

H

Mã hóa

X

N

D

H

K

-

Phá mã: Dùng bảng tần số xuất hiện ký tự trong thông điệp để tìm ra từ ban đầu

3.

Phương pháp Affine

-

Định ngĩa: Là trường hợp đặc biệt của phương pháp mã hóa thay thế, dùng khóa { K=(a,b) , UCLN(a,n) = 1} với a,b là 2 số bất kỳ

-

Mã hóa: ek(x) = (ax+b) mod n (trong đó: ek là phương trình tạo khóa, x  là giá trị của thông tin <vd : ký tự = ‘A’ => x = 1>)

-

Giải mã dk(x) =

(y-b) mod n

-

Vd: giả sử mã hóa ký tự: “abcd”, K =(7,3)

Ta có: a = 1, b = 2, c = 3, d = 4

Mã hóa: ek(x) = (7.x+3) mod 26

Ký tự

a

b

c

D

Mã hóa

10

17

24

5

Giải mã: dk(x) = 15(y-3) = 15y-19 mod 26 (phần này có ví dụ ở dưới)

4.

Phương pháp Vigenere

-

Định ngĩa: Chọn khóa K là 1 chuỗi ký tự có độ dài là m, thực hiện dịch chuyển theo chu kỳ

-

Mã hóa: ek(x1,x2,…xm) = ((x1+k1) mod n, (x2+k2) mod n, … , (xm+km) mod n)

-

Giải mã: dk(y1,y2,..,ym) = ((y1-k1) mod n, (y2-k2) mod n, …, (ym-km) mod n )

-

Vd: Cho K = “bc”, thông tin cần mã hóa: tran

Ký tự

t

r

a

N

Số

19

17

0

13

K

1

2

1

2

Mã hóa

20(u)

19(t)

1(b)

15(p)

Giải mã

19

17

0

13

5.

Phương pháp Hill

-

Định nghĩa: Cho 1 số dương m, mối phần tử x thuộc P là 1 bộ m  thành phần, mỗi thành phần thuộc

Vd: cho số dương m=2, tập thông tin T = “July” tách thành T= {“Ju”, “ly”}

-

Mã hóa và giải mã:

-

Ví dụ:

Cho tập thông tin cần mã hóa: T = “July”, m = 2, k =

Ta tách T = {“Ju”, “ly”} = {(9,20),(11,24)}

Mã hóa: (9,20) *

 = (99+60 , 72+140)  mod 26=(3 , 4 )

  (11,24)*

 = (121+72,88+169) mod 26 =(11 , 22)

ð

Từ mã hóa là: DELW

Giải mã: lấy từ mã hóa nhân với ma trận nghịch đảo của k

-

Nhận xét:

Chỉ có thể giải mã khi K có ma trận nghịch đảo

Tính khả nghịch của K phụ thuộc định thức detK #0

Do làm việc trên không gian

 nên K có nghịch đảo khi và chỉ khi UCLN(detK, 26) = 1

6.

Phương pháp hoán vị:

-

Định nghĩa: Chia tập gốc thành m  phần, lập K bảng hoán vị, ứng với mỗi phần của tập gốc, áp dụng 1 bảng hoán vị

-

Vd:  Cho m = 4 , tập gốc: “ABCD ABCD ABCD”, bảng hoán vị

Giá trị

0

1

2

3

4

Hoán vị 1

2

4

6

7

8

Hoán vị 2

2

3

5

7

9

  Tập gốc được chia thành  t1= t2=t3={ABCD}, thực hiện hoán vị 1 với t1,t3, hoán vị 2 với t2 ta có kết quả tập mã hóa là:“CEGHI CDFHK CEGHI”

            Giải mã ta lập lại bảng hoán vị ngược(giống phương pháp thay thế)

7.

Phương pháp mã hóa DES

v

Mã hóa DES – tiêu chuẩn mã hóa dữ liệu (Data Encryption Standard):

·

Thuật toán này dựa trên thuật toán khóa đối xứng sử dụng khóa 56-bit.

·

Định nghĩa: là thuật toán mã hóa khối, nó xử lý từng khối thông tin của bản rõ (bản thông tin gốc) có độ dài xác định thành bản mã có độ dài thay đổi.

Trong trường hợp của DES, độ dài khối là 64bit

DES cũng sử dụng

khóa

để cá biệt hóa quá trình chuyển đổi. Nhờ vậy, chỉ khi biết khóa mới có thể giải mã được văn bản mã. Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ dài thực tế của khóa chỉ là 56 bit.

·

Thuật toán mã hóa:

    + Hoán vị thông tin 64bit.

      Chia thông tin đã hoán vị thành 2 phần 32bit, thực hiện mã hóa lần lượt 2 phần này.

      Mã hóa tiến hành bằng các 32b đầu vào XOR với 48b khóa con, lặp 16 lần.

+ Hoán vị ngược

·

Thuật toán giải mã: tiến hành theo thứ tự đảo ngược của thuật toán tạo mã.

·

Quan hệ giữa độ dài khpá và thời gian dò khóa:

Chiều dài khóa (bit)

Số khóa tối đa

Thời gian dò khóa với tốc độ thử 1khóa / ms

Thời gian dò khóa với tốc độ thử 10^6 khóa / ms

32

2^32 = 4,3 * 10^9

2^31 ms = 35,8’

2,15 ms

56

2^56 = 7,2 * 10^16

2^55 ms = 1,142 năm

10,01 giờ

128

2^128 = 3,4 * 10^38

2^127 ms = 5,4 * 10^24 năm

5,4 * 10^18 năm

168

2^128 = 3,7 * 10^50

2^167 ms = 5,9 10^36 năm

5,9 * 10^30 năm

26 kí tự (hoán vị)

26! = 4 * 10^26

2 * 10^26 ms = 6,4 * 10^12 năm

6,4 * 10^6 năm

v

Mã hóa AES – tiêu chuẩn mã hóa cao cấp (Advanced Encryption Standard):

·

Chiều dài khóa

AES có thể là

128, 192, 256

. Ứng với mỗi trường hợp, các thông số còn lại được cho tương ứng ở bảng trên, trong đó, kích thước khối thông tin luôn cố định là 128 bit.

·

Thuật tóan mã AES thực hiện dựa trên 4 thao tác sau đây

-

Thay thế byte (Byte Substitution)

-

Dịch dòng (ShiftRows)

-

Trộn cột (MixColumns)

-

Cộng khóa (AddRoundKey)

·

Thao tác thay thế byte: thao tác này có chức năng thay thế từng byte trong mảng trạng thái thành một byte khác sử dụng một ma trận kích thước 16 x 16 (được gọi là S-Box). Nguyên  tắc thay thế dùng ma trận S-Box như sau: ứng với mỗi byte trong mảng trạng thái hiện hành, 4 bit bên trái được dùng để chọn một trong 16 dòng, 4 bit bên phải được dùng để chọn một trong 16 cột. Giá trị của ô tương ứng với dòng và cột được chọn sẽ là giá trị thay thế cho byte hiện hành. Ở quá trình giải mã, thao tác này cũng được thực hiện tương tự nhưng sử dụng một ma trận khác, gọi là ma trận S-Box ngược.

-

Ví dụ: mảng trạng thái hiện hành có giá trị (Hex) như sau:

-

Sau khi qua thao tác thay thế byte sử dụng ma trận S-Box sẽ trở thành:

·

Thao tác dịch dòng: Thao tác này có mục đích hoán vị các byte trong mảng trạng thái. Nguyên tắc dịch như sau: dòng đầu tiên của mảng được giữ nguyên, dòng thứ hai được dịch trái 1 byte, dòng thứ ba được dịch trái 2 byte và dòng thứ tư được dịch trái 3 byte.

-

Thao tác ngược được thực tương tự nhưng với phép dịch phải được dùng thay cho phép dịch trái, nghĩa là dòng đầu tiên cũng được giữ nguyên, dòng thứ hai được dịch phải 1 byte, dòng thứ ba được dịch phải 2 byte và dòngthứ tư được dịch phải 3 byte.

·

Thao tác trộn cột: Thao tác này được thực hiện trên từng cột, có tác dụng thay thế từng byte trong cột bằng một giá trị được tạo ra từ giá trị của tất cả các byte trong cùng cột đó. Thao tác này được biểu diễn bằng phép nhân ma trận như sau:

Sau khi qua thao tác trộn cột bằng phép nhân ma trận ở trên sẽ trở thành:

·

Thao tác cộng khoá: là thao tác đơn giản nhất của thuật toán, có tác dụng trộn giá trị của mảng trạng thái hiện hành với khoá phụ của vòng tương ứng. Thao tác trộn được thực hiện bằng phép XOR giữa 128 bit của mảng trạng thái hiện hành với 128 bit của khoá phụ. Thao tác cộng khoá không có thao tác ngược, hay nói đúng hơn là thao tác ngược cũng chính là phép XOR.

v

Mã hóa RSA:

·

Thuật toán RSA thực hiện qua các bước: tạo khóa, mã hóa thông tin, giải mã

  Tạo khóa:

Chọn 2 sô nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập.

-

Tính: .

-

Tính: giá trị hàm số Ơle .

-

Chọn một số tự nhiên e sao cho và là số nguyên tố cùng nhau với .

-

Tính: d sao cho

.

-

Khóa công khai là: PublicKey(n,e), PrivateKey(p,q,d)

Mã hóa:

-

Giả sử A muốn gửi cho B 1 thông tin M, đầu tiên phải chuyển đổi M thành m(m<n và m đủ lớn, m# 0,1), vd: A = 0 chuyển thành A = 10

-

Gửi bản quy ước chuyển đổi cho B

-

Thực hiện mã hóa 

Giải mã:

-

B nhận được thông tin c sẽ thực hiện giải mã:

-

Sau đó dùng bảng quy ước chuyển đổi thành M

·

Ví dụ: Cặp số nguyên tố p = 11 và q = 3 được chọn để tạo ra cặp khoá RSA cho user A. Khi đó, N = pq = 3*11 = 33

(p-1) (q-1) = (11 – 1) (3 – 1) = 20.

-

Tiếp theo, chọn e = 3 thoả điều kiện 3 và 20 là cặp số nguyên tố cùng nhau.

Với e = 3, ta xác định được d = 7 vì ed = 3*7 = 1 mod 20. Thật ra, có nhiều giá trị d thỏa mãn yêu cầu này, nhưng để cho đơn giản, ta chọn giá trị nhỏ nhất.

-

Khi đó, ta xác định được cặp khóa như sau:

Khóa công khai: (N, e) = (33, 3)

Khóa bí mật: (N, d) = (33, 7)

-

Giả sử, user B muốn gởi đọan thông tin M = 15 cho user A, dựa trên khóa công khai của A, B thực hiện như sau:

C = M^e

 mod N = 153

 mod 33 = 3375

 mod 33 = 9  mod 33.

Khi đó, thông tin mật gởi cho A là C = 9.

-

Khi nhận được thông tin này, A giải mã bằng khóa riêng của mình (d = 7) như sau:

M = Cd

 mob N = 97

 mod 33 = 4.782.969 mod 33 = 15 mod 33.

Như vậy, thông tin giải mã được là M = 15, đúng với thông tin gốc ban đầu.

·

Hiện nay  mã hóa RSA 1024 bits đã bị phá vỡ.

v

Mã hóa ECC:

v

Ứng dụng:

-

E-mail – sử dụng thuật toán mã hóa khối (AES) – AES đóng vai trò quan trọng trong việc cung cấp khả năng tương tác với tất cả các gói e-mail.

-

SSL/TLS – sử dụng thuật toán mã hóa luồng (RC4) – Tốc độ của RC4 cực kỳ nhanh, mỗi kết nối có thể có một khóa mới và hầu như tất cả các trình duyệt Web và máy chủ đều có RC4.

-

Mã hóa file – sử dụng thuật toán mã hóa khối – bạn có thể mã hóa mọi file với cùng một khóa rồi bảo vệ khóa đó – việc quản lý khóa đơn giản và không tốn kém.

-

ECC do có kích thước khoá nhỏ nên  đã được đưa vào ứng dụng để mã hoá cho các mạng không dây, thiết bị cầm tay, điện thoại, máy nhắn tin…

-

Ứng dụng hệ RSA trong công tác mã hoá chữ ký điện tử.

-

Ngoài ra, hàm băm cũng còn  được sử dụng trong nhiều thuật toán mật mã, trong chữ ký số (digital signature) và nhiều ứng dụng khác.

v

Hàm băm:

-

Một hàm Băm H sẽ lấy ở đầu vào một thông tin X có kích

thước

  biến thiên và sinh kết quả là một chuỗi có độ dài cố định, đ

ược

gọi là cốt của bức điện (message digest).

-

Ví dụ nh

ư

khi B muốn ký một bức điện x (độ dài bất kỳ), đầu tiên anh ta tính cốt của bức điện z = h(x) (độ dài cố định) và sau đó ký y = sigK(z). Anh ta phát cặp (x,y) lên kênh truyền, bây giờ việc kiểm tra có thể thực hiện bằng việc tính lại cốt của bức điện z = h(x), sau đó kiểm tra verK(z,y) có bằng TRUE hay không.

-

Hàm băm không sử dụng khóa, mà là một hàm chỉ với bản tin vào.

-

Hàm băm bảo đảm khả năng kiểm tra lỗi: sự thay đổi bất kỳ bit nào của tin tức sẽ gây ra sự thay đổi của mã hàm băm.

2.

Các phương thức tấn công mạng máy tính: DoS, DDoS, … nguyên lý hoạt động và sự nguy hiểm.

v

Tấn công từ chối dịch vụ DoS (Denial of Service):

·

Dạng tấn công này không xâm nhập vào hệ thống để lấy cắp nhằm vào mục đích ngăn chặn hoạt động bình thường của hệ thống phục vụ trên mạng công cộng như Web server, Mail server, …

-

Ví dụ: kẻ tấn  công dùng phần mềm tự động liên tục gởi dữ liệu đến một máy chủ trên mạng, gây quá tải cho máy chủ, làm cho máy chủ không còn khả năng cung cấp dịch vụ một cách bình thường.

-

Các tấn công từ chối dịch vụ thường rất dễ nhận ra do tác động cụ thể của nó đối với hệ thống. Mục tiêu tấn công của từ chối dịch vụ có thể là một máy chủ hoặc một mạng con (bao gồm cả thiết bị mạng như router và kết nối mạng).

·

Cơ sở của tấn công từ chối dịch vụ là các sơ hở về bảo mật trong cấu hình hệ thống (cấu hình  firewall), sơ hở trong giao thức kết nối mạng (TCP/IP) và các lỗ hổng bảo mật của phần mềm, hoặc đơn giản là sự hạn chế của tài nguyên như băng thông kết nối (connection bandwidth), năng lực của máy chủ (CPU, RAM, đĩa cứng, …).

-

Tấn công  từ chối dịch vụ thường được thực hiện thông qua mạng Intrenet, nhưng cũng có thể xuất phát từ trong nội bộ hệ thống dưới dạng tác động của các phần mềm độc như worm hoặc trojan.

·

Hai kỹ thuật thường dùng để gây ra các tấn công từ chối dịch vụ truyền thống tương ứng với hai mục tiêu tấn công là Ping of Death và buffer-overflow.

-

Ping of Death tấn công vào kết nối mạng (bao gồm cả router) bằng cách gởi liên tục và với số lượng lớn các gói dữ liệu ICMP (Internet Control Message Protocol) đến một mạng con nào đó, chiếm toàn bộ băng thông kết nối và do đó gây ra tắc nghẽn mạng.

-

Buffer-overflow (được mô tả ở phần software exploitation attacks) tấn công vào các máy chủ bằng cách nạp dữ liệu vượt quá giới hạn của bộ đệm (buffer) trên máy chủ, gây ra lỗi hệ thống. Các tấn công từ chối dịch vụ nổi tiếng trong lịch sử bảo mật máy tính như Code Red, Slapper, Slammer,… là các tấn công sử dụng kỹ thuật buffer-overflow.

Ø

Tấn công từ chối dịch vụ thường không gây tiết lộ thông tin hay mất mát dữ liệu mà chỉ nhắm vào tính khả dụng của hệ thống. Tuy nhiên, do tính phổ biến của từ chối dịch vụ và đặc biệt là hiện nay chưa có một giải pháp hữu hiệu cho việc ngăn chặn các tấn công loại này nên từ chối dịch vụ được xem là một nguy cơ rất lớn đối với sự an toàn của các hệ thống thông tin.

v

Tấn công từ chối dịch vụ phân tán (Distributed DoS hay DDoS):

-

Là phương thức tấn công dựa trên nguyên tắc của từ chối dịch vụ nhưng có mức độ nguy hiểm cao hơn do huy động cùng lúc nhiều máy tính cùng tấn công vào một hệ thống duy nhất.

-

Tấn công từ chối dịch vụ phân tán được thực hiện qua 2 giai đoạn:

1.

Kẻ tấn công huy động nhiều máy tính trên mạng tham gia từ chối dịch vụ phân tán bằng cách cài đặt các phần mềm điều khiển từ xa trên các máy tính này. Các máy tính đã được cài đặt phần mềm điều khiển này được gọi là các zoombie. Để thực hiện bước này, kẻ tấn công dò tìm trên mạng những máy có nhiều sơ hở để tấn công và cài đặt các phần mềm điều khiển từ xa lên đó mà người quản lý không hay biết. Những phần mềm này được gọi chung là backdoor.

2.

Kẻ tấn công điều khiển các zoombie đồng loạt thực hiện tấn công vào mục tiêu. Mô hình một chuỗi tấn công chối dịch vụ phân tán điển hình được mô tả ở hình

-

Các thành phần tham gia trong chối dịch vụ phân tán bao gồm:

+ Client: phần mềm điều khiển từ xa được kẻ tấn công sử dụng để điều khiển các máy khác tham gia tấn công. Máy tính chạy phần mềm này được gọi là master.

+ Deamon: phần mềm chạy trên các zoombie, thực hiện yêu cầu của master và là nơi trực tiếp thực hiện tấn công chối dịch vụ (DoS) đến máy nạn nhân.

v

Tấn công xen giữa (Man-in-the-middle attack):

-

Đây là phương thức tấn công bằng cách xen vào giữa một thủ tục đang diễn ra, thường xảy ra trên mạng IP, nhưng cũng có thể xảy ra trong nội bộ một máy tính.

-

Trên mạng, kẻ tấn công bằng một cách nào đó xen vào một kết nối, đặc biệt ở giai đoạn thiết lập kết nối giữa người dùng với máy chủ, và thông qua đó nhận được những thông tin quan trọng của người dùng. Tấn công  xen giữa đặc biệt phổ biến trên mạng không dây (wireless network) do đặc tính dễ xâm nhập của môi trường không dây. Do vậy, việc áp dụng các kỹ thuật mã hoá (như WEP, WPA, …) là điều rất quan trọng để đảm bảo an toàn cho mạng không dây.

-

Còn trên một máy tính, tấn công dạng này có thể được thực hiện dưới dạng một chương trình thu thập thông tin ẩn (key-logger), chương trình này sẽ âm thầm chặn bắt tất cả những thông tin mà người dùng nhập vào từ bàn phím, trong đó có thể sẽ có nhiều thông tin quan trọng.

v

Tấn công phát lại (Replay attack):

-

Trong phương thức tấn công này, các gói dữ liệu lưu thông trên mạng được chặn bắt và sau đó phát lại (replay). Trong môi trường mạng, thông tin xác thực giữa người dùng và máy chủ được truyền đi trên mạng. Đây là nguồn thông tin thường bị tấn công nhất. Nếu khi phát lại, máy chủ chấp nhận thông tin này thì máy tấn công có khả năng truy xuất vào máy chủ với quyền của người dùng trước đó.

v

Nghe lén (Sniffing attack):

-

Đây là hình thức lấy cắp dữ liệu bằng cách đọc lén trên mạng. Hầu hết các card mạng điều có khả năng chặn bắt (capture) tất cả các gói dữ liệu lưu thông trên mạng, mặc dù gói dữ liệu đó không được gởi đến cho mình. Những card mạng có khả năng như thế được gọi là đang ở chế độ promiscuous.

-

Có rất nhiều phần mềm cho phép thực hiện chặn bắt dữ liệu từ một máy đang kết nối vào mạng, ví dụ Ethereal, Common view hoặc Network monitor có sẵn trên Windows server (2000 hoặc 2003 server). Bằng việc đọc và phân tích các gói dữ liệu bắt được, kẻ tấn công có thể tìm thấy nhiều thông tin quan trọng để tiến hành các hình thức tấn công khác.

v

Tấn công mật khẩu (Password attack):

 Là hình thức truy xuất trái phép vào hệ thống bằng cách dò mật khẩu. Có hai kỹ thuật dò mật khẩu phổ biến:

-

Dò tuần tự (Brute force attack): Dò mật khẩu bằng cách thử lần lượt các tổ hợp ký tự, thông thường việc này được thực hiện tự động bằng phần mềm. Mật khẩu càng dài thì số lần thử càng lớn và do đó khó bị phát hiện hơn. Một số hệ thống quy định chiều dài tối thiểu của mật khẩu. Ngoài ra để ngăn chặn việc thử mật khẩu nhiều lần, một số hệ thống ngắt kết nối nếu liên tiếp nhận được mật khẩu sai sau một số lần nào đó.

-

Dò theo tự điển (Dictionary attack): thử lần lượt các mật khẩu mà người sử dụng thường dùng. Để cho dơn giản, người sử dụng thường có thói quen nguy hiểm là dùng những thông tin dễ nhớ để làm mật khẩu, ví dụ như tên mình, ngày sinh, số điện thoại, …Một số hệ thống hạn chế nguy cơ này bằng cách định ra các chính sách về mật khẩu (password policy), quy định độ khó tối thiểu của mật khẩu, ví dụ mật khẩu phải khác với những thông tin liên quan đến cá nhân người sử dụng, phải bao gồm cả chữ hoa và chữ thường, chữ cái và các mẫu tự khác chữ cái,…

v

Làm tràn kết nối TCP (TCP SYN/ACK flooding attack):

-

Đây là tấn công khai thác thủ tục bắt tay ba chiều (three-way handshake) của TCP. Mục đích của tấn công là gây ra quá tải kết nối trên máy chủ và dẫn tới từ chối dịch vụ (DoS).

-

Khi một máy (client) muốn kết nối một máy khác (server) qua một dịch vụ nào đó, nó bắt đầu bằng cách gởi bản tin SYN  tới server trên cổng (port) tương ứng của dịch vụ đó. Ngay sau đó, server dành riêng một kết nối cho client này và trả lời bằng một bản tin SYN/ACK cho client. Để hoàn thành kết nối, client phải một lần nữa trả lời bằng một bản tin ACK gởi đến server. Trong trường hợp không nhận được  bản tin  ACK trả lời từ phía client thì server phải chờ cho đến khi hết thời hiệu (timeout) rồi mới giải toả kết nối này. Với sơ hở này, nếu một kẻ tấn công cố tình tạo ra các bản ACK liên tiếp gởi đến server nhưng không hồi đáp (tức không gởi lại bản tin ACK cho server), thì đến một thời điểm nào đó, tất cả các kết nối có thể có của server đều dành hết cho việc chờ đợi này và do không có khả năng phục vụ cho các kết nối khác. Hình 1.13 trình bày phương thức tấn công dùng SYN/ACK flooding

v

Tấn công dựa vào số thứ tự của TCP (TCP sequence number attack):

-

Trong quá trình truyền dữ liệu giữa các máy sử dụng giao thức TCP, số thứ tự (sequence number) là một thông tin quan trọng giúp xác định thứ tự các gói dữ liệu và xác nhận các gói đã được nhận thành công. Số thứ tự được đánh theo từng byte dữ liệu và được duy trì một cách đồng bộ giữa bên gởi và bên nhận. Nếu một máy thứ ba, bằng cách nào đó, chặn bắt được các gói dữ liệu đang được trao đổi và đoán được số thứ tự của quá trình truyền nhận dữ liệu, nó sẽ có khả năng xen vào kết nối, làm ngắt kết nối của một đầu và nhảy vào thay thế (hijacking).

v

Chiếm kết nối TCP (TCP Hijacking):

-

Giống như phương thức tấn công ở trên (sequence number attack), nhưng sau khi đoán được số thứ tự, máy tấn công sẽ cố gắng chiếm lấy một đầu của kết nối hiện hữu mà đầu kia không hay biết để tiếp tục truyền nhận dữ liệu, khi đó thông tin trao đổi giữa hai máy ban đầu bị chuyển sang một máy thứ ba

v

Tấn công dùng giao thức ICMP (ICMP attack):

-

ICMP (Internet Control Message Protocol) là một giao thức điều khiển dùng trong mạng IP. Giao thức này thường được sử dụng để thực hiện các thủ tục điều khiển trên mạng IP như kiểm tra các kết nối (ví dụ khi thực hiện các lệnh Ping, Tracert, …). Hai phương thức tấn công phổ biến dựa trên ICMP bao gồm:

+ Smurf attack: (còn được gọi la Ping of Death). Nguyên lý hoạt động của ICMP là hồi đáp lại (reply) khi nhận được các yêu cầu (echo request) từ các máy khác, do chức năng của ICMP là để kiểm tra các kết nối IP. Dựa vào nguyên lý này, một kẻ tấn công có thể giả danh một địa chỉ IP nào đó (IP spoofing) và gởi một yên cầu  (echo request) đến tất cả các máy trong mạng nội bộ (bằng cách sử dụng địa chỉ quảng bá broadcast). Ngay lập tức, tất cả các máy này đều đồng loạt

trả lời cho máy có địa chỉ IP bị giả danh, dẫn đến máy này bị tắc nghẽn không còn khả năng hoạt động bình thường. Mục tiêu của tấn công smurf là làm tê liệt một máy nào đó bằng các gói ICMP.

+ ICMP tunneling: Do gói dữ liệu ICMP thường được chấp nhận bởi nhiều máy trên mạng nên kẻ tấn công có thể lợi dụng điều này để chuyển các thông tin không hợp lệ thông qua các gói dữ liệu ICMP. Để ngăn chặn các tấn công này, cách tốt nhất là từ chối tất cả các gói dữ liệu ICMP.

3.

Mã độc, phân loại, phương thức tấn công:

v

Mã độc là một loại mã được gài lên máy tính, đánh dấu sự xuất hiện của kẻ tấn công có quyền điều khiển trên máy tính của bạn.

-

Mã độc còn được gọi là Malware (phần mềm độc hại).

Nếu một kẻ tấn công có thể cài đặt mã độc trên máy tính của bạn, hoặc lừa bạn tải một chương trình độc hại,

thì

hệ thống máy tính của bạn hoạt động như một tay sai của kẻ tấn công

-

Đồng thời, hệ thống của bạn không làm theo lệnh của bạn nữa

-

Khi mã độc chạy trên máy tính có thể làm bất kỳ những công việc như sau:

Xóa đi các file cấu hình dễ bị xâm nhập từ ổ đĩa cứng làm hệ thống của bạn hoàn toàn không thể hoạt động

Lây nhiễm vào máy tính của bạn và sử dụng nó như một vị trí xuất phát để lan truyền tới tất cả máy tính của người khác

Tất cả những gì bạn gõ trên màn hình sẽ bị kẻ tấn công nhìn thấy.

Chúng thu thập thông tin, các thói quen, các trang web bạn vào, thời gian kết nối...

Gửi các luồng video hay các file âm thanh thu được tới kẻ tấn công.

Thực thi một loạt các lệnh của kẻ tấn công ngay khi bạn chạy các lệnh của bạn

Ăn cắp các file từ máy đặc biệt là các file về thông tin cá nhân hoặc tài chính.

Upload các file lên hệ thống như: thêm mã độc, đánh cắp dữ liệu, xâm phạm phần mềm...

Các phần mềm độc được chia thành các nhóm sau đây: Virus, worm, Trojan horse và logic bomb.

v

Virus:

-

Là phần mềm ẩn, kích thước nhỏ và được gắn vào một tập tin chủ nào đó, thông thường là các tập tin thực thi được, nhờ đó virus mới có khả năng phá hoại và lan truyền sang các máy khác. Một số loại virus lại gắn với các tập tin tài liệu (ví dụ như word, excel, …) và được gọi là các virus macro.

-

Virus lan truyền giữa các máy tính thông qua việc sao chép các tập tin có nhiễm virus từ đĩa mềm, đĩa CD, đĩa flash, hoặc thông qua các tập tin gởi kèm theo e-mail. Phạm vi phá hoại của virus là rất lớn. Thông thường nhất, các virus thường gây  ra mất mát dữ liệu, hư hỏng phần mềm và hư hỏng cả hệ điều hành.

-

Có thể thấy mức độ phát tán của virus thông qua e-mail nghiêm trọng hơn nhiều, bởi vì đối với hình thức lây lan qua đường sao chép tập tin thì chỉ có các máy tính chủ động sao chép tập tin mới bị nhiễm virus; ngược lại trong phương thức phát tán bằng e-mail, những máy không chủ động sao chép tập tin cũng có khả năng bị lây nhiễm nếu vô ý mở những tập tin nhiễm virus được gởi kèm theo e-mail.

v

Worm:

-

Là loại phần mềm độc có cơ chế hoạt động và tầm phá hoại gần giống như virus. Điểm khác nhau cơ bản giữa worm và virus là worm có khả năng tự sao chép thông qua mạng (trong khi virus phải nhờ vào thao tác sao chép của người sử dụng) và  tự tồn tại như một chương trình độc lập (trong khi virus phải gắn vào một tập tin khác).

-

Đặc trưng cơ bản nhất của worm là tính phát tán nhanh trên phạm vi rộng bằng nhiều phương tiện khác nhau, như sử dụng trực tiếp giao thức TCP/IP, sử dụng các dịch vụ mạng ở lớp ứng dụng, phát tán qua e-mail và nhiều phương tiện khác. Worm Nimda xuất hiện năm 2001 là một worm điển hình với tốc độ phát tán cực nhanh và mức độ nguy hiểm lớn, có thể gây tê liệt các hệ thống mạng lớn sử dụng hệ điều hành Windows trong nhiều giờ.

v

Trojan horse:

-

Một dạng phần mềm độc hoạt động núp dưới danh nghĩa một phần mềm hữu ích khác, và sẽ thực hiện các hành vi phá hoại hệ thống khi chương trình giả danh được kích hoạt bởi người sử dụng.

-

Trojan không có khả năng tự sao chép như worm (mà phải giả dạng thành một phần mềm có ích hoặc được gắn vào một phần mềm thực thi khác để được cài đặt vào máy), không có khả năng tự thực thi như virus (mà chỉ thực hiện khi người sử dụng khởi động chương trình).

-

Mức độ phá hoại của Trojan cũng rất đa dạng, trong đó quan trong nhất là thực thi như một phần mềm gián điệp (back-door) giúp cho những kẻ tấn công từ xa có thể dễ dàng xâm nhập hệ thống. Spyware là một ví dụ của Trojan, đây là các phần mềm được tự động cài vào máy khi người sử dụng tải các phần mềm trên Internet về cài trên máy của mình. Spyware có thể tự động gởi e-mail, tự động mở các trang web hoặc thực hiện các hành vi khác gây ảnh hưởng đến hoạt động bình thường của máy tính bị nhiễm.

v

Logic bomb:

-

Là các phần mềm nằm ẩn trên máy tính và chỉ thực hiện khi có một sự kiện nào đó xảy ra, ví dụ khi người quản trị mạng đăng nhập vào hệ thống, khi một ứng dụng nào đó được chạy hoặc đến một ngày giờ định trước nào đó.

-

Thông thường, khi được thực hiện, logic bomb gởi một thông báo về một máy trung tâm định trước nào đó để thông báo sự kiện xảy ra. Nhận được thông báo này, kẻ tấn công từ máy tính trung tâm đó sẽ thực hiện tiếp các thủ thuật tấn công vào hệ thống, ví dụ khởi động một cuộc tấn công từ chối dịch vụ (DoS hoặc DDoS).

v

BackDoor:

-

Khái niệm backdoor dùng để chỉ những phần mềm độc hại được tạo ra để cài, phát tán mã độc vào máy tính của người dùng. Nó được tạo ra để làm bất cứ điều gì mà tin tặc muốn như: gửi và nhận dữ liệu, kích hoạt, sử dụng bất cứ 1 file nào đó, hiển thị thông báo lỗi, tự động khởi động lại máy tính,……

Nguyên lý hoạt động

: của nó khá đơn giản, khi chạy trên máy nạn nhân, nó sẽ thường trực trên bộ nhớ và mở 1 Port (do ta đặt, hoặc mặc định), cho phép ta  đột nhập vào máy nạn nhân qua Port đã mở -> toàn quyền điều khiển máy nạn nhân.

-

Các phương thức cài đặt :

Backdoor phải được cài đặt trên máy tính nạn nhân

Hacker có thể cài đặt Backdoor bằng cách sử dụng một chương trình tự động : virut, ma di động độc hại,,..

Do chính nạn nhân cài đặt nó, chẳng hạn như gửi 1 email, hoặc chia sẻ một tập tin từ xa

Những hacker đã tạo ra nhiều loại Backdoor khác nhau, tùy thuộc vào phương pháp họ muốn sử dụng để truy cập tiếp tục hệ thống đích.

ü

Netcat

ü

VNC

v

Rockit:

-

Khái niệm rootkit:

Khái niệm rootkit được sử dụng để mô tả các cơ chế và kĩ thuật được sử dụng bởi malware (malware là các phần mềm làm sai chức năng chương trình ứng dụng gồm: virus, spyware, và trojan...) cố gắng ẩn nấp, trốn tránh không bị phát hiện bởi các chương trình chống spyware, virus và các tiện ích hệ thống. Thực ra, rootkit tự bản thân không mang tính hiểm độc nhưng khi chúng được sử dụng cùng với các chương trình mang tính "phá hoại" như: virus, sâu, phần mềm gián điệp, trojan... thì lại nguy hiểm hơn rất nhiều.

-

Rootkit nguy hiểm như thế nào?

Rootkit thực tế chẳng gây ảnh hưởng xấu nào. Mục đính duy nhất của rootkit là ẩn nấp, và tránh không bị phát hiện. Tuy nhiên, rootkit được sử dụng để giấu các đoạn mã hiểm độc thì rất nguy hiểm. Một số các sâu, virus, trojan và phần mềm gián điệp vẫn có khả năng duy trì hoạt động và không bị phát hiện khi sử dụng rootkit. Các malware sẽ không bị phát hiện thậm chí khi hệ thống được bảo vệ bởi các chương trình chống virus tốt nhất. Do đó, Rootkit thực sự là mối đe dọa rất nghiêm trọng.

4.

Một số mô hình tấn công phần mềm: tràn bộ đệm, sql inject, XSS, … nguyên lý và phương thức giải quyết:

v

Tấn công tràn bộ đệm (buffer overflow attack):

-

Là phương thức tấn công vào các lỗi lập trình của số phần mềm. Lỗi này có thể do lập trình viên, do bản chất của ngôn ngữ hoặc do trình biên dịch. Ngôn ngữ C là ngôn ngữ có nhiều khả năng gây ra các lỗi tràn bộ đệm nhất, và không may, đây là ngôn ngữ vốn được dùng rộng rãi nhất trong các hệ điều hành, các chương trình hệ thống, đặc biệt trong môi trường Unix và Linux.

-

Giải thích: Đa số các trình biên dịch C không kiểm tra giới hạn vùng nhớ đã cấp phát cho các biến,do đó, khi dữ liệu lưu vào vùng nhớ vượt qua giới hạn đã cấp phát, nó sẽ ghi chồng qua những vùng nhớ kế cận và gây ra lỗi. Ví dụ: khi lập trình, mật khẩu mà người dùng nhập vào thường được xử lý dưới dạng một chuỗi (string), và được khai báo với chiều dài xác định, ví dụ 32 ký tự. Tuy nhiên, nếu trong chương trình không thực hiện việc kiểm tra chiều dài mật khẩu trước khi xử lý và trình biên dịch cũng thông tự động thực hiện việc này thì khi người sử dụng nhập mật khẩu có chiều dài lớn hơn 32 ký tự, toàn bộ chuỗi ký tự này sẽ tràn vùng nhớ đã cấp phát và có thể gây ra lỗi tràn bộ đệm.

v

Tấn công SQL inject:

-

SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp, Sql

injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update,… trên cơ sỡ dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy, lỗi này thường xãy ra trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase...

-

Bất kỳ khi nào bạn login vào một trang web và nhập pass cũng như user, để thử bạn hãy nhập chuỗi sau vào:

SELECT UserID FROM Users WHERE UserName='myuser' AND Password='mypass';

với myuser và mypass là tài khoản của bạn.

Nếu đúng username và password, hệ thống sẽ trả về UserID.

-

Cách phòng tránh:

Như đã đề cập nhiều lần trước đây, một cuộc tấn công SQL injection là dễ dàng ngăn ngừa được. Một trong những quy tắc của phát triển web là bạn không bao giờ tin tưởng người dùng nhập vào một cách mù quáng.

Ngăn chặn phần input có chứa các kí tự đặc biệt, tác động lên các câu lệnh SQL.

5.

Phân tích kịch bản tấn công một trang web được triển khai mạng internet

6.

Đặc trưng IPSec khả năng bảo mật của nó trước các phương thức tấn công mạng:

·

Định nghĩa: Ip security : mã hóa địa chỉ IP

·

Tác dụng chống:

-

Tấn công DOS

-

Ăn cắp dữ liệu

-

Sửa chữa dữ liệu

-

Ăn cắp chứng nhận của người dùng

·

Diễn giải chi tiết n

hững chức năng và khả năng bảo mật do IPSec cung cấp có thể tóm tắt như sau:

-

Chứng nhận

:

xác thực người gửi, người nhận, gói tin là chính xác

-

Toàn vẹn dữ liệu

:

Đảm bảo dữ liệu không bị thay đổi so với nội dung gốc

M

ột thuật toán hash được dùng để đảm bảo dữ liệu sẽ không bị can thiệp vào. Một checksum được gọi

là một mã chứng nhận tin nhắn hash (HMAC) được tính toán cho dữ liệu của gói. Khi một gói được thay đổi trong khi đang di chuyển thì HMAC đã được thay đổi sẽ được lưu lại. Thay đổi này sẽ bị xoá bởi máy tính nhận.

-

Bảo mật dữ liệu

: các thuật toán mã hoá được thực hiện để đảm bảo dữ liệu được di chuyển sẽ không thể giải mã được.

-

Anti-replay

:

ngăn chặn kẻ tấn công gởi các gói khi cố gắng truy cập vào mạng cá nhân

-

Không từ chối

:

các chữ ký số key public được sử dụng để chứng nhận tin nhắn là nguyên vẹn

-

Rekeying dynamic

: các key có thể được tạo ra trong khi các dữ liệu đang được gởi đi để bảo vệ các khúc giao tiếp với những key khác nhau

-

Tạo key

:

thuật toán key đồng thuận Diffie-Hellman được sử dụng để kích hoạt hai máy tính có thể trao đổi các key mã hoá được chia sẻ.

-

Bộ lọc IP Packet

:

chức năng lọc gói của IPSec có thể dùng để lọc và khóa những dạng traffic nhất định, dựa trên những thành phần sau hoặc kết hợp tất cả lại:

Địa chỉ IP

Các giao thức

Các cổng

·

Tìm hiểu cách thức IPSec làm việc (tìm hiểu sâu hơn)

Để bảo mật và bảo vệ dữ liệu, IPSec sử dụng mật mã để cung cấp những khả năng sau:

-

Chứng nhận:

Chứng nhận xử lý việc xác nhận nhân diện của máy tính gởi dữ liệu, hay nhân diện của máy tính nhận dữ liệu. Các phương pháp mà IPSec có thể dùng để chứng nhận người gởi hay người nhận của dữ liệu là:

Chứng nhận số: cung cấp những cách an toàn nhất chứng nhận các nhân diện.

Các tổ chức chứng nhận (CA) như Netscape, Entrust, VeriSign, và Microsoft cung cấp các chứng nhận có thể dùng cho mục đích chứng nhận

-

 Tính toàn vẹn dữ liệu:

toàn vẹn dữ liệu làm việc để đảm bảo dữ liệu nhận được ở khách hàng không bị can thiệp. Một thuật toán hashing được dùng để đảm bảo dữ liệu không bị thay đổi khi nó đi qua network. Các thuật toán hash IPSec có thể dùng là:

Message Digest (MD5): một hash one-way đưa đến một hash 128-bit dùng để kiểm tra tính toàn vẹn

Secure Hash Algorithm 1 (SHA1): một key bí mật 160-bit tạo một message digest 160-bit cung cấp bảo mật hơn MD5.

-

T

uyệt mật dữ liệu:

IPSec đảm bảo tính tuyệt mật của dữ liệu bằng cách áp dụng các thuật toán mã hoá dữ liệu trước khi được gởi qua network. Nếu dữ liệu bị can thiệp, mã hoá đảm bảo kẻ xâm nhập sẽ không thể giải nghĩa được dữ liệu. Để đảo bảo tính tuyệt mật của dữ liệu, IPSec có thể dùng một trong những thuật toán mã hoá sau:

Mã hoá dữ liệu chuẩn (DES): thuật toán mã hoá chuẩn dùng trong Windows Server 2003 sử dụng mã hoá 56-bit

Triple DEC (3DES): dữ liệu được mã hóa với một key, giải mã với những key khác, và mã hoá lại với một key khác.

DES 40-bit: thuật toán mã hoá ít an toàn nhất

Bạn đang đọc truyện trên: Truyen2U.Pro