Mudanças entre as edições de "Transporte 1.1.1.21"

De MSTECH wiki
Ir para: navegação, pesquisa
m (Testes Realizados)
(Resultados)
Linha 273: Linha 273:
 
</font>
 
</font>
  
=== Resultados ===
+
=== Resultados dos Testes F (Falhou) ===
  
 
{| style="width: 100%" class="wikitable"
 
{| style="width: 100%" class="wikitable"

Edição das 17h42min de 27 de junho de 2016

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

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 F (Falhou)

Teste

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
  • Implementar um controle de acesso para o fileHandler e para os arquivos em si, de forma que apenas os usuários com a devida permissão consigam realizar o download dos arquivos.
  • Utilizar identificadores aleatórios e não previsíveis para dificultar o acesso aos arquivos diretamente.
Referências

Teste

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
  • Implementar o protocolo TLS seguindo as orientações de boas práticas.
  • Utilizar em ambientes de produção certificados gerados por autoridades certificadores confiáveis. Em ambientes de teste e homologação podem ser utilizados certificados auto-assinados.
Referências

Teste

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
  • Em produção, deve-se procurar manter apenas os arquivos compilados e necessários para o funcionamento do sistema.
Referências

Teste

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
  • Implementar mecanismos de autenticação e autorização para as APIs e Webservices.
Referências

Teste

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
  • Implementar um token anti-CSRF para prevenir ataques desse tipo.
  • Verificar os cabeçalhos "Origin" e/ou "Referer" para identificar a origem do request.
  • Setar o cabeçalho "X-Frame-Options" para "sameorigin" ou "deny".
Referências

Teste

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
  • Invalidar o cookie de autenticação no lado servidor quando o usuário realiza o logout.
Referências

Teste

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
  • Sempre verificar no lado servidor a validade de ambos os cookies, e caso algum cookie esteja ausente ou alterado realizar o logout da sessão do usuário, invalidando ambos os cookies.
Referências

Teste

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
  • Fazer a validação do valor do relaystate antes de redirecionar o usuário, para previnir o redirecionamento para outros domínios no caso da requisição ter sido alterada ou forjada.
Referências

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.

Cenário de uso

Cenário de uso #1
Ação realizada Think Time (segundos)
1 - Acessar tela de login 3
1 - Realizar login 7
1 - Selecionar sistema Transporte Escolar 5
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
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 %.
2016-06-21 TransporteEscolar TempoDeProcessador.png


  • Porcentagem de memória utilizada
Descrição: Indica a porcentagem de memória utilizada para uso dos processos.
Limite recomendado: Abaixo de 75 %.
2016-06-21 TransporteEscolar MemoriaUtilizada.png


  • Kbytes totais pela interface de rede
Descrição: Indica quantos Bbytes 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)
2016-06-21 TransporteEscolar NetworkTotal.png


  • Tempo médio de resposta das requisições
Descrição: Indica o tempo médio de resposta das requisições.
Limite recomendado: 5 segundos.
2016-06-21 TransporteEscolar ResponseTime.png


  • Tempo de vazão
Descrição: Indica a quantidade total de request por segundo.
Limite recomendado: Quanto maior melhor.
2016-06-22 13-37-47.png