viernes, 24 de abril de 2020

Creación de clases a partir de análisis

Ya vimos las pautas de seguir para descomponer un programa como una serie de clases que se relacionan entre sí. Sin embargo, para el programa de la agenda una descomposición en clases sería muy forzada debido a la poca complejidad del programa.

Pero se puede optar por separar la parte visual (aplicación principal) y la parte lógica (lista de personas) para reutilizar la mayor cantidad posible de código por si se creara otra versión del programa en el entorno gráfico o con otra interfaz. Para ello es posible crear una clase lista de personas que cargue y guarde datos permitiendo el acceso a ellos. Así los datos pasarían de se un struct a una clase con los mismos campos pero con métodos que permitieran obtener y fijar los valores de los campos al igual que simplificar la búsqueda.



A continuación aquí dejo el enlace del vídeo que corresponde a esta imagen que explica de manera clara como construir un deagrama de clases: https://youtu.be/Q1kH7XKxK5I


martes, 21 de abril de 2020

Decisión de tareas a partir del análisis.

Una vez analizados los requisitos que debe cumplir el programa, el siguiente paso consiste es decidir las estructuras básicas que van a emplearse.
El programa propuesto es simple, podría ser realizado es pocas horas, de modo que la fase de diseño podría reducirse a qué estructuras de datos usar y en qué funciones descomponer el cuerpo del programa.
Más adelante, se planteará el programa como una serie de objetos que colaboran entre ellos, con la ayuda de un diagrama de clases.

La estructura de datos podría ser la siguiente:

-Cada dato individual se almacena en un struct, y para que se puedan almacenar todos los datos que se desean, los struct se almacenan en un vector.

Y las funciones en las que se descompondría podrían ser:

-mostarMenu: muestra la lista de opciones disponibles.
-nuevaFicha: pide los datos de una nueva persona.
-verFichas: muestra en pantalla la primera ficha. Al pulsar sobre ciertas teclas, el usuario podrá consultar la ficha anterior, posterior, modificar la actual...
-modificar: pide los campos de la ficha que se indique como parámetro. Si no se desea cambiar algún datos, bastará con pulsar Intro para conservarlo como está.
-buscarTexto: pide al usuario el texto que desea buscar y muestra las fichas de una en una. Si no existe una siguiente ficha, la opción de continuar desaparece.
-buscarCumpleMes: muestra las fechas de nacimiento y los nombres y apellidos de las personas que cumplen años en cierto mes.
-guardar: vuelca todos los datos a un fichero, reemplazando el contenido anterior de dicho fichero. También es posible guardar los datos tras cada modificación, siempre que el contenido del fichero esté actualizado.
-cargar: lee todos los datos desde fichero.









Diagrama de casos de uso


Un documento de especificación puede ser incomprensible para un cliente que no posea este tipo de conocimientos. Por este motivo, se suelen elaborar diagramas con un contenido más visual.
Uno de los más habituales es el diagrama de casos de uso. En estos, el sistema se representa como un rectángulo, las acciones se incluyen dentro de elipses y se dibujan figuras para simbolizar a diferentes tipos de personas que pueden interactuar con el sistema.
Por ejemplo, una versión mejorada del programa podría incluir al usuario normal, que tendría la capacidad de ver y manipular datos; también podría incluir a un administrador, que éste podría consultar y añadir datos.






viernes, 17 de abril de 2020

Análisis. (segunda parte)

Refinamiento. 

En las empresas de desarrollo de software, suele existir un analista, experto encargado de hablar con el cliente. También formula las preguntas adecuadas para que el proceso de refinamiento sea el más correcto posible.
En empresas pequeñas es posible que no exista, por lo tanto es habitual que los programadores independientes no identifiquen las necesidades de los clientes. En estos casos, una segunda lectura pormenorizada puede contribuir a afinar detalles. Por ejemplo, se podrían detectar las siguientes carencias:

¿No se podrán consultar los datos si no se hace una búsqueda?
¿Qué datos de cada persona que cumpla años deben mostrarse?
¿Los datos se guardarán automáticamente?
¿Es necesario guardar los datos en un fichero?
¿No será necesario modificar ni borrar datos? Etc...

Así en la realización de un proyecto real es cada vez mas habitual repetir varias veces la secuencia análisis-diseño-implementación-verificación, proceso con el fin de que los errores y las carencias del programa puedan ser detectadas cuanto antes.



Prototipos visuales.


Una herramienta que puede resultar útil para contribuir a la detección de errores o malentendidos en la especificación de requisitos son los prototipos visuales. Estos consisten en la creación de maquetas de pantalla con las que se muestra al cliente una idea aproxima de cómo va a ser el resultado a nivel visual.
Así los prototipos visuales permiten al usuario detectar si falta algún detalle o si el vocabulario es incorrecto.Por ejemplo, para la agenda contactos, pueden contribuir prototipos visuales de pantalla de menú , de visualización de datos...
Los prototipos pueden dar una idea tanto de los textos que aparecerían en pantalla como de la forma en la que el usuario interactuaría con el programa .





miércoles, 15 de abril de 2020

Análisis

Características del análisis de requisitos

Para crear un programa en un tiempo limitado y con unos costes limitados, el primer paso consiste en pensar que tareas debe realizar.
Crear una lista con los requisitos que debe cumplir el programa favorece la orientación del trabajo , la determinación de qué tareas son más importantes cuales no deben hacerse, así como el establecimiento del momento en el que el proyecto se podrá dar por terminado. Este último aspecto es muy importante en un programa a medida, evita que crezca de indefinidamente por el hecho del que el cliente añada nuevas características.
Una vez estimado el tiempo necesario y el presupuesto, las características nuevas que el cliente desee deben anotarse para su realización de una versión posterior del proyecto.




Especificación

Es habitual elaborar un documento en el que se recopilen los requisitos que debe cumplir el programa. Estos requisitos pueden reflejarse en una lista de cosas que el programa debe hacer. Sin embargo es habitual distinguir entre los requisitos funcionales (lo que hará el programa) y los requisitos técnicos (limitaciones físicas).
Para un programa no muy complicado se puede partir de la siguiente lista:

-El programa será una agenda de contactos que guardará datos y se podrán consultar posteriormente.
-Deberá almacenar los datos personales de cada persona (nombre, apellidos, domicilio...), siendo el nombre el único dato obligatorio.
-Permitirá guardar una elevada cantidad de datos.
-Los datos deberán guardarse en fichero para poder acceder a ellos cunado sea necesario.
-Permitirá buscar datos a partir de cualquier palabra introducida en la búsqueda.
-Buscará las personas que cumplan años en los próximos treinta días.
-El programa deberá haberse creado en C++ y permitirá trabajar en modo texto, de forma que se pueda compilar en Windows, LliureX o Linux.





lunes, 10 de febrero de 2020

Programación estructurada

Lenguajes, compiladores e intérpretes.

  •  Lenguajes de bajo nivel y de alto nivel 
Un programa es una secuencia de instrucciones. Un lenguaje de programación se conoce como algoritmo o secuencia de pasos para resolver un problema.
Hay dos tipos de lenguaje de progamación:

-Bajo nivel: parecido al código máquina (ceros y unos), difícil de entender.
-Alto nivel: lenguaje parecido al de los humanos, fácil de entender.

  • Compiladores e intérpretes
Los compiladores son las herramientas encargadas de convertir nuestro programa escrito en lenguaje de alto nivel(=programa fuente) a código máquina, a través de lo cual se obtiene un programa ejecutable.

Los intérpretes son otro tipo de traductor, pero éstos no crean ningún programa ejecutable capaz de funcionar por sí mismo.

Por lo tanto, un programa interpretado comenzará a funcionar antes que un programa compilado (pues no es necesario traducir todo el programa para empezar), pero será más lento en los programas de cálculo intenso (porque cada orden se tiene que traducir tantas veces como se ejecute).

  • Pseudocódigo 
A pesar de quje los lenguajes de alto nivel se asemejan al lenguaje natural que los seres humanos empleamos para hablar, es habitual no usar ningún lenguaje de programación concreto cuando queremos plantear inicialmente los pasos necesarios para resolver un problema , sino emplear un lenguaje de programación ficticio , no tan escrito , en muchos casos escrito incluso en lenguaje castellano. Este lenjuaje recibe el nombre de pseudocódigo.

ej: Pedir número 1
     Pedir número 2
     si número 2 es distinto de 0
     Escribir "su división es", número 1/ número 2
     Si no
     Escribir "no se puede dividir entre cero"

martes, 4 de febrero de 2020

Esquema.UD4



1. La seguridad de la información

-Confidencialidad
-Integridad
-Disponibilidad
-Autentificación
-Autorización
-Cifrado
-No repudio
-Vulnerabilidad
-Seguridad de la información

2. Amenazas a la seguridad

-Tipos de amenazas:

Humanas 

·Ataques pasivos: Usuarios con conociminetos básicos
Hackers

·Ataques activos: Antiguos empleados de una organización
Crackers y otros atacantes


Lógicas 

·Software malicioso
·Vulnerabilidades del software

Físicas

·Fallos en los dispositivos
·Accidentes
·Catástrofes Naturales

-Conductas a la seguridad:

·Activa:

-Control de acceso
-Encriptación
-Software de seguridad informática
-Firmas y certificados digitales
-Protocolos seguros

·Pasiva:

-Herramientas delimpieza
-Copias de seguridad
-Sistemas de alimentación ininterrumpida
-Dispositivos NAS
-Sistemas redundantes

 
3. Malware

-Tipos de Malware:

·Virus
·Gusano
·Troyano
·Spyware
·Adware
·Ransomware
·Rogue
·Rootkit


-Otros tipos:

·Phishing
·Pharming
·Spam
·Hoax

4.Ataques a los sistemas informáticos:

-Tipos de ataques

·Interrupción
·Intercepción 
·Modifiación
·Suplantación

-Ingienería social

-Ataques remotos

·Inyección de código
·Escaneo de puertos
·Denegación de servico
·Escuchas de red
·Spooting
·Fuerza bruta
·Elevación de privilegios

5. Protección contra el malware

-Políticas de seguridad
-Antivirus

6. Cifrado de la información 

-Criptografía , Criptología y Criptoanálisis

-Tipos de criptología:

·Simétrica
·Asimétrica
·Pública

7.Firma eléctronica y certificado digital

La firma electrónica 
Certificado digital
Autroridades de certificación

8.Navegación segura:

-Buenas prácticas de navegación ...
-Navegación privada
-Navegación anónima
-Navegación Proxy

9.Privacidad de la información:

-Amenazas a la privacidad:
-Antiespías

10. Protección de las conexiones en red

-Cortafuegos
-Red privada virtual
-Certificados SSL/TLS de servidor web y HTTPS


domingo, 2 de febrero de 2020

Seguridad en las comunicaciones

Las redes inalámbricas ofrecen soluciones para compartir información sin hacer uso de cables , posibilitando la trtansferencia de datos.Los másutilizados son Bluetooth y Wifi.
  • Seguridad en Bluetooth:
Bluetooth es la especificaciób que define un estándar global de comunicaciones inalámbricas para redes de área personal y que permite la transmisión de voz y de datos entre diferentes equipos por medio de un enlace por radiofrecuencia en entornos de comunicaciones móviles.
Tiene un alcance de 10 metros. Algunos de los ataques que se realizan por medio de estas comunicaciones son:

-Bluejacking: consiste en el envío de spam al usuario por medio del intercambio con este de una vCard, de una nota o de un contacto en cuyo nombre aparezca el mensaje de spam
-Bluesnarfing: aprovecha las vulnerabilidades del protocolo para sustraer información del dispositivo atacado.
-Bluebugging:utiliza técnicas de ingienería social para que la víctima acepte una conexión inicial para infectar el dispositivo con malware de control remoto.

  •  Seguridad en Wifi
 utilizan una tecnología inalá,brica que realiza la conexión entre dispositivos situados en un área relativamente pequeña a través de ondas electromágneticas .La señal suele tener un alcance de 100 metros, aunque cualquier ataque podría captar la señal a varios kms.
Para mantener la seguridad de red wifi se toman las siguientes medidas:

-Personalizar la contraseña de acceso: suelen ser muy vulnerables y se averiguan rapidamente
-Cambiar el SSID: es el identificador con el que se etiqueta la red inalámbrica para que cada usuario pueda localizarla
-Revisar el cifrado:es necesario utilizar estándares de cifrado como WPA2 para que nopueda ser interceptada tan facilmente.
-Desactivar el acceso por WPS: facilita la configuración de red segura con WPA2 a sus usuarios.
-Filtrar las MAC: las direcciones MAC son establecidas por el fabricante y únicas para cada dispositivo.
-Actualizar el firmware:  es el software que controla los circuitos de los dispositivos eléctronicos.
-Comprobar el historial de actividad: la actividad de router puede desvelar información sobre posibles intrusiones.
-Utilizar software de auditoría : para detectar sus posibles vulnerabilidades.















viernes, 31 de enero de 2020

Protección de las conexiones en red

  • Cortafuegos
También denominado "firewall", es un dispositivo hardware o software cuya finalidad es controlar la comunicación entre un equipo y la red, por lo que se ha convertido en una de las principales defensas contra ataques informáticos y en una pieza clave para bloquear la salida de información del ordenador a Internet.

Todos los mensajes que entran o salen por el cortafuegos son examinaods , de modo que aquellos que no cumplen los criterios de seguridad especificados son bloqueados, con el próposito de evitar los ataques de intrusos , los accesos de empleados a sitios no autorizados , la descarga de software dañino o que los equipos infectados de malware envíen datos sin autorización fuera de la red.
  



  • Redes privadas virtuales
Son conexiones punto apunto a ravés de una red privada o pública insegura , como Internet. Los clientes usan protocolos especiales basados en TCP/IP, para realizar conexiones con una red privada y una vez que el servidor VPN autentifica al usuario, se establece una conexión cifrada. Existen dos tipos de conexiones:

-VPN de acceso remoto: se utilizan par que los usuarios  tengan acceso a un servidor de una red privada con la infraestructura proporcionada por una red pública. 

-VPN de sitio a sitio: permiten a las organizaciones conectar redes a través de Internet utilizando comunicaciones entre ellas.

  • Certificados SSL/TLS de servidor web y HTTPS
El SSL es un protocolo criptográfico desarrollado por Nestcape hasta la versión 3.0, cuando fue estandarizado y pasó a denominarse TLS.
Dichos estándares se utilizan para emitir certificados de sitios web , por lo que son una pieza fundamental en la seguridad , ya que grantizan la integridad  y la confidencialidad de las comunicaciones. 
Cuando se utiliza el cifrado SSL/TLS junto al protocolo de navegación web HTTP, se crea un canal cifrado seguro denominado "HTTPS".Etse canal utiliza una clave de 128 bits de longitud,conocida únicamente por el dispositivo conectado y por el servidor que facilita la conexión , de modo que encripta los datos convirtiéndolo en un medio seguro.
 

















miércoles, 29 de enero de 2020

Privacidad de la información

Se considera información privada aquella información protegida por la LOPD o aquella que otros usuarios o entidades no desean que sea conocida.
  • Amenazas a la privacidad
Algunas de ellas son las siguientes:

-Sistemas operativos: la mayoría de dispositivos que se conectan a Internet utilizan un sistema opertativo que, para funcionar, reúne la información confidencial del usuario, como sus datos de identificación biométrica, sus idioma, su ubicación, sus búsquedas habituales...Los atacantes podrían aproovechar alguna vulnerabilidad en ese software para obtener todos estos datos.

-Contraseñas: el método más extendido para la identificación de los usuarios es el uso de contraseñas .Para evitar que otros usuarios consigan apoderarse de esta información secreta, es importante utilizar autentificaciones biométricas o en su defecto, generar contraseñas fuertes con distintos tipos de caracteres y con una longitud mínima de ocho caracteres 

-Registro de visitas web: cada vez que se accede a una página web, el navegador proporciona datos sobre el navegador .Estos datos pueden ser utilizados fraudulentamente para obtener información de los usuarios y lanzar ciberataques .

-Sesiones del navegador: algunos navegadores permiten gestionar el historial o los marcadores desde cualquier lugar 

-Cookies: algunos sitios web utilizan cookies para obtener información acerca de los hábitos de navegación del usuario o sus datos personales , para realizar seguimientos de compras el línea ,etc. En la mayoría de los casos esta información se utiliza para fines publicitarios, aunque en otras ocasiones las cookies pueden ser manipuladas con intenciones fraudulentas 

-Formularios: la web 2.0 ofrece multitud de servicios online , que, en la mayoría de casos, requieren que el usuario se registre a través de un formulario . En caso de contener campos con información confidencial , es necesario verificar la legitimidad del sitio .Una buena estrategia es corroborar el dominio y el uso del protocolo HTTPS.

-Redes sociales: las publicaciones en redes sociales, como instagram,facebook....,esconden más peligros de lo que la mayoría de usuarios sospechan. Para los ciberataques , las redes sociales constituyen un mñetodo sencillo y rápido con el que acceder a todo tipo de información personal .

-Google: la principal fuente de ingresos de Google está relacionada con la publicidad adaptada a los gustos y necesidades del usuario.


  • Antiespías
El espionaje se define como la obtención encubierta de datos o de información confidencial.
Los programas espías o spyware se introducen en los dispositivos en forma de pequeñas aplicaciones que recopilan información del sistema  y de los usuarios para enviarla a los ciberataques.
 Los programas antiespías funcionan de manera similar a los antivirus , a saber: comparan los archivos analizados con una base de datos software  espía.

  • Borrar archivos de forma segura 
Cuando se elimina un archivo de la papelera es posible recuperarlo si se utiliza el software adecuado.
Esto compromete la privacidad cuando el usuario quiere eliminar archivos sin que nadie pueda tener acceso a ellos y por ello tambien existen programas para eliminar la información de forma segura para que sean irrecuperables

lunes, 27 de enero de 2020

Navegación segura

  • Buenas prácticas de navegación segura
El uso adecuado del navegador, de las herramientas de seguridad y del sentido común son las mejores armas para no convertirse en víctima de ciberataques, Algunas pautas son:

Configurar el navegador adecuadamente: el navegador permite configurar diferentes niveles de seguridad, lo que posibilita usar filtros contra la suplantación de identidad, bloquear elementos emergentes y activar el control parental. Además, es recomendable eliminar el historial y la memoria caché.
No acceder a sitios web de dudosa reputación y evitar enlaces sospechosos: los vínculos contenidos en páginas web, mensajes de correo electrónico o mensajería instantánea pueden direccionar a las víctimas a sitios web maliciosos.
Aceptar únicamente las cookies deseadas: las cookies son archivos con meta datos de una visita: identificadores de sesión, procedencia de la visita. duración de ella, ...
Proteger los datos personales: no se deben facilitar datos personales en las páginas que no sean de absoluta confianza y que no estén bajo protocolo seguro (HTTPS).
Revisar el correo electrónico: utilizarlo con cautela, sospechando de los mensajes no esperados, es recomendable activar la detección de spam y revisarla.
Actualizar el sistema operativo y sus aplicaciones: es recomendable configurar las actualizaciones automáticas del equipo.

  •  Navegación privada
Es una medida de privacidad para que el navegador no almacene la información que se genera en relación con la navegación. Es recomendable su uso al compartir el equipo con otra personas. Su uso permite alejar a curiosos, pero no a atacantes expertos. Para activarla, hay que utilizar la opción nueva ventana de incógnito, navegación privada o navegación inPrivative.

  •  Proteger la privacidad en la red con un proxy
Los servicios proxy actúan como intermediarios entre los equipos de los usuarios y los sitios web que visitan. De este modo las páginas visitadas solo pueden captar datos del proxy. Algunos ejemplos son Anonymouse o hide.me.
Funcionan correctamente para buscar información pero lentos para acceder a contenidos myltimedia o para descargar ficheros.

  •  Navegación anónima
Evita el seguimiento de sitios web que intentan obtener información de los usuarios y mantener el anonimato en comunicaciones que requieren la máxima privacidad. Estas redes anónimas están diseñadas para proteger la privacidad de los internautas frente a las amenazas de la red pero estos quedan registrados en los servidores anónimos igual que los operadores pueden identificar cualquier llamada oculta.En caso, de que un malhechor utilice las redes para cometer un delito, este puede ser identificado por las autoridades con la misma facilidad que con un navegador tradicional.
Un ejemplo de navegador anónimo es Tor. Otra opción es instalar complementos de navegación anónima como anonymaoX.

viernes, 24 de enero de 2020

Firma electrónica y certificado digital

  • La firma electrónica 
Se define como el conjunto de datos asociados a un documento welectrónico que permite realizar las siguientes acciones:

-Identificar al firmante de forma inequívoca. Requiere el uso de una clave privada que únicamente conoce el firmante

-Asegurar la integridad del documento firmado .Proporciona mecanismos para comprobar que el documento  firmado es exactamente el mismo que el original y que no ha sufrido alteración ni manipulación

-No repudio. Certifica que los datos utilizados por el firmante para realizar la firma son únicos y exclusivos, y por lo tanto , no puede argüir a posteriori que no ha firmado el documento en cuestión.

Al firmar digitalmente un documento electrónico , se le confiere una validez jurídica equivalente a la que proporciona la firma manuscrita , con la ventaja de que este procedimiento no requiere de la presencia física del firmante , y además no se puede falsificar. Este documento debe conservarse , y cualquier impresión debe contener un código seguro de verificación (CSV) que permita contrastar la copia impresa con el original electrónico.

1.Firma de documentos electrónicos

El firmante genera, mediante una función hash , un resumen que es utilizado como huella digital del mensaje. El resultado que se obtiene de este resumen , que se cifra con su clave privada, se denomina "firma digital" y se enviará adjunta al mensaje original 
Cualquier receptor del mensaje puede comprobar su autoría descifrando la dirma digital con la clave pública del firmante, lo que dará como resultado el resumen del mensaje.
Para comprobar que el contenido no ha sido modificado desde su creación , se aplica la función hash al documento original por medio de la comprobación del resultado obtenido con el resumen cifrado que se ha recibido. Si ambos coinciden , el documento queda verificado ; en caso contario, se considera que el documento es erróneo o ha sido modificado.

2.¿Cómo se firma un documento?

Para realizar la firma electrónica de un documento, se pueden seguir dos métodos:

-Utilizar una aplicación en el dispositivo. Son aplicaciones de firma que se descargan en el equipo.Existen programas cotidianos, como Adibe Acrobat o Microsoft Office Word , que permite firmar documentos, aunque es conveniente recurrir a aplicaciones ofrecidas por las Administraciones públicas, como Autofirma, eCofirma y @firma.

-Firmar directamente en Internet. Esta opción se utiliza habitualmente al firmar formularios o solicitudes, por ejemplo, en relación con las Administraciones Públicas. El usuario también puede firmar sus propios documentos en Internet a través de del servicio ofrecido en el d¡sitio oficial de VALIDe.


  • El certificado digital
Es un documento electrónico ,expedido por una autoridad de certificación, cuya misión es validar y certificar que una firma electrónica se corresponde con una persona , con una empresa o con un organismo público.Contiene la información necesaria para firmar electrónicamente e identificar a su propietario con sus datos 

El certificado digital identifica a una persona o entidad con dos claves: una pública y otra privada, de modo que los datos cifrados con una sola se pueden descifrar con la otra . Se diferencian en la clave privada que está pensada para estar siempre bajo el control del firmante y, en cambio la pública se puede repartir o enviar a otros usuarios.

1. Autoridades de certificación.

Son aquellas instituciones de confianza responsables de emitir y revocar los certificados digitales utilizados en la firma electrónica, ya que, de otro modo. no contarían con las garantías de seguridad para los que han sido diseñadas.































martes, 21 de enero de 2020

Cifrado de la información

Es un procedimiento imprescindible para garantizar la confidencialidad e integridad de la información.

  • Orígenes:
El uso de la ciptografía se remonta al origen del lenguaj, cuando los primeros hombre tuvieron que desarroollar heramientas para asegurar la confidencialidad en determinadas comunicaciones.
 Los giegos, utilizaban un cilindro o bastón denominado alrededor del cual se enrollaba una tira de cuero.Al escribir un mensaje sobre el cuero y desenrollarlo , se observaba una ristra de caracteres sin sentido.
Durante el imperio romano,los ejércitos utilizaron el cifrado de César , consistente en desplazar cada letraa del analfabeto un número determinadp de posiciones.
Durante la segunda guerra mundial, los alemanes utilizaron la máquina Enigma para cifrar y descifrar los mensajes. Alan Turing fue uno delos artífices del descifre del primer mensaje y del cambio de rumbo de la guerrra, de lahistoria y de la seguridad in formática. Hoy en día a Turing se le considera uno de los padres de la informática
No obstante, la era de la criptografía moderna comienza realmente con Claude Elwood, quien , con sus publicaciones sobre la teoría de la información y la comunicación , estableció las bases de la criptografía y el criptoanálisis modernos. 


  • Criptografía:
La criptología es la disciplina científica dedicada al estudio de la escritura secreta. Está compuesta por dos técnicas antagonístas: la criptolografía y el criptoanálisis.
-La criptografía es el arte de escribir con clave secreta o de un modo enigmático
-El criptoanálisis estudia los sistemas criptográficos para encontrar sus debilidades y quebrantar la seguridad con el fin de descifrar textos sin conocer las claves

Criptografía de clave simétrica: Emplea la misma clave para cifrar y descifrar los mensajes. Es muy rápida pero insegura ya que el remitente tiene que enviar tanto el mensaje cifrado como la clave.


Criptografía de clave asimétrica:  Utiliza dos claves, una pública y una privada. Cada usuario posee una clave pública y otra privada. Cuando se cifra un mensaje con clave pública de una persona,solo puede descifrarse utilizando la clave privada de dicha persona.


Criptografía de clave pública: utiliza un cifrado de clave pública que combine ambas criptografías con el objetivo de obtener una garantía plena de cpnfidencialidad.











lunes, 20 de enero de 2020

Protecciones contra el malware

  • Políticas de seguridad
Es el conjunto de normas y procedimientos que difinen las diferentes formas de actuación recomendadas,con el fin de garantizar un cierto grado de seguridad.

Además existe legislación de obligado cumplimiento: LSSiCE (ley servicio de la sociedad de información y del comercio electrónico) y LOPD (ley orgánica de protección de datos).
  • Soluciones antivirus
Un antivirus es un software que tiene como finalidad prevenir ,detectar y eliminar virus, software malicioso y otros ataques en el sistema .Reside en la memoria, analizando constantemente los archivos ejecutados, los correos entrantes, las páginas visitadas , las memorias USB introducidas...etc.

En caso de amenaza, los antivirus muestran un mensaje al usuario con las posibles acciones que pueden llevar a cabo : omitir aviso,desinfectar el archivo,moverlo a la cuarentena o eliminarlo.Para detectar un software malicioso, estos programas utilizan una base de datosde firmas o definiciones de virus con la que comoaran el código de los archivos. También suelen utilizar algoritmos heurísticos que advierten de comportamientos sospechosos.

Los antivirus actualizan constantemente sus definiciones de virus incluyendo nuevas amenazas que van apareciendo , y por eso es imprescindible que estén instalados en equipos con conexión a internet. Algunos de los más importantes son:Avast, Avira, kapersky, McAfee, Norton.

Además tambien hay otra opción de antivirus en línea gratuita que permiten informarmar con garantía de no estar informados.
  • Síntomas de infección
Las principales infecciones son:

- Ralentización del equipo durante el arranque, funcionamiento o conexión a internet.
- Desaparición de carpetas o archivos o distorsión de sus contenidos.
- Aparición de publicidad, mensajes de error o sojnidos no habituales.
- Movimiento automático del ratón, de los menus o de las ventanas.
- Fallos o comportamientos extraños en las aplicaciones
- Intentos de conxión a internet inesperados
- Secuestro de la página de inicio del navegador y cambio del buscador predeterminado.
- Aparición de barras de herramientas extrañas en el navegador web.
- Envío de correos electrónicos o de mensajes a los contactos de una lista.
- Aumento de la actividad del equipo y del tráfico en la red.
  • Pasos a seguir en caso de infección
Después de haber detectado una infección en necesario adoptar las siguietes medidas:

- Restaurar el sistema a un estado anterior: permite devolver al equipo a un estado seguro anterior si que se pierda información.

- Actualizar la base de datos del antivirus y realizar un análisis completo del equipo: en caso de que no se detecte el malware, se puede optar por utilizar aplicaciones de otros fabricantes o por realizar un análisis en línea.

- Arrancar el equipo con un Live CD o Live USB:
Esta opción permite: 
  ·Analizar el equipo con un antivirus sin contaminar , ya que el instalado podría estar infectado.
  ·Extraer los archivos para recuperar la información en casode haber sido dañado y nopermita iniciar el sistema.

- Ejecutar utilidades de desinfección específicas,que actúan como antídotos de virus o eliminan amenazas concretas: una vez conocida la amenaza , dichas utilidades se pueden descargar desde sitios web seguros, desarrolladores de antivirus, foros de seguridad ,etc.

jueves, 16 de enero de 2020

Ataques a los sistemas informativos

  • TIPOS DE ATAQUES:
Los principales ataques se dividen en los siguientes grupos:

-Interrupción: ataque contra la disponibilidad de un sistema. El resultado de esos ataques es que un recurso quede destruido, inutilizable o no disponible

-Interceptación: ataque contra la confidencialidad de un sistema a través del que un programa, proceso o usuario consigue acceder a recursos para los que no tienen autorización.

-Modificación: ataque contra la integridad de u sistema a través del cual,además de acceder a un recurso, se manipula. Suelen ser los más dañinos, ya que pueden wliminar parte de la información ,dejar algunos disitivos inutilizables, crear inconsistencias e introducir errores ...etc.

-Suplantación  o frabricación: ataque contra la autenticidad mediante el cual un atacante inserta objetos falsificados en el sistema.

  • INGIENERÍA SOCIAL: 
 Es una técnica ampliamente utilizada que no explota las vulnerabilidades a nivel tecnológico de un sistema , sino ciertos comportamientos y conductas de los seres humanos.Por lo general, estas técnicas de ataque buscan canalizar la atención a los usuarios apropvechando aspectos de su personalidad para que realizen actos involuntarios sin sospechar que están colaborando con el atacante para que logre sus objetivos.
Esta tecnica seutiliza para conseguir información privilegios o acceso a sitemas. En la práctica , se utilizan, principalmente, el teléfono e internet para engañar a los usuarios por medio de la simulación.


  • ATAQUES REMOTOS:
Es aquel que utiliza un conjunto de técnicas para acceder a u sistema informativo a distancia .Por lo general, utiliza software malicioso que aprovecha las vulnerabilidades de seguridad en las aplicaciones , sistemas operativos y protocolos de red.
Algunos ataques son:
-Inyección de código: añade o borra información en sitios remotos que no están bien protegidos.

-Escaneo de puertos: averigua qué puertos de un equipo en la red se encuentran abiertos para determinar los servicios que utiliza y, posteriormente ,lanzar el ataque.

-Denegación de servicio DoS): satura los recursos de un equipo o de una red para que deje de responder o lo haga con tal lentitud que se considere no disponbible. Los objetivos habituales de este tipo de ataques son servidores web.Cuando el ataque se lanza de varios puntos de conexión se denomina DDoS.

-Escuchas de red: captura e interpreta el tráfico de una red , aplicando distintos tipos de filtros. Los atacantes utilizan programas sniffer para interceptar toda la información que pasa por lared espiada, ya sea pinchando un cable con un switch o utilizando antenas.

-Spoofing: suplanta la identidad de un usuario , red, equipo o aplicación, falsificando su dirección IP,DNS,URL, e-mail,...etc.Por medio de esta técnica, el atacante adquiere privilegios para acceder a redes autentificadas por MAC para hacerse pasar por otras persona.

-Fuerza bruta: Vulnera mecanismos de autenticación basados en credenciales deltipo de usuario y contraseña. Se basa en probar todas las combinaciones posibles del espacio de claves de un sistema. Pero a medida que el espacio de claves crece , la capacidad de cálculo actual se vuelven insuficiente para probar todas las claves en tiempos razonables .Por esta razón , se combina la fuerza bruta con eluso de diccionarios que contienen palabras clave organizadas por medio de algún criterio en particular.

-Elevación de privilegios: aumenta los permisos del atacante o administrador o root para obtener un acceso total al sistema.



































































miércoles, 15 de enero de 2020

Conductas de seguridad

Pueden ser de dos tipos: activas y pasivas.

  • Seguridad activa: conjunto de medias que previenen e intentan evitar los daños en los sistemas informáticos. Algunas de las principales mediadas activas son:
-Control de acceso: limita el acceso únicamente al personal autorizado.
-Encriptación: codifica la información importante para que, en caso deser interceotada, no pueda descifrarse.
-Software de seguridad informática: previene el software malicioso y de ataques de intrusos al sistema informático
-Firmas y certificados digitañes: permiten comprobar la procedencia, autenticidad e integridad de los mensajes 
-Protocolos seguros: protegen las comunicaciones, por medio del cifrado de la información para garantizar la seguridad .

  • Seguridad pasiva: conjunto de medidad que reparan minimizan los daños causados en sistemas informáticos. Las prácticas más recomendables son:
-Herramientas de limpieza: en caso de infección es necesario un escaneo completo del equipo y unas herramientas específicas para eliminar el malware.
-Copias de seguridad: restauran los datos utilizando copias delos datos originales que se realizan periódicamente.
-Sistemas de alimnentación ininterrumpida: dispositivos que incorporan una batería para proporcionar corriente al equipo cion el fin de que siga funcionando en caso de fallo eléctrico.
-Dispositivos NAS: permiten que cualquier equipo autoriado pueda almacenar y recuperar la información.
-Sistemas redundantes: duplican componentes críticos para seguir funcionando aunque se produzca un fallo de un componente.

martes, 14 de enero de 2020

Tipos de malware

Desde la aparición de los virus informáticos, los códigos maliciosos han evoluciohnado mucho .Los malware más conocidos son:

Virus: programa informático creado para producir daños en un equipo. Posee dos características principales: actúa de forma transparente para el usuario y tiene la capacidad de reproducirse a sí mismo.

Gusano: programa independiente que tiene por objetivo multiplicarse y propagarse de forma autónoma , infectando, valiéndose de las vunerabilidades de los sistemas ,los equipos. Su capacidad de propagarse por lasredes posibilita que puedan expandirse por todo el mundo en questión de pocos minutos.

Troyano: código malicioso que se oculta dentro de un archivo inofensivo y útil para el usuario. Al igual que los gusanos, no infectan archivos, aunque a diferencia de estos, requieren la intervención de sus víctimas para propagarse.Existen una gran cantidad de troyanos en función de sus acciones y utilidades: Downloader (dercarga otros códigos maliciosos), Cliker (busca beneficio económico a través de clic en publicidad), Bot (controla el quipo de forma remota)...

Spyware: programa espía que almacena información personal del usuario sin su consentimiento. En la mayoría de casos la información obtenido es facilitada a una empresa para el envío de spam.

Adware: programa malicioso que se instalaen el sistema, aprovechando que el usuario acepta sus condiciones de uso, al instalar otras aplicaciones.

Ransomware: aplicación que secuestra un dispositivo por medio de la codificación o del bloqueo al acceso de lainformación , mostrando un mensaje a la víctima en el que se solicita el pago para liberarlo.

Rogue: programa malicioso que simila ser antimaleware pero que ocasiona los efectos contrarios. Muestra en la pantalla advertencias de falsas infecciones, tratando de engañar al usuario para que pague por la supuesta desinfeción.

Rootkit: software con permiso de administrador que se oculta entre herramientas del sistema operativo para proporcionar acceso remoto al atacante. Suspende su actividad al detectar escaneo,por lo que puede pasar desapercibido durante mucho tiempo.

Phishing: Técnica para obtener información de un usuario deforma fraudulenta . El atacante se hace pasar por una persona o por una empresa de confianza, através deun correo electrónico, de un mensaje instantáneo o de una red social, para enviar un enlace a un página web maliciosa con el fin de obtener sus credenciales, cuentas bancarias...etc

Pharming: Técnica que aprovecha la vulnerabilidad de los servidores DNS para redireccionar la direccion web de un sitio de confianza a otro fraudulento con la intención de robar datos y claves.

Spam: mensajes de correo no deseado enviados con fines publicitarios.

Hoax: mensajes de correo, distribuidos  en formato cadena, cuyo objetivo es realizar engaños masivos.

viernes, 10 de enero de 2020

Tipos de amenazas a la seguridad

Las amenazas a la seguridad se pueden clasificar en amenazas humanas,lógicas y físicas.
  • Amenazas humanas: Se clasifican en dos grandes grupos :
- Ataques pasivos: su finalidad es obtener información sin alterarla y son muy dificiles de detectar. Los más habituales son:

  >Usuarios con conocimientos básicos: acceden a los sistemas de información accidentalmente o utilizando tecnicas muy sencillas.
  >Hackers: informáticos expertos que emplean sus conocimientos para comprobar los las vulnerabilidades de un sistema y corregirlas.
   
- Ataques pasivos: persiguen dalñar el objetivo o manipular lainformación para obtener beneficios, por ejemplo: 

  >Antiguos empleados de una organización: aprovechan las devilidades que conocen del sistema para atacarlo
  >Crakers y otros atacantes: burlan los sistemas de seguridad, accediendo a ellos para obtener informaciónm perjudiacar u sistema informático o realizar cualquier actividad ilícita.
  • Amenazas lógicas: El software que puede dañar es de dos tipos: 
-Software malicioso: programas diseñados con fines no éticos, que atacan los equipos comprometiendo su confidencialidad, su integriad y su disponibilidad.

-Vulnerabilidad del software: pueden poner en peligro la seguridad del sistema si es descubierto por un atacante o provoca un fallo.

  • Amenazas físicas: se suelen originar por tres motivos:
- Fallos en los dipositivos: pueden provoc¡car la caída de un sistema informático.

- Accidentes: sucesos provocados de forma involuntaria.

- Catástrofes naturales: desastres como incendios, inundaciones o terremotos.

jueves, 9 de enero de 2020

Actividad 1 y 2 pág 85

Define los siguientes conceptos:
  • Autentificación: permite identificar al generador de la información (usuario y contraseña)
  • Autorización: parte operativa que protege recursos permitiendo que sólo se usen por personal autorizado.
  • Cifrado: ocultar el mensaje enviado por emisor hasta que llega a su destino y es descifrado por el receptor.
  • No repudio: proporcionar pruebas de integridad y origen de datos. (ej: Certificado digital).
  • Vulnerabilidad informática: debilidad del sistema informático que puede ser usado para causar un daño. Puede afectar a hardwarw, software, datos o usuario.

miércoles, 8 de enero de 2020

La seguridad de la información

Empezamos definiendo tres conceptos:
-Seguridad: ausencia de peligro,daño o riesgo. 

-Información: conjunto organizado de datos que constituye un mensaje.En este caso datos digitales.

-Seguridad de la información: se puede definir como el conjunto de medidas de prevención, detección y corrección orientadas a proteger la confidencialidad, la integridad y la disponibilidad de la iformación de un sistema.

  • Principios de la seguridad informática:
Un sistema seguro es aquel conjunto de componentes de hardware y software, que mantiene un nivel aceptable de protección del usuario y de la información del mismo. Principios de la seguridad informática:
 
 1. Confidencialidad de la información: necesidad de que la información solo sea conocida por las personas autorizadas. ej: al realizar una compra por internet con una tarjeta de crédito.

 2. Integridad de la información: posibilidad que el contenido permanezca inalterado a menos que sea modificado por usuarios autorizados. ej: cuando un usuario que no debería tener acceso a una cuenta modifica o borra datos.

 3. Disponibilidad de lainformación: capacidad de permanecer accesible en el lugar , en el momento y en la forma en que los usuarios autorizados lo requieran. ej: el ataque a una compañía aérea podría paralizar los vuelos o poner en riesgo la seguridad de los viajeros.

 En conclusión, la seguridad informática se define como el conjunto de procedientos, estrategias y herramientas que permiten garantizar la confidencialidad, la integridad y la disponibilidad.


Aspectos claves de la seguridad informática