Modo Incógnito – “JA”

--Originally published at Security

Sí, el hecho de que naveguemos en modo incógnito, eliminemos las cookies, el historial o inclusive usemos extensiones como AdBlocker o PrivateBadger no nos exenta de que al visitar una página o dar click a un link nuestra huella queda ahí para siempre, y esto es algo realmente a considerar. Un día mi compañero Gerardo Velasco me dijo algo parecido a, si no quieres que algo se sepa y permanezca para siempre, primero, no lo hagas o digas y segundo, no lo subas a internet. Lo cual es un excelente consejo que tengo presente muy seguido en mi vida.

Sabemos que esto no es un comentario que cualquier persona “común” diría, el lo sabe porque está consciente y conoce de los riesgos, lo alarmante es que la mayoría de personas no lo hace y confía ciegamente en usar el internet. Por esto creo que nosotros como desarrolladores, quienes conocemos los riesgos, tenemos la responsabilidad de hacer sistemas seguros. Debido a lo anterior es que decidimos mantener la confidencialidad  y en nuestra aplicación, para que el usuario se siente seguro, que se respeta su privacidad y que su información sólo sera usada en pro del él. Con esto en mente es que decidimos usar la mínima información personal de los niños y la que almacenamos está codificada, todo en aras de la tranquilidad del usuario.

Siempre recuerden, que cuando subes o ves algo en internet, existe el riesgo que lo vean más personas de las que deseas, piensen dos veces que sitios visitan y qué aspectos de su vida privada comparten.

 


Integridad en nuestros datos.

--Originally published at Security

Primero que nada, ¿qué es tener integridad en nuestros datos? Esto significa que se mantiene la consistencia de los datos durante todo el ciclo de vida de los mismos (Creación-Procesamiento-Análisis-Preservación-Acceso-Reutilización). Esto es muy importante por varios aspectos, desde el punto de vista de negocios para las empresas que venden datos, como para la buena imagen que da una empresa con un correcto manejo de datos.

La manera en cómo definimos nuestro ER Diagram es muy simple, tenemos sólo como atributos los datos de los niños que nos interesan y pueden ser útiles, no todos. Usamos su número de lista como key value para relacionar las tablas ya que nuestra base de datos es de tipo relacional. El manejo de datos que hacemos es bastante simple, guardamos información en cuanto se hace el registro del niño y la información que se añade o actualiza posteriormente son los aciertos, errores y tiempo en cada nivel. El análisis de datos que propusimos es en el único momento que se manipulan los datos, y estos datos son sólo los generados a través de la app y no los personales del niño.

Como mencioné anteriormente nuestra decisión de alojar nuestro servidor de base de datos en AWS fue pensada en tener el respaldo y calidad de una empresa tan grande como lo es Amazon.

 


Seguridad imposible.

--Originally published at Security

El tener completa seguridad en un sistema es prácticamente imposible, sería como destacar en cada aspecto o ser increíblemente bueno en todo lo que se hace, y estoy seguro lector, que tú así como yo, no lo eres.

Y eso no quiere decir que esté mal, así como en nuestra persona hay que estar consientes de nuestras debilidades para fortalecerlas, igual en un sistema, ya que como vimos en clase, un sistema es tan seguro, como la menos segura de sus partes. Siendo así, lo más importante es ver cuáles son los aspectos a proteger del sistema, y enfocar la mayor atención y el trabajo en asegurar esa área.

Nosotros estamos trabajando con datos personales de los niños, por esto y con lo anterior en mente es que decidimos tomar ciertas medidas y tener las siguientes acciones al respecto.

  1. Actualizamos Phaser (2.9.2), nosotros estábamos trabajando con una versión de Phaser (2.4.4) que ya tenía casi dos años de haber salido, esto con el fin de tener mejor soporte y contar con los servicios más actuales, porque como vimos en clase, nunca es bueno contar con la versión pasada de algún software.
  2. Decidimos tener una compañía de renombre que nos respaldara, AWS, esto es muy útil ya que en el caso de tener alguna filtración de datos, contaríamos con su apoyo además de la seguridad que brinda.
  3. Usamos Passport Js para la autentificación de usuarios y Bcrypt para la codificación de datos en la base de datos (SQL).
  4. Tener certificados de seguridad y el protocolo HTTPS

Estas fueron las principales medidas que tomamos, ya que el almacenar información de menores no es algo que se deba tomar a la ligera y menos si esto llega a crecer e implementarse en más de una escuela.


Security Architecture and Tool Sets

--Originally published at Security

The Security Architecture and Tool Sets have 5 objectives, and I will define in my words each one of them and add some thoughts about them.

  1. As we saw every project must have some security frameworks, policies, controls and procedures, but it is extremely important to also have  Quality Control measures to verify and check the precense and efectiveness of security controls. I think that this is the main objetive because it’s useless having frameworks or procedures if you’re not sure that they work properly.
  2. Nowadays data is usefull for so many purposes, and even security is one of them. You can use data to recommend remedies of security issues. Which data? You can use location, frecuency and behavior.
  3. The third objective is being able to review security architectures and have the knowledge to implement compensating controls.
  4. The fourth one is use security best practices in the software development lifecycle, because as Ken said, you cannot left security to the end, and add it as a complement. You must be thinking about it since the beginning of the project.
  5. The final objetive is being able to compare and contrast various cybersecurity tools and technologies. This doesn’t mean that you should know how to use and implement each one of them, but it is important to know their perks so you can decide which one implement in different escenarios.

Tipos de autenticación

--Originally published at Security

La autenticación es la forma en la que se demuestra que el usuario que utiliza el sistema es quien dice ser. Para lograr este mecanismo de seguridad se puede hacer por medio de 3 elementos.

  1. Lo que se sabe.
  2. Lo que se tiene.
  3. Lo que tú eres.

El primero, lo que se sabe. La forma más sencilla de especificar esto es por medio de una contraseña. La contraseña es el método más simple y económico, pero es necesario asegurarse que la contraseña sea “fuerte”. ¿Cómo? Muy fácil, que la contraseña sea de mínimo 8 caracteres, que tenga minúsculas, mayúsculas, caracteres especiales, números y por supuesto que no sea parecida o igual a otra contraseña propia.

El segundo método son las smartcards y los tokens. Las tarjetas son muy conocidas, se usan en las oficinas, bibliotecas y hasta para entrar en el estacionamiento del Tec. Los tokens se ven más para entrar a los portales bancarios, sí, son esas tarjetitas con una mini pantalla en donde te da un código para ingresar. La desventaja de estos es que se deniega el acceso en caso de no traer alguno de ellos y puede mermar la experiencia de usuario.

El método de “lo que tú eres” es el biométrico. Apple lo hizo famoso con su Touch ID, sin embargo la huella no es la única forma, Samsung utiliza el reconocimiento de Iris y más reciente el iPhone X utiliza reconocimiento facial. Este método es el más caro y más seguro, sin embargo no es infalible, ya que como comenté en un blog pasado (https://softwaresecurity2017.wordpress.com/2017/08/20/do-you-lock-your-smartphone/) se han dado casos en los que se puede engañar a los sensores.

Personalmente no creo que uno sea la mejor opción, sino que combinarlos haría que el nivel de seguridad fuera mucho mejor.


Framework de administración de riesgos

--Originally published at Security

La administración de riesgos es compleja, pero por fortuna las organizaciones no deben diseñar uno desde cero, ni reinventar la rueda. Existen frameworks establecidos y el más usado fue desarrollado por el Instituto Nacional de Tecnología y Estándares, el cual es una agencia federal gubernamental de Estados Unidos. Este proceso es obligatorio para muchos sistemas computacionales del  gobierno, pero actualmente muchas instituciones privadas lo han adoptado porque lo han encontrado útil.

Resultado de imagen para risk management gif

El proceso del framwork NIST cuenta con 6 pasos principales, sin embargo, antes de empezar el proceso es necesario tener información de dos categorías:
1.- Descripción de la arquitectura: modelos, limitantes del sistema
información del proceso de negocio, etc.
2.- Información específica de la organización como leyes, políticas,
objetivos, cadenas de suministros, etc.

Ya que se tiene esta información  ahora si se puede comenzar a realizar los otros pasos.

1.- Categorizar la información que se almacena, procesa y transmite en el sistema.
2.- Selecciona los controles de seguridad para la información previamente categorizada.
3.- Implementar los controles de seguridad que se seleccionaron.
4.- Revisar si los controles se implementaron correctamente, estánfuncionando y si cumplen los requerimientos de seguridad.
5.- Autorizar la información del sistema.
6.- Monitorear los controles de seguridad para cambiarlos de ser
necesario.

Personalmente este tema me llamó la atención porque jamás me había detenido a pensar en el proceso necesario para administrar, preveer y mitigar riesgos, entonces conocer que existen frameworks en donde basarme cuando sea necesario es de gran ayuda.


Web security

--Originally published at Security

¿Qué es la seguridad web? El nombre es bastante straightforward, pero no es tan fácil definirlo y mucho menos asegurarlo.

Resultado de imagen para web security gif

Entonces, la seguridad web es mantener al servidor web y sus aplicaciones protegidas y a salvo de cualquier daño. Para lograr esto, la seguridad, es necesario tener en mente dos conceptos indivisibles, que sin ellos sería imposible asegurarla: Awareness & protection. Esto tiene muchísimo sentido ya que como en cualquier aspecto de la vida que busques asegurar, primero es necesario tener conciencia de los riesgo y peligros para después poder protegerlo.

Algo que personalmente he aprendido durante la segunda parte de mi carrera es que en ocasiones se necesitan sacrificar algunas aspectos en aras de potenciar otros. En Bases de Datos Avanzadas vimos que el teorema CAP establece que es imposible para un sistema distribuido asegurar consistencia, disponibilidad y tolerancia a particiones en todo momento. En administración de proyectos hemos visto un triángulo compuesto por: calidad, tiempo y costo; en el cual si una de las 3 se modifica las otras también sufren repercusiones. En seguridad web es lo mismo, en ocasiones es necesario perder usabilidad o facilidad de uso para ganar seguridad, aunque esta última sea imposible de asegurar totalmente, por lo que se debe buscar  que cumpla con tus necesidades y metas y que lo que en realidad necesitas de seguridad se ejecute realmente bien.


EnCt2f77414a168e32e21d0c46de0293ee5fd928f9150f77414a168e32e21d0c46de0f9SQsv2CBQG rZ5NOuFn3uoq9IbqNHOkOIZkQDVwQLXed0mULbym4elmSssBv3Q==IwEmS

--Originally published at Security

Para descifrar el título entrar a https://encipher.it con el password kenbauer

El cifrado data desde tiempos muy antiguos, desde A.C. con el emperador romano Julio César el cual usaba el método de cifrado en honor a su nombre. A pesar de que tiene mucho tiempo se popularizó durante la segunda guerra mundial con la máquina Enigma. Personalmente me interesaba este tema, tanto que tomé un tópico en Semana I del 2016 en donde conocimos parte de la historia y vimos varios métodos de cifrado y programamos en Java para descifrar.

Ahora, ¿qué son los servicios de seguridad? Son los servicios que hacen seguros nuestros sistemas y nuestras transferencias de datos. Son 5. El primero es la confidencialidad la cual se asegura por medio del cifrado. La integridad se asegura por medio de hash, la responsabilidad con una firma digital , el rechazo con un código de autenticación y la disponibilidad, que es el último de ellos, es el más difícil de asegurar.

Algo interesante y que personalmente yo no sabía es que hay dos tipos de ataques, pasivos y activos, pero cuáles son las diferencias. En un ataque pasivo el intruso escucha el mensaje estando escondido, pero no lo modifica, por lo que es más difícil detectarlos. Los ataques activos son en los que el intruso se posiciona en alguna parte de la comunicación como en el man in the middle.

 


Ethical Use of Data

--Originally published at Security

I have been thinking about which approach I will be doing this entry, and honestly I had no idea. Then I start reading some articles and I found one that caught my attention, and was about some simple rules given by Sheila Colclasure (Chief Global Privacy and Public Policy Executive at Axciom) to have an ethical use of data. After reading it I decided to give my opinion on each one of the five rules.


CIA, yeah I know, as the Inteligence Agency

--Originally published at Security

For the rest of the blog I will call the CIA triad as the AIC triad because in the other way I can only think about conspiracy and is ironic the term “privacy” that the AIC assures.

Resultado de imagen para cia gif

This triad is a guide to satisfy information security inside an organization. First lets explain what I understand with the terms: confidentiality, integrity, and availability. Confidentiality can be translate into privacy (it’s a coincidence that I spoke about it on my essay), this means that it is important to ensure confidentiality to prevent that sensitive information can be reach by the wrong people. There are some methods used to protect it: data encryption, two-factor authentication, biometric verification (check my blog entry about it at: http://bit.ly/2itQSGq), security tokens and more.

Integrity stands for maintaining the trustworthiness of data over its entire life. One must be sure that data its not change in transit by unauthorized people. These measures include file permissions and user access controls. In addition, backups or redundancies must be available to restore the data. Availability depends more on the hardware, it’s important have system upgrades and maintain adequate bandwith.

As I read on a “Tech target article” the Internet of Things is a big challenge for this triad. Why? because as you may know the IoT consist on enabling many devices to be interconnected, so there are more “entry doors” for a possible attack. Furthermore, as I mention in the availability concept, the software updates are really important to ensure security, and the more devices we have connected, it is more difficult to have necessary updates on each one of them.