Linux kernel backports

Les projets qui suivent les meilleures pratiques ci-dessous peuvent s'auto-certifier et montrer qu'ils ont obtenu le badge de la Open Source Security Foundation (OpenSSF).

Si c'est votre projet, veuillez indiquer votre statut de badge sur votre page de projet ! Le statut du badge ressemble à ceci : Le niveau de badge pour le projet 111 est in_progress Voici comment l'intégrer :

Ce sont les critères du niveau Basique. Vous pouvez également afficher les critères des niveaux Argent ou Or.

        

 Notions de base 13/13

  • Identification

    The Linux kernel backports project automatically backports the Linux kernel, it provide drivers released on newer kernels backported for usage on older kernels.

    Quel(s) langage(s) de programmation sont utilisés pour implémenter le projet ?
  • Contenu basique du site Web du projet


    Le site du projet DOIT décrire succinctement ce que le logiciel fait (quel problème résout-il ?). [description_good]

    Le site Web du projet DOIT fournir des informations sur la façon d'obtenir, de fournir des commentaires (comme des signalements de bogues ou des demandes d'amélioration) et de contribuer au logiciel. [interact]

    L'information sur la façon de contribuer DOIT expliquer le processus de contribution (par exemple, les pull requests sont-ils utilisés ?) (URL requise) [contribution]

    https://backports.wiki.kernel.org/index.php/Documentation/backports/hacking

    Developer's Certificate of Origin 1.1 is used, from the Linux kernel.



    Les informations sur la façon de contribuer DEVRAIENT inclure les exigences pour des contributions acceptables (par exemple, une référence à toute norme de codage requise). (URL requise) [contribution_requirements]
  • Licence FLOSS

    Sous quelle(s) licence(s) le projet est-il distribué ?



    Le logiciel produit par le projet DOIT être distribué en tant que FLOSS. [floss_license]

    Il est PROPOSÉ que toute licence requise pour le logiciel produit par le projet soit approuvée par l'Open Source Initiative (OSI). [floss_license_osi]


    Le projet DOIT afficher la ou les licences de ses résultats dans un emplacement standard dans leur dépôt source. (URL requise) [license_location]
  • Documentation


    Le projet DOIT fournir une documentation de base pour le logiciel produit par le projet. [documentation_basics]

    Le projet DOIT fournir une documentation de référence qui décrit l'interface externe (entrée et sortie) du logiciel produit par le projet. [documentation_interface]

    The backports project is a subset of the Linux kernel, as such what you get out of it are Linux kernel modules or a kernel with newer drivers from a future version of Linux backported for your choice of Linux. Users can opt to download and install a packaged release, or to use the backports infrastructure for direct kernel integration. Both interfaces are documented separately:

    https://backports.wiki.kernel.org/index.php/Documentation/packaging https://backports.wiki.kernel.org/index.php/Documentation/integration

    The way this works and how this is possible is best documented through the developer documentation:

    https://backports.wiki.kernel.org/index.php/Documentation/backports/hacking

    The technical details in more elaborate detail is provided in paper form:

    http://coccinelle.lip6.fr/papers/backport_edcc15.pdf


  • Autre


    Les sites du projet (site Web, dépôt et URLs de téléchargement) DOIVENT supporter HTTPS en utilisant TLS. [sites_https]

    https://www.kernel.org/pub/linux/kernel/projects/backports/ https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git

    There is temporary "splash" page generated automatically here:

    http://drvbp1.linux-foundation.org/~mcgrof/rel-html/backports/

    However this does not use https, and is simply temporary. If we need a permanent splash page we can work on that, the tool, rel-html, used to generate the splash page just needs to be extended to automatically infer release by using PGP, PGP signed tags, and PGP signed tags for release deprecation.



    Le projet DOIT avoir un ou plusieurs mécanismes de discussion (y compris les changements et les problèmes proposés) qui peuvent être recherchés, permettent de désigner les messages et les sujets par une URL, permettent aux nouvelles personnes de participer à certaines des discussions et ne nécessitent pas d'installation côté client de logiciels propriétaires. [discussion]

    A mailing list is public: backports@vger.kernel.org

    The archive: http://marc.info/?l=linux-backports

    To subscribe send an e-mail to majordomo@vger.kernel.org with anything on the subject and with this on the body of the e-mail: subscribe backports

    This is all documented here:

    https://backports.wiki.kernel.org/index.php/Mailing_list



    Le projet DEVRAIT fournir de la documentation en anglais et être en mesure d'accepter les signalements de bogues et les commentaires sur le code en anglais. [english]

    We use the kernel.org bugzilla, users must select the Backports project section, or can use this URL directly:

    https://bugzilla.kernel.org/enter_bug.cgi?product=Backports%20project

    This is all documented for users here:

    https://backports.wiki.kernel.org/index.php/Documentation/reporting-bugs https://backports.wiki.kernel.org/index.php/Bugzilla



    Le projet DOIT être maintenu. [maintained]


(Avancé) Quels autres utilisateurs ont les droits supplémentaires pour modifier cette soumission de badge? Actuellement : []



  • Dépôt source public sous contrôle de version


    Le projet DOIT avoir un dépôt source sous contrôle de version qui est publiquement lisible et possède une URL. [repo_public]

    Le dépôt source du projet DOIT suivre les changements apportés, qui a effectué les changements et quand les changements ont été effectués. [repo_track]

    https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git

    All changes go into the git repository. We track the changes, who made the changes, when the changes were made. Other than this we also track who merged the change. We have two key maintainers:

    Hauke Mehrtens Luis R. Rodriguez

    The repository is shared on kernel.org between both of these maintainers, they coordinate via IRC and e-mail about when one can / should merge changes.



    Pour permettre une analyse collaborative, le dépôt source du projet DOIT inclure des versions provisoires pour examen entre versions officielles ; Il NE DOIT PAS inclure que les dernières versions. [repo_interim]

    The project mirrors Linux's own release mechanisms. The project relies on linux-next to generate snapshot releases based on the latest development efforts both on Linux and on the Linux backports project, these are the linux-next based snapshots. Once Linus releases a kernel as a release candidate the backports project follows with a respective release candidate for it. Once Linus blesses a final release a respective backports project follows through with a respective final release.

    During the development phase of Linux we have daily linux-next based snapshots, these are dated, the latest one being based on linux-next tag next-20160122, and so the respective backports release is:

    https://www.kernel.org/pub/linux/kernel/projects/backports/2016/01/22/backports-20160122.tar.gz

    Packaged releases are also made to mirror Linux stable releases, so for instance we have the v3.10-rc1 release:

    https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.10-rc1/

    Then the v3.10 final release:

    https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.10/

    After that we have follow up fixes to upstream Linux, and then a respective backports release for it, there were 3 extra version releases for v3.10:

    https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.10.4/ https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.10.17/ https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.10.19/

    If the need ever arises to make a backports release update between the same snapshot of Linux a postfix digit is used to annotate this. For instance, we had two v3.8-rc2 releases, -1 and -2:

    https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.8-rc2/compat-drivers-3.8-rc2-1.tar.bz2 https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.8-rc2/compat-drivers-3.8-rc2-2.tar.bz2



    Il est PROPOSÉ qu'un logiciel reconnu de contrôle de version distribué soit utilisé (par exemple, git) pour le dépôt source du projet. [repo_distributed]
  • Numérotation unique de la version


    Les résultats du projet DOIVENT avoir un identifiant de version unique pour chaque version destinée à être utilisée par les utilisateurs. [version_unique]

    The release tags for backports mirror the Linux kernel release scheme. When releases are made based on linux-next, the respective tag is used but instead of "next", "backports" is used. So for instance, a release based on linux-next next-20160122 would have a tag "backports-20160122".

    For stable releases the same Linux versioning scheme is followed, starting with release candidates (v3.10-rc1-1, v3.10-rc1-2), to final version (v3.10-1, v3.10-2), to extra version stable updates (v3.10.4-1, v3.10.19-1):

    v3.10-1 v3.10-2 v3.10-rc1-1 v3.10-rc1-2 v3.10.17-1 v3.10.17-2 v3.10.19-1 v3.10.4-1

    Since this project builds on Linux, we needed a way to distinguish between backport specific releases. This is accounted for the extra dash followed by the release number, so v3.10-1, v3.10-2, both -1 and -2 are backport specific annotations.



    Il est PROPOSÉ d'utiliser le format de numérotation de version appelé Versionage Sémantique (SemVer) ou Versionage Calendaire (CalVer). Il est PROPOSÉ que ceux qui utilisent CalVer incluent une valeur de niveau micro. [version_semver]

    The Linux kernel does not make API changes that affect userspace, so there is no need to have denote api compatibility, it is always stable.



    Il est PROPOSÉ que les projets identifient chaque version dans leur système de contrôle de version. Par exemple, il est PROPOSÉ que ceux qui utilisent git identifient chaque version à l'aide des tags de git. [version_tags]
  • Notes de version


    Le projet DOIT fournir, avec chaque distribution, des notes de version qui sont un résumé lisible par les humains des changements majeurs dans cette version afin d'aider les utilisateurs à déterminer s'ils doivent se mettre à niveau et quel sera l'impact de la mise à niveau. Les notes de version NE DOIVENT PAS être la sortie brute d'un journal de contrôle de version (par exemple, les résultats de la commande « git log » ne sont pas des notes de version). Les projets dont les résultats ne sont pas destinés à être réutilisés dans plusieurs emplacements (tels que le logiciel pour un site Web ou un service unique) ET qui utilisent la livraison continue PEUVENT sélectionner « N/A ». (URL requise) [release_notes]

    Since the backports project mirrors Linux the ChangeLog of Linux is referred to for changes, backport specific updates are too many to list, but major updates are referenced when a release is made, and the respective project README is updated to account for subsystems that are backported. This is available here:

    https://git.kernel.org/cgit/linux/kernel/git/backports/backports.git/tree/README

    When a new device driver is added it is mentioned only in the commit logs, we could do a better job at not only annotating subsystems but also device drivers, this becomes tricky however as we backport over 700 device drivers now. We will discuss what things we can do better to improve on this area.



    Les notes de version DOIVENT identifier toutes les vulnérabilités connues du public corrigées dans cette version qui avaient déjà une affectation CVE ou similaire lors de la création de la version. Ce critère peut être marqué comme non applicable (N/A) si les utilisateurs ne peuvent pas en général mettre à jour le logiciel eux-mêmes (par exemple, comme c'est souvent le cas pour les mises à jour du noyau). Ce critère s'applique uniquement aux résultats du projet, pas à ses dépendances. S'il n'y a pas de notes de version ou qu'il n'y a pas eu de vulnérabilité publiquement connue, choisissez N/A. [release_notes_vulns]

    The backports project builds on top of Linux, the amount of backports specific code accounts for about 1%-2% of the code used. Although there is a risk of a security issue within backports, the major attack surface consists of non-backports related code: device drivers, or libraries carried over. Security fixes from Linux are carried over, we do not explicitly mirror the changelog of Linux, instead refer people to Linux' own changelog for security fixes on Linux.


  • Procédure de signalement des bogues


    Le projet DOIT fournir un processus permettant aux utilisateurs de soumettre des signalements de bogue (par exemple, en utilisant un suivi des problèmes ou une liste de diffusion). (URL requise) [report_process]

    Le projet DEVRAIT utiliser un suivi des problèmes pour le suivi des problèmes individuels. [report_tracker]

    The "Backports project" section of bugzilla is used.



    Le projet DOIT confirmer une majorité des signalements de bogues soumis au cours des 2 à 12 derniers mois (inclus) ; la réponse ne doit pas nécessairement inclure une correction. [report_responses]

    Example of latest fixes:

    https://bugzilla.kernel.org/show_bug.cgi?id=105921 https://bugzilla.kernel.org/show_bug.cgi?id=71501 https://bugzilla.kernel.org/show_bug.cgi?id=66601 https://bugzilla.kernel.org/show_bug.cgi?id=65881

    Sadly most reports are bogus. Most issues are actually reported on the mailing list and addressed there. There is no metric to address the number of issues mentioned on the mailing list and fixed there. We however do have an archive.



    Le projet DEVRAIT répondre à une majorité (>50%) des demandes d'amélioration au cours des 2 à 12 derniers mois (inclus). [enhancement_responses]

    The mailing list is used for this and requests to add new drivers considered and discussed.



    Le projet DOIT avoir une archive publique pour les signalements et les réponses pour une recherche ultérieure. (URL requise) [report_archive]

    Bugzilla is used:

    https://backports.wiki.kernel.org/index.php/Bugzilla

    The project also has mailing list and that is archivedi

    https://backports.wiki.kernel.org/index.php/Mailing_list


  • Processus de signalement de vulnérabilité


    Le projet DOIT publier le processus de signalement des vulnérabilités sur le site du projet. (URL requise) [vulnerability_report_process]

    https://backports.wiki.kernel.org/index.php/Reporting-vulnerabilities

    This explains the process to follow to report vulnerabilities.



    Si les signalements de vulnérabilités privés sont pris en charge, le projet DOIT inclure la façon d'envoyer l'information de manière confidentielle. (URL requise) [vulnerability_report_private]

    It is requested private vulnerabilities are reported via e-mail directly to the Linux backports maintainers. This is documented here:

    https://backports.wiki.kernel.org/index.php/Reporting-vulnerabilities



    Le temps de réponse initial du projet pour tout signalement de vulnérabilité reçu au cours des 6 derniers mois DOIT être inférieur ou égal à 14 jours. [vulnerability_report_response]

    We have not had any vulnerabilities reported.


  • Système de construction opérationnel


    Si le logiciel produit par le projet nécessite d'être construit pour être utilisé, le projet DOIT fournir un système de construction fonctionnel qui peut reconstruire automatiquement le logiciel à partir du code source. [build]

    Since Linux backports mirrors Linux, the build testing / automatic builds are borrowed, so linux-next daily builds are done by IBM, likewise, Intel's 0-day test infrastructure . There is no home page to linux-next daily builds tests, but its known that this merges all development trees and there is a compile test done daily. 0-day's home page:

    https://01.org/lkp

    Other than this currently backports build tests are done prior to each release, since all supported kernels need to be tested against, currently 24 kernels need to be compile tested against, compile testing with all features enabled takes a long time. HP, Linux Foundation, and SUSE donated a server to help with this, we grant access to key developers to help build test prior to making a release, or when incorporating a patch to test the build.

    We will work on automating builds though this may be a bit complex given the overhead.



    Il est PROPOSÉ d'utiliser des outils courants pour la construction du logiciel. [build_common_tools]

    All required tools are free and open source software. The same tools to build Linux are the same tools to build backports Linux releases, with the addition of Coccinelle needed to generate packages for users. Only developers need coccinelle. Needed tools to build Linux backports packages:

    make gcc python perl

    When using integration the kernel is built as you typically would otherwise build the Linux kernel.



    Le projet DEVRAIT être constructible en utilisant uniquement des outils FLOSS. [build_floss_tools]

    All required tools are the same to build Linux, its obvious Linux can only be built by open source tools.


  • Suite de tests automatisée


    Le projet DOIT utiliser au moins une suite de tests automatisée publiée publiquement comme FLOSS (cette suite de tests peut être maintenue sous la forme d'un projet FLOSS distinct). Le projet DOIT clairement montrer ou documenter comment exécuter la ou les suites de tests (par exemple, via un script d'intégration continue (CI) ou via la documentation dans des fichiers tels que BUILD.md, README.md ou CONTRIBUTING.md). [test]

    Intel uses Linux backports for their own builds / release for users of 802.11 wifi. They have a series of run time tests against the 802.11 Intel wifi driver. This test the 802.11 subsystem and Intel's specific device driver against specific kernels.

    Its not okay to not have a generic run time automation test suite, this however is a bit complex though as it would mean testing at run time Linux backports builds on each supported 24 kernels for each release. There is also the issue of needing emulated devices to load and test drivers. This is a major undertaking. Some form of automating run time testing is desirable. As it stands we rely on independent stakeholders to do their own run time testing of supported device drivers. The rest of the drivers are supported as best effort.



    Une suite de tests DEVRAIT être invocable d'une manière standard pour ce langage. [test_invocation]


    Il est PROPOSÉ que la suite de tests couvre la plupart (ou idéalement toutes) les branches du code, les champs de saisie et les fonctionnalités. [test_most]

    We definitely cannot test all known functions provided. We will try to at least do as much testing as possible in the future, but this will be restricted to what drivers can be emulated, and to each stakeholder's interest in the project and its driver's users.



    Il est PROPOSÉ que le projet utilise une intégration continue (où le code nouveau ou modifié est fréquemment intégré dans un dépôt de code central et des tests automatisés sont exécutés sur le résultat). [test_continuous_integration]

    The 0-day bot does testing of every commit before it is merged into the main repository.


  • Nouveau test de fonctionnalité


    Le projet DOIT avoir une politique générale (formelle ou non) qui spécifie que, dès qu'une nouvelle fonctionnalité majeure est ajoutée au logiciel produit par le projet, des tests de cette fonctionnalité devraient être ajoutés à une suite de tests automatisée. [test_policy]


    Le projet DOIT avoir la preuve que la politique de test pour l'ajout de tests a été respectée dans les dernières modifications majeures apportées au logiciel produit par le projet. [tests_are_added]


    Il est PROPOSÉ que cette politique sur l'ajout de tests (voir la politique de test) soit documentée dans les instructions pour les propositions de modification. [tests_documented_added]

    Not yet done.


  • Options d'avertissement


    Le projet DOIT activer une ou plusieurs options d'avertissement du compilateur, un mode du langage « sûr » ou utiliser un outil « linter » séparé pour rechercher des erreurs de qualité de code ou des erreurs simples courantes, s'il existe au moins un outil FLOSS qui peut implémenter ce critère dans le langage sélectionné. [warnings]

    Since Linux kernel code is used we match the same practice and use the same tools to help look for issues. The same build flags are also used. The kernel build process enables a lot of warning flags, and it also provides the tool 'sparse' to check for many other coding problems. And a full test suite of coccineele scripts is integrated into the kernel source tree itself.



    Le projet DOIT résoudre les avertissements. [warnings_fixed]


    Il est PROPOSÉ que les projets soient maximalement stricts avec les avertissements dans le logiciel produit par le projet, quand cela est approprié. [warnings_strict]

    Where ever practical, all warnings are fixed.


  • Connaissance du développement sécurisé


    Le projet DOIT avoir au moins un développeur principal qui sait comment concevoir un logiciel sécurisé. (Voir les « détails » pour les exigences exactes.) [know_secure_design]


    Au moins l'un des principaux développeurs du projet DOIT connaître les types courants d'erreurs qui conduisent à des vulnérabilités dans ce genre de logiciel, ainsi qu'au moins une méthode pour contrer ou atténuer chacun d'eux. [know_common_errors]

  • Utiliser de bonnes pratiques de base de cryptographie

    Notez que certains logiciels n'ont pas besoin d'utiliser des mécanismes cryptographiques. Si votre projet produit un logiciel qui (1) inclut ou active la fonctionnalité de chiffrement, et (2) peut être publié des États-Unis (US) vers l'extérieur des États-Unis ou vers un citoyen autre qu'américain, vous pouvez être légalement obligé à faire quelques étapes supplémentaires. En règle générale, cela implique simplement l'envoi d'un email. Pour plus d'informations, consultez la section sur le chiffrement de Comprendre la technologie Open Source et les contrôles à l'exportation américains .

    Le logiciel produit par le projet DOIT utiliser, par défaut, uniquement les protocoles cryptographiques et les algorithmes publiés publiquement et revus par des experts (si des protocoles et algorithmes cryptographiques sont utilisés). [crypto_published]


    Si le logiciel produit par le projet est une application ou une bibliothèque, et si son objectif principal n'est pas d'implémenter de la cryptographie, alors il DEVRAIT simplement appeler un logiciel spécialement conçu pour implémenter des fonctions cryptographiques ; il ne DEVRAIT PAS ré-implémenter les siennes. [crypto_call]


    Toutes les fonctionnalités du logiciel produit par le projet qui dépendent de la cryptographie DOIVENT être réalisables à l'aide de FLOSS. [crypto_floss]


    Les mécanismes de sécurité dans le logiciel produit par le projet DOIVENT utiliser des longueurs de clés par défaut qui satisfont au moins aux exigences minimales du NIST jusqu'à l'année 2030 (comme indiqué en 2012). Il DOIT être possible de configurer le logiciel afin que les plus petites longueurs de clés soient complètement désactivées. [crypto_keylength]


    Les mécanismes de sécurité par défaut dans le logiciel produit par le projet NE DOIVENT PAS dépendre d'algorithmes cryptographiques cassés (par exemple, MD4, MD5, DES unique, RC4, Dual_EC_DRBG) ou utiliser des modes de chiffrement inappropriés dans le contexte, sauf si ils sont nécessaires pour implémenter un protocole d'interopérabilité (où le protocole implémenté est la version la plus récente du standard supporté largement par l'écosystème du réseau, l'écosystème requiert l'utilisation de cet algorithme ou mode, et cet écosystème n'offre pas d'alternative plus sûre). La documentation DOIT décrire tous les risques de sécurité appropriés et les parades connues si ces algorithmes ou modes cassés sont nécessaires pour un protocole d'interopérabilité. [crypto_working]


    Les mécanismes de sécurité par défaut dans le logiciel produit par le projet NE DEVRAIENT PAS dépendre d'algorithmes ou de modes cryptographiques avec des faiblesses sérieuses connues (par exemple, l'algorithme de hachage cryptographique SHA-1 ou le mode CBC en SSH). [crypto_weaknesses]


    Les mécanismes de sécurité dans le logiciel produit par le projet DEVRAIENT implémenter la confidentialité persistante pour les protocoles d'échange de clés afin qu'une clé de session dérivée d'un ensemble de clés à long terme ne soit pas compromise si l'une des clés à long terme est compromise dans le futur. [crypto_pfs]


    Si le logiciel produit par le projet entraîne la sauvegarde de mots de passe pour l'authentification d'utilisateurs externes, les mots de passe DOIVENT être sauvegardés comme hachages itérés avec un salage par utilisateur en utilisant un algorithme d'étirement de clé (itéré) (par exemple Argon2id, Bcrypt, Scrypt, ou PBKDF2). Voir également le pense-bête sur le stockage des clés d'OWASP. [crypto_password_storage]


    Les mécanismes de sécurité dans le logiciel produit par le projet DOIVENT générer toutes les clés cryptographiques et les nonces en utilisant un générateur de nombres aléatoires cryptographiquement sécurisé, et NE DOIVENT PAS le faire en utilisant des générateurs qui ne seraient pas cryptographiquement sécurisés. [crypto_random]

  • Livraison sécurisée contre les attaques man-in-the-middle (MITM)


    Le projet DOIT utiliser un mécanisme de livraison qui contrecarre les attaques MITM. L'utilisation de https ou ssh+scp est acceptable. [delivery_mitm]


    Un hachage cryptographique (par exemple, un sha1sum) NE DOIT PAS être récupéré par http et utilisé sans vérifier une signature cryptographique. [delivery_unsigned]

  • Vulnérabilités publiquement identifiées et corrigées


    Il ne DOIT pas y avoir de vulnérabilités non corrigées de gravité moyenne ou supérieure connues publiquement depuis plus de 60 jours. [vulnerabilities_fixed_60_days]


    Les projets DEVRAIENT corriger rapidement toutes les vulnérabilités critiques après leur signalement. [vulnerabilities_critical_fixed]

  • Autres problèmes de sécurité


    Les dépôts publics NE DOIVENT PAS fuiter un certificat privé valide (par exemple, un mot de passe ou une clé privée) qui est destiné à limiter l'accès public. [no_leaked_credentials]

  • Analyse statique de code


    Au moins un outil d'analyse statique de code (au-delà des avertissements du compilateur et des modes « sûrs » des languages) DOIT être appliqué à toute distribution majeure proposée avant sa sortie s'il existe au moins un outil FLOSS qui implémente ce critère dans le langage sélectionné. [static_analysis]

    Attention : cela nécessite une justification plus longue.



    Il est PROPOSÉ qu'au moins l'un des outils d'analyse statique utilisés pour le critère d'analyse statique inclue des règles ou des approches pour rechercher des vulnérabilités courantes dans le langage ou l'environnement analysé. [static_analysis_common_vulnerabilities]


    Toutes les vulnérabilités exploitables de gravité moyenne ou plus découvertes avec une analyse statique de code DOIVENT être corrigées en temps approprié après leur confirmation. [static_analysis_fixed]


    Il est PROPOSÉ que l'analyse statique du code source se produise à chaque commit ou au moins quotidiennement. [static_analysis_often]

  • Analyse dynamique de code


    Il est PROPOSÉ qu'au moins un outil d'analyse dynamique soit appliqué à tout candidat pour une version majeure du logiciel avant sa distribution. [dynamic_analysis]


    Il est PROPOSÉ que, si le logiciel produit par le projet comprend un logiciel écrit à l'aide d'un langage non sûr pour les accès mémoire (par exemple, C ou C ++), au moins un outil dynamique (par exemple, un fuzzer ou un scanner d'application Web) soit utilisé de façon routinière en combinaison avec un mécanisme pour détecter des problèmes de sécurité mémoire tels que les dépassements de zone mémoire. Si le projet ne produit pas de logiciel écrit dans un langage non sûr pour les accès mémoire, choisissez « non applicable » (N/A). [dynamic_analysis_unsafe]


    Il est PROPOSÉ que le projet utilise une configuration pour au moins une analyse dynamique (comme le test ou le fuzzing) qui active de nombreuses assertions. Dans de nombreux cas, ces assertions ne doivent pas être activées dans les versions de production. [dynamic_analysis_enable_assertions]


    Toutes les vulnérabilités exploitables de gravité moyenne ou plus découvertes avec une analyse de code dynamique DOIVENT être corrigées en un temps approprié après leur confirmation. [dynamic_analysis_fixed]


Ces données sont disponibles sous licence Creative Commons Attribution version 3.0 (CC-BY-3.0) comme indiqué dans les conditions d'utilisation de la Open Source Security Foundation. Chacun peut librement partager et adapter les données, à condition de créditer leur origine. Veuillez créditer Luis Rodriguez et les contributeurs du badge des meilleures pratiques de la OpenSSF.

Soumission du badge du projet appartenant à : Luis Rodriguez.
Soumission créée le 2016-05-04 16:39:37 UTC, dernière mise à jour le 2016-05-19 15:28:55 UTC. Le dernier badge perdu l'a été le 2021-04-11 18:16:21 UTC. Le dernier badge obtenu l'a été le 2016-05-04 22:16:00 UTC.

Retour