2. Resumo
•
Agentes da ameaça: usuário com acesso ao
sistema porém sem acesso a algumas
informações.
•
Vetor de ataque: de fácil exploração
•
Falha de segurança: estruturas do banco de dados
ou filesystem diretamente referenciadas
•
Impactos técnicos: possibilidade de acesso
indevido a informações
•
Impactos no negócio: dependem do valor das
informações e impacto da imagem da empresa
3. Agentes da Ameaça
O objeto de ataque é a informação
proveniente de um banco de dados,
sistema de arquivos ou qualquer
repositório no qual um usuário legítimo
tem acesso não só as informações
permitidas como também qualquer outra
informação não permitida.
4. Vetor de Ataque
O Vetor de Ataque pode ser qualquer
usuário insatisfeito e com más intenções,
pois é feito através da URL (get) nos
casos de sistemas web ou sites.
5. Falha de Segurança
O acesso a um determinado registro é
feito através da URL, tornando visível as
referências (chave primária) do registro
da informação desejada.
Ex.: http://www.sistema.net/conta.php?
id=1234
Se o usuário alterar o id diretamente na
url e não houver uma criticidade no
algoritmo do sistema que bloqueie esse
acesso, o usuário terá acesso à todas as
informações de outra conta não
6. Impactos Técnicos
Comprometimento das informações e
cópia das mesmas.
Ex: No site da Australian Taxation Office’s
GST Start Up Assistance em 2000, onde
um usuário legítimo, mas hostil,
simplesmente modificou o ABN
(identificador da empresa) presente na
URL. O usuário se apossou de cerca de
17.000 registros de empresas
7. São visualizadas na aplicação, as referências a
objetos internos dos usuários.
Atacantes manipulam parâmetros de maneira a
alterar as referências, conseguindo assim acesso a
diretórios ou outros recursos da aplicação.
<select name="language"><option
value="fr">Français</option></select>
…
require_once ($_REQUEST['language’]."lang.php");
Tal código pode ser atacado usando uma
string como “../../../../etc/passwd%00” usando
Funcionamento do ataque
8. Como se prevenir
•
Evitar a exposição de referências de objetos
privados a usuários sempre que possível, como
chaves primárias e nomes de arquivos.
•
Validar cada referência privada a objeto através da
abordagem “aceite o reconhecido como bom”.
•
Verificar a autorização de todos os objetos
referenciados.
•
Usar um valor de índice ou um mapa de referência
para prevenir ataques de manipulação de
parâmetro.
9. Exemplos específicos de
proteção
•
Uso de URL oculta configurando o
mod_rewrite e o .htaccess, assim na url
aparecerá somente o site raiz.
•
Uso de mapa de referência randômica,
onde a referencia visível aponta para
um mapa que faz a correlação com a
informação real.
•
Associação da referência da url com
alguma informação do
usuário(permissão) na preparação do
SQL.