miércoles, 5 de noviembre de 2014

Seguridad Informática: se acerca el final de la era de las contraseñas

Hoy se usan hasta 15 claves y son difíciles de recordar. Gigantes como Google y Twitter están buscando alternativas. El escándalo de la filtración de fotos de estrellas de Hollywood semidesnudas fue de los últimos incidentes que mostraron, una vez más, la vulnerabilidad de las contraseñas en el mundo digital.
Las palabras clave tienen varias desventajas. Con el avance de la vida online, la cantidad de passwords que acumula cada usuario es muy abultada (se calcula que una sola persona puede tener hasta 15), lo que implica dificultades para guardarlas y recordarlas. Además, si las palabras clave elegidas son seguras resultan difíciles de recordar, y si vienen rápido a la memoria suelen ser vulnerables. Por eso, numerosas empresas de todo el mundo están trabajando para complementar o directamente reemplazar estos sistemas de identificación.
Días atrás Twitter presentó a un grupo de desarrolladores una tecnología llamada Digits, que permitirá loguearse en softs asociando la aplicación de que se trate con un número de celular. “Cada vez más, el número de teléfono, más que una dirección de e-mail, es el principal elemento de identificación de una persona”, señalaron de Twitter al presentar esta tecnología.
El secuencia que propone Digits es bien sencilla: para ingresar a una aplicación pedirá un número de celular y luego, una clave que Twitter enviará por SMS a ese número de teléfono.
Un sistema similar al propuesto ahora por la empresa del pajarito ya utilizan WhatsApp entre otras aplicaciones. Pero Digits parece una apuesta muy fuerte para expandir esta tecnología a gran escala. Según Twitter, Digits está disponible gratis para desarrolladores de aplicaciones en 28 idiomas y 216 países, y funciona en celulares con iOS, con Android y en máquinas de escritorio.
Otro gigante que trabaja con persistencia buscando mejorar o reemplazar el sistema de identificación por contraseñas es Google. Para sus cuentas, la empresa implementó hace ya un tiempo y de modo optativo un sistema de verificación de dos pasos que solicita, además de la contraseña tradicional, una clave enviada por Google a un celular asociado.
Sin embargo, esto no es suficiente para Google, que días atrás dio a conocer su Security Key (SK), un pendrive USB que debe insertarse en la computadora para autenticar al usuario en los sitios de Google. También de uso optativo, además de identificar al usuario, el SK garantiza que el sitio al que el usuario se está conectando es uno verdadero de Google y no otro, falso.
La SK de Google utiliza el protocolo abierto Universal 2nd Factor (U2F) de la FIDO Alliance, una organización que persigue el objetivo de desarrollar métodos abiertos, escalables y universales (para todos los dispositivos y softwares) de reemplazo de las passwords como medio de identificación. Por eso, cualquier pendrive que cumpla con el estándar abierto U2F (se pueden conseguir desde 6 dólares en Amazon) funciona como SK de Google.
La empresa del buscador está explorando, además, otros caminos. Meses atrás compró una compañía israelí (SlickLogin) que utiliza sonidos para reemplazar las contraseñas. La empresa había creado una tecnología que permite loguearse en cuentas web con sólo acercar un smartphone a la computadora. ¿El secreto? El teléfono reproduce un sonido encriptado, con datos codificados en ultrasonido, o que no puede percibir el oído humano; la computadora “lo escucha”, envía los datos a los servidores de SlickLogin y autoriza el acceso al sitio en cuestión.
Por su parte, una empresa llamada Passage desarrolló un proyecto en el que los usuarios se identifican mostrándole a la cámara de su equipo un determinado elemento que hayan elegido (una foto familiar, un carné o un dibujo).
Otras iniciativas trabajan en torno a parámetros biométricos (huellas digitales, reconocimiento de rostro o de la voz), sea como factores únicos o complementarios de autenticación. Pero no hay acuerdo entre los expertos sobre los niveles de seguridad que estas opciones ofrecen. Cristian Borghello, especialista en Seguridad Informática, señala que estos sistemas funcionan bien en computadoras de escritorio, pero que aún no son lo suficientemente seguros en dispositivos móviles, como celulares.

domingo, 20 de octubre de 2013

Pdvsa busca soberanía tecnológica con el software libre Guardián del Alba | Correo del Orinoco

 En la sede de esta empresa en Mérida, 141 personas diseñan aplicaciones para brindar seguridad, control e independencia a la industria petrolera. Están construyendo otra para manejo de pozos.
Durante el sabotaje de finales del año 2002 y principios del 2003, Petróleos de Venezuela (Pdvsa), la principal empresa del país, dejó al descubierto su vulnerabilidad tecnológica, ya que la mayoría de sistemas operativos, con los cuales se manejaba y pagaba millones de dólares en licencias, fueron fabricados y eran manejados desde Estados Unidos. Y desde allí, con sólo una llamada o un código, pudieron apagar servidores y tumbar servicios en un proceso que en la industria petrolera venezolana es casi totalmente automatizado.
Pdvsa busca soberanía tecnológica con el software libre Guardián del Alba | Correo del Orinoco

viernes, 11 de octubre de 2013

El Software Libre permite una sociedad más libre y universaliza el conocimiento


Copiado de mpcomunas.- Este miércoles 09 de octubre de 2013, la Oficina de Sistemas y Tecnología de la Información y Comunicación OSTI del Ministerio del Poder Popular para las Comunas y Movimientos Sociales, llevó a cabo en el auditorio de la sede principal del Inces en Caracas, una conferencia sobre la importancia del Software Libre en las instituciones públicas.
La charla, bajo el nombre de “Soberanía Tecnológica”, estuvo dirigida a todos los trabajadores y trabajadoras de dicho ministerio.
La misma fué iniciada por el Feijóo Jiménez Director General de la Oficina de Sistema y Tecnología de la Información del MinComunas, informó sobre los avances efectuados durante la administración del Ministro Reinaldo Iturriza en la preparación de una infraestructura para sumar a que el estado Venezolano logre implementar “Gobierno Eletrónico”. “Hemos avanzado en el cambio de paradigmas, nuestra plataforma hoy realiza interoperabilidad con otras instituciones y con nuestros entes adscritos, avanzamos eliminando licencias privativas, comenzamos instaurando gestor Bases de Datos MariaDB, Frameworks de desarrollo YII y lenguajes de programación, Servidores, portal de internet y desarrollo de nuevos sistemas informáticos tan solo con Software Libre”.
En su intervención expresó que la independencia tecnológica no es solo utilizar tecnologías libres, sino que es necesario también acabar con el uso de “hojas de cálculo” que permiten que personas creen dependencia con su manejo “A veces usuarios piden hojas de cálculo con datos institucionales para hacer cruces para sus cuentas, los resultados buscados nunca serán consistentes, no puede ser que hoy día sigamos trabajando con mecanismos obsoletos e inconsistentes ”, concluyó diciendo “Hay que acabar de una vez por toda con la manipulación indiscreta de la información, se debe cambiar esos viejos mecanismo utilizando plataformas estables y seguras, hasta entonces, ninguna institución podrá mantener los avances tecnológicos como tampoco podrá ser independiente tecnológicamente”.

Luego tomó la palabra el español Rafael Rico Muñoz, activista mundial del software libre, quien explicó que la soberanía tecnológica se construye teniendo soberanía nacional e independencia tecnológica.
La libertad de uso, libertad de difundir lo que usas, libertad de compartir y libertad de conocer cómo está hecho el trabajo, es lo que implica la soberanía”, manifestó el activista.
Rico añadió que por el contrario, la empresa Microsoft vende la licencia tan solo como permiso de su uso, luego esta tiene que ser actualizada y pagada nuevamente cada dos años. “Además, secuestran y privatizan el conocimiento, pues no podemos modificar, innovar, ni ponerlo al servicio de todos los ciudadanos de manera fácil y accesible”, sentenció.

lunes, 7 de octubre de 2013

OMT metodologia orientada a objetos



OMT (Object Modeling Technique) es una de las metodologías de análisis y diseño orientadas a objetos, más eficientes que existen en la actualidad. La gran virtud que aporta esta metodología es su carácter de abierta (no propietaria), que le permite ser de dominio público y , en consecuencia, sobrevivir con enorme vitalidad. Esto facilita su evolución para acoplarse a todas las necesidades actuales y futuras de la ingeniería de software.
Las fases que conforman a la metodología OMT son:
·      Análisis. El analista construye un modelo del dominio del problema, mostrando sus propiedades más importantes. El modelo de análisis es una abstracción resumida y precisa de lo que debe de hacer el sistema deseado y no de la forma en que se hará. Los elementos del modelo deben ser conceptos del dominio de aplicación y no conceptos informáticos tales como estructuras de datos. Un buen modelo debe poder ser entendido y criticado por expertos en el dominio del problema que no tengan conocimientos informáticos.
·         Diseño del sistema. El diseñador del sistema toma decisiones de alto nivel sobre la arquitectura del mismo. Durante esta fase el sistema se organiza en subsistemas basándose tanto en la estructura del análisis como en la arquitectura propuesta. Se selecciona una estrategia para afrontar el problema.
·         Diseño de objetos. El diseñador de objetos construye un modelo de diseño basándose en el modelo de análisis, pero incorporando detalles de implementación. El diseño de objetos se centra en las estructuras de datos y algoritmos que son necesarios para implementar cada clase. OMT describe la forma en que el diseño puede ser implementado en distintos lenguajes (orientados y no orientados a objetos, bases de datos, etc.).
·         Implementación. Las clases de objetos y relaciones desarrolladas durante el análisis de objetos se traducen finalmente a una implementación concreta. Durante la fase de implementación es importante tener en cuenta los principios de la ingeniería del software de forma que la correspondencia con el diseño sea directa y el sistema implementado sea flexible y extensible. No tiene sentido que utilicemos AOO y DOO de forma que potenciemos la reutilización de código y la correspondencia entre el dominio del problema y el sistema informático, si luego perdemos todas estas ventajas con una implementación de mala calidad. 


domingo, 6 de octubre de 2013

Que es el UML

Es un lenguaje basado en diagramas para la especificación, visualización, construcción y documentación de cualquier sistema complejo, “Lenguaje de Modelado Unificado”  UML por sus siglas del inglés, de tal manera
UML es un lenguaje para describir modelos. Básicamente, un modelo es una simplificación de la realidad que construimos para comprender mejor el sistema que queremos desarrollar. Un modelo proporciona los “planos” de un sistema, incluyendo tanto los que ofrecen una visión global del sistema como los más detallados de alguna de sus partes. Para comprender el objetivo del modelado con UML, es muy útil compararlo con otras áreas de ingeniería, como es la construcción de edificios o automóviles, con sus diferentes planos y vistas; o incluso con la industria cinematográfica, donde la técnica del storyboarding (representación de las secuencias de un película con viñetas dibujadas a mano) constituye un modelado el producto.
Si bien UML es independiente de las metodologías de análisis y diseño y de los lenguajes de programación que se utilicen en la construcción de los sistemas software, es importante destacar que se basa en el paradigma de la orientación a objetos. Por tanto, es especialmente adecuado cuando se pretende la construcción de sistemas software desde la perspectiva de la orientación a objetos.

La especificación, visualización, construcción y documentación de cualquier sistema software requiere que el sistema pueda ser estudiado desde diferentes puntos de vista, ya que un usuario final necesita una visión diferente del sistema de la que necesita un analista o un programador. UML incorpora toda una serie de diagramas y notaciones gráficas y textuales destinadas a mostrar el sistema desde las diferentes perspectivas, que pueden utilizarse en las diferentes fases del ciclo de desarrollo del software. 
Fuente:


lunes, 30 de septiembre de 2013

Desarrollo de Sistemas, La metodología de Kendall y Kendall

Según Kendall y Kendall el ciclo de desarrollo de los sistemas, se ejecuta  en siete etapas, las cuales son:
  1. Identificación de problemas, oportunidades y objetivos: Esta fase es crucial para el éxito del resto del proyecto requiere que se observe de forma objetiva lo que ocurre en una organización, luego en conjunto con otros miembros de la organización hacer notar los problemas. Las oportunidades son aquellas situaciones que se considera que pueden mejorarse, perfeccionarse mediante el uso de los sistemas de información. También es un componente importante de la primera fase, en esta etapa se deberá descubrir lo que la organización intenta realizar, luego determinar si el uso de los sistemas de información apoyaría a la organización para alcanzar sus metas.
  2. Determinación de los requerimientos de información: Esto se hace a partir de los usuarios particularmente involucrados, para determinar los requerimientos de información dentro de una organización pueden utilizarse diversos instrumentos, los cuales incluyen: muestreo, el estudio de los datos y formas usadas para la organización, la entrevista, los cuestionarios; la observación de la conducta de quien tomo la decisiones, así como de su ambiente. Se hace todo lo posible por identificar qué información requiere el usuario para desempeñar sus tareas.
  3. Análisis de las necesidades del sistema: Se analizan las necesidades propias del sistema, para ello existen herramientas y técnicas diseñadas para tal fin, estas incluyen entre otras el uso de los diagramas de flujo de datos que cuentan con una técnica estructurada para representar en forma gráfica la entrada de datos a la organización, los procesos y la salida de información. También se analizan las decisiones estructuradas por realizar, que son decisiones donde las condiciones, condiciones alternativas, acciones y reglas de acción podrán determinarse.
  4. Diseño del sistema recomendado: Se usa la información recolectada con anterioridad y se elabora el diseño lógico de sistemas de información, se diseña también procedimiento es precisos de captura de datos, con la finalidad de que los datos que se introducen en el sistema de información, sean los correctos. Esta etapa también incluye el diseño de los archivos o la base de datos que almacenará aquellos datos requeridos por quien toma las decisiones en la organización.
  5. Desarrollo y documentación del software: Dentro de las técnicas estructuradas para el diseño y documentación del software se tienen: el método HIPO, los diagramas de flujo, los diagramas Nassi-Schneiderman, los diagramas Warnier-Orr y el pseudocódigo es aquí donde se transmite al programador los requerimientos de programación.
  6. Pruebas y mantenimiento del sistema: Todo sistema de información debe probarse antes de ser utilizado, ya que el costo es menor si se detectan los problemas antes de que entre en funcionamiento. En un principio, se hace una serie de pruebas, con datos tipo, para identificar las posibles fallas del sistema, más adelante, se utilizarán los datos del sistema real.

TIPOS DE SISTEMAS DE INFORMACIÓN


En la evolución de los sistemas de información ha habido dos puntos determinantes, que han formado los dos tipos fundamentales de sistemas de información.
SISTEMAS DE INFORMACIÓN ORIENTADOS AL PROCESO
En estos sistemas de información se crean diversas aplicaciones (software) para gestionar diferentes aspectos del sistema. Cada aplicación realiza unas determinadas operaciones. Los datos de dichas aplicaciones se almacenan en archivos digitales dentro de las unidades de almacenamiento del ordenador (a veces en archivos binarios, o en hojas de cálculo, o incluso en archivos de texto).
Cada programa almacena y utiliza sus propios datos de forma un tanto caótica. La ventaja de este sistema (la única ventaja), es que los procesos son independientes por lo que la modificación de uno no afectaba al resto. Pero tiene grandes inconvenientes:
 Datos redundantes. Ya que se repiten continuamente .
 Datos inconsistentes. Ya que un proceso cambia sus datos y no el resto. Por lo que el mismo dato puede tener valores distintos según qué aplicación acceda a él.
 Coste de almacenamiento elevado. Al almacenarse varias veces el mismo dato, se requiere más espacio en los discos. Luego se agotarán antes.
 Difícil acceso a los datos. Cada vez que se requiera una consulta no prevista inicialmente, hay que modificar el código de las aplicaciones o incluso crear una nueva aplicación.
Dependencia de los datos a nivel físico. Para poder saber cómo se almacenan los datos, es decir qué estructura se utiliza de los mismos, necesitamos ver el código de la aplicación; es decir el código y los datos no son independientes.
Tiempos de procesamiento elevados. Al no poder optimizar el espacio de almacenamiento.
Dificultad para el acceso simultáneo a los datos. Es casi imposible de conseguir ya que se utilizan archivos que no admiten esta posibilidad. Dos usuarios no pueden acceder a los datos de forma concurrente.
Dificultad para administrar la seguridad del sistema. Ya que cada aplicación se crea independientemente; es por tanto muy difícil establecer criterios de seguridad uniformes.
A estos sistemas se les llama sistemas de gestión de ficheros. Se consideran también así a los sistemas que utilizan programas ofimáticos (como Word o Excel por ejemplo) para gestionar sus datos (muchas pequeñas empresas utilizan esta forma de administrar sus datos). De hecho estos sistemas producen los mismos (si no más) problemas.
SISTEMAS DE INFORMACIÓN ORIENTADOS A LOS DATOS. BASES DE DATOS
En este tipo de sistemas los datos se centralizan en una base de datos común a todas las aplicaciones. Estos serán los sistemas que estudiaremos en este curso.
En esos sistemas los datos se almacenan en una única estructura lógica que es utilizable por las aplicaciones. A través de esa estructura se accede a los datos que son comunes a todas las aplicaciones.
Cuando una aplicación modifica un dato, dicho dato la modificación será visible para el resto de aplicaciones.
VENTAJAS
 Independencia de los datos y los programas y procesos. Esto permite modificar los datos sin modificar el código de las aplicaciones.
 Menor redundancia. No hace falta tanta repetición de datos. Sólo se indica la forma en la que se relacionan los datos.
Integridad de los datos. Mayor dificultad de perder los datos o de realizar incoherencias con ellos.
Mayor seguridad en los datos. Al permitir limitar el acceso a los usuarios. Cada tipo de usuario podrá acceder a unas cosas..
Datos más documentados. Gracias a los metadatos que permiten describir la información de la base de datos.
 Acceso a los datos más eficiente. La organización de los datos produce un resultado más óptimo en rendimiento.
Menor espacio de almacenamiento. Gracias a una mejor estructuración de los datos.
Acceso simultáneo a los datos. Es más fácil controlar el acceso de usuarios de forma concurrente.
DESVENTAJAS
 Instalación costosa. El control y administración de bases de datos requiere de un software y hardware poderoso
Requiere personal cualificado. Debido a la dificultad de manejo de este tipo de sistemas.
Implantación larga y difícil. Debido a los puntos anteriores. La adaptación del personal es mucho más complicada y lleva bastante tiempo.
 Ausencia de estándares reales. Lo cual significa una excesiva dependencia hacia los sistemas comerciales del mercado. Aunque, hoy en día, una buena parte de esta tecnología está aceptada como estándar de hecho.
Tomado de Apuntes Completos Sistemas Gestores de Bases de Datos, 2009, de Jorge Sánchez Asenjo.