
Pour la troisième année consécutive, nous avons poursuivi avec succès la tradition des stages d'été. Comme les années précédentes, nous avons accueilli des stagiaires dans deux domaines techniques: le service recherche et le service analyse sécurité. Les résultats des stages précédents peuvent être trouvés ici:
Et aujourd'hui, nous allons vous raconter comment s'est
déroulé notre
été de h4ck 2018 .
Comme le montre la pratique, le principal flux de curriculum vitae des stagiaires vient au département d'analyse de la sécurité; Beaucoup plus de personnes souhaitaient passer l'été à la sécurité numérique, et nous avons donc créé un questionnaire spécial pour les candidats, qui était disponible sur notre site Web. Les candidats devaient faire des efforts et démontrer non seulement leurs connaissances et leurs compétences, mais aussi leur désir de se développer professionnellement. Grâce à cela, nous avons pu évaluer le niveau de formation des futurs stagiaires et choisir les plus dignes d'entre eux. En outre, cette fois, la sécurité numérique s'est concentrée exclusivement sur le stage de bureau - nous n'avons pas envisagé l'option de stage à distance.
Informations brèvesLes employés du département d'analyse de la sécurité
décomposent le Wi-Fi voisin, effectuent des tests de pénétration dans les réseaux d'entreprise, analysent la sécurité des applications Web et des logiciels d'entreprise, et examinent également attentivement le code source, y compris les applications mobiles et bancaires.
Les employés du département de recherche résolvent les problèmes liés à l'ingénierie inverse, à la recherche et à l'exploitation des vulnérabilités, au développement du système et à l'audit du code C / C ++; mener des recherches sur l'apprentissage automatique, la blockchain et d'autres domaines intéressants. L'équipe développe activement des plugins, des scripts, des outils pour automatiser la recherche de vulnérabilités à la fois statiques et dynamiques (fuzzing).
Qui attendions-nous? Amateurs de tâches intéressantes qui ne cèdent pas aux difficultés et qui aiment ce qu'ils font!
PrésentationNous étions heureux de voir à nouveau les noms et prénoms familiers dans les listes de candidats au stage - certains d'entre nous nous avaient déjà rendu visite l'année dernière, et ils ont vraiment tout aimé :) La société ne soutient que cette initiative. De plus, si vous revenez, vous obtenez plus de DSec-merch de marque!
Ce sont les cadeaux que nous avons préparés cette annéeUn peu plus sur le processus de sélection. Des questionnaires électroniques ont été postés sur notre site internet: le questionnaire du bureau d'études a permis de se faire une première idée des compétences du stagiaire potentiel à l'envers, et dans le questionnaire du bureau d'analyse de la sécurité il y avait dix petites tâches qui pourraient / devraient être résolues. Nous n'avons pas exigé la solution de toutes les tâches, mais plus le candidat a répondu correctement et mieux il a expliqué le déroulement de son raisonnement, plus il a retenu l'attention lors de l'évaluation. Cependant, cela ne signifie pas qu'il a été plus facile d'entrer dans le département de recherche :) Au lieu d'un questionnaire détaillé, les employés ont préféré mener une phase d'entrevue en personne, où ils ont découvert des détails sur le niveau de formation dans une conversation personnelle.
Comme précédemment, les stagiaires se sont vu proposer une liste de sujets qu'ils pouvaient aborder pendant le stage. De plus, les gars pouvaient proposer leur propre sujet, nous étions toujours prêts à les écouter.
Nous avons donné des cours aux stagiaires sur divers sujets; Bien sûr, je voulais que ces conférences soient intéressantes et utiles à tous, quel que soit le niveau de formation du stagiaire.
Les conférences comprenaient:
- Audit de sécurité Active Directory
- Réseaux de périphériques et protocoles réseau
- Vulnérabilités Web
- Escalade de privilèges sous Linux et Windows
- L'exposition de l'architecture Intel 64
- L'étude de grands projets C ++ sur l'exemple du Chrome
- Récupération des noms de fonction en l'absence d'informations symboliques
- Instrumentation de code
- SMT, Z3, SSE, DSE, ...
- Et d'autres ...
À la fin de
Summ3r 0f h4ck, les participants ont donné des conférences pour nous - ils nous ont dit s'ils avaient atteint leurs objectifs, quelles difficultés ils ont rencontrées pendant la recherche et quels ont été les résultats du stage. Tous ceux qui ont atteint la finale avec succès ont reçu un certificat de participation
Summ3r 0f h4ck 2018 . Certains stagiaires ont préféré faire équipe et travailler ensemble, et nous n'avons bien sûr accueilli que ce souhait.
Par une bonne tradition, nous avons mené une petite enquête auprès des participants qui ont atteint la fin avec succès et partageons maintenant avec vous leurs commentaires sur l'été en sécurité numérique.
Les questions pour la mini interview étaient les suivantes:- Pourquoi avez-vous décidé de faire un stage chez Digital Security? Qu'est-ce qui vous a attiré dans l'entreprise?
- Vous avez aimé le stage? Qu'est-ce qui a été particulièrement mémorable? Comment la réalité a-t-elle coïncidé avec vos attentes?
- Parlez-nous de votre tâche / tâches.
- Les tâches sur lesquelles vous avez travaillé pendant le stage vous ont-elles semblé intéressantes? Y avait-il quelque chose que vous vouliez faire mais qui a échoué?
- Êtes-vous prêt à retourner dans l'entreprise pour un stage ou pour travailler?
Et voici quelques réponses données par certains stagiaires:
Pavel Knyazev, thème «Analyse des souillures de l'architecture ARM»:- Après avoir terminé la deuxième année, j'ai réalisé que je manquais de compétences en sécurité de l'information. Je voulais non seulement écouter les cours, mais travailler avec mes mains. La première chose qui m'est venue à l'esprit était un article sur Summer of H3ck de la sécurité numérique sur Habré. N'ayant pratiquement aucune expérience, j'ai décidé d'y aller.
- J'ai aimé le stage. Une chambre spacieuse, une grande table et le silence - on m'a donné un lieu de travail dans la chambre des stagiaires. Deux stagiaires, un bourreau de travail, sont assis à proximité. De temps en temps, des mentors viennent nous voir pour discuter de plans, d'autres actions. Ils sont toujours prêts à expliquer quelque chose, à mettre le lien nécessaire. Je me souviens surtout de la facilité de communiquer avec eux - juste Anton, Sasha, Dima. Vous pouvez oublier pendant un moment qu'un grand patron est assis devant vous, et juste parler.
- J'avais, me semble-t-il, un sujet très exotique: "Analyse des souillures de l'architecture ARM". Étant donné que ni l'analyse des souillures ni l'architecture ARM ne savaient vraiment quoi que ce soit, j'étais "incroyablement heureux" d'avoir un tel sujet. Pour commencer, il fallait comprendre les différences entre ARM et x86 (je ne le connaissais que), étudier l'assembleur de cette architecture et les modes d'adressage. Ensuite, il a fallu gérer les moyens existants, qui ... ne l'étaient pas. Au contraire, ils étaient, cependant, un outil ne convenait pas aux tâches de sécurité de l'information, le second n'avait pas suffisamment de flexibilité et de fonctionnalité, et le troisième, la bibliothèque DrTaint , n'avait commencé que récemment à exister. Ma tâche était de finaliser cette bibliothèque. Une agréable surprise m'attendait ici: la bibliothèque DrTaint est basée sur DynamoRIO, et je la connaissais un peu. Malgré le fait que DrTaint était très petit, il a fallu près de deux semaines pour étudier le code source et comprendre les principes de son fonctionnement. Ce n'est qu'après ces deux semaines que j'ai senti que je n'allais pas au fond. Une autre semaine s'est écoulée et tout a commencé à s'améliorer. J'ai cessé d'avoir peur et j'ai commencé à changer le code source. En cas de problème, DynamoRIO me l'a immédiatement signalé lors de sa chute. À la suite du stage, j'ai réussi à trouver et à corriger plusieurs erreurs dans la bibliothèque, à ajouter de nouvelles fonctionnalités et à démontrer ses performances. Au final, j'ai été surpris de réaliser que je comprenais DBI et assembleur pour ARM.
- Après avoir découvert que l'analyse des souillures facilite le travail des inverseurs et aide même à détecter les vulnérabilités logicielles, le développement de DrTaint m'a vraiment intéressé. Ce que j'ai fait m'a suffi.
- Je collectionne des choses.
Exécution de l'un des testsEugene Lukin, Golang Social Bot thème:- Par le fait que DSek traite les étudiants normalement et leur permet de travailler avec de vrais projets de travail. De plus, j'entends parler de l'entreprise depuis longtemps et je sais que des gens sympas y travaillent.
- C'était probablement encore mieux que je ne le pensais. J'ai aimé que tout le monde du département puisse vous parler de presque n'importe quel sujet, et s'il y a un problème, alors résolvez-le. Plus de formalités attendues, pour ainsi dire
- J'avais un thème Golang Social Bot. Ce bot est utilisé lors des tests de pénétration. L'objectif principal était d'écrire des modules qui collectent les données nécessaires, par exemple les mots de passe, les fichiers de configuration et les fichiers, en principe, vous permettent d'interagir avec le système de fichiers. Il était également nécessaire de réfléchir à la fixation du système et du travail en réseau à l'intérieur du réseau d'entreprise.
- Oui, comme je l'ai dit, j'ai écrit des modules. Et bien que beaucoup de travail ait été fait, il reste encore beaucoup à faire.
- Oui, des gens sympas travaillent ici, auprès desquels vous pouvez apprendre beaucoup.
Une partie du travail peut être trouvée
ici .
Dmitry Frolov, sujet «Finalisation du nouveau moteur UEFITool»:- Après avoir lu les critiques des stagiaires des années précédentes, j'ai réalisé que des projets intéressants liés à l'inverse m'attendent ici. Et je n'ai pas perdu.
- J'ai vraiment aimé le stage et la réalité a dépassé toutes mes attentes. L'ambiance très conviviale au sein de l'équipe a créé des conditions favorables pour travailler sur le projet, et la solution des tâches qui m'ont été confiées m'a fait plaisir.
- Je m'intéresse depuis longtemps au développement inverse de diverses pièces de bas niveau, en particulier le BIOS, j'ai donc choisi la tâche appropriée. Elle consistait à finaliser le programme UEFITool NE , qui est conçu pour fonctionner avec des images BIOS UEFI. L'abonnement NE signifie New Engine: l'UEFITool d'origine a été une fois décidé de réécrire, et donc sa nouvelle branche NE est née. Mais UEFITool New Engine ne prend pas encore en charge la possibilité de modifier le firmware avec son réassemblage ultérieur, comme il l'était dans la branche d'origine, et j'ai eu la tâche de retourner cette fonction, et même d'ajouter la possibilité de modifier les sections NVRAM (qui n'étaient pas prises en charge dans l'ancien outil ) J'ai fait face à la tâche et en ai effectué quelques autres supplémentaires (par exemple, il était nécessaire d'ajouter la capacité d'analyser certaines structures complexes). Mon conservateur et moi avons contacté le développeur de l'outil, et bientôt une demande d'extraction sera envoyée.
- Les tâches sont très intéressantes. En train de les résoudre, j'ai acquis une très bonne base de connaissances dans le domaine du BIOS, et je souhaite continuer à la développer.
- J'aimerais retourner à la fois à un stage et à un emploi.
Architecture généralisée du nouveau moteur UEFITool modifiéLa progression de l'acceptation d'une demande d'extraction vers le référentiel principal UEFItool peut être vue
ici .
Thème «Cisco Config Analysis Tool»Les stagiaires suivants ont travaillé en groupe sur un sujet commun, l'outil d'analyse de configuration Cisco. Le résultat de leur travail se trouve
ici .
Natalia Khodukina :
- Je connais depuis longtemps l'entreprise comme l'une des entreprises leader dans le domaine de la sécurité de l'information en Russie.
- Je l'ai aimé et la réalité a complètement coïncidé avec les attentes. Il s'est avéré que nous travaillions tous les trois sur le sujet, donc, en plus des compétences pratiques et théoriques, j'ai appris à travailler en équipe. Au cours des discussions, de nouvelles idées et solutions sont nées, en plus, nous nous sommes aidés à trouver et à corriger les erreurs et les lacunes, à partager notre (petite) expérience et à en recevoir une nouvelle. C'était également agréable de communiquer avec les employés, ils ont tous essayé de transmettre des informations de la manière la plus compréhensible, étaient prêts à répondre à toutes les questions et à expliquer ce qui restait incompréhensible.
- Nous avons été confrontés à la tâche de développer un utilitaire pour analyser les fichiers de configuration des équipements réseau pour la présence de faiblesses et de paramètres non sécurisés. Pour ce faire, il était nécessaire de se familiariser avec l'équipement réseau, de se renseigner sur les différents paramètres, d'essayer de configurer le commutateur et de vérifier son fonctionnement et sa résistance aux attaques.
- Les tâches étaient vraiment intéressantes, car J'ai étudié les technologies réseaux avant le stage. Tout ce qui était prévu s'est avéré être fait. Cependant, dans le processus de recherche et de développement, de nombreuses idées nouvelles sont apparues, que nous espérons réaliser.
- Bien sûr que oui.
Mikhail Dryagunov:- Société de sécurité bien connue. Entre autres, il se démarque par diverses études et publications.
- Oui, tout est super! Rapports et sujets de projets intéressants. Parmi les plus connus, le développement d'équipe et tout ce qui s'y rattache.
- J'avais un projet de groupe. Tout d'abord, nous avons décidé des fonctionnalités de base, puis divisé les sujets (il fallait comprendre quoi et comment cela fonctionne avant d'écrire des chèques pour tout cela), créé une sorte de wiki pour les éventuels points faibles et les fonctionnalités de sécurité des commutateurs. Quand tout était prêt, nous avons commencé à écrire le programme lui-même. Vers la fin du stage, nous avons écrit la fonctionnalité qui était initialement prévue, mais encore plus d'idées et de fonctionnalités souhaitées sont apparues. Nous prévoyons de les compléter et de faire une présentation sur ZN.
- Au début, je voulais aborder le sujet de travailler avec PayPass / PayWave, mais c'était déjà pris. Le sujet de la recherche sur les protocoles de routage dynamique était également intéressant, mais il me semblait trop ouvert.
- Bien sûr!
Ekaterina Fedoshchenko, sujet «Restauration de structures de données le long de chemins dynamiques»:- La réputation de DSec est presque légendaire. Entendu parler des activités de recherche de l'entreprise, il était incroyablement intéressant de toucher à tout cela. Il m'a semblé que c'était une excellente occasion de découvrir comment se faisait le travail en matière de sécurité de l'information pratique, quelles compétences étaient nécessaires.
- Dire que vous avez aimé, c'est ne rien dire. Je me suis souvenu de beaucoup de choses: et de merveilleuses conférences, merci beaucoup aux gars qui ont préparé les discours; et communiquer avec les mentors et les boursiers sur les stages - quel genre de personnes enthousiastes et déterminées il y a, combien vous pouvez apprendre d'eux. La réalité et les attentes - ni idéalistes ni pessimistes - coïncidaient parfaitement, et c'était juste l'expérience la plus cool. Et j'ai également réussi à ressentir un sentiment incroyable lorsque les connaissances acquises étaient utiles non seulement dans le cadre du stage.
- Le sujet de mon stage était la restauration de structures de données le long de traces dynamiques. Il existe une quantité considérable de travaux universitaires dans le domaine public, mais les outils qui résolvent ce problème peuvent être comptés sur les doigts. Au cours des travaux, il s'est avéré envisager deux de ces outils - Recoveryer et dynStruct ; il s'est avéré qu'un seul gère (dynStruct), mais il nécessite un raffinement. Il était également nécessaire de combiner les résultats avec la statique de HexRaysPyTools - un plugin sympa pour IDA Pro , écrit par mon mentor. Malgré le fait que certains succès aient été obtenus, il reste de nombreux problèmes non résolus. De plus, sur les conseils de Dmitry, le travail a commencé sur une application de test qui devrait couvrir autant de façons que possible de travailler avec des structures et des classes afin de vérifier l'efficacité des outils existants, car il s'agit également d'une tâche assez urgente.
- Tout était très intéressant. Je voulais, mais je ne pouvais pas consacrer plus de temps aux tâches du stage: il est tout à fait possible de combiner avec le travail, même si parfois il n'y avait pas assez de force et de discipline psychologique. Une excellente raison cependant de se connaître et de comprendre sur quoi travailler.
- Avec grand plaisir. Merci beaucoup aux organisateurs et stagiaires!
Nouveaux modules pour dynStructVitaliy S., rubrique «Recherche de bugs dans les interfaces web des hyperviseurs (proxmox / kimchi / oVirt)»:- C'est la seule entreprise de la ville qui organise de tels événements. Il y a peut-être d'autres entreprises, mais elles ne me sont pas connues. Je pense que certaines universités peuvent en quelque sorte interagir directement avec les entreprises de sécurité de l'information, sans offrir de stages, comme l'a fait la sécurité numérique. Je connais de telles pratiques. Je pense que d'autres entreprises devraient apprendre de la sécurité numérique. Si ce n'est pas dans l'organisation, du moins dans l'idée et l'accessibilité. L'entreprise est professionnellement engagée dans la sécurité des informations pratiques.
- J'ai aimé le stage. Elle ne peut s'empêcher d'aimer. Je me suis souvenu du fait que j'avais discuté avec les gars qui étudiaient à l'université, dont j'étais diplômé. Sur des spécialités qui me sont familières avec une équipe pédagogique bien connue :). Les laboratoires sont cool. Je ne m'attendais pas à ce qu'il y ait autant de machines virtuelles. Attente / réalité. J'ai réalisé que mes compétences laissaient beaucoup à désirer. J'ai réalisé quelles directions je devais tirer. Que lire et où chercher.
- Ma tâche était de trouver des faiblesses et des vulnérabilités dans la virtualisation des systèmes de contrôle (web) (open source). Dans ce cas, ce sont des projets où les développeurs surveillent la sécurité de leurs développements, mais pas partout. Le sujet s'est avéré assez volumineux et le travail se poursuit au-delà de la portée du stage.
- La plupart des tâches sont intéressantes. Je ne les appellerais pas légers. Lors du choix d'un sujet, il est difficile de décider sans se précipiter à l'extrême. C'est agréable de voir des mots familiers dans les titres des sujets. Il y a quelques astuces de vie. Ne prenez pas plus d'un sujet. Il vous sera difficile de combiner les sujets eux-mêmes et le travail, à moins bien sûr que le sujet ne coïncide pas avec votre travail principal. Prenez un sujet, qui comprend les domaines que vous avez peut-être rencontrés ou sur lesquels vous travaillez actuellement. Il existe un certain nombre de directions personnelles, mais elles sont très petites. Fondamentalement, ce que vous rencontrez dans le travail pratique, et qu'il y a des pensées, mais il n'y a pas de temps pour vérifier.
- Prêt à revenir pour un stage. Travail - peut être dans le futur.
Hyperviseurs affectés dans l'étude:
Nikita Knizhov, le thème des «projets open source fuzzing basés sur le feedback»:- Parce que je ne connais que quelques entreprises en plus de la sécurité numérique qui s'occupent des mêmes choses intéressantes que dans le département de recherche.
- J'ai vraiment aimé ça. C'était particulièrement intéressant de parler avec ceux qui travaillent professionnellement dans le domaine, quelques conférences utiles avec des exemples de la vie sont très utiles.
- Ma tâche était de mener une étude des fuzzers (fourches et similaires en afl), comprendre les principes de fonctionnement, structurer et comparer sur une application de test qui fuzzer a trouvé combien de vulnérabilités.
- Une tâche très intéressante, le domaine est pertinent dans la science et l'industrie. Je ne savais pas que les fuzzers sont si rusés et difficiles à arranger. J'ai même floué dos-vulnérabilité dans ffmpeg pendant le stage.
- Bien sûr que je suis prêt!
Résumé de Fuzzing des fonctionnalités Open SourceStepan Besklubov, rubrique «Traçage basé sur les capacités matérielles du processeur ARM»:- Je connais DSec depuis longtemps, principalement auprès d'amis et de connaissances dans le domaine de la sécurité de l'information, je suis également très attiré par la participation active de l'entreprise à la vie de la sécurité de l'information russe et internationale.
- J'ai certainement aimé le stage. , . .
- « ARM ». ARM CoreSight, IDA Pro. ARM TrustZone, , .
- . ARM-. , .
- .
IDA Pro, ,
( CoreSight ).
, “ ”:- , , , .
- , : , , , , (/), () () .
- « ». IDA PRO. , , , , () . , () , , , , . .
- Oui , , , .
- Bien sûr!
IDA PROConclusion, , , , . , , :)
!