Proposition de recherche



Documents pareils
Documentation d information technique spécifique Education. PGI Open Line PRO

Introduction au développement SharePoint. Version 1.0

Manuel d installation

Fiche technique rue de Londres Paris Tél. : Mail : contact@omnikles.com

Dispositif e-learning déployé sur les postes de travail

Environnements de développement (intégrés)

M Études et développement informatique

SPT Description du cours NORAMSOFT SPT2013. SharePoint 2013 pour développeurs

Configuration requise pour l utilisation de la plateforme EnlightKS Online Certification Management Services ET2.13 Juin 2011

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Manuel d installation de Business Objects Web Intelligence Rich Client.

Instructions relatives à l installation et à la suppression des pilotes d imprimante PostScript et PCL sous Windows, version 8

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Configuration système requise

Guide d installation Windows XP

Séquencer une application

Trois types de connexions possibles :

TP1 : Initiation à Java et Eclipse

et de suivi de la corpulence des enfants

Le langage C. Séance n 4

Faille dans Internet Explorer 7

Démarrer et quitter... 13

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

Le partenaire tic de référence. Gestion des ressources humaines INOVA RH

SQL Data Export for PS/PSS

M Études et développement informatique

Communication technique TC1552 Ed 01 Date: 22/11/2011

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Bases Java - Eclipse / Netbeans

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

GUIDE D UTILISATION PARTICIPANT

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

Guide de démarrage IKEY 2032 / Vigifoncia

Guide d utilisation de la clé mémoire USB

Virtual Universe aperçu numéro 1

Programmation Orientée Objet

Manuel logiciel client Java

Introduction à l informatique en BCPST

Marketing Update. Enabler / ENABLER aqua / Maestro II

Organiser vos documents Windows XP

Terminal Server RemoteAPP pour Windows Server 2008

Acquisition de matériels informatiques

Chapitre 3 : Les technologies de la communication. I- Les TIC de la PME

NatStar V8.00. Ce document présente la liste des nouvelles fonctionnalités de la 8.00, disponible à partir de septembre 2013.

Learn & Lunch 23/11/2011. Simon Opresnik / Georges Denneulin

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4

IBM SPSS Collaboration and Deployment Services Deployment Manager 5 - Instructions d installation

WINGOGEFAC COMPTABILITE & GESTION

Pré-requis installation

Caméra Numérique de Microscopie Couleur USB. Guide d installation

ASP 3.0 Professionnel

Pré-requis installation

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Pré requis Microsoft Windows Server 2008

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

Nokia Internet Modem Guide de l utilisateur

Guide de mise à niveau pas à pas vers Windows 8 CONFIDENTIEL 1/53

NatRcs Ce document présente la liste des nouvelles fonctionnalités de la 7.00, disponible à partir de Mars 2011.

Windows Server 2008 Administration et exploitation

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

FICHE PEDAGOGIQUE. Questions à poser. - Avant de démarrer l ordinateur,

Atelier Pivoting KHOULOUD GATTOUSSI (RT3) ASMA LAHBIB (RT3) KHAOULA BLEL (RT3) KARIMA MAALAOUI (RT3)

Produits E/S Agilent pour connexion PC-instrument Fiche technique

Note de première mise en service. Passerelle ipro-04n. TTPMSiPRO04N R1.0 fr

Mise en œuvre des serveurs d application

Guide d installation

Logiciel (Système d impression directe)

Objet du document. Version document : 1.00

Manuel d utilisation Logiciel (Communications Utility)

Crédits... xi. Préface...xv. Chapitre 1. Démarrer et arrêter...1. Chapitre 2. L interface utilisateur...25

Formateur.NET expérimenté Forte expertise dans la conception et le développement d applications.net, associée à une grande pédagogie

01V96i Editor Manuel d'installation

Service de lettre électronique sécurisée de bpost. Spécificités techniques

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Linux embarqué: une alternative à Windows CE?

DotNet. Plan. Les outils de développement

Travailler en réseau intranet à l'école

Chapitre 1 L interface de Windows 7 9

Procédure de mise à niveau de Windows Mobile version 6.1 du SGH-i616

Olivier Deheurles Ingénieur conception et développement.net

Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Managed VirusScan et renforce ses services

Projet de développement

a CONserVer a CONserVer COde d activation pack FNaC pc sécurité & ClOud COde d activation protection android

Le serveur web Windows Home Server 2011

HYPRA PROGRESSONS ENSEMBLE

DI GALLO Frédéric ADSL. L essentiel qu il faut savoir. PPPOE PPPT Netissi

Disque Dur Internet «Découverte» Guide d utilisation du service

LA COMPTABILITE PATRIMONIALE. des milieux naturels et culturels : des différences mais une logique de base

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

GESTION DE L'ORDINATEUR

Chapitre I Notions de base et outils de travail

Transcription:

Proposition de recherche (Sécurité : C++ vs Java) Document présenté à : M. Dominique Gouthier Dans le cadre du cours : Nouvelles technologies (420-620-SF) Étudiants : David Dastous St-Hilaire Simon Ducas-Desrosiers Cégep de Sainte-Foy, département d informatique Mardi le 16 janvier 2007

Proposition de recherche Page 2 de 5 Table des matières 1. Sujet de la recherche...3 2. Enjeu, objectifs...3 3. Méthode d expérimentation...4 4. Ressources requises...4 5. Limites...5 6. Échéancier...5

Proposition de recherche Page 3 de 5 1. Sujet de la recherche Nous sommes curieux de savoir quel langage de programmation est le plus sécuritaire, pour de futurs projets. Donc, notre sujet de recherche est la sécurité des langages de programmation C++ et Java. Nous allons comparer les avantages et désavantages d un langage relativement à l autre pour voir lequel est le plus sécuritaire. Aussi, nous allons voir si les programmes créés en C++ sont plus sécuritaires que ceux en Java. Le but de la recherche est de découvrir lequel est le plus sécuritaire afin de produire dans le futur des programmes plus sécuritaires qu'actuellement, aussi afin de nous instruire sur cette réalité. Aujourd hui, les entreprises recherchent la sécurité dans leurs programmes plutôt que la performance, car les ordinateurs deviennent plus puissants et la sécurité contre les pirates est de plus en plus utile. Les entreprises utilisent le C++ pour les jeux, les applications locales et les applications qui contiennent un environnement 3D, d un autre coté Java est plus utilisée pour les applications locales et les applications web. Nous connaissons les deux langages assez bien, mais nous ne savons pas lequel est le plus sécuritaire, nous avons peu d information sur le sujet de la sécurité en ce moment. 2. Enjeu, objectifs Cette recherche devra permettre d approfondir quelques notions de sécurité touchant deux des langages de programmation les plus couramment utilisés sur le marché. Le choix du sujet est basé principalement sur le fait que ces deux langages sont d actualité; le C++ est très présent dans le monde des jeux vidéo, et le Java est le langage privilégié par de nombreux programmeurs Web. Bien que les domaines d application courants soient quelque peu différents, il est important que la sécurité des applications développées puisse être assurée en tout temps, autant lors de l exécution que pour un utilisateur mal intentionné désirant décompiler le programme ou faire ressortir des failles de sécurité. Nous espérons que ce travail de recherche nous amènera à mieux cerner les points forts et faibles de ces deux langages de programmation, mais également nous aidera à mieux pouvoir cerner les points à analyser lors de l apprentissage de n importe quel autre langage de programmation, en matière de sécurité. De plus, ce travail pourra être très utile autant aux nouveaux arrivants dans le monde de la programmation, désirant se documenter de façon plus précise sur la sécurité, qu aux programmeurs expérimentés, ayant peut-être déjà envisagé l utilisation d un autre langage de programmation pour leurs applications courantes et n étant pas trop à l aise avec les questions entourant la sécurité. Enfin, ce travail pourrait à la limite être utilisé par certains analystes travaillant au développement de nouvelles idées ou améliorations pour des langages de programmation existants.

Proposition de recherche Page 4 de 5 3. Méthode d expérimentation Bien que la recherche doive relever un bon nombre de points théoriques sur les capacités et les limites des deux langages de programmation étudiés, une preuve des concepts étudiés devra être faite. L utilisation de deux prototypes concurrents est parfaitement désignée dans le cadre de notre recherche. Les deux prototypes devront effectuer les mêmes tâches, soit tester les limites d un langage de programmation dans un contexte de sécurité bien précis. Il s agira ainsi de deux applications développées en C++ et en Java qui seront exécutées en parallèle, et qui présenteront différents points de tests dont ceux-ci : Allocation de mémoire et tentatives d accès concurrentiels; Accessibilité des données dans une application multithreads; Accès aux ressources du système d exploitation; Utilisation de classes et partage d information de manière incorrecte; Ressources visibles et encryptés lors de la décompilation (sera testée à l aide de logiciels tierce partie). Dans un premier temps, une étude théorique devra être menée afin de déceler un maximum de failles de sécurité possibles. Une fois cette liste établie, il faudra nous renseigner sur la façon de tester concrètement ces failles. Tout problème pouvant être reproduit de façon régulière sera ainsi noté et codé dans les deux langages de programmation, et ajouté aux deux prototypes. Enfin, une étude finale fera le comparatif des résultats obtenus et présentera une analyse détaillée, qui est le but de cette recherche. 4. Ressources requises Lors de la recherche nous utiliserons les ressources suivantes : Matérielles : Ordinateur; Clavier; Souris; Clé USB; Modem; Logicielles : Windows XP professionnel Internet Explorer Java (JDK, JVM), NetBeans C++, Visual Studio 2005

Proposition de recherche Page 5 de 5 Informationnelles : http://msdn2.microsoft.com/en-us/library/k3a3hzw7(vs.80).aspx : Le site aide les développeurs à s améliorer dans leur programmation. Site de référence à Microsoft. http://www.hotscripts.com/detailed/11680.html : Site avec des exemples de code qui permettent de voir comment faire. http://java.sun.com/sfaq/ : Aide général pour les développeurs de Java. Site de référence à Sun. http://www.cs.princeton.edu/sip/faq/java-faq.php3 : Site général sur la sécurité du langage java. 5. Limites Afin de limiter le temps de la recherche et de pouvoir remettre le travail à l échéance donnée, nous allons poser des limites à notre recherche. Nous n allons pas utiliser d autre langage que C++ et Java. Nous n allons pas utiliser d interface graphique dans nos programmes, mais seulement une console. Nous utiliserons pour développer NetBeans et Visual Studio 2005, car nous voulons limiter les essais, dans la même manière, nous utiliserons un seul programme pour décompiler chaque langage. De plus, nous allons seulement créer un programme en chaque langage pour tester la sécurité. Nous regarderons chaque faille de sécurité, mais sans trop nous attarder sur chacune d entre elles, car il serait trop long de développer toutes les failles que nous trouverons. 6. Échéancier Date Activités 17 Janvier 2007 Proposition de recherche 22 Janvier 2007 Devis du Protocol expérimental 7 Février 2007 Outils d expérimentation 15 Février 2007 Publication Web 16 Février 2007 Présentations orales