Sécurité matérielle et des systèmes · NUS Computing
Nous étudions la sécurité et la correction des couches basses de l'informatique. Nous trouvons les vulnérabilités au plus profond du matériel et des systèmes, et concevons les défenses qui nous en protègent.
Quatre petits jeux, un par thème de recherche, avec des niveaux, une boutique et une puce du jour. Le son est activé, et le bouton le coupe.
Fuzzing et validation
Suivi de flux d'information
Vérification formelle
DRAM et Rowhammer
Des bugs sortent de la puce et descendent sur la carte. Le harnais tire tout seul : guidez-le, enchaînez les bugs pour multiplier le score et attrapez ce qu'ils lâchent. Une puce est fuzzée quand son horloge est écoulée et que son boss errata est mort. Chaque puce apporte un nouveau plan, un nouveau type de bug et une boutique où les points achètent des améliorations du harnais. Les bugs qui vous échappent coûtent des points, et un sur cinq une vie.
Bugs trouvésComboPuceTempsViesTrouvez les bugs avant le tape-out.Pilotez avec les flèches ou en glissant. Espace pour un redémarrage.Glissez pour piloter le harnais. Touchez Redémarrage dans le cadre pour vider le plateau.Le harnais a planté.ÉchappésVague {n} sur {m}Errata corrigéTir en éventailBouclier levéTir rapideRedémarrageRafale du drone+1 redémarrage{n} bugs écrasés sur cette puceErrata livré sans correctif : −1 vieÉchappé : −150{name} percé : −{n}Blocs restés propres : {n} sur {m} · {p} % de remise à la boutiquePuce intacteHarnais plantéPuce {n} sur {m} fuzzéeTape-out ! Puce validée.8 puces jusqu'au tape-outPuce {n} sur {m}Livrée avec des bugs : −1 vieNouveau bug : les glitchs filent et sautentNouveau bug : les Rowhammers balaient et lâchent des fautesNouveau bug : les Spectres apparaissent et disparaissentNouveau bug : les vers demandent cinq coupsNouveau bug : les mimiques se font passer pour du chocolatOverclockAiles en chocolatAiguilleAimantCœur de rechangeBouton resetBouclier de démarrageAcolyteFeuille d'errataSalveRéfrigérantPostcombustionAspirateurTourelleDébogueurMunitions guidéesDouble canonSous-cadençageMunitions lourdesRefusionPuce de rechangeBombe cryogéniqueAutotestFlair du butinMains sûresBandoulièreBonus de couverturePuce de rechange : une vie de plusLes tirs partent plus vite.Trois tirs en éventail, toujours.Les tirs traversent un bug de plus.Les bonus proches dérivent vers vous.Une vie de plus.Une bombe de plus sur chaque puce.Chaque puce commence avec un bouclier.Un drone qui tire à vos côtés.Les boss subissent moitié plus de dégâts.Une salve sur quatre part en éventail.Baisses de tension et emballements durent moitié moins.Déplacement un quart plus rapide.Tous les bonus dérivent vers vous.Une tourelle tire depuis le bord inférieur.Les bugs blindés subissent le double de dégâts.Les tirs se dirigent vers le bug le plus proche.Deux tirs côte à côte.Les bugs rampent quinze pour cent plus lentement.Un point de dégâts de plus aux bugs coriaces.Un bouclier brisé repousse en vingt secondes.Une fois par partie, la dernière vie revient.Une bombe gèle les survivants deux secondes.Une vie récupérée à la fin de chaque puce.Les bonus tombent deux fois plus souvent.Le combo survit à une évasion.Une bombe tous les quinze bugs trouvés.Trente pour cent de points en plus par bug.Puissance de feuHarnaisÉquipageHorloge coupéeBaisse de tensionTempête de bugsL'hydre se diviseCoup du titanPic de tension : tir rapideFenêtre de débogage : bugs ralentis et révélésCache saturé : les bugs accélèrentLoterie du siliciumInjection de fautesUn bug doré !Bug doré écraséBlindéExposéBoss errataBug hydreHeisenbugTitan RowhammerCondition de courseDébordement de tamponLe bug qui a été livréCoupez-en une, il en pousse deuxLà quand on ne regarde pasMartèle la puceDeux fils, un verrouUn octet de tropVous me trouverez dans la feuille d'errata. Page 40.Chaque correctif, c'est deux bugs de plus.Branchez un débogueur et je disparais.Chaque ligne que je frappe bascule.Le premier au verrou gagne. Je suis les deux.0xFF, et un de plus.Classé sous « corrigé ».Plus de têtes à faire pousser.Observé. Effondré.Rafraîchi pour de bon.Sérialisé.Bornes vérifiées.CroisementTampon pleinIl s'ouvre juste après chaque salve : tirez à ce moment-làSa progéniture le protège : écrasez d'abord les versOn ne peut le toucher que lorsqu'il est làIl n'est vulnérable que lorsqu'il fait demi-tour sur les bordsIl s'ouvre quand ses deux coureurs se croisent : tirez sur le croisementFrappez-le tant que son tampon est plein, avant qu'il ne débordeMains sûresPeau durePieds agilesLongue mècheBonne affaireTape-outPost-siliciumSondeFiletRapporteurElle marque un bug toutes les quelques secondes : un bug marqué vaut le doubleIl attrape un bug sur le point de s'échapper, puis a besoin d'un instantIl rapporte les objets que vous ne pouvez pas atteindre{name} rejoint le harnaisMarqué ×2Au filetRapportéLe silicium est revenu de la fonderie. Voyons ce qui en sort.Placez-vous sous les scarabées. Le harnais tire tout seul.Les bugs lâchent des pièces. Passez dessus.Chaque vague arrive plus vite. La barre en haut est l'horloge de la puce.Premier bug écrasé. Enchaînez pour un multiplicateur.Un est passé. Cinq évasions et un bug part en production.Quelque chose de gros remue sous la puce.L'errata. Guettez le moment où il s'ouvre.Feuille d'errata mise à jour. On livre, puis on refait un tour.Nouvelle révision. Nouveau plan, nouveaux bugs, et j'ai appelé du renfort.À partir de cette puce, les scarabées crachent des fautes. Évitez les croix.À mi-chemin du tape-out. Des bugs blindés à partir d'ici : l'hexagone veut dire attendre.Les mimiques ressemblent à du chocolat. Tirez sur ce qui bouge.Dernière puce. Le tape-out est à un errata.Tape-out réussi. Allez fêter ça.
Des valeurs quittent le cœur et suivent les fils de la puce jusqu'à ses ports. Certaines sont secrètes. Choisissez une tour dans la barre en haut et touchez le plateau pour la poser : traqueurs et renifleurs marquent les valeurs teintées à leur portée mais ne tiennent que quelques marquages avant que vous ne les vidiez, les effaceurs prennent une valeur d'un coup puis se rechargent, les balises ralentissent les valeurs et les videurs rechargent les tours alentour. Chaque vague commence par une phase de construction. Les valeurs teintées visent la couverture la plus mince, arrivent en groupes et finissent par brouiller les traqueurs. Quelques effacements manuels restent pour les urgences. Chaque vague en apporte davantage et ouvre une boutique.
AttrapéesComboVagueFuites restantesValeurs restantesGardez les ports.Choisissez une tour dans la barre, touchez le plateau pour la poser. Touchez une valeur teintée pour la nettoyer à la main. Touchez une tour pour son menu.Choisissez une tour dans la barre, appuyez sur le plateau pour la poser. Touchez une valeur teintée pour la nettoyer. Glissez les tours pendant la phase de construction.Ça a fui.FuitesVague {n} sur {m} tenueDie sécurisé.10 vagues pour sécuriser le dieVague {n} sur {m}Traqueur poséTraqueur pleinPas assez de pointsSur un filTrop près d'une tourRestez loin du cœur et des portsHors du plateauPoser iciDéposer iciTouchez l'endroit où la poserMonter en rangVendreDéplacerVendu : +{n}DéplacéeDéplacée : touchez pour viderGlissez les tours pour les déplacer gratuitementEffacée à la mainPlus d'effacement manuelVidéÀ sec : touchez pour viderFuite !Teinte propagéeScission !Coup de chanceEffacements manuelsTout est propre{n} captures d'affilée+1 nettoyage manuelEnvoyer le droneNouveau : les valeurs blindées demandent trois marques, les tanks sixNouveau : valeurs furtives et imitatrices, visibles seulement près d'un traceur ou d'un renifleurNouveau : diviseurs, essaims et sprinteursNouveau : porteurs, fantômes et valeurs chiffrées qu'un renifleur doit ouvrirNouveau : les brouilleurs figent les tours, les sangsues les videntNouveau : les soigneurs effacent les marques autour d'euxNouveau : les bombardiers vident les tours autour d'euxRootkit nettoyéCheval de Troie révéléVer nettoyéCheval de Troie nettoyéSpectre nettoyéEnregistreur de frappe nettoyéEnregistreGlitch d'alimentation : les tampons baissentMise à jour du firmware : tours purgéesAlerte fuite : les valeurs teintées foncentAudit : nettoyages manuels rechargésBrouillard : toutes les valeurs se ressemblentVerCheval de TroieSpectreRootkitEnregistreur de frappeSegment par segmentPropre en apparence, jusqu'au moment oùJamais sur le fil que vous croyezPossède la puceEnregistre chaque toucherMarquez ma queue tant que vous voulez.Laissez-moi passer. Je suis propre.Quel fil ? Pas le bon.J'étais là avant vos tours.J'ai vu ce toucher. Et celui-là.Coupé à la tête.Démasqué au port.Cloué sur place.Expulsé du ring 0.Journal effacé.Nettoyez d'abord la tête : les segments sont blindés tant qu'elle vitIl ralentit une fois révélé : acharnez-vous à ce moment-làIl est solide juste après un saut : marquez-le à ce moment-làIl se soigne grâce à son essaim : nettoyez d'abord l'essaimIl saute là où vous touchez et enregistre un instant : touchez près de vos toursLe rootkit se soigne grâce à son essaimDéchiffréExplosion : tours vidéesRang supérieurDéjà au rang maximalVétéran+{n} bitsPasse-partout : toutes les tours purgéesDrone de patrouilleTampons profondsCamp d'entraînementGant de rechangeVidage rapidePort de rechangeCommande groupéeCoup de chanceGarde de portOverclockVidange automatiqueMains froidesPrimeCoffreAntenneCoffre : aucune vie perdueExerciceDoctrine du tireur d'éliteChoc de vidangeDoctrine de la GatlingMains rapidesPéageRemboursement intégralCapital de départAnti-brouillageMarquage profondDéplacement libreAmortisseur d'alarmeUn drone qui patrouille, marque et vidange.Les tours gardent une marque de plus.Les tours portent plus loin.Une charge de nettoyage de plus.Une vidange est instantanée.Une vie de plus.Les tours coûtent un quart de moins.Plus de butin, et un cadeau toutes les dix secondes.Une garde à chaque port nettoie une valeur par vague.Les tours marquent un quart plus vite.Une tour vide se vidange seule après six secondes.Un nettoyage ralentit les valeurs autour.Le butin tombe deux fois plus souvent.La première fuite d'une vague ne coûte aucune vie.Toutes les tours portent un peu plus loin.Les tours deviennent vétérans plus tôt.Longue portée, marquage plus lent.Une vidange ralentit les valeurs souillées proches.Marquage rapide, portée plus courte.Les charges reviennent plus vite.Un quart de points en plus par prise.Vendre une tour rend son prix entier.Des points au début de chaque vague.Les brouilleurs ne peuvent plus brouiller vos tours.Les valeurs blindées demandent une marque de moins.Déplacer une tour garde ses marques.Les alarmes durent moitié moins.La garde de port l'a attrapéeToursMainÉquipageValeurs dans {n} sŒil vifPoches profondesGrands tamponsMain sûreBonne affaireLimierAuditeurCoursierIl parcourt les fils et aboie sur les valeurs masquées ou déguisées, ce qui les ralentitIl recharge de temps en temps la tour la plus videIl ramasse le butin pour vous{name} rejoint la patrouilleOuaf : révéléAudité : rechargé
La trace parcourt l'espace d'états, un état par cycle, sans jamais s'arrêter. Changez de voie pour atteindre les assertions et éviter les états inatteignables, les murs de borne et les contre-exemples qui traquent la trace ; sautez pour passer un état. Le budget du solveur s'écoule et chaque assertion le recharge ; un dépassement coûte une trace. Assez d'assertions prouvent une borne et ouvrent une boutique ; chaque borne va plus vite et apporte une nouvelle astuce.
AssertionsComboBorneTraces restantesBudgetDéroulez la trace.Les flèches ou un toucher à côté de la trace changent de voie. Espace ou un toucher sur la trace saute. Maintenez Bas pour freiner.Touchez à côté de la trace pour changer de voie, touchez la trace pour sauter. Maintenez Frein dans le cadre pour ralentir.Plus de traces.Traces perduesBorne {n} sur {m}État inatteignableContre-exemple écraséBorne {n} sur {m} prouvéeToutes les bornes prouvées.10 bornes à prouverNouveau : des trous de verNouveau : des murs de borne avec une seule brècheNouveau : des contre-exemples fallacieux, inoffensifsNouveau : des explosions d'étatsDélai du solveur dépassé : −1 traceRattrapée par un contre-exempleFallacieuxLemme : bouclier levéPoint de couvertureSaut par trou de verSautFreinSuivant+{n} sExplosion d'étatsIndice du solveur : la voie sûre brilleÉchéance : le budget fond vitePluie de lemmesContre-exempleBoucleSolveur rivalAbstractionExplosion d'étatsSautez dans sa charge pour le blesserSautez à travers l'anneau quand il passeProuvez ce qu'il s'apprête à voler, juste sous luiTraversez-la tant qu'elle est abstraite, ou sautez au traversChaque assertion prouvée le contientJumeauxFrénésieQuatre étatsDouble boucleLaisse une traînéeAppelle des contre-exemplesPlus large, avec une brècheEffondrementRéaction en chaîneFusion du cœur{name} rejoint la course{name} niveau {n}RedémarrageProuvéLeurre : contre-exemple écraséOracle : le solveur réfléchitContre-exemple réfutéBoucle briséeRival distancéAbstraction raffinéeExplosion contenueLa trace qui échoueEncore et encorePlus rapide sur chaque assertionTrois voies, aucun étatDeux puissance NUn seul chemin me suffit.À chaque cycle, les mêmes états.Je le prouverai en premier.Trop grossière pour être saisie, trop large pour être franchie.Plus d'états que vous n'avez de cycles.Plus aucun chemin.Brisée pour de bon.Prouvé en premier.Raffinée jusqu'à disparaître.Bornée.Point faibleVoléDistancéAttaque !Non-déterminismeVirage non déterministeNouveau : les contre-exemples traquent la tracePassage fantômeÉlaguéeÉlaguer maintenantTrace de rechangeDiviseur d'horlogePassage fantômeRobot élagueurGrand sautAimantBudget du solveurBibliothèque de lemmesProuveurTrace leurreOracleTémoinInvariantPoint de contrôlePrime de couvertureLentilleSaut rapideTénacitéPoint de contrôle : budget restauréVirages rapidesBorne profondeBorne courteAncre de tempêteMarteau de preuveRalliementÉlagage largeÉlagage rapideRangées chanceusesUne vie de plus.La trace avance plus lentement.Le saut porte plus loin.Les assertions proches dérivent dans votre voie.Cinq secondes de budget en plus.Un bouclier, conservé d'une borne à l'autre.Un crash pardonné par borne.Un élagage qui dégage la voie devant.Un prouveur qui ramasse les assertions devant.Un leurre deux voies plus loin qui écrase les bugs.Un oracle qui ralentit le temps quand le danger vient.Un témoin derrière vous qui ramasse lemmes et couverture.Un bouclier à lui seul toutes les vingt secondes.Le premier dépassement d'une borne est pardonné.Les points de couverture valent le double.Voir à travers le non-déterminisme.Le saut se recharge plus vite.Le combo survit à un crash.Les changements de voie sont plus rapides.Assertions valant moitié plus, mais plus vite.Plus lent, mais les assertions valent moins.Les explosions d'états durent moitié moins.Les boss subissent moitié plus de dégâts.Les compagnons redémarrent deux fois plus vite.L'élagage dégage aussi les voies voisines.L'élagage se recharge plus vite.Les rangées portent plus d'assertions et de lemmes.Invariant : bouclier levéSolveurTraceCompagnonsDoréeAssertion dorée prouvée+1 passage fantômeHorloge lenteTrace de rechangeVirages secsChanceuxBonne affaire
Des agresseurs martèlent des lignes d'une banque DRAM et chauffent leurs voisines jusqu'à faire basculer leurs bits. Rafraîchissez une ligne avant qu'elle ne chauffe trop. Vous avez trois rafraîchissements, et chacun revient au bout d'une seconde. Tenez une banque quarante secondes pour la valider et ouvrir la boutique.
RafraîchissementsDe justesseBanqueTempsBasculements restantsTenez les lignes.Touchez une ligne ou tapez son numéro pour la rafraîchir. À court de rafraîchissements, un toucher met la ligne en file. Espace pour un rafraîchissement global.Touchez une ligne pour la rafraîchir. À court de rafraîchissements, un toucher met la ligne en file. Le rafraîchissement global est dans le cadre.Bits basculés.De justesseRafraîchieBit basculé !De justesse{n} alertes sur ce bank+1 correction ECCRafraîchissement globalNouvel agresseur : {name}MarteauSprinteurCrabePaireMarteau furtifSaute au hasardSauts rapides, coups légersAvance ligne par ligne, frappe fortMartèle une ligne des deux côtésSe cache après chaque sautVentilateurCanariSentinelleIl refroidit la ligne la plus chaudeIl chante quand une ligne chauffe et picore la furtivité des marteauxLes marteaux qui atterrissent à côté rebondissent{name} rejoint la banqueLa banque s'agrandit : +{n} lignesSuite : {name} · {s} sPlus de lignesLigne doréeCui-cui !RepousséRechargePlus de rafraîchissementEn file {n}Retirée de la fileBank {n} sur {m} tenuMémoire tenue.10 banks à tenirBank {n} sur {m}Nouveau : martèlement des deux côtésNouveau : la chaleur atteint deux lignes plus loinNouveau : les agresseurs se cachent après un sautCorrigé par l'ECCLe robot TRR a rafraîchi une ligneRoi Marteau expulséLa Presse expulséeFantôme expulséPic thermiqueRafale de froid : jetons rechargésChute de tension : un rafraîchissement coûte deux jetonsNettoyage ECC : +1 correctionRemappage : deux lignes échangéesLigne dorée : gardez-la froideLigne dorée restée froideLigne dorée perdueRoi MarteauLa PresseFantômeFrappe le plus fortTrois lignes à la foisVisible seulement quand il frappeChaque ligne est à moi pour marteler.Pourquoi frapper une ligne quand je peux en frapper trois.Rafraîchissez ce que vous ne voyez pas.Détrôné.Aplatie.Rendu visible.ProtégéIl est vulnérable juste après s'être posé : rafraîchissez alors une ligne voisineElle se repose après chaque coup : rafraîchissez alors une ligne sous elleIl apparaît quand il frappe : rafraîchissez alors une ligne voisineBalayage du botJeton en plusChargeur rapideECCRafale turboBanque de rechangeRobot TRRCapteurRefroidisseurNettoyeurLongue fileSurrégimeLignes blindéesBouclier thermiqueDissipateursAnti-chute de tensionMains chaudesMarteau étourdissantCombustion lenteGrand froidPuissance des dissipateursAlerte précoceNez d'orBalayage rapideDouble balayageFrein à bossLimitation de vitesseRafraîchissements en chaîneUn jeton de plus.Les jetons reviennent plus vite.Un basculement de bit de plus absorbé par banc.La rafale se recharge plus vite.Une vie de plus.Un bot TRR qui refroidit la ligne la plus chaude.Voir où les marteaux frapperont ensuite.Les lignes chauffent dix pour cent moins vite.Une charge ECC toutes les quinze secondes.Jusqu'à cinq lignes en file.La rafale gèle les marteaux deux secondes.Les lignes faibles supportent un peu plus de chaleur.Les pics thermiques sont moitié moins chauds.Un dissipateur déjà installé.Une chute de tension ne double plus le coût.Jetons rapides, mais les lignes chauffent un peu plus vite.Un rafraîchissement sous un marteau l'étourdit.Les lignes chauffent moins vite, mais les jetons reviennent moins vite.Un rafraîchissement refroidit deux fois plus les voisines.Les dissipateurs réduisent la chaleur au tiers.Les lignes préviennent plus tôt.Les lignes dorées valent le double.Le bot balaie plus souvent.Le bot refroidit une ligne de plus par balayage.Les boss sautent plus lentement.Les marteaux sautent plus lentement.Des rafraîchissements rapprochés rapportent plus.ContrôleurMémoireBotsDissipateur installéMains fraîchesMurs épaisFusible de rechangeRafale viveBonne affaire
Score0
Bugs trouvés0
Combo×1
Puce1
Vies3
Temps0:40
Record0
NiveauNiv. 1
En pause
Arbre de compétences
Score
Nouveau record !Campagne terminée{name} arrive{name} droit devant{name} après cette vague{name} est enragéPhase {n} : {name}Phase {n} sur 3{name} niveau {n}Touchez pour passerVerrouilléAu maximumNécessite {name}Touchez un maillon pour le voir. Les pistes s'allument à mesure des achats.Niveau {n} sur {m}À la place de {name}À mi-chemin{n} valeurs restantesPlus que {n} assertions{name} vous a eu. {hint}Reprendre · {level}RecommencerPartie repriseRecord : niveau {n} sur {m} · {b} boss vaincusJeu {n} sur 4 · {name}Oui, c'est un jeu. Appuyez sur Jouer, j'explique en route.Quatre jeux, un par thème de recherche. Commencez par celui-ci.Bugs, teinte, preuves et DRAM. Choisissez un onglet, appuyez sur Jouer.Dépensez vos points ci-dessous, puis appuyez sur Continuer · {n}Touchez un atout pour continuer · {n}RecordBelle sérieEn feuImparable{n} pointsPoints : {n}{n} pointsNiv. {n}Niveau supérieur !Niveau {n}Choisissez un atoutDes points bien dépensés sont des points bien fuzzés.Le relecteur 2 trouve le harnais très bien. Le relecteur 2 a tort.Tout ici est relu par les pairs. Par moi.Ni repris ni échangé. Le tape-out est définitif.Excellent choix. Probablement.Vendu. Ne lisez pas la fiche d'errata.C'est mon préféré. L'autre aussi.Au plaisir. Attention à la morsure.La puce a été livrée quand même. Elles le sont toujours.C'était un contre-exemple. Écrivez-le.Les bugs, ça arrive. Demandez à n'importe quelle fiche d'errata.Le silicium ne pardonne pas. Le café aide.Promu. Les papiers sont sur votre bureau.Niveau supérieur. Toujours pas titularisé.Déjà plus fort. Choisissez bien.StagiaireDoctorant·ePostdocProfesseur·eÉmériteRang au labo : {rank} · {xp} XP · {n}/4 jeux au-delà du niveau 5Débloqué : {name}Bourse de fuzzingAcolyte traqueurPreuve de refroidissementTrace en chocolatSecret débloquéTouchez sept fois la grande puce en haut de la pageMode chocolatMode chocolat désactivéPuce du jour · {date}D'aprèsArcadeÀ jouer chez ChocoLab, NUS Computing