UNIVERSIDAD NACIONAL DE TRUJILLO AREA: TECNOLOGIA DE LA PROGRAMACION II
PROFESOR (A): TEMA:
VIDAL MELGAREJO ZORAIDA YANET
PERSISTENCIA DE DATOS Y SEGURIDAD EN APLICACIONES MÓVILES
ALUMNO (S):
GARAY OLIVOS SHEYLA BUSTAMANTE VASQUEZ EMILY LEZAMA PAREDES WILFREDY OMAR CHANDUVI CRUZADO Gabriel
GUADALUPE, MAYO-2016
INGENIERIA DE SISTEMAS
INTRODUCCION .............................................................................................................................. 2 I)
PERSISTENCIA DE DATOS .................................................................................................. 3 1.
CONCEPTOS BASICOS .................................................................................................... 3 a) Persistencia: ...................................................................................................................... 3 b) Datos: ................................................................................................................................. 3
2.
CONCEPTO GENERAL .......................................................................................................... 4 Persistencia de Datos .................................................................................................................. 4
3. CAUSAS PARA LA PERSISTENCIA DE DATOS ............................................................. 4 4.
NIVELES DE ELIMINACION DE DATOS PERSISTENTES: ........................................... 5 i.
Compensación: ..................................................................................................................... 5
ii.
Purga: ..................................................................................................................................... 5
iii. Destrucción: ........................................................................................................................... 5 5.
METODOS DE PERSISTENCIA DE DATOS ...................................................................... 5 a) Sobre escritura: ..................................................................................................................... 5 b) Cifrado: ................................................................................................................................... 6 c)
6.
Destrucción física: ................................................................................................................ 6 COMPLICACIONES EN LA PERSISTENCIA DE DATOS ............................................... 7
a) Áreas inaccesibles: .............................................................................................................. 7 b) Datos en RAM: ...................................................................................................................... 7 II) SEGURIDAD EN APLICACIONES MOVILES .................................................................... 8 1.
DEFINICION GENERAL ......................................................................................................... 8
2.
APLICACIÓN MOVIL .............................................................................................................. 9
3.
i)
De acuerdo al mercado. ...................................................................................................... 9
ii)
De acuerdo al lenguaje. ..................................................................................................... 10
iii)
según la plataforma ........................................................................................................ 10
SEGURIDAD EN APLICACIONES MOVILES .................................................................. 10 a) Tipos de ataques: ............................................................................................................... 11 b) Ataques con otras aplicaciones: ...................................................................................... 12
IMPORTANTE: ............................................................................................................................... 13 CONCLUCIONES .......................................................................................................................... 14 REFERENCIAS .............................................................................................................................. 15 BIBLIOGRAFIA .............................................................................................................................. 15
INTRODUCCION
Este capítulo vamos a tocar temas como la importancia de la PERSISTENCIA de los DATOS dentro de nuestro computador ya que si por confusión eliminamos algún archivo no nos preocupemos demasiado ya que este solo se eliminó de forma parcial y con ayuda de algunos programas extra podremos recuperar dicha información. También veremos como el auge de las tecnologías móviles y en especial el desarrollo de las aplicaciones móviles para diferentes sistemas operativos y plataformas móviles han generado la necesidad de implementar procesos seguros de desarrollo de software móvil, la implementación de modelos, metodologías y herramientas que permitan probar y evaluar la seguridad en este tipo de aplicaciones a nivel nacional y global. La seguridad de las aplicaciones móviles es la necesidad más importante del mercado mundial de las aplicaciones móviles, ya que los ataques han aumentado de forma exponencial con el crecimiento de las aplicaciones desarrolladas para este mercado, para identificar las oportunidades existentes en el ecosistema móvil, es necesario entender los conceptos de computación móvil, aplicación móvil y seguridad móvil, los cuales son la base fundamental para identificar la infinidad de estrategias técnicas y comerciales que ofrece este nuevo campo de las ciencias de la computación enfocadas en el ecosistema móvil, de tal manera que se pueden convertir en un eje tecnológico y propulsor de la económica local y global.
PERSISTENCIA DE DATOS Y SEGURIDAD EN APLICACIONES MÓVILES I)
PERSISTENCIA DE DATOS 1. CONCEPTOS BASICOS
a) Persistencia:
En informática, la persistencia se refiere a la propiedad de los datos para que estos sobrevivan de alguna manera. En programación, la persistencia es la acción de preservar la información de un objeto de forma permanente (guardado), pero a su vez también se refiere a poder recuperar la información del mismo para que pueda ser nuevamente utilizado.
De forma sencilla, puede entenderse que los datos tienen una duración efímera; desde el momento en que estos cambian de valor se considera que no hay persistencia de los mismos. Sin embargo, en informática hay varios ámbitos donde se aplica y se entiende la persistencia.
b) Datos: Un dato es una representación simbólica (numérica, alfabética, algorítmica, etc.) de un atributo o variable cuantitativa o cualitativa. Los datos describen hechos empíricos, sucesos y entidades. Es un valor o referente que recibe el computador por diferentes medios, los datos representan la información que el programador manipula en la construcción de una solución o en el desarrollo de un algoritmo. Los datos aisladamente pueden no contener información humanamente relevante. Sólo cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque, hipótesis o teoría se puede apreciar la información contenida en dichos datos. En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo. En estructura de datos, es la parte mínima de la información. DATOS
PROCESAMIENTO
INFORMACION
Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que nos proporciona información.
2. CONCEPTO GENERAL
Persistencia de Datos La persistencia de datos es la representación residual de datos que han sido de alguna manera nominalmente borrados o eliminados. Este residuo puede ser debido a que los datos han sido dejados intactos por un operativo de eliminación nominal, o por las propiedades físicas del medio de almacenaje. La persistencia de datos posibilita en forma inadvertida la exhibición de información sensible si el medio de almacenaje es dejado en un ambiente sobre el que no se tiene control. Con el correr del tiempo, se han desarrollado varias técnicas para contrarrestar la persistencia de datos. Dependiendo de su efectividad y de su intención, a menudo se los clasifica como compensación o purga/higienización. 3. CAUSAS PARA LA PERSISTENCIA DE DATOS Muchos sistemas operativos, administradores de archivos y otros programas proveen facilidades que hacen que el archivo no sea inmediatamente eliminado cuando el usuario solicita esa acción. En su lugar, el archivo es trasladado a un área de retención que permite al usuario revertir fácilmente la acción si se ha cometido un error.
Incluso cuando no se proporciona un área de retención de archivos eliminados explícita, o cuando el usuario no la usa, los equipos normales realmente no quitan el contenido de un archivo cuando se lo intenta eliminar. En lugar de eso, simplemente eliminan la entrada del archivo del índice del sistema de archivos porque esto requiere menos trabajo y por lo tanto es una solución más rápida. Los contenidos del archivo permanecen en el medio de almacenamiento. Los datos permanecerán allí hasta que el sistema operativo reutilice el espacio para nuevos datos. En algunos sistemas, suficientes metadatos del sistema de archivos son conservados para facilitar la recuperación de los datos por programas utilitarios fácilmente disponibles. Del mismo modo, el reformateo, el reparticionamiento o la imagen recreada de un sistema no siempre garantiza escribir sobre todas las áreas del disco aunque todos harán que el disco parezca vacío ó, en el caso de la imagen recreada.
4.
NIVELES DE ELIMINACION DE DATOS PERSISTENTES: Habitualmente se reconocen tres niveles estos serán mostrados a continuación:
i. Compensación: Es la remoción de los datos sensibles de un medio de almacenamiento de tal manera que hay seguridad de que los datos no podrán ser reconstruidos utilizando las funciones normales del sistema o programas de recuperación de archivos/datos. Los datos pueden aún ser recuperables, pero eso requerirá técnicas especiales de laboratorio.
ii. Purga: También conocida como higienización, es la remoción de datos sensibles de un dispositivo de almacenamiento con el objeto de que los datos no puedan ser reconstruidos utilizando alguna de las técnicas conocidas. La purga, proporcional a la sensibilidad de los datos, generalmente se efectúa antes de dejar libres de control a los dispositivos de almacenamiento, en los casos en que se descartan viejos medios de almacenamiento o se trasladan dichos medios a computadoras con diferentes requerimientos de seguridad.
iii. Destrucción: El medio de almacenamiento es físicamente destruido. Su efectividad varía. Dependiendo de la densidad de grabación del medio y/o de la técnica de destrucción, esta técnica puede dejar datos recuperables por métodos de laboratorio. A su vez, la destrucción física cuando se utilizan los métodos apropiados, es generalmente considerada como el método más seguro posible. 5. METODOS DE PERSISTENCIA DE DATOS
a) Sobre escritura: Un método común de contrarrestar los datos persistentes es sobre escribir el medio de almacenaje con nuevos datos. Esto se llama a menudo limpieza o trituración de un archivo o de un disco. Es una opción popular y de bajo costo de algunos programas debido a que a menudo puede ser implementado simplemente en dichos programas y puede ser selectivamente dirigido solo hacia una parte del medio de almacenaje. La sobre escritura es generalmente un método aceptable de compensación siempre y cuando el medio de almacenaje sea grabable y no esté dañado.
b) Cifrado: El cifrado de datos antes de que sea almacenado en el medio puede mitigar las preocupaciones sobre la persistencia de datos. Si la clave criptográfica es suficientemente fuerte y cuidadosamente controlada puede hacer irrecuperable en forma efectiva cualquier dato del medio. Aún si la clave sigue almacenada en el medio, puede resultar más fácil o rápido sobre escribir solamente la clave, en lugar de sobre escribir todo el disco. El cifrado puede hacerse sobre la base de archivo por archivo ó sobre todo el disco. Sin embargo, si la clave es almacenada, aunque sea temporariamente, en el mismo sistema que los datos, puede pasar a ser un dato remanente y recuperada por un atacante.
c) Destrucción física: Una cuidadosa destrucción física de todo el medio de almacenaje es generalmente considerado como el método más seguro de contrarrestar la persistencia de datos. Sin embargo, el proceso generalmente lleva tiempo y es molestoso. La destrucción física puede requerir métodos extremadamente cuidadosos ya que aún un muy pequeño fragmento del medio puede contener grandes cantidades de información. Las técnicas de destrucción específica incluyen:
Rotura física del medio por molienda, trituración, etc. Para medios magnéticos, la elevación de la temperatura por encima de la temperatura de Curie. Para muchos medios de almacenaje eléctrico volátil y no volátil, la aplicación de extremadamente altos voltajes, muy por encima de las especificaciones operacionales.
6. COMPLICACIONES EN LA PERSISTENCIA DE DATOS
a) Áreas inaccesibles: Los medios de almacenaje pueden tener aéreas que son inaccesibles por métodos normales. Por ejemplo, los discos magnéticos pueden desarrollar “sectores averiados” después de que los datos han sido grabados. Los discos duros a
menudo tienen un re mapeo automático de sectores marginales o pistas que el sistema operativo no puede siquiera detectar. Los intentos de contrarrestar la persistencia de datos por sobre escritura puede no ser exitosa en tales situaciones, ya que los datos persistentes pueden persistir en estas áreas nominalmente inaccesibles.
b) Datos en RAM: Se ha observado persistencia de datos en SDRAM, la que típicamente se considera volátil (es decir que sus componentes se borran con la pérdida de la potencia eléctrica). En el estudio, a veces se observó retención de datos a temperatura ambiente. Otro estudio encontró persistencia de datos en una DRAM, también con retención de datos durante minutos o segundos a temperatura ambiente y "durante toda una semana sin refresco cuando se lo enfrió con nitrógeno líquido. Los autores del estudio fueron capaces de usar un ataque de arranque en frío para recuperar claves criptográficas para varios populares sistemas de cifrado total del disco. Pese a cierto grado de degradación de la memoria, fueron capaces de aprovecharse de la redundancia en la forma en que las claves se almacenan después de que se han expandido para ser usadas eficientemente como en el caso de las claves maestras.
II) SEGURIDAD EN APLICACIONES MOVILES 1. DEFINICION GENERAL Las aplicaciones móviles son afectadas por un rango de vulnerabilidades en seguridad, muchas de las cuales son heredadas de los ataques tradicionales a las aplicaciones web y las aplicaciones de escritorio. Sin embargo, otras son específicas de las aplicaciones móviles y de la forma en que estas son utilizadas. Considere los posibles ataques a los que son expuestas las aplicaciones móviles y que deben ser consideradas por los desarrolladores: Muchas de las aplicaciones móviles utilizan algún tipo de comunicación en red, y debido a la naturaleza en el que se utilizan dispositivos móviles, muchas de estas ocurren en una red que no es de confianza o una red insegura como en un hotel, restaurant o café. A menos que la información sea segura durante el tránsito de la misma, este tráfico puede exponer a una aplicación a una serie de posibles riesgos, incluyendo la divulgación de datos o inyección de contenidos. Los dispositivos móviles van a donde vayas, generándose muchas oportunidades en las cuales se pueden perder o ser robados. Los desarrolladores de software deben reconocer el riesgo de la recuperación de datos directos del sistema de archivos de un dispositivo. Cualquier contenido residual que la aplicación deje en el sistema de archivos, ya sea a través del almacenamiento persistente o el almacenamiento en el cache temporal, puede en forma potencial exponer data sensible ante un ataque. Un escenario que es particular de las aplicaciones móviles es tener claro las amenazas del dispositivo host. Los aplicativos Malware es una moneda corriente en el espacio móvil, en particular en los mercados de distribución no oficiales, y los desarrolladores deben ser conscientes de los posibles ataques de otras aplicaciones. Las aplicaciones móviles pueden recibir datos de diferentes fuentes de entrada, lo que crea un número significante de puntos de entrada. Por ejemplo, una aplicación puede recibir datos de las siguientes fuentes de entrada: bluetooth, cámara, micrófono, SMS y USB o códigos QR, por mencionar algunos.
2. APLICACIÓN MOVIL Las aplicaciones móviles son los conjuntos de instrucciones lógicas, procedimientos, reglas, documentación, datos e información asociada a estas que funcionan específicamente en dispositivos móviles, como por ejemplo teléfonos inteligentes, televisores inteligentes, tabletas, reloj, entre otros. Las aplicaciones móviles se desarrollan bajo diferentes lenguajes de programación y funcionan actualmente específicamente en sistemas operativos móviles, en estos momentos los lenguajes más usados para desarrollar aplicaciones móviles son: Java, Objetic C, Xcode C#, C++, WebOS, HTML5, Bad, XML, entre otros.
Una aplicación móvil se identifica en la actualidad porque puede funcionar en dispositivos móviles como característica principal, dentro de las aplicaciones móviles existen diversos tipos y clasificaciones en los que se pueden agrupar. En este orden de ideas las aplicaciones se pueden clasificar de acuerdo al mercado, al lenguaje de programación, al tipo de desarrollado, de forma nativa, multiplataforma o de forma hibrida, si son aplicaciones empresariales o aplicaciones para el uso común de los usuarios. i)
De acuerdo al mercado. Estas aplicaciones son desarrolladas para dispositivos específicos, como por ejemplo, aplicaciones móviles para teléfonos inteligentes, tabletas, televisores inteligentes, reloj, neveras, gafas entre muchos otros dispositivos o para todos los dispositivos anteriormente nombrados, es decir aplicaciones que pueden funcionar en todos los dispositivos móviles.
ii)
De acuerdo al lenguaje. Se refiere a los diferentes lenguajes de programación en las que han sido desarrolladas, es decir, aplicaciones móviles que se han desarrollado bajo los lenguajes de programación como Java, Objetive C, Bada, WebOS, C#, C++, HTML5, HTML/CSS/JavaScript, entre muchos otros.
iii) según la plataforma Lo que se denomina desarrollo nativo de aplicaciones, es decir el lenguaje de programación oficial definido por la empresa u organización: AndroidJava, iOS-Objetive C, BlackBerry OS-Java, Bada-C++, Windows PhoneC#, Windows 8-C#- C++, WebOS-HTML5-C++, Mobile Web- HTML5HTML/CSS/JavaScript, Ubuntu OS-HTML5, entre otros.
3. SEGURIDAD EN APLICACIONES MOVILES En el área de las tecnologías de la información y la comunicación la seguridad se enfatiza en la seguridad de la información y del hardware de los equipos que se utilizan, existen diferentes definiciones para la seguridad informática. Los principales problemas de seguridad que enfrentan los dispositivos móviles son: La seguridad física de los dispositivos móviles debido al continuo incremento de la pérdida y robos. La seguridad en el almacenamiento del dispositivo. Procesos de autenticación fuerte con contraseñas pobres. Soporte a múltiples usuarios con seguridad. Entornos de navegación seguros. seguridad en sistemas operativos móviles. El aislamiento de las aplicaciones. La divulgación de información.
Los Virus, Gusanos, Troyanos, Spyware y Malware. Los procesos de actualización y parcheo de los sistemas operativos. El uso y cumplimiento estricto del protocolo SSL. Pishing (robo de información) Solicitud de falsificación de sitio cruzado. La localización privacidad y seguridad. Drivers de dispositivos inseguros. Múltiples factores de autenticación.
Nivel de seguridad en una Aplicación: se debe realizar las mejores prácticas de programación segura que entregan las organizaciones de seguridad en computación, seguir las recomendaciones de las compañías de antivirus y las compañías de análisis de seguridad, implementar el uso de protocolos y estándares de seguridad en la programación, firmar las aplicaciones, realizar procesos de pruebas, etc. a) Tipos de ataques: Los ataques a los dispositivos móviles están asociados a diferentes riesgos y vulnerabilidades que se pueden presentar con el uso de los dispositivos, en este sentido los tipos de ataques se pueden agrupar de diferentes formas y dependiendo del enfoque que se le desee dar a los ataques de los dispositivos móviles. i) El primer riesgo y vulnerabilidad que puede existir se encuentra relacionada con el propio usuario del dispositivo, es decir si el usuario no cuenta con una seguridad apropiada con el uso del dispositivo genera un riesgo y una vulnerabilidad bastante grande, debido a que cualquiera puede acceder a la información para revisarla, modificarla o copiarla. ii) Plataformas móviles enganche delas plataformas, instalación de malware, aplicaciones móviles de ejecuciones automáticas no autorizadas, las decisiones de la arquitectura de aplicaciones basadas en la plataforma. iii) Acceso al dispositivo para revisar la simcard del dispositivo, revisión de las conexiones telefónicas y de internet, uso del dispositivo para enviar virus, malware y procesamiento de actividades, robo de datos secretos y datos sensibles del dispositivo. Almacenamiento de datos robo, revisión y modificación de claves, información de las bases de datos, archivos de configuración, archivos de las aplicaciones, las caches de los sistemas.
b) Ataques con otras aplicaciones: Los ataques que se pueden realizar a los dispositivos móviles y los sistemas operativos a través de programas dañinos o peligrosos son los siguientes:
Troyanos: Aplicaciones y SMS.
Gusanos.
Programas Espías.
Bombas de Tiempo.
Inteligentes.
Para el desarrollo de aplicaciones móviles seguras es importante tener el conocimiento del sistema operativo, los conocimientos del lenguaje y los reportes de seguridad y vulnerabilidades de diferentes organizaciones encargadas de realizar estas tareas demás de tener en cuenta las mejores prácticas de desarrollo de aplicaciones móviles seguras. La premisa más importante que se debe tener en cuenta es que el dispositivo móvil es personal y no es de un grupo de personas, por lo tanto, la información y los datos almacenados y manejados por el usuario son de su propiedad y como tal deben ser valorados y manejados de la mejor forma, es por esto que no es recomendable almacenar información importante en el dispositivo móvil.
IMPORTANTE: OWASP
El proyecto OWASP Mobile Security es un recurso centralizado destinado a dar a los desarrolladores y equipos de seguridad de los recursos que necesitan para construir y mantener seguras las aplicaciones móviles. A través del proyecto, el objetivo es clasificar los riesgos de seguridad móvil y proporcionar controles de desarrollo y reducir el impacto o la probabilidad de explotación de las aplicaciones por parte de terceros. El enfoque principal está en la capa de aplicación. Si bien se tiene en cuenta la plataforma móvil y los riesgos inherentes al modelado con respecto a los controles y las amenazas, el objetivo se encuentra en las áreas que el desarrollador promedio puede trabajar y hacer la diferencia. Además, no sólo se centra en las aplicaciones móviles desarrolladas para el usuario final, sino también en el más lado del servidor y la infraestructura de comunicación de las aplicaciones móviles. La idea es enfocarse en la integración entre las aplicaciones móviles, los servicios de autenticación remota, y las características específicas de la plataforma de la nube.
CONCLUCIONES
Hemos aprendido cosas importantes como la persistencia de datos, que quizás nosotros pensábamos que como al borrar la carpeta o archivo y desaparecía ya estaba eliminado, lo cual no es así ya este archivo puede ser recuperado ya q no se borra por completo del sistema y está guardado en una parte del disco duro y que por supuesto sigue ocupando memoria. Las fallas de las aplicaciones móviles se deben la administración de los dispositivos móviles, se depende de muchos factores que intervienen en el funcionamiento, como las organizaciones propietarias de los sistemas operativos, los ecosistemas móviles, los market, las compañías de telefonía móvil, los fabricantes de los dispositivos móviles; en general la dependencia de las tecnologías es total en referencia a los propietarios de las mismas. Al desarrollar aplicaciones móviles seguras se debe tener claro el sistema operativo, las tecnologías y las redes de comunicación, además de implementar procesos de desarrollo de aplicaciones seguras, las buenas prácticas de desarrollo y los estándares que ayudarán a minimizar errores, fallas y vulnerabilidades, el objetivo principal es minimizar la inseguridad porque no existen aplicaciones o sistemas de computación cien por ciento seguros
REFERENCIAS
Asociación Colombiana de Ingenieros de Sistemas y Museo Colombiano de Informática, e IBM. Historia de la Computación Historia de la Computación .
BIBLIOGRAFIA
https://es.wikipedia.org/wiki/Persistencia_de_datos
https://www.owasp.org/index.php/OWASP_Mobile_Secur ity_Project
http://www.acis.org.co/archivosAcis/HistoriadelaComputa cion
http://www enisa europa eu/act/it/eid/mobile‐eideID). November.http://www.enisa.europa.eu/act/it/eid/mobile http://www.darkreading.com/insiderthreat/security/vulnera bilities/showArticle.jhtml?articleID=227400257&queryTe xt =mobile+vulnerabilities