Təhlükəsiz bir şəkildə veb və mobil tətbiqlər necə yaradırlır? Nələr xüsusi diqqət yetirilməlidir?Pentesterlərin bu işlərdə rolu nədir?
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
Proqram Təminatının Yaradılmasının Həyat Dövrü
İstənilən veb və ya mobil tətbiq, proqram təminatı iş mühitinə daxil olmazdan əvvəl müəyyən fazalarda sınaqlardan keçir.Penetration testləri üçün bu mövzu olduqca önəmlidir.Böyük şirkətlər öz işlərini bəzən tək bir proqramla idarə etməyi çatdırmır və proqramların sayı 100-ə çatır.Şişirdilməyə oxşasada Korperativ mühitdə bu ədədlər normal qəbul olunur.Diqqətinizə çatdırmaq istəyirəmki bu paylaşım korperativ şirkətlərdə ştatlı işləyən pentesterlər nəzərdə tutulmuşdur.
Tipik olaraq bir proqramın inkişaf (yaradılması) dövrləri aşağıdakı kimidir.(SDLC – Software Development Life Cycle)

Biz hər bi etapda kiber təhlükəsizlik mütəxəsisini rolu haqqında ətraflı məlumat əldə edəcəyik.Bu proseslərin əsas məqsədi isə yaradılan vəya inkişaf etdirilən proqram təminatının həyat dövrünün kiber təhlükəsizliyini təşkil etmək və daha təhlükəsiz proqram təminatı yaratmaqdır.

1.Mərhələ-Arxitekturanın Analizi
Mövcud vəziyyətdə proyek hələ yenidir və biznes-keyslər üzərində qurulub.Kiber təhlükəsizlik mütəxəsisi kimi əvvəlcədən görüşlər həyata keçirərək məhsul üzərində iş aparacaq olacaq qrup üzvlərinə müəyyən məsləhətləri vermək mümkündür.Məhz bu mərhələdə daha sonrakı və uzun sürən testlər üçün əvvəlcədən hazırlaşacayıq.
Threat Modeling
Threat Modeling – bizə sistemi əvvəlcədən analiz etməyə imkan verir və proyektin kibertəhlükəsizlik yoxlanışlarından əvvəl hücum texnika və ssenarilərini hazırlamağa kömək edir.Threat Modeling əsas sənəd kimi aşağıdakı bölmələri tərkibində saxlayır:
- Aktivlər
- Giriş nöqtələri
- 3-cü tərəflərin güvən səviyyələri
- Data Flow Diagram (DFD)
Yuxarıdakı bölmələrə keçməzdən əvvəl özümüzə bəzi suallar vermək lazımdır:
- Tətbiqin internetdə yoxsa intranetdə yayınlanması
- Tətbiq həsas məlumatları özündə saxlayacaqmı
- Tətbiq necə istifadə olunacaq? (Veb yoxsa mobil və s)
- Paralel təşkilatlardan istifadə olunacaqmı?(Cloud servisləri və ya daxili çatdırılmalar)
- İnfrastrukturun sxemi bizdə varmı? (Yoxdursa istəyin)
Aktivlər
Aktivlər – Bu xakerlərin (ziyankar şəxslərin) oğurlamaq istədikləri məlumatlardır.Buna uyğun ən yaxşı misal kimi kredit kartı məlumatları, müştərilərin şəxsi məlumatları, şirkətin sığorta nömrələri və s. Məhz bunları nəzərə alaraq xakerlərin istifadə etmək istədiyi məlumatları aşağıda verilmişdir. İnkişaf mərhələlərində bunlara xüsusi diqqət göstərilməlidir:
- Şəbəkə cihazları
- Host-serverlər
- Baza proqram təminatı
- Tətbiqin səviyyəsi
Giriş nöqtələri
Adından da bilindiyi kimi giriş nöqtələri – xakerlərin aktivlər ilə qarşılıqlı əlaqədə olacaqları girişləri bildirir.Nəzərə almaq lazımdırki, Aktiv olaraq Veb host yox həm də verilənlər bazası və ya hostun özü ola bilər.
3-cü Tərəf
Bu bölmədə biz verilən tətbiqin əlaqədə olacağı üçüncü tərəf alətlər və ya platformalar üzərindən kəşfiyyat aparırıq.Misal olaraq Microsoft Azure və ya Amazon Web Services (AWS)
Güvən səviyyələri
Aktivlərin bütün komponentlərini identifikasiya etdikdən sonra 3-cü tərəflərdə daxil olmaqla autentifikasiya və autorizasiya mərhələrini hər biri keçməlidir.Məsəl üçün ələ keçirilmiş Administrator hesabı müştərilərin həsas məlumatlarını əldə edə bilər əgər onlar şifrələnməyiblərsə.
Data Flow Diagram (DFD)
Əldə etdiyimiz və öyrəndiyimiz məlumatlar əsasında elə bir sxemdirki həmi sxemə baxaraq nəyin necə və harada baş verdiyini başa düşək.
2.Mərhələ-İnkişaf etdirilməsi
Cari mərhələdə artıq proyektin arxitekturası və infrastakturası qəbul edilmiş və kodlama və inkişaf etdirilmə mərhələlərinə giriş edilir.Burada veb tətbiqin vəya mobil tətbiqin funksiyaları C#, .NET, Java, Angular və s dillər ilə yerinə yetirilir.
Proqramçı kommandası server konteynerlərindən Jenkins və ya Team Foundation Server istifadə edəcəklər.Bu konteyner serveri tətbiqin kodunu idarə edəcəkdir, (Cİ Continuonus İntegration) kodun davamlı integrasiya edəcəyini, (CD Continuous Deployment) kodun davamlı olaraq icra ediləcəyini bildirir. İnkişaf etdirmə mərhələsində aşağıdakı məqamlara fiki verilməlidir:
- Tətbiqin mənbə kodları statik tətbiq təhlükəsizlik skanerləri (SAST Static Application Security Testing) vasitisə ilə skan edilir.Məsələn: Veracode,Checkmarx və s. SAST skaneri tətbiq kodunu Jenkins və ya digər serverə göndərildikdən sonra onda olan əksikləri aşkar edəcəkdir.Biz bunu dəyişdirməli və kodun sonunda yekunlaşdıqdan sonra bu skanı yerinə yetirməliyik.
- Tətbiq kodlarının Avtomatik skan edilməsi ilə yanaşı mexaniki üsulla yoxlanılması da şərtdir.Hər yeni bir əlavədən sonra mexaniki olaraq yoxlanılmalıdır.
- Bir çox hallarda tətbiqin yazılması üçün üçüncü tərəf kitabxanlardan istifadə olunacaqdır.Belə hallarda bizim hədəfimiz aşağıdakıları yoxlamaqdır:
- Həmin kitabxanada hər hansı zəiflik varmı?
- O dövrünə görə aktualmıdır?
- Kommersiya məqsədləri üçün bundan istifadə etmək qanunidirmi?
3.Mərhələ – Testlərin Həyata Keçirilməsi
Tətbiqin bir neçə funksiyaları bitdikdən sonra tətbiq test serverində testdən keçmək üçün aktivləşdirilir.Burada məqsəd ayrı bir serverdə hər hansı əlavə müdaxilə olmadan və sabit serverdə testləşdirmə işinin həyata keçirilməsidir.Bu mərhələdə aşağıdakıları yerinə yetirməliyik:
- İstifadəçi interfeysinin yeni funksiyalarını öyrənmək
- Yeni funksiyaların mexaniki testlərinin keçirilməsi
- Avtomatlaşdırımış pentestlərin keçirilməsi.(Bunun üçün DAST, Dynamic Application Security Testing istifadə edin.)Məsələn: Burp Suite Enterprise,Acunetix və s.
4. Mərhələ – İş mühitinə aktivləşdirmək
Tətbiqin və ya məhsulun son olaraq ictimaiyyətə aktişləşdirildikdən sonra təhlükəsizliyinə Opsec (Operation Security) cavabdehdir.OpSec tətbiqin monitorinqinin həyata keçirilməsinə müntəzəm olaraq veb pentestləri icra etməyə eləcədə mobil tətbiqlərə borcludur.İndiki zamanlarda Bug Bounty proqramından istifadə olunu və şirkətlər xarici mütəxəsislərə müəyyən səhvləri aşkarlamalarına görə müəyyən miqdar mükafatlar təyin edirlər.
Ümidvaram faydalı olmuşdur.Təşəkkürlər!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat