BẢO MẬT TRONG THƯƠNG MẠI ĐIỆN TỬ Tổng quan về những vấn đề bảo mật trực tuyến 1.1.1 Máy tính và bảo mật Hơn 50 năm trước, bảo mật máy tính trong thương mại được thực hiện bằng cách áp dụng các điều khiển vật lý lên quyền truy cập vào máy (bảo mật vật lý), ví dụ như sử dụng cửa báo động, chắn bảo vệ, thẻ an ninh, camera giám sát. Tương tác giữa con người và máy tính lúc đó chỉ giới hạn tại vị trí đặt các thiết bị đầu cuối. Các thiết bị này không có khả năng xử lý hoặc lưu trữ dữ liệu nội bộ cũng như không có kết nối mạng đến các máy tính khác (có một số rất ít mạng máy tính tồn tại và phạm vi mạng không vượt quá cơ quan/tổ chức sở hữu nó). Bảo mật máy tính chỉ tập trung đối phó với số ít những người có quyền truy cập vào thiết bị đầu cuối hoặc truy cập vật lý vào phòng máy tính. Hiện nay, số lượng người dùng máy tính và phương pháp sử dụng để truy cập vào các tài nguyên máy tính tăng lên rất nhiều. Hàng triệu người bây giờ có khả năng tận dụng sức mạnh tính toán trên các mạng kết nối hàng triệu máy tính với nhau. Xác định ai đang sử dụng tài nguyên tính toán là công việc không hề đơn giản (ví dụ: một người dùng tại Việt Nam có thể đang sử dụng một máy tính đặt tại Úc). Các công cụ và phương pháp bảo mật mới được phát triển và đưa vào sử dụng để bảo vệ các máy tính và tài nguyên điện tử mà chúng lưu trữ. Nhu cầu về bảo mật và các phương pháp tự động mới nhằm đối phó với các mối đe dọa bảo mật ngày càng trở nên cấp thiết khi các thông tin có giá trị như hóa đơn điện tử, đơn đặt hàng, xác nhận đặt hàng, dữ liệu thanh toán được truyền trên mạng. Vào những năm 70 của thế kỉ 20, Bộ quốc phòng Mỹ thành lập Hội đồng soạn thảo Cẩm nang bảo mật máy tính: Hướng dẫn sử dụng thông tin được phân loại trong máy tính. Hội đồng đã thảo ra Các tiêu chí đánh giá một hệ thống máy tính tin cậy, bao gồm các quy tắc bắt buộc trong điều khiển truy cập như (1) phân lớp các thông tin truy cập thành thông tin cần chứng thực quyền, thông tin mật và thông tin tuyệt mật và (2) thiết lập các tiêu chí phân lớp cấp độ tin cậy (từ D tới A1) cho một máy tính truy cập. Sản phẩm này của Bộ quốc phòng Mỹ là cơ sở cho việc nghiên cứu bảo mật thương mại điện tử. Ngày nay, các nghiên cứu đã cho ra các sản phẩm bảo mật thương mại và các kỹ thuật bảo mật thực tiễn, hỗ trợ phát triển các phương pháp hình thức để phân tích và đánh giá bảo mật, bao gồm cả việc đánh giá và quản lý rủi ro một cách tường minh. 1.1.2 Bảo mật máy tính và quản lý rủi ro Bảo mật máy tính là việc bảo vệ tài sản khỏi những truy cập, sử dụng, thay đổi, hoặc phá hủy trái phép. Có hai loại bảo mật: bảo mật vật lý và bảo mật luận lý. Bảo mật vật lý bao gồm các thiết bị bảo vệ hữu hình như chuông báo động, chắn bảo vệ, cửa chống cháy, hàng rào an ninh, két hoặc hầm, và các tòa nhà chống bom. Bảo mật luận lý là việc bảo vệ tài sản sử dụng phương tiện phi vật thể. Hành động hoặc đối tượng bất kỳ gây ra nguy hiểm cho máy tính được gọi là mối đe dọa. Biện pháp đối phó là tên gọi chung cho các thủ tục, vật lý hoặc luận lý, có chức năng nhận diện, giảm thiểu hoặc loại bỏ các mối đe dọa. Phạm vi và chi phí của các biện pháp đối phó có thể khác nhau, tùy thuộc vào tầm quan trọng của tài sản có rủi ro. Các mối đe dọa có rủi ro thấp và ít xảy ra có thể được bỏ qua nếu chi phí để bảo vệ vượt quá giá trị của tài sản. 1.1 Hình 1 bên dưới minh họa cho mô hình quản lý rủi ro gồm 4 công việc mà một tổ chức có thể thực hiện tùy thuộc vào tác động (chi phí) và xác suất xảy ra của mối đe dọa vật lý. Xác suất cao Giữ và kiểm soát I Ngăn chặn II Tác động (chi phí) thấp Tác động (chi phí) cao III Bỏ qua IV Bảo hiểm hoặc kế hoạch dự phòng Hình 1: Mô hình quản lý rủi ro Mô hình quản lý rủi to tương tự được áp dụng để bảo vệ Internet và tài sản thương mại điện tử khỏi các mối đe dọa vật lý và luận lý (giả mạo, nghe trộm, trộm cắp). Nghe trộm ở đây được hiểu là một người hoặc thiết bị có thể nghe hoặc sao chép trên đường truyền Internet. Những người viết chương trình hoặc thực hiện các thao tác kỹ thuật để lấy quyền truy cập trái phép vào máy tính và mạng được gọi là cracker hoặc hacker. Cracker là những người có tay nghề kỹ thuật, vận dụng các kỹ năng để lấy quyền truy cập trái phép vào hệ thống máy tính hoặc mạng, thường với mục đích đánh cắp thông tin, làm hỏng thông tin, phá hủy phần mềm hoặc phần cứng hệ thống. Hacker là một thuật ngữ được sử dụng trước đây với nghĩa tích cực nhằm chỉ những lập trình viên thích viết các đoạn mã phức tạp để kiểm tra hạn chế (lỗ hổng) của công nghệ. Hiện nay, thuật ngữ hacker không còn sử dụng với nghĩa tích cực như trước, tuy nhiên giới chuyên môn vẫn sử dụng thuật ngữ hacker mũ trắng và hacker mũ đen để phân biệt giữa hacker tốt và hacker xấu. 1.1.3 Các thành phần của bảo mật máy tính Bảo mật máy tính là sự kết hợp của 3 đặc tính: Tính bí mật, tính toàn vẹn và tính sẵn sàng (còn gọi là từ chối dịch vụ – DoS). Tính bí mật bao gồm (1) bảo vệ nhằm chống lại việc tiết lộ dữ liệu trái phép và (2) đảm bảo tính xác thực của các nguồn dữ liệu. Tính toàn vẹn bao gồm việc ngăn chặn sửa đổi dữ liệu trái phép. Tính sẵn sàng bao gồm việc ngăn ngừa sự chậm trễ hoặc chống thoái thác dữ liệu. 1.1.4 Chính sách bảo mật và bảo mật tích hợp Để bảo vệ tài sản thương mại điện tử, các doanh nghiệp phải xây dựng cho mình chính sách bảo mật. Chính sách bảo mật là một văn bản mô tả các tài sản phải bảo vệ, lý do tại sao chúng được bảo vệ, ai là người chịu trách nhiệm bảo vệ, những hành động được phép và không được phép. Chính sách bảo mật chủ yếu giải quyết các vấn đề bảo mật vật lý, bảo mật mạng, cấp quyền truy cập, phòng chống virus và khôi phục sau thảm họa. Chính sách này phát triển theo thời gian, được công ty và chuyên viên bảo mật xem xét và cập nhật đều đặn. Khác với thông tin trong lĩnh vực an ninh quốc phòng thường được chia phân thành nhiều mức bảo mật khác nhau, thông tin của một công ty thường chỉ được phân thành 2 nhóm: thông tin công khai và thông tin bí mật. Chính sách bảo mật liên quan đến thông tin bí mật của công ty thường khá đơn giản: Không được tiết lộ thông tin bí mật của công ty cho người ngoài. Các công ty thường sử dụng quy trình 5 bước sau đây để hiện thực chính sách bảo mật: 1. Xác định tài sản nào cần được bảo vệ khỏi mối đe dọa nào. Ví dụ: Số thẻ tín dụng, thông tin tài khoản, thông tin chủ thẻ… 2. Xác định ai có quyền truy cập vào các phần khác nhau của hệ thống hoặc truy xuất vào các thông tin cụ thể. Trong nhiều trường hợp, người dùng cần truy cập vào một số bộ phận trong hệ thống là người bên ngoài tổ chức, ví dụ các nhà cung cấp, khách hàng và đối tác chiến lược... 3. Xác định các nguồn lực sẵn có hoặc cần có để bảo vệ thông tin và vẫn đảm bảo quyền truy cập cho những người cần nó. 4. Sử dụng các thông tin thu thập được trong 3 bước đầu tiên, tổ chức phát triển thành một chính sách bảo mật bằng văn bản. 5. Sau khi có chính sách bằng văn bản, tổ chức xác định các nguồn lực để xây dựng hoặc mua phần mềm, phần cứng và các rào cản vật lý nhằm hiện thực chính sách bảo mật. Ví dụ, nếu chính sách bảo mật không cho phép truy cập trái phép thông tin của khách hàng (như số thẻ tín dụng hoặc lịch sử tín dụng), tổ chức phải tự hiện thực hoặc mua phần mềm nhằm đảm bảo bí mật từ đầu đến cuối cho khách hàng thương mại điện tử. Chính sách bảo mật toàn diện hướng đến các mục tiêu bảo vệ tính riêng tư, tính toàn vẹn, tính sẵn sàng của hệ thống và xác thực người dùng. Tuy nhiên, khi xây dựng chính sách bảo mật cụ thể, các mục tiêu cần được lựa chọn nhằm thỏa mãn các yêu cầu của mức bảo mật tối thiểu – mức bảo mật có thể chấp nhận được cho hầu hết các hoạt động thương mại điện tử, bao gồm các yêu cầu sau: Tính riêng tư: ngăn chặn những người không có quyền đọc các thông điệp và kế hoạch kinh doanh, lấy được số thẻ tín dụng hoặc có được thông tin dẫn xuất (những thông tin bí mật được suy luận từ các thông tin hiện có). Tính toàn vẹn: đính kèm thông tin trong phong bì số để máy tính có thể tự động phát hiện những thông điệp bị thay đổi trong quá trình truyền. Tính sẵn sàng: cung cấp sự đảm bảo trong việc phân phát các đoạn thông điệp, tránh việc không phát hiện được các thông điệp bị mất. Quản lý khóa bảo mật: phân phối và quản lý an toàn các khóa bảo mật. Chống thoái thác: Cung cấp bằng chứng không thể chối cãi, từ đầu đến cuối của mỗi thông điệp gốc và thông điệp nhận được hay nói cách khác, đó là khả năng ngăn chặn việc từ chối một hành vi đã làm. Xác thực (người dùng): Nhận dạng bảo mật các máy khách và máy chủ bằng các chữ ký và chứng thực số. Bảo mật tích hợp là việc kết hợp các biện pháp bảo mật nhằm chống lại các hành vi tiết lộ, phá hủy, sửa đổi trái phép thông tin. Chính sách bảo mật cụ thể bao gồm nhiều mối quan tâm cần được giải quyết bằng kế hoạch bảo mật toàn diện và bảo mật tích hợp. Các thành phần cụ thể của chính sách bảo mật giải quyết các điểm sau đây: (1) Xác thực - Ai đang cố gắng truy cập vào trang web? (2) Điều khiển truy cập - Ai được cho phép đăng nhập và truy cập trang web? (3) Bí mật - Ai được cho phép xem các thông tin được chọn? (4) Toàn vẹn dữ liệu - Ai được phép thay đổi dữ liệu? (5) Kiểm toán bảo mật thông tin - Ai hoặc điều gì gây ra sự kiện cụ thể, và xảy ra khi nào? 1.2 Bảo mật cho máy khách 1.2.1 Cookies Các cookie là những tập tin văn bản nhỏ mà máy chủ web đặt trên máy khách để định danh người dùng trong lần đăng nhập sau. Các cookie cũng cho phép các máy chủ Web duy trì tiếp tục các phiên làm việc mở với các máy khách. Điều này thực sự cần thiết để thực hiện các công việc quan trọng trong hoạt động kinh doanh trực tuyến như giỏ hàng, xử lý thanh toán. Trước đó, các cookie được tạo ra như một cách để duy trì một phiên mở bất chấp bản chất phi trạng thái (các quá trình truyền nhận dữ liệu là độc lập, xử lý lần sau không liên quan/không lưu trữ thông tin của xử lý trước đó) của các kết nối Internet. Có 2 cách phân loại cookie: theo thời gian và theo nguồn gốc. Phân loại theo thời gian, cookie bao gồm 2 loại (1) session cookie – cookie tồn tại cho đến khi máy khách kết thúc kết nối (hoặc phiên làm việc), và (2) persistent cookie – cookie tồn tại không hạn định trên máy khách. Trang web thương mại điện tử sử dụng cả hai loại cookie này, ví dụ, một session cookie chứa các thông tin về một lần mua sắm cụ thể và một persistent cookie chứa thông tin đăng nhập giúp trang Web nhận ra người dùng khi họ quay trở lại vào những lần sau. Phân loại theo nguồn, cookie bao gồm (1) cookie bên thứ nhất – cookie do các máy chủ web đặt trên máy khách và (2) cookie bên thứ ba – cookie do một trang web khác (không phải máy chủ) đặt trên máy khách. Những trang Web của bên thứ ba thường cung cấp quảng cáo hoặc những nội dung khác được xuất hiện trên trang web đang được hiển thị. Nếu các trang Web này đặt quảng cáo trên nhiều trang Web khác, nó có thể sử dụng các cookie dài hạn để theo dấu người dùng từ trang này đến trang khác. Cách tốt nhất để người sử dụng web bảo vệ mình khỏi việc lộ thông tin cá nhân hoặc bị theo dấu bởi các cookie là vô hiệu hóa chúng hoàn toàn. Tuy nhiên, biện pháp này có nhược điểm là những cookie hữu ích cũng sẽ bị khóa, người dùng do đó phải nhập lại thông tin mỗi khi quay trở lại trang web. Khi sử dụng Internet, người dùng có thể tích lũy một lượng lớn các cookie trên máy tính. Hầu hết các trình duyệt Web đều có các thiết lập cho phép người dùng từ chối các cookie bên thứ ba hoặc xem xét các cookie trước khi chấp nhận. Hình 2 cho thấy hộp thoại quản lý các cookie của trình duyệt Chrome. Hình 2: Hộp thoại quản lý các cookie của trình duyệt Chrome 1.2.2 Web Bugs Các web bug là một hình ảnh nhỏ do trang web bên thứ ba đặt trên trang web khác. Khi người sử dụng tải trang web, Web bug được cung cấp bởi bên thứ ba có thể đặt các cookie lên máy tính của người sử dụng. Cộng đồng quảng cáo Internet gọi Web bug là các “clear GIF” hoặc “1-by-1 GIF” vì chúng có định dạng GIF, có màu trong suốt (giá trị màu là “transparent”) và có kích thước 1x1 điểm ảnh (pixel). 1.2.3 Active content Active content là những chương trình được nhúng một cách minh bạch trong các trang web và làm kích hoạt các tác vụ. Ví dụ, active content có thể hiển thị đồ họa chuyển động, tải về và chạy các tập tin âm thanh, hoặc hiện thực các chương trình bảng tính dựa trên Web. Active content được sử dụng trong thương mại điện tử để đưa các sản phẩm vào giỏ hàng, tính tiền cho đơn hàng, bao gồm thuế doanh thu, chi phí xử lý và vận chuyển. Các nhà phát triển phần mềm sử dụng active content vì nó mở rộng các chức năng của HTML và chuyển một số công việc xử lý dữ liệu từ máy chủ sang máy tính của người dùng. Tuy nhiên, vì active content là các chương trình chạy trên máy tính của người dùng nên active content có thể gây hại cho máy tính của họ. Rõ ràng, active content đặt ra các mối đe dọa bảo mật đối với máy tính của người dùng. Các hình thức chủ yếu của active content bao gồm cookies, Java applets, JavaScript, VBScriptvà ActiveX controls. Các cách khác để cung cấp active content trên Web bao gồm đồ họa, Plug-in của trình duyệt web và tập tin đính kèm của thư điện tử. Các mô-đun active content được nhúng vào trong các trang web nên chúng hoàn toàn vô hình đối với người dùng khi họ truy cập vào trang web chứa chúng. Các cracker có ý định xấu có thể nhúng các active content có mã độc vào các trang web dường như vô hại này. Kỹ thuật này gọi là Trojan horse. Trojan horse là một chương trình ẩn bên trong một chương trình hoặc một trang web khác nhằm che giấu mục đích thật sự của chúng. Trojan horse có thể “rình mò” máy tính của người dùng và gửi các thông tin bí mật về cho một máy chủ cộng tác – vi phạm tính bí mật. Chương trình cũng có thể thay đổi hoặc xóa thông tin trên máy khách – vi phạm tính toàn vẹn. Các zoobie cũng gây ra các mối đe dọa tương tự. Zoobie là một Trojan horse bí mật giành quyền kiểm soát một máy tính khác với mục đích phát động các cuộc tấn công vào các máy tính. Khi một Trojan horse hay một loại virus khác có quyền kiểm soát một số lượng lớn các máy tính (biến chúng thành các zombie), kẻ đã cấy các virus có thể kiểm soát tất cả các máy tính và hình thành một botnet; các bonet này có thể hoạt động như một đơn vị tấn công, gửi thư rác hoặc phát động tấn công từ chối dịch vụ nhắm đến các trang web cụ thể. 1.2.4 Java Applets Java là ngôn ngữ lập trình được phát triển bởi Sun Microsystems và hiện được sử dụng rộng rãi trong các trang web để cung cấp active content. Web server gửi các Java applet cùng với các trang Web được yêu cầu bởi Web client. Thông thường, các thao tác của Java applet sẽ được hiển thị đối với người dùng truy cập trang web, tuy nhiên, Java applet cũng có thể thực hiện các chức năng mà người sử dụng web không nhận thấy (như đọc, viết và xóa các tập tin trên máy tính của người dùng). Máy khách sẽ chạy các chương trình trong trình duyệt Web của nó. Java cũng có thể chạy ngoài phạm vi của một trình duyệt Web. Java có tính độc lập nền, nghĩa là nó có thể chạy trên nhiều máy tính khác nhau. Java bổ sung chức năng cho các ứng dụng kinh doanh và cho phép xử lý nhiều giao dịch và tác vụ khác nhau trên máy khách. Điều này giúp giải phóng máy chủ khỏi việc xử lý hàng ngàn giao dịch cùng một lúc. Sau khi tải về, mã Java được nhúng có thể chạy trên máy tính của người dùng (chạy Trojan horse, hoặc biến máy tính thành zombie) và làm hỏng máy tính. Để chống lại mối đe dọa này, mô hình bảo mật Java Sandbox đã được phát triển. Java Sandbox giới hạn các hoạt động của Java applet bằng một tập các quy tắc được định nghĩa bởi mô hình bảo mật. Các quy tắc này được áp dụng đối với tất cả các Java applet không đáng tin cậy, nghĩa là những applet chưa được thiết lập an toàn. Khi các Java applet hoạt động chịu sự ràng buộc của sandbox, chúng không có toàn quyền truy cập vào máy khách. Ví dụ, các Java applet hoạt động trong sandbox không thể thực hiện các hoạt động nhập, xuất, hoặc xóa tập tin, do vậyngăn ngừa sự vi phạm tính bí mật (tiết lộ) và vi phạm tính toàn vẹn (xóa hoặc sửa đổi). 1.2.5 JavaScript JavaScript là một ngôn ngữ kịch bản được phát triển bởi Netscape cho phép các nhà thiết kế web xây dựng active content. Mặc dù tên gọi có vẻ tương tự song JavaScript và Java không thực sự liên quan với nhau. Javascript được hỗ trợ bởi các trình duyệt Web phổ biến và có nhiều cấu trúc tương tự như ngôn ngữ Java hoàn chỉnh. Khi người dùng tải về một trang Web được nhúng mã JavaScript, mã Javascript này sẽ được thực thi trên máy tính của người dùng. Giống như các hình thức hỗ trợ active content khác, JavaScript có thể được sử dụng với mục đích tấn công máy khách bằng cách thực thi các đoạn mã phá hủy đĩa cứng, tiết lộ e-mail được lưu trữ trong các hộp thư của khách hàng hoặc gửi thông tin nhạy cảm đến máy chủ Web của kẻ tấn công. Mã JavaScript cũng có thể ghi lại URL của các trang Web mà người dùng truy cập và nắm bắt thông tin được nhập vào các form điền thông tin trên Web. Ví dụ: nếu người dùng nhập số thẻ tín dụng trong khi thanh toán mua hàng, một chương trình JavaScript có thể sao chép số thẻ tín dụng. Không giống như các Java applet, các chương trình JavaScript không tự nó hoạt động. Để kích hoạt một chương trình JavaScript có chủ ý xấu, người dùng phải khởi chạy chương trình đó. Ví dụ, trang web có tính toán thu nhập hưu trí có thể yêu cầu khách truy cập nhấp vào một nút để xem bản dự toán thu nhập hưu trí. Sau khi người dùng nhấp vào nút, chương trình JavaScript bắt đầu thực hiện hoạt động của nó. 1.2.6 Các điều khiển ActiveX Điều khiển ActiveX là một đối tượng chứa các chương trình và thuộc tính do các nhà thiết kế Web đặt trên trang Web để thực hiện các tác vụ cụ thể. Các thành phần ActiveX có thể được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau, phổ biến nhất là C++ và Visual Basic. Không giống mã Java hoặc JavaScript, điều khiển ActiveX chỉ chạy trên các máy tính có hệ điều hành Windows. Khi trình duyệt Web nền Windows tải xuống một trang Web được nhúng điều khiển ActiveX, điều khiển được thực thi trên trên máy khách. Các điều khiển ActiveX khác bao gồm các điều khiển lịch trên Web (Web-enabled calendar control) và các trò chơi trên Web (Web games). Trang ActiveX tại Download.com có một danh sách đầy đủ các điều khiển ActiveX. Các nguy cơ bảo mật đối với điều khiển ActiveX là một khi được tải về, chúng sẽ được thực thi như bất kỳ chương trình nào khác trên máy khách. Chúng có toàn quyền truy cập vào tất cả nguồn tài nguyên của hệ thống, bao gồm cả mã hệ điều hành. Một điều khiển ActiveX có ý đồ xấu có thể định dạng lại ổ cứng của người dùng, thay đổi tên hoặc xóa các tập tin, gửi thư điện tử đến tất cả những người được liệt kê trong sổ địa chỉ (address book) của người dùng, hoặc đơn giản là tắt máy tính. Bởi vì các điều khiển ActiveX có toàn quyền truy cập vào máy khách, chúng có thể gây ra các vi phạm về tính bí mật, tính toàn vẹn, hoặc tính sẵn sàng. Hoạt động của điều khiển ActiveX không thể dừng lại một khi chúng đã bắt đầu thực thi. Đa số các trình duyệt Web có thể được cấu hình để hiển thị một thông báo khi trang Web cố gắng tải về và cài đặt một điều khiển ActiveX (hoặc phần mềm khác). 1.2.7 Đồ họa và Plug-in Đồ họa, Plug-in trình duyệt, và cả đính kèm thư điện tử có thể chứa nội dung thực thi. Một số các tập tin đồ họa có định dạng được thiết kế đặc biệt để chứa các hướng dẫn kết xuất đồ họa. Điều này có nghĩa là trang Web bất kỳ chứa đồ họa có thể là mối đe dọa bởi các đoạn mã được nhúng trong đồ họa có thể gây hại cho máy tính. Tương tự, các plug-in trình duyệt, là những chương trình tăng cường khả năng của trình duyệt, sẽ xử lý các nội dung Web mà trình duyệt không thể xử lý. Các plug-in thường có lợi và thực hiện các tác vụ cho trình duyệt như phát một đoạn âm thanh, trình chiếu đoạn phim hoặc đồ họa động. Các plug-in cũng có thể tạo ra các mối đe dọa bảo mật đối với máy tính. Người dùng tải về các chương trình plugin và cài đặt chúng để trình duyệt có thể hiển thị nội dung không chứa được trong các thẻ HTML (HTML tags). Các plugin phổ biến là Flash Player của Adobe’s Macromedia, QuickTime Player của Apple, Silverlight của Microsoft và RealPlayer của RealNetwork. Nhiều plug-in thực thi các lệnh ẩn bên trong hình ảnh, đoạn âm thanh hoặc video đang chạy. Các đoạn mã tấn công được nhúng trong các video hoặc đoạn âm thanh dường như vô hại, sau đó được thực thi bởi các plug-in và làm hại máy tính bằng cách xóa đi một vài (hoặc tất cả) tập tin. 1.2.8 Các virus, worm và phần mềm chống virus Các virus và worm Virus là phần mềm được gắn vào một chương trình khác (chương trình chủ) và có thể gây hại khi chương trình chủ được kích hoạt. Worm là một loại virus có thể tự nhân bản trên máy tính mà nó lây nhiễm. Worm có thể lan truyền nhanh chóng trên Internet. Macro virus là một loại virus được lập trình dưới dạng một chương trình nhỏ, gọi là macro, và được nhúng trong một tập tin. Mặc dù lịch sử của virus được gửi qua thư điện tử bắt đầu từ những năm 1980, nhưng virus đầu tiên nhận được mối quan tâm của các phương tiện truyền thông là virus ILOVEYOU, còn được gọi là "love bug" và các biến thể của nó vào năm 2000. Virus này lây lan qua Internet với tốc độ kinh ngạc dưới dạng một tin nhắn e-mail. Nó lây nhiễm cho máy tính của bất kỳ ai mở tập tin đính kèm e-mail; các hệ thống e-mail bị tắc nghẽn với hàng ngàn bản sao của tin nhắn e-mail vô ích. Virus lây lan nhanh chóng vì nó tự động gửi chính nó đến khoảng 300 địa chỉ được lưu trữ trong sổ địa chỉ Microsoft Outlook của máy tính. Bên cạnh việc bản sao tự nhân bản nhanh chóng thông qua e-mail, virus còn gây ra các thiệt hại khác như phá hủy các tập tin âm nhạc và hình ảnh kỹ thuật số được lưu trữ trên máy mục tiêu. Virus ILOVEYOU cũng tìm kiếm mật khẩu của người dùng và chuyển tiếp thông tin đó tới thủ phạm. Chỉ trong vài ngày, virus đã lây lan tới 40 triệu máy tính tại hơn 20 quốc gia và gây ra thiệt hại ước tính khoảng 9 tỷ đô la. Năm 2001, các vụ tấn công virus và worm gia tăng mạnh. Hai loại virus Code Red và Nimda đã làm ảnh hưởng đến hàng triệu máy tính, với hơn 40.000 vụ vi phạm bảo mật được báo cáo trong năm, cùng hàng tỷ đô la bỏ ra để dọn dẹp hậu quả. Cả Code Red và Nimda đều là những ví dụ của một loại siêu virus (multivector virus) do chúng có thể xâm nhập vào hệ thống máy tính bằng nhiều cách (vectors) khác nhau. Mặc dù Microsoft đã phát hành bản vá lỗi bảo mật nhằm chống lại Code Red, nhưng nó vẫn tiếp tục lan truyền trên Internet vào năm 2002. Cả virus Code Red nguyên thủy và biến thể gọi là Code Red 2 đã lây nhiễm hàng nghìn máy tính mới trong năm. Sự kết hợp giữa virus và worm cũng xuất hiện vào năm 2002 và 2003, bao gồm cả phiên bản của virus Code Red được gọi là Bugbear. Bugbear đã lây lan qua e-mail Microsoft Outlook của máy khách. Người nhận e-mail thậm chí không cần phải bấm vào tập tin đính kèm để chạy các mã độc - Bugbear tự khởi động thông qua một lỗ hổng bảo mật trong kết nối giữa Outlook và trình duyệt Internet Explorer. Tất nhiên, Microsoft đã phát hành một bản vá bảo mật cho trình duyệt, nhưng nhiều người dùng không cài đặt bản vá (trong nhiều trường hợp, người dùng thậm chí không biết về nó). Khi khởi động, Bugbear kiểm tra xem máy tính có đang chạy phần mềm chống virus hay không. Phần mềm chống virus phát hiện các virus và worm, xóa hoặc cô lập chúng trên máy khách để chúng không thể hoạt động. Nếu phần mềm chống virus tồn tại trên hệ thống, Bugbear cố gắng phá hủy nó. Sau đó, nó cài đặt một chương trình Trojan horse trên máy tính cho phép kẻ tấn công truy cập vào máy tính thông qua Internet và tải lên hoặc tải về các tập tin theo ý thích. Bugbear sẽ gửi các tin nhắn email với tập tin đính kèm, các tập tin đính kèm này sẽ “lây nhiễm” sang máy tính của người nhận. Nó không tạo ra các thư điện tử của riêng mình, nhưng lấy các e-mail đã được gửi trước đây trên máy tính và gửi đến cho các địa chỉ khác nhau. Người nhận thường bị lừa vì các tin nhắn email có tiêu đề bình thường và không mảy may suy nghĩ rằng e-mail có thể chứa virus. Bugbear khó bị loại bỏ khỏi máy tính bị nhiễm bởi nó đặt tên các tập tin của riêng mình một cách ngẫu nhiên; nghĩa là các tập tin virus có tên khác nhau trên mỗi máy tính bị nhiễm. Trong năm 2005 và 2006, Zotob, một kết hợp khác của Trojan horse và worm, được tung ra. Zotob quét các cổng (port) của máy tính mục tiêu và tấn công các cổng có lỗ hổng bảo mật. Zotob được thiết kế để hỗ trợ những kẻ ăn cắp dữ kiện cá nhân hoặc những kẻ xâm nhập hệ thống để thực hiện hoạt động gián điệp. Một khi Zotob đã nhiễm vào máy tính mục tiêu, nó sẽ ghi lại các thao tác bấm phím và chụp lại màn hình với mục đích đánh cắp thông tin đăng nhập, mật khẩu, và thậm chí các khóa phần mềm mà người dùng nhập vào để đăng ký và kích hoạt các chương trình mới cài đặt. Zotob có thể tạo trên máy tính mục tiêu một zombie , zombie này được sử dụng để gửi thư rác hoặc khởi động các cuộc tấn công đến các máy tính khác. Trong năm 2007, virus Storm xuất hiện. Storm xuất hiện dưới dạng một tin nhắn e-mail kể về một câu chuyện tin tức thú vị với một video clip có liên quan kèm theo như một tập tin đính kèm. Tập tin đính kèm có chứa virus, cho phép một máy tính từ xa tiếp quản các máy tính bị nhiễm và tạo thành một mạng botnet. Bắt đầu từ năm 2008 và tiếp tục vào năm 2009, một loại virus tương tự tên là Conficker đã rất thành công. Conficker được cho là đã lây nhiễm gần 10 triệu máy tính. Các nhà cung cấp phần mềm diệt virus và Microsoft đã phát hành các bản vá lỗi và các bản cập nhật diệt virus, nhưng nó tự cài đặt lại và tỏ ra khá linh hoạt. Phạm vi lây nhiễm đã gây ra mối quan tâm lớn, một số nhà cung cấp dịch vụ Internet, các công ty bảo mật máy tính và các doanh nghiệp trực tuyến đã thành lập Conficker Working Group để giám sát hoạt động của virus. Số lượng lớn các máy tính vẫn còn bị lây nhiễm đang là mối đe dọa lớn vì chúng có thể được kích hoạt từ xa bất cứ lúc nào để khởi động một cuộc tấn công lớn vào trang web bất kỳ trên thế giới. Trong năm 2009 và 2010, bắt đầu xuất hiện các loại virus mới được thiết kế đặc biệt để đánh cắp các phiên làm việc (session) ngân hàng trực tuyến của người dùng. URLzone chờ đợi trên máy tính bị nhiễm cho đến khi người dùng đăng nhập vào tài khoản tại một trong những tổ chức tài chính mà virus đã được lập trình để nhận biết. Virus truy cập vào tài khoản ngân hàng cùng lúc với nạn nhân và chuyển tiền từ tài khoản của nạn nhân sang các tài khoản của đồng phạm; các tên đồng phạm này sử dụng một phần tiền để mua hàng hoá và chuyển đến một địa chỉ nước ngoài, tại đây kẻ thủ phạm bán hàng hoá và biến mất. Clampi là một loại virus ngân hàng trực tuyến tương tự đã lây nhiễm cho máy tính trong nhiều năm, nhưng chỉ bắt đầu hoạt động trong năm 2009. Clampi được cho là đã nhận diện hơn 4.000 đăng nhập vào các ngân hàng và tổ chức tài chính khác nhau. Mới đây nhất, trong năm 2017, các phương tiện truyền thông thế giới liên tục đưa tin về một loại virus có tên là Wanny Cry. Ransomware nói chung và virus Wanna Cry nói riêng là một hình thức tấn công mạng liên quan đến việc các hacker chiếm quyền kiểm soát máy tính, khiến người dùng không thể truy cập cho đến khi trả tiền chuộc. Cũng chính vì đặc điểm này, ransomware thường được gọi là mã độc tống tiền. Các hacker đơn giản là muốn kiếm tiền từ nạn nhân chứ không có lý do nào khác. Các hacker truy cập được máy tính trong trường hợp nạn nhân tải nhầm một tài liệu hoặc phần mềm đã bị nhiễm mã độc ransomware. Sau khi mã độc thâm nhập, nó sẽ bắt đầu quá trình mã hóa từng tập tin trong máy tính của nạn nhân. Cách thức hoạt động của ransomware Wanna Crypt (Wanna Cry) và các biến thể của mã độc tống tiền này rất đơn giản. Nó khai thác một lỗ hổng trên hệ điều hành Windows được nắm giữ bởi Cơ quan An ninh Quốc gia Mỹ (NSA) và sử dụng chính những công cụ của NSA để lây lan mã độc Wanna Cry. Tuy nhiên, mã độc này được bổ sung khả năng lây nhiễm trên các máy tính ngang hàng. Cụ thể, Wanna Cry sẽ quét toàn bộ các máy tính trong cùng mạng để tìm kiếm thiết bị chứa lỗ hổng EternalBlue của dịch vụ SMB (trên hệ điều hành Windows). Từ đó, mã độc có thể lây lan vào các máy có lỗ hổng mà không cần người dùng phải thao tác trực tiếp với file đính kèm hay link độc hại. Người dùng sẽ không biết máy tính của mình đã nhiễm Wanna Cry hay chưa cho đến khi nó tự gửi một thông báo cho biết thiết bị đã bị khóa và mọi tập tin đều bị mã hóa. Để lấy lại quyền truy cập và khôi phục dữ liệu, người dùng buộc phải trả cho hacker ít nhất 300 USD (khoảng 6,6 triệu đồng) thông qua tiền ảo Bitcoin. Phần mềm phòng chống virus Phần mềm chống virus chỉ có hiệu quả nếu các tập dữ liệu chống virus được giữ nguyên. Các tập dữ liệu chứa thông tin nhận dạng virus được sử dụng để phát hiện virus trên máy tính khách. Hàng trăm virus được tạo mới hàng tháng, người dùng do đó phải cảnh giác và cập nhật các tập dữ liệu chống virus thường xuyên để các loại virus mới nhất được nhận dạng và loại bỏ. Một số hệ thống Web e-mail, như Yahoo! Mail, cho phép người dùng quét các tập tin đính kèm bằng phần mềm chống virus trước khi tải xuống. Trong những trường hợp này, phần mềm chống virus được điều hành bởi trang Web và người dùng không cần thực hiện bất kỳ hành động nào để giữ cho phần mềm được cập nhật. 1.2.9 Các chứng nhận kỹ thuật số Chứng nhận kỹ thuật số hoặc ID kỹ thuật số là tập tin được nhúng trong trang Web và được đính kèm vào e-mail hoặc chương trình nhằm thiết lập định danh cho người gửi hoặc trang Web. Ngoài ra, chứng nhận số có thể thiết lập phương thức để gửi một thông điệp mã hóa (không ai khác có thể đọc) tới thực thể đã gửi trang Web hoặc email gốc. Trong trường hợp chương trình đã tải xuống có chứa chứng nhận số, thông điệp được mã hóa sẽ được dùng để xác định nhà xuất bản phần mềm (đảm bảo rằng định danh của nhà xuất bản phần mềm phù hợp với chứng nhận) và cho biết chứng nhận đã hết hạn hay chưa. Chứng nhận số là một thông điệp hoặc đoạn mã được ký. Mã hoặc thông điệp được ký có cùng chức năng như ảnh trên giấy phép lái xe hoặc hộ chiếu. Chúng cung cấp bằng chứng rằng chủ sở hữu là người được xác định bởi giấy chứng nhận. Giống như hộ chiếu, chứng nhận không bao hàm ý nghĩa về tính hữu dụng hoặc chất lượng của chương trình đã tải xuống. Giấy chứng nhận chỉ đảm bảo rằng phần mềm là chính hãng. Chứng nhận số được sử dụng cho nhiều loại giao dịch trực tuyến khác nhau, gồm thương mại điện tử, thư điện tử và chuyển tiền điện tử. Một ID số xác minh trang web cho người mua và, trong một vài trường hợp, xác minh người mua với trang Web. Các trình duyệt Web hoặc các chương trình e-mail tự động trao đổi chứng nhận số và vô hình khi được yêu cầu xác nhận danh tính của mỗi bên tham gia vào giao dịch. Chứng nhận số đảm bảo phần mềm đã được tạo ra bởi một công ty cụ thể. Chứng nhận số không chứng thực chất lượng của phần mềm, chỉ để nhận dạng nơi tạo ra nó. Chứng nhận số được cấp cho các tổ chức hoặc cá nhân bởi cơ quan chứng nhận (CA – Certification Author). CA yêu cầu các đơn vị đăng ký cấp chứng nhận số cung cấp bằng chứng xác thực phù hợp. Nếu yêu cầu được đáp ứng, CA sẽ cấp chứng nhận. Sau đó, CA ký vào chứng nhận, và đóng dấu phê duyệt kèm với khóa mã hóa công khai, chính là khóa dùng để mở chứng chỉ cho bất cứ ai nhận được chứng chỉ đính kèm với nơi xuất bản. Chứng nhận số khó bị giả mạo. Một chứng nhận số gồm 6 thành phần chính: 1. Thông tin định danh người sở hữu chứng nhận như tên, tổ chức, địa chỉ,… 2. Khóa mã hóa công khai của chủ sở hữu chứng nhận. 3. Khoảng thời gian chứng chỉ có hiệu lực (Từ ngày … đến ngày …) 4. Số sê-ri của chứng nhận. 5. Tên của nơi phát hành chứng nhận. 6. Chữ ký số của nơi phát hành chứng nhận. Khóa là một số nhị phân (thường có độ dài lớn) được sử dụng trong giải thuật mã hóa để “khóa” các kí tự trong thông điệp cần bảo vệ sao cho thông điệp không thể được giải mã nếu không có khóa. 1.2.10 Steganography Thuật ngữ “steganography” mô tả quá trình che dấu thông tin trong một phần thông tin khác. Thông tin này có thể được sử dụng với mục đích xấu. Thông thường, các tập tin máy tính chứa thông tin dư thừa hoặc không có ý nghĩa và có thể được thay thế bằng các thông tin khác. Thông tin khác này thường nằm ẩn bên dưới và không thể bị phát hiện nếu không có phần mềm giải mã phù hợp. Steganography cho phép ẩn một tập tin được mã hóa trong một tập tin khác sao cho người bình thường không thể phát hiện ra tập tin đó có chứa thông tin quan trọng. Trong quá trình hai bước này, mã hóa tập tin sẽ ngăn chặn việc đọc được tập tin, và steganography làm cho tập tin không thể bị nhìn thấy. Nhiều chuyên gia phân tích bảo mật cho rằng tổ chức khủng bố Al Qaeda đã sử dụng steganography để che giấu các lệnh tấn công và các thông điệp khác trong các hình ảnh do các đồng minh của chúng đăng trên các trang web để chuẩn bị cho vụ tấn công vào ngày 11 tháng 9 năm 2001. Các thông điệp ẩn bằng cách sử dụng steganography rất khó phát hiện. Thực tế này, kết hợp với việc có hàng triệu hình ảnh trên Web, làm cho việc sử dụng steganography của các tổ chức khủng bố toàn cầu trở thành mối quan ngại sâu sắc của các chính phủ và chuyên gia bảo mật. 1.2.11 Bảo mật vật lý cho các máy khách Những năm trước đây, bảo mật vật lý là mối quan tâm chính đối với các máy tính lớn có chức năng kinh doanh quan trọng như trả lương hoặc thanh toán. Tuy nhiên, từ khi mạng máy tính ra đời cho phép các chức năng kinh doanh quan trọng có thể được thực hiện trên máy khách, những lo ngại về bảo mật vật lý đối với máy khách đã trở nên lớn hơn. Nhiều biện pháp bảo mật vật lý được sử dụng hiện nay cũng giống như những biện pháp được sử dụng trước đây; tuy nhiên, một số công nghệ mới đã được hiện thực. Máy tính cá nhân bây giờ đã có các thiết bị đọc dấu vân tay. Những thiết bị này, có giá ít hơn 100 đô la, cung cấp tính bảo mật mạnh hơn nhiều so với cách tiếp cận truyền thống sử dụng mật khẩu. Ngoài các đầu đọc vân tay, các công ty có thể sử dụng các thiết bị bảo mật sinh trắc khác chính xác hơn với chi phí cao hơn. Thiết bị bảo mật sinh trắc học là một thiết bị sử dụng yếu tố sinh học của con người để thực hiện việc định danh. Các thiết bị này bao gồm màn hình tương tác để phát hiện hình dạng chữ ký và áp lực khi viết của một người, máy quét mắt đọc mô hình mạch máu trong võng mạc của một người hoặc mức độ màu trong mống mắt người và các máy quét đọc lòng bàn tay của một người (Chứ không chỉ là một dấu vân tay) hoặc đọc mô hình tĩnh mạch ở mặt sau của bàn tay. 1.3 Bảo mật kênh truyền thông 1.3.1 Các mối đe dọa tính bí mật Vi phạm tính bí mật (Secrecy) là mối đe dọa an ninh được nhắc đến nhiều nhất trên báo chí và các phương tiện thông tin đại chúng. Tính riêng tư, có mối liên hệ mật thiết với tính bí mật, cũng nhận được nhiều sự chú ý. Tính bí mật và tính riêng tư, tuy tương tự nhau nhưng là 2 vấn đề tách biệt. Tính bí mật liên quan đến việc ngăn ngừa hành động tiết lộ thông tin trái phép. Tính riêng tư là việc bảo vệ thông tin cá nhân không bị tiết lộ. Tính bí mật là một vấn đề kỹ thuật đòi hỏi những cơ chế vật lý và luận lý phức tạp, trong khi bảo vệ tính riêng tư là một vấn đề pháp lý. Một ví dụ cổ điển về sự khác biệt giữa tính bí mật và tính riêng tư là thư điện tử. Một công ty có thể sử dụng mã hóa để bảo vệ các thư điện tử khỏi các vi phạm về tính bí mật. Trong mã hóa, một thông điệp được mã hoá thành một hình thức không thể đọc mà chỉ có người nhận thích hợp mới có thể chuyển đổi trở về tin nhắn ban đầu. Các biện pháp đối phó sự vi phạm tính bí mật sẽ bảo vệ các thông điệp gửi đi. Các vấn đề tính riêng tư của e-mail liên quan đến việc có nên cho phép người quản lý của công ty được phép đọc ngẫu nhiên tin nhắn của nhân viên hay không. Tranh cãi tập trung vào việc ai là người sở hữu các tin nhắn e-mail: công ty hay nhân viên đã gửi chúng. Trọng tâm của phần này là về tính bí mật, ngăn chặn những người không được phép đọc được thông tin mà họ không nên đọc. Một mối đe dọa đáng kể đối với thương mại điện tử là việc đánh cắp thông tin nhạy cảm hoặc thông tin cá nhân, bao gồm số thẻ tín dụng, tên, địa chỉ và sở thích cá nhân. Việc đánh cắp này có thể xảy ra bất cứ lúc nào người dùng gửi thông tin trên Internet, kẻ xấu có thể ghi lại thông tin (vi phạm bí mật) từ Internet để kiểm tra sau. Vấn đề tương tự có thể xảy ra trong việc truyền e-mail. Các phần mềm ứng dụng được gọi là chương trình “đánh hơi” (sniffer) cung cấp các cách thức ghi nhận lại thông tin đi qua máy tính hoặc bộ định tuyến đang xử lý lưu lượng truy cập Internet. Sử dụng chương trình sniffer tương tự như khai thác một đường dây điện thoại và ghi âm cuộc trò chuyện. Các chương trình Sniffer có thể đọc các thông điệp e-mail và thông điệp không được mã hóa giữa máy khách và máy chủ Web, chẳng hạn như tên đăng nhập, mật khẩu và số thẻ tín dụng. Định kỳ, các chuyên gia an ninh tìm thấy lỗ hổng điện tử, được gọi là backdoors, trong phần mềm thương mại điện tử. Backdoor là một phần của chương trình (hoặc một chương trình riêng biệt) cho phép người dùng chạy chương trình mà không phải thực hiện thủ tục xác thực thông thường để truy cập vào chương trình. Các lập trình viên thường tạo backdoor khi đang xây dựng và thử nghiệm các chương trình để tiết kiệm thời gian nhập mật khẩu và đăng nhập mỗi lần mở chương trình. Đôi khi, các lập trình viên quên xóa backdoor khi viết xong chương trình; hoặc có lúc, lập trình viên cố tình để lại backdoor. Một backdoor cho phép bất kỳ ai nhận thức được sự tồn tại của nó gây tổn thất bằng cách quan sát các giao dịch, xóa dữ liệu, hoặc ăn cắp dữ liệu. Ví dụ, một công ty tư vấn bảo mật phát hiện ra rằng Cart32, một chương trình giỏ mua hàng được sử dụng rộng rãi, có một backdoor mà thông qua đó số thẻ tín dụng có thể được lấy được bởi bất cứ ai có kiến thức về backdoor. Backdoor này là kết quả của một lỗi lập trình và không phải là cố ý (và Cart32 đã cung cấp một bản vá lỗi phần mềm đóng backdoor ngay lập tức); khách hàng của các bên bán hàng sử dụng Cart32 đã bị lộ số thẻ tín dụng với tin tặc trên toàn thế giới cho đến khi các bên bán hàng áp dụng bản vá lỗi. Thông tin về công ty bị đánh cắp, chẳng hạn như các bản thiết kế, các công thức sản phẩm, hoặc kế hoạch tiếp thị có thể gây tổn thất hàng triệu đô la. Sau đây là một ví dụ về nghe trộm trực tuyến để lấy thông tin bí mật. Giả sử một người sử dụng đăng nhập vào một trang web có chứa một form với các hộp văn bản cho tên, địa chỉ và địa chỉ e-mail. Khi người dùng điền vào các hộp văn bản và nhấp vào nút gửi, thông tin sẽ được gửi đến máy chủ Web để xử lý. Một số máy chủ Web có được và theo dõi dữ liệu đó bằng cách thu thập các phản hồi của hộp văn bản và đặt chúng vào cuối URL của máy chủ (xuất hiện trong hộp địa chỉ của trình duyệt Web của người dùng). URL dài này (với các phản hồi của hộp văn bản được nối vào) được kèm theo trong tất cả các thông điệp yêu cầu và phản hồi HTTP chuyển qua lại giữa trình duyệt của người dùng và máy chủ. Người dùng Web liên tục tiết lộ thông tin về bản thân khi sử dụng Web. Thông tin này gồm địa chỉ IP và loại trình duyệt đang được sử dụng. Việc tiết lộ dữ liệu đó là vi phạm tính bí mật. Một số trang web cung cấp dịch vụ trình duyệt ẩn danh giấu thông tin cá nhân khỏi các trang web đã truy cập. Các trang web này cung cấp một biện pháp bảo mật cho những người lướt Web bằng cách thay thế địa chỉ IP của người dùng bằng địa chỉ IP của dịch vụ Web nặc danh ở đầu cuối của bất kỳ URL nào mà người dùng truy cập. Khi trang web ghi lại địa chỉ IP của khách truy cập web, nó sẽ ghi lại địa chỉ IP của dịch vụ Web nặc danh chứ không phải của khách truy cập. 1.3.2 Các mối đe dọa tính toàn vẹn Mối đe dọa tính toàn vẹn tồn tại khi có hành vi làm thay đổi thông tin một cách trái phép. Các giao dịch ngân hàng không được bảo vệ, chẳng hạn như số tiền ký quỹ chuyển qua Internet, là đối tượng nhắm đến của vi phạm tính toàn vẹn. Tất nhiên, vi phạm tính toàn vẹn hàm ý vi phạm tính bí mật vì kẻ đột nhập làm thay đổi thông tin có thể đọc và giải nghĩa thông tin đó. Không giống như các mối đe dọa tính bí mật nơi người xem đơn giản chỉ nhìn thấy thông tin mà họ không nên nhìn thấy, các mối đe dọa tính toàn vẹn có thể làm thay đổi hành động mà một người hoặc công ty thực hiện vì nội dung công việc khi truyền tải đã bị thay đổi. Tội phạm phá hoại trực tuyến (cybervandalism) là một ví dụ của vi phạm tính toàn vẹn. Tội phạm phá hoại trực tuyến xảy ra khi kẻ phá hoại thay thế nội dung thông thường của trang Web bằng nội dung của chúng. Gần đây, một vài trang web bị phá hoại bằng cách thay thế nội dung kinh doanh bằng tài liệu khiêu dâm và các nội dung xúc phạm khác. Giả mạo và lừa gạt: giả danh là một người khác, hoặc tạo trang web giả mạo - là một phương tiện phá hoại các trang Web. Máy chủ tên miền (DNS) là các máy tính trên Internet duy trì các danh mục ánh xạ tên miền với địa chỉ IP. Thủ phạm có thể sử dụng một lỗ hổng bảo mật trong phần mềm chạy trên các máy tính này để thay thế địa chỉ của trang web thực sự bằng địa chỉ của các trang web giả mạo nhằm đánh lừa người dùng truy cập vào trang Web. Ví dụ, hacker có thể tạo ra một trang web giả mạo www.widgets.com bằng cách khai thác một lỗ hổng bảo mật DNS thay thế địa chỉ IP giả mạo của nó cho địa chỉ IP thật của Widgets.com. Tất cả các lần truy cập sau vào Widgets.com sẽ được chuyển hướng đến trang web giả mạo. Ở đó, hacker có thể làm thay đổi bất kỳ đơn hàng nào để thay đổi số lượng vật dụng đã đặt mua và chuyển hướng vận chuyển các sản phẩm đó sang địa chỉ khác. Tấn công tính toàn vẹn gồm thay đổi một đơn hàng và chuyển nó tới máy chủ Web của công ty thực. Máy chủ Web không biết về hành vi tấn công nên vẫn tiếp tục xác minh số thẻ tín dụng của người tiêu dùng và duyệt đơn hàng để hoàn tất. 1.3.3 Các mối đe dọa tính sẵn sàng Mục đích của một mối đe dọa tính sẵn sàng (thường xảy ra dưới dạng tấn công chậm trễ, tấn công từ chối, hoặc tấn công từ chối dịch vụ (DoS)) là phá vỡ việc xử lý thông thường trên máy tính, hoặc từ chối hoàn toàn việc xử lý. Máy tính gặp phải một mối đe dọa tính sẵn sàng sẽ có tốc độ xử lý chậm ở mức không thể chấp nhận được. Ví dụ: nếu tốc độ xử lý của một giao dịch ATM từ một hoặc hai giây chậm xuống còn 30 giây, người dùng sẽ hoàn toàn từ bỏ máy ATM. Tương tự như vậy, làm chậm bất kỳ dịch vụ Internet nào sẽ đẩy khách hàng đến các trang Web hoặc Website thương mại của đối thủ cạnh tranh - người dùng có thể không muốn trở lại trang Web ban đầu. Nói cách khác, việc xử lý chậm hơn có thể làm cho một dịch vụ không được sử dụng hoặc không hấp dẫn. Những kẻ tấn công có thể sử dụng các botnet để khởi động cuộc tấn công đồng loạt trên một trang Web (hoặc một số trang Web) từ tất cả các máy tính trong mạng botnet. Hình thức tấn công này được gọi là tấn công từ chối dịch vụ (DDoS). Tấn công DoS có thể hủy bỏ toàn bộ thông tin, hoặc xóa thông tin khỏi một tập tin. Một cuộc tấn công từ chối dịch vụ đã làm cho một số máy tính cá nhân có cài đặt Quicken (một chương trình kế toán) tự động chuyển tiền vào tài khoản ngân hàng của thủ phạm. Trong một cuộc tấn công DoS nổi tiếng khác chống lại các trang web thương mại điện tử nổi tiếng như Amazon.com và Yahoo!, những kẻ tấn công đã sử dụng botnet để gửi một loạt các gói dữ liệu đến các trang web mục tiêu, gây tràn các máy chủ và ngăn chặn truy cập của khách hàng hợp pháp. Trước khi tấn công, thủ phạm sẽ xác định các máy tính dễ tấn công và cài đặt phần mềm tấn công các trang web thương mại vào các máy này. 1.3.4 Các mối đe dọa đối với bảo mật vật lý cho các kênh truyền Internet Thiết kế mạng dựa trên gói tin của Internet ngăn không cho nó bị ngừng hoạt động bởi các tấn công vào một liên kết truyền thông đơn nhất trên mạng đó. Tuy nhiên, dịch vụ Internet của người dùng cá nhân có thể bị gián đoạn do sự phá hủy liên kết giữa người dùng với Internet. Nguyên nhân là do rất ít người dùng cá nhân có nhiều kết nối đến một ISP. Tuy nhiên, các công ty và tổ chức lớn thường có nhiều hơn một liên kết đến “xương sống” của Internet. Thông thường, mỗi liên kết được mua từ một nhà cung cấp truy cập mạng khác nhau. Nếu một liên kết trở nên quá tải hoặc không sẵn sàng, các nhà cung cấp dịch vụ có thể chuyển lưu thông trên mạng đến liên kết của một nhà cung cấp truy cập của mạng khác để giữ cho công ty, tổ chức hay ISP (và khách hàng của nó) kết nối với Internet. 1.3.5 Các mối đe dọa đối với mạng không dây Các công ty có mạng không dây lớn thường cẩn thận bật WEP (Wireless Encryption Protocol - một tập các quy tắc truyền dữ liệu mã hóa từ các thiết bị không dây đến các điểm truy cập không dây (WAP – Wireless Access Point)) trong các thiết bị, nhưng các công ty nhỏ và cá nhân cài đặt mạng không dây trong nhà của họ thường không bật tính năng bảo mật WEP. Nhiều WAP được chuyển đến người mua với đăng nhập mặc định và mật khẩu đã được đặt. Các công ty cài đặt các WAP này đôi khi không thay đổi được mật khẩu và đăng nhập mặc định này và do đó, tạo ra một lỗ hổng cho phép xâm nhập vào mạng. Best Buy - nạn nhân đầu tiên của các cuộc tấn công mạng không dây, đã sử dụng các thiết bị đầu cuối POS không dây ở một số cửa hàng. Các thiết bị đầu cuối POS không dây có thể được di chuyển dễ dàng từ khu vực này đến khu vực khác của cửa hàng và giúp Best Buy xử lý các luồng khách hàng lớn hơn so với sử dụng các thiết bị đầu cuối POS cố định. Thật không may, Best Buy đã không bật WEP trên các thiết bị đầu cuối này. Một khách hàng vừa mua một card không dây cho máy tính xách tay của mình đã thử khởi động một chương trình sniffer trên máy tính xách tay trong xe của mình trong bãi đậu xe. Khách hàng sau đó có thể đánh chặn dữ liệu từ các thiết bị đầu cuối POS, bao gồm chi tiết giao dịch và số thẻ tín dụng. Best Buy đã ngừng sử dụng các thiết bị đầu cuối POS không dây khi câu chuyện trên xuất hiện trên một số trang web và dịch vụ báo điện tử. 1.3.6 Các giải pháp mã hóa Mã hóa là biến đổi thông tin bằng cách sử dụng một chương trình dựa trên toán học và khoá bí mật (khóa riêng tư) để tạo ra một chuỗi ký tự không thể đọc được. Khoa học nghiên cứu về mã hóa được gọi là mật mã học, có nguồn gốc từ sự kết hợp của hai từ crypto và grapho trong tiếng Hy Lạp, có nghĩa tương ứng là "bí mật" và "viết". Nói cách khác, mật mã học là khoa học tạo ra các thông điệp mà chỉ người gửi và người nhận mới có thể đọc được. Mật mã học khác với việc che giấu văn bản (steganography). Steganography làm cho văn bản không thể phát hiện bằng mắt thường, mật mã học không giấu văn bản, nó chuyển đổi văn bản sang các dạng khác có thể nhìn thấy, nhưng dường như không có ý nghĩa. Người không có quyền đọc văn bản chỉ nhìn thấy một chuỗi ký tự văn bản ngẫu nhiên, số và dấu chấm câu. a. Thuật toán mã hóa Chương trình chuyển đổi văn bản bình thường, gọi là văn bản thuần túy, thành văn bản mã hóa (chuỗi ký tự không thể đọc) được gọi là chương trình mã hóa. Logic đằng sau một chương trình mã hóa bao gồm việc sử dụng toán học để thực hiện việc chuyển đổi từ văn bản thuần sang văn bản mật mã được gọi là thuật toán mã hóa. Thông điệp được mã hóa trước khi được gửi qua mạng hoặc Internet. Khi đến nơi nhận, thông điệp được giải mã, sử dụng chương trình giải mã - một loại thủ tục dịch ngược mã. Một đặc điểm của thuật toán mã hóa là ngay cả khi biết được chi tiết của thuật toán thì vẫn không thể giải mã được thông điệp mã hóa nếu không biết khóa mà thuật toán đã sử dụng để mã hóa. Sự ngăn chặn các nỗ lực tấn công vào thông điệp được mã hóa phụ thuộc vào kích thước (theo bit) của khoá được sử dụng trong thủ tục mã hóa. Khóa 40-bit hiện được xem là cung cấp mức bảo mật tối thiểu. Các khóa dài hơn, chẳng hạn như các khóa 128-bit, cung cấp mã hóa an toàn hơn nhiều. Một khóa đủ dài có thể làm cho tính bảo mật không thể phá vỡ. Loại khóa và chương trình mã hóa liên quan được sử dụng để khoá thông điệp phân chia mã hóa thành 3 nhóm: 1. Mã hóa hàm băm (Hash) 2. Mã hoá bất đối xứng 3. Mã hóa đối xứng Mã hóa hàm băm sử dụng giải thuật băm để tính toán ra giá trị băm cho một thông điệp. Giá trị băm này gần như là duy nhất cho mỗi thông điệp nên nó được gọi là dấu vân tay của thông điệp (fingerprint). Trong giải thuật băm tốt, xác suất để 2 thông điệp có cùng giá trị băm là rát nhỏ. Mã hóa hàm băm cho biết một thông điệp có bị thay đổi trong quá trình truyền hay không bằng cách so sánh giá trị băm gốc với giá trị băm tính toán được của thông điệp nhận. Nếu 2 giá trị này khác nhau chứng tỏ thông điệp đã bị thay đổi. Mã hóa bất đối xứng (mã hóa khóa công khai) mã hóa thông điệp bằng 2 khóa dạng số. Một khóa được gọi là khóa công khai, được phân phát tự do và được sử dụng cùng với thuật toán mã hóa để mã hóa thông điệp. Khóa còn lại gọi là khóa riêng tư, là khóa thuộc về người sở hữu khóa. Người sở hữu khóa riêng tư sẽ sử dụng khóa này để giải mã các thông điệp nhận được. Mã hóa đối xứng (mã hóa khóa riêng tư) mã hóa thông điệp bằng giải thuật mã hóa sử dụng một khóa dạng số duy nhất để mã hóa và giải mã thông điệp. Do chỉ có một khóa duy nhất được sử dụng, bên gửi và bên nhận thông điệp phải biết khóa này và bảo vệ khóa một cách an toàn. Mã hóa đối xứng nhanh và hiệu quả nhưng một khi khóa bị lộ thì các thông điệp đã gửi trước đó sẽ không còn an toàn. b. Giao thức SSL (Secure Sockets Layer Protocol) SSL cung cấp một sự bắt tay "an toàn", trong đó máy khách và máy chủ trao đổi một đoạn ngắn các thông điệp. Trong các thông điệp này, máy khách và máy chủ thỏa hiệp về mức độ bảo mật được sử dụng để trao đổi chứng nhận số và các nhiệm vụ khác. Máy này định danh máy kia. Sau khi định danh, SSL mã hóa và giải mã thông tin trao đổi giữa hai máy. Điều này có nghĩa là thông tin trong bất kì yêu cầu và phản hồi HTTP nào cũng đều được mã hóa. Thông tin được mã hóa bao gồm URL mà khách hàng yêu cầu, bất kỳ form chứa thông tin nào mà người dùng đã hoàn tất (có thể bao gồm thông tin nhạy cảm như tên đăng nhập, mật khẩu hoặc số thẻ tín dụng) và dữ liệu cấp quyền truy cập HTTP, như tên người dùng và mật khẩu. Nói tóm lại, tất cả các giao tiếp giữa máy khách và máy chủ SSL đều được mã hóa. Khi SSL mã hóa tất cả mọi thứ được trao đổi giữa máy khách và máy chủ, kẻ nghe trộm chỉ nhận được những thông tin khó hiểu. SSL có thể bảo vệ nhiều loại giao tiếp khác nhau giữa các máy tính ngoài HTTP. Ví dụ: SSL có thể bảo mật các phiên làm việc FTP, cho phép tải xuống và tải lên các tài liệu, bảng tính và dữ liệu điện tử nhạy cảm khác. SSL có thể bảo mật các phiên làm việc Telnet, trong đó người dùng máy tính từ xa có thể đăng nhập vào máy chủ của công ty để gửi mật khẩu và tên người dùng. Giao thức hiện thực SSL là HTTPS. Bằng cách đặt trước URL tên giao thức HTTPS, máy khách đang biểu thị rằng nó muốn thiết lập kết nối an toàn với máy chủ từ xa. SSL cho phép độ dài của khoá (được tạo ra bởi mọi giao dịch được mã hoá) trong phiên làm việc riêng có nhiều độ dài khác nhau (40-bit, 56-bit, 128-bit hoặc 168-bit). Khóa của phiên làm việc là một khóa được sử dụng bởi thuật toán mã hóa để tạo ra văn bản mã hóa từ văn bản thuần túy và khóa chỉ sử dụng trong một phiên bảo mật duy nhất. Khóa càng dài, mã hóa kháng lại sự tấn công càng cao. Một trình duyệt Web bắt đầu phiên SSL sẽ cho biết nó đang ở trong một phiên làm việc được mã hóa (hầu hết các trình duyệt sử dụng một biểu tượng trong thanh trạng thái của trình duyệt). Sau khi phiên làm việc kết thúc, khoá của phiên làm việc sẽ bị loại bỏ vĩnh viễn và không được sử dụng lại cho các phiên bảo mật tiếp theo. Trong phiên SSL, máy khách và máy chủ thỏa thuận rằng giao dịch của chúng nên được giữ an toàn vì chúng liên quan đến việc chuyển số thẻ tín dụng, số hoá đơn hoặc mã xác minh. Để hiện thực tính bí mật, SSL sử dụng mã hóa khóa công khai (bất đối xứng) và mã hóa khóa riêng tư (đối xứng). Mặc dù mã hóa khóa công khai rất tiện lợi nhưng nó khá chậm so với mã hóa khóa riêng tư. Đó là lý do tại sao SSL sử dụng mã hóa khóa riêng tư cho hầu hết các giao tiếp an toàn của nó. Bởi vì sử dụng mã hóa khóa riêng tư, nên SSL phải có một cách để cung cấp khoá cho cả máy khách và máy chủ mà không để lộ cho một trình nghe trộm. SSL đạt được điều này bằng cách cho phép trình duyệt tạo ra một khóa riêng tư cho cả máy khách và máy chủ để chia sẻ. Sau đó, trình duyệt mã hóa khóa riêng tư mà nó đã tạo ra bằng khoá công khai của máy chủ. Khóa công khai của máy chủ được lưu trữ trong chứng nhận số mà máy chủ gửi đến trình duyệt trong quá trình xác thực. Khi khoá được mã hóa, trình duyệt sẽ gửi nó tới máy chủ. Máy chủ, ngược lại, giải mã thông điệp với khóa riêng tư của nó và có được khóa cá nhân được chia sẻ. Đây là cách SSL hoạt động với sự trao đổi giữa trình duyệt (SSL máy khách) và máy chủ Web (SSL máy chủ): Khi một trình duyệt máy khách gửi một thông điệp yêu cầu đến một trang web bảo mật của máy chủ, máy chủ sẽ gửi một yêu cầu “xin chào” tới trình duyệt (máy khách). Trình duyệt phản hồi với một lời chào từ máy khách. Việc trao đổi những lời chào, hoặc bắt tay, cho phép hai máy tính xác định các tiêu chuẩn nén và mã hóa mà cả hai đều hỗ trợ. Tiếp theo, trình duyệt yêu cầu máy chủ cấp chứng chỉ số như một bằng chứng định danh. Đáp lại, máy chủ gửi tới trình duyệt một chứng chỉ được ký bởi một cơ quan chứng nhận được công nhận. Trình duyệt kiểm tra số sê-ri và fingerprint trên chứng nhận số của máy chủ sử dụng khóa công khai của CA được lưu trữ trong trình duyệt. Khi khóa công khai của CA xác minh, việc xác nhận được hoàn tất. Hành động này xác nhận máy chủ Web. Trình duyệt phản hồi bằng cách gửi chứng nhận của của nó và khóa mã hóa sử dụng cho phiên làm việc riêng. Khi máy chủ nhận được thông tin này, nó khởi tạo phiên làm việc, sử dụng khoá riêng tư được chia sẻ giữa trình duyệt và máy chủ Web. Với phiên làm việc được thiết lập an toàn, các thông điệp yêu cầu từ trình duyệt sẽ được nhận bởi máy chủ Web, máy chủ Web sẽ gửi các phản hồi cần thiết. Trong phiên bảo mật này, người dùng trình duyệt có thể mua hàng, thanh toán hóa đơn hoặc giao dịch chứng khoán mà không phải lo ngại về những mối đe dọa đối với sự an toàn của thông tin được truyền giữa hai máy tính. 1.3.7 Đảm bảo tính toàn vẹn giao dịch với hàm băm Thương mại điện tử liên quan tới việc trình duyệt của khách hàng gửi thông tin thanh toán, thông tin đặt hàng, và các hướng dẫn thanh toán đến máy chủ Web và máy chủ phản hồi với xác nhận chi tiết đơn đặt hàng. Vấn đề đặt ra trong trường hợp một kẻ xâm nhập Internet thay đổi thông tin đơn đặt hàng đang chuyển tiếp. Ví dụ, thủ phạm có thể thay đổi địa chỉ gửi hàng để chúng nhận hàng thay vì khách hàng ban đầu. Đây là một ví dụ về vi phạm tính toàn vẹn, xảy ra bất cứ khi nào một thông điệp bị thay đổi khi đang được chuyển tiếp giữa người gửi và người nhận. Mặc dù việc ngăn chặn thủ phạm thay đổi một thông điệp là rất khó khăn và tốn kém, có những kỹ thuật hiệu quả cho phép người nhận nhận biết một thông điệp đã được thay đổi. Khi bên nhận – ví dụ máy chủ Web - nhận được thông điệp bị hỏng, bên nhận chỉ cần yêu cầu bên gửi truyền lại thông điệp. Ngoài việc gây phiền toái, thông điệp bị hư hại sẽ không làm hại bên nhận lẫn bên gửi miễn là cả hai bên nhận thức được sự thay đổi này. Tác hại xảy ra khi những thay đổi trái phép trên thông điệp không bị phát hiện bởi bên gửi và bên nhận. Các kỹ thuật có thể được kết hợp cho phép tạo ra các thông điệp vừa có đặc tính chống lại được các chỉnh sửa trái phép vừa được sử dụng để định danh. Bên cạnh đó, những kỹ thuật này cung cấp thuộc tính chống thoái thác - nghĩa là bên tạo ra thông điệp không thể từ chối rằng thông điệp đó không phải của họ hoặc họ không gửi nó. Để loại bỏ các gian lận và lạm dụng do thông điệp bị thay đổi, hai thuật toán riêng biệt được áp dụng cho thông điệp. Đầu tiên, một thuật toán băm được áp dụng cho thông điệp. Thuật toán băm là các hàm một chiều, nghĩa là không có cách nào để biến đổi giá trị băm trở lại bản gốc. Cách tiếp cận này được chấp nhận bởi vì một giá trị băm được so sánh với một giá trị băm khác để kiểm tra sự trùng khớp, các giá trị ban đầu trước khi băm không bao giờ được so sánh với nhau. Tất cả các chương trình mã hóa sẽ biến đổi văn bản thành tóm tắt thông điệp (message digest) – là một số nguyên có giá trị nhỏ tóm lược thông tin mã hóa. Giải thuật băm không sử dụng khóa bí mật, tóm tắt thông điệp do đó không thể chuyển ngược về lại văn bản gốc. 1.3.8 Đảm bảo tính toàn vẹn giao dịch với chữ ký số Hàm băm không phải là một giải pháp hoàn chỉnh. Các thuật toán băm là công khai và được biết đến rộng rãi, bất cứ ai cũng có thể chặn một đơn đặt hàng, thay đổi địa chỉ vận chuyển và số lượng đặt hàng, tái tạo tóm tắt thông điệp, gửi thông điệp và tóm tắt thông điệp mới đến bên bán hàng. Khi nhận được, bên bán hàng sẽ tính toán giá trị tóm tắt thông điệp và xác nhận rằng giá trị của hai tóm tắt thông điệp là trùng khớp. Bên bán bị lừa khi kết luận rằng thông điệp là thực, không bị giả mạo. Để ngăn chặn loại gian lận này, bên gửi mã hóa tóm tắt thông điệp bằng khóa riêng tư của mình. Một tóm tắt thông điệp (giá trị băm của thông điệp) được mã hoá được gọi là chữ ký số. Đơn đặt hàng kèm theo chữ ký số giúp cho bên bán định danh người gửi và đảm bảo với bên bán rằng thông điệp không bị thay đổi. Bởi vì tóm tắt thông điệp được mã hóa bằng khoá công khai, chỉ có chủ sở hữu cặp khóa công khai / khóa riêng tư mới có thể mã hóa thông điệp. Do đó, khi bên bán giải mã thông điệp bằng khóa công khai của người dùng, tính toán giá trị tóm tắt thông điệp và cho kết quả trùng khớp, chứng tỏ rằng bên gửi là tin cậy. Hơn nữa, các giá trị băm trùng khớp chứng minh rằng chỉ có bên gửi là tác giả của thông điệp (chống thoái thác) vì chỉ khóa riêng tư của bên gửi mới tạo ra thông điệp được mã hóa và thông điệp mã hóa này có thể được giải mã thành công bởi một khóa công khai liên quan. Điều này giải quyết vấn đề giả mạo. Nếu cần, cả hai bên có thể thỏa thuận đảm bảo tính bí mật của giao dịch bên cạnh tính toàn vẹn, chống thoái thác và xác thực mà chữ ký số cung cấp. Chỉ cần mã hóa toàn bộ chuỗi gồm chữ ký số và thông điệp là đủ để đảm bảo tính bí mật của thông điệp. Khi được sử dụng cùng nhau, mã hóa khóa công khai, tóm tắt thông điệp và chữ ký số sẽ cung cấp mức bảo mật cao cho các giao dịch trên Internet. Hình 3: Minh họa cách tạo và gửi chữ ký số và thông điệp được ký Bảo mật cho máy chủ 1.4.1 Các mối đe dọa máy chủ Web Phần mềm máy chủ Web được thiết kế để cung cấp các trang web bằng cách phản hồi các yêu cầu HTTP. Một máy chủ Web có thể thỏa hiệp tính bí mật nếu nó cho phép danh sách thư mục tự động. Sự vi phạm tính bí mật xảy ra khi nội dung của các tên thư mục trên máy chủ được tiết lộ cho trình duyệt Web. Điều này có thể xảy ra khi người dùng nhập URL và mong muốn thấy trang mặc định. Trang Web mặc định mà máy chủ thường hiển thị được đặt tên index.htm hoặc index.html. Nếu tập tin đó không có trong thư mục, một máy chủ Web cho phép danh sách thư mục tự động sẽ hiển thị tất cả các tên tập tin và tên thư mục trong thư mục đó. Sau đó, khách truy cập có thể nhấp vào tên thư mục ngẫu nhiên và mở được các thư mục không có ý định để chế độ công khai. Quản trị viên web cẩn thận sẽ tắt tính năng hiển thị tên thư mục này. Nếu người dùng cố gắng duyệt qua một thư mục được bảo vệ, máy chủ Web sẽ phát một thông điệp cảnh báo rằng thư mục này không có sẵn. Một trong những tập tin nhạy cảm nhất trên máy chủ Web là tập tin chứa các cặp tên người dùng và mật khẩu của máy chủ Web. Một kẻ đột nhập có thể truy cập và đọc tập tin, sau đó có thể đột nhập vào các khu vực đặc quyền và giả mạo người dùng hợp pháp. Để giảm nguy cơ này, hầu hết các máy chủ Web lưu trữ thông tin xác thực người dùng trong các tập tin được mã hóa. Mật khẩu mà người dùng chọn có thể là nguồn gốc của một mối đe dọa. Người dùng có thể chọn mật khẩu dễ đoán, chẳng hạn như ngày sinh, tên con hoặc số điện thoại. Các chương trình tấn công từ điển thử mật khẩu là tất cả các từ và tên phổ biến xuất hiện trong một từ điển điện tử. Mật khẩu của người dùng nếu bị tiết lộ có thể mở đường cho việc xâm nhập vào máy chủ mà không bị phát hiện trong một thời gian dài. Để ngăn chặn các cuộc tấn công từ điển, một số tổ chức yêu cầu người dùng tạo mật khẩu là sự kết hợp của các chữ cái, số và các ký tự đặc biệt ít có khả năng xuất hiện trong từ điển của chương trình tấn công. Các tổ chức khác sử dụng từ điển của chính họ để kiểm tra như một biện pháp phòng ngừa. Khi người dùng chọn mật khẩu mới, các phần mềm gán mật khẩu kiểm tra mật khẩu trong từ điển của nó, nếu tìm thấy nó sẽ từ chối sử dụng mật khẩu đó. Phần mềm mật khẩu tốt kiểm tra đối với các từ, tên thông dụng (gồm cả tên vật nuôi thông thường), từ viết tắt thường được sử 1.4 dụng trong tổ chức, và các từ hoặc ký tự (bao gồm số) có ý nghĩa đối với người sử dụng mật khẩu (ví dụ nhân viên có thể bị cấm sử dụng mã số nhân viên làm mật khẩu). 1.4.2 Các mối đe dọa cơ sở dữ liệu Hệ thống thương mại điện tử lưu trữ dữ liệu người dùng và lấy thông tin sản phẩm từ các cơ sở dữ liệu được kết nối với máy chủ Web. Bên cạnh việc lưu trữ thông tin sản phẩm, các cơ sở dữ liệu kết nối với Web có chứa thông tin cá nhân có giá trị và nếu được tiết lộ hoặc thay đổi, công ty có thể không phục hồi được. Hầu hết các hệ thống quản lý cơ sở dữ liệu đều có các tính năng bảo mật dựa vào tên đăng nhập và mật khẩu. Một khi người dùng được xác thực, họ có thể thao tác với một phần cơ sở dữ liệu. Tuy nhiên, một số cơ sở dữ liệu lưu trữ cặp tên người dùng / mật khẩu trong một bảng không được mã hóa, hoặc chúng không thực thi bảo mật mà dựa vào máy chủ Web để thực thi bảo mật. Nếu người dùng trái phép có được thông tin xác thực người dùng, họ có thể giả mạo là người dùng cơ sở dữ liệu hợp pháp và tiết lộ hoặc tải xuống thông tin bí mật có giá trị tiềm ẩn. Các chương trình Trojan horse ẩn trong hệ thống cơ sở dữ liệu cũng có thể khai thác được thông tin bằng cách thay đổi quyền truy cập của các nhóm người sử dụng khác nhau. Một Trojan horse thậm chí có thể xóa các điều khiển truy cập trong cơ sở dữ liệu, cho phép tất cả người dùng quyền truy cập đầy đủ vào dữ liệu, bao gồm cả những kẻ xâm nhập. 1.4.3 Các mối đe dọa lập trình khác Các mối đe dọa đối với máy chủ Web có thể phát sinh từ các chương trình thực thi bởi máy chủ. Các chương trình Java hay C++ được truyền từ máy khách đến máy chủ Web, hoặc các chương trình cư trú trên máy chủ, thường xuyên sử dụng một bộ đệm. Bộ đệm là một khu vực bộ nhớ dành để chứa dữ liệu đọc từ một tập tin hoặc cơ sở dữ liệu. Bộ đệm thực sự cần thiết khi có hoạt động nhập/xuất xảy ra vì máy tính có thể xử lý thông tin nhanh hơn nhiều so với việc đọc thông tin từ các thiết bị nhập hoặc ghi thông tin lên các thiết bị đầu ra. Chương trình lấp đầy bộ đệm có thể trục trặc và gây tràn bộ đệm, tràn dữ liệu dư thừa ra bên ngoài khu vực bộ nhớ đệm được chỉ định. Đây được gọi là tràn bộ đệm hoặc lỗi tràn bộ nhớ đệm. Thông thường, điều này xảy ra vì chương trình có chứa một sai sót hoặc lỗi gây ra tràn. Tuy nhiên có đôi khi các lỗi tràn bộ đệm là cố ý. Internet Worm năm 1988 là một chương trình như vậy. Nó gây ra một tình trạng tràn bộ đệm và dần dần tiêu hao mọi nguồn lực cho đến khi các máy tính bị ảnh hưởng không thể hoạt động được nữa. Trong một cuộc tấn công tương tự, dữ liệu tràn sẽ được gửi đến một máy chủ, có thể xảy ra trên các máy chủ email. Tấn công xảy ra khi hàng trăm hoặc thậm chí hàng ngàn người cùng gửi thông điệp đến một địa chỉ cụ thể, được gọi là bom mail. Vụ tấn công có thể được khởi phát bởi một nhóm hacker có tổ chức, nhưng nhiều khả năng nó được tổ chức bởi một hoặc một vài hacker, các hacker này đã giành được quyền kiểm soát máy tính của người khác thông qua virus Trojan horse hoặc một số phương pháp khác, biến các máy tính bị kiểm soát này thành zombie. Mục tiêu tấn công sẽ nhận email tích lũy vượt quá giới hạn kích thước email cho phép và làm cho các hệ thống email bị trục trặc. 1.4.4 Các mối đe dọa bảo mật vật lý đối với máy chủ Web Các máy chủ Web và các máy tính được nối mạng gần chúng (ví dụ như các máy chủ cơ sở dữ liệu và các máy chủ ứng dụng được sử dụng để cung cấp nội dung và các khả năng xử lý giao dịch cho trang web thương mại điện tử) cần được bảo vệ khỏi sự xâm hại vật lý. Với nhiều công ty, những máy tính này trở thành kho dữ liệu quan trọng chứa dữ liệu khách hàng, sản phẩm, bán hàng, mua sắm và thanh toán. Chúng cũng là bộ phận quan trọng tạo ra doanh thu trong nhiều doanh nghiệp. Đóng vai trò là những nguồn lực vật lý quan trọng, những máy tính này và các thiết bị liên quan cần đảm bảo mức độ được bảo vệ cao chống lại các mối đe dọa vật lý. Nhiều công ty sử dụng những nhà cung cấp dịch vụ thương mại (CSP) để quản trị website của họ. Các CSP sẽ bảo mật cơ sở vật chất của họ cao hơn mức bảo mật công ty có thể cung cấp cho các máy tính đặt tại công ty. Các công ty có thể thực hiện các bước cụ thể để bảo vệ các máy chủ Web. Nhiều công ty duy trì các bản sao lưu nội dung của các máy chủ tại một địa điểm từ xa. Nếu hoạt động của máy chủ Web là rất quan trọng trong việc tiến hành công việc kinh doanh, một công ty có thể duy trì một bản sao của toàn bộ cơ sở vật lý máy chủ Web tại một địa điểm từ xa. Trong trường hợp có trục trặc hệ thống, hoạt động web của công ty có thể được chuyển sang vị trí sao lưu trong vòng chưa đầy một giây. Các ví dụ về các máy chủ Web có nhiệm vụ quan trọng cần được đảm bảo một mức độ bảo mật vật lý toàn diện (và đắt tiền) gồm các hệ thống đặt vé máy bay, hệ thống giao dịch của công ty môi giới chứng khoán, và các hệ thống thanh toán bù trừ của ngân hàng. 1.4.5 Kiểm soát truy cập và xác thực Kiểm soát truy cập và xác thực là việc kiểm soát người nào hoặc cái gì truy cập vào máy chủ Web. Xác thực là xác minh danh tính của thực thể yêu cầu truy cập vào máy tính. Khi máy chủ yêu cầu nhận dạng người dùng, nó yêu cầu máy khách gửi một chứng thực. Các máy chủ có thể xác thực người dùng theo nhiều cách. Đầu tiên, chứng thực thể hiện sự chấp nhận đối với người sử dụng. Nếu máy chủ không thể giải mã chữ ký điện tử (chứa trong chứng thực) của người dùng sử dụng khóa công cộng của người dùng, thì có thể kết luận rằng chứng thực không đến từ chủ sở hữu thực sự. Ngược lại, máy chủ chắc rằng chứng thực đến từ chủ sở hữu. Thủ tục này ngăn ngừa việc sử dụng chứng thực giả để vào được máy chủ bảo mật. Thứ hai, các máy chủ sẽ kiểm tra thời gian trên chứng thực để đảm bảo chứng thực chưa hết hạn. Máy chủ sẽ từ chối một chứng thực đã hết hạn và ngừng cung cấp dịch vụ. Thứ ba, máy chủ có thể sử dụng một hệ thống gọi lại trong đó tên và địa chỉ máy khách của người dùng được kiểm tra với danh sách tên người dùng và địa chỉ máy khách được gán trước đó. Hệ thống này hoạt động tốt trong mạng nội bộ trong đó tên người dùng và các máy tính khách được kiểm soát chặt chẽ và được gán một cách hệ thống. Trên Internet, hệ thống gọi lại khó quản lý, nhất là trong trường hợp máy khách là di động và hoạt động ở nhiều vị trí khác nhau. Chứng thực được cấp bởi CA đáng tin cậy do đó đóng một vai trò rất quan trọng trong việc định danh máy khách và người dùng. Chứng nhận cung cấp sự cáo buộc, nói cách khác đó là bằng chứng không thể chối cãi về danh tính nếu xảy ra một sự vi phạm bảo mật. Tên đăng nhập và mật khẩu cũng có thể cung cấp một số yếu tố bảo mật. Để xác thực người dùng bằng mật khẩu và tên đăng nhập, máy chủ phải thu thập và lưu trữ cơ sở dữ liệu có chứa mật khẩu và tên đăng nhập của người dùng hợp pháp. Nhiều hệ thống máy chủ Web lưu trữ tên đăng nhập của người dùng và mật khẩu trong một tập tin. Các trang web thương mại điện tử lớn thường lưu trữ tên đăng nhập / mật khẩu trong một cơ sở dữ liệu riêng biệt với các tính năng bảo mật chặt chẽ. Cách dễ nhất để lưu trữ mật khẩu là duy trì tên đăng nhập bằng văn bản thuần và mã hóa mật khẩu bằng thuật toán mã hóa một chiều. Khi người dùng đăng nhập, hệ thống có thể xác thực người dùng bằng cách kiểm tra tên đăng nhập với danh sách tên đăng nhập được lưu trữ trong cơ sở dữ liệu. Mật khẩu mà người dùng nhập khi đăng nhập vào hệ thống được mã hóa. Sau đó, mật khẩu mã hoá này được kiểm tra với mật khẩu mã hóa được lưu trữ trong cơ sở dữ liệu. Nếu hai phiên bản mã hóa của mật khẩu trùng khớp, đăng nhập sẽ được chấp nhận. Đó là lý do tại sao một quản trị viên hệ thống không thể cho bạn biết mật khẩu mà bạn đã quên. Lưu ý, khách truy cập trang web có thể lưu tên đăng nhập và mật khẩu của mình dưới dạng một cookie trên máy khách, cho phép truy cập vào các khu vực đăng ký của trang web mà không cần nhập lại tên đăng nhập và mật khẩu vào các lần truy cập trang tiếp theo. Vấn đề đối với hệ thống các cookie này là thông tin có thể được lưu trữ trên máy khách dưới dạng văn bản thuần túy. Nếu cookie chứa thông tin đăng nhập và mật khẩu thì thông tin đó sẽ được hiển thị cho bất kỳ ai có quyền truy cập vào máy tính của người dùng. Máy chủ Web cung cấp bảo mật thông qua danh sách kiểm soát truy cập (Access Control List – ACL) để hạn chế sự truy cập tập tin của người dùng. Một ACL là một danh sách hoặc cơ sở dữ liệu các tập tin, các tài nguyên khác và tên đăng nhập của những người dùng có quyền truy cập vào các tập tin và tài nguyên. Mỗi tập tin có một ACL riêng. Khi một máy khách yêu cầu máy chủ Web cho phép truy cập vào một tập tin hoặc tài liệu, máy chủ Web sẽ kiểm tra tập tin ACL của tài nguyên để xác định xem người dùng có được phép truy cập vào tập tin đó hay không. Hệ thống này đặc biệt thuận tiện để hạn chế truy cập vào các tập tin trên máy chủ mạng nội bộ, các cá nhân chỉ có thể truy cập vào các tập tin cần thiết. Máy chủ Web có thể thực hiện kiểm soát tốt các tài nguyên bằng cách chia nhỏ quyền truy cập thành các hoạt động đọc, ghi hoặc thực thi. Ví dụ, một số người dùng có thể được phép đọc sổ tay nhân viên công ty, nhưng không được phép cập nhật hoặc ghi vào tập tin. Chỉ người quản lý nhân sự (HR) mới có quyền truy cập vào sổ tay nhân viên và quyền truy cập này được lưu trữ cùng với ID và mật khẩu của người quản lý nhân sự trong ACL. 1.4.6 Tường lửa Tường lửa là phần mềm hoặc phần mềm kết hợp phần cứng được cài đặt trong một mạng để điều khiển lưu lượng gói tin chuyển qua nó. Hầu hết các tổ chức đặt tường lửa tại điểm vào Internet của mạng. Tường lửa cung cấp sự bảo vệ giữa một mạng và Internet hoặc giữa một mạng với mạng bất kỳ khác. Tường lửa hoạt động theo các nguyên tắc sau: Tất cả lưu lượng truy cập từ bên trong ra bên ngoài và từ bên ngoài vào bên trong mạng phải đi qua nó. Chỉ lưu lượng truy cập được cấp quyền (được chỉ định bởi chính sách bảo mật cục bộ) mới được phép đi qua nó. Tường lửa không thể bị xâm nhập. Hoạt động như một bộ lọc, tường lửa cho phép các thông điệp được chọn được phép vào và ra khỏi mạng. Tường lửa được phân thành các loại sau: bộ lọc gói tin, máy chủ Gateway và máy chủ proxy. Tường lửa bộ lọc gói kiểm tra tất cả dữ liệu truyền giữa mạng tin cậy (trong tường lửa) và Internet. Bộ lọc gói tin kiểm tra các địa chỉ nguồn, đích và cổng của các gói tin đến, từ chối hoặc cho phép nhận các gói tin dựa trên một bộ các quy tắc được lập trình trước. Các máy chủ Gateway là tường lửa lọc lưu lượng dựa trên yêu cầu ứng dụng. Máy chủ Gateway giới hạn truy cập vào các ứng dụng cụ thể như Telnet, FTP và HTTP. Các cổng ứng dụng phân luồng lưu thông giữa mạng bên trong và mạng bên ngoài. Khác với kĩ thuật lọc gói tin, bộ lọc tường lửa ở mức ứng dụng lọc và ghi lại các yêu cầu ở mức ứng dụng, chứ không phải ở mức IP thấp. Tường lửa máy chủ proxy là những tường lửa giao tiếp với Internet thông qua đại diện của mạng riêng. Khi một trình duyệt được cấu hình để sử dụng tường lửa máy chủ proxy, tường lửa sẽ chuyển yêu cầu của trình duyệt tới Internet. Khi Internet gửi lại phản hồi, máy chủ proxy chuyển nó trở lại trình duyệt. Các máy chủ Proxy cũng được sử dụng như một bộ nhớ cache khổng lồ cho các trang Web. Các tổ chức hỗ trợ bảo mật máy tính 1.5.1 CERT Vào năm 1988, một nhóm các nhà nghiên cứu đã gặp nhau để nghiên cứu vụ tấn công nổi tiếng của Worm Internet ngay sau khi nó xảy ra. Họ muốn hiểu làm thế nào Worm hoạt động và làm thế nào để ngăn ngừa thiệt hại từ các cuộc tấn công tương tự trong tương lai. Trung tâm An ninh Máy tính Quốc gia, một bộ phận của Cơ quan An ninh Quốc gia Mỹ, đã khởi xướng một loạt các cuộc họp để tìm ra cách thức phản ứng với những vi phạm an ninh có thể ảnh hưởng đến hàng ngàn người trong tương lai. Ngay sau những cuộc họp đó, chính phủ Mỹ đã thành lập Đội Phản ứng Khắc phục Sự cố máy tính và đặt nó tại Đại học Carnegie Mellon ở Pittsburgh. Tổ chức này hiện đang hoạt động như là một phần của Học viện Kỹ thuật Phần mềm do liên bang tài trợ tại Carnegie Mellon và đã thay đổi tên pháp lý của nó từ Nhóm Phản ứng Khắc phục Sự cố máy tính thành CERT. CERT vẫn duy trì một cơ sở hạ tầng truyền thông hiệu quả và nhanh chóng bao gồm các chuyên gia bảo mật để những sự cố an ninh có thể được phòng tránh hoặc xử lý nhanh chóng. Ngày nay, CERT phản ứng với hàng nghìn sự cố an ninh mỗi năm và cung cấp rất nhiều thông tin để giúp người sử dụng Internet và các công ty có hiểu biết hơn về các rủi ro bảo mật. CERT gửi cảnh báo để thông báo cho cộng đồng Internet biết về các sự kiện bảo mật và nó được coi là nguồn tin chính cung cấp thông tin về virus, sâu và các loại tấn công khác. 1.5.2 Các tổ chức khác Năm 1989, một năm sau khi CERT được thành lập, một tổ chức hợp tác nghiên cứu và giáo dục được gọi là viện Quản trị viên, Kiểm toán, Mạng và An ninh Hệ thống, được thành lập. Hiện nay được gọi là Viện SANS, tổ chức này gồm hàng ngàn thành viên làm việc trong các công ty tư vấn bảo mật máy tính và các phòng công nghệ thông tin của các công ty với vai trò là các kiểm toán viên hệ thống, quản trị viên hệ thống và quản trị viên mạng. Trung tâm Giáo dục và Nghiên cứu về Bảo đảm và An toàn Thông tin (CERIAS) của Đại học Purdue là một trung tâm nghiên cứu và giáo dục đa ngành về an toàn thông tin. Trang Web của CERIAS cung cấp các tài nguyên về bảo mật máy tính, mạng và truyền thông và bao gồm một phần về đảm bảo thông tin. Trung tâm An ninh Internet là một tổ chức hợp tác phi lợi nhuận nhằm hỗ trợ các công ty vận hành các trang web thương mại điện tử, giảm thiểu nguy cơ bị gián đoạn do sự cố kỹ thuật hoặc các cuộc tấn công có chủ ý vào hệ thống máy tính của họ. Trung tâm cũng cung cấp thông tin cho (1) kiểm toán viên hệ thống - những người xem xét các hệ thống này và (2) các công ty bảo hiểm cung cấp bảo hiểm cho các công ty vận hành hệ thống này. 1.5.3 Pháp y máy tính và hacking có đạo đức Một nhóm nhỏ các công ty, được chấp thuận bởi các tập đoàn và các tổ chức an ninh, có nhiệm vụ xâm nhập vào máy tính của khách hàng. Được gọi là các chuyên gia pháp y máy tính hoặc các hacker có đạo đức, các thám tử máy tính này được thuê để điều tra máy tính cá nhân và tìm thông tin có thể được sử dụng trong quá trình tố tụng pháp lý. Lĩnh vực pháp y máy tính có trách nhiệm thu thập, bảo quản và phân tích bằng chứng liên quan đến máy tính. Các hacker có đạo đức thường được các công ty thuê để kiểm tra các biện pháp bảo vệ an ninh máy tính. 1.5