TEMA 1: La problemática de la Seguridad Informática

TEMA 2: Fundamentos de la "Criptografia"

TEMA 3: Seguridad en Redes

TEMA 4: Virus

TEMA 5: Seguridad en los Sistemas Operativos
 
 



TEMA1: La problemática de la "Seguridad Informática"



Seguridad Informática: Conjunto de medidas de cualquier tipo que intente preservar ciertas propiedades del sistema informático.

Propiedades:

Técnicas:
a) De control de acceso al sistema informático
b) De cifrado de la información para proteger datos


ALGUNOS CONCEPTOS:

Auditoria: Consiste en revisar todos los procesos relacionados con la seguridad que se han realizado.

Política de Seguridad:

Declaración de intenciones organizativas de alto nivel que van a mantener la seguridad de un sector informático. Acaba reflejándose en un documento escrito. Toda la política de seguridad debe ir guiada por el SENTIDO COMUN

Para realizar una auditoria de seguridad tenemos que evaluar:
a) el valor de la información
b) los riesgos
c) el coste de intentar saltar las medidas de seguridad; el asaltante no gastara mas dinero para romperlas que el  valor de la información a robar
Y en cuanto a estos costes tendremos que tener en cuenta que:


Vulnerabilidad, Amenazas y Contramedidas:

Vulnerabilidad: Es el punto en el que el sistema puede ser atacado(Debilidad)
Amenaza: Es cualquier peligro exterior que amenace al sistema, como por ejemplo terremotos, personas, programas,...
Contramedida: Son las técnicas de protección especifica contra las amenazas

Tipos de vulnerabilidad


Amenazas

Se pueden clasificar:

1.- Por el efecto que causan:

2.- Según el origen:


Contramedidas

Tenemos que tomar medidas de seguridad ante las Amenazas y Vulnerabilidades. Así que ahora podremos ver 4 tipos de medidas formando un anillo de protección, como son:

Principios Fundamentales de la Seguridad Informática
  Es quizás el principio más fundamental de la seguridad. Y afirma que cualquier objeto (usuario, administrador, programa, sistema, etc.) debe tener solamente aquellos privilegios necesarios para poder desarrollar las tareas y ninguno más. Un sistema no es mas seguro porque escondamos sus posibles defectos o vulnerabilidades, sino porque los conozcamos y corrijamos estableciendo las medidas de seguridad adecuadas. El hecho de mantener posibles errores o vulnerabilidades en secreto no evita que existan, y de hecho evita que se corrija La seguridad es una cadena. El eslabón más débil es el que marca la seguridad de todo el sistema. Es decir, si una cosa va mal el resto también ira mal. Se trata de establecer un único punto de acceso a nuestro sistema, de modo que cualquier atacante que intente acceder al mismo tenga que pasar por él. No se trata de utilizar un solo mecanismo de seguridad, sino de "alinearlos" todos de modo que el usuario tenga que pasar por ellos para acceder al sistema. La seguridad requiere la participación de todos los usuarios. Si todos los usuarios prestan su apoyo y colaboran en establecer las medidas de seguridad y en ponerlas en practica el sistema siempre tendera a mejorar. Para proteger el sistema poner barreras detrás de otras. De este modo cualquier atacante tendrá que superar varias barreras para acceder al sistema y no solo una única barrera, por muy fuerte que sea esta. En primer lugar las cosas cuanto más simples, mejor. Y en segundo lugar la complejidad permite esconder múltiples fallos. Los programas más largos y complejos son más propensos a contener múltiples errores y puntos débiles.
 
 

TEMA2: Fundamentos de la "Criptografia"





Criptografia: Mediante un método matemático, la información (texto en clave) se transforma en otra información (texto cifrado) que no podremos descifrar, en el que interviene una llave. De manera que para descifrar la información original necesitaremos esa llave (SOLO CON ELLA LOGRAREMOS DESCIFRAR LA INFORMACION).

Criptosistema: Conjunto de 5 elementos:

Ek donde k Ì K Dk(Ek(m)) = m Dicho de otra forma:


Clases de Criptosistemas:

Son los más antiguos y los más sencillos. En este caso, tanto para cifrar un mensaje como para descifrarlo, utilizaremos siempre la misma llave k(denominada "clave privada"). En este caso dispondremos de 2 llaves, una llave publica y otra llave privada de forma que a una clave privada le corresponda una llave publica y SOLO UNA. Por ejemplo, cuando tu mandas un texto cifrado con tu llave privada a un usuario, este SOLO podrá descifrarlo si sabe cual es tu llave publica. La principal dificultad de esos criptosistemas es que son muy costosos, tanto en lo referente a la implementacion como a su coste temporal de utilización.


TEORIA DE LA INFORMACION

Cantidad de información: Cuanto más probabilidad haya de que se cumple un proceso, menos información obtenemos.

           - log P(xi): Probabilidad absoluta de lo que va a suceder es igual a cero.

La P(x=0) y sucede entonces la probabilidad es infinita.

Entropía: Dada una variable aleatoria X={x1, x2,... xn} y sus probabilidades asociadas P(x i), xi=1,..., n, se define entropía de la variable X, y se representa por H(X), como el valor medio ponderado de la cantidad de información de los diversos estados:

H(X)= -å (P(xi)lg P(xi) ) La entropía representa una medida de la incertidumbre media acerca de la variable aleatoria X. Dos propiedades:


Entropía condicionada de un suceso sobre otro:

Cuando existe algún tipo de dependencia entre una variable aleatoria X y otra Y, proporciona información.

Se define entropía de la variable X condicionada por y como el valor medio de información acerca de X conocida Y.

                    H(X/Y)= -å ( å (P(Xi,Yj)lg2 P(Xi/Yj) ))
 

Ley de Entropía Totales:

H(X,Y) = H(X) + H(Y/X)
H(X/Y) <= H(X) (solo será igual si son sucesos independientes)
| (X,Y) = H(Y) – H(Y/X)
| (X,Y) = | (YX)
|(X,Y) >= 0
 

Criptosistema seguro de Shanon:

También llamado Criptosistema ideal. El conocimiento del conjunto C no nos aporta información sobre el conjunto M.

| (C,M) = 0

Para que el criptosistema sea seguro se debe cumplir que el numero de elementos del conjunto(cardinal), del conjunto de llaves sea como mínimo igual al cardinal del conjunto de mensajes.

Algunas formulas:

Distancia de unicidad: Longitud mínima del sistema cifrado que aproxima un valor a cero ( el valor de H(K/C)).
 

Principios básicos de la Criptologia:

MATEMATICA DISCRETA
 

Congruencia modulo n

Considerando un entero positivo n y dados dos enteros a y b, se dice que a es congruente con b modulo n si, y solo si,

a = b + Kn para algún entero K.

Algoritmo de Euclides

Permite calcular el Máximo Común Divisor(MCD) de dos números. Si m|a (m divida a a) y m|b ? m|(a mod b)? m| (b mod c)
 
g0 = a;
g1 = b;
While (g1 != 0 )
{
  x = g0 % g1;
  g0 = g1 ;
  g1 = x;

Inversa:

Cuando MCD(a,n) = 1, entonces a tiene inversa mod n.

Conjunto de Residuos CD={1,2,..., n-1}

Conjunto Reducido de Residuos de modulo n a todos los números primos entre si. Para n=12, seria CRR={1,5,7,11}

El cardinal de CRR se denomina función de Euler: phi(n)

Phi(n)= numero de elementos del CRR

Se cumple que :

phi(n) = Pi=1 (piei-1(pi-1)), siendo

n = Pi=1 (pie)

4 = 2*2 = 22

24 = 31 * 23

5 = 51

24 = 3 * 23

phi(n) = 30(3-1)*2(3-1)(2-1) = 2* 22 = 8

números que no comparten con 24 ningún divisor

phi(primo) = primo – 1

Teorema si MCD(a,n) = 1 à aphi(n) = 1

N = pq

MCD(a,n) = 1

a(p-1)(q-1) = 1

aphi(n) = 1 = a*aphi(n)-1 àa-I = a phi(n) - 1
 
 

Algoritmo de EULER. AEE

e.e.(n,a)
 
go = n ; g1 = a
n0 = 1 ; u1 = 0
r0 = 0 ; v1 = 1
i=1
while ( g i != 0 )
{
  c = gi-1/gi
  gi+1 = gi-1 % g
  u i+1 = u i-1 – C*u i
  v i+1 = v i-1 – C*v i
  i ++ 
}

 
 
numero de bits de un numero = log 2 numero

 

PROBLEMAS COMPUTACIONALES:

Exponenciacion Rapida: ab
 
z = b;
x = a;
r = 1;
while ( z > 0) {
if (z%1 == 1)
r = r*x; 
x = x*x ; 
z = z/2;
}

 

Algoritmo de Lehmann: (Probabilidad del 50%)

Es uno de los métodos probabilisticos más sencillos para determinar si un numero p es primo. El algoritmo es el siguiente:


Generación de primos muy grandes:

Para generar un numero primo de n bits seguiremos el siguiente proceso:
Paso1: Generamos un numero primo aleatorio del tamaño que queramos poniendo a 1 su bit más significativo y a 1 también su bit menos significativo
Paso2: Dividiremos el numero resultante por una tabla de números primos calculados anteriormente
Paso3: Aplicamos 10 o 20 veces el test de Lehmann
Paso4: Si después de este test vemos que el numero no es primo, incrementaremos el numero en 2 unidades y repetiremos el Paso2

Hay otros números que se llaman primos fuertes que son los primos relacionados de la siguiente forma:


CRIPTOGRAFIA CLASICA
 

Métodos de Cifrado básicos:
 

  • Cifrados MonoAlfabeticos: Este método de cifrado utiliza la sustitución, cuyo objetivo es la confusión. Y consiste en sustituir cada letra o carácter del mensaje(texto en claro) por otra letra que forma parte del cifrado(texto cifrado). Como ejemplo tenemos:

  • Cesar: Este algoritmo fue utilizado por Julio Cesar y consiste en sumar 3 al orden de cada una de las letras, de forma que A à D, B à E, etc. De esta forma habremos cifrado el mensaje. Para descifrar bastara con restar 3 al orden.

            C = m + K , donde K=3 en el caso Cesar
     

  • Cifrado PoliAlfabetico: Este método de sustitución consiste en el uso de varias sustituciones simples en el cifrado de un mensaje. Para ello, se utiliza una palabra clave, cuyas letras definen los desplazamientos de los diferentes alfabetos equivalentes en sustituciones del tipo Cesar, que se aplicaban a las letras del mensaje original. Como ejemplo tenemos:

  • Vigenere: La clave esta formada por un conjunto de desplazamientos(frente a un único desplazamiento en Cesar). El carácter i-esimo se obtiene desplazando la clave i-esima: Ci = ( mi + Ki ) mod n Si utilizamos la palabra clave: SOL, obtendremos el siguiente mensaje cifrado:

    Mensaje :                     P L A N T A A T O M I C A

    Palabra clave repetida : S O L S O L S O L S O L S

    Mensaje Cifrado:        I Z L F I L S I Z E W N S
     
     

  • Transposición : En este método de cifrado no se efectúa ninguna sustitución de letras en el mensaje(texto en claro), sino que se cambia su posición dentro del mensaje. Un método para lograr la transposición es:

  • Permutación por grupos: Consiste en dividir el mensaje en grupos de caracteres y realizar una permutación con los de cada grupo con lo que se obtiene el mensaje cifrado. Por ejemplo:

    Mensaje :               m1 m2 m3 m4 m5 m6 m7 m8 m9

    Mensaje cifrado: m2 m1 m3 m5 m4 m6 m8 m7 m9

    El periodo es p=3, y la permutación aplicada es la i = 1 2 3

           f(i) = 2 1 3

    Resultando el mensaje cifrado el indicado.
     
     
     

    CRIPTOGRAFIA ACTUAL:
     

    Criptografia de Clave Privada

    DES (Data Encription Standard)

     Este algoritmo trabaja con bloques de 8 bytes (coge 8 bytes y los cifra). Para poder descifrar 8 bytes, tiene que probar todas las claves. Cumple que el conocimiento del texto cifrado no nos aporta nada sobre él. Se puede implementar mediante puertas lógicas. El DES, es el algoritmo de cifrado más extendido hoy en dia, y se muestra en la figura siguiente


     
     

    Existen una serie de claves que son consideradas débiles y por ello se debe de evitar su utilización.

    Pero, actualmente el DES con clave de 56 bits es inseguro frente a ataques de fuerza bruta. En todos sus años de existencia no se le han encontrado debilidades en cuanto a su diseño por lo que se han ideado formas de alargar la clave, haciéndolo por tanto resistente a ataques por fuerza bruta. En concreto el Triple-DES que utiliza una clave de 168 bits fraccionada en tres claves independientes de 56 bits que se utilizan, sucesivamente, para cifrar la misma información.
     
     
     
     

    REDES DE FREISTEL

    La red de Freistel es una estructura de cifrado empleada en muchos algoritmos. Presenta la interesante característica de ser reversible, es decir, de poder descifrar lo cifrado utilizando la misma estructura con tan solo invertir el orden de las claves k. Ejemplo de una Red de Freistel:


     

    Criptografia de Clave Publica

    Los criptosistemas de clave publica se caracterizan por utilizar dos claves para cada participante, una sirve en general para la operación de cifrado y es publica, mientras que la otra clave, la de descifrado, la clave privada es secreta y es la única que puede recuperar la información cifrada.

    Formalmente, si A envía un mensaje M firmado a B la firma electrónica de A debe satisfacer los siguientes requisitos:
    a) B debe ser capaz de validar la firma de A en M
    b) Será imposible para cualquiera, incluso B, falsificar la firma de A
    c) En el caso que A niegue haber firmado un cierto mensaje recibido por B, debe ser posible resolver la disputa por un juez o un tercero
    No solamente pues, la firma electrónica proporciona la autenticidad del remitente, sino que por b) también garantiza la autenticidad de los datos

    Las dos grandes aplicaciones de la Criptografia Publica son:

    1.- La protección de la Información:
    2.- Autenticación

    1.-Protección de la Información:

    La transmisión de mensajes a través de un canal inseguro de descifrado funciona de la siguiente forma: Si A quiere transmitir un mensaje cifrado a B, A necesitara la clave publica de B (PB). A cifra con PB el mensaje y lo transmite a B. Finalmente B descifra el mensaje con su clave privada KB

    Aplicaciones Criptograficas en comunicaciones:

    Suponemos un emisor A que quiere enviar un mensaje a lo receptores B y C

    Cifrado del mensaje:

    Firmado del mensaje: (se pretende demostrar la autenticidad del mensaje) La finalidad de la firma es la de permitir demostrar la autenticidad del mensaje. De esta forma se ha de poder acceder al mensaje firmado incluso si no se dispone de herramientas criptograficas necesarias para la comprobación de la firma
     

    Cifrado y Firmado del mensaje:

    Este caso es una combinación de las dos anteriores. Con objeto de no dar ninguna información al posible intruso, firmaremos primero el mensaje y después cifraremos el conjunto. Tanto para firmar como para cifrar utilizaremos las técnicas anteriores
     

    Inconvenientes Técnicos:

    Los algoritmos de llave publica es mas lento que el de llave privada (NO es fiable)

    Problema de la Firma: Solución: Tipo de función Resumen (Hash)
     
     

    FUNCIONES HASH:

    Es una función no inyectiva(no tiene inversa) que dado un mensaje cualquiera, el resultado de aplicarle la función es una cadena de longitud fija.

    Objetivo: evitar la falsificación

    Propiedades:

    Ventajas: Nosotros lo que queremos saber son dos cosas:

    1.- que el mensaje que viene de A, y
    2.- que NO me han alterado el mensaje al hacer la comprobación del resumen

    Pero seguimos teniendo un problema: ¿Cómo sabemos si la llave publica de A es verdaderamente de A y no de otro? Para ello tenemos dos soluciones que las veremos en el apartado siguiente de Autenticación, que son las soluciones horizontales y las soluciones verticales.
     

    2.- Autenticación:

    La firma electrónica o digital es la propiedad privativa de un individuo o proceso que se utiliza para firmar mensajes. De forma que la información de la firma que se añade al mensaje garantiza la autenticidad del remitente, al igual que lo logra la firma escrita por el hombre.

    Para asegurarnos de que una clave publica es verdaderamente de quien dice ser el propietario, tenemos 2 soluciones:

    1.-Horizontales:

    2.-Verticales:


    Algoritmo RSA

    Es uno de los algoritmos más sencillos de implementar y pese a ello es unas 1000 veces mas lento que el DES. Una clave RSA de 512 bits viene a ofrecer la misma seguridad que una clave DES de 56 bits. A partir de 786 bits de clave RSA ya se comienza a considerar seguro, aunque hoy en dia ya comienzan a ser típicas claves de 1024 o 2048 bis
     
     
     
     

    PROTOCOLOS CRIPTOGRAFICOS Y ESTANDARES
     

    Modos de Cifrados por Bloques

    Modo ECB

    En modo ECB el texto en claro es dividido en bloques de 64bits, que se cifran uno a uno y por separado usando el DES. La concatenación de los bloques cifrados da lugar al texto cifrado.

    Este modo tiene el problema de que pueden eliminarse porciones del texto cifrado sin que se note, esto es, puede ocurrir que si se conocen las características y posición de cierta información en el texto en claro, esta puede eliminarse del texto cifrado sin impedir un correcto descifrado del mismo

    Por otro lado, este modo de funcionamiento tiene la ventaja de que funciona bien en canales con ruido. Un fallo en la transmisión tan solo afecta a un bloque de 64bits, no al mensaje completo. Este modelo suele utilizarse para cifrado de claves
     
     

    Modo CBC

    En sete modo, antes de cifrar cada bloque de 64bits, se le aplica una XOR sobre el bloque cifrado anterior. El primer bloque se combina con un valor conocido. De este modo, se produce un encadenamiento entre los distintos bloques y el resultado de cifrar cada uno de ellos depende de todos los anteriores.

    Debido a esta ultima característica, el ultimo bloque del texto cifrado puede actuar como firma digital o checksum del resto, permitiendo certificar que no ha sido alterado

    En este modo de funcionamiento, un error en el texto cifrado tan solo afecta al descifrado de dos bloques y suele utilizarse para cifrar y autentificar documentos
     

    Certificado X509

    Lenguaje ASN 1, para definir "cajitas" ( RECORDS, STRUCTS...). Estas cajitas en su interior contienen:

    El campo del Subject esta formado por varios campos: Un Certificado Autofirmado es aquel que tiene su llave publica firmada por nuestra clave privada y al mismo tiempo el campo Issuer es igual al campo Subject

    Los certificados de las Autoridades Certificadoras(CA) los pueden firmar otras CA, o pueden estar firmados por si misma(Autofirmado). Por lo tanto cualquier CA podrá certificar a personas, entidades u otras CA, indistintamente.
     
     

    ¿Cómo se obtiene un Certificado?

    Para obtener un certificado, la Autoridad Certificadora(CA) tiene que asegurarse de forma fiable de que quien le pide el certificado sea la misma persona o entidad que lo recibe. Y para instalar un certificado, debemos asegurarnos de que podemos confiar tanto en la CA como del propietario del mismo. Para obtener un certificado debemos seguir los siguientes pasos:

    El PKCS10 de RSA Laboratorios define la estructura del Certificate Request(CR). El procedimiento es el siguiente: Los PKCS10 son: Si perdiéramos nuestra llave privada, la llave queda comprometida y el certificado deja de ser valido. Si se pierde tenemos algunas soluciones:
     
      Periódicamente, las autoridades certificadoras emiten 1CRL que contiene los números de certificados que por una o otra razón han sido revocados. Esta lista va firmada por la CA. Pueden ser totales o incrementales. Su problema es que se realiza periódicamente. La solución es el OCSP Es un protocolo ON-LINE. Escucha a quien quiera consultarle. Sirve para comprobar en tiempo real, la validez de un certificado. Pero utilizar el OCSP conlleva los siguientes problemas: Es un protocolo disponible en 2 versiones SSLv2, SSLv3, TLS(estándar que ha adoptado Internet) y es originario de NETSCAPE. Su objetivo es dar una capa de seguridad mediante el uso del X509, para cualquier comunicación a través de Internet ON-LINE. Se utiliza mayoritariamente en las WEB’S

    Si teníamos:
    HTTP
    TCP
    IP

    Le añadimos 1capa mas quedando de la siguiente forma:
    HTTP
    SSL
    TCP
    IP

    Su objetivo principal: La autenticación del servidor y el cifrado de datos

    Un objetivo secundario: La autenticación del cliente

    Las autoridades certifican que la empresa es la propietaria de la URL y emiten 1 certificado a propósito, para ser usado con el SSL

    En el "Common Name" del certificado se pone el nombre del servidor (de la pagina WEB.
     
     

    Como el servidor puede autenticar al cliente

    Cuando el servidor quiere autenticar a un cliente, seguiremos un proceso que consiste en 2fases:

    Es decir:
     

    TEMA 3: Seguridad en Redes





    Una red es un sistema con el cual, distintos ordenadores pueden comunicarse de forma directa. Las mas extendidas son TCP/IP y funcionan con un modelo de capas. Las capas del modelo TCP/IP son:

    Ej:
    Aplicaciones
    TCP
    UDP
    IP
    Físico/Enlace

    Para poder intercambiar información necesitamos las IP´s iniciales y las de destino de cada ordenador: ( IP0, P0 )----( IPd, Pd ).
    Aplicaciones: Esta capa se encarga de comunicarse con la capa DNS para intercambiarse las IP´S
    TCP: Protocolo de Control de Transmisión. Es un protocolo orientado a la conexión. Se encarga de la comunicación, es el que marca el puerto
    UDP: Protocolo de Datagrama de Usuario. Es un protocolo no orientado a la conexión, no confiable
    DNS: Aplicación que se encarga de traducir los nombres de las paginas WEB´s a los números IP
     

    ¿Que nos aporta la Red a nivel de Seguridad?

    Cuando nos preocupamos por la seguridad de un sistema, puede que el perímetro de la zona haya crecido. Cada capa son puntos de vulnerabilidad del sistema. Así que, mas tarde, veremos cuales son nuestras amenazas en la Red en el punto de Vulnerabilidades.
     
     

    Dos formas de montar Criptografia a través de la Red:

    Una solución intermedia seria IPESEC, un protocolo que hace el cifrado a nivel de IP. La ventaja es que no depende de HardWare
     
     

    SMIME

    SMIME es el MIME Seguro

    Como funciona MIME:

    Todo mensaje MIME esta formado por una cabecera que indica la versión MIME, el tipo de contenido y la codificación de dicho contenido. Se vale de los objetos PKCS7 para el transporte de la información

    Un mensaje cifrado y codificado en MIME tendrá la siguiente forma:

    A la hora de generar un mensaje firmado utilizando MIME tenemos 2 opciones: incluir mensaje y firma dentro de un objeto PKCS7 o incluir por una parte el mensaje y por otra el objeto PKCS7 con la firma

    Como la finalidad de la firma es poder comprobar la integridad del mensaje, eligiremos la segunda forma, ya que resulta imprescindible que el mensaje se pueda leer en cualquier agente de correo, y si el agente incorpora algún modulo criptografico para comprobar la firma entonces esta será comprobada.
     
     

    Mensajes Adjuntos

    Los mensajes Adjuntos son mensajes que contienen dos partes:

    Mensajes con múltiples partes

    Los mensajes con múltiples partes pueden ser: mixed, alternative o signed:

    MIME-Version: 1.0

    Content-type: multipart/mixed; boundary = " "

    Donde boundary nos limita las distintas partes del mensaje
     

    Content-type: multipart/signed, boundary = " "
     
     

    Mensajes Cifrados

    Son mensajes que en la cabecera del propio MIME contienen:

    Content-type: application / x-pkcs7-encrypted

    Content-transf-encoding: base 64

    Y que al descifrarlo obtendremos:

    Content-type: text/plain
     
     
     

    LOS PKCS7

    Los objetos PKCS7 sirven para:

    - transportar datos

    - transportar firmas para esos datos

    - para transportar certificados
     
     

    Tenemos 4 Tipos de datos:


    Certificados:

    Un certificado se caracteriza por:

    Por lo tanto, a la hora de descifrar un mensaje, si tenemos 30 llaves publicas, no hace falta probarlas todas. Tan solo hay que saber que la Autoridad Certificadora(CA) NO emite dos certificados con el mismo numero de serie

    CSP: Fabricante de parte del SW que se encarga de, si estamos trabajando con un dispositivo, hacer que funcione dicho dispositivo
     

    Vulnerabilidades

    Sniffing: Alguien puede pinchar la red y escuchar la transmisión de datos que se realizan a través de ella. Se puede evitar cifrando los datos(la solución más básica).
    Se puede hacer:

    Spoofing: Suplantación de identidad dentro de una red y puede ser aplicada a muchos niveles Hijacking: Asumir una conexión ya abierta y suplantarla en otro sistema. Se evita mediante Criptografia o uso de retos. La suplantación del correo electrónico se hace a través de SMTP que es un protocolo que no tiene ninguna medida de seguridad aceptable

    DOS: Denegacion De Servicios: Ataca al servidor y este deja de funcionar

    Intrusión Directa de un Sistema: Cuando una persona gana acceso directo en un sistema sin enfrentarse a nadie de forma indebida y puede utilizar el sistema. Estos sistemas hacen el uso de los buffers overflow

    Formas de Proteger en un entorno de red:


    FIREWALL o Cortafuegos

    Firewall: Es el conjunto de políticas y técnicas cuya misión es aislar al máximo un trozo de la red del resto de la red. Por ejemplo coger una empresa y aislarla(en la justa medida) de la red. Pero para ello hay que establecer las políticas, es decir, que es lo que puede pasar, quien puede pasar por el cortafuegos, etc... Así que tenemos dos tipos de políticas: una abierta y otra cerrada

    Como se implantan estas políticas

    Las políticas las implantamos mediante la técnica principal de Filtrado de Paquetes. Esta técnica consiste en establecer algún punto que une esa subred con la red general. Y ahí establecer un firewall que, mediante unas reglas, deje pasar a unos paquetes y otros no.

    Un Firewall se configura mediante una serie de reglas y tendremos que decidir que política utilizar, si abierta o cerrada.

    Tenemos 3 tipos de reglas: de entrada, de salida y de transito. Donde las de entrada y salida se aplican consecutivamente con la de transito

    Y también tendremos que decir la IP (Origen y destino), 1 Mascara, protocolo (TCP, UDP,...) y el numero de puerto
     
     

    TEMA4: VIRUS





    Amenazas programadas:


    Virus

    Los primeros virus surgen con el sistema operativo MS-DOS, que son los que vamos a tratar en este tema. Paralelamente surgen los virus del Mcintosh. En una primera clasificación, los virus se distinguen como:

    Los virus utilizaban técnicas de ocultamiento(stealth)

    En un diskette(floppy), el primer sector tiene una marca que nos permite el arranque.

    Y en el MBR(Registro Maestro de Arranque) de un disco duro de un ordenador es donde se determina una parte del registro(la tabla de particiones) y determina cual es la tabla que tiene que arrancar
     

    Virus de Arranque:

    Se contagiaban a través de floppys. Lo que hacían era:

        SI accedíamos al sector de arranque del diskette y el sector no estaba infectado

        ENTONCES lo infectaba

    Entonces, cualquier diskette que metíamos, solo accediendo a el lo infectábamos
     
     
     

    Virus de Programación:

    Código que se pega al programa. Primero arranca el virus y luego el programa. Se contagia con el intercambio de programas. Por ejemplo, es lo que pasaba cuando intercambiábamos juegos de pequeños con mucha gente. Había dos tipos de programas:

    .COM : Los .COM eran ejecutables sin prácticamente estructura. Como máximo tenia 64K. Se infectaba porque el virus sobreescribia.

    Los virus más hábiles cogían las 3 primeras instrucciones del programa, añadía el código del virus al final del programa y cambiaba las 3 primeras instrucciones por una instrucción JUMP al virus que estaba situado al final del programa

    .EXE : Tamaño de hasta 1Mb. La cabecera dice donde debe ejecutarse el programa. El virus se ponía al final y cambiaba la cabecera para que apunte al virus. El virus se pega al programa. El programa funcionaba pero el virus ya se había cargado
     
     

    Residentes:

    Se instala en memoria. Se carga en la primera área vacía. Conseguía quedarse en la memoria e interceptar algunas funciones del SO, como la función de ejecución de u n programa:


    Virus de Acción Directa:

    Estos virus no se quedan en memoria. Busca los programas que ejecutamos y los infecta. Utilizaban técnicas de ocultamiento(stealth). Por ejemplo, el virus de los 100 años, que nos cambiaba la fecha del fichero.

    Las técnicas más avanzadas: los virus se codificaban. Hacían un bucle con un XOR, así el virus tenia códigos diferentes porque se había XOReado a sí mismo cada vez que se duplicaba
     

    ANTIVIRUS:

    Tenemos dos tipos de antivirus:


     

    TEMA 5: Seguridad en los Sistemas Operativos





    Un Sistema Operativo gestiona:

    En MS-DOS no hay ningún tipo de procesos

    Un sistema puede ser:


    USUARIOS:

    Es un elemento del uso de la maquina. Se identifica en el sistema mediante un identificador y este no tiene que corresponder con ninguna característica del usuario.

    Usuario ( nombre, id )

    Donde nombre también llamado username, es el nombre que el usuario utiliza para identificarse ante la maquina y a este se le asocia un id.

    Para poder acceder a un sistema informático el sistema procede a identificar y autentificar al usuario, con el fin de comprobar si se trata de un usuario autorizado a acceder a los recursos del mismo.
     
     

    Etapa de Identificación

    En todos los sistemas multiusuarios, cada usuario posee un identificador (ID) que define quien es y que lo identifica inequívocamente en el sistema diferenciándolo del resto. Usualmente este identificador es un código o nombre de usuario.

    Esta etapa de identificación consiste en proporcionar al sistema el identificador del usuario.
     

    Etapa de autentificacion:

    Una vez identificado el usuario, es necesario que demuestre de algún modo que es quien dice que es mediante:

    1.- Algo que el usuario sabe
    2.- Algo que el usuario tiene
    3.- Algo que el usuario es
     

    1.- Algo que el usuario sabe

    La autenticación del usuario la realizaremos mediante una contraseña asociada o password. Es decir, al username le añadiremos una password, por lo tanto, esta palabra demuestra que el usuario es quien dice que es.

    2.- Algo que el usuario tiene

    En este caso el usuario posee algún objeto que demuestra su identidad, como por ejemplo una llave que permita acceder a la cuenta. La utilidad de este sistema se basa en que solo el usuario con un identificador dado puede tener esta llave, es decir, que no se la ha prestado a nadie o que no ha sido robada

    3.- Algo que el usuario es

    Este método se basa en autentificar al usuario mediante alguna característica física que lo identifica inequívocamente. Estas características son propias de cada individuo y por lo tanto lo identifican del resto, como por ejemplo huellas dactilares, patrones retinales, patrones de voz, etc.
     
     

    PASSWORDS

    Algunos sistemas requieren 2 passwords y por lo tanto dos personas. Esto ocurre en los sistemas de mas alto nivel como por ejemplo en los sistemas militares .
     

    ¿Cómo se guarda la PASSWORD del sistema?

    Si se guarda tal cual, alguien puede llegar al acceso de la password y poder conseguir todas las passwords.

    Debido a la debilidad en las contraseñas elegidas por muchos usuarios, existe un método muy extendido para atacarlas denominado "ataque mediante diccionario". Con este sistema se consigue una copia del fichero en el que se almacenan los passwords cifrados ( /etc/passwd ). A partir de este fichero se cifran una serie de palabras que son las passwords probables. Por ejemplo, se usan os criterios de selección definidos anteriormente y además se cifran todas las palabras contenidas en uno o varios diccionarios. Las palabras cifradas se comparan con los passwords del fichero. Si alguna de ellas coincide, el atacante acaba de descubrir una de las contraseñas del sistema.

    Así que la solución es guardarla mediante alguna clase de función unidireccional. Las funciones unidireccionales se utilizan entre otras cosas para la generación de listas de contraseñas de un solo uso. Se trata de funciones que, como su propio nombre indica, son sencillas de evaluar en un sentido, pero imposibles u muy costosas de evaluar en sentido contrario. Esto es dada una función donde es fácil calcular "y" a partir de "x", pero es computacionalmente imposible obtener "x" a partir de "y". Para obtener la password cifrada lo que se hace es cifrar con con el método DES siendo la llave la password(DESpassword ).
     

    FICHEROS

    ¿Cómo proteger los ficheros en un Sistema?

    Mediante una tabla donde vienen representados lo usuarios y los recursos que tiene cada uno de ellos. Esta tabla se puede recorrer de 2formas:

    De manera que, un fichero puede ser accedido por varios usuarios. Así que hacemos una lista para cada usuario: ACL

    ACL: privilegios asociados para un archivo o conjunto de archivos concretos. Los ACL se componen de tres elementos:

    u, g, o (user, group, others): rwx (para saber a que grupo y usuario pertenece el fichero

    En un directorio:

    Relacionados con estos atributos: Ejemplo: rwxrwxrwt, donde t hace la función de x y t al mismo tiempo Ejemplo: rwsr-s---x

    Cuando una programa que tiene el atributo s es ejecutado por una persona que no es el propietario de fichero, el proceso que se crea tiene como identificador de proceso el de la persona que lo ejecuta, pero tiene como efective UID(EUID) el de la persona que lo archiva