Intrusão no OJS: decisões para recuperar uma revista
Caso anonimizado de intrusão no OJS: quais decisões tomar para conter, investigar, migrar e recuperar a operação editorial de uma revista com evidências.
Intrusão no OJS: decisões para recuperar uma revista
Uma intrusão no OJS não é apenas um problema de infraestrutura. Ela pode interromper o fluxo editorial, colocar em dúvida a integridade de arquivos e metadados e obrigar a revista a explicar o que está acontecendo a autores, avaliadores e leitores.
Este caso real foi anonimizado para proteger a revista afetada. Ele não busca descrever um ataque reproduzível: mostra quais sinais mudaram a decisão de passar de uma limpeza aparente para uma recuperação com evidências, controles e responsáveis claros.
A intrusão no OJS foi uma cadeia, não uma falha única
A evidência mostrou uma sequência de abuso que atravessou cadastro, perfis, envio de arquivos, privilégios e persistência. Não foi razoável atribuí-la a uma única fragilidade nem tratar cada sinal como um problema isolado.
O ponto de partida visível foram cadastros abertos que recebiam contas descartáveis. Parte dessas contas deixou conteúdo não editorial nos perfis; outra incluiu conteúdo ativo pensado para afetar quem o visualizasse. Depois apareceram uploads que não correspondiam ao fluxo editorial e que buscavam verificar se o servidor executava o que um usuário enviava.
Também foram encontrados privilégios que a interface comum não permite conceder nesse contexto. Essa diferença importou mais do que o volume de contas: indicava que alguém havia modificado as informações de autorização fora do fluxo previsto. Mais adiante surgiram componentes que imitavam elementos legítimos e arquivos ocultos entre recursos aparentemente inofensivos.
A lição para a direção de uma revista não é aprender as técnicas do atacante. É reconhecer que uma conta anômala, um upload impróprio, um privilégio inesperado ou um componente não autorizado podem pertencer à mesma cadeia. Nesse cenário, recolocar o site no ar não demonstra que a operação seja confiável.
A separação de arquivos evitou que a situação escalasse de imediato
A barreira que limitou o dano inicial foi simples: os arquivos de submissão estavam fora da área acessível pela web. Embora uploads impróprios tenham sido aceitos, o servidor não podia executá-los por meio de uma visita web. A OWASP recomenda manter os arquivos enviados fora da raiz web quando não é possível separá-los em outro servidor.[1]
Essa medida não substitui as demais. Permitir apenas as extensões necessárias, verificar o tipo real do arquivo, atribuir nomes controlados e limitar quem pode enviar são controles complementares.[1] O modelo de configuração do OJS também indica que o diretório de arquivos enviados não deve ser acessível diretamente pela web.[2]
Para quem dirige a revista, isso se traduz em uma decisão de operação: confirmar onde ficam os manuscritos, as provas de leitura e os arquivos privados, quem pode escrever ali e qual componente pode servi-los. Não basta presumir que o fornecedor ou a área técnica já resolveu esse limite.
A evidência disponível define até onde se pode afirmar
Uma investigação honesta deve diferenciar achados, hipóteses e lacunas. Neste caso, houve indícios suficientes de modificação não autorizada e de persistência. Não foi possível confirmar o primeiro acesso porque os registros disponíveis cobriam um período curto demais em relação ao momento em que ocorreu a atividade relevante.
Por isso, algumas possibilidades permaneceram como hipóteses e não como explicação fechada: credenciais fracas ou reutilizadas, uma aplicação adicional com consultas inseguras ou software sem correções. A OWASP adverte que a concatenação de texto fornecido por usuários em consultas dinâmicas é uma causa de injeção e recomenda eliminar esse padrão.[5] Esse guia explica por que uma aplicação adicional merece revisão; não demonstra que ela tenha sido a via utilizada neste caso.
Os registros devem permitir reconstruir ações, revisar mudanças e relacionar eventos. A OWASP descreve os registros de auditoria como uma sequência cronológica que permite reconstrução e revisão.[3] Se a retenção é curta ou não existe uma cópia independente, a equipe perde contexto justamente quando mais precisa dele.
A decisão adequada é registrar o que não se sabe, preservar a evidência disponível e agir de acordo com o nível de incerteza. Se existem contas com privilégios não explicados, arquivos alterados ou credenciais potencialmente expostas, convém tratar a integridade do ambiente como uma questão em aberto até que uma revisão a resolva.
A direção deve decidir sobre continuidade, não apenas tarefas técnicas
Uma intrusão no OJS exige decisões editoriais e de governança. O diretor ou a diretora não precisa executar a revisão, mas deve definir quem pode interromper mudanças, quem preserva a evidência, quem autoriza uma recuperação e como se comunica uma interrupção.
Convém deixar estas decisões por escrito antes de um incidente:
- Responsável por atualizar o OJS, o sistema operacional, o ambiente de execução e os componentes adicionais. A política de segurança do PKP distingue versões com suporte de versões que já não o recebem; revisar essa condição faz parte da manutenção, não de uma reação excepcional.[7]
- Proteção do cadastro e das submissões. Um cadastro aberto exige controles contra automação e uma revisão das contas que recebem permissões sensíveis. A OWASP inclui o CAPTCHA entre as defesas contra ataques automatizados.[4]
- Revisão periódica de papéis. Cada privilégio administrativo deve ter uma razão, uma pessoa responsável e um procedimento para retirar acessos que já não correspondem.
- Separação de aplicações. Um formulário ou desenvolvimento adicional não deve herdar, sem revisão, o acesso ao banco de dados, aos arquivos privados nem às credenciais do OJS.
- Gestão de segredos. As chaves devem ser distintas por componente, limitadas por permissão e renovadas após uma suspeita fundamentada. A OWASP recomenda controles de acesso detalhados para o sistema que administra segredos.[6]
- Conservação de registros. Defina quais eventos são guardados, onde ficam armazenados e quem pode consultá-los sem alterar a evidência.
Estas medidas não são uma lista para marcar e esquecer. Devem ser atribuídas a uma pessoa, revisadas em mudanças relevantes e testadas no funcionamento editorial cotidiano.

Diagrama próprio. Mostra a sequência de decisão; não representa a infraestrutura nem a evidência da revista afetada.
Ao migrar, não se deve transferir a dúvida para o novo ambiente
Quando há evidência de comprometimento, uma migração não consiste em copiar um banco de dados e uma pasta de arquivos para outro servidor. Essa transferência pode levar contas indevidas, recursos alterados, configurações expostas ou persistências ainda não identificadas.
A pergunta da direção é quais informações podem ser comprovadas como necessárias e revisadas para reconstruir a operação. O material a migrar deve passar por uma auditoria de contas, papéis, arquivos, extensões, componentes e configuração. As credenciais relacionadas devem ser renovadas; não basta trocar apenas a senha visível de uma conta.
Também é preciso testar o fluxo editorial depois de recuperar: cadastro, acesso, submissão, avaliação, edição e publicação. A continuidade não se demonstra quando uma página inicial carrega, mas quando o processo legítimo consegue funcionar sem manter elementos que não se compreendem.
Se a revista não dispõe de evidência suficiente para confiar no ambiente, deve considerar uma reconstrução a partir de fontes conhecidas e uma migração seletiva. É uma decisão mais exigente do que uma limpeza superficial, mas evita confundir disponibilidade momentânea com recuperação.
Erros comuns depois de um incidente
O erro mais frequente é apagar o sinal visível e dar o caso por encerrado. Estes atalhos deixam perguntas sem resposta:
- Restabelecer o serviço sem antes isolar a atividade suspeita nem guardar evidências.
- Manter usuários e privilégios porque a revista precisa continuar operando, sem revisar como foram criados.
- Mover arquivos e banco de dados para um ambiente novo sem uma revisão prévia.
- Trocar uma única chave quando várias aplicações compartilhavam credenciais ou podiam ler a mesma configuração.
- Interpretar a ausência de registros como ausência de atividade maliciosa.
- Converter uma hipótese técnica em atribuição ou certeza pública.
- Publicar explicações extensas antes de saber quais informações são verificáveis e quais dados devem ser protegidos.
Evitar esses erros protege tanto a investigação quanto a reputação da revista. Uma comunicação sóbria pode informar uma interrupção e as medidas de proteção sem expor detalhes que facilitem novos abusos ou identifiquem pessoas afetadas.
Para aprofundar a diferença entre ruído, tentativa e sinal de comprometimento, consulte o guia de sinais precoces de comprometimento no OJS. Se já existe evidência de alteração, o guia sobre hardening e reconstrução depois de um incidente explica a sequência de contenção e recuperação sem tratar a limpeza como prova de integridade.
Perguntas frequentes
Uma revista deve presumir comprometimento porque apareceu um arquivo suspeito?
Não necessariamente. Um achado isolado pode exigir análise antes de ser classificado. Mas se ele se combina com privilégios inexplicados, mudanças de código, contas anômalas ou atividade fora do fluxo editorial, a decisão prudente é conter, preservar evidências e ampliar a revisão.
É possível recuperar sem interromper toda a operação editorial?
Depende do alcance e da confiança que exista no ambiente. Antes de manter funções expostas, defina qual processo fica isolado, como a evidência é preservada e quais informações autores e avaliadores precisam. A prioridade é não ampliar o dano nem alterar os elementos que permitiriam entendê-lo.
A falta de registros prova que nada aconteceu?
Não. Demonstra um limite de observação. Sem registros suficientes não se pode confirmar a ausência de atividade; por isso a retenção, a cópia externa e a revisão de papéis e arquivos são decisões preventivas importantes.[3]
A recuperação precisa de uma decisão responsável e rastreável
A saída de um incidente não é uma captura do site funcionando. É uma decisão documentada sobre o que foi revisado, o que foi renovado, o que foi excluído da migração e quem assume o acompanhamento posterior.
A OJS ONE oferece resposta a incidentes, avaliação de comprometimento e hardening para ambientes OJS.[8] O serviço pode ser pertinente quando uma revista precisa organizar evidências, delimitar o alcance e preparar uma recuperação técnica sem confundi-la com uma promessa de ausência total de risco.
Fontes
- OWASP, File Upload Cheat Sheet — consultado em 2026-10-23.
- PKP, OJS configuration template — consultado em 2026-10-23.
- OWASP, Logging Cheat Sheet — consultado em 2026-10-23.
- OWASP, Authentication Cheat Sheet — consultado em 2026-10-23.
- OWASP, SQL Injection Prevention Cheat Sheet — consultado em 2026-10-23.
- OWASP, Secrets Management Cheat Sheet — consultado em 2026-10-23.
- PKP, Security Policy — consultado em 2026-10-23.
- OJS ONE, Cibersegurança e Continuidade Editorial para OJS — consultado em 2026-10-23.