diff --git a/README.md b/README.md index 38c0d27fb09d70968a3c7af6b9ba603e52584cd4..2e55602fe81e9dc3ea8ee82702f3fc7d9962fe3c 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,12 @@ NerbOS - NOS - [App Description](#app-description) - [Technologies Used](#technologies-used) - [Features](#features) - - [Screenshots](#screenshots) + - [OWASP](#owasp) + - [Accessibility](#accessibility) + - [Screenshots Before Accessibility Testing](#screenshots-before-accessibility-testing) - [Portrait](#portrait) - [Landscape](#landscape) + - [Screenshots After Accessibility Testing](#screenshots-after-accessibility-testing) - [How to Run](#how-to-run) - [Project Status](#project-status) - [Room for Improvement](#room-for-improvement) @@ -52,7 +55,39 @@ Libraries used in the project: - View transaction history - View user profile -## Screenshots +## OWASP + +1. Insufficient Input/Output Validation (M4) + + - Pada aplikasi ini, di beberapa input yang butuh validasi seperti nominal yang sudah diatur agar hanya bisa diisi dengan angka dan beberapa hal lainnya. Namun, beberapa input yang lain seperti email dan password tidak divalidasi. Kami menangani jika ada salah satu input yang tidak sesuai dengan yang sebenarnya dengan memberikan pesan error yang sesuai. + +2. Security Misconfiguration (M8) + + - Pada aplikasi ini, menurut kami konfigurasi yang ada sudah cukup aman. Kami mengatur semua string, color, dan resource lainnya di dalam folder res. + +3. Insecure Data Storage (M9) + - Pada aplikasi ini, terdapat autentikasi yang menggunakan JWT. Token ini kami enkripsi dahulu sebelum disimpan di shared preference dengan mode private. + - Key yang digunakan untuk enkripsi dan dekripsi token disimpan di dalam KeyStore Android. + - Sistem Android Keystore melindungi materi kunci dari penggunaan tanpa izin dengan dua cara. Pertama, mengurangi risiko penggunaan materi kunci tanpa izin dari luar perangkat Android dengan mencegah ekstraksi materi kunci dari proses aplikasi dan dari perangkat Android secara keseluruhan. Kedua, sistem keystore mengurangi risiko penggunaan materi kunci tanpa izin dalam perangkat Android dengan membuat aplikasi menentukan penggunaan kuncinya dengan izin, lalu menerapkan batasan tersebut di luar proses aplikasi. + - Dengan melakukan enkripsi dan dekripsi token, maka data yang disimpan di shared preference akan jauh lebih aman. + +## Accessibility + +1. Before Testing +  +  + +2. After Testing +  + +List of changes: +- Mengubah contrast text +- Menambah label element +- Memperbesar button +- Mengubah deskripsi yang tidak diperlukan +- Mengubah layout transaction item location menjadi location text dan location button (untuk akses map), karena button terlalu kecil untuk ditekan + +## Screenshots Before Accessibility Testing ### Portrait @@ -124,6 +159,10 @@ Libraries used in the project: 11. User Profile Page  +## Screenshots After Accessibility Testing + +Screenshots after accessibility testing did not get uploaded because there are no major changes made to the application UI/layout. + ## How to Run 1. Clone this repository