SORU
12 Aralık 2010, Pazar


OAuth tüketici sırrı güvende tutmak için nasıl, nasıl tepki vereceğini o'in tehlikeye zaman?

Bu soru güvenlik riskleri Android gibi mobil bir platform üzerinde oauth uygulanması dahil anlamaya çalışıyoruz. Varsayım burada tüketici anahtar/gizli kodu içinde gömülü olan bir Android uygulaması var.

Tüketici bir sır varsayarak aşıldığını ve bir hacker bunun sonuçları ne ol, neler oluyor böyle ?

Tehlikeye Tüketici Gizli varsayımlar
Am gibi tehlikeye tüketici bir gizli kullanıcının güvenlik etkisi olmadığını belirten doğru, ya da herhangi bir veri OAuth depolanan kullanıcı ile etkileşim olduğunu sağlayıcı etkin. Veri tehlikeye kendisi değildir ve olamaz hacker tarafından alınması.

Hacker geçerli bir kullanıcı erişim belirteci almak için tutun gerekir ve bu çok daha zor.

Bir hacker tehlikeye tüketici sır ne olabilir ?
Ben de aşağıdakileri bildiren doğru :

  • Hacker Kur/an yayınlayabilir uygulama uygulamam taklit.
  • Hacker gidecek kullanıcıları çekebilecek OAuth akışı sayesinde, bir alınıyor erişim hackerlar ile OAuth token (tehlikeye tüketici kullanarak dans anahtar/) gizli.
  • Kullanıcı düşünebilir o benim app ile ilgileniyor ... tanıdık bir isim (tüketici anahtarı) yetkilendirme işlemi sırasında.
  • Bir tüketici isteği ile sorunları hacker, hacker kolayca yapabilirsiniz token, ve erişim yolunu kesmek tüketici sırrı ile birlikte olabilir şimdi benim adıma imza istekleri benim kaynaklara erişim.

Son kullanıcı etkisi
Varsayım bu

  • bir hacker var Kur bir uygulama / site tüketici sırrımı kullanarak
  • benim kullanıcılara bir yetki kandırıldı bu uygulama / sitesine giriş

Aşağıdaki olabilir :

  • son kullanıcı tuhaf bir şeyler oluyor farkında olmak, ve servis sağlayıcı hakkında bilgi verebilir (örn: Google) zararlı uygulamayı
  • servis sağlayıcı tüketici anahtar/gizli iptal edebilirsiniz

(Uygulamam) OAuth tüketici etkisi :
Benim uygulama (içeren tüketici sırrı) ihtiyaç haberdar olmak için, aksi takdirde tüm müşterilerim olmaz mümkün yetki başvurum yapmak istekleri onların adına artık (benim gibi tüketici sır ki artık geçerli).

Tüm OAuth trafik delege
Olsa da olur mümkün temsilci bir çok OAuth etkileşimleri üzerinden bir ara Web sunucusu (yapmak OAuth dans ve gönderme erişim belirteci, kullanıcı), bir olur ve vekil tüm hizmet etkileşimleri de, tüketici anahtar/gizli yapılması için imza her istek. Bu tek yol tüketici Ara Web sunucusu üzerinde daha güvenli bir yerde mobil uygulaması dışında/gizli ve saklı anahtar tutmak için mi ?

Alternatifleri
Proxy-ıng bunun için alternatifler var mı ? Mümkün müdür mağaza tüketici sır Ara Web sunucusu ve bir çeşit mekanizma bu Android uygulaması (yayınlanan pazar ve düzgün imzalı), bir güvenli istemek için Ara web sunucunuza getir tüketici gizli ve dükkan içten app ? Bir mekanizma hayata Ara Web sunucusu "bilir" bu resmi bir android uygulaması olduğunu isteyen getirme tüketici gizli, ve o Ara Web sunucusu sadece sadaka tüketici gizli için belirli bir android uygulaması ?

CEVAP
12 Aralık 2010, Pazar


ÖzetSadece risk almak ve istemci uygulaması gizli tutmak istiyorum.

Proxy sunucusu alternatif:

Tek yolu makul azaltmak sorunlar listesi aşağıda ve proxy-ıng iş olur git ne var ne yok hepsine - hareket tüm iş mantığı başa çıkmak için bazı kaynaklar üzerindeki üçüncü parti Java Eklentisi için bir proxy sunucu ve istemci uygulaması aptal terminal ile zengin UI. Bu şekilde, zararlı uygulamayı vekil kendi adına gerçekleştirmek yapmak mümkün olacaktır sadece eylemleri iş mantığı meşru ihtiyacı var sadece.

Ama şimdi başka sorunlar güvenilirlik ve ölçülebilirlik ile uğraşmak zorunda bir sürü alanda.

Basit proxy işe yaramaz neden uzun düşünüp taşınmalardan:

İle karşı karşıya kaldığında bazı insanlar, bir sorun, “biliyorum, benim ekleyeceğim sanırım kendi proxy iki var” Şimdi server sorunları. (Jamie için özür dilerim Zawinski)

Varsayımlar büyük ölçüde doğru. Pek azı haklı yere başlarsın düşünmeye kendi sunucusu olsun tutar gizli ve yakınlık aramaları için istemci uygulaması, ya da çalışır olup olmadığını belirlemek için uygulamanın meşru ve ver o sırrı. Her iki yaklaşım da, yine de bu sorunu çözmek zorunda "bu istek bir kod parçası geliyor yazdım"?

Tekrar etmeme izin verinyazılım bu özel parça çalıştıran Tel üzerinde ayırt etmek yolu yoktur. Eğer iletileri verileri doğru görünüyorsa, hiçbir şey o kadar mesaj gönderiyor başka bir uygulama var kanıtlayabilirim.

Sonunda bir gün, eğer benim yazımı bir kötü niyetli uygulama, umurumda ben aslında biliyorum gerçek sırrı sürece yapabilirim, birisi bunu bilir bunu bir iş üzerinde benim adıma. Eğer kötü niyetli bir uygulama, üçüncü taraf OAuth sunucularına uygulamanızı bürünebilir düşünüyorsan, neden bazı proxy uygulaması taklit edemez misin?

Ama bekleyin, dahası var. Hangi proxy hizmeti bulunduğu etki alanını, müşterilerini ve OAuth sağlayıcı OAuth sağlayıcı tarafından son kullanıcıya gösterildiği gibi) hem de kimlik. Eğer kötü niyetli bir uygulama sunucunuz kötü şeyler yaptırabilir, sadece anahtarı iptal edilmiş, ancak kamu web kimliğinizi de artık güvenilir değil.


Bariz ile başlayacak - yazılım bu özel parça çalıştıran Tel üzerinde ayırt etmek yolu yoktur. Eğer iletileri verileri doğru görünüyorsa, hiçbir şey o kadar mesaj gönderiyor başka bir uygulama var kanıtlayabilirim.

Böylece, uygulama-yan gizli saklı dayanan herhangi bir algoritma sahte. OAuth gücü asla uygulama geçici kimlik bilgilerini vererek kullanıcı gerekirse iptal edebilirsiniz kendi yerine uygulaması için kullanıcı kimlik bilgilerini verir.

Tabii ki, zayıf noktası burada yeterince iyi bir uygulama hain işler bitmeden kullanıcı güven ve kimlik bilgilerini iptal değil, olabilir.

Ancak, bu azaltmanın bir yolu, 3 aşamalı OAuth, yerine standart 2 bacaklı kullanarak Google'ın yaklaşımdır. 3 ayaklı OAuth, önceden belirlenmiş gizli bir şey yok, ama her kimlik yeni bir access token bir sır, her bir erişim belirteci ile birlikte verilir. Süre sonunda bu acı, aynı zamanda dezavantajı, gibi bir kötü uygulama okuyabilen iyi app token secret " süreç, sonuç kullanıcıya sahip olduğunu onaylamak üzere uygulamaya erişmek her zaman ihtiyaç duyduğu yeni access token.

Ve tabii, bu da bir bit ve kullanıcı için sinir bozucu daha zahmetli olduğu anlamına gelir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dive In

    Dive In

    17 Temmuz 2013
  • PhoneArena

    PhoneArena

    7 NİSAN 2006
  • ThePhestor

    ThePhestor

    22 Mart 2011