I. An toàn thông tin mạng
Tam giác CIA (Confidenttiality, integrity, availability) là khái niệm cơ bản, cốt lõi của an toàn thông tin.
1. Tính bí mật
Bí mật là thuật ngữ được sử dụng để tránh lộ thông tin đến những đối tượng không được xác thực hoặc để lọt vào các hệ thống khác. Ví dụ: một giao dịch tín dụng qua Internet, số thẻ tín dụng được gửi từ người mua hàng đến người bán, và từ người bán đến nhà cung cấp dịch vụ thẻ tín dụng. Hệ thống sẽ cố gắng thực hiện tính bí mật bằng cách mã hóa số thẻ trong suốt quá trình truyền tin, giới hạn nơi nó có thể xuất hiện (cơ sở dữ liệu, log file, sao lưu (backup), in hóa đơn…) và bằng việc giới hạn truy cập những nơi mà nó được lưu lại. Nếu một bên không được xác thực (ví dụ người dùng không có trong giao dịch, hacker…) lấy số thẻ này bằng bất kì cách nào, thì tính bí mật không còn nữa. Tính bí mật rất cần thiết (nhưng chưa đủ) để trì sự riêng tư của người có thông tin được hệ thống lưu giữ.
2. Tính toàn vẹn
Trong an toàn thông tin, toàn vẹn có nghĩa rằng dữ liệu không thể bị chỉnh sửa mà không bị phát hiện. Nó khác với tính toàn vẹn trong tham chiếu của cơ sở dữ liệu, mặc dù nó có thể được xem như là một trường hợp đặc biệt của tính nhất quán như được hiểu trong hô hình cổ điển ACID (tính nguyên tử (atomicity), tính nhất quán (consistency), tính tính cách ly (isolation), tính lâu bền (durability) – là một tập các thuộc tính đảm bảo rằng cơ sở dữ liệu đáng tin cậy) của xử lý giao dịch. Tính toàn vẹn bị xâm phạm khi một thông điệp bị chỉnh sửa trong giao dịch. Hệ thống thông tin an toàn luôn cung cấp các thông điệp toàn vẹn và bí mật.
3. Tính sẵn sàng
Mọi hệ thống thông tin đều phục vụ mục đích riêng của nó và thông tin phải luôn luôn sẵn sàng khi cần thiết. Điều đó có nghĩa rằng hệ thống tính toán sử dụng để lưu trữ và xử lý thông tin, có một hệ thống điều khiển bảo mật sử dụng để bảo vệ nó, và kênh kết nối sử dụng để truy cập nó phải luôn hoạt động chính xác. Hệ thống có tính sẵn sàng cao hướng đến sự sẵn sàng ở mọi thời điểm, tránh được những rủi ro cả về phần cứng, phần mềm như: sự cố mất điện, hỏng phần cứng, cập nhật, nâng cấp hệ thống… đảm bảo tính sẵn sàng cũng có nghĩa là tránh được tấn công từ chối dịch vụ.
4. Tính xác thực
Trong hoạt động tính toán, kinh doanh qua mạng và an toàn thông tin, tính xác thực là vô cùng cần thiết để đảm bảo rằng dữ liệu, giao dịch, kết nối hoặc các tài liệu (tài liệu điện tử hoặc tài liệu cứng) đều là thật (genuine). Nó cũng quan trọng cho việc xác nhận rằng các bên liên quan biết họ là ai trong hệ thống.
5. Tính không thể chối cãi
Không thể chối cãi có nghĩa rằng một bên giao dịch không thể phủ nhận việc họ đã thực hiện giao dịch với các bên khác. Ví dụ: trong khi giao dịch mua hàng qua mạng, khi khách hàng đã gửi số thẻ tín dụng cho bên bán, đã thanh toán thành công, thì bên bán không thể phủ nhận việc họ đã nhận được tiền, (trừ trường hợp hệ thống không đảm bảo tính an toàn thông tin trong giao dịch).
II. Các nguy cơ của an ninh thông tin
Nhìn từ quan điểm hacker, có vô số cách để tấn công, lấy cắp thông tin của một hệ thống. Lỗ hổng của ứng dụng, lỗ hổng dịch vụ trực tuyến (web, mail…), lỗ hổng hệ điều hành… Vì thế, rất khó để có thể thiết lập và duy trì bảo mật thông tin. Rất nhiều các khai thác thành công đều bắt nguồn từ bên trong tổ chức (công ty). Theo những thống kê của Computer Security Institute, thì khoảng 60%-80% các hành động sử dụng sai mạng máy tính, phần mềm bắt nguồn từ bên trong các công ty. Vì thế, đào tạo nhận thức an ninh mạng cho các thành viên của công ty, thậm chí cho người quản trị là vô cùng quan trọng.
1. Lỗi và sự bỏ sót, cố tình bỏ qua
Nguy cơ này được xếp vào hàng nguy hiểm nhất. Khi lập trình, các cảnh báo và lỗi do trình biên dịch đưa ra thường bị bỏ qua và nó có thể dẫn đến những sự việc không đáng có, ví dụ như tràn bộ đệm, tràn heap. Khi người dùng vô tình (hay cố ý) sử dụng các đầu vào không hợp lý thì chương trình sẽ xử lý sai, hoặc dẫn đến việc bị khai thác, đổ vỡ (crash). Kỹ thuật lập trình đóng vài trò rất quan trọng trong mọi ứng dụng. Và lập trình viên phải luôn luôn cập nhật thông tin, các lỗi bị khai thác, cách phòng chống, sử dụng phương thức lập trình an toàn. Một cách tốt nhất để phòng tránh là sử dụng chính sách “lease privilege” (có nghĩa là ít quyền hạn nhất có thể). Người dùng sẽ chỉ được xử lý, truy cập đến một số vùng thông tin nhất định. Một chính sách khác nhất thiết phải có, đó là phải sao lưu dữ liệu thường xuyên.
2. Lừa đảo và lấy cắp thông tin
Tưởng tượng rằng có những đồng nghiệp trong công ty đi làm không phải để làm việc, mà để lấy cắp những thông tin quan trọng của công ty. Chuyện này hoàn toàn có thể xảy ra, đặc biệt là những công ty làm việc về quân sự, cơ quan nhà nước… Như đã thống kê ở trên (mục 2.1 a.), rất nhiều công ty bị lộ thông tin từ bên trong. Rất khó phát hiện kẻ tấn công từ bên trong. Việc lấy cắp có thể được thực hiện dưới nhiều hình thức: lấy cắp văn bản in hay lấy cắp thông tin số, cung cấp thông tin nội bộ cho bên ngoài. Cách tốt nhất để phòng tránh nguy cơ này là: phải có những chính sách bảo mật được thiết kế tốt. Những chính sách có thể giúp người quản lý bảo mật thông tin thu thập thông tin, từ đó điều tra và đưa ra những kết luận chính xác, nhanh chóng. Khi đã có một chính sách tốt, người quản trị có thể sử dụng các kỹ thuật điều tra số (forensics) để truy vết các hành động tấn công. Ví dụ như hình thức lấy cắp thông tin số, nếu một nhân viên truy cập vào khu vực đặt tài liệu bí mật của công ty, hệ thống sẽ ghi lại được thời gian, IP, tài liệu bị lấy, sử dụng phần mềm gì để truy cập, phần mềm bị cài đặt trái phép… từ đó, người quản trị sẽ chứng minh được ai đã làm việc này.
3. Hacker
Có rất nhiều cách hacker tấn công hệ thống. Mỗi kẻ tấn công đều có những thủ thuật, công cụ, kiến thức, hiểu biết về hệ thống. Và cũng có vô số các cuốn sách, diễn đàn đăng tải những nội dung này. Trước tiên, hacker thu thập thông tin về hệ thống, nhiều nhất có thể. Càng nhiều thông tin, thì khả năng thành công của việc tấn công sẽ càng lớn. Những thông tin đó có thể là: tên ứng dụng, phiên bản ứng dụng, hệ điều hành, email quản trị… Bước tiếp theo là quét hệ thống để tìm lỗ hổng. Các lỗ hổng này có thể gây ra bởi ứng dụng xử lý thông tin hoặc do hệ điều hành, hoặc bất kỳ thành phần nào có liên quan. Từ đó, họ sẽ lợi dụng các lỗ hổng tìm được, hoặc sử dụng các tài khoản mặc định nhằm chiếm quyền truy cập vào ứng dụng. Khi đã thành công, hacker sẽ cài đặt các phần mềm, mã độc để có thể xâm nhập vào hệ thống trong các lần sau. Bước cuối cùng là xóa vết tấn công. Các trang mạng nổi tiếng như: The World Street Jounals, The NewYork Times mới đây đều công bố rằng mình đã bị hacker tấn công. Để phòng tránh nguy cơ này, các ứng dụng tương tác với người dùng, dữ liệu cần phải giấu đi những thông tin quan trọng (nếu có thể) như phiên bản, loại ứng dụng, các thành phần kèm theo… Sử dụng các phần mềm phát hiện truy cập trái phép, rà soát hệ thống thường xuyên xem có phần mềm lạ không, cấu hình tường lửa hợp lý, chính sách truy cập của từng nhóm người dùng, quản lý truy cập…
4. Lây lan mã độc
Có rất nhiều loại mã độc có thể kể đến như: virus, sâu máy tính, Trojan horse, logic bomb… Nguy cơ do chúng gây ra là hoàn toàn rõ ràng, và vô cùng phong phú. Khi đã xâm nhập vào máy nạn nhân, mã độc có thể: mở cổng hậu (back door) để kẻ tấn công có thể truy cập và làm mọi việc trên máy nạn nhân; ghi lại thông tin sử dụng máy tính (thao tác bàn phím, sử dụng mạng, thông tin đăng nhập…). Đã có rất nhiều công ty bị cài đặt mã độc. Mới đây, Facebook cũng bị một nhóm hacker tấn công[2] do máy tính của một số nhân viên bị cài mã độc. Cài mã độc vào máy tính có thể qua nhiều con đường: lỗ hổng phần mềm (điển hình như adobe Flash, rất nhiều lỗ hổng 0-days được phát hiện, hay Java Runtime Environment thời gian gần đây cũng liên tục đưa ra bản vá bảo mật); hệ thống đã bị hacker điều khiển; sử dụng phần mềm crack, không có giấy phép sử dụng; Cách tốt nhất để tránh nguy cơ này là luôn cập nhật phần mềm xử lý dữ liệu, hệ điều hành và phần mềm an ninh mạng, diệt virus.
5. Tấn công từ chối dịch vụ
Nếu một hacker không thể cướp quyền truy cập vào một hệ thống, họ sẽ tìm cách tấn công từ chối dịch vụ (làm hệ thống không thể phục vụ người dùng được trong một khoảng thời gian, bằng cách truy cập đến hệ thống liên tục, số lượng lớn, có tổ chức). Có 2 kiểu tấn công từ chối dịch vụ:
• DoS (Denny of Service – tấn công từ chối dịch vụ): tấn công này có thể xảy ra với cả ứng dụng trực tuyến và ứng dụng offline. Với ứng dụng trực tuyến, hacker sử dụng các công cụ tấn công (tấn công Syn floods, Fin floods, Smurfs, Fraggles) trên một máy tính để tấn công vào hệ thống, khiến nó không thể xử lý được yêu cầu, hoặc làm nghẽn băng thông khiến người dùng khác khó mà truy cập được. Với ứng dụng offline, hacker tạo ra những dữ liệu cực lớn, hoặc các dữ liệu xấu (làm cho quá trình xử lý của ứng dụng bị ngưng trệ, treo)
• DDoS (Distributed Denny of Service – tấn công từ chối dịch vụ phân tán): một hình thức cao cấp của DoS, các nguồn tấn công được điều khiển bởi một (một vài) server của hacker (gọi là server điều khiển), cùng tấn công vào hệ thống. Loại tấn công này khó phát hiện ra hơn cho các hệ thống phát hiện tự động, giúp hacker ẩn mình tốt hơn.
Để chống lại nguy cơ này, hệ thống cần có nhiều server phục vụ, server phân tải, cơ chế phát hiện tấn công DoS hiệu quả.
6. Tấn công Social engineering
Thuật ngữ này khá phổ biến trong công nghệ thông tin và an toàn thông tin. Đây là một kỹ thuật khai thác nhằm vào điểm yếu con người. Con người trực tiếp quản lý phần mềm, hệ thống. Do đó, họ nắm được mọi thông tin quan trọng nhất. Kỹ thuật này ngày càng hữu ích và có độ chính xác tương đối cao. Điển hình cho hình thức này là hacker nổi tiếng: Kevin Mitnick. Trong một lần, anh chỉ cần vài thông tin quan trọng của tổng thống Mỹ, đã gọi điện cho thư ký của ông và lấy được toàn bộ thông tin về thẻ tín dụng của tổng thống!
TH