Просто наткнулся на этот Рубин, который может быть использован для расшифровки Снэпчат фотографии, сделанные из кэша на телефоне, видимо, взято из в <а href="и https://gist.github.com/jamescmartinez/6913761" и GT;здесь</а>. К моему удивлению, сработало без проблем, учитывая проблемы вокруг Snapchat'ы безопасности, которые были в последнее время широкую огласку (в основном вещи по всему номеру телефона/Логин утечки, насколько я помню).
require 'openssl'
ARGV.each do|a, index|
data = File.open(a, 'r:ASCII-8BIT').read
c = OpenSSL::Cipher.new('AES-128-ECB')
c.decrypt
c.key = 'M02cnQ51Ji97vwT4'
o = ''.force_encoding('ASCII-8BIT')
data.bytes.each_slice(16) { |s| o += c.update(s.map(&:chr).join) }
o += c.final
File.open('decyphered_' + a , 'w') { |f| f.write(o) }
end
Итак, мой вопрос, что именно они делают неправильно здесь, и что они могли бы сделать лучше для того, чтобы повысить безопасность их применения в этой связи, а не то, что они'повторно делать сейчас, учитывая, что люди часто посылают интимные вещи, которые никогда не были предназначены, чтобы быть общим для более чем 10 секунд только на одного человека, а также учитывая популярность этого приложения?
прям для всех тех, кто не'т действительно хочу знать, как работают компьютеры, но все же хочу знать, что: в принципе, пусть'ы сказать, что у вас в <а href="и http://www.businessinsider.com/snapchat-active-users-exceed-30-million-2013-12">40 миллионов человек</а> у кого есть Snapchat, с 16.5 миллионов пользователей отправлять друг другу картинки, и каждая картинка в своем собственном крошечном закрытом сейфе каждый день. Теперь, что, если вы отдали эти 16,5 миллиона людей все же хлипкий, пластиковый ключ, чтобы открыть каждый и каждая из этих ячеек может захватить Snapchat в СМИ?
Это серьезная проблема в пароле-менеджмента. Первая проблема здесь-как им удалось его ключ в исходном коде. Приложение Snapchat утверждает, что они посылают фотографии зашифрованные через интернет, и это правда ведь, но они используют и "общий" и ключ для шифрования данных (плохо, используя также AES в режиме ECB) поэтому, каждый пользователь, вокруг планеты есть ключ для расшифровки каждой фотографии.
Проблема здесь в том, как интернет получить ключ? Кусок пирога, они просто включили его в каждое приложение, и кто-то искал.
что этот ключ волшебный шифрования используется в любых Snapchat приложения?
M02cnQ51Ji97vwT4
вы можете найти это (в приложении для Android) в расположенном постоянная строка в COM.снэпчат.андроид.утиль.AESEncrypt; копать не требуется, это В буквальном смысле, сидя вокруг ждут, чтобы быть найден кем-либо.
на более позитивной ноте (возможно), в 3.0.4 (18/08/2013) построить приложения для Android, есть - как ни странно - второй ключ!
1234567891123456
Это очень плохая практика, чтобы закодировать пароль в ваш источник (неважно, если это в ваших заголовках или в вашей версии), основная проблема любой мог найти его с помощью простой и"ниточки" в команду в двоичном (или, глядя куда-то вы использовали, чтобы поделиться своим кодом с друзьями]3):
strings binaryFile
Затем злоумышленник может заглянуть в каждую строку и проверить, если это пароль, он ищет. Итак, если ваш действительно необходимо, чтобы закодировать пароль в коде вы лучше скрыть его, но это просто быть "Безопасность через неясность" и злоумышленник будет в конечном итоге найти ключ (так что лучше думай в другом подходе).
Что они могут сделать, чтобы улучшить свою безопасность? Ну они могли бы сгенерировать ключ для каждой фотографии, или они могут предварительно разделяют ключ между клиентами, которые собираются, чтобы поделиться картину, открытых/закрытых ключей; есть много вариантов.
Потому что это основополагающий принцип теории информации.
Если машины смогут расшифровывать информацию и сохранить ее в течение десяти секунд, он может расшифровать его и сохранить его навсегда.
Любая попытка завуалировать это просто дым и зеркала.
Код не на "взлома" и шифрование.
Вы просто расшифровки данных с правильным ключом шифрования, который был получен обратный инженерные приложения.
Как они могли сделать лучше? Не жесткий код ключа шифрования для одного.
Потому что он's не должна быть непроходимо безопасно. Приложение Snapchat для обмена, который противоречит обеспечения.
Я думаю, что они реализовали то, что они считают, чтобы быть "хватит" и безопасности для своей модели. Они не'т слишком озабочены фотографий длится дольше, чем несколько секунд, потому что люди всегда могут скопировать их через аналоговое отверстие. Это шифрование не позволяет людям просто сохранение файлов, чтобы показать своим друзьям, поэтому они должны сделать немного дополнительной работы. Этот простой шаг защищает от 99% своих фотографий достаточно хорошо.
Дизайн. Я не думаю, что количество строк имеет значение. Я не думаю, что язык имеет отношение.
Упрощенный вопрос "Почему может кто-нибудь расшифровать эти сны. Ответ - потому что это был умысел.
Фон является то, что шифрование может быть только на словах, точно так же, как зашифрованный .в формате PDF'ы часто отправляются с четырех букв слова из словаря в качестве пароля.
Есть охрана, но это circumventable на определенном уровне знак усилия. Непрофессионала и не догадывается. Мы знаем лучше. (Мы знаем, что в посте Сноуден мире мы не можем быть уверены, что мы можем доверять защищенных SSL-сайтов.)
Короче говоря, это пластиковая замка, чтобы удовлетворить обещание зашифрованную передачу.
"Так, на мой вопрос, что именно они делают неправильно Здесь"
Это легко, они пропагандируют ложное чувство безопасности у людей, которые недостаточно знакомы с технологиями, которые они готовы доверие отправка информации, что бы считать частными, с незнакомыми людьми...
Это реальный недостаток в дизайне.
Вместо того, чтобы сделать более удобные способы сделать это, они должны помогать в воспитании умнее поколений, или просто отказ в установке так себе нанесли потерпевшим не может протестовать.
Есть твердый, верный и шифрования и передачи методов интернет-коммуникаций, и конечная цель заключается в том, что если вы хотите безопасности вам безопасность, если вы хотите, чтобы шансы на перехват, распространение и плохого опыта программирования, то скачать все, что горячих на этой неделе...
Безопасность-это не удобно, это вообще не весело, и это не просто. все вещи, которые убивают летают по ночам приложения.
Лично я бы гораздо больше волнует разработчиков, имеющих доступ в массовых количествах за отдельные атаки...
Проблема с Snapchat является то, что они делают обычный крипто а на самом деле они нужны ЦУП. Последнее предполагает больше тем, чем просто шифрование данных, вам нужно, например, скрыть свои ключи от ваших пользователей. Похоже, что они провалились на этом.
Плохой практики в сочетании с амортизированным стандартов безопасности открыли эту уязвимость. Особенно учитывая Снэпчат'ы 'миссия' составления изображений, текстов и т. д. невоспроизводимых и только для просмотра один раз, лучшим подходом было бы, чтобы случайным образом генерировать ПСК при каждой загрузке и используйте на всем протяжении, что приложение работает, что делает его'бесполезные сведения при каждом перезапуске. И да, как говорили многие другие, жесткого кодирования ключей безопасности непосредственно в приложение's код-это очень, очень плохая практика, и тот, который можно было бы легко избежать.
Подводя итоги, Чтобы легко решить эту проблему:
Использовать случайно сгенерированный строку (а лучше алгоритм шифрования, хотя это плохой выбор может быть несколько связанных с нижней процессора требования и целевая аудитория [молодые люди], которые более правоподобны для того чтобы иметь от смартфонов) как SSL общий ключ, который циклов при каждой загрузке, оказания кэша бесполезно на приложение перезапустить.
Очень легко решить, действительно. Похоже, они могли бы сделать с некоторыми консультирования и рекомендации по безопасности.
Итак, я позвонил просто, чтобы ответить на этот вопрос Я'вэ спросил в свою поддержку, а получил вместо этого. Так, после немного больше, чем несколько дней, вот так просто'официальный ответ на запрос в службу поддержки с меня ссылок на этот пост, и с просьбой, если они могли бы весить в с честного ответа себе на этот вопрос. Я лично считаю, что это очень слабый ответ, я бы оказался рядом с ничего, и указание дисфункциональных отношении мер безопасности и не говоря уже о связи с общественностью:
Team Snapchat replied:
Hi Dmitri,
Thank you for sharing your concerns. We remain committed to maintaining
the security and integrity of the Snapchat community.
Best,
Tobias
Спасибо, снэпчат!