Təhlükəsizlik
Bu səhifə həm nəyi qoruduğumuzu, həm də nəyi qoruya bilmədiyimizi yazır. İkinci hissəsi olmayan bir təhlükəsizlik izahı, oxuyanı siyahını zəmanət sanmağa aparır.
Çıxış nöqtəsi
Paket dərc etmək, onu quraşdıran hər mühəndisin kompüterində kod işlətmək deməkdir. Bu məhsulun hər təhlükəsizlik qərarı əvvəlcə bir sualla ölçülüb: bu dəyişiklik icazəsiz dərc etməyi asanlaşdırırmı?
Paketlər imzalanır (ECDSA P-256)
İmza faylı paketin içində daşınır. İmzalanan şey çılpaq arxiv xülasəsi deyil; fayl xülasələrini, paket kimliyini və versiyasını ehtiva edən bildiriş faylıdır.
Yalnız xülasə imzalansaydı, etibarlı imzalı köhnə bir arxiv yeni versiya nömrəsi ilə kataloqda göstərilə bilərdi: imza doğrulanar, istifadəçi tanınmış zəifliyi olan aləti «yeniləmə» sanaraq quraşdırardı.
Özəl açar serverdə DEYİL
Server yalnız yoxlayır. İmzalama, dərc edənin öz kompüterində, ayrı bir alətlə aparılır.
Açar serverdə olsaydı, serveri ələ keçirən adam paketi dəyişib yenidən imzalaya bilərdi — bu da imzalamanı mənasız edərdi.
Müştəri tətbiqi də yoxlayır
Mühəndisin kompüterindəki əlavə imzanı müstəqil şəkildə yoxlayır və istifadə etdiyi etibarlı açarlar siyahısı serverdən gəlmir.
İmzalama, serverin sözünə inanıla bilmədiyi üçün var. Etibar siyahısını elə həmin serverdən götürmək, bu fərziyyəni səssizcə ləğv etmək olardı.
Silinməyən audit jurnalı
Hər dərc, hər səlahiyyət dəyişikliyi və hər kanal qərarı daimi olaraq yazılır. Bilərəkdən dəyişdirmə və ya silmə yolu yoxdur; saxlama müddəti təmizləməsi də ona toxunmur.
«Bu alət bura necə gəldi» sualı adətən aylar sonra verilir. Həmin gün silinə bilən bir qeyd, heç olmamış bir qeyddir.
İstəyə bağlı dörd göz qaydası
Bir versiyanı daha geniş kanala qaldırmaq ikinci administratorun təsdiqini tələb edə bilər və istəyən öz istəyini təsdiqləyə bilməz. Geri qaytarma heç vaxt təsdiq tələb etmir.
Başlanğıcda bağlıdır. Üç nəfərlik komandada bu nəzarət həftələr içində oxunmadan təsdiqlənən bir mesaja çevrilə bilər; qorumadığı halda qorunduğu sanılan bir nəzarət, heç olmayan nəzarətdən pisdir.
Arxiv açma əməliyyatı da hücum səthidir
Yüklənən arxivlər qovluqdan çıxma (zip-slip) və sıxılma bombasına qarşı yoxlanılır; açılmış ölçü üçün yuxarı hədd var.
Arxiv açmaq zərərsiz görünür. Hazırlanmış bir arxiv hədəf qovluğun xaricinə fayl yaza və ya serverin diskini doldura bilər.
Parolsuz giriş
Giriş, e-poçt ünvanına göndərilən birdəfəlik kodla olur. Sessiya qısa ömürlü bir jetonla davam edir; yeniləmə jetonu brauzer koduna heç vaxt görünmür.
İdarə ediləcək parol yığını olmadığı üçün sızacaq parol bazası da yoxdur. Geri çağırılmış yeniləmə jetonunun təkrar istifadəsi isə oğurluq siqnalı sayılır: sessiya ləğv edilir.
Nəyin quraşdırıldığı yazılıdır
Quraşdırma qovluğunda maşın tərəfindən oxunan material siyahısı (CycloneDX SBOM) və hər iki baza üçün keçid skriptləri gəlir.
İT komandanız serverə nəyin girdiyini quraşdırmadan əvvəl görə bilməlidir. Bir asılılıqda zəiflik elan olunanda «bizdə varmı» sualı bir fayl axtarışına çevrilir.
Qoruya bilmədiklərimiz
Bunlar boşluq deyil, hədddir. Quruluşdan irəli gəlirlər və əksini iddia etmək doğru olmazdı.
- Birlikdə hərəkət edən iki administrator. Dörd göz qaydası bir nəfəri saxlayır, iki nəfəri yox.
- Serverin sistem administratoru. Verilənlər bazasına və fayl sisteminə çıxışı olan adam üçün tətbiq səviyyəsində heç bir nəzarət maneə deyil.
- İmzalama açarının olduğu iş stansiyası. Açar serverdə deyil, amma bir yerdədir; o kompüter düşərsə, imza da düşür.
- Bilərəkdən gizlədilmiş zərərli davranış. Paket yoxlamamız evristikdir və gizlənməyə cəhd edən kodu tutacağını iddia etmirik.
- Məlumat sızması. Quraşdırılmış alət mühəndisin öz səlahiyyətləri ilə işləyir və o səlahiyyətlərin çatdığı hər şeyi oxuya bilər. Bunu əməliyyat sistemi və şəbəkə məhdudlaşdırır, bu məhsul yox.
- Ehtiyat nüsxələrinizin təhlükəsizliyi. Baza nüsxəsi sizin əlinizdədir və içindəki hər şey işləyən sistem qədər dəyərlidir.
Təhlükəsizlik zəifliyi bildirişi
Zəiflik tapmısınızsa bizə yazın. Bildirişləri ciddiyə alırıq, tapan şəxsi prosesin kənarında qoymuruq və düzəlişin nə vaxt yayımlandığını bildiririk.