Deux histoires sur la façon dont les événements de programmation ont eu lieu à Iekaterinbourg



Dilatons les froides journées d'hiver avec des souvenirs chaleureux de la façon dont Ekaterinbourg s'est déroulé: la finale du RuCTF 2012 (compétition de protection de l'information) et la finale du 38e championnat du monde de programmation «Les finales mondiales 2014 de l'ACM ICPC».

Beaucoup de photos à l'intérieur.

Toutes les photos et le texte de l'auteur.

Le premier événement.
«Virtual IT Robbery Event» ou comment s'est déroulée la finale du RuCTF 2012
Du 19 au 22 avril 2012, à l'Université fédérale de l'Oural (Ekaterinbourg), s'est déroulée la finale du Concours interuniversitaire russe de protection des informations RuCTF 2012.

RuCTF est un concours universitaire russe de sécurité de l'information depuis 2008 basé sur les principes du jeu CTF : au début d'un jeu, les équipes reçoivent des serveurs identiques avec un ensemble prédéfini de services vulnérables, et la tâche des participants est de trouver des vulnérabilités, de les fermer à la maison et de les utiliser pour obtenir informations privées (drapeaux) de rivaux.


Les organisateurs de RuCTF sont l'Institut de mathématiques et d'informatique de l'Université fédérale de l'Oural nommé d'après le premier président de la Russie B.N. Eltsine, le Centre régional éducatif et scientifique "Systèmes intelligents et sécurité de l'information", l'organisation publique interrégionale "Association des chefs des services de sécurité de l'information" et le Fonds d'appui à l'information et à la communication la technologie.

Le concours RuCTF 2012 s'est déroulé en deux étapes.

La phase de qualification ( RuCTF 2012 Quals ) s'est déroulée sur Internet du 16 au 18 mars pendant 48 heures sans interruption.

Les règles de la phase de qualification des qualifications RuCTF 2012 sont ici .

Lors de la phase de qualification des qualifications RuCTF 2012, les équipes ont été invitées à résoudre des tâches (tâches), unies par catégories thématiques. Pour une solution réussie des tâches, les équipes ont reçu des points. Le niveau de complexité de la tâche était directement lié à son coût.

En plus de cette étape de qualification, les équipes pourraient se qualifier pour la finale RuCTF 2012, montrant d'excellents résultats dans d'autres compétitions de la CTF.

La finale RuCTF 2012 a eu lieu du 19 au 22 avril dans la ville d'Ekaterinbourg.

Le programme final comprenait plusieurs parties:

19/04/2012 - Inscription des participants, cérémonie d'ouverture du RuCTF 2012, rapports techniques et master classes.
20/04/2012 - table ronde avec les organisateurs de la finale, rapport sur la robotique, rencontre avec les sponsors de la finale et discussion des problèmes avec le jury.
21/04/2012 - La finale du RuCTF 2012 (du 9-00 au 20-00).
22/04/2012 - Analyse des tâches par le jury et récompense des participants.

La plupart des données pour les participants étaient disponibles ici - sur la liste de diffusion RuCTF .

Inscription à la finale du RuCTF 2012 et organisation de cet événement.

L'événement, le RuCTF final 2012 a eu lieu dans le cadre du festival "Printemps UPI dans l'Oural fédéral", par conséquent, les organisateurs ont prévu pour les participants des lieux de l'USU, tels que:

  • Salle de l'AssemblĂ©e de l'UniversitĂ© d'État de l'Oural (rue LĂ©nine, 51, 3ème Ă©tage)
  • Salle de confĂ©rence, USU, st. Turgeneva, 4ème, 3ème Ă©tage
  • Aud. 611, USU, st. Turgeneva, 4e, 6e Ă©tage
  • Parquet, deuxième Ă©tage du bâtiment Ă©ducatif principal de l'UniversitĂ© d'État de l'Oural, ul. Monde 19.

Et il y avait assez d'espace pour tout le monde, mais il y avait beaucoup de participants, d'observateurs et de camarades invités.

Lors de l'inscription, chaque membre de l'équipe a reçu un badge, un ensemble de stylos et de cahiers pour les notes, une tasse, un T-shirt et beaucoup de choses positives!



Malheureusement, toutes les équipes n'ont pas pu venir à l'événement en force ou même y participer. Mais la composition globale des équipes a inspiré le respect.

La liste des équipes, des observateurs et la composition de l'équipe invitée se trouvent ici .

Équipes participantes:

  • Bushwhackers Moscow State University Lomonosov;
  • bitmap UniversitĂ© d'État d'Orenbourg;
  • [CensurĂ©] UniversitĂ© fĂ©dĂ©rale de la Baltique du nom de I. Kant;
  • Leet More National Research University of Information Technology, Mechanics and Optics;
  • UniversitĂ© d'État PeterPEN de Saint-PĂ©tersbourg;
  • UniversitĂ© d'État SiBears Tomsk;
  • UniversitĂ© d'État WildRide Chelyabinsk;
  • UniversitĂ© fĂ©dĂ©rale HackerMayCry Ural;
  • l0e UniversitĂ© fĂ©dĂ©rale de l'Oural;
  • Koibasta Samara State Aerospace University du nom de l'acadĂ©micien S.P. Koroleva;
  • UniversitĂ© technique d'État de Magic Hat Samara.

La finale a eu lieu dans le principal bâtiment éducatif d'UrFU:


Mais avec une torsion - les organisateurs ont proposé un nouveau format pour les participants - sur le sol, ce qui a radicalement changé le lecteur et augmenté l'intensité de l'action des membres de l'équipe.

Auparavant, de tels événements avaient lieu dans des publics distincts pour chaque équipe, et maintenant il y a un grand espace, derrière le dos se trouvent d'autres équipes séparées par des cloisons légères et tout le monde se voit, ressentant la chaleur et l'ardeur de la lutte.

Règles finales

Pendant le jeu, les équipes peuvent:

  • utiliser un nombre quelconque d'ordinateurs et d'Ă©quipements rĂ©seau ne dĂ©passant pas le deuxième niveau de la pile ISO OSI;
  • apporter des modifications aux serveurs mis Ă  leur disposition, sauf interdiction expresse du jury;
  • Modifiez la topologie de votre segment de rĂ©seau.

Pendant le jeu, il est interdit aux équipes de:

  • mener des attaques contre les ordinateurs des jurĂ©s;
  • filtrer le trafic des Ă©quipes adverses du trafic du jury (par exemple, par adresses IP);
  • gĂ©nĂ©rer un volume de trafic dĂ©raisonnablement Ă©levĂ© (inondation);
  • mener des attaques destructrices sur les serveurs des Ă©quipes adverses (par exemple, rm –rf /);
  • effectuer les actions ci-dessus au nom des Ă©quipes adverses.

Légende de la finale RuCTF 2012
RuCTF 2012. Légende de la finale
Texte pour les équipes, 14 avril 2012

Le monde moderne est un monde d'argent. L'argent imprègne tous les domaines de la société. Tout le monde pense à l'argent, quotidiennement, toutes les heures. Chaque personne peut s'enrichir en un instant, ou franchir le seuil de pauvreté. L'argent est partout - nous achetons de la nourriture pour survivre, nous prenons des prêts pour satisfaire nos caprices, nous faisons des dépôts dans l'espoir de préserver nos opportunités.

L'argent est devenu si naturel que personne ne comprend ce qu'il est - l'argent. Mais il y a toujours dans le monde ceux qui comprennent mieux l'argent que les autres. Ils savent comment gagner de l'argent et augmenter leur fortune, ils font facilement plusieurs millions de transactions, ils ne remarquent pas plusieurs millions de pertes. Ce sont des sociétés. En un jour, ils gagnent autant d'argent qu'une personne ordinaire gagne dans sa vie. Parfois, il semble qu'ils jouent simplement avec de l'argent.

Cette année, nous jouerons avec de l'argent. Les équipes sont désormais des géants financiers, de grandes exploitations qui se battent entre elles dans une course à l'enrichissement. Il n'y a plus de drapeaux. Maintenant, tout ce que vous avez, c'est de l'argent, et votre tâche est de gagner encore plus d'argent. À tout prix.

Mais ne vous inquiétez pas, RuCTF est toujours un concours de sécurité informatique, et chaque équipe aura un serveur familier avec des services préinstallés, chacun gagnant de l'argent. Par exemple, l'un des services émettra des prêts et un autre acceptera les dépôts. À intérêt, et pour une certaine période - le tout pour de vrai. Ces deux services permettront aux équipes de rester à flot, même si elles perdent absolument tout l'argent - les clients viennent régulièrement vers eux, déposent des dépôts et contractent des prêts.

Des lunettes

Le monde de l'argent est fragile. Aujourd'hui, vous pouvez être un millionnaire rouble, et demain il y aura un défaut. Dans le monde de l'argent, vous avez besoin d'une devise forte et les points de l'organisateur sont cette devise. Personne ne se soucie du nombre de millions de roupies dans votre coffre-fort ou dans vos poches. Pour monter aux yeux de vos rivaux, vous devez échanger votre argent contre des points. Vous pouvez le faire à tout moment, mais n'oubliez pas que les taux de change ne s'arrêtent pas. Vous êtes libre de choisir ce qui est le mieux - de changer de remorqueur maintenant, après 5 minutes d'identité, ou peut-être après 20 minutes d'emballages de bonbons.

De l'argent

D'un point de vue technique, l'argent impliqué dans le jeu est un ensemble de billets émis par la Banque centrale. Chaque facture est représentée par une chaîne de texte au format CSV et ressemble à ceci:

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

La facture comprend les champs suivants:

1. identifiant unique de la facture (UUID);
2. dénomination de la facture (dans ce cas 1000);
3. monnaie (dans ce cas, «Tugriks»);
4. identifiant unique du titulaire de la facture (nombre naturel);
5. date et heure de la création de la facture sous forme triable;
6. Base64 à partir d'une signature électronique réalisée à l'aide de la clé privée CentroBank;
7. commentaire facultatif, n'affectant pas le sens de la signature.

Sur n'importe quelle facture, vous pouvez facilement vérifier si elle est réelle - la clé publique CentroBank sera disponible pour tous les participants.

Les transactions

Les transactions monétaires, quelles que soient les parties qui y participent, sont effectuées par l'intermédiaire de la Banque centrale appartenant aux organisateurs. Avant la transaction, l'une des parties initie le transfert d'argent, se tournant vers le deuxième côté. Ils conviennent du montant, de la devise et de l'ID de transaction.

Après cela, les deux parties utilisent le protocole HTTP de la Banque centrale pour effectuer la transaction. CentralBank impose un délai entre les connexions des parties - si l'un des participants hésite, la transaction peut ne pas avoir lieu.

Après la connexion, le côté émetteur dans le corps de la demande POST transfère les factures ligne par ligne. CentroBank en sélectionne tous les existants, vérifie qu'ils ont toutes les devises nécessaires, les trie en valeur nominale ascendante et prend un billet de banque depuis le début jusqu'à ce qu'il recueille un montant suffisant pour effectuer la transaction. L'échange de factures et la livraison de la monnaie ne sont pas effectués, cependant, toutes les factures valides non utilisées seront retournées à l'expéditeur dans l'organisme de réponse en cas de transaction réussie.

Techniquement, lors d'une transaction, CentroBank retire les anciens billets de l'expéditeur et en remet de nouveaux au destinataire. Les équipes pourront vérifier si la facture a été retirée, en utilisant le service spécial des organisateurs.

Stockage

Le cœur de l'infrastructure de chaque équipe est le service de stockage, qui protège tout l'argent appartenant à l'équipe. Tous les autres services de l'équipe reçoivent et ajoutent de l'argent au coffre-fort. En plus d'accepter, de stocker et d'émettre des billets de banque, l'entrepôt a également une idée particulière des économies - si le service commence à demander trop d'argent pour une période trop courte et remet trop peu d'argent - il est probable que l'entrepôt ne l'aimera pas. , et il ne donnera pas d'argent.

Signature

Un autre service de support est le service Signature. Il sait accepter les données et les signer avec la clé privée de votre équipe. La signature est utilisée pour authentifier les demandes faites par les services de l'équipe.

Interaction d'équipe

Comme toujours, vous pouvez interagir avec d'autres équipes dans le cadre des règles. Par exemple, vous pouvez contracter un prêt auprès d'un concurrent plus riche ou apporter une contribution à la banque d'une autre équipe. Cependant, nous ne pouvons bien sûr pas garantir que le service d'une autre équipe vous traitera honnêtement. De la même manière, vous pouvez essayer de tromper les services d'autrui. Sauf pour un cas.

PrĂŞts

Pour éviter les fraudes de crédit, les organisateurs sont contraints de contrôler le processus d'émission des prêts. Par conséquent, toutes les transactions liées aux prêts sont effectuées non seulement par l'intermédiaire de CentroBank, mais par l'intermédiaire d'un fiduciaire spécial. À l'exception de certains détails, ce service fonctionne de manière identique à la Banque centrale. En particulier, avant de contracter un prêt, le client et le service doivent convenir d'un identifiant de transaction.

La partie qui a contracté le prêt peut à tout moment, jusqu'à l'expiration du terme, s'adresser au syndic et restituer l'argent du prêt. Notez que pour cela, l'emprunteur doit se souvenir de l'identifiant de la transaction dans laquelle l'opération a été conclue pour obtenir un prêt.

Après la date limite de remboursement du prêt, la partie qui l'a émis a le droit de s'adresser au syndic et de réclamer votre prêt avec intérêt. Indépendamment du fait que l'emprunteur ait rendu l'argent à ce moment-là, le syndic donne de l'argent au prêteur, c'est-à-dire qu'il met en place un système d'assurance-crédit.

Il semblerait que vous pouvez prendre des prêts et non rembourser - un chemin direct vers la richesse. Mais chaque équipe a du karma.

Karma

Karma reflète le niveau de confiance des clients dans la holding. Si une équipe n'offense pas ses clients, son karma croît progressivement au maximum. Cependant, lorsqu'une équipe se comporte mal, son karma commence à chuter. Cela peut se produire dans les cas suivants:

  • Un client est venu au service, mais n'a pas pu obtenir le service. Peut-ĂŞtre que le service n'Ă©tait pas disponible du tout.
  • Le service d'Ă©quipe Ă©tait malhonnĂŞte avec le client. Par exemple, j'ai acceptĂ© une contribution, mais je ne voulais pas la retourner avec intĂ©rĂŞt au bon moment.
  • L'Ă©quipe a pris un prĂŞt auprès d'une autre Ă©quipe, mais ne l'a pas remboursĂ© Ă  temps.

Plus le karma de l'équipe est bas, moins les clients se tournent vers lui et moins d'argent passe par ses services.

Résumé

  1. Tout au long du jeu, les équipes fonctionnent avec de l'argent. Ils peuvent les gagner de manière légale, ainsi que voler d'autres équipes.
  2. À tout moment, les équipes peuvent modifier les notes qu'elles connaissent pour des points au taux de change actuel, alors qu'un échange inversé n'est pas possible. L'argent restant à la fin du jeu s'épuise.
  3. L'argent est stocké de manière centralisée et peut circuler librement entre les services d'équipe, cependant, l'accès à une grande quantité ne peut pas être obtenu à partir d'un service à la fois.
  4. Pour l'inexploitation ou la fraude des services, les équipes se voient infliger une amende par la chute de leur karma. Moins une équipe a de karma, moins ses services passent par l’argent.
  5. Aucun avis. Vous ne pouvez pas perdre votre concentration, car le but est de gagner de l'argent.


API RuCTF 2012 Final Services

L'emplacement réel de l'équipement sur le sol et le schéma LAN étaient les suivants (il y a des chaînes à paires torsadées visibles):



Où le routeur de commandes est une image VMware avec un système d'exploitation préinstallé (avec toutes les mises à jour disponibles). Le routeur a été préconfiguré par l'équipe de développement finale. Les équipes peuvent modifier ses paramètres à vos propres risques.

Sur l'un des ordinateurs portables fournis à l'équipe, une image de test a été installée pour tester le réseau. Il doit être lancé pendant les tests de réseau, pendant le jeu, il peut être arrêté. Cependant, en cas de problème avec le réseau, l'équipe devra le faire fonctionner à la demande du jury. L'image de test et l'image vulnérable doivent être situées sur la même machine physique.

Un premier équipement préparé par les organisateurs pour chaque équipe: un interrupteur, deux ordinateurs portables ou un ordinateur de bureau, qui n'en avait pas assez, des cordons de brassage et une multiprise.


Et comme il s'est avéré en réalité avec un placement au sol, c'est tout simplement charmant:




Les craintes qu'il y ait «peu d'espace» ou «ce ne serait pas pratique» ont complètement disparu chez tous les participants lorsque chaque équipe a déployé ses bases sur le lieu de travail et a commencé à étudier les documents délivrés par le jury et à exécuter leurs configurations d'équipements de test.

Le prix principal et challenge de ces concours attendait sur la table du milieu de son nouveau propriétaire:


Eh bien, et une autre surprise, les organisateurs ont préparé les équipes: l'image de travail globale du système était ... vis.

Combien de mots heureux ont été prononcés devant le jury lorsque chaque membre de l'équipe a compris la complexité et la non-banalité de cette finale, car ils étaient préparés à tout sauf à une telle inattendue. Néanmoins, qui était mieux préparé dans cette voie, il a reçu plus d'avantages et le premier a arraché de bons points. Mais plus tard, tout le monde s'est également levé sur ce sujet.

Il était intéressant de voir combien de membres de l'équipe sur les écrans d'ordinateur portable dans les requêtes de recherche avaient beaucoup de questions commençant par "comme dans les fenêtres" ou similaires ... Mais ce n'est qu'une graine, car ce n'est pas l'image qui est la principale chose, mais leurs services et leurs règles fournissant, ainsi que la possibilité de trouver des vulnérabilités en eux et d'obtenir les points convoités pour leurs actions correctes.

En bref: les équipes sont désormais des géants de la finance, de grandes exploitations qui se battent entre elles dans la course à l'enrichissement. Il n'y a plus de drapeaux. Maintenant, tout ce que vous avez, c'est de l'argent, et votre tâche est de gagner encore plus d'argent. À tout prix.

Chaque équipe dispose d'un serveur avec des services préinstallés, chacun gagnant de l'argent (l'un des services émettra des prêts et un autre acceptera les dépôts). Cet argent est échangé contre des points des organisateurs, qui sont affichés sur le tableau de bord.

Il y avait cinq services au total - Crédits, dépôts, MMM, SafeDepositB et Cloud. Des bots ont rendu visite à chacun d'eux (leur activité et leur travail étaient contrôlés par un jury), qui ont déposé de l'argent ou effectué des opérations avec ces services pour chaque équipe. En fonction de leur satisfaction et de leur confiance dans les opérations, chaque équipe avait du karma, plus il est élevé, plus les bots y viendront de plus en plus souvent pour des services.

Les équipes devaient marquer le plus de points en transférant les gains, les vols (des bots ou d'autres équipes) ou la création à l'aide de trous dans les services monétaires. De plus, il y avait des situations où il était possible de nuire gravement à une autre équipe au niveau du service afin que l'autre équipe ne se rende pas compte qu'elle travaillait pour l'ennemi.

En général, il était non trivialement difficile et très intéressant de résoudre ces énigmes pour chaque équipe.

Chacune des équipes comprenait des programmeurs assez bons, des généralistes et des camarades formés rapidement, ainsi que des spécialistes des systèmes Unix et Windows. Et tout le monde s'est aidé très étroitement et sérieusement, en organisant des séances de remue-méninges.

En savoir plus sur les équipes.

Équipe [censurée] - Université fédérale I. Kant Baltic, Kaliningrad.
Composition: Alexander Golubkov, Artyom Vorobyov, Maxim Skuratov, Mikhail Yudin, Alexander Nazarov, Evgeny Vasiliev, Sergey Chesnokov, Sergey Valov, Stepan Boychenko, capitaine - Alexander Puzakov.

, , 1 .


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


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 ( ), , , , ..


Et chaque appareil, quelle que soit sa taille ou son nom (soit dit en passant, la plupart étaient des marques bien connues), entre les mains habiles des membres de l'équipe, a obtenu des fonctionnalités enviables pour la victoire, qu'il s'agisse de rechercher une description dans Google, de compiler un code ou des services de support pour obtenir les points de victoire convoités.

Soit dit en passant, de nombreux appareils portaient des autocollants ou des gravures de diverses compétitions de hackers.

Et le lieu de travail habituel d'un membre de l'équipe ressemblait à ceci, mais tout était à portée de main:


Et un seul petit netbook a raté le plancher du troisième étage, créant le fond musical de toute l'action.


Soit dit en passant, la gentillesse des membres de l'équipe et leur ouverture à la communication n'étaient qu'une aide dans une communication rare pour un snack dans le coin de la salle finale (et toute une table suédoise de biscuits-bonbons-thé y était organisée!) Ou, quand ils n'étaient pas au terminal, mais à grands écrans, l'essentiel était de ne pas déranger à table.

Scorboard, écrans, la fin de la bataille

Scorboard - un tableau avec les résultats actuels en russe. Mais ce qu'il contenait et quelles informations ont été fournies aux équipes et aux observateurs seront discutés ci-dessous. Les données de la base de données du jury sont entrées dans l'application, qui a traité les valeurs actuelles des éléments du jeu par des commandes et a donné trois diapositives à de grands écrans de télévision avec un interrupteur de plusieurs secondes entre chaque diapositive:

  • sous forme de graphique, le taux de change (dollar, rouble et euro) - plus ils volent une devise, moins son taux;
  • un tableau des points, du karma et de l'utilitĂ© des services de chaque Ă©quipe;
  • temps de jeu total.

Apparence d'un tableau de bord avec une table de points:


Ici, vous pouvez voir la position de l'équipe, le nombre de points, son karma et les services dont la performance était dans trois catégories - UP (tout est normal, cela fonctionne), MUMBLE (cela fonctionne, mais ce n'est pas stable et pas régulier), DOWN (ne fonctionne pas).

Les membres de l'équipe utilisaient souvent des données provenant d'écrans de grands écrans, mais il était possible d'aller sur la page du jeu et de regarder les mêmes informations dans un navigateur. Mais c'était vraiment pratique de regarder l'affichage du gameplay sur un moniteur tiers.

De plus, on pourrait capter l'attention et les émotions des participants des autres équipes, essayer de les analyser et agir dans une direction plus correcte.

Le chat a également fonctionné sur le tableau de bord - vous pouvez envoyer un SMS au téléphone de l'un des membres du jury, et il a tapé ce texte dans la zone visible de l'écran. Mais c'était une option plus intimidante pour les observateurs.

À la fin de la compétition, 30 minutes avant la fin du temps de jeu, les tableaux de bord ont également gelé les données sur les points actuels, etc. est devenu indisponible. Et le temps passait ... L'essentiel était de réussir à retirer tout l'argent et à le transférer en points.


Les passions sont chauffées à la limite - concentration maximale et don sans réserve. Chaque mauvais mouvement ou mauvais choix d'actions serait fatal à ce moment-là. Mais de nombreuses équipes ont réussi, et la table finale avec les résultats n'était pas comme celle figée dans de nombreuses positions!

Mais le chronomètre est tombé à zéro et tout le monde a poussé un soupir de soulagement, car tant de sévérité tomba immédiatement des épaules des participants. Beaucoup étaient épuisés à la limite en raison d'un match difficile avec des rivaux forts et perfides.

Les organisateurs ici ont également préparé une surprise - l'annonce des résultats ne sera que le lendemain - dimanche. Donc - une autre nuit blanche pour beaucoup alors. Mais elle en valait la peine.

Débriefing

Après une ronde finale difficile et épuisante, tout le monde n'a pas pu arriver à la clôture de la finale du RuCTF 2012 à 11 heures, mais les organisateurs ont préparé beaucoup de lettres, cadeaux, souvenirs - aucun des membres de l'équipe n'a quitté la salle les mains vides.

Mais quel genre de prix le vainqueur de la finale devait recevoir des organisateurs du festival "Printemps UPI dans l'Oural fédéral".


Mais avant de commencer la cérémonie de remise des prix, l'équipe du jury de la finale du RuCTF 2012 a rendu compte du travail accompli. Les gars ont parlé de qui a programmé quels services et quels trous ou bogues ont été initialement implémentés avec des exemples de leur activation et de leur utilisation.


Il s'est avéré que des lacunes ont été délibérément laissées dans chacun des cinq services avec lesquels les équipes ont opéré, constatant que les équipes pouvaient multiplier leur argent (en émettant des prêts à intérêt négatif, par exemple), voler de l'argent aux bots des cellules de dépôt (ramasser des codes PIN pour à ces cellules en énumérant ces codes), nuisant à d'autres équipes, les obligeant à interférer avec le fonctionnement des services, ou même à obtenir un accès administrateur dans l'un des services pour changer ses caractéristiques.

En général, chacun des services comptait de 2 à 5 œufs de Pâques, mais les équipes pouvaient chercher d'autres moyens de trouver des rivaux et des bots. Et certains ont même réussi!

Et ils ont réagi comme ça quand il s'est avéré faire une feinte virtuelle intéressante, par exemple:


Outre la nécessité d'interrompre les services, chaque équipe pouvait doubler son capital initial en ouvrant le fichier crypté à partir de l'image qu'elle avait reçue au début du jeu. Mais il y a eu une petite erreur - le jury a oublié d'activer un service auxiliaire, à l'aide de laquelle analyse il serait possible d'accéder au mot de passe à partir des archives. Cet écrou n'était donc pas fendu, comme certains des «trous» d'origine des services, aucune équipe ne pouvait deviner avant de les utiliser.

En général, les plus attentifs, perspicaces, capables d'écrire des scripts originaux et complexes et de s'adapter rapidement à tout système d'exploitation avec une compréhension instantanée des nouveaux langages de programmation, comme Erlang, possédant des compétences PyCharm, etc. etc. - Ce n'est qu'une fraction des caractéristiques descriptives de chaque participant à cet événement.

Récapituler et récompenser les gagnants

Le moment est donc venu d'annoncer ceux qui pourraient résister à l'assaut des cyberattaques et marquer le plus de points à la fin de la partie.

Le tableau final est le suivant:


Première place - équipe [censurée], Université fédérale de la Baltique du nom de I. Kant.


Deuxième place - équipe SiBears, Tomsk State University.


Troisième place - équipe WildRide, Université d'État de Chelyabinsk.


Ainsi, les trois premiers vainqueurs de la finale RuCTF 2012 ont obtenu leurs coupes:


Et les organisateurs ont déployé autant de boutiques de cadeaux!

Après tout, tout s'est avéré simple - les points gagnés ont été convertis en argent réel, et il a été possible de sélectionner les cadeaux nécessaires pour chaque membre de l'équipe immédiatement depuis la scène! Chaque cadeau avait son propre prix.

Pliage cadeau:


Et chaque équipe s'est relayée (à partir de la première place) pour arriver à ce méga tas d'appareils et choisir les gadgets nécessaires pour eux-mêmes.


Si l'équipe [censurée] avait beaucoup de choix, alors SiBears avait moins d'options de cadeaux:


Et l'équipe WildRide s'est retrouvée avec très peu dans la gamme de sélection.


Mais au final, tout le monde était content!

Et pour la finale de la finale, le principal prix RuCTF a été transféré de l'équipe du vainqueur du RuCTF 2011 au nouveau vainqueur et vainqueur de ce trophée!



Puis il y a eu des félicitations et des paroles aimables de tous les capitaines des équipes et bien sûr la promesse de tenir la prochaine finale est encore plus intéressante et plus difficile!

C'est bien quand de telles compétitions ont lieu, car vous voyez combien de personnalités vraiment têtues, rassemblées et de grand format se battent pour le titre de l'équipe RuCTF la plus avancée, la plus avisée et la plus réussie en 2012.

Et le fait que les organisateurs aient créé une atmosphère si chaleureuse et chaleureuse lors de l'événement est généralement avant tout un éloge.

Si vous voulez voir un ensemble plus avancé de photographies de l'auteur pour cet événement, alors elles sont ici .


Le deuxième événement.
Finale du 38e championnat du monde de programmation «Les finales mondiales ACM ICPC 2014», Ekaterinbourg, 23-25 ​​juin 2014
En 2014, le deuxième championnat du monde de programmation a eu lieu en Russie (en 2013, la finale de l'ACM ICPC 2013 s'est tenue à Saint-Pétersbourg).

Ce n'est qu'en 2014 que la finale a été la plus importante de l'histoire du championnat en termes de nombre de participants.


122 équipes participantes (plus de 1000 participants de 41 pays - programmeurs, formateurs, groupes de soutien, services de soutien aux championnats), 300 bénévoles de l'Université fédérale de l'Oural (Université fédérale de l'Oural) et une autre équipe de bénévoles du monde entier, 7 meilleurs hôtels à Iekaterinbourg, 39 bus Navettes, 2 sites à proximité du centre-ville dans la zone verte - DIVS «Uralochka» (le palais des sports de jeu Uralochka, ci-après - DIVS) et KKT «Cosmos» (cinéma et salle de concert, ci-après - KKT «Cosmos»), 5 heures pour une décision une équipe de 3 personnes, 1 ordinateur et cal le conservateur 12 tâches très difficiles ...

Règlement, participants, organisateurs et bénévoles

Mais revenons un peu en arrière, car 122 équipes ont parcouru un long chemin depuis les victoires dans les compétitions locales de qualification (300 000 étudiants y ont participé en 2013) et les premières places en demi-finales dans leurs régions du monde (Europe, Asie, Amérique du Nord, Pacifique Sud, Latin Amérique, Afrique et Moyen-Orient) avant d’atteindre la finale. Et les quotas étaient très durs. De nombreuses équipes solides ne sont pas allées au-delà de ces sélections, bien que les équipes les plus chanceuses, intelligentes et nouvelles aient ouvert la voie à la finale.

Un nombre record de finalistes a atteint le niveau régional en 2014: 32043 participants de 2286 universités dans 94 pays ont concouru sur 300 sites différents sur 6 continents afin de recevoir l'une des 122 invitations à la finale du championnat de programmation en Russie à Ekaterinbourg.

Il y a déjà du sport, l'esprit et l'organisation interne de chaque équipe sont devenus un. Et chacune des 122 équipes venues visiter Ekaterinbourg est déjà championne.
Voici juste le meilleur des meilleurs ici et il sera possible d'identifier et de féliciter à la fin de l'événement.
Sur le chemin de la place des prix, les équipes devront supporter cinq heures de compétition, ce qui obligera les participants à exercer toutes les forces intellectuelles et psychologiques sous stress, concentration élevée et envie de se vaincre.

Le site officiel du championnat 2014 en Russie.

Le Championnat du monde de programmation (ICPC - International Collegiate Programming Contest, organisé chaque année sous les auspices de l'Association for Computing Machinery - ACM) est organisé afin de faire croître de plus en plus de générations avancées de programmeurs capables de résoudre des problèmes techniques pour plus. haut niveau.

Les anciens gagnants ICPC de Russie sont les développeurs de VKontakte, Yandex, Mail.ru, etc.

La toute première compétition par équipe en programmation sportive sous les auspices de l'Association of Computing Engineering (ACM) a eu lieu aux États-Unis, à l'Université du Texas dans les années 1970. Le championnat du monde de programmation a adopté son format actuel en 1977, lorsque la première finale a eu lieu dans le cadre de la conférence annuelle des étudiants en informatique de l'ACM.

Depuis lors, la compétition dans le cadre du championnat a lieu chaque année et depuis 1989, l'Université Baylor (Texas, États-Unis) est engagée dans son organisation principale. Toujours à des moments différents, des sociétés comme Apple, AT&T et Microsoft sont devenues les sponsors de la compétition, mais de 1997 à nos jours, IBM a été le sponsor général. De plus, la contribution des sponsors est très importante tant dans l'équipement technique et logiciel des participants et des juges que dans l'attitude sociale et pédagogique de tous les participants au championnat.

De 1977 à 1989, des équipes d'universités des États-Unis et du Canada ont participé à l'Olympiade, d'autres pays du monde étaient représentés par un groupe régional européen. Cependant, depuis 1990, grâce à la prolifération des ordinateurs personnels, de nouveaux groupes régionaux ont commencé à apparaître chaque année, et la géographie de la compétition s'est considérablement élargie. Et maintenant, les étudiants du monde entier peuvent prouver pleinement leurs compétences et leurs capacités à toutes les étapes du championnat chaque année.

Les organisateurs du championnat d'Ekaterinbourg en 2014 sont:

  • UniversitĂ© fĂ©dĂ©rale de l'Oural avec le soutien de l'administration municipale et du gouvernement de la rĂ©gion de Sverdlovsk;
  • ACM - Association de gĂ©nie informatique;
  • IBM est la plus grande sociĂ©tĂ© de technologie et de produits d'information au monde;
  • SKB Kontur est un dĂ©veloppeur fĂ©dĂ©ral de services Internet, de logiciels pour les entreprises et la comptabilitĂ©.

Ce n'est que grâce à la cohérence claire et aux bonnes relations entre tous les organisateurs (le nombre d'employés et de bénévoles impliqués dans l'organisation de la finale était d'environ un millier de personnes, sinon plus) qu'un niveau professionnel élevé du Championnat du monde de programmation à Iekaterinbourg a été atteint.

Chaque équipe finaliste et son entraîneur ont reçu des organisateurs de l'hôtel, le transfert vers les sites de compétition, trois repas gratuits par jour et un riche programme culturel (oui! Avec leurs badges, les finalistes pouvaient visiter gratuitement les musées, les centres culturels et de nombreux sites merveilleux de la ville) Iekaterinbourg), l'Internet Wi-Fi haut débit gratuit pour tous les participants au Championnat du monde de programmation dans la zone ICPC (hôtels, DIVS, KKT Cosmos) a également fonctionné pendant près d'une semaine.

Découverte

Pour la première fois en dehors des États-Unis, la finale du championnat du monde de programmation ACM-ICPC a eu lieu en 1999 aux Pays-Bas, puis différentes années au Canada, en Chine, au Japon, en République tchèque, en Pologne, en Suède et en Russie ont accueilli le championnat (déjà deux fois).

Ainsi, le Championnat mondial de programmation, la 38e finale mondiale annuelle de l'ACM International Collegiate, les finales mondiales ACM ICPC 2014 Ă  Ekaterinbourg, en Russie, ont eu lieu le 06.23.14-26.06.14.

En fait, l'événement a commencé dès le 20 juin avec l'arrivée de bénévoles, un groupe de service d'organisateurs qui ont commencé à déployer des systèmes techniques pour les finales et à suivre le déroulement des préparatifs finaux sur les sites.

Les sites étaient clôturés, une sécurité appropriée était installée partout pour que les concurrents se sentent complètement protégés (même s'ils se déplaçaient dans la ville aussi librement et après un jour ou deux ont commencé à s'orienter au centre).
DIVS (Palais des Sports) a pris le relais de la finale elle-même, et au CCM "Cosmos" (cinéma et salle de concert) les participants ont dîné, ont passé leur temps libre, les cérémonies d'ouverture et de clôture de la finale du Championnat du Monde de Programmation s'y sont déroulées:


Les préparatifs du samedi et du dimanche sont des jours et des nuits d'insomnie avec les organisateurs:


Samedi et dimanche, les participants à la finale sont venus à Iekaterinbourg du monde entier. Non sans ses bizarreries, par exemple, la compagnie aérienne Aeroflot a perdu les bagages de ses passagers, y compris les finalistes. Mais ce trouble n'a réduit l'ardeur de la lutte à aucun des participants. De plus, les organisateurs ont essayé le plus rapidement possible de résoudre toutes les questions et problèmes qui sont apparus parmi les finalistes.

Mais tout était en anglais, n'oubliez pas à quel point la langue officielle du concours!

Et puis est venu le lundi 23 juin, lorsque tous les participants du matin ont été livrés en bus au Cosmos CCT. De plus, l'escorte policière de chaque chaîne de navettes était également très bien organisée. Trois jours de plus dans les ruisseaux de la ville dense de 39 navettes ont conduit les participants aux compétitions de la ville. Il y avait même des minibus spéciaux qui conduisaient les participants (comme ils le souhaitaient) entre DIVS et KKT Cosmos, bien qu'il y ait une distance de 300 mètres entre les plates-formes.

Lundi, une heure avant la cérémonie d'ouverture:




Les gens se rassemblent dans une grande salle pour la cérémonie d'ouverture.

Console de direction et hall KKT Cosmos:


Cérémonie d'ouverture de l'Oural:


Lors de la cérémonie d'ouverture, les finalistes ont entendu les discours de bienvenue de tous les organisateurs, regardé des vidéos sur le championnat et le lieu, la performance de l'Orchestre symphonique des jeunes de l'Oural et des musiciens.

L'ouverture s'est terminée avec l'annonce du début du championnat par le directeur exécutif du championnat, Bill Paucher.

"Vous êtes les étoiles de l'univers appelé ICPC 2014!" Je félicite tous les finalistes, ainsi que ceux qui ont rendu le championnat possible. Ekaterinbourg, une ville à la frontière entre l'Est et l'Ouest, l'Asie et l'Europe, nous a tous réunis. Mais cela ne signifie pas qu'il existe des frontières entre nous. Aujourd'hui, nous sommes unis par le désir de montrer notre caractère, notre volonté, notre force de pensée, nos compétences en programmation, approfondir nos connaissances. L'avenir nous appartient, le 22e siècle est à nous! » - dit Bill Poucher.

Mardi 24 juin, au DIVS d'Uralochka, une répétition des compétitions finales a eu lieu, après quoi les participants ont pratiqué des exercices arbitraires, se sont mis à l'écoute de la finale et se sont un peu distraits en se promenant dans la ville. C'était très intéressant de voir autant de programmateurs étrangers dans le centre!

La finale. Règles, combat et résultats

Mercredi 25 juin. A neuf heures du matin, les participants sont déjà au DIVS en attendant le début de la finale.
Jusqu'à présent, les équipes prennent des photos près de la Coupe des Champions pour la bonne chance.


Excitation préfinale et n'attendant que le départ:


Pour les fans, il y a des PC séparés avec diffusion et informations sur la finale:


La localisation des équipes sur la scène de DIVS:


La liste des équipes par numéros
Équipes des finales 2014 (numérotées par ordre alphabétique et selon l'emplacement dans la salle):

1. Université d'Alexandrie - Faculté de génie.
2. Université américaine de Beyrouth.
3. Université d'Amrita.
4. Institut Anil Neerukonda de technologie et des sciences.
5. Université d'ingénierie et de technologie du Bangladesh.
6. Institut de technologie de Pékin.
7. Université normale de Pékin.
8. Université d'État du Bélarus.
9. Université Bina Nusantara.
10. Université du Caire - Faculté des ordinateurs et de l'information.
11. Université Carnegie Mellon.
12. Université Comenius.
13. Université de technologie de Delft.
14. Université technologique de Delhi.
15. Escuela Superior De Computo Instituto Politecnico Nacional.
16. ETH Zurich.
17. Université FPT.
18. Université Fudan.
19. Université de Fuzhou.
20. Université allemande du Caire.
21. Université des sciences de Ho Chi Minh-Ville.
22. Université du Hunan.
23. Institut indien de technologie - Bombay.
24. Institut indien de technologie - Indore.
25. Institut indien de technologie - Madras.
26. Institut indien de technologie - Roorkee.
27. Instituto Militar de Engenharia.
28. Instituto Tecnologico de Santo Domingo.
29. Institut international des technologies de l'information - 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/fr437834/


All Articles