MIM and DDoS, soon to be oldies? ARISC, une architecture
Transcription
MIM and DDoS, soon to be oldies? ARISC, une architecture
GWOAM a Gentle Web Obfuscator with an Alearchic Method1 MIM and DDoS, soon to be oldies? ARISC, une architecture fiable2 ARISC = Architecture transverse pour un Réseau d'Information Sur et Certain Architecture « transverse » puisque prenant en compte tant l'architecture d'affaire, Business Architecture, que ses trois composants clés : applications, technologies et données (Application, Technology and Data Architectures). Réseau « Sur et Certain », puisque prenant en compte tant la sécurité, Security, que la sûreté, Safety, ce pour garantir confidentialité, intégrité et disponibilité (CIA), celles-ci assurées et grâce un World Wide Safe and Secure (W2S2) Repository, et grâce à une W2S2 Transmission sur tout protocole. D'où GWOAM, partie logicielle d'une brique d'architecture et de solution (Architecture/Solution Building Block). GWOAM, SPIEVEL, SEKNET d'une passerelle en rupture logique des flux vers un méta-réseau ARISC GWOAM est une passerelle assurant une rupture logique des flux. La rupture logique fait appel à deux principes de base : 1. rompre avec l'unité syntaxique des SI, l'octet. 2. rompre avec l'unité sémantique des SI, le fichier. Le principe d'émiettement répond aux deux, le principe d'assombrissement renforce les deux. Pour la rupture physique, voir la feuille de route et SPIEVEL (page 2). Le couple (émiettement, assombrissement), ou fracture3, fait que GWOAM répond naturellement à une évolution stratégique majeure des SI, l'architecture en nuage hybride, ce en répondant à trois de ses causes-conséquences technologiques principales (IPv6, BYOD et IoT) et à trois de leurs causesconséquences organisationnelles (ISO 9k, 11k & 27k, EAL, SA 8k)… le tout sans négliger les causesconséquences légales ou financières. Recette miracle ? non, couple d'innovations de rupture, GWOAM et MISTIC. Innovations répondant aux actuelles contraintes et exigences socio-économiques, contraintes et exigences liées aux évolutions des organisations et des infrastructures, évolutions résultant de et motivée par la criticité nouvelle d'un élément immatériel, l'information. 1 2 3 Les mots ont changé pour être vraiment liés à méthode, pas l'acronyme. Oui, ce type de jeux de mots stupides est une spécialité personnelle que je revendique de toujours pouvoir exercer. Avec l'avantage qu'aujourd'hui je peux prétendre que c'est une des nombreuses séquelles de ma cérébrolésion ☺ Fractale+Claire-Obscure // Rupture. Fin des jeux de mots, le reste du document ayant pour objectif de convaincre. GWOAM ARISC 1/9 Les principes par l'exemple Le principe d'émiettement L'émiettement se fait au niveau de l'alphabet… soit au niveau des bits pour les systèmes numériques. L'émiettement implique une résistance « force brute » de e!, où e est le facteur d'émiettement. Le facteur d'émiettement sera choisi premier avec 8, la taille des octets, pour obtenir une résistance encore plus forte au regard de l'a priori des SI : ( PPCM(e,8) )! Exemple fil d'Ariane humainement compréhensible4 que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ?5 devient une fois en 5 miettes, p.ex. : que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? Le principe d'assombrissement L'émiettement est précédé par un assombrissement visant à gêner/empêcher l'heuristique (VERNAM aléatoire) L'assombrissement permet d'éviter que l'information puisse être « facilement » retrouvée à partir d'un certain nombre de miettes… tout en pouvant être « facilement » restaurée si une miette, voire plus, venaient à manquer… mais uniquement en connaissant et le masque d'assombrissement et le facteur d'émiettement. Le masque d'assombrissement apporte une résistance de 2 |a|, où |a| est la taille du masque… en nombre de bits. Ici encore, prendre une taille première avec 8 permet d'obtenir une résistance plus forte (2PPCM(| a|,8) p.ex. pour des octets). Exemple fil d'Ariane (sauf erreur de ma part puisque c'est manuel) que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? ►assombrissement par 31415926535897932384626 : que j'aime à faire apprendre ce nombre utile aux sages. Archimède, immortel Archimède, qui de ton jugement peut priser la valeur ? rvf!k(bjnf!á!gbjsf!bqqsfoesf!df!oncsf!vujmf!bvy!tbhft/!Bsdijnéef-!jnnpsfm!Bsdijnéef-!rvj!ef!upo!kvhfnfou!qfvu!qsjtfs!mb!wbmfvs!@ swg"l)ckog"â"hcktg"crrtgpftg"eg"podtg"wvkng"cwz"ucigu0Ctejkoêfg."koogtgn"Ctejkoêfg."swk"fg"vqp"lwigogpv"rgwv"rtugt"nc"xcngwt"A etc... La création de deux profils de miettes en fonction du bit concerné de l'assombrisseur, selon qu'il est à 0 ou à 1, entraîne le doublement du nombre de miettes, mais surtout une résistance finale de : 2PPCM(|a|,8).( PPCM(e,8) )! (voir le tableau page Erreur : source de la référence non trouvée) Ces principes impliquent qu'il peut n'y avoir, ni « chiffrement » au sens du Patriot Act, ni « morcellement » au sens DRM ou Hadopi, ce qui rend légitime qu'un acteur à la neutralité éprouvée et prouvée puisse et doive se porter garante des demandes de GWOAM-isations. Le "bonus" est que chaque miette peut bénéficier d'un double assombrissement en effectuant une rotation dépendant du facteur, du masque, de sa position, de la miette la précédent… 4 5 Voir en fin de document pour un rappel sur la table ASCII, base de assombrissement pour l'exemple. Cette phrase est une des manières de mémoriser π, d'où le choix de l'assombrisseur. ensuite GWOAM ARISC 2/9 Résistance et performance La comparaison se fait selon deux critères, résistance et performance, et deux points de vue, adaptabilité et évolutivité. Résistance6 La référence est, naturellement, RijnDael-AES. Résistance – GWOAM vs Rijndael-AES – 96 bits vs 2048 bits Le facteur clé de sécurité est la carte des miettes… carte pouvant être stockée sur le réseau… carte stockée comme une miette... miette semblable aux autres… miette générée à partir d'un masque aléatoire… masque connu par et dépendant de l'utilisateur de la passerelle... masque pouvant être partagé... masque inconnu du réseau… miette codée de la même manière que les autres… l'utilisateur de la passerelle pouvant fournir, modifier ou valoriser tout ou partie de l'information obscurcie… sauf si l'autorité ou le(s) responsable(s) en décide(nt) autrement... etc présenté le 10/12/14. L'« invisibilité » forte7 permet de réduire les investissements et de maîtriser les autres coûts 8 liés aux contraintes et exigences de sécurité et de sûreté. Point clé de la sécurité du point de vue de sa durabilité : les miettes peuvent être « mélangées » régulièrement ou sur requête, seules les cartes étant à modifier à ce titre… et les dates d'écriture mémorisées par le système de fichier étant maîtrisables. Ce qui est critique une fois l'information obscurcie n'est plus : clé+fichier+stockage+accès à un site, mais est : carte+accès à un certain nombre de sites (concept RAINBOW9). 6 7 8 9 La clé de comparaison est l'unicité du fichier critique, la carte, miette semblable aux autres miettes, miette mémorisée sur la pièce d'identité du bénéficiaire et éventuellement totalement ou partiellement répliquée dans un point de stockage pour faciliter le partage de tout… ou partie de l'information, avec tous… ou certains. De nouvelle(s) carte(s) sont générées si une(plusieurs) pièce(s) d'identité est(sont) perdue(s) ou volée(s). Si je prétends une miette être un fichier de type Portable Network Graphic, qui prendra le temps et l'énergie d'analyser tous les PNG transitant par internet, en clair ? Qui prendra le temps de prouver que ce fichier intercepté par un Man in the Middle n'est pas une photo prise par Rosetta, mais une carte masquée par une photo de Rosetta et permettant de connaître les 57600 bits donnant les 300 pointeurs du SEKNET File System vers les 300 miettes nécessaires à la reconstruction du clair, miettes publiquement accessibles. Qui ? Si mes 300 miettes sont accessibles en clair et à tout le monde dans 300 points de stockage, bastions sans possibilité de e-modification, et que, par souci d'économie, je n'ai pas fait de réplication, qui prendra le temps et l'énergie de faire un Multimode Deny of Service afin de bloquer l'accès à un nombre suffisant de ces 300 points pour que je ne puisse plus reconstruire cette information partiellement dégradée dans des délais et avec des moyens raisonnables. Qui ? Redundant Array of Independant Nodes Build to Obfuscate Wisely. GWOAM ARISC 3/9 Performance Les avantages de cette méthodes d'obscurcissement sont : 1. la non ré-entrance de la méthode, non ré-entrance la rendant utilisable tant pour des fichiers que pour des flux, 2. le traitement au niveau des bits, traitement la rendant « naturellement dédiée » aux FPGA, 3. le traitement hautement parallélisable, parallélisation favorisant son implémentation sur FPGA et la rendant compatible avec les nouvelles infrastructures de communication et de stockage (FoIP, FP, fibre polychrome, SAN, NAS, etc), 4. acquisition et distribution des miettes pouvant être multimodes et parallélisées (p.ex. pair à pair fibre+câble+WiFi via différents proxy). Adaptabilité Le traitement bit par bit rend la méthode insensible aux exigences syntaxiques telles que celles liées au monde industriel ou embarqué (l'octet n'est pas forcément la forme de base dans ce cas). Le SEKNET Meta File System est intégrable physiquement ou virtuellement à toute infrastructure existante. Une organisation peut personnaliser ses profils, un utilisateur pouvant utiliser une passerelle unique pour les différents profils dont il dispose. Un consultant, par exemple, peut avoir plusieurs profils sans créer de faiblesse par interférence, chaque profil pouvant disposer de son support mémoire physiquement indépendant. Évolutivité L'équipement clé est petit, peu coûteux et peu polluant, ce qui permet d'envisager une évolutivité par remplacement. Un contrat de maintenance évolutive est dans ce cadre le plus adapté… et favorable à la pérennité de SEKNET SA. Transfert de risque Les miettes peuvent être « mélangées », c'est à dire renommées, automatiquement ou sur requête. Ce « mélange » est à très faible coût, puisque seule la carte est à modifier, une alerte ou le résultat pouvant être transmis. Au pire, peut même être réalisé un sur-obscurcissement sans risque de dégradation de la résistance. En cas de vol, de perte, ou simplement de dés-habilitation, outre la difficulté pour le propriétaire de tromper le service d'authentification, il n'aura plus accès aux miettes, donc à l'information. GWOAM ARISC 4/9 Cœur de la méthode10 Notations : Clair, Assombrisseur, Miette, Éclairci caractère, index, bit, nom _8=taille en nombre d'octets tM=type de miette (0 ou 1) fEmtt=facteur d'émiettement est l'indice identifiant une miette en fonction de son type, 0 ou 1, et de sa position, de 0 à fEmtt-1, indice dans un tableau d'entiers iM[2][fEmtt] iM[0..1][0..fEmtt-1] Algorithmes orientés C11 Obscurcissement Initialiser les @ des fichiers C et A Initialiser les @ des fichiers miettes : nM[0..1][0..fEmtt-1] Initialiser les caractères en cours de calcul : cM[iM[0..1][0..fEmtt-1]] Initialiser les indices : iM[0..1][0..fEmtt-1], ibM[iM[0..1][0..fEmtt-1]] Ouvrir C Calculer C_8 Ouvrir A Calculer A_8 AMax=min(A_8,C₈) iC=0 tant que iC<C_8 I iA=0 I tant que iA<AMax et iC<C_8 I cC=C[iC] I cA=A[iA] I pour ib=0..8-1 I I si bit(ib,cA)=0 alors tM=0 sinon tM=1 I I si bit(ib,cC^cA)=1 alors cM[iM[tM]]=cM[iM[tM]]|fb1[ibM[tM]] sinon cM[iM[tM]]=cM[iM[tM]]&fb0[ibM[tM]] I I ibM[tM]++ I I si ibM[tM]==8 alors Écrire les miettes de type tM I ib++ I iA++,iC++ Éclaircissement Initialiser les @ des fichiers A et É Initialiser les @ des fichiers miettes : nM[0..1][0..fEmtt-1] Initialiser le caractère en cours de calcul : cÉ Initialiser les indices : iM[0..1][0..fEmtt-1], ibM[iM[0..1][0..fEmtt-1]] Créer É Récupérer C_8 Ouvrir A Calculer A_8 AMax=min(A_8,C₈) pour iM=0..fEmtt-1 I Ouvrir FM[0][iM] I Ouvrir FM[1][iM] iÉ=0 tant que iÉ<C_8 I iA=0 I tant que iA<AMax et iÉ<C_8 I I cÉ='' I I Lire les cM[0..1][0..fEmtt] d'indice iM[tM] I I cA=A[iA] I I pour ib=0..8-1 I I I si bit(ib,cA)=0 alors tM=0 sinon tM=1 I I I si bit(ibM[tM],cM[iM[tM]])=1 I I I alors cÉ=cÉ|fb1[ib] I I I sinon cÉ=cÉ&fb0[ib] I I I ibM[tM]++ I I I si ibM[tM]==8 I I I alors I I I I Écrire les miettes de type tM I I I I Remettre les ibM[tM] à 0 I I I I iM[tM] = iM[tM]+1 I I I I Lire les cM[tM][0..fEmtt] d'indice iM[tM] I I I ib++ I I Enregistrer cÉ I I iA++,iÉ++ 10 Tout le reste n'est qu'IHM ou IMM. 11 D'où les indices de 0 à max-1. GWOAM ARISC 5/9 Sécurité, sûreté, fiabilité, disponibilité, etc SPIEVEL = MISTIC12+GWOAM Parano niveau 0 – information transmise en clair, avec ou sans SPIEVEL Parano niveau 1 – SPIEVEL choisi13 le même canal au même moment Parano niveau 2 – SPIEVEL choisi13 différents canaux ou transmets à différents moments Parano niveau 3 – SPIEVEL choisi13 différents canaux à différents moments Parano niveau 4 – SPIEVEL choisi13 un SPIEVEL d'état-major qui missionne des SPIEVEL terrain Parano niveau 5 – P4, le SPIEVEL d'état-major dédiant des adresses IPv6 Parano niveau 6 – P5, chaque SPIEVEL chaque SPIEVEL terrain choisissant13 son adresse MAC Parano niveau 7 – en cours d'étude Avoir perdu quelques miettes rend-il le pain insipide ? 12 Passerelle de INCAS Itsec pour laquelle a été conçue et réalisée GWOAM. 13 « choisit » = choix aléatoire fait par le SPIEVEL en fonction des paramètres de l'utilisateur (paramètres dépendant du profil utilisé par celui-ci...) GWOAM ARISC 1/9 Feuille de route GWOAM – SPIEVEL – SEKNET SA C'est ici que se rejoignent et entrent en conflit mes contraintes personnelles et mes exigences professionnelles, d'où le couplage avec « GWOAM - Perso »… désolé. 08/12/2014 – GWOAM, publique open source Le cœur du logiciel, en C, est : /*===== obscurcissement =====*/ for (ib8CA=1; ib8CA<=8; ib8CA++) { /* ibCA = indice du bit concerné, indice commun au Clair et à l'Assombrisseur */ if((A[i8CA]&fb1[ib8CA])==0) { /* bit à 0 dans l'Assombrisseur => action dans M0 */ if ((W&fb1[ib8CA])!=0) { /* M0 forcée à 1 */ M0[iM0][i8M0] |= fb1[ib8M0]; /* iM0,i8M0,ib8M0 indices de la miette, de l'octet et du bit (unité=octet) */ } else { /* M0 laissée à 0 */ } /* nouveau bit à valoriser dans M0 */ iM0++; if (iM0==fEmtt) { /* bit suivant et première miette */ iM0=0; ib8M0++; if (ib8M0==8) { /* unité suivante */ i8M0++; ib8M0=1; } } } else { /* bit à 0 dans l'Assombrisseur => action dans M1 */ [ibidem cas M0] } } /*===== éclaircissement =====*/ for (i8AE=0; i8AE<C_8; i8AE++) { /* ibAE = indice du bit concerné, indice commun à l'Assombrisseur et à l'Éclairci */ for (ib8AE=1; ib8AE<=8; ib8AE++) { if((A[i8AE]&fb1[ib8AE])==0) { /* bA=0 => bit obscur dans M0 */ if ((M0[iM0][i8M0]&fb1[ib8M0])!=0) { /* M0 forcée à 1 => E forcée à 1 (ou exclusif avec bA à 0) */ E[i8AE] |= fb1[ib8AE]; } else { /* E laissée à 0 */ } [ibidem pour bit suivant et cas M1] } } La preuve de concept fut faite en PHP. La preuve de performance fut faite en C++. Les versions seront accessibles à partir du 10/12/14 à http://w.pfister.free.fr/GWOAM.html. 10/12/2014 – SPIEVEL, besoins de sécurité « standards » SPIEVEL est une passerelle et serveuse et cliente, en rupture et logique et physique. Portage de GWOAM sur les cartes de type Arduino, BeagleBone, Raspberry ou MISTIC disposant et d'un lecteur SD et d'un port WiFi. La plate-forme de démonstration-validation intégrera deux disques WiFi (EMTEC et STOREX). GWOAM ARISC 2/9 15/04/2015 – SEKNET, besoins de sécurité critiques – MISTIC vGWOAM La composition de l'information, composition pouvant être totalement intégrée aux outils de l'entreprise : information={composant} Les liens acteur-information reposent sur le modèle RASCI14 : {(composant,acteur,rôle/RASCI)} La composition et les liens permettent de définir non seulement des droits, création-modificationsuppression-acquisition, mais aussi un niveau de résistance : public=0 – restreint=2n – confidentiel=n! – secret=2n.n! – critique=2m.m!.2n.n! et de le moduler : {(composant,niveau,{(acteur,rôle)})} La vision intégration comprend celle à des formats bureautique, comme ODF & PDF, comme à des infrastructures complexes, comme le mixe de DAN-LAN-MAN-WAN propre à toute organisation en interaction avec son environnement, tant régulièrement qu'occasionnellement (comme l'intervention d'un consultant ou d'une équipe externe). Article et code sous enveloppe SOLEAU – Présentation-démonstration-expérimentation le 16/01/15. 14 1..r Responsable(s) – 1 Autorité – 1..s Supports – 0..c Consultés – 0..i Informés GWOAM ARISC 3/9 Compléments GWOAM – Test en passthrough15 sur AMD Dualcore E1-2500 Fichier CAB de 2 088 501 octets, soit 16 708 008 bits. Obscurcissement en 1 688ms, soit ~1Mb/s. Éclaircissement en 1 266ms, soit ~1,3Mb/s. Voir code page suivante. Attention : RijnDael-AES non testé de ce point de vue. Maquettes et prototype Preuve de concept – Maquette multicanal en PHP sur PC+DD+Web Preuve de performance – Maquette monocanal passthrough en C++ sur PC+DD Prototype monocanal en C pour PC+DD Version multicanal Yún+μSD remise à l'occasion de la présentation du 16/01/15. 15 Le clair est déjà en mémoire et l'obscur est directement éclairci à partir des miettes stockées en mémoire. GWOAM ARISC 4/9