Android tətbiqlərinin dinamik analizi — Bölmə 1
Giriş
Android tətbiqlərinin dinamik analizi, tətbiqlərin necə işlədiyini daha dərindən anlamaq, potensial təhlükəsizlik zəifliklərini aşkar etmək və performans problemlərini müəyyənləşdirmək üçün əvəzsiz bir yanaşmadır. Bu proses, tətbiqin real vaxtda fəaliyyətini izləməyə və onun davranışını təhlil etməyə imkan tanıyır, beləliklə istifadəçilərin qarşılaşa biləcəyi riskləri minimuma endirir və tətbiqin ümumi effektivliyini artırır. Bu başlıqda Windows 10 əməliyyat sistemində Android tətbiqlərinin analizi üçün laboratoriya şəraiti qurmağa, Burp Suite Community Edition-dan istifadə edərək HTTP/HTTPS sorğularını izləməyə çalışacağıq.
Android emulyatorunun quraşdırılması
Bu hissədə Mən MEmu emulyatorundan istifadə edərək davam edəcəm. Alternativ kimi Genymotion, Bluestacks və ya NoxPlayer istifadə etmək də mümkündür.
MEmu emulyatorunu endirdikdən sonra vacib olan əməliyyatlardan biri Android ə.s. root rejimində açmaqdır. MEmuda tənzimlənmələr hissəsinə keçdikdən sonra “Root Mode” düyməsini açıq rejimdə saxlayın və emulyatoru yenidən başladın.
Android Debug Bridge (adb)
Bu hissədə android tətbiqlərinin analizində çoxluqla istifadə edilən adb alətini quraşdıraraq emulyator üzərində bəzi əməliyyatlar edəcəyik. adb alətini yükləmək üçün Android SDK Platform Tools paketini endirin.
Paketin içərisindəkiləri kompüterinizdə müvafiq bir yerə atın. Faylların olduğu qovluqda boş hissəyə sağ düymə ilə basın və əmr sətrini açın. (Windows Terminal proqramı yüklü olmayanlar PowerShell açaraq içərisində cmd.exe qaldıra bilər).
Açılan pəncərəyə adb devices
yazaraq MEmu emulyatoruna aid körpünün olub-olmadığını müəyyən edirik. MEmu üçün çıxış aşağıdakı formada olmalıdır:
List of devices attached
127.0.0.1:21503 device
Susmaya görə MEmu üçün port 21503
, Bluestacks üçün 5555
və NoxPlayer üçün 62001
olaraq təyin edilmişdir.
Bəzi adb əmrləri:adb devices
— Cihaza bağlı olan sazlama körpülərini çapa verir.adb connect <IP>
— IP adresində olan sazlama körpüsünə qoşulur.adb install <fayl.apk>
— Verilən apk faylını hədəf cihaza quraşdırır.adb shell
— Hədəf cihazda terminal açır.adb root
— sazlama körpüsünü root rejimində açır.
Burp Suite proxy ilə Android cihazın əlaqələndirilməsi
Burp Suite ilə HTTP/HTTPS trafiklərini izləmək, onlara müdaxilə etmək üçün Proxy
funksiyasını istifadə etmək olar. İctimaiyyətə açıq və pulsuz olan Burp Suite Community Edition quraşdıraraq aşağıdakı addımları təkrarlayın;
- Proxy menyusuna daxil olun.
Proxy Settings
adlı tənzimlənməni açın.- Yeni proksi interfeysi əlavə edin. (
Proxy > Add
) - Proksinin dinləmə portunu təyin edin. (
Bind to port
) - Bütün interfeyslər üçün dinləmə rejiminə alın. (
All interfaces
) - Yaddaşa verin. (
OK
)
Yuxarıdakı əməliyyatın nəticəsində kompüterə bağlı olan bütün şəbəkə interfeyslərində 8000
portu Burp Suite-nin proksi funksiyası üçün təyin olunacaq. Bununla da Android cihazda proksi serveri kompüterin ip adresi və 8000
portuna əsasən təyin etsək, cihazın şəbəkə trafikini Burp Suite üzərindən keçirmiş oluruq.
Kompüterin ip adresini öyrənmək üçün əmr sətrini açaraq ipconfig
yazın. Çıxan şəbəkə interfeysləri içərisində IPv4 Address
hissəsində kompüterinizə bağlı olan şəbəkə interfeyslərinin IPv4 adreslərini görəcəksiniz.
Android cihazda Network & internet > Wi-Fi
tənzimləməsinə daxil olun və WiFi şəbəkəsinin sağında yerləşən tənzimləmə düyməsinə basın. Açılan hissədə yuxarı-sağda yerləşən Modify
düyməsinə keçid edərək susmaya görə None
olan Proxy
tənzimləməsini Manual
edin. Bundan sonra IP adresi yerinə öz kompüterinizin ip adresini, port hissəsinə isə az əvvəl `Burp Suite`-də təyin etdiyiniz portu (8000) daxil edərək yaddaşa verin.
Bu əməliyyatdan sonra Burp Suite proxy ilə Android cihazınız əlaqələnmiş olacaq.
Burp Suite CA (Certification Authority), Cihaza sertifikat əlavə etmə.
Burp Suite proksi ilə Android cihazını əlaqələndirdikdən sonra SSL ilə yaradılan HTTP əlaqələrini izləmək uğursuz ola bilər. Bunun əsas səbəblərindən biri də, Android cihazlarının təhlükəsizliyi təmin etmək üçün SSL sertifikatlarını yoxlamasıdır. Burp Suite, proxy olaraq fəaliyyət göstərdiyində, HTTPS trafikini deşifrə etmək üçün öz sertifikatını istifadə edir. Lakin cihazınızda Burp Suite-in CA sertifikatı quraşdırılmayıbsa, cihaz TLS bağlantılarını etibarsız sayır və buna görə də bu əlaqələri izləmək mümkün olmur. Bu problemi həll etmək üçün Android cihazda Burp Suite CA sertifikatını quraşdırmaq olar.
Android cihazda veb brauzeri açın və http://burp
adresinə daxil olun. Açılan səhifədə yuxarı sağ hissədə yerləşən CA Certificate
düyməsinə basaraq sertifikatı endirin.
Daha sonra fayl meneceri vasitəsi ilə yükləmələr qovluğuna keçid edin və cacert.der
faylının adını cacert.crt
ilə dəyişin. Cihazda Network & internet > Wi-Fi
tənzimləməsinə daxil olun və Wi-Fi preferences
menyusuna daxil olun. Açılan ekranda Advanced
düyməsinə basaraq Install Certificates
ilə davam edin. Açılan fayl seçmə menyusundan cacert.crt
faylını seçin və sertifikata ad verin (məs.: burp
) . Ən sonda OK
düyməsinə basın.
Bu əməliyyatdan sonra Burp Suite üzərindən həm HTTP, həm də HTTPS sorğularını izləyə, dəyişdirə və digər əməliyyatları icra edə bilərsiniz.
Artıq Burp Suite Community Edition ilə bir çox applikasiyanın HTTP/HTTPS sorğularını analiz etməyə hazırsınız. Sonrakı bölmələrdə isə əlavə sertifikat yoxlaması olan proqramların HTTP/HTTPS sorğularını izləmə və bəzi əlavə mövzulara toxunacağıq.