Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade

Post on 18-Nov-2014

551 views 2 download

description

Inspirado na análise de Laura Diane Hamilton, essa palestra irá caminhar rapidamente por todas as falhas encontradas por ela em um sistema de embaralhamento de cartas e demonstrar como explorar essas falhas.

Transcript of Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-Aleatoriedade

Globalcode – Open4education

Trilha – SegurançaWanderley Caloni

Sócio-Desenvolvedor da

Globalcode – Open4education

Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-

Aleatoriedade

Globalcode – Open4education

Quem sou eu? OMG!

Segurança da InformaçãoSistema de Controle de Usuários e Aplicações

Criptografia de Discos

Globalcode – Open4education

Quem sou eu? OMG!

Análise de TrojansEngenharia Reversa

Crash Dump Analysis

Globalcode – Open4education

Quem sou eu? OMG!

Mercado FinanceiroAlto Desempenho

Análise de Risco

Globalcode – Open4education

Quem sou eu? OMG!

Mercado FinanceiroAlto Desempenho

Análise de Risco

Algoritmos

Cotações

Mobile

Globalcode – Open4education

Quem sou eu? OMG!

Globalcode – Open4education

Quem sou eu? OMG!

Globalcode – Open4education

Quem sou eu? OMG!

Globalcode – Open4education

Pôquer Online

Globalcode – Open4education

Pôquer Online

Globalcode – Open4education

Explicar regras básicas

Globalcode – Open4education

Explicar regras básicas

Número de cartas: 52Combinações: 52! = 8x1067

Globalcode – Open4education

Explicar regras básicas

Globalcode – Open4education

Explicar regras básicas

Globalcode – Open4education

Explicar regras básicas

Globalcode – Open4education

Explicar regras básicas

Globalcode – Open4education

Chupinhado Inspirado por:

Globalcode – Open4education

Chupinhado Inspirado por:

LAURA HAMILTON

Globalcode – Open4education

Chupinhado Inspirado por:

http://www.lauradhamilton.com/random-lessons-online-poker-exploit

Globalcode – Open4education

Google Code Jam 2014

https://code.google.com/codejam/contest/2984486/dashboard#s=p2

http://www.caloni.com.br/blog/archives/poker-face

Globalcode – Open4education

Embaralhamento

Globalcode – Open4education

Embaralhamento

Globalcode – Open4education

Embaralhamento

Globalcode – Open4education

Embaralhamento

Globalcode – Open4education

Caso Real

Globalcode – Open4education

Caso Real

Falha #1: errando por um

Falha #2: não-uniforme

Falha #3: semente de 32 bits

Falha #4: relógio-semente

Globalcode – Open4education

#1: errando por um

Globalcode – Open4education

#2: não-uniforme

Globalcode – Open4education

#3: semente de 32 bits

Globalcode – Open4education

#3: semente de 32 bits

rand

Globalcode – Open4education

#3: semente de 32 bits

x

y

z

...

x

y

z

...

x

y

z

...

x

y

z

...

x

y

z

...

srand

Globalcode – Open4education

#4: relógio-semente

Globalcode – Open4education

#4: relógio-semente

Globalcode – Open4education

Exploit

Rand()

Globalcode – Open4education

Exploit

Rand()

Globalcode – Open4education

Exploit

Rand()

Globalcode – Open4education

Exploit

Rand()

?

...

11:40

11:41

11:42

11:43

Globalcode – Open4education

Exploit

Rand()

?

...

11:40

11:41

11:42

11:43

Globalcode – Open4education

Exploit

Rand()

?

...

11:40

11:41

11:42

11:43

Globalcode – Open4education

And in the end....

Perguntas? Eu tenho várias.

wanderley@caloni.com.br

twitter

saite

e-mail

Globalcode – Open4education

And in the end....

.com.br