Principales Fallos Genéricos Funcionales de los Sistemas
Autentificación:
- Los usuarios no pueden determinar
si el hardware y el software con que funcionan son los que deben ser.
- Un intruso podría reemplazar
un programa sin conocimiento del usuario.
- Un usuario puede
inadvertidamente teclear una contraseña en un programa de entrada falso.
Cifrado:
- No se almacena cifrada la
lista maestra de contraseñas.
Implementación:
- Implementación improcedente
de un buen diseño de seguridad.
Confianza
implícita:
- Una rutina supone que otra
está funcionando correctamente cuando, de hecho, debería examinar los parámetros
suministrados por la otra rutina.
Compartimiento
implícito:
- El S. O. deposita
inadvertidamente información importante del sistema en un espacio de
direcciones del usuario.
Comunicación
entre procesos:
- Usos inadecuados de los
mecanismos de send / receive que pueden ser aprovechados por los intrusos.
Verificación
de la legalidad:
- Validación insuficiente de
los parámetros del usuario.
Desconexión
de línea:
- Ante una desconexión de
línea el S. O. debería:
- Dar de baja al usuario (o
los usuarios) de la línea.
- Colocarlos en un estado tal
que requieran la re - autorización para obtener nuevamente el control.
Descuido
del operador:
- Un intruso podría engañar a
un operador y hacer que le habilite determinados recursos.
Paso de
parámetros por referencia en función de su valor:
- Es más seguro pasar los
parámetros directamente en registros que tener los registros apuntando a
las áreas que contienen los parámetros.
- El paso por referencia puede
permitir que los parámetros, estando aún en el área del usuario, puedan
ser modificados antes de ser usados por el sistema.
Contraseñas:
- No deben ser fácilmente
deducibles u obtenibles mediante ensayos repetidos.
Entrampamiento
al intruso:
- Los S. O. deben tener
mecanismos de entrampamiento para atraer al intruso inexperto.
Privilegio:
- Cuando hay demasiados
programas con demasiados privilegios se viola el principio del menor
privilegio.
Confinamiento
del programa:
- Un programa “prestado”
de otro usuario puede actuar como un “Caballo de Troya”.
Prohibiciones:
- Se advierte a los usuarios
que no utilicen ciertas opciones porque los resultados podrían ser “indeterminados”,
pero no se bloquea su uso, con lo que puede robar o alterar datos.
Residuos:
- Un intruso podría encontrar
una lista de contraseñas con solo buscar en lugares tales como una “papelera”:
- Del sistema o física.
- La información delicada
debe ser sobrescrita o destruida antes de liberar o descartar el medio
que ocupa.
Blindaje:
- Los intrusos pueden
conectarse a una línea de transmisión sin hacer contacto físico:
- Utilizan el campo inducido
por la circulación de corriente en un cable.
- Se previene con un adecuado
blindaje eléctrico.
Valores
de umbral:
- Si no se dispone de valores
umbral, no habrá:
- Límites al número de
intentos fallidos de ingreso.
- Bloqueos a nuevos intentos.
- Comunicaciones al
supervisor o administrador del sistema.
Asincronismo:
- Se tienen procesos múltiples
que progresan asincrónicamente.
- Un proceso podría modificar
los parámetros ya validados por otro proceso pero aún no utilizados.
- Un proceso podría pasar
valores malos a otro aún cuando el segundo realice una verificación
extensa.
Rastreo:
- Un usuario revisa el sistema
intentando localizar información privilegiada.
Entre
líneas:
- Se utiliza una línea de comunicaciones
mantenida por un usuario habilitado que está inactivo.
Código
clandestino:
- Se modifica el S. O. bajo
una presunta depuración pero se incorpora código que permite ingresos no
autorizados.
Prohibición
de acceso:
- Un usuario escribe un
programa que bloquea el acceso o servicio a los usuarios legítimos
mediante:
- Caídas del sistema, ciclos
infinitos, monopolio de recursos, etc.
Procesos
sincronizados interactivos:
- Se utilizan las primitivas
de sincronización del sistema para compartir y pasarse información entre
sí.
Desconexión
de línea:
- El intruso intenta acceder
al trabajo de un usuario desconectado:
- Luego de una desconexión de
línea.
- Antes de que el sistema
reconozca la desconexión.
Disfraz:
- El intruso asume la
identidad de un usuario legítimo luego de haber obtenido la identificación
apropiada por medios clandestinos.
Ataque
“nak”:
- Si el S. O. permite a un
usuario:
- Interrumpir un proceso en
ejecución mediante una “tecla” de “reconocimiento negativo”.
- Realizar otra operación.
- Reanudar el proceso
interrumpido.
- Un intruso podría “encontrar”
al sistema en un estado no protegido y hacerse con el control.
Engaño al
operador:
- Con un engaño se hace
realizar al operador una acción que comprometa la seguridad del sistema.
Parásito:
- Mediante equipamiento
especial el intruso:
- Intercepta los mensajes
entre un usuario habilitado y el procesador.
- Los modifica o reemplaza
totalmente.
Caballo
de Troya:
- El intruso coloca un código
dentro del sistema que luego le permita accesos no autorizados.
- Puede permanecer en el
sistema.
- Puede borrar todo rastro de
sí mismo luego de la penetración.
Parámetros
inesperados:
- El intruso suministra
valores inesperados a una llamada al núcleo.
- Intenta aprovechar una
debilidad de los mecanismos de verificación de la legalidad del S. O.