Logo Zéphyrnet

Suivi des flux d'informations chez RTL. Innovation dans la vérification – Semiwiki

Date :

Les voies furtives explicites et implicites permettant de divulguer ou de compromettre des informations continuent de représenter une menace pour la sécurité. Cet article examine un perfectionnement des techniques existantes de suivi des flux d'informations (IFT) au niveau de la porte étendues à RTL, encourageant l'optimisation de la sécurité à un stade précoce. Paul Cunningham (vice-président principal/directeur général, vérification chez Cadence), Raúl Camposano (silicon catalyst, entrepreneur, ancien CTO de Synopsys et maintenant CTO de Silvaco) et moi-même poursuivons notre série sur les idées de recherche. Comme toujours, les commentaires sont les bienvenus.

Innovation Nouveau

L'innovation

Le choix de ce mois-ci est Enregistrez le suivi des flux d'informations au niveau du transfert pour une conception matérielle dont la sécurité est prouvée. Cet article est paru le DATE 2017 et a rassemblé un nombre impressionnant de 53 citations. Les auteurs viennent de l’Université de Californie à San Diego.

Ce groupe a précédemment développé la technologie IFT (GLIFT) au niveau de la porte, lancée en tant que produit sous Tortuga Logic (rebaptisé plus tard Cycuity). Les techniques de flux d'informations offrent une approche plus générale et formelle de la modélisation et du raisonnement sur les propriétés de sécurité que les tests par cas d'utilisation de vulnérabilité. La méthode se généralise en propageant des informations de contamination parallèlement à une évaluation logique régulière, en signalant, par exemple, un signal provenant d'un domaine non sécurisé contrôlant une sélection de conditions dans un domaine sécurisé. La combinaison de cela avec des méthodes de vérification formelles offre un potentiel de garanties de sécurité solides.

L'extension de l'analyse à RTL permet plusieurs améliorations : évolutivité vers des circuits plus grands, application plus tôt dans la conception et une compréhension quelque peu améliorée des dépendances de niveau supérieur dans l'intention de conception sans avoir besoin d'annotations fournies par l'utilisateur. Les auteurs décrivent également une méthode par laquelle les concepteurs peuvent faire un compromis entre les performances de sécurité et de vérification en répondant aux différents besoins du marché.

le point de vue de Paul

La vérification de la sécurité est quelque chose qui me tient profondément à cœur : nous ne pouvons pas faire confiance aux données numériques sans elle, et cela inclut mes propres données personnelles ! L'article de ce mois-ci est facile à lire et met en lumière l'une des techniques courantes en matière de vérification de sécurité : l'ajout de bits « corrompus » (c'est-à-dire compromis ou qui ne sont plus fiables) à tous les signaux d'une conception et l'amélioration des modèles de portes propagent les bits corrompus à travers les portes ainsi que les valeurs des signaux. .

La propagation des bits corrompus est conceptuellement presque identique à la « propagation X » dans les flux de vérification de conception traditionnels : si un signal est corrompu, c'est comme si nous ne connaissions pas sa valeur puisque nous ne lui faisons pas confiance.

Cet article propose deux choses : premièrement, effectuer une annotation et une propagation de bits corrompus au niveau RTL plutôt qu'au niveau de la porte ; et deuxièmement, faire l’équivalent de ce que les outils EDA traditionnels appellent « suppression du X-pessimisme ». Ce dernier fait référence à ne pas marquer le résultat d'un opérateur comme X simplement parce qu'au moins une de ses entrées est X, mais plutôt à le marquer comme X uniquement s'il s'agit vraiment de X en fonction de la définition de cet opérateur. Par exemple, considérons c = a & b. Si a = 0 alors c = 0 même si b est X. De manière équivalente, en termes de vérification de sécurité, si a = 0 et a n'est pas entaché, alors c = 0 et n'est pas entaché même si b est entaché. Cela semble facile pour "&", devient un peu plus délicat pour les constructions if, else et case.

Comme vous pouvez vous y attendre, l'article se termine par des analyses comparatives qui montrent clairement que la propagation des bits corrompus au niveau RTL est beaucoup plus rapide qu'au niveau de la porte, et que la propagation « précise » des bits corrompus (c'est-à-dire la suppression du pessimisme des bits corrompus) réduit le taux de faux positifs. pour les bits contaminés aux sorties de conception d'un% significatif. Toute cette analyse comparative est effectuée dans un contexte de preuve formelle, et non dans un contexte de simulation logique. Affaire classée.

Je vous souhaite à tous de joyeuses fêtes !

Le point de vue de Raul

Le suivi des flux d'informations (IFT) est une technique de sécurité informatique qui modélise la manière dont les informations se propagent lors du calcul d'un système. Il a été introduit dans les années 70 par Denning, une bonne introduction et une bonne enquête peuvent être trouvées ici. L'idée de base est d'étiqueter les données avec une classe de sécurité, puis de suivre ces étiquettes au fur et à mesure que les données sont utilisées pour les calculs. Aux fins de l'article examiné, l'étiquette indique simplement que les données sont «entacher» (étiquette = 1, non fiable). L'approche la plus conservatrice dans l'utilisation de cette étiquette est que le résultat de toute opération impliquant entacher les données sont entacher; ou dit inversement, seules les opérations avec toutes les données d'entrée étant pas entacher donner un pas entacher sortir. L’article assouplit d’une manière ou d’une autre cette approche, comme je l’expliquerai plus tard.

La sécurité informatique vise à conserver les informations confidentialité ainsi que intégrité. La confidentialité signifie que les informations ne sont divulguées qu'aux entités autorisées. IFT vérifie si des informations secrètes peuvent un jour être divulguées en vérifiant que tous les emplacements vers lesquels elles circulent sont également secrets (pas entacher), par exemple, une clé secrète ne fuit pas en dehors d'un espace mémoire restreint. L’intégrité est l’inverse : pour maintenir l’exactitude et la cohérence des données, les entités non fiables ne sont pas autorisées à opérer sur des informations fiables. La manière dont les informations circulent dans un système informatique est cruciale pour déterminer la confidentialité et l’intégrité. IFT fait partie des techniques les plus utilisées pour la modélisation et le raisonnement sur la sécurité.

Le document passe en revue les approches IFT existantes au niveau des portes et au niveau RTL. Au niveau des portes, la reconvergence est source d'imprécision. Dans un multiplexeur, un signal de sélection de contamination produira un entacher sortie même si les deux entrées sont pas entacher. La modélisation d'un multiplexeur au niveau RTL permet de résoudre ce problème. Les approches existantes au niveau RTL impliquent la nécessité de modifier le code RTL. Le système mis en œuvre par les auteurs, RTLIFT, corrige les deux défauts ci-dessus. Il fournit une bibliothèque d'opérateurs RTL qui permet d'implémenter différentes approches de l'IFT, par exemple pour altérer les sorties si une entrée est entacher (conservatrice) ou une approche plus nuancée telle que altérer les sorties d'un multiplexeur uniquement si l'une des entrées de données est entacher (évite les faux positifs). Il fournit également une traduction automatique d'une conception RTL dans Verilog vers une version améliorée par IFT qui peut être utilisée à des fins de vérification.

Les résultats sur les cœurs cryptographiques montrent que RTLIFT est environ 5 fois plus rapide que l'IFT au niveau de la porte (GLIFT). Sur une collection de 8 additionneurs, multiplicateurs et logique de chemin de contrôle, RTLIFT montre une diminution de 5 à 37 % des faux positifs (faux positifs). entacher) sur GLIFT pour une simulation de 220 échantillons d'entrée aléatoires.

Un article complet sur la sécurité, qui étend IFT à RTL, une lecture très agréable !

Partagez cet article via:

spot_img

Dernières informations

spot_img