Descobrir o Mundo da Cibersegurança: Uma Experiência em Competição CTF

Competición CTF

A cibersegurança é uma área da informática que evolui muito rapidamente. Os profissionais e amadores desta disciplina devem estudar, investigar e praticar constantemente para se manterem atualizados sobre as mais recentes técnicas e vulnerabilidades que se vão descobrindo num mundo cada vez mais digitalizado. Uma maneira de se manter em forma são as competições de hacking conhecidas como CTF (“Capture The Flag” ou "captura a bandeira” em tradução literal). Nestas, os participantes colocam à prova as suas habilidades por diversão, glória e, às vezes, por algum dinheiro. Neste artigo, farei um breve resumo da nossa experiência a participar no CTF patrocinado pela GMV e organizado pela organização Sugus, criada e presidida por estudantes e graduados da escola de informática da Universidade de Valladolid.

A nossa participação materializou-se em grande medida graças ao nosso colega Juan Álvarez-Ossorio, que desempenha funções como profissional em cibersegurança na GMV e que tem uma vasta experiência neste tipo de competições. Não é segredo para ninguém que um grande número de programadores de software ou engenheiros da área de informática se sentem seduzidos pela ideia de se aventurar neste mundo da cibersegurança, mas que ficam intimidados ao tomar consciência da quantidade e complexidade da informação. O Juan já tinha participado na primeira edição no ano passado, juntamente com outros colegas da GMV e, desta vez, fomos encorajados por Alberto Gentil e por mim próprio, Boris Treccani, a fazer parte da equipa que neste ano representaria a GMV. Devido à sua experiência neste tipo de atividades, Juan converteu-se no nosso coach e capitão, compilando uma série de recursos e exercícios que serviriam para nos prepararmos para a competição.

Estes abrangem diferentes áreas, tais como a criptografia, a análise forense, a esteganografia, a exploração de vulnerabilidades de sistemas, a manipulação de memória, a exploração de vulnerabilidades no contexto web, tanto do lado do cliente como do lado do servidor, entre outros.

Este regime de treino começou vários meses antes da competição e chegámos até a participar em alguns CTF online para nos familiarizarmos com o formato da competição e nos habituarmos a saber gerir o tempo, uma vez que deveríamos conseguir fazer o máximo possível no tempo limitado da competição e familiarizar-nos com a sensação de trabalhar sob pressão.

Participar nestes CTF online também nos deu uma ideia de quanto tínhamos avançado com o nosso treino, apesar de, francamente, serem eventos de entrada livre nos quais participavam milhares de equipas e, no geral, eram de um nível muito mais avançado do que aquele para o qual estávamos preparados naquele momento.

Também começámos a preparar uma página com recursos e scripts que tínhamos usado para resolver os exercícios de treino, com fragmentos de códigos ou notas que considerávamos que seriam úteis no momento da competição e que nos poderiam poupar alguns minutos valiosos, em vez de estarmos a recordar como se realizavam os processos em simultâneo. O que tentámos foi gerar uma caixa de ferramentas que, potencialmente, nos seria útil durante a competição.

Além disso, tivemos de preparar as máquinas com as quais competiríamos, instalando software que nos poderia ser útil em desafios das diferentes categorias. Precisávamos de programas para realizar análises estenográficas de áudio, imagens e vídeos, editores de texto para scripting, instalar livrarias úteis para manipulação e análise de arquivos, software de análise forense e outras ferramentas diversas de que poderíamos precisar para não perdermos tempo a descarregar durante a competição.

Competición CTF

Uma vez atribuídos à nossa mesa, começámos a instalar os nossos equipamentos e a prestar atenção às indicações e anúncios dos organizadores. Ao iniciar o evento, foram proporcionadas as credenciais necessárias para aceder à página com os enunciados dos desafios que deveríamos resolver.

Cada desafio pode pertencer a uma área específica da cibersegurança ou ser uma combinação de várias disciplinas. Havia um enunciado que conta uma pequena história com pistas ou indicações que servem para solucionar o problema e, de acordo com a dificuldade do desafio, era-lhe atribuída uma pontuação proporcional à dificuldade.

No caso particular deste CTF, o sistema de pontuação era dinâmico, pelo que o valor de um desafio era determinado pelo número de equipas que o conseguissem resolver. Assim, quantas mais equipas o solucionavam, menos pontuação concedia o desafio. Ao mesmo tempo, no enunciado podiam trocar-se pontos por pistas adicionais no caso de a equipa se encontrar bloqueada com um certo desafio, mas isso não costuma ser boa ideia, uma vez que nos coloca em desvantagem relativamente às equipas que resolvem o mesmo desafio sem recorrer a esta troca pelas pistas adicionais.

Começámos por ler rapidamente o enunciado de cada desafio para termos uma noção geral daquilo que enfrentávamos e estabelecer uma ordem de prioridades para acumular o maior número de pontos o mais rapidamente possível.

Havia desafios de criptografia que eram bastante semelhantes aos que tínhamos praticado e que soubemos resolver de forma praticamente instantânea. Por seu lado, o Alberto dispôs-se a abordar alguns desafios associados à IoT (Internet of Things), que costumam ter a ver com dispositivos com conexão à internet. Estes baseiam-se em encontrar a vulnerabilidade que lhe permite estabelecer uma conexão com o dispositivo e controlá-lo. Neste caso, eram câmaras de vigilância preparadas pela equipa do evento e que se encontravam escondidas dentro do campus, as quais apontavam para uma ardósia com a frase de resposta ou uma bandeira que deveríamos resgatar no campo de resposta do desafio para receber o ponto.

Por seu lado, o Juan dispôs-se a realizar os desafios de esteganografia, análise forense, engenharia inversa e pwn ou exploração de binários, que são os arquivos executáveis que todos conhecemos e usamos (.exe e similares). A exploração de binários é um tema extenso e variado no mundo da cibersegurança, mas que se pode resumir no ato de conseguir e explorar uma vulnerabilidade num programa para assim obter dados e privilégios na máquina ou modificar o comportamento do programa para que faça o que o atacante designe.

Devemos mencionar que estas disciplinas não são inerentemente maliciosas, uma vez que, mediante o estudo e a experimentação de como vulnerar sistemas existentes, se podem entender e desenhar contramedidas para prevenir ou fortalecer a segurança no caso de ataques por parte de atores maliciosos.

Ao entrar na segunda hora da competição, estávamos a resolver desafios a bom ritmo: O Alberto lidava com os de IoT, o Juan com a exploração de binários e, eu, com os desafios relacionados com criptografia. Mesmo assim, durante boa parte da competição, tivemos uma equipa que estava constantemente no nosso encalce e que não nos permitiu o luxo de relaxar.

Até o Juan, que é um veterano experimentado neste mundo, ficou impressionado com esta equipa, uma vez que sempre que conseguíamos a resposta a um desafio e ganhávamos distância, esta equipa voltava rapidamente a aproximar-se de nós. Basicamente, qualquer má decisão quanto à gestão de tempo ou sobre que desafio se decidia abordar daqueles que restavam disponíveis poderia converter-se na razão de chegar em segundo lugar.

Perto da marca da terceira hora, conseguimos garantir vários desafios que mais ninguém tinha conseguido resolver, pelo que recebemos a máxima pontuação por eles e isso proporcionou-nos uma distância confortável relativamente ao segundo lugar. Com isso, sentimo-nos com margem suficiente para tentar outros que intuíamos serem potenciais labirintos sem fim.

Marcador

Aproximando-nos da marca da quarta hora e do final da competição, tínhamos conseguido duplicar a pontuação relativamente ao segundo lugar com 1500 pontos, assegurando o primeiro lugar.

Pessoalmente, a sensação de ganhar a competição foi como a de começar uma longa viagem com o pé direito. Além disso, os meus colegas ficaram bastante felizes e orgulhosos com o resultado de tanto esforço e horas dedicadas. Neste caso, o prémio para os primeiros lugares era uma série de materiais POP (canetas, mochila, tote bag, autocolantes, hoodies da UVA, etc.) e um certificado. A equipa que nos perseguiu ao longo de boa parte da competição acabou por ficar em 4.º lugar. Ao falar com eles para saber o que lhes tinha ocorrido, explicaram-nos que, perto da marca da terceira hora, um dos integrantes ficou bloqueado ao tentar solucionar um desafio e, em vez de dividirem esforços para tentar resolver outros problemas em paralelo, toda a equipa se debruçou sobre o desafio que estava a dar problemas e essa decisão custou-lhes o pódio.

Foi uma experiência gratificante que me ensinou que a cibersegurança é um mundo complexo e extenso.Ainda assim, com alguma boa planificação, dedicação, constância e um pouco de direção, pode facilmente converter-se numa corrida viável, enriquecedora, glamorosa e emocionante.

Para concluir, quero expressar a minha gratidão à organização Sugus e à GMV por tornarem este evento possível, e quero destacar a importância de  empresas como a GMV apoiarem este tipo de competições relacionadas com as tecnologias da informação, que contribuem para a formação e que incentivam a excelência dos futuros profissionais destas áreas.

Patrocinio GMV Sugus

Autor: Boris Pietro Treccani Gómez

Adicionar novo comentário

Not show on Home
Inactiu

Source URL: https://gmv.com/media/blog/corporativo/descobrir-mundo-da-ciberseguranca-uma-experiencia-em-competicao-ctf