Phishing :Technique utilisée par des fraudeurs pour obtenir des renseignements personnels dans le but de perpétrer une usurpation d'identité. La technique consiste à faire croire à la victime qu'elle s'adresse à un tiers de confiance — banque, administration, etc. — afin de lui soutirer des renseignements personnels. C'est une forme d'attaque informatique reposant sur l'ingénierie sociale. Source : Wikipédia : Hameçonnage

Le but est presque toujours le même : diriger la personne vers une URL frauduleuse.

Se contenter de laisser les filtres intégrés aux boites mails faire le travail est facile. Mais ceci ne protège pas des attaques ciblées où quelqu'un se fait passer pour un de vos "proches". D'une part car le mail peut paraître tout à fait légitime, et d'autre part car cela place le destinataire dans un état psychologique qui le rend plus enclin à divulguer ses informations personnelles.

Voici quelques pistes "d'auto-défense informatique".

Sommaire

État de l'art - Écrire un mail de phishing

Se faire passer pour un autre utilisateur est simple ! La technique est certes moins puissante qu'il y a 10 ans mais ça marche toujours.

Pourquoi ? Car c'est dans le protocole ! Les mails n'ont JAMAIS été conçus pour communiquer de manière sécurisée ! Le mail sécurisé, sûr, adulte et responsable (et pratiquant le bondage) se fait via GnuPG. Ceci sera abordé dans le chapitre suivant.

Exemple de code Python servant à envoyer un mail avec usurpation d'adresse :

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Standard imports
import smtplib

# Global settings
SMTP_SERVER = "mail.fai.com"
SMTP_PORT   = 587
EMAIL_LOGIN = "login"
EMAIL_PASS  = "password"


def send_mails(mail_addr):
    """Send formatted mail to the given address.

    :param: Email address.
    :type: <str>
    """

    # Don't forget to separate headers by 1 blank line
    # Text message
    message = """From: firsname lastname <fake@mail.com>
To: <""" + mail_addr + """>
MIME-Version: 1.0
Content-type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Subject: Allez viens coller des gommettes avec nous !

MESSAGE
"""

    with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as S:

        # secure transmission
        S.starttls()
        S.login(EMAIL_LOGIN, EMAIL_PASS)

        try:
            S.sendmail(EMAIL_LOGIN,
                    mail_addr,
                    message.encode('utf8') # secure fucking charset
            )
            print("Successfully sent email to ", mail_addr, " !")
        except smtplib.SMTPException:
        print("Error: unable to send email.")

if __name__ == "__main__":

    send_mails("victim@mail.com")

Dur hein ?

On remarquera le jouli header :

From: firsname lastname <fake@mail.com>

Les services de mail sont de plus en plus pointilleux sur ces en-têtes; Mais sous certaines conditions (via des mailing-lists par ex), c'est toujours possible ! Dans le pire des cas, les personnes malveillantes choisiront des noms de domaines proches des originaux.

Consulter ses mails

Le rôle du logiciel

Ne faites pas confiance aux webmails pour filtrer les messages; en général aucune alerte n'est levée !

Utilisez un logiciel de gestion de messagerie sérieux ! Ne consultez pas vos mails sur un terminal infoutu d'apporter la moindre sécurité (mobiles Apple, mobiles Android par défaut).

Sur ordinateur il n'y a qu'un logiciel réellement valable : Mozilla Thunderbird. Thunderbird est le seul à utiliser par défaut un anti-spam bayésien très puissant (voir illustration ci-dessous) ! (Notez que KMail sous KDE, Mail.app sous OS X, supportent tout de même également le chiffrement.)

Sous Android utilisez K-9 Mail (disponible sur Google Play, sur F-Droid). Pas parce qu'il filtre les messages, mais parce qu'il supporte le chiffrement et qu'il est libre !

Sources : Wikipédia Thunderbird, K-9 Mail, CC BY-SA 4.0.

Les URL

  • Vérifiez les url !
  • Si l'url affichée dans le navigateur n'est pas celle affichée dans le mail, méfiez-vous !
  • Si l'url a une tête différente de celle des autres jours, méfiez-vous !
  • Si l'url n'est pas en https, ne vous identifiez pas !
  • Passez autant que possible par le site légitime au lieu de cliquer sur un lien affiché dans un mail !

La lecture

  • Ne lisez jamais un message dans l'urgence !
  • Ne vous soumettez pas au caractère urgent d'un message !

Échanger des mails sans IMT (Infections Transmissibles par Mail :o)

Seule méthode : Le chiffrement (asymétrique).

Il existe des milliers de tuto sur le net mais on va faire court.

GnuPG (ou GPG, de l'anglais GNU Privacy Guard) est l'implémentation GNU du standard OpenPGP. Ce standard permet à ses utilisateurs de transmettre des messages signés et/ou chiffrés. Cela permet ainsi de garantir respectivement l'authenticité et la confidentialité du message. Source : Wikipédia : GNU Privacy Guard.

Le chiffrement

Le chiffrement asymétrique utilise 1 couple de clés par personne:

  • Une clé publique que vous devez faire parvenir aux personnes avec qui vous communiquez,
  • Une clé privée (la clé de votre coffre-fort), secrète.

La clé publique du destinataire sert au chiffrement de la part de l'expéditeur. Seul le destinataire via sa clé privée sera capable de déchiffrer le message. La clé utilisée pour chiffrer n'est donc pas la même que celle utilisée pour déchiffrer.

Voilà si vous savez ça, vous savez l'essentiel.

Une image pour compléter:

Étape 1 : Le destinataire envoie sa clé publique à l'expéditeur. Étape 2 : L'expéditeur utilise cette clé publique pour chiffrer le message. Étape 3 : Le destinataire est le seul à pouvoir déchiffrer le message avec sa clé privée. (Source : point-libre.org : Enigmail).

La signature

La signature permet d'assurer qu'un message n'a pas été altéré entre son envoi et sa réception, ou qu'un expéditeur est bien le propriétaire de la clé publique qu'on pense lui attribuer.

Étape 1 : L'expéditeur envoie sa clé publique au destinataire. Étape 2 : L'expéditeur calcule la somme de contrôle (checksum) du message. Étape 3 : Le checksum est chiffré avec sa clé privée (signature). Étape 3' : L'expéditeur envoie le message + la signature. Étape 4 : Le destinataire calcule la somme de contrôle (checksum) du message. Étape 5 : Le destinataire déchiffre la signature avec la clé publique de l'expéditeur puis compare le résultat avec le checksum qu'il vient de calculer. (Source : point-libre.org : enigmail).

Logiciels & tutos

Inutile de perdre mon temps à répéter mal ce que d'autres disent bien. La mise en place de ces systèmes prend 30 min à tout casser !

Outre les logiciels de gestion de messagerie vus plus haut, sachez que GnuPG est disponible sous Windows via Gpg4win, ainsi que sous Android avec 2 applications bien intégrées à K-9 Mail:

J'ai une préférence pour ce dernier. Voici un rapide tuto en images visant à expliquer les processus d'importation des clés, et de déchiffrement (version grand format ici) :

1 & 2: Importation des clés pré-existantes. 3 : Liste des clés connues. 4 & 5: Déchiffrement d'un mail. 6 : Mail déchiffré.

Conclusionnage

Oui je sais, on ne met pas de chapitres dans une conclusion. M'en fous, c'est mon blog !

Le secret professionnel

Avant d'arriver à destination, un mail transite (et est stocké) par/dans de multiples serveurs. Si vous êtes tenus au secret professionnel, si vous tenez à votre vie privée, => Chiffrez vos mails !

Identification de l'interlocuteur

Vous voulez être sûrs que les personnes avec qui vous discutez sont bien celles que vous pensez ? => Chiffrez vos mails !

Vous n'avez rien à cacher ?

FAUX ! Vous vous préoccupez de votre intimité, puisque chez vous, vous tirez les rideaux des fenêtres (enfin pas tout le monde d'accord...). Situation similaire : Accepteriez-vous de recevoir dans votre boîte aux lettres du courrier systématiquement ouvert par quelqu'un d'autre ?

Même si vous n'avez rien à cacher, l'utilisation du chiffrement vous aidera à protéger la vie privée des personnes avec qui vous communiquez, et rendra la tâche plus difficile aux systèmes de surveillance de masse. Si en revanche vous avez quelque chose d'important à cacher, vous serez en bonne compagnie ; Edward Snowden a utilisé ces outils pour partager ses fameux secrets sur la NSA. Source : Free Software Foundation : Autodéfense courriel.


Prétendre que votre droit à une sphère privée n'est pas important parce que vous n'avez rien à cacher n'est rien d'autre que de dire que la liberté d'expression n'est pas essentielle, car vous n'avez rien à dire. Source : Edward Snowden.

Surveiller efficacement n'est pas surveiller massivement !

Outre l'utilisation du chiffrement, s'opposer à la surveillance est un combat politique et éthique visant à réduire la quantité de données amassées à notre sujet. Chiffrer ses communications a une influence directe sur le coût démentiel de la surveillance, et c'est le seul moyen de forcer les tarés responsables de ces programmes à enfin utiliser des procédés efficaces ET ciblés.

Notez que toute velléité d'interdiction du chiffrement forcera uniquement les honnêtes gens à communiquer en clair; ce qui n'aura d'autre effet que l'espionnage et la réduction de leurs libertés (les "terroristes" se moquent pas mal des interdictions).

Le chiffrement devrait être la norme, et pas une charge qu'on s'inflige une fois un certain degré de paranoïa atteint !

Bref, CHIFFREZ VOS PUTAINS DE MAILS et initiez vos proches !