Lo sviluppo di “Hack The Box” presentato ai Voxed Days Ticino 2016

Cos’è Hack The Box?

Hack The Box è un gioco per coder! Entrando in un’applicazione che presenta delle falle di sicurezza, si guadagna una bandiera per ogni livello di sicurezza che si supera. Il tuo punteggio aumenta man mano che guadagni le bandiere il più velocemente possibile. Più bandiere si raccolgono, più difficile diventa.
Per giocare ad Hack The Box basta essere connessi a internet ed essere in grado di eseguire codice Java.

Ex Machina ha presentato per la prima volta Hack The Box al Voxxed Days Ticino 2016 sponsorizzato da noi. Voxxed Days è una serie di eventi locali focalizzati sui linguaggi Java, web, mobile e JVM. Gestiti da gruppi di sviluppatori senior e leader di gruppi di utenti, i Voxxed Days riuniscono relatori di fama internazionale e locali.

La sfida dello sviluppo

La parte più difficile dello sviluppo di un gioco di hacking è la definizione di un insieme di funzionalità che possono portare uno o più difetti, in gradi crescenti di difficoltà. L’applicazione Hack The Box deve essere semplice e robusta e deve funzionare con tutte le funzionalità difettose.
I diversi gradi di difficoltà devono essere appropriati per un evento della durata di 1-2 giorni: fattibili, non eccessivamente distraenti e nemmeno troppo facili. I primi livelli devono incoraggiare i n00bs a partecipare e ad imparare, mentre l’ultimo livello deve essere vicino al Mordor digitale. Ogni difetto deve essere nascosto, ma non troppo: Qualcosa che possa ragionevolmente scivolare dentro, e che abbia un impatto limitato. A seconda del tipo di evento, si lasciano sul posto diversi tipi di suggerimenti o frammenti per adattare la difficoltà al pubblico e al tipo di evento. Dopo che ogni funzionalità è stata scritta e testata, la descrizione fornisce un ulteriore punto morbido per adattare la difficoltà del livello.

Divertimento e giochi

Sviluppare un gioco di hacking è divertente perché permette di guardare le ultime versioni di vari strumenti e tecnologie. Hack The Box fa uso di java8, springboot, bootstrap, thymeleaf e aws. Per molti ingegneri, sviluppatori, codificatori, artigiani è un’ottima scusa per tornare indietro e rivisitare le basi con un ampio respiro, con il senno di poi, …e ricordare le sfide dell’hacking durante l’università!

Lezioni apprese

  • Non tutti vengono ad un evento con un computer portatile. Una versione mobile è comunque un cattivo compromesso perché non consentirebbe un caso d’uso realistico.
  • Un gioco di hacking porta a una maggiore qualità del networking e delle discussioni durante gli eventi.
  • Le discussioni tecniche sull’applicazione possono portare a nuovi progetti perché una prova di concetto può essere derivata in un tempo molto breve.
  • Monkey Island è ancora uno dei migliori giochi di tutti i tempi.

Di Marco Celeri e Matteo Piazza