sábado, 30 de mayo de 2020

Tarea: levantamiento de requisitos (Fase 1).


SISTEMA DE GESTIÓN PARA BIBLIOTECAS (PARA USAR EN PC ...


En el siguiente enlace les comparto la tarea: levantamiento de requisitos (Fase 1) para una biblioteca el cual se encargará de gestionar la reserva, prestamo y devolución de los materiales.
la cual nos va a permitir tener:

  • Determinar la factibilidad económica, técnica y operativa de un proyecto de software, surgido de la necesidad de un área específica. De acuerdo a esto, se decidirá si el sistema vale la pena o no desarrollarlo. 

  • Lograr un conocimiento GENERAL y ESTRUCTURADO de los REQUERIMIENTOS de información de un sistema, como base para estimar y proyectar los recursos necesarios para su desarrollo.

  • Plantear distintas alternativas de desarrollo de un sistema, con el fin de que la alta dirección adquiera bases suficientes para decidir cuál es la alternativa a implementar.

  • Realizar una planeación general de actividades para el desarrollo efectivo del sistema. (En caso de ser factible el sistema).

viernes, 29 de mayo de 2020

Aplicación de técnicas de comunicación con el cliente

1. Importancia de la recolección de datos y cuál es la mejor forma de recogerla y por qué?

La recolección de datos en un proyecto permite reunir la información que ayudará a los ingenieros comprender mejor las necesidades del negocio y tener claros cuáles serán los objetivos del proyecto, mediante la recolección de datos se pueden conocer tanto las necesidades como los objetivos del negocio y qué se pretende alcanzar con el proyecto, la información que se va compilando debe ser de personas que conozcan el estado real del negocio y además cuales son las necesidades que se quiere solucionar en el proyecto.

La mejor forma de recoger esta información es mediante las entrevistas con el usuario o usuarios del proyecto, personas directamente implicadas en el negocio y que tengan un amplio conocimiento de las exigencias que debe resolver el proyecto para beneficio del negocio.

Las entrevistas con el usuario son muy importantes ya que hacen parte del método de conocimiento de los objetivos y necesidades del negocio, como también porque se obtiene información veraz y confiable de los menesteres que se quieren resolver por medio del proyecto de software.

 

2. Cuál es la importancia de identificar los requerimientos cuando nos entrevistamos al cliente?

La importancia de identificar los requerimientos en las entrevistas con el cliente son obtener información veraz y confiable de las necesidades planteadas por el futuro usuario del sistema que generalmente son los mandos medios, como también por las personas encargadas del negocio con la visión general de los mandos altos.  Al recoger la información en las entrevistas con el cliente se pueden conocer los diferentes requerimientos tanto funcionales como no funcionales para tener una panorama de aquellas funcionalidades que están en contradicción unas con otras y cuál será la mejor manera de dar solución a estos inconvenientes.

Al entrevistarnos con el cliente podremos conocer cuál es la necesidad que se quiere resolver, ya sea eficiencia o seguridad y a la vez conocer el estado actual de funcionamiento del negocio, teniendo la posibilidad de ofrecer aún más soluciones a problemas que no estén del todo en el conocimiento del usuario.

3. Son mejores los casos de uso que las historias de usuario y porqué?

Al igual que las historias de usuario con los casos de uso se tienen de forma técnica y simplificada las necesidades y requisitos del sistema, los casos de uso sirven para reconocer los requerimientos del software y los usos que le darán los diferentes usuarios.

Considero que los casos de uso no son más importantes que las historias de usuario ya que los casos de uso se limitan a las interacciones que realiza el usuario con el sistema y no se enfocan en descubrir requerimientos empresariales y no funcionales de alto nivel. Esta metodología es muy buena si se usa con los otros métodos para documentar el diseño del sistema. 

Comparativo de ciclos de vida del desarrollo de software


jueves, 14 de mayo de 2020

Clases de direccionamiento IP


Cada host y enrutador de Internet tiene una dirección IP, que codifica su número de red y su número de host. La combinación es única: no hay dos máquinas que tengan la misma dirección IP.

Todas las direcciones IP son de 32 bits de longitud y se usan en los campos de Dirección de origen y de Dirección de destino de los paquetes IP. En importante mencionar que una dirección IP realmente no se refiere a un host. En realidad se refiere a una interfaz de red, por lo que si un host está en dos redes, debe tener dos direcciones IP. Sin embargo, en la práctica, la mayoría de los hosts se encuentran en una red y, por lo tanto, tienen una dirección IP

Por varias décadas, las direcciones IP se dividieron en cinco categorías. Esta asignación se ha llamado direccionamiento con clase (classful addressing). Ya no se utiliza, pero en la literatura aún es común encontrar referencias.


figura formato.


Texto y figura formato extraido de: 
TANENBAUM, ANDREW S. Redes de computadoras. PEARSON EDUCACIÓN, México, 2003

tabla comparativa modelos OSI y TCP/IP


Similitudes modelos OSI y TCP/IP


Modelo OSI


domingo, 10 de mayo de 2020

Norma Nch-ISO 27001

¿Qué es la NCH ISO 27001?

SISTEMAS DE GESTIÓN LA SEGURIDAD DE LA INFORMACIÓN

La NCH ISO 27001 es una norma chilena que ha sido elaborada y difundida por el Instituto Nacional de Normalización (INN, la cual permite garantizar la confidencialidad e integración de la información que manipulan las organizaciones.
La norma NCH ISO27001 para los Sistemas de Gestión de Seguridad de la Información o SGSI hace posible que las organizaciones lleven a cabo una evaluación del riesgo y adopte los controles imprescindibles para lograr mitigarlos e incluso eliminarlos.
Con la implementación de la NCH-ISO27001, las organizaciones consiguen mejorar la imagen dentro de un mercado cada vez más competitivo.
Para llevar a cabo una adecuada Gestión de la Seguridad de la Información en las empresas, se necesita del uso de buenas prácticas o controles que están establecidos por la norma NCH-ISO 27002.

Norma NCH-ISO 27001

Estructura de la norma NCH-ISO 27001

  1. Objeto y campo de aplicación:
    En el primer apartado de la norma NCH-ISO 27001, encontramos unas directrices sobre cómo hacer uso del estándar además de dar indicaciones sobre la finalidad y el modo en el que hay que aplicar dicha norma.
  2. Referencias Normativas
    En este apartado se recomienda consultar documentos necesarios para aplicar adecuadamente la NCH ISO 27001
  3. Términos y definiciones
    En el que se define la terminología a emplear en el estándar.
  4. Contexto de la Organización
    Se trata del primer requisito de la NCH-ISO27001 en el que quedan establecidas unas orientaciones acerca del contexto de la organización, por ejemplo conocer las necesidades y expectativas además del alcance que tiene el Sistema de Gestión de Seguridad de la Información o SGSI
  5. Liderazgo
    En el apartado queda reflejada la importancia de que el personal de la organización esté involucrado en el proceso de implementación de la NCH ISO 27001 incluyendo la alta dirección. Por lo que se precisa de la elaboración de una política de seguridad que esté pública y accesible para cualquiera de los trabajadores y en la que quedarán establecidas los roles, responsabilidades y autoridad de la misma.
  6. Planificación
    En este apartado queda evidenciada la importancia que tiene el establecimiento de riesgos y oportunidades cuando se va a realizar la planificación de un Sistema de Gestión de la Información y la necesidad de determinar objetivos de Seguridad de la Información y la manera de conseguirlos.
  7. Soporte
    En el presente apartado de la NCH-ISO 27001, se indica que para que el SGSI funcione correctamente, la organización tiene que disponer de recursos, competencia, información documentada y comunicación.
  8. Operación
    En la que se establece que es imprescindible realizar una planificación, implementación y control de los procesos ejecutados por la organización. Para lo que será necesario llevar a cabo una valoración de los riesgos y sobre todo adoptar las medidas para su tratamiento.
  9. Evaluación del desempeño
    Durante este apartado, se determina el modo de proceder para realizar el seguimiento, medición, análisis y evaluación, además de la auditoria interna y revisión que debe desarrollar la alta dirección para garantizar que el SGSI funciona coherentemente a lo que se ha planificado.
  10. Mejora
    En el último apartado de la NCH ISO 27001 se establecen las obligaciones de aquellas organizaciones que identifiquen una No Conformidad y la necesidad de mejora continua del Sistema de Gestión de Seguridad de la Información.

Novedades de la NCH-ISO 27001:2013

Con la publicación de la última versión en el año 2013, se adoptaron cambios en la NCH ISO 27001 con respecto a la versión anterior del año 2005. La nueva NCH-ISO 27001:2013 tiene una estructura de alto nivel según establece el Anexo SL. Entre los cambios destacamos:
  • No se muestra el apartado “Enfoque a procesos” y lo mismo ocurre con la metodología fundamentada en el ciclo PHVA.
  • Se suprime el carácter obligatorio de ciertos documentos, manteniendo como obligatorio la declaración de aplicabilidad.
  • Se han examinado los requisitos y controles.
  • Se fomenta el enfoque basado en el análisis del riesgo durante la fase de planificación y operación.
.










Matriz de riesgos


Origen de las amenazas

Amenazas y Riesgos en el manejo de la Información

La tendencia del mundo actual a emplear nuevos mecanismos para hacer negocios, a contar con información actualizada permanentemente que permita la toma de decisiones, ha facilitado el desarrollo de nuevas tecnologías y sistemas de información, que a su vez son vulnerables a las amenazas informáticas crecientes y por ende a nuevos riesgos.  

SPAM 

 Son mensajes no solicitados, habitualmente de tipo publicitario, enviados en forma masiva. La vía más utilizada es la basada en el correo electrónico (SPAM) pero puede presentarse por programas de mensajería instantánea (SPIM) , por teléfono celular (SPAM SMS), por telefonía IP (SPIT) ; el objetivo de esta amenaza es recolectar direcciones de correo electrónico reales para obtener beneficios económicos, transmitir de virus, capturar de contraseñas mediante engaño (phisihing), entre otros. 

HOAX 

Es un mensaje de correo electrónico con contenido falso o engañoso y normalmente distribuido en cadena; algunos informan sobre virus desastrosos, otros apelan a la solidaridad con un niño enfermo o cualquier otra noble causa, otros contienen fórmulas para hacerse millonario o crean cadenas de la suerte como las que existen por correo postal. Los objetivos que persigue quien inicia un hoax son: alimentar su ego, captar direcciones de correo y saturar la red o los servidores de correo. 



Código malicioso (malware) 

Es un tipo de software que tiene como objetivo infiltrarse o dañar una computadora sin el consentimiento de su propietario; el término malware es muy utilizado por profesionales de la informática para referirse a una variedad de software hostil, intrusivo o molesto.

El término malware incluye: 

• Virus:

Los virus informáticos tienen, básicamente, la función de propagarse a través de un software, son muy nocivos y algunos contienen además una carga dañina (payload) con distintos objetivos, desde una simple broma hasta realizar daños importantes en los sistemas, o bloquear las redes informáticas generando tráfico inútil. 

• Gusanos:

 Tiene la propiedad de duplicarse a sí mismo; los gusanos utilizan las partes automáticas de un sistema operativo que generalmente son invisibles al usuario. A diferencia de un virus, un gusano no precisa alterar los archivos de programas, sino que reside en la memoria y se duplica a sí mismo. Los gusanos casi siempre causan problemas en la red (aunque sea simplemente consumiendo ancho de banda), mientras que los virus siempre infectan o corrompen los archivos de la computadora que atacan. 

• Troyanos:

 Es un software malicioso que se presenta al usuario como un programa aparentemente legítimo e inofensivo pero al ejecutarlo ocasiona daños; los troyanos pueden realizar diferentes tareas, pero, en la mayoría de los casos crean una puerta trasera (en inglés backdoor) que permite la administración remota del computador a un usuario no autorizado. 

• Rootkits:

 Es un programa que permite un acceso de privilegio continuo a una computadora pero que mantiene su presencia activamente oculta al control de los administradores al corromper el funcionamiento normal del sistema operativo o de otras aplicaciones. 

• Spyware:

 Es un software que recopila información de un ordenador y después transmite esta información a una entidad externa sin el conocimiento o el consentimiento del propietario del ordenador. 

• Keyloggers:

 Son programas maliciosos que monitorizan todas las pulsaciones del teclado y las almacenan para un posterior envío al creador; por ejemplo al introducir un número de tarjeta de crédito el keylogger guarda el número, posteriormente lo envía al autor del programa y este puede hacer pagos fraudulentos con esa tarjeta. 

• Stealers:

 También roban información privada pero sólo la que se encuentra guardada en el equipo. Al ejecutarse comprueban los programas instalados en el equipo y si tienen contraseñas recordadas, por ejemplo en los navegadores web o en clientes de mensajería instantánea, descifran esa información y la envían al creador. 

• Adware:

 Es cualquier programa que automáticamente se ejecuta, muestra o baja publicidad web al computador después de instalar el programa o mientras se está utilizando la aplicación. 'Ad' en la palabra 'adware' se refiere a 'advertisement' (anuncios) en inglés. 

• Crimeware:

 Ha sido diseñado, mediante técnicas de ingeniería social u otras técnicas genéricas de fraude en línea, con el fin de conseguir el robo de identidades para acceder a los datos de usuario de las cuentas en línea de compañías de servicios financieros o compañías de venta por correo, con el objetivo de obtener los fondos de dichas cuentas, o de completar transacciones no autorizadas por su propietario legítimo, que enriquecerán al ladrón que controla el crimeware. 

• Pharming:

 Es la explotación de una vulnerabilidad en el software de los servidores DNS (Domain Name System) o en el de los equipos de los propios usuarios, que permite a un atacante redirigir un nombre de dominio (domain name) a otra máquina distinta. De esta forma, un usuario que introduzca un determinado nombre de dominio que haya sido redirigido, accederá en su explorador de internet a la página web que el atacante haya especificado para ese nombre de dominio.  

Ingeniería Social Ingeniería Social

Es una acción o conducta social destinada a conseguir información de las personas cercanas a un sistema de información; es el arte de conseguir lo que nos interese de un tercero por medio de habilidades sociales. Estas prácticas están relacionadas con la comunicación entre seres humanos. Las acciones realizadas suelen aprovecharse de engaños, tretas y artimañas para lograr que un usuario autorizado revele información que, de alguna forma, compromete al sistema. 


Los fines generales de la ingeniería social son: 


• El usuario es tentado a realizar una acción necesaria para dañar el sistema: este es el caso en donde el usuario recibe un mensaje que lo lleva a abrir un archivo adjunto o abrir la página web recomendada que terminará dañando el sistema. 

• El usuario es llevado a confiar información necesaria para que el atacante realice una acción fraudulenta con los datos obtenidos. Este es el caso del phishing, en donde el usuario entrega información al delincuente creyendo que lo hace a una entidad de confianza.

Phishing

Es una modalidad de estafa con el objetivo de intentar obtener de un usuario información personal como: contraseñas, cuentas bancarias, números de tarjeta de crédito, número de identificación, direcciones, números telefónicos, entre otros, para luego ser usados de forma fraudulenta; para esto el estafador, conocido como phisher, se hace pasar por una persona o empresa de confianza en una aparente comunicación oficial electrónica, por lo común un correo electrónico, sistema de mensajería instantánea o incluso utilizando también llamadas telefónicas, de esta manera hacen "creer" a la posible víctima que realmente los datos solicitados proceden del sitio "Oficial" cuando en realidad no lo es.  


Vishing 

El atacante cuando se vale de la técnica de vishing, envía mensajes de correo fraudulentos que sugieren llamar a un número de teléfono, en el cual un contestador automático va solicitando toda la información requerida para acceder a nuestros productos a través de medios electrónicos. 

Smishing 

Es un tipo de delito informático o actividad criminal usando técnicas de ingeniería social empleado mensajes de texto dirigidos a los usuarios de telefonía celular. El sistema emisor de estos mensajes de texto o incluso un individuo el cual suele ser un spammer, intentará suplantar la identidad de alguna persona conocida entre nuestros contactos o incluso una empresa de confianza, solicitando el ingreso a una dirección en internet o un número de Call center falsos, con el fin de tratar de robar dinero o adquirir información personal.  

Vulnerabilidades del software

Una vulnerabilidad del software es cualquier defecto en el mismo que permita explotarlo con el fin de que un atacante pueda hacerse con el control del sistema.Las vulnerabilidades pueden deberse a:


  • Una mala configuración del software por parte del administrador/usuario.
  • Una incorrecta programación durante el proceso de desarrollo o actualización del software.

La mayoría de vulnerabilidades hoy en día se deben al segundo caso ya que:


  • Existe bastante documentación de usuario para configurar el software.
  • Desconocimiento de seguridad informática en la mayoría de programadores.
  • Empresarios que fuerzan los ciclos de desarrollo del software para terminar antes los productos.
  • Las auditorías de seguridad de código fuente apenas se practican.

XSS

XSS es una vulnerabilidad del software que permite ejecutar código de scripting en una aplicación debido a una incorrecta validación de los datos de entrada de la misma.

Generalmente las aplicaciones vulnerables a XSS son aquellas que utilizan HTML :
 Páginas web, phishing, exploits de navegadores...
Sus siglas son XSS en vez de CSS para no confundirlo con las hojas de estilo en cascada (Cascading Style Sheets).

Los objetivos de los atacantes que utilizan esta vulnerabilidad suelen ser:
– Conseguir acceso no autorizado
– Robo de información
– Causar daños económicos
– Conseguir un mejor Phising (Pasar desapercibido ante la víctima).

El XSS es una vulnerabilidad que puede estar presente de dos formas: Directa e Indirecta.


XSS se presenta en forma directa (llamada también persistente),cuando el atacante embebe código HTML malicioso en sitios que así lo permiten porque carecen de filtrado.
  • El código del atacante incluye etiquetas o tags del tipo <frame> o <script> entre las cuales escribe código malicioso, por ejemplo hacer spam no permitido en foros.
  • Es una de las vulnerabilidades más comunes y también de las más utilizada en la actualidad.
El XSS se presenta en forma indirecta cuando el código maligno se inyecta a través de formularios, de la URL, programas en FLASH e incluso vídeos y se busca que sea la víctima quien entre en el enlace malicioso.

  • Vulnerabilidad muy común pero en general, muy poco explotada.

  • Muy utilizada para robo de sesiones y phising.

Para saber si nuestra página web es vulnerable a este tipo de ataques existen escáneres de vulnerabilidades como el de http://www.acunetix.com/, que aunque es de pago tiene un
versión gratuita de prueba (freeware) que permite escanear ataques XSS presentes en
ambas formas.

Desbordamiento de Buffer (Buffer Overflow)

Tipo de vulnerabilidad del software que tiene lugar cuando por error (o intencionadamente) se copia una cantidad de datos sobre un área de memoria que no es lo suficientemente grande para contenerlos, sobrescribiendo de esta manera otras posiciones de memoria.
  • El desbordamiento de buffer se debe a fallos de programación y en un principio, el comportamiento del sistema cuando se sobrescribe una parte de la memoria es impredecible.
  • Los BO sirven para introducir código máquina en el espacio reservado para las variables locales y después modificar la dirección de retorno para que apunte a la posición de memoria donde han introducido nuevo código. Este código generalmente es un shell code. 
  • Se usa la función strcpy para sobrescribir posiciones de memoria. El string origen de la función strcpy contiene código máquina del atacante al principio y después la nueva dirección de retorno repetida tantas veces como sea necesaria para llegar a sobrescribir la antigua. Cuando la función llegue a su fin y llame a la instrucción return (que recupera la dirección de retorno de la pila) la ejecución del programa continuará en la posición de memoria que el atacante haya indicado y en la que tenemos nuestro código. 

Pisado de Pila (Stack Smashing)

Tipo de desbordamiento de buffer aprovechado por virus y malware para tomar control sobre una aplicación, o provocar que la misma termine.
  • El Stack Smashing sucede cuando se ingresa en la pila de la aplicación más datos que los que ésta puede contener (hasta que desborde) y así se sobrescriban datos.
  • Los atacantes hacen uso de esta vulnerabilidad para sobrescribir zonas de memoria que contribuyan a hacerles con el control del sistema ganando permisos. Si ejecutas el programa infectado con privilegios de administrador/root estás perdido.
  • Tanto el Desbordamiento de Buffer como el Pisado de Pila en sistemas GNU/Linux pueden evitarse instalando parches en el kernel que no permiten la ejecución de código máquina en la pila de las funciones, impidiendo así la ejecución de Shell Codes. 

Inyección SQL (SQL Injection)

SQL Injection es una vulnerabilidad de programación que le brinda a un usuario de una aplicación la posibilidad de inyectar sentencias SQL en la BD que la aplicación emplea como soporte de datos.

Para que un ataque por inyección SQL sea posible es necesario que el atacante arme sentencias SQL concatenadas con datos que a la aplicación le llegan del usuario.

La única forma de prevenirlo es labor del programador, diseñando una correcta aplicación. 

Ejemplo típico de Inyección SQL para loguearse con cuenta ajena a través de un formulario que solicita correo y contraseña (suponer que el atacante conoce el correo de Pepito): 

SELECT * FROM tusuarios WHERE correo=‘pepito@correo.com’ AND password=‘01234’ SELECT * FROM tusuarios WHERE correo=‘pepito@correo.com’ AND password=‘ ’OR 1=1 

Se denomina Blind SQL Injection al proceso del atacante de explorar los enlaces de la aplicación y las tablas y atributos de la BD que previamente no le son conocidos. Gracias a sus conocimientos y experiencia terminará por intuir qué instrucciones SQL se utilizan y cómo explotarlas en su beneficio.


Inyección SQL: Cómo evitarlo


Asignación de mínimos privilegios: La cuenta que se determina para conectarse en una aplicación web, debe tener sólo privilegios que ésta necesita, ni más ni menos.

Validar todas las entradas: Si en un campo de texto sólo se puede ingresar un tipo de dato, pues valide la entrada para tal efecto y especifique la longitud de caracteres a ingresar. Si permitimos introducir texto asegurémonos de que la aplicación busca caracteres como comas, puntos y comas, signo igual, paréntesis y palabras claves SQL para filtrarlo. De gran utilidad son las RegEx.

Empleo de procedimientos almacenados: Utilizar procedimientos almacenados y aceptar los datos del usuario como parámetros en lugar de cómo instrucciones SQL.

Utilizar comillas dobles en vez de las simples: En el archivo que procesa los datos de entrada del usuario reemplazamos las comillas simples por comillas dobles, posibilitando el truncamiento de las inyecciones SQL.

Como las comillas simples finalizan las expresiones SQL y posibilitan la entrada de expresiones peligrosas, la simple sustitución de la comilla simple hará que al atacante en su inicio por inyectar SQL lo lleve al fracaso.  

Otras vulnerabilidades

  • Cross Site Request Forgery (XSRF) o falsificación de sitios cruzados: tipo de exploit malicioso de una página web en la que comandos no autorizados son transmitidos por un usuario en el cual el sitio web confía. Esta vulnerabilidad es conocida también por otros nombres como enlace hostil, ataque de un click, cabalgamiento de sesión, y ataque automático.

  • ForceFul Browsing (FFB): Consiste en una intrusión de un sistema (generalmente web) accediendo directamente a subdirectorios protegidos supuestamente por la aplicación. 

Árboles de ataque

Análisis de Riesgos

ISO/IEC 27001:2013 Information technology 

— Security techniques
— Information security management systems
— Requirements 

  • ISO/IEC 27005:2011 
  • ISO/IEC 31000

Fases del análisis de riesgos 

  •  Establecimiento del contexto 
  •  Evaluación del riesgo 
  •  Tratamiento del riesgo 
  •  Aceptación del riesgo 
  •  Comunicación del riesgo 
  •  Monitorización y revisión del riesgo


Escenario de riesgos

Descripción del efecto de un conjunto determinado de amenazas sobre un determinado conjunto de activos, recursos y salvaguardas, teniendo en cuenta determinadas hipótesis definidas. 

Definir escenarios

Impacto en el negocio

Atributo

– Integridad 
– Confidencialidad 
– Disponibilidad 

Modelado de las amenazas

  • Es una técnica de ingeniería cuyo objetivo es ayudar a identificar y planificar de forma correcta la mejor manera de disminuir los riesgos a los que esta expuesta una organización.
  • Es un proceso que nos va a facilitar la comprensión de las diferentes amenazas a las que esta expuesta una organización o una instalación, y cuya finalidad es ayudar a determinar las medidas de protección adecuadas.
  • Se trata de identificar las amenazas y definir un plan de acción adecuado que nos permita mitigar el riesgo a unos niveles aceptables, de una forma efectiva y en base a unos costes razonables.
  • Contribuye a identificar y cumplir con los objetivos de seguridad específicos de cada entorno y facilita la priorización de tareas de protección en base al nivel de riesgo resultante.

DEBE

  • Identificar amenazas potenciales así como las condiciones necesarias para que un ataque se logre llevar a cabo con éxito.
  • Facilitar la identificación de las condiciones o aquellas vulnerabilidades que, una vez eliminadas o contrarrestadas, afectan a la probabilidad de materialización de múltiples amenazas.
  • Proporcionar información relevante sobre cuáles serían las salvaguardas más eficaces para contrarrestar un posible ataque y/o mitigar los efectos de la presencia de una vulnerabilidad en nuestra organización.
  • Proveer información sobre cómo las medidas actuales previenen la materialización de las amenazas.
  • Transmitir a la dirección la importancia de los riesgos a los que está expuesta en términos de impacto de negocio.
  • Proporcionar una estrategia sólida para evitar posibles brechas de seguridad.
  • Facilitar la comunicación y promover una mejor concienciación sobre la importancia de la seguridad.

Arboles de ataque

  • Para construir un árbol de ataque el objetivo del atacante se usa como raíz del árbol, y a partir de éste, de forma iterativa e incremental se van detallando como ramas del árbol las diferentes formas de alcanzar dicho objetivo, convirtiéndose las ramas en objetivos intermedios que a su vez pueden refinarse.
  • Al estudiar y analizar el conjunto de todos los posibles ataques a los que está expuesto un objetivo, se acaba modelando un bosque de árboles de ataque. El conjunto de ataques a estudiar está formado tanto por ataques de carácter físico como cibernético, y como se ha indicado anteriormente, se debe tener en cuenta la posibilidad de un ataque combinado.
  • Un árbol de ataque estudia y analiza cómo se puede atacar un objetivo y por tanto permite identificar qué salvaguardas se necesita desplegar para impedirlo. También permiten estudiar las actividades que tendría que desarrollar el atacante y por tanto lo que necesita saber y lo que necesita tener para realizar el ataque; de esta forma es posible determinar la probabilidad de que el ataque se produzca, si se conoce quién pudiera estar interesado en atacar el objetivo y se analiza su capacidad para disponer de la información, habilidades y recursos necesarios para llevar a cabo dicho ataque.
  • Para poder elaborar un árbol de ataque hay que analizar el escenario al que nos enfrentamos y estudiar el problema desde el punto de vista en que haría el potencial atacante.
Los árboles de ataque constituyen una documentación extremadamente valiosa para un atacante, especialmente cuando incorporan el estado actual de salvaguardas, pues facilitan en extremo su trabajo.
Son un documento clasificado y deben tomarse todas las medidas de seguridad necesarias para garantizar su confidencialidad.

NODOS


Lo más habitual, es que para alcanzar un objetivo o subobjetivo se disponga de varias alternativas (nodos OR); aunque en ocasiones se requiere la concurrencia de varias actividades (nodos AND). 

Una vez identificadas las diferentes formas de alcanzar un objetivo, los nodos del árbol se pueden enriquecer con información de detalle, que puede ser de muy diferentes tipos:

  • Conocimientos y capacidades que debe tener el atacante: ninguna experiencia, alguna experiencia, conocimientos técnicos, etc.
  • Medios económicos de los que debe disponer el atacante para preparar y ejecutar el ataque.
  • Medios materiales necesarios para la realización del ataque: tipo, coste, dificultad de obtención, etc.
  • Tiempo necesario para preparar y ejecutar el ataque
  • Riesgo para el atacante, antes, durante y después del ataque, probabilidad de detención, ¿qué consecuencias afrontaría?, etc.
Al analizar el árbol de ataque, la información de estos atributos nos va a permitir obtener escenarios simplificados de ataque:
  • Atacantes inexpertos pero muy motivados con mucha financiación
  • Atacantes profesionales pero sin capacidad de inversión (o sin necesidad de realizar una inversión adicional para perpetrar este ataque)
  • Atacantes a los que no les importa sacrificar su propia vida
  • Atacantes que quedarían impunes
  • etc.
Para alcanzar estos escenarios especializados basta eliminar del árbol las ramas que no satisfagan una condición cualitativa o cuantitativa.

  • Los cálculos son sencillos y permiten trabajar con diferentes niveles de refinamiento.
  • Los nodos OR cuestan lo que el más barato de sus hijos. Los nodos AND suman los costes.
  • En el caso de analizar conocimientos, los nodos OR requieren en conocimiento más bajo, mientras que los nodos AND requieren el conocimiento del hijo más sofisticado.
  • Para tomar decisiones combinadas hay que ir al último nodo de detalle, pues frecuentemente lo más barato y lo más sofisticado son condiciones contradictorias.

Sobre un árbol con atributos:

  • Es posible determinar el ataque más probable, simplemente extrayendo aquel ataque que requiere menos medios y menos capacidades por parte del atacante.
     
  • Es posible determinar cuál será la línea de acción de un posible perfil de atacante (que se determina en base al tipo de instalación o activo que estamos protegiendo): aquel que con menos coste satisfaga los requisitos mínimos para realizar el ataque.

sábado, 9 de mayo de 2020

Metodología OCTAVE

La norma ISO 27005 se fue acoplando con la metodología OCTAVE-s a medida que se gestionaba el riesgo a la seguridad de la información al proceso Inscripciones y Admisiones. La norma ISO 27005 cuenta con 7 pasos los cuales son:
1. Establecimiento del contexto 
2. Identificación del riesgo 
3. Estimación del riesgo 
4. Evaluación del riesgo 
5. Tratamiento del riesgo 
6. Aceptación del riesgo 
7. Comunicación del riesgo 

La norma OCTAVE-s cuenta con 3 fases las cuales son: 
1. Construcción de perfiles de amenazas basados en los activos. 
2. Identificación de las vulnerabilidades de la infraestructura. 
3. Desarrollo de estrategia y planes de seguridad. 

Cada fase de Octave-s se fue adaptando a los pasos de la norma ISO 27005. Pero antes de usar la metodología Octave-s, se empezó por establecer el contexto (Establecimiento del contexto – Norma ISO 27005), es decir por definir el alcance del proceso Inscripciones y Admisiones.

El proceso de Inscripciones y Admisiones cuenta con los siguientes siete procedimientos: 
1. Definición del calendario de admisión 
2. Justificación del servicio de aplicación de la prueba 
3. Inscripciones 
4. Alistamiento para la aplicación de la prueba
5. Aplicación de la prueba 
6. Evaluación de la prueba 
7. Admisiones Cada procedimiento cuenta con una serie de actividades las cuales se deben seguir en estricto orden para cumplir con sus objetivos.

 El alcance del procedimiento se elaboró a través la Metodología de las Elipses propuesta en [2] como herramienta de identificación de los componentes de cada proceso y las interacciones con otros procesos en la organización y con entidades externas a la empresa.


Metodologías para análisis de riesgos

COMO IDENTIFICAR, ANALIZAR Y GESTIONAR RIESGOS EN EL DESARROLLO DE SOFTWARE

Existen varias metodologías de análisis de riesgos como: OCTAVE, MEHARI, MAGERIT, CRAMM, EBIOS y NIST SP 800-30, las cuales se orientan hacia el mismo objetivo, pero tienen características propias que las hacen atractivas para las empresas en todos los sectores.

METODOLOGÍAS DE ANÁLISIS DE RIESGOS

OCTAVE

 La metodología OCTAVE (Operationally Critical Threats Assets and Vulnerability Evaluation) [5], desarrollada por el Equipo de Respuesta ante Emergencias Informáticas (CERT, por sus siglas en inglés), evalúa los riesgos de seguridad de la información y propone un plan de mitigación de los mismos dentro de una empresa. Por tanto, se tienen en cuenta las necesidades de la empresa donde se está implementando, permitiendo reducir los riesgos de seguridad de información, para lograr una mayor protección a estos elementos dentro del sistema. OCTAVE equilibra aspectos de riesgos operativos, prácticas de seguridad y tecnología para que a partir de éstos, los entes empresariales puedan tomar decisiones de protección de información basado en los principios de la seguridad de la información. Esta metodología persigue dos objetivos específicos que son: concientizar a la organización que la seguridad informática no es un asunto solamente técnico y presentar los estándares internacionales que guían la implementación de seguridad de aquellos aspectos no técnicos . Hasta la fecha han sido publicadas tres metodologías de este tipo: OCTAVE que ha sido definida para grandes organizaciones de trecientos o más empleados, OCTAVE – S que se enfoca para pequeñas empresas, por ejemplo, PYMES con veinte a ochenta empleados y finalmente, OCTAVE ALLEGRO que permite analizar riesgos con mayor enfoque en activos de información, cada una de estas metodologías ejecuta las fases mencionadas con algunas variaciones dependiendo de las necesidades. Con una metodología de análisis de riesgos como OCTAVE la empresa puede obtener beneficios como: dirigir y gestionar adecuadamente sus evaluaciones de riesgos, tomar decisiones basándose en los mismos, proteger los activos de información y, por último, comunicar de forma efectiva la información clave de seguridad los cuales se derivan de las siguientes características: en primera medida, se establecen equipos auto dirigidos dentro de la organización con la finalidad de dar solución a las necesidades de seguridad que esta puede tener. Y por otro lado, se dice que este método es FLEXIBLE ya que es adaptable a todo tipo de organización independientemente del entorno porque se basa en los riesgos, la capacidad de recuperación y la experiencia que se tenga en este tema. Finalmente, es importante mencionar que OCTAVE busca asegurar la continuidad del negocio, identificar y medir riesgos, establecer controles para mitigarlos, conservar la información (activo más importante) e intervenir en todas las dependencias de la organización, ya que de esta manera puede aprovechar al máximo el conocimiento de los distintos niveles de la empresa.

MEHARI 

MEHARI (Method for Harmonized Analysis of Risk), es definida por la organización francesa especializada en la seguridad de los sistemas de información (CLUSIF) como una metodología que proporciona un conjunto de herramientas que permiten hacer un análisis de riesgos cualitativo y cuantitativo, cuando sea necesario para tener una adecuada gestión de seguridad. De lo anterior, se deduce que está diseñada para acompañar los procesos de análisis de riesgos empresariales tanto actuales como futuros. En la metodología MEHARI se hace un análisis de la seguridad basado en tres criterios básicos: confidencialidad, integridad y disponibilidad.

MAGERIT

MAGERIT (Metodología de Análisis y Gestión de Riesgos de los Sistemas de Información) es reconocida por ENISA (Agencia Europea de Seguridad de las Redes y de la Información) y promovida por el Consejo Superior de Administración Electrónica con el fin de sistematizar el análisis de los riesgos que pueden presentar los activos de una organización. Esta metodología es importante porque el crecimiento de la tecnología dentro de las organizaciones se está dando de manera exponencial y, por lo tanto, es necesario minimizar los riesgos asociados al uso de los sistemas garantizando la autenticidad, confidencialidad, integridad, disponibilidad  y trazabilidad de los mismos, con la finalidad de generar confianza en los clientes tanto internos como externos de la organización; de igual manera, presenta una guía de cómo llevar a cabo el análisis de riesgos y se divide en 3 libros, el primero describe la estructura del modelo de gestión de riesgos, el segundo presenta el inventario para enfocar el análisis de riesgos y el último compila una guía de técnicas de trabajo para dicho fin. MAGERIT fue creada con el fin de cumplir con objetivos como conocer el estado de seguridad de los sistemas de información y la implementación de medidas de seguridad, garantizar que no hayan elementos que queden fuera del análisis para que haya una profundidad adecuada en el mismo, mitigar las vulnerabilidades y asegurar el desarrollo del sistema en todas las fases de desarrollo. Estos objetivos han posicionado a MAGERIT como una de las metodologías más utilizadas en el ámbito empresarial ya que les permite prepararse para procesos de auditorías, certificaciones y acreditaciones.

CRAMM 

CRAMM (CCTA Risk Analysis and Management Method), es el método de análisis y control de riesgos de la Central Computer and Telecommunications Agency (CCTA) del gobierno británico, permite identificar, medir y reducir al mínimo los ataques a los que están expuestas las organizaciones día a día y es definida como una metodología que aplica los conceptos de manera formal, estructurada y disciplinada protegiendo los principios de seguridad de la información de un sistema y de sus activos. Cabe resaltar que CRAMM realiza un análisis de riesgos cualitativo y cuantitativo por lo que se conoce como una metodología mixta, ésta se apoya de una herramienta de gestión, lo que permite a las organizaciones tener una visión clara y priorizada de las amenazas a las que está expuesta y que pueden afectar los recursos y la continuidad del negocio, basándose en una matriz donde las filas representan los activos y las columnas los riesgos que podrían afectar la integridad, disponibilidad y confidencialidad de los mismos, por otro lado, CRAMM proporciona información acerca de las características de funcionamiento del sistema y una identificación profunda y clara de los activos que se encuentran más expuestos. Los elementos que se deben tener en cuenta para realizar un adecuado análisis de riesgos con la metodología CRAMM son: activos, vulnerabilidades, riesgos, amenazas, contramedidas, implementación y auditoría, los cuales permiten obtener un mejor resultado y asegurar la continuidad de negocio.

EBIOS 

EBIOS (Expresión de las Necesidades e Identificación de los Objetos de Seguridad), es una metodología francesa de gestión de riesgos, fue creada por la dirección Central de seguridad de los sistemas de Información de Francia DCSSI, con el fin de posibilitar la comunicación con los clientes internos y externos para contribuir al proceso de la gestión de riesgos de seguridad de los sistemas de información, de igual manera, ayuda a la empresa a tener un mayor reconocimiento en sus actividades de seguridad ya que esta tiene compatibilidad con las normas internacionales como la ISO. Este procedimiento permite a la organización tener un mayor conocimiento de sus activos y las necesidades de seguridad identificando las amenazas y vulnerabilidades a las que se encuentran expuestos para su posterior mitigación.

NIST SP 800:30 

(Guía de Gestión de Riesgos de los Sistemas de Tecnología de la Información), Es un estándar desarrollado por el Instituto Nacional de Estándares y Tecnología (NIST), fue formulado para la evaluación de riesgos de seguridad de la información especialmente a los sistemas de TI (Tecnología de la Información), proporciona un guía para la seguridad de las infraestructuras de la misma desde una perspectiva técnica. Por otro lado, esta guía provee fundamentos para la administración de riesgos así como la evaluación y mitigación de los riesgos identificados dentro del sistema de TI con el objetivo de apoyar a las organizaciones con todo lo relacionado a Tecnología. La metodología NIST SP 800:30 está compuesta por nueve fases: caracterización del sistema, la cual permite establecer el alcance y los límites operacionales de la evaluación de riesgos en la empresa; identificación de amenazas, es donde se definen las fuentes de motivación de las mismas; identificación de vulnerabilidades, en esta fase desarrolla una lista de defectos o debilidades del sistema que podrían ser explotadas por una amenaza; análisis de controles; determinación de la probabilidad; análisis de impacto; fase de determinación del riesgo, ayuda a evaluar el riesgo en el sistema de información, recomendaciones de control en donde se proporcionan los controles que podrían mitigar el riesgo identificado disminuyendo hasta un nivel aceptable, finalmente está la documentación de resultados la cual genera un informe con la descripción de amenazas y vulnerabilidades, midiendo el riesgo y generando recomendaciones para la implementación de controles.


RAZONES POR LAS CUALES SE DEBE APLICAR UNA METODOLOGÍA DE ANÁLISIS DE RIESGOS EN LA EMPRESA


En este entorno empresarial, creciente y complejo es importante que las empresas tomen conciencia de aplicar continuamente una metodología de análisis de riesgo para garantizar el rendimiento de los sistemas y procesos dentro de la organización, algunas de las razones por las que las empresas deben utilizarla son: 
• Permite tener claramente identificados los activos y las políticas de seguridad para que a partir de estos se puedan tomar decisiones y hacer mejoras en los procesos internos de la organización.
 
• Se garantiza la continuidad de negocio ya que permite tener en cuenta componentes y factores tanto internos como externos que intervienen en los objetivos misionales de la organización.
 
• Proporciona herramientas que permiten mitigar los riesgos a los que está expuesta la organización por medio de la creación de planes de contingencia y controles que aseguren el los sistemas de información. 

• Por medio de los procesos de auditabilidad, las metodologías de análisis permiten encontrar inconsistencias dentro del sistema que no han sido identificadas y no se sospechaba de su existencia. 

• Con la ayuda de las metodologías de análisis de riesgos, las empresas pueden optimizar sus procesos y obtener un retorno de inversión.

Amenazas y riesgos

Definición de Seguridad Informática
La seguridad informática o seguridad de tecnologías de la información es el área de la informática que se enfoca en la protección de la infraestructura computacional y todo lo relacionado con esta y, especialmente, la información contenida o circulante. Para ello existen una serie de estándares, protocolos, métodos, reglas, herramientas y leyes concebidas para minimizar los posibles riesgos a la infraestructura o a la información. La seguridad informática comprende software (bases de datos, metadatos, archivos), hardware y todo lo que la organización valore (activo) y signifique un riesgo si esta información confidencial llega a manos de otras personas, convirtiéndose, por ejemplo, en información privilegiada.

Consiste en asegurar que los recursos del sistema de información (material informático o programas) de una organización sean utilizados de la manera que se decidió y que el acceso a la información allí contenida así como su modificación solo sea posible a las personas que se encuentren acreditadas y dentro de los límites de su autorización.

1. Integridad: La información solo puede ser modificada por quien esta autorizado y de manera controlada. 

2. Confidencialidad: La información sólo debe ser legible para los usuarios autorizados. 

3. Disponibilidad: Debe estar disponible siempre que se necesite. 

4. Irrefutabilidad: El uso y/o modificación de la información por parte de un usuario debe ser irrefutable, es decir, que el usuario no puede negar dicha acción.


Objetivos del Área de Seguridad
Informática

La seguridad informática debe establecer normas que minimicen los riesgos a la información o infraestructura informática. Estas normas incluyen horarios de funcionamiento, restricciones a ciertos lugares, autorizaciones, denegaciones, perfiles de usuario, planes de emergencia, protocolos y todo lo necesario que permita un buen nivel de seguridad informática minimizando el impacto en el desempeño de los trabajadores y de la organización en general y como principal contribuyente al uso de programas realizados por programadores.

Concebida para proteger los activos informáticos, entre los que se encuentran los siguientes:
 •La infraestructura computacional
 •Los usuarios
•La información


Amenazas
Una Amenaza es la posibilidad de ocurrencia de cualquier tipo de evento acción que puede producir un daño (material o inmaterial) sobre los elementos de un sistema, en el caso de la Seguridad Informática, los Elementos de Información.

• Las amenazas pueden ser causadas por:

• Usuarios • Programas maliciosos • Errores de programación • Intrusos • Un siniestro • Personal técnico interno • Fallos electrónicos o lógicos de los sistemas informáticos en general. • Catástrofes naturales


Tipos de Amenazas

• Amenazas por el origen 
             1. Amenazas Internas 
             2. Amenazas Externas 


• Amenazas por el Efecto 

El tipo de amenazas por el efecto que causan a quien recibe los ataques podría clasificarse en: 

   • Robo de información. 
   • Destrucción de información. 
   • Anulación del funcionamiento de los sistemas o efectos que tiendan a ello.
   • Suplantación de la identidad, publicidad de 
   • datos personales o confidenciales, 
   • cambio de información, venta de datos personales, etc.


• Amenazas por el medio Utilizado

• Virus Informático 
• Ingeniería Social 
• Denegación del Servicio 
• Spoofing 
• Etc.


Motivadores y Actores del Entorno

Activistas

Atacan principalmente gobierno o iniciativa privada, con fin de evidenciar o hacer cortes en el servicio que ofrecen.

Criminales

Atacan a cualquiera, su motivación es financiera así que pueden buscar cualquier información de la cual obtener ganancia.

Espias

Atacan con fines específicos, buscando en si propiedad intelectual, o información confidencial.

Mitos y Creencias Urbanas  


• «Mi sistema no es importante para un hacker» 

  • Esta afirmación se basa en la idea de que no introducir contraseñas seguras en una empresa no entraña riesgos pues «¿quién va a querer obtener información mía?». Sin embargo, dado que los métodos de contagio se realizan por medio de programas automáticos, desde unas máquinas a otras, estos no distinguen buenos de malos, interesantes de no interesantes, etc. Por tanto abrir sistemas y dejarlos sin claves es facilitar la vida a los virus y de posibles atacantes. Otra consideración respecto a esta afirmación que la llevan a ser falsa es que muchos ataques no tiene otro fin que el destruir por destruir sin evaluar la importancia.

• «Estoy protegido pues no abro archivos que no conozco» 

  • Esto es falso, pues existen múltiples formas de contagio, además los programas realizan acciones sin la supervisión del usuario poniendo en riesgo los sistemas, si bien la medida es en sí acertada y recomendable.

• «Como tengo antivirus estoy protegido» 

  •  En general los programas antivirus no son capaces de detectar todas las posibles formas de contagio existentes, ni las nuevas que pudieran aparecer conforme los ordenadores aumenten las capacidades de comunicación, además los antivirus son vulnerables a desbordamientos de Buffer (Buffer Overflow) que hacen que la seguridad del sistema operativo se vea más afectada aún, aunque se considera como una de las medidas preventivas indispensable.

• «Como dispongo de un firewall no me contagio» 

  •  Esto únicamente proporciona una limitada capacidad de respuesta. Las formas de infectarse en una red son múltiples. Unas provienen directamente de accesos al sistema (de lo que protege unfirewall) y otras de conexiones que se realizan (de las que no me protege). Emplear usuarios con altos privilegios para realizar conexiones puede entrañar riesgos, además los firewalls de aplicación (los más usados) no brindan protección suficiente contra el spoofing. En todo caso, el uso de cortafuegos del equipo y de la red se consideran altamente recomendables

• «Tengo un servidor web cuyo sistema operativo es un Unix actualizado a la fecha y por tanto seguro» 

  • Puede que esté protegido contra ataques directamente hacia el núcleo, pero si alguna de las aplicaciones web (PHP, Perl, Cpanel, etc.) está desactualizada, un ataque sobre algún script de dicha aplicación puede permitir que el atacante abra una shell y por ende ejecutar comandos en el unix. También hay que recordar que un sistema actualizado no está libre de vulnerabilidades sino que se no tiene ninguna de las descubiertas hasta el momento.