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