Maison > Article > Opération et maintenance > Comment obtenir des données de carte de crédit via Bluetooth
Présentation de la carte FUZE
FUZE est un appareil IoT de la même taille qu'une carte de crédit ordinaire. Vous pouvez utiliser une application pour smartphone. et connectez-vous via Bluetooth pour programmer la carte FUZE. Afin de faciliter la gestion et la configuration des cartes de crédit par les utilisateurs, BrilliantTS a également publié une application appelée eCARD Manager. Lorsque vous devez effectuer un paiement, vous devez sélectionner la carte de crédit à utiliser dans l'application mobile. Une fois la sélection réussie, la carte FUZE sera équivalente à la carte de crédit que vous avez sélectionnée.
Cependant, grâce à des recherches, il a été constaté que la sécurité du processus d'ajout et d'utilisation de la carte n'est pas fiable. Dans une certaine mesure, FUZE déploie certaines mesures de protection de sécurité lors de la première configuration de FUZE. vous devez saisir un mot de passe à six chiffres, mais cette étape peut être ignorée. Une fois que vous avez configuré votre mot de passe, votre appareil restera verrouillé jusqu'à ce que vous le déverrouilliez manuellement ou jusqu'à ce que votre téléphone soit près de la carte. Une fois verrouillé, vous ne pouvez pas accéder aux données de la carte ni programmer la bande magnétique. Il propose également un mode de sécurité avancé dans lequel la carte ne peut être utilisée que si le téléphone de l'utilisateur y est connecté via Bluetooth.
Structure matérielle du scanner à rayons X
Contrairement aux appareils IoT courants, la carte FUZE a moins d'un millimètre d'épaisseur, donc afin de comprendre la structure interne de l'appareil , Le balayage optique est le plus adapté. Le schéma de structure scanné est le suivant :
On peut voir que la puce principale est un microcontrôleur, un pilote e-Paper et un SoC Bluetooth, et sur la carte mère de nombreuses fonctions ne sont pas encore utilisés, notamment NFC et EMV (un support fonctionnel sera fourni ultérieurement).
Analyse inverse du protocole Bluetooth
Pour les cartes FUZE, l'interface Bluetooth est la cible principale de notre analyse inverse. Pour cela, les outils que j'utilise sont les suivants :
1. Un téléphone Android
2 Burp Suite (facultatif) ; 3. Wireshark + script Perl décortiqué ;
4. Gatttool/BlueZ ;
Si vous souhaitez effectuer des tests de boîte noire sur des appareils Bluetooth, un téléphone Android est essentiel. Non seulement nous pouvons surveiller le trafic de communication Bluetooth sur le téléphone, mais nous pouvons également désassembler directement le bytecode Java. En tant que proxy HTTP, Burp peut intercepter les requêtes API entre les applications Android et les serveurs backend. La puce Android dispose d'une fonctionnalité appelée "HCI snoop log", que les utilisateurs peuvent activer dans le menu des paramètres du développeur. Cette fonctionnalité nous permet de sauvegarder toutes les informations sur les activités Bluetooth dans un fichier, qui contient toutes les informations d'interaction entre l'application et l'appareil. . Wireshark peut lire les informations du journal de surveillance HCI et y effectuer un filtrage et une analyse de base. Afin de semi-automatiser l'export des données vers un fichier texte, nous utilisons ici un script Perl. Enfin, gatttool ou d'autres outils BlueZ peuvent être utilisés pour effectuer l'analyse de pénétration la plus directe de l'appareil et comprendre les messages du protocole.
Reverse FUZEComme nous le savons tous,
Le protocole de couplage de BLE est vulnérable, et la plupart des appareils mettront en œuvre des protections de sécurité supplémentaires basées sur celui-ci. De même, FUZE n'enverra de données à aucun appareil non couplé et n'utilisera pas le cryptage de la couche de connexion BLE. Par conséquent, gatttool ne peut pas envoyer de requête à FUZE sans couplage, je prévois donc d'utiliser la méthode d'analyse inverse basée sur Android : 1 Activez la fonction de surveillance Bluetooth HCI sur Android
2. . Interagissez avec la carte FUZE dans l'application ;
3. Utilisez adb pour exporter les journaux HCI vers le PC
4. Utilisez Wireshark pour l'analyse ; exporter les données sous forme de texte ;
6. Utilisez le script Perl pour analyser les données ;
Les résultats de l'analyse inverse de Wireshark sont les suivants :
La meilleure chose à propos de HCI Snoop est que les données qu'il capture sont des données en texte brut avant le cryptage par la puce matérielle Bluetooth, qui contient certaines chaînes ASCII et formats de données de protocole.
Exploitation de vulnérabilités et PoC
Remarque : si un attaquant parvient à capturer la session de couplage entre l'appareil et l'application, le code PIN numérique de couplage de la carte FUZE peut être piraté. par une attaque par force brute de.
Tout d'abord, nous devons utiliser Bluetoothctl pour scanner l'appareil et le coupler avec lui :
1. Démarrez bluetoothctl : sudo bluetoothctl ;
2. Activer le client agent (pour le couplage) : agent activé ;
3. Appareil de numérisation : scanner activé ;
4. Après la numérisation vers la carte FUZE, désactivez la numérisation : désactivez la numérisation
5. Associer avec la carte FUZE : appairer
6. Saisissez le code PIN numérique affiché sur l'appareil
7. Déconnecter : déconnecter
Ensuite, nous pouvons utiliser gatttool pour envoyer des commandes à la carte :
1. Démarrez gatttool : sudo gatttool -. I -b
2. Connecter l'appareil : connect;
3. Notification d'abonnement : char-write-req 1b 0100;
4 . : char-write-req 18
Les commandes que nous envoyons sont les suivantes :
La première commande peut être contournée via le fonction d'écran de verrouillage de l'appareil, le premier numéro de carte de crédit, la date d'expiration et le CVV de l'appareil peuvent être lus le lendemain.
Résumé
Il y avait Apple Pay et Samsung Pay dans le passé, et la carte à puce FUZE dans ce dernier. L'intégralité du paiement. L'industrie fait de son mieux pour réaliser le paiement sans carte, même si personnellement, je ne pense pas que les cartes de crédit Bluetooth aient une grande importance pratique, mais comme elles existent déjà, nous devons trouver des moyens d'assurer leur sécurité.
Articles et tutoriels connexes recommandés : Sécurité du serveur Web
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!