Истинският въпрос е какво получава един нападател, ако го открадне...
Трябва да направите всичко възможно, за да защитите тайните, но в крайна сметка силно мотивиран хакер винаги може да стигне до тях в инсталирано приложение. Така че това е стойността на тайната срещу трудността на извличането.
Стойността на тайната на клиента е имитирането на приложението. Не дава достъп до потребителски данни. Въпреки това, тъй като Twitter поддържа автоматично издаване на идентификационни данни към предварително одобрени приложения (тяхното влизане с потока на Twitter), нападателят може потенциално да изгради уеб приложение с вашата тайна и да открадне потребителски данни чрез сляпо пренасочване.
Проблемът с внедряването на Twitter е, че те не питат разработчика за естеството на приложението. Ако го направиха, те нямаше да ви издадат тайна като начало и щяха да блокират всеки, който създава уеб приложение, използвайки вашите клиентски идентификационни данни и кражба на данни от потребители, които вече са го одобрили.
Обфускацията е една възможност, но слаба. Преместването на тайната към уеб сървър, действащ като API прокси, е друго, но това просто премества проблема другаде, защото сега вашето приложение трябва да се удостоверява срещу прокси сървъра. Въпреки това, този модел може да бъде сравнително сигурен, ако изисквате потребителите да влизат във вашия сайт (който може да използва, чрез уеб изгледи, Twitter за влизане). По този начин някой, който се опитва да злоупотреби с вашето прокси, ще има нужда от своите потребители да отворят акаунти във вашата услуга, което не е много привлекателно.
Накратко, продължете и го объркайте. Не боли. Обмислете използването и на прокси шаблона. И може би да уведомите Twitter, че техните политики за сигурност „не са страхотни“.
person
Eran Hammer
schedule
20.08.2011