BÀI 1 – TỔNG QUAN VỀ AN NINH MẠNG 1. Khái niệm về an ninh mạng Khái niệm về an ninh không có nghĩa là ngặn chặn mọi sự truy cập vào mạng. An ninh phải cho phép truy cập vào mạng theo cách thức mà chúng ta muốn, cho phép mọi người có thể làm việc với nhau. Mạng an toàn là một mạng được thiết kế mở để cho phép mọi người có thể truy cập sử dụng các dịch vụ bất kể họ ở đâu và kết nối bằng gì. Nếu ta thắt chặt an ninh, ta có thể cung cấp mức độ truy cập cao hơn và đảm bảo cho phép những đối tác truy cập, và ngược lại ta cung có thể truy cập tới các đối tác 2. Chiến lược phát triển an ninh mạng 2.1. Mô hình phân cấp về an ninh An ninh bao gồm rất nhiều lĩnh vực. Nếu ta xem xét các lĩnh vực theo thứ bậc thì ta có An ninh là gốc của các lĩnh vực khác nhau. Ví dụ an ninh quốc gia, an ninh thông tin, an ninh kinh tế có thể xem là các lĩnh vực con của an ninh. Trong chương trình này chúng ta quan tâm tới an ninh mạng, là một bộ phận của an ninh thông tin. An ninh được xem như vấn đề bảo vệ tài sản nói chung. An ninh thông tin là vấn đề bảo vệ thông tin, và nguồn thông tin như sách vở, điện thoại, dữ liệu máy tính ... An ninh mạng liên quan tới vấn đề bảo vệ các thành phần của mạng như dữ liệu, các thiết bị phần cứng, phần mềm, môi trường
Trang 1Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 1
BÀI 1 – TỔNG QUAN VỀ AN NINH MẠNG
1 Khái niệm về an ninh mạng
Khái niệm về an ninh không có nghĩa là ngặn chặn mọi sự truy cập vào mạng An ninh phải cho phép truy cập vào mạng theo cách thức mà chúng ta muốn, cho phép mọi người có thể làm việc với nhau Mạng an toàn là một mạng được thiết kế mở để cho phép mọi người có thể truy cập sử dụng các dịch vụ bất kể họ ở đâu và kết nối bằng gì Nếu ta thắt chặt an ninh, ta có thể cung cấp mức độ truy cập cao hơn và đảm bảo cho phép những đối tác truy cập, và ngược lại ta cung có thể truy cập tới các đối tác
2 Chiến lược phát triển an ninh mạng
2.1 Mô hình phân cấp về an ninh
An ninh bao gồm rất nhiều lĩnh vực Nếu ta xem xét các lĩnh vực theo thứ bậc thì ta
có An ninh là gốc của các lĩnh vực khác nhau Ví dụ an ninh quốc gia, an ninh thông tin, an ninh kinh tế có thể xem là các lĩnh vực con của an ninh
Trong chương trình này chúng ta quan tâm tới an ninh mạng, là một bộ phận của an ninh thông tin An ninh được xem như vấn đề bảo vệ tài sản nói chung An ninh thông tin là vấn đề bảo vệ thông tin, và nguồn thông tin như sách vở, điện thoại, dữ liệu máy tính An ninh mạng liên quan tới vấn đề bảo vệ các thành phần của mạng như dữ liệu, các thiết bị phần cứng, phần mềm, môi trường
Trang 2Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 2
Mô hình trên mô tả quan hệ giữ an ninh mạng và các thành phần liên quan về an
ninh Nếu ta chỉ chú trọng và an ninh máy tính sẽ bỏ qua nhiều lỗ hổng có thể bị khai
thác bởi hacker Bởi vậy an ninh mạng phải được xem xét trong ngữ cảnh của các thành
phần liên quan
2.2 Chế độ 3D về an ninh (3Ds of Security 10)
Lĩnh vực an ninh thông tin không ngừng được phát triển, nhưng những vấn đề cơ
bản để đảm bảo an ninh thì không thay đổi Nếu chúng ta muốn bảo vệ tài sản được tốt
thì cần phải nghiên cứu các bài học từ các chiến lược an ninh đã được sử dụng và
những vấn đề mà các chiến lược an ninh đó mắc phải
Nguyên lý cơ bản được áp dụng trong tất cả mọi trường hợp hoặc môi trường cho dù ta
áp dụng chúng để bảo vệ máy tính, mạng, nhà cửa, người hay những tài sản khác So sánh
giữa an ninh cá nhân và an ninh mạng là ví dụ điển hình, về nguyên tắc cơ bản thi giống
nhau Trên thực tế, an ninh mạng cũng dựa trên nguyên lý an ninh của bất kỳ lĩnh vực nào 3
chế độ cơ bản về an ninh có thể được áp dụng trong chiến lược an ninh là:
Security
Information Security
Network Security
Data Base Data Computer Application
Hình 1: Mô hình phân cấp về các lĩnh vực an ninh
Trang 3Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 3
e bảo vệ
Defence - bảo vệ - là thành phần dễ hiểu và được sử dụng đầu tiên, trước bất kỳ các phương pháp khác Đánh giá chế độ bảo vệ giúp chúng ta giảm thiểu rủi ro về khả năng thành công của các cuộc tấn công tới các tài sản Ngược lại, nếu đánh giá không tốt về chế độ bảo vệ ta có thể để các tài sản bị tấn công Tuy nhiên defence chỉ là một thành phần của chiến lược an ninh Rất nhiều các công ty chỉ dựa vào firewall để bảo vệ các tài sản thông tin, và những thông tin này không thể tránh được sự tấn công vì không đảm bảo các chế độ còn lại
Ví dụ: Thường sử dụng firewall, router access list
Deterrence - gây khó khăn, ngăn trở - là chế độ thứ hai của an ninh Ý tưởng của việc ngăn trở và gây khó khăn giống như việc thiết lập các luật hoặc quy tắc chống lại việc truy nhập và sử dụng trái phép tài sản, những hành vi vi phạm đều sẽ bị xử lý Deterrence thường được xem là phương pháp hiệu quả để giảm thiểu sự vi phạm an ninh Nếu có các quy định và luật được thiết lập thì những người tấn công sẽ phải cân nhắc trước khi thực hiện việc vi phạm Rất nhiều các công ty đã triển khai các quy định cho nhân viên và sử dụng các hình thức xử lý để ngăn chặn các vi phạm
Ví dụ: ta có thể sử dụng các quy định, email, thông báo
Detection - phát hiện - là chế độ thứ 3 trong chiến lược an ninh nhưng lại thường ít được triển khai trên các máy tính trong mạng Defence và deterrence chỉ sử dụng để ngăn chặn sự vi phạm an ninh chứ không thể phát hiện những sự vi phạm đó khi đang xẩy ra Thông thương sự
vi phạm an ninh có thể ngấm ngầm diễn ra trong một khoảng thời gian, nếu không có các chế
độ phát hiện kịp thời thì thiệt hại sẽ gia tăng nghiêm trọng
Trang 4Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 4
Ví dụ: cài đặt phần mềm diệt virus, sử dụng ghi chép lần vết (audit trails hoặc log files)
Ví dụ: về 3D trong việc triển khai an ninh cho tài sản cá nhân Chúng ta cần làm gì khi có những đồ vật quý trong nhà cần được bảo vệ nhưng vấn cho phép sử dụng? Ta sẽ cần thiết lập cả 3 chế độ Defence, ta cần khóa cửa sử dụng các khóa công nghệ cao và chỉ cho phép những người tin cẩn sử dụng khóa Deterrence, được bảo vệ bởi luật pháp chống lại việc trộm cắp, ta có thể sử dụng thêm chó canh nhà Detection có thể được sử dụng bởi camera, infrared sensor, hoặc các công nghệ cảnh bảo khác, ta còn có thể kết hợp với các công ty bảo vệ hoặc cảnh sát
Chú ý: Cả 3 chế độ rất cần thiết để đảm bảo an ninh, không nên bỏ sót chế độ nào Hầu hết tất cả các công ty đều đầu tư ít hoặc nhiều vào vấn đề an ninh nhưng công ty nào chú trọng vào cả 3 chế độ thì sẽ có hiệu quả hơn
2.3 Quá trình phát triển về an ninh mạng (Evolution of security 17)
Thực tế về an ninh thông tin đã thay đổi rất nhiều trong những năm qua Từ khi các máy tính cá nhân có thể được kết nối qua mạng trong môi trường các trường Đại học và các Viện nghiên cứu sang môi trường chính phủ, trước khi thương mại áp dụng vấn đề
an ninh, các công nghệ về an ninh trước đây chỉ được phát triển đặc biệt cho các môi trường đó Trong môi trường nghiên cứu, mục đích chính là chia sẽ thông tin hoàn toàn Bởi vậy vấn đề an ninh chỉ thuần túy là chức năng kế toán để tính tiền sử dụng thông tin và tài nguyên Trong hệ thống mạng của chính phủ, an ninh thông tin được đảm bảo chặt chẻ nên các máy tính bị ngăn chặn hoàn toàn, đảm bảo sự truy nhập và sử dụng dữ liệu mật
Government blockage model - protected internal resources, no external access Academic open access model - unprotected internal resources, full external access
Trang 5Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 5
Ví dụ: InterNex (ISP ở Palo Alto được mua bởi Concentric Network Corp.) sử dụng
mô hình mở, không có kiểm soát an ninh ngoại trừ xác thực bởi username, password Năm 1994, Kevin Mitnick đã lợi dụng kẽ hở này để sử dụng một tài khoản và tấn công các máy tính ở San Diego bằng cách giả mạo IP Sau đó tấn công sang các máy tính ở các thành phố khác như San Francisco, Denver, San José Đến tận 15/2/1995 Kevin bị bắt và xử phạt 5 năm tù và đã xác nhận về hệ thống an ninh của chính phủ năm 2000 trước Quốc hội Mỹ
Các chiến lược an ninh này vẫn được sử dụng nhưng chúng không còn phù hợp với những mô hình của các mạng máy tính hiện nay, đặc biệt là trong lĩnh vực kinh tế, thương mại Từ khi thương mại điện tử phát triển, cả hai mô hình trên đều không phù hợp Mô hình đóng không thể thực hiện vì ta cần phải cho phép người sử dụng truy cập Tương tự, mô hình mở cũng không thể áp dụng khi ta cần phải bảo vệ thông tin cá nhân cho mọi người Thương mại điện tử đặt ra một mô hình an ninh hoàn toàn khác biệt cho phép giới hạn và kiểm soát sự truy cập tài nguyên của người sử dụng đồng thời đảm bảo an toàn về thông tin cá nhân Mô hình này yêu cầu phải có sự xác thực, phân quyền
và đảm bảo bí mật cho người sử dụng
Ví dụ: Bảo vệ tài sản cá nhân Ta có thể cho phép những người đưa hàng, vệ sinh, thợ sửa chữa vào nhà làm các công việc của họ nhưng vẫn ngăn chặn được những kẻ xấu
Các sản phẩm hiện đại đều được thiết kế để phù hợp với mô hình an ninh mới Tuy nhiên sự phát triển quá nhanh của Internet làm thay đổi mô hình thương mại của các mạng máy tính Do vậy rất nhiều sản phẩm không thể theo kịp những sự thay đổi đó Hầu hết các sản phẩm sử dụng chức năng trên mạng đều rất khó hoặc không thể đạt các yêu cầu về an ninh Bởi vậy thiết kế chiến lược an ninh cần phải nhận biết các điểm yếu
để có thể đưa ra được các giải pháp để bù trừ cho các sản phẩm yếu kém
Trang 6Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 6
Ví dụ: Tăng cường hệ thống phát hiện để hỗ trợ cho hệ thống bảo vệ (trong 3Ds) Thêm phần mềm quét và diệt virus tăng cường cho hệ thống firewall Thường xuyên cập nhật các phiên bản mới nhất của các công cụ
Chú ý: Có rất nhiều mô hình an ninh trên lý thuyết Một số mô hình liên quan tới kiến trúc mạng, một số mô hình liên quan đến truy cập dữ liệu Tuy nhiên, chiến lược
về an ninh cần phải linh hoạt, phải được đánh giá định kỳ và thay đổi theo thực tế và công nghệ
2.4 Các bước cần thiết (5 steps to better security 12)
Trong an ninh mạng, mục tiêu của việc triển khai hệ thống an ninh phải được làm rõ
để hoạch định chiến lược và lựa chọn công nghệ Trên phương diện của người thực hiện an ninh, xác định mục tiêu là vấn đề khó khăn Thông thường chúng ta được đưa
ra yêu cầu bảo vệ an ninh mạng Trong trường hợp này, ta cần phải đưa ra được mục tiêu và đặt ra các giả thuyết để thực hiện kế hoạch về an ninh Khi triển khai chiến lược
an ninh ta phải cân nhắc
- Không thể đảm bảo an ninh tuyệt đối
- Ta có thể quản lý được các rủi ro về an ninh
- Sử dụng các công nghệ chống lại các rủi ro để đạt được mục tiêu
Trước khi thiết lập chiến lược an ninh, ta cần phải thực hiện 5 bước quan trọng Chúng là một yêu cầu trong giai đoạn đánh giá và là một phần trong việc triển khai chiến lược an ninh Các bước này trả lời 5 câu hỏi theo trình tự dùng để xác định các yêu cầu về an ninh và có thể hỗ trợ cho việc xây dựng các giải pháp an ninh
Assets - tài sản - Ta cần bảo vệ cái gì? Phải xác định được tài sản cần được bảo vệ
để tránh việc xây dựng hệ thống an ninh sai mục đích
Ví dụ: CSDL, khả năng cung cấp dịch vụ, thông tin cá nhân
Trang 7Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 7
Risk - rủi ro - Đâu là những điểm yếu, lỗ hổng và các nguy cơ gì có thể xẩy ra? Điểm yếu của tài sản có thể bị khai thác bởi các nguy cơ nào? Rủi ro có thể được xác định trong trường hợp các nguy cơ đó khai thác được các điểm yếu Tổng hợp các yếu
tố này ta có thể xác định các thành phần cần thiết cho hệ thống an ninh để bảo vệ tài sản nói trên
Ví dụ: dùng trong hay ngoài firewall, network, hoặc trên server và giá thành
Protections - bảo vệ - Tài sản đó được bảo vệ như thế nào? Khi yêu cầu về tài sản được xác định trong câu hỏi 1 và rủi ro được xác định trong câu hỏi 2, ta có thể xem xét các quy định, thủ tục và kỹ thuật thực tế sử dụng để cung cấp mức độ bảo vệ thích hợp Ngoài ra ta còn có thể đảm bảo các chúng được thiết lập đúng chỗ
Ví dụ: sử dụng các biện pháp bảo vệ (defence) như firewall, ACL hoặc các quy định (deterrence)
Tools - công cụ - Ta cần sử dụng thiết bị và công nghệ nào để đảm bảo? Câu hỏi 3 giúp ta phân loại các thành phần của hệ thông an ninh và ta cần phải lựa chọn các công
cụ hỗ trợ Đây là giai đoạn đánh giá các sản phẩm
Priorities - mức độ ưu tiên - Thứ tự thực hiện và triển khai hệ thống an ninh như thế nào? Khi ta đã xác định được các công cụ và kỹ thuật để bảo vệ tài sản từ những nguy
cơ thì ta sẽ triển khai theo thứ tự ưu tiên nào Đặc biệt trong trường hợp ta chưa có khả năng để triển khai đồng bộ toàn bộ hệ thống an ninh
Ví dụ: Khi xây dựng web site thương mại Để trả lời những câu hỏi này người thiết
kế có thể xác định các thành phần cần bảo vệ như thông tin, tài khoản của người sử dụng, khả năng phục vụ của web site Khi đó ta cần mã hóa khi kết nối trao đổi thông tin, lưu trữ dữ liệu trong các CSDL khác nhau và được mã hóa Server có sử dụng firewall để chống lại DOS và có thể tiến hành chạy song song 2 server v.v
Trang 8Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 8
2.5 Triển khai chiến lược an ninh
Phương pháp tổng thể để triển khai chiến lược an ninh bắt đầu bằng việc mô tả cần bảo vệ cái gì và tại sao Sau đó xác định khi nào triển khai và các bước triển khai cụ thể như thế nào Thứ tự hoàn chỉnh để triển khai chiến lược an ninh bao gồm nhiều thành phần Các thành phần đó thường được xác định qua 5 bước nói trên bao gồm: xác định mục tiêu yêu cầu, phạm vi, chính sách, kỹ thuật kiến trúc, kế hoạch thực hiện, chuẩn - thủ tục – và hướng dẫn thực hiện
Mục tiêu và yêu cầu: là điểm bắt đầu của tất cả các chiến lược an ninh Để triển khai được giải pháp an ninh thì mục tiêu và yêu cầu phải được xác định rõ ràng Mục tiêu không thể đơn giản như “bảo vệ mạng từ các nguy cơ từ Internet” hay “bảo vệ dữ liệu mật không cho phép các tổ chức hay cá nhân khác truy nhập”
Phạm vi an ninh là để xác định giá thành, mô hình và thời gian thực hiện Thông thường các dự án được chia thành các các gói nhỏ thực hiện theo từng giai đoạn để dễ dàng quản lý
Chính sách an ninh mô tả chi tiết về mục tiêu và yêu cầu
3 An toàn và bảo mật Hệ thống thông tin
3.1 An toàn và bảo mật thông tin
Hệ thống thông tin an toàn thì trước hết phải có sự đảm bảo thông tin (information assurance) trên cơ sở hạ tầng mạng truyền dữ liệu tin cậy và thông suốt
Đi kèm với an toàn là bảo mật thông tin để đảm bảo bí mật về nội dung
thông tin được truyền tải
Hai yếu tố an toàn và bảo mật đều rất quan trọng và có sự gắn bó mật thiết
với nhau
Trang 9Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 9
Hình 2 Các thà nh phầ n cơ bả n về thông tin
Các thành phần cơ bản về thông tin gồm có:
C - Confidentiality: bảo mật
I - Integrity: toàn vẹn A- Accessibility: sẵn sàng
Các thành phần cơ bản về mạng:
Hardware: các thiết bị Software: ứng dụng Communication: môi trường trao đổi thông tin
3.2 Các tính chất cần đảm bảo an ninh cho Hệ thống thông tin
Để đảm bảo an ninh bảo mật cho Hệ thống thông tin, các hệ thống cần phải đáp ứng đầy đủ các tính chất bảo mật sau:
Đảm bảo được các tính chất an toàn của mạng máy tính (Computer Security)
Tính an toàn (safety)
Tính tin cậy (reliability) Tính sẵn sàng (accessibility)
Trang 10Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 10
Tính mở rộng (scalability) Tính dễ quản trị (managebility)
Đảm bảo được các nguyên tắc về tính bảo mật thông tin (Information Assurance)
Tính bí mật (privacy/confidentiality) Tính toàn vẹn (integrity)
Tính xác thực/nhận dạng (authenticity) Tính trách nhiệm/không thể chối bỏ (non-repudiation)
3.3 Mô hình triển khai An ninh (Defence In Depth)
Từ khi các máy tính cá nhân có thể được kết nối qua mạng trong môi trường các trường Đại học và các Viện nghiên cứu sang môi trường chính phủ, trước khi thương mại áp dụng vấn đề an ninh, các công nghệ về an ninh trước đây chỉ được phát triển đặc biệt cho các môi trường đó Các mô hình triển khai cơ bản gồm có:
Government blockage model – bảo vệ tài nguyên, không cho phép truy cập
từ bên ngoài, chỉ truy cập từ trong hệ thống
Academic open access model – tài nguyên được chia sẻ, cho phép truy cập từ bên ngoài
Commercial mix model – tài nguyên và dịch vụ được phân lớp và kiểm soát quyền truy cập từ ngoài cũng như từ bên trong
Trang 11Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 11
Các mô hình triển khai An ninh (Defence In Depth) gồm có các mô hình như sau
Trong đó:
Lollipop Model:
- Thiết lập vành đai bảo vệ truy cập (tương đối)
- Bảo vệ dữ liệu (quan trọng) Onion Model:
- Thiết lập vành đai bảo vệ (vòng ngoài)
- Phân lớp kiểm soát quyền truy cập (các khu vực)
- Bảo vệ dữ liệu (theo nhiều tầng)
So sánh Lollipop Model vs Onion Model:
- Thiết lập vành đai bảo vệ truy cập (vòng ngoài)
Firewall, Router Access List, Authentication
- Phân lớp kiểm soát quyền truy cập (các lớp) Network: Environment, protocols Host: Operating System, Authorization
Lollipop Model of Defence Onion Model of Defence
Trang 12Bài 1: Tổng quan về an ninh và bảo mật thông tin Trang 12
Application: Xử lý và trao đổi dữ liệu
- Bảo vệ dữ liệu (vòng trong)
Backup, Mã hóa
Chúc Anh/ Chị học tốt!
Trang 13Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 1
BÀI 2 – PHÂN TÍCH NGUY CƠ VÀ ĐỊNH VỊ KẼ HỞ
1 Phân tích nguy cơ
Phân tích nguy cơ và định vị khe hở là bước tiên quyết trước khi triển khai các hệ thống
an ninh Xác định được các nguy cơ sẽ cho phép xây dựng được các chiến lược tập trung
mà không sợ bỏ quá các khu vực trọng yếu Trọng tâm của việc triển khai hệ thống an ninh
là để hạn chế và giảm thiểu ở mức độ chấp nhận được các sự cố, với mục tiêu là có đủ thời gian để xử lý mà không làm ảnh hưởng tới các tính chất vận hành của hệ thống Để làm được điều đó ta cần phải xác định được các nguy cơ (kẽ hở) và phân tích các rủi ro mà nguy cơ đó mang lại khi bị lợi dụng
3 thành phần trọng tâm trong quy trình phân tích nguy cơ gồm:
- Xác định và Đánh giá tài nguyên cần bảo vệ
- Những nguy cơ nào có thể xẩy ra
- Đánh giá các rủi ro và khả năng ảnh hưởng tới hệ thống
1.1 Nguy cơ và rủi ro
Các hiểm họa với hệt thống bao gồm các thông tin đặc trưng như phát sinh từ đâu, truy nhập vào hệ thống qua kẽ hở, điểm yếu nào và nó sẽ gây ảnh hưởng như thế nào tới tài nguyên trên hệ thống
Mỗi nguy cơ bao gồm các thông tin đặc trưng như phát sinh từ đâu, truy nhập vào hệ thống qua kẽ hở nào va nó sẽ gây ảnh hưởng như thế nào tới tài nguyên trên hệ thống Ví
dụ như một virus đính kèm trong email được gửi tới hệ thống, nguy cơ sẽ xẩy ra khi nhân viên đọc email đó Theo điều tra và thống kê của Computer Security Institute (CSI) về rủi
ro trên các hệ thống thông tin phần lớn lại bắt nguồn từ các nguy cơ bên trong hệ thống
Trang 14Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 2
55 20
Physical
Dishonest EmployeeHình 1: Số liệu thống kê các rủi ro trên hệ thống (CSI)
1.2 Phân loại nguy cơ
Các máy tính kết nối Internet luôn là những mục tiêu để tấn công của hackers hoặc các chương trình mã độc Nếu chúng ta không update các bản vá kẽ hở trên hệ thống và đánh giá đúng các nguy cơ thì hệ thống của chúng ta sẽ bị tấn công dễ dàng
Tấn công các hệ thống bao gồm nhiều dạng thức từ tự động, mobile code trên mạng, hoặc cố tình bởi các hackers
Malicious Mobile Code: tự động gồm các nguy cơ tiềm ẩn như:
o Computer Virus
o Computer Worms
o Email Worms
o Trojan horse programs
o Remote Access Trojans
o Zombie Trojans và DDoS attacks
o Malicious HTML
Trang 15Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 3
Manual Cracking: được điều khiển bởi hackers trong đó có các hình thức tấn công như:
o Network Layer attacks: Rất nhiều các nguy cơ được phát hiện lợi dụng
khe hở của giao thức mạng (tâng 3 – tầng 6 của mô hình OSI) Các giao thức mạng như TCP/IP, NetBIOS, AppleTalk, IPX, BGP … định nghĩa phương pháp trao đổi dữ liệu chuẩn để đảm bảo mô hình liên kết mở
o Packet sniffing (ethereal, www.tcpdump.org hoặc http://windump.polito.it)
o Protocol Anomaly attacks (http://cotse.com/tools/packet.htm, nemesis,
và MGEN)
o (Các dạng tấn công: port scanning, spoofing, session highjacking, sequence guessing, syn flooding, no authentication or encryption, …)
Application Layer attacks
Tấn công tầng ứng dụng thường lợi dụng khe hở của các ứng dụng đồng thời tấn công thông qua các hệ điều hành mà ứng dụng chạy trên đó
Content attacks:
o SQL injection
o Unauthorized network shares
o file system trasversals
Buffer Overflow
Password cracking
Trang 16Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 4
2 Định vị kẽ hở
Trong thực tế khi muốn nối kết các hệ thống có nguồn gốc khác nhau thì những hệ thống này phải mở, bằng cách giao diện và giao thức được chuẩn hoá Việc đố đồng nghĩa với các đặc tả kỹ thuật công khai
Mặt trái của việc công bố và áp dụng rộng rãi kỹ thuật là nhờ đó mà tin tặc có thể nắm rất vững các nhược điểm nếu có của các thành phần trên hệ thống và triệt để khai thác chúng
2.1 Khe hở trên Hệ điều hành
Mô hình an ninh của hệ điều hành (trusted computing base) là một tập hợp các quy tắc, giao thức để đảm bảo chức năng an ninh của hệ thống Hệ thống an ninh thực hiện từ mức giao thức mạng xuống đến các hoạt động của hệ điều hành Hệ điều hành tốt sẽ bảo vệ toàn
bộ máy chủ, các phần mềm và thiết bị trên hệ thống
Account Database Management
Windows:
• Hệ thống độc lập: Security Account Manager (SAM)
• Domain và Server: sử dụng Central Account Database và
domain-wide previleges điều khiển bởi Domain Controller
• Windows 2003 trở lên: sử dụng thêm mô hình Forest Account
Unix-like (Solaris, HP-UX, AIX, Linux, …)
• UNIX account database files: /etc/passwd và /etc/shadow
• Nhóm tài khoản: /etc/group
Access Control Lists
Trang 17Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 5
Bên cạnh việc xác thực, để hạn chế sự tấn công khi user đã truy nhập được vào hệ thống, ta còn cần phải thiết lập chức năng phân quyền (authorization) sử dụng tài nguyên Phân quyền thường được thiết lập để xác định quyền truy nhập vào tài nguyên như tệp tin, thiết bị, cơ sở dữ liệu v.v ngoài ra còn xác định một tập hợp các đặc quyền của người sử dụng trong mạng Hiện nay có rất nhiều các phương pháp phân quyền khác nhau như: quyền user, phân quyền theo chức năng, danh sách kiểm soát quyền truy nhập, và phân quyền theo quy định
Các hệ thống thông tin cũng sử dụng các danh sách kiểm soát truy nhập (ACL – Access Control Lists) để xác định các tài nguyên hoặc dịch vụ nào được phép sử dụng Truy nhập tệp tin trên Server thường được kiểm soát bằng các thông tin của từng tệp tin Tương tự, khả năng truy nhập các dịch vụ khác nhau của các thiết bị mạng cũng được kiểm soát bởi ACL
File-Access Permission Cả Windows (NT trở lên) và Unix đều sử dụng quyền truy
nhập tệp tin để quản lý sự truy nhập Hai hệ thống này thiết lập quyền truy nhập tệp tin khác nhau những đều đảm bảo việc kiểm soát sự truy nhập và sử dụng các tệp tin trong hệ thống
• Hệ thống tệp tin NTFS của Windows sử dụng ACL cho từng tệp tin và thư mục ACL là một danh mục các quyền truy nhập (ACEs – Access Control Entries) Mỗi ACE bao gồm SID và quyền của SID đó, quyền có thể là access hoặc deny SID (Security ID) có thể là một tài khoản, một nhóm người dùng ACE có thể được thiết lập bởi admin, người chủ sở hữu của tệp tin, hoặc những người có quyền
• Hệ thống sẽ xác định đặc quyền của tài khoản người dùng, nhóm người dùng của tài khoản để xác định SID khi đăng nhập và sẽ cấp phát cho một thẻ (token) Thẻ đó sẽ được gắn vào trong các process thực thi của tài khoản đăng nhập trên hệ thống và kiểm soát sự truy nhập vào hệ thống tệp tin
Trang 18Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 6
permission and attributes, add file, delete folder
Read, execute, change and delete file and attributes
Read and Execute List folder, read information Read and execute file, read
information
List Folder Contents List file and folder, execute
files, read information
N/A
attributes and permission
Write and append data, write attribute and permission
Unix File-Access Permission
• Trước đây Unix không sử dụng ACL mà các file được bảo vệ bằng cách hạn chế
truy nhập bởi tài khoản người dùng và nhóm tài khoản Bởi vậy ta không thể thiết
lập các quyền khác nhau cho người sử dụng Ví dụ ta không thể cấp quyền chỉ được
phép đọc dữ liệu trong tệp cho một người dùng Các hệ thống Unix sau này
(Solaris) bắt đầu sử dụng ACL
Trang 19
Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 7
• Trước đây các hệ thống Unix phân quyền cho các tệp tin để kiểm soát truy cập chỉ
bao gồm 3 mức truy nhập đó là: chủ, nhóm người dùng, và tất cả Đặc quyền của
người chủ sở hữu file cho phép xác định ai được phép truy nhập tệp tin để đọc, ghi,
hoặc thực thi
Remote Procedure Calls
Remote Procedure Calls
Trang 20Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 8
• Các daemons mở cổng giao tiếp hệ thống (<1024) bắt buộc phải chạy quyền Root access nên ta cần thay đổi các cổng mặc định
• Cài đặt OpenSSL, thay các daemons bằng OpenSSH (telnet, FTP, r* command như rlogin, rsh, rexec)
Để thực hiện được SSH ta phải có daemon sshd cài và thực thi Sshd thường được thiết lập mặc định tại /usr/local/sbin và sshd_config tại usr/local/etc
2.2 Khe hở trên giao thức
Họ giao thức TCP/IP
Bộ giao thức TCP/IP hiện nay đang được sử dụng phổ biến nhất trên thế giới, bởi vì mạng toàn cầu Internet và các mạng cục bộ Ethernet đều sử dụng nó TCP/IP version 4 thường vẫn được sử dụng thì có các lỗ hỗng chính như
o Spoofing (giả mạo IP): thường dùng trong DOS
o Session guessing và highjacking: chiếm dụng phiên làm việc
o Authentication or encryption: không xác thực và mã hóa
Trang 21Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 9
• Khả năng phát hiện và chạm trên mạng không dây là không thể nên Wireless sử dụng CSMA/CA thay cho CSMA/CD sử dụng trên Ethernet LAN
• Dữ liệu được mã hóa và xác thực theo chuẩn Wireless Equivalent Privacy (WEP) đối với các thiết bị theo chuẩn 802.11a,b,g sử dụng thuật toán mã hóa dòng RC4 với khóa 64-128 bits (http://www.rsasecurity.com/rsalabs/faq/3-6-3.html)
• Bắt đầu từ chuẩn 802.11i các thiết bị WLAN sử dụng TKIP và EAP thay cho WEP với khả năng mạnh hơn
(http://802.11ninja.net/airjack hoặc www.dachb0den.com) spoofing và man-in the-middle attack
2.3 Ứng dụng và người dùng
Ứng dụng:
An ninh mức ứng dụng hầu hết được xác định bởi người phát triển Ta có thể thắt chặt thêm an ninh nhưng nếu các ứng dụng đó tiềm tàng các kẽ hở thì rất khó có thể bảo vệ Một số đặc tính an ninh ứng dụng:
o Đặc quyền (privileges)
o Quyền admin thiết lập cấu hình
o Updates (bugs fixed)
o Tích hợp với an ninh của OS
o Trao đổi dữ liệu qua mạng
Người dùng:
o Chủ quan (Sao chép download lậu, truy nhập Internet…)
o Khách quan (không có kiến thức an ninh)
Trang 22Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 10
3 Một số biện pháp bảo vệ
3.1 Vùng an toàn và phân đoạn
Trong vấn đề xây dựng kiến trúc an ninh phải xác định các khu vực khác nhau về mức
độ tin tưởng và an ninh của hệ thống mạng Có những khu vực hoàn toàn tin tưởng, là nơi những dữ liệu quan trọng được lưu trữ Có những khu vực ta không tin tưởng tuyệt đối là nơi để chứa những dữ liệu kém quan trọng hơn và chúng có thể được chia sẻ cho các vùng hoặc mạng không tin tưởng Hệ thống an ninh sẽ phải kiểm soát giao diện của các khu vực này một cách chặt chẽ
Khi chúng ta có thể xác định được quy trình hoạt động, những nguy cơ và các mối
đe dọa cho hệ thống, và ta cũng xác định được các chức năng cần thiết cho hệ thống hoạt động thì ta có thể bắt đầu phân chia các chức năng thành các vùng đặc quyền (zones of trust) Để làm được công việc này ta phải xác định được mức độ tin cậy của các chức năng hoặc dữ liệu và cũng phải xác định mức độ rủi ro chấp nhận được để chức năng hoặc dữ liệu đó phục vụ hoạt động hệ thống Đó là sự đánh đổi giữa những gì ta muốn thực hiện và những gì ta muốn tránh
Khu vực an ninh trên mạng thường liên kết với nhau và hoạt động của hệ thống yêu cầu
sự phát triển cũng như trao đổi thông tin giữa các vùng với độ tin cậy khác nhau
Trang 23Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 11
Hình 2: Phân vùng độ tin cậy các khu vực mạng
Firewalls, routers,VPN, hoặc các công nghệ và thiết bị kiểm tra quyền truy cập có thể được sử dụng để ngăn cách các khu vực với mức độ tin tưởng khác nhau (physical location) Thiết lập các quy định trong firewall hoặc ACL để đảm bảo sự truy nhập và trao đổi thông tin giữa các vùng
Sự tin tưởng còn phải được xác định trên phương diện hoạt động của các giao dịch trong hệ thống (logical process) Rất nhiều các giao dịch yêu cầu trao đổi thông tin qua nhiều khu vực đặc quyền và giữa các khu vực đó phải có sự liên kết về an ninh để thực hiện giao dịch đó Ví dụ: Web Server kiểm soát quyền thực thi COM của một yêu cầu truy cập Website trên hệ thống, hoặc hệ thống kiểm soát thanh toán thẻ tín dụng
Phân khu tài nguyên trên mạng dựa vào các tiêu chí về quyền truy cập sẽ thiết lập được
hệ thống an ninh tốt Giảm tính phụ thuộc giữa các khu vực để dễ dàng quản lý
Trang 24Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 12
Hình 3: Phân vùng mạng với điều khiển truy cập bằng ACL
3.2 Virus và cách phòng chống
Virus đầu tiên có tính chất phá hoại trên Internet xuất hiện từ tháng 5 năm 2000 là
“Morris”, tham khảo tại http://www.wbglinks.net/pages/reads/misc/morrisworm.html, bắt đầu cảnh báo ngành công nghệ mạng về vấn đề an ninh Tiếp theo đó Internet worm Love Letter là một virus gây nhiều tai tiếng vì sự lan rộng qua email Một trong những virus gây hại đầu tiên tới dữ liệu là “Sircam”, virus này lây nhiễm các tệp offices và tự động gửi cho các địa chỉ trong danh bạ
Virus máy tính ngày một phát triển, các biến thể của virus ngày một phức tạp Theo thống kê của CERT khi một máy tính khởi động và kết nối vào Internet, thì chỉ sau 15 giây (trước đây là khoảng 45 giây – 2005) là đã có những loại virus tấn công tới máy tính đó
Trang 25Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 13
Việc viết các chương trình virus hoặc sở hữu các chương trình virus không phải khó khăn Hiện nay trên mạng có rất nhiều các chương trình tạo virus và thậm chí còn cho phép thiết lập khả năng hoạt động của virus Những loại virus đó còn cho phép thay đổi chữ ký,
mã nhận biết để vượt qua các chương trình phòng chống virus hiện hành
Với sự phát triển quá nhanh và phức tạp của virus, có thể từ các hackers, từ các tổ chức chính phủ (Magic Lantern-FBI), nhân viên công ty, học sinh sinh viên … Trên thực tế, không có biện pháp nào là hoàn toàn hữu hiệu với virus, dù cho các phần mềm phòng chống virus đã được cập nhật và phân loại thường xuyên Các loại AntiVirus phổ biến gồm
- Personal AV, cài trên máy cá nhân, không quản lý tập trung
- Corporate AV, cài trên máy cá nhân với server (user có thể disable)
- Gateway AV, cài trên Mail Server, chỉ chống được cho Mail Server cài đặt
- Network Gateway AV, chống được các loại download, nhưng có thể download qua
cổng khác nếu được thiết lập
Internet virus chủ yếu phát tán và lây nhiễm thông qua các dịch vụ thường được sử dụng trên Internet như Email, Web, FTP … nên để phòng chống thì cần phải cập nhật thường xuyên các sản phẩm chống virus và virus list, các patches phần mềm và hệ thống,
và hướng dẫn user trong hệ thống
3.3 Xác thực định danh
Proxy Servers
Trong thực tế các hệ thống đều phải có Internet để thực hiện các công việc và người sử dụng thông thường không quan tâm hệ thống được kết nối như thế nào và dữ liệu được trao đổi qua những thành phần nào trên mạng Người quản trị mạng phải nhận biết và thiết lập
mô hình kết nối trực tiếp, quan NAT, hoặc qua Proxy
Trang 26Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 14
Hình 4: Kết nối trực tiếp qua IP thực
Cách đơn giản nhất là kết nối trực tiếp các thiết bị trong hệ thống với Internet qua các
IP thực Tuy nhiên đây là cách thức tốn kém và không đảm bảo NAT (Network Address Translation) được sử dụng như một firewall bởi vì nó cho phép thiết lập các subsets Tất cả các máy tính nội mạng đều có các IP nội mạng và không được sử dụng như IP Internet (192.168.x.x, 172.16.x.x, 10.x.x.x) và NAT được sử dụng như một Gateway Nếu muốn triển khai Server ta có thể kết hợp thêm PAT (Port Address Translation) PAT cho phép các Server nhận kết nối từ Internet mà không cần thiết phải sử dụng IP thực, NAT server sẽ làm nhiệm vụ chuyển tất cả các liên kết tới máy chủ cần thiết (và thường không sử dụng các cổng mặc định)
Trang 27Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 15
3.4 Hệ thống phát hiện thâm nhập
Intrusion Detection System (IDS)
Phát hiện xâm nhập là quá trình theo dõi và phát hiện những sự truy cập hoặc điều khiển hệ thống trái phép Hầu hết tất cả những người quản trị mạng đều phải thực hiện công việc này, kiểm tra các log files để xem xét các sự cố
ID có thể là các phần mềm cài đặt trên nền hệ điều hành như các phần mềm diệt virus, nhưng hiện nay các thiết bị lắng nghe đường truyền (network sniffing) được sử dụng nhiều hơn Các hệ thống phát hiện xâm nhập có thể phát hiện các dạng thức tấn công như:
- Impersonation attemps: Mạo danh
- Password cracking: phá password
- Protocols attacks: tấn công các khe hở giao thức
- Buffer Overflows: làm tràn bộ đệm
Router
Real IP
NAT Server
Internet
Internal IP Internal IP Internal IP Internal IP
PAT map NAT từ cổng 80 sang 8080
Hình 5: Mô hình kiến trúc với NAT/PAT
Trang 28Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 16
- Installation of rootkits: cài đặt phần mềm nghe lén
- Software vulnerability exploit:
- Malicious code (viruses, worms, trojans)
- Illigal data manipulation
- Unauthorized file access
- DOS attacks: từ chối dịch vụ
Chúng ta cần hiểu các nguy cơ và khả năng lợi dụng các nguy cơ đó để có thể thiết lập
hệ thống IDS ngăn chặn và phát hiện Các nguy cơ được phân làm 2 loại đó là sử dụng sai quy định hoặc tấn công Free IDS: AIDE, Snort, Suricata …
Network protocols attacks
Rất nhiều các nguy cơ được phát hiện lợi dụng khe hở của giao thức mạng (tâng 3 – tầng 6 của mô hình OSI) Các giao thức mạng như TCP/IP, NetBIOS, AppleTalk, IPX, BGP … định nghĩa phương pháp trao đổi dữ liệu chuẩn để đảm bảo mô hình liên kết
mở Thông tin được trao đổi bởi các gói tin (packets) và chúng có cấu trúc đặc biệt của từng giao thức nhưng thường chúng không được thiết kế để xử lý các gói tin không đúng cấu trúc
Trang 29Bài 2: Phân tích nguy cơ và định vị kẽ hở Trang 17
IDS types and detection models
- Host Based IDS: được cài đặt trên hệ thống muốn theo dõi, có thể là server, workstation, hoặc bất kỳ thiết bị nào (gateway, router, printer)
File integrity: kiểm tra tính toàn vẹn tệp bằng checksum hoặc hash
Tripwire
Pedestal software
- Behavior monitoring: thực hiện kiểm soát theo thời gian thực các hoạt động ngờ vực Ví
dụ Windows HIDS sẽ thông báo khi có tiến trình nào thực hiện thay đổi registry, password changes, hoặc privilege escalation Trên Unix thường sẽ theo dõi khi download tệp /etc/passwd hoặc sử dụng lệnh setuid và setgid
CISCO IDS Host Sensor
Okena Storm Watch
Entercept Security Technologies
Chúc Anh/ Chị học tập tốt!
Trang 30Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 1
BÀI 3 – LÝ THUYẾT MÃ HÓA VÀ AN TOÀN THÔNG TIN
1 Mật mã học
Mật mã học là khái niệm đã có từ lâu đời, qua nhiều năm nghiên cứu, phát triển người ta
đã đưa ra một số khái niệm căn bản để định nghĩa về mật mã học như sau:
Mật mã học (cryptography) là khoa học nghiên cứu phương pháp che dấu thông tin
Thông tin được che dấu vẫn có thể bị khám phá mà không cần biết khóa, ngành học đó
gọi là thám mã (cryptanalysis)
Lý thuyết mật mã nghiên cứu đồng thời mật mã học và thám mã để đánh giá mức độ an
toàn và khả năng bảo mật thông tin
Lịch sử mật mã học chính là lịch sử của những phương pháp mật mã học cổ điển - các phương pháp mật mã hóa với bút và giấy, đôi khi có hỗ trợ từ những dụng cụ đơn giản Vào đầu thế kỷ 20, sự xuất hiện của các thiết bị cơ khí và điện cơ, chẳng hạn như máy Enigma,
đã cung cấp những cơ chế phức tạp và hiệu quả hơn cho việc mật mã hóa Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính trong những thập kỷ gần đây đã tạo điều kiện
để mật mã học phát triển nhảy vọt lên một tầm cao mới
1.1 Lịch sử phát triển
Mật mã là ngành khoa học biến các thông điệp trở nên bí mật trước những người khác, những người không có quyền được biết về nội dung của thông điệp Thông điệp đầu tiên đã được mã hóa bằng thuật toán mã hóa dịch chuyển Ceasar, được sử dụng bởi quân đội của Julius Ceasar Đây là một thuật toán mã hóa đơn giản, chỉ là lấy một chữ cái trong thông điệp gốc và thay thế bằng một chữ cái khác cách nhau một số xác định vị trí trong bảng chữ cái Alphabet Ví dụ như chúng ta sẽ quy định số vị trí dịch chuyển là 4, ký tự a được dịch chuyển đi 4 vị trí sẽ là ký tự e trong bảng chữ cái Alphabet Đây là một ví dụ về mã hóa mà người gửi và người nhận đã biết cách mà thông điệp được mã hóa và cách giải mã thông
Trang 31Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 2
điệp, vì vậy họ phải biết khóa mã và khóa giải mã Nên thuật toán mã hóa này được gọi là thuật toán mã hóa đối xứng Trải qua một thời gian dài phát triển thuật toán này ngày càng được cải tiến, đòi hỏi phải mất rất nhiều thời gian nếu muốn bẻ (tìm được nội dung của thông điệp đã mã hóa)
Một số thuật toán mã hóa mạnh đã được phát triển từ nguyên lý của thuật toán mà mã hóa đơn giản Julius Ceasar đã phát triển, thuật toán mà mỗi chữ cái trong bảng Alphabet được thay bởi một ký tự khác trong bảng Alphabet Nhưng vấn đề của thuật toán này là nó
có thể dễ dàng bị bẻ bởi phương pháp gọi là phân tính tần số, với phương pháp này bạn có thể phân tích số lần xuất hiện của mỗi ký tự trong thông điệp đã được mã hóa và gán ký tự phổ biến nhất bằng ký tự e (đây là một ký tự phổ biến nhất trong bảng chữ cái Alphabet, theo thứ tự các chữ cái phổ biến nhất là E, T, N, A, O, R, I, S, H) Và tiếp tục phân tích các chữ các có tần số xuất hiện lớn nhất lúc này thay thế bằng chữ cái có thứ tự tiếp theo trong dãy các chữ cái có tần suất xuất hiện lớn trong các từ tiếng Anh)
Nên đã có thuật toán mã hóa mới được cải tiến gọi là Vigenere, thuật toán không thể bị
bẻ bởi phương pháp phân tích tần suất
Một thuật toán mã hóa mạnh khác, có vai trò lớn trong lịch sử mã hóa nhân loại là thuật toán German enigma (người Đức bí ẩn) Thuật toán này được thực tế hóa bằng cách dụng một máy để mã hóa ký tự, và để thực hiện những người nghiên cứu cũng đã xây dựng một máy tính có khả năng lập trình được gọi là Colossus, máy tính được coi là tổ tiên của các máy vi tính hiện đại
1.2 Mật mã học qua các giai đoạn
Trải qua một quá trình hình thành và phát triển, mật mã học đã trở thành môn khoa học quan trọng hang đầu hiện nay khi lượng thông tin trên thế giới bùng nổ kèm theo các vấn đề
an toàn trong quá trình truyền thông Với lịch sử hình thành và phát triển, nghành mật mã học có thể chia ra làm các giai đoạn như sau:
Trang 32Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 3
Mã hóa cổ điển: Các chữ tượng hình không tiêu chuẩn tìm thấy trên các bức tượng
Ai Cập cổ đại (cách đây khoảng 4500) Văn tự cổ này chứa đựng các dấu tích của nền văn hóa Ai cập cổ đại huyền bí hay văn tự của người Trung Quốc cũng là một trong những văn tự cổ theo dạng tượng hình không được coi là dạng mật mã
Hình 1: Văn tự người Ai Cập cổ đại
Mã hóa cổ điển được ghi nhận bởi người Hy Lạp cổ đại Người Hy Lạp cổ đại đã xây dựng hệ thống mật mã theo phương pháp chuyển vị (transposition) sử dụng một dụng cụ gọi
Trang 33Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 4
là gậy mật mã (scytale) Trong cùng thời đại này, Người Do Thái cổ (Hebrew) sáng
tạo ra thuật toán mã hóa atbash sử dụng phương pháp thay thế (substitution) các ký tự trong
bảng chữ cái Hai nền văn mình này được coi là nền móng của mật mã học hình thành và phát triển cho đến ngày nay
Hình 2: Gậy Scytale của người Hy Lạp
Mã hóa Trung cổ: Thời Trung cổ, hoàng đế La Mã nổi tiếng Gaius Julius Caesar đã
tạo một công cụ lập mã rất đơn giản theo nguyên lý mã vòng (cyclic code) để trao đổi thông tin với các tướng lĩnh Đế chế Lã Mã là một trong những quốc gia đi đầu trong lĩnh vực mã hóa Thậm chí đã có những đề cập đến một cuốn sách nói về mật mã trong quân đội La Mã
Trang 34Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 5
Hình 3: Vòng mã hóa Caesar
Mã hóa cận đại (từ 1800 - thế chiến thứ 2): Trong những giai đoạn tiếp theo, mật mã
học được phát triển mạnh ở Châu Âu và chủ yếu chỉ được sử dụng trong lĩnh vực quân sự Rất nhiều các hệ thống mã hóa được phát triển dựa trên nguyên lý thay thế (substitution) và chuyển vị (transposition) Các kỹ thuật thám mã cũng ngày càng phát triển, phương pháp phân tích tần suất xuất hiện của các ký tự đã phá vỡ hoàn toàn các hệ thống mã hóa sử dụng khóa là ký tự đơn (Monoalphabetic cipher) Alberti được cho là người đã sáng tạo ra kỹ thuật mật mã sử dụng khóa đa ký tự (Polyalphabetic cipher)
o Trong thế chiến II, các hệ thống mật mã cơ khí và cơ điện tử được sử dụng rộng rãi mặc dù các hệ thống thủ công vẫn được dùng tại những nơi không đủ điều kiện
o Các kỹ thuật phân tích mật mã đã có những đột phá Người Đức đã sử dụng rộng rãi một hệ thống máy rô tơ cơ điện tử, dưới nhiều hình thức khác nhau,
có tên gọi là máy Enigma
Trang 35Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 6
Hình 4: Máy Enigma của Đức
Mã hóa cận đại (từ thừ thế chiến thứ 2 – 1970s): Trong giai đoạn này, nhiều phương pháp toán học đã được ứng dụng trong mật mã học William F Friedman công bố tác phẩm “Index of Coincidence and its application in Cryptography” năm
1920 và ông được cho là cha đẻ của “mật mã học hiện đại”
Marian Rejewski và một nhóm các nhà mật mã học thành công trong việc bẻ gãy mật
mã hệ thống Enigma của quân đội Đức và cung tấp mọi thông tin cho quân đồng minh, theo đánh giá rút ngắn cuộc chiến được 2 năm
Trang 36Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 7
Hình 5: William Frederick Friedman (1891 - 1969)
Mã hóa hiện đại: Claude Shannon, được coi là cha đẻ của lý thuyết thông tin Những công trình to lớn của ông như “Lý thuyết về truyền thông trong các hệ thống bảo mật”
và “Lý thuyết toán học trong truyền thông” - cùng với Warren Weaver đã thiết lập một nền tảng lý thuyết cơ bản cho mật mã học và thám mã học
Giữa thập niên kỷ 1970 được chứng kiến hai tiến bộ công chính lớn (công khai)
o 17/03/1975: Công bố đề xuất Tiêu chuẩn mã hóa dữ liệu (DES) DES đã chính thức được thay thế bởi AES (Advanced Encryption Standard) năm 2001
o 15/1/1977: Tiêu chuẩn Xử lý Thông tin của Liên bang sử dụng trong máy tính dân sự (FISP)
Trang 37Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 8
Hình 6: Claude Elwood Shannon
2 Mật mã và an toàn thông tin
Trao đổi thông tin là mục đích cơ bản của các hệ thống mạng máy tính, và Internet là một môi trường thuận lợi và lý tưởng để kết nối và truyền tin Tuy nhiên đây là một môi trường mở được thiết kế để các hệ thống có thể dễ dàng trao đổi thông tin
Mã hóa là phương pháp hỗ trợ tốt nhất và cơ bản nhất hiện nay được sử dụng để bảo đảm
an toàn thông tin, chống lại những truy cập bất hợp pháp tới dữ liệu được trao đổi trong các kênh truyền tin không tin cậy (môi trường mở)
Hình sau mô phỏng quá trình truyền thông tin trên môi trường Internet và những hiểm họa của nó
Trang 38Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 9
Hình 7: Trao đổi thông tin trên môi trường Internet
2.1 Một số khái niệm cơ bản
a) Người gửi và người nhận (Sender and Receiver)
Mục đích của người gửi là muốn gửi thông điệp cho người nhận Hơn nữa, người gửi muốn gửi thông điệp một cách an toàn, anh ta muốn chắc chắn rằng kẻ đọc trộm không thể đọc hiểu được thông điệp mà anh ta gửi đi
b) Thông điệp và mã hóa (Message and Encrytion)
Thông điệp là đoạn văn bản rõ nghĩa (plaintext – đôi khi còn được gọi là cleartext)
Quá trình biến đổi bản rõ trở thành thông điệp vô nghĩa hay khác nghĩa hoàn toàn được gọi là mã hóa (encryption) Và thông điệp đã được mã hóa gọi là ciphertext (bản mã), quá trình biến đổi ciphertext trở lại plaintext gọi là giải mã (decryption)
Kỹ thuật và khoa học giữ cho thông điệp được an toàn như vậy gọi là mật mã (viết
mã – cryptography), và nó được thực hiện bởi người viết mã (cryptographer)
Thám mã (cryptanalyst) là những người thực hiện kỹ thuật thám mã, kỹ thuật tìm lại bản rõ từ bản mã mà không cần phải biết khóa mã Các nhà thám mã hiện đại thường
là những người có kiến thức toán học rất uyên sâu
Trang 39Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 10
Bản rõ thường được ký hiệu là M (message) hay P (Plaintext) Bản rõ có thể là dòng các bit dữ liệu, tệp văn bản, tệp ảnh, dòng dữ liệu âm thanh số…
Bản mã thường được ký hiệu là C Nó cũng là dữ liệu dạng nhị phân
Thủ tục mã hóa được ký hiệu là E hoạt động với dữ liệu là M, ký hiệu trong toán học là: E(M) = C
Thủ tục giải mã được ký hiệu là D được thực hiện với dữ liệu là C tạo ra M: D(C)=M
c) An ninh thông tin
Tính bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thông tin chứa đựng trong dạng đã mã hóa của nó Nói các khác, nó không cho phép những người khác có thể có được bất kỳ thông tin nào đáng kể về nội dung của thông điệp
Nguyên vẹn: Người nhận cần có khả năng xác định được thông tin có bị thay đổi trong quá trình truyền đi hay không
Tính xác thực: Người nhận cần có khả năng xác định người gửi và kiểm tra xem người gửi đó có thực sự gửi thông tin đi hay không
Không thể chối bỏ: Người gửi không thể phủ nhận việc đã gửi thông điệp đi
Chống lập lại: Không cho phép gửi thông tin nhiều lần đến người nhận mà người gửi không hề hay biết
d) Thuật toán và khóa
Thuật toán mã hóa (Crytography Algorithms) hay còn được gọi là viết mã (Cipher),
là thủ tục toán học được sử dụng để mã hóa và giải mã
Nếu sự an toàn của thuật toán dựa trên việc giữ bí mật cách thức thuật toán được thực hiện, nó được gọi là thuật toán giới hạn (Restricted Algorithms) Thuật toán bị giới hạn
Trang 40Bài 3: Lý thuyết mã hóa và an toàn thông tin Trang 11
có những ưu điểm, nhưng chúng lại không thể tương xứng với các chuẩn ngày nay Với những nhóm làm việc, khi một người nào đó rời khỏi nhóm thì những người còn lại phải thay đổi thuật toán, vì anh ta có thể tiết lộ thuật toán
Tồi tệ hơn, thuật toán bị giới hạn không cho phép chuẩn hóa Tất cả các nhóm người
sử dụng phải có thuật toán riêng Chẳng hạn nhóm không thể sử dụng phần mềm nào đó
để phục vụ cho việc mã hóa, vì kẻ nghe trộm có thể cũng mua phần mềm như vậy và tìm hiểu thuật toán Họ phải tự thiết kế thuật toán và thực hiện, nếu không có ai trong nhóm
là một người viết mã chuyên nghiệp, họ sẽ không thể biết được thuật toán của họ có thực
sự an toàn hay không
Khóa có thể là một con số hay một dãy các ký tự được dùng để mã hóa và giải mã thông điệp Đối với thuật toán mã hóa đối xứng thì có một khóa dùng chung cho cả quá trình mã hóa và giải mã Còn đối với thuật toán mã hóa công khai thì khóa công cộng được dùng để mã hóa dữ liệu, khóa riêng được dùng để giải mã dữ liệu
Viết mã hiện đại xử lý vấn đề này với khóa (key), ký hiệu là K Khóa này có thể là bất cứ một số nào đó có giá trị rất lớn, và phạm vi có thể của giá trị khóa được gọi là không gian khóa (keyspace) Cả quá trình mã hóa và giải mã đều sử dụng khóa này, các hàm này sẽ có dạng:
𝐸𝐾(𝑀) = 𝐶
𝐷𝐾(𝐶) = 𝑀 Các hàm này được sử dụng kết hợp như sau:
𝐷𝐾(𝐸𝐾(𝑀)) = 𝑀Một số thuật toán sẽ dụng khóa mã và khóa giải mã khác nhau Chẳng hạn khóa mã K1 khác khóa giải mã K2 Trong trường hợp này các hàm sẽ có dạng:
𝐸𝐾1(𝑀) = 𝐶
𝐷𝐾2(𝐶) = 𝑀