Wirelessly updating field programmable gate arrays upon detection of hardware vulnerability
Abstract
A mechanism for wirelessly updating an FPGA that is built into a wireless mobile or another wireless electronic device is described herein. The wireless update may be performed responsive to detecting a hardware vulnerability or another hardware issue in the mobile device. When the hardware vulnerability or another hardware issue is detected, the mechanism may identify a fix for the hardware vulnerability. A fix may be a particular FPGA configuration update known to fix the issue. The configuration update to the FPGA is received and the current FPGA configuration is overwritten with data from the configuration update. A determination is made that the hardware vulnerability no longer exists.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for wirelessly updating field-programmable gate arrays, the method comprising:
detecting a hardware vulnerability in a mobile device, wherein the mobile device comprises a field-programmable gate array (“FPGA”); in response to detecting the hardware vulnerability in the mobile device, identifying a fix for the hardware vulnerability, wherein the fix comprises a configuration update to the FPGA; transmitting, to a server, a request for the fix to the hardware vulnerability, wherein the request comprises an identifier of the configuration update to the FPGA; receiving, from the server, the configuration update to the FPGA; overwriting a current FPGA configuration with data from the configuration update; and determining that the hardware vulnerability no longer exists.
2 . The method of claim 1 , wherein detecting the hardware vulnerability in the mobile device comprises:
retrieving a plurality of state codes for a plurality of hardware devices comprising the mobile device; comparing each state code of the plurality of state codes to state codes in a list of state codes, wherein one or more state code in the list of state codes have a corresponding hardware vulnerability; in response to determining, based on comparing each state code of the plurality of state codes, that a state code of the plurality of state codes matches a state code in the list of state codes, detecting the hardware vulnerability associated with the matching state code.
3 . The method of claim 2 , wherein identifying the fix for the hardware vulnerability comprises:
retrieving a hardware vulnerability identifier associated with the matching state code; comparing the hardware vulnerability identifier with each hardware vulnerability identifier in a list of hardware vulnerability identifiers, wherein one or more hardware vulnerability identifiers in the list of hardware vulnerability identifiers has a corresponding configuration update to the FPGA; in response to determining, based on comparing the hardware vulnerability identifier with each hardware vulnerability identifier in a list of hardware vulnerability identifiers, that the hardware vulnerability identifier matches a hardware vulnerability identifier in the list, storing the matching hardware vulnerability identifier.
4 . The method of claim 3 , wherein transmitting, to the server, the request for the fix to the hardware vulnerability comprises transmitting to the server the matching hardware vulnerability identifier.
5 . The method of claim 1 , wherein detecting the hardware vulnerability in the mobile device comprises:
receiving, from the server, executable code configured to detect the hardware vulnerability; executing the executable code, wherein one or more hardware devices of the plurality of hardware devices generate the plurality of state codes in response to execution of the executable code.
6 . The method of claim 5 , wherein determining that the hardware vulnerability no longer exists comprises:
re-executing the executable code; retrieving one or more new state codes generated in response to re-execution of the executable code; and determining, based on the one or more new state codes, whether the vulnerability no longer exists.
7 . The method of claim 6 , wherein re-executing the executable code comprises re-executing the executable code using the FPGA with the configuration update.
8 . A non-transitory computer-readable medium comprising memory with instructions encoded thereon for wirelessly updating field-programmable gate arrays, causing one or more processors to perform operations when executed, the instructions comprising instructions to:
detect a hardware vulnerability in a mobile device, wherein the mobile device comprises a field-programmable gate array (“FPGA”); in response to detecting the hardware vulnerability in the mobile device, identifying a fix for the hardware vulnerability, wherein the fix comprises a configuration update to the FPGA; transmit, to a server, a request for the fix to the hardware vulnerability, wherein the request comprises an identifier of the configuration update to the FPGA; receive, from the server, the configuration update to the FPGA; overwrite a current FPGA configuration with data from the configuration update; and determine that the hardware vulnerability no longer exists.
9 . The non-transitory computer-readable medium of claim 8 , wherein the instructions to detect the hardware vulnerability in the mobile device further comprise instructions to:
retrieve a plurality of state codes for a plurality of hardware devices comprising the mobile device; compare each state code of the plurality of state codes to state codes in a list of state codes, wherein one or more state code in the list of state codes have a corresponding hardware vulnerability; in response to determining, based on comparing each state code of the plurality of state codes, that a state code of the plurality of state codes matches a state code in the list of state codes, detect the hardware vulnerability associated with the matching state code.
10 . The non-transitory computer-readable medium of claim 9 , wherein the instructions to identify the fix for the hardware vulnerability comprise instructions to:
retrieve a hardware vulnerability identifier associated with the matching state code; compare the hardware vulnerability identifier with each hardware vulnerability identifier in a list of hardware vulnerability identifiers, wherein one or more hardware vulnerability identifiers in the list of hardware vulnerability identifiers has a corresponding configuration update to the FPGA; in response to determining, based on comparing the hardware vulnerability identifier with each hardware vulnerability identifier in a list of hardware vulnerability identifiers, that the hardware vulnerability identifier matches a hardware vulnerability identifier in the list, store the matching hardware vulnerability identifier.
11 . The non-transitory computer-readable medium of claim 10 , wherein the instructions to transmit, to the server, the request for the fix to the hardware vulnerability comprise instructions to transmit to the server the matching hardware vulnerability identifier.
12 . The non-transitory computer-readable medium of claim 8 , wherein the instructions to detect the hardware vulnerability in the mobile device comprise instructions to:
receive, from the server, executable code configured to detect the hardware vulnerability; execute the executable code, wherein one or more hardware devices of the plurality of hardware devices generate the plurality of state codes in response to execution of the executable code.
13 . The non-transitory computer-readable medium of claim 12 , wherein the instructions to determine that the hardware vulnerability no longer exists comprise instructions to:
re-execute the executable code; retrieve one or more new state codes generated in response to re-execution of the executable code; and determine, based on the one or more new state codes, whether the vulnerability no longer exists.
14 . The non-transitory computer-readable medium of claim 13 , wherein the instructions to re-execute the executable code comprise instructions to re-execute the executable code using the FPGA with the configuration update.
15 . A system for wirelessly updating field-programmable gate arrays, the system comprising:
memory with instructions encoded thereon; and one or more processors that, when executing the instructions, are caused to perform operations comprising: detecting a hardware vulnerability in a mobile device, wherein the mobile device comprises a field-programmable gate array (“FPGA”); in response to detecting the hardware vulnerability in the mobile device, identifying a fix for the hardware vulnerability, wherein the fix comprises a configuration update to the FPGA; transmitting, to a server, a request for the fix to the hardware vulnerability, wherein the request comprises an identifier of the configuration update to the FPGA; receiving, from the server, the configuration update to the FPGA; overwriting a current FPGA configuration with data from the configuration update; and determining that the hardware vulnerability no longer exists.
16 . The system of claim 15 , wherein the operations for detecting the hardware vulnerability in the mobile device further comprise operations for:
retrieving a plurality of state codes for a plurality of hardware devices comprising the mobile device; comparing each state code of the plurality of state codes to state codes in a list of state codes, wherein one or more state code in the list of state codes have a corresponding hardware vulnerability; in response to determining, based on comparing each state code of the plurality of state codes, that a state code of the plurality of state codes matches a state code in the list of state codes, detecting the hardware vulnerability associated with the matching state code.
17 . The system of claim 16 , wherein the operations for identifying the fix for the hardware vulnerability comprise operations for:
retrieving a hardware vulnerability identifier associated with the matching state code; comparing the hardware vulnerability identifier with each hardware vulnerability identifier in a list of hardware vulnerability identifiers, wherein one or more hardware vulnerability identifiers in the list of hardware vulnerability identifiers has a corresponding configuration update to the FPGA; in response to determining, based on comparing the hardware vulnerability identifier with each hardware vulnerability identifier in a list of hardware vulnerability identifiers, that the hardware vulnerability identifier matches a hardware vulnerability identifier in the list, storing the matching hardware vulnerability identifier.
18 . The system of claim 17 , wherein the operations for transmitting, to the server, the request for the fix to the hardware vulnerability comprise operations for transmitting to the server the matching hardware vulnerability identifier.
19 . The system of claim 15 , wherein the operations for detecting the hardware vulnerability in the mobile device comprise operations for:
receiving, from the server, executable code configured to detect the hardware vulnerability; executing the executable code, wherein one or more hardware devices of the plurality of hardware devices generate the plurality of state codes in response to execution of the executable code.
20 . The system of claim 15 , wherein the operations for determining that the hardware vulnerability no longer exists comprise operations for:
re-executing the executable code; retrieving one or more new state codes generated in response to re-execution of the executable code; and determining, based on the one or more new state codes, whether the vulnerability no longer exists.Join the waitlist — get patent alerts
Track US2022405089A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.