CyberChallenge.IT 2018 - Programma di addestramento alla cybersecurity per giovani talenti

Stiamo cercando la prossima generazione di cyber defender:
> Hai 16-22 anni?
> Ti piace programmare?
> Entra in CyberChallenge.IT!
Il prossimo cyberdefender potresti essere tu!

Iscriviti gratuitamente a https://cyberchallenge.it
Deadline: 20 gennaio 2018

CyberChallenge.IT 2018 è un programma di addestramento alla cybersecurity gratuito per ragazze e ragazzi nati tra il 1995 e il 2001 che si svolgerà nella primavera del 2018 presso 8 sedi universitarie, organizzato dal Laboratorio Nazionale di Cybersecurity del CINI.

Il programma culminerà in una gara locale e una nazionale in cui si scontreranno le squadre delle 8 università italiane coinvolte. I migliori avranno la possibilità di entrare a far parte della Squadra Nazionale Italiana di Cyber-defender e concorrere a Londra all’European Cybersecurity Challenge il prossimo autunno.

Le iscrizioni sono aperte dal 4 dicembre al 20 gennaio e rappresentano un’opportunità di imparare, divertirsi e gettare le basi per una carriera appassionante in cybersecurity. Non sono richieste conoscenze pregresse di sicurezza informatica, ma solo eccellenti capacità di logica e programmazione.

Maggio informazioni su https://cyberchallenge.it/

2 Mi Piace

interessante, il pre-test online del 25 gennaio a che ora sarà?
perché c’è il 4 round ois

3 Mi Piace

Ciao Luca, il pre-test sarà fatto online: daremo almeno un paio di giorni (forse anche di più) per la compilazione. Quindi al di là dei vostri impegni, non dovreste aver problemi a livello di tempistiche nella sua compilazione. L’impegno richiesto per il pre-test non dovrebbe superare 1-2 ore (se siete molto bravi, anche molto meno).

grazie per la risposta, io mi iscrivo

1 Mi Piace

L’ho fatta l’hanno scorso, e posso confermare che ne vale davvero la pena. Non potendo partecipare per la seconda volta, l’unica cosa che mi rimane da fare è consigliarvi vivamente di partecipare!

1 Mi Piace

Qualche info sul tipo di gara?

L’anno scorso era incentrato su malware analysis, analisi di rete e vari tipi di exploit. Da quanto so quest’anno potrebbe essere leggermente diverso e più focalizzato verso le ECSC, ma non ti so dare molti dettagli in proposito.

2 Mi Piace

La cosa sembra molto interessante, si possono avere alcune informazioni riguardo a cosa probabilmente bisognerà saper fare per superare il pre-test e il test di ammissione?

Per superare il pre-test e test di ammissione occorre una buona conoscenza del C, esperienza con quiz di logica e problem solving. Trovi del materiale utile sul nostro portale di ammissione: https://cyberchallengeit.github.io/

Buonasera, stavo leggendo gli orari dei corsi e delle sessioni di addestramento della sede dove mi iscriverei se passassi il test (Ca’ Foscari) è ho letto che purtroppo le sessioni di addestramento sono il sabato dalle 9:00 alle 13:00 e io purtroppo il sabato vado a scuola.
Saprebbe dirmi gentilmente se le sessioni di addestramento si possono recuperare via internet nel pomeriggio (se magari sono esercizi che si può provare a fare anche da casa) oppure il se saltarle troppe volte causa l’esclusione dalla competizione in modo definivo?

Dal nostro sito:

Cosa succede se perdo delle lezioni?
Perdere qualche lezione, sebbene sia un’opportunità mancata di imparare, non è in genere un problema. Tuttavia, dopo tre lezioni consecutive perse, verrai considerato rinunciatario e non potrai partecipare alle gare finali.

Ok grazie mille per tutto, spero riusciate a organizzare questa attività anche l’anno prossimo. :sweat_smile:
È aperta agli studenti di tutti i corsi universitari purché abbastanza giovani, è giusto?

E’ aperta a tutti i corsi universitari (e non).

Quando verranno comunicati i risultati della seconda fase?

Ancora vorrei capire che si intendeva con eleganza della soluzione, nella seconda fase. Lo stile di scrittura? La tecnica di soluzione? Ad esempio per il primo problema di programmazione, passcode, se lo risolvo in DP in O(K) faccio una soluzione “più/meno elegante” rispetto a quella banale ricorsiva in O(9^K)?

Perdona la mia ignoranza in materia, ma quale algoritmo bisognava applicare per la soluzione dinamica del problema passcode?

protip: protresti modificare il messaggio in modo di metterlo tra i tag [spoiler][/spoiler]?

in primo luogo, durante la prova il mio referente ha chiarito che (stranamente) i segmenti possono anche “tornare indietro”, ovvero puoi fare cose tipo A-B-A. Ciò è importante per poter implementare l’algoritmo in DP, altrimenti avresti ottenuto una ricerca completa (che comunque non sarebbe stata troppo lenta in quanto la sequenza si sarebbe interrotta prematuramente con al più 8 segmenti, mentre k può essere molto più grande…)

Do l’approccio bottom-up. Spero ti piaccia.

Sia A_k una matrice 3\times3 che indica, per ogni a_{i,j} \quad (0 \leq i,j <3), il numero di percorsi che iniziano in a_{i,j} e hanno lunghezza k. Poniamo che a_{i,j} = 1 \quad \forall a_{i,j} \in A_0 (un percorso a k segmenti deve avere k+1 vertici, quindi tanti percorsi da 0 segmenti contano un vertice solo).
In altre parole avremo questo:

A_0 = \begin{pmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{pmatrix}

Vediamo come costruire la soluzione di A_{k+1} dato A_k. Sia (i,j) una coppia di coordinate. Il numero di possibili percorsi che iniziano lì e sono lunghi k+1 è la somma dei percorsi che partono da un vertice adiacente di lunghezza k.

Quindi avremo:

A_1 = \begin{pmatrix} 3 & 5 & 3 \\ 5 & 8 & 5 \\ 3 & 5 & 3 \end{pmatrix}

E se fai la somma di ogni elemento ottieni 40.
Continuo per k = 2:

A_1 = \begin{pmatrix} 18 & 24 & 18 \\ 24 & 32 & 24 \\ 18 & 24 & 18 \end{pmatrix}

la cui somma fa 200. Il problema ti chiede di inserire la somma cumulata delle matrici quindi avresti 240.

Se non ti va di memorizzare una matrice, osserva che gli angoli e i lati sono uguali, quindi basta che memorizzi il valore di angoli, lati e centro e sei a cavallo.

Ad esempio, se chiamiamo c_k uno dei 4 valori “in angolo” alla matrice a_k, s_k uno dei valori a lato e m_k il valore centrale, abbiamo:

\begin{align} c_k &= 2\cdot s_{k-1} + m_{k-1} \\ s_k &= 2\cdot c_{k-1} + 2\cdot s_{k-1} + m_{k-1} \\ m_k &= 4\cdot s_{k-1} + 4\cdot c_{k-1} \end{align}

Poiché ti interessa sempre e solo lo stato precedente, puoi pure memorizzare una riga per k dispari, una per k pari e usare quindi solo O(1) di memoria.

Sono stanco per controllare ma penso che si potrebbe fare binary lifting e calcolare in O(\log N) la soluzione. Tuttavia onestamente penso che già l’approccio O(K) spaziale fosse sufficiente in quanto K dovrà essere basso perché il risultato, che è esponenziale rispetto a K, stia in un int (o long long), e il risultato non era in modulo.

1 Mi Piace

Sempre parlando di security, il certificato SSL di olinfo.it è scaduto alle 14:45 di oggi @veluca @wil93 o chi altri

Fixato in teoria :grin:

1 Mi Piace