Ciberseguridad
- Resumen
- Mirando hacia adelante
- Ciberseguridad
- Contraseñas
- Seguridad del teléfono
- Administradores de contraseñas
- Autenticación de dos factores
- Hashing
- Criptografía
- Claves de acceso
- Cifrado
- Eliminación
- Resumen
Resumen
- Durante las últimas diez semanas, has estado aprendiendo sin parar.
- En este curso, aprendiste a programar en muchos lenguajes de programación; de hecho, nuestra gran esperanza es que hayas aprendido a programar en todos ellos, independientemente del lenguaje de programación.
- Además, esperamos que hayas aprendido a resolver problemas por encima de todo.
Mirando hacia adelante
- A medida que avanzas desde el trabajo de este curso al mundo exterior de CS50, es posible que desees tomar una serie de pasos para prepararte.
- Para poder ejecutar comandos en la terminal, como lo hiciste en CS50.dev, puedes instalar herramientas de línea de comandos en tu Mac o PC.
- Puedes aprender más sobre Git.
- Puedes descargar y aprender sobre VS Code.
- Puedes alojar un sitio web usando GitHub o Netlify.
- Puedes alojar una aplicación web usando AWS, Azure, o Google Cloud.
- Puedes hacer preguntas en comunidades en línea relevantes.
- Puedes hacer preguntas usando herramientas basadas en IA como OpenAI y GitHub Copilot.
- Puedes tomar cualquiera de nuestros otros cursos de CS50.
- Puedes unirte a una de nuestras muchas comunidades.
Ciberseguridad
- Hoy tendremos una descripción general de alto nivel de algunos de los temas relacionados con la ciberseguridad.
- La ciberseguridad consiste en comprender cómo nuestros datos están protegidos o no protegidos.
Contraseñas
- Una de las preocupaciones de la ciberseguridad tiene que ver con nuestras contraseñas.
- Las contraseñas son un método que se utiliza para proteger los datos en línea.
-
Hay contraseñas comunes que la gente utiliza:
1. 123456 2. admin 3. 12345678 4. 123456789 5. 1234 6. 12345 7. password 8. 123 9. Aa123456 10. 1234567890
-
Si tienes una de las contraseñas anteriores, ¡lo más probable es que millones de personas tengan la misma contraseña que tú!
- Los adversarios del mundo comenzarán con esta lista.
- Los malos también pueden adivinar la mayoría de las heurísticas que utilizas para añadir símbolos a tu contraseña.
- Los adversarios pueden utilizar ataques de fuerza bruta, utilizando un diccionario de contraseñas para probar simplemente todas las contraseñas posibles.
- Es probable que tu contraseña no sea tan segura como crees.
Seguridad del teléfono
- Muchos teléfonos se protegen con un código de cuatro dígitos.
- La forma más simple de ataque sería el intento de fuerza bruta de todas las contraseñas posibles.
- Hay 10,000 contraseñas posibles cuando se usa un código de cuatro dígitos.
- Si se necesita una conjetura por segundo, se tardará 10,000 segundos en descifrar la contraseña.
-
Sin embargo, si un programador crea un programa para generar todos los códigos posibles, el tiempo requerido sería mínimo. Considere el siguiente código en Python:
from string import digits from itertools import product for passcode in product(digits, repeat=4): print(passcode)
-
Debería ser bastante desconcertante que el código anterior solo tome unos segundos (¡como máximo!) para descubrir su contraseña.
- Podríamos mejorar nuestra seguridad cambiando a una contraseña de cuatro letras. Esto resultaría en 7,311,616 contraseñas posibles.
- Incluir caracteres en mayúsculas y minúsculas crearía más de 78 millones de posibilidades.
-
Considere cómo podríamos modificar su código para descubrir estas contraseñas:
from string import ascii_letters from itertools import product for passcode in product(ascii_letters, repeat=4): print(passcode)
-
Incluso podríamos agregar la capacidad de ver todas las contraseñas posibles de ocho dígitos con letras, números y signos de puntuación:
from string import ascii_letters, digits, punctuation from itertools import product for passcode in product(ascii_letters + digits + punctuation, repeat=8): print(passcode)
-
La expansión a ocho caracteres, incluidas letras mayúsculas y minúsculas, números y símbolos, daría como resultado 6,095,689,385,410,816 combinaciones posibles.
- En el mundo digital, simplemente desea que su contraseña sea mejor que las contraseñas de otras personas para que otras personas sean atacadas mucho antes que usted, ya que es un objetivo mucho menos conveniente.
- Una desventaja de usar una contraseña tan larga es la desventaja de tener que recordarla.
- En consecuencia, existen otras defensas que podrían emplearse para frenar a un atacante. Por ejemplo, algunos fabricantes de teléfonos bloquean a quienes ingresan una contraseña incorrectamente.
- La seguridad consiste en encontrar un "punto óptimo" entre las compensaciones de seguridad mejorada y el mantenimiento de la comodidad.
Administradores de contraseñas
- Los administradores de contraseñas pueden usarse para crear contraseñas muy complejas y recordarlas por ti.
- La probabilidad de que una contraseña protegida por un administrador de contraseñas se descifre es muy, muy baja.
- Esperarías que estos administradores de contraseñas fueran seguros. Sin embargo, si alguien obtiene acceso a tu administrador de contraseñas, tendrá acceso a todas tus contraseñas.
- Al final, es mucho menos probable que corras riesgo por las personas con las que vives, y mucho más probable que corras riesgo de los miles de millones de personas en internet.
- Como se mencionó anteriormente, puedes tomar una decisión basada en el equilibrio entre seguridad y conveniencia.
Autenticación de dos factores
- Agregar otro medio mediante el cual debes autenticarte agrega más seguridad. Sin embargo, hay un costo humano ya que es posible que no tengas acceso a tu segundo factor.
- Estos se implementan como una especie de contraseñas de un solo uso que se envían a un correo electrónico, dispositivo o número de teléfono.
- Las políticas de seguridad siempre intentan equilibrar las necesidades de seguridad y la conveniencia humana.
Hash
- La información de tu cuenta y otros datos confidenciales no deben almacenarse como texto sin formato en una base de datos en línea.
- Si una base de datos se ve comprometida y todas las credenciales se almacenan en texto sin formato, también es probable que las credenciales para otros servicios en otros sitios web se vean comprometidas.
- Por lo tanto, los algoritmos hash, como se discutió anteriormente en este curso, se usan para almacenar solo valores hash de contraseñas.
- El hash unidireccional permite que los servicios en línea nunca almacenen realmente la contraseña original escrita por el usuario: solo el valor hash de estas contraseñas. Por lo tanto, si hay una violación, solo se conocerá el valor hash.
- Las tablas arcoíris son enormes diccionarios que los adversarios usan para intentar pre-hashear las posibles contraseñas como un medio para intentar romper el algoritmo hash.
-
Como un proceso adicional para una mayor seguridad, los programadores a veces pueden introducir el salazón donde es poco probable que varios usuarios tengan el mismo valor hash para representar sus contraseñas. Puedes imaginar esto de la siguiente manera:
Criptografia
- Al igual que el hash, un algoritmo de cifrado puede usar una clave pública y texto para crear texto cifrado.
- A su vez, una clave privada y el texto cifrado pueden ser introducidos al algoritmo para descifrar el texto.
Claves de acceso
- Las claves de acceso son una tecnología nueva que ha surgido en los últimos meses.
-
A través de claves privadas y un desafío que se alimenta a un algoritmo, los sitios web pueden autenticarlo a través de la firma única creada por su dispositivo.
-
Por lo tanto, las contraseñas y los nombres de usuario pueden quedar obsoletos pronto.
Encriptación
- El cifrado es una forma por la cual los datos se oscurecen de manera que solo el remitente y el receptor previsto puedan leerlos.
- A principios de este curso, aprendimos un algoritmo muy simple para "desplazar" el texto por uno o más caracteres como una forma rudimentaria de cifrado.
- Cifrado de extremo a extremo es una forma por la cual el cifrado y el descifrado ocurren en el mismo sistema sin un intermediario. Esto evita que el intermediario o un actor malicioso puedan husmear en tus datos. Zoom y Mensajes de Apple pueden utilizar cifrado de extremo a extremo.
Eliminación
- Tirar un archivo a la papelera de tu ordenador o vaciar la papelera no elimina realmente los bits reales del archivo en tu ordenador.
-
En cambio, quedan restos de los archivos.
-
Eliminación segura es donde los restos de esos archivos se convierten en ceros y unos.
- Aun así, pueden quedar algunos restos debido a lo que el sistema operativo no puede acceder.
- Cifrado de disco completo permite que todo tu disco duro sea cifrado. Por lo tanto, tus archivos eliminados son menos accesibles para los adversarios.
- Considerando el cifrado, es esta misma tecnología la que los adversarios usan para crear ransomware que puede, literalmente, mantener tu disco duro como rehén.
Resumen
- Usa un gestor de contraseñas.
- Usa autenticación de dos factores.
- Usa cifrado (de extremo a extremo).