CSJT aponta falhas de segurança no PJe
Aspectos importantes de qualidade de software não foram priorizados na atual versão do PJe.
Da Redação
terça-feira, 12 de agosto de 2014
Atualizado às 10:40
A Justiça do Trabalho apontou diversas falhas de segurança na infraestrutura e no banco de dados do PJe. Em documento inédito, o CSJT aponta que há aspectos importantes de qualidade de software, tais como: testabilidade, interoperabilidade, modularização, escalabilidade, entre outros, não foram priorizados na atual versão do PJe.
De acordo com o texto, a ausência de testes automatizados obriga a realização de testes manuais, o que é impraticável em virtude da escassez de recursos humanos alocados nessa área, bem como em função da exiguidade de tempo; e na tentativa de corrigir erros das versões anteriores, acaba-se introduzindo novos erros, criando este "recall de releases" que resulta em desgaste para o projeto como um todo.
"O cenário futuro desejado para o PJe aponta para uma necessidade de revisão da sua arquitetura, para que a mesma possa se tornar mais robusta e aderente aos padrões tecnológicos atuais e também às diretrizes para a Gestão da Segurança da Informação no âmbito do Poder Judiciário. Muitas das tecnologias utilizadas atualmente pelo sistema (JBossAplication Server, JBossSeam, Motor de Fluxo, Postgresqletc) possuem versões mais atuais, que corrigem problemas conhecidos e ampliam as suas funcionalidades. É necessário também que sejam retirados do sistema os aspectos transversais, tais como: controle de segurança, controle de transação, gestão documental e auditoria do sistema, dentre outros."
O documento apresenta proposta para estabilização do sistema. Confira abaixo:
_______
PROPOSTA DE PROJETO - PP
Desenvolvimento PJe Versão 2.01. NECESSIDADE E/OU OPORTUNIDADE DE NEGÓCIO
Atualmente o PJe está instalado,somente no segmento da Justiça do Trabalho, em 581Varas do Trabalho, além dos 24 Tribunais Regionais do Trabalho e também no TST. A meta 12/2013 do CNJ (segmento Justiça do Trabalho) prevê a implantação do sistema PJe em pelo menos 40% das Varas do Trabalho de cada Tribunal (590 Varas de um total de 1.474). Esta meta deverá ser superada, haja vista que alguns Tribunais Trabalhistas já implantaram o sistema em 100% dos órgãos julgadores de 1ª e de 2ª Instância. Outros números do PJe na Justiça do Trabalho, apurados em 07/08/2013: processos em tramitação: 497.437, devendo chegar à 1.000.000 até o final do ano; magistrados 2º grau: 1.080; magistrados de 1º grau: 2.107; servidores: 19.546; advogados: 154.006.
A sucessiva demanda por novas funcionalidades implicaria no lançamento de versões periódicas (releases) deste sistema. Entretanto, devido à aplicação não possuir testes unitários e também testes de integração, que deveriam ser executados automaticamente, para identificar os impactos que foram gerados com as modificações ou com novas funcionalidades acrescentadas, as versões têm sido mais esparsas. Além disso, a atual Administração do CSJT tem privilegiado a estabilização das versões em detrimento do lançamento de novas funcionalidades.
A ausência de testes automatizados obriga a realização de testes manuais, o que é impraticável em virtude da escassez de recursos humanos alocados nessa área, bem como em função da exiguidade de tempo; e na tentativa de corrigir erros das versões anteriores, acaba-se introduzindo novos erros, criando este "recall de releases" que resulta em desgaste para o projeto como um todo. Consultando-se em 21/06/13 o número de pendências criadas no sistema JIRA do CNJ nos últimos 365 dias, se verificou que o número saltou de 117 pendências no período de maio-julho 2012 para 7478. Deste total, 5401 haviam sido resolvidas e restavam pendentes 2077.
A partir da assinatura do Termo de Acordo de Cooperação Técnica Nº 05/2010 firmado entre o CSJT, o TST e o CNJ para utilizar o PJe como sistema único de acompanhamento processual, diversas análises foram realizadas apontando falhas de segurança.
Recentemente foi elaborado um relatório circunstanciado pela equipe técnica do CSJT, apontando diversas falhas na segurança do sistema, seja na infraestrutura, banco de dados ou no aplicativo propriamente dito.
Além disso, aspectos importantes de qualidade de software, tais como: testabilidade, interoperabilidade, modularização, escalabilidade, entre outros, não foram priorizados na atual versão do PJe, refletindo assim no alto acoplamento e na baixa coesão do código-fonte do sistema, anomalias estas amplamente citadas por renomados autores como indicadores de baixa qualidade do software.
Outro aspecto não menos importante é com relação à mão de obra utilizada no desenvolvimento do aplicativo. Atualmente a equipe técnica do PJe é composta por técnicos do CNJ, da Justiça do Trabalho (60), do TSE, do TRF da 5ª Região, além da empresa INFOX (Fábrica de Software contratada pelo CSJT). A heterogeneidade existente entre as equipes aliada à falta de um processo de desenvolvimento de software, bem como a baixa manutenibilidade do PJe têm dificultado o intercâmbio de informações entre os seus membros, por vezes levando à necessidade de retrabalho. Além disso, não existe um programa de ambientação de novos técnicos no PJe capaz de diminuir a curva de aprendizado para formação continuada de mão de obra para integrar a equipe técnica do PJe.
Em 2010, o Comitê Temático de Engenharia de Software do CSJT-ctEngSoft, elaborou uma proposição para uma nova arquitetura para o sistema PJe, que foi posteriormente revista pelos técnicos do PJe e do CNJ, mas que ainda não foi executada.
A aplicação também possui restrições para ser executada em alguns dispositivos móveis, que não possuem entradas USB para conectar leitoras de cartão; o que contraria a tendência mundial de preferência dos usuários pela utilização destes dispositivos segundo análise do GartnerGroup -que conta com uma extraordinária reputação mundial, sendo uma empresa imensamente respeitada por suas pesquisas e assessoria em TI; entre as 10 tecnologias estratégicas com maior potencial de impacto significativo para maioria das organizações nos próximos três anos, no topo está a ascensão dos dispositivos móveis.
Por fim, e não menos importante, o PJe apresenta sérios problemas de acessibilidade, muitos deles causados pela tecnologia de interface atualmente utilizada, dificultando sua operação por pessoas com necessidades especiais. Essa é uma demanda importante, haja vista que o sistema judicial não pode ser excludente.
O cenário futuro desejado para o PJe aponta para uma necessidade de revisão da sua arquitetura, para que a mesma possa se tornar mais robusta e aderente aos padrões tecnológicos atuais e também às diretrizes para a Gestão da Segurança da Informação no âmbito do Poder Judiciário. Muitas das tecnologias utilizadas atualmente pelo sistema (JBossAplication Server, JBossSeam, Motor de Fluxo, Postgresqletc) possuem versões mais atuais, que corrigem problemas conhecidos e ampliam as suas funcionalidades. É necessário também que sejam retirados do sistema os aspectos transversais, tais como: controle de segurança, controle de transação, gestão documental e auditoria do sistema, dentre outros.
A situação atual apresentada, e o cenário futuro desejado são os motivadores para a elaboração desta proposta de projeto.
2. RESULTADOS ESPERADOS
O principal processo finalístico do Poder Judiciário é julgar os processos que tramitam nos seus segmentos, tendo sido fortemente apoiado por sistemas computadorizados, ainda que tramitassem fisicamente em papel. Com a migração para o processo eletrônico que é totalmente dependente de sistema computadorizado, este apoio se consolidou e se tornou ssencial para garantir a entrega da prestação jurisdicional.
A adoção do sistema PJe, mesmo com as limitações e problemas atuais, já produz significativos benefícios para o Poder Judiciário e para os usuários finais, implicando na redução de custos e na maior agilidade processual. Dentre os benefícios, merece destaque, a eliminação de atos burocráticos e a mobilidade para magistrados, servidores e operadores do direito, proporcionada por um sistema disponível na web.
Mesmo com os expressivos benefícios já alcançados, muito ainda há que ser feito, sobretudo quando se lida com tecnologia da informação, que evolui muito rapidamente.Os principais resultados e benefícios esperados com o desenvolvimento deste projeto para o Poder Judiciário, são:
Melhoria da divisão de responsabilidades do sistema, com a adoção da arquitetura em camadas; Melhoria no desempenho da aplicação, através da eliminação dos atuais pontos de estrangulamento; Melhoria na gestão da segurança do sistema e das informações; Diminuição da curva de aprendizado para os técnicos responsáveis pela evolução e sustentação do sistema; Diminuição do número de defeitos e bugs; Diminuição do tempo de interrupções e indisponibilidades do sistema; Melhoria na gestão documental; Plena interoperabilidade entre os sistemas do Poder Judiciário, do Ministério Público e das demais instituições e órgãos componentes do Sistema de Justiça.
Os principais resultados e benefícios esperados com o desenvolvimento deste projeto para os usuários finais são:
-
Diminuição do tempo de interrupções e indisponibilidades do sistema;
-
Possibilidade de especialização do sistema para atender os diversos ramos do Poder Judiciário e também OAB, MP;
-
Melhoria no desempenho da aplicação;
-
Melhoria naacessibilidade da aplicação;
-
Menor consumo de recursos computacionais;
-
Plena interoperabilidade entre os sistemas do Poder Judiciário, do Ministério Público e das demais instituições e órgãos componentes do Sistema de Justiça.
3. ALINHAMENTO ESTRATÉGICO DO PROJETO
Vinculação Estratégica:
- Planejamento Estratégico do Poder Judiciário
Objetivos Estratégicos:
? Garantir a disponibilidade de sistemas essenciais de TI;
? Garantir a agilidade nos trâmites judiciais e administrativos.
- Planejamento Estratégico de TIC do Poder Judiciário
Objetivos Estratégicos:
- Promover a segurança da informação;
- Garantir a disponibilidade de sistemas de TIC essenciais ao judiciário;
- Desenvolver sistemas de TIC interoperáveis e portáveis;
- Prover documentação de sistemas;
- Melhorar a imagem de TI do Judiciário.
4. ESCOPO PRELIMINAR DO PROJETO
Há três cenários possíveis para a revisão arquitetural proposta neste projeto: o primeiro implicaria na completa reconstrução do sistema, incluindo a atualização tecnológica dos frameworksutilizados, banco de dados e servidor de aplicações. O segundo seria uma mudança parcial sem fazer atualização tecnológica, e o terceiro, um cenário intermediário entre os dois primeiros com refatoração da aplicação e com atualização tecnológica, porém
feita de forma paulatina.
O primeiro cenário, tendo em vista implicar em uma completa reconstrução do sistema, obriga necessariamente a conclusão dos trabalhos para que a migração possa ser realizadae consequentemente os resultados almejados possam ser alcançados.O segundo cenário menos abrangente que o primeiro, poderia ser feito de forma paulatina e representa um preparativo para a atualização tecnológica, entretanto, os ganhos auferidos com a migração tecnológica seriam postergados para uma etapa subsequente.
Feitas as considerações acima, propõe-se como escopo para esta versão da aplicação, o
terceiro cenário com o seguinte detalhamento:
Adotar a arquitetura proposta pelo grupo de trabalho de Arquitetura do PJe2
Refatoração completa do código, para torná-lo mais claro e mais simples sem que funcionalidades do sistema sejam modificadas, e para deixá-lo mais flexível e apto a receber novas mudanças no futuro.A versão atual do PJe possuí 3.612 classes, 23.000 métodos e 350.000 linhas de código. Outra métrica que dá a dimensão do PJe é o cálculo expedito do número de pontos de função. Segundo (Vazquez; Carlos Eduardo, 2003)1 é possível estimar o tamanho total em pontos de função de uma aplicação usando a "Contagem Dedutiva" que leva em conta apenas o número de Arquivos Lógicos Internos (ALI).
Neste caso o PJe teria aproximadamente 18.000 pontos de função. Outra forma de estimar segundo os mesmos autores é o da "Complexidade Média". Neste caso levando-se em conta as telas e menus, consultas, drop-downs, tabelas e dados externos, chegou-se a um número de aproximadamente 22.000 pontos de função.
Adotando-se uma margem de segurança de 20%, conclui-se que a aplicação possui atualmente cerca de 25.000 pontos de função. Estes números demostram a complexidade da aplicação. Foi constatado que alguns métodos possuem muitas responsabilidades e excessiva dependência entre os pacotes de classe, o que denota baixa coesão e alto acoplamento aumentando assim a complexidade da aplicação e contrariando as boas práticas da engenharia de software, tendo como principais consequências: a dificuldade para a manutenção do software, degradação de desempenho, aumento da probabilidade de erros de codificação, dificuldade para se adequar a novos requisitos, etc.
Para reduzir a complexidade da aplicação e também amenizar as consequências já declaradas no item refatoramento do código, é necessário dividir as responsabilidades da aplicação, que hoje esta distribuída em apenas duas camadas (apresentação e aplicação), quando o recomendado seriam quatro (interface do usuário, aplicação, domínio, infraestrutura); e também se criar uma linguagem comum entre os desenvolvedores e os especialistas no domínio da aplicação (negócio). Esta é a abordagem criada por Eric Evans e descrita no livro "Domain-Driven Design: TacklingComplexity in Software". O Domain-Driven Design (DDD) é uma abordagem de desenvolvimento de software que reúne um conjunto de conceitos, princípios e técnicas cujo foco esta no domínio e na lógica do domínio com o objetivo de criar um Domain Model ou (modelo do domínio).
-
Retirar os aspectos transversais da aplicação (crosscutingconcerns)
Todas as aplicações possuem diversas funcionalidades, sendo que algumas fazem parte do núcleo (primárias) e outras dão suporte às funcionalidades presentes no núcleo e geralmente se repetem em diversos módulos (secundárias). Em uma aplicação típica as funcionalidades do núcleo são as regras de negócios e as secundárias são, por exemplo: gerenciamento de segurança (acesso e permissões), gestão documental, logs das operações. Essas funcionalidades secundárias são definidas pelo termo crosscutingconcernsou aspectos transversais. Um acoplamento entre funcionalidades principais e os crosscutingconcerns não é desejado, uma vez que a adição ou modificação dessas funcionalidades secundárias implicam em mudanças no núcleo da aplicação.
Fragilidades e incidentes de segurança da aplicação já foram identificadas. Recentemente foi diagnosticado no Tribunal Regional do Trabalho da 1ª Região -RJ, que empresas estão capturando o token da sessão de algum usuário autorizado, e disparando através de robots elevado número de consultas à base de dados. Esta fragilidade só foi descoberta, após serem investigadas as causas que estavam esgotando o número de conexões do banco de dados e indisponibilizando a aplicação. As informações processuais mantidas no sistema PJe, são o principal ativo do Poder Judiciário, e sua manipulação de forma maliciosa, poderia causar danos irreparáveis à imagem do Poder Judiciário, e também à terceiros.
As informações processuais mantidas no sistema PJe, são o principal ativo do Poder Judiciário, e sua manipulação de forma maliciosa, poderia causar danos irreparáveis à imagem do Poder Judiciário, e também à terceiros.
Para a melhoria do modelo de segurança da informação, será realizada preliminarmente uma análise de riscos, que aponte qual modelo deve ser adotado e quais controles devem ser implementados, tudo em conformidade com o que dispõe o documento "Diretrizes para a Gestão de Segurança da Informação no âmbito do Poder Judiciário".
Aderência ao Modelo Nacional de Interoperabilidade do Poder Judiciário e do Ministério Público (MNI) versão 2.1.1 ou superior.O modelo nacional de interoperabilidade foi construído pelas equipes técnicas dos
órgãos (STF - CNJ - STJ - CJF - TST - CSJT - AGU e PGR) de acordo com as metas do termo de cooperação técnica nr. 58/2009.Através da Resolução Conjunta Nº 3 do Conselho Nacional de Justiça e do Conselho
Nacional do Ministério Público, de 16 de abril de 2013, foi instituído o Modelo Nacional de Interoperabilidade do Poder Judiciário e do Ministério Público (MNI), visando propiciar plena interoperabilidade entre os sistemas do Poder Judiciário, do Ministério Público e das demais instituições e órgãos componentes do Sistema de Justiça. Conforme o Art. 2º da Resolução, os órgãos do Poder Judiciário relacionados no art. 92, I-A a VII, da Constituição Federal, e do Ministério Público, conforme o art. 128, I e II da Constituição Federal, deverão implementar o Modelo Nacional de Interoperabilidade nos sistemas de tramitação e controle processual judicial hoje em utilização, no prazo de dois anos. Atualmente o MNI está na versão 2.1.1, porém já está em avaliação pelo Comitê Técnico Gestor do MNI a versão 3.0.
Melhorar a acessibilidade do sistema.As políticas, diretrizes e especificações técnicas de acessibilidade estão sistematizadas no âmbito da Administração Pública Federal, no modelo denominado "Modelo de Acessibilidade em Governo Eletrônico - e-MAG".
O Modelo de Acessibilidade de Governo Eletrônico (e-MAG) consiste em um conjunto de recomendações a ser considerado para que o processo de acessibilidade dos sítios e portais do governo brasileiro seja conduzido de forma padronizada e de fácil implementação.O e-MAG é coerente com as necessidades brasileiras e em conformidade com os padrões internacionais. Foi formulado para orientar profissionais que tenham contato com publicação de informações ou serviços na Internet a desenvolver, alterar e/ou adequar páginas, sítios e portais, tornando-os acessíveis ao maior número de pessoas possível.
O Conselho Superior da Justiça do Trabalho através do ATO Nº 270/CSJT.GP.SG, de 5 de dezembro de 2011, instituiu Grupo de Trabalho com a finalidade de realizar estudos para a implementação de requisitos voltados à acessibilidade e usabilidade do Sistema Processo Judicial Eletrônico da Justiça do Trabalho - PJe-JT. O grupo produziu como conclusão dos estudos o MANUAL DE ACESSIBILIDADE DO PROCESSO JUDICIAL ELETRÔNICO DA JUSTIÇA DO TRABALHO, que faz recomendações que devem ser observadas sobre a acessibilidade no Processo Judicial Eletrônico da Justiça do Trabalho, e que utilizou como base o Modelo de Acessibilidade de Governo eletrônico (e-MAG). Este estudo deve, entre outros, ser utilizado como referência.
5. NÃO ESCOPO
As restrições atuais em relação aos dispositivos móveis, em face de despenderem mais
investimentos, mais estudos técnicos e mais tempo para serem implementadas não fazem
parte do escopo desta proposta de projeto. Sugere-se, entretanto que estudos técnicos e de impacto, sejam realizados em paralelo à execução do escopo proposto, de forma a
comporem o escopo de uma futura versão.Também não faz parte do escopo deste projeto a realização de investimentos em aquisição e/ou modernização de infraestrutura de TI.
6. RESTRIÇÕES
Este projeto possui as seguintes restrições:
O prazo máximo para a realização do projeto será de 24 meses; Todas as novas funcionalidades deverão ser construídas na nova arquitetura, utilizando fábrica de software.7. PREMISSAS
A execução deste projeto possui premissas que devem ser atendidas para o seu sucesso,
tais como:
Disponibilidade de recursos financeiros para contratar fábrica de software para
implementar cerca de 20.000 pontos de função; Disponibilidade de recursos financeiros para contratar fábrica de software para medir
a implementação de cerca de 20.000 pontos de função; Disponibilidade de recursos financeiros para aquisição e/ou atualização de licença de
softwares para a atualização tecnológica; Disponibilidade de recursos financeiros para capacitação de técnicos nos softwares
adquiridos e/ou atualizados; Disponibilidade com dedicação exclusiva ao projeto, de especialistas em: desenvolvimento em JAVA, segurança da informação, negócio, banco de dados, mapeamento de fluxo de negócio, gerência de projeto, e outras que forem identificadas durante a execução.8. ENTREGAS E MARCOS DO PROJETO
- Clique aqui para conferir.