Está en la página 1de 50

CIBERSEGURIDAD

Historia de la Ciberseguridad 5 generaciones

GENERACION 1 VIRUS (Finales de 1980)

Los ataques de virus en ordenadores independientes comenzaron como


bromas o con afán destructivo. Para detenerlos se desarrollaron productos
antivirus.

GENERACION 2 REDES (Mediados de 1990)

Los hackers pueden conectarse desde internet. Nace la industria de la


seguridad en red y se lanza el primer firewall.

GENERACION 3 APPs (Principios del 2000)

Redes y software para explotar vulnerabilidades en toda la infraestructura de


TI. Se impulsan productos de sistemas para prevención de intrusiones (IPS).

GENERACION 4 CARGA UTIL (Aprox.2010)

Espionaje internacional, brechas masivas de información personal y la


interrupción de Internet a gran escala. Con esto se introdujo el ‘sandboxing’ y
‘Anti-bot’

GENERACION 5 MEGA (Aprox.2017)

Las herramientas de hacking avanzadas 'de grado militar' se filtran. Se


desarrolla una arquitectura unificada con soluciones avanzadas de prevención
de amenazas en tiempo real.

Entendiendo los Ciberataques

¿En Dónde puede ser el ataque?

 IoT
 Networks
 The Cloud
 Attack Venue

¿A Qué?
 Hardware
 Firmware
 Operating System
 Application Software

Impacto Seguridad Informática

Cibercrimen roba 3 mil mdd y ya supera en ganancias al narcotráfico 70%


delas org anizac i o n e s cree que su riesgo de seguridad creció
considerablemente en el 2020. Costo global del cibercrimen $445 Billones de
dólares 43 % de los cib e r a t a q u e s afectan a p equ eños negocios . Las
empresas gastan un estimado de $ 2 . 4 millones en defensa . Ataques
másfrecuentes son de malware y aquellos basados en la web . Las empresas
gastan $ 2 . 4 millones endefensa . e

proyecta que el daño relacionado a ciberataques llegará a los $6 trillones de


dólares anuales para el 2021 . A una compañía le toma entre 6 meses ,o 197
días, detectar una brecha de seguridad

PHISHING: es aquella forma de fraude en la que el atacante intenta obtener


información particular haciéndose pasar por una identidad o persona de
confianza a través del correo electrónico u otros canales.

SCAM: engaños o estafas de internet que pueden llegar a través de spam o


técnicas de ingeniería social. Buscan acceder a tu información personal
convenciendo al usuario de la prestación de un servicio.

RANSOMWARE: programa informático malintencionado que infecta el sistema


y restringe accesos a archivos y partes afectadas. Se pide un rescate a cambio
de quitar esta restricción.

ROBO DE INFORMACION: la información, sin precaución, puede ser siempre


interceptadas por terceros, que suele ir enfocada al robo de los datos
personales o fuga de información.

Cibercrimen Durante COVID-19

 Los correos electrónicos de phishing han aumentado un 700%


 El spam y las detecciones oportunistas aumentaron en un 26,3%,
 El malware aumentó35,16%
 Aplicaciones de videoconferencia experimentan una violación de
seguridad a medida que el número de usuarios aumentó un 300%
 La suplantación aumentó30,3%,
 El bloqueo de los clics de URL en un 55,8%.

PROCESOS CORPORATIVOS

Auditoria de seguridad: detección de vulnerabilidades y hacking ético.

ANALISIS DE AUDITORIA:

 Auditoria de configuración de elementos de seguridad.


 Identificación de malware en contenedores de ficheros.
 Auditoria de aplicaciones.
 Auditoria de código.
 Auditoria de reputación IP.

DETECCION DE VULNERABILIDADES:

 Sistema de aplicaciones comprometidas e impactadas.


 Desactualizados.

REMEDIACION:

 Remediacion.
 ¿Qué implica la remediación (impacto)?
 Servicios de aplicación de correcciones.

HACKING ETICO:

Caja negra: con acceso a pocos datos y sin colaboración del equipo IT de la
empresa.

Test de instrucción-interno y externo

Ingeniería social
Caja blanca: con estrecha colaboración con el equipo IT de la empresa y con
acceso a mucha información sobre esta “red & blue team”

 Pagina web.
 Aplicativos.
 Puesto de trabajo.
 Wifi.
 Redes infraestructuras.
 Email-phishing.

Ataque planificado por medio de la infiltración de un malware en algún eslabón


mas débil humano de la organización.

Los test de intrusión simulan un ciberataque real contra su infraestructura de


forma controlada permitiéndose evaluar la capacidad de su sistema para evitar
estos ciberataques.

Mitigar potenciales amenazas: para proteger mejor la integridad de su red.

Gestionar posibles vulnerabilidades: con mayor información.

Reducir el coste asociado: al tiempo de inactividad de la red.

Mantener una buena imagen: corporativa y fidelidad del cliente.

Cumplir con la regulación: y mitigar sanciones.

PROCEDIMIENTO

 Planificación y firma para el test.


 Recopilación de inteligencia.
 Ejecución de herramientas de mapeo de sistemas.
 Identificación de vulnerabilidades.
 Informe de resultados.
 Plan de remediación.

ACTIVOS QUE SE TESTEAN

Acceso a la información:

 Puesto de trabajo.
 Infraestructura de red.
 Página web.
 Aplicativos de negocios.
 Comunicaciones wifi+VPN.
 Conexiones cloud.

Adecuación a normas UNE-ISO/IEC

Gestion de riesgo, certificaciones:

 Seguridad de la información ISO27001: permitir


planificar,ejecuter,verificar y mejorar un conjunto de controles y medidas
técnicas, de procedimientos y organizativas que permiten reducir el
riesgo de seguridad en las organizaciones y, sobre todo, dotarlos de un
esquema de gestión de los procesos de seguridad.
 Continuidad de negocio ISO22301: Permite garantizar el alineamiento de
los servicios de IT con los requerimientos y estrategia del gobierno
corporativo de la empresa.
 Servicios IT ISO20000: cualquier organización, grande o pequeña,
disminuirá la posibilidad de que ocurra cualquier incidente destructivo y,
en caso de producirse, la organización estará preparada para responder
de forma adecuada y reducir drásticamente el daño potencial del
incidente.

Adecuación a UNE/ISO-IEC

 Mejora la organización de la empresa.


 Reduce drásticamente los riesgos.
 Permite disponer de cuadros de mando.
 Dota acceso a nuevos mercados y clientes.
 Permite demostrar buenas prácticas.
 Adecuada gestión de imprevistos.
 Cientos de controles de auditoría.
 Reduce consumo de recursos.

FASES DE LA ADECUACION UNE/ISO-IEC


 Análisis y auditoria.
 Detección de vulnerabilidades.
 Remediación de vulnerabilidades.
 Hacking ético.
 Gestión de riesgo.
 Certificaciones.

SEGURIDAD INFOMÁTICA

La seguridad informática se trata sobre la protección de información de índole


personal, empresarial o gubernamental contenida no solo en la red, sino
también en los dispositivos de uso diario como teléfonos celulares, tabletas,
computadoras de escritorio, laptop o cualquier dispositivo digital, de amenazas
que puedan poner en riesgo la información almacenada o transportada en
alguno de los dispositivos antes mencionados. Una buena Ciberseguridad no
solo se debe basar en la prevención de ataques, sino también detección y
corrección de los mismos, reduciendo los riesgos de exposición de la
información, brindando confianza a los usuarios.

Categorías de Seguridad Informática

La seguridad informática puede dividirse en algunas categorías comunes como


se muestra a continuación:

1) Seguridad de Red :Son medias que se toman con la finalidad de


proteger una red informática de intrusos, ya sean atacantes dirigidos o
malware oportunista. Involucra autorizar acceso a datos que se
encuentran almacenados en la red, la cual es controlada por un
administrador. Los usuarios eligen o se les asigna una identificación y
contraseña para su autenticación que les permite acceder a información
y programas dentro de sus autorizaciones.
2) Seguridad de las Aplicaciones: Es el proceso para hacer que las
aplicaciones sean más seguras al encontrar, corregir y mejorar su
seguridad. Gran parte de esto sucede durante la fase de desarrollo, pero
incluye herramientas y métodos para proteger las aplicaciones una vez
que se implementan. Este tipo de seguridad se enfoca en mantener los
dispositivos y el software libres de amenazas. Una aplicación afectada o
mal diseñada podría brindar acceso a los datos que está destinada a
proteger. La seguridad eficaz comienza en la etapa de diseño, mucho
antes de la implementación de un programa o dispositivo.
3) Seguridad de la información: Es el conjunto de medidas preventivas y
reactivas que permiten resguardar o proteger la información,
manteniendo la confidencialidad, integridad y la autenticación de los
datos, tanto en el almacenamiento como en el tránsito. Cabe aclarar que
el término seguridad de información difiere a seguridad informativa,
debido a que el primero abarca un rango más amplio, llegando a tener
una importancia global en otros aspectos que no involucran a la
Ciberseguridad.
4) Seguridad Operativa: Entendida como el conjunto de procedimientos
destinados a minimizar los riesgos a los que están expuestos la
información, software y equipos, incluyendo los procesos y decisiones
para manejar los recursos de datos. Los permisos que tienen los
usuarios para acceder a una red, así como los procedimientos que
determinan cómo y dónde puede almacenarse o compartirse los datos
se incluyen en esta categoría. El adiestramiento del personal acerca los
riesgos y la manera de prevenirlos mediante la concientización y
capacitación constituyen los pilares fundamentales de la Seguridad
Operativa.
5) Recuperación ante Desastres y la Continuidad del Negocio: Definen la
capacidad que tiene una organización de responder a un incidente de
seguridad informática o a cualquier otro evento que cause que se
detengan de manera parcial o total sus operaciones originando perdidas
de datos o información. Las políticas de recuperación ante desastres
dictan la forma en que la organización restaura sus operaciones e
información para volver a la misma capacidad operativa que tenía antes
del evento. La continuidad del negocio es el plan al que recurre la
organización cuando intenta operar sin determinados recursos.
6) Capacidad de Usuario Final: Aborda el factor de seguridad informática
más impredecible: las personas. Si se incumplen las buenas prácticas
de seguridad, cualquier persona puede introducir accidentalmente un
virus en un sistema que de otro modo sería seguro. Enseñarles a los
usuarios desde eliminar los archivos adjuntos de correos electrónicos
sospechosos, a no conectar unidades USB no identificadas y otras
lecciones importantes es fundamental para la seguridad de cualquier
organización. Si bien cada uno de las categorías de seguridad
mencionados se basa en un aspecto específico de los procesos
desarrollados por equipos digitales de las empresas, personales o
gubernamentales, se encuentran entrelazados entre sí y mantienen una
continua relación y convivencia de funcionamiento. Para llevar a cabo
una adecuada seguridad informática todas las funciones de seguridad
deben tener y cumplir los siguientes procesos:
Protección: configuración de manera adecuada del software, sistema,
aplicaciones y redes, desde su creación hasta su puesta en marcha para
garantizar un perfecto funcionamiento.
Detección: debe ser capaz de identificar en tiempo real si se ha
cambiado la configuración de algún mecanismos o aspecto del sistema,
equipo o si algún tráfico de red indica un problema
Reacción: una vez identificado los problemas rápidamente, responder
de manera eficaz, eliminando la amenaza y regresar a un estado seguro
de funcionamiento.
Integridad: toda información debe ser correcta sin modificaciones, ni
alteraciones no autorizadas ni errores. Se protege frente a
vulnerabilidades externas o posibles errores humanos.
Confidencialidad: el acceso a las redes, aplicaciones e información
solo debe ser permitido a personal autorizado. La información no debe
llegar a personas o entidades que no estén dentro de esta clasificación.
Autenticación: la información procedente de un programa, aplicación,
carpeta de red o usuario, debe verificada y se debe garantizar que el
origen de los datos es correcto y fidedigno.
Tipos de Ciberataques
Existen una gran variedad de peligros a la seguridad de la información
que poseen los usuarios en sus dispositivos o en la red. Muchas de
dichas amenazas a veces son llevadas a cabo con éxitos en los
conocidos Ciberataques mediante la utilización de códigos maliciosos
para alterar o sustraer información de un ordenador o red, alterando la
lógica de los datos generando consecuencias perjudiciales que pueden
comprometer la información. Dichos ataques pueden ser llevados a cabo
por un individuo u organización que intenta obtener el control de un
sistema operativo para usarlo con fines maliciosos ya sea robo de
información, fines económicos, políticos, religiosos o incluso con el
propósito de generar terror o miedo generalizado en una población,
clase dirigente o gobierno.
Existe una gran variedad de agentes maliciosos que pueden ser usados
por los hacker para tratar de vulnerar sistemas informativos en el que
desean irrumpir, a continuación se mencionan los más comunes:
1) Malware:Es un software malicioso que una vez que entra al
ordenador puede causar todo tipo de daños, desde tomar el control
del equipo, monitorear acciones e incluso enviar datos confidenciales
a la base de origen del atacante. Con frecuencia es propagado a
través de archivos adjuntos de correos electrónicos no solicitados o
descargas en línea aparentemente legítimas. Hay una variedad
malware entre los que se mencionan los siguientes:
2) Virus: son programas informativos maliciosos que tienen como
objetivo alterar el funcionamiento de un computador, sin que el
usuario lo note, por lo general, infectan otros archivos del sistema
con la intención de modificarlos para destruir de manera intencionada
datos almacenados en un equipo o red. un programa capaz de
reproducirse, que se incrusta un archivo limpio y se extiende por todo
el sistema informático e infecta a los archivos con código malicioso.
3) Troyanos: un tipo de malware que a menudo se camufla o disfraza
como software legítimo. Los cibercriminales o hacker suelen emplear
los troyanos para intentar acceder a los sistemas de los usuarios.
Una vez activados estos malware permiten a los criminales espiarte,
obtener datos e información personal y confidencial y obtener acceso
a tu sistema, donde pueden causar terribles daños como: copia,
modificación, eliminación y/o bloqueo de datos, además de
interrupción del rendimiento de ordenadores o redes.
4) Spyware: software malicioso que registra y recopila información en
secreto de una computadora, ordenador o red, para luego transmitirla
a una entidad externa de los cibercriminales para que puedan hacer
uso de esta información sin el conocimiento o consentimiento del
usuario. Por ejemplo, el spyware podría capturar los detalles de las
tarjetas de crédito.
5) Ransomware: programa o software malicioso que infecta
programas o archivos, teniendo la capacidad de bloquear la pantalla
de una computadora o cifrar archivos importantes predeterminados
con una contraseña. Por lo general muestra un mensaje exigiendo un
pago de rescate para restablecer las funciones del sistema y no
eliminar o borrar los archivos o datos infectados.
6) Adware: software no deseado diseñado para mostrar anuncios
publicitarios en la pantalla del ordenador o equipos móviles,
normalmente en un explorador. Por lo general se disfrace de
programas que parecen legítimos para ser instalados en la pc,
tableta o dispositivo móvil.
7) Botnets: nombre genérico que denomina a cualquier grupo de
ordenadores o redes de computadoras con infección de malware
controlados por un atacante o grupo de cibercriminales de manera
remota para realizar tareas en línea sin el permiso del usuario.

2) Phishing

Es un programa malicioso enviado a las víctimas o usuarios a través de


correos electrónicos que parecen ser de una empresa legítima, bancos u
otra organización, solicitando información personal o confidencial. En
muchas ocasiones dichos correos poseen enlaces a sitios web
preparados por los cibercriminales. Estos ataques se utilizan a menudo
para inducir a que las personas entreguen datos bancarios, de tarjetas
de crédito, de débito u otra información personal. Por lo general una
persona no abre un archivo adjunto al azar, de cualquier correo o de
origen desconocido, es debido a ello que a menudo simulan ser alguien
conocido o una entidad de confianza, para conseguir que se realice la
acción deseada. Estos ataques dependen en su mayoría de la
curiosidad y los impulsos humanos, por lo tanto serán difíciles de
detener. Para combatir este tipo de ataques, es esencial comprender la
importancia de verificar los remitentes de correo electrónico, archivos
adjuntos y enlaces.

3) Ataque de inyección SQL

Un ataque de inyección SQL es un código malicioso con un lenguaje de


programación de consulta estructurado, utilizado para comunicarse con
las bases de datos de los servidores que almacenan información crítica
para sitios web y de servicios, con la finalidad de tomar el control y
extraer datos privados de clientes, tales como: nombres de usuario y
contraseña, datos bancarios, números de tarjeta de crédito, entre otros.
Los cibercriminales aprovechan las vulnerabilidades de las aplicaciones
basadas en datos para insertar código malicioso en una base de datos
mediante una instrucción SQL maliciosa. Esto les brinda acceso a la
información confidencial contenida en la base de datos.

4) Ataque de Denegación de Servicio

Consiste en saturar de tráfico con fine maliciosos un sitio web o sistema


informativo, sobrecargando las redes y los servidores, impidiendo que
satisfaga solicitudes legítimas. Esto hace que el sistema sea inutilizable
e impide que una organización realice funciones vitales, como publicar
su contenido o dar respuesta a usuarios. En algunos casos, estos
ataques son realizados por un gran número de ordenadores al mismo
tiempo. Son muy difíciles de superar debido a que el atacante aparece
simultáneamente desde diferentes direcciones IP en todo el mundo, lo
que dificulta aún más la determinación del origen. 5) Ataque Cross-Site
Scripting

Este tipo de ataque persigue al usuario y no al servidor, lo que implica la


inyección del código malicioso en un sitio web, ya sea en un comentario
o un script para que se pueda ejecutar automáticamente en el
navegador del usuario cuando este accede al mismo. Los frecuentes
ataques de este tipo a usuarios de determinado sitio web pueden dañar
significativamente la reputación del mismo al poner en riesgo la
información de los usuarios sin ninguna indicación de que haya ocurrido
algo malicioso.

6)Ataque BEC/EAC
Es un tipo de estafa sofisticada que se dirige tanto a empresas como a
usuarios que realizan solicitudes legítimas de transferencia de fondos.
Ésta se lleva a cabo cuando un atacante compromete cuentas de correo
electrónico comerciales o personales legítimas, mediante la intrusión de
computadoras, con lo cual crea cuentas de correos con dominios
similares al de las personas o instituciones afectadas, o enmascara su
cuenta de correo como legitima, para lograr realizar transferencias de
fondos no autorizadas. No siempre está asociada con una solicitud de
transferencia de fondos. Una variación implica comprometer las cuentas
de correo electrónico comerciales legítimas y solicitar otro tipo de
información sensible, datos personales, como elementos previos para
este u otro tipo de ataques. Aunque existen varios métodos para
introducir un programa o software malicioso en un ordenador o red, en
algún momento requiere que el usuario realice una acción para que
pueda instalarse en el sistema, entre los más comunes se pueden
mencionar:
 Mensajes de redes sociales como Twitter y Facebook.
 Archivos adjuntos en los mensajes de correos electrónicos.
 Sitios Web sospechosos.
 Insertar USBs. DVDs, o CDs con software maliciosos.
 Descargar aplicaciones o programas de internet.
 Anuncios publicitarios falsos.

De acuerdo a lo anteriormente dicho, una vez que es enviado el


programa malicioso por el medio elegido por el cibercriminal, el
proceso de infección más común del ordenador o red puede
describirse de la manera siguiente:

 El usuario descarga un programa infectado en su computador.


 El archivo malicioso se aloja en la memoria ram de la
computadora, aún si no se termina de instalar.
 El archivo malicioso infecta los archivos y programas en
ejecución en ese momento.
 Al reiniciar la computadora, programa malicioso se carga
nuevamente en la memoria ram y toma control del sistema
operativo, lo cual hace más fácil su replicación para
contaminar cualquier archivo que encuentre a su paso.

Ya instalado y propagado en el computador o red del sistema un programa


malicioso puede causar grandes daños o efectos negativos en la información
del usuario o en los datos del ordenador, permitiendo a los ciberdelincuentes
entre otras cosas:

 Tener control remoto del ordenador infectado, permitiendo enviar, recibir,


iniciar y eliminar archivos, mostrar datos y reiniciar el ordenador.
 Obtener de manera ilícita datos bancarios de sistemas de banca online,
sistemas de pagos electrónicos, tarjetas de débito y de crédito.
 Robar datos de la cuenta de jugadores online.
 Obtener datos de inicio de sesión y contraseñas de mensajería
instantánea de cualquier red social.
 Modificar o bloquear datos del ordenador o red, los cuales serán
desbloqueados mediante el pago de un rescate.

Métodos para mejorar la Ciberseguridad a Nivel Mundial

En los últimos años las amenazas cibernéticas se han convertido en uno de


los principales riesgos para los usuarios, compañías, empresas y gobiernos
a nivel mundial, mostrando un crecimiento tanto en el número de víctimas
como en las pérdidas generadas. Es de entender que ninguna persona,
compañía, empresa o ente gubernamental puede estar seguro de que
nunca va a sufrir un ataque que ponga en peligro su ciberseguridad, pero lo
que sí puede hacer es tomar las medidas adecuadas para reducir las
probabilidades y evitar los daños siempre que sea posible. Si se tiene en
cuenta el impacto causado por un ciberataque contra la infraestructura
crítica de un país, cualquier mejora en la estrategia de ciberseguridad será
fundamental. Teniendo en cuenta esto se muestran algunos consejos y
recomendaciones para prevenir y/o evitar futuros desastres informáticos.
1) Adiestramiento de Personal: Se debe entrenar al personal sobre temas
de seguridad informática y establecer políticas sobre el uso del e-mail,
aplicaciones y páginas web, puesto que muchos ataques perpetrados se
desencadenaron a través de un correo electrónico enviado al buzón de un
empleado. Si se cuenta con la formación adecuada, este tipo de ataque no
se puede llevar a cabo. Por este motivo en la actualidad un gran número de
empresas están cambian su enfoque, de mejora de infraestructura a
perfeccionamiento del factor humano en el área de ciberseguridad.

2) Reducción de Vulnerabilidad: La gestión de contraseñas y la


administración de accesos privilegiados no se deben tomar a la ligera, por lo
tanto, se deben tomar medidas para proteger adecuadamente los equipos,
información de la empresa y datos personales, incrementando la
ciberseguridad. Para ello se pueden realizar las siguientes acciones:
Gestión de Contraseñas: Con el aumento del uso de la fuerza bruta para
intentar descubrir contraseñas, conviene reforzar los sistemas de
verificación de los dispositivos. Las contraseñas largas y aleatorias
previenen ataques de fuerza bruta y usar contraseñas diferentes por cada
cuenta evita comprometerlas todas cuando se produce una violación de
datos. Y aunque la autenticación de doble factor no es infalible, sí ayudará a
complicarle las cosas a los ciberdelincuentes.

Cifrado: Debido a que entre los principales objetivos de los ciberataques


es el acceso a información delicada o confidencial, se deben tomar las
medidas oportunas para cifrarla debidamente, de modo que, incluso aunque
logren acceder a ella, la labor de des-encriptación sea más compleja.

Control de procesos: La mejor forma de saber si se están produciendo


accesos sospechosos a un sistema informático es medir su actividad en
todo momento. En este sentido, existen programas y aplicaciones que
monitorizan todos los procesos en tiempo real, detectan actividad inusual y,
con todo ello, evitan el peligro antes de que llegue a producirse.
Aislamiento: parte significativa de las vulnerabilidades se producen en
infraestructuras a las que los ciberdelincuentes acceden de forma remota.
Por ello es esencial que tanto los procesos como sistemas más delicados
sean convenientemente aislados y, a ser posible, en redes sin conexión a
internet.

3) Instalación y Actualización de Sistemas y Medidas de Seguridad


Básicas

Los usuarios deben garantizar que sus computadores u ordenadores tengan


debidamente instalados y actualizados los programas y recursos
disponibles para su protección, tales como:

Antivirus: existen una gran gama de antivirus que se encargan de detectar


y eliminar las potenciales amenazas. Es de vital importancia mantener el
software actualizado para obtener el mejor nivel de protección. El tipo de
antivirus a utilizar depende de necesidades o requerimientos de cada
usuario.

Cortafuegos: Es un sistema que ejecuta una política de seguridad


establecida, con el cual se filtra accesos de red y bloquea el acceso a
personas no autorizadas. Una vez instalado se debe mantener el Firmware
actualizado en todo momento.

Proxy: se considera un complemento del firewall ya que hace la función de


intermediario, permitiendo el control de acceso, registro del tráfico, la mejora
de rendimiento y el anonimato de la comunicación.

Listas de control de acceso: Estas listas permiten determinar los


permisos de acceso apropiados a usuarios y grupos concretos. Por ejemplo,
puede definirse sobre un Proxy una lista de los usuarios a quienes se les
permite el acceso a Internet.

Redes privadas virtuales: Una extensión de red segura que se crea sin
que los dispositivos estén conectados entre sí físicamente. Cuando
utilizamos una VPN nos conectamos a los servicios de Internet de nuestro
proveedor y no de manera directa. La VPN garantiza la confidencialidad de
los datos.
Sistema de prevención de intrusos: Es un sistema que soporta los
dispositivos inalámbricos para evitar los puntos de acceso no autorizados y
otras amenazas inalámbricas.

4) Sentido Común

Como se ha dicho en reiteradas oportunidades, de nada sirven grandes


inversiones en materia de ciberseguridad si el usuario no toma consciencia
de la importancia de actuar con prudencia ante posibles amenazas. Algunas
recomendaciones para evitar ser víctimas de ataques cibernéticos son:

 No abrir archivos adjuntos de correos electrónicos de remitentes


desconocidos.
 No hacer clic en los vínculos de los correos electrónicos de
remitentes o sitios web desconocidos.
 Evitar el uso de redes Wi-Fi no seguras en lugares públicos.

Si bien estas recomendaciones son importantes, no son una guía definitiva. La


instalación de parches y actualizaciones, la protección de los puntos finales y la
gestión integral de las distintas áreas del ambiente de ciberseguridad, son otras
opciones para mantener lejos estas amenazas y proteger la información
corporativa. Hay que recordar que lo más costoso no es mantener la red a
punto y con toda la protección disponible, más costoso es no hacerlo. Si lo
duda, basta con observar las pérdidas presentadas por las organizaciones,
empresas y usuarios mencionados con anterioridad.

CONCLUSIONES

Con la globalización digital de las empresas, compañías y gobiernos, los


usuarios se han convertido cada día en blancos más atractivos para los
criminales cibernéticos, quienes aprovechan la web para mantenerse en el
anonimato mientras realizan sus ataques. Con la finalidad de minimizar las
probabilidades de ser víctimas de ciberataques, han incrementado la inversión
en ciberseguridad. A pesar de ello los crackers han conseguido la manera de
burlas las medidas de seguridad para lograr acceder a información confidencial
o delicada de los usuarios para con ello alcanzar un lucro económico.

Hackeo ético
CONCEPTOS BÁSICOS

¿Qué es unhacker?

1.Hacker es el neologismo utilizado para referirse a un EXPERTO en varias


o alguna rama técnica relacionada con la informática: programación, redes
de computadoras, sistemas operativos, hardware de red/voz, etc. Se suele
llamar hackeo y hackear a las obras propias de un hacker.

2.Hacker, usando la palabra inglesa, quiere decir divertirse con el ingenio


usar la inteligencia para hacer algo difícil. No implica trabajar solo ni con
otros necesariamente. Es posible en cualquier proyecto. No implica
tampoco hacerlo con computadoras. Es posible ser un hacker de las
bicicletas. Por ejemplo, una fiesta sorpresa tiene el espíritu del hack, usa el
ingenio para sorprender al homenajeado, no para molestarle Richard
Stallman

Digamos que el concepto de hackers como tal no es malo, lo malo es el


enfoque que se le da. Se podría hacer una analogía o comparación con los
políticos. Los políticos: digamos que “son representaciones del pueblo ante
las diferentes instancias de decisión y poder, elegidos por voto popular o por
decisión de acompañamiento, cuyo fin es velar por el bienestar y progreso
de sus representados”. ¿Pero esto se cumple? Podemos decir que
tenemos:

• Políticos malos

• Políticos medio buenos y medio malos

• Políticos buenos “escasos, pero digamos que los hay, es para que nos
sirva para el ejemplo”

Clasificación de Hacker:

¿QUÉ ES UN WHITEHAT?

Hace referencia a un hacker de sombrero blanco, el cual se rige por su


ética, esta se centra en analizar, testear, proteger y corregir vulnerabilidades
(bugs) en los sistemas de información y comunicación Estos suelen trabajar
en empresas de seguridad informática. De proviene la definición de hackers
éticos o pentesters (test de penetración)

¿QUÉ ES UN BLACKHAT?

Son los contrario de los whitehat, estos son los que se dedican a buscar los
bugs, en los sistemas de información y comunicación, para explotarlos,
alterarlos, sabotearlos, robar información que se les haga útil e importantes,
desarrollan programas como malware, virus, troyanos, crack`s para
software propietario etc., incluso hacen negocios muy lucrativos con estos
actos informáticos

¿QUÉ ES UN BLACKHAT?

Los gray hat son hackers que están en el límite de lo que se puede
considerar bueno y lo malo. Son como una especie de híbridos de los que
son hackers white hat ("buenos") y los black hat ("malos"). Usualmente se
infiltran en un sistema o servidor (que va en contra de la ley) para poner sus
nombres o cambiar los nombres de las empresas. También pueden avisar a
los administradores que su sistema ha sido ganado por ellos para que en un
futuro puedan cubrir esos huecos y fallas y los arreglen para que otros
hackers maliciosos no puedan entrar.

Hacker ético /penpesters

Son expertos y profesionales en seguridad informática, que utilizan sus


conocimientos de hacking, para hacer test de penetración a sistemas,
aplicaciones de software, redes informáticas de empresas por los cuales
son contratados, de dichos test de penetracion, se obtienen como resultado,
los diversos bugs, vulnerabilidades y fallos de seguridad que tiene un
sistemas y que pueden ser usados por un atacante, los cuales deben de ser
identificados, analizados, documentados y solucionados (reparados), para
así proteger la integridad, confidencialidad y disponibilidad de la
información. Área de la informática la cual tiene como objetivo establecer,
plantear e implementar reglas, técnicas, metodologías y actividades con el
fin de prevenir, proteger y resguardar la información de una persona o de
una organización, velando que esta información no sea robada, modificada,
perdida, distribuida o eliminada por un tercero.

TEST DE PENETRACION

Conjunto de metodologías y técnicas para la realización y simulación de un


ataque en un escenario controlado, al cual se le practica un test de
intrusión, para evaluar la seguridad de un sistema o de una red informática,
y así encontrar los puntos débiles y vulnerables en dichos sistemas o redes.
Este proceso , nos orienta a un análisis profundo para así determinar las
vulnerabilidades potenciales, que pudiesen derivarse por una configuración
incorrecta del sistema, pueden ser de hardware o bugs de software o
desconocidas, ó incluso en las deficiencias operativas y técnicas en el
proceso de contramedidas del administrador del sistema y de redes Estos
test de penetración se deben realizar desde una perspectiva de un atacante
potencial y pueden implicar la explotación de vulnerabilidades.

“PARA SABER DEFENDER, PRIMERO SE DEBE APRENDER A ATACAR”

Aquí juega un papel muy importante la ética del profesional, porque los
problemas encontrados, deben ser informados a la empresa o usuario
afectado, junto con un reporte y una documentación debidamente
estructurada, para si informarlo de la magnitud del problema del problema y
además brindar soluciones.

TIPOS DE TEST DE PENETRACIÓN

 White Box
 Gray Box
 Black Box

Dependiendo la cantidad de información que se tiene del objetivo.

TIPOS DE ATAQUES
ACTIVOS: los ataques activos, alteran y comprometen la disponibilidad,
integridad, autenticidad de la información, así afectando a los sistemas,
redes y aplicaciones del objetivo a atacar. Ejemplo: Sql injection/ alteración
de la aplicación web, robo de información PASIVOS: los ataques pasivos,
no alteran, ni modifican al sistema o red objetivo, solo se obtiene y
compromete la confidencialidad de la información Ejemplo: un sniffing de
red, MODALIDADES DE ATAQUES

• ATAQUE INTERNO Un ataque interno, es realizado desde el interior del


perímetro del objetivo, por lo general suelen ser perpetrados por personal
propio de la empresa, empleados inconformes o clientes que tienen
accesos. Colaborados por malas configuraciones. Ejemplo: un ataque a una
wireless, robo de información, confidencial, instalación de software
malicioso de forma directa.

• ATAQUE EXTERNO El ataque externo es el que se realiza desde una


fuente externa al perímetro del objetivo a atacar. Ejemplo internet o
conexión por acceso remoto TÉCNICAS PARA UTILIZAR EN UN ATAQUE

• Denegación deservicio DoS

• Crackeo de contraseña por fuerza bruta

• Explotacion de vulnerabilidades

• Phising/ scam

• Secuestro de secciones en redes wifi

• Hijacking (secuestro), dominio, seccion,ip, entre otras

• Spoofing (suplantación), ip, DNSetc.

• Ingeniería social

• Y muchísimas otras que son creadas e innovadas cada día.

HABILIDADES QUE DEBE TENER UN HACKER ÉTICO / PENTESTER

• Tener conocimientos avanzados en programación (php, python, ruby, C,


C++, .Net, java, etc.)
• Tener conocimientos profundos de diversas plataformas como Linux,
Windows, Unix, etc. • Conocimiento en redes y protocolos, aquitecturras,
etc.

• Conocimiento de hardware y software

• Conocimientos en técnicas, metodologías y herramientas de hacking

• Capacidad de análisis e investigación para proveer soluciones

HERRAMIENTAS QUE AYUDAN A REALIZAR ESTAS LABORES.

 Samurái pentest
 Backtrack
 NUbuntu
 OSWA Assitant

ANATOMÍA DE UN ATAQUE

¿Qué es el Software Libre?

«Software libre» significa que el software respeta la libertad de los usuarios y la


comunidad. En términos generales, los usuarios tienen la libertad de copiar,
distribuir, estudiar, modificar y mejorar el software. Con estas libertades, los
usuarios (tanto individualmente como en forma colectiva) controlan el programa
y lo que hace.

«software libre» es una cuestión de libertad, no de precio. Para entender el


concepto, piense en «libre» como en «libre expresión», no como en «barra
libre»

Libertades del software libre

El software libre es una cuestión de libertad de los usuarios para ejecutar,


copiar, distribuir, estudiar, cambiar y modificar el software. Más concretamente,
se refiere a los cuatro tipos de libertades para los usuarios de software.

Libertad Descripción
0 la libertad de usar el programa, con
cualquier propósito.
1 la libertad de estudiar cómo funciona
el programa modificarlo, adaptándolo
a tus necesidades.

2 la libertad de distribuir copias del


programa, con lo cual puedes ayudar
a tu prójimo.

3 la libertad de mejorar el programa y


hacer públicas mejoras a los demás,
de modo que toda la comunidad se
beneficios

Las libertades 1 y 3 de software libre requieren acceso al código fuente porque


estudiar y modificar software sin su código fuente es muy poco viable La
libertad 2 hace referencia a la libertad de modificar y redistribuir el software
libremente licenciado bajo algún tipo de licencia de software libre que beneficie
a la comunidad.
LICENCIA GPL

Es la licencia más ampliamente usada en el mundo del software y garantiza a


los usuarios finales (personas, organizaciones, compañías) la libertad de usar,
estudiar, compartir (copiar) y modificar el software. La licencia GPL puede ser
usada por cualquiera, su finalidad es proteger los derechos de los usuarios
finales (usar, compartir, estudiar, modificar). Esta es la primera licencia copyleft
para uso general. Copyleft significa que los trabajos derivados sólo pueden ser
distribuidos bajo los términos de la misma licencia.

GNU/Linux

Es uno de los términos empleados para referirse a la combinación del núcleo o


kernel libre similar a Unix denominado Linux con el sistema GNU. Su desarrollo
es uno de los ejemplos más prominentes de software libre; todo su código
fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera
bajo los términos de la GPL y otra series De licencias.

Núcleo Linux Linux es un núcleo libre de sistema operativo basado en Unix. Es


uno de los principales ejemplos de software libre y de código abierto. Linux está
licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el
mundo.

SISTEMAS OPERATIVOS DE SOFTWARE LIBRE

1. Redhat
2. Linux mint
3. Open suse
4. Fedora
5. ArchLinux
6. Debian
7. Ubuntu

Software Aplicativos en Software libre

Libre office the document foundation


Es una suite ofimática libre y gratuita, diseñada para funcionar bajo Microsoft
Windows, Mac OS X y sistemas GNU/Linux.

Openoffice.org

es una suite ofimática libre (código abierto y distribución gratuita) que incluye
herramientas como procesador de textos, hoja de cálculo, presentaciones,
herramientas para el dibujo vectorial y base de datos. El código fuente de la
aplicación está disponible bajo la Licencia pública general limitada de GNU .

Navegadores

es un navegador web libre y de código abierto desarrollado para Microsoft


Windows, Mac OS X y GNU/Linux coordinado por la Corporación Mozilla y la
Fundación Mozilla. El código fuente de Firefox es libre y abierto, y es distribuido
bajo triple licencia; Licencia Pública de Mozilla (MPL), Licencia pública general
de GNU (GPL), o la Licencia pública general reducida de GNU (LGPL).

Reproductor de video y audio

Es un reproductor multimedia y framework multimedia libre y de código abierto


desarrollado por el proyecto VideoLAN. Es un programa multiplataforma con
versiones disponibles para muchos sistemas operativos. VLC es un reproductor
de audio y video capaz de reproducir muchos códecs y formatos de audio y
video. Es software libre, distribuido bajo la licencia GPL.

¿Qué es Ubuntu?

• Distribución Linux basada en Debian que proporciona un sistema operativo


actualizado y estable para el usuario medio

• Se compone de múltiples paquetes de software normalmente distribuidos bajo


una licencia libre o de código abierto

• Está patrocinado por Canonical Ltd., una compañía británica propiedad del
empresario sudafricano Mark Shuttleworth

• Se financia por medio de servicios vinculados al sistema operativo y


vendiendo soporte técnico, manteniendo al SO libre y gratuito
• Canonical también proporciona soporte para cuatro derivaciones de Ubuntu:
Kubuntu, Xubuntu, Edubuntu y Ubuntu Server Edition Porque usar Ubuntu

• Su eslogan es Linux for human beings (‘Linux para seres humanos’)

• Su nombre proviene de la ideología sudafricana Ubuntu («humanidad hacia


otros») Ventajas de Ubuntu

• Cada seis meses se publica una nueva versión de Ubuntu.

• Recibe soporte por parte de Canonical, durante dieciocho meses.

• Las versiones LTS (Long Term Support), que se liberan cada dos años
reciben soporte durante tres años en los sistemas de escritorio y cinco para la
edición orientada a servidores. Desventajas de Ubuntu

• El origen técnico de Linux aún se percibe; estarás abriendo una “Terminal” de


Linux y escribiendo comandos. Algo que nunca harías con Windows .

• No es muy común su uso en Compañías, por lo que generalmente se usa


para trabajar desde Casa.

• A la hora de trabajar con documentos de Windows complejos, se podria


convertir en una tareas dificil o casi imposible debido a la poca compatibilidad
para importar desde Windows para Linux.

• Instalar controladores de Hardware y programas resulta ser mas complicado


que en Windows. Esto debido a que las empresas creadoras de controladores
crean sus productos en base a Windows, el sistema operativo mas usado a
nivel mundial.

• Muchos juegos no se ejecutan en Linux asi que olvidate de grandes Gráficos


y poner a trabajar tu tarjeta de video al máximo. Claro existen sus excepciones.

PLANIFICACION DE PROCESOS

 Creación de procesos.

• Terminación de procesos.

• Ciclo de vida de un proceso.

• Tipos de planificación.
• Algoritmos de planificación.

CREACION DE PROCESOS

Los SO proveen mecanismos para que los procesos puedan crear otros
procesos →Llamada al sistema

• El proceso de creación se puede repetir recursivamente creándose una


“estructura familiar” → Árbol de procesos

• Asignación de recursos al nuevo proceso: – Los obtiene directamente del


SO – El padre debe repartir sus recursos con el proceso hijo o compartir
todos o parte de ellos con él.

• Se evita así que un proceso bloquee el sistema multiplicándose


indefinidamente.

• Cuando se crea un proceso: – En términos de ejecución

• El padre continúa ejecutándose en paralelo con su/s hijo/s

• El padre espera a que alguno o todos sus hijos hayan terminado – En


términos del espacio en memoria

• El proceso hijo es un clon del proceso padre

• El proceso hijo tiene ya un programa cargado en memoria.

CREACION DE PROCESOS EN UNIX

• En la familia Unix se distingue entre crear procesos y ejecutar nuevos


programas.

• La llamada al sistema para crear un nuevo proceso se denomina fork()

• Esta llamada crea una copia casi idéntica del proceso padre

– Ambos procesos, padre e hijo, continúan ejecutándose en paralelo

– El padre obtiene como resultado de la llamada a fork() el pid del hijo y el


hijo obtiene 0

– Algunos recursos no se heredan (p.ej. señales pendientes)

• El proceso hijo puede invocar la llamada al sistema exec*()


– sustituye su imagen en memoria por la de un programa diferente

• El padre puede dedicarse a crear más hijos, o esperar a que termine el


hijo

– wait() lo saca de la cola de “listos” hasta que el hijo termina.

CREACIÓN DE PROCESOS:

COPY ON WRITE (COW)

• Ineficiencias del modelo fork()

– Se copian muchos datos que podrían compartirse

– Si al final se carga otraimagen, todavía es peor porque todo lo copiado se


deshecha

• Muchos UNIX usanCOW

– Copy-on-Write es una técnica que retrasa o evita la copia de los datos al


hacer el fork

– Los datos se marcan de manera que si se intentan modificar se realiza


una copia para cada proceso (padre e hijo)

– Ahora fork() sólo copia la tabla de páginas del padre (no las páginas) y
crea un nuevo BCP para el hijo

folk: “Copia al proceso padre y le da una nueva identidad al hijo”

Obtener entrada libre en Tabla de Procesos Copiar BCP del padre


Duplicar mapa de M del padre (incluyendo pilas) Estado listo PCB en cola
de listos Devuelve PID al padre

Devuelve 0 al hijo

exec: “Cambia la imagen de M de un proceso usando como “recipiente” uno


previo”
Liberar imagen de M del proceso Leer ejecutable Crear nueva imagen
M →→BCP

Cargar secciones .texto Crear pila inicial U Crear pila S: dir. principio
programa

Inicio BCP: regs.; PC dir SO: RETI

TERMINACION DE PROCESOS

• Cuando un proceso termina todos los recursos asignados sonliberados:

– memoria, ficheros abiertos, entradas en tablas,...

• y el kernel notifica al proceso padre el evento.

• Un proceso puede terminar de 2 formas:

• Voluntariamente: Llamada al sistema exit()

• Involuntariamente:

– Excepciones: división por cero, violación de segmento

– Abortado por el usuario (ctrl-c) u otro proceso (kill), es decir, señales que
no puede manejar o ignora.

• Cuando un proceso termina pueden suceder dos cosas:

– Sus hijos no se ven afectados

– Todos los hijos acaban también → terminación en cascada (Ej. VMS)

• EnUnix,

– los hijos del proceso terminado pasan a depender del proceso init

– el proceso finalizado pasa a estado Zombie hasta que el proceso padre


recoge su código de finalización.

¿CUÁNDO SE ELIMINA EL BPC?

• Las terminación de un proceso y la eliminación de su BCP son tareas


diferenciadas
– Cuando el padre obtiene la información del hijo, se procede a eliminar las
estructuras de datos

– Llamada al sistema wait()

• Bloquea al proceso hasta que termina el/un hijo

• Devuelve el pid del hijo finalizado y

CICLO DE VIDA BASICA DE UN PROCESO

EXPULSION AL DISCO (SWAP)

• Cuando existen muchos procesos en ejecución el rendimiento puede bajar


por excesiva paginación.

– Solución: El Sistema Operativo puede expulsar totalmente procesos al


área de intercambio del disco.

• Introduce nuevos estados de los procesos.

– Bloqueado y suspendido.

– Listo y suspendido.

NIVELES DE PLANIFICACION
• Planificación a corto plazo

– Selecciona el siguiente proceso a ejecutar.

• Planificación a medio plazo

– Selecciona qué procesos se añaden o se retiran (expulsión a swap) de


memoria principal. • Planificación a largo plazo

– Realiza el control de admisión de procesos a ejecutar.

– Muy usada en sistemas batch.

TIPOS DE PLANIFICACION

• No apropiativa.

– El proceso en ejecución conserva el uso de la CPU mientras lo desee.

• Apropiativa.

– El sistema operativo puede expulsar a un proceso de la CPU.

PUNTOS DE DECISION DE PLANIFICACION

• Momentos en los que se puede decidir la planificación de un proceso:

1. Cuando un proceso se bloquea en espera de un evento


• Realización de una llamada al sistema.
2. Cuando se produce una interrupción.
• Interrupción del reloj.
• Interrupción de fin de E/S.
3. Fin de proceso.
• Planificación no apropiativa: 1 y 3.
– Windows95, MacOS anteriores a versión 8.
• Planificación apropiativa: 1, 2 y 3.

COLAS DE PROCESOS

• Los procesos listos para ejecutar se mantienen en una cola.

• Alternativas:

– Cola única.
– Colas por tipos de procesos.

– Colas por prioridades.

COLAS DE PROCESOS: IMPLEMENTACION

• El SO mantiene diversas colas de procesos.

• Se implementa con punteros internos al BCP.

• Acceso eficiente.

PLANIFICACION: MEEDIDAS

• Utilización de CPU:

– Porcentaje de tiempo que se usa la CPU.

– Objetivo: Maximizar.

• Productividad:
– Número de trabajos terminados por unidad de tiempo.

– Objetivo: Maximizar.

• Tiempo de retorno(Tq )

– Tiempo que está un proceso en el sistema. Instante final (Tf ) menos instante
inicial (Ti ).

– Objetivo: Minimizar.

• Tiempo de servicio(Ts ):

– Tiempo dedicado a tareas productivas (cpu, entrada/ salida). Ts =


TCPU+TE/S

• Tiempo de espera(Te ):

– Tiempo que un proceso pasa en colas de espera. Te = Tq – Ts

• Tiempo de retorno normalizado (Tn ):

– Razón entre tiempo de retorno y tiempo de servicio. Tn = Tq /Ts

– Indica el retardo experimentado.

ASIGNACION (FCFC)

• First to Come First to Serve: Primer en llegar primero en servir.

– Algoritmo no apropiativo.

– Penaliza a los procesos cortos.


FCFS: TIEMPO DE RETORNO NORMALIZADO

• Tiempo medio de espera: 4.6

• Tiempo medio de retorno normalizado: 2.5

ASIGNACION SJF

• Shortest Job First: Primero el trabajo más corto.

• Algoritmo no apropiativo.

• Selecciona el trabajo más corto.

• Solamente se puede aplicar si se conoce de antemano la duración de cada


trabajo.

• Posibilidad de inanición:

– Si continuamente llegan trabajos cortos, los trabajos largos nunca llegan a


ejecutarse.

CICLICO O ROUND ROBIN

• Mantiene una cola FIFO con los procesos listos para ser ejecutados.

• Un proceso recibe el procesador durante un cuanto o rodaja de tiempo.

• Un proceso regresa a la cola listos cuando:

– Expira su rodaja de tiempo.

– Se produce el evento que lo llevó a la cola de bloqueados.

• Un proceso pasa a la cola de bloqueados cuando:

– Pasa a esperar un evento.

• Algoritmo apropiativo.

• Se debe tener en cuenta que cada cambio de contexto genera retraso.

– Rodaja de tiempo >> tiempo para cambio de contexto.

ASIGNACION POR PRIORIDADES


• Cada proceso tiene una prioridad asignada.

• Se selecciona primero los procesos más prioritarios.

• Alternativas:

– Prioridades fijas →→problema de inanición.

– Solución: mecanismos de envejecimiento.

PLANIFICACION EN WINDOWS

• Principales características:

– Basado en prioridades y uso de cuantos de tiempo.

– Planificación apropiativa.

– Planificación con afinidad de procesador.

• Planificación por hilos y no por procesos.

• Un hilo puede perder el procesador si hay otro más prioritario que esté listo.

• Decisiones de planificación:

– Hilos nuevos →→Listo.

– Hilos bloqueados que reciben evento →→Listo.

– Hilo deja del procesador si termina cuanto, finaliza o pasa a bloqueado.

PUNTOS A RECORDAR

• La creación de un proceso implica la creación de su imagen de memoria y de


su BCP.

• Un proceso pasa por distintos estados durante su ejecución.

• El sistema operativo realiza la planificación de los procesos.

• La planificación puede ser apropiativa y no apropiativa.

• Los distintos algoritmos de planificación de procesos pueden favorecer más o


menos a un tipo de procesos.

• Los sistemas operativos modernos usan planificación apropiativa.


SISTEMAS DE ENTRADA Y SALIDA

▪ El SO necesita:

♦ Dispositivos de almacenamiento de datos

}• Almacenamiento secundario (discos)

• Almacenamiento terciario (cintas)

♦ Dispositivos de interacción con el usuario

• Periféricos de interfaz de usuario (ratones, pantallas, impresoras, escáner,


lápices ópticos, etc.)

♦ Dispositivos de comunicaciones

• Conexión con otras máquinas (tarjetas de red, modems, etc.)

ESTRUCTURA DE UNA COMPUTADORA

▪ Dispositivos por bloques y por caracteres:

♦ Dispositivos por bloques

• Manejan la información en unidades de tamaño fijo (bloques)

• Ejemplos: discos y cintas

♦ Dispositivos por caracteres

• Gestionan flujos de caracteres de forma lineal sin estructura tipo bloque ni


tamaño fijo

• Ejemplos: pantallas, teclados, impresoras, modems, tarjetas de red, etc.

CONEXIÓN DE DISPOSITIVOS DE E/S

▪ Controladores de dispositivos:

♦ Un controlador puede controlar uno o más dispositivos

♦ Funciones:

• Transferir información entre MC y periféricos

• Sincronizar la velocidad del procesador con la del periférico


• Detectar posibles errores que se produzcan en el acceso al periférico.

FUNCIONES DEL SISTEMA DE ENTRADA Y SALIDA

▪ ¿Qué es el sistema de entrada/salida (E/S)?

♦ Parte del SO que ofrece:

• Visión lógica simplificada de los dispositivos de E/S

• Mecanismos de abstracción de los detalles físicos de éstos

▪ Problema de los dispositivos de E/S:

♦ Son muy lentos

♦ El cuello de botella más importante es el sistema de E/S

♦ El SO necesita optimizar los mecanismos de E/S

▪ Objetivos del sistema de E/S:

• Facilitar el manejo de los dispositivos de E/S

• Optimizar la E/S del sistema

• Proporcionar dispositivos virtuales para conexión de dispositivos sin tener


que remodelar el SO

• Permitir la conexión de dispositivos nuevos de E/S

▪ Mecanismos de incremento de prestaciones:

• Acceso directo a memoria

• Caché en el controlador de disco


• Caché de disco en memoria central

• Solapamiento de búsquedas y transferencias

▪ Mecanismos de incremento de prestaciones (cont.):

♦ Caché en el controlador de disco:

• Memoria interna del controlador

• Contiene copia de algunos bloques (o pistas) del disco

• Lecturas anticipadas de datos: Principio de localidad de referencias

▪ Mecanismos de incremento de prestaciones (cont.):

♦ Caché de disco en memoria central (MC):

• Memoria intermedia situada en MC para bloques de disco

• Memoria de tamaño variable dependiendo del espacio libre para procesos de


usuario

• Contiene copia de algunos bloques del disco

• Lecturas anticipadas de datos: Principio de localidad de referencias

• Estrategia de reemplazo de bloques: Generalmente LRU

▪ Mecanismos de incremento de prestaciones (cont.):

♦ Solapamiento de búsquedas y transferencias:

• Un controlador puede controlar varios dispositivos

• Búsqueda de información en dispositivos lenta

• Simultaneidad de búsquedas en varios dispositivos y de una transferencia de


otro dispositivo → Optimización

ESTRUCTURA DEL SISTEMA DE ENTRADA Y SALIDA

▪ Componentes:

♦ Interfaz del SO:


• Proporciona servicios de E/S a las aplicaciones y una interfaz homogénea
para comunicarse con manejadores de dispositivos

♦ Sistemas de ficheros (SF):

• Proporciona una interfaz homogénea para acceder a los diferentes SF del SO


(SV, NTFS, FAT, ...) → SF virtuales

• Traduce las operaciones del formato del usuario al de bloques

♦ Gestor de redes:

• Proporciona una interfaz homogénea para acceder a los diferentes sistemas


de red del SO (TCP/IP, Novell, ...)

▪ Componentes (cont.):

♦ Gestor de bloques:

• Atiende peticiones a nivel de bloque

• Interacciona con la caché de bloques para optimizar la E/S

♦ Gestor de caché:

• Optimiza la E/S para dispositivos de tipo bloque mediante caché

♦ Manejadores de dispositivos:

• Traduce las operaciones sobre dispositivos a operaciones de control de cada


dispositivo particular
▪ Manejadores de interrupción y de dispositivos:

♦ Manejador de interrupción:

• Tratan las interrupciones de los controladores de dispositivos → Ejecución del


manejador de interrupción

• Comunican el evento al manejador de dispositivo

♦ Manejador de dispositivo:

• Acepta peticiones del SW de E/S independiente del dispositivo

• Traduce las peticiones a formato del controlador

• Planifica el acceso de peticiones al dispositivo

• Envía las órdenes al controlador

• Espera a que se cumplan

• Comprueba el estado de la operación cuando llega la interrupción

• Gestiona los errores, si existen, y los resuelve, si es posible


▪ SW independiente del dispositivo:

♦ Función:

• Ejecutar las funciones de E/S comunes a todos los dispositivos a través de


una interfaz común

♦ Proporciona:

• Acceso a nivel de bloques o caracteres

✓ Tamaños de acceso genéricos

• Almacenamiento intermedio en memoria del SO

✓ Optimización de la E/S evitando accesos a dispositivos

✓ Oculta diferencias de velocidad

✓ Facilita la implementación de la compartición

▪ SW independiente del dispositivo (cont.):

♦ Proporciona (cont.):

• Gestión de dispositivos
✓ Nombrado: Traducción de nombres de usuario a identificativos del sistema

✓ Protección

✓ Control de acceso

• Planificación de la E/S

• Gestión de errores

DISCOS

▪ Utilización:

• Almacenamiento masivo y no volátil de datos

• Plataforma para el sistema de intercambio del gestor de memoria virtual

▪ Taxonomía según la interfaz de su controlador:

• Dispositions SCSI (Small Computer System Interface)

• Dispositivos IDE (Integrated Drive Electronics)

▪ Taxonomía según la tecnología de fabricación:

• Discos duros (Winchester) almacenamiento secundario

• Discos ópticos (CD-ROM, DVD) almacenamiento terciario

• Discos extraíbles (disquetes, ZIP, JAZZ)

Estructura física y lógica muy similar para todos

ESTRUCTURA FISICA DE LOS DISCOS

▪ Formato y organización de los datos:

• Caras

Cilindros (pistas)

Sectores / pista
• Estructura de un sector:

✓ Cabecera (Contiene el número de sector) ( Información usada por el


controlador de disco)

✓ Área de datos (256, 512 ó 1024 bytes)

✓ Apéndice (Contiene código de corrección de errores Se calcula cada vez


que se lee o escribe un sector) (no accesible por usuario)

• Miles de pistas por superficie Varios cientos de sectores por pista

▪ Características físicas de los sistemas de disco:

• Caras:

✓ Simple cara

✓ Doble cara

• Platos:

✓ Un solo plato

✓ Múltiples platos

• Portabilidad del disco:

✓ Disco no extraíble

✓ Disco extraíble

• Cabezal:

✓ Fijo:

✓ Móvil: Uno por pista Uno por superficie

• Mecanismo del cabezal:

✓ Contacto (disquetes)

✓ Hueco fijo

✓ Hueco aerodinámico (discos Winchester)


▪ Capacidad del disco:

♦ N° caras x N° pistas x N° sectores x Tamaño sector

▪ Tiempo de acceso a disco: (Tiempo de espera Tiempo de posicionamiento


Tiempo de latencia Tiempo de transferencia Para acceso al dispositivo)
Cabezal bajo la pista de los datos Cabezal bajo el sector de los datos Entre
dispositivo y MC

♦ Tiempos medios en discos magnéticos actuales:

• Tiempo de posicionamiento: 5-10 msg.

• Tiempo de latencia: 3-5 msg.

♦ El SO sólo puede influir en el tiempo de posicionamiento

▪ Apreciaciones a tener en cuenta:

♦ Densidad de cada pista: En los discos modernos el número de sectores varía


de unas pistas a otras

♦ Intercalado de sectores: La numeración de los sectores no es consecutiva

♦ Almacenamiento intermedio en el controlador: Almacenamiento de la pista


entera en memoria del controlador

♦ Controladores inteligentes: Si controlan varios dispositivos, permiten efectuar


operaciones de búsqueda solapadas

▪ Apreciaciones a tener en cuenta (cont.):

♦ Intercalado de sectores: Ejemplo:

⚫ Sectores por pista = 8

⚫ Factor de entrelazado de bloques = 2

EJEMPLO DE DISCO DURO

SEAGATE Barracuda ATA II ST330630A


Parámetro Valor

Capacidad: 1 0.2GB

Cilindros: 1023

Cabezas: 256

Sectores: 83

Velocidad: 7200 RPM

Tpo. posicionamiento: 8,5 msg.

Tpo. latencia: 4,16 msg.

FORMATEO FISICO DE DISCOS

▪ Formateo físico o de bajo nivel:

♦ División del disco en sectores para que el controlador de disco pueda leer y
escribir

• Creación de la estructura de datos de cada sector

♦ Realizado normalmente como parte del proceso de fabricación

♦ Formateo físico de un dispositivo en sistemas UNIX:

• fdformat

FORMATEO DE DISCOS

▪ Creación de particiones:

♦ Partición o volumen: Porción contigua de sectores del disco

♦ Particiones primarias y extendidas

♦ Partición activa, de sistema o de arranque

• Permite arrancar un SO

♦ Tabla de particiones:

• Información sobre la distribución lógica del disco en particiones


• Almacenada en el sector 0 (primer sector de la primera pista del cilindro más
externo)

FORMATEO LOGICO DE DISCOS

▪ Formateo lógico de una partición:

♦ Estructura lógica de un disco: Estructura significativa para el SO

♦ Formateo lógico de una partición → Creación de un SF

• format para sistemas Windows

• mkfs para sistemas Unix

▪ Tareas de un formateo lógico:

• Construcción del bloque de carga o sector de arranque

• Creación de la estructura lógica del SF

• Creación de una lista de bloques defectuosos

• Creación de una lista de bloques de repuesto

▪ Bloque de carga o sector de arranque:

♦ Contiene información sobre la estructura de la partición y el programa


cargador

♦ El programa cargador:

• Incluye los aspectos más básicos de iniciación del HW y un bucle de lectura


que carga el SO en una dirección de la memoria

• Cuando termina salta a la dirección de memoria donde puso el núcleo y se


arranca el SO

▪ Creación de la estructura lógica del SF:

• Estructura lógica de un SF con inodos:

▪ Lista de bloques defectuosos:

• Los bloques en mal estado se marcan como ocupados y no se liberan nunca


• Bloque defectuoso: Cuando alguno de los sectores que lo componen son
defectuosos

• Detección por la paridad del sector introducida durante el formato físico

▪ Lista de bloques de repuesto:

• Permite sustituir un bloque del dispositivo si falla durante el tiempo de vida del
mismo

ALMACENAMIENTO TERCIARIO

▪ Características:

♦ Sistema de almacenamiento con:

• Alta capacidad

• Bajo coste

• Más lentos

• Dispositivos extraíbles donde almacenar datos que no se necesitan


inmediatamente en el sistema

▪ Disquetes, ZIP, JAZZ:

• Pueden ser casi tan rápidos como el disco duro, pero suelen fallar más debido
a su constate manipulación

▪ Discos magneto-ópticos:

• Mayor densidad, capacidad y fiabilidad

▪ Memorias ópticas y discos digitales versátiles:

• CD, CD-ROM, CD-R, CD-RW

• DVD, DVD-R, DVD-RW

▪ Cintas magnéticas:

• Soporte de gran capacidad y economía

• Ideal para operaciones que no requieren acceso rápido: respaldos,


almacenamiento masivo, etc.
• Manipuladas manualmente o mediante robots que cambian cintas
automáticamente

• Los ficheros residentes en disco se pueden archivar en cintas (por razones


económicas) y volver a cargar en disco de forma dinámica

▪ El comando tar del intérprete de comandos de sistemas UNIX:

• tar –cvf /dev/rmt0 /usr/ castano Copia los datos del usuario castano al
dispositivo de cinta /dev/rmt0

• tar –uvf /dev/rmt0 /usr/castano Copia anterior incremental

• tar –tvf /dev/rmt0 Muestra la información almacenada en /dev/rmt0

• tar –xvf /dev/rmt0 Extrae la información almacenada en /dev/rmt0

EL RELOJ

▪ Varias acepciones:

♦ Reloj del procesador vinculación con SO

♦ Reloj del sistema (mantiene fecha y hora)

♦ Reloj temporizador (activa periódicamente al SO)

▪ ¿El reloj es un dispositivo de E/S?

♦ Características similares a dispositivos de E/S:

• Su programación implica usar registros de E/S

• Usa interrupciones

HW DEL RELOJ

▪ Circuito temporizador que genera señal periódica (tic)

♦ Conectado a línea de interrupción de alta prioridad

♦ Frecuencia programable ▪ Reloj CMOS:

♦ Alimentado por batería que mantiene hora y fecha cuando la máquina está
apagada

♦ Consultado por SO en su arranque


SW DEL RELOJ

▪ Labor principal del SO con el reloj:

♦ Gestión de las interrupciones de reloj

▪ Frecuencia de interrupción:

♦ Demasiado alta: Excesiva sobrecarga por tratamiento de interrupciones

♦ Demasiado baja: Limitada precisión en medida del tiempo

♦ Ejemplo típico: 100 Hz (1 interrupción cada 10 msg.)

▪ Rutina de interrupción de reloj:

♦ Se debe minimizar el trabajo realizado en ella (ya que mientras no se


atienden interrupciones de menor prioridad)

♦ Solución típica: Dividir trabajo asociado a interrupción de reloj

• Operaciones más urgentes dentro de la rutina de interrupción

• Resto: tratamiento posterior fuera de la rutina

FUNCIONES DEL MANEJADOR DEL RELOJ

▪ Mantenimiento de fecha y hora

▪ Gestión de temporizadores

▪ Contabilidad y estadísticas

▪ Soporte para la planificación de procesos y recursos

MANTENIMIENTO DE FECHA Y HORA

▪ Cálculo de la fecha y hora:

♦ En el arranque del SO se lee del reloj CMOS (tras programar la frecuencia


del reloj)

♦ A partir de entonces el SO actualiza la hora en cada interrupción

▪ Almacenamiento de fecha y hora:

♦ Unidades de tiempo desde fecha fija en el pasado


• UNIX: sg. o µsg. desde 1-1-1970

• Windows: centenas de nsg. desde 1-1-1601

♦ Diferencias entre horarios de países:

• El SO almacena la hora en el sistema de tiempo estándar UTC (Universal


Coordinated Time)

• Las bibliotecas se encargan de conversión a horario local

GESTION DE TEMPORIZADORES

▪ ¿Quién requiere los temporizadores?

}♦ Los procesos de usuario

♦ El SO crea múltiples temporizadores a partir de temporizador HW

• Módulo de comunicaciones

• Manejador de disquete, etc.

▪ Implementación de temporizadores:

♦ Lista de temporizadores activos

• Elemento de lista: Plazo restante (en tics) + Función a ejecutar al cumplir

▪ Gestión de temporizadores:

♦ Puede consumir bastante tiempo

• Típicamente realizada fuera de rutina de interrupción

CONTABILIDAD Y ESTADISTICAS

▪ La ejecución periódica de la rutina de interrupción de reloj permite muestrear


diversos aspectos del estado del sistema

♦ Contabilidad de uso de procesador de cada proceso

• Se le carga el uso de procesador al proceso en ejecución

• Se distingue si estaba en modo usuario o sistema

SOPORTE PARA LA PLANIFICACION


▪ Algoritmos de planificación:

♦ En la mayoría influye el tiempo  La rutina de interrupción de reloj conlleva


acciones de planificación

♦ Round-Robin:

• En cada interrupción se descuenta tiempo a la rodaja

• Cuando llega a cero → Replanificación

♦ Algoritmos de prioridad:

• Pueden requerir recalcular periódicamente prioridad

También podría gustarte