Archivo de la etiqueta: web

25 mujeres tecnólogas / hackers / programadoras que sigo en twitter – Parte 2

Continuo con la segunda parte de mi listas, mujeres en la tecnología que no puedes dejar de seguir en Twitter 🙂

#11 – Jessy Irwin

Tecnologa y entusiasta de la ciberseguridad, Jessy es un miembro muy activo en la comunidad, parte de su tiempo lo dedica a impartir platicas sobre privacidad de datos, consejos básicos sobre seguridad y en general concientizar a la población acerca del buen uso de Internet, en su blog personal tiene bastantes referencias sobre platicas y eventos a las que ha sido invitada

#12 – Julia Evans

Julia es una hacker muy peculiar 🙂 no solo por la manera en la que transmite sus ideas (les recomiendo ver los videos de sus presentaciones en YouTube) si no también por el gran numero de áreas que domina en la informática, parece que no hay algo que esta mujer no sepa y lo mejor de todo es que puede explicar temas muy complejos de una forma simple y fácil de entender para el común de los programadores. Algunas de sus publicaciones mas populares incluyen System design, TCP stack, Kernel hacking, dynamic memory, etc.

Aunque ella se considera a si misma una simple administradora de sistemas, en sus publicaciones Julia demuestra un gran expertis en el área de redes y sistemas operativos en general.

#13 – Katie Moussouris

Fundadora y CEO de LutaSecurity, empresa dedicada en proveer soluciones para el responsable disclosure de vulnerabilidades en las organizaciones, los tweets de Katie incluyen las ultimas noticias sobre el malware que afecta a las organizaciones y APTs (advanced persistent threat) en general.

#14 – Katie Neuman

Katie Neuman es una autoridad en la comunidad de seguridad, junto con un grupo de expertos se encargan de crear las pautas para que los procesos de seguridad a nivel corporativo sigan un mismo estándar, en su cuenta de Twitter publica acerca de las ultimas amenazas en el mundo de la ciberseguridad.

#15 – Lesley Carhart

Lesley Carhart es una veterana de la seguridad, con mas de 15 años de experiencia en la industria, incluyendo 8 como DFIR (Digital Forensics and Incident Response) es una gran inspiración para todas los entusiastas de la informática forense, mediante su blog personal colabora con la comunidad publicando artículos de seguridad dirigidos tanto a audiencia técnica como no técnica, puedes encontrar varios videos de sus charlas en Youtube

#16 – Amanda Rousseau

Amanda Rousseau, mejor conocida como Malware Unicorn, es una analista de Malware e investigadora de seguridad, su experiencia incluye haber trabajado como Malware reverse Engineer en el centro de delitos cibernéticos del Departamento de Defensa de los Estados Unidos, Amanda es especialmente popular en eventos de ciberseguridad como Defcon y Black Hat por sus platicas y talleres sobre ingeniería inversa.

Si estas interesado en el análisis de Malware, en su blog encontraras dos cursos completamente gratuitos que te ayudaran a empezar, Reverse Engineering Malware 101 y Reverse Engineering Malware 102.

#17 – Melissa Archer

Melissa Archer es una entusiasta de la tecnología, actriz y empresaria, mejor conocida por ser cofundadora de Hacker’s brew, Jailbreak developer y Tweak developer.

#18 – Ophelia Pastrana

Ophelia Pastrana es una mujer transgénero, física, economista, emprendedora y agnóstica de la tecnología, es muy activa en redes sociales, especialmente en la comunidad tecnológica y LGBT de Latinoamérica, es creadora de varios podcast/vlogs como nerdcore y canvas y le gusta asistir a multitud de eventos tecnológicos entre ellos Campus Party MX, en el cual he tenido la oportunidad de conocerla y hablar con ella personalmente.

#19 – Parisa Tabriz

Parisa Tabriz aka Security Princess, trabaja en Google liderando uno de los equipo de ciberseguridad encargado de mejorar la seguridad de varios productos, entre ellos como Google Chrome, Parisa es una investigadora de la que todo entusiasta de la seguridad ha oído hablar al menos una vez, una de sus aportaciones mas significativas ha sido su articulo So, you want to work in security? en donde comparte consejos a las personas que se quieren iniciar en seguridad.

#20 – Rosa Guillén

Rosa Guillén, también conocida como Novatillasku es una entusiasta de Linux a la que tengo ya varios años de seguir en Internet, es autodidacta y tiene un blog donde publica noticias y artículos de tecnología, comencé a leer sus tutoriales sobre Ubuntu y Linux en general cuando empezaba la preparatoria, si quieres estar enterado de las ultimas noticias sobre este sistema operativo definitivamente es una excelente fuente de noticias.

#21 – Sailor Mercury (Amy)

Sailor Mercury tiene una historia muy interesante, ella solía ser una desarrolladora web en Airbnb y tenia un pasa tiempo que consistía en crear historietas sobre tecnología y diversos temas de ciencias computacionales como algoritmos, memoria, TCP, protocolos, etc. con la ayuda de Kickstarter consiguio fondos para crear una tienda en linea llamada bubblesort.io, dejo su trabajo en Airbnb y ahora se dedica de tiempo completo a seguir transformando conceptos complejos en pequeñas historietas para que mas gente tenga acceso al conocimiento.

#22 – Samantha Davison

Samantha Davidson es una hacker que ha trabajado en equipos de seguridad de compañías como Uber y actualmente Snapchat, su trabajo consiste en concientizar a las personas acerca de la privacidad de sus datos, sobre todo en ambientes corporativos.

#23 – Sheila A. Berta

Tuve la oportunidad de conocer a Sheila en una de sus platicas durante el DragonJar Security Conference en 2015 en Manizales, Colombia. Ella se dedica a la seguridad informática pero desde un punto de vista mas ofensivo, es una reverse engineer y analista de malware muy hábil, ha contribuido a la comunidad de seguridad creando herramientas como CBM – The Bicho y el framework Crozono

#24 – Yan Zhu

Yan Zhu es otra de las hackers mas populares y respetadas en la comunidad de seguridad, siempre esta presente en eventos como Defcon y Black Hat, entre sus aportaciones a la comunidad se encuentran haber contribuido a proyectos como HTTPS everywhere, Let’s Encrypt, SecureDrop, Privacy Badger y Brave

Puedes encontrar varias de sus charlas en Youtube, la gran mayoría de ellas son acerca de protocolos de seguridad para comunicaciones como TLS.

#25 – Keren Elazari

Investigadora y oradora en temas de ciberseguridad reconocida mundialmente, trabaja directamente con compañías Big 4 y Fortune 500 ayudandolos a crear estrategias para mejorar su seguridad y la de sus productos. Esta mujer ha aportado bastante a la comunidad y ha sido fuente de inspiración de muchísimos entusiastas alrededor del mundo, ha sido mencionada en medios de gran reputación como Forbes, Scientific American, WIRED y TED.

Tienen alguna otra recomendación para seguir en Twitter? de ser así se los agradecería.

Saludos.

25 mujeres tecnólogas / hackers / programadoras que sigo en twitter – Parte 1

Hola, en esta ocasión quiero compartir con ustedes una lista de 25 mujeres que sigo (y admiro) en Twitter y que son referencia en el mundo de la tecnología, ya sea por que son programadoras muy hábiles, investigadoras, periodistas especializadas en tecnología, hackers, ingenierías o simplemente tecnologas en general.

#1 – AJ Bowen

AJ Bowen es una ingeniera especializada en infraestructura tecnológica, trabaja en una compañía llamada Travis CI dedicada a implementar soluciones de continues integration, entre las aportaciones de AJ a la comunidad podemos encontrar herramientas como IDNcheck y Clink, también es programadora de Python, Golang, C, C++ y bash scripting.

Bonus: tiene uno de los curriculums mas ingeniosos que he visto (el proyecto es opensource https://github.com/soulshake/cv.soulshake.net/) ya que para visualizarlo necesitas hacer una petición con curl desde la linea de comandos.

$ curl cv.soulshake.net


            ┌───────────────────────────────────────────────────────────────────────────────────────────┐
            │.                                                                                          │
            │                                   Hi, I'm AJ.                                             │
            │                I'm a Python developer with a strong interest in                           │
            │                 APIs, CLIs and subverting the dominant paradigm.                          │
            │                                This is my resume.                                         │
            │                                                                                           │
            │                                                                                           │
            │           Note: this is primarily intended for command-line addicts.                      │
            │             A more conventional version can be found on LinkedIn.                         │
            │                                                                                           │
            │                                                                                           │
            └───────────────────────────────────────────────────────────────────────────────────────────┘

#2 – Aloria

Jefa de seguridad de datos en Flatiron Health, empresa de software dedicada al desarrollo e investigación de nuevos métodos para combatir el cáncer. Aloria es considerada una de las mujeres mas influyentes a nivel mundial en la comunidad de seguridad, también formó parte del equipo de seguridad de Tumblr en donde dedicó gran parte de su tiempo para concientizar a sus seguidores en temas de seguridad informática.

#3 – Azeria

Azeria es una hacker en toda la extensión de la palabra, entre sus aportaciones mas destacadas se encuentran tutoriales completamente gratuitos y de gran calidad sobre ingeniería inversa, ensamblador para plataformas ARM, seguridad ofensiva y otros temas mas avanzados como escalacion de privilegios, binary exploitation y ARM exploit development. Podemos encontrar su material directamente en Azaria Labs.

#4 – Binni Shah

Evangelista de Linux, investigadora de Malware, kernel developer y hasta filántropa, Binni Shah es una verdadera caja de sorpresas, también mantiene Linux – Technology Tidbits, facebook fanpage desde donde comparte artículos muy interesantes sobre seguridad.

#5 – Charity Majors

Tuve la fortuna de conocer a Charity en persona en una de sus platicas sobre ingenieria de sistemas que dio en las oficinas de Microsoft CA en 2016, Charity Majors es una Reliability Engineer eso significa que se encarga de que los sistemas, y la infraestructura en general, siempre este operando de la mejor manera posible, tiene experiencia manejando infraestructura de grandes compañias como Facebook y ahora ha fundado su propia empresa llamada HoneyComb de la cual es la actual CEO

Tip: si lo tuyo es la administración de sistemas (sysadmin) Charity Majors es alguien ha quien debes de seguir en twitter.

#6 – Erika Vilches

Hace unos 6 años cuando comenzaba la universidad tuve la oportunidad de pertenecer a Microsoft Student Partner, en aquel tiempo Erika era una de las personas encargadas de coordinar el programa y gestionar los eventos que nos permitían acercarnos a las tecnologías de Microsoft, así fue como la conocí :). Hoy en día Erika Vilches es una de las mujeres mas influyentes de Latinoamérica en temas de tecnológicos, recomiendo seguirla en twitter para estar enterado de los últimos avances sobre blockchain, chatbots, speech recognition y ciencia/tecnología en general.

#7 – Eva Galperin

Nada mas y nada menos que la directora de ciberseguridad de la Electronic Frontier Foundation, organización sin fines de lucro encargada de luchar por los derechos de las personas en el mundo digital (Internet, ciberespacio, etc.), Eva se enfoca en el sector mas vulnerable (digital-mente hablando) de la población como los periodistas, los medios de comunicación y los ciberactivistas en general, para lograr eso viaja alrededor del mundo concientizando acerca de la privacidad, la libertad de expresión y los peligros del government surveillance.

#8 – Hasherezade

hasherezade es una programadora y analista de Malware que vive en Polonia, ha trabajado como investigadora cientifica, C / C++ developer, penetration tester y actualmente tiene su propia compañia que ofrece servicios de respuesta a incidentes de seguridad, también colabora escribiendo artículos para MalwareBytes.

En su blog personal encontraras algunos de los mejores tutoriales y artículos sobre análisis de Malware que he leído así como soluciones a retos de seguridad, ingeniería inversa y crackmes.

#9 – J.

Es una entusiasta de la seguridad informática, la inteligencia artificial y la automatización, trabaja como analista en el área de DFIR (Digital Forensics and Incident Response) de la empresa Under Armour, compañia estadounidense de ropa y accesorios deportivos. J. es un miembro muy activo de la comunidad de seguridad y participa dando platicas y compartiendo su conocimiento en eventos de seguridad como Defcon.

#10 – Jennifer Sunshine

Jennifer Sunshine es actualmente la CEO de la compañia de ciberseguridad IOActive, ha sido juez de Duo Women in Security los últimos dos añios y ademas también es un miembro muy activo en organizaciones como OWASP, EWF e ISSA.

Hasta aquí la primera parte del articulo, pondré la segunda parte de la lista en la siguiente publicación :), mientras tanto tienen alguna otra recomendación para agregar a mi lista? mujeres que sean un punto de referencia en cuanto a la seguridad informática o el desarrollo de software :D.

Puedes leer la segunda parte de la lista en la siguiente publicación: 25 mujeres tecnólogas / hackers / programadoras que sigo en twitter – Parte 2

Saludos.

Docker 101 #2: puertos y volúmenes de un contenedor

docker-image

En el artículo anterior comenzamos con una breve introducción a docker, vimos su instalación, configuración e incluso lanzamos un par de servidores web nginx usando contenedores, en esta ocasión explicare un poco más acerca de los puertos y los volúmenes.

Puertos

Ok, lo primero que explicare será el mapeo de puertos, abrimos una terminal y ejecutamos el siguiente comando:

$ sudo docker run --name servidor-web -p 80:80 nginx

El parametro –name sirve para asignarle un nombre al contenedor.

El parámetro -p sirve para realizar el mapeo de puertos y recibe una cadena en el formato PUERTO-HOST:PUERTO-CONTENEDOR, es decir, del lado izquierdo definimos el puerto que nuestro sistema operativo le asignara al contenedor de docker y del lado derecho el puerto en el que realmente se ejecuta el servicio dentro del contenedor, en este caso nginx (suena un poco confuso al inicio así que regresa y léelo de nuevo hasta que lo entiendas)

En el comando anterior estamos mapeando el puerto 80 de nuestra computadora con lo que sea que este corriendo en el puerto 80 del contenedor, es por eso que si vamos a http://localhost veremos el servidor web en ejecución 🙂

nginx

En la consola desde donde ejecutaste el comando podrás ver las peticiones hechas al servidor dentro del contenedor.

docker-cli

Al ejecutar el comando y correr el contenedor abras notado que la consola se queda bloqueada por el servidor web, para evitar eso podemos correr el contenedor en modo detach con el parámetro -d, esto ejecutara el contenedor en segundo plano.

$ sudo docker run -d --name servidor-web -p 80:80 nginx

docker_detach

Observa como tan pronto como ejecutamos el comando docker nos devuelve el control de la terminal, cuando ejecutas contenedores de esta forma no olvides que para eliminarlos primero tienes que recuperar su id, el cual puedes obtener haciendo:

$ sudo docker ps

y en la primera columna encontraras el ID del contenedor que después deberás de eliminar usando sudo docker rm [CONTAINER-ID], si lo prefieres un tip muy útil para borrar todos los contenedores que hayas creado es ejecutar:

$ sudo docker stop $(sudo docker ps -a -q)
$ sudo docker rm $(sudo docker ps -a -q)

El primer comando detiene todos los contenedores que estén en ejecución y el segundo los elimina todos (no puedes eliminar un contenedor que este en ejecución).

Puedes correr todas los contenedores que quieras (o necesites) de nginx en diferentes puertos y con diferentes nombres y cada uno será una instancia completamente diferente del servidor web 🙂
containers

Observa como cada uno de los servidores web corren en un puerto diferente.

multi-docker

Volúmenes

Los volúmenes en docker pueden ser definidos con el parámetro -v y nos ayudan a resolver el problema de la persistencia de datos en los contenedores, un volumen puede ser visto como un mapeo entre un directorio de nuestra computadora y un directorio en el sistema de archivos del contenedor, regresemos a nuestro contenedor de nginx, ¿cómo le hacemos para mostrar un sitio web en nginx en lugar de la página por default?

Lo primero que haremos será crear una carpeta en donde colocaremos el código fuente de nuestro sitio web html (por ahora no trabajaremos con nada dinamico), por ejemplo website

website

Ejecutamos el siguiente comando mapeando el contenido de /home/alevsk/dev/sitio-web hacia /usr/share/nginx/html que es el directorio por default que utiliza nginx para servir contenido a Internet.

$ sudo docker run -d --name sitio-web -v /home/alevsk/dev/sitio-web:/usr/share/nginx/html -p 80:80 nginx

La próxima vez que visitemos http://localhost/ veremos nuestro sitio web corriendo.

nginx-web

Puedes replicar este contenedor con el contenido del sitio web tantas veces como quieras, es muy util en un escenario donde necesitas varios ambientes para pruebas, desarrollo, etc.

Eso es todo por ahora, en el siguiente tutorial aprenderemos a crear nuestras propias imágenes de docker (dockerizar aplicaciones), después de eso veremos otra herramienta bastante útil llamada docker-compose para facilitar la orquestación de aplicaciones que utilizan múltiples contenedores.

Saludos y happy hacking.

Platica: Contraseñas seguras

password-security

Esta charla se titula Contraseñas seguras Tips y tecnologías que te ayudaran a mantener seguras tus cuentas en Internet y la impartí en mayo para la comunidad Morelia Code en el polifórum digital de Morelia.

En esta ocasión hablamos acerca del uso de las contraseñas en nuestra vida cotidiana, mostramos algunas técnicas actuales utilizadas por los atacantes para hacerse con las mismas y damos consejos sobre como crear contraseñas seguras, también mostramos ejemplos de software manejador de contraseñas para minimizar el riesgo de que nuestros passwords sean robados por usuarios maliciosos.

No tengo experiencia por que nadie me contrata y nadie me contrata por que no tengo experiencia

ideas

Seguramente muchos de ustedes en algún punto de sus vidas han escuchado esa frase, ya sea por que la han dicho ustedes o la han escuchado por parte de un amigo / conocido, en mi opinión personal se trata de una de las negaciones mas grandes en las que puede caer un recién egresado.

Ahora que estoy próximo a graduarme (ha sido un largo viaje y recuerdo cuando escribí mi primer publicación en este blog) estoy teniendo una nueva perspectiva de las cosas. Es común que a los estudiantes en su semestre de graduando las universidades los lleven a ferias de empleo, esto con la finalidad de que vayan viendo como es el “mundo real”, lo cual en mi opinión es bastante arrogante. La dinámica es sencilla y muy parecida en todas las instituciones, todos juntos llegamos y todos juntos nos vamos.

El fenómeno mas común que he observado es que cuando los estudiantes van hacia la feria de empleo todos van emocionados y llenos de energía, por el contrario, cuando regresan pareciera que esa energía y euforia desapareció y no por cansancio o fatiga física. Se escuchan platicas que dicen cosas como:

  • ¿Como te fue?, ¿Si te entrevistaron?, ¿Dejaste tu cv?
  • No we, me fije en los requerimientos del puesto y pedían X años de experiencia en X, Y y Z, entonces no me anime.
  • ¿Enserio? Pero que “oso” como nos piden experiencia si apenas vamos a salir de la carrera.

Entonces los estudiantes terminan mas decepcionados del viaje que emocionados de ver lo que les depara la “vida real”, y tenemos que hacer algo (estudiantes e instituciones) para cambiar la situación.

Por otra parte, y de lo que les quiero hablar realmente, mucha gente no me cree cuando les digo que conseguí mi primer trabajo formal en Twitter (no en Twitter la empresa :p), pero sucedió así:

Me encontraba en primer año de la carrera de Ingeniería en Tecnologías Computacionales y había tenido que darme de baja a mitad del segundo semestre por un motivo personal.

Ya en mi casa y reflexionando sobre la vida en un feed de desarrolladores en Twitter vi que alguien solicitaba un programador de PHP y pensé, tengo 3 meses mas 2 de vacaciones hasta que comience el nuevo semestre y de todas maneras tenia planeado buscar un trabajo, así que mande un reply al tweet solicitando mas información, la persona se puso en contacto conmigo mediante un email y me comento varias cosas técnicas, entre ellas que el trabajo se trataría de desarrollar sitios web en Joomla (un manejador de contenidos muy popular de la época), sencillamente ocupaban a alguien con experiencia en Joomla, y entonces pensé:

“Rayos, nunca en la vida he desarrollado para Joomla, solo se hacer sitios web sencillos usando PHP y HTML, y he utilizado muy poco MySQL

En ese mismo momento me puse a investigar mas a fondo sobre Joomla, ¿Que era?, ¿Para que servía?, ¿Como se instalaba?, ¿Como se utilizaba?, etc. mi objetivo en ese momento era tener un dominio teórico de esa tecnología.

Cuando le respondí el correo a la persona le explique la situación, le hable sobre que hasta el momento solo sabia hacer cosas sencillas, pero que había estado investigando todo acerca de Joomla y que incluso había instalado la plataforma en mi computadora y estaba haciendo bastantes pruebas, fui honesto con el y lo agregue a Skype.

Cuando la persona me respondió, y hasta la fecha no se si es verdad, me dijo lo siguiente: “Pues estuve revisando varios perfiles, pero el tuyo me pareció el mas interesante por lo que escribiste en el correo” y en la ultima línea decía, y cito “me la voy a rifar contigo”. Los siguiente fue que acordamos sueldos y horarios de trabajo y después tuve que firmar algunos contratos de confidencialidad. Aquí termina la anécdota :).

El punto es, y ahora que han pasado 5 años lo veo claramente, si yo hubiera tomado la decisión equivocada, la de rendirme y ni siquiera intentarlo debido a mi falta de conocimiento, en la actualidad estaría en una situación muy diferente, si me preguntan en que momento comenzó mi carrera profesional les enseñaría este articulo y les señalaría ese párrafo donde explico como empezó todo.

Una vez que termine de trabajar con esa empresa (5 meses) ellos mismos me recomendaron con la siguiente, y después vino otra, y muchas mas, al punto es que en estos últimos 6 años he trabajado con por lo menos 10 empresas diferentes. Empresas en donde desarrolle proyectos que al principio me sobrepasaban, pero que estudiando e investigando salieron y lo mejor de todo es que además de la retribución económica (que es muy importante) tuve la oportunidad de aprender muchísimas tecnologías nuevas.

Algunas personas me dicen que tuve muchísima suerte, pero yo creo que la suerte no tuvo nada que ver en esto, mas bien fueron las ganas de demostrarme a mi mismo que puedo resolver cualquier problema que me pongan enfrente.

Además de trabajar en esas empresas yo nunca me he detenido en aprender por mi cuenta y desarrollar proyectos personales, el beneficio principal es mi propio aprendizaje, si me encuentro trabajando en una empresa de desarrollo, ¿Por qué no aprendería de seguridad informática?, Si estoy en una empresa de seguridad, ¿Por qué no me compraría una tableta wacom y aprendería a dibujar en illustrator?, tus conocimientos no se casan con el puesto en el que te desempeñas :), a lo que voy es que algunas cosas las he aprendido por simple gusto pero también muchas otras por necesidad, por ejemplo generar factura electrónica en el portal del SAT XD.

Si tu lector, no haz tenido la misma “suerte” que yo de trabajar con 10 empresas y chorrosientosmil proyectos diferentes y estas próximo a graduarte, vas a mitad de tu carrera o empezando, el mejor consejo que te podría dar seria empezar a aprender, aprender, aprender y preguntar, y no solo de tu área, si no de muchas otras mas, el otro día en mi universidad unas personas de Bancomer estaban desarmando un cajero automático en plena escuela, yo iba corriendo a clase pero se me hizo curioso, así que me acerque a ellos y primero me presente, después les dije que yo estaba interesado en aprender eso que ellos estaban haciendo por que me gustaba la seguridad informática, al principio se me quedaron viendo serios pero después muy amables me recomendaron un par de lecturas, sitios de internet y uno de ellos me dio su tarjeta, sobra decir que después de eso fui corriendo a Google a buscar esquemas y manuales de cómo funcionan los distintos modelos de cajeros automáticos.

Para terminar, tus conocimientos como estudiante son tan validos como los de un ingeniero / licenciado graduado y viviendo la “vida real”, si quieres experimentar presión proponte a ti mismo una fecha para dominar una tecnología o completar un proyecto personal y CUMPLELA, muchas cosas que harías contratado en una empresa las puedes comenzar a ir haciendo tu en la comodidad de tu casa, no te esperes a graduarte, solo es cuestión de investigar, de esta manera estas generando experiencia real que te servirá en el presente y en el futuro, y cuando menos lo esperes tendrás un portafolio muy completo, incluso antes de ser graduado :).