IP Library Granted Patent US 12,407,724
Granted Patent B2
US 12,407,724 · App. 18/164,056 · Granted Sep 2, 2025

Analyzing messages for malicious content using a cloud computing system

Inventors: Charlene Moss Gorter (Concord, NC); Kyle Andrew Mayers (Charlotte, NC); Sanjay Arjun Lohar (Charlotte, NC); James Siekman (Charlotte, NC); Connor Thomas McCormick (Westminster, CO)
Assignee: Bank of America Corporation
H04L63/1483H04L63/1425
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 12,407,724
App. No.
18/164,056
Granted
Sep 2, 2025
Kind
B2
Abstract

A method for analyzing messages for malicious content is provided. The method includes intercepting a message comprising a quick response (QR) code or a uniform resource locator (URL). The QR code corresponds to the URL. A status of the message is determined by determining a source of the message. The source of the message is compared to known malicious sources. In response to the source of the message not matching any of the known malicious sources, the source of the message is compared to known safe sources. In response to the source of the message not matching any of the known safe sources, the URL is compared to known malicious URLs. In response to the URL matching a respective one of the known malicious URLs, the status of the message is determined as malicious. The message is released to be displayed along with the status.

Claims (96)

1. A system comprising:

a user device comprising:

a first memory configured to store a client application; and

a first processor communicatively coupled to the first memory, wherein the first processor, when executing the client application, is configured to:

intercept a message comprising a quick response (QR) code or a uniform resource locator (URL), wherein the QR code corresponds to the URL;

send the message to a cloud computing system;

receive a status of the message from the cloud computing system; and

release the message to be displayed along with the status; and

the cloud computing system communicatively coupled to the user device, wherein the cloud computing system comprises:

a second memory configured to store:

known safe URLs;

known malicious URLs;

known safe sources;

known malicious sources;

known malicious codes; and

hashes of known malicious files; and

a second processor communicatively coupled to the second memory, the second processor configured to:

receive the message from the user device;

determine the status of the message, wherein determining the status of the message comprises:

determining a source of the message;

comparing the source of the message to the known malicious sources;

in response to the source of the message not matching any of the known malicious sources, comparing the source of the message to the known safe sources;

in response to the source of the message not matching any of the known safe sources, comparing the URL to the known malicious URLs; and

in response to the URL matching a respective one of the known malicious URLs, determining the status of the message as malicious;

in response to the URL not matching any of the known malicious URLs, compare the URL to the known safe URLs;

in response to the URL matching a respective one of the known safe URLs, determine the status of the message as safe;

in response to the URL not matching any of the known safe URLs, analyze the URL for spelling errors;

in response to identifying at least one spelling error in the URL, determine the status of the message as suspicious;

in response to identifying no spelling errors in the URL, determine a destination identified by the URL;

in response to determining that the destination identified by the URL is a file, determine a hash of the file;

compare the hash of the file to the hashes of known malicious files; and

in response to the hash of the file matching a hash of one of the known malicious files, determine the status of the message as malicious; and

send the status of the message to the user device.

2. The system of claim 1 , wherein determining the status of the message further comprises:

in response to the hash of the file not matching any of the hashes of known malicious files, analyzing contents of the file for spelling errors;

in response to identifying at least one spelling error in the file, determining the status of the message as suspicious; and

in response to identifying no spelling errors in the file, determining the status of the message as safe.

3. The system of claim 2 , wherein determining the status of the message further comprises:

in response to determining that the destination identified by the URL is a webpage, analyzing a source code of the webpage for malicious codes; and

in response to identifying at least one malicious code, determining the status of the message as malicious.

4. The system of claim 3 , wherein determining the status of the message further comprises:

in response to identifying no malicious code, analyzing contents of the webpage for spelling errors;

in response to identifying at least one spelling error in the webpage, determining the status of the message as suspicious; and

in response to identifying no spelling errors in the webpage, determine the status of the message as safe.

5. A method comprising:

intercepting a message comprising a quick response (QR) code or a uniform resource locator (URL), wherein the QR code corresponds to the URL;

determining a status of the message, wherein determining the status of the message comprises:

determining a source of the message;

comparing the source of the message to known malicious sources;

in response to the source of the message not matching any of the known malicious sources, comparing the source of the message to known safe sources;

in response to the source of the message not matching any of the known safe sources, comparing the URL to known malicious URLs; and

in response to the URL matching a respective one of the known malicious URLs, determining the status of the message as malicious;

in response to the URL not matching any of the known malicious URLs, comparing the URL to known safe URLs;

in response to the URL matching a respective one of the known safe URLs, determining the status of the message as safe;

in response to the URL not matching any of the known safe URLs, analyzing the URL for spelling errors;

in response to identifying at least one spelling error in the URL, determining the status of the message as suspicious;

in response to identifying no spelling errors in the URL, determining a destination identified by the URL;

in response to determining that the destination identified by the URL is a file, determining a hash of the file;

comparing the hash of the file to hashes of known malicious files; and

in response to the hash of the file matching a hash of one of the known malicious files, determining the status of the message as malicious; and

releasing the message to be displayed along with the status.

6. The method of claim 5 , further comprising:

in response to the hash of the file not matching any of the hashes of known malicious files, analyzing contents of the file for spelling errors;

in response to identifying at least one spelling error in the file, determining the status of the message as suspicious; and

in response to identifying no spelling errors in the file, determining the status of the message as safe.

7. The method of claim 6 , further comprising:

in response to determining that the destination identified by the URL is a webpage, analyzing a source code of the webpage for malicious codes; and

in response to identifying at least one malicious code, determining the status of the message as malicious.

8. The method of claim 7 , further comprising:

in response to identifying no malicious code, analyzing contents of the webpage for spelling errors;

in response to identifying at least one spelling error in the webpage, determining the status of the message as suspicious; and

in response to identifying no spelling errors in the webpage, determine the status of the message as safe.

9. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

intercept a message comprising a quick response (QR) code or a uniform resource locator (URL), wherein the QR code corresponds to the URL;

determine a status of the message, wherein determining the status of the message comprises:

determining a source of the message;

comparing the source of the message to known malicious sources;

in response to the source of the message not matching any of the known malicious sources, comparing the source of the message to known safe sources;

in response to the source of the message not matching any of the known safe sources, comparing the URL to known malicious URLs; and

in response to the URL matching a respective one of the known malicious URLs, determining the status of the message as malicious;

in response to the URL not matching any of the known malicious URLs, compare the URL to known safe URLs;

in response to the URL matching a respective one of the known safe URLs, determine the status of the message as safe;

in response to the URL not matching any of the known safe URLs, analyze the URL for spelling errors; and

in response to identifying at least one spelling error in the URL, determine the status of the message as suspicious;

in response to identifying no spelling errors in the URL, determine a destination identified by the URL;

in response to determining that the destination identified by the URL is a file, determine a hash of the file;

compare the hash of the file to hashes of known malicious files; and

in response to the hash of the file matching a hash of one of the known malicious files, determine the status of the message as malicious; and

release the message to be displayed along with the status.

10. The non-transitory computer-readable medium of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

in response to the hash of the file not matching any of the hashes of known malicious files, analyze contents of the file for spelling errors;

in response to identifying at least one spelling error in the file, determine the status of the message as suspicious; and

in response to identifying no spelling errors in the file, determine the status of the message as safe.

11. The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

in response to determining that the destination identified by the URL is a webpage, analyze a source code of the webpage for malicious codes; and

in response to identifying at least one malicious code, determine the status of the message as malicious.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2023
From: GORTER, CHARLENE MOSS; MAYERS, KYLE ANDREW; LOHAR, SANJAY ARJUN; SIEKMAN, JAMES; MCCORMICK, CONNOR THOMAS
To: BANK OF AMERICA CORPORATION
Reel/Frame 062598/0078 →
Continuity (1)
Related Publication 20240267410A1 · Aug 8, 2024
References Cited (23)
US 8255572B1 · Coomer · 2012 [cited by applicant]
US 8510829B2 · Mohandas et al. · 2013 [cited by applicant]
US 8549642B2 · Lee · 2013 [cited by applicant]
US 8805996B1 · Gauvin · 2014 [cited by applicant]
US 9104867B1 · Thioux et al. · 2015 [cited by applicant]
US 9223980B1 · Bao · 2015 [cited by applicant]
US 9241009B1 · Starink et al. · 2016 [cited by applicant]
US 9356948B2 · Higbee et al. · 2016 [cited by applicant]
US 9565202B1 · Kindlund et al. · 2017 [cited by applicant]
US 9876753B1 · Hawthorn · 2018 [cited by applicant]
US 9888016B1 · Amin et al. · 2018 [cited by applicant]
US 10025927B1 · Khalid et al. · 2018 [cited by applicant]
US 10027690B2 · Aziz · 2018 [cited by examiner]
US 10192052B1 · Singh et al. · 2019 [cited by applicant]
US 10505956B1 · Pidathala et al. · 2019 [cited by applicant]
US 10523609B1 · Subramanian · 2019 [cited by applicant]
US 10616272B2 · Chambers et al. · 2020 [cited by applicant]
US 11483343B2 · Kohavi · 2022 [cited by applicant]
US 12143418B2 · Gopathy · 2024 [cited by examiner]
US 20160366100A1 · Liu et al. · 2016 [cited by applicant]
US 20210097168A1 · Patel · 2021 [cited by examiner]
US 20220070216A1 · Kohavi · 2022 [cited by applicant]
US 20240338447A1 · Burns · 2024 [cited by examiner]