Identifier, prévenir et corriger les vulnérabilités liées au développement bas niveau (fuites mémoire, buffer overflows, race conditions, accès concurrents non protégés), en appliquant des bonnes pratiques de sécurité, des outils d'analyse statique et des techniques de programmation défensive adaptées.
Niveaux dans la compétence
1 - Reconnaitre les risques de sécurité de base liés au développement bas niveau. Exemple : citer des exemples comme un dépassement de tampon ou une fuite mémoire et leurs conséquences.,2 - Appliquer des pratiques élémentaires de sécurisation du code. Exemple : utiliser des fonctions sécurisées (e.g. strncpy au lieu de strcpy) pour limiter les débordements de mémoire.,3 - Diagnostiquer et corriger des vulnérabilités simples en analysant le comportement du programme. Exemple : corriger une fuite mémoire détectée avec Valgrind ou un outil équivalent.,4 - Mettre en œuvre des techniques de programmation défensive pour prévenir les comportements indéterminés. Exemple : valider systématiquement les pointeurs avant utilisation et encapsuler les accès concurrents avec des mécanismes de synchronisation.,5 - Intégrer la sécurité dans l'architecture du moteur en évaluant les zones critiques et en généralisant l'usage d'outils ou de méthodes de détection. Exemple : auditer l'ensemble des systèmes à risque et déployer un ensemble d'outils de vérification automatisée pour prévenir les erreurs mémoire ou les accès concurrents non protégés.,6 - Élaborer un cadre de sécurisation du code bas niveau reconnu comme modèle dans l'industrie, et contribuer à l'évolution des standards professionnels du secteur. Exemple : développer une suite d'outils et de bonnes pratiques pour la sécurité bas niveau, diffusée dans des contextes inter-studios ou conférences, et utilisée comme référence pour la certification console ou middleware.
Activités associées
- Développement des briques moteur
- Maintenance et évolutions du moteur
- Mise en place de tests automatisés
- Veille technologique ciblée engine