vendredi 25 juin 2010

dd2vmdk

Dans le cadre de mon emploi, j'ai régulièrement à travailler avec des images intégrales brutes (raw images) de système informatique. De plus, ces images doivent être conservé, ainsi que tous traitements effectués sur ces dernières, pendant une longue période (on parle ici d'années).

Puisque les images intégrales brutes représente l'intégrale d'un média informatique non compressé, elles peuvent occupé beaucoup d'espace, et ce, rapidement. De plus, je dois souvant analyser les systèmes informatiques présent sur les images qui nous sont fournies. Pour ce faire, j'utilise des machines virtuelles. L'avantage d'utiliser des machines virtuelles est que je peux analyser plus d'un système en même temps sans être encombré de d'ordinateurs, écrans, claviers et souries.

J'utilise VMware pour toutes mes machines virtuelles. Malheureusement, il n'est pas possible de créer des machines virtuelles en utilisant des images intégrales brutes directement avec les outils de VMware. Je devais donc créer un disque virtuelle vierge, l'attacher à une machine virtuelle Linux, restorer l'image intégrale brute sur le disque virtuelle pour ensuite l'utiliser dans sa propre machine virtuelle afin de l'analyser. C'était un vrai casse-tête, l'opération était longue et j'utilisais le double de l'espace parce que je doit conserver les images originales et le disque virtuelle.

J'ai donc fouillé un peu et j'ai téléchargé la fiche technique du format VMDK (disque virtuelle de VMware). Je me suis fait un petit BATCH vite fait pour créer un VMDK qui utiliserait directement les images intégrales brutes. Il est diponible sur mon dépôt (dd2vmdk). Comme je ne l'ai pas testé de manière exhautive, il serait préférable que vous considériez ce script à titre éducatif seulement. Pourquoi, demandez-vous? Il n'a pas été testé exhaustivement mais fonctionnement trèes bien pour les quelques cas où je l'ei utilisé.

Ce que je vais vous recommander est de loin plus fiable et plus robuste que mon petit script. Il s'agit de Live View. Live View est outil graphique Java qui crée une machine virtuelle VMware à partir d'images intégrales brutes ou d'un disque physique. Bref, il fait à la base ce que mon script fait mais en mieux et avec un brin de crédibilité : Live View est développé par le CERT du Software Engineering Institute.

Une autre alternative, que je n'ai pas testé encore, est raw2vmdk (lien SF). Étrangement, je n'ai entendu parlé de cette outil/projet seulement quelque mois après avoir fait mon script dd2vmdk. Il s'agit lui aussi d'un outil Java mais, contrairement à Live View, il est strictement en ligne de commande (pas d'interface graphique). Je ne crois pas qu'il supporte des disques phyisques, uniquement des images intégrales brutes.

jeudi 6 mai 2010

Mise à jour du dépôt à codes

J'ai mis en ligne 3 scripts Perl. Les trois fichiers proviennent de H. Carvey, mais j'ai apporté quelques modifications mineurs. Deux de ses scripts sont des plugiciels pour RegRipper, un outil pour l'analyse de base de registre Windows. Le dernier script permet la déconstruction des fichiers raccourcis de Windows (fichiers portant l'extension lnk).

Pour votre information, le magazine électronique hackin9 est maintenant gratuit et les différents numéros et articles peuvent être télécharger en ligne. Bonne lecture!

mercredi 9 décembre 2009

Windows Prefetch

Je mentionne rapidement que j'ai mis en ligne un outil perl pour faire la décomposition analytique des fichiers Prefetch [1][2]. Mon travail dérive de deux sources : Y. Khatri et H. Carvey.

Le code est accessible via mon dépôt.

vendredi 27 novembre 2009

Québec : Plan de lutte à l'évasion fiscale

Le Québec est devenu, avec les années, l'une des références mondiale par ses travaux sur les camoufleurs de ventes, aussi connus sous le nom "zapper", et ses efforts pour lutter contre l'évasion fiscale :

[...] the Canadian province of Quebec may be the world leader in prosecuting zapper cases. Since 1997, zappers have figured in more than 230 investigations, according to the tax collecting body Revenu Québec[...] - nytimes.

Le 9 novembre 2009, lors de la rencontre annuelle des restaurateurs du Québec, Revenu Québec (RQ) à fait une présentation de son plan de luttre contre l'évasion fiscale dans le milieu de la restauration. À elle seul, la province de Québec perd plus de 400 millions de dollard chaque année dans le milieu de la restauration et ce, uniquement avec les infractions aux lois québécoises.

Le gourvenement du Québec travail depuis plus de dix ans sur la problématique des camoufleurs de ventes (zappeur). Le Module d'enregistrement des ventes (MEV) est le produit de ces années de travail. La mission était simple mais colossale : démontrer qu'il y avait bien une problématique de zappeur au Québec et surtout, de démontrer son ampleur.

Trop de gens croient que le MEV n'est qu'une solution technologique et que, par le fait même, elle sera nul doute contourné. Le MEV n'est qu'une des 4 facettes d'une solution beaucoup plus complète.

Facette 1 - Modification de la Loi
Un des problèmes rencontré par RQ est que personne n'est tenu de présenter une facture à un client. Il est donc difficile de balancer les livres comtables avec les ventes réelles ou d'effectuer quelconques travaux de vérification. Bien sûr, la Loi oblige une tenu de livres adéquoite mais les pénalités sont moindres et ne dissuadent en rien les fradeurs. Quand on pense que plus de la moitier des restaurateurs délinquant cachent en moyenne 1/3 de leur ventes, une amande de 2000$ pour mauvaise tenu de livres semble ridicule.

La solution, modifier la Loi pour :
- obliger la présentation d'une facture au client (à compter de septembre 2010);
- obliger de produire la facture à partir d'un MEV (à compter de novembre 2011);
- obligation de fournir les sommaires périodiques des ventes de tous les MEV utilisés dans un établissement;
- augmenter les peines pour la mauvaise tenu de livres, l'omission de présenter une facture, la présentation d'une facture non produite par un MEV, etc.

Facette 2 - Module d'enregistrement des ventes (MEV)
Qu'est-ce qu'un MEV?
Réponse courte : voyons le comme la boîte noir d'un restaurant.
Réponse longue :
C'est un micro-ordinateur qui, une fois branché à une caisse électronique ou à un système de points de vente, reçoit les données relatives aux différentes transactions (additions, reçus de caisse, notes de crédit, etc.) et enregistre dans une mémoire sécurisée des informations relatives à celles-ci, comme les ventes et les taxes. Une fois l'enregistrement complété, le MEV produit une signature numérique et transmet à l'imprimante les informations nécessaires pour l'impression d'une facture, y compris la signature numérique (différente d'un module à l'autre). Il peut conserver les données enregistrées pour une période d'environ 7 ans et permet au restaurateur, ainsi qu'au personnel de RQ, de consulter les données enregistrées.

Le MEV à un second avantage : il permet d'uniformiser le contenu des registres. La quantité de systèmes de point de ventes (SPV) et de caisses enregistreuses (CE) est tout simplement haurisante. Non seulement il existe plus d'une centaine de SPV et de CE, mais le format dans lequel est contenu les informations des registres diffère souvant d'une version à l'autre.

Facette 3 - Inspections
Probablement l'une des facettes les plus importantes de la solution mis en place par RQ. L'inspection à été essentielle aux travaux effectués dans la recherche sur les zappeurs depuis les dix dernières années et son rôle ne cesse de croître avec l'arrivé du MEV. Le gourvenement augmentera ses effectifs d'inspecteurs et, par le fait même, le nombre de restaurants vérifiés par année.

Facette 4 - Compagne d'information et de sensibilisation
Si chaque client d'un restaurant exige une facture, s'assure qu'elle est bien conforme et, idéalement, paie avec une carte de crédit; l'évasion fiscale dans la restaration ne fera que diminuer. C'est pourquoi le Gouvernement du Québec lancera une campagne d'information et de sensibilisation, afin que tous les contribuables, actuels et futures, pourront être en mesure que "détecter" une fraude.


Il faut donc voir la solution mise en place par le gouvernement dans son ensemble et non pas de façon sectaire. L'évasion fiscale est un problème majeur et est un facteur déterminant dans l'environnement de surimpôsition que l'on vit présentement au Québec. Les taxes, ainsi que les revenus, non déclarés privent le gouvernement de plusieurs centaines de millions de dollard chaque année, réduisant ainsi les investissements dans les services publics et le paiement de la dette; crées de la concurrence déloyale et l'iniquité fiscale; favorisent l'augmentation du travail au noir et l'économie souterraine. Naturellement, celà entraine une augmentation des taux d'impôsitions et relance le cercle vicieux de la sous-déclaration.

Richard Thompson Ainsworth
M. Ainsworth est un professeur de droit spécialisé dans les impôts à l'Université de Boston. Il a récement organisé une conférence invitant plusieurs organisations à travers le monde à présenter leurs approches pour lutter contre l'évasion fiscale et Revenu Québec était présent comme conférencier. M. Ainsworth a aussi écrit plusieurs articles intéressants concernant les camoufleurs de ventes, dont certains parle du Gouvernement du Québec et de ses travaux sur les zappeurs. En voici quelques uns :
Tax Fraud in the Sales Tax: Zappers -- What are They? How Can Puerto Rico Block Them?
Quebec's Module D'Enregistrement Des Ventes (MEV): Fighting the Zapper, Phantomware and Tax Fraud with Technology
Electronic Tax Fraud -- Are There "Sales Zappers" in Japan
Zappers & Phantom-Ware at the FTA: Are They Listening Now?

mercredi 25 novembre 2009

Invite de commandes

Dans mon "post" intitulé "Oneline" du mois, j'utilisais les commandes find et perl afin de remplacer massivement un "pattern" sans avoir à le faire fichiers par fichiers. Mais, comme vous avez surement deviné, c'était sous linux. Alors, comment faire sous Windows.

Je n'avais jamais eu à faire du remplacement massif d'envergure sous Windows (ni sous linux d'ailleur) alors je me contentais de Notepad++. Il est quand même capable de prendre une cinquantaine de fichiers et plus. Mais aujourd'hui, j'ai eu à travailler sur plus de 11 000 fichiers et j'ai eu trop peur d'essayer de les charger tous en même dans np++. J'ai donc ressorti ma bible de MS-DOS 6.0 et j'en ai profité pour mettre en signet la page MSDOS de ComputerHope.com.

Voici donc ma très humble "oneliner" pour remplacement massif sous Windows :

FOR /F "usebackq" %i IN (`DIR . /B/A-D`) DO perl -i.orig -pe "s/\x22//g" %i

Remarquez que j'ai mis en rouge les "double-quotes". Vous ne pouvez pas mettre des "single-quotes" comme sous linux; ça ne fonctionnera point. Il semblerais que sous Windows, Perl ne peu faire du "inplace edit" ou du moins, la version que j'ai d'installé. C'est pourquoi je dois spécifier une extension à l'option -i.

J'en profite au passage pour souligner, à mes très chers amateurs de "oneliner", les deux sites suivants :  
Command Line Kung Fu - j'adore la petite compétition entre les windowsien et les linuxien de ce blog
Command Line Fu - dépôt massif de ligne de commandes

dimanche 8 novembre 2009

"Oneliner" du mois

Voici les "onliner" que j'ai utilisé à profusion ce mois-ci:

find . -type f -print0 | xargs -0 grep -n 'RarePatternGoesHere'

find . -type f -name "*.ext" | xargs -0 perl -i -pe 's/oldpattern/newpattern/'

vendredi 29 mai 2009

Partitions TrueCrypt

J'ai eu récemment à travailler sur un cas où le propriétaire d'un ordinateur portable avait crypté la partition système et une seconde partition de travail avec TrueCrypt.

Pour un raison encore obscure à mes yeux, le "bootloader" TrueCrypt était corrompu. Le propriétaire n'arrivait plus à récupérer ses fichiers. Il a tenté de restaurer le "bootloader" avec le CD de recouvrement de TrueCrypt. L'opération semblait avoir bien réussie mais les partitions avaient disparu.

J'ai donc fait une image du poste et après quelques recherches sur Wikipédia, ainsi que plusieurs essais et erreurs avec mon nouvel éditeur Hexadécimal préféré (HDD Hex Editor Neo), j'ai finalement réussie à recréer la table de partitions. J'ai ouvert l'images avec FTK Imager, extrait les deux partitions et je l'ai est ouvert avec TrueCrypt sur mon poste en tant que fichiers cryptés. Il ne restait plus qu'à copier les fichiers qu'il voulait conserver et de reconfigurer son ordinateur portable.