Proposition de recherche TaintDroid Laboratory. Présenté à M. François Bertrand. Réalisé par l équipe Droid. Dans le cadre du cours 420-620-SF



Documents pareils
Au préalable, nous nous plaçons dans l espace au sein duquel nous allons créer notre raccourci vers l ENTG.

Poste de travail virtuel

Guide d installation

Poste virtuel. Installation du client CITRIX RECEIVER

Tutoriel pour la gestion des bases de données du Serveur Mysql virtualisé par le Gip Récia

Sessions en ligne - QuestionPoint

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

DEVREZ VOUS RÉAPPRENDRE À TRAVAILLER AVEC VOTRE SUITE PRIMMO?

Étape 1 / CHOISIR UN HÉBERGEMENT

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

1 Centre de téléchargement Storio

Des applications locales à l infonuagique: comment faire la transition?

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.3

Mes documents Sauvegardés

Politique de sécurité de l actif informationnel

S8 - INFORMATIQUE COMMERCIALE

Chapitre 1 Retour en arrière

LIVRE BLANC. Migration de Magento Community Edition MD à Magento Enterprise Edition MD

Formation en Sécurité Informatique

Programmation Mobile Android Master CCI

Stage : Développement du contenu Web

Competence Management System (Système de Gestion de Compétences)

Fonctionnement de Windows XP Mode avec Windows Virtual PC

14.1. Paiements et achats en ligne

PROTECTION DES PÉRIPHÉRIQUES MOBILES ET GESTION DE FLOTTE MOBILE (Kaspersky MDM licence Advanced)

L A T O U R D E P E I L Z Municipalité

E.N.T. Espace Numérique de Travail

La solution hébergée pour les intermédiaires d Assurance

Mobilitics : Saison 1 : résultats iphone. Conférence de presse du 9 avril 2013

10 bonnes pratiques de sécurité dans Microsoft SharePoint

Infolettre #6: SkyDrive

Etude d Exchange, Google Apps, Office 365 et Zimbra

Comprendre le marché des éditeurs de logiciels

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

UltraBackup NetStation 4. Guide de démarrage rapide

I. Objectifs de ce document : II. Le changement d architecture :

Défi Cloud Computing

Les nouveautés d AppliDis Fusion 4 Service Pack 3

Politique numéro 42 POLITIQUE DE GESTION DOCUMENTAIRE

Numérique. Mon Université.

Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

CHARTE DE GESTION DES COOKIES

Procédure d installation détaillée

Forums et Ateliers numériques

BI dans les nuages. Olivier Bendavid, UM2 Prof. A. April, ÉTS

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

FileMaker Server 14. Guide de démarrage

Guide de connexion sur les bornes hot-post WIFI de la collectivité de Saint-Pierre

SMARTPHONES ET VIE PRIVÉE

TITRE : Règlement sur l'informatique et la téléinformatique

PG208, Projet n 3 : Serveur HTTP évolué

TIS Web, complet et évolutif. Gestion en ligne des données pour les flottes de transport.

Point sur les solutions de développement d apps pour les périphériques mobiles

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

Architecture de la plateforme SBC

ASECRO PROFIL DE L ENTREPRISE. Web & App design Hosting Domain Cloud Encryption CDN SNS Software Development

L'infonuagique, les opportunités et les risques v.1

Accès à distance sécurisé au Parlement (ADSP)

GeniusTim_Labo Version 1.0

GUIDE D INSTALLATION ET D UTILISATION PI AUTHENTICATOR

payez votre stationnement par mobile! guide utilisateur appli Android

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Création d une application Android (APPInventor)

Retrouver de vieux programmes et jouer sur VirtualBox

SUITE DE PRODUITS NUMÉRIQUES PADI

Politique de sécurité de l information et des technologies. Direction des systèmes et technologies de l information

SQL Server Installation Center et SQL Server Management Studio

Notice PROFESSEUR Le réseau pédagogique

Eliminer les zones d ombre et fournir une identité utilisateur sur le pare-feu dans un environnement client léger

Logiciel de gestion des équipements de test MET/TEAM. NOUVEAU logiciel convivial de gestion des ressources d étalonnage par navigateur

PHILA-Collector-USB-16Go Pour Windows & Android

Pour commencer à utiliser votre nouvel appareil LG G3

Symantec Endpoint Protection Fiche technique

Guide de déploiement

I / La démarche à suivre pour l installation de l application-crm

Installation et prise en main

Recommandations techniques

et de suivi de la corpulence des enfants

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Présentation de Firefox

Guide d utilisation du portail de formation en ligne LeCampus.com à l attention des partenaires de l APSM

PUISSANCE ET SIMPLICITE. Business Suite

GUIDE D INSTALLATION INTERNET haute vitesse

TD/TP 1 Introduction au SDK d Android

Observatoire des ressources numériques adaptées

Manuel logiciel client Java

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

Cahier des charges - Refonte du site internet rennes.fr

ACCEDER A SA MESSAGERIE A DISTANCE

Que souhaitent les Administrateurs Système?

FTP Expert 3 est idéal pour :

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet

molis result portal Description fonctionnelle La structure système Configuration système requise Architecture du système

Serveur FTP. 20 décembre. Windows Server 2008R2

Transcription:

Simon Frenette Marc-Antoine Béland Jérémie Poisson Proposition de recherche TaintDroid Laboratory Présenté à M. François Bertrand Réalisé par l équipe Droid Dans le cadre du cours 420-620-SF Département d informatique Cégep Sainte-Foy 14 Janvier 2014

Sommaire QU EST-CE QUE TAINTDROID?... 3 1. LE SUJET... 3 IDENTIFICATION DU SUJET... 3 BUT DE LA RECHERCHE... 3 CONTEXTE ACTUEL... 3 DOMAINE D APPLICATION ACTUEL... 3 NOS CONNAISSANCES... 4 2. LES ENJEUX... 4 IDENTIFIER LES CONNAISSANCES À ACQUÉRIR... 4 IMPORTANCE DE LA RECHERCHE... 4 IMPACTS DE LA RECHERCHE... 4 DOMAINE D APPLICATIONS FUTURES... 5 MOTIVATION DE RECHERCHE... 5 3. LES OBJECTIFS... 5 4. L EXPÉRIMENTATION... 5 OUTILS À DÉVELOPPER... 5 PROGRAMME DE RECHERCHE... 6 5. LES LIMITES... 6 6. LES INCERTITUDES... 6 7. LES RESSOURCES... 7 MATÉRIELLES... 7 LOGICIELLES... 7 8. PLANIFICATION DE L EXPÉRIMENTATION... 7

QU EST-CE QUE TAINTDROID? Une équipe de chercheurs a mis au point un système d exploitation basé sous Android permettant facilement de savoir les informations sensibles quittant l appareil. Ce système, nommé «TaintDroid» a été testé avec un très petit bassin d applications venant de sources officielles. Ce groupe de chercheurs a découvert qu un bon pourcentage d applications dans les applications les plus populaires envoyait des informations sensibles à des compagnies de marketing sans le consentement de l usager. Il s agit d un problème de sécurité important qui se fait sous la barbe de Google. De plus, la confidentialité des informations envoyées n est probablement pas respectée et ces informations peuvent se retrouver dans les mains de personnes malveillantes. Le but de ces chercheurs était donc de fournir les outils nécessaires pour améliorer la sécurité sous un téléphone Android. 1. LE SUJET IDENTIFICATION DU SUJET Les fuites de données personnelles sous Android causé par une application malveillante à l insu de l usager. BUT DE LA RECHERCHE Dans le cadre de ce cours, nous visons l obtention de statistiques en lien avec les fuites de données selon un échantillon d applications Android provenant de différentes sources. Dans le cadre du projet, nous désirons obtenir les statistiques des fuites de données venant d'un plus grand nombre d'applications. CONTEXTE ACTUEL Actuellement, les sources qui fournissent la publication et le téléchargement des différentes applications Android effectuent peu ou pas de vérifications pour savoir si les applications soumises par les développeurs sont sécuritaires ou si celles-ci peuvent voler des données sensibles de l usager. Même les sources plus officielles telles que Google Play (bassin d application officiel de Google) sont tout de même susceptibles de contenir des applications malveillantes. DOMAINE D APPLICATION ACTUEL Les résultats de nos recherches permettraient de savoir à quel degré les applications sous Android peuvent représenter un certain danger pour les données de l utilisateur. Selon les résultats obtenus, la sensibilisation des individus et des différentes compagnies de développement d application reste le plus grand domaine d application actuel.

NOS CONNAISSANCES Puisque nous avons déjà commencé le développement du projet il y a quelques mois, nous partons donc avec une très bonne connaissance de l architecture logicielle du projet. Technologie TaintDroid; Techniques de programmation avancés en Java; Concept client/serveur distribué; Utilisation d un «fetcher», «lister», «parsers» et de «downloader» pour télécharger en masse les applications; 2. LES ENJEUX IDENTIFIER LES CONNAISSANCES À ACQUÉRIR Ce projet de recherche nécessite l acquisition de nouvelles connaissances concernant l utilisation de TaintDroid. Comment tester une application automatiquement avec TaintDroid; Comment gérer les différents états des clients connectés; Comment gérer les événements imprévus des clients par le serveur; Comment analyser et stocker automatiquement les résultats contenus dans les rapports produits par TaintDroid; Comment obtenir des statistiques quant aux résultats de l expérimentation; Comment assurer une bonne maintenance du projet pour les années futures. IMPORTANCE DE LA RECHERCHE Toujours selon l étendue de nos résultats, ce projet de recherche pourrait contribuer grandement à démontrer le manque de sécurité dans un système d exploitation mobile ouvert comme Android permettant l installation d application provenant de source inconnue, voire non fiable. Il est important de noter que cela pourrait contribuer indirectement à l augmentation d une politique de sécurité sous Android voire d'une plus grande utilisation de TaintDroid sur le marché, surtout chez les compagnies hébergeant plusieurs applications. IMPACTS DE LA RECHERCHE Nous nous attendons à obtenir des résultats variés principalement selon la source de l application testée. Il est certain que des sites web plus officiels tels que Google Play sont moins susceptibles de contenir des applications corrompues. Nous espérons tout de même démontrer grâce à cette expérimentation qu il pourrait y avoir un plus grand effort mis en place par ces compagnies pour assurer la sécurité des informations de leurs usagers. Nous souhaitons également encourager les gens à ne plus utiliser des sites non officiels qui devraient, selon nous, avoir un plus grand taux d applications malveillantes.

DOMAINE D APPLICATIONS FUTURES Notre projet n a pas vraiment d application à entrevoir dans le futur. Son but unique est de mettre en évidence le manque de contrôle par Android des informations qui quitte ses téléphones à l insu de l utilisateur. MOTIVATION DE RECHERCHE L équipe possède une grande motivation quant à participer dans un projet de recherche d envergure. Notre curiosité pour la sécurité informatique fait de ce projet une excellente occasion d explorer ce domaine plus en profondeur. 3. LES OBJECTIFS Voici une liste des objectifs que nous allons poursuivre lors de nos expérimentations : Avoir la possibilité d obtenir une grande quantité d applications provenant de différentes sources. Créer un serveur qui distribue les tâches aux clients connectés. Avoir un client qui exécute automatiquement les différents tests sur les applications envoyées par le serveur. Afficher sur un GUI les résultats obtenus par le client. 4. L EXPÉRIMENTATION Nous développons un laboratoire virtuel qui s occupe d assigner des expériences à faire aux clients qui y sont connectés. Un client ayant une tâche assignée exécute l expérience sous TaintDroid et produit divers «logs» contentant les informations quittant le téléphone. Ces résultats sont ensuite analysés (à l aide de «parser») dans le but de produire un rapport des résultats finaux. Suite à l'analyse d'une application de manière graphique, le rapport sera affiché à l'aide d'un GUI et indiquera les fuites de données découvertes. OUTILS À DÉVELOPPER Plusieurs outils sont toujours à développer, voir finaliser, pour nous permettre de mettre à terme ce projet de recherche : Finalisation du serveur; Finalisation du client; Finalisation du «parser» des résultats; GUI permettant l affichage des fuites de données pour une application (principalement pour la présentation des résultats);

PROGRAMME DE RECHERCHE Dans le cadre de l expérience, le serveur sera sur une machine principale ayant un disque partagé avec tous les clients connectés. Chaque client sera sur une machine individuelle et sera connecté au disque partagé surveillé par le serveur. Interrelations entre les différentes composantes (serveur et clients) Le serveur doit fournir les applications à tester aux clients. Il doit donc gérer l'état de tous les clients connectés en temps réel et fournir les applications au bon moment. Il doit aussi stocker les résultats ainsi que maintenir le bassin d application à jour. Le serveur doit lui-même gérer les événements imprévus des clients. Si un client est inactif depuis un certain temps, le serveur devra faire en sorte d ignorer tout résultat fourni par ce client et doit remettre l application dans le bassin d application à tester. Il doit aussi pouvoir gérer les événements de connexion et déconnexion des clients connectés. Les clients eux se doivent d exécuter une expérience à la fois sous TaintDroid. Lorsqu une application est déployée par le serveur, les clients exécutent l expérience sous TaintDroid et produisent un rapport contenant les diverses fuites de données. Ensuite, le serveur s occupe de la récupération des données et le client est prêt pour l exécution d une autre expérience. 5. LES LIMITES Puisque notre projet sera continué après les délais imposer par le cours, la plupart des limites indiquer cidessous ne seront que temporaires. Pour ce cours, notre laboratoire devra se limiter à un test simple. C'est-à-dire que chaque test ne prendra en compte qu une application et les résultats obtenus ne concerneront que cettedite application. Les résultats obtenus seront affichés dans un GUI et indiqueront les fuites de données découvertes lors de l expérimentation d une seule application à la fois. Le résultat final visé permettrait de tester un large bassin d application (plusieurs centaines d applications provenant de différentes sources) d un seul coup. Les résultats obtenus seraient en liens avec toutes les applications et peupleraient une basse de données. Cette base de données nous permettra d obtenir des statistiques en lien avec la sécurité sous Android. 6. LES INCERTITUDES À ce stade du projet, il y a toujours quelques points qui demeurent des incertitudes. Entre autres, ce qui a trait au fonctionnement de Taintdroid pour localiser la fuite de données sensibles à l insu d un utilisateur. L utilisation de machine virtuelle Android sous Windows avec ADT demeure un également point flou. Pour ce qui est du fonctionnement de Taintdroid, la lecture complète de l étude à la base de notre projet serait intéressante. http://appanalysis.org/tdroid10.pdf Pour une meilleure compréhension d ADT, le site web suivant sera notre référence. http://developer.android.com/tools/sdk/eclipse-adt.html

7. LES RESSOURCES MATÉRIELLES Un micro-ordinateur moderne. Il doit être assez puissant pour pouvoir rouler l expérimentation en même temps que des machines virtuelles Android. Une connexion internet rapide pour pouvoir télécharger les nombreuses applications. LOGICIELLES Windows XP ou supérieur. Android Development Tools (ADT). Un framework Android permettant de créer des applications mobiles et qui offre la possibilité de rouler des machines virtuelles Android sur notre ordinateur. Des machines virtuelles Android créées spécifiquement pour le projet. Java 7. Toute l application sera développée en Java, le serveur, le client, le «parser» et le GUI. Base de données pour stocker les résultats de l expérimentation. INFORMATIONNELLES Documentation internet sur TaintDroid et les applications Android en générale. Plusieurs projets open source sur le sujet. Professeur François Gagnon. 8. PLANIFICATION DE L EXPÉRIMENTATION Périodes Temps prévu Descriptions des tâches à réaliser Responsable 21 Janvier au 23 janvier 18h Recherche documentaire Toute l équipe 24 Janvier au 31 janvier 24h Construction des outils d expérimentation Simon et Jérémie 24 Janvier au 31 janvier 12h Mise au point des outils d expérimentation 4 Février au 7 février 18h Expérimentation avec les outils : faire rouler l expérimentation sur une machine et récupérer les résultats. Marc-Antoine Toute l équipe Mardi 11 février 3h Validation des résultats obtenus Jérémie Mardi 11 février 6h Préparation de la présentation Simon et Marc- Antoine 13 Février au 14 février 18h Publication des résultats Toute l équipe