Dos historias sobre cómo tuvieron lugar los eventos de programación en Ekaterimburgo



Diluyamos los fríos días de invierno con cálidos recuerdos de cómo fue Ekaterimburgo: la final de RuCTF 2012 (competencia de seguridad de la información) y la final del 38º campeonato mundial de programación "Las finales mundiales de 2014 del ACM ICPC".

Muchas fotos adentro.

Todas las fotos y textos del autor.

El primer evento
"Evento virtual de robo de TI" o cómo fue el final de RuCTF 2012
Del 19 al 22 de abril de 2012, en la Universidad Federal de los Urales (Ekaterimburgo), se celebró la final del Concurso Inter-Universitario de Protección de Información de toda Rusia RuCTF 2012.

RuCTF es una competencia universitaria de seguridad de la información de toda Rusia desde 2008 basada en los principios de jugar CTF : al comienzo del juego, los equipos reciben servidores idénticos con un conjunto predefinido de servicios vulnerables, y la tarea de los participantes es encontrar vulnerabilidades, cerrarlas en casa y usarlas para obtener Información privada (banderas) de los rivales.


Los organizadores de RuCTF son el Instituto de Matemáticas y Ciencias de la Computación de la Universidad Federal de los Urales que lleva el nombre del Primer Presidente de Rusia B.N. Yeltsin, el Centro Regional Educativo y Científico "Sistemas Inteligentes y Seguridad de la Información", la organización pública interregional "Asociación de Jefes de Servicios de Seguridad de la Información" y el Fondo de Apoyo de Información y Comunicación tecnología

La competencia RuCTF 2012 se realizó en dos etapas.

La etapa de calificación ( RuCTF 2012 Quals ) tuvo lugar en Internet del 16 al 18 de marzo durante 48 horas sin interrupción.

Las reglas de la etapa de calificación de RuCTF 2012 Quals están aquí .

En la etapa de calificación de RuCTF 2012 Quals, se pidió a los equipos que resolvieran tareas (tareas), unidas por categorías temáticas. Para una solución exitosa de tareas, los equipos recibieron puntos. El nivel de complejidad de la tarea estaba directamente relacionado con su costo.

Además de esta etapa de clasificación, los equipos podrían clasificarse para la final RuCTF 2012, mostrando excelentes resultados en otras competiciones CTF.

La final de RuCTF 2012 tuvo lugar del 19 al 22 de abril en la ciudad de Ekaterimburgo.

El programa final constaba de varias partes:

19/04/2012 - Registro de participantes, ceremonia de apertura de RuCTF 2012, informes técnicos y clases magistrales.
20/04/2012 - una mesa redonda con los organizadores de las finales, un informe sobre robótica, una reunión con los patrocinadores de las finales y una discusión de temas con el jurado.
21/04/2012 - La final de RuCTF 2012 (del 9-00 al 20-00).
22/04/2012 - Análisis de tareas por parte del jurado y premiación de los participantes.

La mayoría de los datos para los participantes estaban disponibles aquí, en la lista de correo de RuCTF .

Inscripción para la final de RuCTF 2012 y la organización de este evento.

El evento, el RuCTF 2012 final se llevó a cabo como parte del festival "Spring UPI en el Ural Federal", por lo tanto, los organizadores proporcionaron a los participantes tales lugares de USU, tales como:

  • Salón de Actos de la Universidad Estatal de Ural (calle Lenin, 51, tercer piso)
  • Sala de conferencias, USU, st. Turgeneva, 4to, 3er piso
  • Aud. 611, USU, st. Turgeneva, 4to, 6to piso
  • Parquet, segundo piso del edificio educativo principal de la Universidad Estatal de Ural, ul. Mundo 19.

Y había suficiente espacio para todos, pero había muchos participantes, observadores y camaradas invitados.

En el registro, cada miembro del equipo recibió una insignia, un juego de bolígrafos y cuadernos para notas, una taza, una camiseta y muchas cosas positivas.



Desafortunadamente, no todos los equipos pudieron asistir al evento con toda su fuerza o incluso asistir. Pero la composición general de los equipos inspiró respeto.

La lista de equipos, observadores y la composición del equipo invitado se puede encontrar aquí .

Equipos participantes:

  • Bushwhackers Universidad Estatal de Moscú Lomonosov;
  • mapa de bits de la Universidad Estatal de Orenburg;
  • [Censurado] La Universidad Federal Báltica lleva el nombre de I. Kant;
  • Leet More Universidad Nacional de Investigación de Tecnología de la Información, Mecánica y Óptica;
  • PeterPEN Universidad Estatal de San Petersburgo;
  • Universidad Estatal SiBears Tomsk;
  • Universidad Estatal WildRide Chelyabinsk;
  • HackerMayCry Ural Federal University;
  • 10ª Universidad Federal de los Urales;
  • Koibasta Samara State Aerospace University lleva el nombre del académico S.P. Koroleva;
  • Magic Hat Samara State Technical University.

La final tuvo lugar en el principal edificio educativo de UrFU:


Pero con un giro, los organizadores propusieron un nuevo formato para los participantes, en el piso, que cambió radicalmente el impulso y aumentó la intensidad de la acción de los miembros del equipo.

Anteriormente, tales eventos se llevaban a cabo en audiencias separadas para cada equipo, y ahora hay un gran espacio, detrás de las espaldas hay otros equipos separados por divisiones de luz y todos se ven, sintiendo el calor y el ardor de la lucha.

Reglas finales

Durante el juego, los equipos pueden:

  • use cualquier cantidad de computadoras y equipos de red no superiores al segundo nivel de la pila ISO OSI;
  • realizar cambios en los servidores que se les proporcionan, a menos que el jurado lo prohíba expresamente;
  • Cambie la topología de su segmento de red.

Durante el juego, los equipos tienen prohibido:

  • realizar ataques contra computadoras del jurado;
  • filtrar el tráfico de los equipos opuestos del tráfico del jurado (por ejemplo, por direcciones IP);
  • generar un volumen de tráfico excesivamente grande (inundación);
  • realizar ataques destructivos en los servidores de equipos opuestos (por ejemplo, rm –rf /);
  • llevar a cabo las acciones anteriores en nombre de los equipos adversarios.

Leyenda del final de RuCTF 2012
RuCTF 2012. Leyenda del final
Texto para equipos, 14 de abril de 2012

El mundo moderno es un mundo de dinero. El dinero impregna todas las áreas de la sociedad. Todos piensan en el dinero, diariamente, cada hora. Cada persona puede enriquecerse en un instante o cruzar la línea de la pobreza. El dinero está en todas partes: compramos alimentos para sobrevivir, tomamos préstamos para satisfacer nuestros caprichos, hacemos depósitos con la esperanza de preservar nuestras oportunidades.

El dinero se ha vuelto tan natural que nadie entiende lo que es: el dinero. Pero aún en el mundo hay quienes entienden el dinero mejor que otros. Saben cómo ganar dinero y aumentar su fortuna, hacen fácilmente transacciones multimillonarias, no notan pérdidas multimillonarias. Estas son las corporaciones. En un día ganan tanto dinero como una persona común gana en la vida. A veces, parece que solo están jugando con dinero.

Este año jugaremos con dinero. Los equipos ahora son gigantes financieros, grandes propiedades que luchan entre sí en una carrera por el enriquecimiento. No hay más banderas. Ahora todo lo que tiene es dinero, y su tarea es ganar aún más dinero. A toda costa.

Pero no se preocupe, RuCTF sigue siendo una competencia de seguridad informática, y cada equipo tendrá un servidor familiar con servicios preinstalados, cada uno de los cuales ganará dinero. Por ejemplo, uno de los servicios emitirá préstamos y otro aceptará depósitos. En interés, y por un cierto período, todo de verdad. Estos dos servicios permitirán a los equipos mantenerse a flote, incluso si pierden absolutamente todo el dinero: los clientes acuden regularmente a ellos, dejan depósitos y solicitan préstamos.

Gafas

El mundo del dinero es inestable. Hoy puedes ser un millonario del rublo, y mañana habrá un default. En el mundo del dinero, necesita una moneda fuerte, y los puntos del organizador son esa moneda. A nadie le importa cuántos millones de rupias hay en su caja fuerte o en sus bolsillos. Para elevarte a los ojos de tus rivales, debes cambiar tu dinero por puntos. Puede hacerlo en cualquier momento, pero recuerde que los tipos de cambio no se detienen. Usted es libre de elegir lo que es mejor: cambiar los tugriks ahora, después de 5 minutos de identidad, o tal vez después de 20 minutos de envoltorios de dulces.

Dinero

Desde un punto de vista técnico, el dinero involucrado en el juego es un conjunto de billetes emitidos por el Banco Central. Cada factura está representada por una cadena de texto en formato CSV y tiene un aspecto similar a este:

82154800-8337-11E1-8736-16514824019B, 1000, TUG, 10,2012-04-21T11: 00: 00, AD87 ... BOI ==, dinero-dinero

La factura consta de los siguientes campos:

1. identificador único de la factura (UUID);
2. denominación del billete (en este caso 1000);
3. moneda (en este caso, "Tugriks");
4. identificador único del propietario de la factura (número natural);
5. fecha y hora de creación de la factura en formato ordenable;
6. Base64 de una firma electrónica realizada con la clave privada de CentroBank;
7. comentario opcional, sin afectar el significado de la firma.

En cualquier factura, puede verificar fácilmente si es real: la clave pública de CentroBank estará disponible para todos los participantes.

Transacciones

Las transacciones de dinero, independientemente de las partes que participan en él, se llevan a cabo a través del Banco Central, propiedad de los organizadores. Antes de la transacción, una de las partes inicia la transferencia de dinero y pasa al segundo lado. Acuerdan el monto, la moneda y la identificación de la transacción.

Después de eso, ambas partes usan el protocolo HTTP del Banco Central para realizar la transacción. CentralBank impone un límite de tiempo entre las conexiones de las partes: si uno de los participantes duda, la transacción puede no tener lugar.

Después de conectarse, el lado de transmisión en el cuerpo de la solicitud POST transfiere las facturas línea por línea. CentroBank selecciona todos los existentes de ellos, verifica que tengan todas las monedas necesarias, las clasifica en valor nominal ascendente y toma un billete desde el principio hasta que recolecta una cantidad suficiente para realizar la transacción. El intercambio de facturas y la entrega del cambio no se realiza, sin embargo, todas las facturas válidas no utilizadas se devolverán al remitente en el cuerpo de respuesta en caso de transacción exitosa.

Técnicamente, al realizar una transacción, CentroBank retira los billetes antiguos del remitente y emite nuevos al destinatario. Los equipos podrán verificar si la factura ha sido retirada, utilizando el servicio especial de los organizadores.

Almacenamiento

El corazón de la infraestructura de cada equipo es el servicio de almacenamiento, que mantiene a salvo todo el dinero que pertenece al equipo. Todos los demás servicios del equipo reciben y agregan dinero a la Bóveda. Además de aceptar, almacenar y emitir billetes, el Almacén también tiene una idea peculiar de ahorro: si el servicio comienza a pedir demasiado dinero por un período de tiempo demasiado corto y devuelve muy poco dinero, es probable que al Almacén no le guste , y no dará dinero.

Firma

Otro servicio de soporte es el servicio Signature. Él sabe cómo aceptar datos y firmarlos con la clave privada de su equipo. La firma se utiliza para autenticar las solicitudes realizadas por los servicios del equipo.

Interacción del equipo

Como siempre, puedes interactuar con otros equipos como parte de las reglas. Por ejemplo, puede tomar un préstamo de un competidor más rico o hacer una contribución al banco de otro equipo. Sin embargo, por supuesto, no podemos garantizar que el servicio de otro equipo lo trate con honestidad. Del mismo modo, puede intentar engañar los servicios de otras personas. Excepto por un caso.

Préstamos

Para evitar el fraude crediticio, los organizadores se ven obligados a controlar el proceso de emisión de préstamos. Por lo tanto, todas las transacciones relacionadas con los préstamos se realizan no solo a través de CentroBank, sino a través de un administrador especial. Excepto por algunos detalles, este servicio funciona de manera idéntica para el Banco Central. En particular, antes de tomar un préstamo, el cliente y el servicio deben acordar un identificador de transacción.

La parte que tomó el préstamo puede, en cualquier momento, hasta el vencimiento del plazo, presentarse al Fideicomisario y devolver el dinero del préstamo. Tenga en cuenta que para esto el prestatario debe recordar el identificador de la transacción en la que se realizó el acuerdo para obtener un préstamo.

Después de la fecha límite de reembolso del préstamo, la parte que lo emite tiene derecho a acudir al Fiduciario y exigirle que le devuelva el préstamo con intereses. Independientemente de si el prestatario devolvió el dinero en este momento, el Fiduciario le da dinero al prestamista, es decir, implementa un sistema de seguro de crédito.

Parece que puede tomar préstamos y no pagarlos, un camino directo a la riqueza. Pero cada equipo tiene karma.

Karma

Karma refleja el nivel de confianza del cliente en la explotación. Si un equipo no ofende a sus clientes, su karma crece gradualmente al máximo. Sin embargo, cuando un equipo se comporta mal, su karma comienza a caer. Esto puede ocurrir en los siguientes casos:

  • Un cliente vino al servicio, pero no pudo obtenerlo. Quizás el servicio no estaba disponible en absoluto.
  • El servicio del equipo fue deshonesto con el cliente. Por ejemplo, acepté una contribución, pero no quería devolverla con interés en el momento adecuado.
  • El equipo tomó un préstamo de otro equipo, sin embargo, no lo pagó a tiempo.

Cuanto más bajo sea el karma del equipo, menos a menudo los clientes recurrirán a él y menos dinero se destinará a sus servicios.

Resumen

  1. A lo largo del juego, los equipos operan con dinero. Pueden ganarlos de manera legal, así como robar a otros equipos.
  2. En cualquier momento, los equipos pueden cambiar las notas que conocen por puntos al tipo de cambio actual, mientras que no es posible un intercambio inverso. El dinero restante al final del juego se quema.
  3. El dinero se almacena centralmente y puede circular libremente entre los servicios del equipo, sin embargo, el acceso a una gran cantidad no se puede obtener de ningún servicio a la vez.
  4. Por la inoperancia o fraude de los servicios, los equipos son multados por la caída de su karma. Cuanto menos karma tiene un equipo, menos dinero pasa por sus servicios.
  5. Sin asesoramiento No puedes perder la concentración, porque el objetivo es ganar dinero.


API de servicios finales de RuCTF 2012

La ubicación real del equipo en el piso y el esquema de LAN fueron los siguientes (hay cadenas de par trenzado visibles):



Donde el enrutador de comandos es una imagen de VMware con un sistema operativo preinstalado (con todas las actualizaciones disponibles). El enrutador fue preconfigurado por el equipo de desarrollo final. Los equipos pueden cambiar su configuración bajo su propio riesgo.

En una de las computadoras portátiles proporcionadas al equipo, se instaló una imagen de prueba para probar la red. Debe iniciarse durante las pruebas de red, durante el juego se puede detener. Sin embargo, en caso de problemas con la red, el equipo deberá ejecutarla a solicitud del jurado. La imagen de prueba y la imagen vulnerable deben ubicarse en la misma máquina física.

Un conjunto inicial de equipo preparado por los organizadores para cada equipo: un interruptor, dos computadoras portátiles o una computadora de escritorio, que no tenía suficiente, cables de conexión y una regleta de alimentación.


Y como resultó en realidad con la colocación en el piso, es simplemente encantador:




El temor de que hubiera "poco espacio" o "no sería conveniente" desapareció por completo entre todos los participantes cuando cada equipo desplegó sus bases en el lugar de trabajo y comenzó a estudiar los materiales emitidos por el jurado y ejecutar sus configuraciones de equipos de prueba.

El premio principal y desafiante de estos concursos estaba esperando en la mesa central de su nuevo propietario:


Bueno, y otra sorpresa, los organizadores prepararon esto para los equipos: la imagen general del sistema era ... tornillo

Cuántas palabras felices se le dijeron al jurado cuando cada miembro del equipo entendió la complejidad y la no trivialidad de esta final, porque estaban preparados para todo excepto para tal inesperado. Sin embargo, quien estaba más preparado en este camino, recibió más ventajas y el primero arrancó puntos bastante buenos. Pero más tarde, todos se detuvieron en este tema también.

Fue interesante observar cuántos miembros del equipo en las pantallas de las computadoras portátiles en las consultas de búsqueda tenían muchas preguntas que comenzaban con "me gusta en Windows" o similares ... Pero esto es solo una semilla, porque no la imagen era lo principal, sino sus servicios y reglas proporcionando, así como la oportunidad de encontrar vulnerabilidades en ellos y obtener los puntos codiciados por sus acciones correctas.

Brevemente: los equipos ahora son gigantes financieros, grandes participaciones que luchan entre sí en la carrera por el enriquecimiento. No hay más banderas. Ahora todo lo que tiene es dinero, y su tarea es ganar aún más dinero. A toda costa.

Cada equipo tiene un servidor con servicios preinstalados, cada uno de los cuales ganará dinero (uno de los servicios emitirá préstamos y otro aceptará depósitos). Este dinero se intercambia por puntos de los organizadores, que se muestran en el marcador.

Hubo cinco servicios en total: créditos, depósitos, MMM, SafeDepositB y Cloud. Bots visitó a cada uno de ellos (su actividad y trabajo fue controlado por un jurado), que depositó dinero o realizó operaciones con estos servicios para cada equipo. Dependiendo de su satisfacción y confianza en las operaciones, cada equipo tenía karma, cuanto más alto es, más y más bots acudirán a él para recibir servicios.

Los equipos tuvieron que anotar la mayor cantidad de puntos transfiriendo los ganados, robados (de bots u otros equipos) o creados utilizando agujeros en los servicios de dinero. Además, hubo situaciones en las que era posible dañar gravemente a otro equipo en el nivel de servicio para que el otro equipo no se diera cuenta de que estaba trabajando para el enemigo.

En general, no fue trivialmente difícil y muy interesante resolver estos acertijos para cada equipo.

Cada uno de los equipos incluía programadores bastante buenos, tanto generalistas como compañeros entrenados rápidamente, así como especialistas en sistemas Unix y Windows. Y todos se ayudaron mutuamente con mucha fuerza y ​​seriedad, organizando sesiones de lluvia de ideas.

Más sobre equipos.

Equipo [Censurado] - I. Kant Baltic Federal University, Kaliningrado.
Composición: Alexander Golubkov, Artyom Vorobyov, Maxim Skuratov, Mikhail Yudin, Alexander Nazarov, Evgeny Vasiliev, Sergey Chesnokov, Sergey Valov, Stepan Boychenko, capitán - Alexander Puzakov.

Un equipo muy interesante y amigable, que primero cambió el rumbo en puntos en el marcador y causó una gran emoción entre los otros participantes, así como el primero anotó 1 millón de puntos en la final.


El equipo de mapa de bits es la Universidad Estatal de Orenburg, Orenburg.
Composición: Kirill Lyashkov, Dmitry Baranov, Arthur Chernov, Alexei Ledovsky,
Pavel Komissarov, Vladimir Matz, Daria Gerusova, Ilya Orlov, Konstantin Shpiniev, capitán Sergey Volkov.


Bushwhackers — .. , . .

: , , , , , , , , , — .


HackerMayCry — , . .

: , , , , , , , — .

, . , .


Koibasta — .. , . .

: , , , , , , , , — .

, ( ), . VSFI ( ) RuCTF 2012.


l0rd — , . .

: , , , , , , , , , — .


Leet More — , , . -.

: , , , , , , , , , — .


Magic Hat — , . .

: , , , , , , , , , — .

, , , .


PeterPEN — - , . -.
: , , , , , , , , — .


SiBears — , . .

: , , , , , , , — .

SiBears — RuCTF 2011, . .., .


WildRide — , . .

: , , , , , , , — .

, .


(Guest Team) – , . – 15 , SlashDotDash, ufologists, Hack Club, BitOn, Honeypot, GIRAV.


, , , , .


– : , , , , , , , , , , , , , , .


, , , , .

, , ( ) – :


, ., .



– .

, , . – 140-150 ( ), , , , ..


Y cada dispositivo, independientemente de su tamaño o nombre (por cierto, la mayoría de las marcas conocidas) adquirió en las manos hábiles de los miembros del equipo una funcionalidad envidiable para la victoria, ya sea para buscar una descripción en Google, compilar un código o servicios de apoyo para obtener los codiciados puntos de victoria.

Por cierto, muchos dispositivos llevaban pegatinas o grabados de varias competiciones de hackers.

Y el lugar de trabajo habitual de un miembro del equipo se veía así, pero todo estaba a la mano:


Y solo una pequeña netbook perdió el piso en el tercer piso, creando el fondo musical de toda la acción.


Por cierto, la amabilidad de los miembros del equipo y su apertura a la comunicación fue simplemente una ayuda en la comunicación rara para un bocadillo en la esquina de la sala final (¡y allí se organizó toda una mesa sueca de galletas, dulces y té!) O, cuando no estaban en la terminal, sino en pantallas grandes, lo principal era no molestar en la mesa.

Scorboard, pantallas, el final de la batalla.

Scorboard: una tabla con resultados actuales en ruso. Pero lo que contenía y qué información se dio a los equipos y observadores se discutirá a continuación. Los datos de la base de datos del jurado ingresaron a la aplicación, que procesó los valores actuales de los elementos del juego según los equipos y produjo tres diapositivas en grandes pantallas de TV con un cambio de varios segundos entre cada diapositiva:

  • en forma de gráfico, el tipo de cambio (dólar, rublo y euro): cuanto más roban una moneda, menor es su tasa;
  • una tabla de puntos, karma y capacidad de servicio de los servicios de cada equipo;
  • Tiempo total de juego.

Apariencia de un tablero con una tabla de puntos:


Aquí puede ver la posición del equipo, la cantidad de puntos, su karma y los servicios cuyo desempeño se dividió en tres categorías: UP (todo es normal, funciona), MUMBLE (funciona, pero no es estable y no es regular), DOWN (no funciona).

Los miembros del equipo a menudo usaban datos de pantallas de monitores grandes, aunque era posible ir a la página del juego y ver la misma información en un navegador. Pero fue realmente conveniente ver la visualización del juego en un monitor de terceros.

Además, uno podría llamar la atención y las emociones de los participantes de otros equipos, tratar de analizarlos y actuar en una dirección más correcta.

Chat también funcionó en el panel de control: puede enviar un SMS al teléfono de uno de los miembros del jurado, y él escribió este texto en el área visible de la pantalla. Pero era una opción más intimidante para los observadores.

Al final de la competencia, 30 minutos antes del final del tiempo de juego, los tableros también congelaron los datos sobre los puntos actuales, etc. no estuvo disponible. Y el tiempo pasaba ... Lo principal era lograr cobrar todo el dinero y transferirlo a puntos.


Las pasiones se calientan al límite: concentración máxima y otorgamiento. Cada movimiento incorrecto o elección incorrecta de acciones sería fatal en ese momento. ¡Pero muchos equipos lograron, y la mesa final con los resultados no fue como la congelada en muchas posiciones!

Pero el cronómetro pasó a ceros y todos dieron un suspiro de alivio, porque tanta severidad inmediatamente cayó de los hombros de los participantes. Muchos estaban exhaustos hasta el límite porque era un juego tan difícil con rivales fuertes y traicioneros.

Los organizadores aquí también prepararon una sorpresa: el anuncio de los resultados será solo al día siguiente, el domingo. Entonces, otra noche de insomnio para muchos entonces. Pero ella valió la pena.

Debriefing

Después de una ronda final difícil y agotadora, no todos pudieron llegar al evento de clausura de las finales de RuCTF 2012 a las 11 de la mañana, pero los organizadores prepararon muchas cartas, regalos, recuerdos, ninguno de los miembros del equipo salió de la sala con las manos vacías.

Pero, ¿qué tipo de premio recibiría el ganador de la final de parte de los organizadores del festival "Spring UPI in the Ural Federal"?


Pero antes de comenzar la ceremonia de premiación, el equipo del jurado de las finales de RuCTF 2012 informó sobre el trabajo realizado. Los chicos hablaron sobre quién programó qué servicios y qué agujeros o errores en ellos se implementaron originalmente con ejemplos de su activación y uso.


Al final resultó que, las lagunas se dejaron deliberadamente en cada uno de los cinco servicios con los que operaron los equipos, descubriendo que los equipos podían multiplicar su dinero (emitiendo préstamos con intereses negativos, por ejemplo), robar dinero de los bots de las celdas de depósito (recogiendo códigos PIN para a estas celdas enumerando estos códigos), perjudicando a otros equipos, haciéndolos interferir con la operación de los servicios, o incluso obtener acceso de administrador en uno de los servicios para cambiar sus características.

En general, cada uno de los servicios tenía de 2 a 5 huevos de Pascua, pero los equipos podían buscar otras formas de resolver rivales y bots. ¡Y algunos incluso tuvieron éxito!

Y reaccionaron así cuando resultó hacer una finta virtual interesante, por ejemplo:


Además de la necesidad de interrumpir los servicios, cada equipo podría duplicar su capital inicial abriendo el archivo encriptado de la imagen que recibió al comienzo del juego. Pero hubo un pequeño error: el jurado olvidó activar un servicio auxiliar, con la ayuda de cuyo análisis sería posible acceder a la contraseña desde el archivo. Por lo tanto, esta tuerca no se dividió, como algunos de los "agujeros" originales de los servicios, ningún equipo podría adivinar antes de usarlos.

En general, los más atentos, perspicaces, capaces de escribir scripts originales y complejos y adaptarse rápidamente a cualquier sistema operativo con comprensión instantánea de nuevos lenguajes de programación, como Erlang, poseer habilidades de PyCharm, etc. etc. - Esto es solo una fracción de las características descriptivas de cada participante en este evento.

Resumiendo y premiando a los ganadores

Así que ha llegado el momento de anunciar a aquellos que podrían resistir el ataque de los ataques cibernéticos y anotar la mayor cantidad de puntos al final del juego.

La mesa final es la siguiente:


Primer lugar - equipo [Censurado], la Universidad Federal Báltica lleva el nombre de I. Kant.


Segundo lugar - equipo SiBears, Tomsk State University.


Tercer lugar: equipo WildRide, Universidad Estatal de Chelyabinsk.


Así, los tres primeros ganadores de las finales de RuCTF 2012 obtuvieron sus copas:


¡Y los organizadores han desplegado tantas tiendas de regalos!

Después de todo, todo resultó ser simple: ¡los puntos ganados se convirtieron en dinero real, y fue posible seleccionar los regalos necesarios para cada miembro del equipo inmediatamente desde el escenario! Cada regalo tenía su propio precio.

Plegable de regalo:


Y cada equipo se turnaba (comenzando desde el primer lugar) para llegar a este mega grupo de dispositivos y elegir los dispositivos necesarios para ellos.


Si el equipo [censurado] tenía muchas opciones, entonces SiBears tenía menos opciones de regalos:


Y el equipo WildRide se quedó con muy poco en el rango de selección.


Pero al final, ¡todos estaban felices!

Y para la final de la final, ¡el premio principal de RuCTF fue transferido del equipo del ganador de RuCTF 2011 al nuevo ganador y ganador de este trofeo!



Luego hubo felicitaciones y amables palabras de todos los capitanes de los equipos y, por supuesto, ¡la promesa de celebrar la próxima final es aún más interesante y más difícil!

Es agradable cuando se llevan a cabo tales competiciones, porque ves cuántas personalidades realmente obstinadas, coleccionadas y de gran formato luchan por el título del equipo RuCTF más avanzado, inteligente y exitoso en 2012.

Y el hecho de que los organizadores crearon una atmósfera tan cálida y acogedora en el evento es, sobre todo, un elogio.

Si desea ver un conjunto más avanzado de fotografías del autor para este evento, están aquí .


El segundo evento.
Final del 38º campeonato mundial de programación "Las finales mundiales del ACM ICPC 2014", Ekaterinburg, 23-25 ​​de junio de 2014
En 2014, el segundo campeonato mundial de programación se celebró en Rusia (en 2013, la final de ACM ICPC 2013 se celebró en San Petersburgo).

Solo en 2014, la final fue la más grande en la historia del campeonato en términos de número de participantes.


122 equipos participantes (más de 1000 participantes de 41 países: programadores, entrenadores, grupos de apoyo, servicios de apoyo al campeonato), 300 voluntarios de la Universidad Federal de los Urales (Ural Federal University) y otro equipo de voluntarios de todo el mundo, 7 mejores hoteles en Ekaterimburgo, 39 autobuses Shuttles, 2 sitios cercanos en el centro de la ciudad en la zona verde - DIVS "Uralochka" (el palacio de los deportes de juego Uralochka, en adelante - DIVS) y KKT Cosmos (cine y teatro de conciertos, en adelante - KKT Cosmos), 5 horas para tomar una decisión un equipo de 3 personas, 1 computadora y cal el curador 12 tareas muy difíciles ...

Reglas, participantes, organizadores y voluntarios.

Pero volvamos un poco, porque 122 equipos han recorrido un largo camino desde las victorias en las competiciones de calificación locales (300 mil estudiantes participaron en ellas en 2013) y los primeros lugares en las semifinales en sus regiones del mundo (Europa, Asia, América del Norte, Pacífico Sur, América Latina América, África y Medio Oriente) antes de llegar a la final. Y las cuotas fueron muy duras. Muchos equipos fuertes no fueron más allá de estas selecciones, aunque los equipos más afortunados, inteligentes y nuevos abrieron el camino a la final.

Un número récord de finalistas alcanzó el nivel regional en 2014: 32043 participantes de 2286 universidades en 94 países compitieron en 300 sedes diferentes en 6 continentes para recibir una de las 122 invitaciones a la final del campeonato de programación en Rusia en Ekaterimburgo.

Ya existe el deporte, la mente y la organización interna de cada equipo se han convertido en uno. Y cada uno de los 122 equipos que vinieron a visitar Ekaterimburgo ya es un campeón.
Aquí están lo mejor de lo mejor aquí y será posible identificarlo y felicitarlo al final del evento.
En el camino hacia el lugar del premio, los equipos deberán resistir cinco horas de competencia, lo que requerirá que los participantes ejerzan todas las fuerzas intelectuales y psicológicas bajo estrés, alta concentración y el deseo de derrotarse a sí mismos.

El sitio web oficial del campeonato de 2014 en Rusia.

El Campeonato Mundial de Programación (ICPC - International Collegiate Programming Contest, que se celebra anualmente bajo los auspicios de la Association for Computing Machinery - ACM) se lleva a cabo con el fin de hacer crecer más y más generaciones avanzadas de programadores que puedan resolver problemas técnicos por más alto nivel

Los ganadores anteriores de ICPC de Rusia son los desarrolladores de VKontakte, Yandex, Mail.ru, etc.

La primera competencia de equipo en programación deportiva bajo los auspicios de la Asociación de Ingeniería Informática (ACM) se celebró en los Estados Unidos, en la Universidad de Texas en la lejana década de 1970. El campeonato mundial de programación adoptó su formato actual en 1977, cuando se celebró la primera final como parte de la conferencia anual de ciencias de la computación ACM entre los estudiantes.

Desde entonces, la competencia en el marco del campeonato se ha llevado a cabo anualmente, y desde 1989 la Universidad de Baylor (Texas, EE. UU.) Ha participado en su organización principal. También en diferentes momentos, compañías como Apple, AT&T y Microsoft se convirtieron en los patrocinadores de la competencia, sin embargo, desde 1997 hasta el presente, IBM ha sido el patrocinador general. Además, la contribución de los patrocinadores es muy significativa tanto en el equipo técnico y de software de los participantes y jueces, como en la actitud social y educativa hacia todos los participantes en el campeonato.

De 1977 a 1989, equipos de universidades de EE. UU. Y Canadá participaron en la Olimpiada, otros países del mundo estuvieron representados por un grupo regional europeo. Sin embargo, desde 1990, gracias a la proliferación de las computadoras personales, comenzaron a aparecer nuevos grupos regionales cada año, y la geografía de la competencia se expandió significativamente. Y ahora los estudiantes de todo el mundo pueden demostrar plenamente sus habilidades y destrezas en todas las etapas del campeonato cada año.

Los organizadores del campeonato en Ekaterimburgo en 2014 son:

  • Universidad Federal de los Urales con el apoyo de la Administración de la Ciudad y el Gobierno de la Región de Sverdlovsk;
  • ACM - Asociación de Ingeniería Informática;
  • IBM es la compañía de productos de tecnología e información más grande del mundo;
  • SKB Kontur es un desarrollador federal de servicios de Internet, software para negocios y contabilidad.

Solo gracias a la clara coherencia y las buenas relaciones entre todos los organizadores (el número de empleados y voluntarios involucrados en la organización de la final fue de aproximadamente mil personas, si no más), se logró un alto nivel profesional del Campeonato Mundial de Programación en Ekaterimburgo.

El equipo proporcionó a cada equipo finalista y su entrenador organizadores, traslado a los lugares de competencia, tres comidas gratis al día y un rico programa cultural (¡sí! Con sus insignias, los finalistas podían visitar museos, centros culturales y muchos lugares maravillosos de la ciudad de forma gratuita Ekaterimburgo), el Internet wi-fi de alta velocidad gratuito para todos los participantes del Campeonato Mundial de Programación en la Zona ICPC (hoteles, DIVS, KKT Cosmos) también funcionó durante casi una semana.

Descubrimiento

Por primera vez fuera de los Estados Unidos, la final del campeonato mundial de programación ACM-ICPC tuvo lugar en 1999 en los Países Bajos, y luego, en diferentes años, las universidades de Canadá, China, Japón, la República Checa, Polonia, Suecia y Rusia organizaron el campeonato (ya dos veces).

Por lo tanto, el Campeonato Mundial de Programación, la 38ª Final Mundial Anual de la ACM International Collegiate, la Final Mundial 2014 de la ACM ICPC Ekaterinburg, Rusia se celebró el 23.06.14-26.06.14.

De hecho, el evento comenzó el 20 de junio con la llegada de voluntarios, un grupo de servicio de organizadores que comenzaron a desplegar los sistemas técnicos de las finales y monitorear cómo van los preparativos finales en los sitios.

Los lugares estaban cercados, se instaló la seguridad adecuada en todas partes para que los competidores se sintieran completamente protegidos (aunque se movieron libremente por la ciudad y después de un día o dos comenzaron a orientarse en el centro).
DIVS (Palacio de los Deportes) se hizo cargo de la final, y en el CCM "Cosmos" (cine y teatro de conciertos) los participantes cenaron, pasaron su tiempo libre, las ceremonias de apertura y clausura de la final del Campeonato Mundial de Programación tuvieron lugar allí:


Los sábados y domingos son días y noches de insomnio con los organizadores:


El sábado y el domingo, los participantes en la final llegaron a Ekaterimburgo de todo el mundo. No sin sus rarezas, por ejemplo, la aerolínea Aeroflot perdió el equipaje de sus pasajeros, incluidos los finalistas. Pero este problema no redujo el ardor de la lucha a ninguno de los participantes. Además, los organizadores intentaron lo más rápido posible resolver todas las preguntas y problemas que aparecieron entre los finalistas.

Pero todo estaba en inglés, ¡no olvides cómo es el idioma oficial de la competencia!

Y luego llegó el lunes 23 de junio, cuando todos los participantes de la mañana fueron entregados en autobuses al Cosmos CCT. Además, la escolta policial de cada cadena de lanzaderas también estaba muy bien organizada. Tres días más en la densa ciudad de 39 transbordadores condujeron a los participantes de la competencia por la ciudad. Incluso hubo minibuses especiales que llevaron a los participantes (como lo deseaban) entre el DIVS y el KKT Cosmos, aunque hay una distancia de 300 metros entre las plataformas.

Lunes, una hora antes de la ceremonia de apertura:




La gente se reúne en un gran salón para la ceremonia de apertura.

Consola direccional y sala KKT Cosmos:


Ceremonia de apertura de los Urales:


Durante la ceremonia de apertura, los finalistas escucharon discursos de bienvenida de todos los organizadores, vieron videos sobre el campeonato y el lugar, la actuación de la Orquesta Sinfónica Juvenil Ural y músicos.

La apertura terminó con el anuncio del inicio del campeonato por parte del director ejecutivo del campeonato, Bill Paucher.

"¡Ustedes son las estrellas del universo llamadas ICPC 2014!" Felicito a todos los finalistas, así como a aquellos que hicieron posible el campeonato. Ekaterimburgo, una ciudad en la frontera de Oriente y Occidente, Asia y Europa, nos reunió a todos. Pero esto no significa que existan fronteras entre nosotros. Hoy estamos unidos por el deseo de mostrar nuestro carácter, fuerza de voluntad, fuerza de pensamiento, perfeccionar las habilidades de programación, profundizar el conocimiento. ¡El futuro nos pertenece, el siglo 22 es nuestro! ” - dijo Bill Poucher.

El martes 24 de junio, en el Uralochka DIVS, se realizó un ensayo de las competencias finales, después de lo cual los participantes practicaron ejercicios arbitrarios, se sintonizaron en la final y se distrajeron un poco mientras caminaban por la ciudad. ¡Fue muy interesante ver tantos programadores extranjeros en el centro!

El final Reglas, lucha y resultados

Miércoles 25 de junio. A las nueve de la mañana, los participantes ya están en DIVS esperando que comiencen las finales.
Hasta ahora, los equipos están tomando fotos cerca de la Copa de Campeones para tener buena suerte.


Emoción prefinal y solo esperando el comienzo:


Para los fanáticos hay PC separadas con transmisión e información sobre la final:


La ubicación de los equipos en el escenario de DIVS:


La lista de equipos por números.
Equipos de la final 2014 (numeración alfabética y según la ubicación en la sala):

1. Alexandria University - Facultad de Ingeniería.
2. Universidad Americana de Beirut.
3. Universidad de Amrita.
4. Instituto de Tecnología y Ciencias Anil Neerukonda.
5. Universidad de Ingeniería y Tecnología de Bangladesh.
6. Instituto de Tecnología de Beijing.
7. Universidad Normal de Beijing.
8. Universidad Estatal de Bielorrusia.
9. Universidad Bina Nusantara.
10. Universidad de El Cairo - Facultad de Informática e Información.
11. Universidad Carnegie Mellon.
12. Universidad Comenius.
13. Universidad Tecnológica de Delft.
14. Universidad Tecnológica de Delhi.
15. Escuela Superior de Informática Instituto Politécnico Nacional.
16. ETH Zurich.
17. Universidad FPT.
18. Universidad de Fudan.
19. Universidad de Fuzhou.
20. Universidad Alemana en El Cairo.
21. Universidad de Ciencias de la ciudad de Ho Chi Minh.
22. Universidad de Hunan.
23. Instituto Indio de Tecnología - Bombay.
24. Instituto Indio de Tecnología - Indore.
25. Instituto Indio de Tecnología - Madras.
26. Instituto Indio de Tecnología - Roorkee.
27. Instituto Militar de Engenharia.
28. Instituto Tecnológico de Santo Domingo.
29. Instituto Internacional de Tecnología de la Información - Hyderabad.
30. International IT University.
31. Iowa State University.
32. Izhevsk State Technical University.
33. Jagiellonian University in Krakow.
34. Jilin University.
35. Kaunas University of Technology.
36. Korea University.
37. Kyoto University.
38. Massachusetts Institute of Technology.
39. Michigan Technological University.
40. Moscow Institute of Physics & Technology.
41. Moscow State University.
42. Moscow State University – Tashkent.
43. National Research University Higher School of Economics.
44. National Sun-Yat-Sen University.
45. National Taiwan University.
46. National University of Science and Technology «MISiS».
47. National University of Singapore.
48. Nazarbayev University.
49. New York University.
50. Northwestern University.
51. Novosibirsk State University.
52. Odessa National Mechnikov University.
53. Peking University.
54. Petrozavodsk State University.
55. Pontificia Universidad Catolica del Peru.
56. Princess Sumaya University for Technology.
57. Renmin University of China.
58. Saratov State University.
59. Shahjalal University of Science and Technology.
60. Shanghai Jiao Tong University.
61. Sharif University of Technology.
62. South China Agricultural University.
63. South China University of Technology.
64. St. Petersburg National Research University of IT, Mechanics and Optics.
65. St. Petersburg State University.
66. Stanford University.
67. SungKyunKwan University.
68. Taras Shevchenko Kiev National University.
69. Taurida VI Vernadsky National University.
70. The Chinese University of Hong Kong.
71. The University of Texas at Brownsville.
72. The University of Tokyo.
73. The University of Waikato.
74. Tishreen University.
75. Tokyo Institute of Technology.
76. Tsinghua University.
77. Universidad Autonoma de Aguascalientes.
78. Universidad Catolica San Pablo.
79. Universidad de Buenos Aires – FCEN.
80. Universidad de Chile.
81. Universidad de Oriente — Sede Antonio Maceo.
82. Universidad Nacional de Colombia – Bogota.
83. Universidad Panamericana Campus Bonaterra.
84. Universidad Tecnologica de Pereira.
85. Universidade de Sao Paulo.
86. Universidade de Sao Paulo — Campus de Sao Carlos.
87. Universidade Estadual de Campinas.
88. Universidade Federal de Campina Grande.
89. Universidade Federal de Pernambuco.
90. Universitaet des Saarlandes.
91. Universitat Politecnica de Catalunya.
92. University of Bucharest.
93. University of California at Berkeley.
94. University of California Irvine.
95. University of Cambridge.
96. University of Cape Town.
97. University of Central Florida.
98. University of Chicago.
99. University of Electronic Science and Technology of China.
100. University of Indonesia.
101. University of Latvia.
102. University of Lethbridge.
103. University of Maryland.
104. University of Michigan at Ann Arbor.
105. University of New South Wales.
106 .University of Sciences DPR Korea.
107. University of Southern California.
108. University of Toronto.
109. University of Tsukuba.
110. University of Virginia.
111. University of Warsaw.
112. University of Wisconsin – Madison.
113. University of Wroclaw.
114. University of Zagreb.
115. Ural Federal University.
116. VN Karazin Kharkiv National University.
117. Vanderbilt University.
118. Vinnytsia National Technical University.
119. Virginia Tech.
120. Zhejiang University.
121. Zhejiang University of Technology.
122. Zhongshan (Sun Yat-sen) University.

40 …. !


– . , , ( , , ).

( ) — . , \ . , .

( , , ..) , , , . , , , !

, , . , .

:


, !


( ):


:


, :


, :


( 10-00 (8-00 ) 5 …):


:


, , , , :


12 …. . !

– , , – .

.
pdf .

2014 ACM-ICPC World Finals Tasks ():
1. A. «Baggage» – !

2. B. «Buffed Buffet» – 11 , St. Petersburg State University.

3. C. «Crane Balancing» — 55 , Shanghai Jiao Tong University.

4. D. «Game Strategy» — 96 , Moscow State University.

5. E. «Maze Reduction» — 16 , University of Warsaw.

6. F. «Messenger» — 1 , Moscow State University.

7. G. «Metal Processing Plant» — 3 , SungKyunKwan University.

8. H. «Pachinko» – !

9. I. «Sensor Network» — 10 , Iowa State University.

10. J. «Skiing» – !

11. K. «Surveillance» — 66 , Tsinghua University.

12. L. «Wire Crossing» – !

( \++ Java), . , , — , , . , .

, , .

, . , , , - . , . .

, . , , , .

. 8-9 - , ! .

:


17 ! ( ) .


, , . , . , , .

, , -, , , :


. ( ) :


, !

( 12 7 ):


, , , .

!

ACM ICPC 2014:

  • - , ( , );
  • , ( , 2- );
  • , ( , 3- );
  • , ( , 4- );
  • , ( , 5- );
  • , ( , 6- );
  • , ( , 7- );
  • , ( , 8- );
  • - , (), ( , 9- );
  • « », ( , 10- );
  • , ( , 11- );
  • . , ( , 12- ).

( ):

Europe — St. Petersburg State University, 1 ;
Asia — Peking University, 3 ;
North America — New York University, 13 ;
South Pacific — University of New South Wales, 22 ;
Latin America — Instituto Militar de Engenharia, 26 ;
Africa and the Middle East — Alexandria University — Faculty of Engineering, 66 .

60 .

- , 7 12 5 . , !

, 200 !


«ACM-ICPC – , – (Bill Poucher), (Baylor University) ACM-ICPC. – , , , (ACM)».

, IBM Research & Development Labs , .

- , . « » (The World's Smartest Trophy), IBM -. !



2015 , !

:

, , . . , , .

, , $12 000. , , $6 000. , , $3 000. – $1 500.

: , , , , , , , , , .

Source: https://habr.com/ru/post/437834/


All Articles