Analyses de SiliVaccine, le programme antivirus nord coréen

L'équipe de recherche de Cheсk Point a récemment reçu un message d'un journaliste de Bloomberg nommé Martyn Williams qui avait reçu une copie d'un programme anti-virus nord-coréen d'une personne prétendument originaire du Japon. Certes, on ne rencontre pas souvent de logiciels nord-coréens, c'est pourquoi les experts Mark Lechtik et Michael Kajiloti se sont montrés particulièrement curieux des capacités de l'outil anti-virus. Ils ont présenté les résultats de leurs recherches lors du congrès des pirates informatiques 35C3 sécurité informatique .

Avant de parler du produit antivirus nord-coréen, nous devrions probablement discuter brièvement de la position de la Corée du Nord sur Internet et vice versa.

Le rôle de Pyongyang dans le développement du réseau mondial pour une grande sécurité 

attribution - le développement d'une revendication légitime selon laquelle un groupe spécifique à un pays a lancé une tentative de mener une attaque particulière - est ce que l'on appelle le "hit and miss business". L'interprétation des preuves est difficile, suivre le mauvais exemple est facile, etc. Néanmoins, Pyongyang a finalement été accusée de certaines attaques en ligne par plusieurs groupes de recherche. De plus, on pense généralement que la Corée du Nord utilise des groupes de pirates informatiques soutenus par l'État dont le travail consiste à gagner de l'argent pour le régime, une hypothèse que les responsables de la RPDC nient avec véhémence.

L'Internet en tant que tel est pratiquement inexistant en Corée du Nord : le World Wide Web n'est accessible qu'à une poignée de personnes, tandis qu'une grande partie de la population est confinée à l'intranet national, également connu sous le nom de Kwangmyong : un réseau rempli d'informations sur l'"Occident en déclin". À l'inverse, l'Occident, lui, a tout aussi peu d'occasions de se faire une idée du réseau nord-coréen, de sorte que toute information à ce sujet est un régal.

Pour un antivirus coréen-japonais?

La première question logique est la suivante : pourquoi la Corée du Nord, sans accès à Internet, aurait-elle besoin d'un programme audiovisuel ? Premièrement, pour se protéger contre les virus introduits clandestinement via des clés USB, qui contiennent des articles occidentaux, des séries télévisées sud-coréennes et d'autres informations non officiellement disponibles en RPDC. Étonnamment, cette contrebande est particulièrement répandue en Corée du Nord. D'autre part, et de manière moins évidente, il semble que la Corée du Nord veuille commercialiser le programme de protection contre le virus au niveau international, une sécurité. Au moins une des versions du programme antivirus a une interface utilisateur en anglais.

La deuxième question, non moins logique, est la suivante : comment la RPDC se procure-t-elle son propre logiciel antivirus ? Un produit aussi sophistiqué est difficile à développer à partir de zéro, surtout avec des ressources limitées. Les experts de Check Point se sont également penchés sur cette question pour en tirer une conclusion intéressante : La version 2013 de l'antivirus coréen (qui était à la disposition des experts) utilisait le moteur d'une solution AV populaire de 2008 de Trend Micro.

Les développeurs coréens n'étaient évidemment pas intéressés par un examen plus approfondi du code du produit par des personnes extérieures, car beaucoup de ses composants étaient protégés par Themida - un programme d'emballage qui empêche la rétro-ingénierie. Cependant, les personnes chargées de mettre en place les composants de SiliVaccine n'avaient pas réussi à utiliser une grande partie de l'impressionnante boîte à outils Themida, de sorte que l'équipe de Check Point a finalement pu accéder au code du programme à Pyongyang sécurité informatique .

A peu près un quart du code de SiliVaccine est entièrement équivalent aux éléments du code antivirus de Trend Micro, bien que certaines caractéristiques aient été modifiées de façon minimale. L'équipe de recherche s'est tournée vers Trend Micro pour savoir comment la Corée du Nord a pu obtenir le code source d'un produit antivirus fabriqué au Japon. Le vendeur a répondu que cela avait très probablement été fait illégalement. Il a également mentionné que le moteur aurait pu être utilisé par les partenaires de Trend Micro qui commercialisent des solutions de protection sous leur propre marque. Cela donne au moins une indication sur la façon dont le code source a pu tomber entre les mains des programmeurs nord-coréens. Les Nord-Coréens ont clairement essayé de cacher le fait que SiliVaccine est basé sur le moteur Trend-Micro en donnant à leur "propre" programme beaucoup de fioritures flatteuses. À première vue, il semble que les deux programmes antivirus utilisent des processus complètement différents pour la signature des virus : Trend Micro utilise un seul fichier de signature, tandis que SiliVaccine en utilise un énorme 20. Cependant, dès que le moteur est démarré, tous ces fichiers fusionnent en un seul. Quant aux signatures elles-mêmes, elles sont étrangement similaires à celles de Trend Micro : par exemple, lorsque le vendeur utilise la signature TROJ_STEAL-1 pour certains types de programmes malveillants, SiliVaccine utilise le nom Trj.Steal.B. Les Nord-Coréens n'ont modifié que les majuscules et les minuscules de la signature, ont remplacé les reliures et les soulignements par des points et ont apporté d'autres changements minimes. Par exemple, le programme prend en charge un composant qui est censé analyser un fichier pour détecter les virus lorsque l'utilisateur clique avec le bouton droit de la souris dans l'explorateur de fichiers et sélectionne l'option appropriée dans le menu. L'option apparaît dans le menu, mais même si l'utilisateur clique plusieurs fois, il ne se passe rien du tout.

Autre curiosité : l'antivirus est livré avec un pilote qui collecte des informations sur les connexions réseau, mais ne les utilise pas plus loin. Théoriquement, d'autres fichiers devraient accéder au pilote, mais il n'est utilisé par aucun autre fichier SiliVaccine.

Certains des composants ont été cryptés à l'aide de BopCrypt, un outil de gestion de paquets qui était populaire dans la communauté Internet russophone il y a 15 ans. D'autres composants de l'AV nord-coréen semblaient être principalement constitués de codes de pacotille. Elle a également donné l'impression que la fonction principale de certains dossiers était de faire perdre du temps. De plus, les chercheurs pensent que les auteurs de certains composants de SiliVaccine ont tenté leur chance avec la rétro-ingénierie mais ont échoué à cause de la fonction exacte du code. Par exemple, un fichier est censé déclencher la fonction d'un autre avec un paramètre fixé à une certaine valeur, tandis que le second fichier est spécifiquement programmé pour ne rien faire du tout lorsque cette valeur est activée pour la sécurité.

Tout compte fait, la solution nord-coréenne SiliVaccine s'est avérée être une version très révisée et très boguée du programme AV de Trend Micro.

Peut-il s'agir d'un logiciel malveillant ?

Tous ceux qui connaissent la politique extérieure de la RPDC en matière d'Internet devraient se demander de la sécurité informatique: et si c'était vraiment un cheval de Troie ? Que faire si le produit a été conçu pour introduire des logiciels malveillants ou similaires ? Les chercheurs de Check Point ont également une réponse à ces questions.

Au premier abord, l'antivirus SiliVaccine lui-même semble être propre. En tout état de cause, les chercheurs n'ont pas pu trouver de fonctions malveillantes. Cependant, les fichiers EXE contiennent une signature que le moteur est censé ignorer habilement. Ainsi, si un fichier scanné est infecté par un malware de cette signature, SiliVaccine l'ignore tout simplement.

Bien sûr, les chercheurs ont voulu savoir exactement de quel type de malware il s'agissait et ont essayé de comparer la signature de la banque de virus SiliVaccine avec la signature correspondante de la Trend Micro Bank. Il s'est avéré que c'était une signature heuristique qui était attribuée à tous les fichiers qui présentaient un certain comportement. Pour cette raison, les experts n'ont pas pu trouver quel fichier malveillant le programme antivirus nord-coréen devait ignorer, mais ont pu déterminer que les développeurs de SiliVaccine avaient commis une erreur à un moment donné en ajoutant une signature non valide à la liste blanche.

Bien que le programme d'installation de SiliVaccine en lui-même ne soit pas malveillant, l'archive que le journaliste de Bloomberg a reçue d'une personne inconnue prétendument du Japon contenait également un autre fichier dont le nom indiquait qu'il s'agissait d'un patch pour SiliVaccine. Les métadonnées, cependant, indiquaient que le fichier était lié aux mises à jour automatiques de Microsoft. Les chercheurs de Check Point ont analysé le fichier et ont conclu qu'il s'agissait d'un malware appelé Jaku, décrit pour la première fois par Forcepoint en 2016. Selon les explications fournies par Forcepoint, Jaku a été utilisé contre des personnes qui étaient liées à la Corée du Nord d'une manière ou d'une autre. De plus, le malware est clairement lié à DarkHotel, un groupe coréen dont les activités ont été couvertes dans une étude publiée en 2014.

Martyn Williams - le journaliste de Bloomberg à qui SiliVaccine a été envoyé - écrit beaucoup sur la Corée du Nord, les chercheurs pensent donc que l'e-mail avec le programme audiovisuel en pièce jointe aurait pu être une attaque ciblée sur lui. Quant à SiliVaccine, il semble être un véritable produit antivirus largement utilisé en Corée du Nord - probablement aussi parce qu'il n'y a tout simplement pas de meilleures options disponibles.