Archive for the ‘Tests’ Category

Résistance à la corruption de données

Jeudi, avril 24th, 2014

Plusieurs tests doivent déterminer la résistance à la corruption de données, volontaire ou non, dans les codes de sylabe.

Le code du bootstrap est capable de vérifier la chaîne de confiance du code à charger en suivant les liens de mise à jour. Il est capable aussi de vérifier la cohérence du contenu du code à charger avec son empreinte.

Les testes sont réalisés avec le mode log qui affiche l’empreinte des composants utilisés.

Le premier test consiste à modifier subtilement l’objet du code de sylabe, un simple retour chariot ici. Au rechargement de la page, c’est la version précédente du code qui a été rechargée. De plus, l’objet modifié a été supprimé du disque dur parce que invalide. Même une modification mineure entraîne une invalidation du code et force à revenir à une version précédente non corrompue.
Le même test réalisé sur l’objet du code de la librairie nebule donne le même résultat.
Si on corrompe successivement les objets de plusieurs versions du code, le bootstrap remonte aussi loin que nécessaire pour retrouver un objet valide. Tous les objets invalides ont été supprimés.

Prochain test, corrompre le tout premier objet du code, celui qui est mis à jour successivement. Il ne doit plus y avoir de code valide, le bootstrap doit s’arrêter sur une erreur ‘Default object invalid‘.

Un dernier test consistera à essayer d’injecter un objet de mise à jour du code mais par une entité tierce, puis avec un lien usurpé. Ce test doit permettre de déterminer la résistance du bootstrap face à des liens qu’il ne doit pas utiliser.