
Giriş
Mobil cihazların geniş yayılması və internetə daha çox bağlı olması ilə mobil tətbiqlərin təhlükəsizliyi aktual mövzulardan biri halına gəldi. Android tətbiqlərində potensial təhlükəsizlik zəifliklərini aşkar etmək və bu zəifliklərə qarşı müdafiə tədbirləri görmək çox vacibdir. QARK (Quick Android Review Kit) bu məqsədlə hazırlanmış bir vasitədir və Android tətbiqlərindəki təhlükəsizlik zəifliklərini avtomatik aşkar etmək üçün istifadə olunur.
QARK birbaşa simsiz şəbəkələrdə istifadə olunmasa da, onun təhlil etdiyi təhlükəsizlik məsələləri mobil tətbiqlərin simsiz mühitlərdə müdafiəsini gücləndirir. Bu məqalədə, QARK-ın aşkar edə biləcəyi zəifliklər və onların həll yollarını, eləcə də simsiz şəbəkələrdə təhlükəsizlik üçün oynadığı rolu müzakirə edəcəyik.
QARK-ın Əsas Funksiyaları və Təhlükəsizlik Məqsədi
QARK Android tətbiqlərindəki kodu, konfiqurasiyanı və istifadə olunan kitabxanaları analiz edərək potensial təhlükəsizlik zəifliklərini aşkar edir. Onun əsas məqsədi inkişaf etdiricilərə təhlükəsizlik problemlərini öncədən aşkar etmək və onları aradan qaldırmaq üçün tədbirlər tövsiyə etməkdir. Təhlükəsizliyin təmin olunması xüsusilə aşağıdakı sahələrdə vacibdir:
· Simsiz şəbəkələrdə məlumat ötürülməsi və intercept riski
· Tətbiq icazələrinin və giriş nəzarətinin düzgün idarə olunması
· Məlumat şifrələməsi və həssas məlumatların qorunması
QARK-ın Təhlükəsizlik Təhlili: Məsələlər və Təhlükələr
Simsiz şəbəkələr üzərindən məlumatların ötürülməsi mobil tətbiqlər üçün əsas məqamdır və bu mühitlərdə məlumatların intercept edilməsi risklidir.
QARK mobil tətbiqləri analiz edərək təhlükəsizlik zəifliklərini aşkar edir və hücumlara qarşı tədbirlər görməyə imkan yaradır. Bu, aşağıdakı əsas sahələrdə təhlükəsizliyi təmin edir:
- Zəif Şifrələmə və HTTPS İstifadə Zəiflikləri
QARK aşkar edə biləcəyi zəifliklərdən biri, tətbiqlərin simsiz şəbəkələr üzərindən məlumat ötürərkən HTTPS yerinə HTTP protokolundan istifadə etməsidir. HTTP şifrələnmədiyindən, bu cür zəiflik MitM (Man-in-the-Middle) hücumları üçün açıq qapı yaradır. QARK bu cür zəiflikləri aşkar etdikdə, HTTPS protokolunun istifadəsini məsləhət görür və sertifikatların düzgün təsdiqlənməsini təmin etmək üçün həllər təqdim edir. Məsələn, tətbiqlərin etibarlı bir SSL/TLS sertifikatı ilə işləməsini və şifrələnməyən məlumat ötürülməsini qarşısını almağı tövsiyə edir.

2. Təhlükəsiz Sertifikat Təsdiqlənməsi
Sertifikat doğrulamasının düzgün tətbiq olunmaması nəticəsində tətbiqlər saxta serverlərə yönləndirilə bilər. QARK, SSL/TLS sertifikatlarının düzgün yoxlanmasını təmin etmək üçün sertifikat pinning metodlarının istifadəsini tövsiyə edir. Bu metod, müəyyən bir domen üçün xüsusi bir sertifikatın həqiqiliyini təsdiqləyərək hücumların qarşısını alır.

3. Zəif Kriptoqrafiya və Şifrə Mühafizəsi
Zəif və köhnəlmiş kriptoqrafiya metodları simsiz şəbəkələr üzərindən ötürülən məlumatların intercept edilməsini asanlaşdırır. QARK aşkar etdiyi zəif şifrələmə alqoritmlərini müasir üsullarla əvəz etməyi təklif edir. Məsələn, AES və ya SHA-256 kimi güclü şifrələmə standartlarından istifadə olunmalıdır. Bu, tətbiqlərdə həssas məlumatların təhlükəsiz saxlanmasını və ötürülməsini təmin edir.

QARK Üstündən Zəifliklər Üçün Həll Nümunələri
QARK-ın aşkar etdiyi zəifliklər və onların həll yollarını daha yaxşı anlamaq üçün bəzi nümunələrə baxaq:
- HTTPS İstifadə Zəifliyinin Həlli
Zəiflik:
Android tətbiqlərinin simsiz şəbəkələr üzərindən məlumat ötürərkən HTTPS (şifrəli HTTP) yerinə HTTP (şifrəsiz) protokolundan istifadə etməsi böyük bir təhlükəsizlik boşluğudur. Bu, MitM (Man-in-the-Middle) hücumlarına yol açaraq məlumatların intercept edilməsinə səbəb ola bilər.
QARK tərəfindən təklif olunan həll:
QARK bu zəifliyi aşkar etdikdən sonra tətbiqdə HTTPS protokolunun istifadəsini məsləhət görür. Ayrıca, alət SSL/TLS sertifikatlarının düzgün təsdiqlənməsini və tətbiqdə heç bir şəkildə şifrələnməyən məlumatların ötürülməməsini təmin etmək üçün tövsiyələr verir.

Bu kod HTTPS protokolundan istifadə edərək məlumatların şifrəli ötürülməsini təmin edir.
2.Təhlükəsiz Sertifikat Təsdiqlənməsinin Həlli
Zəiflik:
Bəzi tətbiqlər SSL/TLS sertifikatlarının təsdiqlənməsi zamanı düzgün doğrulama aparmır.Sertifikat doğrulamasının səhv tətbiqi istifadəçiləri saxta serverlərə və ya şəbəkələrə yönləndirə bilər.
QARK tərəfindən təklif olunan həll:
QARK aşkar edərsə ki, tətbiq SSL sertifikatını düzgün yoxlamır, təhlükəsizlik sertifikatlarını düzgün doğrulama metodlarının istifadəsini tövsiyə edir. Sertifikat pinning (sertifikat sabitlənməsi) və təhlükəsiz şəbəkə bağlantılarının idarə olunması bunun üçün məsləhət görülən həllərdir.

Bu kod parçacığında certificate pinning metodu istifadə olunur. Bu metod, müəyyən domen üçün xüsusi bir sertifikatın həqiqiliyini təsdiqləməyə kömək edir və şəbəkə üzərindən edilə biləcək saxta sertifikat hücumlarını önləyir.
3.Zəif Kriptoqrafiya və Şifrə Mühafizəsi
Zəiflik:
Tətbiqlərdə zəif və ya düzgün tətbiq edilməyən kriptoqrafiya üsulları simsiz şəbəkələr üzərindən məlumatların təhlükəsizliyini azalda bilər. Zəif şifrələmə alqoritmləri (məsələn, MD5 və ya SHA-1) və ya şifrələnməmiş parol saxlanması bunun bir nümunəsidir.
QARK tərəfindən təklif olunan həll:
QARK aşkar edərsə ki, tətbiq zəif kriptoqrafiya metodlarından istifadə edir, güclü alqoritmlərə keçməyi və həssas məlumatları şifrələnmiş formada saxlamağı məsləhət görür. Məsələn, AES (Advanced Encryption Standard) və ya SHA-256 kimi müasir şifrələmə üsulları təklif olunur.

QARK-da real nümunənin təhlili:

QARK tərəfindən göstərilən xəbərdarlıqları daha ətraflı şəkildə izah edək:
1. Potensial Zəiflik: android:debuggable Bayrağı
- Nədir?
android:debuggablebayrağı AndroidManifest.xml faylında tətbiq konfiqurasiyasının bir hissəsidir. Bu bayraqtrueolaraq təyin edildikdə, tətbiq debuggable (debug edilə bilən) hala gəlir. Bu, tətbiqinizə qoşulub kodu izləməyə imkan verir və proqramlaşdırma zamanı faydalı ola bilər. - Risk Nədir?
android:debuggablebayrağınıntrueolaraq saxlanılması, tətbiqinizi istehsala təqdim etdiyiniz zaman ciddi təhlükəsizlik problemlərinə səbəb ola bilər. Bu, xüsusən istehsal mühitində təhlükəli hesab olunur, çünki kənar şəxslər və ya hücumçular bu bayraq vasitəsilə tətbiqin mənbə kodunu analiz edə, məxfi məlumatlara çıxış əldə edə və tətbiqin zəifliklərini istismar edə bilərlər. - Həll Yolu
Tətbiqin istehsal versiyasında bu bayrağın dəyərifalseolaraq təyin olunmalıdır. Bunu AndroidManifest.xml faylında aşağıdakı şəkildə dəyişə bilərsiniz:

Android cihazınızda USB Debugging rejimini necə aktiv etmək olar baxaq:
1) Developer Options-u aktiv edin
- Telefon Parametrlərinə (Settings) keçin.
- About Phone və ya About Device bölməsini tapın (modeldən asılı olaraq fərqli ola bilər).
- Build Number seçimini tapın.
- Samsung cihazları üçün: Software Information bölməsində yerləşir.
- Xiaomi cihazları üçün: MIUI Version olaraq adlanır.
- Build Number-ə ardıcıl 7 dəfə toxunun.
- Ekranda “You are now a developer!” və ya oxşar bir bildiriş görünəcək.



Developer Options bölməsinə daxil olun
- Developer Options aktiv olduqdan sonra:
- Settings > System > Developer Options keçin.
- Samsung cihazları üçün: Settings > Developer Options birbaşa mövcuddur.
- Developer Options bölməsini açın.

Developer Options-da aşağıya doğru sürüşdürün və USB Debugging seçimini tapın.
· USB Debugging seçimini aktiv edin (açıq rejimə gətirin).
· Göstərilən xəbərdarlıq pəncərəsinə “OK” düyməsini basın.

USB qoşulması ilə test edin
- Telefonunuzu USB kabeli vasitəsilə kompüterə qoşun.
- Cihazda “Allow USB Debugging?” sualı çıxacaq.
- Always allow from this computer seçimini işarələyin və “OK” basın.

Nəticə
QARK Android tətbiqlərinin təhlükəsizlik zəifliklərini aşkarlayaraq onların simsiz şəbəkələr üzərindən hücumlara qarşı daha müdafiəli olmasına kömək edir. Təhlükəsizlik boşluqlarının vaxtında aşkarlanması və həll edilməsi simsiz şəbəkələrdə mobil tətbiqlərin təhlükəsizliyini təmin edir və istifadəçilərin şəxsi məlumatlarını qoruyur. Beləliklə, QARK-ın istifadəsi inkişaf etdiricilərə tətbiqlərinin təhlükəsizliyini artırmaq üçün güclü bir vasitə təqdim edir.

