Giới thiệu một số cách tăng tính bảo mật cho Android App

Tram Ho

Một số cách tăng tính bảo mật cho Android App

1. Sử dụng Proguard

ProGuard là công cụ tích hợp sẵn trong Android Studio, với các tính năng giúp cho mã nguồn ứng dụng của bạn thu gọn lại (để dễ phân phối), làm rối (đổi tên các lớp, hàm, biến,.. trở nên khó đọc để chống dịch ngược), cuối cùng là nó tối ưu để ứng dụng chạy nhanh hơn. Nên sử dụng ProGuard trong cả môi trường đang phát triển (debug, staging) lẫn sản phẩm phát hành (release), nếu chỉ sử dụng ở sản phẩm phát hành mà bỏ qua sử dụng nó khi chạy trong môi trường đang phát triển có thể khiến ứng dụng bị crash không mong muốn khi phát hành…

Để cấu hình, ta thêm đoạn code sau vào file build.gradle

Trong đoạn cấu hình sử dụng ProGuard ở trên, file proguard-rules.pro là file cấu hình thêm về cách thức hoạt động cho ProGuard

Khi ProGuard làm rối code, nó đổi tên các class, nhiều class tham khảo từ bên thứ 3 cũng bị chuyển đổi, nên có thể dẫn tới lỗi và crash. Trong trường hợp muốn không làm rối một lớp nào đó bạn dùng cấu hình keep, ví dụ trong file: proguard-rules.pro ta thêm

Với mã trên, sẽ giữ lại các lớp, phương thức trong folder com.myapp.entity

2. Chặn các thiết bị đã root

Việc root máy giúp ta làm chủ và có thể cài đặt thiết bị theo ý muốn của mình, nhưng bên cạnh đó có thể làm khả năng bảo mật thông tin của bạn bị ảnh hưởng. App của chúng ta có thể bị tấn công và đánh cắp thông tin. Vậy ta nên chặn các thiết bị đã root sử dụng App để đảm bảo an toàn (nếu cần thiết).

Có rất nhiều cách giúp chúng ta kiểm tra xem thiết bị đã root hay chưa, nhưng cách nhanh nhất và cũng tương đối chính xác là sử dụng thư viện rootbear (https://github.com/scottyab/rootbeer) để phát hiện. Ngoài ra nếu muốn ta cũng có thể tự viết để tối ưu hơn.

Cách sử dụng cũng rất đơn giản như sau:

3. Chặn chụp ảnh màn hình khi dùng App

Để giảm thiểu việc hình ảnh trong khi sử dụng app bị chụp lại, photoshop, sau đó sử dụng cho các mục đích xấu như lừa đảo,… Ta nên ngăn không cho người dùng chụp ảnh màn hình ở một số màn cần bảo mật, hoặc cả App.

Để sử dụng ta setFlag FLAG_SECURE cho window

Tham khảo: https://developer.android.com/reference/android/view/WindowManager.LayoutParams

Kết

Trên đây là một số cách để tăng tính bảo mật khi ta phát triển App trên android. Các bạn cũng có thể áp dụng các cách này với các thư viện, các hàm khác nhau cho phù hợp với từng framework(nếu có). Cảm ơn các bạn đã theo dõi.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo