Summ3r of h4ck 2020. Résultats du programme

L'été est terminé et notre programme Summ3r of h4ck 2020 s'est terminé avec lui . Il est temps de faire le point et de voir ce que nos joueurs ont accompli ce mois-ci. Leurs recherches et leurs impressions sur la sécurité numérique seront discutées dans cet article.







Vous pouvez voir ce que nos stagiaires ont fait ces dernières années ici:





Nous avons suivi une pratique bien établie: les participants ont choisi un sujet d'intérêt dans la liste fournie et ont mené leur propre recherche sous la supervision d'un conservateur pendant un mois.



Deux départements de notre société participent au programme: le département d'analyse de sécurité et le département de recherche. Le premier concerne les tests de pénétration, l'audit des applications Web et des logiciels d'entreprise , et les spécialistes du second - les tâches de rétro-ingénierie, la recherche de vulnérabilités dans les applications et les appareils binaires et l'écriture d'exploits.



La procédure de sélection pour Summ3r de h4ck est également restée inchangée: tout d'abord, les participants ont répondu au questionnaire sur notre site Webet a résolu de petites tâches de test, puis a reçu une invitation pour une entrevue à distance. Bien que le programme Summ3r of h4ck n'ait lieu qu'à Saint-Pétersbourg, nous avons été heureux de voir des participants d'autres villes.



introduction



Tout d'abord, notre programme vise à aider les jeunes professionnels et étudiants, mais chacun peut envoyer ses questionnaires. De plus, nous sommes toujours très heureux quand ils reviennent chez nous: c'est agréable de voir la croissance d'un nouveau spécialiste et de voir comment il développe et étudie la sécurité de l'information. Mais cela ne signifie pas qu'il y a des concessions dans la sélection;)



Le programme Summ3r de h4ck commence par des conférences. Ils sont lus par des experts de deux départements, et voici quelques-uns des sujets qu'ils abordent:



  • Développement pour Ghidra
  • Côté serveur avancé
  • À propos de Libfuzzer
  • Où récolter après RCE?
  • Pentest Android
  • taint
  • Kubernetes: From zero to hero ..


En plus des conférences, il y avait des tâches pratiques, et même une sorte de mini-CTF pour tout le monde. Les résultats de ces missions sont pris en compte ultérieurement lors de la sélection des candidats pour les collaborateurs de la Sécurité numérique.



A l'issue du programme Summ3r of h4ck , des projets ont été défendus. Les participants ont parlé à tout le monde et ont raconté quelles tâches ils ont dû affronter et ce qu'ils ont réussi à accomplir, quelles difficultés ils ont rencontrées et quels problèmes ils ont résolus. Certains se sont réunis en groupes pour travailler sur un thème commun - nous nous en félicitons toujours.





Notre merveilleux merch



Tous ceux qui ont terminé avec succès le stage ont reçu le certificat Summ3r of h4ck 2020 .



Traditionnellement, nous demandions à nos stagiaires de répondre aux questions des mini-entretiens et de partager leurs impressions.



  1. Digital Security? ?
  2. ? ? ?
  3. /.
  4. , ? -, , ?
  5. ?


,



, “ Ghidra”



1. Je pense que ce n'est un secret pour personne que vous êtes populaire dans les cercles de spbctf, et pour chaque été de hack, il y a un message publicitaire à votre sujet. C'est cool que vous soyez respecté dans ces communautés, et ils écrivent bien sur vous dans les critiques sur les stages précédents. Cela donne l'impression d'une entreprise ouverte, amicale et moderne, et maintenant je peux dire avec confiance)



2. Comme les organisateurs eux-mêmes l'ont remarqué, il s'agit plus de pratique ou de formation, et à cet égard je suis très satisfait. Il existe de nombreuses conférences intéressantes où vous pouvez poser calmement une question, demander à la répéter, expliquer un point, car l'atmosphère est chaleureuse et informelle. Après la présentation, vous pouvez préparer un café et discuter avec les stagiaires de problèmes douloureux ou aller discuter de votre projet avec un mentor. Une connexion aussi simple entre tout le monde est un gros plus.



3. J'ai d'abord étudié comment inverser le firmware UEFI, le fonctionnement de ses protocoles, puis, quand une certaine compréhension est venue, j'ai commencé à écrire un plug-in pour Ghidra qui dessinerait des graphiques de connexions entre ces protocoles. Inestimable expérience d'étude de l'API Ghidra)



Lien vers le référentiel Github du plugin pour Ghidra





Graph des connexions de plugin



4. Ma tâche était assez abstraite et ne m'est donc pas venue tout de suite à l'esprit, mais elle restait intéressante. Chaque discussion avec un mentor a fait avancer le projet, et ce n'est qu'à la fin du stage que nous sommes arrivés à quelque chose de concret. Il reste beaucoup de fuzzing intéressants, vous avez eu une conférence sympa sur ce sujet et vous vouliez avoir le temps de faire quelque chose avec vous, mais c'est dommage que je n'ai pas eu le temps.



5. Je pense que oui, j'ai aimé l'ambiance que tu as, tout au long du stage j'ai voulu venir ici



Nikita Chelnokov, sujet "Automatisation de la recherche de gadgets de réutilisation de code pour le contournement CFI"



1. Avant le stage, j'ai joué activement au CTF. À un moment donné, j'ai réalisé que je voulais m'essayer à de vrais problèmes. J'ai vu que Digital Security a un programme de stages d'été. A propos des stages passés, j'ai lu plusieurs articles sur Habré et j'ai décidé que ce serait intéressant et, surtout, utile, ce sur quoi je ne me suis pas trompé.

2. En bref - beaucoup. Les conférences m'ont permis de mieux connaître des sujets dont je n'avais entendu que parler, ainsi que de définir un certain vecteur de développement de compétences. J'ai beaucoup aimé les master classes de certaines des conférences et, bien sûr, le travail sur le projet lui-même.

3. Ma tâche est d'automatiser la recherche de code de réutilisation des gadgets pour contourner CFI. Dans le projet, j'ai utilisé IDAPython, à la suite de quoi la tâche a été résolue au minimum. Je vais continuer à travailler sur ce projet, et le prochain objectif sera de créer une interface graphique pour ce script dans IDA. Il est nécessaire de le rendre aussi informatif et interactif que possible afin de simplifier la tâche de recherche de primitives.



Un exemple du script



4. La tâche était vraiment intéressante, je n'avais jamais rencontré ce sujet auparavant. Si la solution à ce problème se fait de la manière la plus efficace, il sera possible de créer de nouvelles manières de contourner la protection visant à compliquer l'exploitation des vulnérabilités binaires. L'utilitaire créé peut être modifié de toutes les manières possibles et utilisé pour un large éventail de tâches. Dans le processus, j'ai amélioré mes compétences d'automatisation dans l'IDA. Un merci spécial à mon mentor qui a aidé avec le projet et m'a dit beaucoup de choses intéressantes et utiles.

5. Certainement - oui, les deux.



Novoseltseva Alena, thème "Performance symbolique à Ghidra"



1. Je fais un stage chez Digital Security pour la deuxième année consécutive. Les tâches du Centre de recherche sont extrêmement intéressantes pour moi, donc c'était formidable de prendre en charge le projet cette année également. Chaque jour, les employés de l'entreprise donnent des conférences sur des sujets pertinents, ce qui donne au stage un caractère de formation. Il était très agréable de savoir que la plupart des sujets étaient soit mis à jour soit complètement nouveaux et, compte tenu des spécificités du matériel, la répétition de ce qui était couvert semblait tout à fait approprié et même utile.

2. En raison de la situation instable, le stage a dû être effectué à distance et est devenu le seul stagiaire du département de recherche à distance. Vous pouvez travailler de cette manière avec succès, mais vous perdez la possibilité de communiquer en direct avec les mentors et autres stagiaires. Le côté extrêmement négatif est le fait qu'il n'y a aucune possibilité d'écouter les conférences en direct des employés, de poser des questions et de discuter des subtilités techniques. Je recommande donc de faire le stage en personne, sinon beaucoup de choses sont perdues.

3. La tâche de la recherche est de mettre en œuvre l'exécution symbolique dans Ghidra. Il a fallu choisir l'un des moteurs d'exécution symbolique actuellement existants et le visser dans l'interface Ghidr. Les candidats incluent KLEE, Triton, S2E et Angr. En conséquence, nous avons décidé de choisir Angr car il est populaire et dispose d'une API accessible et bien documentée. A partir de ce moment, la phase de développement a commencé, j'ai commencé à écrire une logique et une interface graphique. Il est à noter que la part du lion du temps a dû être consacrée à l'interface graphique.

En principe, la tâche a été exécutée avec succès. Désormais, l'exécution symbolique est disponible en deux clics directement depuis Ghidr.



Lien vers le dépôt Github du plugin AngryGhidra





GUI et un exemple du fonctionnement du plugin



4. Comme indiqué l'année dernière, j'ai toujours voulu approfondir le sujet de la performance symbolique, c'était donc une excellente occasion d'apprendre à la fois la théorie et la pratique. À l'avenir, je prévois d'étudier le fuzzing plus en détail et de commencer à rechercher des vulnérabilités.

5. Avec beaucoup de désir et de plaisir! L'université est toujours en cours, donc, très probablement, je participerai la prochaine fois.



Oleg Moshkov, sujet «Binary Lifting Fuzzing»



1. Il y avait une volonté de mettre les points sur les i: où aller plus loin dans le domaine de la sécurité de l'information et que faire. D'où le choix d'un stage dans l'entreprise leader dans le domaine de la sécurité de l'information en Russie - Sécurité numérique, donc ici je serai guidé dans la bonne direction.

2. Le stage a dépassé mes attentes. J'avais le mentor le plus haut de gamme: c'était un vrai professeur pour moi, qui m'aidait non seulement dans la recherche, mais aussi dans la partie générale liée au domaine de la sécurité de l'information.

3. Il était nécessaire de tester la boîte à outils pour les binaires de levage binaire, d'essayer de les mettre en phase et de trouver des vulnérabilités. Le problème était que la plupart des utilitaires étaient soit abandonnés, soit supprimés uniquement des binaires très simples. J'ai dû en corriger certains, les finir et les reconstruire, ce qui a pris la plupart du temps. En attendant, ils ont été reconstruits plusieurs fois, nous avons réussi à mettre en phase un des projets open-source et à trouver quelques trous dedans :)





Tableau de comparaison des outils de levage



4. J'aimerais aussi étudier un tas d'outils dont on nous a parlé dans les conférences, mais qui ne l'ont pas été il restait du temps, ce que je ferai dans un proche avenir.

5. Avec plaisir!



Georgy Gennadiev, sujet «Protocoles Apple BLE»



1. J'ai décidé de faire un stage chez Digital Security, car vous êtes l'un des favoris dans le domaine de la sécurité de l'information en Russie et à l'étranger. De plus, les recherches menées par l'entreprise ont été très attirées.



2. J'attendais beaucoup du stage, et mes attentes ont non seulement été satisfaites, mais dépassées. Il existe de nombreux sujets de recherche intéressants, des mentors prêts à aider et à répondre à toutes les questions, des conférences couvrant de nombreux domaines (cela acquiert une expérience pratique vraiment inestimable, en comparaison avec des articles universitaires) et un laboratoire virtuel pour la pratique de nouvelles connaissances.



3. Pour la recherche, j'ai choisi un nouveau sujet pour moi-même - les appareils mobiles et Bluetooth Low Energy, et en particulier deux choses - Apple find my et Exposure Notifications (API pour détecter les contacts infectés par COVID-19) d'Apple et de Google. Dans le processus, j'ai réussi à approfondir mes connaissances, à apprendre beaucoup, à écrire quelques PoC, mais comme les sujets sont difficiles, je n'ai pas pu les terminer pendant le stage, donc je les recherche encore à ce jour.





Notification d'exposition



4-5. Toutes les tâches pendant le stage étaient très intéressantes, mais malheureusement il est impossible de tout essayer, je peux donc dire en toute confiance que je suis prêt à retourner chez DSec pour continuer mes activités de recherche et améliorer mes propres compétences.



Conclusion



Nous sommes heureux de voir que Summ3r de h4ck est bénéfique et nous travaillons dur pour l'améliorer en fonction des commentaires de nos membres.



Merci beaucoup!" ceux qui sont venus nous voir, ont participé à des recherches et ont été intrigués par nos missions. Nous sommes fiers de vous!



À l'année prochaine;)



All Articles