Duas histórias sobre como os eventos de programação ocorreram em Ecaterimburgo



Vamos diluir os dias frios do inverno com lembranças calorosas de como Yekaterinburg foi: a final do RuCTF 2012 (competição de proteção de informações) e a final do 38º campeonato mundial de programação "As finais mundiais do ACPC ICPC de 2014".

Muitas fotos dentro.

Todas as fotos e texto do autor.

O primeiro evento.
“Virtual IT Robbery Event” ou como foi o final do RuCTF 2012
De 19 a 22 de abril de 2012, na Universidade Federal de Ural (Ekaterinburg), foi realizada a final do Concurso Inter-Universitário de Proteção à Informação da Rússia, RuCTF 2012.

O RuCTF é uma competição universitária de segurança da informação totalmente russa desde 2008, com base nos princípios de jogar CTF : no início de um jogo, as equipes recebem servidores idênticos com um conjunto predefinido de serviços vulneráveis, e a tarefa dos participantes é encontrar vulnerabilidades, fechá-las em casa e usá-las para obter informações privadas (bandeiras) de rivais.


Os organizadores do RuCTF são o Instituto de Matemática e Ciência da Computação da Universidade Federal de Ural, nomeado em homenagem ao Primeiro Presidente da Rússia B.N. Yeltsin, o Centro Regional Educacional e Científico "Sistemas Inteligentes e Segurança da Informação", a organização pública inter-regional "Association of Heads of Information Security Services" e o Fundo de Apoio à Informação e Comunicação tecnologia.

A competição RuCTF 2012 foi realizada em duas etapas.

A etapa de qualificação ( RuCTF 2012 Quals ) ocorreu na Internet de 16 a 18 de março por 48 horas sem interrupção.

As regras da fase de qualificação dos RuCTF 2012 Quals estão aqui .

Na etapa de qualificação do RuCTF 2012 Quals, as equipes foram solicitadas a resolver tarefas (tarefas), unidas por categorias temáticas. Para uma solução bem-sucedida de tarefas, as equipes receberam pontos. O nível de complexidade da tarefa estava diretamente relacionado ao seu custo.

Além dessa etapa de qualificação, as equipes podem se qualificar para as finais do RuCTF 2012, mostrando excelentes resultados em outras competições da CTF.

A final do RuCTF 2012 ocorreu de 19 a 22 de abril na cidade de Ecaterimburgo.

O programa final consistiu em várias partes:

19/04/2012 - Inscrição dos participantes, cerimônia de abertura do RuCTF 2012, relatórios técnicos e master classes.
20/04/2012 - mesa redonda com os organizadores das finais, relatório sobre robótica, encontro com patrocinadores das finais e discussão de questões com o júri.
21/04/2012 - Final do RuCTF 2012 (9-00 a 20-00).
22/04/2012 - Análise das tarefas pelo júri e premiação dos participantes.

A maioria dos dados para os participantes estava disponível aqui - na lista de discussão do RuCTF .

Inscrições para a final do RuCTF 2012 e organização deste evento.

O evento, o RuCTF 2012 final, foi realizado como parte do festival "UPI da Primavera no Ural Federal", portanto, os organizadores providenciaram aos participantes sites da USU, como:

  • Salão de Assembléia da Universidade Estadual de Ural (Rua Lenin, 51, 3º andar)
  • Sala de conferências, USU, st. Turgeneva, 4º, 3º andar
  • Aud. 611, USU, st. Turgeneva, 4º, 6º andar
  • Parquet, segundo andar do principal edifício educacional da Universidade Estadual de Ural, ul. Mundo 19.

E havia espaço suficiente para todos, mas havia muitos participantes, observadores e camaradas convidados.

No registro, cada membro da equipe recebeu um crachá, um conjunto de canetas e cadernos para anotações, uma caneca, uma camiseta e muitas coisas positivas!



Infelizmente, nem todas as equipes foram capazes de chegar ao evento com força total ou até mesmo a ele. Mas a composição geral das equipes inspirou respeito.

A lista de equipes, observadores e a composição da equipe convidada podem ser encontradas aqui .

Equipes participantes:

  • Universidade Estadual de Moscou Bushwhackers Lomonosov;
  • Universidade Estadual de Orenburg;
  • Universidade Federal do Báltico [censurada] em homenagem a I. Kant;
  • Universidade Nacional de Pesquisa Leet More de Tecnologia da Informação, Mecânica e Ótica;
  • Universidade Estadual PeterPEN de São Petersburgo;
  • Universidade Estadual de SiBears Tomsk;
  • Universidade Estadual WildRide Chelyabinsk;
  • Universidade Federal de HackerMayCry Ural;
  • Universidade Federal de Ural;
  • Universidade Aeroespacial Estadual Koibasta Samara em homenagem ao acadêmico S.P. Koroleva;
  • Universidade Técnica Estadual de Magic Hat Samara.

A final ocorreu no principal prédio educacional da UrFU:


Mas com uma reviravolta - os organizadores propuseram um novo formato para os participantes - no chão, o que mudou radicalmente o impulso e aumentou a intensidade da ação dos membros da equipe.

Anteriormente, esses eventos eram realizados em audiências separadas para cada equipe, e agora há um grande espaço, atrás das costas existem outras equipes separadas por partições leves e todos se vêem, sentindo o calor e o ardor da luta.

Regras finais

Durante o jogo, as equipes podem:

  • use qualquer número de computadores e equipamentos de rede não superiores ao segundo nível da pilha ISO OSI;
  • fazer alterações nos servidores fornecidos a eles, a menos que expressamente proibido pelo júri;
  • Mude a topologia do seu segmento de rede.

Durante o jogo, as equipes são proibidas de:

  • realizar ataques a computadores do júri;
  • filtrar o tráfego de equipes adversárias do tráfego do júri (por exemplo, por endereços IP);
  • gerar volume excessivamente grande de tráfego (inundação);
  • realizar ataques destrutivos nos servidores de equipes adversárias (por exemplo, rm –rf /);
  • realizar as ações acima em nome das equipes adversárias.

Lenda do final do RuCTF 2012
RuCTF 2012. Legenda do final
Texto para equipes, 14 de abril de 2012

O mundo moderno é um mundo de dinheiro. O dinheiro permeia todas as áreas da sociedade. Todo mundo pensa em dinheiro, diariamente, a cada hora. Cada pessoa pode ser enriquecida em um instante ou pode cruzar a linha da pobreza. O dinheiro está em toda parte - compramos comida para sobreviver, tomamos empréstimos para satisfazer nossos caprichos, fazemos depósitos na esperança de preservar nossas oportunidades.

O dinheiro se tornou tão natural que ninguém entende o que é - dinheiro. Mas ainda no mundo há quem entenda melhor o dinheiro que outros. Eles sabem como ganhar dinheiro e aumentar sua fortuna, fazem transações multimilionárias com facilidade, não percebem perdas multimilionárias. Estas são corporações. Em um dia, eles ganham tanto dinheiro quanto uma pessoa comum ganha na vida. Às vezes, parece que eles estão apenas brincando com dinheiro.

Este ano vamos jogar com dinheiro. As equipes agora são gigantes financeiros, grandes participações que lutam entre si em uma corrida pelo enriquecimento. Não há mais bandeiras. Agora tudo que você tem é dinheiro e sua tarefa é ganhar ainda mais dinheiro. A todo custo.

Mas não se preocupe, o RuCTF ainda é um concurso de segurança de computadores e cada equipe terá um servidor familiarizado com serviços pré-instalados, e cada um deles ganhará dinheiro. Por exemplo, um dos serviços emitirá empréstimos e outro aceitará depósitos. No interesse, e por um certo período - tudo de verdade. Esses dois serviços permitirão que as equipes permaneçam à tona, mesmo que percam absolutamente todo o dinheiro - os clientes os procuram regularmente, deixam depósitos e tomam empréstimos.

Óculos

O mundo do dinheiro é instável. Hoje você pode ser um milionário rublo e amanhã haverá um padrão. No mundo do dinheiro, você precisa de uma moeda forte, e os pontos do organizador são essa moeda. Ninguém se importa com quantos milhões de rúpias estão no seu cofre ou no seu bolso. Para aparecer nos olhos de seus rivais, você deve trocar seu dinheiro por pontos. Você pode fazer isso a qualquer momento, mas lembre-se de que as taxas de câmbio não param. Você é livre para escolher o que é melhor - para mudar os tugriks agora, após 5 minutos de identidade ou talvez depois de 20 minutos de embalagens de doces.

Dinheiro

Do ponto de vista técnico, o dinheiro envolvido no jogo é um conjunto de notas emitidas pelo Banco Central. Cada fatura é representada por uma sequência de texto no formato CSV e tem a seguinte aparência:

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

A fatura consiste nos seguintes campos:

1. identificador único da conta (UUID);
2. denominação da conta (neste caso, 1000);
3. moeda (neste caso, "Tugriks");
4. identificador único do proprietário da fatura (número natural);
5. data e hora da criação da fatura em formato classificável;
6. Base64 a partir de uma assinatura eletrônica feita usando a chave privada CentroBank;
7. comentário opcional, sem afetar o significado da assinatura.

Em qualquer projeto de lei, você pode facilmente verificar se é real - a chave pública do CentroBank estará disponível para todos os participantes.

Transações

As transações em dinheiro, independentemente de quais partes dela participem, são realizadas através do Banco Central, de propriedade dos organizadores. Antes da transação, uma das partes inicia a transferência de dinheiro, voltando-se para o segundo lado. Eles concordam com o valor, a moeda e o ID da transação.

Depois disso, ambas as partes usam o protocolo HTTP do Banco Central para fazer a transação. O CentralBank impõe um limite de tempo entre as conexões das partes - se um dos participantes hesitar, a transação poderá não ocorrer.

Após a conexão, o lado transmissor no corpo da solicitação POST transfere as notas linha por linha. O CentroBank seleciona todos os existentes, verifica se eles têm todas as moedas necessárias, os classifica em valor nominal ascendente e leva uma nota de banco desde o início até coletar uma quantia suficiente para realizar a transação. A troca de notas e a entrega de trocas não são realizadas, no entanto, todas as contas válidas não utilizadas serão devolvidas ao remetente no corpo da resposta em caso de transação bem-sucedida.

Tecnicamente, ao realizar uma transação, o CentroBank retira notas antigas de remetente e emite novas para o destinatário. As equipes poderão verificar se a conta foi retirada, usando o serviço especial dos organizadores.

Armazenamento

O coração da infraestrutura de cada equipe é o serviço de armazenamento, que mantém todo o dinheiro pertencente à equipe em segurança. Todos os outros serviços da equipe recebem e adicionam dinheiro ao Vault. Além de aceitar, armazenar e emitir notas, o Armazém também tem uma idéia peculiar de economia - se o serviço começar a pedir muito dinheiro por um período muito curto e colocar muito pouco dinheiro de volta - é provável que o Armazém não goste , e não dará dinheiro.

Assinatura

Outro serviço de suporte é o serviço de assinatura. Ele sabe como aceitar dados e assiná-los com a chave privada da sua equipe. A assinatura é usada para autenticar solicitações feitas pelos serviços da equipe.

Interação da equipe

Como sempre, você pode interagir com outras equipes como parte das regras. Por exemplo, você pode tomar um empréstimo de um concorrente mais rico ou fazer uma contribuição para o banco de outra equipe. No entanto, é claro que não podemos garantir que o serviço de outra equipe o trate com honestidade. Da mesma forma, você pode tentar enganar os serviços de outras pessoas. Exceto por um caso.

Empréstimos

Para evitar fraudes no crédito, os organizadores são forçados a controlar o processo de emissão de empréstimos. Portanto, todas as transações relacionadas a empréstimos são feitas não apenas através do CentroBank, mas através de um administrador especial. Exceto por alguns detalhes, este serviço funciona de forma idêntica ao Banco Central. Em particular, antes de tomar um empréstimo, o cliente e o serviço devem concordar com um identificador de transação.

A parte que tomou o empréstimo pode, a qualquer momento, até o vencimento do prazo, recorrer ao Agente Fiduciário e devolver o dinheiro do empréstimo. Observe que, para isso, o mutuário deve lembrar o identificador da transação na qual o negócio foi realizado para obter um empréstimo.

Após o prazo de reembolso do empréstimo, a parte que o emitiu tem o direito de recorrer ao Agente Fiduciário e exigir seu empréstimo de volta com juros. Independentemente de o devedor devolver o dinheiro a essa altura, o Agente Fiduciário concede dinheiro ao credor, ou seja, implementa um sistema de seguro de crédito.

Parece que você pode tomar empréstimos e não pagar - um caminho direto para a riqueza. Mas toda equipe tem carma.

Karma

O karma reflete o nível de confiança do cliente na holding. Se uma equipe não ofende seus clientes, seu karma cresce gradualmente ao máximo. No entanto, quando uma equipe se comporta mal, seu karma começa a cair. Isso pode ocorrer nos seguintes casos:

  • Um cliente veio ao serviço, mas não pôde obtê-lo. Talvez o serviço não estivesse disponível.
  • O serviço da equipe foi desonesto com o cliente. Por exemplo, aceitei uma contribuição, mas não queria devolvê-la com interesse no momento certo.
  • A equipe tomou um empréstimo de outra equipe, no entanto, não o pagou a tempo.

Quanto mais baixo o carma da equipe, menos frequentemente os clientes se voltam para ele e menos dinheiro passa por seus serviços.

Sumário

  1. Durante o jogo, as equipes operam com dinheiro. Eles podem conquistá-los de maneira legal, bem como roubar de outras equipes.
  2. A qualquer momento, as equipes podem alterar as notas que eles conhecem por pontos na taxa de câmbio atual, enquanto uma troca reversa não é possível. O dinheiro restante no final do jogo queima.
  3. O dinheiro é armazenado centralmente e pode circular livremente entre os serviços da equipe; no entanto, o acesso a uma grande quantidade não pode ser obtido de nenhum serviço de uma só vez.
  4. Pela inoperabilidade ou fraude dos serviços, as equipes são multadas pela queda de seu carma. Quanto menos karma uma equipe tem, menos dinheiro passa por seus serviços.
  5. Nenhum aviso. Você não pode perder a concentração, porque o objetivo é ganhar dinheiro.


API de serviços finais do RuCTF 2012

A localização real do equipamento no chão e o esquema da LAN eram os seguintes (existem cadeias de pares trançados visíveis):



Onde o roteador de comando é uma imagem do VMware com um sistema operacional pré-instalado (com todas as atualizações disponíveis). O roteador foi pré-configurado pela equipe de desenvolvimento final. As equipes podem alterar suas configurações por seu próprio risco.

Em um dos laptops fornecidos à equipe, uma imagem de teste foi instalada para testar a rede. Ele deve ser iniciado durante o teste de rede, durante o jogo pode ser interrompido. No entanto, em caso de problemas com a rede, a equipe terá que executá-la a pedido do júri. A imagem de teste e a imagem vulnerável devem estar localizadas na mesma máquina física.

Um conjunto inicial de equipamentos preparados pelos organizadores para cada equipe: um comutador, dois laptops ou uma mesa, que não tinham o suficiente, cabos de manobra e um filtro de linha.


E, como se viu, na realidade, com a colocação no chão, é simplesmente adorável:




Os temores de que haveria "pouco espaço" ou "não seria conveniente" desapareceram completamente entre todos os participantes quando cada equipe implantou suas bases no local de trabalho e começou a estudar os materiais emitidos pelo júri e a executar as configurações de seus equipamentos de teste.

O prêmio principal e de desafio dessas competições estava esperando na mesa do meio de seu novo proprietário:


Bem, e outra surpresa que os organizadores prepararam para as equipes - a imagem geral de trabalho do sistema foi .... parafuso.

Quantas palavras felizes foram ditas ao júri quando cada membro da equipe entendeu a complexidade e a não trivialidade desta final, porque estavam preparadas para tudo, exceto um inesperado. No entanto, quem estava mais preparado nesse caminho, recebeu mais vantagens e o primeiro arrancou pontos bastante bons. Mais tarde, porém, todos se dedicaram a esse tópico também.

Foi interessante observar quantos membros da equipe em telas de laptops em consultas de pesquisa tinham muitas perguntas começando com "como no Windows" ou algo semelhante ... Mas isso é apenas uma semente, porque não a imagem era a principal coisa, mas seus serviços e regras fornecendo, bem como a oportunidade de encontrar vulnerabilidades neles e obter os pontos desejados por suas ações corretas.

Resumidamente: as equipes agora são gigantes financeiros, grandes participações que lutam entre si na corrida pelo enriquecimento. Não há mais bandeiras. Agora tudo que você tem é dinheiro e sua tarefa é ganhar ainda mais dinheiro. A todo custo.

Cada equipe possui um servidor com serviços pré-instalados, cada um dos quais ganhará dinheiro (um dos serviços emitirá empréstimos e outro aceitará depósitos). Esse dinheiro é trocado por pontos dos organizadores, que são exibidos no placar.

Havia cinco serviços no total - Créditos, Depósitos, MMM, SafeDepositB e Cloud. Os bots visitaram cada um deles (suas atividades e trabalhos foram controlados por um júri), que depositaram dinheiro ou fizeram operações com esses serviços para cada equipe. Dependendo de sua satisfação e confiança nas operações, cada equipe possui carma, quanto mais alto, mais e mais frequentemente os bots acessam os serviços.

As equipes tiveram que marcar o maior número de pontos transferindo ganhos, roubados (de bots ou outras equipes) ou criados usando buracos nos serviços financeiros. Além disso, havia situações em que era possível prejudicar seriamente outra equipe no nível de serviço, para que a outra equipe não percebesse que estava trabalhando para o inimigo.

Em geral, não era trivialmente difícil e muito interessante resolver esses quebra-cabeças para cada equipe.

Cada uma das equipes incluía bons programadores, generalistas e camaradas treinados rapidamente, além de especialistas em sistemas Unix e Windows. E todos se ajudaram muito forte e seriamente, organizando sessões de brainstorming.

Mais sobre equipes.

Equipe [censurada] - Universidade Federal I. Kant Báltico, Kaliningrado.
Composição: Alexander Golubkov, Artyom Vorobyov, Maxim Skuratov, Mikhail Yudin, Alexander Nazarov, Evgeny Vasiliev, Sergey Chesnokov, Sergey Valov, Stepan Boychenko, capitão - 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 ( ), , , , ..


E cada dispositivo, independentemente do tamanho ou nome (a propósito, a maioria das marcas conhecidas) adquiriu nas mãos hábeis dos membros da equipe a invejável funcionalidade pela vitória, quer estivesse procurando uma descrição no Google, compilando um código ou serviços de suporte para obter os pontos de vitória cobiçados.

A propósito, muitos dispositivos estavam com adesivos ou gravuras de várias competições de hackers.

E o local de trabalho usual de um membro da equipe era assim, mas estava tudo à mão:


E apenas um pequeno netbook perdeu o chão no terceiro andar, criando o pano de fundo musical de toda a ação.


By the way, a simpatia dos membros da equipe e sua abertura à comunicação era simplesmente uma ajuda na comunicação rara para um lanche no canto da sala final (e toda uma mesa de chá sueca com biscoitos e doces foi organizada lá!) Ou, quando eles não estavam no terminal, mas na telas grandes, o principal era não incomodar na mesa.

Scorboard, telas, o fim da batalha

Scorboard - uma tabela com resultados atuais em russo. Mas o conteúdo e as informações fornecidas às equipes e observadores serão discutidos abaixo. Os dados da base do júri entraram no aplicativo, que processou os valores atuais dos elementos do jogo de acordo com as equipes e produziu três slides em grandes telas de TV com uma troca de vários segundos entre cada slide:

  • na forma de gráfico, a taxa de câmbio (dólar, rublo e euro) - quanto mais eles roubam uma moeda, menor é a sua taxa;
  • uma tabela de pontos, carma e facilidade de manutenção dos serviços de cada equipe;
  • tempo total de jogo.

Aparência de um scorboard com uma tabela de pontos:


Aqui você pode ver a posição da equipe, o número de pontos, seu karma e serviços cujo desempenho foi em três categorias - UP (tudo é normal, funciona), MUMBLE (funciona, mas não é estável e não é regular), DOWN (não funciona).

Os membros da equipe costumavam usar dados de telas de monitores grandes, embora fosse possível acessar a página do jogo e assistir as mesmas informações em um navegador. Mas foi realmente conveniente assistir a exibição da jogabilidade em um monitor de terceiros.

Além disso, pode-se chamar a atenção e emoções dos participantes de outras equipes, tentar analisá-los e agir em uma direção mais correta.

O bate-papo também funcionou no placar - você pode enviar um SMS para o telefone de um dos membros do júri, e ele digitou esse texto na área visível da tela. Mas era uma opção tão agressiva para os observadores.

No final da competição, 30 minutos antes do final do tempo de jogo, os scorboards também congelavam os dados dos pontos atuais, etc. ficou indisponível. E o tempo estava passando .... O principal era conseguir sacar todo o dinheiro e transferi-lo para pontos.


As paixões são aquecidas até o limite - concentração máxima e doação. Todo movimento errado ou escolha errada de ações seria fatal naquele momento. Mas muitas equipes conseguiram, e a mesa final com os resultados não foi como a congelada em muitas posições!

Mas o cronômetro caiu para zeros e todo mundo deu um suspiro de alívio, porque tantas gravidades imediatamente caíram dos ombros dos participantes. Muitos estavam exaustos até o limite, porque um jogo tão difícil com rivais fortes e traiçoeiros.

Os organizadores aqui também prepararam uma surpresa - o anúncio dos resultados será apenas no dia seguinte - domingo. Então - outra noite sem dormir para muitos então. Mas ela valeu a pena.

Debriefing

Depois de uma rodada final difícil e cansativa, nem todos puderam chegar ao evento de encerramento das finais do RuCTF 2012 às 11 da manhã, mas os organizadores prepararam muitas cartas, presentes, lembranças - nenhum dos membros da equipe deixou a sala de mãos vazias.

Mas que tipo de prêmio o vencedor da final recebeu dos organizadores do festival "UPI da Primavera no Ural Federal".


Mas antes de iniciar a cerimônia de premiação, a equipe do júri das finais do RuCTF 2012 relatou o trabalho realizado. Os caras falaram sobre quem programou quais serviços e quais falhas ou bugs neles foram originalmente implementados com exemplos de ativação e uso.


Como se viu, foram deixadas brechas deliberadamente em cada um dos cinco serviços com os quais as equipes operavam, descobrindo que as equipes podiam multiplicar seu dinheiro (emitindo empréstimos com juros negativos, por exemplo), roubar dinheiro de bots de células de depósito (pegando códigos PIN para para essas células, enumerando esses códigos), prejudicando outras equipes, interferindo com elas na operação dos serviços ou até obtendo acesso de administrador em um dos serviços para alterar suas características.

Em geral, cada um dos serviços tinha de 2 a 5 ovos de Páscoa, mas as equipes poderiam procurar outras maneiras de descobrir rivais e bots. E alguns até conseguiram!

E eles reagiram assim quando se revelou uma simulação virtual interessante, por exemplo:


Além da necessidade de interromper os serviços, cada equipe pode dobrar seu capital inicial abrindo o arquivo criptografado da imagem que recebeu no início do jogo. Mas houve um pequeno erro: o júri esqueceu de ativar um serviço auxiliar, com a ajuda de qual análise seria possível acessar a senha do arquivo. Portanto, essa porca não foi dividida, como alguns dos “buracos” originais dos serviços, nenhuma equipe poderia adivinhar antes de usá-los.

Em geral, os mais atentos, perspicazes, capazes de escrever scripts originais e complexos e se adaptar rapidamente a qualquer sistema operacional com entendimento instantâneo de novas linguagens de programação, como Erlang, possuir habilidades em PyCharm, etc. etc. - Esta é apenas uma fração das características descritivas de cada participante deste evento.

Resumindo e recompensando os vencedores

Chegou a hora de anunciar aqueles que poderiam suportar o ataque de ataques cibernéticos e conseguir o maior número de pontos no final do jogo.

A mesa final é a seguinte:


Primeiro lugar - equipe [censurada], Universidade Federal do Báltico em homenagem a I. Kant.


Segundo lugar - equipe SiBears, Tomsk State University.


Terceiro lugar - equipe WildRide, Universidade Estadual de Chelyabinsk.


Assim, os três principais vencedores das finais do RuCTF de 2012 ganharam suas copas:


E os organizadores implantaram tantas lojas de presentes!

Afinal, tudo acabou sendo simples - os pontos ganhos foram convertidos em dinheiro real e foi possível selecionar os presentes necessários para cada membro da equipe imediatamente do palco! Cada presente tinha seu próprio preço.

Dobradura de presente:


E cada equipe se revezava (começando do primeiro lugar) chegando a esse mega monte de dispositivos e escolhendo os gadgets necessários para si.


Se a equipe [censurada] tivesse muitas opções, o SiBears teria menos opções de presentes:


E a equipe WildRide ficou com muito pouco na faixa de seleção.


Mas no final, todos ficaram felizes!

E para a final das finais, o principal prêmio do RuCTF foi transferido da equipe do vencedor do RuCTF 2011 para o novo vencedor e vencedor deste troféu!



Depois houve parabéns e palavras gentis de todos os capitães das equipes e, claro, a promessa de realizar a próxima final é ainda mais interessante e mais difícil!

É bom quando essas competições acontecem, porque você vê quantas personalidades realmente obstinadas, coletivas e de grande formato estão lutando pelo título da equipe mais avançada, esclarecida e bem-sucedida do RuCTF em 2012.

E o fato de os organizadores terem criado uma atmosfera tão calorosa e acolhedora no evento é geralmente um elogio.

Se você quiser ver um conjunto mais avançado de fotografias do autor para este evento, elas estão aqui .


O segundo evento.
Final do 38º campeonato mundial de programação “As finais mundiais do ICM da ACM 2014”, Ekaterinburg, 23 a 25 de junho de 2014
Em 2014, o segundo campeonato mundial de programação foi realizado na Rússia (em 2013, a final do ACM ICPC 2013 foi realizada em São Petersburgo).

Somente em 2014, a final foi a maior da história do campeonato em termos de número de participantes.


122 equipes participantes (mais de 1.000 participantes de 41 países - programadores, treinadores, grupos de apoio, serviços de apoio a campeonatos), 300 voluntários da Universidade Federal de Ural (Universidade Federal de Ural) e outra equipe de voluntários de todo o mundo, 7 melhores hotéis em Ecaterimburgo, 39 ônibus Ônibus, 2 locais próximos no centro da cidade, na zona verde - DIVS “Uralochka” (o palácio dos esportes de jogo Uralochka, daqui em diante - DIVS) e KKT “Cosmos” (cinema e teatro de concertos, a seguir - KKT “Cosmos”), 5 horas para uma decisão uma equipe de 3 pessoas, 1 computador e o curador 12 tarefas muito difíceis ...

Regras, participantes, organizadores e voluntários

Mas vamos voltar um pouco, porque 122 equipes percorreram um longo caminho desde vitórias em competições locais de qualificação (300 mil estudantes participaram delas em 2013) e primeiros lugares nas meias-finais em suas regiões do mundo (Europa, Ásia, América do Norte, Pacífico Sul, América Latina) América, África e Oriente Médio) antes de chegar à final. E as cotas eram muito difíceis. Muitas equipes fortes não foram além dessas seleções, embora as equipes mais sortudas, inteligentes e novas tenham aberto o caminho para as finais.

Um número recorde de finalistas atingiu o nível regional em 2014: 32043 participantes de 2286 universidades em 94 países competiram em 300 locais diferentes em 6 continentes, a fim de receber um dos 122 convites para a final do campeonato de programação na Rússia, em Ecaterimburgo.

Já existe esporte, a mente e a organização interna de cada equipe se tornaram uma. E cada uma das 122 equipes que vieram visitar Yekaterinburg já é um campeão.
Aqui estão apenas os melhores dos melhores aqui e será possível identificar e parabenizar ao final do evento.
No caminho para a premiação, as equipes precisarão suportar cinco horas de competição, o que exigirá que os participantes exerçam todas as forças intelectuais e psicológicas sob estresse, alta concentração e vontade de se derrotar.

O site oficial do campeonato de 2014 na Rússia.

O Campeonato Mundial de Programação (ICPC - International Collegiate Programming Contest, realizado anualmente sob os auspícios da Association for Computing Machinery - ACM) é realizado para o crescimento de gerações cada vez mais avançadas de programadores que podem resolver problemas técnicos por mais tempo. alto nível

Os vencedores anteriores do ICPC da Rússia são os desenvolvedores do VKontakte, Yandex, Mail.ru, etc.

A primeira competição por equipes em programação esportiva sob os auspícios da Association of Computing Engineering (ACM) foi realizada nos EUA, na Universidade do Texas, na distante década de 1970. O campeonato mundial de programação adotou seu formato atual em 1977, quando a primeira final foi realizada como parte da conferência anual de ciência da computação da ACM entre os estudantes.

Desde então, a competição no âmbito do campeonato é realizada anualmente e desde 1989 a Baylor University (Texas, EUA) está envolvida em sua organização principal. Também em momentos diferentes, empresas como Apple, AT&T e Microsoft tornaram-se os patrocinadores da competição; no entanto, de 1997 até o presente, a IBM tem sido a patrocinadora geral. Além disso, a contribuição dos patrocinadores é muito significativa, tanto no equipamento técnico e de software dos participantes e juízes, quanto na atitude social e educacional de todos os participantes do campeonato.

De 1977 a 1989, equipes de universidades dos EUA e Canadá participaram da Olimpíada, outros países do mundo foram representados por um grupo regional europeu. No entanto, desde 1990, graças à proliferação de computadores pessoais, novos grupos regionais começaram a aparecer todos os anos, e a geografia da competição expandiu-se significativamente. E agora estudantes de todo o mundo podem provar totalmente suas habilidades e habilidades em todas as etapas do campeonato todos os anos.

Os organizadores do campeonato em Ecaterimburgo em 2014 são:

  • Universidade Federal de Ural, com o apoio da Administração da Cidade e do Governo da Região de Sverdlovsk;
  • ACM - Associação de Engenharia da Computação;
  • A IBM é a maior empresa de produtos de tecnologia e informação do mundo;
  • A SKB Kontur é uma desenvolvedora federal de serviços de Internet, software para negócios e contabilidade.

Somente graças à clara coerência e boas relações entre todos os organizadores (o número de funcionários e voluntários envolvidos na organização das finais foi de cerca de mil pessoas, se não mais), foi alcançado um alto nível profissional do Campeonato Mundial de Programação em Ecaterimburgo.

Cada equipe finalista e seu treinador receberam organizadores do hotel, transferência para os locais da competição, três refeições diárias gratuitas e um rico programa cultural (sim! Com seus crachás, os finalistas podiam visitar museus, centros culturais e muitos pontos turísticos maravilhosos da cidade de graça Ecaterimburgo), a Internet wi-fi gratuita de alta velocidade para todos os participantes do Campeonato Mundial de Programação na Zona ICPC (hotéis, DIVS, KKT Cosmos) também funcionou por quase uma semana.

Descoberta

Pela primeira vez fora dos Estados Unidos, a final do campeonato mundial de programação ACM-ICPC ocorreu em 1999 na Holanda e, em diferentes anos, as universidades do Canadá, China, Japão, República Tcheca, Polônia, Suécia e Rússia receberam o campeonato (já duas vezes).

Assim, o Campeonato Mundial de Programação, 38ª Final Mundial Anual do Colegiado Internacional da ACM, As Finais Mundiais da ACM ICPC de 2014 em Ekaterinburg, Rússia, ocorreram em 23.03.14-26.06.14.

De fato, o evento começou em 20 de junho com a chegada de voluntários, um grupo de organizadores de serviços que começaram a implantar sistemas técnicos para as finais e monitorar como estão os preparativos finais nos locais.

Os locais eram cercados, havia segurança apropriada em todos os lugares, para que os competidores se sentissem completamente protegidos (embora se movessem pela cidade tão livremente e depois de um ou dois dias começassem a se orientar no centro).
O DIVS (Palace of Sports) assumiu a final e, no CCM "Cosmos" (teatro de cinema e concertos), os participantes jantaram, passaram o tempo livre, as cerimônias de abertura e encerramento da final do Campeonato Mundial de Programação:


A preparação no sábado e domingo são dias e noites sem dormir com os organizadores:


No sábado e domingo, os participantes da final chegaram a Yekaterinburg de todo o mundo. Não sem esquisitices, por exemplo, a companhia aérea Aeroflot perdeu a bagagem de seus passageiros, incluindo os finalistas. Mas esse problema não reduziu o ardor da luta a nenhum dos participantes. Além disso, os organizadores tentaram, o mais rápido possível, resolver todas as questões e problemas que surgiram entre os finalistas.

Mas tudo estava em inglês, não esqueça como é o idioma oficial da competição!

E então chegou segunda-feira, 23 de junho, quando todos os participantes da manhã foram entregues de ônibus à CCT do Cosmos. Além disso, a escolta policial de cada série de ônibus também foi muito bem organizada. Mais três dias nas densas correntes da cidade de 39 ônibus lançaram os participantes para as competições da cidade. Havia até microônibus especiais que dirigiam os participantes (como desejavam) entre o DIVS e o KKT Cosmos, embora haja uma distância de 300 metros entre as plataformas.

Segunda-feira, uma hora antes da cerimônia de abertura:




As pessoas se reúnem em um grande salão para a cerimônia de abertura.

Console de direção e salão KKT Cosmos:


Cerimônia de Abertura dos Urais:


Durante a cerimônia de abertura, os finalistas ouviram discursos de boas-vindas de todos os organizadores, assistiram a vídeos sobre o campeonato e o local, a apresentação da Orquestra Sinfônica da Juventude dos Urais e músicos.

A abertura terminou com o anúncio do início do campeonato pelo diretor executivo do campeonato, Bill Paucher.

"Vocês são as estrelas do universo chamadas ICPC 2014!" Parabenizo todos os finalistas, bem como aqueles que tornaram o campeonato possível. Ecaterimburgo, uma cidade na fronteira do leste e oeste, Ásia e Europa, reuniu todos nós. Mas isso não significa que existem fronteiras entre nós. Hoje, estamos unidos pelo desejo de mostrar nosso caráter, força de vontade, força de pensamento, aprimorar habilidades de programação, aprofundar conhecimentos. O futuro nos pertence, o século 22 é nosso! ” - disse Bill Poucher.

Na terça-feira, 24 de junho, nas DIVS de Uralochka, foi realizado um ensaio das competições finais, após o qual os participantes praticaram exercícios arbitrários, acompanharam as finais e ficaram um pouco distraídos enquanto andavam pela cidade. Foi muito interessante ver tantos programadores estrangeiros no centro!

O final. Regras, Lutas e Resultados

Quarta-feira, 25 de junho. Nove horas da manhã, os participantes já estão no DIVS esperando a final começar.
Até agora, as equipes estão tirando fotos perto da Copa dos Campeões para dar sorte.


Animação pré-final e apenas esperando o início:


Para os fãs, existem PCs separados com transmissão e informações sobre a final:


A localização das equipes no palco do DIVS:


A lista de equipes por números
Equipes das finais de 2014 (numeradas em ordem alfabética e de acordo com a localização no salão):

1. Universidade de Alexandria - Faculdade de Engenharia.
2. Universidade Americana de Beirute.
3. Universidade de Amrita.
4. Instituto Anil Neerukonda de Tecnologia e Ciências.
5. Universidade de Engenharia e Tecnologia de Bangladesh.
6. Instituto de Tecnologia de Pequim.
7. Universidade Normal de Pequim.
8. Universidade Estadual da Bielorrússia.
9. Universidade Bina Nusantara.
10. Universidade do Cairo - Faculdade de Computadores e Informação.
11. Universidade Carnegie Mellon.
12. Universidade Comenius.
13. Universidade de Tecnologia de Delft.
14. Universidade Tecnológica de Delhi.
15. Escola Superior De Computação Instituto Politécnico Nacional.
16. ETH Zurique.
17. Universidade do FPT.
18. Universidade de Fudan.
19. Universidade de Fuzhou.
20. Universidade Alemã no Cairo.
21. Universidade de Ciências da Cidade de Ho Chi Minh.
22. Universidade Hunan.
23. Instituto indiano de tecnologia - Bombaim.
24. Instituto Indiano de Tecnologia - Indore.
25. Instituto Indiano de Tecnologia - Madras.
26. Instituto Indiano de Tecnologia - Roorkee.
27. Instituto Militar de Engenharia.
28. Instituto Tecnológico de Santo Domingo.
29. Instituto Internacional de Tecnologia da Informação - 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/pt437834/


All Articles