segurança no desenvolvimento de app`s

25
Segurança no Desenvolvimento de App`s Pedro Salomão @ppgsalomao [email protected] / [email protected]

Upload: onyo

Post on 14-Apr-2017

235 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Segurança no Desenvolvimento de App`s

Segurança no Desenvolvimento de App`s

Pedro Salomão @ppgsalomao

[email protected] / [email protected]

Page 2: Segurança no Desenvolvimento de App`s

#whoami

Page 3: Segurança no Desenvolvimento de App`s

Segurança• O que o tema segurança aborda?

• Passwords x Finger Print

• Três grandes preocupações

• Persistência

• Comunicação

• Código

Page 4: Segurança no Desenvolvimento de App`s

Conceitos Básicos Criptografia

Page 5: Segurança no Desenvolvimento de App`s

Criptografia• Criptografia Simétrica

• Criptografia Assimétrica

• Geração de Chaves

• MD5 / SHA é criptografia?

• TradeOff

• Processamento

Page 6: Segurança no Desenvolvimento de App`s

Proteção de Código

Page 7: Segurança no Desenvolvimento de App`s

Como funciona a proteção?

Page 8: Segurança no Desenvolvimento de App`s

Conheça seu Inimigo

Page 9: Segurança no Desenvolvimento de App`s

Decompilando

Page 10: Segurança no Desenvolvimento de App`s

Decompilando• É possível?

https://reverse.put.as/wp-content/uploads/2011/06/GreHack-2012-paper-Mathieu_Renard_-_Practical_iOS_Apps_hacking.pdf

• Ferramentas de Auto-Unpackers

Page 11: Segurança no Desenvolvimento de App`s

E como proteger• Ofuscação

• Criptografia de Strings

• Indireção

• Ferramentas:

• Arxan EnsureIT, Morpher, etc

Page 12: Segurança no Desenvolvimento de App`s

Solução definitiva

Arquitetura e

Desenho da Solução

Page 13: Segurança no Desenvolvimento de App`s

Persistência

Page 14: Segurança no Desenvolvimento de App`s

Quando se preocupar?

Page 15: Segurança no Desenvolvimento de App`s

Guardando chaves

Page 16: Segurança no Desenvolvimento de App`s

Persistência - Chaves• Apple KeyChain

https://developer.apple.com/library/ios/samplecode/GenericKeychain/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007797

Page 17: Segurança no Desenvolvimento de App`s

Guardando dados sensíveis

Page 18: Segurança no Desenvolvimento de App`s

Persistência - Dados• Escolha da criptografia

• Geração da chave

• Chaves Dinâmicas x Chaves Estáticas

• Chaves Estáticas

• Chaves Dinâmicas

• Master Key + KSN

Page 19: Segurança no Desenvolvimento de App`s

Comunicação

Page 20: Segurança no Desenvolvimento de App`s

Quando se preocupar?

Page 21: Segurança no Desenvolvimento de App`s

Protocolos

Page 22: Segurança no Desenvolvimento de App`s

Protocolos • HTTP x HTTPS

• Man in the Middle

• Certificados SSL cadastrados

• Criptografia de dados transmitidos

• Criptografia Assimétrica -> RSA

Page 23: Segurança no Desenvolvimento de App`s

Links Úteis • https://developer.apple.com/library/ios/

documentation/Security/Conceptual/SecureCodingGuide/Introduction.html

• http://www.slideshare.net/mbazaliy/ios-protection-mechanisms

Page 25: Segurança no Desenvolvimento de App`s

Obrigado!

Pedro Salomão @ppgsalomao

[email protected] / [email protected]

Estamos contratando!