C hassas dizeleri engelleme teknikleri | Netgez.com
SORU
30 EKÄ°M 2009, Cuma


C hassas dizeleri engelleme teknikleri

Hassas bilgiler (özel kalmasını istiyorum simetrik şifreleme anahtarı) C uygulamam depolamak lazım. Basit bir yaklaşım bu

std::string myKey = "mysupersupersecretpasswordthatyouwillneverguess";

Ancak, strings süreç (ya da ikili bir uygulama alıntılar dizeleri başka) ile çalışan uygulama yukarıdaki dize ortaya çıkaracaktır.

Teknikleri gibi hassas verileri gizlemek için kullanılan ne olmalıdır?

Düzenleme:

Hemen hemen hepiniz öyle söylemiş TAMAM< . em ^"yürütülebilir ters mühendislik olabilir"- elbette! Bu benim bir hayvan kızdırmak, biraz burada rant ediyorum:

Neden ™ (TAMAM, bu yüzden belki de abartıyorum biraz) güvenlikle ilgili tüm soruları bu site olan cevap ile bir torrent "yok olası bir yol oluÅŸturmak için mükemmel bir güvenli programı" - bu yararlı bir cevap! Güvenlik ve kullanılabilirlik mükemmel ve kusursuz güvenlik güvenlik yok ama diÄŸer hiçbir kullanılabilirlik arasında bir skalaya sahiptir.

Nokta sürgülü ölçek yapmaya çalıştığınız ne bağlı olarak ve hangi yazılımı çalışacak çevre üzerinde konumunuzu almak.Askeri yükleme için bir uygulama yazıyorum, eve bir PC için bir program yazıyorum. Önceden bilinen bir şifreleme anahtarı ile güvenilir olmayan bir ağ üzerinden veri şifrelemek için ihtiyacım var. Bu gibi durumlarda, "karanlık" yeterince iyi herhalde! güvenlik Tabii, yeterince zaman, enerji ve yetenekli biri, ters Mühendisi ikili ve şifre bulmak, ama tahmin et ne olabilir? Umurumda değil

Bu zaman alır bana uygulamak birinci sınıf bir güvenli sistemi daha fazla kaybı satış nedeniyle kırık sürümleri o değil de ben aslında satan bu, ama benim açımdan). Blue-sky bunu yapmak mutlak en iyi yolu "trend yeni programcılar az söylemek aptallıktır arasında programlama. Olası" sağlar

Bu soruyu cevaplamak için zaman ayırdığınız için teşekkür ederim çok yardımcı oldular. Ne yazık ki tek bir cevabı kabul edebilirim, ama-oy tüm yararlı cevaplar aldım.

CEVAP
30 EKÄ°M 2009, Cuma


Temelde, sizin için erişimi olan herkesin bir debugger programıolabilirveEğer isterseniz uygulama içinde anahtar bulmak.

Ama, eğer sadece anahtar ikili strings çalışırken gelmezse emin olmak istiyorsanız, örneğin anahtar yazdırılabilir alanı içinde olduğundan emin olun.

XOR ile engelleme anahtarı

Örneğin, XOR iki bayt dizileri haline: anahtar bölmek için kullanabilirsiniz

key = key1 XOR key2

Eğer key bayt olarak uzunluğu aynı key1 oluşturursanız (tamamen) rasgele bayt değerleri kullanmak ve key2 hesaplamak:

key1[n] = crypto_grade_random_number(0..255)
key2[n] = key[n] XOR key1[n]

Yapı ortamında bunu yapmak, ve sadece uygulama key1key2 depolayabilirsiniz.

Senin ikili koruma

Başka bir yaklaşım, ikili korumak için bir araç kullanmaktır. Örneğin, ikili karıştırılmış olduğundan emin olmak için çeşitli güvenlik araçları ve üzerinde çalışan bir sanal makine başlar. Bu zor(er) hata ayıklamak için yapar, ve aynı zamanda pek çok ticari sınıf güvenli uygulamalar (de, ne yazık ki, kötü amaçlı yazılım) korunan klasik yoludur.

Premier araçlardan biri senin ikili korumak harika bir iş yapar Themida. Çoğu tanınmış programları, Spotify gibi, tersine mühendislik karşı korumak için kullanılır. OllyDbg ve Ida Pro gibi programlarda hata ayıklama önlemek için özelliklere sahiptir.

Ayrıca daha büyük bir liste, belki biraz modası geçmiş, tools to protect your binary.
Bazıları ücretsizdir.

Parola eÅŸleÅŸtirme

Birisi burada parola tuz karma tartıştı.

Eğer kullanıcı gönderilen şifre falan karşılaştırmak anahtarı saklamak isterseniz, tek yönlü karma bir işlevi, tercihen kullanıcı adı, parola ve tuz birleştirerek kullanmalısınız. Bu sorun, gerçi, uygulama tek yönlü ve sonuç sağlamalarının karşılaştırır tuzu bilmek zorunda değil. Bu yüzden bu yüzden hala tuzu bir yerde uygulamanızda saklamanız gerekir. Ama, @Edward, bu etkili bir sözlük saldırısı, e karşı koruyacak altında bulunan yorum puan.g, rainbow tabloları.

Son olarak, tüm bu tekniklerin birlikte yukarıda kullanabilirsiniz.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Bad Lip Reading

    Bad Lip Read

    22 Mart 2011
  • Derek Banas

    Derek Banas

    12 AÄžUSTOS 2008
  • InfinityWard

    InfinityWard

    19 EYLÃœL 2006