Ohlédnutí za The Catch

Jednou ze zásadních aktivit sdružení CESNET je šíření nabytých vědomostí, zejména CESNET-CERTS takto působí v oblasti bezpečnosti již dlouhá léta. Naše zkušenosti ukazují, že zájem o vzdělávání týkající se IT bezpečnosti je poměrně velký, ale klasické přednášky a školení nejsou považovány za příliš zábavné – účastníci musí sedět, poslouchat, zjišťovat jak věci fungují a jak by je mohli využít až na to někdy v budoucnu přijde řada.

Ve skutečném životě to však funguje většinou obráceně – máte před sebou problém a hledáte jeho řešení. To je jeden z hlavních důvodů, proč jsou v současnosti populární takzvané CTF (capture the flag) soutěže. Účastníci zde dostanou sadu úloh a sami hledají cesty k jejich řešení. Po ukončení soutěže jsou navíc zveřejňovány postupy řešení, ať už organizátory nebo samotnými účastníky. Z těchto postupů (v angličtině označované jako write ups) mohou ostatní účastníci nasát nové znalosti, případně zjistit, že existuje více postupů vedoucích k řešení a rozšířit si tak své obzory.

Soutěže typu CTF mají tedy poměrně velký vzdělávací potenciál a když jsou úlohy dobře zvolené, účastníci se formou hry naučí řešit problémy, se kterými se mohou setkat v praxi. Nebo si alespoň udržovat mozek a své skriptovací schopnosti v dobré kondici.

The Catch přichází

První soutěž typu CTF uspořádal CESNET v rámci Měsíce kybernetické bezpečnosti v roce 2017. Tehdy také vznikl název The Catch, původně určený pouze pro tuto jednu konkrétní akci, jenže se nám časem tak zalíbil, že jsme jej ponechali i pro všechna příští konání. A proč zrovna The Catch? Kolega Radovan Igliar, duchovní tvůrce názvu soutěže, na toto téma sdělil následující:

Název vznikl v kavárně Café Amandine na Karlově náměstí během konzumace výborné horké čokolády. Hledali jsme název, který měl jasně naznačovat, že účastníci soutěže budou řešit problémy (plné háčků a zapeklitostí). První, co mi přišlo na mysl, byl název filmu „Catch me if you can“ a pak pokračoval myšlenkový vláček – úspěšný řešitel by mohl být Catcher, což je mimochodem i chytač v baseballu – Catcher by mohl být taky chytač špatných hackerů (crackerů), protože CESNET i FLAB jsou na světlé straně. A pak už byl jen krůček k The Catch, což je v angličtině slovo s významem “dovtípit se, chytit, ulovit” ale také “zádrhel, háček”. Název tedy symbolizuje celý příběh hry, kde je cílem „ulovit“, tedy dopadnout, chytit hackerskou skupinu a dovtípit se, jak zachránit svět.

Do dnešního dne zatím proběhly tři soutěže honosící se názvem The Catch.

  • 10/2017 – The Catch 2017 (alias prosté The Catch)
  • 04/2018 – The Catch – Qubit (někdy též Catch the Qubit)
  • 10/2018 – The Catch 2018 (bez aliasu, názvosloví už se ustálilo)

Výše uvedené soutěže byly hodně podobné a zároveň extrémně rozdílné. Tak například způsob zadávání úloh – The Catch 2017 obsahoval čtyři úlohy, které byly zpřístupněny postupně, každý týden jedna. Úlohy

byly na sobě nezávislé se společným tématem, a to analýzou malware. The Catch – Qubit byl zaměřený na exfiltraci dat a obsahoval jen jednu úlohu, která však v sobě skrývala několik dílčích podúloh v sérii, takže pocity nadšení z vyřešené podúlohy se mohly střídat s pocity zklamání (nebo nadšení jiného druhu), že soutěž nekončí a na obzoru je další podúloha. U posledního The Catch 2018 pak účastníci dostali sadu úloh ze všech možných oblastí, přičemž cílem bylo jich vyřešit co nejvíce a co nejrychleji. Této soutěži se budeme za chvíli věnovat podrobněji.

První dvě soutěže byly také určené pro jednotlivce, zatímco třetí pro týmy o jednom až čtyřech soutěžících. Celkový obrázek si lze udělat z Tabulky 1, kde jsou uvedeny základní čísla o dosud realizovaných soutěžích The Catch.

Soutěž Počet registrovaných soutěžících Počet úloh
The Catch 2017 917 4
The Catch – Qubit 254 1 (5 podúloh)
The Catch 2018 441 4 cvičné na rozehřátí
15 v prvním kole
12 v druhém kole

Tabulka 1: Základní statistika o soutěžích The Catch

V souvislosti s prvním výročím The Catch je asi troufalé hovořit o tradici, ale laskavý čtenář jistě snadno nahlédne, že jde o naznačení naší vůle připravovat takovéto soutěže i do budoucna.

Ze zákulisí The Catch 2018

Pojďme nyní nahlédnout do zákulisí poslední soutěže naší série. Přípravy týkající se soutěže The Catch pro rok 2018 byly zahájeny dobré čtyři měsíce před jejím spuštěním a na rozdíl od předchozího ročníku byla soutěž připravována ve spolupráci se společností Trend Micro. Stejně jako CESNET připravovala soutěž typu CTF při příležitosti měsíce kybernetické bezpečnosti, takže se nabízelo spojit úsilí a vytvořit více zajímavých úloh v jedné společné soutěži.

Formát soutěže byl v mnoha ohledech ovlivněn skutečností, že byla současně využita také jako kvalifikační kolo pro účast ve finále Trend Micro CTF 2018, konané v Japonsku. Zásadní změnou v porovnání se dvěma předchozími The Catch bylo soutěžení v až čtyřčlenných týmech a využití dvoukolového systému. První kolo posloužilo k selekci deseti nejrychlejších týmů, které pak v kole druhém soutěžili o první místo.

Ústředním tématem soutěže byl běžný život tajného superagenta, který musí řešit více nebo méně zapeklité problémy související s IT. Zejména tedy hledání tajných zpráv konkurenční superagentury.

Jak připravit úlohy pro The Catch

Vhodné úlohy jsou základem každé soutěže typu CTF, podívejme se podrobněji na přípravu úloh, které byly do soutěže dodány pracovníky sdružení CESNET, přesněji pracovníky Forenzní laboratoře CESNET.

Jak už bylo naznačeno výše, hlavním cílem je – alespoň pro nás – účastníky naučit něco nového, ukázat jim zajímavé téma nebo je alespoň procvičit v praktických dovednostech. Naše šablona pro zařazení nové úlohy do portfolia má dokonce kolonku “Zamýšlený pedagogický efekt”. Při výběru oblastí, obvykle vycházíme z naší praktické činnosti, takže většinou je analyzován nějaký obraz disku, paměti, samostatný soubor, záznam síťového provozu apod. Občas ale máme i úlohy s on-line částí.

Kromě samotného tématu je potřeba někam vhodným způsobem uložit flag, který pak účastníci hledají. To se u některých oblastí provádí snadno, ale někdy je opravdu komplikované umístit flag tak, aby nebyl zjistitelný jinak, než s využitím předpokládaných znalostí a zároveň, aby při potřebných znalostech nějakým způsobem vyčníval.

Například v jedné úloze týkající se DHCP si každý může všimnout, že jedna fyzická MAC postupně vysílá zprávy DHCPDISCOVERY obsahující úplně jiné MAC adresy a současně pro ně pak neodešle DHCPREQUEST. Jasná anomálie, tedy alespoň pro lidi, kteří se orientují v protokolu DHCP. Ostatní jsou donuceni se s ním seznámit a tedy se něco nového naučit.

Po vymyšlení základního konceptu musí být úloha také vytvořena. Prakticky se jedná o napsání skriptu, jehož vstupem je text flagu spolu s dalšími parametry úlohy a jeho výstupem je připravený soubor pro analýzu, případně konfigurace pro příslušnou online službu.

No a na závěr vždy dojde na handrkování ohledně obtížnosti úlohy, za kolik bodů by asi tak měla být a kolik času by měla řešitelům zabrat. Zásadním problémem je odhadnout, jak moc jsou náznaky vedoucí k řešení viditelné. Autor obvykle tvrdí, že je to přece jasné, vždyť tady, tady a támhle… toho by nevšiml jen slepý, a hodnotí spíše časovou náročnost řešení, jak dlouho bude trvat napsání skriptu, přečtení dokumentace apod. Ostatní členové realizačního týmu obvykle naopak naznačují, že daný úkol je složitý a přijít na zamýšlené řešení vyžaduje alespoň jeden semestr telepatie. U soutěžících pak záleží na tom, jestli podobný problém už řešili, ovládají danou oblast natolik, aby si všimli nesrovnalostí, a případně jestli mají talent při výběru naslepo zkoušených postupů.

Jak připravit odměny

Vzdělání a získání nových znalostí a zkušeností je fajn, ale nějaká pěkná cena také potěší a jistě některé hráče motivuje k vyššímu nasazení a obětování některých nepodstatných věcí, například spánku. Výhry udělované v soutěži The Catch 2018 jsou uvedeny v Tabulce 2. Na posledním řádku uvedená trička “Best Red Team” nebyla původně v plánu, ale bylo třeba ocenit i tým, který nahlásil nepříjemnou vlastnost používané platformy CTFd.

Výhra Výherci
Soška „Catcher“ Vítězký tým celé soutěže
Cesta do Japonska Vítězný tým celé soutěže
Poukázky na nákup v alza.cz První tři týmy v celé soutěži
Mikiny „The Catch“ Všechny týmy postupující do druhého (on-site) kola.
Vybraní autoři zaslaných write ups.
Trička „The Catch“ Prvních 20 týmu prvního kola.
Vybraní autoři zaslaných write ups.
Trička “Best Red Team” Tým, který nahlásil nezamýšlenou funkcionalitu platformy CTFd.

Tabulka 2: Připravené výhry pro The Catch 2018

 

Komunikace s účastníky a mezi účastníky

Soutěžící mohli s organizátory komunikovat pomocí e-mailové adresy thecatch@cesnet.cz používané i v předchozích soutěžích The Catch a tentokrát byl navíc také zřízen kanál v platformě slack.com. Tento komunikační kanál mohli účastníci také používat ke komunikaci mezi sebou. Primárně byl určen k domlouvání se během vytváření týmů, ale nakonec sloužil po celou dobu soutěže – k ohlašování významných událostí, hlášení chyb apod. Zásadní informace byly také publikovány na hlavní stránce webu https://thecatch.cz v sekci Announcements.

Náhled na infrastrukturu

Na Obrázku 1 jsou zobrazeny jednotlivé technologické součásti, které byly využívány pro zajištění chodu soutěže. Na serveru thecatch.cz běžel pouze samostatný web (CTFd), přičemž malé soubory (obrázky, zakódované texty, apod.) byly umístěny přímo na tomto serveru, ale velké soubory (obraz paměti, apod.) byly z výkonnostních důvodů přesunuty do OwnCloudu provozovaného sdružením CESNET. Stejně tak byl pro on-line úlohy vyhrazen samostatný server challenges.thecatch.cz, protože některé úlohy vyžadovaly větší interakci a předem nebylo zřejmé jak velký počet současných řešitelů on-line úloh se vyskytne. Uvedené rozdělení zajistilo dostupnost hlavního webu i při velkém počtu stahování souborů a velkém počtu řešitelů on-line úloh. Pro úplnost je naznačena i komunikační infrastruktura sestávající z platformy slack a e-mailového serveru.

Obrázek 1: Technologické součásti infrastruktury pro The Catch

Pro potřeby on-site kola pak posloužil samostatný dedikovaný server dostupný pouze ze síťových zásuvek v místě konání.

Harmonogram soutěže

Soutěž the Catch byla rozdělena do několika částí, jak je zřejmé z uvedeného harmonogramu v Tabulce 3. Spolu s registrací byly zpřístupněny čtyři cvičné úlohy sloužící k seznámení se s fungováním CTFd a rozehřátí mozkových závitů soutěžících. S odstupem dvou týdnů bylo zahájeno on-line kolo soutěže, ze kterého vzešlo 10 týmů postupujících do on-site kola soutěže. Za další soutěžní část je možné považovat také výzvu k zaslání zvolených postupů řešení (tzv. write ups).

Událost Zahájení Ukončení
Otevřena registrace 26. 9. 2018
Cvičné úlohy (Practical Challenges) 26. 9. 2018
1. (on-line) kolo 12. 10. 2018 19. 10. 2018
2. (on-site) kolo 27. 10. 2018 19. 10. 2018
Doprovodná soutěž o write-ups 28. 10. 2018 12. 11. 2018

Tabulka 3: Harmonogram soutěže

Průběh soutěže – cvičné úlohy (Practical Challenges)

Cílem cvičných úloh bylo seznámení soutěžících s platformou CTFd a také poskytnutí témat k diskuzím vedoucích k formování týmu. Dá se říci, že toto předsoutěžní kolo proběhlo podle očekávání, tedy až na jednu drobnou lapálii. U jedné úlohy se totiž soutěžící opakovaně dotazovali, zda k úloze nebude nějaká
nápověda (hint). Při následné analýze bylo zjištěno, že danou úlohu zatím nikdo nevyřešil a při kontrolním pokusu o vyřešení byl zjištěn i důvod – soubor k analýze je úplně jiný než by měl být (nahrána byla testovací verze), takže jej s dostupnými informacemi nebylo možné vyřešit. Soubor byl opraven a kolega Radovan se za takové pochybení, které se stává jednou za 10 let, stylově omluvil v Japonském stylu (seppuku jsme mu rozmluvili), viz Obrázek 2:

Obrázek 2: Omluva v japonském stylu

Celkově byly soutěžícími cvičné úlohy hodnoceny jako lehké, čemuž odpovídá také celkový počet úspěšných řešitelů, viz graf na Obrázku 3. Podle času vyřešení je rozlišováno vyřešení cvičné úlohy před zahájením on-line kola a po něm – z tohoto rozložení vyplývá, že řada účastníků si chtěla úlohy prostě vyzkoušet, i když už to nebylo nutné. Nejmenší počet řešitelů měla úloha The Smile of CESNET, protože na rozdíl od ostatních cvičných úloh vyžadovala napsání skriptu, tj. čas věnovaný manuální práci.

Obrázek 3: Počty řešitelů cvičných úloh (Practical Challenges)

Průběh soutěže – on-line kolo

V první (on-line) kolo soutěže se hrálo o postup do druhého (on-site) kola, do kterého se mohlo dostat pouze prvních deset týmů. Celkově mohli soutěžící nasbírat 38 bodů za vyřešení 14 různých soutěžních úkolů, které byly rozděleny do šesti kategorií podle tematického zaměření (web, crypto, stego, reversing, system, others) a podle obtížnosti ohodnoceny na stupnici 1-5 bodů. Kolika řešitelů se dočkaly jednotlivé úlohy je ukázáno v grafu na Obrázku 4. Opět je podle času vyřešení rozlišováno vyřešení soutěžních úlohy během on-line kola a po jeho ukončení.

Obrázek 4: Počty řešitelů úloh prvního kola (On-line Round)

Podle reakcí soutěžících lze usuzovat, že každý skutečně vidí obtížnost jednotlivých úloh jinak. Největší rozdíly byly hlavně u málo bodovaných úloh, jejichž řešení je sice triviální, ale je potřeba na něj přijít. A soutěžící, kteří měli s těmito typy úloh málo zkušeností nebo naopak znali příliš mnoho (a nemohli si vybrat), měli problém s určením vhodného postupu.

Vlastní průběh on-line kola byl bez zásadních problémů. Soutěžící se několikrát mylně domnívali, že on-line úlohy nefungují správně a bylo těžké je přesvědčit o opaku a současně neprozradit správné řešení. A opět se nám objevil nešvar s nahráním chybného souboru, který nám tentokrát jeden nejmenovaný tým nahlásil i s důkazem – hmm, tedy stejná chyba dvakrát za deset let a v realizačním týmu by se napětí dalo krájet ve vzduchu viselo i cosi jako pověstné “abych z vás neudělal nezaměstnaného”. Chybovat je “ajťácké” a praxe ukazuje, že bez chyb to asi nejde – ale je potřeba na ně adekvátně reagovat. Například od zjištění problému s IPv6 na serveru s on-line soutěžními úlohami do jeho nápravy uplynulo přesně 42 minut (viz Obrázek 5).

Obrázek 5: Reakce na nahlášenou závadu s IPv6

Z výsledků první (on-line) kola je zřejmé, že všechny zúčastněné týmy řešily předložené úlohy velmi zuřivě. Po dobu trvání se celkem 24 týmům podařilo vyřešit všechny soutěžní úlohy a získat tak plný počet 38 bodů. O pořadí rozhodoval tedy čas dosažení tohoto skóre – v Tabulce 4 je uvedeno deset nejrychlejších týmů, které postoupily do druhého (on-site) kola. Prvnímu týmu stačilo necelých šest hodin a desátém postupujícím týmu bylo rozhodnuto po 26 hodinách a 42 minutách od zahájení.

Pořadí Název týmu Počet bodů Čas získání (SELČ) Trvání
1 spolek na**aných trpaslíků 38 (100 %) 12.10.2018 17:59 05:59:10
2 VztekOwerflow 38 (100 %) 12.10.2018 20:08 08:08:50
3 NSA Litoměřice 38 (100 %) 12.10.2018 20:55 08:55:30
4 4ello 38 (100 %) 12.10.2018 21:55 09:55:54
5 One man army 38 (100 %) 12.10.2018 22:30 10:30:30
6 Tuna 38 (100 %) 12.10.2018 00:22 12:22:56
7 *Drop table teams–* 38 (100 %) 12.10.2018 02:31 14:31:15
8 kraska_a_dve_zvierata 38 (100 %) 12.10.2018 05:58 17:58:07
9 Dirty Cowboys 38 (100 %) 12.10.2018 13:43 25:43:53
10 kostirez1 38 (100 %) 12.10.2018 14:42 26:42:11

Tabulka 4: Soutěžní týmy postupující do druhého (on-site kola)

On-site kolo nebylo náročné jen pro soutěžící, ale také pro hardware, na kterém soutěž běžela. Na Obrázku 6 je v několika grafech naznačeno kolik výkonu a paměti obou soutěžních serverů bylo využito během soutěže. Jednotlivá lokální minima v grafech pro www.thecatch.cz odpovídají nočním hodinám – zdá se tedy, že většina týmů neměla zavedený směnný provoz. Automatizované skripty, zejména pro úlohy Dust Off a Naval Battle, zdá se, běžely nonstop.

www.the catch.cz

challenges.thecatch.cz

 

Obrázek 6: Vytížení serverů www.thecach.cz a challenges.thecatch.cz.

Ze síťového pohledu lze říci, že po IPv6 šla zhruba třetina požadavků na webovou platformu CTFd zatímco pro řešení on-line úloh bylo IPv6 použito pouze v cca 2 % případů. Celkový počet spojení, které musel zvládnout server challenges.thecatch.cz je vidět na Obrázku 7 a tatáž statistika pro server www.thecatch.cz je uvedena na Obrázku 8. Server hostující soutěžní on-line úlohy byl pochopitelně vytížen mnohem více. Drtivá většina UDP provozu jsou DNS dotazy související s úlohou Dust Off.

Obrázek 7: Statistika síťového provozu pro server challenges.thecatch.cz

Obrázek 8: Statistika síťového provozu pro server www.thecatch.cz

Průběh soutěže – on-site kolo

Druhé (on-site) kolo soutěže pro deset postupujících týmů probíhalo 27. 10. 2018 od 10.00 CEST až pozdního odpoledne. V oddělené síti na vyhrazeném serveru pak na soutěžící čekalo celkem 15 soutěžních úkolu, za které mohl každý tým získat až 36 bodů. Čtrnáct z těchto úloh bylo po skončení on-site kola přeneseno i do platformy CTF, ve které probíhalo první (on-line) kolo, takže si je mohli mimo soutěž zahrát všichni zájemci. Patnáctá úloha se týkala analýzy hardware, takže tu na www.thecatch.cz nenajdete.

Finálový souboj o body byl hodně napínavý, jak je vidět z grafu na Obrázku 9. Zejména první tři týmy předváděly velmi vyrovnaný výkon a šlo doslova o minuty. Celkové výsledky soutěže jsou uvedeny v Tabulce 5 (tým vystupující v prvním kole jako kostirez1 je zde pod názvem Dude, Where’s My Flag?).

Obrázek 9: Průběh druhého (on-site) kola

 

Pořadí Název týmu Počet bodů Trvání
1 NSA Litoměřice 31 (86 %) 5:52:29
2 VztekOverflow 31 (86 %) 5:59:35
3 spolek na***aných trpaslíků 31 (86 %) 6:16:46
4 Tuna 20 (56 %) 5:34:27
5 DirtyCowboys 19 (53 %) 6:17:48
6 One Man Army 18 (50 %) 4:52:25
7 17 (47 %) 27.10.2018 16:15 6:15:43
8 *Drop table teams;–* 16 (44 %) 5:38:47
9 Dude, Where’s My Flag? 16 (44 %) 6:15:45
10 4ello 27.10.2018 16:00 6:00:10

Tabulka 5: Celkové výsledky druhého (on-site) kola

Na Obrázku 10 je u každé úlohy ukázáno kolik týmů ji dokázalo úspěšně vyřešit během druhého (on-site) kola. Zdá se, že hudební témata nebyla účastníkům příliš blízká a jednu úlohu (Sheet Music) dokonce nevyřešil žádný z přítomných týmů. Uvědomme si však, že v každém týmu byli maximálně čtyři soutěžící a na vyřešení všech 15 úloh měli jen sedm hodin. Leda by byl s úlohou zase nějaký problém… třetí kolo, potřetí za deset let? Ale kdepak, opravdu to bylo těžké!

Obrázek 10: Počty řešitelů úloh druhého kola (On-site Round)

Průběh soutěže – write ups

Běžnou součástí soutěží typu CTF jsou také tzv. write ups, česky bychom řekli zápisky nebo popisy postupů řešení. Autoři úloh nebo soutěžící tímto způsobem zveřejňují svůj postup řešení jednotlivých soutěžních úloh, čímž ostatním rozšiřují obzory. Mohou se seznámit s dosud neznámými systémy, objevit nové nástroje nebo vestavěné příkazy operačních systémů, a poznat jiné myšlenkové postupy vedoucí ke stejnému cíli kratší cestou apod. Občas jsou v takových zápiscích k nalezení i opravdová umělecká díla – geekovské jednořádkové příkazy v bashi nahrazující výrazně delší kód, extrémně neortodoxní postupy a občas čtenář i žasne jaký matematický a teoretický aparát je zapojen do řešení jednoduché úlohy.

V soutěži The Catch 2018 byli soutěžící k této činnosti povzbuzování doprovodnou soutěží o tematické mikiny. Své zápisky zaslalo celkem devět soutěžících a všechny jsou vystaveny na adrese https://www.thecatch.cz/write-ups. Některé obsahují pouze skript, některé seznam příkazů a některé obsahují opravdu vydařený popis.

Například jeden z francouzských účastníků soutěže, Guy Brand, se v popisu řešení úlohy Letters and numbers neomezil na bezduché zkoušení různých možností a prosté konstatování “je to base58”, ale popsal svůj myšlenkový pochod, kterým k danému závěru přišel. Čtenář si tak může osvojit správný analytický přístup a ještě se dozví o zajímavém nástroji.

Další neobyčejný write up nám zaslal Tomáš Jeziorský. Relativně snadnou úlohu The Smile of CESNET bylo možné vyřešit převedením černých a bílých bodů na nuly a jedničky a poté dále zpracovat. V zaslaném postupu byla černá barva brána jako nula, ale ve skutečnosti měla být intepretována jako jednička. Výsledkem tedy byl nesmyslný text. Zde by běžný soutěžící zkusil něco jednoduchého – třeba prohodit nuly a jedničky – ale ne tak výše zmíněný autor. Na osmi stránkách je popsána kryptoanalýza provedená nad chybně převedeným textem a na základě frekvenční a jazykové analýzy spolu s vytvořením převodní tabulky je úloha zdárně vyřešena. A zjištěný závěr, že je použita obrácená ASCII tabulka? To přesně odpovídá prohozené nule a jedničce. Kverulanti by mohli namítnout, že jde o plýtvání talentem, ale popsaný postup k řešení vede a navíc je možné jej použít také na spoustu dalších úloh.

Průběh soutěže – další čísla a grafy

Kromě popisu a čísel týkajících se jednotlivých kol jsou také zajímavé vybrané celkové statistiky, které umožňující udělat si globální představu o soutěži. Všechny následující informace se týkají platformy CTFd běžící na serveru www.thecatch.cz se zaměřením na první (on-line) kolo, které je z hlediska počtu uživatelů mnohem zajímavější než druhé (on-site) kolo.

Na Obrázku 11 je vidět počet registrací v závislosti na čase. Minutu před zahájením prvního (on-line) kola bylo registrováno 333 soutěžících (počet týmů nelze z dostupných dat určit), další se připojovali až v průběhu a konečný počet dosáhl 422 soutěžících.

Obrázek 11: Počet registrací v průběhu času

Obrázek 12 ukazuje počet úspěšně vyřešených úloh pro všechny týmy současně spolu s počtem bodů, které za to byly přiděleny. Nejprve si soutěžící hráli s cvičnými úlohami, což vyplývá jednak z času a jednak je vidět, že počet vyřešených úloh pozvolna stoupá, ale počet bodů nikoliv. Dramatický nárůst v počtu řešených úloh (a souvisejících bodů) lze pozorovat prvních 14 hodin od zahájení prvního kola, kdy všichni soutěžící dohromady dosáhli rychlosti 71 vyřešených úloh za hodinu (128 bodů/h). Po zbytek týdne je vidět průběžný pomalejší nárůst rychlostí necelých 6 vyřešených úloh za hodinu (11 bodů/h). Celkem soutěžící vyřešili 2614 úloh v hodnotě 3470 bodů.

Obrázek 12: Průběh prvního (on-line) kola

Zajímavá je také “životnost úlohy” (v angličtině je používán termín first blood), tj. jak dlouho od zveřejnění trvá prvnímu soutěžícímu danou úlohu vyřešit. Celkový přehled je uvedena v Tabulce 6. Z časů cvičných úloh nelze činit žádné vypovídající závěry, protože všichni soutěžící věděli, že zde o nic nejde a mají několik dní na vyřešení. Výrazně delší čas u úlohy Almost OK souvisí s onou chybou, která se stává jednou za 10 let – do opravy ji prostě nebylo možné vyřešit. Ze soutěžních úloh byla první vyřešena již za 100s (od morseovky skryté pod názvem Two Symbols nelze čekat zázraky) a nejdéle odolávala úloha Naval Battle – soutěžícím vzdorovala více než čtyři hodiny. Za zmínku také stojí, že mezi životností úlohy a jejím bodovým ohodnocením existuje přímá úměra (pouze u úlohy The Transmission se realizačnímu týmu nepovedla odhadnout náročnost).

Úloha Počet bodů Čas prvního vyřešení (SELČ) Životnost úlohy
Numbers 0 26.9.2018 12:23 00:23:44
Hash 0 26.9.2018 12:25 00:25:46
The Smile of CESNET 0 26.9.2018 13:50 01:50:45
Almost OK 0 27.9.2018 07:39 19:39:51
Two Symbols 1 12.10.2018 12:01 00:01:40
The Transmission 3 12.10.2018 12:01 00:01:51
Scandal I. 1 12.10.2018 12:03 00:03:28
WiFi 1 12.10.2018 12:04 00:04:59
An EaSy Challenge 2 12.10.2018 12:09 00:09:51
Scandal II 2 12.10.2018 12:13 00:13:42
The Pixels 1 12.10.2018 12:17 00:17:25
Letters and Numbers 1 12.10.2018 12:21 00:21:46
Quartermaster 1 12.10.2018 12:26 00:26:17
Crosswords 3 12.10.2018 12:36 00:36:10
OS do not forget 5 12.10.2018 13:06 01:06:37
Happy CAPTCHA 5 12.10.2018 14:06 02:06:09
Dust Off 4 12.10.2018 14:10 02:10:10
SpringPeace 4 12.10.2018 14:12 02:12:25
Naval Battle 4 12.10.2018 16:02 04:02:43

 

Tabulka 6: Časy prvního vyřešení úlohy

Celkové shrnutí

Soutěž The Catch 2018 je za námi a věříme, že se všichni účastníci pobavili a hlavně se naučili něco nového nebo zajímavého. O materiálních cenách nemá cenu hovořit, protože vědomosti jsou to nejcennější, co lze získat… i když takové tričko, mikina nebo výlet do Japonska také není k zahození.

Nové vědomosti a zkušenosti získali také organizátoři, jejichž soubory s názvem lesson-learned.txt jsou nyní plné poznámek pro příští ročníky. Samozřejmostí je neopakovat stejné chyby, které se stávají n-krát za 10 let a nedat šanci kolemjdoucím red týmům perfektní přípravou technického zázemí.

Soutěže se účastnili jak tuzemští tak i zahraniční soutěžící (minimálně z Francie a Slovenska) a všichni ze sebe vydali to nejlepší. Organizátoři si tohoto zájmu a nasazení velmi váží a (nejen) proto by další soutěže ze seriálu The Catch rádi neustále zlepšovali. Pokud chcete svým názorem přispět k vylepšení příštích ročníků, vyplňte dotazník, který byl všem účastníkům soutěže zaslán. Nebo nám svůj návrh prostě napište na adresu thecatch@cesnet.cz. Zejména upřímné hodnocení obtížnosti a zábavnosti jednotlivých typů úloh je velmi cenné, ale vítány jsou jakékoliv postřehy a náměty.

Catch the Future

V soutěžích typu CTF se skrývá velký vzdělávací potenciál a navíc platí, že kdo si hraje, nezlobí. Takže se určitě můžete těšit na další ročníky – pracovníci Forenzní laboratoře CESNET už nyní přemýšlejí, jaké soutěžní úlohy by se mohly objevit v The Catch 2019 v rámci dalšího Měsíce kybernetické bezpečnosti.

Aleš Padrta