DE112012000744T5 - Erkennung eines trojanischen Pferdes - Google Patents

Erkennung eines trojanischen Pferdes Download PDF

Info

Publication number
DE112012000744T5
DE112012000744T5 DE112012000744.1T DE112012000744T DE112012000744T5 DE 112012000744 T5 DE112012000744 T5 DE 112012000744T5 DE 112012000744 T DE112012000744 T DE 112012000744T DE 112012000744 T5 DE112012000744 T5 DE 112012000744T5
Authority
DE
Germany
Prior art keywords
software application
version
suspicious
application
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112012000744.1T
Other languages
English (en)
Inventor
Mika Stahlberg
Jarno Niemelä
Kimmo Kasslin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WithSecure Oyj
Original Assignee
F Secure Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by F Secure Oyj filed Critical F Secure Oyj
Publication of DE112012000744T5 publication Critical patent/DE112012000744T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware

Abstract

Verfahren und Vorrichtung zur Erkennung eines Trojanischen Pferdes in einer verdächtigen Softwareanwendung in Form von mindestens einer elektronischen Datei. Ein Computergerät ermittelt die Quelle, aus der eine verdächtige Softwareanwendung bezogen wurde. Anschließend wird ein Vergleich zwischen der Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, und einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, durchgeführt. Falls sich die Quellen unterscheiden, wird festgestellt, dass die verdächtige Anwendung mit höherer Wahrscheinlichkeit ein Trojanisches Pferd enthält als im Fall der Identität der Quellen.

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft das Gebiet der Erkennung eines Trojanischen Pferdes.
  • STAND DER TECHNIK
  • Infektionen von Computern und Computersystemen mit Schadprogrammen sind ein zunehmendes Problem. Es gab zahlreiche prominente Beispiele von Computerschädlingen, die sich sehr schnell rund um die Welt verbreiteten und durch Datenverluste und Arbeitsausfälle Schäden in Millionenhöhe verursachten.
  • Schadprogramme verbreiten sich häufig durch Computerviren. Frühe Computerviren verbreiteten sich durch das Kopieren infizierter elektronischer Dateien auf Disketten und die Übertragung der elektronischen Datei von der Diskette auf einen noch nicht infizierten Computer. Sobald der Benutzer versucht, die infizierte elektronische Datei zu öffnen, wird das Schadprogramm aktiviert und der Computer infiziert. In neuerer Zeit wurden Viren über das Internet verbreitet, beispielsweise durch E-Mails. Es sind auch Viren bekannt, die durch drahtlose Datenübertragung verbreitet werden, beispielsweise bei der Kommunikation zwischen mobilen Kommunikationsgeräten in einem Mobilfunknetz.
  • Auf dem Markt sind heute verschiedene Antiviren-Anwendungen erhältlich. Diese arbeiten meist auf der Grundlage einer Datenbank von Signaturen oder Fingerabdrücken bekannter Viren und Schadprogramme. Bei einer Anwendung mit ”Echtzeit”-Virenscan wird, sobald der Benutzer versucht, eine Operation wie Öffnen, Speichern oder Kopieren auf eine Datei anzuwenden, die Anfrage an die Antiviren-Anwendung weitergeleitet. Wenn der Anwendung die elektronische Datei noch nicht bekannt ist, wird die elektronische Datei nach bekannten Signaturen von Viren oder Schadprogrammen durchsucht. Wenn in einer Datei ein Virus oder Schadprogramm identifiziert wurde, informiert die Antiviren-Anwendung den Benutzer darüber, beispielsweise durch das Anzeigen einer Meldung in einem Popup-Fenster. Anschließend kann die Antiviren-Anwendung die Identität der infizierten Datei in ein Verzeichnis infizierter Dateien aufnehmen.
  • In den letzten Jahren sind sogenannte ”Application Stores” bei mobilen Anwendern sehr populär geworden. Die bekanntesten Beispiele sind wahrscheinlich der Apple App Store und der Android Market. Ein Application Store ist ein Onlinedienst, der es Benutzern ermöglicht, Softwareanwendungen zu durchsuchen und von einem Remote-Server auf ihr Gerät herunterzuladen. Häufig sind die Anwendungen kostenlos oder sehr kostengünstig, und erfolgreiche Anwendungen werden auf Millionen von Geräten heruntergeladen.
  • Obwohl dieselbe Softwareanwendung möglicherweise auch aus einer anderen Quelle erhältlich ist, führt die Bequemlichkeit eines Application Stores dazu, dass die große Mehrheit der Downloads einer Softwareanwendung über einen App Store erfolgt.
  • Durch das entstandene Paradigma der Application Stores ist es für Verteiler von Schadprogrammen zunehmend schwieriger geworden, Methoden wie Spam oder Vergiftung von Suchergebnissen durch Suchmaschinenoptimierung (SEO) zu verwenden, um ihre Opfer durch Täuschung zum Installieren bösartiger Anwendungen zu bringen. Es wird also zum erfolgversprechendsten Angriffsvektor, Schadprogramme in einem Application Store zur Verfügung zu stellen. Eine einfache Methode, um Benutzer zum Installieren von Schadprogrammen zu bringen, ist es, das Schadprogramm in Form einer Anwendung anzubieten, die eine für den Benutzer wünschenswerte Funktionalität bereitzustellen scheint. Dieser Typ von Schadprogrammen wird als Trojanisches Pferd oder Trojaner bezeichnet. Ein Trojanisches Pferd scheint eine für den Benutzer wünschenswerte Funktionalität bereitzustellen, enthält aber bösartigen Code. Der bösartige Code kann zusätzlich zur Bereitstellung der gewünschten Funktionalität ausgeführt werden, so dass der Benutzer nicht erkennt, dass auf seinem Computergerät ein Trojanisches Pferd läuft. Ein Trojanisches Pferd kann beispielsweise dazu verwendet werden, unerwünschte Werbung anzuzeigen oder einem bösartigen Dritten den Zugriff auf das Computergerät zu gewähren und ihm das Ausführen unerwünschter Operationen zu ermöglichen, zum Beispiel Anwahl von Mehrwertdienstnummern, Datendiebstahl, Installation unerwünschter Software, Veränderung oder Löschung existierender Dateien und ähnliches.
  • Ein Weg zur Erzeugung eines Trojanischen Pferdes ist es, eine existierende Anwendung zu verwenden und sie so zu modifizieren, dass sie zusätzlich eine bösartige Funktionalität erhält. Dieser Vorgang wird gelegentlich als ”Trojanisierung” einer Anwendung bezeichnet. Ein Beispiel einer Trojanisierung ist die Trojanerfamilie Geinimi, die Ende 2010 auf der Android-Plattform aktiv wurde. Eine Beschreibung von Geinimi findet sich unter http://www.theregister.co.uk/2010/12/31/china_android_trojan/. Geinimi ist ein Schadprogramm für Mobilgeräte, das sich als eine Spieleanwendung ausgibt. Sobald ein Benutzer einen Geinimi-Trojaner installiert hat, kann Geinimi persönliche Daten vom Gerät des Benutzers an einen Remote-Server senden. Außerdem kann Geinimi Befehle von einem fremden Dritten empfangen.
  • Trojanische Pferde können erkannt werden, indem der Code einer Softwareanwendung hinsichtlich einer eventuell enthaltenen bösartigen Funktionalität analysiert wird, oder durch Emulation der Softwareanwendung, um die Ausführung etwaiger unerwünschter Operationen festzustellen. Für beide Ansätze kann ein gewisser Aufwand an Zeit und Ressourcen nötig sein.
  • ZUSAMMENFASSUNG
  • Eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung einer Möglichkeit, ein Trojanisches Pferd in einer Softwareanwendung zu erkennen, ohne dabei sofort auf detaillierte Codeanalyse oder Emulation zurückzugreifen. Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zur Erkennung eines Trojaners in einer verdächtigen Softwareanwendung in Form von mindestens einer elektronischen Datei bereitgestellt. Ein Computergerät ermittelt die Quelle, aus der eine verdächtige Softwareanwendung bezogen wurde. Anschließend wird ein Vergleich zwischen der Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, und einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, durchgeführt. Wenn sich die Quellen unterscheiden, wird festgestellt, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält.
  • Optional umfassen die Quellen eine Identität eines Verkäufers.
  • Das Verfahren umfasst optional ferner das Durchführen eines Vergleichs der verdächtigen Version der Softwareanwendung mit der sauberen Version der Softwareanwendung. Verglichen werden dabei die Versionsnummern, Versionsgeschichten, Anwendungsklassen, Größe der Codeblöcke, importierte Programmierschnittstellen, aufgerufene API-Funktionen, Dateigröße der Komponenten der Softwareanwendung und/oder Fähigkeiten und Zugriffskontrollen, die angeben, auf welche Funktionen die Anwendung zugreifen möchte.
  • Optional werden die Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde, und weitere auf die saubere Version der Softwareanwendung bezogene Metadaten in einer Datenbank gespeichert.
  • Die Erfindung kann optional unter Verwendung eines Backend-Servers implementiert werden. In diesem Fall umfasst das Verfahren optional das Senden einer Nachricht vom Computergerät an einen Remote-Server, wobei die Nachricht die Bestandteile der verdächtigen Anwendung und/oder die auf die verdächtige Anwendung bezogenen Metadaten enthält, die der Server benötigt, um den Vergleich durchzuführen. In diesem Fall kann das Verfahren optional auf dem Gerät das Empfangen einer Antwortnachricht vom Server umfassen. Die Antwortnachricht enthält einen Hinweis, dass die verdächtige Softwareanwendung wahrscheinlich ein Trojanisches Pferd enthält.
  • Das Verfahren umfasst optional das Senden einer Nachricht von dem Gerät an eine Remote-Datenbank, wobei die Nachricht mindestens eine Identität der verdächtigen Softwareanwendung enthält. Das Gerät empfängt dann eine Antwort von der Remote-Datenbank, wobei die Antwort die Quelle enthält, aus der die saubere Originalversion der Softwareanwendung bezogen wurde.
  • Gemäß einem zweiten Aspekt wird ein Gerät zur Verwendung in einem Kommunikationsnetzwerk bereitgestellt. Das Gerät ist mit einem Prozessor ausgestattet, der zur Feststellung dient, dass eine Softwareanwendung in Form von mindestens einer elektronischen Datei verdächtig ist. Der Prozessor ist ferner so konfiguriert, dass er die Quelle der Softwareanwendung feststellen kann, und ferner so konfiguriert, dass er die Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, vergleichen kann. Falls sich die Quellen unterscheiden, stellt der Prozessor fest, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält.
  • Optional umfasst das Gerät ferner einen Sender, der dazu dient, entweder an einen Server oder an eine Datenbank eine Anforderungsnachricht zu senden. Die Anforderungsnachricht enthält eine Anforderung nach der Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde. Außerdem wird ein Empfänger bereitgestellt, der dazu dient, eine Antwort zu empfangen, wobei die Antwort die Quelle enthält, aus der die saubere Originalversion der Softwareanwendung bezogen wurde. Diese Ausgestaltung ermöglicht es dem Gerät, eine Datenbank abzufragen, die dem Gerät ausreichende Informationen zur Verfügung stellt, um die Feststellung vorzunehmen.
  • Der Prozessor ist optional ferner so konfiguriert, dass er die verdächtige Version der Softwareanwendung mit der sauberen Version der Softwareanwendung in Bezug auf die Versionsnummern, Versionsgeschichten, Anwendungsklassen, Größe der Codeblöcke, importierte Programmierschnittstellen, aufgerufene API-Funktionen, Dateigröße der Komponenten der Softwareanwendung und/oder Fähigkeiten und Zugriffskontrollen, die angeben, auf welche Funktionen die Anwendung zugreifen möchte, vergleichen kann.
  • In einer alternativen Ausgestaltung umfasst das Gerät eine Datenbank zum Speichern von Daten bezüglich der Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde, und weiterer auf die saubere Version der Softwareanwendung bezogener Metadaten.
  • Gemäß einem dritten Aspekt wird ein Gerät zur Verwendung in einem Kommunikationsnetzwerk bereitgestellt. Das Gerät ist mit einem Prozessor ausgestattet, der zur Feststellung dient, dass eine Softwareanwendung in Form von mindestens einer elektronischen Datei verdächtig ist. Ein Sender wird bereitgestellt, der dazu dient, eine Anforderungsnachricht an einen Remote-Server zu senden, wobei die Anforderungsnachricht mindestens eine Identität der Quelle enthält, aus der die verdächtige Softwareanwendung bezogen wurde. Außerdem wird ein Empfänger bereitgestellt, der dazu dient, eine Antwort vom Server zu empfangen, wobei die Antwort einen Hinweis darauf enthält, ob die Softwareanwendung wahrscheinlich ein Trojanisches Pferd enthält, wobei die Wahrscheinlichkeit vom Server mindestens durch das Vergleichen der Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, und, falls sich die Quellen unterscheiden, durch die Feststellung, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält, bestimmt wurde.
  • Gemäß einem vierten Aspekt wird ein Server zur Verwendung in einem Kommunikationsnetzwerk bereitgestellt. Der Server ist mit einem Empfänger ausgestattet, der dazu dient, eine Anforderungsnachricht von einem Remote-Gerät zu empfangen, wobei die Anforderungsnachricht mindestens eine Identität einer Quelle enthält, aus der eine verdächtige Softwareanwendung in Form von mindestens einer elektronischen Datei bezogen wurde. Der Prozessor ist außerdem dafür ausgelegt, die Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, zu vergleichen. Falls sich die Quellen unterscheiden, stellt der Prozessor optional fest, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält. Ein Sender wird bereitgestellt, der dazu dient, eine Antwortnachricht zu senden, wobei die Antwortnachricht entweder das Ergebnis des Vergleiches oder einen Hinweis darauf enthält, dass die Softwareanwendung wahrscheinlich einen Trojaner enthält.
  • Optional umfasst der Server eine Datenbank zum Speichern der Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde, und weiterer auf die saubere Version der Softwareanwendung bezogener Metadaten.
  • Optional umfassen die Quellen eine Identität eines Verkäufers.
  • Als eine weitere Option ist der Prozessor so konfiguriert, dass er die verdächtige Version der Softwareanwendung mit der sauberen Version der Softwareanwendung in Bezug auf die Versionsnummern, Versionsgeschichten, Anwendungsklassen, Größe der Codeblöcke, importierte Programmierschnittstellen, aufgerufene API-Funktionen, Dateigröße der Komponenten der Softwareanwendung und/oder Fähigkeiten und Zugriffskontrollen, die angeben, auf welche Funktionen die Anwendung zugreifen möchte, vergleichen kann.
  • Gemäß einem fünften Aspekt wird ein Computerprogramm bereitgestellt, das maschinenlesbaren Code umfasst, der bei Ausführung auf einem Gerät bewirkt, dass das Gerät sich als ein Gerät verhält, wie es entweder im zweiten oder im dritten Aspekt beschrieben wurde.
  • Gemäß einem sechsten Aspekt wird ein Computerprogrammprodukt bereitgestellt, das ein maschinenlesbares Medium und ein Computerprogramm gemäß der Beschreibung im fünften Aspekt umfasst, wobei das Computerprogramm auf dem maschinenlesbaren Medium gespeichert ist.
  • Gemäß einem siebten Aspekt wird ein Computerprogramm bereitgestellt, das maschinenlesbaren Code umfasst, der bei Ausführung auf einem Server bewirkt, dass der Server sich als ein Server verhält, wie er im vierten Aspekt beschrieben wurde.
  • Gemäß einem achten Aspekt wird ein Computerprogrammprodukt bereitgestellt, das ein maschinenlesbares Medium und ein Computerprogramm gemäß der Beschreibung im siebten Aspekt umfasst, wobei das Computerprogramm auf dem maschinenlesbaren Medium gespeichert ist.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt in einer Blockdarstellung schematisch eine Netzwerkarchitektur gemäß einer Ausgestaltung der vorliegenden Erfindung;
  • 2 zeigt in einem Ablaufdiagramm die Verfahrensschritte gemäß einer Ausgestaltung der vorliegenden Erfindung; und
  • 3 zeigt in einer Blockdarstellung schematisch ein Gerät gemäß einer weiteren Ausgestaltung der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Um zu erkennen, ob eine verdächtige Softwareanwendung trojanisiert wurde, wird die verdächtige Softwareanwendung mit einer bekannten sauberen Version der Softwareanwendung verglichen. Wenn die verdächtige Softwareanwendung aus einer anderen Quelle als die bekannte saubere Version der Softwareanwendung bezogen wurde, erhöht dies die Wahrscheinlichkeit, dass die verdächtige Softwareanwendung trojanisiert wurde, und weitere Tests können durchgeführt werden.
  • Ein Anbieter von Sicherheitsdienstleistungen, beispielsweise von Antiviren-Software, beschafft sich bekannte saubere Versionen von Softwareanwendungen. Das kann durch das Annehmen von Einsendungen, beispielsweise aus einem vertrauenswürdigen Application Store, oder durch systematisches Durchsuchen des Internets erreicht werden. Aus den bekannten sauberen Versionen werden Metadaten extrahiert und in einer Datenbank gespeichert. Als Metadaten können beispielsweise gespeichert werden:
    • 1. Quelle der Softwareanwendung; mit anderen Worten, der Application Store, aus dem sie bezogen wurde, der Verkäufer, der die Softwareanwendung geliefert hat, oder ein URI einer anderen Art von Website, von der sie bezogen wurde.
    • 2. Der Name der Softwareanwendung und eine Identität eines Verkäufers, von dem die Anwendung bezogen wurde. Die Identität kann eine kryptographische Signatur oder auch einfach ein vom Verkäufer verwendeter Identitätswert sein.
    • 3. Die Versionsnummer der Softwareanwendung.
    • 4. Die Größe der Softwareanwendung.
    • 5. Eine digitale Signatur, mit der die Softwareanwendung signiert wurde.
    • 6. Eine Liste von Anwendungsklassen, importierten Programmierschnittstellen (APIs), aufgerufenen API-Funktionen und/oder Größen der Codeblöcke.
    • 7. Eine Liste von Fähigkeiten und Zugriffskontrollen, die angibt, auf welche Funktionen die Anwendung zugreifen möchte.
    • 8. Eine Liste von externen Eigenschaften der Anwendung, beispielsweise Bildabgleich eines Startbildes oder Bildabgleich des Icons der Benutzeroberfläche (UI), wenn es sich nicht um ein Standardicon des Betriebssystems handelt.
    • 9. Cluster von ähnlichem Code, mit anderen Worten eine Anwendung, die beispielsweise 95% identischen Code mit anderen Anwendungen im selben Cluster aufweist (diese Analyse kann nur durch einen Backend-Server vorgenommen werden).
    • 10. Installationsort beim Endbenutzer. Beispielsweise ist unter Microsoft Windows® der Pfad c:\Programme\Anwendungsname eindeutig und kann verwendet werden, um die Softwareanwendung einzuordnen. Unter Symbian® wird mit c:\private\APPUID (zum Beispiel c:\private\10002542b), was auch der einzige Ort ist, wo die Anwendung ihre Daten speichern kann, ein ähnliches Modell verwendet.
  • Die Erkennung einer trojanisierten Softwareanwendung kann im Backend durchgeführt werden, wo verdächtige Softwareanwendungen automatisch als Schadprogramme markiert werden, wenn sie als Trojanische Pferde identifiziert wurden. Alternativ kann eine Antiviren-Anwendung auf dem Gerät, das die verdächtige Anwendung bezogen hat, während der Untersuchung einer verdächtigen Anwendung die Metadaten sammeln und die Informationen mit einer lokalen Datenbank oder einer Datenbank in der Cloud abgleichen oder eine Anfrage an einen Backend-Server zum Abgleichen der Metadaten stellen.
  • Obwohl die Erkennung einer trojanisierten Softwareanwendung im Backend, auf einem Gerät oder auf einem Online-Antiviren-Server in Kommunikation mit einem Gerät durchgeführt werden kann, wird im folgenden Beispiel angenommen, dass die Erkennung mittels eines Endgeräts und eines Antiviren-Servers stattfindet.
  • In beigefügter 1 wird ein Gerät 1 dargestellt, bei dem es sich um einen Personalcomputer, ein Mobilgerät, ein Smartphone oder eine beliebige andere Art von Computergerät handeln kann. Das Gerät 1 kann mit einem Remote-Server 2 kommunizieren, der sich im Netzwerk 3 befindet.
  • Das Gerät 1 verfügt über ein maschinenlesbares Medium in Form eines Speichers 4, in dem Dateien 5 gespeichert werden können. Ein Prozessor 6 identifiziert eine verdächtige Softwareanwendung. Dies geschieht beispielsweise bei der Untersuchung von Softwareanwendungen, die im Speicher 4 gespeichert sind, oder vor dem Speichern einer Softwareanwendung im Speicher, beispielsweise beim Herunterladen der Softwareanwendung aus einem Application Store. Der Prozessor 6 ermittelt die Quelle der Softwareanwendung und sammelt einige oder alle der anderen, oben beispielhaft beschriebenen Metadaten, die sich auf die Softwareanwendung beziehen. Ein Sender 7 sendet eine Nachricht an den Server 2, die die Metadaten enthält.
  • Der Server 2 verfügt über einen Empfänger 8, der die Nachricht vom Gerät 1 empfängt. Ein Prozessor 9 steht zur Verfügung, der die in der Nachricht enthaltenen Metadaten analysiert und die Metadaten mit Metadaten einer bekannten sauberen Version der Softwareanwendung vergleicht, die in einer Datenbank 10 gespeichert sind, wobei die Datenbank auf einem maschinenlesbaren Medium in Form eines Speichers 11 gespeichert ist. Zu beachten ist, dass sich die Datenbank 10 in der Darstellung auf dem Server 2 befindet, es aber ebenso möglich ist, dass sich die Datenbank 10 auf einem anderen Knoten befindet, den der Server 2 abfragen kann.
  • Der Prozessor vergleicht zunächst die Quelle der verdächtigen Softwareanwendung (beispielsweise die Identität eines Application Stores, aus dem sie bezogen wurde, oder des Verkäufers, von dem sie erworben wurde) mit der in der Datenbank 10 gespeicherten Quelle der entsprechenden sauberen Softwareanwendung. Wenn die Quelle dieselbe ist, ist die Wahrscheinlichkeit gering, dass die verdächtige Softwareanwendung trojanisiert wurde, wobei allerdings andere Indikatoren, die unten beschrieben werden, darauf hindeuten können, dass die Softwareanwendung trojanisiert wurde. Es ist möglich, wenn auch unwahrscheinlich, dass eine saubere Originalversion der Softwareanwendung in einem Application Store verfügbar ist und eine trojanisierte Version der Softwareanwendung im selben Application Store verfügbar ist.
  • Wenn die verdächtige Softwareanwendung aus einer anderen Quelle als die saubere Version der Softwareanwendung bezogen wurde, erhöht dies die Wahrscheinlichkeit, dass die verdächtige Softwareanwendung trojanisiert wurde. Eine andere Quelle könnte bedeuten, dass verschiedene Versionen der Softwareanwendung in verschiedenen Application Stores verfügbar sind, kann aber auch bedeuten, dass verschiedene Versionen der Softwareanwendung bei verschiedenen Verkäufern im selben oder in verschiedenen Application Stores verfügbar sind. Weitere Untersuchungen können durchgeführt werden. Beispielsweise kann die verdächtige Softwareanwendung zusätzliche Funktionen enthalten, die in der sauberen Softwareanwendung nicht enthalten sind. Dazu zählen beispielsweise die Fähigkeiten, Telefonnummern anzurufen, auf bestimmte Websites zuzugreifen oder Kurznachrichten (SMS) zu verschicken. Wenn die verdächtige Version der Softwareanwendung diese Funktionalität enthält, die saubere Version aber nicht, besteht eine sehr hohe Wahrscheinlichkeit, dass die verdächtige Version trojanisiert wurde.
  • Die verdächtige Version der Softwareanwendung kann Anfragen nach mehr Fähigkeiten stellen als die saubere Version der Softwareanwendung, beispielsweise Zugriffsrechte auf bestimmte Dateitypen und ähnliches. Auch dies ist ein starkes Indiz dafür, dass die verdächtige Version der Softwareanwendung trojanisiert wurde.
  • Die digitalen Signaturen der verdächtigen Version der Softwareanwendung und der sauberen Version der Softwareanwendung können miteinander verglichen werden. Auch wenn die digitale Signatur der verdächtigen Version der Softwareanwendung gültig ist, ist eine Abweichung von der digitalen Signatur der sauberen Version der Softwareanwendung ein Indiz dafür, dass die verdächtige Version der Softwareanwendung in irgendeiner Form modifiziert wurde. Das erhöht die Wahrscheinlichkeit, dass die verdächtige Version der Softwareanwendung trojanisiert wurde.
  • Es kann auch ein Vergleich zwischen den Funktionen der sauberen Version der Softwareanwendung und der verdächtigen Version der Softwareanwendung durchgeführt werden. Wenn beispielsweise die verdächtige Version der Softwareanwendung andere Funktionen aufweist als die saubere Version der Softwareanwendung oder andere Ressourcen erfordert, dann wurde die verdächtige Version der Softwareanwendung in irgendeiner Form modifiziert und die Wahrscheinlichkeit ist höher, dass sie trojanisiert wurde.
  • Ein weiterer Test könnte sein, die verdächtige Version der Softwareanwendung auf zu Verschleierungszwecken eingesetzte Verschlüsselungsroutinen zu überprüfen, insbesondere wenn diese in der sauberen Version der Softwareanwendung nicht vorhanden sind. Dies liefert ein weiteres Indiz dafür, dass die verdächtige Version der Softwareanwendung trojanisiert wurde, da jeder in die trojanisierte verdächtige Version der Softwareanwendung eingebrachte Schadcode wahrscheinlich Verschleierungstechniken verwenden würde.
  • Andere Metadaten, beispielsweise die Versionsnummer, Versionsgeschichte und ähnliches, können ebenfalls verglichen werden. Jeder Unterschied zwischen den Metadaten der sauberen Version der Softwareanwendung und denen der verdächtigen Version der Softwareanwendung liefert Indizien dafür, dass die verdächtige Version der Softwareanwendung in irgendeiner Form modifiziert wurde, und erhöht damit die Wahrscheinlichkeit, dass die verdächtige Version der Softwareanwendung trojanisiert wurde.
  • Die Datenbank 10 kann die Anwendungen auf der Grundlage ihres Namens, ihrer Identität und ihrer Versionsinformationen gruppieren. Anwendungen können auch anhand von externen Eigenschaften gruppiert werden, beispielsweise anhand von Startbild, Bildabgleich des Icons der Benutzeroberfläche (UI) oder, wie oben beschrieben, Clustern von ähnlichem Code. Anwendungen in derselben Gruppe können überprüft werden, um sicherzustellen, dass die gleichen Versionen der sauberen Softwareanwendung und der verdächtigen Softwareanwendung miteinander verglichen werden.
  • Während eine einzige Änderung der oben beschriebenen Art noch nicht verdächtig genug sein mag, ist die Erkennung mehrerer Änderungen sehr verdächtig, wenn die verdächtige Version vorgibt, dieselbe Version oder eine aktualisierte Version einer existierenden Softwareanwendung zu sein. Ferner kann die Versionsgeschichte genutzt werden, um die Erkennung einer trojanisierten Softwareanwendung zu unterstützen. Wenn eine Funktionalität in einer bestimmten Version vorhanden ist, nicht aber in anderen (entweder älteren oder neueren) Versionen derselben Softwareanwendung, dann ist dies ein Indiz dafür, dass ein bösartiger Dritter die Softwareanwendung trojanisiert hat.
  • Der Speicher 4 auf dem Gerät 1 kann auch genutzt werden, um ein Computerprogramm 14 zu speichern, dass bei Ausführung durch den Prozessor 6 das Gerät 1 dazu bringt, sich wie oben beschrieben zu verhalten. Auf ähnliche Weise kann der Speicher 11 auf dem Server 2 auch genutzt werden, um ein Computerprogramm 15 zu speichern, dass bei Ausführung durch den Prozessor 9 den Server 2 dazu bringt, sich wie oben beschrieben zu verhalten.
  • Um die Datenbank 10 zu befüllen, kann der Server 2 systematisch das Internet durchsuchen, um saubere Versionen (oder auf saubere Versionen bezogene Metadaten) von Softwareanwendungen aus vertrauenswürdigen Application Stores zu beziehen. Alternativ können Softwareentwickler dem Server saubere Versionen von Softwareanwendungen (oder aus einer sauberen Kopie der Softwareanwendung gewonnene Metadaten) zur Verfügung stellen.
  • Um die Erfindung besser beschreiben zu können, sind in 2 Verfahrensschritte gemäß einer Ausgestaltung der vorliegenden Erfindung dargestellt. Die folgenden Nummern entsprechen den in 2 verwendeten Nummern:
    • S1. Ein Gerät mit einer verdächtigen Softwareanwendung ermittelt die Quelle der Softwareanwendung. Typischerweise ist diese der Application Store, aus dem die verdächtige Software bezogen wurde.
    • S2. Zwischen der Quelle der verdächtigen Softwareanwendung und der Quelle der sauberen Originalversion derselben Softwareanwendung wird ein Vergleich durchgeführt.
    • S3. Wenn die Quellen übereinstimmen, wird der Vorgang bei Schritt S6 fortgesetzt, andernfalls wird der Vorgang bei Schritt S4 fortgesetzt.
    • S4. Wenn die Quellen nicht übereinstimmen, werden weitere Überprüfungen durchgeführt, die beliebige der oben beschriebenen Überprüfungen sein können.
    • S5. Die Ergebnisse der weiteren Vergleiche werden gemeldet, um zu bestimmen, ob die verdächtige Software wahrscheinlich trojanisiert wurde oder nicht.
    • S6. Wenn die Quellen übereinstimmen, ist die Wahrscheinlichkeit gering, dass die verdächtige Software trojanisiert wurde.
  • Das oben angeführte Beispiel beschreibt eine Ausgestaltung, bei der ein Gerät 1 Informationen an einen Server 2 sendet, der dann den Vergleich zwischen den Quellen der Anwendungen durchführt. Es ist ebenso möglich, andere Architekturen zu verwenden, wofür in 3 ein Beispiel dargestellt ist.
  • In diesem Beispiel umfasst ein Gerät 16 einen Prozessor 17 und ein maschinenlesbares Medium in Form eines Speichers 18. Der Speicher 18 wird verwendet, um Dateien 19 und außerdem eine Datenbank 20 bekannter sauberer Versionen von Softwareanwendungen zu speichern. Ein Empfänger 21 wird bereitgestellt, der dazu dient, eine Softwareanwendung aus einem Application Store herunterzuladen. Der Prozessor 17 ist so konfiguriert, dass er einen Vergleich zwischen der Quelle der heruntergeladenen Softwareanwendung und einer in der Datenbank 20 gespeicherten sauberen Version der Softwareanwendung durchführt. In diesem Beispiel ist es für das Gerät nicht erforderlich, einen Remote-Server zu kontaktieren, um zu bestimmen, ob die verdächtige Softwareanwendung wahrscheinlich trojanisiert wurde oder nicht.
  • Im Speicher 18 kann außerdem ein Computerprogramm 22 gespeichert sein. Das Programm 22 ist so konfiguriert, dass es bei Ausführung durch den Prozessor 17 das Gerät 16 dazu bringt, sich wie oben beschrieben zu verhalten.
  • Während das Gerät 16 hier eine lokal auf dem Gerät gespeicherte Datenbank 20 verwendet, kann es in einer alternativen Ausgestaltung möglich sein, einen Backend-Server oder eine Datenbank in einem verteilten Netzwerk abzufragen, um die für den Vergleich zwischen der Quelle der verdächtigen Softwareanwendung und der Quelle der sauberen Originalversion der Anwendung und für jegliche anderen Metadatenvergleiche benötigten Informationen zu erhalten.
  • Um die Funktionsweise der Erfindung zu illustrieren, wird das Beispiel einer Softwareanwendung namens MonkeyJump2 verwendet, die Ende 2010 unter Verwendung von Geinimi trojanisiert und über einen chinesischen Application Store verteilt wurde. Die originale Softwareanwendung MonkeyJump2 wurde über einen vertrauenswürdigen Application Store mit Sitz in den USA vertrieben.
  • Tabelle 1 zeigt einen Datenvergleich zwischen der sauberen Version von MonkeyJump2 und der trojanisierten Version: Tabelle 1. Vergleich zwischen sauberer und trojanisierter Version von MonkeyJump2
    Original Trojaner
    Quelle Vertrauenswürdiger, stark frequentierter Application Store in den USA Weniger bekannter Application Store in China
    Unterzeichner Unternehmen A Unternehmen B
    Fähigkeiten Nur wenige und übliche Äußerst lange Liste von die Privatsphäre verletzenden Fähigkeiten
    Anzahl der Klassen N Klassen N + 1 Klassen
    Funktionsaufrufe Für Spielprogramme übliche Kryptographische Aufrufe (DES-Funktionen)
  • Die zum Stand der Technik gehörenden Verfahren zur Erkennung der Trojanisierung der verdächtigen Version von MonkeyJump2 führen eine Analyse des Codes durch oder emulieren das Verhalten der verdächtigen Anwendung. Beide Vorgehensweisen sind ressourcenintensiv und zeitaufwendig und können unzuverlässig sein. Mit der vorliegenden Erfindung zeigt hingegen ein schneller Vergleich zwischen der Quelle der verdächtigen Softwareanwendung und der Originalversion der Softwareanwendung, dass die Quellen sich unterscheiden, wodurch sich die Wahrscheinlichkeit erhöht, dass die verdächtige Softwareanwendung trojanisiert wurde. Daraufhin werden weitere Analysen durchgeführt, um die Wahrscheinlichkeit zu bestimmen, dass die verdächtige Softwareanwendung trojanisiert wurde.
  • Dabei ist erkennbar, dass die beiden Versionen von unterschiedlichen Unternehmen signiert wurden und dass die trojanisierte Version der Softwareanwendung Fähigkeiten aufwies, die in der Originalversion nicht enthalten waren. Diese zusätzlichen Fähigkeiten waren außerdem geeignet, die Privatsphäre zu verletzen, was auf eine Trojanisierung der verdächtigen Version der Softwareanwendung hindeutet. Zusätzlich verwendete die verdächtige Version der Softwareanwendung eine Klasse mehr als die Originalversion und enthielt außerdem Funktionsaufrufe, die im Original nicht enthalten waren. Einer dieser zusätzlichen Funktionsaufrufe verwendete kryptographische Funktionen, womit ein weiteres Indiz für die Feststellung gegeben ist, dass die verdächtige Version der Softwareanwendung trojanisiert wurde.
  • Die vorliegende Erfindung ermöglicht eine stark vereinfachte und beschleunigte Feststellung, dass eine Softwareanwendung, insbesondere eine aus einem Application Store bezogene Softwareanwendung, trojanisiert wurde, indem sie die Quelle und andere Metadaten einer verdächtigen Softwareanwendung mit denen einer sauberen Originalversion derselben Softwareanwendung vergleicht.
  • Für den Fachmann ist erkennbar, dass die oben beschriebene Ausgestaltung auf unterschiedliche Weise modifiziert werden kann, ohne den Anwendungsbereich der vorliegenden Erfindung zu verlassen. Insbesondere kann die Systemarchitektur verändert werden, ein Gerät kann Informationen von einem lokalen Server oder aus einer Datenbank in der Cloud beziehen, und der Vergleich der auf die verdächtige Softwareanwendung bezogenen Metadaten kann von einem Backend-Server durchgeführt werden.

Claims (20)

  1. Verfahren zur Erkennung eines Trojanischen Pferdes in einer verdächtigen Softwareanwendung in Form von mindestens einer elektronischen Datei, umfassend: auf einem Computergerät, das Ermitteln der Quelle, aus der eine verdächtige Softwareanwendung bezogen wurde; das Vergleichen der Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde; und, falls sich die Quellen unterscheiden, das Feststellen, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält.
  2. Verfahren nach Anspruch 1, wobei die Quellen eine Identität eines Verkäufers umfassen.
  3. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend das Vergleichen der verdächtigen Version der Softwareanwendung mit der sauberen Version der Softwareanwendung in Bezug auf die Versionsnummern, Versionsgeschichten, Anwendungsklassen, Größe der Codeblöcke, importierte Programmierschnittstellen, aufgerufene API-Funktionen, Dateigröße der Komponenten der Softwareanwendung und/oder Fähigkeiten und Zugriffskontrollen, die angeben, auf welche Funktionen die Anwendung zugreifen möchte.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde, und weitere auf die saubere Version der Softwareanwendung bezogene Metadaten in einer Datenbank gespeichert werden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend das Senden einer Nachricht von einem Computergerät an einen Remote-Server, wobei die Nachricht die Bestandteile der verdächtigen Anwendung und die auf die verdächtige Anwendung bezogenen Metadaten enthält, die der Server benötigt, um den Vergleich durchzuführen.
  6. Verfahren nach Anspruch 5, ferner umfassend das Empfangen einer Antwortnachricht vom Server auf dem Gerät, wobei die Antwortnachricht einen Hinweis enthält, dass die verdächtige Softwareanwendung wahrscheinlich ein Trojanisches Pferd enthält.
  7. Verfahren nach Anspruch 1, ferner umfassend das Senden einer Nachricht von dem Gerät an eine Remote-Datenbank, wobei die Nachricht mindestens eine Identität der verdächtigen Softwareanwendung enthält, und das Empfangen einer Antwort von der Remote-Datenbank, wobei die Antwort die Quelle enthält, aus der die saubere Originalversion der Softwareanwendung bezogen wurde.
  8. Gerät zur Verwendung in einem Kommunikationsnetzwerk, umfassend: einen Prozessor, der zur Feststellung dient, dass eine Softwareanwendung in Form von mindestens einer elektronischen Datei verdächtig ist; wobei der Prozessor ferner so konfiguriert ist, dass er die Quelle der Softwareanwendung feststellen kann; wobei der Prozessor ferner so konfiguriert ist, dass er die Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, vergleichen und, falls sich die Quellen unterscheiden, feststellen kann, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält.
  9. Gerät nach Anspruch 8, ferner umfassend: einen Sender, der dazu dient, entweder an einen Server oder an eine Datenbank eine Anforderungsnachricht zu senden, wobei die Anforderungsnachricht eine Anforderung nach der Quelle enthält, aus der die saubere Originalversion der Softwareanwendung bezogen wurde; und einen Empfänger, der dazu dient, eine Antwort zu empfangen, wobei die Antwort die Quelle enthält, aus der die saubere Originalversion der Softwareanwendung bezogen wurde.
  10. Gerät nach Anspruch 8 oder 9, wobei der Prozessor ferner so konfiguriert ist, dass er die verdächtige Version der Softwareanwendung mit der sauberen Version der Softwareanwendung in Bezug auf die Versionsnummern, Versionsgeschichten, Anwendungsklassen, Größe der Codeblöcke, importierte Programmierschnittstellen, aufgerufene API-Funktionen, Dateigröße der Komponenten der Softwareanwendung und/oder Fähigkeiten und Zugriffskontrollen, die angeben, auf welche Funktionen die Anwendung zugreifen möchte, vergleichen kann.
  11. Gerät nach Anspruch 8, ferner umfassend eine Datenbank zum Speichern von Daten bezüglich der Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde, und weiterer auf die saubere Version der Softwareanwendung bezogener Metadaten.
  12. Gerät zur Verwendung in einem Kommunikationsnetzwerk, umfassend: einen Prozessor, der zur Feststellung dient, dass eine Softwareanwendung in Form von mindestens einer elektronischen Datei verdächtig ist; einen Sender, der dazu dient, eine Anforderungsnachricht an einen Remote-Server zu senden, wobei die Anforderungsnachricht mindestens eine Identität der Quelle enthält, aus der die verdächtige Softwareanwendung bezogen wurde; einen Empfänger, der dazu dient, eine Antwort vom Server zu empfangen, wobei die Antwort einen Hinweis darauf enthält, ob die Softwareanwendung wahrscheinlich ein Trojanisches Pferd enthält, wobei die Wahrscheinlichkeit vom Server mindestens durch das Vergleichen der Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, und, falls sich die Quellen unterscheiden, durch die Feststellung, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält, bestimmt wurde.
  13. Server zur Verwendung in einem Kommunikationsnetzwerk, umfassend: einen Empfänger, der dazu dient, eine Anforderungsnachricht von einem Remote-Gerät zu empfangen, wobei die Anforderungsnachricht mindestens eine Identität einer Quelle enthält, aus der eine verdächtige Softwareanwendung in Form von mindestens einer elektronischen Datei bezogen wurde; einen Prozessor, der dazu dient, die Quelle, aus der die verdächtige Softwareanwendung bezogen wurde, mit einer Quelle, aus der eine saubere Originalversion der Softwareanwendung bezogen wurde, zu vergleichen und, falls sich die Quellen unterscheiden, festzustellen, dass die verdächtige Anwendung wahrscheinlich ein Trojanisches Pferd enthält; einen Sender, der dazu dient, eine Antwortnachricht zu senden, wobei die Antwortnachricht entweder das Ergebnis des Vergleiches oder einen Hinweis darauf enthält, dass die Softwareanwendung wahrscheinlich einen Trojaner enthält.
  14. Server nach Anspruch 13, ferner umfassend eine Datenbank zum Speichern der Quelle, aus der die saubere Originalversion der Softwareanwendung bezogen wurde, und weiterer auf die saubere Version der Softwareanwendung bezogener Metadaten.
  15. Server nach Anspruch 13 oder 14, wobei die Quellen eine Identität eines Verkäufers umfassen.
  16. Server nach einem der Ansprüche 13 bis 15, wobei der Prozessor ferner so konfiguriert ist, dass er die verdächtige Version der Softwareanwendung mit der sauberen Version der Softwareanwendung in Bezug auf die Versionsnummern, Versionsgeschichten, Anwendungsklassen, Größe der Codeblöcke, importierte Programmierschnittstellen, aufgerufene API-Funktionen, Dateigröße der Komponenten der Softwareanwendung und/oder Fähigkeiten und Zugriffskontrollen, die angeben, auf welche Funktionen die Anwendung zugreifen möchte, vergleichen kann.
  17. Computerprogramm, umfassend maschinenlesbaren Code, der bei Ausführung auf einem Gerät bewirkt, dass das Gerät sich als ein Gerät nach einem der Ansprüche 8 bis 12 verhält.
  18. Computerprogrammprodukt, umfassend ein maschinenlesbares Medium und ein Computerprogramm nach Anspruch 17, wobei das Computerprogramm auf dem maschinenlesbaren Medium gespeichert ist.
  19. Computerprogramm, umfassend maschinenlesbaren Code, der bei Ausführung auf einem Server bewirkt, dass der Server sich als ein Server nach Anspruch 13 verhält.
  20. Computerprogrammprodukt, umfassend ein maschinenlesbares Medium und ein Computerprogramm nach Anspruch 19, wobei das Computerprogramm auf dem maschinenlesbaren Medium gespeichert ist.
DE112012000744.1T 2011-02-11 2012-01-10 Erkennung eines trojanischen Pferdes Pending DE112012000744T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/931,855 US8726387B2 (en) 2011-02-11 2011-02-11 Detecting a trojan horse
US12/931,855 2011-02-11
PCT/EP2012/050304 WO2012107255A1 (en) 2011-02-11 2012-01-10 Detecting a trojan horse

Publications (1)

Publication Number Publication Date
DE112012000744T5 true DE112012000744T5 (de) 2014-01-30

Family

ID=45470569

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012000744.1T Pending DE112012000744T5 (de) 2011-02-11 2012-01-10 Erkennung eines trojanischen Pferdes

Country Status (4)

Country Link
US (1) US8726387B2 (de)
DE (1) DE112012000744T5 (de)
GB (1) GB2501203B (de)
WO (1) WO2012107255A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202049B1 (en) 2010-06-21 2015-12-01 Pulse Secure, Llc Detecting malware on mobile devices
DE102012006309A1 (de) * 2011-03-29 2012-10-04 Htc Corp. Verfahren zur Handhabung einer Schadapplikation in einem Applikationsverkaufssystem eines Telekommunikationsunternehmens und zugehörige Kommunikationsvorrichtung
US8806647B1 (en) * 2011-04-25 2014-08-12 Twitter, Inc. Behavioral scanning of mobile applications
US8997220B2 (en) * 2011-05-26 2015-03-31 Microsoft Technology Licensing, Llc Automatic detection of search results poisoning attacks
US8806643B2 (en) * 2012-01-25 2014-08-12 Symantec Corporation Identifying trojanized applications for mobile environments
US9088805B2 (en) * 2012-02-08 2015-07-21 Vixs Systems, Inc. Encrypted memory device and methods for use therewith
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US8997230B1 (en) * 2012-06-15 2015-03-31 Square, Inc. Hierarchical data security measures for a mobile device
US9449104B2 (en) * 2012-07-02 2016-09-20 At&T Intellectual Property I, L.P. Method and apparatus for deriving and using trustful application metadata
US9430640B2 (en) * 2012-09-28 2016-08-30 Intel Corporation Cloud-assisted method and service for application security verification
US20130254889A1 (en) * 2013-03-29 2013-09-26 Sky Socket, Llc Server-Side Restricted Software Compliance
US20140379637A1 (en) 2013-06-25 2014-12-25 Microsoft Corporation Reverse replication to rollback corrupted files
US8739287B1 (en) * 2013-10-10 2014-05-27 Kaspersky Lab Zao Determining a security status of potentially malicious files
US8863284B1 (en) 2013-10-10 2014-10-14 Kaspersky Lab Zao System and method for determining a security status of potentially malicious files
WO2016178816A1 (en) 2015-05-01 2016-11-10 Lookout, Inc. Determining source of side-loaded software
US10733594B1 (en) 2015-05-11 2020-08-04 Square, Inc. Data security measures for mobile devices
US10021123B2 (en) * 2015-06-29 2018-07-10 Qualcomm Incorporated Customized network traffic models to detect application anomalies
US10432659B2 (en) 2015-09-11 2019-10-01 Curtail, Inc. Implementation comparison-based security system
US10462256B2 (en) 2016-02-10 2019-10-29 Curtail, Inc. Comparison of behavioral populations for security and compliance monitoring
US9917862B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Integrated application scanning and mobile enterprise computing management system
US9916446B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Anonymized application scanning for mobile devices
US10546302B2 (en) 2016-06-30 2020-01-28 Square, Inc. Logical validation of devices against fraud and tampering
US10373167B2 (en) 2016-06-30 2019-08-06 Square, Inc. Logical validation of devices against fraud
US10719631B2 (en) * 2016-07-27 2020-07-21 Tortuga Logic Inc. Method and system for detecting hardware trojans and unintentional design flaws
US10496993B1 (en) 2017-02-15 2019-12-03 Square, Inc. DNS-based device geolocation
US10860522B2 (en) * 2017-05-19 2020-12-08 Intel Corporation Method and apparatus for controlling USB-C connectors on system with multiple host controllers
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10552308B1 (en) 2017-06-23 2020-02-04 Square, Inc. Analyzing attributes of memory mappings to identify processes running on a device
US10558771B2 (en) 2017-06-30 2020-02-11 Tortuga Logic Inc. Systems and methods for security and safety fault analysis using information flow
US10565470B2 (en) * 2017-12-15 2020-02-18 International Business Machines Corporation System, method and recording medium for user interface (UI)-level clone detection
US10715536B2 (en) 2017-12-29 2020-07-14 Square, Inc. Logical validation of devices against fraud and tampering
US11507958B1 (en) 2018-09-26 2022-11-22 Block, Inc. Trust-based security for transaction payments
US11494762B1 (en) 2018-09-26 2022-11-08 Block, Inc. Device driver for contactless payments
CN111159708B (zh) * 2019-12-02 2022-08-19 中国建设银行股份有限公司 检测服务器中网页木马的装置、方法及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167520A (en) 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US20010044901A1 (en) * 1998-03-24 2001-11-22 Symantec Corporation Bubble-protected system for automatic decryption of file data on a per-use basis and automatic re-encryption
US20030159070A1 (en) * 2001-05-28 2003-08-21 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US6611925B1 (en) * 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
WO2002033525A2 (en) * 2000-10-17 2002-04-25 Chuang Shyne Song A method and system for detecting rogue software
US7613930B2 (en) * 2001-01-19 2009-11-03 Trustware International Limited Method for protecting computer programs and data from hostile code
US7143113B2 (en) * 2001-12-21 2006-11-28 Cybersoft, Inc. Apparatus, methods and articles of manufacture for securing and maintaining computer systems and storage media
US7007159B2 (en) * 2002-05-10 2006-02-28 Intel Corporation System and method for loading and integrating a firmware extension onto executable base system firmware during initialization
US7200637B2 (en) * 2003-07-16 2007-04-03 Thomas John Klos System for processing electronic mail messages with specially encoded addresses
US7257842B2 (en) * 2003-07-21 2007-08-14 Mcafee, Inc. Pre-approval of computer files during a malware detection
GB0512744D0 (en) * 2005-06-22 2005-07-27 Blackspider Technologies Method and system for filtering electronic messages
GB0513375D0 (en) * 2005-06-30 2005-08-03 Retento Ltd Computer security
US20070180509A1 (en) * 2005-12-07 2007-08-02 Swartz Alon R Practical platform for high risk applications
US8495037B1 (en) * 2006-02-21 2013-07-23 Symantec Operating Corporation Efficient isolation of backup versions of data objects affected by malicious software
US8392996B2 (en) * 2006-08-08 2013-03-05 Symantec Corporation Malicious software detection
US20100287246A1 (en) * 2007-02-14 2010-11-11 Thomas Klos System for processing electronic mail messages with specially encoded addresses
SG183697A1 (en) * 2007-08-06 2012-09-27 Monseignat Bernard De System and method for authentication, data transfer, and protection against phishing
US8473461B1 (en) * 2008-05-27 2013-06-25 Symantec Corporation File infection removal by differential copy
WO2009149516A1 (en) * 2008-06-13 2009-12-17 Websafe Security Pty Ltd Computer network security system
TW201002008A (en) * 2008-06-18 2010-01-01 Acer Inc Method and system for preventing from communication by hackers
US8468602B2 (en) * 2010-03-08 2013-06-18 Raytheon Company System and method for host-level malware detection
US8595840B1 (en) * 2010-06-01 2013-11-26 Trend Micro Incorporated Detection of computer network data streams from a malware and its variants
US8364811B1 (en) * 2010-06-30 2013-01-29 Amazon Technologies, Inc. Detecting malware
US8726376B2 (en) * 2011-03-11 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for the detection and prevention of malware within a network

Also Published As

Publication number Publication date
US20120210431A1 (en) 2012-08-16
GB2501203B (en) 2017-03-22
GB2501203A (en) 2013-10-16
US8726387B2 (en) 2014-05-13
GB201312842D0 (en) 2013-09-04
WO2012107255A1 (en) 2012-08-16

Similar Documents

Publication Publication Date Title
DE112012000744T5 (de) Erkennung eines trojanischen Pferdes
US11068587B1 (en) Dynamic guest image creation and rollback
US20200177552A1 (en) Methods and apparatus for malware threat research
EP3814961B1 (de) Analyse von schadprogrammen
US9374386B2 (en) Application malware filtering for advertising networks
US9614863B2 (en) System and method for analyzing mobile cyber incident
US8443449B1 (en) Silent detection of malware and feedback over a network
US20170041337A1 (en) Systems, Methods, Apparatuses, And Computer Program Products For Forensic Monitoring
US10652274B2 (en) Identifying and responding to security incidents based on preemptive forensics
US20060015940A1 (en) Method for detecting unwanted executables
US20140040394A1 (en) Method and device for processing messages
CN109937564B (zh) 用于检测分布式计算系统中的欺诈性帐户使用的方法和设备
US8250138B2 (en) File transfer security system and method
CN110113315B (zh) 一种业务数据的处理方法及设备
JP2010250502A (ja) 異常操作検出装置、異常操作検出方法、および異常操作検出プログラム
US11157618B2 (en) Context-based analysis of applications
US20220217164A1 (en) Inline malware detection
US8701196B2 (en) System, method and computer program product for obtaining a reputation associated with a file
US10129278B2 (en) Detecting malware in content items
CN109815702B (zh) 软件行为的安全检测方法、装置及设备
KR101748116B1 (ko) 클라우드 모바일 환경에서의 스미싱 차단장치
CN115080355B (zh) 一种监控日志的生成方法及装置
DE102019106914A1 (de) Anwendungsverhaltenssteuerung
US20220245249A1 (en) Specific file detection baked into machine learning pipelines
CN107908961B (zh) 基于虚拟化的恶意网页检测方法、设备及存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: WITHSECURE CORPORATION, FI

Free format text: FORMER OWNER: F-SECURE CORP., HELSINKI, FI