Segurança
Felipe Massia Pereira* Instituto de Computação UNICAMP 13083-970 – Campinas – SP felipe.pereira@ic.unicamp.br Paulo Lício de Geus Instituto de Computação UNICAMP CP 6176 – 13083-970 – Campinas – SP paulo@ic.unicamp.br
RESUMO
O presente artigo trata de vulnerabilidades encontradas em programas supostamente seguros – principalmente programas SUID/SGID – e de alguns cuidados a serem tomados no momento de desenvolver um programa seguro. Esta é uma área importante nestes dias em que é muito difundido o desenvolvimento de serviços de rede. A programação descuidada é a causa maior de erros nos programas e, conseqüentemente, de falhas de segurança em sistemas computacionais, que podem vir a ser descobertos e explorados por atacantes conectados à Internet. Este trabalho dá uma breve visão sobre alguns estudos anteriores acerca deste tema. Nós tratamos sobre a linguagem C e o sistema UNIX, já que são mais usados na Internet. Além disso, muitas ferramentas estão disponíveis para auxiliar programadores a escreverem programas seguros, das quais nós apresentamos algumas.
ABSTRACT
This article addresses vulnerabilities found in supposedly secure programs – mainly SUID/SGID programs – and presents some guidelines to be considered during the development of secure programs. This is an important area in these days of widespread network services programming. Careless programming is the major cause of bugs and, consequently, of security holes in computer systems, which may be found and exploited by attackers connected to the Internet. This work overviews some previous studies about this topic. We deal with the C language and the UNIX system, mostly used in the Internet. Also, many tools are available to help the programmers write safe programs, some of which we talk about.
1 INTRODUÇÃO A programação segura de sistemas já vem sendo estudada há um bom tempo. O primeiro ataque da Internet – o Worm, em