SlideShare a Scribd company logo
1 of 32
   El control de acceso es el centro de
    gravedad de la seguridad informática.
    Es el lugar donde se reúne la ingeniería de
    seguridad con la informática.

    Su función es controlar a que recursos tiene
    acceso cada usuario, que documentos se
    pueden leer, que programas se pueden
    ejecutar, como se comparten datos con
    otros usuarios, etc.
El control de acceso trabaja con cuatro
niveles:

-   Aplicación

-   Middleware

-   Sistema Operativo

-   Hardware
   Las aplicaciones pueden ser escritas en
    la parte superior de middleware, tal
    como un sistema de gestión de base de
    datos o un paquete de contabilidad,
    que ejecuta una serie de propiedades
    de protección.

    Por ejemplo, el software de base de
    datos suele tener controles de acceso
    que especifican los diccionarios que un
    determinado usuario puede seleccionar,
    y qué procedimientos puede correr.
El middleware usará facilidades
proporcionadas por el sistema operativo
subyacente. Recursos tales como
archivos y puertos de comunicaciones a
partir de componentes de bajo nivel,
adquiere la responsabilidad de
proporcionar formas de controlar el
acceso a ellos.
   Finalmente, los controles de acceso del
    sistema operativo normalmente se
    basarán en las características de
    hardware proporcionadas por el
    procesador o por hardware de gestión
    de memoria asociado. Estos controlan
    que las direcciones de memoria de un
    proceso dado puedan tener acceso.
   Los controles de acceso provistos de un
    sistema operativo normalmente
    autentifican a los usuarios mediante un
    mecanismo como la contraseña o
    Kerberos, luego disminuyen su acceso a
    los archivos, puertos de comunicación y
    otros recursos del sistema. Su efecto
    puede ser modificado(la mayoría del
    tiempo) por una matriz de permisos de
    acceso.
Con columnas para los archivos y filas para los usuarios.
Escribimos r para permiso de leer, w para permiso de
escribir, x para permiso de ejecutar un programa y – para el
“no acceso”:
En este ejemplo simplificado..

   Sam es el administrador de sistema y tiene acceso
    universal(excepto por la pista de auditoria, que
    incluso él solo debería ser capaz de leer).

    Alice, la gerente, necesita ejecutar el sistema
    operativo y la aplicación, pero sólo a través de las
    interfaces aprobadas. Ella no debe tener la
    capacidad de manipularlos. Necesita también leer
    y escribir en los datos.

   Bob el auditor, puede leer todo.
Un grupo es una lista de los usuarios, mientras
que un rol es un conjunto fijo de permisos de
acceso que uno o más directores pueden
asumir por un período de tiempo utilizando
algún procedimiento definido.
El ejemplo clásico de un rol es el
oficial de guardia en un barco.
 En la mayoría de las aplicaciones de
gobierno y de negocios, es el rol lo que
Importa, aun más que el individuo.
El apoyo del nivel de sistema operativo
está disponible para grupos y roles pero su
aparición es bastante reciente y su
absorción es bastante lenta.
los desarrolladores suelen implementar
   este tipo de funcionalidad en el código
   de la aplicación
   Otra manera de simplificar la gestión de
    los derechos de acceso es almacenar la
    matriz de control de acceso de una
    columna a la vez, junto con el recurso al
    que se refiere la columna. Esto se
    conoce como una lista de control de
    acceso o ACL.
   En Unix(incluyendo su popular variante
    Linux), a los archivos no se les permite
    tener listas de control de acceso
    arbitrarias, pero si los atributos r ,w, x
    como recurso del propietario , el grupo,
    y el mundo. Estos atributos permiten que
    el archivo sea leído, escrito y ejecutado.
   El sistema operativo de Apple se basa en la
    versión del BSD de Unix que
    corre encima del corazón de mac.

   La capa del BSD proporciona la protección
     de memoria; las aplicaciones no
    pueden tener acceso a la
    memoria de sistema a menos que
    corran con permisos avanzados.
   El sistema operativo más extenso de las
    computadoras es Windows, cuya protección
    se ha basado en gran parte en listas de control
    de acceso desde Windows NT(v4).

   La versión actual de Windows es bastante
    compleja, así que es útil remontar sus
    antecedentes. La protección en Windows es
    muy parecida a la de Unix, y fue
    inspirada por ella, y desde entonces ha
    seguido la filosofía de Microsoft de
    "abraza y extiende”
   La siguiente manera de manejar la matriz de control
    de acceso es almacenarlo por filas..
    estas se llaman capacidades.
    Los puntos fuertes y débiles de las capacidades son
    más o menos lo opuesto a las ACL.

    La comprobación de la seguridad del tiempo de
    ejecución es más eficiente y podemos delegar
    un derecho sin mucha dificultad.
    Por otra parte, el cambio del estado de
    un fichero puede llegar a ser repentinamente más
    complicado que puede ser difícil descubrir
    que usuarios tienen acceso.
   Es un software que asiste a una aplicación para
    interactuar o comunicarse con otras
    aplicaciones, software, redes, hardware y/o sistemas
    operativos. El control de acceso a nivel de archivos y
    programas estaba muy bien en los primeros años de la
    computación, cuando estos eran los recursos que
    importaba. Desde alrededor de la década de 1980, el
    control de acceso se realiza a otros niveles en lugar de a
    nivel del sistema operativo. Por ejemplo, el sistema de un
    banco filial de contabilidad generalmente se ejecutará
    en la parte superior de un producto de base de datos y la
    base de datos busca el sistema operativo como un
    archivo de gran tamaño. Esto significa que el control de
    acceso tiene que ser hecho en la base de datos; todo el
    sistema operativo suministra muchos ID autentificados
    para cada usuario que inicia una sesión.
   La seguridad de bases de datos era en gran
    parte una preocupación. Pero ahora es
    común que las empresas tengan bases de
    datos críticas, que se encargan de
    inventario, envío y el comercio
    electrónico, afrontado por los servidores web
    que pasan las transacciones para las bases de
    datos directamente.
   Para configurar el sistema de base de datos
    de manera segura se necesita conocimiento
    especializado. La seguridad de base de datos
    es ahora una disciplina por derecho propio.
   Hay una serie de aspectos comunes en la seguridad
    middleware y los controles de nivel de aplicación. La
    primera es la granularidad: el sistema operativo
    trabaja con los archivos, por lo general son los
    objetos más pequeños con los cual sus mecanismos
    de control de acceso pueden hacerle frente. La
    segunda es el estado. El tercero es el nivel: podemos
    acabar con distintos sistemas de control de acceso a
    nivel de máquina, redes y aplicaciones, y éstas
    suelen venir de diferentes proveedores puede ser
    difícil mantenerlos constantes. Tales soluciones son
    difíciles de diseñar correctamente, y la seguridad del
    mejor sistema puede ser fácilmente reducida a la de
    los peores.
   Estos problemas llevaron a los
    investigadores a buscar formas en que se
    pueda controlar el acceso a una serie de
    aplicaciones que maneja middleware
    estándar. La investigación en la década de
    1990 se centró en los corredores de
    solicitud de objetos (ORB). Un ORB es un
    componente de software que media
    comunicación entre objetos (un objeto
    consta de código y los datos agrupados).
    Un ORB proporciona típicamente un medio
    de control de llamadas que se hacen a
    través de dominios de protección.
   Otra forma de implementar el control de acceso es
    un recinto de seguridad de software. Aquí los
    usuarios desean ejecutar algún código que se ha
    descargado de la Web como un applet. Su
    preocupación es que el applet puede hacer algo
    desagradable, como la toma de una lista de todos
    sus archivos y enviárla por correo a una compañía
    de software de marketing. Los diseñadores de Java
    frente a este problema proporcionan una "caja de
    arena" para tal código-un entorno restringido en el
    que no tiene acceso al disco duro local (o en más
    sólo acceso temporal a un directorio restringido), y
    sólo se le permite comunicarse con el anfitrión.
   Esto se refiere a sistemas que permiten a una
    sola máquina emular un número de máquinas
    de forma independiente. Fue inventado en
    1960 por IBM; cuando los CPUs eran muy
    caros, una sola máquina podía ser
    particionada utilizando VM/370 en múltiples
    máquinas virtuales, por lo que una empresa
    que compraba dos cuadros principales
    podrían utilizar uno para su entorno de
    producción, pruebas, y aplicaciones de menor
    importancia.
   La virtualización es muy atractiva para la
    industria
   La mayoría de los sistemas de control de
    acceso no son sólo para controlar lo que los
    usuarios pueden hacer, sino limitarse a ¿qué
    pueden hacer los programas también?. En la
    mayoría de los sistemas, los usuarios pueden
    escribir programas o descargar e instalar. Los
    programas pueden ser defectuosos o
    maliciosos, incluso. La prevención de un
    proceso de interferir con otro es problema de
    la protección. Esto por lo general significa que
    el control de acceso de hardware debe estar
    integrado con las funciones del procesador de
    gestión de memoria.
   Los primeros procesadores de Intel, tales como 8088/8086
    usados ​en los primeros ordenadores , no tenían ninguna
    distinción entre el sistema y el modo de usuario, ningún
    programa en ejecución controlaba toda la máquina. El
    80286 añadió segmento de direccionamiento y estaba
    protegido por anillos, era la primera vez que se podían
    ejecutar sistemas operativos adecuados. El 80386 tiene
    memoria interna virtual y grandes segmentos de memoria
    suficiente (4 GB) que podían ser ignorados y tratados
    como la máquina de 32 bits plana. ). Los Pentium 3
    finalmente añadieron una nueva característica de
    seguridad, un procesador de número de serie. Esta causó
    una tormenta de protestas, impulsadas por los defensores
    de la privacidad, que temían que podría ser utilizado
    para todo tipo de fines.
   El ARM es el núcleo del procesador de 32-
    bit con mayor frecuencia, con licencia
    para proveedores de terceros de los
    sistemas incrustados. El ARM original fue el
    primer diseño comercial RISC. Sus sucesores
    de hoy en día son importantes porque que
    se incorporan en todo tipo de aplicaciones
    sensibles a la seguridad de los teléfonos
    móviles para proteger los datos secretos.
    Rápido se multiplican y acumulan
    instrucciones y tienen bajo consumo de
    energía, el ARM es muy atractivo para
    aplicaciones integradas.
   Procesadores especialistas en seguridad
    van desde los chips de tarjetas
    inteligentes, a través de los chips TPM
    ahora fijado a las placas base de los PC
    (que son, básicamente, los chips de
    tarjetas inteligentes con interfaces
    paralelas) y tablas de Crypto
    Accelerator, a un especialista en
    dispositivos criptográficos.
   Los sistemas operativos más populares, tales como Unix /
    Linux y Windows son muy grandes y complejo, así que
    tienen muchos errores. En consecuencia, muchos errores
    son detectados y reportados. Gracias a la red, el
    conocimiento se propaga ampliamente y con rapidez.
    Así, en un cualquier tiempo, puede haber docenas de
    fallas de seguridad que se conocen, y para el cual
    secuencias de comandos de ataque están circulando en
    la red. Una vulnerabilidad tiene un ciclo de vida típico por
    el que se descubre; informó al CERT o al proveedor, un
    parche enviado, el parche es de ingeniería inversa, y un
    exploit es producido por la vulnerabilidad, y la gente que
    no aplicaron el parche en el tiempo descubren que su
    máquinas han sido reclutados para una botnet cuando su
    ISP ellos se interrumpe el envío de spam.
   La idea básica detrás del ataque stack-smashing es que
    los programadores son a menudo descuidado acerca de
    la comprobación del tamaño de argumentos, por lo que
    un atacante que pasa una larga discusión a un programa
    puede encontrar que algunos de ellos se trata como
    código en lugar de datos. Un ejemplo clásico fue una
    vulnerabilidad en el dedo Unix comando. Una aplicación
    generalizada de esto sería aceptar un argumento de
    cualquier longitud, aunque sólo 256 bytes habían
    asignado para este argumento por el programa. Cuando
    un atacante utiliza el comando con un argumento más,
    los bytes de seguimiento de la discusión terminan siendo
    ejecutado por el sistema.
   El ataque no es aún limitada a los sistemas informáticos en
    red: en al menos una tarjeta inteligente podía ser
    derrotado por pasarle un mensaje más largo que su
    programador había previsto.
   Las nuevas vulnerabilidades otros son en su mayoría
    variaciones sobre el mismo general tema, en que se
    producen cuando los datos de gramática A se interpreta
    como en gramática B. Un desbordamiento de pila es
    cuando los datos se aceptan como entrada (por
    ejemplo, una URL) y terminar siendo ejecutada como
    código máquina. Son esencialmente fracasos de tipo de
    seguridad. Existe una vulnerabilidad de cadena de
    formato se presenta cuando una máquina acepta datos
    de entrada como una instrucción de formato (por
    ejemplo,% n en el comando C printf ()).
   Desbordamientos de búfer puede ser inducida por
    terminación de cadena incorrecto, pasar un tampón
    inadecuadamente dimensionado para un camino
    función de manipulación, y muchos otros errores sutiles.
 SQL inserción ataca comúnmente
  surgen cuando un desarrollador web
  descuidado pasa a la entrada del
  usuario a una base de datos de fondo
  sin la comprobación para ver si se
  contiene código SQL.
 Hay inyección de comandos similares
  problemas que afecta a las otras
  lenguas utilizadas por los desarrolladores
  web, como PHP y Perl.
   Uno de los primeros ataques, pueden concebirse fue
    el caballo de Troya, un programa que el
    administrador es invitado a correr y que hará algún
    daño si lo hace así. La gente iba a escribir juegos
    que comprobado de vez en cuando si el jugador
    era el administrador del sistema, y de ser así se
    crearía otro administrador cuenta con una
    contraseña conocida.
   Otro truco consiste en escribir un programa que tiene
    el mismo nombre que una frecuencia sistema
    utilizado utilidad, como el comando ls que muestra
    todos los archivos en un sistema Unix directorio, y
    diseñarlo para abusar del privilegio de administrador
    (si la hay) antes invocando la utilidad genuina.

   Algunas clases de vulnerabilidad se puede solucionar con
    herramientas automáticas. Pila sobrescribir ataques, por
    ejemplo, son en gran parte debido a la falta de límites
    apropiados comprobar en C (el mayor número de idiomas son
    los sistemas operativos escrito en). Hay varias herramientas
    (incluidas las herramientas gratuitas) disponibles para el control
    de los programas en C para problemas potenciales, y hay
    incluso un parche llamado compilador StackGuard que pone
    un canario junto a la dirección de retorno en la pila. Esto puede
    ser una azar 32-bit valor seleccionado cuando se inicie el
    programa, y se comprueba cuando un función es derribado. Si
    la pila ha sido sobrescrito por su parte, a continuación, con alta
    probabilidad de que el canario va a cambiar [329]. La
    disponibilidad de estas herramientas, y las iniciativas de
    formación, como Microsoft, poco a poco han reducido el
    número de errores de desbordamiento de pila. Sin embargo, las
    herramientas de ataque también mejoran, y son los atacantes

More Related Content

What's hot

Tarea1 programacion-distribuida
Tarea1 programacion-distribuidaTarea1 programacion-distribuida
Tarea1 programacion-distribuidaRJ Manayay Chavez
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosalbertoisaacs13
 
Términos de Programación Distribuida 8
Términos de Programación Distribuida 8Términos de Programación Distribuida 8
Términos de Programación Distribuida 8RJ Manayay Chavez
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosLuis Yallerco
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Tarea3 taller de programacion distribuida
Tarea3 taller de programacion distribuidaTarea3 taller de programacion distribuida
Tarea3 taller de programacion distribuidaRJ Manayay Chavez
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidosJperez98
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.argentm
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidossaul_ramos
 

What's hot (19)

Tarea1 programacion-distribuida
Tarea1 programacion-distribuidaTarea1 programacion-distribuida
Tarea1 programacion-distribuida
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Información miselánea
Información miseláneaInformación miselánea
Información miselánea
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Términos de Programación Distribuida 8
Términos de Programación Distribuida 8Términos de Programación Distribuida 8
Términos de Programación Distribuida 8
 
Sistemas operativos ii
Sistemas operativos iiSistemas operativos ii
Sistemas operativos ii
 
Estructura so
Estructura soEstructura so
Estructura so
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Adminsitracion de redes
Adminsitracion de redesAdminsitracion de redes
Adminsitracion de redes
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Instalación de un software
Instalación de un softwareInstalación de un software
Instalación de un software
 
Tarea3 taller de programacion distribuida
Tarea3 taller de programacion distribuidaTarea3 taller de programacion distribuida
Tarea3 taller de programacion distribuida
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.
 
Sistemas operativos de red
Sistemas operativos de redSistemas operativos de red
Sistemas operativos de red
 
Extensibilidad y Seguridad
Extensibilidad y SeguridadExtensibilidad y Seguridad
Extensibilidad y Seguridad
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 

Viewers also liked

Viewers also liked (9)

NodeJS
NodeJSNodeJS
NodeJS
 
Barcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Barcamp v5 by Jose ToNy Verdin at Culiacan SinaloaBarcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
Barcamp v5 by Jose ToNy Verdin at Culiacan Sinaloa
 
System Center Configurations Manager 2012
System Center Configurations Manager 2012System Center Configurations Manager 2012
System Center Configurations Manager 2012
 
Infraestructura Microsoft
Infraestructura MicrosoftInfraestructura Microsoft
Infraestructura Microsoft
 
Windows server update_services
Windows server update_servicesWindows server update_services
Windows server update_services
 
vSphere 5 - Image Builder and Auto Deploy
vSphere 5 - Image Builder and Auto DeployvSphere 5 - Image Builder and Auto Deploy
vSphere 5 - Image Builder and Auto Deploy
 
Transitioning to vmWare ESXi
Transitioning to vmWare ESXiTransitioning to vmWare ESXi
Transitioning to vmWare ESXi
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar to Exposicion tso

Similar to Exposicion tso (20)

Infraestructura tecnologica
Infraestructura tecnologicaInfraestructura tecnologica
Infraestructura tecnologica
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
 
Taller 1
Taller 1Taller 1
Taller 1
 
Guia de fase 1 herramientas teleinformaticas
Guia de fase 1  herramientas teleinformaticasGuia de fase 1  herramientas teleinformaticas
Guia de fase 1 herramientas teleinformaticas
 
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1Guia de fase 2  ciclo de la tarea  trabajo colaborativo 1
Guia de fase 2 ciclo de la tarea trabajo colaborativo 1
 
Unidad ii
Unidad iiUnidad ii
Unidad ii
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Funciones del s.o
Funciones del s.oFunciones del s.o
Funciones del s.o
 
sistema operativo
sistema operativo sistema operativo
sistema operativo
 
Leidy lozano
Leidy lozanoLeidy lozano
Leidy lozano
 
Alison
Alison Alison
Alison
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Redes 3az.docx
Redes 3az.docxRedes 3az.docx
Redes 3az.docx
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Redes 3zb.docx
Redes 3zb.docxRedes 3zb.docx
Redes 3zb.docx
 
Concepto y definición de sistemas operativos
Concepto y definición de sistemas operativosConcepto y definición de sistemas operativos
Concepto y definición de sistemas operativos
 
Apuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iiiApuntes de entorno cliente – servidor iii
Apuntes de entorno cliente – servidor iii
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 

Exposicion tso

  • 1.
  • 2. El control de acceso es el centro de gravedad de la seguridad informática. Es el lugar donde se reúne la ingeniería de seguridad con la informática. Su función es controlar a que recursos tiene acceso cada usuario, que documentos se pueden leer, que programas se pueden ejecutar, como se comparten datos con otros usuarios, etc.
  • 3. El control de acceso trabaja con cuatro niveles: - Aplicación - Middleware - Sistema Operativo - Hardware
  • 4. Las aplicaciones pueden ser escritas en la parte superior de middleware, tal como un sistema de gestión de base de datos o un paquete de contabilidad, que ejecuta una serie de propiedades de protección.  Por ejemplo, el software de base de datos suele tener controles de acceso que especifican los diccionarios que un determinado usuario puede seleccionar, y qué procedimientos puede correr.
  • 5. El middleware usará facilidades proporcionadas por el sistema operativo subyacente. Recursos tales como archivos y puertos de comunicaciones a partir de componentes de bajo nivel, adquiere la responsabilidad de proporcionar formas de controlar el acceso a ellos.
  • 6. Finalmente, los controles de acceso del sistema operativo normalmente se basarán en las características de hardware proporcionadas por el procesador o por hardware de gestión de memoria asociado. Estos controlan que las direcciones de memoria de un proceso dado puedan tener acceso.
  • 7. Los controles de acceso provistos de un sistema operativo normalmente autentifican a los usuarios mediante un mecanismo como la contraseña o Kerberos, luego disminuyen su acceso a los archivos, puertos de comunicación y otros recursos del sistema. Su efecto puede ser modificado(la mayoría del tiempo) por una matriz de permisos de acceso.
  • 8. Con columnas para los archivos y filas para los usuarios. Escribimos r para permiso de leer, w para permiso de escribir, x para permiso de ejecutar un programa y – para el “no acceso”:
  • 9. En este ejemplo simplificado..  Sam es el administrador de sistema y tiene acceso universal(excepto por la pista de auditoria, que incluso él solo debería ser capaz de leer).  Alice, la gerente, necesita ejecutar el sistema operativo y la aplicación, pero sólo a través de las interfaces aprobadas. Ella no debe tener la capacidad de manipularlos. Necesita también leer y escribir en los datos.  Bob el auditor, puede leer todo.
  • 10. Un grupo es una lista de los usuarios, mientras que un rol es un conjunto fijo de permisos de acceso que uno o más directores pueden asumir por un período de tiempo utilizando algún procedimiento definido. El ejemplo clásico de un rol es el oficial de guardia en un barco. En la mayoría de las aplicaciones de gobierno y de negocios, es el rol lo que Importa, aun más que el individuo.
  • 11. El apoyo del nivel de sistema operativo está disponible para grupos y roles pero su aparición es bastante reciente y su absorción es bastante lenta. los desarrolladores suelen implementar este tipo de funcionalidad en el código de la aplicación
  • 12. Otra manera de simplificar la gestión de los derechos de acceso es almacenar la matriz de control de acceso de una columna a la vez, junto con el recurso al que se refiere la columna. Esto se conoce como una lista de control de acceso o ACL.
  • 13. En Unix(incluyendo su popular variante Linux), a los archivos no se les permite tener listas de control de acceso arbitrarias, pero si los atributos r ,w, x como recurso del propietario , el grupo, y el mundo. Estos atributos permiten que el archivo sea leído, escrito y ejecutado.
  • 14. El sistema operativo de Apple se basa en la versión del BSD de Unix que corre encima del corazón de mac.  La capa del BSD proporciona la protección de memoria; las aplicaciones no pueden tener acceso a la memoria de sistema a menos que corran con permisos avanzados.
  • 15. El sistema operativo más extenso de las computadoras es Windows, cuya protección se ha basado en gran parte en listas de control de acceso desde Windows NT(v4).  La versión actual de Windows es bastante compleja, así que es útil remontar sus antecedentes. La protección en Windows es muy parecida a la de Unix, y fue inspirada por ella, y desde entonces ha seguido la filosofía de Microsoft de "abraza y extiende”
  • 16. La siguiente manera de manejar la matriz de control de acceso es almacenarlo por filas.. estas se llaman capacidades. Los puntos fuertes y débiles de las capacidades son más o menos lo opuesto a las ACL. La comprobación de la seguridad del tiempo de ejecución es más eficiente y podemos delegar un derecho sin mucha dificultad. Por otra parte, el cambio del estado de un fichero puede llegar a ser repentinamente más complicado que puede ser difícil descubrir que usuarios tienen acceso.
  • 17. Es un software que asiste a una aplicación para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. El control de acceso a nivel de archivos y programas estaba muy bien en los primeros años de la computación, cuando estos eran los recursos que importaba. Desde alrededor de la década de 1980, el control de acceso se realiza a otros niveles en lugar de a nivel del sistema operativo. Por ejemplo, el sistema de un banco filial de contabilidad generalmente se ejecutará en la parte superior de un producto de base de datos y la base de datos busca el sistema operativo como un archivo de gran tamaño. Esto significa que el control de acceso tiene que ser hecho en la base de datos; todo el sistema operativo suministra muchos ID autentificados para cada usuario que inicia una sesión.
  • 18. La seguridad de bases de datos era en gran parte una preocupación. Pero ahora es común que las empresas tengan bases de datos críticas, que se encargan de inventario, envío y el comercio electrónico, afrontado por los servidores web que pasan las transacciones para las bases de datos directamente.  Para configurar el sistema de base de datos de manera segura se necesita conocimiento especializado. La seguridad de base de datos es ahora una disciplina por derecho propio.
  • 19. Hay una serie de aspectos comunes en la seguridad middleware y los controles de nivel de aplicación. La primera es la granularidad: el sistema operativo trabaja con los archivos, por lo general son los objetos más pequeños con los cual sus mecanismos de control de acceso pueden hacerle frente. La segunda es el estado. El tercero es el nivel: podemos acabar con distintos sistemas de control de acceso a nivel de máquina, redes y aplicaciones, y éstas suelen venir de diferentes proveedores puede ser difícil mantenerlos constantes. Tales soluciones son difíciles de diseñar correctamente, y la seguridad del mejor sistema puede ser fácilmente reducida a la de los peores.
  • 20. Estos problemas llevaron a los investigadores a buscar formas en que se pueda controlar el acceso a una serie de aplicaciones que maneja middleware estándar. La investigación en la década de 1990 se centró en los corredores de solicitud de objetos (ORB). Un ORB es un componente de software que media comunicación entre objetos (un objeto consta de código y los datos agrupados). Un ORB proporciona típicamente un medio de control de llamadas que se hacen a través de dominios de protección.
  • 21. Otra forma de implementar el control de acceso es un recinto de seguridad de software. Aquí los usuarios desean ejecutar algún código que se ha descargado de la Web como un applet. Su preocupación es que el applet puede hacer algo desagradable, como la toma de una lista de todos sus archivos y enviárla por correo a una compañía de software de marketing. Los diseñadores de Java frente a este problema proporcionan una "caja de arena" para tal código-un entorno restringido en el que no tiene acceso al disco duro local (o en más sólo acceso temporal a un directorio restringido), y sólo se le permite comunicarse con el anfitrión.
  • 22. Esto se refiere a sistemas que permiten a una sola máquina emular un número de máquinas de forma independiente. Fue inventado en 1960 por IBM; cuando los CPUs eran muy caros, una sola máquina podía ser particionada utilizando VM/370 en múltiples máquinas virtuales, por lo que una empresa que compraba dos cuadros principales podrían utilizar uno para su entorno de producción, pruebas, y aplicaciones de menor importancia.  La virtualización es muy atractiva para la industria
  • 23. La mayoría de los sistemas de control de acceso no son sólo para controlar lo que los usuarios pueden hacer, sino limitarse a ¿qué pueden hacer los programas también?. En la mayoría de los sistemas, los usuarios pueden escribir programas o descargar e instalar. Los programas pueden ser defectuosos o maliciosos, incluso. La prevención de un proceso de interferir con otro es problema de la protección. Esto por lo general significa que el control de acceso de hardware debe estar integrado con las funciones del procesador de gestión de memoria.
  • 24. Los primeros procesadores de Intel, tales como 8088/8086 usados ​en los primeros ordenadores , no tenían ninguna distinción entre el sistema y el modo de usuario, ningún programa en ejecución controlaba toda la máquina. El 80286 añadió segmento de direccionamiento y estaba protegido por anillos, era la primera vez que se podían ejecutar sistemas operativos adecuados. El 80386 tiene memoria interna virtual y grandes segmentos de memoria suficiente (4 GB) que podían ser ignorados y tratados como la máquina de 32 bits plana. ). Los Pentium 3 finalmente añadieron una nueva característica de seguridad, un procesador de número de serie. Esta causó una tormenta de protestas, impulsadas por los defensores de la privacidad, que temían que podría ser utilizado para todo tipo de fines.
  • 25. El ARM es el núcleo del procesador de 32- bit con mayor frecuencia, con licencia para proveedores de terceros de los sistemas incrustados. El ARM original fue el primer diseño comercial RISC. Sus sucesores de hoy en día son importantes porque que se incorporan en todo tipo de aplicaciones sensibles a la seguridad de los teléfonos móviles para proteger los datos secretos. Rápido se multiplican y acumulan instrucciones y tienen bajo consumo de energía, el ARM es muy atractivo para aplicaciones integradas.
  • 26. Procesadores especialistas en seguridad van desde los chips de tarjetas inteligentes, a través de los chips TPM ahora fijado a las placas base de los PC (que son, básicamente, los chips de tarjetas inteligentes con interfaces paralelas) y tablas de Crypto Accelerator, a un especialista en dispositivos criptográficos.
  • 27. Los sistemas operativos más populares, tales como Unix / Linux y Windows son muy grandes y complejo, así que tienen muchos errores. En consecuencia, muchos errores son detectados y reportados. Gracias a la red, el conocimiento se propaga ampliamente y con rapidez. Así, en un cualquier tiempo, puede haber docenas de fallas de seguridad que se conocen, y para el cual secuencias de comandos de ataque están circulando en la red. Una vulnerabilidad tiene un ciclo de vida típico por el que se descubre; informó al CERT o al proveedor, un parche enviado, el parche es de ingeniería inversa, y un exploit es producido por la vulnerabilidad, y la gente que no aplicaron el parche en el tiempo descubren que su máquinas han sido reclutados para una botnet cuando su ISP ellos se interrumpe el envío de spam.
  • 28. La idea básica detrás del ataque stack-smashing es que los programadores son a menudo descuidado acerca de la comprobación del tamaño de argumentos, por lo que un atacante que pasa una larga discusión a un programa puede encontrar que algunos de ellos se trata como código en lugar de datos. Un ejemplo clásico fue una vulnerabilidad en el dedo Unix comando. Una aplicación generalizada de esto sería aceptar un argumento de cualquier longitud, aunque sólo 256 bytes habían asignado para este argumento por el programa. Cuando un atacante utiliza el comando con un argumento más, los bytes de seguimiento de la discusión terminan siendo ejecutado por el sistema.  El ataque no es aún limitada a los sistemas informáticos en red: en al menos una tarjeta inteligente podía ser derrotado por pasarle un mensaje más largo que su programador había previsto.
  • 29. Las nuevas vulnerabilidades otros son en su mayoría variaciones sobre el mismo general tema, en que se producen cuando los datos de gramática A se interpreta como en gramática B. Un desbordamiento de pila es cuando los datos se aceptan como entrada (por ejemplo, una URL) y terminar siendo ejecutada como código máquina. Son esencialmente fracasos de tipo de seguridad. Existe una vulnerabilidad de cadena de formato se presenta cuando una máquina acepta datos de entrada como una instrucción de formato (por ejemplo,% n en el comando C printf ()).  Desbordamientos de búfer puede ser inducida por terminación de cadena incorrecto, pasar un tampón inadecuadamente dimensionado para un camino función de manipulación, y muchos otros errores sutiles.
  • 30.  SQL inserción ataca comúnmente surgen cuando un desarrollador web descuidado pasa a la entrada del usuario a una base de datos de fondo sin la comprobación para ver si se contiene código SQL.  Hay inyección de comandos similares problemas que afecta a las otras lenguas utilizadas por los desarrolladores web, como PHP y Perl.
  • 31. Uno de los primeros ataques, pueden concebirse fue el caballo de Troya, un programa que el administrador es invitado a correr y que hará algún daño si lo hace así. La gente iba a escribir juegos que comprobado de vez en cuando si el jugador era el administrador del sistema, y de ser así se crearía otro administrador cuenta con una contraseña conocida.  Otro truco consiste en escribir un programa que tiene el mismo nombre que una frecuencia sistema utilizado utilidad, como el comando ls que muestra todos los archivos en un sistema Unix directorio, y diseñarlo para abusar del privilegio de administrador (si la hay) antes invocando la utilidad genuina. 
  • 32. Algunas clases de vulnerabilidad se puede solucionar con herramientas automáticas. Pila sobrescribir ataques, por ejemplo, son en gran parte debido a la falta de límites apropiados comprobar en C (el mayor número de idiomas son los sistemas operativos escrito en). Hay varias herramientas (incluidas las herramientas gratuitas) disponibles para el control de los programas en C para problemas potenciales, y hay incluso un parche llamado compilador StackGuard que pone un canario junto a la dirección de retorno en la pila. Esto puede ser una azar 32-bit valor seleccionado cuando se inicie el programa, y se comprueba cuando un función es derribado. Si la pila ha sido sobrescrito por su parte, a continuación, con alta probabilidad de que el canario va a cambiar [329]. La disponibilidad de estas herramientas, y las iniciativas de formación, como Microsoft, poco a poco han reducido el número de errores de desbordamiento de pila. Sin embargo, las herramientas de ataque también mejoran, y son los atacantes