> Tech > Impression

Impression

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

par Dan Riehl, Mis en ligne le 15/O3/2006 - Publié en Septembre 2005

PAA (Program Adoption of Authority) est une technique qui permet d’élever temporairement les autorités de certains utilisateurs pour leur permettre des actions normalement interdites par leur autorité naturelle. Par exemple, supposons que vous vouliez que les gens du help desk puissent redéfinir le mot de passe de l’utilisateur. C’est une fonction sensible pour laquelle le personnel du help desk a besoin de niveaux d’autorité supérieurs (*ALLOBJ, *SECADM, par exemple). Mais si vous octroyez ces hauts niveaux d’autorité aux profils utilisateur des servants du help desk, ils pourront en permanence toucher à vos données sensibles, une situation pour le moins dangereuse.Il faut dans ce cas un petit programme aux fonctions limitées permettant à de tels utilisateurs d’adopter la puissante autorité dont ils ont besoin pour réinitialiser le mot de passe. Dès que le programme adoptant se termine, le haut niveau d’autorité disparaît. C’est exactement ce qu’accomplit PAA.

PAA est une fonction utile que vous auriez tort d’ignorer. Tout en sachant que, dans de mauvaises mains, PAA peut servir de porte dérobée pour obtenir de hauts niveaux d’autorité sans la supervision et le contrôle appropriés.

Lors de mes évaluations des vulnérabilités sur OS/400, j’ai souvent constaté qu’un programme adoptant un haut niveau d’autorité avait été subrepticement créé sur le système et utilisé comme méthode d’infiltration d’un système de sécurité par ailleurs bien conçu. Grâce à l’un de ces programmes adoptants, un utilisateur avisé peut facilement s’octroyer l’autorité d’un utilisateur puissant, comme QSECOFR, et devenir virtuellement QSECOFR chaque fois qu’il le désire.

Impression

Comment pourrais-je donc m’immiscer dans votre système avec PAA? Voici le code source d’un programme CL fort simple, MYPGM, qui, bien préparé, me permet de travailler sous l’autorité QSECOFR quand bon me semble. Mais le seul code source ne suffit pas.

PGM
GO MAIN
ENDPGM

Une fois que je possède le code source, il me faut simplement l’occasion de créer le programme et d’établir l’adoption de QSECOFR pour ce programme.

Voyons cela… J’ai une situation d’urgence concernant la production au milieu de la nuit et je dois obtenir le mot de passe QSECOFR pour corriger le problème. Quand j’ai le mot de passe, je signe en tant que QSECOFR et je règle le problème de production.

A présent, pour obtenir le programme détourné, j’exécute les deux commandes suivantes :

CRTCLPGM PGM(Library-Name/MYPGM)
SRCFILE(Library-Name/QCLSRC)
SRCMBR(MYPGM)
USRPRF(*OWNER)
AUT(*EXCLUDE)

Cette commande crée le programme CL MYPGM. Le paramètre USRPRF(*OWNER) indique au système que quand ce programme s’exécute, il adopte l’autorité du propriétaire du programme. Ici, comme QSECOFR a créé le programme, QSECOFR est le propriétaire.

GRTOBJAUT OBJ(Library-Name/MYPGM) OBJTYPE(*PGM USER(ME) AUT(*USE) REPLACE(*YES)

Cette commande donne au profil utilisateur ME l’autorité d’exécuter le programme à tout moment. Et que fait donc le programme ?

Il adopte l’autorité QSECOFR et m’envoie au menu principal OS/400. Une place de choix d’où je peux mener n’importe quelle action. J’ai tous les moyens !

Désormais, dans mon travail quotidien, quand je voudrai avoir l’autorité QSECOFR, je n’aurai plus besoin du mot de passe QSECOFR. Il me suffira d’appeler MYPGM. Et je peux même définir le mot de passe QSECOFR à ma guise.

Téléchargez cette ressource

*** SMART DSI *** VERSION NUMÉRIQUE

*** SMART DSI *** VERSION NUMÉRIQUE

Découvrez SMART DSI, la nouvelle revue du Décideur IT en version numérique. Analyses et dossiers experts pour les acteurs de la transformation numérique de l'entreprise, Gagnez en compétences et expertise IT Professionnelle avec le contenu éditorial premium de SMART DSI.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010