Pour PHDays 9, le hackathon pour les développeurs a eu lieu pour la première fois dans le cadre de la cyber-bataille The Standoff . Alors que les défenseurs et les attaquants ont lutté pendant deux jours pour le contrôle de la ville, les développeurs ont dû mettre à jour les applications pré-écrites et déployées, ainsi que garantir leur bon fonctionnement sous une vague d'attaques. Nous racontons ce qui en est sorti.Seuls les projets à but non lucratif soumis par leurs auteurs ont été acceptés pour participer au hackathon. Nous avons reçu des candidatures de quatre projets, mais il n'y avait qu'une seule sélection - bitaps (
bitaps.com ). L'équipe est engagée dans l'analyse de la blockchain Bitcoin, d'Ethereum et d'autres crypto-monnaies alternatives, effectue le traitement des paiements et développe un portefeuille de crypto-monnaie.
Quelques jours avant le début du concours, les participants ont eu accès à distance à l'infrastructure de jeu pour installer leur application (elle a été placée dans un segment non protégé). Les attaquants Standoff, en plus des objets d'infrastructure de la ville virtuelle, étaient censés attaquer l'application et rédiger des rapports de primes de bogues sur les vulnérabilités trouvées. Après que les organisateurs aient confirmé la présence d'erreurs, les développeurs ont pu les corriger à volonté. Pour toutes les vulnérabilités confirmées, l'équipe attaquante a reçu une récompense dans le public (la monnaie du jeu Standoff), et l'équipe de développement a été condamnée à une amende.
De plus, selon les conditions du concours, les organisateurs pouvaient confier aux participants la tâche de finaliser la candidature: il était important de mettre en œuvre de nouvelles fonctionnalités sans commettre d'erreurs affectant la sécurité du service. Pour chaque minute de bon fonctionnement de l'application et pour la mise en œuvre des améliorations, les développeurs se sont vu attribuer un public précieux. Si une vulnérabilité a été trouvée dans le projet, ainsi que pour chaque minute d'arrêt de l'application ou de fonctionnement incorrect, elle a été annulée. Nos robots l'ont observé de près: s'ils ont détecté un problème, nous l'avons signalé à l'équipe des bitaps, ce qui leur a permis de résoudre le problème. S'il n'est pas éliminé, cela entraîne des pertes. Tout est comme dans la vie!
Le premier jour de la compétition, les attaquants ont sondé le service. À la fin de la journée, nous n'avons reçu que quelques rapports de vulnérabilités mineures dans l'application, que les gars des bitaps ont rapidement corrigés. Quelque part à 23 heures, alors que les participants étaient sur le point de s'ennuyer, ils ont reçu une offre de notre part pour finaliser le logiciel. La tâche n'a pas été facile. Il était nécessaire, sur la base de l'application de traitement des paiements disponible dans l'application, de mettre en œuvre un service qui permettrait de transférer des jetons entre deux portefeuilles par référence. L'expéditeur du paiement - l'utilisateur du service - doit saisir le montant sur une page spéciale et indiquer le mot de passe de ce virement. Le système doit générer un lien unique qui est envoyé au bénéficiaire. Le destinataire ouvre le lien, saisit le mot de passe du virement et indique son portefeuille pour recevoir le montant.
Après avoir reçu la mission, les gars ont repris vie et à 4 heures du matin, le service de traduction des jetons par référence était prêt. Les attaquants ne se sont pas fait attendre et après quelques heures ont découvert une vulnérabilité XSS mineure dans le service créé et nous en ont informés. Nous avons vérifié et confirmé sa disponibilité. L'équipe de développement a réussi à l'éliminer.
Le deuxième jour, les pirates se sont concentrés sur le segment des bureaux de la ville virtuelle, il n'y a donc plus eu d'attaques contre l'application, et les développeurs ont enfin pu se reposer d'une nuit blanche.

Suite aux résultats du concours de deux jours, nous avons remis des prix commémoratifs au projet bitaps.
Comme les participants l'ont admis après le match, le hackathon a permis de tester la force de l'application et de confirmer son haut niveau de sécurité.
«La participation à un hackathon est une excellente occasion de tester la sécurité de votre projet et d'obtenir un examen expert de la qualité du code. Nous sommes heureux: nous avons réussi à résister à l'assaut des attaquants, -
Alexey Karpov, membre de l'équipe de développement des bitaps , a partagé ses impressions
. -
Ce fut une expérience inhabituelle, car nous avons dû modifier l'application dans une situation stressante, à grande vitesse. Vous devez écrire du code de haute qualité et, en même temps, le risque d'erreurs est élevé. Dans de telles circonstances, vous commencez à utiliser toutes vos compétences .
»L'année prochaine, nous prévoyons d'organiser à nouveau un hackathon. Suivez l'actualité!