Delphi Can

Orjinalini görmek için tıklayınız: Resource - Uygulama Güvenliği Sağlanır mı?
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Selamlar,
  • Resource içinde veriler saklanması güvenlik bakımından nasıl bir düzeydedir? 
  • UPX gibi sıkıştırma araçları ile sıkıştırılan uygulamalar mevcut biliyorsunuz; sıkıştırılan bir Delphi uygulaması "ResourceHacker" gibi bir program ile analiz edildiğinde veriler gösterilmiyor, başka yollar ile o verilere ulaşılması mümkün mü?
Teşekkürler.
Merhaba 
Projenizin kapsamı ile orantılı olarak tercih size ait.

EXE packer uyugulamaları bu veriyi çok iyi encrypt ediyorlar ve görevlerini yerine getiriyorlar ancak bu EXE çalıştığında bu içerik önce RAM'de açılıp öyle çalışıyor.

İşinin ehli olan hafıza bloğunu takibe alıyor. Dolayısıyla engelleri projenizin hedef kitlesi ile orantılı tutmak kafi olarak değerlendiriyorum.

Bazı exepacker uygulamaları (themida vb.) projenize kendisini ulayarak hafızada projeye erişim tespit etmek için debugger bloke etme gibi özellikler sunuyor. Projenize yoğunlaşın korumayı bize bırakın tarzında yaklaşımı güdüyorlar. 

Mümkün olduğunca şifrelerinizi karmaşık ve uzun tutmanızı, login vb aşamasında fonksiyon/procedure/değişken isimlerinizin yaptığı işlemden uzak/yabancılaştıran isimlendirme kullanmanızı öneririm.
UPX ile sıkıştırdığın dosyayı UPX ile çözebilirsin.
Daha karmaşık çözülmesi güç alternatifler var. Ancak antivirüsler bu dosyaları çözemezse dosyayı potansiyel tehlikeli hatta direk tehlikeli olarak işaretliyebiliyor. Dosyayı imzalamak gerekli.
(14-05-2018, Saat: 23:14)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba 
Projenizin kapsamı ile orantılı olarak tercih size ait.

EXE packer uyugulamaları bu veriyi çok iyi encrypt ediyorlar ve görevlerini yerine getiriyorlar ancak bu EXE çalıştığında bu içerik önce RAM'de açılıp öyle çalışıyor.

İşinin ehli olan hafıza bloğunu takibe alıyor. Dolayısıyla engelleri projenizin hedef kitlesi ile orantılı tutmak kafi olarak değerlendiriyorum.

Bazı exepacker uygulamaları (themida vb.) projenize kendisini ulayarak hafızada projeye erişim tespit etmek için debugger bloke etme gibi özellikler sunuyor. Projenize yoğunlaşın korumayı bize bırakın tarzında yaklaşımı güdüyorlar. 

Mümkün olduğunca şifrelerinizi karmaşık ve uzun tutmanızı, login vb aşamasında fonksiyon/procedure/değişken isimlerinizin yaptığı işlemden uzak/yabancılaştıran isimlendirme kullanmanızı öneririm.

Üstat cevap için teşekkürler,

Proje içinde MySQL gibi veriler saklanması planlanıyor. Bundan önce açmış olduğum bir konu vardı; resource içine veri gömme hakkında. Başka bir uygulama; hedef uygulamanın resource için girilen MySQL adresi gibi önemli bilgileri ekleyecek. Bir nevi ana uygulamanın oluşturmuş olduğu bir yavru uygulama gibi. Dediğiniz gibi Themida gibi ek güvenlik uygulaması ile aşılabilir fakat yine de tam güven olmuyor çünkü decrypt edilmesi durumunda facia ile sonuçlanabilir. 

Peki size şöyle bir soru sorsam;

Anlattığım gibi bir uygulama: Ana uygulamanın için gömülmüş standart bir uygulama mevcut. Gömülü uygulamanın içine bazı veriler eklenmesi gerekiyor. Bu veriler sayesinde gömülü uygulama bağlantıları ve sorgulamaları yapacak. Nasıl bir yol izlenmeli? Yavru uygulama gömülü olmak zorunda değil; sadece dışarıdan kalıcı müdahale edilmesi gerekiyor. Sadece fikir arıyorum... 

Teşekkürler. [@mrmarman ]

(14-05-2018, Saat: 23:17)engerex Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlUPX ile sıkıştırdığın dosyayı UPX ile çözebilirsin.
Daha karmaşık çözülmesi güç alternatifler var. Ancak antivirüsler bu dosyaları çözemezse dosyayı potansiyel tehlikeli hatta direk tehlikeli olarak işaretliyebiliyor. Dosyayı imzalamak gerekli.

Cevabınız için teşekkürler,

Anti-virüs meselesi aklıma gelmemişti. Peki sizce yukarıda ki yanıtta bulunan bir uygulama içine nasıl veri saklanabilir kalıcı olarak?

Teşekkürler. [@engerex ]
@engerex haklı başım güncel olarak bununla da belada mesela Dodgy

Öncelikle resource içindeki proje bilgileri dolu olunca kısmen çözülüyor ama imza yoksa özellikle trendmicro office scan illa ki fazlasını istiyor.

Kurumda kendi serverimi kurup, webservice ile irtibat sağlıyorum. Servisin ucundaki ip bazlı erişim limitledim. Şifreler serviste duruyor.
(14-05-2018, Saat: 23:22)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKurumda kendi serverimi kurup, webservice ile irtibat sağlıyorum. Servisin ucundaki ip bazlı erişim limitledim. Şifreler serviste duruyor.

Olabilir, benim tam istediğim olası bir kendi serverim kapanması durumunda uygulamaların kendi MySQL hesapları ile devam etmesi ama güvenlik bakımından sizin dediğiniz gibi yapmam gerekiyor sanırsam. 

Teşekkürler!
Önerim uygulamanın belli sürelerde sunucuya bağlanması ve güncel key alması ve bu keylerin sürekli değişmesi. Örnek ayda bir alır 5 günde tolerans verir kullanıcının id siyle key oluşturur ve kullanıcı tekrar key istemeye kalkarsa key vermez. Bu keyi uygulaman kendi db.sine kaydeder 30 gün oradan kullanır. Giden gelen bilgininde şifreli ve yazılımcının bildiği bir parolayla çözülmesini öneririm. Siz ne kadar sunucuda bilgi tutsanızda sunucu dediğiniz bir ip ve bu ip.yi dns ayarlarından kendi bilgisayarına yönlendirebilir. Sizin sunucunuzla olan paket iletişimini inceleyebilir. Bu yüzden bu trafik olabildiğince az olmalıki karşı tarafın işi zorlarşsın.
İşinin ehli olan hafıza bloğunu takibe alıyor. Dolayısıyla engelleri projenizin hedef kitlesi ile orantılı tutmak kafi olarak değerlendiriyorum.

Daha önce de tartışıldı, kırılamayacak engel yok
Merak edenler için güzel bir kitap; Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol.