|
|
|
|
28) Cambiar parametros de areas criticas del sistema antes de su ejecucion.
29) Comprobacion inadecuada de los limites al compilar, por ejemplo, un usuario puede ser capaz de ejecutar codigo maquina disfrazado como datos en un area de datos (si las areas de texto y datos estan compartidas)
30) Manipular incorrectamente interrupciones asincronas generadas por usuarios. Usuarios interrumpiendo un proceso, realizando una operación, o bien volviendo para continuar el proceso o comenzar otro dejaran a menudo el sistema en un estado de desproteccion. Archivos parcialmente escritos se dejan abiertos, escritura incorrecta de mensajes de infracciones de proteccion, puesta incorrecta de bits de proteccion, etc, suelen ocurrir.
31) Codigo que usa fopen(3) sin poner la umask. (ej: at(1), etc.). En general, codigo que no resetea el UID real y efectivo antes de bifurcarse
32) Tracear es muy util para ayudarte a descubrir que llamadas de sistema usa un programa
33) Escanea los sistemas de archivos /usr/local de cerca. Muchos administradores instalaran software de la red. A menudo encontraras tcpdump, top, nfswatch,... suid root por su facilidad de uso.
34) Comprobar que los programas suid fueron los que originalmente se pusieron en el sistema. Algunas veces los administradores reemplazaran el password por uno menos seguro que el de las distribuciones.
35) Buscar programas que se usaran para instalar software o modulos de kernel
36) Programas enlazados dinamicamente en general. Recuerda LD_PRELOAD, creo que esa era la variable.
37) La programacion de canales de I/O (Entrada/Salida) es es un blanco primario. Busca errores logicos, inconsistencias, y omisiones.
38) Ver si es posible que un programa de canales I/O pueda automodificarse, hacer un loop, y asi ejecutar el nuevo codigo modificado.
39) Si los canales I/O actuan como procesadores independientes tendran acceso ilimitado a la memoria, y asi el codigo de sistema podria ser modificado en memoria previamene a su ejecucion.
40) Buscar bugs que requieran errores en multiples partes del software,ej: di por ejemplo que el programa "a" puede usarse para cambiar el fichero de configuracion /etc/a , ahora el programa "b" asume que la informacion de a es correcta y esto lleva a resultados inesperados (solo mira cuantos programas confian en el fichero /etc/utmp)
41) Cualquier programa, especialmente los suid/sgid, que permites "escapadas" a shell.
CORTESIA DE MARAÑEROS WEB...
|
|
|
|
|