Hiểu an ninh thông tin và các khái niệm liên quan
Hệ thống thông tin được chia thành 3 phần chính: phần cứng, phần mềm và kết nối với mục đích giúp cho việc phân loại và áp dụng các chuẩn về an toàn thông tin dễ dàng, thuận lợi nhất. Thông thường, thủ tục hoặc chính sách bảo mật này được thực thi để nói với con người (quản trị, người dùng, người ...
Hệ thống thông tin được chia thành 3 phần chính: phần cứng, phần mềm và kết nối với mục đích giúp cho việc phân loại và áp dụng các chuẩn về an toàn thông tin dễ dàng, thuận lợi nhất. Thông thường, thủ tục hoặc chính sách bảo mật này được thực thi để nói với con người (quản trị, người dùng, người vận hành) rằng làm thế nào để sử dụng sản phẩm mà vẫn đảm bảo an toàn thông tin của cá nhân và trong cả tổ chức.
An toàn thông tin là bảo vệ thông tin và hệ thống thông tin nói chung khỏi các truy cập trái phép, sử dụng, làm lộ, làm hỏng, chỉnh sửa, ghi chép không được phép…
Khái niệm an toàn thông tin (information security), an toàn máy tính (computer security), đảm bảo thông tin (information assurance) được sử dụng hoán đổi cho nhau. Những lĩnh vực này liên quan nội bộ với nhau, thường xuyên chia sẻ những mục đích chính của việc bảo vệ các khía cạnh tính bí mật (confidentiality), toàn vẹn (integrity) và tính sẵn sàng (availability) của thông tin; tuy nhiên, lại có một số khác biệt giữa chúng. Sự khác nhau chính đó là cách tiếp cận vấn đề, phương pháp thực hiện và phạm vi quan tâm của mỗi lĩnh vực. An toàn thông tin quan tâm đến khía cạnh bí mật, toàn vẹn, sẵn sàng của dữ liệu không quan tâm đến hình thức của dữ liệu: điện tử, bản in, hoặc các dạng khác. An toàn máy tính tập trung vào việc đảm bảo tính sẵn sàng và hoạt động đúng đắn của hệ thống máy tính mà không quan tâm đến thông tin được lưu trữ, xử lý bởi chúng. Đảm bảo thông tin tập trung vào lý do đảm bảo rằng thông tin được bảo vệ và vì thế nó là lý do để thực hiện an toàn thông tin.
Vì sao cần An ninh thông tin?
Từ chính phủ, quân đội, các tập đoàn, bệnh viện, cơ sở kinh doanh… đến người dùng đều có những thông tin bí mật riêng về khách hàng, nhân viên, sản phẩm, nghiên cứu… Hầu hết các thông tin đó hiện nay đều được thu thập, xử lý và lưu trữ bởi máy vi tính, trung tâm dữ liệu. Dữ liệu đó cũng có thể được chuyển qua mạng để về trung tâm lưu trữ, đến các nhánh công ty con, hoặc gửi cho bạn bè, người thân… Nếu thông tin đó lọt vào tay đối thủ cạnh tranh thì cực kỳ nguy hiểm.
Vì thế, bảo vệ thông tin trở thành một yêu cầu không thể thiếu trong mọi hoạt động nói chung và hoạt động điện tử nói riêng. An toàn thông tin trong thời đại số là quan trọng hơn bao giờ hết.
Các khái niệm cơ bản
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.
Có rất nhiều cuộc tranh luận về việc mở rộng tam giác này thành nhiều yếu tố hơn. Những nguyên lý như: tính trách nhiệm (Accountability) đôi khi được đề xuất thêm vào nguyên lý cơ bản. Thực tế đã chỉ ra rằng ví dụ như tính không thể chối cãi (Non – Repudiation) không thể biểu diễn bởi tam giác trên, và với sự phát triển của hệ thống máy tính như hiện nay, vấn đề pháp lý (Legality) cũng trở thành một nhân tố rất quan trọng.
Trong năm 1992 và sửa đổi năm 2002, hướng dẫn của tổ chức OECD về bảo mật cho các hệ thống thông tin và mạng đã để xuất 9 nguyên tắc cơ bản sau: tính nhận thức (Awareness), tính trách nhiệm (Responsibility), tính phản hồi (Response), đạo đức (Ethics), tính dân chủ (Democracy), đánh giá rủi ro (Risk Assessment), thiết kế bảo mật và thực thi, quản lý bảo mật, và đánh giá lại (Reassessment). Tiếp nối từ đó, năm 2004, tổ chức NIST đã đưa ra các luật bảo mật thông tin, trong đó đề xuất 33 nguyên tắc.
Năm 2002, Donn Parker đã đề xuất một mô hình tương đường với tam giác CIA, được gọi là 6 nhân tố cơ bản của thông tin. Các nhân tố đo là: bí mật (confidentiality), sở hữu (possession), toàn vẹn (integrity), xác thực (authenticity), sẵn sàng (availability) và tiện ích (utility).
Hình 1: Tam giác CIA
Sau đây sẽ là từng khía cạnh của tam giác CIA và một số tính chất khác.
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).
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 (Tin tặc)
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. Social engineering
Thuật ngữ này khá phổ biến trong công nghệ 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!