Capítulo 17 — Fundamentos de controle e realimentação
Mapa da aula
Aula 17 publicada. Mapa, exemplo, EX049.
flowchart TD
N0["17.1 Realimentação na segurança"]
N1["17.2 Simular um rate limiter"]
N2["Laboratório — Ganhos do rate limiter adaptativo"]
N3["17.3 Atraso e oscilação"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX049"]
Desenho lógico
flowchart LR
N0["17.1 Realimentação na segurança"]
N1["17.2 Simular um rate limiter"]
N2["Laboratório — Ganhos do rate limiter adaptativo"]
N3["17.3 Atraso e oscilação"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX049"]
[17.1 Realimentação na segurança]
|
v
[17.2 Simular um rate limiter]
|
v
[Laboratório — Ganhos do rate limiter adaptativo]
|
v
[17.3 Atraso e oscilação]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX049]
Objetivos de aprendizagem
Você vai (1) descrever ciclos de realimentação nas operações de segurança; (2) simular um rate limiter adaptativo; (3) reconhecer oscilação e atraso em sistemas de controle.
17.1 Realimentação na segurança
Um ciclo de realimentação mede uma saída, compara-a com uma meta e ajusta uma entrada. Sofia encontra realimentação por toda parte nas operações de segurança: um rate limiter que aperta quando os logins com falha aumentam, um autoscaler que acrescenta capacidade durante uma inundação de tráfego e uma organização que ajusta seus controles depois de incidentes. A teoria de controle, que ela estuda na engenharia, oferece ferramentas para raciocinar se esses ciclos se estabilizam suavemente, reagem devagar demais ou reagem em excesso. Daniel observa que uma automação de segurança mal ajustada pode causar indisponibilidades, que atacantes podem explorar de propósito ao dispará-la.
17.2 Simular um rate limiter
O serviço de login do aplicativo de passageiros usa um rate limiter adaptativo: se os logins com falha num minuto excedem uma meta, a taxa de requisições permitida é reduzida; se ficam abaixo, ela é relaxada. Sofia simula isso com tráfego de ataque sintético que chega no minuto cinco e para no minuto quinze. Com um ganho proporcional alto demais, a taxa permitida oscila para cima e para baixo, ora bloqueando usuários legítimos, ora deixando os ataques passarem. Com um ganho moderado, ela se estabiliza. O laboratório abaixo imprime as duas execuções para que ela veja a diferença, em vez de só ler sobre ela.
Laboratório — Ganhos do rate limiter adaptativo
# Adaptive rate limiter (proportional control) on synthetic failed-login traffic.
def run(gain, minutes=24, target=50):
allowed, out = 200.0, []
for t in range(minutes):
attack = 400 if 5 <= t < 15 else 0
failures = min(allowed, 40 + attack) * (0.9 if attack else 0.3)
allowed = max(20.0, min(400.0, allowed - gain * (failures - target)))
out.append(round(allowed))
return out
for g in (2.5, 0.6):
r = run(g)
swings = sum(1 for a, b, c in zip(r, r[1:], r[2:]) if (b - a) * (c - b) < 0)
print(f"gain {g}: allowed/min = {r}")
print(f" direction changes: {swings}")
Execute com python3 lab_feedback.py. Saída verificada:
gain 2.5: allowed/min = [295, 390, 400, 400, 400, 20, 100, 20, 100, 20, 100, 20, 100, 20, 100, 195, 290, 385, 400, 400, 400, 400, 400, 400]
direction changes: 9
gain 0.6: allowed/min = [223, 246, 268, 291, 314, 174, 110, 81, 67, 61, 58, 57, 56, 56, 56, 78, 101, 124, 147, 170, 192, 215, 238, 261]
direction changes: 1
17.3 Atraso e oscilação
Dois problemas se repetem em sistemas com realimentação: o atraso, em que a resposta chega tarde demais, e a oscilação, em que a resposta passa do ponto repetidamente. Um rate limiter que mede em janelas longas fica atrás de ataques súbitos; um que reage a cada segundo pode oscilar. Sofia relaciona isso à resposta a incidentes: uma organização que só muda a política uma vez por ano se atrasa, enquanto uma que reverte decisões toda semana oscila e confunde a equipe. Ela propõe que os controles automatizados tenham tamanhos de ajuste limitados, limites mínimo e máximo e revisão humana quando os limites forem atingidos, para manter a realimentação estável.
Exemplo resolvido
Sofia simula um rate limiter adaptativo com dois ganhos, mostra a oscilação com o ganho alto e propõe ajustes automáticos limitados e revisados.
Caso sintético. O tráfego e os parâmetros do limiter são sintéticos.
Erros e limites
Modelos proporcionais simples ignoram a adaptação do atacante. Os resultados da simulação dependem das formas de tráfego supostas.
Exercícios
-
EX049 — Exploração da automação. Como atacantes poderiam explorar uma automação de segurança mal ajustada? Rubrica: 3 = dispará-la de propósito para causar indisponibilidade aos usuários legítimos;; 2 = disparar;; 1 = vago;; 0 = nenhuma.
-
EX050 — Resultado do ganho alto. O que aconteceu no laboratório com o ganho alto? Rubrica: 3 = a taxa permitida oscilou, alternando entre bloquear usuários e deixar ataques entrarem;; 2 = oscilou;; 1 = estabilizou;; 0 = nenhuma.
-
EX051 — Proposta de estabilização. Cite duas salvaguardas que Sofia propõe para controles automatizados. Rubrica: 3 = ajustes limitados, limites mínimo e máximo, revisão humana nos limites (duas);; 2 = uma;; 1 = vago;; 0 = nenhuma.
Síntese
A automação de segurança é um sistema de realimentação e precisa de ajuste e de limites para evitar atraso e oscilação.
Continue estudando — aula 17 (capítulo 17 de 50)
← Capítulo 16 · Índice das aulas · Capítulo 18 →
Continue para a próxima aula já escrita.