folder Tahribat.com Forumları
linefolder Android - IOS Programlama
linefolder Apk Dosyasında Secret Key Saklama



Apk Dosyasında Secret Key Saklama

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    hocalar merhaba

    uygulama içinde gizli anahtar var ancak buna kullanıcılar kolay bir şekilde ulaşabiliyor. 

    alttaki gibi websiteleriyle online bir şekilde apkyı upload edip içindeki özel anahtara erişebiliyorlar. 

    daha güvenli olsun diye private keyi serverda tutsan, lazım olduğu durumda çekmek istediğinde apk ile trafiği takip edip yine o private keyi yakalayabilirler. Siz bu tip durumda en güvenli olacak şekilde nasıl saklarsınız bu private keyi? 

    http://www.javadecompilers.com/

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    HTTPS ile anahtar network üzerinden güvenli bir şekilde alınabilir ancak kod tersine mühendisliğe karşı korunmamış ve anahtar bellekte açık tutuluyorsa yine ele geçirilebilir.


    λ
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    tersine mühendisliğe karşı kod nasıl korunabilir hocam bu konuda fikir birliliğine ihtiyaç var. 

    apk kodları = html kodları gibi bişeymiş ben böyle olduğunu bilmiyorum. tarayıcıda sağ tıklayıp nasıl kaynağı görüntüle diyorsak, apk kodlarınıda o kadar kolay açabiliyormuşuz. 

    blockchain yapısı gibi bişey mi kurmak lazım tam bilemiyorum. bi kullanıcının secret keyini başka kullanıcılara mı saklamak lazım ne yapmak lazım kafamda deli sorular 

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    cemnet bunu yazdı

    tersine mühendisliğe karşı kod nasıl korunabilir hocam bu konuda fikir birliliğine ihtiyaç var. 

    apk kodları = html kodları gibi bişeymiş ben böyle olduğunu bilmiyorum. tarayıcıda sağ tıklayıp nasıl kaynağı görüntüle diyorsak, apk kodlarınıda o kadar kolay açabiliyormuşuz. 

    blockchain yapısı gibi bişey mi kurmak lazım tam bilemiyorum. bi kullanıcının secret keyini başka kullanıcılara mı saklamak lazım ne yapmak lazım kafamda deli sorular 

    APK korumaya yönelik çeşitli anti reverse engineering yazılımları var. Java kodu ise obfuscate edilebilir, native kod ise daha ileri teknikler uygulanabilir ama obfuscation diğerine göre zayıf ve kodun anlaşılması kolay kalıyor tabii. Bu konuda iyi sonuçlar veren bir yazılım kullanmak lazım. Onlar da muhtemelen paralıdır. Bütçeye göre alınabilir ya da kırılmış olanı kullanılabilir. Bellekte tutulan verinin korunması konusunda kendin kod yazıp tutuluş şeklini daha karmaşık hale getirebilirsin ya da oyunlarda hile yapılmasın diye belleği koruyan çeşitli yazılımlardan faydalanabilirsin.

    anonim6918524 tarafından 06/Tem/20 18:21 tarihinde düzenlenmiştir

    λ
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cemnet
    cemnet's avatar
    Kayıt Tarihi: 18/Eylül/2007
    Erkek

    ücretli yazılımlarda olsa asıl işi kodları karıştırmak okunabilirliği zorlaştırmak aslında. yani adam yapıyı çözdükten sonra 2 iş gününde çözebileceği bir kodu 5 iş gününde yine çözebilecek. bu işi %100 korunaklı yapılamayacağını anladım ama uygun bir mimari ile %99 kırılamaz hale getirilebileceğini düşünüyorum

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    inside
    anonim6918524
    anonim6918524's avatar
    Banlanmış Üye
    Bilgi/Destek Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek
    cemnet bunu yazdı

    ücretli yazılımlarda olsa asıl işi kodları karıştırmak okunabilirliği zorlaştırmak aslında. yani adam yapıyı çözdükten sonra 2 iş gününde çözebileceği bir kodu 5 iş gününde yine çözebilecek. bu işi %100 korunaklı yapılamayacağını anladım ama uygun bir mimari ile %99 kırılamaz hale getirilebileceğini düşünüyorum

    Evet. %100 koruma sağlamak mümkün değil. Nihayetinde o anahtar son noktada kullanılacak.


    λ
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hipokondriyak
    hipokondriyak's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    cemnet bunu yazdı

    tersine mühendisliğe karşı kod nasıl korunabilir hocam bu konuda fikir birliliğine ihtiyaç var. 

    apk kodları = html kodları gibi bişeymiş ben böyle olduğunu bilmiyorum. tarayıcıda sağ tıklayıp nasıl kaynağı görüntüle diyorsak, apk kodlarınıda o kadar kolay açabiliyormuşuz. 

    blockchain yapısı gibi bişey mi kurmak lazım tam bilemiyorum. bi kullanıcının secret keyini başka kullanıcılara mı saklamak lazım ne yapmak lazım kafamda deli sorular 

    Tersine tersine muhendislik ile.korunabilir


    Homo sapiens, yaşamak için, diğer canlıların yaşamasına muhtaç; obligat parazit türüdür. "Sen olursan boş bardak , sana olur koyan çok su. a.g."
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    Keyi niye veriyosun ki kullanıcıya, web servis yap. Keyi kendi tarafında kullan. 


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cukurova
    cukurova's avatar
    Kayıt Tarihi: 21/Aralık/2003
    Erkek

    Mantıkta bir hata var gibi, sen private key neden client veriyorsun ki ? Asimetrik şifrelemenin mantığına ters.

    Public ver, onunla mzalasın sana göndersin.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    rakkoc
    rakkoc's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo
    cukurova bunu yazdı

    Mantıkta bir hata var gibi, sen private key neden client veriyorsun ki ? Asimetrik şifrelemenin mantığına ters.

    Public ver, onunla mzalasın sana göndersin.

    Anladiğim kadari  ile arkadas asymmetric enc de ki priv key den bahsetmiyor. X bir api'nin secret keyinden  bahsediyor.

    Malesef Priv key'i mobile eklediğin andan itibari ile cok da güvenli olmuyor. hep kırmanın bir yolu var. hatta mobile cihaza setifika gömüp, https protokolunden gonderdiğin data ve header'lari router dan  yakalayıp decrypt edip yine keyi ve api bilgilerini elde edebilirler. bu yuzden kullanıcı seviyelemesi yapip her device kendi sec key'i ile işlem yapacak ve api lerde ki kendi yetkin  yerine gidecek.


    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @Rakkoc abimin çok güzel bir fikri vardı. Elinde bir string olsun ve bu string her client için değişken olsun demişti.

    Daha sonra bu string'i öyle bir algoritmadan geçir ki bu stringin decoder'i sunucuda olsun. Yani adam o stringi üretemesin... Yamulmuyorsam o zamanlar EAN 13 örneğini vermişti.

    Bende kendi encoderimi o client üzerinden gerçekleştirip decoderi sunucu tarafına yazıyordum. Yani adam X bir stringi encode etmeden işlem yapamıyor.. (Bu sadece ClientKey birde Public Key vs var JWT ile).

    Ben bu ClientKey ile sunucuya gidip bir Private Key elde ediyorum. Daha sonra apilere istekte bulunurken bu Private Key ile SHA256 algoritması ile şifreliyorum.

    Yani adam önce client da IMEI numarası ile ürettiği key ile bir servise geliyor. Daha sonra ben bu adama tamam reis sen benim programı kullanıyorsun al şu şifreyi bütün trafiği bu şifre ile şifrele diyorum. 

    Vel hasıl kelam.... Böyle bir güvenlik önlemim vardı kodların içerisinde bir key göremezsin..

    Android için proguard kullanıyorum kodları karıştırıyor.

    Yeterli mi değil. Sadece hackerin işi zorlaşıyor :P Adam orayı FireX dediği gibi okuyarak gene algoritmayı fark edebilir ama çok zor yani. Öyle biri de gelsin hacklesin zaten helal olsun der teslimiyet ile ne istersin reis-ül ala derim :) Hiç bir şey tamamen güvenli olmaz sadece saldırganın işini zorlaştırır. 

     

    Benim algoritmam da şuna benzer çalışıyor.

    Önce bir filtre methodum var atıyorum 5 leri A 2 leri R ilk 3-1 leri 5 ilk 2-3 leri 2 yap gibi bir algoritma var. Sonra onun modunu alıyorum modunu aldıktan sonra ortadan ikiye böl çarp daha sonra elde ettiğin sonucu . ayracı ile en sona ekle falan filan gibi bir süzgeç algoritmam var bu algoritmanın tersi sunucuda. bayağı bir karışık orası yaklaşık 400 satır kod var. Yok efenim harflerin ASCII kodların toplamı 8-12 arasındaki rakam bloğunu veriyor felan filan...

    MhmdAlmz tarafından 07/Tem/20 08:14 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
Toplam Hit: 1890 Toplam Mesaj: 11
secret key