• 04-05-2021, 01:14:29
    #1
    Merhabalar ASP.Net Core ile API yazıyorum ve Xamarin ile bir uygulamam var

    API ve Mobil uygulama arasında giden gelen veriyi şifrelemek istiyorum.

    Fiddler gibi programlardan trafik incelenerek kullanıcının özel bilgilerine erişilmesin istiyorum

    AES yapmayı düşündüm fakat AES Şifresini DLL içine gömersem APK'dan çıkarılıp şifreyi çok rahat bulurlar diye düşünüyorum.

    Kırılması zor yada kırılamayacak şekilde nasıl yapabilirim sadece öneri ve fikirlerinizi sunsanız yeterli
  • 04-05-2021, 01:22:01
    #2
    bsggr78 adlı üyeden alıntı: mesajı görüntüle
    Merhabalar ASP.Net Core ile API yazıyorum ve Xamarin ile bir uygulamam var

    API ve Mobil uygulama arasında giden gelen veriyi şifrelemek istiyorum.

    Fiddler gibi programlardan trafik incelenerek kullanıcının özel bilgilerine erişilmesin istiyorum

    AES yapmayı düşündüm fakat AES Şifresini DLL içine gömersem APK'dan çıkarılıp şifreyi çok rahat bulurlar diye düşünüyorum.

    Kırılması zor yada kırılamayacak şekilde nasıl yapabilirim sadece öneri ve fikirlerinizi sunsanız yeterli
    SSL Bunun için değil mi ?
  • 04-05-2021, 01:28:49
    #3
    Atroks adlı üyeden alıntı: mesajı görüntüle
    SSL Bunun için değil mi ?
    Hocam ssl araştırdım fakat kesin bir bilgi bulamadım
    Fiddler gibi programlar bildiğim kadarıyla sslyi çözebiliyor yani giden gelen istek rahatlıkla okunmazmı o şekilde ?
  • 04-05-2021, 01:34:34
    #4
    bsggr78 adlı üyeden alıntı: mesajı görüntüle
    Hocam ssl araştırdım fakat kesin bir bilgi bulamadım
    Fiddler gibi programlar bildiğim kadarıyla sslyi çözebiliyor yani giden gelen istek rahatlıkla okunmazmı o şekilde ?
    Fiddler, burpsuite, wireshark bla bla. Bu tarz yazılımların hepsi trafiği dinler. Trafiği dinlerken Man in the middle senaryosunu mu kastediyorsunuz ? Client bazlı bir dinleme yöntemi mi ?
    Client bazlı bir dinleme yöntemiyse eğer bunu crypt etmeniz pek mümkün değil. Giden veriyi her türlü görebilir, her türlü çözebilir sadece zorlaştırmış olursunuz.
    Client bazlı değil de MITM senaryosunda network de araya birisi girer endişesi güdülüyorsa o zaman SSL iş görecektir.
  • 04-05-2021, 01:37:02
    #5
    Atroks adlı üyeden alıntı: mesajı görüntüle
    Fiddler, burpsuite, wireshark bla bla. Bu tarz yazılımların hepsi trafiği dinler. Trafiği dinlerken Man in the middle senaryosunu mu kastediyorsunuz ? Client bazlı bir dinleme yöntemi mi ?
    Client bazlı bir dinleme yöntemiyse eğer bunu crypt etmeniz pek mümkün değil. Giden veriyi her türlü görebilir, her türlü çözebilir sadece zorlaştırmış olursunuz.
    Client bazlı değil de MITM senaryosunda network de araya birisi girer endişesi güdülüyorsa o zaman SSL iş görecektir.
    Hem araya girme hem client bazlı hocam
    Uygulamayı kullanan kişi kendisi fiddler ile okumaya çalışıncada çözememeli
  • 04-05-2021, 01:51:06
    #6
    bsggr78 adlı üyeden alıntı: mesajı görüntüle
    Hem araya girme hem client bazlı hocam
    Uygulamayı kullanan kişi kendisi fiddler ile okumaya çalışıncada çözememeli
    SSL Kullanarak MITM Senaryosunu çözersiniz.
    Client bazlı dinleme olayında SSL çözüm olmaz çünkü proxy server oluşturarak talepleri kendi proxy sunucusundan senin sunucuna ileteceğinden dolayı veriyi okuyabilecektir.
    Client tarafında istek yollanan methodu override edin ve şifrelemeyi override şekilde yazın, tek tek her yere gonder(şifreliGonder("usernamew123")); gibi method yazmayın. Yönetilebilirlik açısından bu önemli.
    Bir keyGenerator API yapın. Bunu database e bağlayın, SSL ayarlayın.
    Yazılımınız her data göndereceğinde API nizden bir key generate ettirerek kendi tarafına alsın. Aldığı key API tarafında kayıt altına alınsın. Veri gelen key'e göre crypt edilsin. Sunucu tarafında da Key'i alır Decrypt edersiniz.
    Timestamp gibi damgaları da şifrelemede kullanırsınız. Belirli bir override süresi koyarsınız, datanın okunamayacak hale gelmesi noktasında 4 saniye koyarsınız misal. 4 Saniye içinde okunamayan veri tekrar çözülemez. Bunu da normal verinin yanında onlarca farklı obfuscated crypto array göndererek yaparsınız. Hedef şaşırtırsınız Gibi gibi.
    Yani kafayı kriptografiyle kırarsanız iyice manuel obfuscate yaparak algoritmayı karmaşıklaştırırsınız. Karmaşık algoritmayı da obfuscator yardımıyla da bir kat daha karıştırırsınız.
    Çözülmesi imkansız mı ? değil, ama lamer ları uzak tutacaktır. yoksa 40 dolar verip hintlilere, ruslara çözdürürüm. çok zor bir iş olmaz.
  • 04-05-2021, 01:53:10
    #7
    Atroks adlı üyeden alıntı: mesajı görüntüle
    SSL Kullanarak MITM Senaryosunu çözersiniz.
    Client bazlı dinleme olayında SSL çözüm olmaz çünkü proxy server oluşturarak talepleri kendi proxy sunucusundan senin sunucuna ileteceğinden dolayı veriyi okuyabilecektir.
    Client tarafında istek yollanan methodu override edin ve şifrelemeyi override şekilde yazın, tek tek her yere gonder(şifreliGonder("usernamew123")); gibi method yazmayın. Yönetilebilirlik açısından bu önemli.
    Bir keyGenerator API yapın. Bunu database e bağlayın, SSL ayarlayın.
    Yazılımınız her data göndereceğinde API nizden bir key generate ettirerek kendi tarafına alsın. Aldığı key API tarafında kayıt altına alınsın. Veri gelen key'e göre crypt edilsin. Sunucu tarafında da Key'i alır Decrypt edersiniz.
    Timestamp gibi damgaları da şifrelemede kullanırsınız. Belirli bir override süresi koyarsınız, datanın okunamayacak hale gelmesi noktasında 4 saniye koyarsınız misal. 4 Saniye içinde okunamayan veri tekrar çözülemez. Bunu da normal verinin yanında onlarca farklı obfuscated crypto array göndererek yaparsınız. Hedef şaşırtırsınız Gibi gibi.
    Yani kafayı kriptografiyle kırarsanız iyice manuel obfuscate yaparak algoritmayı karmaşıklaştırırsınız. Karmaşık algoritmayı da obfuscator yardımıyla da bir kat daha karıştırırsınız.
    Çözülmesi imkansız mı ? değil, ama lamer ları uzak tutacaktır. yoksa 40 dolar verip hintlilere, ruslara çözdürürüm. çok zor bir iş olmaz.
    Hocam ciddi bu dediklerinizi yapsanız hintliler çözebilirmi sizce
    Enigma gibi bir obfuscatorden geçirdik diyelim kütüphaneyi
    Şifreleme keyini bilmedikten sonra nasıl çözüyorlar
  • 04-05-2021, 01:56:46
    #8
    bsggr78 adlı üyeden alıntı: mesajı görüntüle
    Hocam ciddi bu dediklerinizi yapsanız hintliler çözebilirmi sizce
    Enigma gibi bir obfuscatorden geçirdik diyelim kütüphaneyi
    Şifreleme keyini bilmedikten sonra nasıl çözüyorlar
    Çok çözdürdüm bir şekilde çözüyorlar.
    Kendi obfuscatorünüzü yaparsanız çözülmesi çok daha zor olacaktır. İmkansız mı ? hayır, reserve engineering de burada devreye giriyor. Adım adım giderek salt algoritmayı çıkarabiliyorlar. Salta da bazen gerek kalmıyor, bir true yu false yaptığında decrypt halini alabiliyorsun.
    Client bazlı her şey çözülür, her şey hacklenir, client bazlı kritik veri gönderip almamaya dikkat etmek lazım.
  • 04-05-2021, 02:08:15
    #9
    Peki Encryption kısmını C# değilde Go C++ gibi Native bir dil ile yazsak makine koduna dönüşüyor sonuçta
    Yine çözme imkanları varmı?