OWASP AppSec Brasil

A segunda edição da versão brasileira principal conferência mundial de segurança de software vai acontecer em 2010. Será nos dias 16 a 19 de novembro em Campinas e terá como keynotes:

Para mais detalhes, veja o site da OWASP AppSec Brasil 2010.

70 dias para
AppSec Brasil 2010

Links

Outros sites de interesse:
   OWASP
   Build Security In

Acesse também:
    www.sapao.net

Termos de uso

O conteúdo deste site está sujeito à licença Creative Commons.

Creative Commons License

Atividade recente no site

Início‎ > ‎

Verificar condições de “overflow”, “underflow” e conversões de tipos numéricos

A condição de overflow ocorre quando o valor atribuído a uma variável é maior que o maior valor que o tipo desta variável consegue representar. Por exemplo, se houvesse um tipo decimal, que somente consegue representar os valores de 0 a 9, no caso de tentarmos atribuir o resultado da operação 5+5 a uma variável deste tipo, o resultado seria um overflow. Um underflow acontece nos casos em que o valor que se tenta atribuir é menor que o menor valor que o tipo é capaz de representar.

As conversões de tipos numéricos acontecem quando um valor é atribuído a uma variável de um tipo diferente. Por exemplo, se atribuirmos o valor 10.0 (que é do tipo double) a uma variável do tipo int, ou se for atribuído um valor do tipo long a uma variável do tipo int.

Todas esta situações podem resultar em falhas ou vulnerabilidades na execução da aplicação, caso haja alguma suposição (mesmo que implícita) sobre a magnitude ou sinal dos valores usados. Nos casos de conversões de tipos, o compilador irá acusar apenas se as conversões implícitas tiverem risco de perda de informação. No caso das conversões explícitas (casts), não há esta verificação pelo compilador e o programador deve tomar as precauções necessárias. Todas as atribuições devem ser verificadas quanto à possibilidade de gerar overflow, underflow ou perdas quando da conversão de tipos.

  Sign in   Recent Site Activity   Terms   Report Abuse   Print page  |  Powered by Google Sites