CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT MẠNG 1.1 Khái niệm về bảo mật mạng Bảo mật mạng là bảo vệ dữ liệu an toàn trên môi trường trực tuyến không ai có thể truy cập lấy cắp hay điều khiển được những thông tin của mình. Theo như tiêu chuẩn của Liên minh Viện thông tin Quốc tế (ITU) thì là “Bảo mật mạng là tập hợp các công cụ, chính sách, khái niệm về bảo mật, hướng dẫn , phương pháp quản lý rủi ro, phản ứng, đào tạo, diễn tập, thiết bị và công nghệ có thể được dùng để bảo vệ hệ thống mạng và tài sản " Vấn đề an toàn và bảo mật thông tin phải đảm bảo những yếu tố chủ yếu sau : Tính bảo mật: chỉ cho phép những người có quyền hạn được truy cập đến nó. Tính toàn vẹn dữ liệu: dữ liệu không bị sửa đổi, bị xóa một cách bất hợp pháp. Tính sẵn sàng: bất cứ khi nào chúng ta cần thì dữ liệu luôn sẵn sàng.2 Các loại lỗ hổng bảo mật Lỗ hổng của hệ thống thông tin rất đa dạng và có thể do nhiều nguyên nhân khác nhau, có thể phát sinh từ những yếu tố về kỹ thuật, cũng có thể do các yếu tố về tổ chức và quản lý như: thiếu kinh nghiệm hoặc khiếm khuyết trong các biện pháp bảo vệ thông tin.
do vậy, có khá nhiều phương pháp phân loại lỗ hổng của hệ thống thông tin. Lỗ hổng an toàn thông tin của hệ thống thông tin được chia thành ba loại: Lỗ hổng khách quan là lỗ hổng xuất phát từ các đặc tính kỹ thuật vốn có của thiết bị và phần mềm của hệ thống thông tin. Lỗ hổng chủ quan là lỗ hổng xuất phát từ hành vi của chủ thể, có thể là nhà thiết kế, các quản trị viên và người sử dụng. Nguyễn Bá Đức _ CT1901M 7 Phát hiện lỗ hổng bảo mật trong mạng LAN Đồ án tốt nghiệp Lỗ hổng ngẫu nhiên là lỗ hổng xuất phát từ môi trường của hệ thống thông tin và những bối cảnh không dự đoán trước được.
Lỗ hổng an toàn thông tin được phân loại theo các giai đoạn trong vòng đời của hệ thống thông tin , bao gồm: lỗ hổng thiết kế, lỗ hổng chế tạo và lỗ hổng khai thác.1 Lỗ hổng theo khu vực phát sinh Bao gồm: Lỗ hổng code. Lỗ hổng code xuất hiện do lỗi trong quá trình xây dựng phần mềm, gồm các lỗi logic, cú pháp và ở các mức truy cập. Lỗ hổng code còn bao gồm cả những cài đặt cố ý của nhà thiết kế để tiếp cận trái phép vào hệ thống của người dùng phần mềm. Lỗ hổng cấu hình.
Lỗ hổng cấu hình, xuất hiện trong quá trình cài đặt, cấu hình và các phương tiện kỹ thuật của hệ thống thông tin , như các tham số cài đặt và thông số kỹ thuật của các thiết bị kỹ thuật. Lỗ hổng kiến trúc. Lỗ hổng kiến trúc, phát sinh trong quá trình thiết kế hệ thống thông tin. Lỗ hổng tổ chức.
Lỗ hổng tổ chức tồn tại do thiếu (hoặc do các khiếm khuyết) của các biện pháp tổ chức bảo vệ thông tin trong các hệ thống thông tin , hoặc do không tuân thủ các quy tắc khai thác hệ thống bảo vệ thông tin của hệ thống thông tin.2 Lỗ hổng phát sinh do các khiếm khuyết của hệ thống thông tin Trong hệ thống thông tin tồn tại những khiếm khuyết sẽ làm xuất hiện nhiều lỗ hổng. Ví dụ: những khiếm khuyết dẫn đến rò rỉ, hoặc lộ thông thông Nguyễn Bá Đức _ CT1901M 8 Phát hiện lỗ hổng bảo mật trong mạng LAN Đồ án tốt nghiệp tin tiếp cận hạn chế; khiếm khuyết liên quan đến tràn bộ nhớ (khi phần mềm thực hiện các bản ghi dữ liệu vượt ra ngoài giới hạn của bộ nhớ vùng đệm, kết quả là dữ liệu được ghi phía trước hoặc tiếp sau bộ đệm bị hư hại). Các khiếm khuyết của hệ thống thông tin làm phát sinh lỗ hổng an toàn thông tin thường liên quan đến các vấn đề như: cài đặt sai tham số trong đảm bảo chương trình, kiểm tra không đầy đủ dữ liệu đầu vào, khả năng giám sát đường tiếp cận các thư mục, phân quyền sử dụng các lệnh của hệ điều hành (ví dụ, lệnh xem cấu trúc thư mục, lệnh sao chép, lệnh loại bỏ tệp từ xa); áp dụng các toán tử tích hợp ngôn ngữ lập trình, sử dụng mã lệnh, rò rỉ thông tin tiếp cận hạn chế, sử dụng các biến đổi mật mã, quản lý tài nguyên, tràn bộ nhớ.3 Lỗ hổng theo vị trí phát hiện Lỗ hổng trong đảm bảo chương trình toàn hệ thống: lỗ hổng hệ điều hành (lỗ hổng hệ thống tệp, lỗ hổng chế độ tải, lỗ hổng trong các cơ chế quản lý quy trình…), lỗ hổng hệ thống quản lý cơ sở dữ liệu. Lỗ hổng trong phần mềm ứng dụng.
Lỗ hổng trong phần mềm chuyên dùng, tức là các lỗ hổng đảm bảo chương trình dùng để giải quyết các bài toán đặc thù của hệ thống thông tin, cụ thể là: lỗi lập trình, sự có mặt các chức năng không công bố có khả năng ảnh hưởng lên các phương tiện bảo vệ thông tin, khiếm khuyết trong các cơ chế hạn chế tiếp cận cho đến các đối tượng đảm bảo chương trình chuyên dùng. Lỗ hổng tồn tại trong đảm bảo chương trình của các phương tiện kỹ thuật như: phần sụn các thiết bị nhớ, các mạch logic tích hợp, các hệ thống đầu vào/ra, chương trình trong các bộ điều khiển, giao diện…. Lỗ hổng trong các thiết bị cầm tay như: hệ điều hành các thiết bị di động, giao diện truy cập không dây. Nguyễn Bá Đức _ CT1901M 9 Phát hiện lỗ hổng bảo mật trong mạng LAN Đồ án tốt nghiệp Lỗ hổng trong các thiết bị mạng như: bộ định tuyến, tổng đài, các trang bị viễn thông khác như: giao thức dịch vụ mạng, giao thức điều khiển thiết bị viễn thông.
Lỗ hổng trong các thiết bị bảo vệ thông tin. Bao gồm lỗ hổng trong các phương tiện quản lý truy cập (kiểm soát tính toàn vẹn, phần mềm chống mã độc, hệ thống phát hiện xâm nhập, tường lửa…). Bên cạnh đó, GOST P56546-2-15 còn phân loại lỗ hổng dựa trên các tiêu chí tìm kiếm như: tên của hệ điều hành, nền tảng phát triển, tên phần mềm và phiên bản, mức độ nguy hại của lỗ hổng, ngôn ngữ lập trình và dịch vụ sử dụng để vận hành phần mềm.4 Lỗ hổng đã biết, lỗ hổng zero-day Với những kẻ tấn công, lỗ hổng là những kênh chính để xâm nhập trái phép vào hệ thống thông tin. Do đó, tìm kiếm lỗ hổng luôn là mối quan tâm hàng đầu.
Khi phát hiện được lỗ hổng, kẻ tấn công lập tức tận dụng cơ hội để khai thác. Từ thời điểm phát hiện ra lỗ hổng đến lần vá đầu tiên sẽ mất một khoảng thời gian dài và đây chính là cơ hội để thực hiện lây nhiễm, phát tán mã độc. Còn với các chuyên gia bảo mật thông tin, phát hiện và khắc phục lỗ hổng là nhiệm vụ quan trọng hàng đầu. Việc phát hiện lỗ hổng đã khó khăn, nhưng khắc phục còn khó khăn hơn.
Do vậy, để thuận tiện trong quá trình khắc phục, các chuyên gia đã chia lỗ hổng thành hai loại là lỗ hổng đã biết và lỗ hổng zero-day. Lỗ hổng đã biết, là lỗ hổng đã được công bố, kèm theo các biện pháp thích hợp để bảo vệ hệ thống thông tin , các bản vá lỗi và bản cập nhật. Như vậy, mỗi khi lỗ hổng được phát hiện thuộc loại này, thì vấn đề cũng coi như đã được giải quyết. Tuy nhiên, có những lỗ hổng mà chỉ đến thời điểm phát hành bản cập nhật, hoặc phiên bản mới của sản phẩm, nhà sản xuất mới biết về sự tồn tại của nó.
Nhà sản xuất không đủ thời gian để nghiên cứu và khắc phục sản Nguyễn Bá Đức _ CT1901M 10 Phát hiện lỗ hổng bảo mật trong mạng LAN Đồ án tốt nghiệp phẩm đã phát hành, nên các lỗ hổng loại này được đặt tên là lỗ hổng zero-day. Như vậy, trong suốt thời gian kể từ thời điểm tồn tại đến khi bị phát hiện, lỗ hổng này có thể đã được khai thác trong thực tế và gây ảnh hưởng tới tổ chức, doanh nghiệp, người dùng. Lỗ hổng zero-day thường tồn tại trong thời gian dài, trung bình khoảng 300 ngày. Một số có “tuổi thọ” cao hơn rất nhiều.
Hãng SAP đã công bố rằng, họ từng phát hiện và vá được các lỗ hổng có tuổi thọ 10 năm. Trong đó, nguy hiểm nhất là các lỗ hổng: CVE-2004-308 (làm tổn hại bộ nhớ), CVE-2005- 2974 (gây tấn công từ chối dịch vụ) và CVE-2005-3550 (cho phép thực hiện lệnh từ xa). Ngoài các hãng bảo mật, “hacker” cũng có thể là những người đầu tiên phát hiện ra lỗ hổng. Với các “hacker mũ trắng” thì các lỗ hổng zero-day là đối tượng nghiên cứu hấp dẫn, nếu phát hiện và khắc phục được, họ cũng sẵn sàng thông báo cho nhà sản xuất.
Nhưng với các “hacker mũ đen” thì đây là cơ hội tốt để trục lợi. Họ sẽ nghiên cứu phương án khai thác ngay lập tức, thậm chí đưa ra rao bán tại chợ đen với giá cao. Chẳng hạn, lỗ hổng zero-day cho phép chiếm quyền quản trị trên hệ điều hành Windows được rao bán với giá 90 nghìn USD. Tội phạm mạng hay các cơ quan đặc vụ sẵn sàng chi trả khoản tiền lớn để mua lại các lỗ hổng này, tạo nên thị trường chợ đen sôi động trên mạng Internet.
Vì thế, nhiều hãng bảo mật sẵn sàng chi những khoản tiền lớn để trả cho những ai phát hiện được lỗ hổng trong các sản phẩm của họ. Gần đây, Kaspersky Lab đã tăng tiền thưởng lên 100 nghìn USD cho người có thể phát hiện ra những lỗ hổng nghiêm trọng trong các sản phẩm của hãng này.3 Tấn công mạng Tấn công mạng hay còn gọi là chiến tranh trên không gian mạng. Có thể hiểu tấn công mạng là hình thức tấn công xâm nhập vào một hệ thống Nguyễn Bá Đức _ CT1901M 11 Phát hiện lỗ hổng bảo mật trong mạng LAN Đồ án tốt nghiệp mạng máy tính, cơ sở dữ liệu, hạ tầng mạng, website, thiết bị của một cá nhân hoặc một tổ chức nào đó. Cụm từ “Tấn công mạng” có 2 nghĩa hiểu: Hiểu theo cách tích cực (positive way): Tấn công mạng (penetration testing) là phương pháp Hacker mũ trắng xâm nhập vào một hệ thống mạng, thiết bị, website để tìm ra những lỗ hổng, các nguy cơ tấn công nhằm bảo vệ cá nhân hoặc tổ chức.
Hiểu theo cách tiêu cực (negative way): Tấn công mạng (network attack) là hình thức, kỹ thuật Hacker mũ đen tấn công vào một hệ thống để thay đổi đối tượng hoặc tống tiền.