The system uses multi-factor authentication for admins.
O sistema usa autenticação multifator para administradores.Aula
Segurança B1
Nível: B1
Objetivo
Reconhecer e explicar em inglês os conceitos centrais de segurança de aplicações — authentication, authorization, encryption, token, permission, vulnerability e injection — e descrever um risco de segurança e sua mitigação básica em frases claras.
Explicação
A segurança de uma aplicação combina vários mecanismos que se complementam. Authentication confirma a identidade do usuário: *"Did the system authenticate the user with a password and a one-time code?"* Authorization decide o que esse usuário pode fazer depois de autenticado: *"Once the user is authenticated, the policy authorizes her to read the dashboard but not to export customer data."*
Encryption protege dados em trânsito e em repouso. Em trânsito, usa-se TLS sobre HTTP. Em repouso, o disco ou o banco usa algoritmos como AES. Encrypt transforma dados legíveis em ciphertext, que só pode ser lido com a chave correta.
Tokens carregam credenciais de forma temporária. Tokens de sessão expiram em minutos ou horas. JWTs podem ter um tempo de vida curto e devem ser renovados com refresh tokens. Tokens expirados ou revogados não devem ser aceitos pelo serviço.
Permissions definem ações por recurso. O princípio do least privilege diz: conceda apenas as permissões estritamente necessárias para a tarefa. Isso reduz o blast radius caso uma conta seja comprometida.
Vulnerabilities são fraquezas exploráveis. Injection é uma família: o atacante insere comandos em campos de entrada. SQL injection injeta SQL; command injection injeta comandos do sistema; XSS injeta JavaScript no navegador.
A mitigation básica inclui:
- input validation e parameterized queries para evitar injection;
- multi-factor authentication (MFA) para fortalecer authentication;
- least privilege e revisão periódica de permissions;
- encryption in transit (TLS) e at rest;
- patch management, dependency scanning e audits regulares.
Sempre que descrever um risco, nomeie a vulnerabilidade, o impacto potencial e a mitigação. Por exemplo: *"The endpoint exposes a SQL injection vulnerability. An attacker could read the customers table. We will mitigate it with parameterized queries and input validation."*
Exemplos
| Inglês | Tradução | Observação |
|---|---|---|
| We use multi-factor authentication for every admin account. | Usamos autenticação multifator para toda conta de administrador. | MFA strengthens authentication. |
| After authentication, the service authorizes the user to read public endpoints only. | Após a autenticação, o serviço autoriza o usuário a ler apenas endpoints públicos. | Authorization comes after authentication. |
| All API traffic is encrypted with TLS 1.3. | Todo o tráfego de API é criptografado com TLS 1.3. | Encryption in transit. |
| The access token expires after fifteen minutes. | O token de acesso expira após quinze minutos. | Short token lifetime reduces risk. |
| An SQL injection vulnerability allowed the attacker to read the customers table. | Uma vulnerabilidade de SQL injection permitiu que o atacante lesse a tabela de clientes. | Injection vulnerabilities expose data. |
| We follow the principle of least privilege when we grant permissions. | Seguimos o princípio do menor privilégio ao conceder permissões. | Least privilege limits the blast radius. |
| The security team will audit the new endpoint before the release. | A equipe de segurança vai auditar o novo endpoint antes do release. | An audit catches vulnerabilities early. |
Erros comuns
- Confundir authentication com authorization: a primeira verifica identidade, a segunda verifica permissões.
- Traduzir 'injection' como 'injeção' e esquecer o contexto: em inglês técnico, mantenha 'injection' (SQL injection, command injection).
- Usar 'encode' no lugar de 'encrypt': encode é apenas formato reversível sem chave; encrypt exige a chave para reverter.
- Dizer 'We need a license' quando o contexto é permissão de acesso: o correto é 'We need permission to access the bucket.'
- Esquecer o plural em 'permissions': 'The role grants many permissions', não 'many permission'.
- Dizer 'make a login' em vez de 'authenticate' ou 'log in': prefira 'authenticate the user' ou 'log the user in'.
Prática guiada
Responda em inglês com 1-2 frases cada:
- Qual a diferença entre authentication e authorization?
- O que significa 'the access token expired'?
- Dê uma mitigação básica para SQL injection.
- Por que o princípio de least privilege é importante para service accounts?
Tente usar pelo menos um termo técnico em cada resposta (vulnerability, mitigation, permission, etc.).
Resumo
Authentication confirma quem é o usuário; authorization decide o que ele pode fazer. Encryption protege dados em trânsito (TLS) e em repouso. Tokens carregam credenciais temporárias e devem expirar. Permissions seguem least privilege para reduzir blast radius. Vulnerabilities como injection exigem mitigação com input validation, parameterized queries, MFA, encryption e patches regulares.
Vocabulário
Palavras principais
After authentication, the policy handles authorization.
Após a autenticação, a política cuida da autorização.The API authenticates the user with a token.
A API autentica o usuário com um token.The role authorizes the service to read the bucket.
A role autoriza o serviço a ler o bucket.Encryption protects data at rest and in transit.
A criptografia protege dados em repouso e em trânsito.The service encrypts the payload with AES-256.
O serviço criptografa o payload com AES-256.The access token expires after fifteen minutes.
O token de acesso expira após quinze minutos.The role grants read-only permissions to the report.
A role concede permissões somente de leitura ao relatório.The team found a critical vulnerability in the login form.
A equipe encontrou uma vulnerabilidade crítica no formulário de login.SQL injection can expose the entire database.
SQL injection pode expor todo o banco de dados.We mitigate the risk with input validation.
Mitigamos o risco com validação de entrada.Never store credentials in plain text.
Nunca armazene credenciais em texto puro.The endpoint validates all user input.
O endpoint valida toda entrada do usuário.We applied a security patch on Monday.
Aplicamos um patch de segurança na segunda-feira.The breach exposed millions of customer records.
A violação expôs milhões de registros de clientes.The security audit found three high-risk issues.
A auditoria de segurança encontrou três problemas de alto risco.We follow least privilege when we grant access.
Seguimos o menor privilégio ao conceder acesso.MFA adds a second factor to the login flow.
MFA adiciona um segundo fator ao fluxo de login.História
História: Segurança B1
Nível: B1
História em inglês
A strange query
On Monday morning, Marina opened the access logs of the customer search API. She noticed a long string in one of the queries: ' OR '1'='1. The same client had sent dozens of similar requests in the last hour. "This looks like SQL injection," she wrote in the team channel. Tom, the security lead, replied within minutes.
Why it's dangerous
Tom explained that the search field concatenated user input directly into the query. "An attacker can read other tables, modify rows, or even drop the entire database," he said. Marina asked whether the problem came from weak authentication. Tom answered: "Authentication is fine. The vulnerability is in how we build the query, not in the login flow." He added: "If the service account has permissions on every table, the blast radius is much larger."
The mitigation plan
The team decided to rewrite the search using parameterized queries. They added input validation to reject unexpected characters in the search field. They also enforced HTTPS so that all API traffic is encrypted in transit. They shortened the access token lifetime from one hour to fifteen minutes. They reviewed the service account and applied the principle of least privilege. Marina opened a security patch ticket and added an audit step to the release checklist.
Tradução linha por linha
| Inglês | Tradução |
|---|---|
| On Monday morning, Marina opened the access logs of the customer search API. | Na segunda-feira de manhã, Marina abriu os logs de acesso da API de busca de clientes. |
| She noticed a long string in one of the queries: ' OR '1'='1. | Ela notou uma string longa em uma das consultas: ' OR '1'='1. |
| The same client had sent dozens of similar requests in the last hour. | O mesmo cliente tinha enviado dezenas de requisições parecidas na última hora. |
| "This looks like SQL injection," she wrote in the team channel. | “Isso parece SQL injection”, ela escreveu no canal da equipe. |
| Tom, the security lead, replied within minutes. | Tom, o líder de segurança, respondeu em minutos. |
| Tom explained that the search field concatenated user input directly into the query. | Tom explicou que o campo de busca concatenava a entrada do usuário diretamente na consulta. |
| "An attacker can read other tables, modify rows, or even drop the entire database," he said. | “Um atacante pode ler outras tabelas, modificar linhas ou até apagar o banco inteiro”, disse ele. |
| Marina asked whether the problem came from weak authentication. | Marina perguntou se o problema vinha de uma autenticação fraca. |
| Tom answered: "Authentication is fine. The vulnerability is in how we build the query, not in the login flow." | Tom respondeu: “A autenticação está ok. A vulnerabilidade está em como montamos a consulta, não no fluxo de login.” |
| He added: "If the service account has permissions on every table, the blast radius is much larger." | Ele acrescentou: “Se a service account tiver permissões em todas as tabelas, o blast radius é muito maior.” |
| The team decided to rewrite the search using parameterized queries. | A equipe decidiu reescrever a busca usando parameterized queries. |
| They added input validation to reject unexpected characters in the search field. | Eles adicionaram input validation para rejeitar caracteres inesperados no campo de busca. |
| They also enforced HTTPS so that all API traffic is encrypted in transit. | Eles também forçaram HTTPS para que todo o tráfego da API seja criptografado em trânsito. |
| They shortened the access token lifetime from one hour to fifteen minutes. | Eles encurtaram o tempo de vida do access token de uma hora para quinze minutos. |
| They reviewed the service account and applied the principle of least privilege. | Eles revisaram a service account e aplicaram o princípio de least privilege. |
| Marina opened a security patch ticket and added an audit step to the release checklist. | Marina abriu um ticket de security patch e adicionou uma etapa de audit ao checklist de release. |
Notas de vocabulário
- SQL injection = ataque que injeta SQL malicioso em campos de input; mitigue com parameterized queries e input validation.
- concatenated user input = junção direta da entrada do usuário com a consulta SQL; é a origem da vulnerabilidade.
- parameterized queries = consultas com placeholders que recebem valores de forma isolada, impedindo injection.
- input validation = checagem da entrada contra um formato esperado antes de processá-la.
- blast radius = alcance do dano caso uma conta, credencial ou sistema seja comprometido.
- access token lifetime = tempo de validade de um token; quanto menor, menor o risco de uso indevido.
- principle of least privilege = conceda a cada conta apenas as permissões estritamente necessárias.
- security patch = correção aplicada para fechar uma vulnerabilidade conhecida.
Perguntas de compreensão
- What did Marina see in the access logs?
- What was the root cause of the vulnerability?
- Did the issue come from a weak login?
- How did the team rewrite the search?
- What happened to the access token lifetime?
- Which principle did the team apply to the service account?
- What did Marina add to the release checklist?
Prática com a história
- Traduza: O atacante explorou uma vulnerabilidade de injeção.
- Complete: We use parameterized ___ to prevent SQL injection.
- Responda em 1 frase: Why is least privilege important for a service account?
- Corrija: The data is encoding at rest with AES-256.
Prática
Exercícios e teste
A próxima melhoria é transformar esses arquivos em perguntas com resposta no navegador. Por enquanto, esta página já organiza o estudo e permite seguir a aula inteira sem abrir os arquivos manualmente.