Bu sayfa neyin korunduğunu ve neyin korunmadığını birlikte yazar. Bir güvenlik belgesinin abartması, gerçekten yapılan işi de şüpheli hale getirir; o yüzden burada "imkânsız" gibi ifadeler yok.
1. Taşıma güvenliği ve sertifika pinleme
MatrahON sunucuya bağlanırken cihazın sistem sertifika deposuna güvenmez. Uygulamanın içine Google Trust Services zinciri gömülüdür: yayınlayıcı ara sertifika (GTS WE1) ve onu imzalayan kökler (GTS Root R4 ve R1).
| Senaryo | Sonuç |
|---|---|
| Kurumsal ağ geçidi (MITM proxy) araya giriyor | Bağlantı kurulmaz — sertifika GTS zincirinden gelmediği için reddedilir. |
| Cihaza elle bir kök sertifika yüklenmiş | Bağlantı kurulmaz — sistem deposu okunmuyor. |
| Başka bir sertifika otoritesinden alınmış sertifika | Bağlantı kurulmaz. |
| Google Trust Services'ın aynı alan adı için ürettiği başka bir sertifika | Kabul edilir. Aşağıdaki nota bakın. |
Son satır önemli: kökler de güvenildiği için bu bir CA pinlemesidir, yaprak (leaf/SPKI) pinlemesi değildir. Neden böyle seçildi — tek bir ara sertifikaya pinlenirse, Google o sertifikayı yenilediği gün kurulu tüm uygulamalar aynı anda çalışmaz hale gelir ve kullanıcı mağaza güncellemesine kadar hiçbir şey yapamaz. Bu risk bizim kontrolümüzde olmayan bir tarafın kararına bağlı. Kökleri de pinlemek, "GTS dışı hiçbir sertifika kabul edilmez" korumasını koruyup bu kilitlenmeyi önlüyor.
Beklenmedik bir sertifika otoritesi değişikliğinde uygulama tümüyle bağlanamaz hale gelirse, pinlemeyi kapatan bir acil çıkış derleme bayrağı mevcuttur. Bu bayrak varsayılan olarak kapalıdır ve yayınlanan sürümlerde kullanılmaz.
2. Oturum anahtarlarının saklanması
- iOS: Keychain. Erişim, cihaz ilk kez açıldıktan sonrasına kısıtlıdır.
- Android: Keystore destekli şifreli tercih deposu.
- Windows / Linux masaüstü: işletim sisteminin kendi anahtar deposu (DPAPI / libsecret).
- Tarayıcı: oturum yalnızca bellekte tutulur; sekme kapanınca düşer, tarayıcı deposuna yazılmaz.
Android'de uygulama verisi hem bulut yedeklemesine hem de cihazdan cihaza aktarıma kapatılmıştır. İkisi ayrı anahtarlarla yönetildiği için ikisi de ayrı ayrı kapatılmak zorunda.
3. Uygulama kilidi
Ayarlardan açılabilen bir ek kilittir ve varsayılan olarak kapalıdır. Açıldığında uygulama arka plana alındığı anda kilitlenir; yeniden açmak için FaceID, parmak izi veya cihazın PIN/desen doğrulaması gerekir.
Biyometri okunamazsa (ıslak parmak, tanımsız yüz) cihaz PIN ekranına düşer. Bu bilinçli: kullanıcının kendi uygulamasından kilitlenip kalmaması gerekiyor. Bu yüzden "yalnızca biyometri ile açılır" demiyoruz. Kilit, oturumun yerine de geçmez — verinin asıl koruması sunucudaki yetki denetimidir; kilit, cihazı eline alan başkasının açık ekranı görmesini engeller.
4. Çevrimdışı kopya
Son çekilen dönemin liste verisi cihazda bir kopya olarak durur; böylece bağlantı yokken tahakkuk ve fatura listeleri boş kalmaz. Saklananlar belirteç veya parola değil, zaten ekranda gösterilen liste verisidir.
Buna karşılık masum da değil: dönem borçları, fatura listeleri, cari bakiye ve vergi numarası bu kopyada yer alır. Kopya şifrelenmiş değildir; koruması işletim sisteminin uygulama izolasyonu, kapatılmış yedekleme ve çıkışta silinmesidir. Root'lu veya jailbreak'li bir cihazda okunabilir olduğu varsayılmalıdır. Aynı gerekçeyle görüntülenen ve paylaşılan belgeler (bordro, fatura, borç durum yazısı) da çıkışta cihazdan silinir.
5. Yetki ve kapsam izolasyonu
- Her istek sunucuda rol (müşavir, ofis çalışanı, mükellef) ve kiracı kapsamına göre denetlenir.
- Mükellef hesabı yalnızca kendisine atanmış firmaların verisini görür. İstemcide sekme gizlemek kolaylık; engelin kendisi sunucudadır.
- Bir büronun verisi başka bir büroya görünmez; kapsam her sorguya kiracı kimliğiyle girer.
- Oturum süresi dolduğunda yenileme belirteci kullanılır. Sunucu belirteci reddederse oturum düşer; sunucuya ulaşılamıyorsa oturum düşmez — ağ kesintisi kullanıcıyı çıkışa zorlamaz.
6. Kütükleme ve yedekleme
- Kullanıcı işlemleri ve yönetim hareketleri kütüğe yazılır; kimin neyi ne zaman değiştirdiği geriye dönük görülebilir.
- Veritabanı ve evrak arşivi düzenli olarak yedeklenir.
- Açık oturumlar listelenebilir; istenen cihazın oturumu uzaktan düşürülebilir, tüm cihazlardan birden çıkış yapılabilir.
7. Bilinen sınırlar
Dürüst olmak gerekirse şunları yapmıyoruz ve sayfanın bunu yazması lazım:
- Veri sunucuda uçtan uca şifreli değil. TLS taşıma şifrelemesidir; sunucu veriyi düz görür. Mali müşavirlik hizmetinin doğası gereği verinin sunucuda işlenebilir olması gerekiyor.
- Çevrimdışı kopya şifrelenmiyor (yukarıda madde 4).
- Ekran görüntüsü ve görev değiştirici önizlemesi engellenmiyor.
- Sertifika pinlemesi CA düzeyindedir, yaprak düzeyinde değildir (madde 1).
Güvenlikle ilgili bir bulgu bildirmek isterseniz: [email protected].