DE102014114005A1 - Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation - Google Patents

Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation Download PDF

Info

Publication number
DE102014114005A1
DE102014114005A1 DE201410114005 DE102014114005A DE102014114005A1 DE 102014114005 A1 DE102014114005 A1 DE 102014114005A1 DE 201410114005 DE201410114005 DE 201410114005 DE 102014114005 A DE102014114005 A DE 102014114005A DE 102014114005 A1 DE102014114005 A1 DE 102014114005A1
Authority
DE
Germany
Prior art keywords
intents
intercepted
rules
applications
computer readable
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.)
Withdrawn
Application number
DE201410114005
Other languages
English (en)
Inventor
c/o IBM Corp. Borghetti Stefano
c/o IBM Corp. Donatelli Alessandro
c/o IBM Corp. Della Corte Gianluca
c/o IBM Corp. Marinelli Claudio
c/o IBM Corp. Sgró Antonio M.
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.)
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014114005A1 publication Critical patent/DE102014114005A1/de
Withdrawn 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Ein Computerprozessor empfängt Regeln, die auf einer mobilen Einheit installierten Anwendungen zugeordnet sind, und sammelt angegebene Intents von Anwendungen vor einem Ausführen der Anwendungen. Der Computerprozessor erstellt mögliche Kombinationen angegebener Intents der Anwendungen und sammelt während des Ausführens mithilfe eines Intentproxy den abgefangenen Intents zugehörige Informationen. Der Computerprozessor vergleicht die jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln, wobei eine Übereinstimmung einen ersten Verstoß zur Folge hat. Der Computerprozessor vergleicht die abgefangenen Intents mit den möglichen Kombinationen der angegebenen Intents, wobei die abgefangenen Intents mit Ausnahme der möglichen Kombinationen der angegebenen Intents einen zweiten Verstoß zur Folge haben. Der Computerprozessor zeigt eine Risikobenachrichtigung für die dem ersten und/oder dem zweiten Verstoß zugehörigen Anwendungen an.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein das Gebiet der Sicherheit von Anwendungen für mobile Einheiten und insbesondere ein Ermitteln der Reputation von Anwendungen für mobile Einheiten aus dynamischen Interaktionen zur Laufzeit.
  • Die Menge mobiler Einheiten, die für geschäftliche, private und Freizeitaktivitäten genutzt wird, nimmt weiterhin in einem beeindruckenden Ausmaß zu. Mit der Nachfrage nach mobilen Einheiten und ihrer zunehmenden Verwendung geht die große Anzahl zur Verfügung stehender Anwendungen (Apps) einher, die auf den mobilen Einheiten betrieben werden, und beträchtlich mehr werden weiterhin entwickelt.
  • Durch die große Anzahl von Apps ist es für einen Benutzer schwierig, jede App zu bewerten, um zu ermitteln, welche am besten geeignet ist, und Benutzer nehmen sich möglicherweise nicht die Zeit, ihre eigenen Recherchen durchzuführen, bevor sie Apps auf ihre mobile Einheit herunterladen. Benutzer entscheiden sich, um eine Entscheidung über ein Beziehen einer App zu treffen, möglicherweise dafür, sich auf Quellen zu verlassen, die die Beliebtheit, Neuartigkeit und angedeutete Notwendigkeit einer App beschreiben, oder bemerken direkt eine App auf einer mobilen Einheit eines anderen Benutzers. Diese Herangehensweise beinhaltet ein beträchtliches Risiko bei der Verwendung neuer Apps, und die mögliche Bedrohung, durch heruntergeladene Apps Schadsoftware zu erhalten, wird ignoriert.
  • Mobile Einheiten, die von Arbeitgebern zur Verfügung gestellt oder für geschäftliche Zwecke verwendet werden, sind möglicherweise mit „Regeln” ausgestattet, die den vom Unternehmen genehmigten Umgang mit sowie die gemeinsame Nutzung von Dokumenten, Daten und Datenübertragungen regeln. Die Regeln können dazu dienen, private, sensible oder vertrauliche geschäftliche/gewerbliche Informationen zu schützen; allerdings werden durch Regeln Entscheidungen von Benutzern über ein Herunterladen und Verwenden von Anwendungen komplexer.
  • Benutzer mobiler Einheiten verfügen üblicherweise über eine Vielzahl von Apps auf einer mobilen Einheit, von denen jede eine spezielle Funktion oder einen speziellen Dienst ausführt, der mithilfe einer Benutzeraktivität oder anderer Anwendungen verwendet werden kann, um eine Folge von Aktivitäten auszuführen. Für mobile Einheiten wird ein Betriebssystem (BS) wie zum Beispiel das BS AndroidTM (Android ist eine Handelsmarke von Google Inc.) verwendet. Bei dem AndroidTM-BS werden „Intents” (Vorsätze, Absichten) verwendet, bei denen es sich um asynchrone Nachrichten handelt, die es Anwendungen (Apps) ermöglichen, eine Funktionalität von anderen Komponenten des BS oder anderen Anwendungen anzufordern. Seine bedeutendste Verwendung besteht in dem Starten von Aktivitäten, wobei es als die bindende Verbindung zwischen Aktivitäten angesehen werden kann.
  • Intent-Messaging ist eine Funktion für Late Runtime Binding (dynamische Einbindung zur Laufzeit) zwischen Komponenten in derselben Anwendung oder unterschiedlichen Anwendungen. Bei dem Intent selbst handelt es sich um ein Intent-Objekt, eine passive Datenstruktur, die eine abstrakte Beschreibung einer auszuführenden Aktion enthält. Ein Intent-Objekt ist ein Informationsbündel, das den Namen der die Nachricht empfangenden Komponente, die auszuführende Aktion, den zu startenden Dienst oder den Broadcast-Receiver (Sendungsempfänger) enthält, der aktiv zu sein hat, sowie die Daten, auf die zu reagieren ist. Bei der Aktion oder dem Dienst handelt es sich um eine Zeichenfolge, die die auszuführende Aktion oder den zu startenden Dienst benennt. Bei den Dateninformationen handelt es sich um den Universal Resource Identifier (URI) („universeller Ressourcenbezeichner”) der Daten, auf die zu reagieren ist, und den MIME-Typ (MIME = multipurpose internet mail extension) der Daten. Wenn die Anforderungen einer Anwendung stattdessen mithilfe von Intent-Filtern angegeben werden können, kann ein impliziter Intent verwendet werden. Das System ermittelt dann die am besten zu verwendende(n) Komponente(n), selbst wenn sich diese in einer separaten Anwendung befindet/befinden oder zu dem BS selbst gehört/gehören.
  • Bei anderen Betriebssystemen können ähnliche Techniken verwendet werden, um eine Interaktion von Anwendungen zu ermöglichen, bei der eine anwendungsspezifische Funktion genutzt wird, um komplexere Aktivitäten auszuführen.
  • Sicherheit ist ein wichtiger Aspekt beim Auswählen von Apps für eine mobile Einheit. Apps mit einer bekannten Geschichte einer Nutzung durch mehrere Nutzer und einer Interaktion mit anderen Apps ohne schädliche Aktivität erlangen eine positive „Reputation”, die eine Sicherheitsstufe und ein in der Erfahrung beobachtetes Verhalten anzeigt. Eine App-Reputation beinhaltet eine Beurteilung und möglicherweise eine Bewertung unter den Gesichtspunkten Sicherheit, Datenschutz und schädliches Verhalten, um Benutzern, die einen Erwerb oder ein Herunterladen einer App in Erwägung ziehen, eine Orientierungshilfe zu bieten. Ein Unterlassen eines Ermittelns von Reputationsproblemen vor einem Herunterladen einer App kann zur Folge haben, dass die mobile Einheit Sicherheits-, Datenschutz-, Leistungs- oder anderen schädlichen Problemen ausgesetzt wird.
  • KURZDARSTELLUNG
  • Durch Ausführungsformen der vorliegenden Erfindung werden ein Verfahren, ein Computerprogrammprodukt und ein System zum Ermitteln eines Risikos einer mobilen Anwendung bereitgestellt. Ein Computerprozessor empfängt Regeln, die auf einer mobilen Einheit installierten Anwendungen zugeordnet sind. Der Computerprozessor sammelt angegebene Intents (declared intents) der auf der mobilen Einheit installierten Anwendungen vor einem Ausführen der Anwendungen. Der Computerprozessor erstellt mögliche Kombinationen angegebener Intents der auf der mobilen Einheit installierten Anwendungen. Der Computerprozessor sammelt mithilfe eines Intentproxy während eines Ausführens jeder der auf der mobilen Einheit installierten Anwendungen abgefangenen Intents zugehörige Informationen. Der Computerprozessor vergleicht die jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln, wobei eine Übereinstimmung zwischen den Informationen eines abgefangenen Intents oder einer Kombination der abgefangenen Intents und einer oder mehrerer der Regeln einen ersten Verstoß zur Folge hat. Der Computerprozessor vergleicht die abgefangenen Intents mit den möglichen Kombinationen der angegebenen Intents, wobei die abgefangenen Intents mit Ausnahme der möglichen Kombinationen der angegebenen Intents einen zweiten Verstoß zur Folge haben, und als Reaktion auf das Ergebnis, dass der erste und/oder zweite Verstoß vorliegen, zeigt der Computerprozessor auf der mobilen Einheit eine Risikobenachrichtigung für die dem ersten Verstoß und/oder dem zweiten Verstoß zugehörigen Anwendungen an.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • 1 ist ein funktionelles Blockschaubild, das eine Anwendungsverarbeitungsumgebung für mobile Einheiten gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 2 ist ein Blockschaubild, das gemäß einer Ausführungsform der vorliegenden Erfindung die Komponenten eines Reputationsbeurteilungsprogramms zum Ermitteln der Risikostufe einer Anwendung auf einer mobilen Einheit in der Anwendungsverarbeitungsumgebung aus 1 zeigt.
  • 3 veranschaulicht gemäß einer Ausführungsform der vorliegenden Erfindung einen Ablaufplan eines Reputationsbeurteilungsprogramms, das auf einer mobilen Einheit in der Anwendungsverarbeitungsumgebung für mobile Einheiten aus 1 eingefügt ist.
  • 4 zeigt gemäß einer Ausführungsform der vorliegenden Erfindung ein Blockschaltbild von Komponenten einer Einheit, die das Reputationsbeurteilungsprogramm ausführt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei Ausführungsformen der vorliegenden Erfindung wird anerkannt, dass üblicherweise auf mobilen Einheiten betriebene Anwendungen, die Messaging-Objekte verwenden, um Aktionen innerhalb einer Anwendung oder in Kombination mit anderen Anwendungen auszuführen, Aktionen zur Folge haben können, die gegen Sicherheits- oder Datenschutzregeln verstoßen, die einen Betrieb der Anwendungen auf der mobilen Einheit steuern. Bei einer Beurteilung eines statischen Betriebs von Anwendungen werden Interaktionen zwischen Anwendungen zur Laufzeit nicht erkannt, durch deren Kombination gegen Leitregeln verstoßen werden könnte.
  • Mithilfe von Ausführungsformen der vorliegenden Erfindung werden die auf einer mobilen Einheit installierten Anwendungen mit exponierten oder angegebenen Nachrichtenobjekten (declared message objects) ermittelt, wie beispielsweise einem „Intent” bei dem BS AndroidTM. Die möglichen Interaktionen der installierten Anwendungen mit exponierten Nachrichtenobjekten werden in einer statischen Darstellung ermittelt und beim Initiieren jedes Anwendungs-Nachrichtenobjekts wird dieses mithilfe eines Nachrichtenobjekt-Proxy analysiert. Der Nachrichtenobjekt-Proxy oder, bei Einheiten mit dem BS AndroidTM der Intentproxy, ermittelt die Zielkomponente des Intent sowie eine auszuführende Aktion. Der Intentproxy vergleicht die Informationen aus den Intents mit einer statischen Darstellung möglicher Intent-Interaktionen und den Anwendungsoperationen regelnden Regeln, die in dem Reputationsmodell der mobilen Einheit enthalten sind.
  • Wie Fachleute verstehen werden, können Aspekte der vorliegenden Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer reinen Hardwareausführungsform, einer reinen Softwareausführungsform (eingeschlossen Firmware, speicherresidente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, bei der Software- und Hardwareaspekte kombiniert werden, die hier alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein können. Aspekte der vorliegenden Erfindung können außerdem in der Form eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien mit in dem Medium enthaltenem computerlesbarem Programmcode/computerlesbaren Anweisungen verkörpert ist.
  • Es kann eine beliebige Kombination von computerlesbaren Medien verwendet werden. Computerlesbare Medien können ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise, aber ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede beliebige Kombination von diesen sein. Als konkretere Beispiele (unvollständige Liste) für ein computerlesbares Speichermedium könnten die folgenden aufgeführt werden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (random access memory, RAM), ein Nur-Lese-Speicher (read-only memory, ROM), ein löschbarer, programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory, EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination des Vorstehenden. Im Zusammenhang dieses Dokuments kann ein computerlesbares Speichermedium ein beliebiges physisches Medium sein, das ein Programm für die Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann unter anderem ein verbreitetes Datensignal mit darin enthaltenem computerlesbaren Programmcode sein, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann verschiedene Formen annehmen, unter anderem, aber ohne darauf beschränkt zu sein, eine elektromagnetische oder optische Form oder eine beliebige geeignete Kombination aus diesen. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm für eine Nutzung durch ein Anweisungen ausführendes System, eine solche Vorrichtung oder Einheit oder für die Nutzung in Verbindung mit einem Anweisungen ausführenden System, einer solchen Vorrichtung oder Einheit übermitteln, verbreiten oder transportieren kann.
  • Auf einem computerlesbaren Medium enthaltener Programmcode kann mithilfe jedes geeigneten Mediums übermittelt werden, einschließlich, aber ohne darauf beschränkt zu sein, ein drahtloses oder drahtgebundenes Medium, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jede geeignete Kombination von diesen.
  • Computerprogrammcode zum Ausführen von Operationen von Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen sowie herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig oder teilweise auf einem Computer eines Benutzers, als ein eigenständiges Softwarepaket, zum Teil auf dem Computer des Benutzers und zum Teil auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch ein beliebiges Netzwerk, darunter ein lokales Netzwerk (local area network, LAN) oder ein Weitverkehrsnetz (wide area network, WAN) verbunden sein, oder es kann eine Verbindung mit einem externen Computer hergestellt werden (zum Beispiel mithilfe eines Internetdienstanbieters über das Internet).
  • Aspekte der vorliegenden Erfindung werden im Folgenden mit Bezug auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaltbilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die durch den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Handlungen erzeugen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Erzeugnis samt der Anweisungen herstellen, mithilfe derer die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebene Funktion/Handlung realisiert wird.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Betriebsschritten zu bewirken, um einen durch Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Realisieren der in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds angegebenen Funktionen/Handlungen bereitstellen.
  • Die vorliegende Erfindung wird im Folgenden mit Bezug auf die Figuren ausführlich beschrieben. 1 ist ein funktionelles Blockschaubild, das gemäß einer Ausführungsform der vorliegenden Erfindung eine allgemein als 100 bezeichnete verteilte Anwendungsverarbeitungsumgebung veranschaulicht. Zu der Anwendungsverarbeitungsumgebung 100 zählen eine mobile Einheit 110, die in der Lage ist, Eingaben von einem Reputationsmodell 115 über ein Netzwerk 150 zu empfangen, und zu der ein Betriebssystem (BS) 120 für mobile Einheiten zählt, eine neue Anwendung (App) 125, eine Hypertext-Transfer-Protocol-App (HTTP-App) 135, eine Kurznachrichtendienst-App (short message service (SMS) app) 130, weitere Apps 137 sowie ein Reputationsbeurteilungsprogramm 300. Zu der Anwendungsverarbeitungsumgebung 100 zählen außerdem eine Website 140, ein Server 170 zum Verwalten mobiler Einheiten, ein Cloud-Reputationsdienst 160, die alle über das Netzwerk 150 miteinander verbunden sind.
  • Bei dem Netzwerk 150 kann es sich zum Beispiel um ein lokales Netz (LAN), ein Weitverkehrsnetz (WAN) wie beispielsweise das Internet oder eine Kombination der beiden handeln, und es kann über kabelgebundene oder drahtlose Verbindungen verfügen. Im Allgemeinen kann es sich bei dem Netzwerk 150 um eine beliebige Kombination von Verbindungen und Protokollen handeln, die Datenübertragungen über verschiedene Kanäle zwischen der mobilen Einheit 110, dem Reputationsmodell 115, der Website 140, dem Cloud-Reputationsdienst 160 und dem Server 170 zum Verwalten mobiler Einheiten aus der verteilten Anwendungsverarbeitungsumgebung 100 gemäß einer Ausführungsform der vorliegenden Erfindung unterstützen.
  • Die Website 140 ist ein Internetziel, das in der Lage ist, Datenübertragungen und/oder Inhalte von anderen mit dem Netzwerk 150 verbundenen Datenverarbeitungseinheiten zu empfangen. Die Website 140 kann von einem Webservercomputer, einem Desktopcomputer, einem Laptopcomputer, einem spezialisierten Computerserver, einem Clientcomputer, einem Tablet- oder Netbook-Personal-Computer (tablet or netbook PC), einem persönlichen digitalen Assistenten (personal digital assistant, PDA), einem Smartphone, einem Großrechner oder einem vernetzten Servercomputer gehostet und unterstützt werden. Außerdem kann die Website 140 eine Website darstellen, die von Datenverarbeitungssystemen gehostet und unterstützt wird, bei denen in Gruppen zusammengefasste Computer und Komponenten verwendet werden, um als einzelne Pools nahtloser Ressourcen zu dienen, wenn über das Netzwerk 150 auf sie zugegriffen wird, wie es in Rechenzentren und bei Cloud-Computing-Anwendungen üblich ist.
  • Der Cloud-Reputationsdienst 160 ist ein von einem oder mehreren vernetzten Computern unterstützter Dienst mit Internetzugang, durch den ein Dienst bereitgestellt wird, der den eigenständigen Betrieb einer App vor einem Herunterladen der App auf die vorgesehene mobile Hosteinheit analysiert. Der Reputationsdienst ermittelt, ob die App ein Verhalten zeigt, das, wenn sie auf einer Datenverarbeitungseinheit wie zum Beispiel der mobilen Einheit 110 installiert ist, eine schädliche, unerwünschte Aktivität erzeugt oder zu einer solchen beiträgt. Der Cloud-Reputationsdienst 160 kann Teil eines App-Bereitstellungsprozesses sein, den ein Benutzer im Interesse einer verbesserten Sicherheit und Zuverlässigkeit von für ein Herunterladen in Betracht gezogenen Apps abonnieren kann, oder ein Unternehmen kann den Cloud-Reputationsdienst 160 als Teil eines Sicherheits- oder Betriebsprotokolls für ein Installieren von Apps auf zu Unternehmenszwecken genutzten mobilen Einheiten einbeziehen. Der Cloud-Reputationsdienst 160 verfügt nicht über Informationen, die andere aktuell auf der mobilen Zieleinheit installierte Anwendungen betreffen, und führt nur mit Bezug auf die App, die für ein Herunterladen auf die mobile Zieleinheit in Betracht gezogen wird, Analysen aus oder greift auf Analyseergebnisse zu.
  • Bei dem Server 170 zum Verwalten mobiler Einheiten handelt es sich um einen mit dem Netzwerk 150 verbundenen Server, und er kann zum Steuern der Bereitstellung von Apps verwendet werden, die auf eine mobile Einheit heruntergeladen werden sollen. Der Server 170 zum Verwalten mobiler Einheiten kann von einem Online-App-Einzelhändler verwendet werden oder kann eine Komponente eines App-Bereitstellungsprozesses eines Unternehmens sein. Der Server 170 zum Verwalten mobiler Einheiten initiiert für eine App, die auf eine mobile Einheit eines Benutzers wie beispielsweise die mobile Einheit 110 heruntergeladen werden soll, eine Reputationsbeurteilungs-Anforderung an den Cloud-Reputationsdienst 160.
  • Zum Beispiel fordert ein Benutzer von einer Online-Quelle eine kostenlos herunterladbare App oder eine käuflich zu erwerbende App an. Die Online-Quelle empfängt die Anforderung und schaltet den Server 170 zum Verwalten mobiler Einheiten ein, der eine Abfrage an den Cloud-Reputationsdienst 160 sendet. Der Server 170 zum Verwalten mobiler Einheiten empfängt eine Reputationsrückmeldung von dem Cloud-Reputationsdienst 160, die das Verhalten und die Sicherheit der App auf Grundlage von einem an der App ausgeführten eigenständigen Test anzeigt. Bei der Reputationsrückmeldung kann es sich um eine standardisierte Bewertung handeln, die eine Risikostufe anzeigt, die von niedrig bis hoch reichen kann und mit dem Herunterladen und der Verwendung der angeforderten App in Zusammenhang steht. Alternativ kann es sich bei der Reputationsrückmeldung um eine oder mehrere Mengen von beschreibendem Text handeln, der das Verhalten und das Sicherheitsrisiko der App beschreibt, wie es durch eine Beurteilung ermittelt wurde, die von dem Cloud-Reputationsdienst 160 vorgenommen wurde bzw. auf die dieser zugreifen kann.
  • Bei der mobilen Einheit 110 handelt es sich um eine Datenverarbeitungseinrichtung, die in der Lage ist, eine oder mehrere Apps über das Netzwerk 150 herunterzuladen. Die mobile Einheit 110 kann ein Laptopcomputer, ein spezialisierter mobiler Computerserver, ein Tablet- oder Netbook-Personal-Computer (tablet or netbook personal PC), ein persönlicher digitaler Assistent (PDA), ein Smartphone oder eine beliebige Datenverarbeitungseinheit sein, die in der Lage ist, ausgehend von einer Netzwerkverbindung eine App herunterzuladen und zu betreiben. Im Allgemeinen stellt die mobile Einheit 110 eine beliebige programmierbare elektronische Einheit oder eine Kombination programmierbarer elektronischer Einheiten dar, die in der Lage ist/sind, maschinenlesbare Programmanweisungen auszuführen. Zu der mobilen Einheit 110 können interne und externe Hardwarekomponenten zählen, wie sie ausführlicher mit Bezug auf 4 gezeigt und beschrieben werden.
  • Die mobile Einheit 110 steht im Datenaustausch mit dem Reputationsmodell 115, das Daten enthält, die Regelbeschreibungen darstellen, gegen die durch den Betrieb einer App oder einer Kombination von Apps nicht verstoßen werden darf. Bei einer Ausführungsform der vorliegenden Erfindung besteht das Reputationsmodell 115 aus einer oder mehreren Datendateien, die Regelbeschreibungen enthalten. Die Regelbeschreibungen werden über eine Option in den Benutzereinstellungen festgelegt, bei der der Benutzer spezielle Regeln auswählt oder eingibt, die Aktionen zugeordnet sind, die eine App oder eine Kombination von Apps nicht ausführen dürfen. Bei einer weiteren Ausführungsform der vorliegenden Erfindung stammen die in einem Reputationsmodell 115 enthaltenen Regeln von einer Quelle einer Unternehmensorganisation, und die Regeln spiegeln die Sicherheits- und Verhaltensinteressen der Unternehmensorganisation wider, die auf die mobile Einheit angewendet werden, die für eine unternehmensbezogene Aktivität verwendet werden soll. Die in dem Reputationsmodell 115 enthaltenen Regeln werden als Bezug genutzt, um zu ermitteln, ob die Aktion eines App-Intent oder eine Kombination von Intents mehrerer Apps einen Verstoß gegen eine oder mehrere Regeln zur Folge haben kann
  • Das BS 120 für mobile Einheiten ist das Betriebssystem der mobilen Einheit 110. Das Betriebssystem enthält die programmierbaren Anweisungen, mit deren Hilfe ein Smartphone, Tablet, PDA oder eine andere digitale mobile Einheit betrieben wird. Bei aktuellen Betriebssystemen für mobile Einheiten werden die Funktionen eines Betriebssystems für Personal Computer mit anderen Funktionen kombiniert, wie zum Beispiel Softwarefunktionen zum Verwenden eines Touchscreens, von Mobilfunkdatenübertragungen, Bluetooth, WLAN, GPS-Navigation für mobile Einheiten, einer Digitalkamera, einer Digitalvideokamera, eines Digitalvideoabspielers, von Spracherkennung, eines Sprachaufzeichnungsgeräts und eines MP3-Musikabspielers. Zu Beispielen für ein BS für mobile Einheiten zählen, aber ohne darauf beschränkt zu sein, iOS von Apple Inc. (iOS ist ein Betriebssystem für mobile Einheiten von Apple Inc.) und das Betriebssystem für mobile Einheiten AndroidTM, das sich im Besitz von Google befindet (Android ist eine Handelsmarke von Google Inc.).
  • Die mobile Einheit 110 wird mit drei genau angegebenen Apps, der neuen App 125, der SMS-App 130 und der HTTP-App 135, sowie weiteren Apps 137 gezeigt. Zu den weiteren Apps 137 zählen alle anderen auf der mobilen Einheit 110 installierten Anwendungen. Bei der neuen App 125 handelt es sich um eine Anwendung, die kürzlich durch Herunterladen über das Netzwerk 150 auf der mobilen Einheit 110 installiert wurde. Bei einer beispielhaften Ausführungsform der Erfindung beinhaltet die neue App 125 Aktionen, durch die Informationen von anderen Anwendungen angefordert werden, und beinhaltet außerdem Aktionen, durch die an eine andere Anwendung die Anforderung gestellt wird, die erhaltenen Informationen an Empfänger außerhalb der mobilen Einheit zu senden.
  • Bei der SMS-App 130 handelt es sich um eine vorhandene Anwendung auf der mobilen Einheit 110, und bei einer beispielhaften Ausführungsform der vorliegenden Erfindung ist die SMS-App 130 eine Kurznachrichtendienstanwendung (SMS-Anwendung), die von der mobilen Einheit 110 gesendete oder empfangene SMS-Nachrichten speichert und verwaltet. Die HTTP-App 135 ist ebenfalls eine vorhandene Anwendung auf der mobilen Einheit 110 und ist in der Lage, Aktionen auszuführen, um mithilfe des Hypertext Transfer Protocol (HTTP) Inhalte von der mobilen Einheit 110 an einen externen Empfänger zu senden und an die mobile Einheit 110 gesendete Inhalte über eine Netzwerkverbindung zu empfangen.
  • Die mobile Einheit 110 wird auch mit einem Reputationsbeurteilungsprogramm 300 gezeigt, das auf einem permanenten Speichermedium der mobilen Einheit 110 gespeichert ist, das mit Bezug auf 4 näher erörtert wird. Das Reputationsbeurteilungsprogramm 300 arbeitet als eine „Hintergrundanwendung”, wobei es fortlaufend arbeitet, um die Intents von Anwendungen zu überwachen, während sie initiiert werden. Das Reputationsbeurteilungsprogramm 300 analysiert die Aktionen initiierter Intents sowohl einzeln als auch in Kombination und vergleicht die initiierten Intents mit zuvor ermittelten möglichen Interaktionen der angegebenen Intents von Anwendungen auf der mobilen Einheit 110. Das Reputationsbeurteilungsprogramm 300 ermittelt, welche möglichen Intent-Interaktionen auf Grundlage der initiierten Intents auftreten können. Das Reputationsbeurteilungsprogramm 300 verwendet Regeln, die es von dem Reputationsmodell 115 empfängt, und ermittelt, ob einzelne oder Kombinationen initiierter Intents gegen eine oder mehrere der Regeln des Reputationsmodells 115 verstoßen können. Als Reaktion auf eine Feststellung, dass gegen eine Regel verstoßen wird oder werden kann, zeigt das Reputationsbeurteilungsprogramm 300 eine Warnnachricht an, die die betroffenen Apps und die Regel anzeigt, gegen die möglicherweise verstoßen wird. Die Einzelheiten des Betriebs des Reputationsbeurteilungsprogramms 300 werden mit Bezug auf 3 erörtert.
  • 2 ist ein Blockschaubild, das gemäß einer Ausführungsform der vorliegenden Erfindung die Komponenten des Reputationsbeurteilungsprogramms 300 zum Ermitteln der Risikostufe einer Anwendung in der Anwendungsverarbeitungsumgebung aus 1 auf einer mobilen Einheit zeigt. Zu den Komponenten des Reputationsbeurteilungsprogramms 300 zählen ein Risikobewerter 210, ein Programm zur statischen Analyse 220, ein Programm zur dynamischen Analyse 230, ein Graphenerstellungsprogramm 240 und ein Intentproxy 250, die mit installierten Apps 260 interagieren, sowie das BS 120 für mobile Einheiten.
  • Bei einer Ausführungsform der vorliegenden Erfindung löst das Installieren der neuen App 125 auf der mobilen Einheit 110 ein Anfordern der Filter der angegebenen Intents, die die exponierten Dienste der auf der Einheit 110 installierten Apps enthalten, von dem BS 120 für mobile Einheiten durch das Reputationsbeurteilungsprogramm 300 aus. Bei anderen Ausführungsformen wird das Reputationsbeurteilungsprogramm 300 beim Start der mobilen Einheit 110 gestartet und arbeitet im Hintergrund und sammelt die angegebenen Intents und Intent-Filter all der installierten Anwendungen auf der mobilen Einheit 110. Die Filter der angegebenen Intents geben die Arten von Intents an, auf die eine Aktion, ein Dienst oder ein Broadcast Receiver einer Anwendung reagieren kann. Ein Intent-Filter gibt die Aktion oder den Dienst an, den seine übergeordnete Komponente ausführen kann, und/oder welche Arten von Sendungen (broadcasts) ein Empfänger handhaben kann. Der Intent-Filter öffnet die Komponente für den Empfang der angegebenen Arten von Intents, während diejenigen herausgefiltert werden, die nicht auf die Komponente zutreffen. Intent-Filter ermöglichen außerdem anderen Apps, eine App-Aktivität zu starten. Wenn eine App auf einer Einheit installiert wird, erkennt das BS die Intent-Filter der App und fügt die Informationen einem internen Katalog von Intents hinzu, der von allen installierten Apps unterstützt wird. Wenn eine App den Start einer Aktivität mit einem impliziten Intent fordert, findet das System die Aktivität(en), die auf den Intent reagieren können.
  • Das Graphenerstellungsprogramm 240 empfängt die statischen angegebenen Intents und Intent-Filter der installierten Anwendungen und die initiierten intents und Intent-Filter von dem Programm zur dynamischen Analyse und erstellt eine Darstellung der möglichen Kombinationen der Interaktionen von Intents zwischen den installierten Apps der mobilen Einheit 110. Die Darstellung enthält die Verbindungsstufen, auch als die Anzahl von Verbindungen zwischen Apps aufgefasst, oder Kombinationen von intents, die als ein Graph betrachtet werden können, bei dem die Knoten Apps darstellen und die die Knoten verbindenden Kanten Anforderungen von Intents oder Intent-Filtern darstellen. Die Anzahl von Verbindungen zwischen Apps, die eine ausgeführte Aktivität oder Operation zur Folge hat, ist die Verbindungsstufe und kann als eine Anzeige des Komplexitätsniveaus beim Ausführen der Aktivität oder Operation angesehen werden. Zum Beispiel ist eine Aktivität oder Operation, die ein Senden und Empfangen von Intents zwischen vier Apps erfordern würde, komplexer als eine Aktivität, die durch eine einzige App oder zwischen zwei Apps ausgeführt werden kann. Je höher die zum Ausführen einer Aktivität oder Operation benötigte Anzahl von Apps ist, desto niedriger ist die von dem Risikobewerter 210 ermittelte Risikostufe.
  • Der Intentproxy 250 ist ein Modul des Reputationsbeurteilungsprogramms 300 und arbeitet in Verbindung mit dem BS 120 für mobile Einheiten. Bei dem Intentproxy 250 handelt es sich um eine Zwischenschicht, die Intents abfängt, während sie initiiert werden, und die Aktivität, den Dienst oder die Broadcast-Receiver-Aktion ermittelt, die/der zu erfolgen hat, sowie die Komponente, auf die der Intent abzielt, oder die möglichen Komponenten, die den impliziten Intent empfangen und auf ihn reagieren sollen. Der Intentproxy 250 dient als ein Laufzeit-Verfolgungsprogramm für Anwendungs-Intents. Beispielsweise wird die neue App 125 gestartet und ein Intent initiiert, der von dem Intentproxy 250 empfangen wird. Der Intentproxy 250 ermittelt, dass der Intent Nachrichteninhalte von der SMS-App 130 anfordert. Nach dem Empfangen und Ermitteln der Aktivität des Intent gestattet der Intentproxy 250 dem Intent, zu der bezeichneten Anwendungskomponente fortzuschreiten.
  • Der Risikobewerter 210 ist ein Modul des Reputationsbeurteilungsprogramms 300 und empfängt die den Intents zugehörigen analysierten Aktionen, die von dem Programm zur statischen Analyse 220 und dem Programm zur dynamischen Analyse 230 analysiert wurden. Der Risikobewerter 210 empfängt auch Regeln von dem Reputationsmodell 115, die mit den Ergebnissen des Programms zur statischen Analyse 220 und des Programms zur dynamischen Analyse 230 verglichen werden, um zu ermitteln, ob möglicherweise durch die Intent-Aktivitätsanforderungen einer oder einer Kombination von App(s) gegen eine oder mehrere Regeln verstoßen wird. Jede von dem Reputationsmodell 115 empfangene Regel definiert eine oder mehrere Aktivitäten oder Operationen, die verweigert werden und nicht von der mobilen Einheit 110 ausgeführt werden dürfen. Verweigerte Aktivitäten beinhalten eine oder mehrere Intent-Aktionen einer oder mehrerer Anwendungen und haben einen Verstoß gegen die Regel zur Folge. Der Risikobewerter 210 verwendet die von dem Graphenerstellungsprogramm 240 erstellte Darstellung von Kombinationen von Intents, um die Risikostufe zu ermitteln und einen Risikobenachrichtigungsindex bereitzustellen, der bei einer Ausführungsform der vorliegenden Erfindung einem Benutzer der mobilen Einheit 110 bei einem Verstoß gegen eine Regel angezeigt wird. Eine höhere Anzahl von Intent-Kombinationen zum Ausführen einer Aktivität oder Operation hat einen niedrigeren Risikowert für den Risikobenachrichtigungsindex zur Folge.
  • Bei einer beispielhaften Ausführungsform der vorliegenden Erfindung werden von einer Unternehmensorganisation, die die mobile Einheit an einen Benutzer ausgibt, Regeln für eine mobile Einheit festgelegt. Durch eine der von der Unternehmensorganisation festgelegten Regeln wird festgesetzt, dass eine mobile Einheit, zum Beispiel die mobile Einheit 110, keine empfangenen Kurznachrichtendienst-Nachrichten an Empfänger außerhalb der mobilen Einheit senden oder weiterleiten darf. Bei einer Ausführungsform der vorliegenden Erfindung wird die Regel während der anfänglichen Einrichtung der mobilen Einheit durch den Risikobewerter 210 von dem Reputationsmodell 115 empfangen. Eine App wird heruntergeladen, und die angegebenen Intents der App werden ermittelt, im Vergleich mit den Informationen des Graphenerstellungsprogramms 240 analysiert und an den Risikobewerter 210 gesendet. Der Risikobewerter 210 ermittelt, ob die Intents einer einzelnen App, oder ob die Intents anderer Apps, die kombiniert Aktivitäten anfordern, gegen eine oder mehrere Regeln verstoßen.
  • Bei einer weiteren Ausführungsform können die Regeln von einem Benutzer festgelegt werden, der auf eine Einrichtungsfunktion des Reputationsbeurteilungsprogramms 300 zugreift, die die Regeln direkt in den Risikobewerter 210 eingibt.
  • Das Programm zur statischen Analyse 220 ist ein Modul des Reputationsbeurteilungsprogramms 300 und empfängt Informationen, darunter die Apps auf der mobilen Einrichtung 110 zugehörigen Intents, von dem Graphenerstellungsprogramm 240 auf Grundlage der von dem Intentproxy 250 erkannten angegebenen Intents. Das Programm zur statischen Analyse 220 analysiert die angegebenen Intents jeder App unabhängig von den Intents anderer Apps und ermittelt die den Intents jeder App zugehörigen Aktionen. Die Informationen über die Aktionen werden an den Risikobewerter 210 gesendet, um zu ermitteln, ob die Intent-Aktionen einer App oder einer Kombination von Apps möglicherweise gegen eine Regel des Reputationsmodells 115 verstoßen (1).
  • Das Programm zur dynamischen Analyse 230 ist ein Modul des Reputationsbeurteilungsprogramms 300 und empfängt Informationen von dem Intentproxy 250 und dem Graphenerstellungsprogramm 240 auf Grundlage der initiierten Intents von Anwendungen auf der mobilen Einheit 110. Das Programm zur dynamischen Analyse 230 analysiert die Intents von Apps, die Intents anderer Apps anfordern, und ermittelt dadurch die Laufzeitinteraktion von Intents mehrerer Apps. Die Informationen über initiierte Intent-Aktivitäten werden an den Risikobewerter 210 gesendet, um zu ermitteln, ob die Intent-Aktivitäten einer App möglicherweise gegen eine von dem Reputationsmodell 115 empfangene Regel verstoßen.
  • Intents sind abstrakte Beschreibungen einer Aktion, und die beschreibenden Attribute des Intents oder der Kombination von Intents ermöglichen einen Vergleich mit Schlüsselwörtern einer Regel. Beispielsweise kann eine Regel festlegen: „SMS + Internet = verweigert”, was bedeutet, dass SMS-Inhalte nicht über das Internet gesendet werden dürfen. Eine App 1, eine App 2 und eine App 3 sind auf der mobilen Einheit 110 installiert, und die App 1 stellt eine Intent-Anforderung an die App 2, SMS-Nachrichten abzurufen. Der Intent der App 2, SMS-Nachrichten abzurufen, enthält „SMS” und ist erlaubt. Die App 2 löst einen Intent aus, eine Anforderung an die App 3 zu stellen, Inhalte unter Verwendung von „HTTP” zu senden, und der Intent für die App 3 enthält „HTTP”, dem ein Schlüsselwort „Internet” zugeordnet ist. Der Risikobewerter 210 vergleicht die Kombination der Intent-Beschreibungen und zugeordneten Schlüsselwörter, die von dem Programm zur dynamischen Analyse 230 analysiert wurden, mit der von dem Reputationsmodell 115 empfangenen Regel und ermittelt, dass ein Ausführen der Intents, das eine dynamische Kombination von Anwendungen beinhaltet, einen Verstoß gegen die Regel darstellt.
  • 3 veranschaulicht gemäß einer Ausführungsform der vorliegenden Erfindung einen Ablaufplan des Reputationsbeurteilungsprogramms 300, das auf einer mobilen Einheit in der Anwendungsverarbeitungsumgebung für mobile Einheiten aus 1 eingefügt ist. Bei einer Ausführungsform der vorliegenden Erfindung ist das Reputationsbeurteilungsprogramm 300 auf einer mobilen Einheit installiert, zum Beispiel der mobilen Einheit 110. Bei einer weiteren Ausführungsform wird das Reputationsbeurteilungsprogramm 300 beim Herunterladen einer App auf die mobile Einheit 110 heruntergeladen. Das Reputationsbeurteilungsprogramm 300 stellt an das Betriebssystem (BS) die Anforderung, die installierten Anwendungen und ihre exponierten Intents (exposed intents) aufzuzählen (Schritt 310). Das Reputationsbeurteilungsprogramm 300 wird initiiert und sendet eine Anforderung an das BS für mobile Einheiten, die Anwendungen und exponierten Intents aufzuzählen, die auf der mobilen Einheit installiert sind. Exponierte Intents, ansonsten als angegebene Intents bezeichnet, zeigen die Aktionen an, die eine Anwendung anfordert oder akzeptiert.
  • Zum Beispiel sendet das Reputationsbeurteilungsprogramm 300, das auf der mobilen Einheit 110 betrieben wird, eine Anforderung an das BS 120 für mobile Einheiten, die installierten Anwendungen und ihre jeweiligen exponierten Intents aufzuzählen. Durch die Reaktion auf die Anforderung wird eine Auflistung der jeder Anwendung zugehörigen angegebenen Intents erzeugt, zum Beispiel der angegebenen Intents der SMS-App 130, der HTTP-App 135, der neuen App 125 sowie der weiteren Apps 137.
  • Unter Verwendung der aufgezählten Ergebnisse für die angegebenen Intents der installierten Anwendungen erstellt das Reputationsbeurteilungsprogramm 300 einen Graphen möglicher App-Intent-Interaktionen (Schritt 315). Das Reputationsbeurteilungsprogramm 300 erstellt eine Darstellung möglicher Interaktionen zwischen angegebenen Intents der installierten Anwendungen. Die Darstellung wird am besten als ein mathematischer Graph aus durch Kanten verbundenen Knoten betrachtet, bei dem die Knoten die Anwendungen darstellen und die Kanten die Intents darstellen. Bei dem Graphen der Interaktionen handelt es sich um einen Verweis, der verwendet wird, um mögliche Anwendungs-Intent-Aktivitäten oder eine Interaktion von Aktivitäten auf Grundlage der initiierten Intents von auf die mobile Einheit 110 geladenen Anwendungen zu erkennen, wie sie von dem Programm zur dynamischen Analyse 230 und dem Programm zur statischen Analyse 220 ermittelt wurden. Der Graph enthält die möglichen bzw. potenziellen Interaktionen von Intents einer Anwendung, die eine Aktivität von einer oder mehreren anderen Anwendungen anfordern kann. Überdies kann eine Reihe von Intents, bei der mehrere Anwendungen einbezogen sind, zusammen in eine Reihenfolge gebracht werden, um eine Aktivität auszuführen, die das Ergebnis einer oder mehrerer Intent-Aktionen sein kann. Der Graph zeigt die Anzahl von Intents an, die zum Ausführen einer Aktivität interagieren müssen, wodurch die Komplexität der Aktivität und die Wahrscheinlichkeit des Auftretens der Aktivität angezeigt werden.
  • Zum Beispiel sind die neue App 125, die SMS-App 130, die HTTP-App 135 sowie weitere Apps 137 auf die mobile Einheit 110 geladen. Das Reputationsbeurteilungsprogramm 300 stellt eine Anforderung an das BS, eine Liste angegebener Intents von allen auf die mobile Einheit 110 geladenen Apps abzurufen. Die Liste angegebener Apps (declared apps) wird von dem Graphenerstellungsprogramm 240, empfangen, das eine Darstellung der möglichen Interaktionen der angegebenen Intents der geladenen Anwendungen erzeugt. Eine von dem Graphenerstellungsprogramm 240 ermittelte Interaktion beinhaltet Intents der neuen App 125, der SMS-App 130, der HTTP-App 135 sowie weiterer Apps 137. Die Aktionsbeschreibungen der Intents dieser Apps werden mithilfe des Risikobewerters 210 mit den Schlüsselwörtern der Regeln verglichen, und es stellt sich heraus, dass eine Kombination der Intents der neuen App 125, der SMS-App 130 und der HTTP-App 135 mit einer Regel übereinstimmt und gegen diese verstößt. Bei der Komplexität wird die Anzahl von Intents und Apps berücksichtigt, die so miteinander interagieren, dass gegen die Regel verstoßen wird.
  • Das Reputationsbeurteilungsprogramm 300 lädt die Regeln aus einer Reputationsmodell-Quelle (Schritt 320). Ein Reputationsmodell wie zum Beispiel das Reputationsmodell 115 enthält eine oder mehrere Regeln, die ein Zulassen oder Verhindern von Aktionen eines oder einer Kombination von Intents betreffen, was üblicherweise zum Schutz oder wegen einer beabsichtigten Einschränkung vorgenommen wird. Bei einer Ausführungsform der vorliegenden Erfindung befindet sich das Reputationsmodell 115 außerhalb des Host-Reputationsbeurteilungsprogramms 300 der mobilen Einheit und enthält Regeln, die von einem Anbieter der mobilen Einheit oder einem Dienst bereitgestellt werden, den die Einheit abonniert hat. Bei einer weiteren Ausführungsform ist das Reputationsmodell eine Einstellfunktion, auf die von der mobilen Einheit aus zugegriffen wird, von der aus ein Benutzer oder Administrator der mobilen Einheit Regeln eingibt. Das Reputationsbeurteilungsprogramm 300 empfängt die Regeln von dem Reputationsmodell 115 und lädt die Regeln in den Risikobewerter 210.
  • Zum Beispiel wird ein Satz Regeln von dem Unternehmens-Anbieter der mobilen Einheit 110 definiert und in das Reputationsmodell 115 geladen und in diesem gespeichert. Das auf der mobilen Einheit 110 betriebene Reputationsbeurteilungsprogramm 300 empfängt den Satz Regeln von dem Reputationsmodell 115, das sich außerhalb der mobilen Einheit 110 befindet, und lädt den Satz Regeln in den Risikobewerter 210.
  • Nach dem Laden der Regeln analysiert ein Risikobewertungsmodul des Reputationsbeurteilungsprogramms 300, wie zum Beispiel der Risikobewerter 210, die Regeln in dem Reputationsmodell (Schritt 325). Bei einer Ausführungsform der vorliegenden Erfindung beinhaltet die Analyse jeder auf Text beruhenden Regel eine Textanalyse, bei der Schlüsselwörter oder -begriffe ermittelt werden, die Intent-Aktions-Beschreibungen zugeordnet sind und ähnlich den Intent-Aktions-Beschreibungen Zeichenfolgesyntaxtext enthalten können, und die überdies ein Verweigern oder Genehmigen der einen oder mehrerer Intent-Aktionen anzeigt. Zu der oder den Aktionen können die Aktion eines einzelnen Intent, eine kombinierte Aktion mehrerer Intents einer einzigen Anwendung oder möglicherweise eine Kombination mehrerer Intents mehrerer Anwendungen zählen.
  • Beispielsweise lädt das Reputationsbeurteilungsprogramm 300 die Regeln aus dem Reputationsmodell 115 in den Risikobewerter 210. Der Risikobewerter 210 analysiert den Textinhalt der Regeln und erzeugt Schlüsselwörter und -begriffe, die die Regel beschreiben, darunter Text, der anzeigt, ob die durch das Schlüsselwort/die Schlüsselwörter beschriebene Aktivität nicht zulässig ist. Eine analysierte Regel kann enthalten: „PRIVATER SCHLÜSSEL + HTTP:N” und kann von dem Risikobewerter 210 als Anforderungen ausgelegt werden, die einen privaten Schlüssel beinhalten, und als Anforderungen eines HTTP-Transports über das Internet, ist nicht erlaubt. Die Regeln und die Aktionsbeschreibung von Intents kann das Verwenden eines oder mehrerer beinhalten aus: Akronymen, üblichen Abkürzungen, Ziffern, Symbolen, alphabetischen Zeichen, nichtalphabetischen Zeichen.
  • Das Reputationsbeurteilungsprogramm 300 initiiert einen Intentproxy, der ein Initiieren von Intents überwacht. Beim Initiieren eines Intent fängt das Reputationsbeurteilungsprogramm 300 jeden Intent ab und analysiert ihn (330). Ein Abfang-Proxy verfolgt Intents, während sie initiiert werden, und ruft die Intent-Informationen ab, um sie an das Programm zur dynamischen Analyse 230 zu übergeben, das darüber hinaus eine Identität der Intent-Anwendung, eine Aktionsbeschreibung des Intent und eine Zielkomponente oder einen impliziten Filter des Intent ermittelt. Das Reputationsbeurteilungsprogramm 300 verwendet einen Intentproxy wie beispielsweise den Intentproxy 250, um jedem initiierten Intent zugehörige Informationen zu verfolgen und zu erhalten. Die Informationen werden von dem Programm zur dynamischen Analyse 230 verwendet, um auf Grundlage der von dem Intent-Proxy 250 bereitgestellten Intent-Informationen und der von dem Graphenerstellungsprogramm 240 erkannten möglichen Interaktionen die möglichen Anwendungs-Intent-Interaktionen zu ermitteln, die auftreten können.
  • Beispielsweise enthält das Reputationsbeurteilungsprogramm 300 ein Modul, den Intentproxy 250, der ein Initiieren von Intents von auf die mobile Einheit 110 geladenen Anwendungen überwacht. Der Intentproxy 250 fängt einen Intent von der neuen App 125 ab und ruft dem Intent zugehörige Informationen ab, darunter die die Intent-Anforderung sendende Anwendung, die Aktivitätsbeschreibung, Daten, die Zielkomponente des Intent, bei der es sich um eine Anforderung an eine andere App handeln kann. Die neue App 125 sendet einen Anforderungs-Intent an die SMS-App 130, Nachrichteninhalte abzurufen. Die SMS-App 130, die die Intent-Anforderung von der neuen App 125 empfängt, sendet als Reaktion eine Intent-Anforderung an die HTTP-App 135, Inhalte über das Internet an ein bezeichnetes Ziel zu senden. Der Intentproxy 250 sendet die abgefangenen Intent-Informationen an das Programm zur dynamischen Analyse 230. Bei einer Ausführungsform der vorliegenden Erfindung initiiert der Intentproxy 250, wenn der Intent von einer nicht in dem von dem Graphenerstellungsprogramm 240 erzeugten repräsentativen Graphen enthaltenen Anwendung gesendet wird, eine neue Anforderung an das BS 120, alle angegebenen Intents von auf die mobile Einheit geladenen Apps 110 zu senden, um den von dem Graphenerstellungsprogramm 240 erzeugten Graphen zu aktualisieren, der mögliche Interaktionen von Intents und Anwendungen darstellt. Wenn der von dem Intentproxy 250 abgefangene Intent nicht in dem aktualisierten Graphen angegebener Intents enthalten ist, hat dies eine Risikobenachrichtigung zur Folge.
  • Das Reputationsbeurteilungsprogramm 300 bewertet analysierte Intents in Bezug auf die analysierten Regeln (Schritt 335). Die von dem Programm zur dynamischen Analyse 230 analysierten Intents und die Ergebnisse aus dem Programm zur statischen Analyse 220 werden an den Risikobewerter 210 gesendet, um sie mit den analysierten Regeln zu vergleichen. Der Risikobewerter 210 vergleicht die analysierten Aktionsbeschreibungen eines Intent oder einer Kombination von Intents, was den Intents zugeordnete Schlüsselwörter und/oder -begriffe zur Folge hat, mit den analysierten Regeln, wodurch sich den Regeln zugeordnete Schlüsselwörter und/oder -begriffe ergeben. Der Risikobewerter 210 erkennt Übereinstimmungen zwischen den analysierten Intents und den analysierten Regeln, und ermittelt, wenn eine Übereinstimmung gefunden wird, das Ausmaß eines Risikos auf Grundlage der Anzahl von Intents und Anwendungen, die interagieren müssen, damit eine Aktivität die Folge ist, die gegen eine Regel verstößt, wodurch ein Risiko entsteht. Der Risikobewerter 210 erstellt einen Risikobenachrichtigungs-Indexwert.
  • Zum Beispiel beinhaltet ein Analysieren von Intents durch das Programm zur statischen Analyse 220 und das Programm zur dynamischen Analyse 230 ein Erkennen von den Aktionsbeschreibungen der Intents zugeordneten Schlüsselwörtern. Die Intents werden mit den möglichen Interaktionen aus dem Graphen des Graphenerstellungsprogramms 240 verglichen, um die in Betracht zu ziehenden möglichen Interaktionen auf Grundlage der von dem Intentproxy 250 abgefangenen und von dem Programm zur dynamischen Analyse 230 analysierten Intents zu erkennen. Die Schlüsselwörter der Intent-Aktionen werden von dem Risikobewerter 210 mit den Schlüsselwörtern der analysierten Regeln verglichen. Der Intent der neuen App 125 enthält die Schlüsselwörter „SMS; ABRUFEN; NACHRICHTEN”. Der Intent der SMS-App 130 enthält die Schlüsselwörter „SENDEN; NACHRICHTEN; HTTP; URI XXX”. Der Risikobewerter 210 vergleicht die Regel-Schlüsselwörter „SMS; SENDEN; NACHRICHTEN; HTTP; N” mit den Schlüsselwörtern der Intents und gleicht die Kombination von Intents mit der Regel ab, die die Aktivität verweigert (N = no). Wenn eine Übereinstimmung festgestellt wird, ermittelt der Risikobewerter 210 die Komplexität der Interaktionen und erstellt einen Risikobenachrichtigungs-Indexwert, der der die ursprüngliche Intent-Anforderung sendenden Anwendung zugeordnet ist und auf der Anzahl von Intents und Anwendungen beruht, die beteiligt werden, um die Aktivität auszuführen.
  • Der Risikobenachrichtigungs-Indexwert wird von dem Risikobewerter 210 auf Grundlage der Anzahl von Intents und Anwendungen erstellt, die beteiligt werden, um die initiierte Aktivität auszuführen. Wenn eine Aktivität eine Intent-Anforderung von einer Reihenfolge von vier verschiedenen Apps erfordert, ist die Komplexität der Interaktionen größer als bei einer Aktivität, die einen Intent von zwei verschiedenen Apps erfordert. Der Risikobenachrichtigungs-Indexwert steht in inverser Beziehung zu der Anzahl von Interaktionen, die zum Ausführen einer Aktivität erforderlich ist, die gegen eine Regel verstößt. Die größere Anzahl von Interaktionen, die zum Ausführen der Aktivität erforderlich sind, zeigt eine geringere Wahrscheinlichkeit des Auftretens der Aktion und daher einen niedrigeren Risikobenachrichtigungs-Indexwert an, während eine geringere Anzahl von Interaktionen, die zum Ausführen der Aktivität erforderlich sind, eine größere Wahrscheinlichkeit des Auftretens der Aktion und daher einen höheren Risikobenachrichtigungs-Indexwert anzeigt.
  • Das Reputationsbeurteilungsprogramm 300 ermittelt, ob ein potenzielles Risiko besteht. Bei einer Feststellung, dass ein potenzielles Risiko besteht (Entscheidungsschritt 340, „Ja”-Zweig), initiiert das Reputationsbeurteilungsprogramm 300 eine Benachrichtigung für die mobile Einheit 110, und dass der Benutzer benachrichtigt wird (Schritt 345). Bei der Benachrichtigung kann es sich um eine visuelle Anzeige handeln, die den Risikobenachrichtigungs-Indexwert, die Identität der an dem Risiko beteiligten Anwendungen enthält, und sie kann Optionen für den Benutzer der mobilen Einheit 110 enthalten, um das Risiko abzuschwächen. Zu der Risikobenachrichtigung können auch ein oder mehrere zählen aus: einer akustischen Benachrichtigung, einer akustischen Nachricht und einer Vibrationsbenachrichtigung.
  • Das Reputationsbeurteilungsprogramm 300 überwacht, um einen Befehl zum Beenden zu erkennen. Bei der Feststellung, dass ein Befehl gegeben wurde, das Reputationsbeurteilungsprogramm 300 zu beenden, wird das Reputationsbeurteilungsprogramm 300 beendet (Entscheidungsschritt 350, „Ja”-Zweig). Wenn das Reputationsbeurteilungsprogramm keinen Befehl zum Beenden erkennt, fährt das Reputationsbeurteilungsprogramm 300 damit fort, auf ein Initiieren von Intents hin zu überwachen und fängt jeden Intent ab und analysiert ihn (Rückkehr zu Schritt 330).
  • 4 ist gemäß einer Ausführungsform der vorliegenden Erfindung ein Blockschaltbild von Komponenten einer mobilen Einheit 400, die in der Lage ist, das Reputationsbeurteilungsprogramm 300 auszuführen. Es sollte beachtet werden, dass durch die 4 nur eine Veranschaulichung einer einzigen Realisierung bereitgestellt wird und hinsichtlich der Umgebungen, in denen andere Ausführungsformen realisiert werden können, keinerlei Beschränkungen angedeutet werden. Zahlreiche Abwandlungen der gezeigten Umgebung können vorgenommen werden.
  • Zu der mobilen Einheit 400 zählen eine Datenübertragungsstruktur (communication fabric) 402, durch die Datenübertragungen zwischen (einem) Prozessor(en) 404, einem Arbeitsspeicher 406, einem permanentem Speicher 408, einer Datenübertragungseinheit 410 und (einer) Eingabe/Ausgabe-Schnittstelle(n) (E/A-Schnittstelle(n)) 412 bereitgestellt werden. Die Datenübertragungsstruktur 402 kann mithilfe einer beliebigen Architektur realisiert werden, die dafür ausgelegt ist, Daten und/oder Steuerungsinformationen zwischen Prozessoren (wie beispielsweise Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), einem Systemspeicher, peripheren Einheiten und beliebigen anderen Hardwarekomponenten in einem System zu übergeben. Beispielsweise kann die Datenübertragungsstruktur 402 mithilfe eines oder mehrerer Busse realisiert werden.
  • Bei dem Speicher 406 und dem permanenten Speicher 408 handelt es sich um computerlesbare Speichermedien. Bei dieser Ausführungsform zählen zu dem Arbeitsspeicher 406 ein Direktzugriffsspeicher (RAM) 414 und ein Cachespeicher 416. Im Allgemeinen können zu dem Arbeitsspeicher 406 alle geeigneten flüchtigen oder nichtflüchtigen computerlesbaren Speichermedien zählen.
  • Das Reputationsbeurteilungsprogramm 300 und das BS 120 sind zum Ausführen durch einen oder mehrere der jeweiligen Computerprozessoren 404 mithilfe eines oder mehrerer Speicher des Arbeitsspeichers 406 in dem permanenten Speicher 408 gespeichert. Bei dieser Ausführungsform zählt zu dem permanenten Speicher 408 ein magnetisches Festplattenlaufwerk. Alternativ oder zusätzlich zu einem magnetischen Festplattenlaufwerk können zu dem permanenten Speicher 408 zählen: ein Festkörper-Laufwerk, eine Halbleiter-Speichereinheit, Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM), Flash-Speicher oder jedes andere computerlesbare Speichermedium, das in der Lage ist, Programmanweisungen oder digitale Informationen zu speichern.
  • Die von dem permanenten Speicher 408 verwendeten Medien können auch austauschbar sein. Zum Beispiel kann ein austauschbares Festplattenlaufwerk als permanenter Speicher 408 verwendet werden. Zu anderen Beispielen zählen optische und magnetische Platten, Thumb-Laufwerke und Smartcards, die zwecks Übertragung auf ein weiteres computerlesbares Speichermedium, das ebenfalls Teil des permanenten Speichers 408 ist, in ein Laufwerk eingesteckt werden.
  • Die Datenübertragungseinheit 410 sorgt bei diesen Beispielen für Datenübertragungen mit anderen Daten verarbeitenden Systemen oder Einheiten, darunter Ressourcen der Anwendungsbeurteilungsumgebung 100. Bei diesen Beispielen enthält die Datenübertragungseinheit 410 eine oder mehrere Netzwerkschnittstellenkarten. Die Datenübertragungseinheit 410 kann Datenübertragungen durch das Verwenden von physischen und/oder drahtlosen Datenübertragungsverbindungen bereitstellen. Das Reputationsbeurteilungsprogramm 300 und das BS 120 für mobile Einheiten können auf den permanenten Speicher 408 über die Datenübertragungseinheit 410 heruntergeladen werden.
  • Die E/A-Schnittstelle(n) 412 ermöglicht/ermöglichen eine Eingabe und Ausgabe von Daten mithilfe anderer Einheiten, die mit externen Einheiten und/oder Ressourcen der verteilten Anwendungsverarbeitungsumgebung 100 verbunden sein können. Zum Beispiel kann mithilfe der E/A-Schnittstelle 412 eine Verbindung mit externen Einheiten 418 wie beispielsweise einer Tastatur, einem Tastenfeld, einem Touchscreen und/oder irgendeiner anderen geeigneten Eingabeeinheit bereitgestellt werden. Zu den externen Einheiten 418 können auch tragbare computerlesbare Speichermedien wie beispielsweise Thumb-Laufwerke, tragbare optische oder magnetische Platten sowie Speicherkarten zählen. Software und Daten, die zur praktischen Anwendung von Ausführungsformen der vorliegenden Erfindung verwendet werden, z. B. das Reputationsbeurteilungsprogramm 300 und das BS 120 für mobile Einheiten, können auf derartigen tragbaren computerlesbaren Speichermedien gespeichert und können über die E/A-Schnittstelle(n) 412 in den permanenten Speicher 408 geladen werden. Die E/A-Schnittstelle(n) 412 sind auch mit einer Anzeige 420 verbunden.
  • Mithilfe der Anzeige 420 wird ein Mechanismus bereitgestellt, um einem Benutzer Daten anzuzeigen, und es kann sich dabei zum Beispiel um einen Computerbildschirm handeln.
  • Die hier beschriebenen Programme werden auf Grundlage der Anwendung bezeichnet, für die sie bei einer speziellen Ausführungsform der Erfindung realisiert werden. Es sollte jedoch beachtet werden, dass jede spezielle Programm-Nomenklatur hier lediglich der Einfachheit halber verwendet wird, und die Erfindung daher nicht auf eine ausschließliche Verwendung in irgendeiner speziellen Anwendung beschränkt werden sollte, die durch eine solche Nomenklatur bezeichnet und/oder angedeutet wird.
  • Die Ablaufpläne und Blockschaltbilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Beziehung kann jeder Block in den Ablaufplänen oder Blockschaltbildern ein Modul, Segment oder einen Codeabschnitt darstellen, das/der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion(en) aufweist. Es sollte auch beachtet werden, dass bei einigen alternativen Realisierungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben auftreten können. Zum Beispiel können zwei aufeinander folgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können in Abhängigkeit von der betreffenden Funktionalität manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es ist ebenfalls zu beachten, dass jeder Block der Blockschaltbilder und/oder der Ablaufpläne sowie Blockkombinationen in den Blockschaltbildern und/oder den Ablaufplänen durch Spezialsysteme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von Spezialhardware und Computeranweisungen realisiert werden können.

Claims (15)

  1. Verfahren zum Ermitteln eines Risikos einer mobilen Anwendung, wobei das Verfahren aufweist: Empfangen von Regeln, die auf einer mobilen Einheit installierten Anwendungen zugeordnet sind; Sammeln angegebener Intents der auf der mobilen Einheit installierten Anwendungen vor einem Ausführen der Anwendungen; Erstellen möglicher Kombinationen von angegebenen Intents der auf der mobilen Einheit installierten Anwendungen; Sammeln von abgefangenen Intents zugehörigen Informationen mithilfe eines Intentproxy während eines Ausführens jeder der auf der mobilen Einheit installierten Anwendungen; Vergleichen der jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln, wobei eine Übereinstimmung zwischen den Informationen eines oder einer Kombination der abgefangenen Intents und einer oder mehrerer der Regeln einen ersten Verstoß zur Folge hat; Vergleichen der abgefangenen Intents mit den möglichen Kombinationen der angegebenen Intents, wobei die abgefangenen Intents mit Ausnahme der möglichen Kombinationen der angegebenen Intents einen zweiten Verstoß zur Folge haben, und als Reaktion auf das Ergebnis, dass der erste und/oder der zweite Verstoß vorliegen, Anzeigen einer Risikobenachrichtigung für die dem ersten Verstoß und/oder dem zweiten Verstoß zugehörigen Anwendungen auf der mobilen Einheit.
  2. Verfahren nach Anspruch 1, wobei ein Vergleichen der jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln aufweist: Analysieren der Regeln mithilfe einer Textanalyse, um eine Zeichenfolgesyntax für jede der Regeln zu ermitteln, und Analysieren der den abgefangenen Intents zugehörigen Informationen mithilfe einer Textanalyse, wobei die Informationen eine Aktionsbeschreibung für jeden der abgefangenen Intents beinhalten, um eine Zeichenfolgesyntax für jede Aktionsbeschreibung zu ermitteln.
  3. Verfahren nach Anspruch 1, wobei jede der Regeln und jeder der angegebenen Intents und abgefangenen Intents eines oder eine Kombination enthält aus: Schlüsselwörtern, Schlüsselbegriffen, Akronymen, Ziffern, Symbolen und Zeichen.
  4. Verfahren nach Anspruch 1, das außerdem aufweist: Ermitteln eines Risikobenachrichtigungs-Indexwerts, wobei der Risikobenachrichtigungs-Indexwert invers auf einer Anzahl der abgefangenen Intents beruht, die als Kombination gegen eine oder mehrere der Regeln verstoßen, wobei eine höhere Anzahl der abgefangenen Intents, die als Kombination gegen eine oder mehrere der Regeln verstoßen, ein niedrigeres Risiko bei dem Risikobenachrichtigungs-Indexwert zur Folge hat.
  5. Verfahren nach Anspruch 1, wobei ein Erstellen möglicher Kombinationen ein Erstellen möglicher Kombinationen von angegebenen Intents der auf der mobilen Einheit installierten Anwendungen und von dem Intentproxy gesammelten abgefangenen Intents beinhaltet.
  6. Verfahren nach Anspruch 1, wobei ein Anzeigen der Risikobenachrichtigung für die dem ersten und/oder dem zweiten Verstoß zugehörigen Anwendungen aufweist: Anzeigen eines Risikobenachrichtigungs-Indexwerts, eine Identität der dem Risikobenachrichtigungs-Indexwert zugeordneten Anwendungen und die Informationen, die den abgefangenen Intents der dem Risikobenachrichtigungs-Indexwert zugeordneten Anwendungen auf der mobilen Einheit zugehörig sind.
  7. Verfahren nach Anspruch 1, wobei ein Anzeigen der Risikobenachrichtigung eines oder eine Kombination enthält aus: Anzeigen einer visuellen Benachrichtigung, Erzeugen einer akustischen Benachrichtigung, Erzeugen einer Vibrationsbenachrichtigung, Anzeigen einer Liste von Optionen für einen Benutzer der mobilen Einheit, um die Risikobenachrichtigung abzuschwächen.
  8. Computerprogrammprodukt zum Ermitteln eines Risikos einer mobilen Anwendung, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium mit darauf enthaltenem computerlesbaren Programmcode, wobei der computerlesbare Programmcode aufweist: computerlesbaren Programmcode zum Empfangen von Regeln, die auf einer mobilen Einheit installierten Anwendungen zugeordnet sind; computerlesbaren Programmcode zum Sammeln angegebener Intents der auf der mobilen Einheit installierten Anwendungen vor einem Ausführen der Anwendungen; computerlesbaren Programmcode zum Erstellen möglicher Kombinationen von angegebenen Intents der auf der mobilen Einheit installierten Anwendungen; computerlesbaren Programmcode zum Sammeln von abgefangenen Intents zugehörigen Informationen mithilfe eines Intentproxy während eines Ausführens von jeder der auf der mobilen Einheit installierten Anwendungen; computerlesbaren Programmcode zum Vergleichen der jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln, wobei eine Übereinstimmung zwischen den Informationen eines oder einer Kombination der abgefangenen Intents und einer oder mehreren der Regeln einen ersten Verstoß zur Folge hat; computerlesbaren Programmcode zum Vergleichen der abgefangenen Intents mit den möglichen Kombinationen der angegebenen Intents, wobei die abgefangenen Intents mit Ausnahme der möglichen Kombinationen der angegebenen Intents einen zweiten Verstoß zur Folge haben, und computerlesbaren Programmcode zum Anzeigen einer Risikobenachrichtigung auf der mobilen Einheit für die dem ersten Verstoß und/oder dem zweiten Verstoß zugehörigen Anwendungen als Reaktion auf das Ergebnis, dass der erste und/oder der zweite Verstoß vorliegen.
  9. Computerprogrammprodukt nach Anspruch 8, wobei ein Vergleichen der jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln aufweist: computerlesbaren Programmcode zum Analysieren der Regeln mithilfe einer Textanalyse, um eine Zeichenfolgesyntax für jede der Regeln zu ermitteln, und computerlesbaren Programmcode zum Analysieren der den abgefangenen Intents zugehörigen Informationen mithilfe einer Textanalyse, wobei die Informationen eine Aktionsbeschreibung für jeden der abgefangenen Intents beinhalten, um eine Zeichenfolgesyntax für jede Aktionsbeschreibung zu ermitteln.
  10. Computerprogrammprodukt nach Anspruch 8, wobei jede der Regeln und jeder der angegebenen Intents und abgefangenen Intents eines oder eine Kombination enthält aus: Schlüsselwörtern, Schlüsselbegriffen, Akronymen, Ziffern, Symbolen und Zeichen.
  11. Computerprogrammprodukt nach Anspruch 8, das außerdem aufweist: computerlesbaren Programmcode zum Ermitteln eines Risikobenachrichtigungs-Indexwerts, wobei der Risikobenachrichtigungs-Indexwert invers auf einer Anzahl der abgefangenen Intents beruht, die als Kombination gegen eine oder mehrere der Regeln verstoßen, wobei eine höhere Anzahl der abgefangenen Intents, die als Kombination gegen eine oder mehrere der Regeln verstoßen, ein niedrigeres Risiko bei dem Risikobenachrichtigungs-Indexwert zur Folge hat.
  12. Computerprogrammprodukt nach Anspruch 8, wobei ein Erstellen möglicher Kombinationen ein Erstellen möglicher Kombinationen von angegebenen Intents der auf der mobilen Einheit installierten Anwendungen und von dem Intentproxy gesammelten abgefangenen Intents beinhaltet.
  13. Computerprogrammprodukt nach Anspruch 8, wobei ein Anzeigen der Risikobenachrichtigung für die dem ersten und/oder dem zweiten Verstoß zugehörigen Anwendungen aufweist: computerlesbaren Programmcode zum Anzeigen eines Risikobenachrichtigungs-Indexwerts, eine Identität der dem Risikobenachrichtigungs-Indexwert zugeordneten Anwendungen und die Informationen, die den abgefangenen Intents der dem Risikobenachrichtigungs-Indexwert zugeordneten Anwendungen auf der mobilen Einheit zugehörig sind.
  14. Computerprogrammprodukt nach Anspruch 8, wobei ein Anzeigen der Risikobenachrichtigung eines oder eine Kombination enthält aus: Anzeigen einer visuellen Benachrichtigung, Erzeugen einer akustischen Benachrichtigung, Erzeugen einer Vibrationsbenachrichtigung, Anzeigen einer Liste von Optionen für einen Benutzer der mobilen Einheit, um die Risikobenachrichtigung abzuschwächen.
  15. Computersystem zum Ermitteln eines Risikos einer mobilen Anwendung, wobei das Computersystem aufweist: einen oder mehrere Computerprozessoren; ein oder mehrere computerlesbare Speichermedien; auf dem computerlesbaren Speichermedium/den computerlesbaren Speichermedien gespeicherten computerlesbaren Programmcode zum Ausführen durch mindestens einen aus dem einen oder mehreren Prozessoren, wobei das computerlesbare Programm aufweist: computerlesbaren Programmcode zum Empfangen von Regeln, die auf einer mobilen Einheit installierten Anwendungen zugeordnet sind; computerlesbaren Programmcode zum Sammeln angegebener Intents der auf der mobilen Einheit installierten Anwendungen vor einem Ausführen der Anwendungen; computerlesbaren Programmcode zum Erstellen möglicher Kombinationen angegebener Intents der auf der mobilen Einheit installierten Anwendungen; computerlesbaren Programmcode zum Sammeln von abgefangenen Intents zugehörigen Informationen mithilfe eines Intentproxy während eines Ausführens von jeder der auf der mobilen Einheit installierten Anwendungen; computerlesbaren Programmcode zum Vergleichen der jedem der abgefangenen Intents zugehörigen Informationen mit den Regeln, wobei eine Übereinstimmung zwischen den Informationen eines oder einer Kombination der abgefangenen Intents und einer oder mehrerer der Regeln einen ersten Verstoß zur Folge hat; computerlesbaren Programmcode zum Vergleichen der abgefangenen Intents mit den möglichen Kombinationen der angegebenen Intents, wobei die abgefangenen Intents mit Ausnahme der möglichen Kombinationen der angegebenen Intents einen zweiten Verstoß zur Folge haben, und computerlesbaren Programmcode zum Anzeigen einer Risikobenachrichtigung auf der mobilen Einheit für die dem ersten Verstoß und/oder dem zweiten Verstoß zugehörigen Anwendungen als Reaktion auf das Ergebnis, dass der erste und/oder der zweite Verstoß vorliegen.
DE201410114005 2013-10-14 2014-09-26 Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation Withdrawn DE102014114005A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/053,005 US9098707B2 (en) 2013-10-14 2013-10-14 Mobile device application interaction reputation risk assessment
US14/053,005 2013-10-14

Publications (1)

Publication Number Publication Date
DE102014114005A1 true DE102014114005A1 (de) 2015-04-16

Family

ID=52738150

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410114005 Withdrawn DE102014114005A1 (de) 2013-10-14 2014-09-26 Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation

Country Status (2)

Country Link
US (2) US9098707B2 (de)
DE (1) DE102014114005A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582780B1 (en) 2013-01-30 2017-02-28 Skyhigh Networks, Inc. Cloud service usage risk assessment
EP3058500A4 (de) * 2013-10-18 2018-01-17 Nokia Technologies Oy Verfahren und system zum bedienen und überwachen von zulassungen für anwendungen bei einer elektronischen vorrichtung
US10498746B2 (en) * 2014-10-02 2019-12-03 AVAST Software s.r.o. Cloud based reputation system for browser extensions and toolbars
US10083295B2 (en) * 2014-12-23 2018-09-25 Mcafee, Llc System and method to combine multiple reputations
US10382476B1 (en) * 2015-03-27 2019-08-13 EMC IP Holding Company LLC Network security system incorporating assessment of alternative mobile application market sites
US9954873B2 (en) 2015-09-30 2018-04-24 The Mitre Corporation Mobile device-based intrusion prevention system
US9888022B2 (en) 2015-12-01 2018-02-06 International Business Machines Corporation Providing application-specific threat metrics
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10558814B2 (en) 2016-07-29 2020-02-11 Google Llc Privacy aware intent resolution with external sources
US10915626B2 (en) * 2017-10-24 2021-02-09 Nec Corporation Graph model for alert interpretation in enterprise security system
US10756983B2 (en) 2017-12-08 2020-08-25 Apstra, Inc. Intent-based analytics
US11276064B2 (en) * 2018-11-26 2022-03-15 Bank Of America Corporation Active malfeasance examination and detection based on dynamic graph network flow analysis
US11102092B2 (en) 2018-11-26 2021-08-24 Bank Of America Corporation Pattern-based examination and detection of malfeasance through dynamic graph network flow analysis
US11416229B2 (en) 2019-03-13 2022-08-16 Google Llc Debugging applications for delivery via an application delivery server
CN112912840A (zh) * 2019-03-13 2021-06-04 谷歌有限责任公司 调试应用以供由应用交付服务器交付
US11283691B1 (en) 2020-10-21 2022-03-22 Juniper Networks, Inc. Model driven intent policy conflict detection and resolution through graph analysis
US12034755B2 (en) * 2021-03-18 2024-07-09 International Business Machines Corporation Computationally assessing and remediating security threats

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104871B2 (en) * 2006-04-06 2015-08-11 Juniper Networks, Inc. Malware detection system and method for mobile platforms
US8789136B2 (en) 2008-09-02 2014-07-22 Avaya Inc. Securing a device based on atypical user behavior
US9215548B2 (en) 2010-09-22 2015-12-15 Ncc Group Security Services, Inc. Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms
US20120324568A1 (en) 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection
US8850588B2 (en) * 2012-05-01 2014-09-30 Taasera, Inc. Systems and methods for providing mobile security based on dynamic attestation

Also Published As

Publication number Publication date
US9098707B2 (en) 2015-08-04
US20150106942A1 (en) 2015-04-16
US9298928B2 (en) 2016-03-29
US20150106940A1 (en) 2015-04-16

Similar Documents

Publication Publication Date Title
DE102014114005A1 (de) Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation
US8301653B2 (en) System and method for capturing and reporting online sessions
CN107111702B (zh) 协同环境中针对数据丢失防护的访问阻止
DE202017105691U1 (de) Intelligente Assistenz für wiederholte Aktionen
CA2825764C (en) Systems, methods, apparatuses, and computer program products for forensic monitoring
US9223961B1 (en) Systems and methods for performing security analyses of applications configured for cloud-based platforms
DE112012005032B4 (de) Entfernen der Datenremanenz in deduplizierten Speicher-Clouds
DE202017105834U1 (de) Verwaltung von Anwendungsaktualisierungen
DE112012005074T5 (de) Vorrichtung, Verfahren und Programm zum Management privater Informationen
US9477574B2 (en) Collection of intranet activity data
DE202014010889U1 (de) Vorrangige statische gehostete Webanwendungen
DE112013002542T5 (de) Cloud-basierte Anwendungsressourcendateien
DE102017121911A1 (de) Detektieren belangloser Social Media-Nachrichten
DE112012004114T5 (de) Bewerten des sozialen Risikos aufgrund des von verbundenen Kontakten ausgehenden Gefahrenpotenzials
DE202012013609U1 (de) System zur Verteilung der Verarbeitung von Computer-Sicherheitsaufgaben
DE112020003944T5 (de) Verfahren, System und Speichermedium für die Sicherheit von Softwarekomponenten
DE112012000744T5 (de) Erkennung eines trojanischen Pferdes
DE102010023691A1 (de) Gemeinsame Nutzung von dynamischen Inhaltsvoreinstellungen und Verhalten von EDV-Geräten
DE102016100895A1 (de) Peer-to-Peer-Speicher in Unternehmen und Verfahren zum Verwalten eines Peer-Netzwerkspeichers
DE112020000927T5 (de) Verwalten sensibler daten
DE202013012500U1 (de) Systemübergreifende Installation von Online-Applikationen
DE102021109767A1 (de) Systeme und methoden zur vorausschauenden sicherheit
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE202014010885U1 (de) Beschleunigung basierend auf zwischengespeicherte Flüsse
DE112016002207T5 (de) Erstellung und verwaltung von ladenbesuchsdaten

Legal Events

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

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES DELAWARE), HOPEWELL JUNCTION, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee