İstemci tarafı tarama, içeriği kullanıcının cihazında inceler; içerik burada gönderilmeden önce veya alındıktan sonra zaten okunabilir durumda olabilir. Bu nedenle şifreli teslim kanalının dışında bir bilgi ifşası yolu oluşturabilir. Bir APK sağlama toplamını karşılaştırmak, uygulamanın tarama kodu içermediğini kanıtlamaz. Daha dar bir soruyu yanıtlar: seçilen baytların belirli bir özetle eşleşip eşleşmediğini.
Bu iddiaları birbirinden ayrı tutmak hem şifrelemeyi hem de yazılım doğrulamasını daha yararlı kılar.
Cihazda tarama gizlilik sınırını neden değiştirir?
Bir uygulamanın mesaj göstermek veya fotoğrafı göndermeye hazırlamak için düz metni işlemesi gerekir. Sonraki ağ mesajı uçtan uca şifreli olsa bile tarama özelliği bu noktada çalışabilir. Cihazdan neyin çıkacağı tarayıcının tasarımına bağlıdır: bir eşleşmeyi bildirebilir, seçilen içeriği yükleyebilir veya başka türetilmiş bilgiler gönderebilir.
Bugs in our Pockets araştırma makalesi, kötüye kullanım, yanlış pozitifler ve ek saldırı yüzeyi gibi riskleri inceler. Bunlar, önerilen bir tarama sisteminin veri akışlarını ve yönetişimini incelemek için gerekçelerdir. Cihazdaki her özelliğin gözetim olduğunu veya belirli bir yasanın evrensel bir tarama zorunluluğu getirdiğini ortaya koymazlar.
Kullanıcının kontrolündeki yerel bir özellik, otomatik olarak zorunlu raporlamayla eşdeğer değildir. Analizi kimin seçtiğini, neyin tetiklediğini, kurallarını kimin güncelleyebileceğini ve hangi verilerin cihazdan çıkabileceğini sorun.
Yazılıma ilişkin dört farklı kanıt biçimi
| Kontrol | Neyi ortaya koyabilir? | Tek başına neyi ortaya koyamaz? |
|---|---|---|
| SHA-256 sağlama toplamı | Dosyanın güvenilen bir referans özetiyle eşleştiğini | Referans programın güvenli olduğunu veya kaynak koduyla eşleştiğini |
| APK imza doğrulaması | Paket imzasının doğrulandığını ve bir imzalama sertifikasını tanımladığını | İmzalayanın güvenilir olduğunu veya kodun istenmeyen davranışlar içermediğini |
| Tekrarlanabilir derleme | Belirtilen kaynak ve derleme girdilerinin beklenen çıktıları üretebildiğini | Kaynağın güvenlik açıklarından veya zararlı mantıktan arınmış olduğunu |
| Bağımsız inceleme ve test | Belirli bir sürüm ve kapsamla ilgili bulguları | Gelecekteki tüm güncellemeleri kapsayan kalıcı bir garantiyi |
Android’in apksigner belgeleri, paket doğrulamasını ve sertifika raporlamasını açıklar. Reproducible Builds tanımı, bir çıktıyı yeniden üretirken kaynağın, derleme ortamının ve talimatların tümünün neden önemli olduğunu açıklar.
Bir kaynak arşivi ve yanında yazan sağlama toplamı, tek başlarına tekrarlanabilir derleme sonucu değildir. Benzer biçimde, kötü amaçlı bir sürümdeki geçerli imza da hâlâ geçerli bir imzadır.
Sonucu fazla yorumlamadan indirilen dosya nasıl kontrol edilir?
Önce amaçlanan sürümü belirleyin ve onun APK’sını ve beklenen özetini güvenilir bir dağıtım yolundan edinin. Özeti yerel olarak hesaplayın. Farklıysa, tutarsızlık açıklanmadan dosyayı yüklemeyin: farklı bir sürüm, eksik indirme veya dosyanın değiştirilmesi uyuşmazlığa neden olabilir.
Eşleşiyorsa sürümü ve sonucu kaydedin. İstemci tarafı taramanın yokluğunu değil, o referansa göre bayt eşitliğini ortaya koymuş olursunuz. Aynı saldırgan hem indirilen dosyayı hem de gösterilen sağlama toplamını değiştirebiliyorsa karşılaştırma yine de başarılı olabilir. Bağımsız referanslar, imzalama anahtarının sürekliliği ve sürüm şeffaflığı bu güven sorununun farklı kısımlarını ele almaya yardımcı olur.
Kaynak ile ikili dosya arasında uyum iddiası için, gerçek sürüme ait belgelenmiş derleme talimatlarını ve bağımsız olarak yeniden üretilmiş sonuçları arayın. Bu özelliği “açık kaynak” sözlerinden çıkarmayın.
Güncellemeler önemli olmaya devam eder
Yazılım dağıtımı saldırıya uğrayabilir; ancak güvenlik güncellemelerinden süresiz kaçınmak sağlam bir genel savunma değildir. Güncellemeler, istismar edilebilir güvenlik açıklarını da giderir. Güvenilir bir güncelleme kanalı kullanın, önemli güvenlik bildirimlerini inceleyin ve riskiniz gerektirdiğinde sürüm kanıtlarını doğrulayın. Bilinen bir kusuru olan eski bir sürüm, sağlama toplamı bir zamanlar eşleşti diye daha güvenli değildir.
Livara’nın Proof Lab’i neyi ortaya koyar?
Livara’nın Proof Lab sayfası, yerel APK özeti karşılaştırması ve tarayıcıda kriptografi gösterimleri sunar. Sayfa, tam LVR1/LGS1 ratchet mekanizmalarını çalıştırmadığını ve bir protokol denetimi oluşturmadığını belirtir. Tehdit modeli de saldırganın hem dosyayı hem beklenen özeti değiştirebildiği durumdaki sınırlamayı açıklar.
Bu kontroller kendi kapsamları içinde yararlıdır. Uygulamanın yüklü olduğu telefonun kötü amaçlı yazılımdan arınmış olduğunu, Livara’nın bağımsız olarak tekrarlanabilir sürümlere sahip olduğunu veya uygulamasının açıklanmamış davranışlar içeremeyeceğini kanıtlamazlar. İddia edilen mesaj koruma sınırları için güvenlik belgelerini ayrıca okuyun.
Doğru soru, bir rozetin “doğrulandı” deyip demediği değildir. Hangi iddianın, hangi güvenilen referansa karşı, tam olarak hangi sürüm için test edildiğidir.



