Download - BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Transcript
Page 1: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

PEDROFRANCESCHI @pedroh96

[email protected] www.pagar.me

Segurança no iOSO que aprendemos em 7 anos de iPhone?

Page 2: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Background…

Page 3: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 4: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 5: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 6: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Siri em Português

Page 7: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Quasar

Page 8: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 9: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

“Montar um meio de pagamentos amigável para desenvolvedores e

empreendedores”

Page 10: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 11: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

O começo do iPhone…

Page 12: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Primórdios do iPhone (2007)

• Sem AppStore e muitas funcionalidades essenciais

• Sem suporte a usuários corporativos

• Segurança = piada

• Surgimento do Jailbreak

• Início da “briga de gato e rato” entre Apple vs Hackers

Page 13: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

JailbreakMe.com

Page 14: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

O Jailbreak se populariza (2007-2011)

• Geohot lança o primeiro desbloqueio do iPhone (2007)

• Surge o JailbreakMe.com, site que facilita e populariza o Jailbreak

• Nasce o iPhone Dev Team, que desbloqueia inúmeras versões do iPhone entre 2009 e 2010

• comex relança o JailbreakMe em 2010, Jailbreak vira mainstream e ganha a mídia

Page 15: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Apple contra-ataca (2011-hoje)

• Apple implementa features relevantes do Jailbreak e melhora a segurança do iOS brutalmente

• Jailbreak torna-se cada vez mais difícil de ser realizado

• Não há mais motivos para usuários normais usarem-o. Jailbreak entra em decadência

• Hoje: o iOS é o sistema operacional mobile mais seguro do mundo (obrigado, jailbreak!)

Page 16: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

O que aprendemos nesse processo?

Page 17: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

1) Hardware e sistema operacional seguro

• Todos os apps rodam isoladamente em sandbox

• Manipulação de memória é coisa do passado (kernel ASLR)

• Frameworks de segurança/conexão sólidos

• Hardware com suporte a operações criptográficas fortes (encriptação de alto nível)

• Armazenamento seguro no aparelho (hardware keychain) e na nuvem (iCloud)

• Autenticação forte: senha e Touch ID (biometria)

Page 18: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 19: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 20: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

2) Privacidade pode ser uma ilusão

Page 21: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 22: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 23: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 24: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 25: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 26: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

3.1) Apenas o padrão/óbvio não é seguro suficiente no mobile…

Page 27: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 28: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 29: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Você Banco

SSL normal (comunicação segura com o banco)

Você BancoBad guy

SSL interceptado (você sabe que há alguém se passando pelo banco)

Você BancoBad guy

gotofail; (há alguém se passando pelo banco, mas você não sabe disso)

Page 30: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 31: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

3.2) Apenas o padrão/óbvio não é seguro suficiente no servidor…

Page 32: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 33: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 34: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

"Catastrophic" is the right word. On the scale of 1 to 10, this is an 11. !

- Bruce Schneier

Page 35: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 36: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

fonte: http://www.digitaltrends.com/mobile/heartbleed-bug-apps-affected-list/#!FUYZT

Page 37: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

SSL +

criptografia própria para dados de cartão

= dados protegidos contra

Heartbleed/gotofail :D

Page 38: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Mobile

Loja

Meio de pagamento

2) envio dos dados de cartão encriptados!

apenas com HTTPS/SSL para a loja,!

que precisará manipulá-los.

2) a loja lê os dados do cartão e os!

repassa para o meio de pagamentos!

usando apenas HTTPS/SSL

Fluxo de pagamentos normal

Page 39: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Mobile

Loja

Pagar.me1) obtenção de chave RSA pública (cadeado aberto)

2) envio dos dados de cartão encriptados!

com a chave pública do Pagar.me!

(cadeado fechado)

3) repasse dos dados de cartão!

encriptados para o Pagar.me, que!

tem a chave privada (abrir o cadeado)

Page 40: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

4) Poucos se importam com segurança (até terem um problema de segurança)

MVP

Prazos

Meta

Clientes

Produto

Faturamento

Segurança?

Time

Page 41: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 42: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 43: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 44: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

5) Todos estamos vulneráveis.(alguns menos, outros muito mais)

Page 45: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Page 46: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Como ser o mais seguro possível então?

• Seguir rigidamente o guia de desenvolvimento seguro da Apple (http://bit.ly/PBTluj)

• Atenção máxima a comunidade

• Manter SEMPRE versões de softwares de segurança atualizadas (OpenSSL)

• Não se contentar com o padrão/óbvio (ex: confiar na existência de senhas ou apenas em SSL)

• Bom senso (reduzir superfície de ataque)

Page 47: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Overall…

Page 48: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Toda falha de segurança é um erro humano (duh)

Page 49: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Planejar

Resistir

Detectar

Responder

Page 50: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Obrigado! :)

PEDROFRANCESCHI @pedroh96

[email protected] www.pagar.me

Page 51: BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]

Segurança no iOSO que aprendemos em 7 anos de iPhone?

PEDROFRANCESCHI @pedroh96

[email protected] www.pagar.me