◇ OpenCyber Academy
Graduação · Capítulo 12 · Português

Capítulo 12 — Probabilidade e estatística

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Capítulo 12 — Probabilidade e estatística

Mapa da aula

Aula 12 publicada. Mapa, exemplo, EX034.

flowchart TD
  N0["12.1 Espaço de adivinhação em bits"]
  N1["Laboratório — Bits das políticas de senha"]
  N2["12.2 Ler a tabela"]
  N3["12.3 Escolhas humanas e política"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX034"]

Desenho lógico

flowchart LR
  N0["12.1 Espaço de adivinhação em bits"]
  N1["Laboratório — Bits das políticas de senha"]
  N2["12.2 Ler a tabela"]
  N3["12.3 Escolhas humanas e política"]
  N4["Síntese"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX034"]
[12.1 Espaço de adivinhação em bits]
    |
    v
[Laboratório — Bits das políticas de senha]
    |
    v
[12.2 Ler a tabela]
    |
    v
[12.3 Escolhas humanas e política]
    |
    v
[Síntese]
    |
    v
[Exemplo resolvido] --> [Exercício EX034]

Objetivos de aprendizagem

Você vai (1) medir a força das senhas em bits; (2) comparar políticas pelo espaço de adivinhação; (3) reconhecer por que as escolhas humanas reduzem a força real.

12.1 Espaço de adivinhação em bits

A força contra a adivinhação é medida pelo número de possibilidades igualmente prováveis, expresso em bits como o logaritmo de base 2. Um segredo escolhido uniformemente entre N possibilidades tem log2(N) bits. Cada bit a mais dobra o trabalho do atacante. Priya calcula isso para as políticas de senha que a Tidewell está considerando. O cálculo supõe que todas as possibilidades são igualmente prováveis, o que vale para segredos gerados por máquina, mas raramente para as escolhas humanas. Ela mantém essa premissa visível em todas as tabelas que produz. Ela também explica os bits à equipe usando lançamentos de moeda.

Laboratório — Bits das políticas de senha

"""Guessing space for password policies, in bits (synthetic policies, uniform choice assumed)."""
import math
POLICIES = [("8 lowercase letters", 26, 8), ("8 mixed + digits", 62, 8),
            ("4 words from 7776-word list", 7776, 4), ("6 words from 7776-word list", 7776, 6)]

def main():
    for name, alpha, n in POLICIES:
        print(f"{name:<30} {n * math.log2(alpha):5.1f} bits")
    print("human-chosen passwords fall far below these uniform figures")

if __name__ == "__main__":
    main()

Execute com python3 lab_entropy.py. Saída verificada:

8 lowercase letters             37.6 bits
8 mixed + digits                47.6 bits
4 words from 7776-word list     51.7 bits
6 words from 7776-word list     77.5 bits
human-chosen passwords fall far below these uniform figures

12.2 Ler a tabela

Oito letras minúsculas aleatórias dão 37,6 bits; oito caracteres aleatórios entre letras e dígitos dão 47,6. Quatro palavras escolhidas ao acaso numa lista de 7.776 palavras dão 51,7 bits, e seis palavras dão 77,5. Uma frase-senha gerada aleatoriamente, portanto, supera uma senha de oito caracteres de aparência complexa e é mais fácil de lembrar. Priya enfatiza a palavra "aleatoriamente": uma frase escolhida por uma pessoa, como o título de um livro favorito, tem muito menos bits efetivos, porque os atacantes tentam primeiro as frases comuns. A última linha do laboratório enuncia esse limite. Grace pede a tabela para o boletim da equipe.

12.3 Escolhas humanas e política

Estudos reais sobre senhas mostram que as pessoas escolhem padrões previsíveis: primeira letra maiúscula, anos e pontos de exclamação. As regras de composição muitas vezes tornam as senhas mais difíceis de lembrar sem torná-las muito mais difíceis de adivinhar. Priya recomenda que a Tidewell permita frases-senha longas, confira as novas senhas contra listas de senhas comuns e vazadas, limite a taxa de tentativas de login e ofereça um gerador de frases-senha. Ela enquadra a recomendação como redução da adivinhabilidade, e não como cumprimento de regras, e anota que o hash lento de senhas do Capítulo 9 acrescenta proteção. Grace leva o plano ao conselho.

Exemplo resolvido

Priya mostra que seis palavras aleatórias dão 77,5 bits contra 47,6 de oito caracteres mistos e recomenda frases-senha longas, verificação contra senhas vazadas e limitação de taxa.

Caso sintético. As políticas são inventadas; os cálculos são padrão.

Erros e limites

Os cálculos em bits só se aplicam a escolhas uniformemente aleatórias. A limitação de taxa protege contra a adivinhação online, e não contra ataques offline a hashes roubados.

Exercícios

Síntese

Medir o espaço de adivinhação em bits mostra por que frases-senha aleatórias superam senhas curtas e complexas, desde que as escolhas sejam realmente aleatórias.

Continue estudando — aula 12 (capítulo 12 de 40)

← Capítulo 11 · Índice das aulas · Capítulo 13 →

Continue para a próxima aula já escrita.