CHƯƠNG 1: TỔNG QUAN 1. Tổng quan về mật mã Trong bối cảnh bùng nổ thông tin như hiện nay, nhu cầu trao đổi thông tin và các phương tiện truyền đưa thông tin phát triển một cách nhanh chóng. Cùng với sự phát triển đó, tính bảo mật và an toàn thông tin ngày càng trở lên cấp thiết. Điều đó cho thấy triển vọng rất lớn và tầm quan trọng của mật mã học trong môi trường công nghệ thông tin đang phát triển hiện nay cũng như trong tương lai.Vì vậy phần này sẽ giới thiệu tổng quan về mật mã (khái niệm,các chức năng cơ bản và các loại hình tấn công) 1.
Khái niệm mật mã Mật mã học (Cryptography) là ngành khoa học nghiên cứu về việc đảm bảo an toàn thông tin. Mật mã học gắn liền với quá trình mã hóa nghĩa là chuyển đổi thông tin từ dạng "có thể hiểu được" thành dạng "không thể hiểu được" và ngược lại là quá trình giải mã. Cryptography giúp đảm bảo những tính chất sau cho thông tin: Tính bí mật (confidentiality): thông tin chỉ được tiết lộ cho những ai được phép Tính toàn vẹn (integrity): thông tin không thể bị thay đổi mà không bị phát hiện. Tính xác thực (authentication): người gửi (hoặc người nhận) có thể chứng minh đúng họ.
Tính chống chối bỏ (non-repudiation): người gửi hoặc nhận sau này không thể chối bỏ việc đã gửi hoặc nhận thông tin. Thám mã (cryptanalysis): nghiên cứu cách phá các hệ mật nhằm phục hồi bản rõ ban đầu từ bản mã, nghiên cứu các nguyên lí và phương pháp giải mã mà không biết khóa. Có 3 phương pháp tấn công cơ bản của thám mã: Tìm khóa vét cạn Phân tích thống kê Phân tích toán Bản rõ (Plaintext): Dạng ban đầu của thông báo Bản mã (Ciphertext): Dạng mã của bản rõ ban đầu 6 Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 Khóa (Key): thông tin tham số dùng để mã hóa Mã hóa (Encryption): Quá trình biến đổi thông tin từ dạng bản rõ sang bản mã bằng khóa hoặc không cần khóa Giải mã (Decryption): Quá trình ngược lại biến đổi thông tin từ dạng bản mã sang bản rõ. Chức năng cơ bản Đảm bảo tính bí mật (confidentiality) – giải quyết vấn đề bảo vệ thông tin chống lại sự tìm hiểu nội dung thông tin từ các đối tượng không có quyền truy nhập chúng.
Đảm bảo tính toàn vẹn dữ liệu (data integrity) – đảm bảo khả năng phát hiện sửa đổi trái phép thông tin. Để đảm bảo toàn vẹn dữ liệu, cần có các phương pháp đơn giản và tin cậy phát hiện bất kỳ sự can thiệp không mong muốn vào dữ liệu (các can thiệp như chèn, xóa và thay thế trong bản tin). Đảm bảo sự xác thực (authentication) – chức năng này có liên hệ với sự định danh (identification). Vì thế nó được thực hiện xác thực trên cả thực thể (hai đối tượng trong một phiên liên lạc sẽ định danh lẫn nhau) và bản thân thông tin (thông tin được truyền trên kênh truyền sẽ được xác thực về nguồn gốc, nội dung, thời gian gửi, …).Vì thế vấn đề xác thực trong mật mã được chia thành hai lớp chính – xác thực thực thể (identity authentication) và xác thực nguồn gốc dữ liệu (data origin authentication).
Đảm bảo chống sự từ chối (non-repudiation) – chức năng ngăn ngừa một thực thể từ chối (phủ nhận) một cam kết hoặc hành động trước đó. Khi xuất hiện tranh chấp vì một thực thể từ chối một hành động chắc chắn đã xảy ra, một biện pháp giải quyết là cần thiết. Các loại hình tấn công a. Xem trộm thông tin 7 Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 Hình 1.
1: Minh họa xem trộm thông tin Trong trường hợp này người dùng T chặn các thông điệp của A gửi cho B, và xem được nội dung của thông điệp này. Thay đổi nội dung thông điệp Hình 1. 2: Minh họa thay đổi nội dung thông điệp Người dùng T chặn các thông điệp của A gửi cho B và ngăn không cho các thông điệp này đến B. Kế tiếp T thay đổi nội dung của thông điệp và lại gửi thông điệp đó cho B, khi đó B không hề biết là thông điệp đó đã bị thay đổi.
Mạo danh người gửi 8 Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 Hình 1. 3:Minh họa mạo danh người gửi Ví dụ T giả làm là A gửi thông điệp cho B. Bob không biết điều này và nghĩ rằng thông điệp là của A gửi cho mình d. Phát lại thông điệp Hình 1.
4: Minh họa phát lại thông điệp Ví dụ trường hợp T sao chép lại hoàn toàn thông điệp mà A gửi cho B bằng các công cụ chụp các packet. Sau một thời gian xữ lý T lại gửi bản sao chép này cho B và B tin đó là thông điệp chính A gửi vì nó giống thông điệp cũ. Cách tấn công này nhìn qua có vẽ không ảnh hưởng gì đối với B, nhưng ta xét ví dụ tiếp sau: B là nhân viên ngân hàng A là khách hàng cần thanh toán. A gửi thông điệp đề nghị B chuyển cho A 10000$.
A đã áp dụng các biện pháp an toàn thông tin như dùng chữ ký điện tử phòng trường hợp T thay đổi nội dung hoặc xem nội dung như các cách tấn công trên. Nhưng lần này T lại dùng cách khác đó là sao chép và phát lại thông điệp này thì các biện pháp bảo vệ, phòng tránh trên đều không thể chống lại được. B luôn tin rằng A đã gửi tiếp một thông điệp mới (kế tiếp) để chuyển thêm cho T 10000$ nữa, và như vậy ta đã biết tách dụng của 9 Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 cách tấn công này. Trong nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo thông điệp.
Tổng quan về mã độc Cùng với sự phát triển mạnh mẽ của công nghệ thông tin và sự phát triển của Internet toàn cầu là các nguy cơ mất an toàn thông tin đang trở nên nguy hiểm và khó lường hơn, trong đó mã độc (malware) là một trong những mối hiểm họa nghiêm trọng trên Internet. Phần này sẽ giới thiệu tổng quan về mã độc (khái niệm,phân loại và con đường lây nhiễm) để hiểu rõ hơn về bản chất của chúng. Khái niệm mã độc Mã độc (tên tiếng anh là malware – được viết tắt từ malicious software) là loại phần mềm bất kỳ được thiết kế có mục đích để gây tổn hại cho một máy tính, máy chủ, máy khách hoặc mạng máy tính. Các chương trình độc hại này có thể thực hiện nhiều chức năng, bao gồm ăn cắp, mã hóa hoặc xóa dữ liệu nhạy cảm, thay đổi hoặc chiếm đoạt các chức năng tính toán lõi và giám sát hoạt động máy tính của người dùng mà không được sự cho phép của họ.
Mã độc chỉ gây thiệt hại sau khi được cấy hoặc đưa vào máy tính mục tiêu và có thể ở dạng mã lệnh thực thi, tập lệnh, nội dung hoạt động và phần mềm khác. Mã độc có mục đích xấu, hoạt động trái phép với người dùng máy tính bình thường vì vậy mã độc không bao gồm phần mềm gây ra tác hại vô ý do một số thiếu sót liên quan đến lỗi phần mềm. Phân loại mã độc Mã độc được chia thành nhiều loại tùy theo chức năng và cách thức lây nhiễm. Dưới đây là một số loại mã độc phổ biến nhất hiện nay a.
Virus Virus máy tính là một loại phần mềm độc hại phổ biến nhất, được ẩn dấu trong một chương trình có vẻ vô hại, có thể tự tạo ra các bản sao và lây lan vào các chương trình khác hoặc các tệp (file) khác để thực hiện một hành vi độc hại như xóa file, sao chép nội dung, mã hóa file. Worm-sâu máy tính Sâu (Worm) là một chương trình có thể tự sao chép và gửi các bản sao từ máy tính này sang máy tính khác qua các kết nối mạng. Khi đến nơi, worm có thể được kích hoạt và nhân bản lần nữa. Ngoài việc nhân bản, worm thường thực hiện một số chức năng không mong muốn như thu thập thông tin hệ thống, tìm kiếm lỗ hổng bảo mật.
Worm là một loại phần mềm độc hại được ẩn náu trong máy tính, nhưng nó không phải là virus vì nó không được nhúng vào chương trình khác. Worm lây 10 Downloaded by NHIM NHIM (nhimbien2@gmail.com) lOMoARcPSD|39459588 nhiễm từ máy tính này đến máy tính khác bằng cách khai thác lổ hổng bảo mật hoặc lỗ hổng do chính tác giả tạo ra. Ransomware Ransomware (mã độc tống tiền) gồm nhiều lớp phần mềm độc hại với mục đích hạn chế truy cập đến hệ thống máy tính mà nó đã lây nhiễm và đòi hỏi phải trả một khoản tiền cho kẻ tấn công nhằm xóa bỏ hạn chế truy cập mà nó đã tạo ra trước đó. Một vài dạng của ransomware mã hóa tệp tin, dữ liệu trên ổ đĩa cứng nhằm tống tiền, trong khi một vài dạng khác thì đơn giản hơn như chúng khóa hệ thống lại và hiển thị một thông báo để thuyết phục nạn nhân trả tiền.
Mã độc tống tiền thường lan truyền qua email với các file đính kèm, như các virus máy tính khác, khi mở file đính kèm này thì máy tính của người dùng sẽ bị kiểm soát. Khi đó, mã độc quét toàn bộ ổ đĩa của máy tính và mã hóa các file bằng mã hóa công khai. Hầu hết các tập tin quan trọng trên máy tính người dùng với định dạng .doc, pdf, xls, zip. sẽ không mở được nữa.
Để giải mã bắt buộc phải có khóa bí bật, mà khóa bí mật chỉ có kẻ tấn công mới có và nạn nhân sẽ nhận được thông báo trên màn hình (desktop) đòi tiền chuộc nếu muốn giải mã file. Trojan Trojan là một loại phần mềm giả mạo phổ biến, chúng thường ẩn náu trong chương trình phần mềm hữu ích để thực hiện các nhiệm vụ mong muốn và hợp pháp nhưng thực chất là thực hiện một số chức năng độc hại như xóa file, thu thập thông tin hệ thống và gửi cho máy chủ điều khiển, ăn cắp thông tin tài khoản người dùng. Backdoor Backdoor (cửa hậu) là một loại phần mềm độc hại cung cấp cho kẻ tấn công quyền truy cập từ xa vào máy nạn nhân. Backdoor là loại phần mềm độc hại phổ biến nhất và chúng có đủ hình dạng, kích cỡ với khả năng khác nhau.
Mã backdoor thường thực hiện đầy đủ các khả năng, vì vậy khi sử dụng backdoor kẻ tấn công thường không cần tải thêm các phần mềm độc hại khác hoặc mã chương trình.