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. Facebook cũng từng bị một nhóm hacker tấn công do máy tính của một số nhân viên bị cài mã độc, hay vụ việc điển hình nhất là vụ việc hàng loạt website của VCCorp bị tấn công.
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!