The present disclosure generally relates to techniques for ransomware protection. More particularly, the present disclosure is related to providing lateral movement protection from Ransomware in environments such as shared VLAN environments.
Ransomware is one of the biggest threats facing the security industry today. Ransomware is a form of malware that infects computer systems. Ransomware is becoming an increasing problem in the computer/network security industry. Ransomware infects a computer system and encrypts files. A ransom is demanded in exchange for a decryption key.
Conventional enterprise security solutions have proved to be inadequate in view of the high-profile ransomware cases of large companies such as the Colonial Pipeline ransomware attack in 2021. The inadequacy of conventional enterprise security solutions is also evidenced by the fact that in 2020 51% of surveyed companies were hit by ransomware attacks.
Firewalls provide inadequate protection against ransomware attacks. In some companies, separate Virtual Local Area Networks (VLANs) are used to segment sections of a company by division as an additional layer of protection. For example, a finance department may have a separate VLAN domain than an engineering department. Or a finance department may have a different VLAN domain than a marketing department. However, this sort of segmentation of VLAN domains by departments doesn't address the problem of lateral movement of Ransomware attacks within a VLAN domain.
One of the reasons for the inadequacy of current enterprise security solutions is the difficulty of protecting against ransomware attacks within a shared VLAN based network architecture. If a device that is part of a shared VLAN broadcast domain is infected by ransomware or malware, there are very few security controls that can be implemented to prevent lateral propagation of the ransomware within the same VLAN network.
Referring to
Current security solutions for lateral propagation protection of ransomware are based on endpoint protection. The drawback of these approaches is that it relies on an agent deployed on each endpoint to detect malicious ransomware processes being launched. Deploying and managing these agents is a challenge for IT organizations, and furthermore they cannot be deployed on IoT devices (such as web cameras, printers, and other devices) and are frequently not supported on older versions of operating systems.
Conventional VLAN network architectures have a potential gap in protection associated with lateral movement of ransomware between endpoint devices. Software application on endpoint devices provides only limited protection due to a variety of practical problems in managing software apps on endpoint devices and the presence of other IoT devices at endpoint devices, such as web cameras, printers, etc. There is thus a potential for ransomware to enter the VLAN network and laterally propagate to endpoint devices.
A technique to police DHCP IP address assignment in a larger DHCP relay system is disclosed. The larger system includes a technique to detect lateral propagation of ransomware between endpoints in a VLAN is disclosed. In one implementation, a smart appliance includes a DHCP relay function. The smart appliance is set as the default gateway for intra-LAN communication for two or more endpoint devices. Message traffic from compromised endpoints is detected.
An example of a computer-implemented method of ransomware protection in a Virtual Local Area Network (VLAN) includes deploying a security appliance having a DHCP relay function. A subnet mask of 255.255.255.255 is used to set the security appliance as a default gateway for a plurality of endpoint devices of the shared VLAN environment. The security appliance monitors intra-VLAN communication between the plurality of endpoint devices of the shared VLAN environment. The security appliance detects lateral propagation of ransomware between endpoint devices via intra-VLAN communication in the shared VLAN environment.
The security appliance includes a capability to police IP address assignments. This provides an additional layer of protection against malicious devices. Enforcing correct and unique IP addresses in a subnet makes it more difficult for infected devices to spread ransomware.
It should be understood, however, that this list of features and advantages is not all-inclusive, and many additional features and advantages are contemplated and fall within the scope of the present disclosure. Moreover, it should be understood that the language used in the present disclosure has been principally selected for readability and instructional purposes, and not to limit the scope of the subject matter disclosed herein.
The present disclosure is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals are used to refer to similar elements.
In one implementation, virtual point to point links between a security appliance 150 and each endpoint 120 are established in a shared VLAN domain that forces all traffic from an endpoint to traverse the security appliance 150. In one implementation, the security appliance is deployed on an access port or a trunk port on an existing router or switch.
In one implementation, the security appliance 150 becomes the default gateway and the Dynamic Host Configuration Protocol (DHCP) Relay responsible for relaying IP address requests to the DHCP function on the network and overwriting the subnet mask in the response to a subnet mask comprised of all-ones—255.255.255.255.
When an individual endpoint 120 requests an IP address, the security appliance 150 sets the security appliance as the default gateway for the endpoint. In one implementation, the security appliance responds with a subnet comprised of all-ones—255.255.255.255—and sets itself as the default gateway for the endpoint. Since the endpoint receives an IP address with a subnet mask of 255.255.255.255, any network communication with other endpoints or internet applications needs to be routed via the default gateway. In other words, a network with a subnet mask of 255.255. 255.255 puts each device inside its own subnet, which forces them to communicate with the default gateway before communicating with any other device. The 255.255. 255.255 subnet mask may also be referred to by the Classless Inter-Domain Routing (CIDR) prefix /32, which has 1 IP address. The CIDR number comes from the number of ones in the subnet mask when converted to binary. The 255.255.255.255 subnet mask corresponds to a CIDR prefix of /32.
Since the security appliance 150 sets itself as the default gateway for the network (by virtue of the subnet mask being comprised of all-ones), any East-West communication between different endpoints 120 and communication between an endpoint 120 and other endpoints 120 or applications on different networks will be routed via it. This provides the security appliance with the unique ability to allow only authorized communication and disallow everything else.
In the example of
It will be understood that while the security appliance 150 may be deployed on an existing VLAN system, in some implementations it may also be incorporated into new VLAN system components, such as being incorporated into an access port or a trunk port.
From the perspective of the endpoint 120, other endpoints and applications appear to be in a different IP network. Hence all outbound packets are sent to the default gateway as shown in
Regardless of how the compromised endpoint became infected with ransomware, the security appliance 150 was earlier set as the default gateway. The security appliance 150 monitors message traffic and quarantines suspicious traffic from the compromised endpoint to other endpoints. This may include, for example, detecting message traffic that has attributes associated with ransomware, such as computer code for file scanning or encryption. It may also optionally include, in some implementations, detecting that message traffic that is unusual in comparison to a baseline profile of normal message traffic.
It is possible that ransomware in a compromised endpoint may attempt to directly communicate with another endpoint and bypass the security appliance 150. However, such an attempt to circumvent the security appliance 150 may still be detected and prevented.
The security appliance 150 restricts communication in a manner that significantly reduces the attack surface available to the ransomware to exploit vulnerabilities in other endpoints and/or applications and propagate laterally. It detects attempts to circumvent the protection provided by the security appliance. If a compromised endpoint attempts to bypass the default gateway and tries to laterally propagate to another device, this attempt would be detected by the security appliance and appropriate action would be taken. This detection is because the uncompromised endpoint would still send the response packets to the compromised endpoint via the security appliance 150 (due to the /32 default route). The security appliance 150 detects the fact that it has seen a response packet to a request sent by the compromised endpoint, and it alerts the operator in this case. Automatic actions may be taken by the security appliance 150 including quarantining the compromised endpoint so that further lateral propagation is impossible.
DHCP Relay Based Implementations
As previously discussed, a security appliance may be used to protect device endpoints on a shared VLAN network from lateral propagation of malware and ransomware. However, in some implementations the security appliance 150 may be implemented in different ways. In some end-use scenarios, it may be desirable to implement the security appliance to operate in combination with a conventional original DHCP server. For example, in a deployment of the security appliance to upgrade an existing VLAN network, customers may want to ensure that their original DHCP server continues to operate without any changes to it. Also, in some implementations ensuring a graceful failure mode is a key concern. For example, some customers may want assurance that there is a graceful failure mode in the unlikely event that the security appliance 150 temporarily goes down.
Since each individual endpoint device receives an IP address with a subnet mask of 255.255.255.255, any network communication with other endpoint devices or internet applications needs to be routed via the default gateway. From the perspective of an individual endpoint, other endpoints, and applications appear to be in a different IP network. Hence all outbound packets are sent to the default gateway as shown in
As illustrated in
The particular implementation of the security appliances in
While failure of the security appliance is an unlikely scenario, ultra-high reliability and graceful failure is important in some end use applications.
DHCP Relay Enhancements to Police DHCP Client Address Assignments
An enhancement to the example of the DHCP relay function of the security application 150 will now be described with regards to
In one implementation, the security appliance 150, as previously discussed. modifies the subnet mask to 255.255.255.255 for the security appliance to serve as a default secure gateway (SGW) to achieve endpoint isolation. However, referring to
The security appliance, which is integrated with the DHCP relay, is in the same broadcast domain/subnet as the clients. It acts as the gateway for all client devices in the broadcast domain/subnet that send packets to each other and outside the VLAN. When a client device requests an address already being used by another device, the DHCP relay can modify the request for an unused/non-reserved IP address.
That is, the security appliance still serves as the DHCP relay, as before, but further includes an additional module 152 to police the client device IP address assignments to provide an additional layer of protection from lateral propagation of ransomware.
The action of the DHCP Address Assignment Policing module 152 to police IP addresses enhances the security of the VLAN by ensuring that the IP addresses being assigned to DHCP client devices are unique and correct. This, in turn, helps to prevent a compromised device from acquiring an address via DHCP.
Module 152 provides additional functions to the DHCP relay for policing addresses that are new and provide an additional layer of protection from ransomware. This is a significant modification to the functionality of the DHCP relay, which normally would merely relay DHCP messages without altering them. However, this approach leverages off of well-known DHCP protocols. For example, the 4 basic steps of DHCP packets include: 1) DHCP Discover, 2) DHCP Offer, 3) DHCP request, and 4) DHCP Acknowledgement (ACK) or DHCP Negative Acknowledgement (NACK).
At a high level, the process includes examining, by module 152, DHCP packets between the DHCP server and client endpoint devices. The process polices, by the security appliance, 1) IP addresses requested by client endpoint devices, and 2) IP addresses assigned by the DHCP server. This can include policing the client IP addresses (ciaddr) requested by a client endpoint device in the DHCP protocol. It may also include policing the yiaddr IP address the DHCP server offers to a client endpoint device.
Examples of Policing of Address Assignments
For the purposes of generalizing the discussion, we can refer to the endpoint devices as the clients, the security appliance 150 with module 152 as the DHCP relay, and the firewall 110 with the DHCP functionality as the DHCP server.
Note that the DHCP relay is placed in the VLAN such that it can intercept DHCP packets sent by the DHCP server to a client and vice-versa. In one implementation, the ciaddr in the DHCP offer and the ACK are implemented such that when the client device requests an address renewal, the DHCP relay acts as the proxy DHCP server.
In one implementation, the DHCP relay can generate a DHCP NACK to client devices during REQUEST/NACK. In one implementation, the DHCP Relay can modify ciaddr in DISCOVER packet, sent by the client device, to the DHCP server. For the DHCP relay administration, the administration can include adding static, dynamic, and reserved IP address configurations of the DHCP relay. Additionally, the administration can include using banned device MAC addresses by the DHCP relay in policing DHCP address assignments. For the case of static address, conventionally static addresses are not added to DHCP server. However, adding static address information aids the DHCP relay to police DHCP address assignments.
In traditional networks utilizing a DHCP Relay to reach the DHCP server, MAC addresses that should be ignored are added to the DHCP server configuration, which makes them administratively banned. In one implementation, the security appliance (in which the DHCP Relay function resides, is configured to detect devices being compromised with ransomware and malware. The DHCP Relay is configured to stop relaying the DHCP assignments to compromised devices (in addition to configured banned devices), rendering the compromised devices quarantined, thus making the network more secure.
In one implementation, there are 4 basic types of devices in the VLAN in regard to IP addresses:
The DHCP address pool and reserved address assignments, as well as the ignore booting for banned devices can be configured on the DHCP server. However, in this disclosure these configurations also be supplied to the DHCP relay as well. The IP addresses used by the statically assigned devices would not be part of the DHCP address pool and the security appliance can detect a device has become compromised and with the DHCP Relay running on the security appliance, it can use this information to intentionally drop the DHCP packets to and from the device.
Consider the policing operation for a static address example. In one implementation, when a dynamic client device requests an address that is configured for a different MAC address of a static entry, the DHCP relay sends a NACK to the client device. In this example, the client device should start from DISCOVER and the DHCP server can then offer a different IP address to the client. However, note that the DHCP relay can send a DHCP decline to the DHCP server if it doesn't want the client device to use the offered address.
Consider now the policing operation for a reserved address for the examples of on-boarding and renewal. For the case of onboarding, when a reserved client device requests an address in Discover, there are two options. If the ciaddr is the same as the RESERVED address, the DHCP relay operation is performed as usual. However, if the ciaddr is not the same as the RESERVED address, the DHCP relay changes the ciaddr to the configured reserved address before sending it to the DHCP server. For the case of renewal, when the DHCP relay intercepts the DHCP REQUEST, the DHCP Relay sends the DHCP NACK to the client device if the requested address is not the configured RESERVED address. When the client receives the NACK, the client device will then uninstall the client address and start again from DISCOVER.
Referring to
During operation, the DHCP relay intercepts DHCP Discover and DHCP REQUEST packets the client endpoint device sent to the DHCP server. The DHCP relay is also responsible for relaying the DHCP OFFER, ACK and NACK packets back to the client endpoint devices. In one implementation, the DHCP relay examines the intercepted DHCP packets to make sure that the addresses being requested by clients for the DHCP server, and the addresses being assigned by the DHCP server to the clients are correct and unique in the subnet.
The IP address being requested by the client is the ciaddr. The IP address assigned by the DHCP server to the client is yiaddr. In order to police these IP addresses, in one implementation the DHCP relay is configured to perform the following functions: 1) modify ciaddr requested by a client in a DHCP DISCOVERY/REQUEST; 2) modify yiaddr assigned to a client in a DHCP OFFER; 3) generate DHCP NACK in response to a client DHCP Discover or Request; 4) proactively drop DHCP OFFER/ACK packet being sent to a client; and 5) generate DHCP decline to DHCP server in response to DHCP OFFER.
Referring to
If the MAC address is not banned, then the method moves to decision block 1410, which determines whether or not the client allocated a reserved address. If yes, the relay changes the ciaddr to the reserved address in block 1405 before forwarding the Discover/Request to the DHCP server in block 1425. If no, in decision block 1415 a decision is made whether the ciaddr uses allocated dynamic or static address. If yes, in block 1420, the relay chooses an unassigned address for the new ciaddr and moves to block 1425. If no, the process moves directly to block 1425.
As previously discussed, the DHCP address policing may be performed in a secure gateway. Generally speaking, alternate implementation requires the DHCP relay to be able to intercept all DHCP exchanges between the client and the server. However, there are other possible locations in which the DHCP address policing may be performed, such as on an L2 switch connecting a server to a client. However, L2 switches normally do not examine the L3 header where the DHCP data resides. An L2 switch would require modification to implement the functionality for DHCP address policing.
Other implementations of one or more of these aspects include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
These and other implementations may each optionally include one or more of the following features.
In the above description, for purposes of explanation, numerous specific details were set forth. It will be apparent, however, that the disclosed technologies can be practiced without any given subset of these specific details. In other instances, structures and devices are shown in block diagram form. For example, the disclosed technologies are described in some implementations above with reference to user interfaces and particular hardware.
Reference in the specification to “one embodiment”, “some embodiments” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least some embodiments of the disclosed technologies. The appearances of the phrase “in some embodiments” in various places in the specification are not necessarily all referring to the same embodiment.
Some portions of the detailed descriptions above were presented in terms of processes and symbolic representations of operations on data bits within a computer memory. A process can generally be considered a self-consistent sequence of steps leading to a result. The steps may involve physical manipulations of physical quantities. These quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals may be referred to as being in the form of bits, values, elements, symbols, characters, terms, numbers, or the like.
These and similar terms can be associated with the appropriate physical quantities and can be considered labels applied to these quantities. Unless specifically stated otherwise as apparent from the prior discussion, it is appreciated that throughout the description, discussions utilizing terms, for example, “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, may refer to the processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The disclosed technologies may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
The disclosed technologies can take the form of an entirely hardware implementation, an entirely software implementation or an implementation containing both software and hardware elements. In some implementations, the technology is implemented in software, which includes, but is not limited to, firmware, resident software, microcode, etc.
Furthermore, the disclosed technologies can take the form of a computer program product accessible from a non-transitory computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
A computing system or data processing system suitable for storing and/or executing program code will include at least one processor (e.g., a hardware processor) coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including, but not limited to, keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems and Ethernet cards are just a few of the currently available types of network adapters.
Finally, the processes and displays presented herein may not be inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the disclosed technologies were not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the technologies as described herein.
The foregoing description of the implementations of the present techniques and technologies has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present techniques and technologies to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the present techniques and technologies be limited not by this detailed description. The present techniques and technologies may be implemented in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the present techniques and technologies or its features may have different names, divisions and/or formats. Furthermore, the modules, routines, features, attributes, methodologies and other aspects of the present technology can be implemented as software, hardware, firmware or any combination of the three. Also, wherever a component, an example of which is a module, is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future in computer programming. Additionally, the present techniques and technologies are in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present techniques and technologies is intended to be illustrative, but not limiting.
This application is a continuation-in-part of U.S. patent application Ser. No. 17/521,092, filed Nov. 8, 2021, entitled “System and Method to Detect Lateral Movement of Ransomware by Deploying a Security Appliance Over a Shared Network to Implement a Default Gateway with Point-To-Point Links Between Endpoints”, which is a continuation of U.S. patent application Ser. No. 17/357,757, filed Jun. 24, 2021, now issued as U.S. Pat. No. 11,171,985 on Nov. 9, 2021, entitled “System and Method to Detect Lateral Movement of Ransomware by Deploying a Security Appliance Over a Shared Network to Implement a Default Gateway with Point-To-Point Links Between Endpoints” and a continuation of U.S. patent application Ser. No. 17/387,615, filed Jul. 28, 2021, now issued as U.S. Pat. No. 11,323,474 on May 3, 2022, entitled “System and Method for Determining Endpoint Compatibility with Subnet Prefix of All-Ones for Lateral Propagation Prevention of Ransomware”, which are hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
1093139 | Lease | Apr 1914 | A |
6611925 | Spear | Aug 2003 | B1 |
6914905 | Yip et al. | Jul 2005 | B1 |
8055800 | Bardzil et al. | Nov 2011 | B1 |
8312270 | Chou | Nov 2012 | B1 |
8347349 | Wilson | Jan 2013 | B1 |
8683052 | Brinskelle | Mar 2014 | B1 |
8850185 | Vaughn | Sep 2014 | B1 |
8869259 | Udupa | Oct 2014 | B1 |
9225736 | Roundy | Dec 2015 | B1 |
9282114 | Dotan | Mar 2016 | B1 |
9306965 | Grossman et al. | Apr 2016 | B1 |
9602529 | Jones et al. | Mar 2017 | B2 |
9712504 | Kurmala | Jul 2017 | B2 |
10298599 | Zhang | May 2019 | B1 |
10454950 | Aziz | Oct 2019 | B1 |
11030311 | Lopez | Jun 2021 | B1 |
11093139 | Karr et al. | Aug 2021 | B1 |
11171985 | Agrawal | Nov 2021 | B1 |
11240242 | Celik | Feb 2022 | B1 |
11252183 | Agrawal | Feb 2022 | B1 |
11303669 | Agrawal | Apr 2022 | B1 |
11303673 | Agrawal | Apr 2022 | B1 |
11323474 | Agrawal | May 2022 | B1 |
11374964 | Agrawal | Jun 2022 | B1 |
20030212907 | Genty | Nov 2003 | A1 |
20060028996 | Huegen | Feb 2006 | A1 |
20070101432 | Carpenter | May 2007 | A1 |
20080184157 | Selig | Jul 2008 | A1 |
20090217346 | Manring | Aug 2009 | A1 |
20090328209 | Nachenberg | Dec 2009 | A1 |
20100281159 | Boscolo | Nov 2010 | A1 |
20120079122 | Brown | Mar 2012 | A1 |
20130298242 | Kumar | Nov 2013 | A1 |
20140020053 | Kay | Jan 2014 | A1 |
20140059642 | Deasy | Feb 2014 | A1 |
20150281172 | He | Oct 2015 | A1 |
20160197962 | Winn | Jul 2016 | A1 |
20160323318 | Terrill et al. | Nov 2016 | A1 |
20170039310 | Wang | Feb 2017 | A1 |
20170085530 | Volkov | Mar 2017 | A1 |
20170093910 | Gukal | Mar 2017 | A1 |
20170149775 | Bachar et al. | May 2017 | A1 |
20170289134 | Bradley | Oct 2017 | A1 |
20170289191 | Thioux | Oct 2017 | A1 |
20170339190 | Epstein | Nov 2017 | A1 |
20170339250 | Momchilov | Nov 2017 | A1 |
20170344743 | Shi | Nov 2017 | A1 |
20180013788 | Vissamsetty | Jan 2018 | A1 |
20180097840 | Murthy | Apr 2018 | A1 |
20180189508 | Li | Jul 2018 | A1 |
20180324201 | Lowry | Nov 2018 | A1 |
20190116193 | Wang | Apr 2019 | A1 |
20190166152 | Steele | May 2019 | A1 |
20190245831 | Petit | Aug 2019 | A1 |
20190253432 | Ohtani | Aug 2019 | A1 |
20190312836 | Phillips | Oct 2019 | A1 |
20190332765 | Fu | Oct 2019 | A1 |
20200137110 | Tyler | Apr 2020 | A1 |
20200145416 | Mitzimberg | May 2020 | A1 |
20200228547 | Kottapalli | Jul 2020 | A1 |
20200356664 | Maor | Nov 2020 | A1 |
20210058395 | Jakobsson | Feb 2021 | A1 |
20210136037 | Balasubramaniam | May 2021 | A1 |
20210152595 | Hansen et al. | May 2021 | A1 |
20210218770 | Ben-Yosef | Jul 2021 | A1 |
20210264233 | Gronat | Aug 2021 | A1 |
20210280315 | Woldenberg | Sep 2021 | A1 |
20210336933 | Shah | Oct 2021 | A1 |
20210344667 | Huston, III | Nov 2021 | A1 |
20210400057 | Devane | Dec 2021 | A1 |
20220029965 | Chanak | Jan 2022 | A1 |
20220217133 | Montgomery | Jul 2022 | A1 |
20220217169 | Varanda | Jul 2022 | A1 |
20220229906 | Balek | Jul 2022 | A1 |
20220329585 | Chhabra | Oct 2022 | A1 |
20220360983 | Raman | Nov 2022 | A1 |
20220368689 | Ben-Noon | Nov 2022 | A1 |
20220393943 | Pangeni | Dec 2022 | A1 |
20220398321 | Baldwin | Dec 2022 | A1 |
20220408255 | Howe | Dec 2022 | A1 |
20230079444 | Parla | Mar 2023 | A1 |
Number | Date | Country |
---|---|---|
2826385 | Aug 2012 | CA |
109450959 | Mar 2019 | CN |
114143034 | Mar 2022 | CN |
115396230 | Nov 2022 | CN |
1844399 | Jun 2019 | EP |
M623435 | Feb 2022 | TW |
2005125084 | Dec 2005 | WO |
2008074621 | Jun 2008 | WO |
2016191376 | Dec 2016 | WO |
2018157247 | Sep 2018 | WO |
2021009645 | Jan 2021 | WO |
Entry |
---|
Thapa, Manish, “Mitigating Threats in IoT Network Using Device Isolation”, Maste?s Thesis, Feb. 4, 2018, 73 pgs. |
International Search Report and Written Opinion for PCT/US2020/020593, dated Apr. 15, 2020, 8 pgs. |
International Preliminary Report on Patentability for PCT/US2020/020593, Completed May 18, 2021, 8 pgs. |
Number | Date | Country | |
---|---|---|---|
Parent | 17387615 | Jul 2021 | US |
Child | 17521092 | US | |
Parent | 17357757 | Jun 2021 | US |
Child | 17387615 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17521092 | Nov 2021 | US |
Child | 18064177 | US |