.Net Uygulama Güvenliği–Hacking ve Tedbirleri

Merhaba Arkadaşlar,

Bu görsel dersimizde önce basit bir .Net uygulamasını, CIL(Common Intermediate Language) kodları üzerinden Hackliyor ve sonrasında olası tedbirleri deneyerek söz konusu vakayı engellemeye çalışıyoruz. Bunun için komut satırından kolayca kullanılabilen sn.exe(Strong Name ile uygulamanın işaretlenmesi) ve SignTool.exe(Uygulamanın bir sertifika ile işaretlenmesi) araçlarını değerlendiriyoruz. Kodun Obfuscate edilmesinden bahsediyor ve son olarak sonuçları irdeliyoruz.

Ara sıra gelen o gıcık öksürük ritmimi bozduğundan sürçü lisan etmişimdir mutlaka. O yüzden affola. Bir başka görsel dersimizde görüşünceye dek hepinize mutlu günler dilerim Winking smile

Yorumlar (11) -

  • Bu tool'u bilmiyordum, anlatımınız için teşekkür ediyorum. Fakat SN aslında kırılması çok zor olmayan bir güvenlik önlemiymiş. Ufak bir araştırma ile SN'in 2-3 satır ek komutla kırıldığını gördüm ve bir anlamı kalmadı bu tool'un Smile Aslında videonun sonunda da dediğiniz gibi kırılamayacak hiçbir yazılım yoktur. Bu nedenle çok da şaşırmamak gerek.
  • Burak Hocam çok haklısın. Görsel Ders' te bahsettiğim gibi Obfuscator' ların profesyonel sürümlerini de bir deneme lazım. En azından kodun kırılmasını zorlaştırmak anlamında yardımcı olacaktır. VS ile gelen Free edition' dan ziyade çeşitli firmaların daha profesyonel olan araçlarını kullanmak ciddi olarak düşünülebilir. Diğer yandan sertifika ile işaretlemek daha mantıklı gibi görünüyor bana kalırsa.
  • Hocam merhaba,

    Her zamanki gibi çok başarılı ve keyifli bir anlatım gerçekleştirmişsiniz, öksürüğünüz bile engel olamamış Smile
  • Merhaba Burak Hocam,
    Firma tarafından imzalanmış exe değişiklik yapıldıktan sonra yeniden imzalanmaz mı?
  • Merhabalar,

    Sertifika ile işaretleme sırasında bir Timestamp değeri kullanılmakta ve bir de signtool' un verify parametresi ile kullanımı söz konusu.

    SignTool verify [Assembly Name]

    gibi. Bu şekilde daha önceden sertifikalandırılmış bir assembly ın imzası doğrulanabilir.

    Bir de sertifikalandırma sırasında password kullanımı söz konusu.
    SignTool sign /f MyCert.pfx /p[Güçlü bir password] [Assembly Name]

    gibi. Bu da tekrardan sertifikalandırma sırasında hacker için bir engel teşkil edebilir.

    Tabi hacker' ın önceden sertifikalandırılmış bir assembly' ı yeniden sertifilanaldırırken erişmesi gereken bilgiler de var. Sertifika, Timestamp kaynağı vb...Bunlara erişim de zorlanabilir belki. Yine de belli olmaz...

    Şu adreslere de bir bakın derim msdn.microsoft.com/.../aa388171(v=vs.85).aspx

    ve

    msdn.microsoft.com/.../aa388170(v=vs.85).aspx

    Tabi ne olursa olsun görsel anlatımda da belirttiğim üzere kırılma, kullanıcıyı yanıltma ihtimali %1 bile olsa bulunmaktadır :/
  • Merhaba;
    Şöyle bi hata alıyorum : "error : File 'timer.exe' not found or not a PE file"

    dcmp komutum : "C:\hack>ildasm  timer.exe /out=sc.il"
  • Bu arada il dosyasını oluşturmuş ama dosyada kod yok hata mesajı var

    //  Microsoft (R) .NET Framework IL Disassembler.  Version 4.0.30319.17929
    //  Copyright (c) Microsoft Corporation.  All rights reserved.

    error : File 'timer.exe' not found or not a PE file
  • Burak Hocam merhaba,

    Öncelikle video için teşekkürler. Agile.Net gibi Obfuscator programları önerir misin?
  • selamlar,
    hocam properties ten singning olarak yapmaya çalıştığımda,
    "Error  1  Assembly generation failed -- Referenced assembly 'FTPclient' does not have a strong name  C:\etc_proje\WindowsFormsApplication1\WindowsFormsApplication1\CSC  WindowsFormsApplication1 "


    diye bir hata almaktayım.
    programım kısaca bir çıktı oluşturup ftp ile belirlenen yere dosya gönderiyor.
    ftp için dll kullanmıştım.

    bu sorunu nasıl çözebilirim.
  • Hocam merhaba..
    Sign to assembly ile key belirledikten sonra proje üzerinde hiç bir değişiklik yapamıyorum bu işlemi nasıl geri alırım.. yani bu key nasıl kaldırılır..

Yorum ekle

Loading