{"id":230883,"date":"2020-04-19T00:27:00","date_gmt":"2020-04-18T22:27:00","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=230883"},"modified":"2020-04-18T12:55:53","modified_gmt":"2020-04-18T10:55:53","slug":"malware-in-725-ruby-bibliotheken-gefunden","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2020\/04\/19\/malware-in-725-ruby-bibliotheken-gefunden\/","title":{"rendered":"Malware in 725 Ruby-Bibliotheken gefunden"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2015\/01\/Schutz.jpg\" width=\"40\" align=\"left\" height=\"47\"\/>Sicherheitsforscher von&nbsp; ReversingLabs haben laut eigener Aussage in 725 Ruby-Bibliotheken, die in das offizielle RubyGems-Repository hochgeladen wurden,&nbsp; Malware gefunden. Diese enthielt Funktionen, um die Zwischenablagen der Benutzer zu kapern.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/vg08.met.vgwort.de\/na\/39e74351113a487bafd25db406899a6b\" width=\"1\" height=\"1\"\/>Tomislav Maljic, Threat Analyst bei ReversingLabs, hat die Details in <a href=\"https:\/\/blog.reversinglabs.com\/blog\/mining-for-malicious-ruby-gems\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Blog-Beitrag<\/a> offen gelegt. Die sch\u00e4dlichen Bibliotheken fanden sich im offiziellen RubyGems-Repository. RubyGems ist ein Paketmanager f\u00fcr die Programmiersprache Ruby. Laut ihrer eigenen Website-Statistik enth\u00e4lt das Repository etwa 158 Tausend Pakete (Germs genannt) mit fast 49 Milliarden Gesamtdownloads. Im Allgemeinen ist eine Gem-Datei ein Tape ARchive (TAR) mit der folgenden Grundstruktur: <\/p>\n<p><img decoding=\"async\" title=\"RubyGems-Paketstruktur\" alt=\"RubyGems-Paketstruktur\" src=\"https:\/\/blog.reversinglabs.com\/hs-fs\/hubfs\/Blog\/gem_file_basic_structure.png?width=400&amp;name=gem_file_basic_structure.png\"\/><br \/>(Quelle: ReversingLabs)<\/p>\n<p>Das bin-Verzeichnis enth\u00e4lt gem-Bin\u00e4rdateien (falls vorhanden), das lib-Verzeichnis enth\u00e4lt den Code f\u00fcr das gem, und das Testverzeichnis enth\u00e4lt Tests. Rakefile wird von Rake, einem Make-\u00e4hnlichen, in Ruby implementierten Programm, verwendet, um Tests zu automatisieren und Code zu generieren. Die Gemspec-Datei enth\u00e4lt grundlegende Metadaten \u00fcber das Gem (wie Autor, Version, Beschreibung), aber sie kann auch zus\u00e4tzliche Informationen \u00fcber Erweiterungen enthalten, die etwas sp\u00e4ter n\u00fctzlich sein werden.<\/p>\n<p>Das Sicherheitsteam bei ReversingLabs hat sich darauf spezialisiert, gro\u00dfe Repositories zu analysieren. Dazu teilen die Sicherheitsforscher die in einem Repository gefunden Dateien in Kategorien auf. Bei dieser Untersuchung sind auch PE-Dateien im Repository gefunden und dann einer n\u00e4heren Inspektion unterzogen worden.<\/p>\n<h2>Infektion im Februar 2020<\/h2>\n<p>Die b\u00f6sartigen Pakete wurden zwischen dem 16. und 25. Februar von zwei Konten mit den Namen JimCarrey und PeterGibbons auf RubyGems hochgeladen. Die 725 Bibliotheken (<a href=\"https:\/\/blog.reversinglabs.com\/hubfs\/Blog\/ruby_malicious_gems.txt\" target=\"_blank\" rel=\"noopener noreferrer\">hier vollst\u00e4ndig aufgelistet<\/a>), wurden zwei Tage sp\u00e4ter, am 27. Februar 2020, aus dem Repository entfernt, nachdem das ReversingLabs-Team das RubyGems-Sicherheitsteam benachrichtigt hatte.<\/p>\n<p>Alle Ruby-Bibliotheken waren Kopien von legitimen Bibliotheken. Es wurden \u00e4hnliche Namen benutzt, und die Bibliotheken funktionierten wie beabsichtigt. Allerdings enthielten die Bibliotheken zus\u00e4tzliche b\u00f6sartige Dateien. Hierbei wurde in jedes Paket eine Datei <em>aaa.png <\/em>eingef\u00fcgt. ReversingLabs schreibt, dass es sich bei dieser Datei nicht um ein PNG-Bild, sondern um eine ausf\u00fchrbare Windows PE-Datei handelte.<\/p>\n<p><a href=\"https:\/\/blog.reversinglabs.com\/hubfs\/Blog\/High-level%20malware%20workflow.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" title=\"Infektionskette in RubyGems\" alt=\"Infektionskette in RubyGems\" src=\"https:\/\/blog.reversinglabs.com\/hubfs\/Blog\/High-level%20malware%20workflow.png\" width=\"619\" height=\"148\"\/><\/a><br \/>(Quelle: ReversingLabs)<\/p>\n<p>ZDnet hat <a href=\"https:\/\/www.zdnet.com\/article\/clipboard-hijacking-malware-found-in-725-ruby-libraries\/\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> eine Beschreibung der Infektionskette zusammen getragen (siehe obige Abbildung): In der PE-Datei wurde ein Ruby-Script namens <em>aaa.rb <\/em>abgelegt, das den Ruby-Interpreter und alle zur Ausf\u00fchrung erforderlichen Abh\u00e4ngigkeiten enth\u00e4lt. Das Ruby-Skript startet dann ein Visual Basic-Script namens <em>oh.vbs<\/em>, das sich in einen Autorun-Registrierungsschl\u00fcssel eintr\u00e4gt und damit bei jedem Windows-Start oder Nutzerlogin ausgef\u00fchrt wird. <\/p>\n<p>Der Autorun-Schl\u00fcssel f\u00fchrte bei jedem Windows-Start ein zweites Visual Basic-Skript aus, welches die Zwischenablage ausliest. Dort wird nach Textmustern gesucht, die wie Krypto-W\u00e4hrungsadressen aussehen. Diese Texte werden durch die Adresse des Angreifers ersetzt. Idee war es, Bitcoin-Guthaben umzuleiten. <\/p>\n<p>Laut ReversingLabs wurden die Bibliotheken von Tausenden von Benutzern heruntergeladen. Aus einer Bitcoin-Adresse, die von Forschern in ihrem Bericht genannt wird, geht jedoch hervor, dass die Angreifer w\u00e4hrend ihres j\u00fcngsten Angriffs nicht in der Lage waren, Zahlungen zu kapern. Offenbar hatte keiner der Ruby-Entwickler entsprechende Bitcoin-Strings in seinen Systemen in Bearbeitung. The Hackers News hat <a href=\"https:\/\/thehackernews.com\/2020\/04\/rubygem-typosquatting-malware.html\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> einen weiteren Artikel zum Thema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sicherheitsforscher von&nbsp; ReversingLabs haben laut eigener Aussage in 725 Ruby-Bibliotheken, die in das offizielle RubyGems-Repository hochgeladen wurden,&nbsp; Malware gefunden. Diese enthielt Funktionen, um die Zwischenablagen der Benutzer zu kapern.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426],"tags":[4328],"class_list":["post-230883","post","type-post","status-publish","format-standard","hentry","category-sicherheit","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/230883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=230883"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/230883\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=230883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=230883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=230883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}