Một ứng dụng không an toàn có thể khiến người dùng và hệ thống gặp nhiều loại thiệt hại. Khi một bên độc hại lợi dụng các lỗ hổng hoặc thiếu tính năng bảo mật để gây thiệt hại, thì đó được gọi là tấn công. Chúng ta sẽ xem xét các loại tấn công khác nhau trong hướng dẫn này để bạn biết những gì cần tìm kiếm khi bảo mật ứng dụng.
Tấn công chủ động so với tấn công thụ động
Có thể chia các cuộc tấn công thành hai loại: chủ động và thụ động.
Hành vi tấn công đang diễn ra
Trong một tấn công chủ động, kẻ tấn công sẽ cố gắng xâm nhập trực tiếp vào ứng dụng. Có nhiều cách để thực hiện việc này, từ việc sử dụng danh tính giả để truy cập vào dữ liệu nhạy cảm (tấn công mạo danh) đến việc làm ngập máy chủ của bạn bằng một lượng lớn lưu lượng truy cập để khiến ứng dụng của bạn không phản hồi (tấn công từ chối dịch vụ).
Các cuộc tấn công chủ động cũng có thể được thực hiện đối với dữ liệu đang truyền. Kẻ tấn công có thể sửa đổi dữ liệu ứng dụng của bạn trước khi dữ liệu đó đến trình duyệt của người dùng, hiển thị thông tin đã sửa đổi trên trang web hoặc chuyển hướng người dùng đến một đích đến ngoài ý muốn. Đôi khi, quá trình này được gọi là sửa đổi thông báo.

Tấn công thụ động
Trong một tấn công thụ động, kẻ tấn công cố gắng thu thập hoặc tìm hiểu thông tin từ ứng dụng nhưng không ảnh hưởng đến chính ứng dụng đó.

Hãy tưởng tượng có người đang nghe lén cuộc trò chuyện của bạn với bạn bè và gia đình, thu thập thông tin về cuộc sống cá nhân của bạn, bạn bè của bạn và nơi bạn tụ tập. Bạn cũng có thể làm tương tự với lưu lượng truy cập web. Kẻ tấn công có thể thu thập dữ liệu giữa trình duyệt và máy chủ, thu thập tên người dùng và mật khẩu, nhật ký duyệt web của người dùng và dữ liệu được trao đổi.
Phòng thủ trước các cuộc tấn công
Kẻ tấn công có thể trực tiếp gây hại cho ứng dụng của bạn hoặc thực hiện một hoạt động độc hại trên trang web của bạn mà bạn hoặc người dùng không nhận thấy. Bạn cần có các cơ chế để phát hiện và bảo vệ khỏi các cuộc tấn công.
Rất tiếc, không có giải pháp nào giúp ứng dụng của bạn an toàn 100%. Trong thực tế, nhiều tính năng và kỹ thuật bảo mật được sử dụng theo lớp để ngăn chặn hoặc trì hoãn thêm cuộc tấn công (đây được gọi là phòng thủ chuyên sâu). Nếu ứng dụng của bạn chứa một biểu mẫu, bạn có thể kiểm tra dữ liệu đầu vào trong trình duyệt, sau đó trên máy chủ và cuối cùng là trong cơ sở dữ liệu; bạn cũng sẽ sử dụng HTTPS để bảo mật dữ liệu trong quá trình truyền.
Tóm tắt
Vì nhiều cuộc tấn công có thể xảy ra mà không bao giờ tấn công máy chủ của bạn, nên đôi khi bạn khó phát hiện được liệu có cuộc tấn công nào đang diễn ra hay không. Tin vui là các trình duyệt web đã tích hợp sẵn các tính năng bảo mật mạnh mẽ. Hãy xem chủ đề tiếp theo "Cách trình duyệt giảm thiểu các cuộc tấn công" để tìm hiểu thêm.