Développement sûr à PHDays 8: Résultats de la réunion de la communauté PDUG



Du 15 au 16 mai, sur le site du forum de cybersécurité PHDays, s'est tenue la prochaine réunion du Safe Development User Group, une communauté de développement en toute sécurité. Le programme de deux jours comprenait 11 rapports de divers degrés de hardcore et une table ronde consacrée à l'analyse statique.

Sous la coupe, nous partageons du matériel de réunion: présentations et enregistrements vidéo de rapports.

Toutes les présentations séparément de la vidéo sont disponibles sur le canal communautaire de Speakerdeck .

Premier jour


Discours d'ouverture par Vladimir Kochetkov, Positive Technologies


Est-il possible de généraliser l'analyseur de code source?


Ivan Kochurkin, Technologies positives

Le rapport présente différents types d'analyseurs de code qui acceptent les expressions régulières, les jetons, les arbres d'analyse, les graphiques de flux de données et les instructions d'exécution symboliques. L'orateur décrit les problèmes qui se posent lors de la synthèse de chaque type d'analyseur dans différents langages de programmation et propose des solutions. Il montre également les vulnérabilités et les faiblesses que l'on peut trouver avec chaque approche (par exemple, goto fail), décrit les capacités de l'analyseur de source open source PT.PM, son utilisation et ses perspectives de développement.


Mythes et légendes du développement sûr


Yuri Shabalin, Sécurité de l'espadon

L'auteur du rapport parle des principaux mythes et stéréotypes qui poursuivent la direction d'un développement sûr, des principales erreurs de planification et de démarrage.

Sur la base de ces mythes, légendes et erreurs, le conférencier explique comment aborder la construction de processus, ce qui doit être pris en compte, comment évaluer correctement vos forces et démarrer correctement le processus de développement sûr. Les mesures organisationnelles, les moyens techniques (sans spécifier de fournisseurs), l'interaction entre le développement et la sécurité de l'information, les programmes de sensibilisation, la gestion de l'ensemble du processus et les mesures d'efficacité sont présentés comme les principaux exemples d'erreurs et les moyens de les surmonter.


Sécurité de type entier en C ++


Igor Sobinov, expert en sécurité

Le rapport est consacré aux problèmes de sécurisation des applications en C ++ contre les attaques de débordements de types entiers. Les cas typiques de vulnérabilités associées à cette classe d'attaques, les conséquences possibles de leur exploitation et les méthodes de protection sont examinés.


Détection de vulnérabilité en théorie et en pratique, ou pourquoi il n'y a pas d'analyseur statique parfait


Yaroslav Alexandrov, Alexander Chernov et Ekaterina Troshina, Sécurité solaire

Le rapport traite des principes de base d'un analyseur de code statique, donne un aperçu comparatif des méthodes et algorithmes qui sous-tendent les analyseurs statiques modernes. À l'aide d'exemples concrets, il montre comment un analyseur statique recherche les vulnérabilités, et une réponse est donnée à la question de savoir pourquoi il n'y a pas d'analyseur statique idéal qui fonctionne rapidement, ne donne pas de faux positifs et ne manque pas de vulnérabilités. Les auteurs expliquent comment intégrer un analyseur statique dans le processus de développement afin qu'il soit efficace en termes de ressources et donne des résultats de haute qualité.


Analyse statique parfaite


Vladimir Kochetkov, Technologies positives

L'analyse statistique idéale en tant qu'outil n'existe pas. Mais existe-t-il une analyse statistique idéale en tant que processus? Quelle devrait être la répartition des rôles entre une personne et les outils SAST? Quels devraient être les outils pour permettre à une personne de résoudre aussi facilement que possible l'analyse statistique?


Table ronde "SAST et sa place dans le SDLC"


Modérateur: Vladimir Kochetkov, Positive Technologies
Participants: Positive Technologies, SolidLab, Mail.ru, Solar Security, PVS-Studio, ISP RAS




Deuxième jour


LibProtection: 6 mois plus tard


Vladimir Kochetkov, Technologies positives

L'orateur parle des résultats des tests publics de la bibliothèque, examine en détail les contournements trouvés et comment les éliminer, et présente également des plans pour le développement de la bibliothèque pour l'année en cours.


Bases de sécurité des algorithmes de consensus de la chaîne de blocs


Evangelos Deirmentzoglou, Technologies positives

Les algorithmes de consensus font partie intégrante de toute plateforme de blockchain. Le rapport met en évidence les principes de fonctionnement des algorithmes de consensus tels que la preuve de travail (preuve d'achèvement), la preuve de participation (preuve de propriété), la preuve de participation déléguée (preuve de propriété déléguée) et la preuve de l'autorité (preuve de pouvoir). Lors de l'analyse des différences entre ces algorithmes, les attaques les plus courantes sont prises en compte pour les systèmes basés sur ces technologies, tels que la double dépense, l'attaque à 51%, l'attaque de corruption, l'attaque de Sibylle, l'attaque de Nothing-At-Stake et autres.

Rapport en anglais:


Rapport en russe:


Prédire des nombres aléatoires dans les contrats intelligents Ethereum


Arseny Reutov, Technologies positives

Les contrats intelligents ne sont pas uniquement utilisés pour le placement initial de jetons de crypto-monnaie. Le langage Solidity implémente diverses loteries, casinos et jeux de cartes disponibles pour tous ceux qui utilisent la blockchain Ethereum. L'autonomie de la blockchain limite les sources d'entropie des générateurs de nombres aléatoires (RNG). Il n'y a pas de bibliothèque commune avec laquelle les développeurs créeraient des RNG sûrs.

C'est pour cette raison que la mise en œuvre de votre propre RNG peut créer de nombreux problèmes - il est loin d'être toujours possible de mettre en œuvre un RNG sûr, ce qui donne aux attaquants la possibilité de prédire le résultat et de voler de l'argent. Le rapport présente une analyse des contrats intelligents basés sur la blockchain pour l'industrie du jeu. L'auteur du rapport présente des exemples réels de mise en œuvre incorrecte du RNG et explique comment identifier les problèmes dans le RNG et créer votre propre générateur sûr, en tenant compte des limites de la blockchain.


Pièges de la paramétrisation et de l'approche objet


Vladimir Kochetkov, Technologies positives

Est-ce toujours l'utilisation d'outils de paramétrage et la transition vers le modèle objet qui peuvent efficacement résoudre les tâches de sécurisation des applications? Quels risques comportent ces approches? Des vulnérabilités dans le code du projet sont-elles possibles lors de leur utilisation? L'auteur du rapport répond à ces questions en utilisant des exemples spécifiques et des cas réels.


Accrochage de méthode sur Android


Alexander Guzenko, Tinkoff

L'auteur du rapport explique en quoi consistent les méthodes de raccordement et d'injection et expliquera comment, connaissant ces deux concepts, les appliquera à Android et forcera l'application de quelqu'un d'autre à faire ce dont vous avez besoin.


Comment créer un WAF rapide. Construire un système d'analyse de trafic réseau hautes performances


Michael Badin, Wallarm

Le rapport examine les étapes du traitement d'un package dans WAF, les problèmes d'obtention des informations nécessaires à partir d'une demande, l'optimisation des processus de tokenisation, le filtrage basé sur des expressions régulières et la mise en œuvre de l'analyse comportementale dans le cadre du trafic de post-traitement.


Nous remercions nos conférenciers et participants pour une réunion productive!

Si vous avez des questions pour les organisateurs / conférenciers ou si vous souhaitez faire votre présentation lors de la prochaine réunion PDUG, écrivez à pdug@ptsecurity.com .

Source: https://habr.com/ru/post/fr414627/


All Articles