Video Summary and Transcription
La charla discute sobre la seguridad web y la importancia de una fuerte protección del código. Destaca una vulnerabilidad donde se utilizó un débil código numérico de cinco dígitos, permitiendo un fácil acceso a contenido sensible. El orador enfatiza la necesidad de la limitación como mecanismo para prevenir ataques. La empresa implementó la limitación y bloqueó el acceso a las fotos para mejorar la seguridad. Sin embargo, se necesita un código más fuerte y medidas adicionales, como limitar el acceso a direcciones IP específicas y marcos de tiempo.
1. Introducción a la Seguridad Web
Hola, mi nombre es Hendrik. Hoy, quiero hablar sobre la seguridad web. Accedí accidentalmente a contenido picante debido a una débil protección de código. Se utilizó un código numérico de cinco dígitos, lo que facilitó la generación de códigos. El throttling es un mecanismo importante para prevenir ataques, pero no se implementó.
Entonces, hola, mi nombre es Hendrik. Y antes de empezar, necesito decepcionarte un poco porque no voy a hablar sobre React hoy. Y aún peor, quiero hablar sobre la seguridad web. Así que espero que puedas disfrutar de mi charla.
Quiero contar una historia o compartir una historia contigo donde accidentalmente, y prometo accidentalmente, accedí a contenido bastante picante de fotos donde la gente mostraba juguetes sexuales o incluso consumía alcohol. ¿Qué ha pasado? Bueno, en octubre de 2022, visité una sala de escape con algunos amigos. Y después de la experiencia, un miembro del personal vino a nosotros e hizo una foto de grupo.
En nuestro caso, solo fue una aburrida foto de grupo. Y después de eso, nos dieron un pequeño pedazo de papel que parecía eso. Y en el pedazo de papel, estaba nuestro código generado aleatoriamente, así como la fecha de la experiencia, ¿verdad? La experiencia fue muy útil. Solo tenías que ir a la página web, ingresar tu código y boom, puedes encontrar las fotos puedes acceder fácilmente y prestarlas y compartirlas con tus amigos. Gran experiencia de usuario. ¿Qué podría salir mal aquí?
Bueno, es como quizás similar al gato, ¿verdad? Imagina que tienes una habitación y quieres proteger la habitación. Entonces la solución es, bueno, simplemente cierras la puerta y tu habitación está segura, ¿verdad? Hasta que el gato entiende cómo usar la manija de la puerta. Volviendo a mi historia, básicamente, yo era el gato y estaba jugando con la manija de la puerta para ver cómo funciona. Resulta que, en realidad, usaron un código bastante débil para proteger las fotos, ¿verdad? Era un código numérico de cinco dígitos, lo que significa que solo teníamos 90,000 códigos posibles por día. Y estoy bastante seguro de que cualquiera de ustedes podría escribir fácilmente un script para generar códigos. Y lo único que tienes que hacer es simplemente escribir otro script y enviar el formulario una y otra vez, y solo esperar encontrar un código real. Sí, tal vez eso es lo que hice. Y resulta que funciona. Y solo como una rápida comparación, puedes verlo aquí en la tabla. Si simplemente usas un código numérico de seis dígitos, ya aumentarías la complejidad a 900,000 códigos. Y para mí, siempre es como, piénsalo. Si te sentaras en nuestra reunión de diseño de productos, en algún momento tendrías que decidir, está bien, ¿qué tipo de código vamos a usar? Y eligieron uno numérico de cinco dígitos. Imagina si hubieran elegido el de seis dígitos o incluso incluido alfanumérico, habrían aumentado la complejidad bastante.
Entonces, incluso si tienes el código más fuerte del mundo, si me das suficiente computación, probablemente dinero y tiempo, todavía podría intentar encontrar códigos aleatorios. Por lo tanto, otro mecanismo que necesitamos es el throttling. El throttling significa que si recibes mucho tráfico proveniente de la misma dirección IP, probablemente en algún momento quieras limitar el tráfico o bloquear la dirección IP por completo. Y ese es un mecanismo bastante fuerte para prevenir ataques. ¿Y adivina qué? No implementaron ningún throttling.
2. Mejorando las Medidas de Seguridad
No había puerta ni manija de la puerta, lo que hacía que la habitación fuera fácilmente accesible. Después de descubrir contenido sensible, compartí mis hallazgos con la empresa. Implementaron el throttling y bloquearon el acceso a las fotos, mejorando la seguridad. Sin embargo, todavía se necesita un código más fuerte. Ahora el tráfico debe provenir de diferentes direcciones IP y el acceso a las fotos está limitado a un marco de tiempo específico.
Básicamente, eso significa que no había puerta, no había manija de la puerta, básicamente la habitación estaba abierta y yo podía entrar sin ningún problema. Bueno, estaba aburrido un domingo y me di cuenta de que, oh, diablos, esto es realmente serio aquí. Y también mencioné que encontré contenido picante porque, eso es porque también tienen una experiencia de sala de escape de fiesta donde puedes tener algunos momentos íntimos privados con tus amigos. Y básicamente con el resto del mundo, ¿verdad? Así que pensé, está bien, necesito compartir mis hallazgos de alguna manera con la empresa. Y eso es lo que hice. Y un par de semanas después, reaccionaron. Al menos implementaron el throttling y también bloquearon el acceso a todas las fotos. Así que mejoraron un poco la security. Aún así, todavía sugeriría implementar un código más fuerte, pero al menos ahora es más difícil atacar el servicio porque ahora el tráfico tendría que provenir de diferentes direcciones IP. Y también solo puedes obtener acceso a las fotos de los últimos 14 días, 7 días, no sé el número exacto. Así que definitivamente lo mejoraron. Entonces, ¿por qué estoy aquí? Para mí, no es que quiera culpar a la empresa, ¿verdad? Todos cometemos errores. Y estoy bastante seguro de que en mis criterios, también implementé algunas cosas bastante malas. Así que no se trata de culpar. Se trata de aprender e inspirar a las personas. Y así quiero inspirar a cada uno de ustedes aquí para desafiar las decisiones de design. Así que imagina que estás en una reunión de diseño de producto, tienes que implementar un servicio de fotos o un servicio de compartición. Y solo me gustaría inspirarte para hacer preguntas críticas aquí, como estas que están en la diapositiva. Habría sido tan fácil prevenir un ataque simplemente implementando un código más fuerte, implementando el throttling, también bloqueando el acceso a fotos más antiguas, o incluso haciendo preguntas. Oye, ¿podemos simplemente comprar un producto SaaS para manejar las cosas aquí? ¿Tenemos que implementarlo nosotros mismos? O tal vez podemos reutilizar la dirección de correo electrónico de la reserva en línea para que ni siquiera necesitemos generar un código. Y sin mencionar, pusieron credenciales duras en un pedazo de papel. No sé si eso es realmente una buena solución. Así que solo quiero inspirar a cada uno de ustedes a desafiar las decisiones de design para que podamos todos trabajar en una web segura. Ese es mi tiempo. Esa es mi charla relámpago de hoy. Puedes encontrar todas mis redes sociales y también dirección de correo electrónico, si no te gustan las redes sociales, en mi sitio web. Les deseo a todos un gran resto de la conferencia y nos vemos tal vez más tarde en la fiesta.
Comments