>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
>Par contre, je suis d'avis qu'une machine unix/linux infectée est bien >plus dur à desinfecter qu'une machine windows.
>m'intéresse, peux-tu développer ? (j'ai ma petite idée, et je vois >quelque discussion possible :) )
Dans mon taff, je vire essentiellement les virus et les spywares avec cette méthode et bien souvent avant les anti-virus.
Il est difficile de corrompre le code d'un executable binaire.
A contrario de la facilité, il est très simple de corrompre le code d'un script.
Afin d'éviter la reconnaissance par des antivirus, le code d'un script est plus simple à brouiller que la signature d'un binaire.
Par exemple dans le ca de Firefox , un script corrompu peut difficilement être identifié lorsqu'il execute dans un machine virtuel car l'afficheur de processus n'affiches pas le programme s'executant à ton insu.
>Dire qu'une machine windows et plus facileà deverminer est un >raccourcis un peu rapide selon moi !
>Par exemple, sous windows, un virus type cheval de troie peut tres >bien se metre dans n'importe quel fichier systeme ou utilisateur pour
>se lancer automatiquement.
En fait, il est assez difficile et très technique pour un programme binaire de s'inserer dans un autre programme binaire.
Par exemple, c'est un avantage de Linux avec son incompatibilité chronique des binaires entre les distributions.
Par contre, il est très simple d'injecter un script dans un autre script.
Ce qui fait que sous Linux, un virus n'aurait que l'embaras du choix pour trouver un petit coin qui garantira que même après un reboot.Qu'il saura toujours lancer.
En plus vu qu'il n'est pas executer par le système mais par la machine virtuel executant le script. Un ps ne montra rien.
Autre avantage des scripts est que tu peux très facilement les brouillers à la différence d'un binaire, ou il faudrait presque que le virus se ballade avec son gcc embarqué :)
>Tu es peut être énervé suite à une détournement de serveur ???
Non, non, même pas. Je voulais juste confronter une reflexion que je me faisais depuis un bout de temps.
Et cette reflexion était parti de la base de savoir si mon code de Firefox était corrompu quand j'ai découvert qu'il y avait plein de .js.
Le seul truc est que personne semble s'en préoccuper car j'ai l'impression qu'il y a une sorte blocage à parler de Malware et virus sous Linux.
Je pense qu'il y a des solutions à ce type de problème mais qu'il implique des changes tellement important dans l'ensemble de l'architecture Linux / X Windows que je doute qu'il arrive tout de suite.
Par exemple, j'ai vue une demo de Vista. Lorsqu'un programme demande à augmenter ces droits, l'écran se grise et une fenêtre modal demande une confirmation manuel de l'utilisateur en plus du "executer en tant que" qui existe depuis Windows 2000.
En fait, on peut aussi rétrograder les droits d'une application avant de la lancer.
J'y ferais pas trop confiance mais c'est interessant comme concept. A une epoque qd je faisais beaucoup de compilation de programme. A chaque fois que je testais un programme , je le compilais et l'executait dans un compte utilisateur crée spécialement pour.
>Un virus modifie le code d'un programme pour s'y reproduire. Comme >sous UNIX, les logiciels appartiennet à root, le virus exécuté par >l'utilisateur ne peux pas modifier les programme existant.
En général, le .bashrc de ton home est executé à chaque fois que tu connecte et pourtant il est modifiable avec les droits utilisateurs.
>Pour les vers, c'est soit une faille d'un logiciel (genre bind), soit >l'utilisateur qui s'est fait pêché par un appât (type V!agr4 et 03m).
Tu t'es jamais demandé ce que faisait le code de la dernière application que tu viens télécharger sous la forme de source et lorsque tu fais
$./configure
$make
$make install
[^] # 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
[^] # 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.
>m'intéresse, peux-tu développer ? (j'ai ma petite idée, et je vois >quelque discussion possible :) )
En fait sous Windows, il y a des programmes qui permettent d'établir la liste des programmes qui vont s'executer au démarrage:
- Hijackthis
- Autoruns http://www.microsoft.com/technet/sysinternals/Security/Autor(...)
Dans mon taff, je vire essentiellement les virus et les spywares avec cette méthode et bien souvent avant les anti-virus.
Il est difficile de corrompre le code d'un executable binaire.
A contrario de la facilité, il est très simple de corrompre le code d'un script.
Afin d'éviter la reconnaissance par des antivirus, le code d'un script est plus simple à brouiller que la signature d'un binaire.
Par exemple dans le ca de Firefox , un script corrompu peut difficilement être identifié lorsqu'il execute dans un machine virtuel car l'afficheur de processus n'affiches pas le programme s'executant à ton insu.
[^] # 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.
>Par exemple, sous windows, un virus type cheval de troie peut tres >bien se metre dans n'importe quel fichier systeme ou utilisateur pour
>se lancer automatiquement.
En fait, il est assez difficile et très technique pour un programme binaire de s'inserer dans un autre programme binaire.
Par exemple, c'est un avantage de Linux avec son incompatibilité chronique des binaires entre les distributions.
Par contre, il est très simple d'injecter un script dans un autre script.
Ce qui fait que sous Linux, un virus n'aurait que l'embaras du choix pour trouver un petit coin qui garantira que même après un reboot.Qu'il saura toujours lancer.
En plus vu qu'il n'est pas executer par le système mais par la machine virtuel executant le script. Un ps ne montra rien.
Autre avantage des scripts est que tu peux très facilement les brouillers à la différence d'un binaire, ou il faudrait presque que le virus se ballade avec son gcc embarqué :)
[^] # 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.
Non, non, même pas. Je voulais juste confronter une reflexion que je me faisais depuis un bout de temps.
Et cette reflexion était parti de la base de savoir si mon code de Firefox était corrompu quand j'ai découvert qu'il y avait plein de .js.
Le seul truc est que personne semble s'en préoccuper car j'ai l'impression qu'il y a une sorte blocage à parler de Malware et virus sous Linux.
Je pense qu'il y a des solutions à ce type de problème mais qu'il implique des changes tellement important dans l'ensemble de l'architecture Linux / X Windows que je doute qu'il arrive tout de suite.
Par exemple, j'ai vue une demo de Vista. Lorsqu'un programme demande à augmenter ces droits, l'écran se grise et une fenêtre modal demande une confirmation manuel de l'utilisateur en plus du "executer en tant que" qui existe depuis Windows 2000.
En fait, on peut aussi rétrograder les droits d'une application avant de la lancer.
J'y ferais pas trop confiance mais c'est interessant comme concept. A une epoque qd je faisais beaucoup de compilation de programme. A chaque fois que je testais un programme , je le compilais et l'executait dans un compte utilisateur crée spécialement pour.
Simple curiosité, vous le faites tous ?
[^] # 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é à 4.
En général, le .bashrc de ton home est executé à chaque fois que tu connecte et pourtant il est modifiable avec les droits utilisateurs.
>Pour les vers, c'est soit une faille d'un logiciel (genre bind), soit >l'utilisateur qui s'est fait pêché par un appât (type V!agr4 et 03m).
Tu t'es jamais demandé ce que faisait le code de la dernière application que tu viens télécharger sous la forme de source et lorsque tu fais
$./configure
$make
$make install