Transporte 1.1.1.21
Índice
Sistemas Verificados
- Transporte Escolar, versão 1.1.1.21
- Transporte Escolar Api, versão 1.0.0.0
Verificação de Segurança
Testes Realizados
| Item de Teste | Referência OWASP | Resultado |
|---|---|---|
| Review Webpage Comments and Metadata for Information Leakage | OTG-INFO-005 | OK |
| Test Application Platform Configuration | OTG-CONFIG-002 | NA |
| Test File Extensions Handling for Sensitive Information | OTG-CONFIG-003 | OK |
| Review Old, Backup and Unreferenced Files for Sensitive Information | OTG-CONFIG-004 | F |
| Test HTTP Methods | OTG-CONFIG-006 | NA |
| Test HTTP Strict Transport Security | OTG-CONFIG-007 | F |
| Test RIA cross domain policy | OTG-CONFIG-008 | NA |
| Test Role Definitions | OTG-IDENT-001 | NA |
| Test User Registration Process | OTG-IDENT-002 | NA |
| Test Account Provisioning Process | OTG-IDENT-003 | NA |
| Testing for Account Enumeration and Guessable User Account | OTG-IDENT-004 | OK |
| Testing for Credentials Transported over an Encrypted Channel | OTG-AUTHN-001 | F |
| Testing for default credentials | OTG-AUTHN-002 | OK |
| Testing for Weak lock out mechanism | OTG-AUTHN-003 | NA |
| Testing for Bypassing Authentication Schema | OTG-AUTHN-004 | OK |
| Testing for Vulnerable Remember Password | OTG-AUTHN-005 | NA |
| Testing for Browser cache weakness | OTG-AUTHN-006 | OK |
| Testing for Weak password policy | OTG-AUTHN-007 | NA |
| Testing for weak password change or reset functionalities | OTG-AUTHN-009 | NA |
| Testing for Weaker authentication in alternative channel | OTG-AUTHN-010 | NA |
| Testing Directory traversal/file include | OTG-AUTHZ-001 | OK |
| Testing for Bypassing Authorization Schema | OTG-AUTHZ-002 | F |
| Testing for Privilege escalation | OTG-AUTHZ-003 | OK |
| Testing for Insecure Direct Object References | OTG-AUTHZ-004 | F |
| Testing for Session Management Schema | OTG-SESS-001 | F |
| Testing for cookies attributes | OTG-SESS-002 | OK |
| Testing for Session Fixation | OTG-SESS-003 | OK |
| Testing for Exposed Session Variables | OTG-SESS-004 | OK |
| Testing for CSRF | OTG-SESS-005 | F |
| Testing for logout functionality | OTG-SESS-006 | F |
| Testing for Session Timeout | OTG-SESS-007 | OK |
| Testing for Session puzzling | OTG-SESS-008 | OK |
| Testing for Reflected Cross site scripting | OTG-INPVAL-001 | OK |
| Testing for Stored Cross site scripting | OTG-INPVAL-002 | OK |
| Testing for HTTP Verb Tampering | OTG-INPVAL-003 | NA |
| Testing for HTTP Parameter pollution | OTG-INPVAL-004 | OK |
| Testing for SQL Injection | OTG-INPVAL-005 | OK |
| Testing for LDAP Injection | OTG-INPVAL-006 | NA |
| Testing for XML Injection | OTG-INPVAL-008 | NA |
| Testing for SSI Injection | OTG-INPVAL-009 | NA |
| Testing for XPath Injection | OTG-INPVAL-010 | NA |
| Testing for IMAP/SMTP Injection | OTG-INPVAL-011 | NA |
| Testing for Code Injection | OTG-INPVAL-012 | OK |
| Testing for Command Injection | OTG-INPVAL-013 | OK |
| Testing for Buffer Overflow | OTG-INPVAL-014 | NA |
| Testing for Incubated Vulnerability | OTG-INPVAL-015 | OK |
| Testing for HTTP Splitting/Smuggling | OTG-INPVAL-016 | OK |
| Testing for Information Disclosure | OTG-ERR-001, OTG-ERR-002 | OK |
| Testing for Weak SSL/TLS Ciphers, Insufficient Transport Layer Protection | OTG-CRYPST-001 | NA |
| Testing for Padding Oracle | OTG-CRYPST-002 | NA |
| Testing for Sensitive information sent via unencrypted channels | OTG-CRYPST-003 | NA |
| Tests of business logic | OTG-BUSLOGIC-001..009 | OK |
| Testing for DOM-based Cross site scripting | OTG-CLIENT-001 | OK |
| Testing for JavaScript Execution | OTG-CLIENT-002 | OK |
| Testing for HTML Injection | OTG-CLIENT-003 | OK |
| Testing for Client Side URL Redirect | OTG-CLIENT-004 | F |
| Testing for CSS Injection | OTG-CLIENT-005 | OK |
| Testing for Client Side Resource Manipulation | OTG-CLIENT-006 | OK |
| Test Cross Origin Resource Sharing | OTG-CLIENT-007 | OK |
| Testing for Cross site flashing | OTG-CLIENT-008 | OK |
| Testing for Clickjacking | OTG-CLIENT-009 | OK |
| Testing WebSockets | OTG-CLIENT-010 | NA |
| Test Web Messaging | OTG-CLIENT-011 | NA |
| Test Local Storage | OTG-CLIENT-012 | NA |
- OK (Nenhum problema encontrado); F (Teste falhou, verificar os resultados); NA (Teste não aplicado)
Resultados dos Testes
|
Teste falhou |
OTG-AUTHZ-002, OTG-AUTHZ-004 |
| Severidade | Média |
| Descrição | O handler "fileHandler.ashx" não possui controle de acesso, podendo ser acessado diretamente por um usuário não autenticado. Assim ele permite o download de qualquer arquivo disponível através do seu id, que é um número sequencial e portanto de fácil previsão. |
| Política de segurança | "3.3 Controle de acesso", "3.9 Arquivos e recursos" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-CONFIG-007, OTG-AUTHN-001 |
| Severidade | Média |
| Descrição | As informações enviados para e pelo sistema não são criptografadas, susceptíveis a interceptações e alterações entre o cliente e o servidor. |
| Política de segurança | "3.8 Segurança nas comunicações" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-CONFIG-004 |
| Severidade | Baixa |
| Descrição | O diretório do site no servidor possui arquivos de código fonte (.cs). |
| Política de segurança | "3.7 Proteção de dados" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-AUTHZ-002 |
| Severidade | Baixa |
| Descrição | A api do sistema e o WS "SvcTransporteEscolar" não possuem controle de acesso, podendo ser acessados diretamente por um usuário não autenticado. |
| Política de segurança | "3.11 Web Services e API´s" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-SESS-005 |
| Severidade | Média |
| Descrição | O sistema não implementa um mecanismo anti-CSRF, e permite que as páginas sejam renderizadas a partir de outros domínios (em um frame, iframe ou object). |
| Política de segurança | "3.12.1 Configurações para servidor web", "3.4 Gerenciamento de sessão" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-SESS-001, OTG-SESS-006 |
| Severidade | Média |
| Descrição | Ao realizar o logout o cookie de autenticação não é invalidado no servidor, apenas excluido no lado cliente. Assim, forçando o navegador a utilizar o valor antigo do cookie o usuário consegue novamente acesso ao sistema sem realizar o login. |
| Política de segurança | "3.4 Gerenciamento de sessão" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-SESS-001 |
| Severidade | Média |
| Descrição | Ao realizar a primeira requisição para o sistema o usuário recebe um cookie de sessão, e assim que realiza o login com sucesso ele recebe um cookie de autenticação. No entanto o sistema não faz a validação de ambos os cookies, podendo o usuário depois de autenticado continuar navegando apenas com o cookie de sessão ou de autenticação (nesse caso recebendo uma nova sessão). |
| Política de segurança | "3.4 Gerenciamento de sessão" |
| Sugestões |
|
| Referências |
|
Teste falhou |
OTG-CLIENT-004 |
| Severidade | Baixa |
| Descrição | O sistema faz o redirecionamento do usuário para outros domínios quando o parâmentro "relaystate" da página "Login.ashx" é alterado para uma url qualquer. |
| Política de segurança | "3.1 Validação dos dados" |
| Sugestões |
|
| Referências |
| Índices | Resultados | |
| Número de itens testes | 64 | |
| Número de itens verificados | 40 | |
| Número de itens (NA) | 24 | |
| Número de itens (OK) | 31 | |
| Número de itens (F) | 9 | |
| Índice de aderência | 78% | |
Verificação de Desempenho
Observações sobre o teste
O CoreSSO utilizado inicialmente para os testes foi o indicado pela equipe do Transportes, copiado do TS-IIS02 e TS-BD. Contudo, o CoreSSO, apresentou problemas, dentre eles o não cadastro da tabela de layout padrão, gerando diversos erros. Desta forma, substituímos o banco e o site por outra versão indicada pela equipe do CoreSSO na época.
Vale ressaltar que o sistema conforme indicação da equipe do Transportes suportaria, em seu limite, o acesso simultâneo de 200 usuários com uma alta taxa de erro no momento de acesso ao sistema Transporte Escolar, tornando necessário a verificação e ajuste do SAML.
Análise do teste
Durante todas os testes, o percentual de processamento e utilização de memória manteve-se dentro dos padrões estabelecidos quando o sistema possui no máximo 1000 usuários simultâneos. A média de fila em disco demonstrou-se baixa.
O tempo médio de resposta das requisições manteve-se no limite estabelecido até 1800 usuários. Porém, nos testes a partir de 2000 requests, há um “pulo” nos tempos de resposta.
A partir de 2000 requests simultâneos não houve possibilidade de executar e finalizar os testes, pois conforme demonstrado acima, há uma sobrecarga no servidor.
Cenários de uso
| Cenário de uso #1 - Login | |||||
|---|---|---|---|---|---|
| Ação realizada | Think Time (segundos) | ||||
| 1 - Acessar tela de login | 3 | ||||
| 1 - Realizar login | 7 | ||||
| 1 - Selecionar sistema Transporte Escolar | 5 | ||||
| Cenário de uso #2 - Cadastro de veículo | |||||
|---|---|---|---|---|---|
| Ação realizada | Think Time (segundos) | ||||
| 2 - Acessar tela de consulta de veículos | 5 | ||||
| 2 - Preencher aba "Documentação" | 20 | ||||
| 2 - Preencher aba "Aquisição" | 7 | ||||
| 2 - Preencher aba "Condutor" | 38 | ||||
| 2 - Preencher aba "Peças e acessórios" | 25 | ||||
| 2 - Preencher aba "Despesas" | 15 | ||||
| 2 - Salvar cadastro | 5 | ||||
| Cenário de uso #3 - Logout | |||||
|---|---|---|---|---|---|
| Ação realizada | Think Time (segundos) | ||||
| 3 - Logout | 5 | ||||
Resultado dos testes
Nesta seção serão apresentados os resultados obtidos da execução dos testes.
- Porcentagem de tempo do processador
- Descrição: Mede a saturação do processador e mostra a quantidade de tempo despendida para processar as threads por todas as CPUs.
- Limite recomendado: Abaixo de 75 %.
- Análise: A aplicação demonstrou desempenho esperado, sendo que o servidor WEB01 teve uma utilização superior em relação aos demais.
- Porcentagem de memória utilizada
- Descrição: Indica a porcentagem de memória utilizada para uso dos processos.
- Limite recomendado: Abaixo de 75 %.
- Análise: A aplicação utiliza utiliza uma quantidade significativa de memória, principalmente do banco de dados, sendo que a partir de 800 usuários fica acima da porcentagem recomendada.
- Kbytes totais pela interface de rede
- Descrição: Indica quantos Kbytes foram enviados e recebidos a cada segundo pela interface de rede.
- Limite recomendado: Menor que 5 Mbytes para uma rede de 100Mbps, menor que 50 Mbytes para uma rede de 1000 Mbps. (Quanto menor melhor).
- Análise: O servidor de banco de dados aprensentou um comportamento inesperado devido a uma queda na quantidade em KBytes utilizada a partir de 1000 usuários.
- Tempo médio de resposta das requisições
- Descrição: Indica o tempo médio de resposta das requisições.
- Limite recomendado: 5 segundos.
- Análise: A aplicação demonstrou desempenho esperado próximo à 1800 usuários, com uma quantidade superior de usuários os servidores ficam sobrecarregados, aumentando significativamente o tempo de resposta.
- Tempo de vazão
- Descrição: Indica a quantidade total de request por segundo.
- Limite recomendado: Quanto maior melhor.
- A aplicação demonstrou desempenho esperado, porém possui uma queda de performance ao ser utilizada por 1602 usuários, resultando em queda menor de requests realizados.




