다만 이 비트의 루비 사용할 수 있는 암호 해독 Snapchat 이 사진 촬영에서 캐시 전화,외관상에서 적응기</한다. 놀랍게도,그것은 일이없는 문제를 고려하고,주변의 문제 Snapchat's 보안되었고 선전 요즘(대부분 주위에 물건 전체가 전화 번호/사용자 이름 누출 마찬가지로 지금까지 내 기억으로).
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 초만 한 사람이고,또한 고려의 인기 이 응용 프로그램?
tldr/모든 사람들을 위해 don't 이 정말로 걱정하는 방법을 알고 컴퓨터 작동하지만 아직도 무엇인지 알고 싶으시:기본적으로,그's 말이 있40 만 명을 사용하는 Snapchat,16.5 만 명의 사용자를 보내는 각각 다른 그림,그리고 각각의 사진에서 자신의 작은 잠 안전 매일입니다. 자,무엇을 주면 사람들 16.5 만 명의 사람들이 모두 동일한 얇은 종이,플라스틱 열쇠 각자의 이러한 아이템을 캡처 Snapchat 미디어?
이것은 심각한 문제를 암호 management. 첫 번째 문제는 여기서 방법입니다 그들은 자신의에서 키의 소스 코드입니다. SnapChat 국은 그들이 사진을 보낼 수 있습니다 암호화된 통해 인터넷에,그리고 그것은 결국 사실이지만,그들은 사용하는 a"pre-공"핵심 데이터를 암호화(심하게 사용하여도 AES 에서 ECB 드)그래서,모든 사용자 주변에는 해독하는 열쇠입니다.
여기서 문제,어떻게 인터넷을 얻을 키? 조각의 케이크,그들은 단지 그것을 포함하는 모든 응용 프로그램에서,그리고누군가를 검색한다.
그의 암호화 키를 사용하여 모든 Snapchat 응용 프로그램?
M02cnQ51Ji97vwT4
찾을 수 있습니다(안드로이드 앱)에서 일정한 문자열치 com.snapchat.안드로이드.util.AESEncrypt;땅을 팔 필요가 없습니다,그것은 그 주변에 앉아있기를 기다리에 의해 발견 될 수있다.
긍정적인 주에(아마도),에 3.0.4(18/08/2013)구축 의 안드로이드 앱가 이상하게도-두 번째 키!
1234567891123456
그것은 아주 나쁜 연습을 직접 입력한 비밀번호에서 원본(는 경우에 상관없이 그것은 당신의 헤더에서 또는 바이너리),주요한 문제는 사람이 그것을 찾을 수있을 가진 간단한"strings"명령으로 이진(거나 의에서 찾는 곳으로 당신을 공유하는 데 사용하는 코드로 당신의 친구):
strings binaryFile
다음은 악의가 있는 사용자에보고 할 수 있습니다 각 문자열인 경우에는 암호를 그가를 찾고 있습니다. 그래서,당신은 정말 필요한 하드코드하는 암호 코드에 당신은 그것을 숨기는 게 낫지만,이 것이 그냥"보안 무명을 통해"과 악의적인 사용자는 결국 키를 찾는다(그래서 당신은 더 나은 생각 다른 접근 방식에서).
그들은 무엇을 할 수 있을 개선하의 보안? 그들이 잘 수 있을 생성된 키에 대한 각각의 사진,또는 그들이 할 수있는 사전 공유 핵심 사이에 있는 클라이언트가를 공유하려면 사진,공개/개인키,이미 많은 옵션이 있습니다.
이 때문에 근본적인 원리의 정보이론.
만일 컴퓨터를 암호 해독할 수 있는 정보고 그것을 유지하는 동안,그것은 해독할 수 있을 유지 그리고 그것은 영원합니다.
모든 시도를 변 이것은 단순히 연기와 거울.
기 때문에 그것이's 되지 않을 수 impenetrably 안전합니다. Snapchat 을 위해 공유하는 정반대의 확보.
나는 그들이 구현한 그들은 무엇을 고려하는 것이"충분히"들의 보안 모델이다. 그들이't 에 대해 너무 걱정하 사진보다 더 오래 지속되는 몇 초기 때문에,사람들은 항상 그들을 복사를 통해 아날로그 구멍이 있습니다. 이 암호화 방지에서 사람들이 단순히 파일을 저장하여 그들의 친구,그래서 그들이 할 일은 여분의 일이다. 이 간단한 단계를 보호하 99%이상의 자신의 사진도 충분합니다.
에 의해 디자인. 나는 생각하지 않는다 라인의 수입 관련이 있습니다. 도 내가 생각하는 언어가 관련이 있습니다.
질문이 단순화되"이유할 수 있는 누군가는 해독이". 답-기 때문에 그 의도입니다.
배경이 있는 암호화 수 립서비스,같은 방식으로 암호화되어 있습니다.pdf's 로 네 개의 문자를 사전에있는 단어로 암호를 암호화합니다.
거기에 보안지만,그것은 circumventable 에서 일부는 토큰 수준의 노력이다. 응용 프로그램은 다양한 단서가 없습니다. 우리는 잘 알고 있습니다. (리알고있는 게시물에서 스노든 세계를 우리는 확인할 수 없습니다 우리가 신뢰할 수 있는 SSL 보호 웹사이트입니다.)
즉,이것은 플라스틱 자물쇠를 만족하는 약속의 암호화된 전송합니다.
"그래서 제 질문은 무엇을,그들이 정확하게 하고 여기에 잘못"
하나는 쉽게 그들이 홍보 보안의 잘못된 인식에 익숙하지 않은 사람들이 충분히 기술을 가진 그들은 기꺼이하는신탁정보를 전송하는 간주 됩니다 그렇지 않으면 개인,낯선 사람에...
는 진짜 결함을 디자인합니다.
대기 더 편리한 방법이 이 작업을 수행하기 위해,그들은 해야에 지원금의 스마트한 세대,또는 부를 설치하도록 자가 입은 피해자 수 없습 울 파울.
거기다 단단하고,믿을만한 암호화 및 전송을 위한 방법 인터넷 커뮤니케이션,그리고 최종 목표는 당신이 원하는 보안을 얻을 보안하려는 경우,의 기회를 차단,재배포,그리고 가난한 코드를 작성하는 방법,그런 다음 다운로드 무엇이 가장 뜨거운 응용 프로그램에 저장이다.
보안 편리하지 않습니다,그것은 일반적으로 재미없고,그것은 간단하지 않습니다. 는 모든 것들이 죽는 날 밤에는 앱입니다.
개인적으로 난 것이 훨씬 더 많은 관심을 가진 개발자에 액세스하는 데에서 대량 양을 통해 개별 공격...
나쁜 연습과 결합된 상각액 보안 표준을 열었습니다 이에 취약합니다. 특히 Snapchat's'mission'만들의 이미지,텍스트,등등. non-재현성 및만 볼 한 번 더 접근 방식이었을 것입하는 임의로 생성하 PSK 에 부팅을 사용하는 기간에 대한 응용 프로그램은 실행,렌더링's 데이터를 쓸모없는 모든 다시 시작. 그리고 예,많은 다른 사람이 말했다,하드 코딩이 보안 키로 직접 응용 프로그램's 코드가 매우,매우고 연습할 수 있는 하나 쉽게 피할 수 있습니다.
요약,쉽게 이 문제를 해결하려면:
사용하는 임의로 생성한 문자열로(그리고 더 나은 암호화 알고리즘,하지만 이 가난한 선택이 될 수 있 관련하여 낮은 프로세서 요구 사항 및 주요 타깃[젊은이들이 더 많은 가능성이 있 일자 스마트 폰)SSL 주는 사이클에서 모든 부팅 연 캐시 쓸모없는 응용 프로그램에 따라 다시 시작.
매우 쉽게를 해결 하려면 정말입니다. 소리 같이 그들이 할 수있는 몇 가지 컨설팅 주변 보안 모범 사례를 설명합니다.
그래서,저는 snapchat 을 답변하는 이 질문에 나는've 질문에 그들의 지원이 대신 합니다. 그래서,후보다 조금 더 많은 몇 일 동안,여기에은 Snapchat's 공식적인 응답을 지원 요청을 나와 연결하는 이 게시물을 요청하는 경우 그들의 무게에 정직한 답변 이 질문에 자신들. 나 개인적으로 고려하이 꽤 많이 약한 답변이 가장 시급한 문제는 다음 아무것도 모두에서,그리고 표시의 장애에 대하여 보안 관행과 공공의 관계:
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
감사,snapchat!