Jan 05 2011

Stealing Reality: L’importance du réseau social dépasse celle du réseau

Tag: conference,news,rechercheArrouan @ 4:44 pm

Stealing Reality est un article disponible (http://arxiv.org/abs/1010.1028) écrit par des chercheurs du MIT et Deutsche Telekom. Ils décrivent une nouvelle sorte de malware ayant pour but d’extraire les informations relatifs au graphe social des cibles. En effet, ils mettent en avant que plus que la topologie réseau classique (IP), le graphe social est une information beaucoup plus intéressante. En effet, le graphe social permet de donner une image plus complète d’une personne permettant une meilleur monétisation par la suite. Avant les créateurs de malware, les sociétés classiques l’ont bien compris et la récente évaluation de facebook à 50 milliards de dollars ne va pas en le contredisant.

Ces attaques de vol d’information réel (social) sont d’autant plus dangereuses que ce ne sont pas des informations qui sont facilement changeable. En effet, si vous  vous faites voler votre numéro de carte bleue, vous pouvez facilement demander à en changer. Par contre, si vous vous faites voler la liste de vos relations, amis, familles, ce n’est pas quelque chose qui est interchangeable. C’est dans cette ambiance que le CEO de Google, Eric Schmidt, a proposé, sur le ton de la blague, la possibilité de changer de nom lors du passage à l’age adulte.

Finalement, les auteurs ont testé leur théorie sur un réseau téléphonique réel comprenant 200 000 noeuds (personnes) et 800 000 arcs (connexion).  Leur théorie fonctionne et de manière beaucoup plus subtile qu’un scan réseau très bruillant, ils sont capable de récupérer des informations de meilleur qualité sur le réseau social sous jacent au réseau mobile. Ce type d’attaque risque de se développer de par l’utilisation excessive des réseaux sociaux et de leurs tendances à donner trop d’informations trop simplement.


Dec 28 2010

Journée Cloud de France Grilles: Des grilles aux Clouds, nouveaux problèmes et nouvelles solutions

Tag: conference,rechercheArrouan @ 5:51 pm

J’ai eu la chance d’aller à la première journée Cloud organisé par France Grilles et l’INRIA à l’ENS Lyon  (voir le programme à l’adresse suivante: http://indico.in2p3.fr/conferenceOtherViews.py?view=standard&confId=4094). Je dis la première journée car il devrait suivre 4 nouvelles journées sur le cloud computing pendant l’année 2011: Virtualisation, Data, Programmation et Application. La journée était composée de plusieurs présentations et a fini par une table ronde. En voici mon résumé, bien entendu, ce résumé est orienté par mon axe de recherche la sécurité mais j’essaye de retranscrire la plupart des grandes idées qui sont ressorties.

Juste un petit rappel avant de commencer:

  • un cloud privé est un cloud utilisé uniquement au sein d’une entreprise et donc où tous les utilisateurs sont au sein d’une même organisation. En général, l’opérateur du cloud et les utilisateurs de celui-ci sont donc tous au sein d’une même organisation sauf dans le cas de l’externalisation du cloud comme n’importe quels autres services IT ;
  • un cloud public est un cloud utilisé par des utilisateurs de toutes origines et opérer par une société propre ;
  • un cloud hybrid est un ensemble d’un cloud public et d’un cloud privé. Ce concept est souvent utilisé pour étendre un cloud privé lors de pics de demande en utilisant des ressources d’un cloud public. Cela permet d’absorber ces pics sans avoir à acheter du matériels qui sera que rarement utilisé.

Grilles VS Clouds

Tout d’abord, le premier discours revenait sur la différence entre une grille et un cloud qui n’est pas toujours évidente. Il faut voir que comme la grille le concept de cloud computing n’est pas nouveau. Comme souvent en informatique, des vieux concepts sont régulièrement remis sur le devant grâce aux différentes avancées technologiques (et leur faible coût). Le cloud computing a été introduit en 1961 sous le terme “Computing As A Utility”.

Mais tout d’abord, une définition de la grille: c’est une méthode permettant la mise en commun de ressources dans des domaines d’administration différentes (par exemple des universités de plusieurs pays). Le concept d’organisation virtuelle (VO) est donc essentiel. Finalement, la grille a un très fort héritage du HPC (High Performance Computing).

Au contraire, le cloud est une version “simple” d’un système distribué et ne comporte pas de mise en commun de ressources (sauf dans le cas de la fédération de plusieurs clouds). Il existe plusieurs types de clouds: IaaS (Infrastructure as a Service), PaaS (Platform as a Service) et SaaS (Software as a Service). L’un des principaux aspects des clouds est l’isolation des différents utilisateurs dans des containers et donc la possibilité pour plusieurs utilisateurs potentiellement concurrent de partager le même système distribué. Il faut voir que même si le concept a été introduit dans les années 60, il n’a été possible que récemment grâce à l’extension d’Internet. En plus de faciliter la vision d’un système distribué, le cloud permet également de faciliter l’informatique dite ubiquitaire. En effet, les clouds permettent d’accéder, stocker et synchroniser des données depuis à peu près n’importe où. Bien entendu, le cloud a également un intérêt pour les entreprises en facilitant la réduction des coûts. C’est un point essentiel car si la grille n’a pas plus pris dans le milieu industriel c’est du fait de l’absence de modèle économique pour ces systèmes. Hors, le modèle économique d’opérer et d’utiliser un cloud sont claires et très largement documenter (même si rien n’est parfait et que le cloud computing comporte également des désavantages). La communauté européenne a commandé un rapport sur le cloud computing et ces intérêts. Ce rapport est disponible à l’adresse suivante: http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-report-final.pdf. Par exemple, SaaS permet de faciliter les coûts imputable aux cycles de vie des logiciels. Le cloud computing facilite la mise en place de nouveaux services comme le Data as a Service ou le Compoment as a Service. Il faut tout de même voir que les clouds actuels sont de grands eco-systèmes (MS, Google, Apple, etc) et comportent des risques de verouillages dans un eco-système dû à une absence d’interopabilité. Mais ces grandes infrastructures consomment énormément d’énergie. Il est donc essentiel de prendre en compte cette variable. Il faut voir que d’ici 25 ans les datacenteurs consommeront autant d’énergie que les humains aujourd’hui. Il y a donc un risque de concurrence entre la consommation électriques de ces immenses “fermes” informatiques et la consommation classique des sociétés.

Il existe plusieurs points à prendre en compte et qui ne sont pas encore réglés:

  • les modèles de fautes
  • la sécurité
  • le modéle économique i.e. des applications ne coutant pas cher à l’opérateur et donc consommant peu de ressources du cloud
  • SLA
  • la prise en compte des aspects énergie
  • la gestion des données
  • la fédération de cloud (des grilles de clouds en quelque sorte): Sky Computing
  • l’auto-configuration (self-*)
  • l’ordonnancement
  • des nouveaux modéles de programmation comme MapReduce
  • l’interaction entre les lois des différents pays et les structures informatique

Il faut tout de même casser certains mythes classiques du cloud. Le vol de données est toujours plus souvent physique que dans le clouds. Mais, il existe un risque réel comme l’a montré le MIT en attaquant le principe essentiel du cloud: l’isolation par virtualisation et la prévision du placement dans Amazon EC2. Finalement, il n’est pas simple d’utiliser le cloud, il faut repenser ces modéles de programmation en ne prenant plus en compte uniquement la performance mais aussi essayer de réduire au maximum l’utilisation des ressources du cloud coûtant cher.

How virtualization changed the grid perspective ?

La virtualisation est la brique de base du cloud. Il est le concept sous jacent de tous les types de clouds. Le talk présenté essentiellement les travaux fait dans le cadre de HipCal financé par l’ANR (http://hipcal.lri.fr/wakka.php?wiki=PagePrincipale) qui a introduit Entropy. Entropy est un cluster wide context switch. Je vous invite à aller consulter leur page pour en apprendre plus.

Le projet StratusLab et la technologie cloud

StratusLab est un cloud privé composé d’une pile logiciel open-source. Ce projet est financé par la communauté européenne. Le but est de faciliter l’utilisation des clouds à des utilisateurs du monde scientifique. De part cette orientation, les utilisateurs ont le choix d’utiliser des services classiques de grilles comme des services de cloud. Dans le futur, les opérateurs du projet souhaitent pouvoir étendre leur cloud privé en cloud hybride en utilisant donc des ressources issues de clouds publics. StratusLab repose sur OpenNebula (http://www.opennebula.org) et supporte des interfaces standardisés (OCCI pour les ressources et CDMI pour les données). L’un des autres buts est de pouvoir mettre en avant un modèle économique proche de celui du cloud (Pay As You Go) au monde scientifique.

Sky Computing on FutureGrid and Grid’5000 with Nimbus

Nimbus est une pile logicielle opensource pour la construction d’IaaS. Elle est développé par le monde universitaire américain. Elle est donc une sorte de pendant à OpenNebula en Europe. Le but du talk était la mise en avant de la fédération de cloud réparti sur deux continents (Europe et Amérique du Nord). C’est un donc un système à très large échelle. Un des points originals de Nimbus est que comme Amazon EC2, il incorpore le concept de Spot Instances. C’est-à-dire l’enchére sur les ressources non utilisées du cloud pour limiter au maximum le coût d’une application n’ayant pas de contraintes temporelles. Afin de faciliter la configuration des VMs sur Nimbus, il existe un context broker qui va pousser la configuration suivant le type d’utilisation de la VM. Pour permettre la distribution d’images virtuelles sur ces skys, Nimbus dispose d’une fonctionnalité appellée LANTorrent qui est une version de torrent orienté pour les LAN. Il  permet en 1min30 pour le transfert et 1min30 pour le boot de démarrer 168 machines virtuelles. Encore faut-il pouvoir raccorder les machines virtuelles se trouvant sur des clouds différents, pour cela, ViNe a été présenté. C’est un switch virtuel permettant de construire un réseau haute performance virtuel.

OpenNebula Cloud Case Studies for Research and Industry

Lors de cette journée, nous avons eu la chance de voir (ou revoir pour moi qu’il l’avait déjà vu lors de EuroPar 2010) le talk de Ignacio Llorente (DSA Research Group) qui est le fondateur de OpenNebula. OpenNebula est une pile logicielle entièrement opensource permettant la mise en place d’une infrastructure du type IaaS. Il est principalement issue de travaux qui ont eu lieu dans le cadre du projet FP7 européen Reservoir avec Oracle, IBM et SAP mais aussi de nombreuses équipes d’universitaires. Le but est de créer un logiciel qui s’adapte au besoin des opérateurs du cloud. Tous les composants sont facilement remplaçable grâce à une approche modulaire sous la forme d’interface. Bien entendu, comme les autres approches (voir le billet précédent sur OpenStack), il supporte les standarts qui sont en émergence (e.g. OCCI) ou les standarts defacto de l’industrie (API Amazon EC2). OpenNebula permet de mettre en place aussi bien un cloud public qu’un cloud privé ou un cloud hybride. Il est supporté par l’industrie (IBM, SAP, etc) mais aussi par des institutions (Europe via FP7). Il dispose désormais d’un support professionnel via la société C12G Labs. De plus, OpenNebula est actuellement en test au CERN pour la mise en place d’un cloud privé pour les physiciens (sûrement pour aider à l’utilisation des données issues du LHC). Il existe aussi des opérateurs industrielles l’utilisant en production comme China Mobile IT qui l’utilise pour son infrastructure interne. Dans le monde universitaire, en plus de StratusLab que j’ai déjà présenté, d’autres projets universitaires utilisent OpenNebula. BonFIRE a pour but la mise en place d’un testbed sur plusieurs sites géographiques afin de tester les services de l’internet du futur (Futur Internet). Il y a également 4Cast qui est une approche PaaS et qui est le pendant platform de OpenNebula (qui est de type IaaS et donc infrastructure). Les deux mots de conclusion du talk ont été que dans le futur les datacenters des entreprises seront tous des clouds hybrids i.e. une partie public utilisable par tous et une partie privée interne à une entreprise. Le second mot a été sur l’émergeance de cloud réparti géographiquement et des nouvelles fonctionnalités et challenges que cela va amener.

From XtreemOS Grids to Contrail Clouds

XtreemOS est un système d’exploitation distribué pour les grandes infrastructures de type grille alors que Contrail est le pendant pour les clouds. Ces grandes infrastructures peuvent donc être réparties dans plusieurs domaines d’administration mais sont également par définition dynamique. En effet, dans de telles infrastructures, il y a toujours un risque de pannes, de problèmes, d’operations de maintenance, d’ajouts de matériels, etc. XtreemOS est une approche OS à opposer avec les approches middlewares classiques sur les grilles. Il est simple à utiliser via l’utilisation d’interface UNIX classique i.e. POSIX mais aussi de l’interface de grille SaGa. Il a été conçu dés le début avec le concept de passage à l’échelle et de sûreté de fonctionnement (dependable system). XtreemOS peut être utilisé de trois manières différentes dans les clouds. Tout d’abord, XtreemOS peut utiliser les clouds pour étendre ses ressources de manière dynamique. Il peut aussi être utilisé pour faire de la fédération de cloud en utilisant XtreemOS pour la coopération des différentes infrastructures. Finalement, XtreemOS peut être utilisé comme un système d’exploitation à destination des clouds IaaS.

Dans ce dernier cas, XtreemOS ne voit plus le concept de jobs mais de machines virtuelles. XtreemFS (le système de fichiers de XtreemOS) peut être utilisé pour créer un cloud storage pour le stockage d’images virtuelles et des données des utilisateurs. La fédération de clouds est faciliter par la possibilité de gérer plusieurs domaines d’administration. De plus, l’utilisation d’organisations virtuelles permet de mettre en place plusieurs politique d’ordonnancement et de prendre en compte l’hétérogénité du matériel.

Contrail sera une pile logicielle opensource orientée coopération et partage dans des fédérations de clouds (privés et/ou publics). Le but est de voir cet ensemble comme un cloud homogéne du point de vue de l’utilisateur. Il sera donc possible de créer des contrats entre fournisseurs de clouds pour absorber les piques de consommation. Contrail permettra la création de structure IaaS et PaaS et prendra en compte la coopération entre ces deux types/niveaux de clouds. Une des idées intrinseques à Contrail est la mise en place de SLA. Que ce soit de type qualité de service (QoS) ou qualité de protection (QoP). Un exemple de qualité de protection est la prise en compte de la localité des données. Cela facilitera la sous location de ressources. Contrail est donc orienté sky computing et devrait permettre la migration à chaud d’un utilisateur d’un cloud vers un autre.

Des Grilles vertes aux nuages verts : vers des systèmes efficaces en énergie

Actuellement, 2,5% des dégagements de CO² est dû à l’informatique. Il est donc essentielle de réduire la consommation éléctrique de l’informatique et donc de ses dégagements de CO². L’une des solutions est de réduire la sous consommation des ressources informatiques. Pour cela, il y a 4 leviers:

  • réduire le nombre de ressources ;
  • ralentir les ressources ;
  • optimisation des ressources et des logiciels ;
  • coordination à grande échelle.

Il existe de plus en plus de travaux et de certifications orientés green computing: Green 500, Green Grid, SNIA, Green Touch, EEE. Des nouveaux brokers de ressources sont également développés pour prendre en compte ces nouveaux objectifs et donc balancer les performances et les consommations énergétiques comme ERIDIS. En effet, l’énergie est un nouveau contexte à prendre en compte. ERIDIS a été déployé sur Grid5000. Cela a permit de voir que 14% de la consommation éléctrique est perdue dû au temps non utilisé entre le début de la plage de la réservation d’une ressource et le début de son utilisation effective. Grâce à cette instrumentation, il a été possible de faire ressortir l’impact de la localisation d’un serveur dans un rack par rapport à sa consommation éléctrique. L’ensemble des résultats de cette expérimentation est disponible publiquement. Cela a permis la proposition et l’expérimentation de politique green sur Grid5000.

Un nouveau courant du green computing a lieu dans le cloud. Il va de pair avec l’utilisation d’energie verte et la facturation de l’énergie à l’utilisation. Cela donne lieu à des initiatives comme le Green Open Cloud qui doit permettre une consolidation pour réduire la consommation d’énergie. Le but est donc travailler sur le gain performance / énergie. Il est également resorti de ces études que la migration à chaud coûte cher en terme énergétique. Cela donne lieu à un french cloudware avec Bull.

PaaS Security

Le problème des architectures PaaS est le risque de faire tourner du code malicieux ou provoquant des fautes. Ce risque a un impact sur l’infrastructure même du cloud mais également sur les autres utilisateurs. Le talk était orienté vers la sécurité des JVMs et plusieurs programmes concurrences utilisant la même JVM. Le problème est donc multiple:

  • l’isolation des programmes utilisant les même ressources (par exemple la même JVM) ;
  • pouvoir compter efficacement l’utilisation des ressources par chaque utilisateur ;
  • permettre à un programme de se finir de manière propre (pas possible en Java pour le moment).

Une isolation par container est possible en rassemblant des ensembles de thread d’un même utilisateur dans le dit containeur. Ceci est proposé par JSR 121 Isolation API. D’autres JVM que celle de Sun/Oracle permettent également une isolation plus ou moins forte. KaffeOS utilise des processus similaires à ceux des systèmes d’exploitations pour permettre une telle isolation mais amène un problème de communication entre ces threads/processus. I-JVM permet la facilitation de cette communication entre threads. JNode/JX est efficace mais c’est un OS propre basé sur Java et est donc difficile à utiliser pour une architecture de type PaaS.

Le comptage des ressources (ressource accounting) est possible via JVM Tooling Interface mais provoque un overhead car il modifie le byte code. JRes JRAF-2 permet une instrumentation dynamique du code et donc facilite la mise en place du comptage. MVM est un cluster de JVM et via JSR284 (Ressource Consumption Management API) permet la mise en place d’une telle fonctionnalité. Mais ce n’est pas sur que Sun/Oracle la rendent publique. KaffeOS se limite au décompte d’utilisation temps et mémoire et I-JVM est plus complet en prenant en compte le processueur, la mémoire, les threads, etc.

La fermeture propre d’un thread est impossible avec la JVM classique mais KaffeOS et MVM le prennent en compte. I-JVM est également capable de proposer cette fonctionnalité mais il demande de programmer proprement pour prendre en compte la fin d’un thread.

NetBeans propose des mécanismes de sécurité plus avancés mais il sont relativement limité. Les Servlets ne proposent pas grand chose sauf une authentification et une encryption des communications (SSL). MVM permet uniquement une isolation. OSGi permet une sécurité par ensemble (bundle) visible ou non. Mais OSGi a souffert de 25 failles de sécurité dont 8 dans la JVM. I-JVM régle ces problèmes.

En plus de la sécurité PaaS Java, il est également possible de la faire en .NET. Il existe des domaines d’applications permettant l’isolation, les Active Directory sont isolés. Mais il faut faire son comptage de ressource soi-même et il n’est pas possible de faire une fin de thread propre. De plus, il n’existe que peu/pas de recherche sous .NET.

Pour conclure, il n’existe que deux solutions avec chacun leurs défaults: MVM mais il y a un problème de surcoût et I-JVM mais il existe le problème de fin de thread.

Le cloud computing pour un opérateur de télécommunications

Le but des clouds pour les opérateurs est de réduire les coûts mais aussi de simplicité d’utilisation. Cette simplification permet de réduire le temps entre le début de développement et la mise en place du services pour le publique. Il permet aussi une bonne flexibilité et une prise en compte du passage à l’échelle. Finalement, il améliore la qualité de services et la disponibilité. En temps que fournisseurs de cloud, cela permet de virtualiser l’ensemble des ressources et de faciliter l’automatisation des infrastructures.

Mais il existe des risques qui ne sont pas encore pris en compte:

  • SLA, automatisation, disponibilité, sûreté de fonctionnement
  • des structures PaaS
  • le stockage
  • les aspects réseaux
  • la sécurité et la privacy
  • l’absence de standart, d’interopabilité et de portabilité
  • des licenses logiciels adapté
  • la prise en compte de la localisation géographiques des données et leur lieu de traitement
  • le coût de la structure
  • l’intégration d’un cloud dans les SI

Les clouds devraient permettre d’ouvrir de nouvelles perspectives:

  • évolution des offres d’hebergement pour les entreprises
  • évolution des offres pour le marché de masse
  • évolution des systèmes d’information
  • orienté internet du futur

Pour FT/Orange, il devrait émerger un large ensemble d’offre:

  • vertical cloud: cloud dédié (eGov, Santé, etc)
  • Personnal Cloud
  • Mobile Cloud
  • Community Cloud
  • Open Cloud: comme SIROCO un IaaS OpenSource par Orange
  • Federate cloud avec un nouveau rôle d’intermédiaire entre les différents clouds
  • On Demande Virtual Private Cloud
  • Full Network Virtualization

Deux exemples de clouds proposés par Orange:

  • My Personal Storage Cloud qui est un stockage ubiquitaire
  • Community Cloud qui est une grille de desktop se basant sur des réseaux communautaires. Le but est d’augmenter la taille du cloud en prenant des ressources en bord de réseaux, c’est-à-dire chez le client.

Stratégie Cloud Computing pour IBM

IBM propose déjà des clouds privés. Il vient de mettre en place un pour ING. Cela leur a permis de mettre en avant l’importance de l’intégration totale d’un cloud dans les systèmes d’information. En général, les chefs sont réticents à passer aux clouds alors que les développeurs sont extrêment intéressés. Mais il faut qu’en même voir, qu’un datacenter cloud coûte environ 500 millions de $ à construire. Actuellement, les clouds représentent 5% du CA de l’IT mais en 2015 il représentera 15%. Ce qui est à noter, c’est que les clouds seront l’un des seuls facteurs de croissances dans l’IT. Les clouds seront intégrés à tous les niveaux. Pour IBM, la R&D est essentielle dans le cloud aussi bien pour la sécurité que les service de gestion car pour le moment il n’existe rien dans ces domaines.

IBM propose un service de cloud: IBM CCMP. Cela leur a permis de mettre en avant l’importance du self service dans le cloud. IBM est actuellement entrain d’intégrer la mise en place de pattern (du genre LAMP) et d’autoconfiguration dans le cloud. Il devrait également proposer une version d’eclipse modifier permettant de créer sa propre infrastructure dans le cloud par une interface graphique simple du type glisser/déposer.

IBM veut proposer un cloud par type de besoin comme: analytics, collaboration, développement & tests, desktop, stockage, progiciels. Un des exemples est la mise en place de cloud contenant des bureaux graphique pour les développeurs. Cela permet de ne plus rien avoir sur le poste client et tout dans le cloud ce qui peut être une bonne chose dans le cas de l’outsourcing.

Chez IBM, les clouds sont déjà utilisés en interne et dans le futur pour le publique. Mais la crainte numéro 1 actuelle est la sécurité et tout particulièrement la sécurité de la virtualisation. Pour cela, IBM propose IBM Virtual Server Security pour VMWare qui contient un IPS, un firewall, la détection de rootkit, etc. Mais pour IBM, le cloud peut également aider la sécurité des systèmes d’information en mettant dans le cloud des logiciels de sécurité.

IBM va proposer des clouds communautaires comme pour l’administration américaine qui par décret s’oriente vers le cloud. Il y a également l’état de New York qui propose un cloud pour les collectivités locales permettant la gestion de l’eau, de la santé et d’autres services.  Il pourrait également émerger des clouds propres pour la santé mais aussi pour la finance et les banques. Actuellement, IBM a un cloud avec 3000 utilisateurs et un taux d’utilisation de 90% ce qui est à comparer avec les  15% classiques. Le cloud permet donc effectivement une bonne consolidation.

Les clouds vont permettre la mise en place du concept de Everything as a Service mais aussi la composition de ces services. Mais, toujours d’un point de vue sécurité, il faut que l’ensemble du matériel de l’infrastructure puisse permettre la prise en compte de plusieurs utilisateurs potentiellement concurrents.

IBM travaille sur un projet nommé CSP² pour Cloud Service Provider dont le but est de pouvoir gérer une structure de cloud à très large échelle:

  • 1 000 000 de machines virtuelles
  • quelques dizaines de milliers de nouvelles machines virtuelles toutes les heures
  • un temps de déploiement inférieur à 1 minute
  • 99,999% de SLA
  • un placement des machines virtuelles intelligent basé sur l’historique et des régles statiques
  • des machines virtuelles de gestion des ressources

Conclusion

La conclusion de la journée est que les clouds sont un nouveau secteur émergeant et très interessant que ce soit d’un point de vue utilisation que recherche. Mais qu’il reste encore des grands obstacles à gérer comme la sécurité pour pouvoir une véritable émergeance du cloud dans l’ensemble des systèmes d’informations.


Dec 23 2010

OpenStack: Les nouvelles fonctionnalités de la future version

Tag: news,ToolsArrouan @ 1:52 am

En plus de l’approche OpenNebula (http://www.opennebula.org) en Europe, les américains ont lancé OpenStack (principalement NASA et Rackspace) mais aussi du coté universitaire (http://www.nimbusproject.org). Je vais m’inspirer de l’article du release manager de OpenStack, Thierry Carrez (http://fnords.wordpress.com/2010/12/22/what-will-be-in-openstack-bexar-release/) pour vous présenter la nouvelle release.

OpenStack est en développement tres intensif ces derniers temps et beaucoup de développeurs y participent. En gros, OpenStack est composé de deux composants principaux: Swift pour les données et Nova pour le calcul. En plus, il y a Glance pour gérer les images de machines virtuelles. Voici les nouveautés par composants.

Swift (OpenStack object storage)

Swift supportera des objets de taille illimité en implémentant coté client un découpage par morceau (5Gb par défaut). La seule limite devient donc la taille disponible sur le cloud storage. Il devrait également y avoir le remplaçant de la technologie d’authentification et d’autorisation nommé SwAuth.

Glance (OpenStack image registry and delivery service)

Le service Glance proposera une interface REST pour l’enregistrement d’images et leur déploiment. Il sera aussi possible d’ajouter une image en une requête que ce soit les données en elles-même ou les méta-données.

Nova (OpenStack compute)

Nova utilisera Glance et ne nécessitera plus uniquement le triplet kernel/ramdisk/image mais supportera également les images brutes en un block. Nova dispoera également d’un mode rescue pour réparer depuis un environnement sain vos VM. Il devrait également être possible de faire des snapshots instantanés.  Des fonctionnalités moins visibles seront également ajoutés comme le support des langues multiples, la standardisation des services en utilisant la bibliothéque python eventlet ou l’allocation IP (à plus bas niveau). Il sera également possible d’augmenter la sécurité de votre réseau privé dans le cloud en s’y connectant uniquement par un VPN ou via l’utilisation de groupes.

D’autres fonctionnalités pourraient également être présentes comme une console série pour les VM via une interface web, le support d’IPv6, de la haute disponibilité via des partitions Sheepdog, des logs d’audits plus avancées, de la migration à chaud….

OpenStack n’est pas le seul projet open source de cloud IaaS mais il dispose de nombreuses fonctionnalités très intéressantes, un bon support et une communauté grandissante.


Nov 17 2010

sVirt: Le contrôle d’accès mandataire pour la virtualisation sous Linux

Tag: AdminSysArrouan @ 1:20 pm

La virtualisation est une technologie en pleine explosion. De plus en plus de sociétés virtualisent tout ou une partie de leur infrastructure. Les avantages sont multiples: réduction des coûts, augmentation de la disponibilité, facilité d’évolution, etc.

Mais, la virtualisation n’a jamais été un mécanisme de sécurité. Il est donc essentiel de sécuriser et contrôler cette brique du système d’information globale de l’entreprise comme n’importe quelle autre. C’est dans ce but que RedHat travaille depuis plusieurs années sur la sécurité de la virtualisation et plus particulièrement le contrôle d’accès mandataire (MAC). En s’appuyant sur des briques opensources sur lesquels ils développent leur produit comme KVM et libVirt, RedHat a introduit sVirt (http://selinuxproject.org/page/SVirt) qui fait désormais parti de libVirt.

sVirt permet la mise en place d’un MAC entre les différentes ressources virtualisées du système. Pour cela, un label (à la SELinux) est affecté à chaque ressource virtuelle que ce soit une machine virtuelle (VM) ou un ressource matériel (disque dur, etc).

Pour le moment, sVirt n’incorpore qu’une version très basique du contrôle d’accès mandataire mais il est déjà intégré dans la nouvelle version de RedHat (RHEL 6). Dans le futur, RedHat prévoit une méthode permettant la gestion des flux d’information entre VM mais aussi, la possibilité d’étendre ce contrôle non plus à une machine mais à un ensemble. Cela est un premier pas essentielle pour une meilleure sécurité dans les systèmes distribués comme les clouds.


Aug 12 2010

Projet de spécifications fonctionnelles des moyens de sécurisation

Tag: AdminSys,news,recherche,undergroundArrouan @ 12:42 pm

Dans cet article, j’analyse les spécifications de ce logiciel HADOPI et j’explique en quoi il est impossible sans de grave atteinte à la vie privée, la sécurité et la qualité des transfert d’information.

La première fonctionnalité est une politique de sécurité dont la mise en oeuvre est décidée par le titulaire de l’accès. Ce que demande ici HADOPI est ni plus ni moins un controle d’accès discretionnaire (DAC). De plus, rien d’orginial pour une politique de sécurité, elle doit être souple et avoir une granualité fine. Le logiciel se base sur cette politique pour observer (sans enregistrer) les flux et prendre la décision de bloquer ou non ces flux. Ce système est clairement un système de filtrage des flux orienté politique  orienté réseau. Il est demandé qu’il soit aussi bien orienté l’utilisation de listes (blanches, noires, grises) que de l’analyse du traffic (tres orienté analyse de flux et même plus loin DPI).

Ensuite, le logiciel doit être capable d’analyser la configuration du postes, des logiciels, du reseau de manière statique. On peut donc imaginer qu’il va vérifier que vous avez bien défini une clef sécurisé WEP (oui oui WEP c’est sécurisé d’après HADOPI…). Mais là où ca devient fort c’est quand il demande une analyse dynamique des logiciels en fonctionnement soit une analyse dynamique du système ou de l’application. C’est bien beau ça mais tout d’abord pour quoi faire (ça on le fera plus tard) et ils connaissent la difficulté d’avoir un tel dispositif fonctionnant sur un système réel ? Je suis bien placé pour en parler, la mise en place de contrôle d’accès dynamique sur un système pour protéger contre les flux illégaux, c’est le sujet de ma thèse.

Après on a le droit à la killer feature qui va bien avec le DAC, c’est à dire si le logiciel détecte quelque chose d’illégal, il l’annonce à l’utilisateur.

Finalement, de manière générale, la dernière fonctionnalité est la mise en place d’un système de journalisation contenant une version en clair et une version sécurisé qui contient ce qu’a fait le logiciel de sécurisation mais aussi ce qu’il a détecté et ce que l’utilisateur a décidé de faire. Bien sur, le journal sécurisé doit etre confidentielle, authenthique et infalsifiable. En gros, seul HADOPI et l’utilisateur sont senser pouvoir le lire. D’un point de vue sécurité, la fonctionnalité doit donc garantir l’intégrité, la confidentialité et la non répudiation.

Après ca devient fort quand ils demandent que le logiciel puisse lutter contre l’usurpation, le contournement ou l’altération. Mais aussi que toute la structure du logiciel lui meme soit sécurisé .Ensuite, on a le droit au fonctionnalité classique de mise à jour, de faible impact des performances, de désinstallation. On notera que le logiciel peut être fait (ou peut tourner) sur des logiciels libres, c’est gentil de leur part non ? Mais bon vu qu’il faut qu’en même faire plaisir au gros éditeurs, HADOPI précise que le logiciel peut être ajouté dans des suites de sécurité. Quand on voit l’efficacité de ces suites comme les antivirus, ça fait peur…

Comme il a déjà été, le logiciel peut être installé aussi bien sur le PC (ou console ou téléphone, etc) que sur la passerelle, c’est à dire la box en ce moment en France. Mais comme la box est très fermée, peu puissante et renouvellé rarement cette fois n’est que exploratoire. Dans le cadre des grands entreprises, des sondes DPI peuvent également être proposé.

La politique de sécurité doit être générique et universelle. Le logiciel doit être capable d’analyser sans trop de coût un traffic allant jusqu’à 100Mb/s. La modification des listes est possible par l’utilisateur mais ces modifications sont journalisées. Clairement le coeur du système est  l’analyse dynamique des flux réseaux qui sent tres fort le DPI. Mais pour autant, il n’analyse pas le contenu des flux car pour le moment d’après e document ce n’est pas possible d’analyser les attributs de données pour détecter si le flux contient un DRM ou si il est un fichier légal. Ce passage est l’un des meilleurs car il fait directement allusion à un des brevets déposé par Pr. Riguidel qui est justement la personne responsable de ce document. Ils ont même penser aux flux chiffrés en disant que même si ce n’est pas possible de faire une analyse de ces protocoles, une analyse statistique est toujours possible.

Le document explique bien que le logiciel sera pas capable de faire la différence entre un téléchargement P2P d’un ISO Linux et celui d’un film sous copyright. Il doit détecter les piles protocolaires. Par exemple, tout streaming en dehors des sites reconnus comme sur, pourrait être considerer comme illégale. De manière pratique, on peut supposer que le téléchargement HTTP soit interdit sur des sites comme megaupload. Une des autres détections proposée est la détection de VPN chiffré vers des sites problèmatiques, qui a dit IPRedator ?

Le problème de ce logiciel est qu’il doit tourner sur un système controlé par l’utilisateur mais pour autant rester intégre. On a ici un problème non résoluble. En effet, pour fonctionner le logiciel doit faire confiance au système. Hors le système est controler par l’utilisateur et par conséquence ce dernier peut en modifier le comportement. Le logiciel ne pourra donc pas rester intégre. Et encore, même si l’utilisateur n’attaque pas l’intégrité du logiciel, tout virus tournant sur la machine pourra attaquer le dit logiciel. Le coeur du logiciel est d’avoir un journal infalsifiable ce qui est impossible à part en utilisant un TPM et encore j’en doute dans le cadre d’un système controlé à 100% par l’utilisateur.

Ma conclusion est que la mise en place d’un logiciel permettant de faire de l’analyse réseau sur une ligne à haut débit est tout simplement impossible d’un point de vue sécurité informatique car il mélange des concepts qui sont fondamentallement incompatibles. En effet, pour garantir le fonctionnement du logiciel et du journal, il faut faire confiance au système sous jaceant c’est à dire le système d’exploitation. Ce n’est pas possible de faire confiance à un utilisateur. L’utilisateur ayant un controle total du système d’exploitation, le système n’est donc pas de confiance et le logiciel ne peut donc pas fonctionner en restant sécurisé. On pourrait imaginer que l’utilisateur arrive à modifier les alertes à inscrire dans le journal avant qu’elle soit écrite dans ce dernier et donc éviter une détection. Aucun système ne peut protéger un logiciel sur un système d’exploitation non sur sans ajouter une couche plus basse qui est elle meme sécurisé. Par exemple, des logiciels comme Overshadow permettent une telle chose mais en faisant confiance à l’hyperviseur qui controle le système d’exploitation. Ce n’est pas une possibilité ici puisque l’hyperviseur serait également sous le control de l’utilisateur. La seule solution serait d’avoir un système d’exploitation renforcée ne permettant pas à l’utilisateur de fonctionner comme il le souhaite. Un tel système implémentant un control d’accès mandataire et resistant aux utilisateurs est tout à fait possible comme nous l’avons démontré lors du défi de sécurité de l’ANR en proposant un OS qui ne fait pas confiance à l’utilisateur et reste intégre. Mais cela va à l’encontre de la demande de politique discretionnaire car un tel système requiere un politique mandataire. Je ne parle meme pas des problèmes de performances pour l’analyse en temps réel du traffic réseau mais aussi de la protection du système d’exploitation.

Pour finir,  si on fait confiance à des sociétés d’antivirus pour ce logiciel, ca va être un belle blague… De tout façon vu les demandes et les possibilités, il est tout simplement impossible de concevoir un tel système. Tout tentative sera forcement attaquable et le pire c’est qu’au lieu de sécuriser l’utilisateur, il y a de grandes chances que ce logiciel ouvre de nouveau vecteur d’attaque comme nous l’avons vu dans le logiciel GreenDam.

A titre personnel et de recherche, je suis pressé de voir ces logiciels car même en ayant une tres bonne connaissance de l’état de l’art universitaire et industrielles de la sécurité système, je ne vois aucune solution possible qui soit réaliste ! Attendons nous donc à bien rigoler !


Oct 20 2009

Campagne de SPAM Direction Generale des Finances Publiques

Tag: news,undergroundArrouan @ 12:16 pm

Une nouvelle campagne de SPAM apparait de plus en plus dans les messageries à usage uniquement francophone (e.g. les universités). Elle apparait provenir de la direction generale des finances publiques avec l’adresse lettre-info-fiscale@dgfip.finances.gouv.fr. Cette email peut parait à première vu totalement légitime.Il est signé Phillippe BERGER (Consiliateur fiscal adjoint) qui bien qu’il n’existe pas à des homologues dans Google et les premiers rapports de ce SPAM ne sont pas dans les 10ers réponses de Google actuellement (bien que 01net ou Zataz en aient parlé).

De plus, pour pousser les lecteurs à cliquer sur un lien, les attaquants écrivent dans un bon français (pour une fois ce n’est pas une traduction automatique) que vous êtes adminissible pour recevoir un crédit d’impôts de 180€ environ (178.8€). Et il vous demande de remplir un formulaire pour avoir le droit à cette aide.

Bien entendu, le mail ne provient pas de la DGFIP mais est un SPAM. Le lient en lui même n’est pas forcément très malin car il méne vers un site finissant en .mx (mexique) ce qui n’est pas très crédible. L’utilisateur lambda sera surement induit en erreur car le header de la page est impots.gouv.fr et quand vous cliquez sur le lien, vous êtes rediriger vers une page dont l’URL contient http://www.impots.gouv.fr/portal/dgi/public/particuliers-Remboursement ce qui semble être une URL légitime.

Le premier site en .mx semble être un site légitime en espagnole. De plus, ils n’utilisent pas un top domaine tu type foobar.mx mais foobar.com.mx ce qui permet de ne pas avoir d’entrer DNS permettant de remonter à eux. Ce site est de toute façon utilisée comme passerelle car vous êtes tout de suite rediriger vers un second sans DNS mais via une addresse IP. Le premier site pourrait donc être juste un site légitime infecté par un malware. Ce site en .com.mx est hébergée sur un serveur dédié aux USA chez abac.net

Le faux site des impôts se trouve sur un second site avec une URL cachée du style http://xxx.xxx.xxx.xxx/.site/fr/?http://www.impots.gouv.fr/portal/dgi/public/particuliers-Remboursement. Cette addresse IP semble statique et est localisé à Rio de Janerio au Brésil dans une société qui fournit des ADSL et autres solutions Internet. On peut donc supposer que ce serveur est également un serveur compromis. En regardant de plus pres, on tombe sur un serveur qui semble légitime et dédié aux sites professionnelles. En cherchant un peu, cette plage d’addresse semble utiliser pour des sites pornographiques surement garni de malwares.

De plus, les liens sur la page contrefait ne marche pas ou sont redirigé vers le vrai site des impots ce qui augmente la confusion. En regardant le code HTML de la page, on se rend compte que les responsables de cette campagne de SPAM sont surement espagnole (ou de langue espagnole) ou tout du moins qu’ils ont utilisé un utilitaire créé par une personne de langue espagnole.

Ensuite une fois le formulaire remplit l’addresse change vers http://xxx.xxx.xxx.xxx/.site/fr/D.htm?http://www.impots.gouv.fr/portal/dgi/public/particuliers-Remboursement qui semble tjs légitime. Finalement, le site principal sur l’addresse IP semble être légitime en étant un vendeur de solutions informatique mais ne l’est surement pas.

Bref une campagne de SPAM plutôt bien monter et très bien cibler avec une localisation réflechie ce qui semble être une première en France mais surement pas la dernière.


Sep 28 2009

Un nouveau système d’exploitation pour les systèmes multi-coeurs: BarrelFish

Tag: conference,news,rechercheArrouan @ 3:03 pm

Lors de la prochaine conférence SIGOPS sur les principes fondamentaux des systèmes d’exploitations (SOSP’09), les nombreux auteurs (Andrew Baumann (ETH Zurich), Paul Barham (MSR Cambridge), Pierre-Evariste Dagand (ENS Cachan Bretagne), Tim Harris (MSR Cambridge), Rebecca Isaacs (MSR Cambridge), Simon Peter (ETH Zurich), Timothy Roscoe (ETH Zurich), Adrian Schüpbach (ETH Zurich), Akhilesh Singhania (ETH Zurich)) vont présenterun papier intitulé: The Multikernel: A New OS Architecture for Scalable Multicore Systems.

Ce papier présente une nouvelle architecture pour les systèmes d’exploitation. Tout d’abord, malgré la présence de nombreuses personnes de Microsoft Research, le système d’exploitation qui en résulte, n’est pas du tout un Windows mais un bien un nouveau système d’exploitation. Ce système n’a pas pour but d’être utilisable mais il présente une nouvelle architecture. C’est un OS d’expérimentation uniquement qui n’ira surement pas plus loin que le prototype. Néammoins, il est possible que certains principes soient ensuite utilisé dans des systèmes fonctionnels.

Le principe de cet OS est de pouvoir passer outre le problème actuel que les OS rencontrent de plus en plus: la synchronisation des coeurs dans les systèmes massivement multicoeur et l’hétérogénité du fonctionnement hardware des processeurs multi-coeurs. Par hétérogénité hardware, les auteurs veulent parler du fonctionnement différents des multicoeurs proposées par les acteurs du marché (Sun, Intel, AMD). En effet, chacun utilise un fonctionnement différent sur les communication inter-coeurs avec des controleurs de mémoire à différents niveaux.

Les OS actuelles permettant la prise en charge de coeur multiples fonctionnent en utilisant une mémoire partagée pour l’échange d’informations mais également le stockage des données. En introduisant leur architecture multikernel, les auteurs proposent une communication explicite (contrairement à celle implicite via le partage de mémoire) en utilisant un système de message. Cela leur permet d’éviter que la mémoire partagée deviennent un goulot d’étranglement. Les études récentes montrent qu’au delà de 80 coeurs, le partage de la mémoire devient critique. Le système par message doit permettre de passer outre ce problème. Il se base sur un système de type RPC et a une complexité qui est linéaire mais également largement inférieur à celle du système par mémoire partagée. Dans le cas du multikernel, chaque coeur et chaque noyau se retrouve avec un espace de mémoire dédiée et partage donc les informations par un système de message proche de celui de RPC et très compacte (64bit).

Le principe de leur architecture est un système distribué communiquant avec des messages et sans partage de mémoire. Le partage de lock ne fonctionne plus par une structure unique de donnée se situant dans la mémoire partagée mais par un lock répliqué autant de fois que de nombre de coeurs accédant à la donnée et synchroniser via des échanges de messages. Le système de message est au final relativement proche de celui des micronoyaux et tout particulièrement celui de L4.

Pour conclure, c’est un nouveau model très intéressant et qui propose une nouvelle solution pour mieux prendre en compte les machines multicoeurs. D’un point de vue de la sécurité, toutes les communications entre coeurs étant explicites, cela devrait pouvoir faciliter le travail pour détecter des fluxs d’informations illicites. En se basant sur des principes de micronoyau, on peut espérer que la sécurité amenée par ce modèle pourra également améliorer la sécurité du multikernel. C’est bien un OS à surveiller si son développement continue contrairement à la plupart des projets de recherche qui ne sont rarement développé très longtemps.


Aug 31 2009

Le gouvernement suédois interdit le mot banque (Bank) dans les noms de domaines n’appartenant pas à des banques

Tag: newsArrouan @ 12:06 pm

Il est courant que les gouvernements de part le monde insiste sur le faite qu’une compagnie ne peut pas se nommer une banque si c’en n’est pas une officielle et controlée. Malgré cela, il n’est pas rare de voir des sociétés utilisant le mot “banc” au lieu de banque (bank) pour éviter de telles législations.

La Suéde a décidé d’aller plus loin en interdisant aux registrars (i.e. les organismes fournissant les noms de domaine) fournissant les .SE qu’ils ne peuvent pas vendre de noms de domaine contenant le mot “banque” sauf si c’est une banque officielle. Bien sur, il y a des raisons légitimes de vouloir le mot “banque” dans son nom de domaine même si on est pas une banque. Par exemple, une association de clients d’une banque ou autre.

Mais, il ne faut pas oublier que la vaste majorité des utilisations de mot banque dans un nom de domaine quand la société derrière n’est pas une banque est pour des utilisations frauduleuses et particulièrement du fishing. Est-ce que cela aura une incidence sur le phishing ? Il y a peu de chances puisque ce n’est qu’une législation local. Appliquer à un niveau international, cela pourrait peut être ralentir le phishing même si j’ai de fort doute dessus. En effet, il suffirait de prendre un nom de domaine comme oftheamerica.com puis de créer le sous domaine bank.oftheamerica.com pour passer outre la législation qui prend en compte uniquement les noms de domaines et pas les sous domaines de ces derniers.

Inspiré par Techdirt


Aug 20 2009

Brower as a OS: La proposition Gazelle de Microsoft

Tag: conference,news,rechercheArrouan @ 12:30 pm

The multi-principal OS construction of the Gazelle Web Browser est un papier publié à USENIX Security par une équipe commune Microsoft Research, University of Illinois et University of Washington. Leur papier décrive l’architecture qu’ils proposent pour un navigateur plus sécurisé et plus résistant aux nombreuses attaques qui existent actuellement quand vous surfez sur des simples pages Internet.

On peut dire que Gazelle est la réponse de Microsoft à plusieurs technologies de Google qui sont rassemblée dans Google Chrome (et Google Native Code). Le but dans les deux cas n’est plus de voir le navigateur comme un gros programme d’affichage de pages mais comme un OS dédié à la navigation. Dans ce cas, le navigateur est séparé en plusieurs processus qui sont controlés par un noyau.

Le noyau comme le noyau d’un OS se charge de la communication entre les différents composants et processus mais aussi gére l’interface avec les ressources systèmes. En compartimentant les différents pages vu simultanéement i.e. avec un processus par tab, si une page plante ou est corrompu, le problème sera limité à une page et pas la totalité de celle actuellement affichée.

Cette méthode a été rendu grand public par Chrome mais d’autres browsers expérimentaux comme OP ou Tahoma proposaient déjà des structures similaires.

La différence entre Gazelle et Chrome est au niveau de la finesse de séparation entre les différents domaines Internet. Le but est toujours d’éviter au maximum que des données d’un site soit lu par un autre et la séparation jusqu’au rendu de la page est essentielle. La même chose doit être appliquée pour les plugins qui sont de plus en plus source de problèmes.

Pour conclure, Gazelle est un très beau principe qui  promet une meilleur sécurité au niveau du navigateur. Des inconnues restent comme le principe de sandboxing pour éviter qu’un processus corrompu perturbe le système ou la gestion des plugins mais leur idée est très intéressante.  Avec la montée des applications web et des données de plus en plus sensibles qu’elles traitent la sécurité du navigateur est un point essentiel et l’un des plus attaqués actuellement. Il est probable que de telles architectures tentent à se démocratiser dans les années à venir pour ce genre de logiciel.


Aug 19 2009

Une nouvelle méthode de détection de malware

Tag: conference,news,rechercheArrouan @ 5:34 pm

Les auteurs de “Effective and Efficient Malware Detection at the End Host” publié à USENIX Security 2009 sont partis du faite qu’il y a de plus en plus de malwares et qu’ils collaborent de plus en plus entre eux. De plus, les antivirus actuelles se basent essentiellement sur les signatures qui sont facilement contournées en utilisant du polymorphisme  ou de l’obfuscation. D’autres méthodes, plus marginales, se reposent sur l’analyse des séquences d’appels systèmes générés par un programme mais sont contournable en changeant de manière légére la séquence de ces appels. Finalement, des méthodes ont été proposées afin d’extraire des comportants globaux à une famille de malware pour les bloquer d’une manière plus efficace, mais ces méthodes ne sont pas assez rapide pour fonctionner en temps réel. Le but des auteurs est donc de proposer un système qui va réellement pouvoir détecter les derniers malwares actuelles et tout cela en temps réel.

Leur système permet tout d’abord de générer automatiquement un modèle du malware ou de la famille de malware. Ce modèle se base sur des informations très compléte du comportement du malware. Contrairement à la détection par signature, où souvent seulement un hash du malware est utilisée pour la détection ou de la détection par séquence d’appels systèmes où cette dernière doit être respecté pour que la détection fonctionne, le modèle conserve l’intégralité des informations relatives au comportement du malware et pas uniquement une partie. D’après les auteurs, cela permet d’éviter les risques de non détection quand les malwares utilisent l’obfucation ou le polymorphisme. Ils ont ensuite développer un scanneur qui permet de faire correspondre un modèle à un programme inconnu. Pour cela, il se base sur la dépendance entre des appels systèmes.

L’une des nécessités que se sont imposée les auteurs dès le début, c’est que leur système ne devait pas incorporer de connaissances au début mais plutôt les développer au fur et à mesure. En effet, il devient tellement simple de générer des nouveaux malwares que toute connaissance preliminaire est caduc très rapidement. Bien entendu, les auteurs ne peuvent qu’admettre que dans ce cas, il faut qu’un malware soit analysé au moins une fois pour que son modèle soit généré et détecté par la suite. Il faut donc que le malware soit détecté par un tier, puis analyser par le système de génération de modèle pour pouvoir servir à la détection. Les auteurs précisent que ce n’est pas nécessaire pour chaque malware et chaque déclinaison de celui-ci grâce à leur modèle qui permet d’avoir des informations précises.

Afin d’améliorer leur système, leur analyse se base sur l’analyse d’un sous ensemble qualifié d’intéressant de syscall qui pourraient réellement aider à la détection de malware. Une fois les syscall collectés, ils les utilisent pour créer un graphe orienté qui va lié deux noeuds i.e. deux syscalls si les données générées par le premier sont utilisées en entrée par le second.

Leur système fonctionne plutôt bien quand il s’agit de détecter des malwares et des variantes de ces derniers qu’il a déjà analysé. D’après les tests fournis par les auteurs, le taux de détection est de 90% avec un taux nul de faux positif. Mais dès qu’il s’agit d’analyser des variantes inconnus le taux de détection chute à seulement 25%. Leur système se basant sur des modifications du système pour pouvoir monitorer, analyser et bloquer des programmes au niveau noyau, un driver ainsi qu’un certain nombre de programme ont été développé. L’overhead est relativement faible 10% pour ce qui est du CPU mais il monte rapidement pour les entrées/sorties et 40% pour des tâches complexes comme une compilation.

Pour conclure, leur système est intéressant car il permet effectivement une bonne détection de comportement des malwares en se basant sur l’observation des liens entre syscalls. La méthode permet donc d’éviter les problèmes d’obfuscation, de polymorphisme mais aussi de changement d’ordre des syscalls. Par contre, leur méthode ne détecte que péniblement les variantes d’un malware déjà connu et ne détecte pas à l’avance des inconnus. Le système est donc en effet une progression par rapport aux systèmes existants mais a encore de grave lacune pour qu’ils soient utilisables.


Next Page »