• ¿Qué es?

      En la semana de [IdM] (del 4 al 12 de octubre) vamos a poner disponibles desafíos donde vas a tener que encontrar una bandera o "flag". Los equipos que la encuentren se llevan los puntos de ese desafío. El que tenga más puntos para el cierre de IdM gana. Así de fácil. 

      ¿Desafíos? ¿Flags?

      Son grabaciones de señales moduladas, imágenes o directamente datasets con un mensaje o respuesta en formato "flag{CODIGO}". Tenés que ingresar ese código en la web (ver link abajo) y ya capturaste la bandera. Más abajo hay algún ejemplo para que veas cómo son.

      Me quiero anotar!

      Armá tu equipo de hasta tres personas y mandanos mail a ctf@fing.edu.uy antes del 3/10. Incluí nombre para el equipo, nombres y mail de los integrantes, además de tu nivel respecto al conocimiento técnico (año de facultad básicamente) para saber en qué categoría inscribirte . Importante: no es necesario ser estudiante de facultad para participar (ni siquiera es necesario estar en Uruguay).

    • Entrega de premios de la edición 2020.

      John te explica cómo funciona el CTF:
    • Recursos

    • Desafíos de ejemplo

      Cada desafío es un texto que sirve para darle contexto (y por lo general da pistas!), acompañado de una señal (casi siempre) grabada en formato WAV. La tasa de muestreo y la cantidad de canales (si es flotante es un solo canal, y si es fase y cuadratura son dos canales) se pueden ver en las propiedades del archivo (usando botón derecho desde el navegador de archivos, o usando el comando file desde la terminal, o usando cualquier programa de edición de audio como el Audacity).
      Dejamos un ejemplo de desafío para que veas en concreto de qué se trata acá abajo. Cuando la plataforma de desafíos está abierta (ver abajo), los desafíos quedan públicos. Podés verlos y si querés mandar una respuesta anotate pidiéndonos un usuario y listo.
    • Software

    • Un tutorial práctico sobre uso del GNU Radio en español.

    • Varios de los desafíos se pueden resolver usando GNU Radio. Si no sabés usarlo o estás olvidado, la web tiene varios tutoriales.

    • Algunos módulos de GNU Radio se instalan aparte y pueden ser útiles en los desafíos. Una lista no completa se puede encontrar aquí.

    • ¿No tenés Linux instalado con GNU Radio? Lo mejor es que lo tengas, pero lo segundo mejor es este docker.

    • Otra buena herramienta para analizar señales, sobre todo digitales.

    • ¿Preferís Python para procesar señales? Acá tenés una biblioteca específica para SDR con un completo tutorial.

    • Detalles de las reglas

      • Las flags son case-insensitive (o sea, no importa si está escrito en mayúscula o minúscula).
      • Las flags típicamente son en formato flag{XXX}, pero puede haber variantes (como flag: XXX). De todas formas queda claro al momento de encontrar el flag cuál es el formato correcto.
      • Se debe ingresar todo el texto, incluída la palabra flag. Es decir, si en la señal se encuentra un flag{XYZ}, se debe ingresar flag{XYZ}.
      • Algunos flags están en formato audio. En ese caso pueden venir en alfabeto de deletreo para radiotelefonía para que se entienda mejor (o sea, alfa para la A, beta para la B, Charly para la C, etc.). En ese caso el flag son las letras, no el código. O sea, si se escucha "El flag es Alfa, Beta, Charly", hay que ingresar "FLAG{ABC}".
      • Los desafíos quedarán disponibles el viernes 4/10 de tarde.
      • La solución de algunos desafíos abre otros desafíos.
      • El comité organizador se reserva el derecho de agregar desafíos nuevos durante la semana o de agregar pistas (que se pueden cambiar por puntos).
      • El ganador será aquel equipo con más puntos al sábado 12/10 al mediodía. En caso de empate, se declarará ganador al equipo que haya llegado primero al puntaje.

    • Plataforma con los desafíos

    • Finalmente, acá está el sitio para ver los desafíos y (si estás inscripto) ver si la flag que encontraste está bien. Todavía están los desafíos del año pasado, también pueden servirte para ver de qué se trata.