Dll dosyalarını güvenli hale getirmenin en iyi yolu nedir

C ++ oluşturucu 'da, bir klasöre bakıp mevcut tüm dll dosyalarını yükleyen büyük bir uygulama yapımız var. Bunun iyi bir şey olmayacağını düşündüm ve sadece bir web tarayıcısını açan ve sahip olduğu kelimeyle bir resim açan bir dll oluşturarak düşüncelerimi denedim: P

Her neyse, işe yaradı. Böylece sistem herhangi bir şekilde bir dll değiştirilerek ya da yeni bir eklenerek tehlikeye girebilir. Uzaktan yönetici erişimi, sürücüleri biçimlendir, siz adlandırın.

Bu yüzden düşüncelerim bu deliği tıklamaya çalışmak için gitti. Bunun için en iyi uygulama nedir? Bir çeşit dll'nin imzalanmasını düşünüyordum. Bir dll'nin yerine geçebileceğinden, geçerli dll'lerin adlarının listesini tutan .exe'nin gerçekten çözmesi mümkün değildir. Bir isim ve checksum listesi çalışırdı, ancak otomatik yükleme özelliğini korumak iyi olur, ancak yalnızca doğru şekilde yüklendi imzalı dll'ler .

Düzenleme: İşi yapmakta olan signtool.exe 'yi kullanmayı düşünüyorum. Ama aslında C ++ 'daki imzayı gerçekte nasıl kontrol edeceğimi iyi bir şekilde bulamıyorum . Bağlantıya sahip olan var mı?

2
Ancak, tüm ikili dosyalarımızı programımıza imzalamaya karar verirsek, muhtemelen sistem, bizden daha iyi bir şekilde koruyabilirdi. Yürütülebilir dosyanın imzalanması ve dll'nin bir sertifika kullanması en azından ek bir güvenlik katmanında olmalıdır. Bir şey yapmama yaklaşımı, çünkü kendi başına,% 100 güvenli bir şey yapmazsa kitabımda kalmaz. Uygulamanın alabileceği kadar iyi olmasını sağlamak için birkaç koruma seviyesi uygulamak daha iyidir. Aksi takdirde, sadece güvenliği kapıdan dışarı atabiliriz ve teslim edebiliriz;)
katma yazar inquam, kaynak
Vaktini boşa harcıyorsun. Bir saldırgan, imzaları doğrulamak için yazdığınız kodu değiştirmez. Ya da sadece senin exe ile onun yerini alır, çok daha kolay.
katma yazar Hans Passant, kaynak

2 cevap

DLL'leri içeren klasörü korumalısınız, böylece yalnızca Yönetim erişimi olan kullanıcılar yazabilirler.

Bunun ötesinde, böyle bir klasöre yazabilen herkes istediği her şeyi yapabilir ve bu konuda yapabileceğiniz çok şey yoktur.

0
katma