{"id":216707,"date":"2019-04-08T10:17:59","date_gmt":"2019-04-08T08:17:59","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=216707"},"modified":"2019-06-16T07:42:43","modified_gmt":"2019-06-16T05:42:43","slug":"oracle-problem-java-card-hat-schwachstellen","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2019\/04\/08\/oracle-problem-java-card-hat-schwachstellen\/","title":{"rendered":"Oracle Problem: Java Card hat Schwachstellen"},"content":{"rendered":"<p><img decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2013\/10\/java_thumb.jpg\" \/>Sicherheitsexperten warnen aktuell vor Oracles Java Card-Plattform. Diese Plattform hat wohl ein Dutzend Schwachstellen, wird aber in Sicherheitsbereichen verwendet. Das k\u00f6nnte Smart-Cards (SIM-Karten, ES-Karten etc.) und IoT-Ger\u00e4te, die auf Java Card aufsetzen, in ihrer Sicherheit gef\u00e4hrden.<\/p>\n<p><!--more--><\/p>\n<h2>Einordnung von Java Card<\/h2>\n<p>Zur Einordnung ein Auszug aus der Wikipedia: <a href=\"https:\/\/de.wikipedia.org\/wiki\/Java_Card\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Java Card<\/em><\/a><em> ist eine Variante der Programmiersprache Java. Diese Variante erm\u00f6glicht es, einem reduzierten Java-Standard folgend erstellte Java Card Applets, Java Applets auf Chipkarten auszuf\u00fchren. Die Java Card Applets werden nur ausgef\u00fchrt, wenn die Chipkarte an eine externe Stromversorgung angeschlossen ist und die Java VM der Karte die Anweisung erhalten hat, ein bestimmtes Applet zu selektieren. Eine Java Chipkarte kann mehrere Applets enthalten. Java Card Applets k\u00f6nnen nachtr\u00e4glich auf einer Java-Chipkarte installiert werden und sind, wie Java-Programme, von der Hardware der Chipkarte unabh\u00e4ngig. Java Card Applets dienen prim\u00e4r der sicheren Speicherung und Anwendung von kryptographischen Schl\u00fcsseln. Die Schl\u00fcssel k\u00f6nnen zu diesem Zweck auf der Chipkarte erzeugt werden und ein Auslesen der privaten Schl\u00fcssel aus der Karte wird nach M\u00f6glichkeit verhindert.<\/em><\/p>\n<p>Man kann es auch direkter ausdr\u00fccken: Java Card wurde f\u00fcr SIM-Karten, Zahlungskarten und andere eingebettete Technologien entwickelt und ist auch dort im Einsatz. Java Card erm\u00f6glicht die erw\u00e4hnten Apples auf Karten und \u00e4hnlichen Gadgets ausgef\u00fchrt werden. Gibt es dort Schwachstellen, sind die betreffenden Karten und Ger\u00e4te nicht mehr als sicher anzusehen.<\/p>\n<h2>Sicherheitsl\u00fccken in Java Card<\/h2>\n<p>Ich bin schon vor einigen Tagen auf <a href=\"https:\/\/seclists.org\/fulldisclosure\/2019\/Mar\/35\" target=\"_blank\" rel=\"noopener noreferrer\">diesen Beitrag<\/a> auf Seclists.org gesto\u00dfen, in dem Adam Gowdiak, CEO of Security Exploration, auf Schwachstellen in Java Card eingeht.<\/p>\n<blockquote><p>We discovered multiple security vulnerabilities in reference implementation<br \/>\nof Java Card technology [1] from Oracle used in financial, government,<br \/>\ntransportation and telecommunication sectors among others.<\/p>\n<p>&#8230;.<\/p>\n<p>Unfortunately, due to certain architectural choices from the past, it's<br \/>\nhard to perceive Java Card technology in terms of security. There are<br \/>\nways for malformed applications loaded into a vulnerable Java Card to<br \/>\neasily break memory safety. Such a breach directly leads to the security<br \/>\ncompromise of a Java Card VM, applet firewall breach and jeopardizes<br \/>\nsecurity of co-existing applications. In some cases, whole card environment can be compromised, but that's dependant on the underlying OS \/ processor architecture (i.e. presence of the flat address space, isolation between<br \/>\ntasks).<\/p><\/blockquote>\n<blockquote><p>We were able to verify 18 of the issues in the environment of the most<br \/>\nrecent Java Card 3.1 software from Jan 2019 (Oracle Java Card VM reference implementation in the form of a simulator).<\/p><\/blockquote>\n<p>Java Card ist in im Finanzbereich, in Beh\u00f6rden, im Transportgewerbe, in der Telekommunikation etc. im Einsatz. Leider gibt es in der Java Card-VM sowie in den L\u00f6sungen eine reihe gravierender Sicherheitsl\u00fccken. Daher ist Java Card in sicherheitskritischen Anwendungen eigentlich nicht einsetzbar. Aber genau dort wird Java Card zur Speicherung von Krypto-Schl\u00fcsseln verwendet.<\/p>\n<h2>Problem mit Gemalto-Karten (SIM-Karten)<\/h2>\n<p>Ein Problem besteht speziell bei Gemalto-Karten. Das sind SIM-Karten f\u00fcr Smartphones. Dort ist mit geeigneten Exploits der volle Zugriff auf die Smartcard-Speicher m\u00f6glich. Die Applet Firewall k\u00f6nnte zerst\u00f6rt werden oder die native Codeausf\u00fchrung konnte erreicht werden. Das ist f\u00fcr f\u00fcr die folgenden Gemalto SIM-Karten \u00fcberpr\u00fcft:<\/p>\n<ul>\n<li>GemXplore 3G V3.0-256KV3.0-256K<\/li>\n<li>3G USIMERA Prime<\/li>\n<\/ul>\n<p>Als Verbraucher bzw. Nutzer von SIM-Karten oder EC-Karten kann man da nichts tun. Details sind dem <a href=\"https:\/\/seclists.org\/fulldisclosure\/2019\/Mar\/35\" target=\"_blank\" rel=\"noopener noreferrer\">Seclists.org-Beitrag<\/a> zu entnehmen. The Register hat <a href=\"https:\/\/www.theregister.co.uk\/2019\/03\/22\/oracles_java_card\/\" target=\"_blank\" rel=\"noopener noreferrer\">einen Artikel<\/a> zum Thema ver\u00f6ffentlicht, in dem die Informationen aufbereitet sind.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sicherheitsexperten warnen aktuell vor Oracles Java Card-Plattform. Diese Plattform hat wohl ein Dutzend Schwachstellen, wird aber in Sicherheitsbereichen verwendet. Das k\u00f6nnte Smart-Cards (SIM-Karten, ES-Karten etc.) und IoT-Ger\u00e4te, die auf Java Card aufsetzen, in ihrer Sicherheit gef\u00e4hrden.<\/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":[2169,4328],"class_list":["post-216707","post","type-post","status-publish","format-standard","hentry","category-sicherheit","tag-java","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/216707","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=216707"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/216707\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=216707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=216707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=216707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}