Même si c'est simple pour toi. Je sais ce qui est simple pour moi.
Manipuler un programme sous la forme d'une chaine de caractères et l'executer avec un eval(...) . C'est à ma portée donc à priori à la portée de plein personne qui s'étime bien supérieur à moi au vu de leur langage.
Cette facilité et cette difficulté à identifier, ce type de menace est quand même la chose que je soutiens depuis le début de cette longue discussion.
Toutefois, tu m'expliqueras comment tu peux faire varier l'empreinte de ton loader qui sera probablement le point d'identification pour les antivirus.
Enfin quid de la portabilité du code sur d'autre système ,une infection sous forme de script se moque du type de loader, de gestion des librairies dynamique ou du type du système d'exploitation tant qu'elle a accès à l'essentiel.
> tant qu'à faire, virer cron, pas vrai ?
Non, serieux, j'ai déjà vu des distribs où c'était configuré par défaut de cette manière.
> c'est quoi l'interêt du .bashrc alors ?
Mon .bashrc, je dois le modifier qu'une fois ou deux fois après la création de mon compte.
Je vois pas beaucoup non plus l'interêt de le laisser en écriture
> "personne ne t'empêche te mettre ton /home en lecture seule (ça
> revient au même qu'écraser les fichiers souvent)
Pas tout à fait, tu le reconnaitras. Au même titre que les cookies, tu peux avoir plusieurs attitudes les refuser, les supprimer à chaque redemarrage ou les laisser en permanences.
Je dois reconnaitres que je ne sais pas si Firefox réecrit souvent prefs.js ?
> petit malin d'essayer d'enterrer l'autre journal où tu racontes tant de
> merde, çuilà est pareil en fait
Etre grossier ou impoli ne comble pas un manque d'argument.
man ptrace...
L'appel-système ptrace fournit au processus parent un moyen de contrôler l'exécution d'un autre processus et d'éditer son image mémoire. L'utilisation primordiale de cette fonction est l'implémentation de points d'arrêt pour le débugging.
donc çà ne marche pas.
Vous êtes serieux quand vous soutenez qu'il est plus simple de modifier un binaire de manière automatique que dinserer un morceau de script dans un script !
>Chez eux enfermé a double tours sans jamais voir personne et en
>n'utilisant aucun objet dont tu ne connais pas la provenance.
Je ne dis pas qu'il faut rien faire.
Je dis juste qu'il faut envisager ce type de problème et modifier nos habitudes pour limiter ce type de problème à l'avenir.
Sur certain système, ce type de changement est déjà anticipé:
- Limite l'accès au cron pour les utilisateurs
- Blocage de l'édition de .bashrc et des autres scripts lancé au démarrage.
- écraser régulierement les fichiers de Firefox de l'utilisateur pouvant contenir un virus.
Tu vas pas me dire que c'est monstrueux et bloquant comme securité.
>Dans ce cas, là, c'est pareil pour tout les programmes qui utilisent >pour beaucoup des scripts, sans parler des scripts php ruby, python >des applis web etc... Tu en a plein des programmes basés sur des >scripts.
Principe des virus exploitait des failles phpBB. Il était à ma connaissance jamais root mais il faisait quand même énormement de degat.
> M'enfin si on t'écoutait, il ne faudrait plus utiliser sa bécane quoi...
Tout ceux qui sont passer d'un système avec droit d'admin par défaut à un système avec droit utilisateur restreint. Ce font la même reflexion.
Assez simple pas si sur que çà, si on considére que les programmes qui reste user simple. Ils ont relativement peut d'endroit ou s'installer.
C'est sur que si tu les considères comme admin. Là, il n'y a pas soucis pour eux.
Mais sous Windows, comme sous Linux, tu peux te limiter au compte user.
C'est pourquoi, je suggère qu'il faut penser un système de manière à limiter ces points d'ancrage et de les rendre analysable simplement.
Au moin au niveau de l'utilisateur, une fois qu'un programme a des droits système, il peut partir du principe qu'il peut faire ce qu'il veut et même se cacher des outils de detections.
> C'est faux, il y a enorment d'endroits ou il est possible d'inserer des
> virus, et ca ne se limite pas a la base de registre.
Et il y a de très bon outil qui t'en font faire rapidement le tour.
> Tu fais comment pour retirer un virus qui s'insere dans notepad.exe
> ou machintruc.dll ?
Je ne parle de virus qui ont besoin de s'executer en "root".
Le trois quart des malwares n'ont pas besoins d'être root pour accomplir leurs objectifs. Donc, tu peux oublier les programmes qui modifie des exe ou des dll qui serait protégé par le système.
> Le seul moyen de s'assurer que la machine n'est pas infectee,
> c'est de calculer les sommes md5 (ou equivalent) de tous les
> binaires, et les comparer avec ceux des binaires originaux.
Juste comme çà le prefs.js du répertoire de Firefox change en fonction de tes préferences utilisateur ;-).
Donc, tu auras probablement un MD5 diférrent de l'original
Dans le répertoire firefox du home, tu as des script .js qui sont lancé au démarrage genre prefs.js, ou tous les autres scripts que tu trouves pour les extensions, plugins, ...
Il suffit que tu ais une fois un programme qui t'infecte un de ces scripts en exploitant une faille ou une erreur de ta part pour que tu ais peu de chance de t'en appercevoir un de ces jours ...
Et tu seras d'accord avec moi que dans un ces fichiers là, tu es en dehors de la sandbox des javascript de Firefox donc tu peux faire quasiment tout ce que l'utilisateur peut faire :)
çà pourrait régler une partie des problèmes pour Firefox.
Par contre pour les autres scripts qui sont executé par un programme tel que bash ou une autre machine virtuel. La gestion des droits d'accès est plus difficile à mettre en oeuvre.
En fait sur l'indentification de virus se fait souvent sur l'empreinte que va laisser le compilateur donc au pire,
ils pourront rentrer rapidement dans une base de virus.
Dernier point, il est plus difficile à ma connaissance pour un programme de patcher un autre programme sous forme binaire afin de s'injecter dedans.
Justement, c'est un problème de conception mais aussi des usages courant accumuler depuis des années.
Fournir à l'utilisateur avertie la possibilité de scripter tout, c'est bien mais je cherche à souligner les problèmes que çà souleve d'un point de vue sécurité.
Je me repete mes sous Windows, il existe des outils pour identifier les programmes qui seront executé au démarrage.
Tu peux pas lancer un script à partir d'un service.
Sur une Ubuntu par défaut, je peux écrire
$HOME/.bashrc
$HOME/.bash_profile
Créer un crontab
find $HOME/.mozilla -name "*.js"
.../firefox/m214vywe.default/prefs.js
.../default/mttfa3wv.slt/prefs.js
Au lancement de X, on va executer les scripts suivant:
USRRESOURCES=$HOME/.Xresources
USERXSESSION=$HOME/.xsession
ALTUSERXSESSION=$HOME/.Xsession
Tout çà, c'est sans compter les différents fichiers de configuration des WindowsManager qui vont te permettre d'effectuer certaines actions genre parametre tes menus ou le lancement d'application dans la barre de tâche.
En fait, c'est tellement compliqué qu'il est impossible de mettre en oeuvre une application qui va contrôller tous ses parametres.
Avec çà, si tu veux les consulter toi même, il te faudra un temps fou pour y arriver.
Pour completer le propos, un programme executer dans l'espace utilisateur peut faire tout çà:
- ouvrir une backdoor pour un opérateur humain extérieur au réseau bipassant de cette manière les firewall.
- lancer un key logger (sous Windows sûr, sous Linux je crois que c'est possible sans être root).
- spammer.
- bloquer le système.
- voler des données.
- lancer D.O.S. sur des serveurs.
- afficher de la pub.
C'est pourquoi il est interressant de se demander comment limiter qu'un programme malveillant s'installe sur un compte utilisateur.
> Le nom de domaine syj.fr.st est bloqué. Une enquete est en cours >sur ce nom de domaine pour non conformité avec la charte Ulimit.com. >La redirection des pages web n'est plus active et le routage des >courriers electroniques n'est plus assuré pour une durée indéterminée.
> http://nfltest.ulimit.com/fr/locked.php?d=ab:6_WNS7N69
Il y a plein de moyen. Une méthode trivial est néanmoins très efficace et d'utiliser la fonction eval, decode et encode ?
Trois fonction, javascript.
eval : interprete et execute le code javascript d'une chaine
encode : encode une chaine pour l'utiliser dans une url
decode :
var c;
c = '... /* virus encode chaque caractères décalé de 2 */...';
for(idx=0; idx < c.length;idx ++) {
c[idx] = c[idx] - 2
}
eval (c);
Dans le code du virus , tu as une partie de code qui se charge de remplacer le nom des variables et le tour est joué.
Sur Ubuntu, je me trompe peut être mais le .bashrc est éditable par l'utilisateur. On peut quelques fois faire des cron ou at ; ).
Enfin, je me repete peut être mais tous les scripts Js du répertoire .firefox sont executé aussi dans une session normale.
Un programme qui se lance en user ou admin quel importance.
Les virus qui lancent des spam se moque bien d'etre admin ce qu'il veule, c'est lancer des mails. C'est pas reservé à l'admin çà ?
Enfin en étant utilisateur, tu peux ouvrir une backdoor pour corrompre un réseau en permettant à un opérateur humain d'executer des commandes qui lui permettront de trouver des failles pour prendre la main sur ta machine.
>Tu parles de l'obfuscation ? pour les scripts faut un humain embarqué alors ...
Tu sais de quoi, tu parles. Tu doutes que c'est réalisable par une machine ?
Une bonne combinaison de fonction de remplacement peut très bien faire l'affaire.
Accessoirement, tu crois que la gars de chez google code comme çà regarde le code source de cette page. Particulierement , le javascript ; ) http://www.google.com/webhp?complete=1&hl=en
[^] # Re: Mouai
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 0.
Même si c'est simple pour toi. Je sais ce qui est simple pour moi.
Manipuler un programme sous la forme d'une chaine de caractères et l'executer avec un eval(...) . C'est à ma portée donc à priori à la portée de plein personne qui s'étime bien supérieur à moi au vu de leur langage.
Cette facilité et cette difficulté à identifier, ce type de menace est quand même la chose que je soutiens depuis le début de cette longue discussion.
Toutefois, tu m'expliqueras comment tu peux faire varier l'empreinte de ton loader qui sera probablement le point d'identification pour les antivirus.
Enfin quid de la portabilité du code sur d'autre système ,une infection sous forme de script se moque du type de loader, de gestion des librairies dynamique ou du type du système d'exploitation tant qu'elle a accès à l'essentiel.
Ce qui la rend beaucoup plus attractifs
[^] # Re: l'architecture de Firefox dangereuse
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 0.
Non, serieux, j'ai déjà vu des distribs où c'était configuré par défaut de cette manière.
> c'est quoi l'interêt du .bashrc alors ?
Mon .bashrc, je dois le modifier qu'une fois ou deux fois après la création de mon compte.
Je vois pas beaucoup non plus l'interêt de le laisser en écriture
> "personne ne t'empêche te mettre ton /home en lecture seule (ça
> revient au même qu'écraser les fichiers souvent)
Pas tout à fait, tu le reconnaitras. Au même titre que les cookies, tu peux avoir plusieurs attitudes les refuser, les supprimer à chaque redemarrage ou les laisser en permanences.
Je dois reconnaitres que je ne sais pas si Firefox réecrit souvent prefs.js ?
> petit malin d'essayer d'enterrer l'autre journal où tu racontes tant de
> merde, çuilà est pareil en fait
Etre grossier ou impoli ne comble pas un manque d'argument.
[^] # Re: Mouai
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à -2.
L'appel-système ptrace fournit au processus parent un moyen de contrôler l'exécution d'un autre processus et d'éditer son image mémoire. L'utilisation primordiale de cette fonction est l'implémentation de points d'arrêt pour le débugging.
donc çà ne marche pas.
Vous êtes serieux quand vous soutenez qu'il est plus simple de modifier un binaire de manière automatique que dinserer un morceau de script dans un script !
J'hallucine ! les c0wb0yz !
[^] # Re: l'architecture de Firefox dangereuse
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
>n'utilisant aucun objet dont tu ne connais pas la provenance.
Je ne dis pas qu'il faut rien faire.
Je dis juste qu'il faut envisager ce type de problème et modifier nos habitudes pour limiter ce type de problème à l'avenir.
Sur certain système, ce type de changement est déjà anticipé:
- Limite l'accès au cron pour les utilisateurs
- Blocage de l'édition de .bashrc et des autres scripts lancé au démarrage.
- écraser régulierement les fichiers de Firefox de l'utilisateur pouvant contenir un virus.
Tu vas pas me dire que c'est monstrueux et bloquant comme securité.
[^] # Re: ouarf
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
Principe des virus exploitait des failles phpBB. Il était à ma connaissance jamais root mais il faisait quand même énormement de degat.
> M'enfin si on t'écoutait, il ne faudrait plus utiliser sa bécane quoi...
Tout ceux qui sont passer d'un système avec droit d'admin par défaut à un système avec droit utilisateur restreint. Ce font la même reflexion.
[^] # Re: l'architecture de Firefox dangereuse
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 0.
C'est sur que si tu les considères comme admin. Là, il n'y a pas soucis pour eux.
Mais sous Windows, comme sous Linux, tu peux te limiter au compte user.
C'est pourquoi, je suggère qu'il faut penser un système de manière à limiter ces points d'ancrage et de les rendre analysable simplement.
Au moin au niveau de l'utilisateur, une fois qu'un programme a des droits système, il peut partir du principe qu'il peut faire ce qu'il veut et même se cacher des outils de detections.
[^] # Re: absolument n'importe quoi !
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 0.
> virus, et ca ne se limite pas a la base de registre.
Et il y a de très bon outil qui t'en font faire rapidement le tour.
> Tu fais comment pour retirer un virus qui s'insere dans notepad.exe
> ou machintruc.dll ?
Je ne parle de virus qui ont besoin de s'executer en "root".
Le trois quart des malwares n'ont pas besoins d'être root pour accomplir leurs objectifs. Donc, tu peux oublier les programmes qui modifie des exe ou des dll qui serait protégé par le système.
> Le seul moyen de s'assurer que la machine n'est pas infectee,
> c'est de calculer les sommes md5 (ou equivalent) de tous les
> binaires, et les comparer avec ceux des binaires originaux.
Juste comme çà le prefs.js du répertoire de Firefox change en fonction de tes préferences utilisateur ;-).
Donc, tu auras probablement un MD5 diférrent de l'original
[^] # Re: ouarf
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
Il suffit que tu ais une fois un programme qui t'infecte un de ces scripts en exploitant une faille ou une erreur de ta part pour que tu ais peu de chance de t'en appercevoir un de ces jours ...
Et tu seras d'accord avec moi que dans un ces fichiers là, tu es en dehors de la sandbox des javascript de Firefox donc tu peux faire quasiment tout ce que l'utilisateur peut faire :)
[^] # Re: l'architecture de Firefox dangereuse
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
[^] # Re: rbac
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
gradm2 - Administration program for the grsecurity2 RBAC based ACL system
Il va falloir que j'essaie.
http://www.grsecurity.net/
[^] # Re: rbac
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
çà pourrait régler une partie des problèmes pour Firefox.
Par contre pour les autres scripts qui sont executé par un programme tel que bash ou une autre machine virtuel. La gestion des droits d'accès est plus difficile à mettre en oeuvre.
Merci pour cet info.
[^] # Re: Mouai
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à -2.
ils pourront rentrer rapidement dans une base de virus.
Dernier point, il est plus difficile à ma connaissance pour un programme de patcher un autre programme sous forme binaire afin de s'injecter dedans.
[^] # Re: l'architecture de Firefox dangereuse
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
Fournir à l'utilisateur avertie la possibilité de scripter tout, c'est bien mais je cherche à souligner les problèmes que çà souleve d'un point de vue sécurité.
Je me repete mes sous Windows, il existe des outils pour identifier les programmes qui seront executé au démarrage.
Tu peux pas lancer un script à partir d'un service.
[^] # Re: Possible
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 2.
[^] # Re: rbac
Posté par syj . En réponse au journal Un système véritablement sécurisé devrait.... Évalué à 1.
[^] # Re: Les configs mono-utilisateur
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 0.
$HOME/.bashrc
$HOME/.bash_profile
Créer un crontab
find $HOME/.mozilla -name "*.js"
.../firefox/m214vywe.default/prefs.js
.../default/mttfa3wv.slt/prefs.js
Au lancement de X, on va executer les scripts suivant:
USRRESOURCES=$HOME/.Xresources
USERXSESSION=$HOME/.xsession
ALTUSERXSESSION=$HOME/.Xsession
Tout çà, c'est sans compter les différents fichiers de configuration des WindowsManager qui vont te permettre d'effectuer certaines actions genre parametre tes menus ou le lancement d'application dans la barre de tâche.
En fait, c'est tellement compliqué qu'il est impossible de mettre en oeuvre une application qui va contrôller tous ses parametres.
Avec çà, si tu veux les consulter toi même, il te faudra un temps fou pour y arriver.
[^] # Re: Possible
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 1.
[^] # Re: Les configs mono-utilisateur
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 3.
Pour completer le propos, un programme executer dans l'espace utilisateur peut faire tout çà:
- ouvrir une backdoor pour un opérateur humain extérieur au réseau bipassant de cette manière les firewall.
- lancer un key logger (sous Windows sûr, sous Linux je crois que c'est possible sans être root).
- spammer.
- bloquer le système.
- voler des données.
- lancer D.O.S. sur des serveurs.
- afficher de la pub.
C'est pourquoi il est interressant de se demander comment limiter qu'un programme malveillant s'installe sur un compte utilisateur.
[^] # Re: pages perso ?
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 1.
> http://nfltest.ulimit.com/fr/locked.php?d=ab:6_WNS7N69
Ouaip, je me rappelais plus de cette page web.
http://jsaintyv.free.fr
[^] # Re: Possible
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 1.
sinon tu as:
c = ' ... ... ';
file = open('pabo.js');
for(idx=0;idx < c.length;idx++) {
write(file,c[idx]-2);
}
exec('pabo.js');
[^] # Re: virus, vers, etc.
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 1.
Pense à vérifier que tes utilisateurs ne peuvent pas crée un fichier
.xsession dans leur répertoire home : )
[^] # Re: Possible
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 1.
>ah ouais ?
echo " ... script pas bo ... " >> $HOME/.bashrc
ou plus sophistiqué au début d'une fonction choisie au hasard.
De toute façon tant que le code ne modifie pas le contexte. Il pourrait pratiquement s'injecter à chaque retour chariot.
Certains langage de script permette la mise en place de fonction callback qui vont être rappelé après une tempo dans un nouveau thread.
[^] # Re: Possible
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 1.
Trois fonction, javascript.
eval : interprete et execute le code javascript d'une chaine
encode : encode une chaine pour l'utiliser dans une url
decode :
var c;
c = '... /* virus encode chaque caractères décalé de 2 */...';
for(idx=0; idx < c.length;idx ++) {
c[idx] = c[idx] - 2
}
eval (c);
Dans le code du virus , tu as une partie de code qui se charge de remplacer le nom des variables et le tour est joué.
[^] # Re: virus, vers, etc.
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 3.
Enfin, je me repete peut être mais tous les scripts Js du répertoire .firefox sont executé aussi dans une session normale.
Un programme qui se lance en user ou admin quel importance.
Les virus qui lancent des spam se moque bien d'etre admin ce qu'il veule, c'est lancer des mails. C'est pas reservé à l'admin çà ?
Enfin en étant utilisateur, tu peux ouvrir une backdoor pour corrompre un réseau en permettant à un opérateur humain d'executer des commandes qui lui permettront de trouver des failles pour prendre la main sur ta machine.
[^] # Re: Possible
Posté par syj . En réponse au journal A l'avenir, Linux et Firefox seront-ils plus sensible que Windows/IE au logiciel malveillant.. Évalué à 0.
Tu sais de quoi, tu parles. Tu doutes que c'est réalisable par une machine ?
Une bonne combinaison de fonction de remplacement peut très bien faire l'affaire.
Accessoirement, tu crois que la gars de chez google code comme çà regarde le code source de cette page. Particulierement , le javascript ; )
http://www.google.com/webhp?complete=1&hl=en
Enfin, tu as des programme comme JProguard qui te font sur code Java.
http://proguard.sourceforge.net/
J'en avais trouvé une fois pour du javascript