• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

deathseeker25

Buffer Overflow afecta Panda Antivirus

13 mensagens neste tópico

Boas,

Andava a ler as notícias que tinha em atraso no e-mail quando me deparo com estas duas palavras: Buffer Overflow. Como não sabia o que significavam decidi fazer uma pesquisa. Ora, encontrei uns links que explicavam exactamente o que significava essa expressão, certamente muito conhecido entre nós, programadores.

A vulnerabilidade em causa tem origem num erro no controlo de limites da memória dentro do “pskcmp.dll” quando é feita uma descompressão Lampel-Ziv de ficheiros .ZOO. Esta situação pode ser explorada para originar um desdobramento de memória no heap e permitir a execução de código arbitrário quando é analisado um ficheiro .ZOO malicioso.

Como workround recomenda-se filtrar ficheiros .ZOO nos sistemas de mail ou via proxy.

São afectados os seguintes produtos:

Panda AntiVirus Enterprise Suite

Panda AntiVirus Platinum 7.x

Panda AntiVirus Small Business Edition

Panda AntiVirus Titanium

Panda CommandlineSecure Antivirus

Panda CVPSecure Antivirus

Panda DominoSecure Antivirus

Panda ExchangeSecure Antivirus

Panda FileSecure Antivirus

Panda ISASecure Antivirus

Panda PerimeterScan

Panda PostfixSecure Antivirus

Panda ProxySecure Antivirus

Panda QmailSecure Antivirus

Panda SendmailSecure Antivirus

Agora, explicando de que se trata o buffer overflow: é uma anomalia que ocorre devido a um erro de programação que faz com que dados continuem a ser escritos para lá da memória ocupada pelo programa. Isto falando muito basicamente. Se quiserem informações técnicas consultem isto.

Agora, voltando ao tema: em que medida é possível uma empresa desta dimensão cometer este tipo de erros? É isto normal no mundo da programação profissional? Ou foi apenas uma excepção? Que tipo de consequencias poderá este erro ter para a empresa ou para a equipa de programadores?

São questões que gostaria de ver abordadas neste tópico.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Erros toda a gente pode cometer, só quem não faz nada é que não os comete, quem trabalha sugeita-se a ele.

Mas realmente é estranho, ainda se fosse ocasional (num produto) podiater escapado :? , agora numa série deles :x ?

Aí já deve ser mesmo "ignorância".

Era suposto o programa ser sugeito a testes rigorosos, e logo um programa tão delicado como um anti-virus? :!:

Deixa muito a desejar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Erros de Buffer Overflow infelizmente são vulgares em programação, e dão origem a problemas bem piores do que ocupar memória indevida..

Buffer Overflow exploits are involved when a variable inside some code doesnt have any input validation. Each letter you enter in for the string variable will be 1 byte long. Now where the variables are located at when they are in use by a program is called the buffer. Now what do you think overflowing the buffer means. We overflow the buffer so we can get to a totally different memory address. Then people write whats called shellcode in hex. That wasnt the best description of a buffer overflow, however all you need to remember is that garbage data fills up the data registers so then the buffer overflows and allows for remote execution of almost every command available.

Source: Não coloco pois pode nao ser bem interpretado, deixem PM que mando-vos o artigo. Artigo escrito por: jesus

Utilizar programas com esse tipo de erros pode deixar uma máquina completamente vulnerável.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podem me explicar um exemplo simples em que ocorra um buffer overflow e como , que soluções devem ser realizadas para que tal nao aconteça?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nk tinham ouvido falar e mto usado pelo o ppl k programa e usa mto ciclos..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

que tem usar muitos ciclos ? se eu fizer um big big programa terei que usar muitos ciclos , qual é o problema ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas por exemplo para realizar os menus normalmente criam-se ciclos infinitos, isto pode causar algum problema de buffer overflow ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas por exemplo para realizar os menus normalmente criam-se ciclos infinitos, isto pode causar algum problema de buffer overflow ?

Isso depende.O programador é que tem de prever todas as possíveis situações. Imagina que crias um ciclo infinito para um menu, onde o utilizador para escolher uma opção, insere um numero correspondente a uma opção. Agora imagina que o utilizador comete o equívoco, derivado de algum motivo, de em vez de um numero colocar uma letra, ou então um milhão de numeros. Se o programador não criou uma regra que prevê a inserção de letras ou de um numero igual ou superior a x, então o programa vai crashar.

Um exemplo melhor é com as strings. Imagina que fazes um programa que lê os dados inseridos pelo utilizador e os coloca no ecrã. Imagina que um dos dados é o nome do utilizador, que irá ficar alocado numa variável do tipo string com possibilidade até 20 caracteres. Se o utilizador inserir 21 caracteres, irá acontecer um buffer overflow, como já leste.

É por isso que digo que o programador tem de prever todas as situações possíveis, de modo a que não danifique o programa.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

O problema com os produtos da Panda neste caso é que o erro deve estar numa DLL utilizada pelos vários produtos dai existir em todos eles.  :hmm:

Para este erro não é necessário muito basta criar uma função recursiva e executar sem ter uma forma de terminar o que acontece é que a memória stack é totalmente preenchida e quando já não tem mais espaço da este tipo de erro.

Profissionalmente é aceitavél um erro em cada 1000 linhas de código, o problema é que esse erro pode ser bastante problemático. :bored:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, nao e o facto de ser da panda k tem bugs... tudo tem bugs... nada e perfeito... basta pensares k os programadores por muito k saibam estao em constante pressao para desenvolverem os produtos a tempo para os meter no mercado cedo... é tudo assim. o uniko software k pode nao ter bugs sao os chamados softwares criticos k korrem sistemas k nao podem de maneira nenhuma falhar... ( eu se tiver um acidente e tiver de fikar ligado a uma makina durante uns dias nao kero morrer pk a treta da makina algures la no meio fez uma divisao por 0 e estoirou.... era ridiculo) .. esse tipo de aplikacoes passa por um controlo de qualidade muito mais apertado onde todos os algoritmos sao testados e analisados matematicamente e só sao considerados correctos kuando houver uma prova matematica k diz k akilo faz o k e suposto fazer em todas as condicoes normais de funcionamento.

O buffer overrun é tao comum como outro bug kk, o problema e k este para alem de poder rebentar com o prog, pode ser usado para dar a volta a sistemas de seguranca.. Se kerem saber mais sobre isso e como explorar a serio esse tipo de vulnerabilidades e outras recomendo o "shellcoder's handbook" ... inda n o li mas passei os olhos e fikei parvo como codigo tao simples e comum pode, se bem subvertido, lixar sistemas inteiros... e claro, ler os phracks tb ajuda :D

fikem bem[]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora