Web Security Fellowship – examen des projets

Lancé au début de 2019, le Web Security Fellowship était un projet pilote d’eQualitie visant à introduire davantage de professionnels de l’informatique dans les rangs des organisations actives de la société civile. Huit boursiers ont été sélectionnés à partir d’un processus de candidature public pour un placement de six mois au sein d’organisations hôtes, comprenant des groupes de défense des droits de l’homme et des médias indépendants en Russie. La bourse a débuté par un programme intensif de trois mois visant à améliorer les connaissances et les compétences pratiques des boursiers en matière de sécurité technique. Ensuite, en collaboration avec leur organisation d’accueil, les boursiers ont élaboré un projet ou une série de tâches visant à améliorer la sécurité de la plateforme Web, de l’application mobile ou du processus technique de l’organisation d’accueil. Nous présentons ici les boursiers, leurs projets et leurs résultats.

Programme de webinaires

Présentées par des experts de l’industrie du Runet, dix conférences en ligne ont été organisées sur une période de trois mois. Le matériel de cours comprenait

  • Audits organisationnels : évaluation des technologies, risques et vulnérabilités, sécurité des opérations
  • Mise en œuvre d’une « politique de sécurité » au sein d’une organisation de la société civile
  • Renforcement des serveurs web
  • Droit de l’informatique, violence numérique et censure
  • Derniers développements de la censure sur Internet et de son contournement
  • Les aspects théoriques et pratiques des tests de pénétration des plateformes
  • Sécurité des sites web : hébergement et DNS, analyse des performances et tests de charge, atténuation des attaques DDoS
  • MéthodologieOWASP TOP 10
  • Programmation défensive
  • Principes de conception sécurisée et architectures de systèmes

 

Rencontrer les boursiers et leurs projets

Aleksandr, Moscou

« Je travaille en tant qu’administrateur système au bureau de Moscou de la société Memorial depuis 2009. Mon travail consiste à administrer l’Active Directory Windows et les PC basés sur Linux. Je peux concevoir des réseaux et configurer le matériel réseau sur RouterOS et PfSense, créer des pages html/css. Je peux assurer le streaming vidéo, le traitement et le montage audio, et le support technique lors d’événements publics (régie son et vidéo). Au niveau de base, je peux administrer des serveurs Web basés sur *nix. Je ne sais pas écrire de code (à l’exception de simples scripts Python/bash), ni administrer des serveurs Web basés sur Windows.

Pendant mon temps libre, je travaille comme responsable de plusieurs écoles de vacances (notamment l’école d’hiver de Puschino et l’école de biologie moléculaire et théorique), j’apprends à jouer de la guitare, je joue à des jeux vidéo, je regarde des séries et, enfin, j’élève ma fille ».

Organisation : International Memorial

Projet: Améliorer la sécurité du serveur d’hébergement web, en faisant des recommandations supplémentaires aux développeurs internes.

Tâches: Auditer la sécurité de base.memo.ru: développer un modèle de menace, interviewer les développeurs web, effectuer des tests de pénétration boîte noire et boîte blanche, analyser la configuration du site hôte et auditer le code du site. Sur la base des résultats de l’audit, reconfigurer le logiciel du serveur hôte pour améliorer sa sécurité et rédiger des recommandations pour le développeur de l’application du site web.

Détails du projet: Pentester les vulnérabilités critiques en utilisant burp/owasp zap, sqlmap ; configurer les services de surveillance (zabbix ou son équivalent), durcir l’OS et ses interfaces d’accès (ssh, https).

Artemy, Moscou

« Depuis plus de dix ans, je développe des applications et des services. Je préfère Kotlin, Java, Python ; j’utilise Sketch pour dessiner et j’adore le Material design. Pendant mon temps libre, je creuse dans les moteurs lorsque ma Subaru n’accélère pas ou pour passer ma boîte de vitesses en mode sport ».

Organisation : Non divulgué

Projet : Rendre plus difficile le blocage des circuits d’application

Tâches : Coder un prototype de bibliothèque pour identifier les casiers et les verrouiller.

Détails du projet: Pour bloquer Telegram, Roskomnadzor a utilisé le blocage d’IP via un système Android pour verrouiller les IP que l’application écoute lorsqu’elle tente de se connecter et masquer sa présence en utilisant les réseaux VPN des fournisseurs. L’objectif de ce projet est d’identifier le locker qui utilise la méthode susmentionnée ; il pourrait bien rester d’actualité à en juger par les nouvelles brèves : Roskomnadzor prévoit de verrouiller les applications à l’aide de l’IAP, la tâche étant prolongée de plus de cinq ans. Dans un prototype, le même dispositif devrait distribuer et recevoir les adresses IP, les rechercher et les verrouiller ; il s’agit de simplifier la logique pour un prototype. La version « champ de bataille » de ce projet prévoit de distribuer des adresses IP à partir de l’arrière-plan en utilisant plusieurs circuits et d’autres technologies pour contourner le verrouillage.

Github : github.com/art2limit/Offenbarung

 

Nikita, Moscou

« Je travaille dans le domaine de l’expertise en sécurité de l’information pour les logiciels d’entreprise – je fournis un soutien au système SIEM. Au cours de mon travail, j’ai parcouru d’innombrables logs et appris à en récupérer autant que possible ; j’ai travaillé avec un large éventail de systèmes informatiques (FW, DLP, antivirus, hyperviseurs, DNS, DHCP, proxies et autres) et je sais généralement ce qui se passe à l’intérieur et où creuser pour trouver quelque chose de pertinent. Je suis doué pour trouver et résoudre des problèmes et j’aime optimiser les trivialités à l’aide de Python. Je m’intéresse à de nombreuses tendances en matière de sécurité, mais j’aime surtout la bonne musique et les films, des Carbon Based Lifeforms à Pearl Jam en passant par Angerfist et de Clerks à The Good, the Bad and the Ugly en passant par Sharknado ».

Organisation : Centre de défense des médias

Projet : Une plate-forme Web intégrée

Objectif: Libérer l’organisation de la multitude d’outils vieillissants et difficiles à entretenir en créant une plate-forme universelle et facile à entretenir, capable d’héberger toutes les ressources d’information actuelles et extensible pour inclure davantage de ressources à l’avenir et pour améliorer la disponibilité. Sécuriser l’accès de l’organisation au réseau externe et assurer la stabilité de cet accès.

Tâches :

  • Projeter et concevoir une plate-forme Web basée sur les outils les plus modernes et capable d’héberger n’importe quel site de l’organisation ; développer et mettre en œuvre une disponibilité accrue (pour bloquer les attaques et les verrouillages).
  • Clarifier les aspects techniques des communications en réseau au sein de l’organisation.

 

Oksana, Saint-Pétersbourg

« J’ai conçu des sites web en WordPress et codé des applications en clean-code-javascript en utilisant plusieurs frameworks. Pour en savoir plus sur mes projets, cliquez ici : http://o.web-corner.net/ Et j’ai travaillé une fois sur une application pour un OBNL utilisant une base de données qui contenait des informations sensibles (avec le développeur du backend) ; le backend était en Java, le frontend en VueJS ».

Organisation : Nochlezhka

Projet : Hébergement web sécurisé

Objectif : Renforcer la sécurité des ressources Web de l’organisation

Tâches :

  • Restreindre l’accès gratuit au site web principal de l’organisation aux bénévoles et aux personnes ne faisant pas partie du personnel ;
  • Vérifier le volume d’informations critiques sur nos ressources disponibles à l’extérieur ;
  • Développer un système de stockage des logins et des mots de passe pour les membres du personnel ;
  • Configurer les sauvegardes du site web principal ;
  • Configurer les applications serveur pour bloquer les attaques par force brute ;
  • Configurer la surveillance ;
  • Apporter des corrections à l’application Cabinet multifonctionnel de l’assistant social ;
  • Mise à jour php.

 

Anton, Yaroslavl

« Je suis administrateur de systèmes Linux et Windows ; je travaille avec des systèmes ERP et CRM (Microsoft Sharepoint, Dynamics). J’ai surtout travaillé avec des systèmes d’information d’entreprise, déployés dans des environnements à la demande et hybrides. J’ai une grande expérience dans le réglage fin des vps Linux pour plusieurs tâches Web pourvues d’une sécurité de base (fail2ban, gestion d’accès en utilisant ssh et ainsi de suite), ainsi que dans la maintenance des piles /apache/mysql/php, nginx/mysql/php. Je suis activiste et coordinateur du mouvement Golos à Yaroslavl ».

Organisation : Non divulgué

Projet : Réparer les principales failles dans la sécurité de l’organisation, déployer des moteurs et des politiques de stockage des données, et effectuer les sauvegardes.

Tâches :

  • Faire du VPN uniquement l’accès commun aux ressources de l’organisation et, en premier lieu, au panneau d’administration du site ;
  • Mettre en place un lieu unique pour stocker les données et assurer le contrôle d’accès et le cryptage des données. La solution doit permettre le stockage de divers formats de données et de fichiers multimédias. Les données doivent être stockées dans une juridiction neutre ;
  • Ajustez le flux de travail et un moteur pour sauvegarder régulièrement la base de données de l’application Web ;
  • Vérifier que l’application présente les vulnérabilités critiques de la liste OWASP-10 et éliminer/accepter les risques ;
  • Résoudre les problèmes liés au matériel de réseau physique – mettre à niveau le routeur, le déplacer dans les limites de l’établissement loué, configurer le réseau local, le pare-feu, l’accès commun aux ressources. Fournir un accès Wi-Fi au Web pour les invités.

 

Konstantin, Orenburg

White hacker, ingénieur logiciel, développeur fullstack.

« Je suis compétent en : Python, JavaScript, C++, videostreaming, systèmes lourdement chargés, Django, Linux, télécommunications, React Native, Smart tv. J’ai fondé une entreprise technologique dans le domaine de la conception de logiciels pour les opérateurs IPTV/OTT et un fournisseur de services OTT (l’entreprise est Microimpuls, je suis son CTO). J’ai une formation de mathématicien programmeur ».

Organisation : Horizontal Russia 7х7 webzine interrégional

Projet : Test d’un nouveau moteur de site web

Objectif : Exposer et corriger les problèmes de sécurité dans un nouveau moteur de site web créé par soi-même ; réduire le risque de pénétration.

Tâches :

  • Examiner l’architecture du nouveau site web ainsi que ses sous-systèmes ;
  • Examinez le code source du moteur et de ses modules ;
  • Exposer les vulnérabilités réelles et potentielles du site web ; effectuer le test de pénétration ;
  • Proposer des options pratiques pour remédier aux vulnérabilités / les corriger ;
  • Proposer des options pour réduire le risque de pénétration et les mettre en œuvre ;
  • Renforcer le serveur qui héberge le site web ;
  • Mettre en place la surveillance de la sécurité du site web et configurer les outils pour détecter les pénétrations ;
  • Élaborer des règles pour l’écriture du code et pour l’audit régulier afin de maintenir la sécurité du site web.

 

K., Moscou

« Depuis une dizaine d’années, je m’occupe professionnellement du développement et de la production de projets Web – maquillage, design, codage (de nos jours, on parle de full-stack). Je suis compétent dans le maquillage avec js, jquery, html, et css. Je code principalement en drupal, php. Actuellement, j’étudie le python. Je préfère postuler à des projets que je trouve intéressants dans les domaines de la science, de l’art (musique, théâtre, peinture, photographie) et de la défense des droits ».

Organisation : OVD-Info

Projet : Une étape de préparation pour développer les spécifications techniques d’une base de données de surveillance de la détention

Objectif: Développer une matrice UX, des User Stories. Examiner, analyser et sélectionner les outils logiciels pour développer la base de données.

Tâches: Développer un script et une interface pour chaque rôle au sein du siège. Créer une matrice UX. Déterminer le moteur de développement de la base de données ainsi que les technologies et les systèmes qui sont mis à jour et pris en charge pour faire fonctionner le projet. Communiquer avec tous les groupes d’utilisateurs d’une base de données de détention (avocats, surveillants, analystes) pour mieux comprendre les problèmes des interfaces actuelles et faire le point sur l’élaboration des spécifications techniques.

 

Boris, Moscou

« De 2006 à 2008, j’ai travaillé en tant que concepteur et développeur de sites web dans une grande entreprise du secteur de l’enseignement à distance en Russie. Depuis plus de dix ans, je vis de la réparation, de l’assemblage et de l’installation d’ordinateurs et de périphériques, ainsi que de la mise en place et du réglage de réseaux informatiques.

Je sais installer toutes sortes de logiciels. J’ai l’expérience de l’enseignement de l’informatique à l’école. J’ai souvent été volontaire en informatique pour OVD-Info. Pendant un an, j’ai assuré la maintenance technique de l’organisation de défense des droits de l’homme.

Organisation : Centre des droits de l’homme de Memorial

Projet : Concevoir un plan pour migrer le centre de ressources humaines de Memorial vers un système en nuage.

Objectif: Développer un projet pour le Memorial HRC afin de passer à un service en nuage : donner la raison d’être du projet et décrire les phases de transition. Concevoir un plan, mettre en place une infrastructure en nuage, la tester, migrer les données et la mettre en service.

Tâches :

  • Expliquer au personnel du CRH les raisons du passage à l’informatique dématérialisée ; présenter les phases de la transition ;
  • Choisissez un fournisseur de services en nuage ;
  • Mettre en place des politiques de sécurité pour la participation à l’informatique en nuage ;
  • Fournir un point d’entrée unique pour accéder à l’application à partir de n’importe quel environnement ;
  • Protéger les identifiants dans les environnements locaux et en nuage ;
  • Fournir une gestion intégrée de l’informatique en nuage et de la sécurité ;
  • Configurer les services en nuage pour les sauvegardes et la reprise après sinistre de l’environnement local ;
  • Mettre en place une plateforme pour des données cohérentes ;
  • Bénéficiez des avantages d’une base de données commune à la fois dans l’environnement local et dans le nuage ;
  • Réduire les coûts en déplaçant les données locales vers le nuage ;
  • Appliquer des services pour le stockage, l’analyse et la visualisation cohérents des données ;
  • Exécutez les applications les plus modernes dans l’environnement local et dans le nuage ;
  • Ajustez l’intranet et achetez les routeurs pour préparer la connexion Internet à l’utilisation transparente des services en nuage.