Segurança Web e sessões
Origem, sessões, autenticação e biometria, CSP/SRI, XSS, SQL, CSRF e autorização.
Origem, site e autorização
- Origem é esquema, host e porta efetiva. Caminhos distintos podem partilhar origem; mudar esquema, subdomínio ou porta muda-a. Site agrupa por domínio registável e esquema; subdomínios podem ser same-site e cross-origin.
- Mesma origem restringe leituras entre origens, não todos os pedidos. CORS concede leituras; não autoriza no servidor.
- XS-Leaks inferem estado por sinais como
loadouerror, sem ler o corpo. Retira o sinal ou impede a incorporação relevante. - Preflight depende do pedido, não de efeitos no servidor.
postMessageentre frames exige validar origem, remetente e dados.
Sessões e autenticação
- Usa identificador imprevisível, fora de URLs e logs. Renova após login, expira e invalida no servidor. Apagar o cookie local não invalida cópia roubada.
- Neste modelo, o cookie é referência opaca; autoridade vive na sessão e verifica-se por operação. Autoridade no cliente exigiria assinatura ou MAC com chave do servidor, expiração e autorização por operação.
Securerestringe a transporte seguro;HttpOnlyesconde de JavaScript mas não impede ações com a sessão;SameSite=Laxrestringe envio cross-site sem autorizar operações.Sec-Fetch-*ajuda contexto, não autoriza.- Palavras-passe exigem função de derivação como Argon2id, sal distinto e custo adequado. MFA combina categorias independentes. Protege recuperação. Sal não impede reutilização noutro serviço. U2F liga desafio ao serviço.
- Desafio-resposta exige nonce novo, prova ligada a identidade e contexto, aceitação só do pendente e invalidação após uso. MAC antigo não prova presença.
Biometria
FAR não é fração de aceitações pertencente a impostores. Limiar exigente tende a reduzir FAR e aumentar FRR. Declara ensaio e distingue FMR e FNMR de sistema. Igualdade FAR e FRR é referência, não regra de escolha.
Defesa por contexto
| Classe | Regra |
|---|---|
| XSS | Codifica por contexto; textContent insere texto, innerHTML interpreta. HTML rico exige sanitização. CSP complementa sem substituir correção. |
| CSP | script-src substitui default-src para scripts; object-src 'none' bloqueia objetos; Report-Only só relata. Ver exemplo na lição. |
| SRI | Compara bytes com integrity; origem cruzada exige CORS. Não prova benignidade nem contorna CSP. |
| SQL | Parâmetros para valores; estrutura por lista de opções fixas. |
| CSRF | Sem GET para alterar estado; token ligado à sessão e validação de origem. SameSite complementa. |
| IDOR | Autoriza cada conta sobre cada objeto; UUID ou sessão válida não bastam. |