Proteção de Stack Execution Disable

Manter os sistemas de computador seguros forma um aspecto importante de um negócio On Demand. No mundo de hoje em ambientes altamente ligados em rede, tornou-se um desafio extremo afastar ataques de uma variedade de fontes.

Há uma probabilidade cada vez maior de sistemas de computador ficarem expostos a ataques sofisticados, resultando na interrupção das operações diárias das empresas e das agências governamentais. Embora nenhuma medida de segurança possa fornecer proteção infalível contra ataques, é necessário implementar vários mecanismos de segurança para impedir os ataques de segurança. Esta seção aborda um mecanismo de segurança que é usado com o AIX® para impedir ataques devido à execução baseada em estouro de buffer.

As brechas de segurança ocorrem em muitas formas, mas um dos métodos mais comuns é monitorar o sistema-fornecido ferramentas administrativas, procurar e explorar estouros de buffer. Os ataques de estouro de buffer ocorrem quando um buffer de programa interno é sobrescrito porque os dados não foram validados adequadamente (como linha de comandos, variável ambiental, disco ou E/S do terminal). O código de ataque é inserido em um processo em execução por meio do estouro de buffer, mudando o caminho de execução desse processo. O endereço de retorno é sobrescrito e redirecionado para o local do código inserido. As causas comuns de violações incluem verificação de limites incorretos ou não existentes, ou suposições incorretas sobre a validade das fontes de dados. Por exemplo, um estouro de buffer pode ocorrer quando um objeto de dados é grande o suficiente para conter 1 KB de dados, mas o programa não verifica os limites da entrada e, portanto, pode copiar mais de 1 KB nesse objeto de dados.

O objetivo do intruso é atacar um comando e/ou ferramenta que forneça privilégios de root a um usuário regular. O controle do programa é obtido com todos os privilégios ativados, permitindo o estouro dos buffers. Os ataques são geralmente concentrados em um conjunto de UID de propriedade raiz ou programas que levam à execução de um shell, obtendo o acesso de shell baseado em root ao sistema.

É possível evitar esses ataques, bloqueando a execução do código de ataque que entra por meio do estouro de buffer. Desative a execução nas áreas de memória de um processo em que a execução comumente não ocorre (áreas de pilha e de memória heap).