Defender kimi düşünmək
Defender kimi düşünmək
Security bir feature deyil. O, sistemin düşmən şəraitində malik olduğu xassədir: kimsə sistemi qəsdən səhv işləməyə məcbur etməyə çalışanda sistemin necə davrandığıdır. Həmin "kimsə" hər şeyi dəyişir. Adi mühəndislik input-un təxminən gözlənildiyi kimi olduğunu fərz edir. Security engineering isə input-un kodunuzu oxumuş, sizdən daha çox vaxtı olan və yalnız bir dəfə haqlı çıxması kifayət edən bir şəxs tərəfindən hazırlandığını fərz edir.
Bu fəsil kitabın qalan hissəsinin əsaslandığı düşüncə tərzini formalaşdırır.
Asimmetriya
Defender-lər hər yolu qorumalıdır. Attacker-ə bir yol kifayətdir. Defender-lər fasiləsiz olaraq haqlı olmalıdır. Attacker-in bir dəfə haqlı çıxması bəsdir. Defender-lərin büdcəsi, deadline-ları və başqa prioritetləri var. Attacker-lər, ən azı ciddi olanları, bunu peşə kimi görür.
Bu asimmetriya ona görədir ki, "bizi heç vaxt breach etməyiblər" ifadəsi security-nin sübutu deyil, və security-yə yalnız səylə nail olmaq mümkün deyil. Buna struktur vasitəsilə nail olmaq lazımdır: hər bir attack halını ayrı-ayrılıqda tutmaq əvəzinə, bütöv attack siniflərini mümkünsüz etməklə.
Kim attack edir və niyə
Threat actor-lar imkan və motiv baxımından kəskin fərqlənir, və bu fərq nəyə qarşı müdafiə olunmalı olduğunuzu müəyyən edir.
| Actor | Motiv | Tipik imkanlar |
|---|---|---|
| Fürsətçi cinayətkarlar | Pul, tez | Avtomatlaşdırılmış scanning, məlum exploit-lər, phishing kit-ləri |
| Mütəşəkkil cinayətkarlıq | Pul, geniş miqyasda | Ransomware əməliyyatları, initial-access broker-lər, səbirli social engineering |
| Insider-lər | Narazılıq, pul, səhv | Qanuni credential-lar, daxili sistemlər haqqında bilik |
| Hacktivist-lər | Diqqət, ideologiya | Defacement, leak-lər, denial of service |
| Dövlət dəstəkli qruplar | Casusluq, pozuntu | Zero-day-lər, supply chain compromise-i, illərlə səbir |
Təşkilatların əksəriyyəti heç vaxt dövlət actor-u ilə üzləşməyəcək və sanki üzləşəcəkmiş kimi xərcləməməlidir. Demək olar ki, hər təşkilat fürsətçi cinayətkarlıqla fasiləsiz üzləşir və elə indi scan edildiyini fərz etməlidir.
CIA triad və onun nəzərə almadıqları
Klassik yanaşmaya görə security üç xassəni qoruyur:
- Confidentiality: data-nı yalnız icazəsi olanlar görür.
- Integrity: data və sistemlər yalnız icazəsi olanlar tərəfindən, icazə verilən üsullarla dəyişdirilir.
- Availability: sistemlər lazım olanda istifadəyə yararlıdır.
Bu triad yaxşı checklist-dir. İki əlavə onu praktik edir:
- Authenticity: kimin nə etdiyini və mesajın iddia edilən mənbədən gəldiyini yoxlaya bilirsiniz.
- Non-repudiation / accountability: hərəkətlər sonradan konkret actor-a qədər izlənilə bilir.
Ransomware availability-yə, getdikcə daha çox isə confidentiality-yə attack edir (leak etməklə hədələyərək). Fraud integrity-yə attack edir. Credential oğurluğu authenticity-yə attack edir. Hansı xassənin attack altında olduğunu bilmək hansı control-un tətbiq olunacağını göstərir.
Ümumiləşdirilə bilən prinsiplər
Bir neçə ideya hər secure sistemdə təkrarlanır. Bunları öyrənin və konkret tövsiyələrin əksəriyyəti özü-özünə çıxarıla bilən olacaq.
Least privilege. Hər komponent, istifadəçi və proses öz işi üçün lazım olan minimum access-ə malikdir, artığına yox. Compromise olunanda blast radius onun edə bildikləri ilə məhdudlaşır.
Defence in depth. Heç bir control-un tək başına dayanacağına etibar edilmir. Firewall, sonra authentication, sonra authorization, sonra input validation, sonra monitoring. Hər layer özündən əvvəlkinin artıq sıradan çıxdığını fərz edir.
Fail securely. Nəsə səhv gedəndə sistem təhlükəsiz vəziyyətdə qalmalıdır. Exception atan authorization check-i access-i rədd etməlidir, icazə verməməlidir.
Attack surface-i minimuma endirmək. Hər açıq port, hər endpoint, hər dependency, hər feature attacker-in təzyiq göstərə biləcəyi yerdir. Lazım olmayanı silin.
Secure by default. Təqdim edilən konfiqurasiya təhlükəsiz olan olmalıdır. İstifadəçilər və operator-lar boş buraxılanı nadir hallarda sıxlaşdırır.
Input-a etibar etməmək. Trust boundary-ni keçən hər şey, istər şəbəkədən, istər istifadəçidən, istər fayldan, istərsə də başqa service-dən gəlsin, validate olunana qədər düşməndir.
Sadəliyi qorumaq. Vulnerability-lər mürəkkəblikdə gizlənir. Heç kimin tam başa düşmədiyi sistem heç kimin tam qoruya bilmədiyi sistemdir.
Assume breach. Attacker-in artıq içəridə olduğunu düşünərək layihələndirin. Segment-lərə bölün, monitor edin və lateral movement-i bahalı edin.
Qorxu deyil, risk
Security-yə xərcləmə resursların bölüşdürülməsi məsələsidir. Sual heç vaxt "bu secure-durmu?" deyil, "hər threat-in ehtimalı və impact-i nədir, və hansı control-lar xərc vahidinə görə onları ən çox azaldır?" olmalıdır.
Faydalı vərdiş: təklif olunan hər control üçün soruşun: hansı attack-i dayandırır, o attack nə dərəcədə ehtimal olunandır, sizə nəyə başa gələrdi və control-un özü nəyə başa gəlir. Bu suallara cavab verə bilməyən control-lar çox vaxt compliance teatrıdır.
Security komanda xassəsidir
Ən secure codebase təkrar istifadə olunan password-lə məğlub edilir. Ən yaxşı firewall tapdığı USB yaddaşı kompüterə taxan əməkdaş tərəfindən keçilir. Ən güclü encryption açar public repository-dədirsə, heç bir əhəmiyyət kəsb etmir.
Bu o deməkdir ki, security işi mədəniyyəti də əhatə edir: secure yolu asan yol etmək, problem barədə məlumatları günahlandırma deyil, hədiyyə kimi qəbul etmək və qəribə bir şey görən şəxsin kimə deməli olduğunu bilməsini təmin etmək.
Kitabın quruluşu
Fəsil 2 threat modelling-ə həsr olunub: necə qorumağa qərar verməzdən əvvəl nəyi qorumalı olduğunu müəyyən etmək. Fəsil 3 identity və access management-i əhatə edir, real breach-lərin əksəriyyəti məhz buradan başlayır. Fəsil 4 application security-dir: attack-ə davamlı kod yazmaq və ship etmək. Fəsil 5 detection və incident response haqqındadır, çünki nəsə mütləq keçəcək.
İlk beş fəsil düşüncə tərzini və əsas control-ları qurur. Qalan fəsillər onları müasir sistemlərin konkret qatlarına tətbiq edir:
- Fəsil 6 kriptoqrafiya və data protection: data-nı transit-də və saxlanılanda necə qorumalı, key-ləri necə idarə etməli.
- Fəsil 7 API security: attacker-in birbaşa business logic ilə danışdığı yer, OWASP API Security Top 10 əsasında.
- Fəsil 8 cloud və platform security: shared responsibility, cloud IAM, misconfiguration, container-lər və mobile client-lər.
- Fəsil 9 AI və LLM security: instruction ilə data-nın eyni kanalda qarışdığı yeni komponent və öz başına hərəkət edən agent-lər.
Tapşırıqlar
- Tanıdığınız bir sistem üçün onu hədəf alması ən çox ehtimal olunan və ən az ehtimal olunan threat actor-u adlandırın. Cari xərcləriniz bunu əks etdirirmi?
- Yuxarıdakı prinsiplərdən birini seçin və sisteminizdə onun pozulduğu bir yer tapın.
- Sisteminiz üçün "assume breach" ssenarisini təsvir edin: attacker-in əlində bir developer-in laptop-u var. Nələrə çata bilər?