Security in Java Backend
Security in Java Backend
1. Lộ mã nguồn: Khi mã backend chạy trên phía client, nó có thể bị truy cập và xem bởi
người dùng. Người dùng có thể tìm cách đảo ngược kỹ thuật (reverse engineer) mã
nguồn và tìm ra các thông tin nhạy cảm như API keys, thông tin xác thực, hoặc logic
của ứng dụng
2. Tấn công giả mạo: Nếu logic của ứng dụng được xử lý trên client, kẻ tấn công có thể
tạo ra yêu cầu giả mạo để thay đổi dữ liệu hoặc thực hiện các hành động không mong
muốn. Ví dụ, nếu xác thực người dùng hoặc kiểm tra quyền truy cập xảy ra ở phía
client, kẻ tấn công có thể bỏ qua các kiểm tra này
3. Không thể kiểm soát môi trường: Client có thể chạy trên nhiều loại thiết bị và hệ
điều hành khác nhau, mà bạn không thể kiểm soát. Điều này có thể tạo ra lỗ hổng bảo
mật mà không thể lường trước được. Môi trường client có thể bị nhiễm malware hoặc
phần mềm độc hại khác, khiến cho việc bảo mật trở nên khó khăn hơn
4. Quản lý phiên không an toàn: Nếu bạn quản lý phiên người dùng (session
management) ở phía client, nó có thể dẫn đến các vấn đề như session hijacking (đánh
cắp phiên). Kẻ tấn công có thể dễ dàng lấy được thông tin phiên từ client và sử dụng
nó để truy cập vào tài khoản người dùng
5. Khó khăn trong bảo trì và nâng cấp: Nếu logic backend được tích hợp trong ứng
dụng client, bất kỳ thay đổi nào cần thiết cho backend sẽ yêu cầu phát hành lại ứng
dụng client. Điều này có thể gây khó khăn trong việc duy trì và cập nhật ứng dụng,
đặc biệt là khi có nhiều phiên bản ứng dụng đang chạy
Giải pháp