US20210037041A1 - Method to rate the security of a device through fingerprint analysis - Google Patents
Method to rate the security of a device through fingerprint analysis Download PDFInfo
- Publication number
- US20210037041A1 US20210037041A1 US16/945,180 US202016945180A US2021037041A1 US 20210037041 A1 US20210037041 A1 US 20210037041A1 US 202016945180 A US202016945180 A US 202016945180A US 2021037041 A1 US2021037041 A1 US 2021037041A1
- Authority
- US
- United States
- Prior art keywords
- system parameters
- internet
- predetermined operation
- parameter
- power
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 118
- 230000006854 communication Effects 0.000 claims abstract description 118
- 230000000694 effects Effects 0.000 claims abstract description 29
- 230000003213 activating effect Effects 0.000 claims abstract description 4
- 238000001514 detection method Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 12
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 claims 1
- 230000004044 response Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 229910052710 silicon Inorganic materials 0.000 description 8
- 239000010703 silicon Substances 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 7
- 230000001105 regulatory effect Effects 0.000 description 7
- 238000010200 validation analysis Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000007123 defense Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/50—Maintenance of biometric data or enrolment thereof
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/30—Information sensed or collected by the things relating to resources, e.g. consumed power
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/40—Information sensed or collected by the things relating to personal data, e.g. biometric data, records or preferences
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Definitions
- the present disclosure relates generally to network connected devices and, more particularly, to a system and method to prevent attacks against such devices.
- IoT devices In recent times, a large number of devices have been connected to a network, such as the Internet. Often referred to as the Internet of Things devices (IoT devices), these devices include sensors, such as temperature sensors, pressure sensors, moisture sensors, light sensors, motion sensors, and the like. These sensors are Internet connected and remotely accessible. For example, a temperature sensor could monitor the temperature of a home, a refrigerator, or a freezer. The temperature can be remotely reported to a user's device, such as a mobile communication device (e.g., cellphone). Similarly, a moisture sensor can report water leaks, such as from a washing machine or water heater. A motion sensor can be used as part of a security system.
- sensors such as temperature sensors, pressure sensors, moisture sensors, light sensors, motion sensors, and the like. These sensors are Internet connected and remotely accessible. For example, a temperature sensor could monitor the temperature of a home, a refrigerator, or a freezer. The temperature can be remotely reported to a user's device, such as a mobile communication device (e.g
- IoT devices are active devices, such as remote-controlled video monitors, temperature controllers, and the like.
- An active IoT device in an automobile permits the user to remotely start the automobile and warm up the engine or adjust the interior temperature.
- a common feature found in each IoT device is the ability to communicate over a network; however, communicating over a network has a potential shortcoming—the lack of security in IoT devices often leaves them vulnerable to attack by unscrupulous individuals.
- IoT devices Traditionally, most defenses against such attacks using IoT devices have been reactive instead of proactive. Reactive responses try to mitigate or control the damage, but do not prevent an attack from happening. Proactive solutions may include providing security on the IoT device to prevent hacking. Further in some locations, advanced security is needed to protect IoT devices, such as IoT devices in automobiles or relied upon in hospitals. As billions more IoT devices are deployed in the world the problem of insecure IoT devices and the risks associated with a failed device, either due to a hack, a software bug, or a hardware failure, is compounded.
- This present disclosure describes a system and method to proactively defend against attacks.
- An Internet of Things device comprising a communication module operable to connect to a network, a memory storing a device fingerprint having a plurality of predetermined system parameters, a processor coupled to the memory and operable to execute instructions stored in the memory, and an activity module, including at least one of a sensor and a control device, the activity module under control of the processor, to perform a predetermined operation with at least one of the sensor and the control device.
- the activity module communicates on the network via the communications module.
- the processor measures system parameters during performance of the predetermined operation, compares measured system parameters to predetermined system parameters of the device fingerprint, and disables the communications module, the processor, or the activity module responsive to the measured system parameters being out of compliance with the predetermined system parameters.
- a method of operating an Internet of Things device is disclosed. In the method, electrical power is provided to electrical circuitry in the Internet of Things device. The Internet of Things device is communicately coupled to a network using a communications module having one or more transceiver.
- An activity module of the Internet of Things device is activated to perform a predetermined operation, wherein activating the activity module includes determining compliance of a plurality of measured system parameters against a plurality of system parameters of a device fingerprint stored within a non-transitory memory of the Internet of Things device during performance of the predetermined operation, and disabling the Internet of Things device due to at least two of the measured system parameters being out of compliance with predetermined system parameters.
- FIG. 1 is a diagram of an exemplary embodiment of an IoT network implemented in accordance with the present disclosure.
- FIG. 2 is a block diagram of an exemplary embodiment of an IoT device constructed in accordance with the present disclosure.
- FIG. 3 is a functional block diagram of an exemplary embodiment of a power module constructed in accordance with the present disclosure.
- FIG. 4 is a functional block diagram of an exemplary embodiment of a detection circuit constructed in accordance with the present disclosure.
- FIG. 5 is a flow diagram of an exemplary embodiment of an abnormal signal detection process.
- the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variations thereof, are intended to cover a non-exclusive inclusion.
- a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may also include other elements not expressly listed or inherent to such process, method, article, or apparatus.
- “or” refers to an inclusive and not to an exclusive “or”. For example, a condition A or B is satisfied by one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
- any reference to “one embodiment,” “an embodiment,” “some embodiments,” “one example,” “for example,” or “an example” means that a particular element, feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment and may be used in conjunction with other embodiments.
- the appearance of the phrase “in some embodiments” or “one example” in various places in the specification is not necessarily all referring to the same embodiment, for example.
- Circuitry may be analog and/or digital components, or one or more suitably programmed processors (e.g., microprocessors) and associated hardware and software, or hardwired logic.
- a “component” may perform one or more functions.
- the term “component,” may include hardware, such as a processor (e.g., microprocessor), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a combination of hardware and software, and/or the like.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- processor as used herein means a single processor or multiple processors working independently or together to collectively perform a task.
- Software may include one or more computer readable instructions that when executed by one or more components cause the component to perform a specified function. It should be understood that the algorithms described herein may be stored on one or more non-transitory computer readable medium. Exemplary non-transitory computer readable mediums may include random access memory, read only memory, flash memory, and/or the like. Such non-transitory computer readable mediums may be electrically based, optically based, magnetically based, and/or the like.
- an attack may include simultaneously directing network traffic to a target device, such as an IoT device, a specific website server or specific network infrastructure. Attacks may further include BOT Attacks, DDoS attacks, and target device hardware attacks, such as battery attacks, e.g., an attack to cause excessive power drain of the target device, or any other attack of a target device intending to affect usage of the target device in a manner inconsistent with the target device's normal operation and use.
- a target device such as an IoT device, a specific website server or specific network infrastructure.
- Attacks may further include BOT Attacks, DDoS attacks, and target device hardware attacks, such as battery attacks, e.g., an attack to cause excessive power drain of the target device, or any other attack of a target device intending to affect usage of the target device in a manner inconsistent with the target device's normal operation and use.
- FIG. 1 shown therein is a diagram of an exemplary embodiment of an IoT network 10 generally comprising one or more IoT device 14 a - n in communication with a controller 16 via one or more communication link 20 a - n , a LAN 24 , and a network 28 .
- IoT device 14 a , IoT device 14 b , and IoT device 14 n are connected to the controller 16 by communication link 20 a , communication link 20 b , and communication link 20 n respectively.
- the controller 16 may be, as shown in FIG. 1 , within the LAN 24 .
- the LAN 24 is in communication with the network 28 via a communication link 20 d .
- one or more IoT device 14 a - n connects directly to the network 28 as depicted by IoT device 14 c communicating with the network 28 via communication link 20 c , and IoT device 14 d communicating with the network 28 via communication link 20 d .
- the IoT device 14 c and 14 d may connect to the controller 16 via the network 28 .
- each of the one or more IoT device 14 a - n may be in communication with at least one other IoT device 14 a - n without being in communication with the controller 16 as represented in FIG. 1 with the IoT devices 14 a and 14 b communicating via the communication link 20 e.
- the IoT network 10 is not limited to any particular type of IoT device 14 a - n .
- the one or more IoT device 14 a - n may be any IoT device 14 , as depicted in FIG. 2 and described below in more detail.
- the controller 16 communicates with the one or more IoT device 14 a - n via one or more communication link 20 a - n .
- the communication links 20 a - n between the controller 16 and the one or more IoT device 14 a - n do not connect to the network 28 and are implemented as LAN connections.
- the controller 16 may be implemented as part of a personal computer, a laptop, a server, a mobile communication device (e.g., cell phone, PDA), a stand-alone device, and the like or some combination thereof.
- the controller 16 communicates with the network 28 via the communication link 20 d .
- the controller 16 enables communication between the one or more IoT device 14 a - n within the LAN 24 to the network 28 via the communication link 20 d.
- the controller 16 is implemented outside of the LAN 24 and is in communication with the network 28 via the communication link 20 d .
- the one or more IoT device 14 a - n may still be implemented in the LAN 24 ; however, the one or more IoT device 14 a - n may connect to the controller 16 via the network 28 .
- an ecosystem coordinator refers to an IoT device control system or IoT device organizing system that coordinates, organizes, and/or controls communications between the one or more IoT device 14 a - n and the controller 16 , a user, the network 28 , and the LAN 24 , or some combination thereof.
- the ecosystem coordinator includes the controller 16 and, in some embodiments, includes the controller 16 integrated with a particular IoT device 14 .
- Non-limiting examples of the ecosystem coordinator are Google Nest or Google Assistant (Google, LLC, Palo Alto, Calif.), Amazon Alexa (Amazon.com, Inc., Seattle, Wash.), and Insteon (Smartlabs, Inc., Irvine, Calif.).
- the IoT network 10 includes more than one controller 16 , for example, a first controller (not shown) is a component of the ecosystem coordinator and a second controller (not shown) is in communication with the ecosystem coordinator. In one embodiment, the IoT network 10 further includes one or more ecosystem coordinator.
- the network 28 may be any type of network and may be implemented by using one or more network topology and/or protocol, such as the World Wide Web (or Internet using a TCP/IP protocol), a local area network (LAN), a wide area network (WAN), a metropolitan network, a wireless network, a cellular network, a Global System for Mobile Communications (GSM) network, a code division multiple access (CDMA) network, a 3G network, a 4G network, a 5G network, a satellite network, a radio network, an optical network, a cable network, a public switched telephone network, an Ethernet network, a short-range wireless network (such as a Zigbee network, an IEEE 802.15.4/802.15.5 network, Bluetooth network and/or the like), a wireless mesh network, a P2P network, an LPWAN network, a Z-wave network, and combinations thereof, and/or the like.
- GSM Global System for Mobile Communications
- CDMA code division multiple access
- 3G network Third Generation
- 4G fourth generation
- Each communication link 20 a - n may be implemented based, at least in part, on the one or more protocol of the one or more network topology used to implement the network 28 and/or the LAN 24 .
- the one or more communication link 20 a - n is not dependent on a particular protocol, a particular network hardware, or a particular network topology.
- network infrastructure such as wired and wireless connections to Internet service providers, routers, modems, gateways, switches, cellular infrastructure, and/or the like are omitted for the sake of clarity.
- the LAN 24 may be implemented similar to the implementation of the network 28 .
- the controller 16 and one or more IoT device 14 a - n connected to the LAN 24 may communicate with one another without connecting to the network 28 , that is, the one or more communication link 20 a - n within the LAN 24 , such as the communication link 20 a and the communication link 20 b , do not traverse the network 28 .
- the communication link 20 a and the communication link 20 b do not directly connect to the network 28 when the network 28 is implemented as the internet, for example, but instead connect to the controller 16 .
- the one or more communication link 20 a - n depict a logical pathway for bidirectional communication between one or more component of the IoT network 10 , that is, the one or more communication link 20 a - n may enable communication between the one or more IoT device 14 a - n , the controller 16 , the LAN 24 , and/or the network 28 .
- the communication link 20 d may be implemented as a conventional network connection, such as a wired or wireless connection to a network service provider, or, if the controller 16 is a mobile communication device, the communication link 20 d may be implemented as a cellular communication link.
- the communication link 20 a - n is not dependent on network topology used to implement the communication link 20 a - n .
- the communication link 20 d may be implemented as a first network topology and the communication link 20 a or the communication link 20 b may be implemented as one or more second network topology.
- the communication link 20 d may be implemented using a TCP/IP protocol whereas the communication link 20 a or the communication link 20 b may be implemented as a Zigbee network.
- Network traffic may include one or more network packet sent from a sending device (i.e., any device sending the network packet) and received by a receiving device (i.e., any device receiving the network packet) during an active network connection.
- the active network connection may be formed by the one or more communication link 20 a - n between the sending device and the receiving device.
- a communication stream may include a substantially continuous transmission of network traffic from the sending device to the receiving device.
- Each network packet may include header information and data.
- the communication link 20 a - n associated with each IoT device 14 enables the IoT device 14 to transmit data as a communication stream from the IoT device 14 to the controller 16 , another IoT device 14 a - n , and/or the network 28 .
- the IoT device 14 comprises a plurality of components including a processor 50 , a memory 54 , a timer 58 , a user interface 62 , a power module 66 , a communications module 70 having one or more transceiver 74 , a sensor 80 , a control device 84 , and a detection circuit 88 , or some combination thereof.
- a processor 50 a memory 54
- a timer 58 a user interface 62
- a power module 66 having one or more transceiver 74
- a sensor 80 a sensor 80
- a control device 84 a control device 84
- a detection circuit 88 or some combination thereof.
- Each component is connected to one or more other component via a system bus 92 .
- the sensor 80 and the control device 84 may be components of an activity module 96 as discussed below in more detail.
- the IoT device 14 also includes a housing 100 surrounding and containing the processor 50 , the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having the transceiver 74 , the sensor 80 , the control device 84 , and the detection circuit 88 , or some combination thereof.
- Each IoT device 14 is implemented as a combination of hardware and software.
- the software may be vulnerable to remote hacking that allows the hacker to control one or more aspect of the IoT device 14 and mount an attack as described above. Unintentional software bugs may cause malfunctions that can resemble an attack.
- the hardware of the IoT device 14 detects and stops attacks, preferably outside of the control of the software application.
- one or more component of the IoT device 14 may be implemented as a circuit on or within a particular chip such as a System On a Chip (SoC).
- SoC System On a Chip
- each IoT device 14 may include an IoT type.
- the IoT type is a categorization based on a function performed and/or an industry in which the IoT device 14 is used.
- Non-limiting examples of an IoT type may include: Appliance, Automotive, Garden, Home and Office, Lighting and Electrical, Multimedia, Security, Sensors and Controls, Wearables and Health, and Wi-Fi and Networking, or some combination thereof.
- the IoT type may be further classified into subtypes of each type.
- One non-limiting example may include an IoT device 14 having an IoT type of “Appliance” being further classified into one or more of HVAC, home appliance, and/or industrial grade appliance.
- Subtype examples have only been provided for the IoT type of Appliance for the sake of clarity and simplicity; it is understood that each IoT type may include one or more subtype associated with the IoT type.
- the IoT device 14 may include one or more detection circuit 88 .
- the detection circuit 88 is coupled to the system bus 92 by a dashed line. This is intended to indicate that the detection circuit 88 may be integrated with the processor 50 , the memory 54 , the power module 66 , the sensor 80 , the control device 88 , the communications module 70 and/or the transceiver 77 , or, the detection circuit 88 may be separate from the processor 50 , the memory 54 , the power module 66 , the sensor 80 , the control device 84 , the communications module 70 and/or the transceiver 74 and not connected via every bus of the system bus 92 .
- the detection circuit 88 is coupled to one or more component of the IoT device 14 but may not be coupled to one or more other component of the IoT device 14 .
- the detection circuit 88 is shown in FIG. 4 and discussed in more detail below.
- the IoT device 14 may include one or more processor 50 in communication with one or more component of the IoT device 14 , such as, but not limited to, the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having the transceiver 74 , the sensor 80 , the control device 84 , and the detection circuit 88 , or some combination thereof via the system bus 92 .
- the processor 50 may be implemented as a conventional microprocessor, application specific integrated circuit (ASIC), digital signal processor (DSP), programmable gate array (PGA), field programmable gate array (FPGA), and/or the like.
- the processor 50 may be replaced by individual electrical circuit components depending on the complexity of the IoT device 14 .
- the IoT device 14 is not limited by a specific form of the processor 50 .
- the processor 50 may refer to a single processor 50 or multiple processors 50 working independently or together to collectively perform a task.
- the processor 50 may include one or more core operating at a particular frequency. Each of the one or more code may be in communication with another core or may be operating in isolation from another core.
- the memory 54 is one or more non-transitory computer readable medium storing computer executable logic, such as computer executable instructions, and data to control the operation of the processor 50 and/or another component of the IoT device 14 .
- the memory 54 may include random access memory (RAM), read-only memory (ROM), programmable memory, flash memory, and the like, or some combination thereof.
- RAM random access memory
- ROM read-only memory
- programmable memory flash memory, and the like, or some combination thereof.
- the memory 54 may be electrically based, optically based, magnetically based, and/or the like.
- the IoT device 14 is not limited by a specific form of hardware used to implement the memory 54 .
- the memory 54 may also be integrally formed in whole or in part with the processor 54 .
- the timer 58 generates a time signal indicative of an increment of time and/or a current time. In one embodiment, the timer 58 receives a timer start signal and, upon receiving a timer stop signal, generates a time signal indicative of an elapsed time. In one embodiment, the timer 58 is integrated within one or more other component of the IoT device 14 , such as the processor 50 ; however, in an alternative embodiment, the timer 58 is implemented as circuitry separate from one or more component of the IoT device 14 , but in communication via the system bus 92 . In one embodiment, the timer 58 transmits the time signal on a time bus of the system bus 92 . In another embodiment, the timer 58 may comprise a set of computer executable instructions that when executed by the processor 50 cause the processor 50 to implement the timer 58 .
- the IoT device 14 may include the user interface 62 .
- the user interface 62 may include an indicator to provide visual information to a user.
- the user interface 62 may be one or more LED.
- the one or more LED when lighted, may indicate an IoT device status to the user.
- the user interface 62 includes one or more buttons configured to receive a user input from the user where the user input may be processed by the processor 50 .
- the user interface 62 may be a display such as, for example, an LED screen, an OLED screen, an LCD screen, or similar component.
- the IoT device 14 also includes the communications module 70 associated with one or more transceiver 74 .
- the communications module 70 may be implemented on circuitry or may be implemented by the processor 50 .
- the communications module 70 controls the one or more transceiver 74 of the IoT device 14 and operates the one or more transceiver 74 to send and/or receive network transmissions.
- the communications module 70 may provide connectivity between the IoT device 14 and the controller 16 .
- the communications module 70 may establish two-way communication with the controller 16 via the one or more transceiver 70 .
- the IoT device 14 b may be in communication with the controller 16 via communication link 20 b and may be in communication with IoT device 14 a via a communication link 20 e .
- the communications module 70 of IoT device 14 b may establish the communication link 20 b using a first transceiver 74 , which may be implemented, for example, conforming to the requirements of a WiFi protocol and the communications module 70 of the IoT device 14 b may establish the communication link 20 e using a second transceiver 74 , which may be implemented, for example, conforming to the requirements of a Bluetooth protocol.
- each of the one or more transceiver 74 may be implemented as hardware capable of establishing one or more communication link 20 a - n .
- a particular transceiver 74 may establish more than one communication link 20 a - n .
- One non-limiting example may include the particular transceiver 74 establishing two or more communication links 20 a - n via a particular network topology and/or protocol, e.g., the particular transceiver 74 may establish two or more WiFi protocol connections. It should be understood that use of the communications module 70 and the one or more transceiver 74 consumes a significant amount of power of the IoT device 14 as compared to other components of the IoT device 14 . When transmitting, power consumption by the communications module 70 and the one or more transceivers 74 is greater than when not transmitting.
- Each IoT device 14 a - n may include the sensor 80 and/or the control device 84 .
- the sensor 80 may include: a temperature sensor, a pressure sensor, a moisture sensor, a light sensor, a motion sensor, an environmental sensor, a gravity sensor, a magnetometer, an air quality sensor, a humidity sensor, a barometer, an accelerometer, a gyroscope, an infrared sensor, a Hall sensor, a pulse sensor, an audio sensor, an voltage and/or amperage sensor, a touch sensor, a tilt sensor, an ultrasonic sensor, a vibrations sensor, a water level sensor, a gas sensor, a wireless emissions sensor, a hygrometer, a motion sensor, a video camera, and the like, or some combination thereof.
- each IoT device 14 a - n may include the control device 84 .
- the control device 84 may include any device to which the user may issue a command signal to operate the device.
- Non-limiting examples of the control device 84 may include, a remote-controlled video camera (e.g., a PTZ security camera where the user may issue a command signal to adjust the pan, tilt, and/or zoom of the camera), a temperature controller (e.g., a thermostat where the user may issue a command signal to adjust a target temperature range), an alarm (e.g., a security system where the user may issue a command signal to disable or enable the alarm) and the like or some combination thereof.
- One or more IoT device 14 a - n may include both the sensor 80 and the control device 84 .
- the IoT device 14 may include one or more sensor 80 and/or one or more control device 84 .
- the sensor 80 and the control device 84 may be referred to, collectively, as the activity module 96 .
- the IoT device 14 may include one or more activity module 96 , each activity module 96 including one or more sensor 80 and/or one or more control device 84 .
- the activity module 96 may be configured to perform a predetermined operation with the sensor 80 and the control device 84 .
- One non-limiting example of the activity module 96 is a thermostat having a sensor 80 as a temperature sensor and a control device 84 receiving a command signal to set a temperature range and issuing a control signal to execute the command signal, e.g., enabling or disabling an air conditioning unit.
- the activity module 96 may further be configured to operate the communications module 70 , e.g., cause the communications module 70 to transmit via a communication link 20 one or more communication to the controller 16 .
- the activity module 96 is said to be active when the activity module 96 operates the communications module 70 and is said to be inactive when the activity module 96 does not operate the communications module 70 .
- components of the IoT device 14 are coupled together by the system bus 92 .
- the system bus 92 may include an address bus, a data bus, a control bus, a power bus, a time bus, and/or the like.
- the various busses are illustrated as the system bus 92 .
- the IoT device 14 includes the power module 66 .
- the power module 66 is positioned within the housing 100 and includes a processor 130 , a memory 134 , a power supply 138 , one or more control switch 142 a - n , and regulating circuitry.
- the processor 130 may be constructed in a manner similar to the processor 50 .
- the memory 134 may be constructed in a manner similar to the memory 54 .
- the power supply 66 may be a battery or a battery with voltage and/or current regulating circuitry 146 .
- the power supply 66 may be a port configured to receive a power from an external source, such as, from an electrical receptacle.
- the power supply 66 may also include an AC plug configured to supply power from the electrical receptacle and may also include a modular power supply, such as commonly used with cellular telephones.
- the power supply 66 in this embodiment includes a voltage transformer as well as voltage and/or current regulator circuitry 146 that may be external to the housing 100 .
- the power module 66 has circuitry to supply power to the processor 50 , the memory 54 , the sensor 80 , the control device 84 , the communications module 70 , the one or more transceiver 74 , and the detection circuit 88 .
- the power module 66 may be referred to as an external power module.
- a power module 66 having circuitry to supply power from a source (e.g., battery) internal to the housing 100 of the IoT device 14 may be referred to as an internal power module.
- the power module 66 includes one or more control switch 142 a - n connected to a power bus of the system bus 92 .
- Each of the one or more control switch 14 a - n may be logically connected to the processor 130 thereby enabling the processor 130 to cause one or more of the control switch 142 a - n to enable or disable a power connection of the power bus between the power module 66 and other components of the IoT device 14 .
- the processor 130 of the power module 66 may enable a particular component of the IoT device 14 or disable a particular component of the IoT device 14 by enabling or disabling the power connection associated with the particular component.
- each of the one or more control switch 142 a - n may be connected to a control bus, thereby enabling another component of the IoT device 14 , e.g., the detection circuit 88 , to enable or disable the power connection of the power bus.
- the one or more control switch 142 a - n includes a power monitor (e.g., ammeter and/or voltmeter) to measure a current, and/or a voltage supplied by the power module 66 to each component of the IoT device 14 .
- Signals indicative of the current and/or voltage may be supplied to the processor 130 , which may compute an amount of power supplied by the power module 66 to each component of the IoT device 14 , or an aggregate power supplied by the power module 66 to two or more components of the IoT device 14 .
- the processor 130 may determine the power supplied by the power module 66 by measuring the power monitor of each control switch 142 and storing each power supplied in the memory 134 .
- the processor 130 is connected to the bus system 92 .
- the processor 130 may send one or more power data to another component of the IoT device 14 .
- the power data may include a voltage supplied, a current supplied, and a duration for supplying the voltage and the current, or some combination thereof.
- the processor 130 may send a disable signal to one or more of the control switches 142 a - n to disable a particular one or more component of the IoT device 14 by enabling or disabling the power connection of the power bus between the power module 66 and the particular one or more component of the IoT device 14 .
- the regulating circuitry 146 may regulate a power or voltage supplied by the power source 134 to normalize the power or voltage such that the components of the IoT device 14 may be supplied with adequate power to enable each component to function.
- the regulating circuitry 146 may include one or more sensor. For example, if the sensor is temperature probe, the temperature probe may measure a temperature of the processor 130 , the memory 134 , the power supply 134 , the one or more control switch 142 a - n , and the regulating circuitry 146 , or some combination thereof.
- the processor 130 may read the temperature of the processor 130 , the memory 134 , the power supply 138 , the one or more control switch 142 a - n , or the regulating circuitry 146 and record the temperature in the memory 134 .
- the processor 130 may send one or more power module data to another component of the IoT device 14 .
- the power module data may include a temperature for one or more of the processor 130 , the memory 134 , the power supply 138 , the one or more control switch 142 a - n , and the regulating circuitry 146 .
- the processor 130 may send a disable signal to one or more of the control switches 142 a - n to disable the power connection of one or more component of the IoT device 14 thus disabling the IoT device 14 .
- the detection circuit 88 is positioned within the housing 100 and may include a processor 160 , a memory 164 and one or more detectors 168 a - n .
- the processor 160 may be constructed similar to the processor 50 and is connected to the data bus and/or the control bus of the system bus 92 .
- the memory 164 may be similar to the memory 54 discussed above. The memory 164 may not be connected to the system bus 92 thereby maintaining isolation between the detection circuit 88 and software stored in the memory 54 and being executed by the processor 50 .
- the one or more detector 168 a - n includes a sensor configured to determine at least one system parameter of the IoT device 14 , for example, a temperature sensor 168 a to determine a temperature system parameter of one or more component of the IoT device 14 , a power sensor 168 b to determine a power consumption parameter of one or more component of the IoT device 14 , a photodetector 168 c configured to determine a light produced parameter of one or more component of the IoT device 14 , and a bus monitor 168 d configured to determine a use parameter of one or more bus or control line of the system bus 92 .
- a sensor configured to determine at least one system parameter of the IoT device 14 , for example, a temperature sensor 168 a to determine a temperature system parameter of one or more component of the IoT device 14 , a power sensor 168 b to determine a power consumption parameter of one or more component of the IoT device 14 , a photodetector 168 c
- the one or more detector 168 a - n is not limited to the above examples and may be any other detector designed or configured to determine a system parameter of the IoT device 14 .
- the one or more detector 168 a - n may include a radio wave sensor configured to determine whether a particular transceiver 74 is active, that is, whether the particular transceiver 74 is transmitting or receiving data.
- Each of the one or more detector 168 a - n may be logically connected to the processor 160 thereby enabling the processor 160 to measure the system parameter determined by each detector 168 a - n .
- the processor 160 may measure each system parameter determined by each detector 168 a - n and store each system parameter in the memory 164 .
- the processor 50 in communication with the processor 160 , can access the one or more detector 168 a - n.
- the processor 160 is connected to the system bus 92 .
- the processor 160 may receive one or more system parameter from each component of the IoT device 14 , for example but not limited to, the power data from the power module 66 .
- the processor 160 may also be logically connected to the system bus 92 , and more specifically to the control bus, thereby enabling the processor 160 to send one or more control signal to each component of the IoT device 14 .
- the one or more control signal may include a deactivate command or a power-off command.
- the one or more control signal is sent to the power module 66 causing the power module 66 to disable power to a particular one or more component of the IoT device 14 .
- the detection circuit 88 includes a power source 172 .
- the power source 172 may be connected directly to the power module 66 , thus providing a power to the detection circuit 88 without using the power bus of the system bus 92 .
- the power source 172 is independent from the power module 66 , e.g., a dedicated battery.
- the power source 172 may be connected to one of the power bus of the system bus 92 , directly connected to the power module 66 , or independent of the power module 66 , or some combination thereof.
- the detection circuit 88 detects abnormal operation of the IoT device 14 by using one or more direct detection techniques, indirect detection technique, or combination thereof.
- a direct detection technique may include a technique that directly examines data sent by the IoT device 14 , e.g., a detection technique that reads header information in one or more data packet.
- An indirect detection technique measures a plurality of measured system parameters of a particular one or more component of the IoT device 14 against a plurality of predetermined system parameters of a device fingerprint.
- An indirect detection technique is side-channel analysis.
- side-channel analysis is a non-invasive approach using an indirect technique to continuously and in real-time measure system parameters of the IoT device 14 and compare the measured system parameters with the predetermined parameters of the device fingerprint.
- the measured system parameters are secondary indicators that a predetermined operation is being properly taken. If multiple measured system parameters are out of compliance with the predetermined system parameters, then the IoT device is disabled as described herein.
- a device profile is stored in the memory 164 of the detection circuit 88 .
- the device profile includes a plurality of device fingerprints that are indicative of normal operation and/or predetermined requirements for operating/making the IoT device 14 .
- Side-channel analysis is used to monitor at least one and preferably multiple system parameters. Exemplary system parameters monitored by side-channel analysis may include a processing time parameter, a power consumption parameter, a radio emissions parameter, a system bus access parameter, and the like or some combination thereof. The measured system parameter is compared to a predetermined system parameter that may be stored in the memory 164 , for example.
- the memory 164 may store a plurality of predetermined system parameters that may be supplied by the developer and/or the manufacturer of the IoT device 14 as being representative of proper system parameters of predetermined operations for the IoT device 14 .
- the processor 160 can determine whether or not the component(s) (e.g., processor 50 , memory 54 , sensor 80 or control device 84 , for example) of the IoT device 14 are functioning properly. If the component(s) are functioning properly, then no further action may be taken by the processor 160 , other than measuring the system parameters during a subsequent period when the predetermined operation is occurring or has occurred. If the component(s) are not functioning properly, then the processor 160 may disable the IoT device 14 as explained in more detail herein.
- the processing time parameter may indicate a time indicative of a duration of processing time for the predetermined operation, such as a key negotiation.
- the processing time parameter is referred to as a key negotiation processing time parameter.
- the detection circuit 88 may determine the key negotiation processing time parameter by measuring a time involved during a key negotiation, e.g., a number of clock-cycles of the processor 50 or a time from the timer 58 , for a period of time during which the key negotiation is executed using either a hardware-based security engine or a software-based security engine.
- the power consumption parameter indicates a power consumed by the processor 50 , or other component of the IoT device 14 , during a predetermined operation.
- a cryptographic operation power consumption parameter may be determined by measuring the power sensor 168 b associated with the processor 50 or power sensor 168 associated with another component of the IoT device 14 .
- the cryptographic power consumption parameter is more applicable when the IoT device takes similar steps in a similar order when executing a cryptographic operation.
- the detection circuit 88 in order to measure the power consumed by the processor 50 , or other component of the IoT device 14 , may communicate with the power module 66 to receive a power data indicative of the power consumed by the processor 50 , or other component of the IoT device 14 .
- the radio emissions parameter may include one or more parameter relating to what, if any, radio emissions are generated by a memory component, e.g. memory 54 when accessed via the bus system 92 .
- the radio emissions parameter may be more applicable when the IoT device 14 takes specific steps in a consistent order when a particular operation is executed.
- the detection circuit 88 may include one or more detector 168 to measure radio emissions for each memory component of the IoT device 14 .
- the radio emissions parameter further includes an operation type parameter determined by the processor 50 . To determine the operation type parameter, the detection circuit 88 with the detector 168 may measure radio emissions of each memory module to determine whether a particular operation has been executed, e.g., whether a read or write operation has been performed on the memory 54 or other memory component.
- the system bus access parameter includes one or more access bus data such as an access pattern of the system bus 92 between one or more of the processor 50 , the transceiver 74 , the memory 54 , the power module 66 , the timer 58 , the communications module 70 , the sensor 80 , and/or the control device 84 , or some combination thereof, for any particular operation performed by the IoT device 14 .
- Each access pattern may include information regarding the one or more component accessing the system bus 92 as well as metadata about the access such as, for example, whether the access is a read/write access, an address location of the access, or the like.
- the access pattern for a temperature reading operation may include the pattern: the processor 50 accesses the sensor 80 , stores a reading to the memory 54 , then transmits the reading using the communications module 70 and metadata regarding access times between each component and access order between each component.
- the detection circuit 88 may monitor a particular temperature reading operation, e.g., with the bus monitor 168 d , to determine an order of access and a duration of access between each component of the IoT device 14 as the system bus access parameter.
- the device fingerprint can be made by performing a predetermined operation by at least one component (e.g., the processor 50 , the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having the one or more transceiver 74 , the sensor 80 , the control device 84 , or the detection circuit 88 ) of the Internet of Things device 14 .
- a plurality of system parameters of the at least one component are measured by the detection circuit 88 during or after the occurrence of the predetermined operation to generate measured system parameters.
- the measured system parameters are stored as a device fingerprint in a non-transitory memory, such as the memory 54 , associated with a predetermined operation identifier (e.g., a numeric code, an alpha code, or an alphanumeric code) identifying the predetermined operation.
- a predetermined operation identifier e.g., a numeric code, an alpha code, or an alphanumeric code
- the device fingerprint comprises one or more operational setting and/or one or more threshold of any system parameter of the IoT device 14 .
- Each of the one or more threshold and one or more operational setting may be categorized into a fingerprint layer, such as a silicon layer, a developer layer, and/or a normalized layer.
- the device fingerprint may include one or more operational setting not organized into a fingerprint layer, for example, the device fingerprint may include an operations setting identifying the IoT type and/or IoT subtype of the IoT device 14 .
- the silicon layer comprises, for example, one or more operational setting and/or one or more threshold determined or provided by a manufacturer of one or more circuitry of a particular component.
- Each threshold provided by the circuitry manufacturer may be based on an expected parameter of the circuitry known to the manufacturer.
- a manufacturer of a particular transceiver 74 may provide one or more threshold, such as, a power consumption threshold based on a power consumed parameter, an operating temperature threshold based on an operating temperature parameter, or other threshold based on a measurable parameter relating to operation of the particular transceiver 74 .
- the developer layer comprises, for example, one or more operational setting and/or one or more threshold from the developer of the IoT device 14 (developer) and organized into one or more operation type.
- the developer layer may be further organized into one or more operation types, including a secure boot operation, a session key negotiation operation, a packet handling operation, a power state operation, a physical event operation, and a tamper detection operation, for example.
- Each operation type includes one or more operational setting and/or threshold providing expected thresholds or settings of system parameters.
- each operation type may be associated with a triggering event as described in more detail below.
- the developer layer may be considered a “known good” reference.
- the secure boot operation includes a code signature setting, a code validation threshold, a software encryption setting, a software decryption time threshold, and a boot jump vector memory location setting, or some combination thereof, for example.
- the code signature setting may include a signature of the software stored in the memory 54 .
- the code validation threshold may be an expected duration to validate the software stored in the memory 54 against the signature of the code signature setting. If the software is encrypted, the developer may include the software encryption setting and the software decryption time threshold in the secure boot operation.
- the software encryption setting may include an encryption information such as encryption algorithm and encryption strength.
- the software decryption time threshold may be an expected duration needed to decrypt the software stored in the memory 54 or may be a range of expected durations during which the software stored in the memory 54 is expected to be decrypted.
- the code validation threshold and the software decryption threshold may be associated with a time parameter as determined, e.g., by the timer 62 .
- the session key negotiation operation includes a security engine setting and a key negotiation time threshold, for example.
- the security engine setting the developer may indicate whether a hardware-based security engine or a software-based security engine is used by the IoT device 14 .
- the hardware-based security engine will execute more quickly than the software-based security engine.
- Most security engines will dither the power supply to mask operations being executed, whereas the software-based security engine, executing on the processor 50 , will not include power dithering.
- the key negotiation time threshold may be a duration or range of durations during which proper key negotiation is expected to occur.
- the packet handling operation includes a packet decryption time threshold, a packet processing time threshold, a packet response generation time threshold, a response encryption time threshold, and a malformed packet response time threshold, for example.
- the packet decryption time threshold may be a duration or duration range during which the developer expects the IoT device 14 to decrypt a network packet.
- the packet processing time threshold may be a duration or duration range during which the developer expects the IoT device 14 to process the network packet.
- the packet response generation time threshold may be a duration or duration range during which the developer expects the IoT device 14 to generate a response to the network packet.
- the packet response encryption time threshold may be a duration or duration range during which the developer expects the IoT device 14 to encrypt a response to the network packet.
- the malformed packet response time threshold may be a duration or duration range during which the developer expects the IoT device 14 to respond to a malformed network packet.
- the power state operation includes a power-up time threshold and a wake-up time threshold.
- the power-up time threshold may be a duration or duration range for which the developer expects the IoT device 14 to power-up from a powered-off state.
- the wake-up time threshold may be a duration or duration range during which the developer expects the IoT device 14 to wake-up from a low-power state, hibernation state, or sleep state.
- the power-up time threshold and the wake-up time threshold may be associated with an activation time system parameter.
- the physical event operation includes an event response time threshold.
- the response time threshold may be an event response time duration or duration range during which the developer expects the IoT device 14 to response to a physical event.
- the event response time duration may be a period of time between occurrence of a physical event and detection, by the sensor 80 designed to detect the physical event, of the physical event.
- the developer layer may further include one or more operational setting and/or the one or more threshold provided by the developer and, for example, may include one or more threshold associated with a power of one or more component of the IoT device 14 , one or more threshold associated with an expected operation time of one or more component of the IoT device 14 , and one or more operational parameter associated, for example, with whether a password is required to access the IoT device 14 , whether the password required to access the IoT device 14 is encrypted, and/or whether the password required to access the IoT device 14 is changeable.
- one or more operation setting and/or threshold of the developer layer is created while the developer develops or programs the IoT device 14 , for example, using a software development kit (SDK).
- SDK software development kit
- the normalized layer comprises one or more operational setting and/or one or more threshold as determined during normal operation of the IoT device 14 .
- the normalized layer may be determined by an initial calibration sequence such as in machine learning mode in step 206 of U.S. patent application Ser. No. 16/944,822 entitled “System for Attack Protection in IOT Devices” filed Jul. 31, 2020, the entire contents of which are hereby incorporated in its entirety.
- an abnormal operation detection process 200 generally comprising the steps of: receiving a triggering event (step 204 ); monitoring one or more IoT device 14 system parameters (step 208 ); determining if a terminate event has been received (step 212 ); and, if the terminate trigger has not been received, returning to step 208 , otherwise, determining compliance of the IoT device 14 with the device fingerprint (step 216 ), and disabling the IoT device 220 responsive to at least two measured system parameters being out of compliance with at least two predetermined system parameters of the device fingerprint (step 220 ).
- the abnormal operation detection process 200 is performed by the processor 50 , however, in other embodiments, the abnormal operation detection process 200 is performed by the processor 130 of the power module 66 or the processor 150 of the detection circuit 88 , or some combination thereof. If the step 216 determines all of only one of the measured system parameters are in compliance with the predetermined system parameters, then the process 200 branches from the step 216 to the step 204 such that the abnormal operation detection process 200 repeats.
- receiving a triggering event may include, for example, receiving the triggering event generated by another component of the IoT device 14 or receiving the triggering event from outside the IoT device 14 , that is, the IoT device 14 may receive the triggering event from another IoT device 14 , from the controller 16 , from the ecosystem coordinator, or the like.
- the triggering event may have a triggering event type such as, for example only, a wake-up event, a power-on event, a communication event, or sensor event.
- the triggering event may be a wake-up event or a power-on event raised by the processor 50 , or other another component, in response to the IoT device 14 waking up or powering on.
- the triggering event may also be raised from another device in communication with the IoT device 14 and that can cause the IoT device 14 to wake-up or power-on, such as a command from the ecosystem provider or from the controller 16 .
- the triggering event is a communication event raised by the processor 50 , the communications module 70 , or another component of the IoT device 14 .
- the communication event may be triggered when the communications module 70 receives a command to begin a transmission or may be raised when the communications module 70 activates a particular transceiver 74 .
- the triggering event is a sensor event.
- the sensor event may be raised by the processor 50 in communication with the activity module 96 or the sensor 80 .
- the sensor 80 is a motion sensor
- the sensor event may be raised when the motion sensor detects motion.
- the sensor event may also be raised by the processor 130 of the power module 66 based in part on a measurement from one or more power monitor of the one or more control switch 142 a - n .
- the processor 130 may raise the sensor event.
- the sensor event may also be raised by the processor 160 of the detection circuit 88 based in part on a measurement of a system parameter detected by the one or more detectors 168 a - n.
- monitoring one or more IoT device 14 system parameter includes monitoring a particular one or more system parameter based at least in part on the type of triggering event.
- Each type of triggering event may be associated with one or more operational setting and/or threshold of the device fingerprint.
- monitoring the particular system parameters may include measuring one or more system parameter and storing the measurement in memory.
- the power-up event may be associated with a selection of thresholds or a particular one or more operation type provided in the device fingerprint such as the power-up time threshold of the power state operation and the secure boot operation.
- the power-up event may trigger monitoring the activation time system parameter because of an association between the power-up event and the power-up time threshold and may trigger monitoring the time parameter associated with the code validation time threshold and the software decryption time threshold if, based on the software encryption setting, the software is encrypted.
- the activation time system parameter and the time parameter may provide an amount of time since the IoT device 14 was powered on or may provide a timestamp of the power-on event.
- step 216 may be started following step 208 .
- determining if a termination event has been received includes receiving a termination event and stopping monitoring one or more IoT device 14 system parameter (step 208 ).
- the termination event may be, for example, a time termination event, a network termination event, an external termination event, or any other event operable to terminate monitoring one or more system parameter. For example, if the time parameter associated with the secure boot operation of the device fingerprint is being measured, a timer termination event may be raised after a set period of time to stop further measurement of the time parameter or, after a set period of time, a second timestamp is recorded. Similarly, if the if the activation time system parameter is being measured, the timer termination event may be raised to stop further measurement of the time parameter or, after a set period of time, a second timestamp is recorded.
- determining compliance of the IoT device 14 with the device fingerprint includes comparing the particular one or more system parameter monitored in step 208 against the device fingerprint and, if the particular one or more system parameter fails to meet a threshold of the fingerprint, raising a failed compliance event indicating the failed threshold.
- the processor 160 of the detection circuit 88 or other processor component, handles the failed compliance event based on the failed threshold.
- the processor 160 handling the failed threshold, may send a disable signal to the power module 66 causing the processor 130 to disable one or more power connection, may send a power cycle command to the power module 66 causing the processor 130 to power cycle the IoT device 14 , may send a disable command to the communications module 70 causing either the communications module 70 or the transceiver 74 , or both, to become disabled, and may send a notification to the user indicating the failed compliance event has occurred and, in some embodiments, further indicating the failed threshold, or some combination thereof.
- a power-up duration may be determined by the measurement of the time parameter or by the difference between the second time and the first time.
- the power-up duration is compared against, for example, the developer layer software decryption time threshold. If the power-up duration is outside the software decryption time threshold, a failed compliance event indicating the developer layer software decryption time threshold may be raised.
- the power-up duration may be compared against the code validation time threshold, if the power-up duration is outside the code validation time threshold, the failed compliance event indicating the code validation time threshold may be raised.
- the abnormal operation process 200 includes an IoT device 14 as a thermostat device, where the thermostat device may include at least one temperature sensor 80 and at least one control device 84 to control an HVAC device.
- the device fingerprint for the thermostat device may include a silicon layer, a developer layer, and a normalized layer.
- the developer layer may include a transceiver temperature threshold indicative of an expected maximum temperature of the transceiver 74 , an active transceiver time threshold indicative of a time range during which the transceiver 74 is active during normal operations, a transceiver power threshold indicative of a power consumed while operating the transceiver 74 , a processor temperature threshold indicative of an expected maximum temperature of the processor 50 , an inactive power consumption threshold indicative of a power consumed while the IoT device 14 is inactive, an active power consumption threshold indicative of a power consumed while the IoT device 14 is active, a control device operating power threshold indicative of a power consumed while operating the control device 84 , a control device time threshold indicative of a time range during which the control device 84 is controlled, a sensor operating power threshold indicative of a power consumed while operating the temperature sensor, and a sensor time threshold indicative of a tame range during which the temperature sensor is active, for example.
- a transceiver temperature threshold indicative of an expected maximum temperature of the transceiver
- the thermostat device may periodically check a temperature of the room, transmit the temperature, e.g., to the controller, and, depending on the temperature, control the HVAC device.
- a sensor event is raised, resulting in a monitor operation of a sensor power parameter resulting in a sensor power consumed and a sensor operation time parameter resulting in a sensor operation duration.
- a termination event is raised for the monitor operation, and the sensor power consumed is compared against the sensor operating power threshold and any threshold of the silicon layer or normalized layer associated with the sensor power parameter, and the sensor operation duration is compared against the sensor time threshold and any threshold of the silicon layer or normalized layer associated with the Sensor operation time parameter.
- a failed compliance event indicating the failed threshold is raised.
- a communication event may be raised, resulting in a monitor operation of a transceiver temperature parameter resulting in a transceiver temperature, a transceiver power parameter resulting in a transceiver power consumed, and a transceiver time parameter resulting in a transceiver active duration.
- a termination event is raised for the monitor operation, and the transceiver temperature is compared against the transceiver temperature threshold, the transceiver power consumed is compared against the transceiver power threshold, and the transceiver active duration is compared against the active transceiver time threshold. If any of the transceiver temperature, transceiver power consumed, or transceiver active duration exceeds the respective threshold, a failed compliance event indicating the exceeded threshold is raised.
- the device fingerprint includes the developer layer having a first threshold for a particular parameter, e.g., an operating temperature threshold for a transceiver temperature parameter, and the silicon layer having a second threshold for the particular parameter, and a measured transceiver temperature exceeds either the first threshold or the second threshold, the failed compliance event is raised indicating the exceeded threshold.
- the device fingerprint further includes the normalized layer having a third threshold for the particular parameter. If the transceiver temperature exceeds any of the first threshold, the second threshold, or the third threshold, the failed compliance event is raised indicating the exceeded threshold.
- the processor 160 of the detection circuit 88 handles the failed compliance event based on the failed, or exceeded, threshold.
- the processor 160 handling the failed threshold, may send a disable signal to the power module 66 causing the processor 130 to disable one or more power connection, may send a power cycle command to the power module 66 causing the processor 130 to power cycle mode thereby cycling at least one power connection of the IoT device 14 , may send a disable command to the communications module 70 causing either the communications module 70 or the transceiver 74 , or both, to become disabled, and may send a notification to the user indicating the failed compliance event has occurred, and, in some embodiments, further indicating the failed threshold, or some combination thereof.
- the processor 160 of the detection circuit 88 or other processor component, handling the failed compliance event indicating a failed or exceeded threshold of the silicon layer may notify, or otherwise indicate to, the user that the IoT device developer has not followed recommended guidelines from the circuitry manufacturer, that the IoT device developer has misconfigured the software or bypassed security steps outlined in the silicon layer, or that features of the circuitry are improperly used by the developer.
- the IoT device 14 can be made by storing a device profile and/or a plurality of device fingerprints within the memory 54 , 134 , or 164 of the IoT device 14 .
- Each of the device fingerprints have a predetermined operation identifier, and a plurality of measured system parameters indicative of proper operation of at least one component (the processor 50 , the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having one or more transceiver 74 , the sensor 80 , the control device 84 , or the detection circuit 88 ) of the IoT device 14 during or after the occurrence of a predetermined operation.
- Computer executable logic is stored within the detection circuit 88 of the IoT device 14 .
- the computer executable logic is operable to read the predetermined operation identifier identifying the predetermined operation, access a device fingerprint stored within the non-transitory memory 54 , 134 or 164 with the predetermined operation identifier, measure a plurality of system parameters during or after the occurrence of the predetermined operation to generate measured system parameters, compare at least two of the measured system parameters against the predetermined system parameters to determine whether the at least one component is functioning properly, and output a signal indicative of the at least one component not functioning properly to disable the at least one component of the IoT device 14 .
- the physical components e.g., the processor 50 , the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having one or more transceiver 74 , the sensor 80 , the control device 84 , or the detection circuit 88
- the physical components e.g., the processor 50 , the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having one or more transceiver 74 , the sensor 80 , the control device 84 , or the detection circuit 88
- the physical components e.g., the processor 50 , the memory 54 , the timer 58 , the user interface 62 , the power module 66 , the communications module 70 having one or more transceiver 74 , the sensor 80 , the control device 84 , or the detection circuit 88
- the computer executable logic is stored within the detection circuit 88 .
- At least one component of the IoT device 14 is enabled to perform a predetermined operation, to monitor a plurality of system parameters of the at least one component of the IoT device 14 during or after an occurrence of the predetermined operation; and to store the plurality of system parameters as measured system parameters in a device fingerprint in a non-transitory memory 54 , 134 or 164 associated with a predetermined operation identifier identifying the predetermined operation. Enabling the device 14 to perform the predetermined operation and the other steps can be accomplished by providing power to the power module 66 , turning the IoT device 14 on using the user interface 62 , or selecting the predetermined operation to be performed through the user interface 62 .
- the computer executable logic is operable to perform the predetermined operation and the other steps at one or more instance in time.
- the computer executable logic is operable to perform the predetermined operation and the other steps at a first instance in time, a second instance in time different from the first instance in time by a first time period, and a third instance in time different from the second instance in time by a second time period.
- the first time period and the second time period may be the same or different time periods.
- the computer executable logic is operable to perform the predetermined operation and the other steps after a predetermined period of time or after a random period of time.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Power Sources (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
- The present patent application claims priority to Provisional Patent Application U.S. Ser. No. 62/881,218 titled “System and Method for BOT Attack Protection In IOT Devices”, filed on Jul. 31, 2019, and Provisional Patent Application U.S. Ser. No. 62/881,870 entitled “SYSTEM AND METHOD FOR STOPPING BOTNET ATTACKS AT THE SOURCE”, filed on Aug. 1, 2019, the entire contents of both applications are hereby expressly incorporated herein by reference.
- The present disclosure relates generally to network connected devices and, more particularly, to a system and method to prevent attacks against such devices.
- In recent times, a large number of devices have been connected to a network, such as the Internet. Often referred to as the Internet of Things devices (IoT devices), these devices include sensors, such as temperature sensors, pressure sensors, moisture sensors, light sensors, motion sensors, and the like. These sensors are Internet connected and remotely accessible. For example, a temperature sensor could monitor the temperature of a home, a refrigerator, or a freezer. The temperature can be remotely reported to a user's device, such as a mobile communication device (e.g., cellphone). Similarly, a moisture sensor can report water leaks, such as from a washing machine or water heater. A motion sensor can be used as part of a security system.
- Other IoT devices are active devices, such as remote-controlled video monitors, temperature controllers, and the like. An active IoT device in an automobile permits the user to remotely start the automobile and warm up the engine or adjust the interior temperature. A common feature found in each IoT device is the ability to communicate over a network; however, communicating over a network has a potential shortcoming—the lack of security in IoT devices often leaves them vulnerable to attack by unscrupulous individuals.
- Traditionally, most defenses against such attacks using IoT devices have been reactive instead of proactive. Reactive responses try to mitigate or control the damage, but do not prevent an attack from happening. Proactive solutions may include providing security on the IoT device to prevent hacking. Further in some locations, advanced security is needed to protect IoT devices, such as IoT devices in automobiles or relied upon in hospitals. As billions more IoT devices are deployed in the world the problem of insecure IoT devices and the risks associated with a failed device, either due to a hack, a software bug, or a hardware failure, is compounded.
- What is needed is a solution that is a proactive defense against attacks. This present disclosure describes a system and method to proactively defend against attacks.
- An Internet of Things device is herein disclosed. The problem of proactively defending against attacks is addressed by the Internet of Things device comprising a communication module operable to connect to a network, a memory storing a device fingerprint having a plurality of predetermined system parameters, a processor coupled to the memory and operable to execute instructions stored in the memory, and an activity module, including at least one of a sensor and a control device, the activity module under control of the processor, to perform a predetermined operation with at least one of the sensor and the control device. The activity module communicates on the network via the communications module. The processor measures system parameters during performance of the predetermined operation, compares measured system parameters to predetermined system parameters of the device fingerprint, and disables the communications module, the processor, or the activity module responsive to the measured system parameters being out of compliance with the predetermined system parameters. In other embodiments, a method of operating an Internet of Things device is disclosed. In the method, electrical power is provided to electrical circuitry in the Internet of Things device. The Internet of Things device is communicately coupled to a network using a communications module having one or more transceiver. An activity module of the Internet of Things device is activated to perform a predetermined operation, wherein activating the activity module includes determining compliance of a plurality of measured system parameters against a plurality of system parameters of a device fingerprint stored within a non-transitory memory of the Internet of Things device during performance of the predetermined operation, and disabling the Internet of Things device due to at least two of the measured system parameters being out of compliance with predetermined system parameters.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more implementations described herein and, together with the description, explain these implementations. The drawings are not intended to be drawn to scale, and certain features and certain views of the figures may be shown exaggerated, to scale or in schematic in the interest of clarity and conciseness. Not every component may be labeled in every drawing. Like reference numerals in the figures may represent and refer to the same or similar element or function. In the drawings:
-
FIG. 1 is a diagram of an exemplary embodiment of an IoT network implemented in accordance with the present disclosure. -
FIG. 2 is a block diagram of an exemplary embodiment of an IoT device constructed in accordance with the present disclosure. -
FIG. 3 is a functional block diagram of an exemplary embodiment of a power module constructed in accordance with the present disclosure. -
FIG. 4 is a functional block diagram of an exemplary embodiment of a detection circuit constructed in accordance with the present disclosure. -
FIG. 5 is a flow diagram of an exemplary embodiment of an abnormal signal detection process. - Before explaining at least one embodiment of the disclosure in detail, it is to be understood that the disclosure is not limited in its application to the details of construction, experiments, exemplary data, and/or the arrangement of the components set forth in the following description or illustrated in the drawings unless otherwise noted. The disclosure is capable of other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for purposes of description and should not be regarded as limiting.
- As used in the description herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variations thereof, are intended to cover a non-exclusive inclusion. For example, unless otherwise noted, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may also include other elements not expressly listed or inherent to such process, method, article, or apparatus.
- Further, unless expressly stated to the contrary, “or” refers to an inclusive and not to an exclusive “or”. For example, a condition A or B is satisfied by one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
- In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the inventive concept. This description should be read to include one or more, and the singular also includes the plural unless it is obvious that it is meant otherwise. Further, use of the term “plurality” is meant to convey “more than one” unless expressly stated to the contrary.
- As used herein, any reference to “one embodiment,” “an embodiment,” “some embodiments,” “one example,” “for example,” or “an example” means that a particular element, feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment and may be used in conjunction with other embodiments. The appearance of the phrase “in some embodiments” or “one example” in various places in the specification is not necessarily all referring to the same embodiment, for example.
- The use of ordinal number terminology (i.e., “first”, “second”, “third”, “fourth”, etc.) is solely for the purpose of differentiating between two or more items and, unless explicitly stated otherwise, is not meant to imply any sequence or order of importance to one item over another.
- The use of the term “at least one” or “one or more” will be understood to include one as well as any quantity more than one. In addition, the use of the phrase “at least one of X, Y, and Z” will be understood to include X alone, Y alone, and Z alone, as well as any combination of X, Y, and Z.
- Circuitry, as used herein, may be analog and/or digital components, or one or more suitably programmed processors (e.g., microprocessors) and associated hardware and software, or hardwired logic. Also, a “component” may perform one or more functions. The term “component,” may include hardware, such as a processor (e.g., microprocessor), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a combination of hardware and software, and/or the like. The term “processor” as used herein means a single processor or multiple processors working independently or together to collectively perform a task.
- Software may include one or more computer readable instructions that when executed by one or more components cause the component to perform a specified function. It should be understood that the algorithms described herein may be stored on one or more non-transitory computer readable medium. Exemplary non-transitory computer readable mediums may include random access memory, read only memory, flash memory, and/or the like. Such non-transitory computer readable mediums may be electrically based, optically based, magnetically based, and/or the like.
- As used herein, an attack may include simultaneously directing network traffic to a target device, such as an IoT device, a specific website server or specific network infrastructure. Attacks may further include BOT Attacks, DDoS attacks, and target device hardware attacks, such as battery attacks, e.g., an attack to cause excessive power drain of the target device, or any other attack of a target device intending to affect usage of the target device in a manner inconsistent with the target device's normal operation and use.
- Referring now to
FIG. 1 , shown therein is a diagram of an exemplary embodiment of anIoT network 10 generally comprising one ormore IoT device 14 a-n in communication with acontroller 16 via one or more communication link 20 a-n, aLAN 24, and anetwork 28. In one embodiment, IoT device 14 a,IoT device 14 b, andIoT device 14 n are connected to thecontroller 16 bycommunication link 20 a,communication link 20 b, and communication link 20 n respectively. Thecontroller 16 may be, as shown inFIG. 1 , within theLAN 24. TheLAN 24 is in communication with thenetwork 28 via acommunication link 20 d. In one embodiment, one ormore IoT device 14 a-n connects directly to thenetwork 28 as depicted byIoT device 14 c communicating with thenetwork 28 viacommunication link 20 c, andIoT device 14 d communicating with thenetwork 28 viacommunication link 20 d. In this embodiment, theIoT device controller 16 via thenetwork 28. In one embodiment, each of the one ormore IoT device 14 a-n may be in communication with at least oneother IoT device 14 a-n without being in communication with thecontroller 16 as represented inFIG. 1 with theIoT devices 14 a and 14 b communicating via thecommunication link 20 e. - In one embodiment, the
IoT network 10 is not limited to any particular type ofIoT device 14 a-n. The one ormore IoT device 14 a-n may be anyIoT device 14, as depicted inFIG. 2 and described below in more detail. - In one embodiment, the
controller 16 communicates with the one ormore IoT device 14 a-n via one or more communication link 20 a-n. In one embodiment, where thecontroller 16 and the one ormore IoT device 14 a-n are in theLAN 24, the communication links 20 a-n between thecontroller 16 and the one ormore IoT device 14 a-n do not connect to thenetwork 28 and are implemented as LAN connections. In one embodiment, thecontroller 16 may be implemented as part of a personal computer, a laptop, a server, a mobile communication device (e.g., cell phone, PDA), a stand-alone device, and the like or some combination thereof. For the sake of simplicity, these various embodiments are illustrated as thecontroller 16. Thecontroller 16 communicates with thenetwork 28 via thecommunication link 20 d. In one embodiment, thecontroller 16 enables communication between the one ormore IoT device 14 a-n within theLAN 24 to thenetwork 28 via thecommunication link 20 d. - In one embodiment, the
controller 16 is implemented outside of theLAN 24 and is in communication with thenetwork 28 via thecommunication link 20 d. The one ormore IoT device 14 a-n may still be implemented in theLAN 24; however, the one ormore IoT device 14 a-n may connect to thecontroller 16 via thenetwork 28. - As used herein, an ecosystem coordinator refers to an IoT device control system or IoT device organizing system that coordinates, organizes, and/or controls communications between the one or
more IoT device 14 a-n and thecontroller 16, a user, thenetwork 28, and theLAN 24, or some combination thereof. In one embodiment, the ecosystem coordinator includes thecontroller 16 and, in some embodiments, includes thecontroller 16 integrated with aparticular IoT device 14. Non-limiting examples of the ecosystem coordinator are Google Nest or Google Assistant (Google, LLC, Palo Alto, Calif.), Amazon Alexa (Amazon.com, Inc., Seattle, Wash.), and Insteon (Smartlabs, Inc., Irvine, Calif.). In one embodiment, theIoT network 10 includes more than onecontroller 16, for example, a first controller (not shown) is a component of the ecosystem coordinator and a second controller (not shown) is in communication with the ecosystem coordinator. In one embodiment, theIoT network 10 further includes one or more ecosystem coordinator. - In one embodiment, the
network 28 may be any type of network and may be implemented by using one or more network topology and/or protocol, such as the World Wide Web (or Internet using a TCP/IP protocol), a local area network (LAN), a wide area network (WAN), a metropolitan network, a wireless network, a cellular network, a Global System for Mobile Communications (GSM) network, a code division multiple access (CDMA) network, a 3G network, a 4G network, a 5G network, a satellite network, a radio network, an optical network, a cable network, a public switched telephone network, an Ethernet network, a short-range wireless network (such as a Zigbee network, an IEEE 802.15.4/802.15.5 network, Bluetooth network and/or the like), a wireless mesh network, a P2P network, an LPWAN network, a Z-wave network, and combinations thereof, and/or the like. It is conceivable that in the near future, embodiments of the present disclosure may use more advanced networking topologies and/or protocols. Each communication link 20 a-n may be implemented based, at least in part, on the one or more protocol of the one or more network topology used to implement thenetwork 28 and/or theLAN 24. Thus, the one or more communication link 20 a-n is not dependent on a particular protocol, a particular network hardware, or a particular network topology. As depicted inFIG. 1 , network infrastructure, such as wired and wireless connections to Internet service providers, routers, modems, gateways, switches, cellular infrastructure, and/or the like are omitted for the sake of clarity. - In one embodiment, the
LAN 24 may be implemented similar to the implementation of thenetwork 28. Thecontroller 16 and one ormore IoT device 14 a-n connected to theLAN 24 may communicate with one another without connecting to thenetwork 28, that is, the one or more communication link 20 a-n within theLAN 24, such as thecommunication link 20 a and thecommunication link 20 b, do not traverse thenetwork 28. In one embodiment, thecommunication link 20 a and thecommunication link 20 b do not directly connect to thenetwork 28 when thenetwork 28 is implemented as the internet, for example, but instead connect to thecontroller 16. - In one embodiment, the one or more communication link 20 a-n depict a logical pathway for bidirectional communication between one or more component of the
IoT network 10, that is, the one or more communication link 20 a-n may enable communication between the one ormore IoT device 14 a-n, thecontroller 16, theLAN 24, and/or thenetwork 28. By way of example only, if thecontroller 16 is a PC, thecommunication link 20 d may be implemented as a conventional network connection, such as a wired or wireless connection to a network service provider, or, if thecontroller 16 is a mobile communication device, thecommunication link 20 d may be implemented as a cellular communication link. The communication link 20 a-n is not dependent on network topology used to implement the communication link 20 a-n. In one embodiment, thecommunication link 20 d may be implemented as a first network topology and thecommunication link 20 a or thecommunication link 20 b may be implemented as one or more second network topology. For example, thecommunication link 20 d may be implemented using a TCP/IP protocol whereas thecommunication link 20 a or thecommunication link 20 b may be implemented as a Zigbee network. - Network traffic, as used herein, may include one or more network packet sent from a sending device (i.e., any device sending the network packet) and received by a receiving device (i.e., any device receiving the network packet) during an active network connection. The active network connection may be formed by the one or more communication link 20 a-n between the sending device and the receiving device. A communication stream may include a substantially continuous transmission of network traffic from the sending device to the receiving device. Each network packet may include header information and data. The communication link 20 a-n associated with each
IoT device 14 enables theIoT device 14 to transmit data as a communication stream from theIoT device 14 to thecontroller 16, anotherIoT device 14 a-n, and/or thenetwork 28. - Referring now to
FIG. 2 , shown therein is a block diagram of an exemplary embodiment of theIoT device 14 constructed in accordance with the present disclosure. Generally, theIoT device 14 comprises a plurality of components including aprocessor 50, amemory 54, atimer 58, auser interface 62, apower module 66, acommunications module 70 having one ormore transceiver 74, asensor 80, acontrol device 84, and adetection circuit 88, or some combination thereof. Each component is connected to one or more other component via asystem bus 92. Thesensor 80 and thecontrol device 84 may be components of anactivity module 96 as discussed below in more detail. TheIoT device 14 also includes ahousing 100 surrounding and containing theprocessor 50, thememory 54, thetimer 58, theuser interface 62, thepower module 66, thecommunications module 70 having thetransceiver 74, thesensor 80, thecontrol device 84, and thedetection circuit 88, or some combination thereof. - Each
IoT device 14 is implemented as a combination of hardware and software. The software may be vulnerable to remote hacking that allows the hacker to control one or more aspect of theIoT device 14 and mount an attack as described above. Unintentional software bugs may cause malfunctions that can resemble an attack. To detect and prevent an attack, the hardware of theIoT device 14 detects and stops attacks, preferably outside of the control of the software application. In one embodiment, one or more component of theIoT device 14 may be implemented as a circuit on or within a particular chip such as a System On a Chip (SoC). In one embodiment, eachIoT device 14 may include an IoT type. The IoT type is a categorization based on a function performed and/or an industry in which theIoT device 14 is used. Non-limiting examples of an IoT type may include: Appliance, Automotive, Garden, Home and Office, Lighting and Electrical, Multimedia, Security, Sensors and Controls, Wearables and Health, and Wi-Fi and Networking, or some combination thereof. The IoT type may be further classified into subtypes of each type. One non-limiting example may include anIoT device 14 having an IoT type of “Appliance” being further classified into one or more of HVAC, home appliance, and/or industrial grade appliance. Subtype examples have only been provided for the IoT type of Appliance for the sake of clarity and simplicity; it is understood that each IoT type may include one or more subtype associated with the IoT type. - In one embodiment, the
IoT device 14 may include one ormore detection circuit 88. As shown inFIG. 2 , thedetection circuit 88 is coupled to thesystem bus 92 by a dashed line. This is intended to indicate that thedetection circuit 88 may be integrated with theprocessor 50, thememory 54, thepower module 66, thesensor 80, thecontrol device 88, thecommunications module 70 and/or the transceiver 77, or, thedetection circuit 88 may be separate from theprocessor 50, thememory 54, thepower module 66, thesensor 80, thecontrol device 84, thecommunications module 70 and/or thetransceiver 74 and not connected via every bus of thesystem bus 92. In another embodiment, thedetection circuit 88 is coupled to one or more component of theIoT device 14 but may not be coupled to one or more other component of theIoT device 14. Thedetection circuit 88 is shown inFIG. 4 and discussed in more detail below. - In one embodiment, the
IoT device 14 may include one ormore processor 50 in communication with one or more component of theIoT device 14, such as, but not limited to, thememory 54, thetimer 58, theuser interface 62, thepower module 66, thecommunications module 70 having thetransceiver 74, thesensor 80, thecontrol device 84, and thedetection circuit 88, or some combination thereof via thesystem bus 92. Theprocessor 50 may be implemented as a conventional microprocessor, application specific integrated circuit (ASIC), digital signal processor (DSP), programmable gate array (PGA), field programmable gate array (FPGA), and/or the like. Alternatively, theprocessor 50 may be replaced by individual electrical circuit components depending on the complexity of theIoT device 14. TheIoT device 14 is not limited by a specific form of theprocessor 50. Additionally, theprocessor 50 may refer to asingle processor 50 ormultiple processors 50 working independently or together to collectively perform a task. Theprocessor 50 may include one or more core operating at a particular frequency. Each of the one or more code may be in communication with another core or may be operating in isolation from another core. - In one embodiment, the
memory 54 is one or more non-transitory computer readable medium storing computer executable logic, such as computer executable instructions, and data to control the operation of theprocessor 50 and/or another component of theIoT device 14. Thememory 54 may include random access memory (RAM), read-only memory (ROM), programmable memory, flash memory, and the like, or some combination thereof. Thememory 54 may be electrically based, optically based, magnetically based, and/or the like. TheIoT device 14 is not limited by a specific form of hardware used to implement thememory 54. Thememory 54 may also be integrally formed in whole or in part with theprocessor 54. - In one embodiment, the
timer 58 generates a time signal indicative of an increment of time and/or a current time. In one embodiment, thetimer 58 receives a timer start signal and, upon receiving a timer stop signal, generates a time signal indicative of an elapsed time. In one embodiment, thetimer 58 is integrated within one or more other component of theIoT device 14, such as theprocessor 50; however, in an alternative embodiment, thetimer 58 is implemented as circuitry separate from one or more component of theIoT device 14, but in communication via thesystem bus 92. In one embodiment, thetimer 58 transmits the time signal on a time bus of thesystem bus 92. In another embodiment, thetimer 58 may comprise a set of computer executable instructions that when executed by theprocessor 50 cause theprocessor 50 to implement thetimer 58. - The
IoT device 14 may include theuser interface 62. In one embodiment, theuser interface 62 may include an indicator to provide visual information to a user. For example, theuser interface 62 may be one or more LED. The one or more LED, when lighted, may indicate an IoT device status to the user. In another embodiment, theuser interface 62 includes one or more buttons configured to receive a user input from the user where the user input may be processed by theprocessor 50. In yet another embodiment, theuser interface 62 may be a display such as, for example, an LED screen, an OLED screen, an LCD screen, or similar component. - In one embodiment, the
IoT device 14 also includes thecommunications module 70 associated with one ormore transceiver 74. Thecommunications module 70 may be implemented on circuitry or may be implemented by theprocessor 50. Thecommunications module 70 controls the one ormore transceiver 74 of theIoT device 14 and operates the one ormore transceiver 74 to send and/or receive network transmissions. Thecommunications module 70 may provide connectivity between theIoT device 14 and thecontroller 16. Thecommunications module 70 may establish two-way communication with thecontroller 16 via the one ormore transceiver 70. For example, theIoT device 14 b may be in communication with thecontroller 16 viacommunication link 20 b and may be in communication with IoT device 14 a via acommunication link 20 e. Thecommunications module 70 ofIoT device 14 b may establish thecommunication link 20 b using afirst transceiver 74, which may be implemented, for example, conforming to the requirements of a WiFi protocol and thecommunications module 70 of theIoT device 14 b may establish thecommunication link 20 e using asecond transceiver 74, which may be implemented, for example, conforming to the requirements of a Bluetooth protocol. In one embodiment, each of the one ormore transceiver 74 may be implemented as hardware capable of establishing one or more communication link 20 a-n. In one embodiment, aparticular transceiver 74 may establish more than one communication link 20 a-n. One non-limiting example may include theparticular transceiver 74 establishing two or more communication links 20 a-n via a particular network topology and/or protocol, e.g., theparticular transceiver 74 may establish two or more WiFi protocol connections. It should be understood that use of thecommunications module 70 and the one ormore transceiver 74 consumes a significant amount of power of theIoT device 14 as compared to other components of theIoT device 14. When transmitting, power consumption by thecommunications module 70 and the one ormore transceivers 74 is greater than when not transmitting. - Each
IoT device 14 a-n may include thesensor 80 and/or thecontrol device 84. In one embodiment, non-limiting examples of thesensor 80 may include: a temperature sensor, a pressure sensor, a moisture sensor, a light sensor, a motion sensor, an environmental sensor, a gravity sensor, a magnetometer, an air quality sensor, a humidity sensor, a barometer, an accelerometer, a gyroscope, an infrared sensor, a Hall sensor, a pulse sensor, an audio sensor, an voltage and/or amperage sensor, a touch sensor, a tilt sensor, an ultrasonic sensor, a vibrations sensor, a water level sensor, a gas sensor, a wireless emissions sensor, a hygrometer, a motion sensor, a video camera, and the like, or some combination thereof. - Similarly, each
IoT device 14 a-n may include thecontrol device 84. Thecontrol device 84 may include any device to which the user may issue a command signal to operate the device. Non-limiting examples of thecontrol device 84 may include, a remote-controlled video camera (e.g., a PTZ security camera where the user may issue a command signal to adjust the pan, tilt, and/or zoom of the camera), a temperature controller (e.g., a thermostat where the user may issue a command signal to adjust a target temperature range), an alarm (e.g., a security system where the user may issue a command signal to disable or enable the alarm) and the like or some combination thereof. One ormore IoT device 14 a-n may include both thesensor 80 and thecontrol device 84. In one embodiment, theIoT device 14 may include one ormore sensor 80 and/or one ormore control device 84. - In one embodiment, the
sensor 80 and thecontrol device 84 may be referred to, collectively, as theactivity module 96. TheIoT device 14 may include one ormore activity module 96, eachactivity module 96 including one ormore sensor 80 and/or one ormore control device 84. Theactivity module 96 may be configured to perform a predetermined operation with thesensor 80 and thecontrol device 84. One non-limiting example of theactivity module 96 is a thermostat having asensor 80 as a temperature sensor and acontrol device 84 receiving a command signal to set a temperature range and issuing a control signal to execute the command signal, e.g., enabling or disabling an air conditioning unit. In one embodiment, theactivity module 96 may further be configured to operate thecommunications module 70, e.g., cause thecommunications module 70 to transmit via a communication link 20 one or more communication to thecontroller 16. Theactivity module 96 is said to be active when theactivity module 96 operates thecommunications module 70 and is said to be inactive when theactivity module 96 does not operate thecommunications module 70. - In one embodiment, components of the
IoT device 14 are coupled together by thesystem bus 92. Thesystem bus 92 may include an address bus, a data bus, a control bus, a power bus, a time bus, and/or the like. For the sake of convenience, the various busses are illustrated as thesystem bus 92. - In one embodiment, the
IoT device 14 includes thepower module 66. Referring now toFIG. 3 , shown therein is a block diagram of an exemplary embodiment of thepower module 66 constructed in accordance with the present disclosure. In one embodiment, thepower module 66 is positioned within thehousing 100 and includes aprocessor 130, amemory 134, apower supply 138, one or more control switch 142 a-n, and regulating circuitry. Theprocessor 130 may be constructed in a manner similar to theprocessor 50. Thememory 134 may be constructed in a manner similar to thememory 54. - The details of the implementation of the
power module 66 depend on the specific design of theIoT device 14. For example, thepower supply 66 may be a battery or a battery with voltage and/orcurrent regulating circuitry 146. In another embodiment, thepower supply 66 may be a port configured to receive a power from an external source, such as, from an electrical receptacle. In that embodiment, thepower supply 66 may also include an AC plug configured to supply power from the electrical receptacle and may also include a modular power supply, such as commonly used with cellular telephones. Thepower supply 66 in this embodiment includes a voltage transformer as well as voltage and/orcurrent regulator circuitry 146 that may be external to thehousing 100. In either embodiment, thepower module 66 has circuitry to supply power to theprocessor 50, thememory 54, thesensor 80, thecontrol device 84, thecommunications module 70, the one ormore transceiver 74, and thedetection circuit 88. Where the power is supplied from a source external from thehousing 100 of theIoT device 14, thepower module 66 may be referred to as an external power module. Similarly, apower module 66 having circuitry to supply power from a source (e.g., battery) internal to thehousing 100 of theIoT device 14 may be referred to as an internal power module. - In one embodiment, the
power module 66 includes one or more control switch 142 a-n connected to a power bus of thesystem bus 92. Each of the one ormore control switch 14 a-n may be logically connected to theprocessor 130 thereby enabling theprocessor 130 to cause one or more of the control switch 142 a-n to enable or disable a power connection of the power bus between thepower module 66 and other components of theIoT device 14. In this way, theprocessor 130 of thepower module 66 may enable a particular component of theIoT device 14 or disable a particular component of theIoT device 14 by enabling or disabling the power connection associated with the particular component. In one embodiment, each of the one or more control switch 142 a-n may be connected to a control bus, thereby enabling another component of theIoT device 14, e.g., thedetection circuit 88, to enable or disable the power connection of the power bus. - In one embodiment, the one or more control switch 142 a-n includes a power monitor (e.g., ammeter and/or voltmeter) to measure a current, and/or a voltage supplied by the
power module 66 to each component of theIoT device 14. Signals indicative of the current and/or voltage may be supplied to theprocessor 130, which may compute an amount of power supplied by thepower module 66 to each component of theIoT device 14, or an aggregate power supplied by thepower module 66 to two or more components of theIoT device 14. In one embodiment, theprocessor 130 may determine the power supplied by thepower module 66 by measuring the power monitor of each control switch 142 and storing each power supplied in thememory 134. In one embodiment, theprocessor 130 is connected to thebus system 92. In such an embodiment, theprocessor 130 may send one or more power data to another component of theIoT device 14. The power data may include a voltage supplied, a current supplied, and a duration for supplying the voltage and the current, or some combination thereof. Theprocessor 130 may send a disable signal to one or more of the control switches 142 a-n to disable a particular one or more component of theIoT device 14 by enabling or disabling the power connection of the power bus between thepower module 66 and the particular one or more component of theIoT device 14. - In one embodiment, the regulating
circuitry 146 may regulate a power or voltage supplied by thepower source 134 to normalize the power or voltage such that the components of theIoT device 14 may be supplied with adequate power to enable each component to function. In one embodiment, the regulatingcircuitry 146 may include one or more sensor. For example, if the sensor is temperature probe, the temperature probe may measure a temperature of theprocessor 130, thememory 134, thepower supply 134, the one or more control switch 142 a-n, and the regulatingcircuitry 146, or some combination thereof. In one embodiment, theprocessor 130 may read the temperature of theprocessor 130, thememory 134, thepower supply 138, the one or more control switch 142 a-n, or the regulatingcircuitry 146 and record the temperature in thememory 134. Theprocessor 130 may send one or more power module data to another component of theIoT device 14. The power module data may include a temperature for one or more of theprocessor 130, thememory 134, thepower supply 138, the one or more control switch 142 a-n, and the regulatingcircuitry 146. If the power and/or temperature exceeds a temperature threshold, theprocessor 130 may send a disable signal to one or more of the control switches 142 a-n to disable the power connection of one or more component of theIoT device 14 thus disabling theIoT device 14. - Referring now to
FIG. 4 , shown therein is a block diagram of an exemplary embodiment of thedetection circuit 88. Generally, thedetection circuit 88 is positioned within thehousing 100 and may include aprocessor 160, amemory 164 and one or more detectors 168 a-n. Theprocessor 160 may be constructed similar to theprocessor 50 and is connected to the data bus and/or the control bus of thesystem bus 92. Thememory 164 may be similar to thememory 54 discussed above. Thememory 164 may not be connected to thesystem bus 92 thereby maintaining isolation between thedetection circuit 88 and software stored in thememory 54 and being executed by theprocessor 50. - In one embodiment, the one or more detector 168 a-n includes a sensor configured to determine at least one system parameter of the
IoT device 14, for example, atemperature sensor 168 a to determine a temperature system parameter of one or more component of theIoT device 14, apower sensor 168 b to determine a power consumption parameter of one or more component of theIoT device 14, aphotodetector 168 c configured to determine a light produced parameter of one or more component of theIoT device 14, and abus monitor 168 d configured to determine a use parameter of one or more bus or control line of thesystem bus 92. The one or more detector 168 a-n is not limited to the above examples and may be any other detector designed or configured to determine a system parameter of theIoT device 14. In one embodiment, the one or more detector 168 a-n may include a radio wave sensor configured to determine whether aparticular transceiver 74 is active, that is, whether theparticular transceiver 74 is transmitting or receiving data. - Each of the one or more detector 168 a-n may be logically connected to the
processor 160 thereby enabling theprocessor 160 to measure the system parameter determined by each detector 168 a-n. In one embodiment, theprocessor 160 may measure each system parameter determined by each detector 168 a-n and store each system parameter in thememory 164. In one embodiment, theprocessor 50, in communication with theprocessor 160, can access the one or more detector 168 a-n. - In one embodiment, the
processor 160 is connected to thesystem bus 92. In such an embodiment, theprocessor 160 may receive one or more system parameter from each component of theIoT device 14, for example but not limited to, the power data from thepower module 66. Theprocessor 160 may also be logically connected to thesystem bus 92, and more specifically to the control bus, thereby enabling theprocessor 160 to send one or more control signal to each component of theIoT device 14. In one embodiment, the one or more control signal may include a deactivate command or a power-off command. In another embodiment, the one or more control signal is sent to thepower module 66 causing thepower module 66 to disable power to a particular one or more component of theIoT device 14. - In one embodiment, the
detection circuit 88 includes apower source 172. Thepower source 172 may be connected directly to thepower module 66, thus providing a power to thedetection circuit 88 without using the power bus of thesystem bus 92. In one embodiment, thepower source 172 is independent from thepower module 66, e.g., a dedicated battery. In yet another embodiment, thepower source 172 may be connected to one of the power bus of thesystem bus 92, directly connected to thepower module 66, or independent of thepower module 66, or some combination thereof. - In one embodiment, the
detection circuit 88 detects abnormal operation of theIoT device 14 by using one or more direct detection techniques, indirect detection technique, or combination thereof. A direct detection technique may include a technique that directly examines data sent by theIoT device 14, e.g., a detection technique that reads header information in one or more data packet. An indirect detection technique, however, measures a plurality of measured system parameters of a particular one or more component of theIoT device 14 against a plurality of predetermined system parameters of a device fingerprint. One example of an indirect detection technique is side-channel analysis. As used herein, side-channel analysis is a non-invasive approach using an indirect technique to continuously and in real-time measure system parameters of theIoT device 14 and compare the measured system parameters with the predetermined parameters of the device fingerprint. The measured system parameters are secondary indicators that a predetermined operation is being properly taken. If multiple measured system parameters are out of compliance with the predetermined system parameters, then the IoT device is disabled as described herein. - In one embodiment, a device profile is stored in the
memory 164 of thedetection circuit 88. The device profile includes a plurality of device fingerprints that are indicative of normal operation and/or predetermined requirements for operating/making theIoT device 14. Side-channel analysis is used to monitor at least one and preferably multiple system parameters. Exemplary system parameters monitored by side-channel analysis may include a processing time parameter, a power consumption parameter, a radio emissions parameter, a system bus access parameter, and the like or some combination thereof. The measured system parameter is compared to a predetermined system parameter that may be stored in thememory 164, for example. Thememory 164 may store a plurality of predetermined system parameters that may be supplied by the developer and/or the manufacturer of theIoT device 14 as being representative of proper system parameters of predetermined operations for theIoT device 14. By periodically measuring the system parameters of the IoT device, and comparing the measured system parameters against the predetermined system parameters during or after the occurrence of a predetermined operation, theprocessor 160 can determine whether or not the component(s) (e.g.,processor 50,memory 54,sensor 80 orcontrol device 84, for example) of theIoT device 14 are functioning properly. If the component(s) are functioning properly, then no further action may be taken by theprocessor 160, other than measuring the system parameters during a subsequent period when the predetermined operation is occurring or has occurred. If the component(s) are not functioning properly, then theprocessor 160 may disable theIoT device 14 as explained in more detail herein. - In one embodiment, the processing time parameter may indicate a time indicative of a duration of processing time for the predetermined operation, such as a key negotiation. In this example, the processing time parameter is referred to as a key negotiation processing time parameter. The
detection circuit 88 may determine the key negotiation processing time parameter by measuring a time involved during a key negotiation, e.g., a number of clock-cycles of theprocessor 50 or a time from thetimer 58, for a period of time during which the key negotiation is executed using either a hardware-based security engine or a software-based security engine. - In one embodiment, the power consumption parameter indicates a power consumed by the
processor 50, or other component of theIoT device 14, during a predetermined operation. For example, when the predetermined operation is a cryptographic operation, a cryptographic operation power consumption parameter may be determined by measuring thepower sensor 168 b associated with theprocessor 50 or power sensor 168 associated with another component of theIoT device 14. In one embodiment, the cryptographic power consumption parameter is more applicable when the IoT device takes similar steps in a similar order when executing a cryptographic operation. In one embodiment, thedetection circuit 88, in order to measure the power consumed by theprocessor 50, or other component of theIoT device 14, may communicate with thepower module 66 to receive a power data indicative of the power consumed by theprocessor 50, or other component of theIoT device 14. - In one embodiment, the radio emissions parameter may include one or more parameter relating to what, if any, radio emissions are generated by a memory component,
e.g. memory 54 when accessed via thebus system 92. The radio emissions parameter may be more applicable when theIoT device 14 takes specific steps in a consistent order when a particular operation is executed. For example, thedetection circuit 88 may include one or more detector 168 to measure radio emissions for each memory component of theIoT device 14. In one embodiment, the radio emissions parameter further includes an operation type parameter determined by theprocessor 50. To determine the operation type parameter, thedetection circuit 88 with the detector 168 may measure radio emissions of each memory module to determine whether a particular operation has been executed, e.g., whether a read or write operation has been performed on thememory 54 or other memory component. - In one embodiment, the system bus access parameter includes one or more access bus data such as an access pattern of the
system bus 92 between one or more of theprocessor 50, thetransceiver 74, thememory 54, thepower module 66, thetimer 58, thecommunications module 70, thesensor 80, and/or thecontrol device 84, or some combination thereof, for any particular operation performed by theIoT device 14. Each access pattern may include information regarding the one or more component accessing thesystem bus 92 as well as metadata about the access such as, for example, whether the access is a read/write access, an address location of the access, or the like. For example, the access pattern for a temperature reading operation, e.g., of a thermostat device, may include the pattern: theprocessor 50 accesses thesensor 80, stores a reading to thememory 54, then transmits the reading using thecommunications module 70 and metadata regarding access times between each component and access order between each component. Thedetection circuit 88 may monitor a particular temperature reading operation, e.g., with thebus monitor 168 d, to determine an order of access and a duration of access between each component of theIoT device 14 as the system bus access parameter. - The device fingerprint can be made by performing a predetermined operation by at least one component (e.g., the
processor 50, thememory 54, thetimer 58, theuser interface 62, thepower module 66, thecommunications module 70 having the one ormore transceiver 74, thesensor 80, thecontrol device 84, or the detection circuit 88) of the Internet ofThings device 14. A plurality of system parameters of the at least one component are measured by thedetection circuit 88 during or after the occurrence of the predetermined operation to generate measured system parameters. The measured system parameters are stored as a device fingerprint in a non-transitory memory, such as thememory 54, associated with a predetermined operation identifier (e.g., a numeric code, an alpha code, or an alphanumeric code) identifying the predetermined operation. - As used herein, the device fingerprint comprises one or more operational setting and/or one or more threshold of any system parameter of the
IoT device 14. Each of the one or more threshold and one or more operational setting may be categorized into a fingerprint layer, such as a silicon layer, a developer layer, and/or a normalized layer. The device fingerprint may include one or more operational setting not organized into a fingerprint layer, for example, the device fingerprint may include an operations setting identifying the IoT type and/or IoT subtype of theIoT device 14. - In one embodiment, the silicon layer comprises, for example, one or more operational setting and/or one or more threshold determined or provided by a manufacturer of one or more circuitry of a particular component. Each threshold provided by the circuitry manufacturer may be based on an expected parameter of the circuitry known to the manufacturer. For example, a manufacturer of a
particular transceiver 74 may provide one or more threshold, such as, a power consumption threshold based on a power consumed parameter, an operating temperature threshold based on an operating temperature parameter, or other threshold based on a measurable parameter relating to operation of theparticular transceiver 74. - In one embodiment, the developer layer comprises, for example, one or more operational setting and/or one or more threshold from the developer of the IoT device 14 (developer) and organized into one or more operation type. For example, the developer layer may be further organized into one or more operation types, including a secure boot operation, a session key negotiation operation, a packet handling operation, a power state operation, a physical event operation, and a tamper detection operation, for example. Each operation type includes one or more operational setting and/or threshold providing expected thresholds or settings of system parameters. In one embodiment, each operation type may be associated with a triggering event as described in more detail below. The developer layer may be considered a “known good” reference.
- In one embodiment, the secure boot operation includes a code signature setting, a code validation threshold, a software encryption setting, a software decryption time threshold, and a boot jump vector memory location setting, or some combination thereof, for example. The code signature setting may include a signature of the software stored in the
memory 54. The code validation threshold may be an expected duration to validate the software stored in thememory 54 against the signature of the code signature setting. If the software is encrypted, the developer may include the software encryption setting and the software decryption time threshold in the secure boot operation. The software encryption setting may include an encryption information such as encryption algorithm and encryption strength. The software decryption time threshold may be an expected duration needed to decrypt the software stored in thememory 54 or may be a range of expected durations during which the software stored in thememory 54 is expected to be decrypted. The code validation threshold and the software decryption threshold may be associated with a time parameter as determined, e.g., by thetimer 62. - In one embodiment, the session key negotiation operation includes a security engine setting and a key negotiation time threshold, for example. With the security engine setting, the developer may indicate whether a hardware-based security engine or a software-based security engine is used by the
IoT device 14. Generally, the hardware-based security engine will execute more quickly than the software-based security engine. Most security engines will dither the power supply to mask operations being executed, whereas the software-based security engine, executing on theprocessor 50, will not include power dithering. The key negotiation time threshold may be a duration or range of durations during which proper key negotiation is expected to occur. - In one embodiment, the packet handling operation includes a packet decryption time threshold, a packet processing time threshold, a packet response generation time threshold, a response encryption time threshold, and a malformed packet response time threshold, for example. The packet decryption time threshold may be a duration or duration range during which the developer expects the
IoT device 14 to decrypt a network packet. The packet processing time threshold may be a duration or duration range during which the developer expects theIoT device 14 to process the network packet. The packet response generation time threshold may be a duration or duration range during which the developer expects theIoT device 14 to generate a response to the network packet. The packet response encryption time threshold may be a duration or duration range during which the developer expects theIoT device 14 to encrypt a response to the network packet. The malformed packet response time threshold may be a duration or duration range during which the developer expects theIoT device 14 to respond to a malformed network packet. - In one embodiment, the power state operation includes a power-up time threshold and a wake-up time threshold. The power-up time threshold may be a duration or duration range for which the developer expects the
IoT device 14 to power-up from a powered-off state. The wake-up time threshold may be a duration or duration range during which the developer expects theIoT device 14 to wake-up from a low-power state, hibernation state, or sleep state. The power-up time threshold and the wake-up time threshold may be associated with an activation time system parameter. - In one embodiment, the physical event operation includes an event response time threshold. The response time threshold may be an event response time duration or duration range during which the developer expects the
IoT device 14 to response to a physical event. For example, the event response time duration may be a period of time between occurrence of a physical event and detection, by thesensor 80 designed to detect the physical event, of the physical event. - In one embodiment, the developer layer may further include one or more operational setting and/or the one or more threshold provided by the developer and, for example, may include one or more threshold associated with a power of one or more component of the
IoT device 14, one or more threshold associated with an expected operation time of one or more component of theIoT device 14, and one or more operational parameter associated, for example, with whether a password is required to access theIoT device 14, whether the password required to access theIoT device 14 is encrypted, and/or whether the password required to access theIoT device 14 is changeable. In one embodiment, one or more operation setting and/or threshold of the developer layer is created while the developer develops or programs theIoT device 14, for example, using a software development kit (SDK). - In one embodiment, the normalized layer comprises one or more operational setting and/or one or more threshold as determined during normal operation of the
IoT device 14. The normalized layer may be determined by an initial calibration sequence such as in machine learning mode in step 206 of U.S. patent application Ser. No. 16/944,822 entitled “System for Attack Protection in IOT Devices” filed Jul. 31, 2020, the entire contents of which are hereby incorporated in its entirety. - Referring now to
FIG. 5 , shown therein is a flow diagram of an abnormaloperation detection process 200 generally comprising the steps of: receiving a triggering event (step 204); monitoring one ormore IoT device 14 system parameters (step 208); determining if a terminate event has been received (step 212); and, if the terminate trigger has not been received, returning to step 208, otherwise, determining compliance of theIoT device 14 with the device fingerprint (step 216), and disabling theIoT device 220 responsive to at least two measured system parameters being out of compliance with at least two predetermined system parameters of the device fingerprint (step 220). In one embodiment, the abnormaloperation detection process 200 is performed by theprocessor 50, however, in other embodiments, the abnormaloperation detection process 200 is performed by theprocessor 130 of thepower module 66 or the processor 150 of thedetection circuit 88, or some combination thereof. If thestep 216 determines all of only one of the measured system parameters are in compliance with the predetermined system parameters, then theprocess 200 branches from thestep 216 to thestep 204 such that the abnormaloperation detection process 200 repeats. - In one embodiment, receiving a triggering event (step 204) may include, for example, receiving the triggering event generated by another component of the
IoT device 14 or receiving the triggering event from outside theIoT device 14, that is, theIoT device 14 may receive the triggering event from anotherIoT device 14, from thecontroller 16, from the ecosystem coordinator, or the like. The triggering event may have a triggering event type such as, for example only, a wake-up event, a power-on event, a communication event, or sensor event. - In one embodiment, the triggering event may be a wake-up event or a power-on event raised by the
processor 50, or other another component, in response to theIoT device 14 waking up or powering on. The triggering event may also be raised from another device in communication with theIoT device 14 and that can cause theIoT device 14 to wake-up or power-on, such as a command from the ecosystem provider or from thecontroller 16. - In one embodiment, the triggering event is a communication event raised by the
processor 50, thecommunications module 70, or another component of theIoT device 14. The communication event may be triggered when thecommunications module 70 receives a command to begin a transmission or may be raised when thecommunications module 70 activates aparticular transceiver 74. - In one embodiment, the triggering event is a sensor event. The sensor event may be raised by the
processor 50 in communication with theactivity module 96 or thesensor 80. For example, if thesensor 80 is a motion sensor, the sensor event may be raised when the motion sensor detects motion. The sensor event may also be raised by theprocessor 130 of thepower module 66 based in part on a measurement from one or more power monitor of the one or more control switch 142 a-n. For example, if theprocessor 130 measuring the power monitor of a particular control switch 142 identifies a change in power consumption, theprocessor 130 may raise the sensor event. The sensor event may also be raised by theprocessor 160 of thedetection circuit 88 based in part on a measurement of a system parameter detected by the one or more detectors 168 a-n. - In one embodiment, monitoring one or
more IoT device 14 system parameter (step 208) includes monitoring a particular one or more system parameter based at least in part on the type of triggering event. Each type of triggering event may be associated with one or more operational setting and/or threshold of the device fingerprint. In one embodiment, monitoring the particular system parameters may include measuring one or more system parameter and storing the measurement in memory. For example, the power-up event may be associated with a selection of thresholds or a particular one or more operation type provided in the device fingerprint such as the power-up time threshold of the power state operation and the secure boot operation. Thus, the power-up event may trigger monitoring the activation time system parameter because of an association between the power-up event and the power-up time threshold and may trigger monitoring the time parameter associated with the code validation time threshold and the software decryption time threshold if, based on the software encryption setting, the software is encrypted. The activation time system parameter and the time parameter may provide an amount of time since theIoT device 14 was powered on or may provide a timestamp of the power-on event. In one embodiment, when the type of triggering event is associated with one or more operational setting,step 216 may be started followingstep 208. - In one embodiment, determining if a termination event has been received (step 212) includes receiving a termination event and stopping monitoring one or
more IoT device 14 system parameter (step 208). The termination event may be, for example, a time termination event, a network termination event, an external termination event, or any other event operable to terminate monitoring one or more system parameter. For example, if the time parameter associated with the secure boot operation of the device fingerprint is being measured, a timer termination event may be raised after a set period of time to stop further measurement of the time parameter or, after a set period of time, a second timestamp is recorded. Similarly, if the if the activation time system parameter is being measured, the timer termination event may be raised to stop further measurement of the time parameter or, after a set period of time, a second timestamp is recorded. - In one embodiment, determining compliance of the
IoT device 14 with the device fingerprint (step 216) includes comparing the particular one or more system parameter monitored instep 208 against the device fingerprint and, if the particular one or more system parameter fails to meet a threshold of the fingerprint, raising a failed compliance event indicating the failed threshold. Theprocessor 160 of thedetection circuit 88, or other processor component, handles the failed compliance event based on the failed threshold. In one embodiment, theprocessor 160, handling the failed threshold, may send a disable signal to thepower module 66 causing theprocessor 130 to disable one or more power connection, may send a power cycle command to thepower module 66 causing theprocessor 130 to power cycle theIoT device 14, may send a disable command to thecommunications module 70 causing either thecommunications module 70 or thetransceiver 74, or both, to become disabled, and may send a notification to the user indicating the failed compliance event has occurred and, in some embodiments, further indicating the failed threshold, or some combination thereof. - In the example above of the trigger event being the power-up event, a power-up duration may be determined by the measurement of the time parameter or by the difference between the second time and the first time. The power-up duration is compared against, for example, the developer layer software decryption time threshold. If the power-up duration is outside the software decryption time threshold, a failed compliance event indicating the developer layer software decryption time threshold may be raised. Similarly, the power-up duration may be compared against the code validation time threshold, if the power-up duration is outside the code validation time threshold, the failed compliance event indicating the code validation time threshold may be raised.
- One non-limiting example of the
abnormal operation process 200 includes anIoT device 14 as a thermostat device, where the thermostat device may include at least onetemperature sensor 80 and at least onecontrol device 84 to control an HVAC device. The device fingerprint for the thermostat device may include a silicon layer, a developer layer, and a normalized layer. The developer layer may include a transceiver temperature threshold indicative of an expected maximum temperature of thetransceiver 74, an active transceiver time threshold indicative of a time range during which thetransceiver 74 is active during normal operations, a transceiver power threshold indicative of a power consumed while operating thetransceiver 74, a processor temperature threshold indicative of an expected maximum temperature of theprocessor 50, an inactive power consumption threshold indicative of a power consumed while theIoT device 14 is inactive, an active power consumption threshold indicative of a power consumed while theIoT device 14 is active, a control device operating power threshold indicative of a power consumed while operating thecontrol device 84, a control device time threshold indicative of a time range during which thecontrol device 84 is controlled, a sensor operating power threshold indicative of a power consumed while operating the temperature sensor, and a sensor time threshold indicative of a tame range during which the temperature sensor is active, for example. During normal operation of the thermostat device, the thermostat device may periodically check a temperature of the room, transmit the temperature, e.g., to the controller, and, depending on the temperature, control the HVAC device. Each time the thermostat device checks the temperature, a sensor event is raised, resulting in a monitor operation of a sensor power parameter resulting in a sensor power consumed and a sensor operation time parameter resulting in a sensor operation duration. Once the temperature is determined by the sensor, a termination event is raised for the monitor operation, and the sensor power consumed is compared against the sensor operating power threshold and any threshold of the silicon layer or normalized layer associated with the sensor power parameter, and the sensor operation duration is compared against the sensor time threshold and any threshold of the silicon layer or normalized layer associated with the Sensor operation time parameter. If either the sensor power consumed or the sensor operation duration exceeds the respective threshold, a failed compliance event indicating the failed threshold is raised. Similarly, each time the thermostat device transmits the temperature, a communication event may be raised, resulting in a monitor operation of a transceiver temperature parameter resulting in a transceiver temperature, a transceiver power parameter resulting in a transceiver power consumed, and a transceiver time parameter resulting in a transceiver active duration. Once the temperature transmission has been completed, a termination event is raised for the monitor operation, and the transceiver temperature is compared against the transceiver temperature threshold, the transceiver power consumed is compared against the transceiver power threshold, and the transceiver active duration is compared against the active transceiver time threshold. If any of the transceiver temperature, transceiver power consumed, or transceiver active duration exceeds the respective threshold, a failed compliance event indicating the exceeded threshold is raised. - In one embodiment, where the device fingerprint includes the developer layer having a first threshold for a particular parameter, e.g., an operating temperature threshold for a transceiver temperature parameter, and the silicon layer having a second threshold for the particular parameter, and a measured transceiver temperature exceeds either the first threshold or the second threshold, the failed compliance event is raised indicating the exceeded threshold. In some embodiments, the device fingerprint further includes the normalized layer having a third threshold for the particular parameter. If the transceiver temperature exceeds any of the first threshold, the second threshold, or the third threshold, the failed compliance event is raised indicating the exceeded threshold.
- In one embodiment, the
processor 160 of thedetection circuit 88, or other processor component, handles the failed compliance event based on the failed, or exceeded, threshold. Theprocessor 160, handling the failed threshold, may send a disable signal to thepower module 66 causing theprocessor 130 to disable one or more power connection, may send a power cycle command to thepower module 66 causing theprocessor 130 to power cycle mode thereby cycling at least one power connection of theIoT device 14, may send a disable command to thecommunications module 70 causing either thecommunications module 70 or thetransceiver 74, or both, to become disabled, and may send a notification to the user indicating the failed compliance event has occurred, and, in some embodiments, further indicating the failed threshold, or some combination thereof. - In one embodiment, the
processor 160 of thedetection circuit 88, or other processor component, handling the failed compliance event indicating a failed or exceeded threshold of the silicon layer may notify, or otherwise indicate to, the user that the IoT device developer has not followed recommended guidelines from the circuitry manufacturer, that the IoT device developer has misconfigured the software or bypassed security steps outlined in the silicon layer, or that features of the circuitry are improperly used by the developer. - In some embodiments, the
IoT device 14 can be made by storing a device profile and/or a plurality of device fingerprints within thememory IoT device 14. Each of the device fingerprints have a predetermined operation identifier, and a plurality of measured system parameters indicative of proper operation of at least one component (theprocessor 50, thememory 54, thetimer 58, theuser interface 62, thepower module 66, thecommunications module 70 having one ormore transceiver 74, thesensor 80, thecontrol device 84, or the detection circuit 88) of theIoT device 14 during or after the occurrence of a predetermined operation. Computer executable logic is stored within thedetection circuit 88 of theIoT device 14. The computer executable logic is operable to read the predetermined operation identifier identifying the predetermined operation, access a device fingerprint stored within thenon-transitory memory IoT device 14. In making theIoT device 14, the physical components (e.g., theprocessor 50, thememory 54, thetimer 58, theuser interface 62, thepower module 66, thecommunications module 70 having one ormore transceiver 74, thesensor 80, thecontrol device 84, or the detection circuit 88) of theIoT device 14 can be coupled together and placed within thehousing 100 prior to or after the device fingerprints are loaded into thememory detection circuit 88. Further, updated device fingerprints and/or computer executable logic can be provided into thememory detection circuit 88 after theIoT device 14 has been placed in use. - In use, at least one component of the
IoT device 14 is enabled to perform a predetermined operation, to monitor a plurality of system parameters of the at least one component of theIoT device 14 during or after an occurrence of the predetermined operation; and to store the plurality of system parameters as measured system parameters in a device fingerprint in anon-transitory memory device 14 to perform the predetermined operation and the other steps can be accomplished by providing power to thepower module 66, turning theIoT device 14 on using theuser interface 62, or selecting the predetermined operation to be performed through theuser interface 62. - In one embodiment, the computer executable logic is operable to perform the predetermined operation and the other steps at one or more instance in time. For example, the computer executable logic is operable to perform the predetermined operation and the other steps at a first instance in time, a second instance in time different from the first instance in time by a first time period, and a third instance in time different from the second instance in time by a second time period. The first time period and the second time period may be the same or different time periods. Thus, the computer executable logic is operable to perform the predetermined operation and the other steps after a predetermined period of time or after a random period of time.
- From the above description, it is clear that the inventive concepts disclosed and claimed herein are well adapted to carry out the objects and to attain the advantages mentioned herein, as well as those inherent in the invention. While exemplary embodiments of the inventive concepts have been described for purposes of this disclosure, it will be understood that numerous changes may be made which will readily suggest themselves to those skilled in the art and which are accomplished within the spirit of the inventive concepts disclosed and claimed herein.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/945,180 US20210037041A1 (en) | 2019-07-31 | 2020-07-31 | Method to rate the security of a device through fingerprint analysis |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962881218P | 2019-07-31 | 2019-07-31 | |
US201962881870P | 2019-08-01 | 2019-08-01 | |
US16/945,180 US20210037041A1 (en) | 2019-07-31 | 2020-07-31 | Method to rate the security of a device through fingerprint analysis |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210037041A1 true US20210037041A1 (en) | 2021-02-04 |
Family
ID=74230564
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/944,945 Active 2041-05-15 US11665189B2 (en) | 2019-07-31 | 2020-07-31 | Method for attack protection in IoT devices |
US16/945,115 Active 2041-04-30 US11665190B2 (en) | 2019-07-31 | 2020-07-31 | System to rate the security of a device through fingerprint analysis |
US16/945,180 Abandoned US20210037041A1 (en) | 2019-07-31 | 2020-07-31 | Method to rate the security of a device through fingerprint analysis |
US16/944,822 Active 2041-06-08 US11711392B2 (en) | 2019-07-31 | 2020-07-31 | System for attack protection in IoT devices |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/944,945 Active 2041-05-15 US11665189B2 (en) | 2019-07-31 | 2020-07-31 | Method for attack protection in IoT devices |
US16/945,115 Active 2041-04-30 US11665190B2 (en) | 2019-07-31 | 2020-07-31 | System to rate the security of a device through fingerprint analysis |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/944,822 Active 2041-06-08 US11711392B2 (en) | 2019-07-31 | 2020-07-31 | System for attack protection in IoT devices |
Country Status (6)
Country | Link |
---|---|
US (4) | US11665189B2 (en) |
EP (2) | EP3987412A4 (en) |
JP (2) | JP2022546925A (en) |
CN (2) | CN114341848A (en) |
AU (2) | AU2020321986A1 (en) |
WO (2) | WO2021022209A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11662788B1 (en) * | 2022-11-11 | 2023-05-30 | Liveview Technologies | Power reset, and associated circuitry, devices, systems, mobile units, and methods |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020145531A (en) * | 2019-03-05 | 2020-09-10 | ソニー株式会社 | Information processing device, information processing method, and program |
US11785021B2 (en) * | 2019-11-11 | 2023-10-10 | Jan-Robin Gerards | Systems and methods for facilitating detection of a security event associated with an IoT device |
US11316886B2 (en) * | 2020-01-31 | 2022-04-26 | International Business Machines Corporation | Preventing vulnerable configurations in sensor-based devices |
KR102322408B1 (en) * | 2020-12-07 | 2021-11-05 | 주식회사 샌즈랩 | IoT Device Where Server Resource Detects and Removes Malware |
US20230092777A1 (en) * | 2021-09-20 | 2023-03-23 | Cisco Technology, Inc. | Decentralized machine learning across similar environments |
US20230164158A1 (en) * | 2021-11-22 | 2023-05-25 | Darktrace Holdings Limited | Interactive artificial intelligence-based response loop to a cyberattack |
US20230308467A1 (en) * | 2022-03-24 | 2023-09-28 | At&T Intellectual Property I, L.P. | Home Gateway Monitoring for Vulnerable Home Internet of Things Devices |
WO2024020272A1 (en) * | 2022-07-19 | 2024-01-25 | Centurylink Intellectual Property Llc | System and method for suppressing transmissions from a wireless device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190163561A1 (en) * | 2017-11-29 | 2019-05-30 | International Business Machines Corporation | Damage detection system |
US20190354681A1 (en) * | 2018-05-17 | 2019-11-21 | Arm Ip Limited | Systems and methods for monitoring power consumption |
US20200026852A1 (en) * | 2018-07-20 | 2020-01-23 | Cisco Technology, Inc. | User interface for responding to wireless attacks |
US20200177485A1 (en) * | 2018-12-04 | 2020-06-04 | Cisco Technology, Inc. | Network traffic metrics and trends for internet of things management |
US11256802B1 (en) * | 2019-05-10 | 2022-02-22 | Ca, Inc. | Application behavioral fingerprints |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7584507B1 (en) * | 2005-07-29 | 2009-09-01 | Narus, Inc. | Architecture, systems and methods to detect efficiently DoS and DDoS attacks for large scale internet |
US8332945B2 (en) * | 2009-06-05 | 2012-12-11 | The Regents Of The University Of Michigan | System and method for detecting energy consumption anomalies and mobile malware variants |
US9336030B1 (en) * | 2012-09-18 | 2016-05-10 | Amazon Technologies, Inc. | Placement and tuning of virtual machines |
WO2014144857A2 (en) * | 2013-03-15 | 2014-09-18 | Power Fingerprinting Inc. | Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems |
US10003497B2 (en) * | 2014-11-21 | 2018-06-19 | Belkin International Inc. | System for utility usage triggering action |
US9268938B1 (en) * | 2015-05-22 | 2016-02-23 | Power Fingerprinting Inc. | Systems, methods, and apparatuses for intrusion detection and analytics using power characteristics such as side-channel information collection |
US9817676B2 (en) * | 2015-06-23 | 2017-11-14 | Mcafee, Inc. | Cognitive protection of critical industrial solutions using IoT sensor fusion |
US11507064B2 (en) * | 2016-05-09 | 2022-11-22 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for industrial internet of things data collection in downstream oil and gas environment |
DE102016216291A1 (en) * | 2016-08-30 | 2018-03-01 | BSH Hausgeräte GmbH | Monitoring of room areas by means of cleaning robots |
US20180091526A1 (en) * | 2016-09-23 | 2018-03-29 | Qualcomm Incorporated | MITIGATING AN INTERNET OF THINGS (IoT) WORM |
US10380348B2 (en) * | 2016-11-21 | 2019-08-13 | ZingBox, Inc. | IoT device risk assessment |
US12096308B2 (en) * | 2016-12-15 | 2024-09-17 | Conquer Your Addiction Llc | Systems and methods for conducting/defending digital warfare or conflict |
US10631165B1 (en) * | 2017-04-12 | 2020-04-21 | Ca, Inc. | Systems and methods for updating locked states of computing systems |
RU2649290C1 (en) * | 2017-04-28 | 2018-03-30 | Акционерное общество "Лаборатория Касперского" | SYSTEM AND METHOD OF TRAFFIC FILTRATION AT DDoS-ATTACK DETECTION |
US10116671B1 (en) * | 2017-09-28 | 2018-10-30 | International Business Machines Corporation | Distributed denial-of-service attack detection based on shared network flow information |
KR20240073163A (en) * | 2018-07-24 | 2024-05-24 | 퀄컴 인코포레이티드 | Techniques for rate adaptation under congestion and latency constraints |
US10826771B2 (en) * | 2018-09-28 | 2020-11-03 | Cisco Technology, Inc. | State identity vector for system self awareness |
US10708373B2 (en) * | 2018-11-09 | 2020-07-07 | Oath Inc. | Decentralized method and system for accurately determining a level of activity of a client device |
US11121957B2 (en) * | 2018-12-28 | 2021-09-14 | Intel Corporation | Dynamic quality of service in edge cloud architectures |
-
2020
- 2020-07-31 EP EP20847162.3A patent/EP3987412A4/en not_active Withdrawn
- 2020-07-31 WO PCT/US2020/044600 patent/WO2021022209A1/en unknown
- 2020-07-31 CN CN202080061582.8A patent/CN114341848A/en active Pending
- 2020-07-31 CN CN202080061586.6A patent/CN114303144A/en active Pending
- 2020-07-31 EP EP20846152.5A patent/EP3987411A4/en active Pending
- 2020-07-31 JP JP2022506288A patent/JP2022546925A/en active Pending
- 2020-07-31 US US16/944,945 patent/US11665189B2/en active Active
- 2020-07-31 US US16/945,115 patent/US11665190B2/en active Active
- 2020-07-31 US US16/945,180 patent/US20210037041A1/en not_active Abandoned
- 2020-07-31 WO PCT/US2020/044587 patent/WO2021022202A1/en unknown
- 2020-07-31 JP JP2022506287A patent/JP2022546924A/en active Pending
- 2020-07-31 AU AU2020321986A patent/AU2020321986A1/en not_active Abandoned
- 2020-07-31 AU AU2020321987A patent/AU2020321987A1/en not_active Abandoned
- 2020-07-31 US US16/944,822 patent/US11711392B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190163561A1 (en) * | 2017-11-29 | 2019-05-30 | International Business Machines Corporation | Damage detection system |
US20190354681A1 (en) * | 2018-05-17 | 2019-11-21 | Arm Ip Limited | Systems and methods for monitoring power consumption |
US20200026852A1 (en) * | 2018-07-20 | 2020-01-23 | Cisco Technology, Inc. | User interface for responding to wireless attacks |
US20200177485A1 (en) * | 2018-12-04 | 2020-06-04 | Cisco Technology, Inc. | Network traffic metrics and trends for internet of things management |
US11256802B1 (en) * | 2019-05-10 | 2022-02-22 | Ca, Inc. | Application behavioral fingerprints |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11662788B1 (en) * | 2022-11-11 | 2023-05-30 | Liveview Technologies | Power reset, and associated circuitry, devices, systems, mobile units, and methods |
Also Published As
Publication number | Publication date |
---|---|
US20210035697A1 (en) | 2021-02-04 |
US20210037050A1 (en) | 2021-02-04 |
AU2020321986A1 (en) | 2022-02-24 |
WO2021022209A1 (en) | 2021-02-04 |
US11711392B2 (en) | 2023-07-25 |
WO2021022202A1 (en) | 2021-02-04 |
US11665190B2 (en) | 2023-05-30 |
JP2022546925A (en) | 2022-11-10 |
JP2022546924A (en) | 2022-11-10 |
CN114341848A (en) | 2022-04-12 |
AU2020321987A1 (en) | 2022-02-24 |
EP3987411A1 (en) | 2022-04-27 |
US11665189B2 (en) | 2023-05-30 |
US20210037049A1 (en) | 2021-02-04 |
EP3987411A4 (en) | 2023-04-12 |
EP3987412A4 (en) | 2023-01-11 |
CN114303144A (en) | 2022-04-08 |
EP3987412A1 (en) | 2022-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11665190B2 (en) | System to rate the security of a device through fingerprint analysis | |
US10298557B2 (en) | Method of sharing key between devices using physical access restriction | |
US10127785B2 (en) | Entry point opening sensor | |
US9928672B2 (en) | System and method of monitoring and controlling appliances and powered devices using radio-enabled proximity sensing | |
US10139897B2 (en) | Power-optimized image capture and push | |
CA2906195C (en) | Security system access profiles | |
US10593190B2 (en) | Systems and methods of providing status information in a smart home security detection system | |
KR20170102937A (en) | System and method for implementing Internet (IoT) remote control applications | |
CN101943942B (en) | Electronic device with sleep function and method for wakening same | |
US11075926B2 (en) | Cyber security framework for internet-connected embedded devices | |
CN113261319A (en) | Method of providing secure operation of a lighting network | |
KR102252533B1 (en) | Socket typed power monitoring apparatus using lora communication network | |
Buennemeyer et al. | Battery-sensing intrusion protection for wireless handheld computers using a dynamic threshold calculation algorithm for attack detection | |
CN113556324B (en) | Security defense method and control device of intelligent equipment and intelligent equipment | |
US20240313268A1 (en) | Right-to-Repair Battery-Replacement Methodologies and Applications Thereof | |
Giwa et al. | A Secure Smart Home Automation System with Mobile Platform | |
KR20150122002A (en) | Video Security System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: IOXT, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:REE, BRAD;REEL/FRAME:053372/0758 Effective date: 20200730 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: IOXT, LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TRIVELPIECE, CRAIG;REEL/FRAME:058829/0446 Effective date: 20220131 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |