Getdikcə rəqəmsallaşan bu mühitdə proqram təminatı bütün bu texnologiyaların əsasını təşkil edir. Proqram təminatı cihazların müəyyən bir işi yerinə yetirməsinə imkan verən əsas maşın əmrləri kimi müəyyən edilə bilər. Avtomobilimizin pultunda, mobil telefonlarımızda və daxil olduğumuz internet saytlarında müxtəlif səviyyəli proqram təminatı işləyir. Bu kontekstdə qeyd etmək yerinə düşər ki, proqram təminatı maşın-insan qarşılıqlı əlaqəsində əsas halqalardan biridir. Buna görə də proqram təminatının hazırlanması zamanı həm insan, həm də texnologiya faktorları nəzərə alınır.
Rəqəmsal aktivlərimizin artdığı bir mühitdə informasiya təhlükəsizliyi də kritik hala gəlib. Təhlükəsizlik əsasında hazırlanmayan proqram təminatı həm fərdi, həm də korporativ olaraq kibertəhlükəsizlik risklərini artırır. Bu anda proqram təminatının hazırlanması proseslərini nəzərə almaq lazımdır. Proqram təminatı hazırlanarkən funksiyalar, sürətli işləmə və asan istifadə kimi müxtəlif meyarlar müşahidə edilə bilər. Bununla belə, təhlükəsizlik anlayışı nəzərdən qaçırılsa da, həm də kritik əhəmiyyətə malikdir.
Proqram təminatının təhlükəsizliyi proqram təminatına qarşı həyata keçiriləcək kiberhücumlar nəticəsində proqram təminatının öz vəzifələrini düzgün yerinə yetirməməsinə səbəb ola biləcək amilləri minimuma endirməyə yönəlmiş fəaliyyətlərin bütünü kimi qəbul edilə bilər. Bir proses olan proqram təminatının təhlükəsizliyi proqram təminatı tərtibatçılarından proqram təminatının yerləşdirildiyi infrastrukturlara qədər bir çox texniki, inzibati və insan yönümlü komponentləri əhatə edir. Proqram təminatının təhlükəsizliyi, informasiya təhlükəsizliyinin üç əsas elementi olan məxfilik, bütövlük və əlçatanlıq anlayışları nəzərə alınmaqla bu 3 başlıq altında qiymətləndirilə bilər.
Kibertəhlükəsizlik sahəsində araşdırmalar sürətlə aparılır. İnkişaf etdirilən hər yeni tədbirlə, hər yeni müdafiədən sonra təcavüzkarlar da strategiyalarını dəyişir və təkmilləşdirirlər. Bu istiqamətdə, proqram təminatı getdikcə daha zəngin və mürəkkəbləşdikcə proqram təminatçısı qrupları da böyüyür. Bu, proqram təminatının hazırlanması proseslərinin daha planlı edilməsinin zəruriliyini vurğulayır. Proqram təminatının inkişaf etdirilməsinin həyat dövrü konsepsiyası bu anda meydana çıxır. Müəyyən əsas addımları izləməklə, proqram təminatının tələblərinin müəyyən edilməsi mərhələsindən istismara verilməsi mərhələsinə qədər olan proseslər müəyyən edilir.
Mövcud dövrəyə təhlükəsizliklə bağlı proseslər əlavə edildikdə, biz təhlükəsiz proqram təminatının işlənməsinin həyat dövrü proseslərini əldə edirik. Bu kontekstdə hər hansı proqram təminatının hazırlanması prosesinin hər addımına təhlükəsizliklə bağlı mövzular əlavə edilir və birinci mərhələdən təhlükəsizlik yönümlü proqram təminatının hazırlanması hədəflənir.
Təhlükəsizlik anlayışını nəzərdən keçirərkən soruşulacaq əsas suallardan biri də “nədən qoruyuruq?” sualıdır. Bu mövzuda ümumi səhvlərdən biri proqram təminatının çox təhlükəsiz və ya ən təhlükəsiz proqram olması kimi anlayışlardır. Bununla belə, təhlükəsizlik teatrı anlayışını da oxşar şəkildə qiymətləndirmək olar. Təhlükəsizlik teatrı əslində heç bir təhlükəsizlik tədbiri təmin etməyən, lakin bizi təhlükəsiz hiss etdirən tədbirlər kimi müəyyən edilə bilər.
Təhdid modelləri ilə düzgün suallar vermək və düzgün cavablar almaq mümkündür. Təhdid modelləşdirməsi, təhlükəsizlik təhdidlərinin müəyyənləşdirilməsinə imkan verən və riskləri müəyyən etmək, risklərin mümkün təsirlərini azaltmaq və ya riskləri görünən etmək və onları idarə etmək məqsədi daşıyan təhlil işləri kimi müəyyən edilə bilər. Proqram təminatının hazırlanması proseslərində proqram dizayn mərhələsinin bir hissəsi kimi istifadə olunacaq təhlükə modelini müəyyən etmək lazımdır. İstifadə olunan bəzi ümumi modellər STRIDE, PASTA və DREAD-dir.
Ənənəvi proqram təminatının inkişaf etdirilməsi yanaşmasına nəzər saldığımız zaman proqram tərtibatçıları işlərini tamamladıqdan sonra hazır məhsul üzərində kibertəhlükəsizlik testləri aparılır, tapıntılar müvafiq qruplara çatdırılır və lazımi düzəlişlər edilir. Daha sonra kibertəhlükəsizlik qrupları yoxlama aparır, müəyyən düzəlişləri təsdiq edir və nəticədə sistemlər işə salınır. Tez-tez istifadə edilən bu yanaşma bu gün qeyri-kafi və natamamdır.
Birdəfəlik təhlükəsizlik testləri əvəzinə, davamlı olaraq təhlükəsizliyə toxunan yanaşmalar qəbul edilməlidir. Yuxarıda qeyd etdiyimiz təhlükəsiz proqram təminatının inkişaf dövrü təkcə bunun üçün kifayət deyil. Davamlı təhlükəsizlik və dizaynla təhlükəsizlik anlayışları əslində proqram təminatının ilk mərhələdən təhlükəsizlik diqqəti ilə hazırlanmalı və həyata keçirilməli olduğunu göstərir və mahiyyətcə mədəni dəyişikliyi, eləcə də texniki inkişafları təmsil edir. Bu, bizi getdikcə daha çox eşitməyə başladığımız “DevSecOps” konsepsiyası ilə tanış edir. “Carnegie Mellon” Proqram Mühəndisliyi İnstitutu tərəfindən paylaşılan əsas “DevSecOps” proses addımları aşağıdakı şəkildə paylaşılır.
“DevSecOps” inkişaf, təhlükəsizlik və əməliyyat anlayışlarını birləşdirən texniki və inzibati metodlar toplusu kimi müəyyən edilə bilər. “DevSecOps” təhlükəsizliyi mərkəzə çəkərək proqram təminatının istifadə olduğu müddəti davamlı və avtomatik etməyi hədəfləyir. “DevSecOps” yanaşmasına görə, proses əsasən mədəni dəyişikliklə başlamalıdır. Bu o deməkdir ki, xüsusilə proqram təminatçısı komandaları təhlükəsizlik konsepsiyalarını yaxşı bilir və təhlükəsiz proqram təminatının inkişaf prinsiplərindən istifadə edirlər. Bu vəziyyət ədəbiyyatda təhlükəsizliyin sola (“Shift Left”) keçirilməsi prinsipinin ilk addımı sayıla bilər. “Shift Left” istifadə olduğu müddətdə təhlükəsizliyin mümkün qədər tez həll edilməsinin vacibliyini vurğulayır.
Dəyanət Ağalarlı
Ordu.az