Giáo trình An toàn thông tin
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình An toàn thông tin", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_an_toan_thong_tin.doc
Nội dung text: Giáo trình An toàn thông tin
- Người soạn: ThS Nguyễn Công Nhật i
- MỤC LỤC MỤC LỤC i DANH MỤC CÁC HÌNH VẼ iv DANH MỤC CÁC BẢNG iv MỞ ĐẦU v MỞ ĐẦU v CHƯƠNG I. TỔNG QUAN VỀ AN TOÀN THÔNG TIN 1 1.1. Mở đầu về an toàn thông tin 1 1.2. Nguy cơ và hiểm họa đối với hệ thống thông tin 2 1.3. Phân loại tấn công phá hoại an toàn thông tin 4 1.3.1. Tấn công vào máy chủ hoặc máy trạm độc lập 4 1.3.2. Tấn công bằng cách phá mật khẩu. 5 1.3.3. Virus, sâu mạng và trojan horse 6 1.3.4. Tấn công bộ đệm (buffer attack) 6 1.3.5. Tấn công từ chối dịch vụ 7 1.3.6. Tấn công định tuyến nguồn (source routing attack) 8 1.3.7. Tấn công giả mạo. 9 1.3.8. Tấn công sử dụng e-mail 9 1.3.9. Tấn công quét cổng. 10 1.3.10. Tấn công không dây 12 1.4. Vai trò của hệ điều hành trong việc đảm bảo an toàn thông tin 12 1.4. Tính cần thiết của an toàn thông tin 15 1.4.1. Bảo vệ thông tin và tài nguyên 15 1.4.2. Bảo đảm tính riêng tư 16 1.4.3. Kích thích luồng công việc 17 1.4.4. Phát hiện các lỗ hổng an toàn và gỡ rối phần mềm 17 1.4.5. Tổn thất vì lỗi hay sự bất cẩn của con người. 18 1.5. Chi phí để đảm bảo an toàn 19 CHƯƠNG II: CÁC PHẦN MỀM PHÁ HOẠI 22 2.1. Phân loại các phần mềm phá hoại 22 2.1.1. Virus 22 2.1.2. Sâu mạng 25 2.1.3. Con ngựa tơ roa (Trojan horse) 26 2.1.4. Phần mềm gián điệp (Spyware) 28 2.2. Các phương pháp tấn công thường được sử dụng bởi phần mềm phá hoại 29 2.2.1. Các phương pháp thực hiện (Excutable methods) 29 2.2.2. Các phương pháp tấn công Boot và Partition sector 30 2.2.3. Các phương pháp tấn công dùng Macro 31 ii
- 2.2.4. Các phương pháp tấn công dùng E-mail 32 2.2.5. Khai thác lỗi phần mềm (Software exploitation) 33 2.2.6. Các phương pháp tấn công giữa vào hạ tầng mạng 34 2.3. Bảo vệ thông tin khỏi các phần mềm phá hoại 36 2.3.1. Cài đặt các bản cập nhật 37 2.3.2. Giám sát qúa trình khởi động hệ thống 40 2.3.3. Sử dụng các bộ quét phần mềm độc hại 41 2.3.4. Sử dụng chữ ký số cho các tệp điều khiển và tệp hệ thống 42 2.3.5. Sao lưu hệ thống và tạo các đĩa sửa chữa 43 2.3.6. Tạo và cài đặt các chính sách của tổ chức 46 2.3.7. Thiết lập tường lửa 47 CÂU HỎI VÀ BÀI TẬP THỰC HÀNH 62 CHƯƠNG III: AN TOÀN BẰNG CÁCH DÙNG MẬT MÃ 63 3.1. Mã cổ điển 63 3.1.1. Mã đối xứng. 63 3.1.1.1. Các khái niệm cơ bản 63 3.1.1.2. Các yêu cầu 65 3.1.1.3. Mật mã 65 3.3.1.4. Thám mã. 66 3.1.1.5. Tìm duyệt tổng thể (Brute-Force) 66 3.1.1.6. Độ an toàn 67 3.2. Các mã thế cổ điển thay thế 67 3.2.1. Mã Ceasar 68 3.2.2. Các mã bảng chữ đơn 69 3.2.3. Mã Playfair 71 3.2.4. Mã Vigenere 72 3.2.5. Mã Rail Fence 74 3.2.6. Mã dịch chuyển dòng 74 3.3. Mã khối hiện đại 75 3.3.1. Phân biệt mã khối với mã dòng 75 3.3.2. Claude Shannon và mã phép thế hoán vị 76 3.3.3. Cấu trúc mã Fiestel 76 3.4. Chuẩn mã dữ liệu (DES) 78 3.4.1. Lịch sử DES: 78 3.4.2. Sơ đồ mã DES 79 3.4.3. Tính chất của DES 81 3.4.4. Các kiểu thao tác của DES 85 3.5. Chuẩn mã nâng cao (AES) 90 3.5.1. Nguồn gốc 90 iii
- 3.5.2. Tiêu chuẩn triển khai của AES 91 3.5.3. Chuẩn mã nâng cao AES – Rijndael 92 3.6. Các mã đối xứng đương thời 100 3.6.1. Triple DES 100 3.6.2. Blowfish 101 3.6.3. RC4 103 3.6.5. RC5 104 3.6.6 Các đặc trưng của mã khối và mã dòng. 106 Chương 4: AN TOÀN WEB 108 4.1. Web và vấn đề an toàn Web 108 4.1.1. Sự ra đời và phát triển của Web 108 4.1.2. Mô hình Web 110 4.1.3. Một số vấn đề an toàn Web trên môi trường Windows 115 4.2. An toàn dịch vụ web: Kiến trúc đề xuất 125 4.2.1. Các đặc tả của Web Service Security 129 4.2.2. Quan hệ của mô hình an toàn dịch vụ web với các mô hình an toàn hiện nay 132 4.2.3. Các kịch bản 133 4.3. Giới thiệu một kỹ thuật tấn công SQL Injection 144 4.3.1. Tấn công dưa vào câu lệnh SELECT 145 4.3.2. Tấn công dựa vào câu lệnh kết hợp UNION 146 4.3.3. Tấn công dưa vào lệnh INSERT 148 4.3.4. Tấn công dưa vào STORED PROCEDURE 148 4.3.5. Chuỗi kí tự không có dấu nháy đơn: 148 4.3.6. Tấn công 2 tầng 149 4.4. Cách phòng chống 150 CHƯƠNG V: AN TOÀN MẠNG KHÔNG DÂY 153 5.1. Giới thiệu về an toàn mạng không dây 153 5.1.1. Các tấn công đối với mạng không dây 153 5.1.2. Các công nghệ sóng vô tuyến 158 5.2. Giới thiệu về IEEE 802.11 159 5.2.1. Các thành phần của mạng không dây 159 5.2.2. Các phương pháp truy nhập mạng không dây 161 5.2.3. Kiểm soát lỗi dữ liệu 162 5.2.3. Tốc độ truyền 163 5.2.4. Sử dụng xác thực để huỷ bỏ kết nối 164 5.3. Mạng Boluetooth 164 5.4. Phân tích các tấn công mạng không dây 165 5.4.1. Các tấn công thăm dò 165 iv
- 5.4.2. Các tấn công DoS 166 5.4.3 Các tấn công xác thực 167 5.4.4. Các tấn công trên giao thức EAP 168 5.4.5. Các điểm truy nhập giả mạo 169 5.5. Các biện pháp an toàn mạng không dây 170 5.5.1. Xác thực hệ thống mở 170 5.5.2. Xác thực khoá chung 170 5.5.3. An toàn tương đương mạng có dây (WEP) 170 5.5.4. Dịch vụ thiết lập định danh 173 5.5.5. An toàn 802.1x, 802.1i 173 5.6. Cấu hình an toàn kết nối không dây trong các mạng WINDOWS, LINUX 174 5.6.1. Cấu hình an toàn kết nối không dây trong hệ điều hành Windows 174 5.6.2. Cấu hình an toàn kết nối không dây trong hệ điều hành Linux 176 CÂU HỎI VÀ BÀI TẬP THỰC HÀNH 177 TÀI LIỆU THAM KHẢO 178 v
- DANH MỤC CÁC HÌNH VẼ Hình 2-1:Nội dung của tệp win.ini trong hệ điều hành WinXP 28 Hình 2-2: Đặt tính năng an toàn macro trong Microsoft Office 2003 32 Hình 5-1: Các loại Antena trong WLAN 131 Hình 5-2: Antena hướng trong mạng WLAN 131 Hình 5.3: Khuôn dạng gói dữ liệu WEP 143 Hình 5.4: Quá trình đóng gói dữ liệu WEP 143 Hình 5-5: Cởi gói dữ liệu WEP 144 DANH MỤC CÁC BẢNG Bảng 2-1: Những xuất phát điểm của các phần mềm phá hoại 27 Bảng 2-2: Một số phần mềm quét virus 42 vi
- MỞ ĐẦU Giáo trình an toàn thông tin được xây dựng nhằm cung cấp cho người đọc những kiến thức cơ bản về an toàn thông tin, khai thác sử dụng các dịch vụ an toàn trong hệ thống thông tin, sử dụng các ứng dụng cài đặt trên các hệ điều hành nhằm đảm bảo tính an toàn của hệ thống. Nội dung của giáo trình bao gồm: Chương 1: Khái niệm về an toàn hệ điều hành Chương này sẽ trình bày các vấn đề: Hệ điều hành và an toàn hệ điều hành, tính cần thiết của an toàn hệ điều hành, các tấn công đối với hệ điều hành, chi phí để thiết lập an toàn cho các hệ điều hành và các mức của an toàn hệ điều hành. Chương 2: Các phần mềm phá hoại Nội dung của chương này bao gồm: Phân loại các phần mềm phá hoại, các kiểu tấn công của các phần mềm phá hoại và phương pháp bảo vệ hệ điều hành khỏi các tấn công của các phần mềm phá hoại. Chương 3: An toàn bằng cách dùng mật mã Chương này trình bày các vấn đề: các phương pháp mã hoá, các phương pháp xác thực. Chương 4: An toàn IP và web Chương này chúng ta sẽ xét đến cơ chế an toàn IPSec và một số giao thức bảo mật lớp vận chuyển ứng dụng trên Web. Chương 5: An toàn mạng không dây Chương này trình bày các vấn đề tổng quan về an toàn mạng không dây, các công nghệ sóng radio, mạng sóng bluetooth, chuẩn IEEE 802.11 cũng như việc phân tích các tấn công đối với mạng không dây. Một số biện pháp vii
- an toàn mạng không dây và cách thức cấu hình an toàn kết nối không dây trên các hệ điều hành . Giáo trình được biên tập lần đầu và dựa trên các tài liệu tham khảo đã chỉ ra cũng như một số nguồn tài liệu khác, chắc chắn còn rất nhiều khiếm khuyết về nội dung cũng như phương pháp thể hiện, tôi rất mong nhận được những ý kiến đóng góp của các đồng nghiệp và các bạn đọc để có thể hoàn chỉnh tiếp trong quá trình thực hiện. Vinh, 09/2008 Tác giả. viii
- CHƯƠNG I. TỔNG QUAN VỀ AN TOÀN THÔNG TIN 1.1. Mở đầu về an toàn thông tin Ngày nay với sự phát triển bùng nổ của công nghệ thông tin, hầu hết các thông tin của doanh nghiệp như chiến lược kinh doanh, các thông tin về khách hàng, nhà cung cấp, tài chính, mức lương nhân viên, đều được lưu trữ trên hệ thống máy tính. Cùng với sự phát triển của doanh nghiệp là những đòi hỏi ngày càng cao của môi trường kinh doanh yêu cầu doanh nghiệp cần phải chia sẻ thông tin của mình cho nhiều đối tượng khác nhau qua Internet hay Intranet. Việc mất mát, rò rỉ thông tin có thể ảnh hưởng nghiêm trọng đến tài chính, danh tiếng của công ty và quan hệ với khách hàng. Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể dẫn đến mất mát thông tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông tin của doanh nghiệp. Vì vậy an toàn thông tin là nhiệm vụ rất nặng nề và khó đoán trước được, nhưng tựu trung lại gồm ba hướng chính sau: - Bảo đảm an toàn thông tin tại máy chủ - Bảo đảm an toàn cho phía máy trạm - An toàn thông tin trên đường truyền Đứng trước yêu cầu an toàn thông tin, ngoài việc xây dựng các phương thức an toàn thông tin thì người ta đã đưa ra các nguyên tắc về bảo vệ dữ liệu như sau: - Nguyên tắc hợp pháp trong lúc thu thập và xử lý dữ liệu. - Nguyên tắc đúng đắn. - Nguyên tắc phù hợp với mục đích. 1
- - Nguyên tắc cân xứng. - Nguyên tắc minh bạch. - Nguyên tắc được cùng quyết định cho từng cá nhân và bảo đảm quyền truy cập cho người có liên quan. - Nguyên tắc không phân biệt đối xử. - Nguyên tắc an toàn. - Nguyên tắc có trách niệm trước pháp luật. - Nguyên tắc giám sát độc lập và hình phạt theo pháp luật. - Nguyên tắc mức bảo vệ tương ứng trong vận chuyển dữ liệu xuyên biên giới. Ở đây chúng ta sẽ tập trung xem xét các nhu cầu an ninh và đề ra các biện pháp an toàn cũng như vận hành các cơ chế để đạt được các mục tiêu đó. Nhu cầu an toàn thông tin: . An toàn thông tin đã thay đổi rất nhiều trong thời gian gần đây. Trước kia hầu như chỉ có nhu cầu an toàn thông tin, nay đòi hỏi thêm nhiều yêu cầu mới như an ninh máy chủ và trên mạng. . Các phương pháp truyền thống được cung cấp bởi các cơ chế hành chính và phương tiện vật lý như nơi lưu trữ bảo vệ các tài liệu quan trọng và cung cấp giấy phép được quyền sử dụng các tài liệu mật đó. . Máy tính đòi hỏi các phương pháp tự động để bảo vệ các tệp và các thông tin lưu trữ. Nhu cầu an toàn rất lớn và rất đa dạng, có mặt khắp mọi nơi, mọi lúc. Do đó không thể không đề ra các qui trình tự động hỗ trợ bảo đảm an toàn thông tin. . Việc sử dụng mạng và truyền thông đòi hỏi phải có các phương tiện bảo vệ dữ liệu khi truyền. Trong đó có cả các phương tiện phần mềm và 2
- phần cứng, đòi hỏi có những nghiên cứu mới đáp ứng các bài toán thực tiễn đặt ra. Các khái niệm: . An toàn thông tin: Bảo mật + toàn vẹn + khả dụng + chứng thực . An toàn máy tính: tập hợp các công cụ được thiết kế để bảo vệ dữ liệu và chống hacker. . An toàn mạng: các phương tiện bảo vệ dữ liệu khi truyền chúng. . An toàn Internet: các phương tiện bảo vệ dữ liệu khi truyền chúng trên tập các mạng liên kết với nhau.Mục đích của môn học là tập trung vào an toàn Internet gồm các phương tiện để bảo vệ, chống, phát hiện, và hiệu chỉnh các phá hoại an toàn khi truyền và lưu trữ thông tin. 1.2. Nguy cơ và hiểm họa đối với hệ thống thông tin Các hiểm họa đối với hệ thống có thể được phân loại thành hiểm họa vô tình hay cố ý, chủ động hay thụ động. 3
- - Hiểm họa vô tình: khi người dùng khởi động lại hệ thống ở chế độ đặc quyền, họ có thể tùy ý chỉnh sửa hệ thống. Nhưng sau khi hoàn thành công việc họ không chuyển hệ thống sang chế độ thông thường, vô tình để kẻ xấu lợi dụng. - Hiểm họa cố ý: như cố tình truy nhập hệ thống trái phép. - Hiểm họa thụ động: là hiểm họa nhưng chưa hoặc không tác động trực tiếp lên hệ thống, như nghe trộm các gói tin trên đường truyền. - Hiểm họa chủ động: là việc sửa đổi thông tin, thay đổi tình trạng hoặc hoạt động của hệ thống. Đối với mỗi hệ thống thông tin mối đe dọa và hậu quả tiềm ẩn là rất lớn, nó có thể xuất phát từ những nguyên nhân như sau: - Từ phía người sử dụng: xâm nhập bất hợp pháp, ăn cắp tài sản có giá trị - Trong kiến trúc hệ thống thông tin: 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. - Ngay trong chính sách an toàn an toàn thông tin: không chấp hành các chuẩn an toàn, không xác định rõ các quyền trong vận hành hệ thống. - Thông tin trong hệ thống máy tính cũng sẽ dễ bị xâm nhập nếu không có công cụ quản lý, kiểm tra và điều khiển hệ thống. 4
- - Nguy cơ nằm ngay trong cấu trúc phần cứng của các thiết bị tin học và trong phần mềm hệ thống và ứng dụng do hãng sản xuất cài sẵn các loại 'rệp' điện tử theo ý đồ định trước, gọi là 'bom điện tử'. - Nguy hiểm nhất đối với mạng máy tính mở là tin tặc, từ phía bọn tội phạm. 1.3. Phân loại tấn công phá hoại an toàn thông tin Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công. Có rất nhiều kiểu tấn công vào các máy tính, một số kiểu tấn công nhằm vào các hệ điều hành, một số lại nhằm vào các mạng máy tính, còn một số lại nhằm vào cả hai. Dưới đây là một số kiểu tấn công điển hình: - Tấn công vào máy chủ hoặc máy trạm độc lập (Standalone workstation or server). - Tấn công bằng cách phá mật khẩu. - Virus, sâu mạng và trojan horse. - Tấn công bộ đệm (buffer attack). - Tấn công từ chối dịch vụ. - Tấn công định tuyến nguồn (source routing attack). - Tấn công giả mạo. - Tấn công sử dụng e-mail. - Quét cổng. - Tấn công không dây. 1.3.1. Tấn công vào máy chủ hoặc máy trạm độc lập Cách đơn giản nhất để tấn công một hệ điều hành là lợi dụng một máy tính đang ở trạng thái đăng nhập (logged-on) của một người nào đó khi người đó bỏ ra ngoài hoặc bận làm việc khác. Rất nhiều người dùng không tắt máy hoặc đăng xuất (log off) khi đi ra ngoài hoặc không cài đặt 5
- mật khẩu màn hình chờ (screen saver). Rất nhiều hệ điều hành cho phép người dùng cấu hình một màn hình chờ xuất hiện sau một khoảng thời tĩnh nào đó (khoảng thời gian người dùng không thao tác với máy). Màn hình chờ này có thể được cài đặt để yêu cầu người dùng nhập mật khẩu trước khi thao tác lại với máy. Máy trạm hoặc máy chủ không được bảo vệ theo cách này là mục tiêu dễ nhất để tấn công khi không có người xung quanh. Ví dụ, trong một số cơ quan, các nhân viên có thể cùng nhau đi uống cà phê trong giờ giải lao mà không chú ý đến văn phòng của mình. Trong tình huống này, một máy tính ở trạng thái đăng nhập sẽ là một lời mời hấp dẫn cho một kẻ tấn công. Đôi khi các máy chủ cũng là các mục tiêu tấn công, vì quản trị viên hoặc người điều hành máy chủ cũng có thể đi ra ngoài bỏ lại máy chủ trong trạng thái đăng nhập với một khoản mục có đặc quyền của quản trị viên mà bất cứ ai cũng có thể sử dụng. Thậm chí cả những máy chủ đặt trong các phòng máy được khoá cẩn thận, thì máy chủ này cũng trở thành một mục tiêu tấn công cho bất cứ ai vào được phòng đó, những người này có thể là những lập trình viên, những nhà quản lý, thợ điện, nhân viên bảo trì, 1.3.2. Tấn công bằng cách phá mật khẩu. Quá trình truy trập vào một hệ điều hành có thể được bảo vệ bằng một khoản mục người dùng và một mật khẩu. Đôi khi người dùng khoản mục lại làm mất đi mục đích bảo vệ của nó bằng cách chia sẻ mật khẩu với những người khác, ghi mật khẩu ra và để nó công khai hoặc để ở một nơi nào đó cho dễ tìm trong khu vực làm việc của mình. Những kẻ tấn công có rất nhiều cách khác phức tạp hơn để tìm mật khẩu truy nhập. Những kẻ tấn công có trình độ đều biết rằng luôn có những khoản mục người dùng quản trị chính, ví dụ như khoản mục Administrator trong các hệ điều hành Windows, khoản mục root trong các hệ điều hành Unix và Linux, khoản mục Admin trong NetWare và các 6
- khoản mục đặc quyền Admin trong hiều hành Mac OS X. Những kẻ tấn công sẽ cố gắng đăng nhập bằng các khoản mục này một cách cục bộ hoặc từ trên mạng, bằng chương trình Telnet chẳng hạn. Telnet là một giao thức trong tầng ứng dụng của mô hình TCP/IP cho phép truy nhập và cấu hình từ xa từ trên mạng hoặc trên Internet. Nếu một kẻ tấn công tìm kiếm một khoản mục để truy nhập, thì kẻ đó phải sử dụng hệ thống tên miền DNS trong một mạng kết nối với Internet để tìm những ra được những tên khoản mục có thể. Hệ thống tên miền (DNS) là một dịch vụ TCP/IP thực hiện chuyển đổi tên máy hoặc tên miền sang địa chỉ IP và ngược lại bằng một tiến trình được gọi là phân giải tên miền. Sau khi tìm ra được tên khoản mục người dùng, kẻ tấn công này sẽ sử dụng một phần mềm liên tục thử các mật khẩu khác nhau có thể. Phần mềm này sẽ tạo ra các mật khẩu bằng cách kết hợp các tên, các từ trong từ điển và các số. Ta có thể dễ dàng tìm kiếm một số ví dụ về các chương trình đoán mật khẩu trên mạng Internet như: Xavior, Authforce và Hypnopaedia. Các chương trình dạng này làm việc tương đối nhanh và luôn có trong tay những kẻ tấn công. 1.3.3. Virus, sâu mạng và trojan horse. Hầu như ai cũng đã từng nghe hay gặp phải virus, sâu mạng hoặc trojan horse. Virus là một chương trình gắn trong các ổ đĩa hoặc các tệp và có khả năng nhân bản trên toàn hệ thống. Một số virus có thể phá hoại các tệp hoặc ổ đĩa, còn một số khác chỉ nhân bản mà không gây ra một sự phá hoại thường trực nào. Một virus hoax không phải là một virus, mà là một e-mail cảnh báo sai về một virus. Một số virus hoặc e-mail chứa các hướng dẫn cách xoá một tệp được cho là một virus nguy hiểm – nhưng thực chất tệp này lại là một tệp hệ thống. Người nào mà làm theo “cảnh báo” này có thể sẽ mắc phải các lỗi hệ thống hoặc có thể cài đặt lại tệp đó. Ngoài ra, mục đích của virus hoax là lừa để cho người dùng chuyển tiếp các cảnh 7
- báo cho nhau, làm tăng một số lượng lớn e-mail trên mạng, tạo ra những lo ngại không cần thiết và gây ra những rắc rối về lưu lượng mạng. Sâu mạng là một chương trình nhân bản không ngừng trên cùng một máy tính hoặc gửi chính nó đến các máy tính khác trong mạng. Sự khác nhau giữa sâu mạng và virus là sâu mạng tiếp tục tạo các tệp mới, còn virus thì nhiễm ổ đĩa hoặc tệp rồi ổ đĩa hoặc tệp đó sẽ nhiễm các ổ đĩa hoặc các tệp khác. Sâu mạng là một chương trình có vẻ là hữu ích và vô hại, nhưng thực tế lại gây hại cho máy tính của người dùng. Sâu mạng thường được thiết kế để cho phép kẻ tấn công truy nhập vào máy tính mà nó đang chạy hoặc cho phép kẻ tấn công kiểm soát máy tính đó. Ví dụ, các sâu mạng như Trojan.Idly, B02K và NetBus là các sâu mạng được thiết kế để cho phép kẻ tấn công truy nhập và điều khiển một hệ điều hành. Cụ thể, Trojan.Idly được thiết kế để chuyển cho kẻ tấn công khoản mục người dùng và mật khẩu để truy nhập máy tính nạn nhân. 1.3.4. Tấn công bộ đệm (buffer attack). Rất nhiều hệ điều hành sử dụng bộ đệm (buffer) để lưu dữ liệu cho đến khi nó sẵn sàng được sử dụng. Giả sử, một máy chủ với một kết nối tốc độ cao đang truyền dữ liệu đa phương tiện tới một máy trạm trên mạng, và máy chủ truyền nhanh hơn máy trạm có thể nhận. Khi đó giao diện mạng của máy trạm sẽ sử dụng phần mềm lưu tạm (đệm) thông tin nhận được cho đến khi máy trạm sẵn sàng xử lý nó. Các thiết bị mạng như switch cũng sử dụng bộ đệm để khi lưu lượng mạng quá tải nó sẽ có chỗ để lưu dữ liệu cho đến khi chuyển tiếp xong dữ liệu đến đích. Tấn công bộ đệm là cách mà kẻ tấn công lừa cho phần mềm đệm lưu trữ nhiều thông tin trong bộ đệm hơn kích cỡ của nó (trạng thái này gọi là tràn bộ đệm). Phần thông tin thừa đó có thể là một phần mềm giả mạo sau đó sẽ truy nhập vào máy tính đích. Tấn công bộ đệm được thực hiện như sau: Các frame và packet là các đơn vị thông tin được truyền đi trên mạng, ví dụ các frame và các packet 8
- được định dạng cho các phiên truyền thông TCP/IP. Một phần của thông tin trong frame hoặc packet nói lên kích cỡ của nó, ví dụ 324 byte. Khi một máy tính hoặc thiết bị mạng phải đệm dữ liệu, thông tin này sẽ báo cho máy tính hoặc thiết bị đó biết để dành bao nhiêu không gian bộ đệm để giữ tạm dữ liệu đó. Trong tấn công bộ đệm, kích cỡ của frame hoặc packet là quá nhỏ nên một đoạn mã độc (ví dụ mã của ngôn ngữ máy) có thể gắn vào cuối của frame hoặc packet mà bên nhận không biết được. Khi được lưu trữ trong bộ đệm, đoạn mã này không những sẽ bung ra để làm tràn bộ đệm mà còn chiếm quyền điều khiển hệ thống. 1.3.5. Tấn công từ chối dịch vụ. Tấn công từ chối dịch vụ (DoS) được sử dụng để can thiệp vào quá trình truy nhập đến một máy tính, một trang web hay một dịch vụ mạng bằng cách làm lụt mạng đó bằng các thông tin vô ích hoặc bằng các frame hay packet chứa các lỗi mà một dịch vụ mạng không nhận biết được. Ví dụ, một tấn công dịch vụ có thể nhắm vào các dịch vụ truyền thông dùng giao thức truyền siêu văn bản (HTTP) hoặc giao thức truyền tệp (FTP) trên một trang web. Mục đích chính của tấn công DoS là chỉ làm sập một trang cung cấp thông tin hoặc làm tắt một dịch vụ chứ không làm hại đến thông tin hoặc các hệ thống. Trên thực tế, sự phá hoại đó là làm cho người dùng không thể truy nhập được một trang web hoặc một máy tính trên mạng trong một khoảng thời gian nào đó, điều này làm mất các chức năng của các giao dịch trực tuyến. Một số trang web thương mại điện tử đã từng bị các tấn công DoS đó là Amazon.com, Buy.com và eBay.com. Nhiều khi một tấn công DoS vào một hệ điều hành được thực hiện trong chính mạng nội bộ mà hệ điều hành đó được cài đặt. Kẻ tấn công giành quyền truy nhập với khoản mục Administrator của Windows 2003 Server và dừng các dịch vụ trên máy trạm và máy chủ, làm cho người dùng không thể truy nhập vào máy chủ đó. Tệ hại hơn, kẻ tấn công có thể gỡ bỏ một dịch vụ hoặc cấu hình để cấm dịch vụ đó. Một cách khác đó là 9
- làm đầy ổ đĩa trên các hệ thống không cài đặt chức năng Disk quota (hạn ngạch đĩa) làm cho các ổ đĩa bị tràn bởi các tệp. Vấn đề này trước đây thường xảy ra đối với các hệ thống máy chủ không có các tuỳ chọn quản lý hạn ngạch đĩa. Một kẻ tấn công từ xa (không khởi tạo tấn công từ trong mạng cục bộ) có thể thực hiện một dạng tấn công đơn giản đó là làm lụt một hệ thống bằng nhiều gói tin. Ví dụ, chương trình Ping of Death sử dụng tiện ích Ping có trong các hệ điều hành Windows và Unix để làm lụt một hệ thống bằng các gói tin quá cỡ, ngăn chặn truy nhập tới hệ thống đích. Ping là một tiện ích mà người dùng mạng và các quản trị viên thường sử dụng để kiểm tra kết nối mạng. Một kiểu tấn công từ xa khác đó là sử dụng các gói tin được định dạng không chuẩn hoặc các gói tin có lỗi. Ví dụ, phần mềm Jolt2 DoS sẽ gửi liên tục các phân mảnh gói tin theo cách mà chúng không thể tái tạo lại được. Khi đó, tài nguyên của máy tính đích bị tiêu tốn hoàn toàn khi cố gắng tái tạo lại các gói tin. Một ví dụ khác, phần mềm Winnuke sẽ gửi các TCP frame được định dạng không chuẩn làm cho hệ thống đích bị treo hay bị sập. Trong một số loại tấn công, máy tính khởi tạo tấn công có thể làm cho rất nhiều máy tính khác gửi đi các gói tin tấn công. Các gói tin tấn công có thể nhắm vào một site, một máy đích hay nhiều máy tính có thể tấn công nhiều máy đích. Kiểu tấn công này được gọi là tấn công từ chối dịch vụ phân tán DdoS. 1.3.6. Tấn công định tuyến nguồn (source routing attack). Trong định tuyến nguồn, người gửi gói sẽ xác định chính xác tuyến đường mà gói sẽ đi qua để đến được đích. Thực chất, định tuyến nguồn chỉ sử dụng trong các mạng token ring và để gỡ rối các lỗi mạng. Ví dụ, tiện ích gỡ rối Traceroute trong các hệ điều hành Windows, UNIX, Mac OS và NetWare sử dụng định tuyến nguồn để xác định tuyến đường mà gói tin đi từ một điểm tới một điểm khác trên một mạng. 10
- Trong tấn công định tuyến nguồn, kẻ tấn công sửa đổi địa chỉ nguồn và thông tin định tuyến làm cho gói tin có vẻ như đến từ một địa chỉ khác, ví dụ một địa chỉ tin cậy để truyền thông trên một mạng. Ngoài việc đóng giả làm một người tin cậy trong mạng, kẻ tấn công còn có thể sử dụng định tuyến nguồn để thăm dò thông tin của một mạng riêng, ví dụ một mạng được bảo vệ bởi một thiết bị mạng sử dụng chức năng chuyển đổi địa chỉ (NAT). NAT (Network Address Translation) có thể chuyển đổi địa chỉ IP của gói tin từ một mạng riêng thành một địa chỉ IP khác được sử dụng trên mạng công cộng hay mạng Internet – đây là kỹ thuật vừa để bảo vệ định danh của các máy tính trong một mạng riêng vừa để bỏ qua yêu cầu sử dụng các địa chỉ IP duy nhất trên toàn cầu trên mạng riêng. * Chú ý: Những kẻ tấn công có thể lách được một thiết bị NAT bằng cách sử dụng một dạng định tuyến nguồn gọi là làm sai lệch bản ghi định tuyến nguồn (LSRR – Loose Source Record Route). Dạng định tuyến này không xác định một tuyến đầy đủ cho gói tin, mà chỉ một phần – ví dụ, một hoặc hai chặng (hop) hay thiết bị mạng trong tuyến đi qua thiết bị NAT. 1.3.7. Tấn công giả mạo. Tấn công giả mạo làm cho địa chỉ nguồn của gói tin bị thay đổi làm cho có vẻ như được xuất phát từ một địa chỉ (máy tính) khác. Sử dụng tấn công giả mạo, kẻ tấn công có thể truy nhập được vào một hệ thống được bảo vệ. Tấn công định tuyến nguồn cũng được coi là một dạng tấn công giả mạo. Ngoài ra, tấn công DoS làm lụt một máy đích bằng các gói tin có địa chỉ nguồn giả mạo cũng là một dạng tấn công giả mạo. 1.3.8. Tấn công sử dụng e-mail. Rất nhiều người sử dụng e-mail nhận ra rằng họ có thể là nạn nhân của một tấn công e-mail. Một tấn công e-mail có vẻ như xuất phát từ một nguồn thân thiện, hoặc thậm chí là tin cậy như: một công ty quen, một người thân trong gia đình hay một đồng nghiệp. Người gửi chỉ đơn giản giả địa chỉ nguồn hay sử dụng một khoản mục e-mail mới để gửi e-mail 11
- phá hoại đến người nhận. Đôi khi một e-mail được gửi đi với một tiêu đề hấp dẫn như “Congratulation you’ve just won free software. Những e-mail phá hoại có thể mang một tệp đính kèm chứa một virus, một sâu mạng hay một trojan horse. Một tệp đính kèm dạng văn bản word hoặc dạng bảng tính có thể chứa một macro (một chương trình hoặc một tập các chỉ thị) chứa mã độc. Ngoài ra, e-mail cũng có thể chứa một liên kết tới một web site giả. Tấn công có tên Ganda được thực hiện dưới dạng một e-mail và tệp đính kèm được gửi đi dưới rất nhiều dạng khác nhau, nhưng nó luôn mang một thông báo kêu gọi một hành động như “Stop Nazis” hoặc “Save kittens - Hãy cứu lấy lũ mèo con”. Khi người dùng mở tệp đính kèm, sâu mạng Ganda sẽ được kích hoạt. Ngoài việc tạo ra các tệp, sâu mạng này còn can thiệp vào các tiến trình đã khởi động, ví dụ các tiến trình của phần mềm diệt virus và bức tường lửa. Một ví dụ khác là một e-mail giả được gửi cho các người dùng của một công ty đăng ký web site nổi tiếng trên internet, yêu cầu người nhận cung cấp tên, địa chỉ và thông tin thẻ tín dụng lấy cớ là cập nhật các bản ghi của công ty. Nhưng mục đích thực của nó là bí mật thu thập dữ liệu về thẻ tín dụng. 1.3.9. Tấn công quét cổng. Truyền thông bằng giao thức TCP/IP sử dụng các cổng TCP hoặc cổng UDP nếu giao thức UDP được sử dụng cùng với giao thức IP. Cổng TCP hoặc UDP là một con đường để truy nhập hệ thống đích, thông thường nó liên quan đến một dịch vụ, một tiến trình hay một chức năng nhất định . Một cổng tương tự như một mạch ảo kết nối giữa 2 dịch vụ hoặc 2 tiến trình truyền thông với nhau giữa 2 máy tính hoặc 2 thiết bị mạng khác nhau. Các dịch vụ này có thể là FTP, e-mail, Có 65535 cổng trong giao thức TCP và UDP. Ví dụ, dịch vụ DNS chạy trên cổng 53, FTP chạy trên cổng 20. Port No Purpose Port Purpose 12
- No 1 Multiplexing 53 DNS server application 5 RJE applications 79 Find active user application 9 Transmission discard 80 HTTP web browsing 15 Status of network 93 Device controls 20 FTP data 102 Service access point (SAP) 21 FTP commands 103 Standadized e-mail service 23 Telnet applications 104 Standadized e-mail exchange 25 SNMTP e-mail 119 Usenet news transfers applications 37 Time transactions 139 NetBIOS applications Bảng 1-1: Một số cổng TCP và mục đích sử dụng Sau khi một kẻ tấn công đã biết được một hoặc nhiều địa chỉ IP của các hệ thống đang sống (tồn tại) trên mạng, kẻ tấn công sẽ chạy phần mềm quét cổng để tìm ra những cổng quan trọng nào đang mở, những cổng nào chưa được sử dụng. Ví dụ, kẻ tấn công công có thể truy nhập và tấn công các dịch vụ DNS trên cổng 53 của một máy chủ DNS. Cổng 23 của Telnet cũng là một mục tiêu hấp dẫn mà những kẻ tấn công nhắm đến để giành quyền truy nhập vào một máy tính. Có 2 phần mềm quét cổng thông dụng đó là Nmap và Strobe. Nmap thường được sử dụng để quét các máy tính chạy hệ điều hành Unix/Linux, ngoài ra còn một phiên bản được sử dụng cho các máy chủ và máy trạm Windows. Ngoài những kẻ tấn công, một số chuyên gia về an toàn cũng sử dụng Nmap để phát hiện các lỗ hổng an 13
- toàn trên các cổng mở. Strobe cũng được sử dụng để quét các cổng mở, nhưng nó được thiết kế để tấn công các hệ thống Unix/Linux. Một cách để ngăn chặn truy nhập thông qua một cổng mở là dừng các dịch vụ hoặc các tiến trình hệ điều hành không sử dụng hoặc chỉ cấu hình khởi động các dịch vụ một cách thủ công bằng chính hiểu biết của mình. Hình 1-2 giới thiệu lệnh kill trong Red Hat Linux để dừng tiến trình crond, số hiệu của tiến trình này là 1249. Hình 1-2: Dừng tiến trình crond bằng lệnh kill trong Redhat linux Hệ điều hành NetWare sử dụng các module NLM (NetWare Loadable Module) để mở rộng các khả năng và dịch vụ của hệ điều hành. Để đảm bảo quá trình quản lý an toàn tốt, cần phải biết được các module NLM nào được kích hoạt và cách dừng các module NLM không cần thiết. Quá trình dừng một module NLM (ví dụ module REMOTE.NLM được sử dụng để truy nhập console từ xa vào máy chủ) không chỉ là một cách bảo 14
- đảm an toàn mà còn là cách để giải phóng bộ nhớ dành cho cho các chức năng hệ điều hành khác. Cũng giống như các hệ điều hành khác, hệ điều hành Mac OS X cũng hỗ trợ rất nhiều dịch vụ, người quản trị có thể dừng các dịch vụ này trên màn hình desktop. 1.3.10. Tấn công không dây Các mạng không dây thường rất dễ bị tấn công, vì rất khó để biết được người nào đó đã xâm hại đến mạng này. Đôi khi các tấn công trên mạng không dây còn được gọi là war-drives, vì kẻ tấn công có thể lái xe lòng vòng quanh một khu vực, dùng một máy tính xách tay để thu thập các tín hiệu không dây. Tuy nhiên, kẻ tấn công cũng có thể làm điều đó bằng cách đi bộ hoặc ở một nơi nào đó với chiếc máy tính xách tay của mình. Hai thành phần quan trọng được sử dụng trong các tấn công không dây là một cạc mạng không dây và một ăng ten đa hướng, có thể thu tín hiệu từ tất cả các hướng. Một thành phần khác đó là phần mềm war- driving được sử dụng để bắt và chuyển đổi các tín hiệu từ ăng ten qua card mạng không dây. Các tấn công không dây thường được thực hiện bằng cách quét rất nhiều kênh sử dụng cho các truyền thông không dây, tương tự như việc sử dụng một máy quét để nghe các kênh của cảnh sát và chữa cháy. 1.4. Vai trò của hệ điều hành trong việc đảm bảo an toàn thông tin Một hệ điều hành (OS) cung cấp các chỉ thị chương trình cơ bản để giao tiếp với phần cứng của máy tính. Hệ hiều hành là một mã chương trình giúp người sử dụng bắt đầu các chức năng cơ bản của một máy tính như: xem nội văn bản trên màn hình của máy tính, lưu giữ thông tin, truy nhập và sửa đổi thông tin, truy nhập vào một mạng, kết nối Internet và chạy các phần mềm ứng dụng khác. Hệ điều hành thực hiện các chức năng quản lý vào/ra (I/O) cơ bản nhất của máy tính. Quản lý vào/ra cho phép 15
- các chương trình giao tiếp với phần cứng của máy một cách dễ dàng. Đóng vai trò là một giao diện gữa các chương trình ứng dụng và phần cứng của máy, một hệ điều hành thực hiện các tác vụ sau: - Kiểm soát dữ liệu vào từ bàn phím, thiết bị chuột và mạng. - Kiểm soát dữ liệu ra màn hình, máy in và mạng. - Cho phép truyền thông qua modem hoặc các cổng truyền thông khác. - Kiểm soát vào/ra cho tất cả các thiết bị, kể cả cạc giao diện mạng. - Quản lý việc lưu trữ, tìm kiếm và phục hồi thông tin trên các thiết bị lưu trữ như các ổ địa cứng, các ổ đĩa CD-ROM. - Cho phép các chức năng đa phương tiện như chơi nhạc và truy nhập các đoạn video clip. Ở tất cả các cấp độ hệ điều hành, hệ điều hành đều có khả năng để cung cấp các chức năng an toàn. Ví dụ, một hệ điều hành có thể cung cấp chức năng an toàn để quản lý việc truy nhập ổ đĩa cứng hoặc quản lý cách thức các chương trình phần mềm kiểm soát các chức năng phần cứng. Thông qua hệ điều hành, việc truy nhập tới một máy tính hay một mạng có thể được kiểm soát bằng các khoản mục người dùng và mật khẩu. Một số hệ điều hành có khả năng tự bảo vệ mã chương trình của chúng bằng cách chạy mã này trong một vùng an toàn mà chỉ có hệ điều hành đó được phép sử dụng. Một số hệ điều hành lại có khả năng tự bảo vệ bằng cách tự động tắt các phần mềm có lỗi hoặc phần mềm sai chức năng để ngăn không cho chúng can thiệp vào các phần mềm khác hoặc can thiệp vào phần cứng. 16
- Hình 1.1: Thành phần và chức năng của hệ điều hành. - Giao diện lập trình ứng dụng (API): Là phần mềm trung gian giữa chương trình ứng dụng và nhân hệ điều hành (mã chương trình chính của hệ điều hành). API sẽ biên dịch các yêu cầu từ chương trình ứng dụng thành mã mà nhân hệ điều hành có thể hiểu được và chuyển xuống các trình điều khiển thiết bị phần cứng và ngược lại. Một chức năng khác của API là cung cấp một giao diện cho hệ thống vào/ra cơ bản (BIOS). - Hệ thống vào/ra cơ bản (BIOS): Là một chương trình nhận dạng thiết bị phần cứng và thiết lập quá trình truyền thông cơ bản với các thành phần như màn hình và các ổ đĩa. Ngoài ra, BIOS còn nạp các thành phần khác của hệ điều hành khi khởi động và duy trì một đồng hồ thời gian thực để cung cấp ngày giờ cho hệ thống. - Nhân hệ điều hành (Kernel): Là phần lõi của hệ điều hành thực hiện phối hợp các chức năng của hệ điều hành như: kiểm soát bộ nhớ và thiết bị lưu trữ. Nhân hệ điều hành sẽ giao tiếp với BIOS, các trình điều khiển thiết bị 17
- và API để thực hiện các chức năng này. Ngoài ra, nó còn là giao diện với các trình quản lý tài nguyên. - Trình quản lý tài nguyên (Resource Manager): Là các chương trình quản lý việc sử dụng bộ nhớ và vi xử lý trung tâm. - Trình điều khiển thiết bị (Device Driver): Là các chương trình nhận các yêu cầu từ API thông qua nhân hệ điều hành rồi biên dịch chúng thành các lệnh thao tác với các thiết bị phần cứng tương ứng như: bàn phím, màn hình, ổ đĩa và máy in. Ngoài ra, hệ điều hành còn có thêm các trình điều khiển chuyên dụng phục vụ các chức năng và các thiết bị khác như âm thanh. Trong các thành phần này, một dạng an toàn cơ bản nhất là cấu hình an toàn mật khẩu BIOS. Tuỳ chọn an toàn mật khẩu này có thể khác nhau tuỳ theo các nhà sản xuất phần mềm BIOS khác nhau. Dưới đây là một số tuỳ chọn mật khẩu thông dụng trong BIOS: - Đặt mật khẩu để quản lý việc truy nhập ổ đĩa cứng. - Đặt mật khẩu để truy nhập chương trình cài đặt BIOS hoặc xem cấu hình của BIOS (trong một số trường hợp người dùng có thể truy nhập vào BIOS để xem các thông tin cấu hình nhưng không thể thay đổi các cấu hình đó). - Đặt mật khẩu để thay đổi cấu hình BIOS. - Đặt mật khẩu để khởi động máy. - Chỉ cho phép máy tính khởi động từ ổ đĩa mềm và chỉ sau khi người dùng nhập mật khẩu cho ổ đĩa đó. 1.4. Tính cần thiết của an toàn thông tin An toàn là rất cần thiết vì các hệ thống máy tính và mạng lưu giữ rất nhiều thông tin và tài nguyên khác nhau. Ví dụ, khi người dùng sử dụng thẻ tín dụng để mua hàng qua internet thì phải cần đến nhà cung cấp dịch vụ internet cung cấp một kênh an toàn để thực hiện giao dịch và bảo đảm tất cả những thông tin cung cấp không bị lộ; phòng nhân sự của một công 18
- ty luôn phải bảo đảm bí mật những thông tin nhạy cảm của nhân viên trong công ty. Đây chỉ là những ví dụ lý giải tại sao an toàn hệ điều hành và an toàn mạng là cần thiết. Mục đích của an toàn có thể được chia thành các nhóm sau: 1.4.1. Bảo vệ thông tin và tài nguyên. Các hệ thống máy tính lưu giữ rất nhiều thông tin và tài nguyên cần được bảo vệ. Trong một công ty, những thông tin và tài nguyên này có thể là dữ liệu kế toán, thông tin nguồn nhân lực, thông tin quản lý, bán hàng, nghiên cứu, sáng chế, phân phối, thông tin về nhà máy và thông tin về các hệ thống nghiên cứu. Đối với rất nhiều công ty, toàn bộ dữ liệu quan trọng của họ thường được lưu trong một cơ sở dữ liệu và được quản lý và sử dụng bởi một chương trình phần mềm. Các tấn công vào hệ thống có thể xuất phát từ những đối thủ kinh doanh, khách hàng, những nhân viên biến chất. Các hệ thống máy tính ở các trung tâm đào tạo lưu giữ tất cả các loại tài nguyên, đôi khi chúng được chia thành 2 nhóm là nhóm tính toán và nhóm quản trị. Những tài nguyên tính toán bao gồm cơ sở dữ liệu nghiên cứu, các máy tính và phần mềm trong các phòng thực hành, thông tin về lớp học và các bài luận và các máy tính dùng cho các dự án công nghệ cao. Những tài nguyên quản trị bao gồm thông tin về sinh viên, hồ sơ đăng ký, các hệ thống kế toán và nguồn nhân lực, các hệ thống quản lý quỹ, phần mềm quản lý việc cấp phép và các hệ thống phát triển. Các tấn công vào các trung tâm đào tạo có thể xuất phát từ bên trong hoặc bên ngoài. Ví dụ, ở một trung tâm đào tạo, một giám đốc kinh doanh đã tấn công các hệ thống để bí mật biển thủ hàng nghìn đô la. Ở một trung tâm khác, một nhân viên bảo vệ khoa công nghệ thông tin đã thường xuyên xâm nhập các hệ thống thông qua các máy tính sơ ý bỏ lại trong trạng thái đăng nhập trong các phòng của các lập trình viên ứng dụng và hệ thống. Mỗi quốc gia sở hữu một số lượng máy tính và tài nguyên thông tin điện tử rất lớn liên quan đến quốc phòng, luật pháp và các thông tin cá 19
- nhân khác. Do đó, các phương pháp để bảo đảm an toàn cho những thông tin này có thể rất phức tạp và nhạy cảm. Các tấn công có thể xuất phát từ nhiều nguồn khác nhau, cả từ bên trong và bên ngoài quốc gia. Tất nhiên, hậu quả mà những tấn công thành công để lại sẽ rất nghiêm trọng. Những người dùng máy tính là một nhóm rất lớn lưu giữ nhiều thông tin quan trọng cần được bảo vệ. Ví dụ, có trên 15 triệu người dùng sử dụng máy tính để thông tin liên lạc ở Mỹ. Tất cả những người dùng này lưu dữ, tải lên hoặc tải xuống những thông tin như những tài liệu văn bản, đồ hoạ và bảng tính, ở một khía cạnh nào đó, những thông tin này lại thuộc quyền sở hữu của các tổ chức mà họ đang làm việc. Những thông tin trên máy tính cũng bao gồm những bản ghi cá nhân, thông tin thuế và những dữ liệu nhạy cảm khác. 1.4.2. Bảo đảm tính riêng tư. Các hệ thống máy tính lưu giữ rất nhiều thông tin cá nhân cần được giữ bí mật. Những thông tin này bao gồm: - Số thẻ bảo hiểm xã hội. - Số thẻ ngân hàng. - Số thẻ tín dụng. - Thông tin về gia đình. - Thông tin về sức khoẻ. - Thông tin việc làm. - Thông tin về sinh viên. - Thông tin về các khoản mục đầu tư. - Thông tin về sổ hưu trí. Tính riêng tư là yêu cầu rất quan trọng mà các ngân hàng, các công ty tín dụng, các công ty đầu tư và các hãng khác cần phải đảm bảo để gửi đi các tài liệu thông tin chi tiết về cách họ sử dụng và chia sẻ thông tin về 20
- khách hàng. Các hãng này có những quy định bắt buộc để bảo đảm những thông tin cá nhân được bí mật và bắt buộc phải thực hiện những quy định đó để bảo đảm tính riêng tư. Hậu quả nghiêm trọng sẽ xảy ra nếu một kẻ giả mạo truy nhập được những thông tin cá nhân. 1.4.3. Kích thích luồng công việc Luồng công việc bao gồm một chuỗi các hoạt động cần thiết để hoàn thành một tác vụ nào đó. Trong một văn phòng nhỏ, luồng công việc có thể được thực hiện bởi một hoặc 2 người. Trong một công ty lớn hơn, thì chuỗi công việc này có thể được thực hiện bởi rất nhiều người, mỗi người đảm nhiệm một công việc khác nhau. Ví dụ, trong một ngành kinh doanh liên quan đến các đơn hàng. Một người đại diện dịch vụ khách hàng sẽ nhận đơn hàng bằng điện thoại và nhập nó vào hệ thống máy tính. Hệ thống máy tính sẽ báo cho phòng vận chuyển gửi hàng hoá theo đơn hàng này đi, phòng kiểm kê sẽ được thông báo về những thay đổi trong cơ sở dữ liệu kiểm kê. Phòng thanh toán sẽ xử lý thông tin thẻ tín dụng để bảo đảm đúng thủ tục thanh toán. Sự an toàn là rất quan trọng trong từng công đoạn của luồng công việc. Nếu một công đoạn bị lộ do một vấn đề an toàn nào đó, khi đó một tổ chức có thể mất tiền, mất dữ liệu hoặc mất cả hai. Ví dụ trong đơn hàng, nếu người đại diện khách hàng nhập đơn hàng, nhưng một tấn công vào một dịch vụ nào đó trên máy tính làm cho nó không được xử lý đầy đủ, khi đó hệ thống có thể vẫn thanh toán với khách hàng nhưng lại không chuyển hàng hoá đến khách hàng hoặc vận chuyển hàng hoá rồi nhưng lại không thanh toán với khách hàng. 1.4.4. Phát hiện các lỗ hổng an toàn và gỡ rối phần mềm. Các nhà sản xuất các thiết bị phần cứng và phần mềm thường gặp phải rất nhiều áp lực để đưa sản phẩm của họ ra thị trường càng nhanh càng tốt. Nếu sản phẩm của một nhà sản xuất tung ra muộn, kết quả là đối 21
- thủ cạnh tranh sẽ chiếm mất thị phần hoặc nhà sản xuất sẽ là mục tiêu của những chỉ trích trên các phương tiện thông tin đại chúng. Các sản phẩm mới vội vã được đưa ra thị trường thường chứa những lỗ hổng an toàn hoặc không ổn định do chúng không được kiểm tra đánh giá một cách kỹ lưỡng. Ví dụ, một số hệ điều hành có một khoản mục "guest" được tạo sẵn. Những khoản mục "guest" này thường không được kích hoạt hoặc được bảo vệ bằng mật khẩu và chúng được cấu hình để giới hạn các truy nhập vào một hệ thống. Cách đây không lâu, một nhà sản xuất hệ điều hành đã vô tình tiếp thị một phiên bản hệ điều hành mới, trong đó khoản mục "guest" đã được kích hoạt và không được bảo vệ bằng mật khẩu và cho phép truy nhập hệ thống một cách rộng rãi. Một số hệ điều hành mới thường có những lỗ hổng bảo mật truy nhập internet hoặc các lỗi làm cho hệ thống bị các xung đột không mong muốn, làm cho các lệnh không hoạt động bình thường và nhiều vấn đề khác nữa. Khi bạn mua một hệ điều hành mới, một phần mềm mới hoặc một thiết bị phần cứng mới, bạn nên có kế hoạch kiểm tra một cách nghiêm ngặt chúng để bảo đảm tính an toàn và tin cậy. Ngoài ra, nên kiểm tra các tính năng an toàn mặc định như khoản mục guest để chắc chắn rằng bạn cấu hình chúng theo cách an toàn nhất. Nên cài đặt tất cả các bản vá lỗi hoặc các gói dịch vụ mới nhất cho các hệ thống mới của mình. Một số người quản trị hệ thống chỉ thích mua các hệ thống mới chỉ sau 6 tháng hoặc một năm chúng có mặt trên thị trường, tức là sau khi các người dùng khác đã sử dụng nó trong các tình huống cụ thể, tìm và thông báo các lỗi cho nhà sản xuất để sửa chữa chúng. Một vấn đề khác nảy sinh đó là các bản vá lỗi hệ thống được vội vã công bố trước khi chúng được kiểm tra một cách kỹ lưỡng. Đôi khi một nhà sản xuất lại thu hồi lại một bản vá lỗi trên thị trường chỉ sau một thời gian ngắn ngủi được công bố, bởi vì chúng xuất hiện những vấn đề mới. Nếu không cấp bách lắm, tốt nhất người sử dụng nên chờ cho đến khi cảm 22
- thấy chắc chắn rằng không có một vấn đề nào này sinh rồi mới cài đặt bản vá lỗi, giống như đã làm với các phiên bản hệ điều hành mới. Đôi khi các nhà sản xuất lại công bố các tính năng an toàn nhưng lại rất dễ bị bỏ qua vì nó bất tiện cho người dùng. Ví dụ, vẫn có những hệ điều hành cho phép người dùng bỏ qua giai đoạn đăng nhập. Một số hệ điều hành trước đây lại cho phép thiết lập các khoản mục người dùng mới mà không yêu cầu đặt mật khẩu truy nhập. 1.4.5. Tổn thất vì lỗi hay sự bất cẩn của con người. Các tính năng an toàn của hệ điều hành cũng chưa quyết định nếu thiếu người biết cách cấu hình và sử dụng chúng. Một hệ điều hành có rất nhiều tính năng an toàn, nhưng những tính năng này sẽ trở nên vô ích nếu người dùng không biết cách thực hiện hoặc sử dụng chúng một cách tối ưu. Ví dụ, cho dù một hệ điều hành có tuỳ chọn yêu cầu người dùng thay đổi mật khẩu truy nhập của họ sau một khoảng thời gian nhất định, nhưng một công ty lại không áp dụng điều đó. Hậu quả là, sau một thời gian nhất định mọi người có thể trao đổi mật khẩu cho nhau, và dữ liệu của công ty có nguy cơ mất an toàn với những người đã chuyển đi, những người biến chất hoặc những người săn tìm thông tin bí mật để bán hay để cho. Có rất nhiều lý do dẫn đến việc không sử dụng đầy đủ các tính năng an toàn, các lý do này bao gồm: - Thiếu đào tạo, hiểu biết về những tính năng này. - Chọn sự tiện lợi và dễ sử dụng hơn là an toàn. - Thiếu thời gian. - Do chính sách của các cơ quan, tổ chức. - Không kiểm tra đánh giá thường xuyên. - Thói quen làm việc theo một cách nhất định. 23
- Có rất nhiều cách để khắc phục yếu tố con người trong vấn đề bảo đảm an toàn cho một tổ chức. Chẳng hạn, nên sử dụng các hệ điều hành cho phép tổ chức cài đặt các chính sách an toàn trong hệ thống. Ví dụ, người quản trị có thể cài đặt một chính sách an toàn yêu cầu người dùng thay đổi mật khẩu của họ sau một khoảng thời gian là 45 ngày và yêu cầu độ dài mật khẩu tối thiểu là 8 ký tự. Nếu trong tổ chức sử dụng một kết nối internet không an toàn, thì nên đặt chính sách dịch vụ thư mục ngăn chặn một số người dùng nhất định hoặc tất cả người dùng sử dụng các trình duyệt internet. Triển khai các chính sách an toàn bằng văn bản là một cách khác để bảo đảm người dùng trong một tổ chức biết được các chính sách này và tầm quan trọng của chúng. Các thành phần của chính sách an toàn bằng văn bản có thể được cấu hình trong hệ điều hành và các chính sách an toàn phần mềm mạng. Ngoài ra, các chính sách an toàn bằng văn bản còn có thể được sử dụng để thay thế các chính sách hạn chế sự an toàn trong một tổ chức. Đào tạo là một phương pháp khác có thể giúp cải thiện năng lực và sự lơ đãng của con người. Việc đào tạo liên quan đến ít nhất 2 nhóm người trong một tổ chức. Đào tạo cho các nhà quản trị hệ thống và quản trị mạng về các công cụ an toàn và cách sử dụng chúng như cấu hình các chính sách an toàn. Đào tạo cho người dùng về các phương pháp an toàn cơ bản mà họ có thể triển khai như tạo mật khẩu an toàn, mã hoá những tệp nhạy cảm. Kiểm tra các tính năng an toàn cũng là một cách để đánh giá các yếu tố về con người. Tất cả các hệ điều hành và phần mềm cần được kiểm tra trước khi đưa công bố ra thị trường. Một số tổ chức dùng một đội ngũ an toàn để kiểm tra các hệ thống. Các tổ chức khác thì triển khai hệ thống máy tính để kiểm tra sự an toàn của hệ thống. Nguồn gốc của “hacker” chính là một chuyên gia máy tính thân thiện lấy việc cố gắng bẻ gãy các hệ 24
- thống để tìm ra các lỗ hổng an toàn cần phải sửa chữa, để bảo đảm rằng các hệ thống và dữ liệu đó đã được bảo vệ. 1.5. Chi phí để đảm bảo an toàn Có hai vấn đề về chi phí liên quan đến quá trình bảo đảm an toàn: - Một là: Chi phí để triển khai các chức năng an toàn. - Hai là: Chi phí khi không triển khai các chức năng an toàn. Việc không triển khai các chức năng an toàn có vẻ tiết kiệm được tiền (ví dụ, có thể dùng người để làm các công việc khác). Nhưng trong thực tế, sự thụ động như vậy sẽ làm chi phí tốn hơn nhiều so với việc triển khai các chức năng an toàn. Nếu người sử dụng không sử dụng các biện pháp an toàn thì sẽ mất rất nhiều tiền và dữ liệu do một hệ thống bị hỏng hóc hoặc do một tấn công nào đó vào hệ thống. Trong trường hợp xấu nhất, việc thiếu an toàn cũng đồng nghĩa với việc mất toàn bộ dữ liệu của một công ty, dẫn đến việc công ty đó sẽ phá sản. Chi phí để triển khai các chức năng an toàn bao gồm: - Đào tạo các chuyên gia an toàn. - Đạo tạo người dùng. - Chi phí thêm cho các hệ thống có các tính năng an toàn. - Mua các công cụ an toàn thứ ba. - Chi phí thời gian mà các chuyên gia mà người dùng sử dụng để cài đặt và cấu hình các chức năng an toàn. - Thử nghiệm các chức năng an toàn hệ thống. - Vá lỗ hổng an toàn trong hệ thống một cách thường xuyên. Chi phí để triển khai các chức năng an toàn là một thành phần trong toàn bộ chi phí sở hữu một hệ thống máy tính (TCO – Total Cost of Ownership). Giá trị TCO của một máy tính là tổng chi phí để sở hữu mạng đó và các máy tính trong mạng, bao gồm: phần mềm, phần cứng, đào tạo, 25
- bảo trì, an toàn và các chi phí hỗ trợ người dùng. Cách để giảm chi phí TCO là mua các hệ thống được thiết kế để làm việc cùng nhau trong một môi trường cho phép cấu hình nhanh hơn, dễ dàng hơn. Ví dụ, ta có thể cài đặt và cấu hình từ xa một máy Windows XP Professional từ một máy Windows 2003 Server. Windows 2003 Server còn có thể cài đặt hàng trăm chính sách nhóm (kể cả các chính sách an toàn) để quản lý các ứng dụng khách (client) của Windows XP Professional. Điều này là hoàn toàn có thể vì ta có thể cài đặt Windows 2003 Server làm một trung tâm quản trị mạng thông qua Active Directory (là một cơ sở dữ liệu về các máy tính, người dùng, nhóm, các máy in và thư mục chia sẻ, các tài nguyên khác và vô số các dịch vụ mạng và dịch vụ quản trị). Sử dụng phương pháp này không những giúp ta tự động hoá việc cài đặt và cấu hình hệ điều hành của các máy trạm, mà còn giúp ta cài đặt và sử dụng các phần mềm ứng dụng của người dùng. Trên một số mạng, kinh phí hàng năm để quản trị một máy tính của người sử dụng là trên 11000 USD. Bằng cách sử dụng các phương pháp tự động hoá, ví dụ như cài đặt phần mềm và chính sách nhóm từ xa, có thể giảm được 2/3 tổng số chi phí này. Trong phương pháp này, chi phí an toàn giảm đi rất nhiều, vì các chức năng an toàn được cấu hình cùng với các tham số hệ thống khác. Trong hầu hết các trường hợp việc cấu hình an toàn tập trung là rẻ hơn nhiều so với việc bỏ các chức năng an toàn hay người dùng tự cấu hình hệ thống của mình. 26
- CHƯƠNG II: CÁC PHẦN MỀM PHÁ HOẠI 2.1. Phân loại các phần mềm phá hoại Thuật ngữ virus và phần mềm phá hoại được sử dụng để mô tả các phần mềm máy tính gây nguy hiểm đến tính toàn vẹn của dữ liệu, quá trình truyền tin, hệ điều hành hay mạng máy tính. Có một số kiểu phần mềm phá hoại sau: - Virus. - Sâu mạng. - Trojan horse. - Spyware. - Các chương trình khác gây nguy hiểm đến hệ thống hoặc dữ liệu. Trong đó, virus, sâu mạng và trojan horse là những chương trình nguy hiểm nhất. Người ta ước tính, hàng năm các công ty và các cá nhân phải chi phí hàng tỷ đô USD để khôi phục lại các hệ thống bị phá hoại và mua các phần mềm chống virus. Mục đích của phần mềm phá hoại là mang lại những phiền phức cho người dùng, phá hoại các tệp hay các hệ thống máy tính, vô hiệu hoá các chức năng thông dụng của máy tính và mạng. Trước khi tìm cách chống lại các tấn công này, ta nên tìm hiểu rõ chúng là cái gì và cách thức lây lan như thế nào. 2.1.1. Virus Virus là một chương trình thường trú ở một ổ đĩa hoặc một tệp. Virus có khả năng nhân bản và lây lan trên toàn bộ hệ thống. Nếu virus chưa gây ra những hậu quả hữu hình, thì người dùng không thể nhận biết được sự có mặt của chúng. Một số dấu hiệu nhận biết virus đó là: xuất hiện thông báo lạ; phát hiện một số tệp nào đó bị phá hoại; hệ điều hành trở nên chậm chạp, bị xung đột hoặc không thể khởi động được. Một số loại virus ẩn mình trong một khoảng thời gian và sau đó thực thi tác dụng vào một ngày 27
- định trước nào đó. Một số loại virus lại nhiễm vào các tệp thực thi, các tệp kịch bản, các macro, phân vùng khởi động hay các phân vùng nào đó của một ổ đĩa. Một số loại virus được nạp vào bộ nhớ và sau đó tiếp tục lây nhiễm các hệ thống, giống như lây nhiễm từ các tệp thực thi. W32.Pinfi là một ví dụ về một virus lây lan qua các hệ thống và các ổ đĩa chia sẻ. Nó có thể xâm nhập vào một hệ thống thông qua một dịch vụ không được sử dụng (như FTP hay Telnet), sau đó nó gắn vào một tệp. Ngoài ra, nó có thể lây lan qua các ổ đĩa chia sẻ trên mạng. W32.Pinfi tấn công tất cả các phiên bản của hệ điều hành Windows (từ Windows 95 đến Windows XP). Khi người dùng vô tình kích hoạt virus này, trước tiên nó sẽ tạo ra một danh mục trong Windows Registry để sau đó lây lan thông qua chương trình Windows Explorer (Explorer.exe). Mỗi khi người dùng chạy chương trình Windows Explorer. W32.Pinfi sẽ được gắn vào các tệp thực thi và các tệp macro được hiển thị trên cửa sổ Windows Explorer, kể các các tệp trong các ổ đĩa mạng hoặc các ổ đĩa chia sẻ. Độ dài của đoạn mã mà virus này gắn thêm vào các tệp là 177,917 bytes. Theo thiết kế thì W32.Pinfi không nhiễm tất cả các loại tệp này cùng một lúc, mà mỗi lần nó chỉ nhiễm một số tệp nhất định. W32.Pinfi cũng không có sức tàn phá nhiều, nhưng nó cũng làm cho các tệp thực thi bị nhiễm sẽ hoạt động không bình thường nữa. Virus INIT 1984 là một ví dụ về loại virus có sức tàn phá lớn, nó nhiễm các hệ thống MAC OS. Virus này nhân bản dưới dạng tiến trình nền nên người dùng không nhận biết được. Virus sẽ gây hại khi người dùng thực thi tệp bị nhiễm đúng vào thứ 6 ngày 13. Khi tàn phá, virus INIT 1984 sẽ đổi tên các tệp thành các ký tự ngẫu nhiên và có thể xoá các tệp trên ổ cứng. Virus lây lan theo từng giai đoạn sau: - Giai đoạn thứ nhất: Virus thâm nhập từ một môi trường (hệ thống) này sang một môi trường (hệ thống) khác (thông qua các ổ đĩa, e-mail hay các 28
- ổ đĩa chia sẻ chẳng hạn). Khi đã thâm nhập được vào một hệ thống, thì một phần hay toàn bộ virus có thể được gắn vào một hoặc nhiều tệp, được lưu trong bộ nhớ, được ghi vào boot sector hay partition sector của ổ đĩa cứng hoặc ghi vào Registry của các hệ thống họ nhà Windows. - Giai đoạn thứ 2: Nhân bản (lây lan) trên hệ thống. Ví dụ, virus có thể lây lan từ boot sector mỗi lần máy tính được khởi động hoặc từ một tệp thực thi mỗi lần tệp này được thực hiện. Ngoài ra, virus cũng có thể lây lan từ bộ nhớ hoặc từ Registry của thông qua các tham số cấu hình Registry của máy tính. Tốc độ nhân bản của virus nhanh hay chậm tuỳ thuộc vào mục đích của người viết ra nó, tất cả đều nhằm giúp cho virus phát huy tác dụng tốt nhất. - Giai đoạn thứ 3: Để lại những dấu hiệu trên hệ thống. Thông thường, virus gắn mã của nó vào cuối các tệp được chọn, đổi tên các tệp, xoá các tệp hoặc cả 2. Một virus để lại những dấu hiệu dễ thấy như tạo nên những tiếng “bíp” hay một thông báo bật lên như “Don’t panic” chẳng hạn. Virus được phân loại theo nhiều tiêu chí khác nhau. Nếu phân loại virus theo cách chúng nhiễm vào các hệ thống, có các loại virus như sau: - Boot sector (hoặc partition sector): Nhiễm vào phân vùng khởi động của một hệ thống. Boot sector (hoặc partition sector) là vị trí đầu tiên của ổ đĩa, lưu giữ mã của ngôn ngữ máy chịu trách nhiệm khởi động hệ điều hành. Khi hệ thống được khởi động, virus sẽ thực thi trước, thông thường nó tự nạp mình vào bộ nhớ. Cách mà virus có thể lây lan là thông qua đĩa mềm, đĩa CD bị nhiễm. - File infector: Nhiễm vào các tệp như tệp hệ thống, tệp thực thi, tệp điều khiển, các tệp hỗ trợ khác (ví dụ, tệp .dlls). - Macro: Nhiễm vào các tệp macro (chứa các lệnh hoặc các tổ hợp phím, giúp cho việc truy nhập các lệnh hoặc các tổ hợp phím đó một cách nhanh chóng thông qua một lệnh hoặc một phím đơn lẻ). Macro thường được sử 29
- dụng trong các ứng dụng của Microsoft office như: chương trình xử lý văn bản, bảng tính, cơ sở dữ liệu và các chương trình khác. - Multipartile: Có thể nhiễm vào các hệ thống thông qua rất nhiều phương tiện khác nhau, ví dụ như thông qua boot sector và qua các tệp thực thi. Nếu phân loại theo cách virus tránh bị phát hiện bằng các phần mềm quét virus, có các loại virus sau: - Amored: Một virus có mã rất khó giải mã nên rất khó để biết chính xác virus hoạt động như thế nào. - Polymorphic: Một virus có khả năng thay đổi sau mỗi lần nhân bản nên rất khó để chống lại. - Stealth: Một virus có khả năng tự phòng vệ nên rất khó phát hiện. - Companion: Một virus chạy từ một tệp không phải là tệp mà nó gắn vào. Nếu phân loại theo khả năng phá hoại của virus, có các loại virus sau: - Benign: Một virus có thể lây lan nhưng không gây hại cho máy tính. Một số virus benign chỉ để thử nghiệm khả năng nhân bản của một chương trình hay một đoạn mã thực thi nào đó. Đôi khi những kẻ tấn công sử dụng loại virus này để thử nghiệm mã chương trình của mình trước khi thực hiện các tấn công thật. Ngoài ra, virus benign còn được sử dụng trong các phòng thí nghiệm để viết hoặc kiểm tra các phần mềm ngăn chặn virus. Cho dù loại virus này là vô hại nhưng chúng cũng gây phiền toái và lo ngại cho người dùng. - Destructive: Một virus được thiết kế để xoá hoặc làm hỏng các tệp, dừng dòng công việc (workflow) bình thường hoặc gây ra các vấn đề cho người dùng máy tính hoặc các hệ thống mạng. 2.1.2. Sâu mạng Sâu mạng là một chương trình có thể nhân bản trên cùng một máy tính hoặc có thể tự lây lan sang các máy tính khác trên một mạng hoặc 30
- internet. Sâu mạng thường lây lan thông qua các phương pháp tấn công như: tràn bộ đệm (buffer overflow), quét cổng (port scanning), tràn cổng (port flooding) và mật khẩu yếu. Sâu mạng Code Red và Code Red II là các ví dụ về sâu mạng sử dụng tấn công tràn bộ đệm để phá hoại. Cả 2 phiên bản của Code Red đều nhằm vào các máy chủ Windows NT và Windows 2000 Server chạy dịch vụ máy chủ Web (IIS) hay các dịch vụ chỉ mục (indexing service), chưa vá các lỗ hổng để chống lại sâu mạng này. Ngoài ra, Code Red còn lợi dụng một số yếu điểm trong các cấu hình phần mềm quản lý router, cho phép sâu mạng này có thể lây lan nhiều thêm trên các mạng. Code Red nhân bản vào 19 ngày đầu của tháng sau đó lại dừng. Các phiên bản trước đây của loại sâu mạng này được thiết kế để làm tràn kết nối máy chủ của nhà trằng trên cổng 80. Cổng 80 là cổng mặc định của một số phần mềm máy chủ Web, sử dụng để đón các kết nối web từ máy khách. Linux.Millen.Worm lây nhiễm các hệ thống Linux chạy trên các máy tính dòng Intel hoặc tương thích với Intel. Sâu mạng này cũng lây lan thông qua tấn công tràn bộ đệm. Thông qua tấn công tràn bộ đệm, một đoạn mã khởi tạo của sâu mạng này sẽ khởi tạo một tiến trình FTP trên hệ thống đích (hệ điều hành bị tấn công), tiến trình này sẽ download và thực hiện tệp mworm.tgz. Mworm.tgz là một tệp nén chưa gần 50 tệp. Ngoài việc chiếm không gian trên máy tính cục bộ, sâu mạng này còn sử dụng một phần của các tệp mới để tìm kiếm các máy tính khác để tấn công. Đồng thời, nó mở một cửa hậu (back door) trên tất cả các máy tính nó tấn công thành công, cho phép mã khởi tạo của sâu mạng truy nhập đến tất cả các máy tính đó. Cửa hậu (back door) là một con đường bí mật vào hệ điều hành dùng để tránh các chức năng an toàn của hệ thống, ví dụ cửa hậu có thể cho phép truy nhập vào hệ thống thông qua một chương trình hay một dịch vụ nào đó. Một họ hàng của sâu mạng Linux.Millen.Worm có tên là Linux.Lion.Worm, sâu mạng này có thể tạo ra rất nhiều cửa hậu trên một 31
- hệ thống và cung cấp mật khẩu của các khoản mục trên hệ thống mà nó xâm phạm. Sâu mạng Digispid.B.Worm chuyên nhằm vào các hệ thống cơ sở dữ liệu SQL server trên windows. Nó được thiết kế để xâm nhập vào hệ thống thông qua khoản mục SQL Administrator, do một số phiên bản của SQL server không có mật khẩu mặc định cho khoản mục này. Ngoài ra, nó còn có khả năng truy nhập vào hệ thống khi khoản mục SQL Administrator sử dụng mật khẩu là “sa”. Khi đã xâm nhập vào hệ thống sẽ sinh ra các tệp trong thư mục \System32 của thư mục hệ thống (\winnt hoặc \windows), làm tràn cổng TCP hoặc UDP 1433 (đây là cổng dịch vụ SQL server) bằng các yêu cầu giả. Nó còn có thể thay đổi mật khẩu của khoản mục SQL Administrator và gửi mật khẩu mới tới một địa chỉ e-mail của kẻ tấn công đã khởi tạo sâu mạng này, do đó người quản trị thật không thể truy nhập vào các dịch vụ cơ sở dữ liệu của mình. 2.1.3. Con ngựa tơ roa (Trojan horse) Trojan horse là một chương trình có vẻ hữu ích và vô hại, nó không gây hại đến máy tính của người dùng. Một số trojan horse cũng cho phép truy nhập cửa hậu đến một máy tính. Nhìn bề ngoài, trojan horse là một chương trình hấp dẫn, ví dụ như một trò chơi, một chương trình xử lý văn bản, một chương trình màn hình chờ, nhưng thực chất nó đã chứa đựng một chương trình có hại khác. Khi download một chương trình từ trên mạng hay từ internet, người dùng không thể biết được sự có mặt của trojan horse trong chương trình đó, và nghiễm nhiên trojan horse có thể lây lan thêm khi người dùng chuyển cho bạn bè mình thông qua các ổ đĩa hay e- mail. Backdoor.Egghead là một trojan horse nhằm vào các hệ thống windows NT, windows 2000 và windows XP. Khi trojan horse này hoạt động, nó sẽ tạo ra một thư mục mới có tên là Vchost trong thư mục \Winnt\System32 hoặc \Windows\System32 và tạo ra các tệp của nó vào 32
- thư mục này. Ngoài ra nó còn tạo ra một số tệp trong thư mục hệ thống \Winnt hoặc \Windows. Ở giai đoạn tiếp theo, trojan horse này sẽ thêm các danh mục vào Registry cho phép khởi đọng các chương trình của nó mỗi khi hệ thống máy tính được khởi động. Mục đích của trojan horse này là tạo ra một cửa hậu để kẻ tấn công có thể truy nhập vào máy tính nạn nhân. AOL4FREE là một trojan horse mà phiên bản gốc của nó được thiết kế để cho phép người dùng tạo các khoản mục AOL miễn phí, và tác giả của nó đã bị bắt và nghiêm trị. Sau đó, nhiều kẻ tấn công đã sửa đổi nó thành một trojan horse lây lan qua e-mail và có thể hoạt động trên hầu hết các hệ điều hành. Khi hoạt động, AOL4FREE sẽ xoá các tệp trên ổ đĩa cứng. Simpsons AppleScript Virus là một trojan horse nhằm vào các hệ thống MAC OS. Trojan horse này thường được gửi đi bằng một e-mail lôi kéo các fan của hãng hoạt hình Simpsons download các trích đoạn của hãng Simpsons. Khi người dùng thực thi chương trình đính kèm trong e- mail, nó sẽ mở một trình duyệt web kết nối tới một địa chỉ (URL) giả và gửi các e-mail đến tất cả các địa chỉ có trong danh bạ của chương trình e- mail Entourage hoặc Outlook Express. Một đặc điểm chung giữa virus, sâu mạng và trojan horse là chúng thường được tải ra từ những vị trí nhất định trong các hệ điều hành. Bảng 2-1 tổng hợp các vị trí thông thường mà các phần mềm phá hoại này được tải ra. Vị trí Mô tả Là một trong các tệp tự động khởi động khi các hệ điều hành windows hoặc NetWare khởi Autoexec.bat động. Chương trình có tên trong danh sách các danh mục trong tệp này sẽ được thực thi khi hệ thống khởi động. Các chương trình nạp hệ điều hành như GRUB Bootloader program (Grand United Bootloader), LILO (Linux 33
- Bootloader) được sử dụng để nạp nhân của hệ điều hành. Tệp này được sử dụng trong các hệ điều hành Inittab_file UNIX/Linux, có chức năng tương tự tệp autoexec.bat của windows. Trong linux và Mac OS, vi rút có thể được gắn vào nhân hoặc các module trong nhân hệ điều Kernel hành. Chúng sẽ được kích hoạt khi tải nạp nhân và các module của hệ điều hành Thực thi khi khởi động bởi hệ thống windows. Các chương trình sẽ được khởi động bởi việc win.ini thiết lập: the load= hoặc the run= Bảng 2-1: Những xuất phát điểm của các phần mềm phá hoại Hình 2-1:Nội dung của tệp win.ini trong hệ điều hành WinXP 34
- 2.1.4. Phần mềm gián điệp (Spyware) Spyware là một phần mềm chạy trên máy tính (người dùng không nhận biết được sự có mặt của nó) sau đó nó sẽ gửi thông tin về các hoạt động của máy tính nạn nhân cho kẻ tấn công hoặc người quảng cáo. Đôi khi Spyware không cần cài đặt để chạy trên máy tính của người dùng mà nó chỉ cần chặn bắt các thông tin liên quan đến các trao đổi trên internet của người dùng đó. Một cách mà Spyware có thể được cài đặt trên máy tính của người dùng là qua một virus máy tính hoặc một trojan horse. Ngoài ra, các hãng quảng cáo và tiếp thị có thể cung cấp các phần mềm miễn phí, ngoài việc cài đặt một chương trình hợp pháp, chúng còn cài một Spyware để kiểm soát việc sử dụng máy tính của người dùng. Trên internet, một số dạng Spyware hoạt động thông qua việc khai thác các cookies. Một cookie là thông tin về một web server được lưu trữ trên máy tính khách. Một số dạng Spyware có thể chặn bắt các cookie hoặc các thông tin trong các cookie đó do đó kẻ điều hành Spyware có thể tái tạo lại tất cả các động thái của người dùng trên internet. Kiểu tấn công này được gọi là “cookie snarfing”. Một số công cụ giả mạo có chức năng cookie snarfing là SpyNet và PeepNet. Các công cụ này thường được dùng kết hợp với nhau, SpyNet được sử dụng để chặn bắt thông tin mạng liên quan đến các cookie trong phiên truy cập internet của người dùng, còn PeepNet được sử dụng để giải mã tất cả các thông tin cookie, do đó kẻ tấn công có thể có thể phân tách chi tiết chuỗi các hành động mà người dùng internet thực hiện. * Chú ý: Một cách để chống lại tấn công cookie snarfing là vô hiệu hoá chức năng tạo cookie thông qua trình duyệt internet. 2.2. Các phương pháp tấn công thường được sử dụng bởi phần mềm phá hoại Virus, sâu mạng, trojan horse và các phần mềm phá hoại khác sử dụng rất nhiều phương pháp khác nhau để thực hiện công việc bẩn thỉu của 35
- chúng và lây lan sang các hệ thống khác. Phần này sẽ giới thiệu các phương pháp mà các phần mềm phá hoại thường được sử dụng để tấn công, các phương pháp này bao gồm: - Excutable methods. - Boot and partition sector methods. - Macro methods. - E-mail methods. - Software exploitation. 2.2.1. Các phương pháp thực hiện (Excutable methods) Virus, sâu mạng hay trojan horse có thể thực thi là một tệp chứa các dòng mã máy có thể chạy được. Trong các đoạn mã này, một số đã được biên dịch, còn một số chưa được biên dịch do chúng sử dụng trình biên dịch trên máy tính nạn nhân. Ví dụ, các tệp batch (tệp lô) và các tệp script (kịch bản) là các tệp chứa các đoạn mã hoặc các chỉ thị được chạy bởi trình biên dịch của máy tính. Trình biên dịch sẽ biên dịch một tệp chứa các chỉ thị và thực thi chúng, mỗi dòng là một chỉ thị và quá trình thực thi sẽ lần lượt từng dòng một. Dưới đây là danh sách các tệp thực thi và phần mở rộng tương ứng: - .exe (được sử dụng trong các hệ thống Windows và NetWare). - .com (được sử dụng trong các hệ thống Windows và NetWare). - .bat (được sử dụng trong các hệ thống Windows và NetWare). - .bin (được sử dụng trong các hệ thống Windows, NetWare và Mac OS). - .btm (được sử dụng trong các hệ thống Windows). - .cgi (được sử dụng trong các hệ thống Windows, UNIX/Linux, NetWare và Mac OS). - .pl (được sử dụng trong các hệ thống UNIX/Linux và Mac OS). 36
- - .cmd (được sử dụng trong các hệ thống Windows và NetWare). - .msi (được sử dụng trong các hệ thống Windows). - .msp (được sử dụng trong các hệ thống Windows). - .mst (được sử dụng trong các hệ thống Windows). - .vb và .vbe (được sử dụng trong các hệ thống Windows và NetWare). - .wsf (được sử dụng trong các hệ thống Windows). Biên dịch song song một virus thực thi là quá trình nhiễm mã nguồn hoặc mã thực thi của các chương trình. Loại virus này có thể sử dụng các lệnh sẵn có từ dòng lệnh hoặc từ một trình soạn thảo để gắn thêm hoặc chèn mã độc vào các chương trình, tệp batch hay tệp script. Kỹ thuật này thường được thực hiện rất tốt khi sự an toàn trong kiểm soát truy nhập các kiểu tệp này còn lỏng lẻo, cho phép chúng có thể sửa đổi các tệp một cách dễ dàng. 2.2.2. Các phương pháp tấn công Boot và Partition sector Khi một đĩa mềm được định dạng dưới dạng một đĩa khởi động (boot disk), thì quá trình định dạng sẽ tạo ra một phân vùng khởi động (boot sector) ở vị trí đầu tiên của đĩa. Trên ổ cứng thì quá trình tạo phân vùng và định dạng cũng sẽ tạo ra phân vùng khởi động chủ hoặc phân vùng khởi động ở ví trí đầu tiên của ổ đĩa. Phân vùng khởi động chứa bản ghi khởi động chủ (MBR), nó là một tập các chỉ thị được sử dụng để tìm và nạp hệ điều hành. Quá trình khởi tạo trình khởi động từ đĩa bao gồm các quá trình sau: 1. Máy tính tìm MBR. 2. Các chỉ thị trong MBR cho phép nó định vị được phân vùng khởi động chủ của phân vùng tích cực 3. Các chỉ thị (đôi khi còn được gọi là boot loader) trong phân vùng khởi động chủ sẽ định vị và khởi động hệ điều hành của máy tính. 37
- Các virus Boot sector hay Partition sector thường nhiễm các hệ thống Windows và Unix (bao gồm cả hệ thống Mac OS). Một virus Boot sector hay Partition sector thường nhiễm và thay thế các chỉ thị trong MBR hoặc Partition Boot Sector. Một phương pháp khác là làm sai lệch các địa chỉ của phân vùng chính được xác định trong bảng phân vùng (partition table) của ổ đĩa. Hơn nữa, nếu dung lượng của virus lớn hơn dung lượng bộ nhớ được phân bổ cho boot sector, thì virus có thể di chuyển boot sector sang một vị trí khác có dung lượng lớn hơn (chưa sử dụng), ví dụ như sang vị trí cuối của ổ đĩa. Khi đã bị nhiễm, hệ thống sẽ không khởi động được hoặc virus có thể gọi các đoạn mã bị nhiễm khở động cùng với hệ điều hành và lây lan sang các ổ đĩa khác và sang các boot sector của các đĩa mềm. Sau khi đã nhiễm vào đĩa mềm, virus có thể nhiễm sang boot sector của các máy tính khác sử dụng đĩa mềm bị nhiễm. Thông thường, việc diệt trừ virus Boot sector hoặc Partition sector đồng nghĩa với việc tạo lại MBR và các chỉ thị trong Partition Boot Sector. Trên các hệ thống Windows và NetWare sử dụng hệ thống file FAT, ta có thể sử dụng tiện ích fdisk /mbr hoặc các lệnh của dos để tạo lại tập các chỉ thị này. Trên các hệ thống Windows sử dụng hệ thống file NTFS, có rất nhiều tiện ích trên đĩa cài đặt có thể dùng để thay thế MBR và các chỉ thị của Partition Boot Sector. Ngoài ra, trong hệ thống file NTFS ta cũng có thể sử dụng lệnh fixboot trong cửa sổ khôi phục (recovery console) để sửa lại boot sector hoặc fixmbr để sửa lại MBR. 2.2.3. Các phương pháp tấn công dùng Macro Một macro là một đoạn kịch bản hay một tập các chỉ thị hoặc phím tắt được khởi động khi sử dụng tên của macro hoặc ấn một phím trên bàn phím. Các macro thường được sử dụng trong phần mềm (ví dụ như các phần mềm xử lý văn bảng và bảng tính) và trong các ngôn ngữ lập trình. Các phần mềm sử dụng macro nhiều nhất đó là các phần mềm Microsoft Office, các phần mềm này sử dụng tính năng macro trong Visual Basic cho 38
- các ứng dụng của nó. Ví dụ, một macro có thể được vét để tự động mở một thư mục và lưu lại một văn bản word. Một số macro được lập trình thành các phím, do đó một chuỗi các phím phức tạp có thể được thực hiện chỉ bằng một phím đơn lẻ. Một virus có thể nhiễm một macro và lây lan mỗi lần macro được sử dụng. Một cách thực hiện điều này là thông qua một macro đi kèm với một mẫu tài liệu (template) được sử dụng bởi chương trình xử lý văn bản hoặc bảng tính. Trong một văn phòng có rất nhiều tài liệu được chia sẻ, điều này làm cho virus có thể lây lan sang một máy tính mới mỗi lần người sử dụng mở một tài liệu bị nhiễm. Một cách khác để virus lây lan qua các macro là gắn nó vào một mẫu tài liệu mà nhiều người dùng chia sẻ và sử dụng, điều này cho phép nó có thể lây lan mỗi lần mẫu tài liệu này được mở ra trong một tài liệu mới. 2.2.4. Các phương pháp tấn công dùng E-mail Hầu hết các người dùng e-mail hiện nay đều biết được rằng virus, sâu mạng và trojan horse có thể được gửi đi dưới dạng các tài liệu đính kèm trong e-mail. Một trong các virus macro rất nổi tiếng đó là virus Melissa, virus này được gửi đi dưới dạng một tệp đính kèm trong e-mail với tiêu đề là “Important Message From tên một người dùng nào đó”. Nội dung thông báo trong e-mail là “Here is that document you asked for don’t show anyone else”. Khi người dùng mở tài liệu đính kèm với e-mail này, virus này sẽ gửi một e-mail với cùng nội dung tới 50 người đầu tiên trong danh sách các địa chỉ e-mail của Microsoft Outlook. Virus Melissa không phá huỷ dữ liệu, nó chèn thêm một dòng có nội dung: “Twenty-two points, plus triple-word-score, plus fifty points for using all my letters. Game’s over. I’m outta here” vào tài liệu mang virus khi tài liệu này được mở ra. Virus Melissa biến thể thành một virus e-mail phá hoại mới như virus Resume. Đây là một virus macro được giấu trong một tệp đính kèm có tên là Explorer.doc và nó được gửi đi với tiêu đề là “Resume – Janet 39
- Simmons”. Khi tài liệu đính kèm được mở ra và đóng lại, có 2 điều xảy ra: thứ nhất là thông báo này và tệp đính kèm sẽ được gửi đi cho tất cả các địa chỉ trong danh sách địa chỉ của Outlook; thứ 2 là một số tệp của hệ điều hành và tệp dữ liệu sẽ bị xoá khỏi ổ đĩa cứng. Ngày nay, Microsoft và các hãng phần mềm khác cấu hình các phần mềm (ví dụ Microsoft Office) để vô hiệu hoá các macro nếu chúng không được ký bởi một nguồn tin cậy nào đó (Trusted sources). Chữ ký số là một mã được đặt trong một tệp để kiểm tra tính xác thực của nó bằng cách chứng minh rằng nó bắt nguồn từ một nguồn tin cậy. Khi người dùng mở một tài liệu có chứa một macro, người dùng sẽ nhận được một cảnh báo rằng macro đó đã bị vô hiệu hoá và macro đó chỉ có hiệu lực đối với những tài liệu được gửi từ một nguồn tin cậy. Hình 2-2 giới thiệu cách đặt tính năng an toàn macro trong Microsoft Office 2003. Hình 2-2: Đặt tính năng an toàn macro trong Microsoft Office 2003. 2.2.5. Khai thác lỗi phần mềm (Software exploitation) Virus, sâu mạng và Trojan horse đều là những đại diện của phần mềm phá hoại có thể tìm ra những điểm yếu hay những lỗ hổng của các hệ điều hành và mạng. Chúng thực hiện việc này bằng những chương trình khai thác lỗi phần mềm (software exploitation). Mục đích của những 40
- chương trình này là tìm ra tất cả các điểm yếu của các phần mềm và hệ điều hành. Khai thác lỗi phần mềm thường nhắm vào các phần mềm mới hoặc các phiên bản phần mềm mới. Một phiên bản mới của hệ điều hành thường được các nhà phát triển và kiểm định viên kiểm tra và chạy thử hàng tháng, nhưng khi triển khai sử dụng trên thực tế người ta vẫn phát hiện những yếu điểm mà quá trình kiểm tra thử nghiệm không phát hiện được. Khi có một phiên bản mới của hệ điều hành, những kẻ tấn công bắt đầu tìm kiếm lỗi trong các dịch vụ, ứng dụng, hệ thống và các chức năng thường có các điểm yếu như: - Các dịch vụ DNS. - Các dịch vụ mới được phát triển hoặc mới nâng cấp. - Các dịch vụ và các ứng dụng mạng. - Các dịch vụ và các ứng dụng e-mail và truyền thông điệp. - Các dịch vụ và các ứng dụng internet. - Các dịch vụ truy nhập từ xa. - Các hệ thống cơ sở dữ liệu. - Kiểm soát lỗi tràn bộ đệm. Ví dụ virus Linux.Millen.Worm (trình bày trong phần 2.1.2) sử dụng lỗi tràn bộ đệm và dịch vụ FTP (cả 2 đều thuộc dạng có nhiều lỗ hổng phổ biến). Virus Code Red và Code Red II cũng sử dụng lỗi tràn bộ đệm để tấn công vào các điểm yếu trong các máy chủ Web IIS của Microsoft. Các nhà sản xuất luôn tìm kiếm thông tin về các vấn đề an toàn trong các phần mềm của họ. Nếu phát hiện có vấn đề, ngay lập tức họ tạo ra các bản vá lỗi (patch) và các bản cập nhật (update) để cung cấp cho người dùng. 2.2.6. Các phương pháp tấn công giữa vào hạ tầng mạng Tấn công vào lỗi của Web Server: Hầu hết các hệ thống thông tin đều đưa Web Server lên Internet nhằm quảng bá, phục vụ khách hàng hoặc 41
- nhân viên ở xa do đó không thể bỏ qua hay đánh giá thấp nguy cơ này. Đây cũng là nguy cơ đứng hàng thứ 2. Các tin tặc đã lợi dụng những điểm yếu của Web Server để tấn công vào các Web Site. Một số điểm yếu điển hình có thể liệt kê sau đây: - Điểm yếu lập trình CGI: Hầu hết các Webserver, bao gồm Microsoft IIS và Apache đều hỗ trợ cho lập trình CGI để từ đó cung cấp các trang web cho phép tương tác với các chức năng như lấy dữ liệu hay thẩm tra. Điểm yếu lập trình CGI là một mục tiêu hết sức lôi cuốn cho những kẻ quấy rầy bởi họ có thể dễ dàng định vị và hoạt động với những đặc quyền trên phần mềm webserver đó, khai thác những điểm yếu của chương trình CGI để phá hoại có chủ ý những trang web, đánh cắp thông tin thẻ tín dụng và cả việc cài đặt những phương thức cho các lần tập kích khác trong tương lai. Những ứng dụng Web server cũng sẽ bị những điểm yếu tương tự khi được xây dựng bởi những lập trình viên thiếu kiến thức và cẩu thả. - Tràn bộ đệm mở rộng ISAPI: Khi IIS đựơc cài đặt, một vài ISAPI mở rộng cũng được tự động cài đặt. ISAPI dùng cho Ứng dụng lập trình dịch vụ giao diện Internet, cho phép người phát triển mở rộng khả năng sử dụng DLL của máy chủ ISS. Vài DLLs, như idq.dll, chứa các lỗi lập trình mà chúng có thể tạo ra những lỗi không thích hợp sự kiểm tra. Đặc biệt, chúng không ngăn việc không chấp nhận các chuỗi nhập dài. Những kẻ tấn công sẽ gửi dữ liệu đến các DLL này mà ở đó chúng biết các bộ đệm sẽ tràn khi tập kích và như vậy chúng có thể lấy được quyền điều khiển của máy chủ IIS. Tấn công từ chối dịch vụ (39%): là một kiểu tấn công làm tê liệt các dịch vụ trên hệ thống chủ, có thể bằng cách gây xung đột trên toàn bộ hệ thống. Kiểu tấn công này rất dễ thực hiện và khó có thể tìm được một giải pháp hữu hiệu để bảo vệ hệ thống trước một cuộc tấn công DoS. Vấn đề cơ bản ở đây là hệ điều hành UNIX cho rằng người dùng luôn có những hành động thân thiện. Các cuộc tấn công DoS thuộc loại hiểm độc nhất đều sử 42
- dụng kỹ thuật chiếm dụng đường truyền. Kẻ tấn công sẽ chiếm dụng hết băng thông của mạng làm việc nào đó. Điều này có thể được thực hiện từ mạng nội bộ, nhưng nói chung các hacker sẽ thực hiện việc này từ xa. Cisco router cũng có thể bị tấn công từ chối dịch vụ. Tấn công làm tràn bộ đệm: 32%. Tràn buffer trên Server FTP IIS: Tấn công bằng cách làm tràn buffer rất dễ được tiến hành trên các server FTP IIS (Internet Information Server) do chúng rất nhạy cảm đối với những tình huống có thể dẫn tới tràn buffer, bằng cách sử dụng lệnh list hacker có thể hạ đo ván server từ xa. Để sử dụng được câu lệnh này, người sử dụng cần phải có chứng thực. Tuy vậy, những người dùng FTP vô danh cũng có thể sử dụng được nó. Điều quan trọng là phải luôn để mắt đến khả năng có thể dẫn tới rủi ro - tạo điều kiện cho một cuộc tấn công DoS. Rủi ro sẽ không ngừng tăng lên nếu người sử dụng được phép tự ý thi hành những đoạn mã chương trình trên hệ thống trong khi đang có nguy cơ tràn buffer. Tấn công xâm nhập bằng các ngôn ngữ script và mobile như ActiveX, Java, Java Script, VBS: 28%. Tấn công dựa vào điểm yếu của giao thức: 23%. - Điểm yếu của giao thức SNMP được công bố rộng rãi năm 2001-2002. Giao thức SNMP (The Simple Network Management Protocol) được sử dụng rộng rãi để theo dõi và quản lý các thiết bị kết nối mạng từ các bộ định tuyến đến máy in, máy tính SNMP sử dụng một mã hoá chuỗi cộng đồng (community string) như là cơ chế chứng thực duy nhất. Sự yếu kém trong mã hoá đã đủ xấu, nhưng các chuỗi cộng đồng được sử dụng trong phần lớn thiết bị SMNP là công cộng và một số nhà cung cấp thiết bị mạng thông minh đã thay đổi chuỗi đó thành riêng tư cho nhiều thông tin nhạy cảm hơn. Những kẻ tấn công có thể sử dụng những điểm yếu này trong SNMP để cấu trúc lại hoặc tắt thiết bị từ xa. Xem xét thông tin qua SNMP có thể lộ ra một khoản lớn cấu trúc mạng của bạn, cũng như các hệ thống 43
- và dịch vụ gắn trên đó. Những kẻ quấy rối sử dụng những thông tin này để định các mục tiêu và lên kế hoạch tấn công. Lưu ý: SNMP không chỉ có trong hệ thống Unix, tuy nhiên những công tác viên nhận thấy rằng những cuộc tấn công chính vào điểm yếu này thường diễn ra trên các hệ thống Unix (vốn không được cấu hình SNMP cẩn thận). Họ cũng cho rằng đây không là một vấn đề nghiêm trọng với hệ thống Windows. - Dịch vụ RPC (Remote procedure calls - gọi thủ tục từ xa) cho phép các chương trình trên một máy có thể thực thi các chương trình khác trên máy khác. Chúng đựơc sử dụng rộng rãi để thâm nhập vào vào các dịch vụ mạng như chia sẻ tập tin NFS và NIS. Nhiều điểm yếu gây ra bởi những kẽ hở trong RPC bị lợi dụng. Có những bằng chứng cho thấy rằng phần lớn các cuộc tấn công từ chối dịch vụ diễn ra trong suốt từ năm 1999 đến đầu năm 2000 được thực hiện thông qua các điểm yếu RPC trên máy. Tấn công dựa trên tính kém bảo mật của mật khẩu: 21%. Hầu hết các hệ thống được thiết kế hiện nay sử dụng mật khẩu như một phương án phòng vệ trực tiếp đầu tiên và duy nhất. Các công ty còn cho phép truy cập từ xa qua đường điện thoại mà không cần firewall. Nếu những kẻ tấn công có được tên truy cập và mật khẩu thì chúng có thể ung dung đi vào hệ thống. Hiện nay vẫn còn kiểu đặt mật khẩu một cách rất ấu trĩ, dễ đoán hoặc sử dụng mật khẩu mặc định, thậm chí là tạo tài khoản với mật khẩu rỗng. Do vậy, cần phải loại bỏ tất cả những mật khẩu dễ đoán, mật khẩu mặc định hoặc mật khẩu rỗng trong hệ thống của bạn. Thêm vào đó, nhiều hệ thống có tài khoản gắn sẵn hoặc mặc định. Những tài khoản này thường sử dụng cùng một mật khẩu trong quá trình cài đặt phần mềm. Những kẻ tấn công thường nhòm ngó những tài khoản này, bởi lẽ chúng được bọn xâm nhập biết rất rõ. Như vậy, bất kỳ tài khoản mặc định hay gắn sẵn nào cũng cần phải được xác định và loại bỏ khỏi hệ thống. 44
- 2.3. Bảo vệ thông tin khỏi các phần mềm phá hoại Có rất nhiều cách để bảo vệ một hệ điều hành khỏi các phần mềm phá hoại như sau: - Cài đặt các bản cập nhật (updates). - Quan sát các dịch vụ được kích hoạt khi hệ thống khởi động. - Sử dụng các công cụ quét phần mềm phá hoại. - Sử dụng chữ ký số để bảo vệ các tệp hệ thống và các tệp điều khiển. - Sao lưu dự phòng hệ thống và tạo đĩa khắc phục (khôi phục disk). - Tạo và thực hiện các chính sách có tính tổ chức. 2.3.1. Cài đặt các bản cập nhật. Việc cài đặt các bản cập nhật và các bản vá lỗi (patches) là cách rất hiệu quả để chống lại các tấn công trên một hệ điều hành. Ví dụ, đầu năm 2003 sâu mạng Slammer tấn công thành công vào máy chủ cơ sở dữ liệu SQL là do nhiều nhà quản trị không cài các bản vá lỗi mới được thiết kế để ngăn chặn tấn công này. Tất cả các hệ điều hành như Windows 2000, Windows XP Professional, Windows Server 2003, Red Hat Linux, NetWare và Mac OS X đều cung cấp rất nhiều cách để cài đặt các bản cập nhật và các bản vá lỗii. * Đối với các hệ điều hành Windows 2000, Windows XP Professional và Windows Server 2003: Có 2 cách chính để cài đặt các bản cập nhật cho Windows 2000, Windows XP Professional và Windows Server 2003 là chức năng Windows Update và các bản Service Pack. Windows Update được sử dụng để cho phép truy nhập đến các bản vá lỗi được công bố thường xuyên, đây thường là các bản vá lỗi an toàn. Khi ta sử dụng Windows Update, chương trình này sẽ kết nối tới trang web chứa các bản cập nhật phù hợp với hệ điều hành của mình. Sau khi kết nối được thực hiện, người dùng có thể 45
- chọn các tuỳ chọn để quét hệ điều hành để xem những bản cập nhật nào chưa được cài đặt, sau khi quét xong hệ thống sẽ tải về tất cả các bản vá lỗi còn thiếu. Trong các hệ điều hành Windows 2000 Server và Windows 2000 Professional, thì tuỳ chọn Windows Update thường xuất hiện trên menu Start. Đối với hệ điều hành Windows XP Professional, có 2 cách để thực hiện Windows Update. Cách thứ nhất là click vào menu Start, chọn All Programs rồi click vào Windows Update. Cách thứ 2 là click menu Start, mở cửa sổ Help and Support Center và chọn tuỳ chọn Windows Update trong cửa sổ đó. Windows XP Professional và Windows Server 2003 cung cấp giao diện Automatic Updates Setup Wizard, giao diện này được thiết kế để nhắc nhở người dùng tải các bản cập nhật mới về hoặc thậm chí còn tự động tải về máy của người dùng. Các tuỳ chọn trong giao diện này bao gồm: - Bật chức năng cập nhật tự động. - Đưa ra một thông báo nhắc nhở người dùng khi có bản cập nhật mới, sau khi chúng được tải về, giao diện này sẽ cung cấp tuỳ chọn để cài đặt chúng ngay lập tức hoặc chờ một khoảng thời gian sau đó. - Tự động tìm các bản cập nhật mới, và nhắc nhở người dùng tải chúng về ngày lập tức hoặc một lúc khác. - Tự động tải các bản cập nhật mới và cài đặt chúng theo một thời gian biểu đã định, ví dụ như vào 10 giờ tối thứ 7 hàng tuần. Các bản Service Pack được thiết kế để vá các lỗ hổng về an toàn cũng như các vấn đề ảnh hưởng đến sự ổn định, hiệu năng hay hoạt động của các chức năng nào đó trong hệ điều hành. Các bản Service Pack được công bố không thường xuyên như các bản vá lỗi từ Windows Update, nhưng nó bao gồm các gói sửa lỗi chính, các tính năng mới của hệ điều 46
- hành và các phiên bản Service Pack trước đó. Sau khi cài đặt xong hệ điều hành Windows hay các phần mềm của Microsoft như Microsoft Office, ta nên tải và cài đặt bản Service Pack mới nhất để xửa xác lỗi và vá các lỗ hổng an toàn. Ta có thể tải các phiên bản Service Pack mới nhất cho các hệ điều hành và phần mềm Microsoft khác nhau từ địa chỉ www.microsoft.com/downloads. Dưới đây là những chú ý khi cài đặt các phiên bản Service Pack mới nhất cho các hệ điều hành Windows 2000, Windows XP Professional và Windows Server 2003: - Tải bản Service Pack mới nhất từ trang download của Microsoft. Ngoài ra, các bản này còn có thể được cung cấp trên đĩa CD riêng. - Đọc tài liệu đi kèm với bản Service Pack đó. Tài liệu này liệt kê các bước cài đặt và cảnh báo các vấn đề liên quan đến quá trình cài đặt Service Pack. - Nếu máy trạm hoặc máy chủ đang hoạt động trong dây chuyền sản xuất, hãy thực hiện sao lưu dự phòng đầy đủ trước khi cài đặt. - Đối với các máy chủ đang phục vụ các client, hãy xác định thời gian để cài đặt Service Pack, vì máy chủ cần được khởi động lại trong quá trình cài đặt. Nên cảnh báo cho các client về vấn đề này. - Sau khi Service Pack được cài đặt, hãy ghi lại toàn bộ các sự cố xảy ra và cách xử lý chúng để tiện tham khảo cho những lần cài đặt sau. * Đối với hệ điều hành Red Hat Linux: Red Hat công bố các bản cập nhật thường xuyên trên trang web www.redhat.com. Red Hat Linux cũng đưa ra thông báo nhắc nhở người dùng sau khi phiên bản Red Hat Linux 9.x được cài đặt và đăng ký, một biểu tượng dấu chấm than (!) sẽ xuất hiện trong vòng tròn màu đỏ gần đồng hồ của thanh tác vụ trên màn hình của Linux. Đây là công cụ nhắc nhở cảnh báo mạng của Red Hat Linux. Biểu tượng dấu chấm than có 47
- nghĩa là công cụ này chưa được cấu hình hoặc đang có các bản cập nhật cần tải về và cài đặt từ trang web của hãng Red Hat. Khi công cụ cảnh báo này được biểu diễn bằng một biểu tượng có 2 mũi tên ngược chiều nhau trong một vòng tròn màu xanh thì có nghĩa là công cụ này đã được cấu hình và hiện không có bản cập nhật mới nào để tải về. Khi ta kích phải chuột vào công cụ này, xuất hiện các tuỳ chọn sau: - Check for updates: Cho phép ta kiểm tra các bản cập nhật trên web site của Red Hat (tuỳ chọn này sẽ bị ẩn khi ta chưa cấu hình cho công cụ cảnh báo). - Launch up2date: Được sử dụng để tải và cài đặt các bản cập nhật còn thiếu. - Configuration: Được sử dụng để cấu hình quá trình tải và cài đặt các bản cập nhật. - RHN Web site: Mở trang trình duyệt mặc định kết nối với web site của hãng Red Hat. - About: Cung cấp các thông tin về phiên bản của công cụ cảnh báo đang sử dụng. - Exit: Thoát khỏi menu các tuỳ chọn. Các bước cơ bản để cấu hình công cụ cảnh báo của Red Hat như sau: 1. Kích phải chuột vào biểu tượng dấu chấm than trên thanh tác vụ gần biểu tượng đồng hồ, kích vào tuỳ chọn Configuration. 2. Kích chọn Forward trong cửa sổ Red Hat Alert Notification Tool. 3. Cửa sổ tiếp theo cung cấp các thông tin về điều khoản (Terms of Service Information) và cung cấp tuỳ chọn để loại bỏ biểu tượng dấu chấm than khỏi thanh tác vụ của Linux. Ta nên để biểu tượng này trên thanh tác vụ để cập nhật dễ dàng hơn. Kích chọn Forward để tiếp tục. 48
- 4. Nếu ta sử dụng một HTTP proxy, hãy cấu hình nó trong cửa sổ tiếp theo bằng cách chọn chức năng HTTP Proxy và cung cấp các thông tin xác thực. Kích Forward để tiếp tục. 5. Kích Apply để kết thúc. Sau khi công cụ cảnh báo được cấu hình, kích vào biểu tượng dấu chấm than để xem các bản cập nhật mới. Nếu ta không biết rõ được công cụ này đã quét được hết các bản cập nhật hay không, hoặc nếu ta muốn xem các bản cập nhật đó là gì, hãy kích phải chuột vào biểu tượng và chọn Check for Updates. Kích vào biểu tượng này một lần nữa để xem các bản cập nhật. Để cài đặt các bản cập nhật, kích phải chuột vào biểu tượng và kích Launch up2date. * Đối với hệ điều hành Netware: Hãng Novell luôn duy trì một phần hỗ trợ trên trang web của hãng, cho phép ta tải các bản cập nhật cho các phiên bản NetWare 6.x. Hãy truy nhập đến phần hỗ trợ của web site và sau đó chọn một liên kết để tìm các bản vá lỗi cho hệ điều hành NetWare. Ta có thể tả các bản cập nhật cho các phiên bản khác nhau của NetWare và cho các sản phẩm và dịch vụ chuyên dụng, ví dụ như các dịch vụ cross-platform. Ta cũng có thể tìm một danh sách chứa các thông tin vắn tắt về các bản vá lỗi và các cảnh báo an toàn. Hãng Novell cũng cung cấp các gói hỗ trợ (consoliđate support pack) cho các hệ điều hành của hãng tương tự như các gói Service Pack của Microsoft. Ta có thể tải một gói hỗ trợ dưới dạng các tệp .iso để gjo vào đĩa CD. Khi ta download một gói hỗ trợ, ta cần phải chú ý đến ngôn ngữ cài đặt và phiên bản bit phù hợp với hệ điều hành đang sử dụng (ví dụ phiên bản 128 bit). Trước khi ta tải các bản vá lỗi hoặc các gói hỗ trợ, ta cần phải đăng ký sản phẩm của mình và tạo một khoản mục hợp lệ trên web site của hãng Novell. Ngoài ra, ta nên sao lưu dự phòng hệ thống trước khi cài đặt các bản vá lỗi hoặc các gói hỗ trợ. Cuối cùng, ta cần định 49
- thời gian để cài đặt, đảm bảo rằng khi cài đặt không có client nào đang kết nối tới hệ thống. 2.3.2. Giám sát qúa trình khởi động hệ thống Một cách để phát hiện những sự cố khi khởi động do các phần mềm phá hoại gây ra trong phân vùng khởi động là sử dụng một chế độ của hệ điều hành để cho phép theo dõi trên màn hình những dịch vụ hệ điều hành nào đang khởi động hoặc xem lại nhật ký của tiến trình này, chẳng hạn: - Trong Windows 2000, Windows XP Professional và Windows Server 2003, ta có thể theo dõi thông tin trên màn hình hoặc đọc bản ghi nhật ký của quá trình khởi động sau khi hệ thống đã khởi động xong. Ta có thể cấu hình 2 tuỳ chọn này trong trình đơn Advanced Options khi khởi động máy tính. Để truy nhập trình đơn này, khi màn hình xuất hiện bảng chọn hệ điều hành trong quá trình khởi động, ta ấn phím F8. Nếu không nhìn thấy trình đơn này, ta phải ấn phím F12 ngay khi hệ thống bắt đầu khởi động để truy nhập bảng chọn rồi ấn phím F8. Trên màn hình trình đơn Advanced Option, ta chọn Safe Mode (để theo dõi quá trình nạp, khởi động các tệp) hoặc chọn Enable Boot Logging (để tạo một bản ghi nhật ký). Nếu ta chọn Safe Mode thì sau khi khởi động xong, ta phải khởi động lại hệ thống một lần nữa, vì Safe Mode chỉ được dùng để phát hiện sự cố. Nếu ta cọn Enable Boot Logging , sau khi hệ thống chạy, đăng nhập bằng một khoản mục có đặc quyền quản trị, rồi dùng Notepad hay Wordpad để mở và đọc nội dung tệp nhật ký ntbtlog.txt trong thư mục \Winnt (trong Windows 2000) hoặc \Windows (trong Windows XP Professional và Windows Server 2003). - Red Hat Linux và NetWare sẽ tự động hiển thị các thông tin về quá trình nạp các tệp khởi động trên màn hình mỗi lần những hệ thống này được khởi động. 50
- 2.3.3. Sử dụng các bộ quét phần mềm độc hại Sử dụng các công cụ quét phần mềm phá hoại là một cách hiệu quả để bảo vệ hệ điều hành. Mặc dù chúng có thể quét hệ thống để phát hiện virus, sâu mạng và trojan horse, nhưng chúng thường được gọi là công cụ quét virus. Khi mua một phần mềm quét virus, ta cần chú ý đến một số tính năng sau đây: - Quét bộ nhớ và diệt virus. - Quét bộ nhớ một cách liên tục. - Quét ổ đĩa cứng, ổ mềm và diệt virus. - Quét tất cả các định dạng tệp, kể cả tệp nén. - Quét các tài liệu HTML và các tệp đính kèm qua e-mail. - Tự động chạy theo một thời gian biểu do người sử dụng đặt. - Có tuỳ chọn chạy nhân công. - Phát hiện cả phần mềm phá hoại đã công bố hoặc phần mềm phá hoại mới (chưa được biết đến). - Cập nhật cơ sở dữ liệu về các loại phần mềm phá hoại mới. - Quét các tệp tải về từ trên mạng hoặc từ internet. - Sử dụng một vùng được bảo vệ hoặc được cách ly để chứa các tệp tải về để tự động quét chúng ở một nơi an toàn trước khi sử dụng chúng. Về các phần mềm phá hoại chưa được biết đến, các công cụ quét có thể được tạo ra để quét và ghi nhớ cấu trúc của các tệp, đặc biệt là các tệp thực thi. Khi chúng phát hiện một số lượng bất thường, như kích cỡ của tệp lớn đột đột hoặc một thuộc tính của tệp bị thay đổi, thì công cụ quét sẽ được cảnh báo có thể đó là một phần mềm phá hoại chưa được biết đến. Trong trường hợp này, công cụ quét có thể thông báo cho người dùng và 51
- chỉ ra một số cách để giải quyết chúng. Bảng 2-2 giới thiệu một số phần mềm quét virus miễn phí hoặc phần mềm thương mại. Phần mềm Mô tả AntiVir Software Sử dụng miễn phí trong các hệ điều hành Windows Central Command Vexira Phần mềm thương mại chạy trên AntiVirus các hệ điều hành Unix/Linux và Windows; bao gồm cả chức năng cập nhật virus Computer Associates eTrust Miễn phí đối với một máy trạm đơn lẻ; là phần mềm thương mại cho các hệ thống Unix/Linux và Windows F-Secure Anti-Virus Phần mềm thương mại chạy trên các hệ điều hành Unix/Linux và Windows; bao gồm cả chức năng cập nhật virus HandyBits VirusScan Phần mềm thương mại chạy trên các hệ điều hành Windows; bao gồm cả chức năng cập nhật virus McAfee VirusScan Phần mềm thương mại chạy trên các hệ điều hành Windows và Mac OS; bao gồm cả chức năng cập nhật virus Sophos Anti-Virus Phần mềm thương mại chạy trên các hệ điều hành Unix/Linux, Macintosh, NetWare và Windows; bao gồm cả chức năng cập nhật 52
- virus Vcatch Basic Sử dụng miễn phí trong các hệ điều hành Windows Bảng 2-2: Một số phần mềm quét virus 2.3.4. Sử dụng chữ ký số cho các tệp điều khiển và tệp hệ thống Trong Windows 2000, Windows XP Professional và Windows Server 2003, rất nhiều tệp hệ thống và trình điều khiển thiết bị đã được gắn chữ ký số. Điều này giúp bảo vệ các tệp cũ không bị ghi đè bởi các tệp mới. Một ưu điểm nữa của việc dùng chữ ký số là bảo đảm tính an toàn của hệ thống bằng cách chỉ cho phép sử dụng các tệp hệ thống và các trình điều khiển thiết bị đã được xác nhận bởi Microsoft. Khi một tệp hệ thống hoặc tệp thiết bị được xác nhận bởi Microsoft, thì một chữ ký duy nhất do Microsoft cấp sẽ được gắn vào tệp đó, đây được gọi là quá trình ký. Sau khi cài đặt Windows 2000, Windows XP Professional hoặc Windows Server 2003, ta có thể đặt chế độ cảnh báo khi một trình điều khiển thiết bị không được ký, hoặc chế độ bỏ qua, không cần quan tâm nó có được ký hay không. Chế độ cảnh báo được gán mặc định, do đó nếu trình điều khiển thiết bị mà ta cài đặt chưa được ký, thì hệ thống sẽ đưa ra thông báo, nhưng ta vẫn có thể quyết định có cài đặt trình điều khiển thiết bị đó hay không. Khi thiết lập hệ thống yêu cầu sử dụng chữ ký số cho các tệp hệ thống và trình điều khiển thiết bị, có 2 cơ chế bảo vệ được thiết lập, đó là: - Mỗi khi cài đặt một tệp hệ thống hoặc một trình điều khiển thiết bị mới, thì hệ điều hành sẽ kiểm tra xem nó đã được ký hay chưa. - Nếu vì một lý do gì đó (ví dụ do virus) mà một tệp hệ thống hay một trình điều khiển thiết bị lỗi, thì khi hệ điều hành khởi động lại, nó sẽ thay thế tệp đó bằn một phiên bản chạy tốt (last known good) được lưu giữ trong thư mục hệ thống sao lưu dự phòng. 53
- 2.3.5. Sao lưu hệ thống và tạo các đĩa sửa chữa Sao lưu dự phòng hệ thống là rất quan trọng để bảo vệ hệ thống do lỗi đĩa, mất mát dữ liệu hay do phần mềm phá hoại. Nếu ta sao lưu dữ liệu mà sau đó hệ thống bị nhiễm một mã độc phá hoại các hay xoá các tệp, thì ta có thể khôi phục lại được các tệp đó hay toàn bộ hệ thống. Tất cả các hệ điều hành được đề cập trong giáo trình này đều có các cơ chế sao lưu dự phòng. Ngoài việc sao lưu dự phòng, một số hệ điều hành còn cho phép ta tạo một đĩa khởi động (boot disk) hoặc một đĩa khôi phục (repair disk) để dùng trong các trường hợp một tệp hệ thống nào đó bị xung đột và hệ thống không thống không thể khởi động được. Những đĩa này giúp ta khởi động máy tính bằng các tệp của hệ điều hành từ đĩa mềm hoặc đĩa CD, hoặc sử dụng đĩa khôi phục để khôi phục lại các tệp hệ thống. * Tạo đĩa khôi phục khẩn cấp trong Windows 2000: Sau khi cài đặt Windows 2000 Server hoặc Windows 2000 Professional, ta có thể tạo một đĩa khôi phục khẩn cấp (emergency repair disk - ERD) để sửa các lỗi phát sinh cho hệ thống, ví dụ xung đột các tệp hệ thống. Hãy lên kế hoạch tạo đĩa khôi phục khẩn cấp mỗi khi ta cài đặt một phần mềm mới, thay đổi cấu hình hệ thống, cài đặt một card mới, phân vùng lại ổ đĩa hay nâng cấp hệ điều hành. Ta có thể tạo mới hoặc cập nhật ERD bất cứ lúc nào sau khi cài đặt Windows 2000 Server bằng cách khởi động Backup Wizard và kích chọn nút Emergency Repair Disk, các bước thực hiện như sau: 1. Chọn Start Programs Accessories System Tools rồi kích chọn Backup. 2. Đưa đĩa mềm đã được định dạng vào ổ đĩa mềm. 3. Kích chọn Emergency Disk và kích chọn OK. 4. Kích chọn OK một lần nữa và đóng cửa sổ Backup lại. 54
- Để sử dụng đĩa khôi phục khẩn cấp, thực hiện các bước sau: 1. Nếu máy tính hỗ trợ khởi động từ đĩa CD-ROM Windows 2000 Server thì đưa nó vào ổ đĩa. Nếu không, đưa đĩa mềm Windows 2000 có dán nhãn Setup Disk 1 và khởi động từ nó. 2. Shutdown và tắt máy. 3. Bật máy tính, và chọn chức năng khởi động từ đĩa CD hoặc đĩa mềm. Nếu khởi động từ đĩa mềm, hãy làm theo hướng dẫn trên màn hình để đưa đĩa 2 vào ổ đĩa. 4. Trên màn hình Welcome to Setup, ấn phím R để khôi phục. 5. Trên màn hình tiếp theo, ấn phím R một lần nữa để sử dụng đĩa khôi phục khẩn cấp để thực hiện khôi phục. 6. Đưa đĩa khôi phục khẩn cấp vào ổ đĩa. 7. Có 2 tuỳ chọn ta có thể theo: một là ấn phím M để ta có thể tự chọn các tuỳ chọn khôi phục; hoặc ấn phím F để thực hiện tất cả các tuỳ chọn khôi phục. 8. Sau khi đã chọn xong, theo các chỉ dẫn trên màn hình để sửa lỗi. 9. Khởi động lại máy tính. Tạo bộ khôi phục hệ thống tự động Đối vói các máy tính chạy Windows XP Professional hoặc Windows Server 2003, ta có thể tạo một bộ khôi phục hệ thống tự động (Automated System Recovery – ASR) để sử dụng trong các trường hợp hệ thống bị lỗi. Bộ ASR bao gồm 2 thành phần: một bản lưu tất cả các tệp hệ thống (khoảng trên 1,5 MB) và một bản lưu các cấu hình cài đặt hệ thống (khoảng 1,44 MB). ASR không sao lưu các tệp dữ liệu ứng dụng. Ta có thể tạo mọt bộ ASR mới mỗi khi thay đổi cấu hình hệ thống như thêm một giao thức hoặc cài đặt một trình điều khiển thiết bị mới cho giao diện mạng chẳng hạn. Ta có thể sử dụng chương trình Backup trong 55
- Windows XP Professional và Windows Server 2003 để tạo một bộ ASR, các bước tạo được thực hiện như sau: 1. Chọn Start Programs Accessories System Tools rồi kích chọn Backup. 2. Khi xuất hiện Backup (hoặc Restore) Wizard, kích chọn liên kết Advanced Mode. 3. Kích chọn nút Automated System Recovery Wizard. 4. Khi Automated System Recovery Preparation xuất hiện, kích nút Next. Thay đổi đường dẫn tới ổ đĩa CD-R hoặc băng từ mà ta sử dụng. Hãy đưa đĩa CD-R hoặc băng từ vào ổ đĩa. 5. Kích chọn Next. 6. Kích chọn Finish để ghi dữ liệu dự phòng vào đĩa CD-R hoặc băng từ. 7. Ta sẽ thấy hộp thông tin về Automated System Recovery và sau đó là hộp thoại hiển thị quá trình copy các tệp. 8. Khi có yêu cầu, đưa đĩa mềm trắng đã định dạng vào ổ và kích OK. 9. Bỏ đĩa mềm, đĩa CD-R hoặc băng từ ra khỏi ổ rồi kích OK. 10. Đóng cửa sổ Backup. Khi cần sử dụng ASR để khôi phục dữ liệu, thực hiện các bước sau: 1. Đưa đĩa CD cài đặt hệ điều hành vào ổ đĩa. 2. Khởi động lại máy tính. 3. Khi màn hình hiển thị tuỳ chọn sử dụng ASR, ấn phím F2 khi bắt đầu quá trình cài đặt. 4. Đưa đĩa chứa ASR vào ổ đĩa. 5. Theo các chỉ dẫn trên màn hình để sửa lỗi. Tạo đĩa khởi động trong Red Hat Linux 56
- Ta có thể tạo một đĩa khởi động trong Red Hat Linux để khởi động hệ điều hành từ đĩa mềm trong trường hợp một tệp hệ thống bị lỗi. Ta có thể tạo đĩa khởi động ở bước cuối cùng khi cài đặt hệ điều hành hoặc sử dụng lệnh dòng mkbootdisk. Các bước thực hiện như sau: 1. Đăng nhập với khoản mục root hoặc sử dụng lệnh su để chuyển sang tư cách người dùng root. 2. Trên cửa sổ dòng lệnh, gõ cd /lib/modules và ấn Enter để chuyển vào thư mục modules. 3. Gõ uname -r và ấn Enter để xem số hiệu phiên bản của kernel. 4. Đưa đĩa mềm vào ổ. 5. Gõ lệnh mkbootdisk –device /dev/fd0 và ấn Enter. 2.3.6. Tạo và cài đặt các chính sách của tổ chức Các tổ chức có thể bảo vệ hệ thống của họ bằng cách ban hành các chính sách sử dụng các hệ thống máy tính. Một phương pháp hiệu quả nhất để bảo vệ là đào tạo người dùng thông qua các chính sách của tổ chức. Một số tổ chức thành lập các uỷ ban an toàn máy tính thực hiện ban hành các hướng dẫn an toàn. Các tổ chức khác thì lại đào tạo người dùng rồi mới phát triển các chính sách dựa trên những nội dung đào tạo. Các chính sách của hệ thống có tác dụng tốt nhất khi người dùng được tham gia vào xây dựng chúng, làm cho họ biết rõ được tầm quan trọng của an toàn. Đào tạo và cho người dùng tham gia vào uỷ ban chính sách an toàn là 2 cách để bảo đảm rằng người dùng cảm thấy chính bản thân họ là những nhân tố trong việc xây dựng hệ thống an toàn mạnh. Một ưu điểm của việc gắn người dùng theo cách này là nếu người dùng hiểu được bản chất của các mối đe doạ về an toàn, họ sẽ không làm trái các nỗ lực bảo đảm an toàn. Con người chính là điểm yếu dễ tấn công nhất trong một tổ chức. Những kẻ tấn công sẽ vận dụng tất cả các kỹ năng giao tiếp 57
- xã hội, đặc biệt là thông qua e-mail và trojan horse để lợi dụng những sơ hở của người dùng. Kỹ năng giao tiếp xã hội (social engineering), liên quan đến các tấn công trong máy tính, đề cập đến việc sử dụng mối tương tác giữa con người để giành quyền truy nhập vào một hệ thống hoặc phá hoại hệ thống. Những mối tương tác này có thể là gửi một e-mail có tiêu đề hấp dẫn hoặc chứa một tệp đính kèm trông có vẻ lôi cuốn. Những tương tác này có thể là thực hiện những cuộc điện thoại giả mạo - để thu thập các thông tin giúp người gọi có thể truy nhập vào khoản mục của người dùng chẳng hạn. Các tổ chức có thể tự bảo vệ họ trước những kỹ năng giao tiếp xã hội như vậy bằng cách cảnh báo người dùng phải cảnh giác, tránh sơ hở để bảo vệ các hệ thống và mạng. Một chính sách của một tổ chức có thể tập trung vào một số vấn đề sau: - Đào tạo cho người dùng về các kỹ thuật an toàn. - Đào tạo cho người dùng về các phần mềm phá hoại. - Yêu cầu người dùng phải quét các ổ đĩa mềm, đĩa CD bằng các phần mềm quét virus trước khi sử dụng chúng. - Thiết lập các chính sách quy định những phương tiện nào từ bên ngoài có thể mang được vào hệ thống và cách sử dụng chúng như thế nào. - Thiết lập các chính sách để ngăn chặn người dùng tự cài đặt các phần mềm riêng của họ. - Thiết lập các chính sách để giảm thiểu hoặc ngăn chặn người dùng tải về các tệp và yêu cầu người dùng phải quét virus đối với các tệp này. - Tạo một vùng riêng để người dùng cách ly các tệp có nguồn gốc không rõ ràng để quét chúng trước khi sử dụng. - Quét virus trên e-mail và trên các tệp đính kèm. - Loại bỏ các tệp đính kèm từ e-mail lạ hoặc không tin cậy. 58