IP Library Granted Patent US 10,387,889
Granted Patent B1
US 10,387,889 · App. 14/055,096 · Granted Aug 20, 2019

Brand recognition and protection in mobile applications

Inventors: Steve Hanna (Oakland, CA); Anthony John Bettini (San Francisco, CA); Kevin Watkins (San Francisco, CA); Michael Price (San Ramon, CA); Domingo J. Guerra (San Francisco, CA)
Assignee: Symantec Corporation
G06Q30/018G06Q50/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,387,889
App. No.
14/055,096
Granted
Aug 20, 2019
Kind
B1
Abstract

Techniques for brand recognition and protection in applications (“apps”) for mobile devices are disclosed. In some embodiments, brand recognition and protection in apps for mobile devices includes extracting a plurality of features of an app; comparing the plurality of features with a target set of features associated with an entity; and determining whether the app violates a policy for brand recognition and protection for the entity based on the comparing the plurality of features with the target set of features associated with the entity.

Claims (103)

1. A system for brand recognition and protection in applications (“apps”) for mobile devices, comprising:

a processor configured to:

extract a plurality of features of an app;

compare the plurality of features with a target set of features associated with an entity, wherein the comparing of the plurality of features with the target set of features associated with the entity comprises to:

perform a dynamic analysis on the app, wherein the dynamic analysis simulates a plurality of behaviors of the app, and wherein the performing of the dynamic analysis comprises to:

perform one or more of the following:

a) determine an authentication server that the app attempts to authenticate with during execution to obtain an authentication server uniform resource locator (URL); and

 determine whether the authentication server URL is associated with the entity to determine whether a policy for brand recognition and protection for the entity is violated;

b) extract a feature associated with a software development kit (SDK); and

 determine whether the feature associated with the SDK is associated with the entity to determine whether the policy for brand recognition and protection for the entity is violated;

c) extract a trade name from the app, the trade name including a logo, a brand, a slogan, or any combination thereof; and

 determine whether the trade name associated with the app is associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

d) extract a screenshot, a graphical user interface (GUI) element, or both from the app during execution or emulated execution on a virtual device; and

 determine whether the screenshot, the graphical user interface (GUI) element, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity; or

e) extract an ad network related information, an ad network identifier (ID), or both from the app; and

 determine whether the ad network related information, the ad network ID, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

determine whether the app violates the policy for brand recognition and protection for the entity based on the comparing the plurality of features with the target set of features of the entity;

calculate a score based on determined app violations of the policy for brand recognition and protection for the entity, the score including a weighted sum of components upon which the app depends, the components being selected from a group consisting of: type of violating features; number of violating features; reputation of a source of infringing features; and user specified weights of entity resources; and

in response to a determination that the app violates the policy for brand recognition and protection for the entity, generate a report using the score, the report indicating that the app violates the policy for brand recognition and protection for the entity; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system recited in claim 1 , wherein the app is determined to be in violation of the policy for brand recognition and protection for the entity if one or more of the extracted features are associated with one or more resources identified as associated with the entity, and the app is not authorized to be associated with the one or more resources identified as associated with the entity.

3. The system recited in claim 1 , wherein the processor is further configured to:

receive the app for inspection.

4. The system recited in claim 1 , wherein the processor is further configured to:

receive the app for inspection, wherein the app is available from a public app store.

5. The system recited in claim 1 , wherein the processor is further configured to:

perform a static analysis on the app during the comparing the plurality of features with the target set of features associated with the entity.

6. The system recited in claim 1 , wherein performing the dynamic analysis includes simulating a plurality of behaviors of the app during execution on a mobile device platform.

7. The system recited in claim 1 , wherein the processor is further configured to:

generate a report based on the comparing the plurality of features with the target set of features of the entity.

8. The system recited in claim 1 , wherein the processor is further configured to:

generate a score based on the comparing the plurality of features with the target set of features of the entity.

9. The system recited in claim 1 , wherein the processor is further configured to:

generate a score based on the comparing the plurality of features with the target set of features of the entity; and

output the score.

10. The system recited in claim 1 , wherein the performing of the dynamic analysis comprises to:

perform three or more of the following:

a) determine an authentication server that the app attempts to authenticate with during execution to obtain an authentication server uniform resource locator (URL); and

determine whether the authentication server URL is associated with the entity to determine whether a policy for brand recognition and protection for the entity is violated;

b) extract a feature associated with a software development kit (SDK); and

determine whether the feature associated with the SDK is associated with the entity to determine whether the policy for brand recognition and protection for the entity is violated;

c) extract a trade name from the app, the trade name including a logo, a brand, a slogan, or any combination thereof; and

determine whether the trade name associated with the app is associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

d) extract a screenshot, a graphical user interface (GUI) element, or both from the app during execution or emulated execution on a virtual device; and

determine whether the screenshot, the graphical user interface (GUI) element, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity; or

e) extract an ad network related information, an ad network identifier (ID), or both from the app; and

determine whether the ad network related information, the ad network ID, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity.

11. The system recited in claim 1 , wherein the performing of the dynamic analysis comprises to:

perform the following:

a) determine an authentication server that the app attempts to authenticate with during execution to obtain an authentication server uniform resource locator (URL); and

determine whether the authentication server URL is associated with the entity to determine whether a policy for brand recognition and protection for the entity is violated;

b) extract a feature associated with a software development kit (SDK); and

determine whether the feature associated with the SDK is associated with the entity to determine whether the policy for brand recognition and protection for the entity is violated;

c) extract a trade name from the app, the trade name including a logo, a brand, a slogan, or any combination thereof; and

determine whether the trade name associated with the app is associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

d) extract a screenshot, a graphical user interface (GUI) element, or both from the app during execution or emulated execution on a virtual device; and

determine whether the screenshot, the graphical user interface (GUI) element, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity; or

e) extract an ad network related information, an ad network identifier (ID), or both from the app; and

determine whether the ad network related information, the ad network ID, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity.

12. A method of brand recognition and protection in applications (“apps”) for mobile devices, comprising:

extracting, using a processor, a plurality of features of an app;

comparing, using the processor, the plurality of features with a target set of features associated with an entity, wherein the comparing of the plurality of features with the target set of features associated with the entity comprises:

performing a dynamic analysis on the app, wherein the dynamic analysis simulates a plurality of behaviors of the app, and wherein the performing of the dynamic analysis includes:

performing one or more of the following:

a) determining an authentication server that the app attempts to authenticate with during execution to obtain an authentication server uniform resource locator (URL); and

determining whether the authentication server URL is associated with the entity to determine whether a policy for brand recognition and protection for the entity is violated;

b) extracting a feature associated with a software development kit (SDK); and

determining whether the feature associated with the SDK is associated with the entity to determine whether the policy for brand recognition and protection for the entity is violated;

c) extracting a trade name from the app, the trade name including a logo, a brand, a slogan, or any combination thereof; and

determining whether the trade name associated with the app is associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

d) extracting a screenshot, a graphical user interface (GUI) element, or both from the app during execution or emulated execution on a virtual device; and

determining whether the screenshot, the graphical user interface (GUI) element, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity; or

e) extracting an ad network related information, an ad network identifier (ID), or both from the app; and

determining whether the ad network related information, the ad network ID, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

determining, using the processor, whether the app violates the policy for brand recognition and protection for the entity based on the comparing the plurality of features with the target set of features associated with the entity;

calculating a score based on determined app violations of the policy for brand recognition and protection for the entity, the score including a weighted sum of components upon which the app depends, the components being selected from a group consisting of: type of violating features; number of violating features; reputation of a source of infringing features; and user specified weights of entity resources; and

in response to a determination that the app violates the policy for brand recognition and protection for the entity, generating a report using the score, the report indicating that the app violates the policy for brand recognition and protection for the entity.

13. The method of claim 12 , wherein the app is determined to be in violation of the policy for brand recognition and protection for the entity if one or more of the extracted features are associated with one or more resources identified as associated with the entity, and the app is not authorized to be associated with the one or more resources identified as associated with the entity.

14. The method of claim 12 , further comprising:

performing a static analysis on the app during the comparing the plurality of features with the target set of features associated with the entity.

15. The method of claim 12 , wherein performing the dynamic analysis includes simulating a plurality of behaviors of the app during execution on a mobile device platform.

16. A computer program product for brand recognition and protection in applications (“apps”) for mobile devices, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

extracting a plurality of features of an app;

comparing the plurality of features with a target set of features associated with an entity, wherein the comparing of the plurality of features with the target set of features associated with the entity comprises:

performing a dynamic analysis on the app, wherein the dynamic analysis simulates a plurality of behaviors of the app, and wherein the performing of the dynamic analysis includes:

performing one or more of the following:

a) determining an authentication server that the app attempts to authenticate with during execution to obtain an authentication server uniform resource locator (URL); and

determining whether the authentication server URL is associated with the entity to determine whether a policy for brand recognition and protection for the entity is violated;

b) extracting a feature associated with a software development kit (SDK); and

determining whether the feature associated with the SDK is associated with the entity to determine whether the policy for brand recognition and protection for the entity is violated;

c) extracting a trade name from the app, the trade name including a logo, a brand, a slogan, or any combination thereof; and

determining whether the trade name associated with the app is associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

d) extracting a screenshot, a graphical user interface (GUI) element, or both from the app during execution or emulated execution on a virtual device; and

determining whether the screenshot, the graphical user interface (GUI) element, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity; or

e) extracting an ad network related information, an ad network identifier (ID), or both from the app; and

determining whether the ad network related information, the ad network ID, or both are associated with the entity to determine whether the app violates the policy for brand recognition and protection for the entity;

determining whether the app violates the policy for brand recognition and protection for the entity based on the comparing the plurality of features with the target set of features associated with the entity;

calculating a score based on determined app violations of the policy for brand recognition and protection for the entity, the score including a weighted sum of components upon which the app depends, the components being selected from a group consisting of: type of violating features; number of violating features; reputation of a source of infringing features; and user specified weights of entity resources; and

in response to a determination that the app violates the policy for brand recognition and protection for the entity, generating a report using the score, the report indicating reporting that the app violates the policy for brand recognition and protection for the entity.

17. The computer program product recited in claim 16 , wherein the app is determined to be in violation of the policy for brand recognition and protection for the entity if one or more of the extracted features are associated with one or more resources identified as associated with the entity, and the app is not authorized to be associated with the one or more resources identified as associated with the entity.

18. The computer program product recited in claim 16 , further comprising computer instructions for:

performing a static analysis on the app during the comparing the plurality of features with the target set of features associated with the entity.

19. The computer program product recited in claim 16 , wherein performing the dynamic analysis includes simulating a plurality of behaviors of the app during execution on a mobile device platform.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2019
From: APPTHORITY LLC
To: SYMANTEC CORPORATION
Reel/Frame 049524/0538 →
ENTITY CONVERSION Recorded May 30, 2019
From: APPTHORITY, INC.
To: APPTHORITY LLC
Reel/Frame 049506/0163 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2018
From: GUERRA, DOMINGO J.
To: APPTHORITY, INC.
Reel/Frame 046744/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2013
From: HANNA, STEVE; BETTINI, ANTHONY JOHN; WATKINS, KEVIN; PRICE, MICHAEL
To: APPTHORITY, INC.
Reel/Frame 031415/0593 →
Continuity (1)
Provisional Application 61715196 · Oct 17, 2012
Cited By (4)
US 12,314,137 US 12,348,810 US 12,388,866 US 12,481,731