mercredi 20 février 2013

Rainbow tables

Dans toute la petite ribambelle de blogs que je suis, celui de Robert David Graham me plaît particulièrement car il passe son temps à casser les mythes de la sécurité informatique. Je vous invite à suivre son blog Errata Security.

Un article récent m'a particulièrement interpellé car je faisais partie de ceux qui se trompait et il s'agissait de l'utilisation des Rainbow Tables. Il explique à juste titre que c'est loin d'être la panacée quand le minimum de précaution est respecté, c'est à dire désactiver le stockage des hash LM et mettre une politique de complexité des mots de passe à 8 caractères contenant 3 des 4 catégories suivantes : minuscules, majuscules, chiffres et caractères spéciaux.

Les rainbow tables sont malgré tout très grosses. La seule table présentant en intérêt serait "ntlm_mixalpha-numeric#1-8_40000" sur http://www.freerainbowtables.com/tables/ et on peut s’asseoir sur les caractères spéciaux et les mots de passe de plus de 8 caractères.

Mais le plus important est que la recherche des hashs dans la rainbow est séquentielle (ce qu'on peut voir dans l'image ci-dessous avec le cassage de "p@sswor", puis "d"). L'opération se fait hash par hash, ce qui fait que le nombre de hash multiplie d'autant le temps de calcul. Dans une entreprise avec 10000 comptes utilisateurs et un historique de 5 mots de passe on atteint facilement 60000 hashs. Je me souviens avoir passé une nuit à l'hôtel pour casser 300 hashs, alors pas la peine de faire le calcul pour 60000.




Bref si on veut casser un maximum de mots de passe (disons pour faire des statistiques), il faut s'en remettre au cassage avec GPU et un bon dictionnaire. Ce dictionnaire contient 14 millions de mots de passe unique et avec quelques mutations (min/maj et concaténation de chiffres à la fin) on casse très rapidement une grosse moitié des hashs. Vous trouverez quelques bases de mots de passe sur le site de skullsecurity. Mais la meilleure source de mots de passe, ce sont les résultats des audits précédents qu'il faut anonymiser et conserver précieusement. C'est sur cette idée que c'est basé Rob Fuller quand il a créé White Chapel dont l'idée est de créer une base de mots de passe issus de toutes les sources possibles (mysql, sqlserver, vnc, Active Directory) et de tout rehasher avec tous les algorithmes possibles.




Voilà encore une bonne raison de faire de la capitalisation :-)

mardi 19 février 2013

Moi RSSI !

Histoire de me préparer pour plus tard et me mettre dans la peau d'un RSSI, je vais me faire un pense-bête (qui évoluera avec le temps) de ce que je ferai lors de ma prise de fonction.

Analyser les documents prescriptifs : politiques, chartes des employés et prestas,  règlement intérieur, accords de non divulgation, contrats avec les TMA...
Récupérer les rapports d'audit et les plans d'actions.

Rencontrer les responsables SI et métier pour avoir une idée des enjeux de la société, ses risques et incidents récents.

Obtenir des schémas réseau, système et applicatifs.
Identifier les échanges avec les partenaires externes.

Passer en revue le processus de gestion de crise, voir si un plan de com est préparé en cas d'atteinte à l'image de marque et si les acteurs majeurs sont correctement identifiés et leur coordonnées disponibles.

lundi 18 février 2013

Gros micmac :-/

Voilà, j'ai craqué. Je suis passé du côté obscure de la force... Naaaaaaaaaaaaaaaaaaaaaan je déconne !

J'ai depuis longtemps envie de me monter un ESX maison pour mes bidouilles. J'avais monté une belle bécane pour ça il y a 2 ans. Mais il a vite été adopté par ma femme et voilà comment mon quadcore sert à surfer sur Ebay :)

Puis j'ai vu un article intéressant sur comment mettre ESXi sur un Mac Mini. J'ai alors craqué pour un modèle 2011 avec un quadcore hyperthreadé bien négocié sur leboncoin avec un petite réduc de 100€ (petite technique d'ingénierie sociale, on négocie bas, puis le prix remonte un peu et chacun a fait un effort :D ).

C'est tout frais, ça fait moins d'une semaine, alors pourquoi ne pas en profiter pour tester un Mac. Premier choc, le clavier n'est pas standard azerty. C'est juste épouvantable avec un clavier Windows. J'ai vite trouvé un layout qui va bien pour enfin réussir à taper mon mot de passe gmail et un point d'exclamation dans un mail...

Bon on fait de la sécurité ou on en fait pas. Première étape, mettre à jour le système, et là c'est le drame. Ce bon vieux Mac d'occasion, même formaté par l'ancien propriétaire a quand même son adresse iTunes de renseignée. Pour les mises à jour gratuites ça passe, mais pour l'OS le compte est grisé et je ne peux pas mettre le mien. En cherchant un peu sur les forums je constate que les applications sont liées au compte qui les a installées... Il faudrait les désinstaller pour pouvoir les remettre sous son compte et bénéficier des mises à jour.

Seule solution, une réinstallation totale en mode recovery, et là c'est toujours de drame. L'opération se fait avec un accès Internet. Il est nécessaire de renseigner son compte iTunes, que je n'avais pas encore activé. Bien sûr je peux le créer mais il demande une carte bleue... Finalement je repasse en mode normal, je vais dans l'appstore et je télécharge une application gratuite. Il me demande encore des coordonnées bancaires, mais maintenant il y a la possibilité de choisir "aucun" comme type de carte.

Retour au point de départ, je lance le recovery mode, je mets mon compte iTunes, et là, mais merde encore le drame, la version de Mac OS X est vérifiée en ligne et ne correspond pas à mon compte mais à l'ancien proprio. Je pense qu'il avait acheté une mise à jour qui a modifié le mode de récupération. Là je suis sec... Peut-être faut-il formater les disques manuellement et lancer le mode réinstallation depuis Internet. Ah oui, les Mac mini n'ont plus de lecteur CD et sont livrés sans clé USB de réinstallation.

Finalement je sens que je vais être content de tout virer pour mettre ESXi :D

dimanche 10 février 2013

BYOD, BYOC, BYOA

J'avais commencé à écrire des banalités et comme toujours c'est après 30 minutes de réflexion que les idées intéressantes commencent à pointer leur nez. (Néanmoins ça part quand-même dans tous les sens.)

Que se passe-t-il actuellement en entreprise ? Les VIP hyper-connectés qui ont besoin de tout savoir en temps réel ont reçu un nouveau gadget : un smartphone ! Après le VPN et le webmail, voici le nouvel outil d'esclavagisme moderne (quand s'est subi, il y a des présidents divorcés qui le vivent très bien).

Or donc le smartphone permet d'envoyer des e-mails dès qu'on a une idée, aussi bien le jour que la nuit ! Mais ne soyons pas trop méchant, cela permet aussi de travailler dans les transports au lieu de lire 20minutes ou Métro et ainsi optimiser ses journées qui par le fait font 2 heures de plus qu'avant. Mais ce qui coûte le plus cher au entreprise c'est le terminal qui se doit d'être toujours dernier cri. Alors que pour l'utilisateur sur le long terme c'est le forfait qui fait mal. Il y a donc un aspect gagnant/gagnant à faire du BYOD et laisser les employés utiliser leur propre téléphone pour le travail.

Les employés vont donc d'eux-mêmes se rendre un peu plus esclaves de l'entreprise pour ressembler à leurs chefs. Mais je pense qu'après y avoir goûté on fait vite machine arrière et qu'on profite simplement d'Internet sur le téléphone et qu'on met en sourdine les notifications mail.

Pour continuer sur le sujet, je pense que le phénomène tablette actuel est à mourir de rire en entreprise. Je n'ai jamais vu quelqu'un taper un Word de 20 pages avec les pouces. Si c'est juste pour le lire et faire des remarques de cochon avec un stylet, non merci. C'est déjà assez pénible d'avoir un chef qui imprime tout et fait des corrections au stylo puis scanne le résultat en PDF. C'est juste du manque de respect.

Et le BYOC... je crois que ça n'a même pas eu le temps de décoller. Les processeurs sont maintenant largement assez puissants pour qu'on ne ressente pas le besoin d'amener sa bête de course perso au travail.

Pour finir le BYOA, bring your own application. Grâce aux applications portables il est possible de conserver son environnement personnel et ses petites habitudes au travail. C'est là qu'il y a le plus à gagner et le plus à perdre si ce n'est pas maîtrisé. En effet j'approuve le fait d'utiliser Notepad++ portable plutôt qu'un Ultraedit piraté, mais on croise parfois des Photoshop CS6 portable dont j'émets quelques doutes sur le respect de la licence et sur l'acquittement des droits d'utilisation. Dernier point encore, la mise à jour de tout ce petit bazar... Il est facile de conserver un Firefox portable obsolète pendant des années et ainsi faire peser des risques au SI de l'entreprise. Je pense que les entreprises ont beaucoup à gagner en mettant en place un kiosque d'application en libre accès, mais en sachant maîtriser les navigateurs alternatifs qui vont sur Internet.

Shadow IT


Au hasard de mes balades sur Internet je suis tombé sur un concept bien familier sur lequel je n'avais pas encore mis de nom : Le shadow IT !

Mon ressenti est que ce phénomène émerge dans les environnements trop procéduriers. Pour côtoyer les process ITIL au quotidien, autant je les trouve utile pour les services offerts aux clients car il faut être irréprochable autant je trouve qu'ils ne sont pas adaptés pour des applications "internes".

Je pense qu'on assume plus facilement ses erreurs que celles des autres. De ce fait on peut accepter que son application tombe en panne plus souvent et qu'elle soit remise en place en "best effort". Alors pourquoi perdre son temps en gestion de projet, à faire une expression de besoins, un dossier d'architecture, des demandes de changements, une recette, une pré-prod, une prod, ... tout ça pour mettre en place un webservice Java avec une base Oracle alors qu'au niveau du dimensionnement une macro excel aurait suffi ?

De mon propre exemple, j'ai fait développer un système de tableau de bord en Excel + Access rien que pour éviter de perdre moitié du budget en gestion de projet et moitié du temps de développeur pour générer un rapport pdf totalement figé. Et au final j'ai une solution hyperflexible que je peux modifier à volonté !

Au niveau de l'équipe informatique elle-même, je ne pourrai dire combien de fois j'ai vu un équipement décommissionné recommencer une nouvelle vie comme ferme de virtualisation avec un ESX largement dimensionnée pour faire des expérimentations BYOD et commencer à devenir un élément clé alors qu'il n'y a même plus un disque dur en spare...
Et cet environnement de maquette Internet qui fournit un accès sans proxy fort appréciable pour toutes ces petites choses qui ne mériteraient pas de faire dépasser son quota Internet de la semaine :-)
Et ce serveur Linux qui permet d'héberger des fichiers discrètement pour d'autres projets.

Bref du shadow IT on en voit partout et surtout dans la DSI elle-même ;-)

Android et synology

Cela doit fait un peu plus de 2 ans que j'ai un NAS synology à la maison. Cette petite bête est tellement utile qu'on voudrait s'en servir pour tout ! J'utilise le serveur de fichiers pour stocker mon bazar en RAID 1, en particulier mes précieuses photos qui génèrent automatiquement une belle galerie accessible depuis Internet. C'est la seule fonction que j'avais ouverte sur l'extérieur car il n'est pas possible de mettre le NAS en DMZ (sauf à en avoir 2) sinon la fonction DLNA ne fonctionne plus. En fait pour découvrir les équipements il y a un bête broadcast et ça ne passe pas dans les autres sous-réseaux dont la DMZ... Je vis très bien comme ça et je mets à jour les applications régulièrement.

Depuis que j'ai un Android, j'ai eu envie de profiter de mes fichiers et applications (surtout la musique, mais aussi ma librairie) en mobilité ! Mais comment faire puisque je refuse d'ouvrir trop mon NAS sur Internet ?

En bien c'est grâce à la fonction VPN du Synology que j'ai pu réconcilier les usages et la sécurité ! Je ne vais pas faire le tutoriel ici car j'en ai trouvé de très bons sur le net.

  • Mettre en place le VPN sur le synology (le mode op est toujours valide pour DSM 4.1) : http://www.freeman59.fr/tuto-creer-un-serveur-vpn-sur-un-nas-synology-15470
  • Et côté Android : http://www.vpn-confidentiel.com/tutoriel/android-pptp/
Je peux comme ça accéder à tout mon lan depuis mon téléphone ! Encore une raison de plus de ne pas perdre son téléphone dans la rue :-)

Comment truquer un tableau de bord !

Pour avoir mis en place un tableau de bord chez un client voici quelques astuces pour mentir à sa direction...
Tout d'abord il est possible de mesurer tout et n'importe quoi, surtout n'importe quoi. La grande question à se poser est "so what?". Que nous apprend cet indicateur ? Le mieux serait qu'il permette de démontrer l'efficacité des moyens de sécurité et pas seulement faire remonter qu'on travaille (dur et même oulalala très dur !).
Je rigole (discrètement) quand je vois mon client demander à plusieurs éditeurs anti-virus quelle est la valeur moyenne de virus éradiqués par mois dans les grandes entreprises françaises. Heureusement personne ne lui répond (étonnant ?).
Ensuite le problème que j'ai rencontré est cette manie de vouloir mettre une note sur tout. Par exemple si on mesure le pourcentage de spam reçu.  Comment dire si 95% c'est bien ou mal ? En fait ni l'un ni l'autre... on n'est pas responsable du spam mondial. Mais il ne faut pas non plus supprimer cet indicateur car un pourcentage vraiment trop faible pourrait impliquer une défaillance de l'équipement. Je classe cet indicateur comme "information" à avoir sous le coude mais pas à utiliser de façon automatique dans des calculs.
Si on continue sur cette lancée, on peut mettre des pourcentages très faibles pour avoir un indicateur au vert.  Cela ne veut pas forcément dire qu'on triche si l'objectif est bas mais que ce n'est pas une priorité. Enfin on évitera quand même d'être satisfait avec 50 patch de sécurité en retard sur les serveurs...
Un des travers à considérer est la réévaluation des objectifs. On va être vert une année avec nos 50 patch mais on va se fixer 20 puis 10. Au final on va à chaque fois repasser à l'orange ou au rouge. Il faut s'attendre à des questions de la direction... et être prêt à y répondre plutôt que de conserver des objectifs de débutants :-)
Pour finir il me semble que la grosse zone d'ombre est la définition du périmètre. On va évidemment pouvoir mesurer ce sur quoi on a travaillé, et donc être pas mauvais, mais on risque d'occulter ce qui reste à faire et qu'on ignore sans doute. L'exemple qui m'a marqué est celui d'un patch management correct pour l'environnement Microsoft et une absence totale d'information sur les serveurs linux... Au final que du vert dans le tableau de bord !