Phrack Profile

NOTES DES TRADUCTEURS :

  Ce prophile a été réalisé sur quelqu'un de complètement saoul ... en
dehors des fautes de frappes, des erreurs, et autres, il a été très
difficile de trouver un sens dans la pluspart des phrases.
  
  Si on ajoute que Tiago aime faire des non-sens et des phrases qui ne
veulent dire quelque chose que pour lui ...
  
  On vous conseille la version anglaise, qui ne contient pas nos fautes de
traductions, mais on pense que de toute façon, elle ne sera pas plus
compréhensible que cette version française ...

  Aryliin et TboWan, pour arsouyes.org

phrack.org:~# cat .bash_history

                             ==Phrack Inc.==

               Volume 0x0b, Issue 0x3f, Phile #0x04 of 0x14

 |=---------------=[ P R O P H I L E   O N   T I A G O ]=-----------------=|
 |=-----------------------------------------------------------------------=|
 |=------------------------=[ Phrack Staff ]=-----------------------------=|
 
 
 

 
 |=---=[ Specification
   
                   Pseudo: tiago
                    Alias: module
        Origine du pseudo: Laisse moi appeler ma mère et demander, juste
                           une seconde...
                           ok; "C'était soit pedro henrique, soir tiago,
                           mais apres avoir cherché des raisons pour
                           trancher on a décidé de lancer une pièce : face".
               Le trouver: En produisant quoique ce soit pour attirer mon
                           attention et vous aurez le retour attendu.
       Age de votre corps: 24
               Produit en: île paradisiaque dans le sud-est

          Taille et poids: 178cm, 70kg
                     Urlz: .
              Ordinateurs: SGI Indy (R4600PC at 100MHz, 128MB RAM, 2GB
		           hdd), Sun Ultra-10 (UltraSparc IIi at 440MHz,
			   1GB RAM, 9GB hdd), Portable Toshiba Portege 4005
			   Intel P3 at 800MHz, 512MB RAM, 20GB hdd).
                Membre de: Teletubbies
                  Projets: Plusieurs aspects de la théorie des ordinateurs.
                           Ingénierie logicielle : interprétation abstraite,
                           transformation de programmes, reverse
                           engineering, etc.
                           Cryptographie appliquée pour le travail. J'aime
                           la conception hardware, le piratage de 
                           conception/implémentations de systèmes
                           d'exploitation, l'exploitation de problemes de 
                           conception/implémentation de logiciels. Tout ce
                           qui actuellement attire mon attention pour une
                           raison quelconque 

 |=---=[ Choses préférées
   
   
   
           Femme: je veux un petite pipe, s'il vous plait
                  (en fraçais dans le texte)
        Voitures: Je ne sais pas conduire
      Nourriture: taco-taco brrrito-brritooo
          Alcool: mélangé avec du Benflogin
           Music: Symantec iz in tha houuuuuuuuuse!!!!! c'mon
	          c'mooooooon sing sing! see tha solution! Symanteeeec,
		  revoooolutiooooon... we give yooooooouuu... sweet
		  soluttiooooonnss o /o o /o/ We! got your personal
		  firewalllz! ... dunt dunt..
		  -> http://www.phrack.org/symantec_fancyness.mp3,
		     por favor.
           Films: GOBBLES.avi
Livres & auteurs: Héhé, les livres sont cools q:D -- Les trucs qui ont
                  été remarquables récemment. Je lit encore :
                  . Evariste Galois, aimé des dieux, infeld
                  espagnol, par Siglo Veintiuno Editores);
                  . Architecture des ordinateurs: une approche quantitative
                    hennessy & patterson (anglais, par MK);
                  . Synopsis de psychiatrie, kaplan &
		    sadock (anglais, LWW);
                  . L'art de la programmation des ordinateurs, vol. 1-3, 
                    knuth (3eme Ed., Addison Wesley) -- <3 dutchy;
                  . Systems and Theories in Psychology, marx & hillix
		    (portugais, by Alvaro Cabral);
		  . Psycologie cognitive et ses implications, anderson
		    (portugais, by LTC);
		  . Théorie axiomatique des ensembles, bernays (anglais, by Dover,
		    2eme Ed., 1968-1991);
                  . La fin de la modernité : vattimo (portugais, par Martins
                    Fontes);
                  . Fondement pour la métaphysique des mœurs, kant( anglais,
                    par H.J Paton);
                  . Introduction a la métaphysique, heidegger (anglais, par
                    Gregory Fried et Richard Polt);
		  . Principia Mathematica, russel (anglais, par Cambrige
		    Mathematical Library, 2eme Ed., 1927-1997);
		  . Uber formal unentscheidbare Satze der Principia
		    Mathematica und verwandter Systeme, I, gödel (anglais,
		    par B. Meltzer);
		  . Tractatus Logico-Philosoficus, wittgenstein (anglais,
		    par Routledge & Kegan Paul);
                  . A Philosophical Companion to First-Order Logic,
		    hughes (anglais, par R.I.G.);
                  . Liberté et organisation 1814-1914, russel (anglais,
                    par Routhledge);
                  . L'ethique, spinoza (anglais, par Hafner);
                  . La preuve de Gödel, nagel et newman (anglais, par NYU);
                  . La généalogie de la morale, nietzsche (anglais, par
                    Douglas Smith);
                  . Théorie des matrices, perils (anglais, par Dover,
                    1958-1991);
                  . Algebre moderne, warner (anglais, par Dover,
                    1965-1990);
		  . Security Assessment: Case Studies for Implementing
		    the NSA -- National Symposium of Albatri;
            Urls: www.petiteteenager.com
          J'aime: Faire Héhé
      Je déteste: Ne pas faire Héhé
                                                                            
 |=---=[ Vie en trois phrases               

 DG = DH - TDS

 |=---=[ Passions | Que fais tu actuellement

 Trop complexe pour etre décrit avec des mots : totallement indécidable;
 ne peut pas être resolu avec quelque algorithme que ce soit -- que ce soit
 en anglais ou en portugais, ... Ne peut pas etre reconnu par machine de 
 Turing qui termine quelque soit ses entrées ... sauf les noix de coco !
                                                               
 |=---=[ Quelle recherche as tu fait ou laquelle t'a donné le plus de plaisir

 Tout ce qui m'arrete, et extra-ordinairement, les questions
 extra-ordinaires.

 |=---=[ Experiences mémorables

 Aller a l'encontre de ma famille et rester toute la nuit devant mon
 ordinateur. Pour me permettre d'avoir du plaisir et de me sentir mal.
 Rechercher un travail utopique. Aller dans le Brézil du sud, à Mexico et
 au Brézil du nord-est pour le trouver. Rencontrer en vrai les gens que
 j'ai rencontré durant cette quête, voir l'histoire que j'ai vu défiler
 devant mes yeux a chaque endoit ou je suis passé. Etre saoul, etre sobre,
 chuter et décroitre. Foirer et faire Héhé encore. Et encore.

 Ressentir, avoir froid, croire et être agnostique. Se battre. Avoir des
 filles pour le plaisir, et se détruire pour les leurs. Faire des canulars
 téléphonques, faire le tour des bars, écrire, compter. Stopper.

 Chercher des requins, surfer, casser ma destinée. Aller et insciter les
 gens a faire de meme.
 
 Etre.

 |=---=[ Quotes
 
 . HéHé
 . o/
 . /o
 . J'aimerai être mort ansi je pourrait etre heureux et sauf !
 . o
 . q:D
 . :S
 . Tu ferais mieux d'appeler quelqu'un d'intelligent !
 . o
 . :/
 . Je préfère avoir 300 bières par mois qu'une éducation formelle
 . /o/
 . <3

 |=---=[ Interview ouverte - Questions générales barbantes
 
 Q: Quel a été ton premier contact avec les ordinateurs?
 R: Depuis que je suis tout petit, j'ai l'habitude d'aller chez mes 
 grand-parents le week-end. Quand j'ai eu 8 ans, j'ai commencé a m'amuser
 a aller renifler du coté du laboratoire éléctronique de mon oncle, situé
 derrière sa chambre (ce mec a un diplome d'ingénieur en éléctronique à
 l'heure qu'il est). Des expériences attrayantes autour de ça, je peux
 dire que j'en était devenu fou -- sérieusement. Des encyclopédies, en
 passant par des pièces de plastique, jusqu'aux VCR cassés et des TV
 ouvertes. Certains samedis, quand j'avais 11 an, le petit Tiago jouais
 dans cette pièce. Je peux me rappeller clairement grimper (style theo)
 dans le cagibi, chercher après de chouettes objets, quand je suis tombé
 face à cette boite ; je l'ai prise, je l'ai ouverte, et j'étais face à un
 ordinateur. Assemblé par une usine brézilienne, c'était un CP200 avec une
 carte mère basée Z80A CORE. On aurait pu voir le petit Tiago HéHéer pour
 ce truc merveilleux. Ça a duré 3 mois, jusqu'à ce que le cable qui
 connectait le clavier ne casse -- R.I.P. 3 mois, c'était assez pour que
 j'ai les bases du BASIC et abstraire cette chose merveilleuse. Le temps
 passa et je n'eu plus la possibilité d'avoir un ordinateur. En janvier
 1996, j'alla à Sao Paulo, en vacances. Je suis resté avec un oncle, qui
 avait une compagnie dans laquelle il y avait des machines sous DOS,
 maintenues par un programmeur Clipper. Je me souvient parfaitement qu'on
 m'ait "appris" comment allumer l'ordinateur et tapper les touches. Très
 peu de temps après, on m'apprenait ce jouet fabuleux qu'est PCtool --
 vous suivez ? Oui, le petit Tiago de 15 ans, qui pouvait juste allumer la
 machine, faisait ses premiers pas en reverse engineering. 15 jours, c'est
 le temps exact où j'ai pu y jouer. Ensuite, plus d'ordinateur. Août 1999,
 papa rentre à la maison avec une station Packard Bell. C'était un Pentium
 MMX à 166MHz avec 16 Mo de RAM et 3.1 Go sur un disque dur IBM. Et pas
 seulement, il y avait aussi du multimédia et cette grande chose qu'est le
 modem. Il contenait et fonctionnait gràace à Windows 98. Waouw ! Tiago eu
 son premier ordinateur moderne. Oui. Mais attendez, ou est mon écran noir
 remplis de nombres inintelligibles tous verts ?! Et Merde !
 Frustrations... du temps passe ... Internet ! du temps passe ... ICQ ! du
 temps passe ... IRC, #hacking. "'lut, clique sur le menu démarrer,
 exécuter. Maintenant, tape telnet huhu.fancyworld.net 1470" -- l'orgasme
 -- Il eu lieu jusqu'à ce que je demande ce que signifiaient ces mots
 magiques. Et alors ça commença... HUUUU ! Coder !  HUHUHUHHUHHU
 HUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHU :D:D:D q:D o/ o /o/ /o/ /o o/
 Oui, mais cette image de chiffres verts sur fond noir n'a jamais quitté
 mon esprit, et j'ai eu besoin de descendre vers des niveaux plus bas...
 et j'y suis allé, et je continue, je ne l'atteind jamais, ça n'en fini
 jamais.
 Attend, je voudrais faire un commentaire a the belou, lammer : Il n'y a 
 aucun interet a écrire des zéros-day si tu ne les utilises pas! Mais de
 rien.
 
 Q: Quel a été ton premier contact avec la sécurité informatique et a
 quelle point
 est-ce important pour toi par rapport a ton interet pour les ordinateurs
 en général?
 A: Pour finir avec l'histoire d'au dessus. Apres que j'ai rencontré
 quelques autres
 noix de coco qui ont été responsables de ma première véritable aventure en
 sécurité.
 Ca a été un grand choc : lire des phrack et faire HUHU, lire du code, ne
 pas avoir
 cette putain de solution sur ce qu'il se passe, et avoir été des jours
 eveillés jusqu'a
 ce que je puisse me faire une petite idée. Etre ennuyé par les choses
 "habituelles", 
 faire un doigt aux jeux et pouvoir enfin jouer comme je veux.
 Quelle importance ? Je me suis transformé en une nouvelle forme de noix de
 coco.
 
 Q: A avoir été relativement séparé de la "scène" en général, quel est ton
 opinion sur le concept de "La scène" et ta distance par rapport a elle
 (qui existe certainement) est-elle délibérée?
 A: A ce que je peux voir, c'est juste une autre société autour de nous. 

 Pendant que se déroulait mon "entrée", je tentais de rester de plus en
 plus détaché de cette "scène". Mon être a été lancé en dehors de la scène.
 Tout ce que je voulais était de m'assoir et de hacker. Je ne pouvais pas
 la digérer et elle ne pouvait pas me digérer. Je me suis assi, j'ai joué,
 je vous ai regardé les mecs.
 
 Q : En fait, est-ce que ce concept de "scène" ne serait pas une espèce de
 grosse connerie de corrélation sociale et d'acceptabilité ?
 A : C'est "normal", forcément. rien que je ne vois pas quand je vais à la
 boulangerie ou un club avec des amis. Les gens "semblent", les gens
 percoivent, les gens infèrent -- les gens jugent en fonction de leur
 contexte d'apriori. 
 Que suis-je en train de faire ?
 
 Q : Que pense-tu du Phrack Magazine ? Penses-tu qu'il doit être
 "réssucité" ou continué d'être maintenu ? Si c'est le cas, penses-tu qu'il
 devrait changer certains themes d'une certaine façon (puisque beaucoup
 suggèrent que phrack n'est plus un magazine de hacker mais une connerie de
 fame académique prémachant le travail pour les boites de sécurité
 informatique) ? Ou préfèrerais-tu que phrack publie exclusivement des
 critiques de films et des recettes de cuisines ?
 A : Ça a été responsable de plein de HU cognant dans ma tête. J'ai sauté,
 je me suis bourré, blessé et guéri. Ça m'a donné des idées, ça m'a mené à
 plein de résultats, où tout ces résultats entre ces événements ont été
 responsable de garder cette noix de coco continuer. Continuer est le but,
 pourquoi s'arreter ? Je commencais à m'ennuyer avec les articles, oui.
 Mais je pense que c'est plus parce que j'ai changé que parce que le
 magazine aurait changé. Cependant, je vois quelques grosses tendances
 d'articles (comme réflection de la scène) convergant toujours vers le même
 endroit et y restant bloqués, dans une itération ennuyeuse qui ne fini
 jamais. J'ai joué avec l'environnement d'exécution de Linux et les specs
 techniques qui y sont liées, mais ensuite, je suis passé à quelque chose
 d'autre -- mais toujours le même jeux, maintenant avec PalmOS ou
 simplement en jouant avec l'Optimisation, l'Obfuscation, ou de pirater le
 drivers IrDA de mon portable. Comment les gens peuvent-il écrire ce que
 vous appellez des "shellcodes" pour toutes les architectures, systèmes
 d'exploitations, ABI supportées, ISA supportées, et autres ? N'est-ce pas
 un problème de récupérer le manuel ? Pourquoi discutter sur le format EMF
 et le système de liaison dynamique d'une plateforme spécifique sans aucune
 "améliorations" (prenez le comme un gros boom, je ne pense pas que que ça
 vaille la peine de définir le mot ici) dans une "technique de hack" ? Je
 pense que c'est ça qui sucks dans phrack de nos jours. Sur le style
 académique, j'ai moi-même des problèmes avec le formalisme. Ce que
 j'apprécie vraiment dans phrack, par exemple, est ce m-niveau de
 formalisme comparée à l'académique. Je pense qu'il est très intéressant le
 fait qu'on puisse soumettre une technique de compilation avec quelques
 restes élémentaires sur le sujet, dans un format non défini ou façon
 synthaxique. Si les gens derrière ça pense que le contenu est bon, ça va
 le faire. Bien que je pense aussi qu'un minimum de formalisme soit
 nécessaire, sinon, ça laisse trop de place à exposer des erreurs, et je ne
 pense pas qu'il soit cool pour des gens de lire des "Assembly HOW-TO's"
 qui nous "apprennent" l'utilisation de certaines "instructions" pour une
 plateforme spécifique, dans un contexte très restreint et fait croire au
 lecteur qu'il comprenne cet univers.
 
 Sur la fame : malhonnète mais attendu -- j'ai envie de vomir chaque fois
 que je pense aux mythes, cependant, si je régurgite ces mythes seront
 rendu à l'air libre, comme des ulcères gastriques, venant de moi-même.
 J'aimerais voir une critique d'une collection /home/PORNO, en fait. Et
 j'espère vraiment avoir un peut de nourriture dopante française [NDT :
 dope french food] d'ici la fin de l'année, oh oui.

 Q : Qu'as-tu à dire à propos de l'opposition whitehat/blackhat qui a reçu
 plus d'attention ces dernières années et que répondez-vous aux gens qui
 vous appellent un whitehat parce qu'un de vos projet était de porter PaX ?
 
 A : Comment m'appelerait-ont si je courais dans ces cercles et pleurer
 tout en portant des vêtements oranges ? Teletubbie ?

 Q : Comment qualiferiez vous l'underground Hacking en 2005 ? Beaucoup de
 gens pense qu'il n'y a plus d'underground à cause de toutes ces conneries
 commerciales autours de la sécurité. Des commentaires ?
 A : Je crois que penser à ça est un act d'oubli. Vous pourriez être
 capable de déterminer certaines caractéristiques et classifier les entrées
 et sorties du processus. Cependant, comme le développement du processus
 deviendrait plus fort, ses force de transformation augmenterait autant,
 donc, le nombre de "branches-idéales" à l'intérieur de ce groupe social
 tenderait à augmenter et réagir entre elles. Comment sont Montmartre et
 Montparnasse de nos jours ?
 
 Q : Qui sont tes héros de sécurité informatique et pourquoi ?
 A : J'ne ai beaucoup, sérieux -- je suis sacrément chanceux de pouvoir
 rencontrer/connaître certain d'entre eux. Mais quelle différence ça ferait
 vraiment si je vous les nommaient ? Les héros sont miens, les putains de
 mythes sont miens.
 
   Q: Coxinha+guarana ou échange de 0-day?
   A:

 Q : Comment définis-tu le terme "hacker" ?
 A : Je croit que des références symboliques déterminent un "fait". Une
 représentation linguistique d'un type de réalité de quelqu'un, à un
 certain moment. Quand l'Être de cet être change, alors en va la perception
 de ce fait. Quand nous sont tels, ou même Rien, interraction, l'entropie
 augmente et les faits tendent à être plus déformés. La technique aide le
 processus, comme le media d'information devient plus puissant et
 globalement plus répendu. Consummate Nihilism. Je pense.

 Q : Continuons, avoues. Tu es brésilien après tout, donc, donne les sites
 que tu as défacé.
 A : JOYEUX ANNIVERSAIRE!!!!!!!!!!!!!!!1

 Q : Si tu avais du sexe avec route, serais-tu au dessus ou en dessous ?
 A : Je tenterais les deux. Je tenterais d'autres choses. Par contre, je ne
 serais vraiment intéressé que par les muscles, tatouages et les armes :D
 
 Q.1. : On a entendu que tu étais le type qui avait instruit
 pageexec@freemail.hu sur Pax. Est-ce vrai ?
 Q.2. : Quelles étaient tes motivations de porter PaX sous MIPS, quels
 étaient les plus gros problèmes que tu as rencontré et comment les as tu
 résolus ?
 A : Instruit ? Je ne pense pas :>. Il y a cette histoire sur
 l'impossibilité de PAGEEXEC sous les ordinateurs MIPS, initié par le génial
 Théorique de Raadt {[1], [2]}.
 Motivations : je pensais juste que ça serait fun d'essayer de prouver que
 c'est faut et de jouer un peut. Finalement, j'ai simplement trouvé que
 j'avais tord. Pour l'instant du moins :>
 

 
 [Attention]
 
 J'aimerais prévenir que je suis SAOUL, au Bulas, ayant une chouette soirée
 du nom de "Tango's bday" : joyeux anniversaire, Tango!!!" pas d'aide, bro
 ;> juste de la bière et la santé!


 [Première approche]
 
 Essayer de jouer avec le catching system. Raté.
 

 [De la mailing liste Linux-MIPS]
 
 "PAX ne peut pas être entièrement supporté sous MIPS; l'architecture n'a
 pas de flag no-exec dans ses pages. La doc de PAX sont des conneries au
 fait. la protection d'exécution ne requièrent pas une division des TLB et
 de toutes façons, les uTLB MIPS sont divisées." -- Ralf
 

 [Réponse] (Malgré le fait que Ralf, un de mes allemands fantaisistes, a
 raté complètement le truc du projet PaX)
 
 Je vois que MIPS a des TLB divisées, mais elles ne peuvent pas être
 distinguées au niveau logiciel, d'un autre côté. Donc, quand un défaut de
 page a lieu, je ne vois pas comment un morceau de (non-micrododé)
 gestionnaire d'exception puisse savoir si le I-Fetch est fait depuis la
 "zone de code" ou une tentative d'exécution d'une charge utile injectée
 dans la mémoire supposée ne contenir que des données
 lisibles/inscriptibles. Plus le fait que la JTLB contient des références
 vers les données et le code ensemble dans un cache de translation
 d'adresses. Plus la situation comme les translations démappées kseg0 et
 kseg1, qui auront lieu en debors de tout TLB (dont l'adresse virtuelle est
 soustraite de 0x80000000 et 0xA0000000 respectivement pour avoir la
 localisation physique), faisant, comme vous avez mentionné, que diviser
 les uTLB (sans compter le cas special kseg2). Mais PAX fait aussi
 attention à la sécurité niveau noyau. Même si MIPs divisait les unités de
 cache (ce qui peut être vérifié séparément par logiciel) ne rendrait pas
 l'approche faisable car si vous avez un morceau de données précédement
 mise en D-cache (chargement/stockage) la ligne du cache devrait être
 invalidée et le contexte sauvé dans l'I-cache avant que l'étape du pipe
 I-Fetch ne réussisse.
 
 En fait, la protection d'exécution (de manière générale) ne requièrt pas
 de TLB divisée. D'autres solutions conçues et implémentées par PAX sont
 SEGMEXEC (utilisant des fonctionnalités spécifiques de segmentation sur
 les coeurs basés x86), et MPROTECT. La dernière utilise vm_flags pour
 controler toutes les états de correspondance mémoire, garantissant qu'ils
 ne détiennent jamais VM_WRITE | VM_MAYWRITE en même temps que VM_EXEC |
 VM_MAYEXEC. Mais comme la solution devient plus complexe, elle tend a
 avoir plus d'implications. D'abord, elle ne serait pas aussi simple et
 "automatique" que le contrôle par page. Un autre point est que cette
 solution de préviendra pas des attaques au niveau noyau et donc, parmis
 d'autres, n'importe quelle corruption dans ce niveau permettrait une
 manipulation directe des flags de mapping des tâches.  Finalement, un
 problème connu est celui d'un attaquant qui est capable d'écrire sur le
 système de fichier et re requérir qu'un fichier soit mappé en pépoire
 comme PROT_EXEC. En d'autres mots, oui il est possible de réaliser la
 protection d'exécutions d'une autre manière, mais pas aussi précise qu'au
 niveau des pages.
 
 
 [Seconde approche]

 "Plus le fait que la JTLB contient des références vers les données et le
 code ensemble dans un cache de translation d'adresses." a été d'un
 problème vers une solution, quand on en a discuté avec l'équipe de PaX.
 
 L'extrait :

 "Plusieurs correspondances : si plus d'une entrée dans la TLB correspond à
 une adresse virtuelle translatée, l'opération est non définie." de [3].

 L'algorithme :

 - Depuis le gestionnaire d'exception Refill, vérifier le fetching type {
     * _EPC = EPC;
     * if CP0(Cause(BD)) [
         . _EPC += 4;
     ]
     * compare ( CP0(_EPC) , CP0(BadVaddr) ) [
         . if TRUE  ( I-Fetch );
	 . else     ( D-Fetch );
     ]

     * I-Fetch [
         . construit le PTE valide et le charge normelement dans la J-TLB ;
     ]
     * D-Fetch [
         . contruit un PTE valide et le charge dans la J-TLB;
	 . le forcer à être chargé dans notre gentille entrée dans le D-TLB (

	     __asm__ __volatile__ ("lw %0,0(%1)"
	                       : "=r" (user_data)
			       : "r"  (address));
         )
	 . construire un PTE invalide, pour le même ASID/VPN, marqué par PaX (

	     static inline pte_t pte_mkpax(pte_t pte)
	     {
                  pte_val(pte) &=~(_PAGE_READ|_PAGE_SILENT_READ|_PAGE_DIRTY);
             }

	 )
	 . charge l'entrée invalide dans la J-TLB
     ]
 }
 
 La conjecture :
 
  Si un I-Fetch a lieu à cette (précédement marquée par PaX) page, le
 circuit de tri du TLB devrait prendre l'entrée invalide de la J-TLB, la
 charger dans l'I-TLB et générer un deuxième défaut de page en essayant de
 faire usage de l'entrée.
 
 - Depuis le gestionnaire d'exception Refill, vérifier le fetching type {
     * _EPC = EPC;
     * if CP0(Cause(BD)) [
         . _EPC += 4;
     ]
     * compare ( CP0(_EPC) , CP0(BadVaddr) ) [
         . if TRUE  ( I-Fetch );
	 . else     ( D-Fetch );
     ]

     * I-Fetch [
         . for PaX marked pages (
	     pax_report_fault(...);
	     do_exit(SIGKILL);
	 )
	 . for non PaX pages, construire le PTE valide et le charger 
	 normalement dans la J-TLB;
     ]
 }
 
 
 [L'expérimentation] 
 
 L'ordinateur :
 
  IDT 79RV4600-100, 128MB of RAM.
 
 - Code exécutif {
     * joue avec CP0(Index);
     * joue avec CP0(EntryLo)'s flags;
     * joue avec CP0(Wired);
 }
 - Transférer le Translation Lookaside Buffer vers le disque {
     * regarder après des schémas;
 }
 

 Le code utilisateur:

   #include <stdio.h>
   #include <unistd.h>
   #include <stdlib.h>
   #include <fcntl.h>
   #include <sys/mman.h>
   #include <asm/page.h>



                                        /* jr  ; nop */
   const unsigned long	payload[] = { 0x03e00008, 0x00000000 };


   int
   main(int argc, char **argv)
   {
   	unsigned long	page,
			vpn;
	void		*vaddr;
	int		fd;


	/* mmap itself won't load/store the page, which means a virgin
	 * place so we can be the fault's EPC.
	 */
	if (argv[1]) {
		fd = open(argv[1],O_RDWR);
		vaddr =  mmap(0, PAGE_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE,
				MAP_PRIVATE, fd, 0);
	} else {
		/* malloc's internals stores then loads somewhere in
		 * the page range, it will generate our fault.
		 */

		/* This is ridiculous, but MIPS glibc's
		 * does brk(PAGE_SIZE * 33) even if you
		 * just want to malloc(few bytes), normally you get:
		 * -> brk (0x10001000 + (PAGE_SIZE * 33))
		 * 
		 * If malloc requested size > 33 pages then it old_mmap
		 * PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS
		 *
		 * Even funnier cause as far as I can tell glibc
		 * assumes size >= 32 (instead of 33) to then
		 * get_unmapped_area....
		 *
		 * Thinking about the whole MIPS architecute i can't
		 * think of anything that could justify this crap.
		 */
		vaddr = malloc (33 * PAGE_SIZE);
		memcpy(vaddr, (void *) payload, 8);
	}

	page = ((unsigned long) vaddr & (PAGE_MASK));
	vpn  = ((unsigned long) vaddr & (PAGE_MASK << 1));


	printf("Payload   @    %08lxn", (unsigned long) vaddr);
	printf("CP0_BADVADDR : %08lx [VPN = %08lx]nn", (page+8), vpn);

	/* I-Fetch vaddr */
	asm(
		"or	,,n"
		"jalr	n"
	: : "r" (page), "r" (((unsigned long) vaddr & ~(PAGE_MASK)))
	);

	return	page;
   }


 [Les résultats]

 Schémas :
 
 Pas de schémas. L'algorithme de tris semble indécidable depuis l'interface
 logicielle.
 
 
 - Exemple de sortie {

     surreal kernel: ######################################################
     surreal kernel: [do_page_fault] : Program      : Hello [3218]
     surreal kernel: [do_page_fault] : CP0_BADVADDR : 2aac3004
     surreal kernel: [do_page_fault] : EPC          : 2ab90928
     surreal kernel:   ---> TLBS Exception   (1000ffdb)
     surreal kernel:
     surreal kernel: ------------------------[BEFORE]---------------------
     surreal kernel: [__update_tlb] :  Program      : Hello [3218]
     surreal kernel: [__update_tlb] :  CP0_BADVADDR : 2aac3004
     surreal kernel: [__update_tlb] :  ASID         : 00000062
     surreal kernel: [__update_tlb] :  EntryHi      : 2aac2062
     surreal kernel: [__update_tlb] :  EntryLo0     : 32565e
     surreal kernel: [__update_tlb] :  EntryLo1     : 0
     surreal kernel: [__update_tlb] :  Index        : 45
     surreal kernel:
     surreal kernel:           ---- TLB Entries ----
      .............................................................
     surreal kernel: Index: 45 pgmask=4kb va=2aac2000 asid=62
     surreal kernel:    EntryLo0 : [pa=0c959000 c=3 d=1 v=1 g=0]
     surreal kernel:    EntryLo1 : [pa=00000000 c=0 d=0 v=0 g=0]
     surreal kernel:
     surreal kernel: ------------------------[AFTER]----------------------
     surreal kernel: [__update_tlb] :  Program      : Hello [3218]
     surreal kernel: [__update_tlb] :  CP0_BADVADDR : 2aac3004 [00000000]
     surreal kernel: [__update_tlb] :  ASID         : 00000062
     surreal kernel: [__update_tlb] :  EntryHi      : 2aac2062
     surreal kernel: [__update_tlb] :  EntryLo0     : 32565c
     surreal kernel: [__update_tlb] :  EntryLo1     : 3297dc
     surreal kernel: [__update_tlb] :  Index        : 47
     surreal kernel:
     surreal kernel:           ---- TLB Entries ----
      .............................................................
     surreal kernel: Index: 45 pgmask=4kb va=2aac2000 asid=62
     surreal kernel:    EntryLo0 : [pa=0c959000 c=3 d=1 v=1 g=0]
     surreal kernel:    EntryLo1 : [pa=0ca5f000 c=3 d=1 v=1 g=0]
     surreal kernel:
     surreal kernel: Index: 47 pgmask=4kb va=2aac2000 asid=62
     surreal kernel:    EntryLo0 : [pa=0c959000 c=3 d=1 v=0 g=0]
     surreal kernel:    EntryLo1 : [pa=0ca5f000 c=3 d=1 v=0 g=0]
 }
 - Exemple qui fonctionne {

     tiago@surreal(~)$ ./Hello
	 Payload   @    2aac3008
	 CP0_BADVADDR : 2aac3008 [VPN = 2aac2000]

	 Killed
     tiago@surreal(~)$ uname -a
	 Linux surreal 2.6.9-rc2 #125 Thu Oct 28 05:38:27 BRT 2004 mips unknown
	 tiago@surreal(~)$

      .............................................................

     surreal kernel: ################## EXECUTION ATTEMPT #################
     surreal kernel: [do_page_fault] : Program       : Hello [3218]
     surreal kernel: [do_page_fault] : CP0_BADVADDR  : 2aac3008
     surreal kernel: [do_page_fault] : EPC           : 2aac3008
 }
 - Raisons possibles {
     * timing;
     * stupidité;
     * ...;
 }
 
 Donc ? Regarder dans certains projets d'opencore.org et vérifier leur
 implémentation du circuit MMU pourrait me donner des idées.
 Ah ! Oui, à propos, si vous avez le projet HDL du MIPS standford, ou
 n'importe lequel de ses enfants, tenez moi au courant s'il vous plait --
 warez. Merci.
 

 [1] http://www.securityfocus.com/archive/1/333303/2003-08-09/2003-08-15/2
 [2] http://cvs.openbsd.org/papers/auug04/mgp00009.html
 [3] MIPS R4000 Microprocessor's User Manual, 2nd Ed. (p.62).
 
 
 |=---=[ Interview ouverte - Questions vraiment cools

 Q : Est-ce vrai que tu entretiens toujours des relations avec la team
 KIQ ? Quelle genres de missions as-tu fait pour eux ?
 A : je hais le soccer.
 
 Q : À quel point ta relation avec la scène des putes à moitiés mortes
 est-elle proche ? Parles nous des gangbang .ro/.br ...
 A : Le rapace qui est gros ?
 
 Q : Nous avons entendu parler que mayhem part dans ton pays pour fuir les
 lois fascistes, as-tu déjà essayé ELFsh ?
 A : Hrmmm, en fait c'est juste un jeu génial de vendeur de beuh. Quiness ?
 
 Q : Tu as déjà dis 4 fois dans le passé, après avoir posté des conneries
 dans dailydave, que tu ne recommencerais plus, mais tu poste toujours.
 Comment vis-tu cette dépendance ? Aucune idée de pourquoi aucun lecteur de
 cette mailing list ne comprend un mot de tes idées philosophiques ?
 A : 4 ? je l'ai dit 82 fois.
 Je ne pense simplement pas au sujet, c'est comme avoir avoir de l'aide et
 se sentir concerné.
 Êtes-vosu siphonés ? Je suis sur que je suis le seul retardé capable de
 comprendre mon symbolisme ;P
 
 Q : Coxinhaaaaa?
 A : Bico

 Q : Sur la philosophie, pourquoi as-tu fini dans CE monde ? Il y a des
 rumeurs qui disent que tu parles avec ton ordinateur de philosophies et
 lui demandant des commentaires avant de poster dans dailydave ?
 A : voir "Vie". Faux ! C'est pour ça qu'ils sux autant
 
 A : Absynthe?
 A : Escroc!
 
 Q : As-tu déjà essayé de mettre un peut de sens à tes idées philosophiques
 _sans_ effets de l'absynthe ?
 A : Bohèmes, Dan Frank. <3

 Q : Est-ce que le nombre de "hu" a une signification pour toi ?
 A: Huhuhuhuhuhu hu huhuhu
 
 Q : Y a-t-il une quelconque relation entre "hu" et "uh" ?
 A: Uh? Hu!
 
 Q: Absynthe?
 A: Espagne
 
 Q : Des rumeurs disent que l'équipe de PaX t'as fortement armé à être
 leurs salope MIPS, un commentaire ?
 A : :< Pas gentil. J'ai presque crié à cause de la /petite pipe/ [NDT : en
 français dans le texte].
 
 Q : Comment s'est faite la transition entre le patinage inline et
 l'assembleur inline ?
 A : Glissante...
 
 A : Laquelle est la plus grande ? scenewhores, la scène hacking ou la
 scène X-games ?
 A: 540 into True-spin kind grind, fake 360 out.
 
 Q : Que veut dire "hu" en fait ?
 A : veut dire ? :/
 
 Q : Quelle est ton opinion sur finger(1) ?
 A: HUHUHUHUHU q:D
 
 Q: Free [RaFa] ?
 A: Assied tois sur tes pieds
 
 Q : As-tu quelque chose à dire à tous les gens autour qui tentent de
 comprendre que connard tu es ?
 A : S'ils sont vraiment inquièts pour ça, ils peuvent arreter de chercher
 et commencer à pleurer.
 
 Q : Nous aimerions te félicité pour ton défaçement de Phrack Prophile
 réussi, et en fait, se débrouiller pour le distribuer. Comment l'_avais_
 tu enlevé ?
 A : Je ne l'ai pas fait :D
 
 Q : Peux-tu répondre à une question avec un paragraphe de moins de 20
 lignes de long ?
 A : Non.
 
 Q : Est-ce que ton amour pour MIPS a à voir avec le dessin animé "Coyote &
 Road Runner"
 A: "Voir MIPS marcher" ? [NDT : "see MIPS run"... il y a un jeu de mot
 avec "run" qui veut soit dire courir (et donc impliquer le dessin animé),
 ou fonctionner (et là, c'est l'architecture MIPS), difficilement
 traduisible :'(]

 Q : On a entendu dire que tu étais le fondateur de huhushmail ? Peux-tu
 éclairer nos lanterne de comment la sécurité par l'obscurité fonctionne en
 fait ?
 A : L'une d'entre elles, oui. Je dois accepter, bien que si je vous donne
 le moindre éclaircissement, je casserais le concept.
 
 Q : Peux-tu deviner quel sera ta prochaine réponse ?
 A : Non, mais je connais la question.
 
 Q : Aucune idée pourquoi Phrack ne devrait pas être renommé Phcrack ?
 A : À cause du prix des moustiques bleus de Tanzanie
 
 Q : CRUZEIROOOOOOO
 A : Chupame la pija, boludo maricon!
 
 Q : Quelle est la meilleure backdoor ? PaX ou grsecurity ?
 A : Pour être honête, je préfère la technique de backdooring iGOBLIN.
 
 Q : Quel pourcentage de cette intervew est dans l'humour que nos lecteurs
 ne comprendrons jamais ?
 A : 95.46008097%. Je devrais avoir les analyses graphiques dans peu de
 temps, depuis le très connus LRL -- Lance Research Laboratory. ;)

 Q : Comment ressent tu le fait d'être célèbre maintenant ? Comment ce
 prophile va changé ta vie pour le mieux ? Pour le pire ? Où des recruteurs
 peuvent te contacter ?
 A : J'ai déjà reçu 83 appels téléphonqiues, 68 messages par fax, et 3
 e-mails. Des Invitations de toutes les groupes fantaisistes d'elites
 hackers. Ça devrait aussi s'appliquer à la NSA -- National Symposium of
 Albatri. Je m'attend à pouvoir diminuer la pauvreté brézilienne et les
 attaques DDoS avec cice, en augmentant le nombre de défaceurs qui feront
 des courbettes devant ma magnifiscence. Je prévois aussi de devenir amis
 avec toues les elites hackers et pour être reconnu comme tel. Je serai
 beau, célèbre, aimé -- un super-héro !
 Je m'en prie.

 Q: DURA?
 A: Hooray pour Danny! *o/*

 Q : Que penses-tu de Richard Johnson de iDEFENSE ?
 A : Sûr : n'est pas un petit voleurs, il porte des préservatifs !
 
 Q : As-tu une idée de pourquoi Richard Johnson de iDEFENSE ne s'est pas
 encore suicidé ?
 A : Manque de fantaisie.
 
 Q : Qui est ton "hot shot hacker from texas" favori ?
 A Le KoolKrazyKlantastic -- fluffi leona o/
 
 =---=[ Commentaires en un mot
 
 [Donnez un commentaire en un mot pour chaquun donné à gauche]
 
 MOT ?                       : MOT !

 |=---=[ Une suggestion/commentaire/flame sur la scène ou quelqu'un de
 spécifique ?
 
 Ce ramassi de conneries donné plus haut veut dire quelque chose une fois
 fait. Fuck ces significations et implications politiques, bien que je ne
 puisse pas les éviter.
 Continuons.
 
 |=---=[ Clin d'oeil et remerciements

 Je ne crois pas au mérite. Le faire est aussi arbitraire de ne pas le
 faire. 

 Cependant, je veux étreindre quelques personnes;
 ma famille, mon stag, mon angliche de frère, mon tukey, mon albatros, mes
 creyss, mes grenouilles, mes hollandais, mes hongrois, le seul gars qui
 soit plus chaud qu'un vieil appartement, mon dot-pa-marine, mon waismo,
 mon joto, faggy, mon blanc américain blackhat, mon kurd, mon corcho, mon
 suédois, mon chef, mes fantôme, mon géant K-master analyseur linguistique
 métrosexuel, mon iGOBLIN sans-sourire, mon tibu, et TOUUUUUTE ma
 collection de copains fantaisistes!

 |=[ EOF ]=---------------------------------------------------------------=|