Yalnızca binary'nizde yaşayan bir koruma, ancak binary değiştiğinde değişebilir. Bu da bir derleme, bir sürüm, bir indirme ve müşteriler güncellerken beklemek demektir. Sonuncusu güncelleyene kadar eski kurallarınız hâlâ kullanımda kalır. Yeni bir analiz aracı çıktığında ya da bir anahtar paylaşılmaya başladığında, sürüm döngüsü yanıt vermek için yanlış bir zaman birimidir.
Bu rehber, yazılım korumanızı yeniden derlemeden uzaktan güncellemeyi anlatıyor. qPapel Auth içindeki Uzaktan ayarları, sunucu tarafı değişkenleri, Session Token Enforcement ve Auto Rules'u ele alıyor; uygulamanız müşterilerin elindeyken her birinin davranışı panelden nasıl değiştirmenize olanak tanıdığını gösteriyor.
Yeni bir derleme neden fazla yavaş?
Bir sürüm döngüsü özellikler için tasarlanmıştır, tehditlere tepki vermek için değil. Bir değişiklik kodlanıp derlendikten, yayınlandıktan ve kurulduktan sonra, onu tetikleyen an çoğu zaman çoktan geçmiş olur. Yalnızca bir sürüm hızında değişebilen bir korumadan dört sorun doğar.
- Saldırganlar saatler içinde yineler. Yeni ya da yeniden adlandırılmış bir araç sürümleriniz arasında ortaya çıkabilir ve gelecek hafta göndereceğiniz bir derleme bugün ona karşı hiçbir şey yapmaz.
- Herkes güncellemez. Son müşteri yeni sürümü kuruncaya kadar eski koruma kuralları dışarıda çalışmaya devam eder.
- Hatalar pahalıya mal olur. Bir kural fazla agresifse ve gerçek müşterileri engelliyorsa, bunu geri almanın yavaş yolu yeniden derlemektir.
- Sırlar eskir. İkiliye gömülmüş bir anahtar veya URL, ancak yenisi gönderilerek değiştirilebilir.
Bunların hiçbiri derleme göndermeye karşı bir eleştiri değil; özellikler için tam doğru araç budur. Mesele ritim uyumsuzluğudur: güvenlik tehdidin hızında hareket etmelidir ve tehdit bir sonraki sürümünüzü beklemez. Çözüm, sık değişen parçaları binary'nin dışında tutmaktır; böylece onlara hiçbir sürüm gerektirmeden ulaşabilirsiniz.
Uzaktan ayarlardan neyi değiştirebilirsiniz?
Uzaktan ayarlar koruma politikasını istemciden alıp sunucuya taşır. Paneldeki bir ayarı değiştirirsiniz, istemci bir sonraki kontrolünde onu alır ve yeniden derleme ya da sürüm olmadan farklı davranır. Algılama mantığının, kontrol davranışının ve sistem akışının neredeyse tamamı bu yolla değiştirilebilir.
| Ayar | Ne yapar? |
|---|---|
| Anti-VM | Yazılımı analiz etmek için yaygın kullanılan sanal makineleri algılar |
| Bütünlük ve CRC32 kontrolleri | Uygulamanın değiştirilmediğini çalışma zamanında doğrular |
| Debugger yasağı | Bağlı bir debugger'ı algılar ve ihlal eden lisansı yasaklar |
| Oturum sistemi | Her çalıştırmayı, dönen oturum anahtarlarıyla bir sunucu oturumuna bağlar |
| HWID kilidi | Her lisansı etkinleştirildiği cihaza bağlı tutar |
| Süreç ve pencere başlığı kara listeleri | Bilinen analiz araçlarını süreç, pencere başlığı veya sınıf adına göre engeller |
| Özel değişkenler | Uygulamanızın okuduğu değerleri merkezi olarak değiştirir |
Bir kuralı nerede geçerli olacağına göre de daraltabilirsiniz: uygulama sürümü, ülke veya kullanıcı grubuna göre hedefler tanımlayarak bir değişikliğin tam istediğiniz derlemelere ya da bölgelere ulaşmasını sağlarsınız, herkese birden değil. Puan tabanlı engelleme motoru ve aralık tabanlı kontroller de aynı şekilde, panelden ayarlanır.
01Bir kural veya değişken değiştirin
Sunucuda kaydedilir, yeniden derleme yok
02İstemci kontrol eder
Bir sonraki aralık tabanlı kontrolde
03Yeni ayarlar döndürüldü
Sürüm, ülke veya gruba göre kapsamlı
04Yeni davranış uygulandı
Sürüm yok, indirme yok
Kontroller yalnızca başlangıçta değil, bir aralıkla da çalışır; böylece uzun süren bir oturum, yalnızca açık kalarak bir değişiklikten kaçamaz. Gün ortasında bir kuralı sıkılaştırırsanız oturumlar bunu bir sonraki açılışta değil, bir sonraki kontrollerinde alır. Sürekli açık kalan yazılımlarda bu, şimdi harekete geçmekle gelecek hafta harekete geçmek arasındaki fark olabilir.
Sunucu tarafı değişkenler: yalnızca anahtarları değil, değerleri de değiştirin
Uzaktan ayarlar davranışı değiştirir; sunucu tarafı değişkenler ise uygulamanızın çalıştığı değerleri değiştirir. Kriptografik anahtarlar, API URL'leri ve kritik sabitler binary'nin içinde değil sunucuda yaşayabilir; yalnızca kimliği doğrulanmış bir oturuma iletilir ve diske yazılmak yerine belleğe akıtılır. İstemci tarafı koruma ile sunucu tarafı sırlar rehberi, bu ayrımın neden önemli olduğunu açıklıyor.
Değer sunucuda yaşadığı için onu merkezi olarak değiştirebilirsiniz. Açığa çıkmış olabilecek bir anahtarı yenileyin, uygulamayı yeni bir uç noktaya yönlendirin ya da bir sabiti ayarlayın; kimliği doğrulanmış her istemci bir sonraki oturumunda yeni değeri alır. Yeniden derlenecek bir şey yoktur ve indirmeye gömülüp eskiyebilecek bir değer de yoktur.
Bu, olay yönetiminizi de değiştirir. Sızmış bir sabit ya da açığa çıkmış bir uç nokta normalde bir acil müdahale gerektirir: yamalayın, derleyin, yayınlayın, sonra herkesi güncellemeye çağırın. Değer sunucudayken aynı olay, bir kez düzenleyip bıraktığınız bir alandır ve istemciler kontrol ettikçe maruz kalma penceresi kapanır. Koruduğunuz şeyin, aslında hiçbir zaman binary'nin içinde gönderilmesi gerekmemişti.
Bu aynı zamanda kodunuzu dallandırmadan segment bazlı davranış çalıştırmanın yoludur. Aynı değişken, uygulama sürümü, ülke veya kullanıcı grubuna göre farklı bir değer döndürebilir; böylece bir beta grubu, bölgesel bir derleme ya da tek bir büyük müşteri, bakımını yapacağınız ayrı bir derleme olmadan tek bir yerden farklı yapılandırılabilir.
Session Token Enforcement ile oturumları sınırlayın ve kilitleyin
Session Token Enforcement, bir oturumun ne kadar yaşayabileceği ve nerede çalışabileceği üzerinde uzaktan bir kontroldür. Uzaktan ayarlardan azami aktif oturum süresi belirleyebilir ve oturumları bir IP adresine kilitleyebilirsiniz; böylece bir token bir makineden alınıp başka bir yerde günlerce yeniden kullanılamaz.
Kısa ömürlü, IP'ye kilitli oturumlar, ele geçirilen bir token'ı çok daha az işe yarar hâle getirir. Bir zamanlayıcıyla sona eren ve yeni bir adrese taşınmayı reddeden bir oturum paylaşılmaya pek elverişli değildir; tek seferlik bir lisans kontrolünün açık bıraktığı boşluğu kapatır.
Uygulamalı örnek: yeni bir araç ortaya çıkıyor
Her şeyi bir araya getirince, normalde bir sürüm maliyeti olacak bir senaryo panelde birkaç dakikaya dönüşür. Diyelim ki yazılımınızın yanında, kara listenizin hiç görmediği bir adla yeni bir analiz aracı görünmeye başladı.
- 01
Fark edin
Araç, yaygınlaşmadan önce qPAnalyzer olaylarınızda ya da işaretlenen oturumların bir kümesinde görünür.
- 02
Bir kural ekleyin
Aracın süreç veya pencere başlığı imzasını kara listeye ekleyin ya da davranışının kazandığı puanı doğrudan Uzaktan ayarlarda artırın.
- 03
Kapsamını belirleyin
Herkese birden değil de önce bir dilimde denemek istiyorsanız kuralı uygulama sürümü, ülke veya kullanıcı grubuna göre hedefleyin.
- 04
Uygulanmasına izin verin
Çalışan istemciler yeni kuralı bir sonraki kontrollerinde alır. Yeni derleme yok, sürüm yok, müşterilerin güncellemesini beklemek yok.
Kural çok agresif çıkar ve gerçek müşterileri yakalarsa, çözüm aynı döngünün tersini çalıştırmaktır: panelde gevşetirsiniz, bir sonraki kontrol bunu geri alır. Hızlı yanıt verebilmeyi güvenli kılan da bu geri alınabilirliktir; kesin emin olana kadar beklemek ise güvenlikte genellikle çok uzun beklemek anlamına gelir.
Auto Rules ve risk motoru ile yanıtları otomatikleştirin
Uzaktan değişiklikler, bunları elle yapmanız gerekmediğinde en yararlıdır. Puan tabanlı risk motoru, uygulamanızın bildirdiği sinyalleri tek bir sayıya dönüştürür ve bu sayı üzerinde eşikler belirlersiniz: uyar, kısıtla, kapat veya yasakla. Her sinyal puana katkı yapar ve eylem otomatik olarak buna göre seçilir.
| Eylem | Ne zaman kullanabilirsiniz? |
|---|---|
| Uyar | Henüz harekete geçmeden kaydetmeye değer düşük bir puan |
| Kısıtla | İnceleme yaparken oturumun yapabileceklerini sınırlayın |
| Kapat | Puan sizin çizginizi aştığında oturumu sonlandırın |
| Yasakla | Net, yüksek puanlı bir tehdit için lisansı tamamen engelleyin |
Auto Rules bunu bir adım öteye taşır: bir kuralı bir kez ayarlarsınız ve koşulu sağlandığında seçtiğiniz eylemi uygulayarak kendi başına çalışır. Puan tabanlı motorla birlikte koruma, yeni bir örüntü ortaya çıktığı anda, siz bir paneli izlemeden yanıt verebilir. Tespit tarafı için qPAnalyzer ve statik kara listelerin tek başına neden yetmediği yazılarına bakın.
Puan tabanlı yaklaşım, yanlış pozitiflere karşı bilinçli bir tercihtir. Tek bir sinyalde yasaklamak, kurulumu tesadüfen alışılmadık görünen sıradan kullanıcıyı cezalandırır. Bunun yerine kanıtları biriktirir ve yalnızca toplam sizin belirlediğiniz çizgiyi aştığında harekete geçer. Bu çizginin ne kadar temkinli olacağını siz seçersiniz; yeni bir kuralın davranışını izlerken, ona yasaklama yetkisi vermeden önce daha hafif bir eylem, uyarı veya kısıtlama seçebilirsiniz.
Paneldan veya bir Discord botundan yönetin
Bunların hepsi PapelShip panelinden yönetilir; qPapel Discord botu da yetkiye dayalı bir yapıyla sistemi yönetebilir. Zaten Discord'da yaşayan ekipler ve topluluklar için bu, sohbeti terk etmeden bir kuralı değiştirmek, bir lisansı kontrol etmek veya bir uyarıya yanıt vermek demektir. Satın alma anında rol de veriyorsanız, bunu dijital ürünler için Discord rolleri ile eşleştirin.
Birden fazla kişi işin içine girdiğinde yetkiye dayalı yapı önem kazanır. Bir destek çalışanının koruma politikanızın kontrolünü ona vermeden Discord'dan bir lisansı kontrol etmesine ya da bir sıfırlama tetiklemesine izin verebilirsiniz. Böylece müşterilere en yakın kişiler rutin durumlarla ilgilenirken, yazılımınızın kendini nasıl savunacağını belirleyen ayarlar sizde kalır.
Sıkça sorulan sorular
Saldırının hızında yanıt verin
Uzaktan kontrolün noktası basittir: savunmalarınızın tehditler kadar hızlı değişmesi gerekir, sürüm döngünüz kadar değil. Uzaktan ayarlar, sunucu tarafı değişkenler, oturum zorlaması ve Auto Rules ile koruma politikası sunucuda yaşar; orada onu saniyeler içinde değiştirebilir ve kendi başına harekete geçmesini sağlayabilirsiniz. Bu parçaların daha geniş resimde nasıl oturduğu için C++ ve C# için yazılım koruma katmanları yazısına bakın.
Fikir size yeniyse küçük başlayın. Bir kara listeyi ve bir değişkeni istemciden çıkarın, bir değişikliğin çalışan bir oturuma bir sonraki kontrolünde ulaştığını doğrulayın; ardından döngüye güvendiğinizde oturum sınırlarını ve ilk Auto Rule'u ekleyin. Amaç her şeyi bir anda yapılandırmak değil; tehdit değiştiğinde her seferinde bir sürüme ihtiyaç duymayı bırakmaktır.
Geçen ay gönderdiğiniz bir derleme o günkü hâliyle sabit kalır. Panelden yönettiğiniz bir politika ise sorunla birlikte hareket eder. Sık değişmesi gereken parçaları sunucuda tutun; sürüm döngünüz yeniden yalnızca özelliklerle ilgilenebilsin.
qPapel Security Team
Lisanslama ve yazılım koruması