{"id":204,"date":"2017-10-23T11:04:50","date_gmt":"2017-10-23T15:04:50","guid":{"rendered":"https:\/\/sites.bu.edu\/nislab\/?page_id=204"},"modified":"2019-08-01T09:29:13","modified_gmt":"2019-08-01T13:29:13","slug":"cascading-dos-attacks-on-wi-fi-networks","status":"publish","type":"page","link":"https:\/\/sites.bu.edu\/nislab\/cascading-dos-attacks-on-wi-fi-networks\/","title":{"rendered":"Cascading DoS Attacks on Wi-Fi Networks"},"content":{"rendered":"<p style=\"text-align: center;\">posted by Liangxiao Xin (xlx@bu.edu)<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/people.bu.edu\/staro\/CNS_2016.pdf\">Full paper<\/a> &amp; <a href=\"https:\/\/github.com\/xlxbu\/CDoS\">Simulation code<\/a><\/p>\n<h5 style=\"text-align: left;\">Outline:<\/h5>\n<ol>\n<li><a href=\"https:\/\/sites.bu.edu\/nislab\/?page_id=204&amp;preview=true#About-cascading-DoS-attack\">About\u00a0cascading DoS attack <\/a><\/li>\n<li><a href=\"https:\/\/sites.bu.edu\/nislab\/?page_id=204&amp;preview=true#Feasibility-of-the-attack\">Feasibility of the attack <\/a><\/li>\n<li><a href=\"https:\/\/sites.bu.edu\/nislab\/?page_id=204&amp;preview=true#Conclusion\">Conclusion <\/a><\/li>\n<\/ol>\n<h4 id=\"About-cascading-DoS-attack\">About\u00a0cascading DoS attack<\/h4>\n<p>A cascading DoS attack exploits a coupling vulnerability due to hidden nodes. The attack propagates beyond the starting location, lasts for long periods\u00a0of time, and forces the network to operate at its lowest bit rate. The attack can be started remotely and without violating the IEEE 802.11 standard, making it difficult to trace back.<\/p>\n<figure id=\"attachment215\" aria-describedby=\"caption-attachment215\" style=\"width: 403px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/general_case.png\" alt=\"general_case\" class=\"wp-image-215\" width=\"393\" height=\"334\" \/><figcaption id=\"caption-attachment215\" class=\"wp-caption-text\">Fig. 1: Illustration of a cascading denial of service attack. Transmissions by an attacker impact nodes located far away, due to interference coupling caused by hidden nodes.<\/figcaption><\/figure>\n<p>Figure 1 serves to illustrate this phenomenon at a high level. Suppose that an attacker increases the rate at which it generates packets, and transmits these packets in accordance with the IEEE 802.11 protocol. These transmissions may cause packet collisions at nodes concurrently receiving packets from other sources. Due to the infamous hidden node problem,\u00a0which is hard to avoid in wireless networks, transmitters may be unable to hear transmission by other nodes, even when using CSMA, and hence keep retransmitting packets until they reach the so-called retry limit of the back-off procedure. These retransmissions affect other neighbours and may propagate.<\/p>\n<h4 id=\"Feasibility-of-the-attack\">Feasibility of\u00a0the attack<\/h4>\n<h5>Network model<\/h5>\n<p>The network model considered in this paper is shown in Figure 2. We consider \\(N\\) pairs of nodes. Each node \\(A_i\\) (\\(i = 0, 1, 2, \\dots , N\\)) transmits packets to node \\(B_i\\). The dashed circle represents the range of transmission. Node \\(B_{i+1}\\) can receive packets from both node \\(A_i\\) and node \\(A_{i+1}\\). However, node \\(A_i\\) and node \\(A_{i+1}\\) cannot hear each other. That is, node\u00a0\\(A_i\\) is a hidden node with respect to node \\(A_{i+1}\\) (and viceversa). A packet collision happens at node \\(B_{i+1}\\) when packet transmissions by node \\(A_i\\) and \\(A_{i+1}\\) overlap.<\/p>\n<figure id=\"attachment250\" aria-describedby=\"caption-attachment250\" style=\"width: 646px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/linear_topology_new2-636x246.png\" alt=\"linear_topology_new2\" class=\"wp-image-250 size-medium\" width=\"636\" height=\"246\" srcset=\"https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/linear_topology_new2-636x246.png 636w, https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/linear_topology_new2.png 715w\" sizes=\"(max-width: 636px) 100vw, 636px\" \/><figcaption id=\"caption-attachment250\" class=\"wp-caption-text\">Fig. 2: Topology of the network. Node A<sub>i<\/sub> transmits packets to node B<sub>i<\/sub>. Node A<sub>i<\/sub> is a hidden node with respect to A<sub>i+1<\/sub>.<\/figcaption><\/figure>\n<h5 style=\"text-align: left;\">Attack goal<\/h5>\n<p style=\"text-align: left;\">Our goal is to investigate how node \\(A_0\\) can trigger a cascading DoS attack, resulting in a congestion collapse over the entire network. We start by increasing the packet generation rate at node \\(A_0\\). Node \\(A_0\\) transmits packets over its channel, in compliance with the IEEE 802.11 standard. The transmissions by node \\(A_0\\) cause packet collisions at node \\(B_1\\). These collisions require node \\(A_1\\) to retransmit packets. The increased amount of packet transmissions and retransmissions by node \\(A_1\\) impact node \\(A_2\\) and so forth. If this effect keeps propagating and amplifying, then the result is a network-wide denial of service, which we refer to as a cascading Denial of Service (DoS) attack. Because this attack is protocol-compliant, it is difficult to detect or trace back to the initiator. We note that the topology studied here could arise over different time and space in more complex network configurations.<\/p>\n<h5 style=\"text-align: left;\">Experimental result<\/h5>\n<p style=\"text-align: left;\">We set up an experimental testbed composed of six nodes. The testbed configuration is shown in Figure 3. We establish an IEEE 802.11n ad hoc network consisting of three pairs of nodes. Each node consists of a PC and a TP-LINK TLMN722N Wireless USB Adapter. We use RF cables and splitters to link the nodes, isolate them from external traffic, and obtain reproducible results.\u00a0We place 70 dB attenuators on links between node \\(A_i\\) and \\(B_i\\) (\\(i \\in 0, 1, 2\\)), and 60 dB attenuators on links between nodes \\(A_i\\) and \\(B_{i+1}\\). The difference in the signal attenuation of different links insures that a packet loss occurs if a hidden node transmits.\u00a0The transmission power of each node is set to 0 dBm. We use iPerf to generate\u00a0UDP data streams and to measure the throughput achieved on each node. The length of a packet is the default IP packet size of 1500 bytes.<\/p>\n<figure id=\"attachment263\" aria-describedby=\"caption-attachment263\" style=\"width: 407px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/exp_setup_new2-636x538.png\" alt=\"exp_setup_new2\" class=\"wp-image-263 \" width=\"397\" height=\"336\" srcset=\"https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/exp_setup_new2-636x538.png 636w, https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/exp_setup_new2.png 767w\" sizes=\"(max-width: 397px) 100vw, 397px\" \/><figcaption id=\"caption-attachment263\" class=\"wp-caption-text\">Fig. 3: Experimental testbed.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\">Figure 4 demonstrates the cascading DoS attack on the experimental testbed. At first, the packet generation rates of nodes \\(A_0\\), \\(A_1\\) and \\(A_2\\) are set to 400 Kb\/s. We observe that the throughput of all the nodes remains in the vicinity of 400 Kb\/s during the first 300 seconds. After 300 seconds, \\(A_0\\) starts transmitting packets at 1 Mb\/s. As a result, the throughput of nodes \\(A_1\\) and \\(A_2\\) suddenly vanishes. Once node \\(A_0\\) resumes transmitting at 400 Kb\/s, the throughput of node \\(A_1\\) and node \\(A_2\\) recovers.<\/p>\n<figure id=\"attachment259\" aria-describedby=\"caption-attachment259\" style=\"width: 432px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/implementation_result_new2.png\" alt=\"implementation_result_new2\" class=\"wp-image-259\" width=\"422\" height=\"435\" \/><figcaption id=\"caption-attachment259\" class=\"wp-caption-text\">Fig. 4: Throughput performance measurements in testbed. When node A<sub>0<\/sub> starts increasing its packet generation rate, the throughput of nodes A<sub>1<\/sub> and A<sub>2<\/sub> vanishes.<\/figcaption><\/figure>\n<h5 style=\"text-align: left;\">Simulation result<\/h5>\n<p>In order to gain a better insight into the attack in large-scale networks, we resort to ns-3.22 simulations, a state-of-the-art simulator which includes high-fidelity wireless libraries. We show the occurrence of cascading DoS attacks in ad hoc networks with fixed bit rate.<\/p>\n<p>We describe the occurrence of a cascading DoS attack in an ad hoc network with fixed bit rate. We consider a linear topology consisting of 40 pairs of nodes (i.e. a sequence of 40 hidden nodes), as shown in Figure 2. We fix the bit rate to 1 Mb\/s and the retry limit to \\(R = 7\\).\u00a0We set up a Wi-Fi network using the standard IEEE 802.11 library in ns-3. At each node \\(A_i\\), \\(i \\geq 1\\), UDP packets arrive at rate \\(\\lambda_i = 8.125\\) pkts\/s. The packet generation rate at node \\(A_0\\), \\(\\lambda_0\\), varies from 1.25 to 61.25 pkts\/s. The size of each packet is 2000 bytes. Each node has the same transmission power (40 mW). We set the propagation loss between node \\(A_i\\) and \\(B_i\\) to 80 dB and the propagation loss between node \\(A_i\\) and \\(B_{i+1}\\) to 70 dB. We run each simulation five times for 1,000 seconds, and average out the results. The source code is available on <a href=\"https:\/\/github.com\/xlxbu\/CDoS\">Github<\/a>.<\/p>\n<p>The <b>(exogenous) load<\/b> at each node \\(A_i\\) is denoted \\(\\rho_i = \\lambda_i T\\), where \\(T\\) represents the duration of each packet transmission attempt (0.016 second in our case). The <b>utilization<\/b> of a node \\(A_i\\), denoted \\(u_i\\), is defined as the fraction of time the node is busy transmitting bits on the channel.<\/p>\n<p>Figures 5 and 6 depict the utilization \\(u_1\\), \\(u_{20}\\), and \\(u_{40}\\) as a function of \\(\\rho_0\\), the load at node \\(A_0\\). The utilization of node \\(A_1\\), \\(u_1\\), increases smoothly until it reaches its upper limit. However, the utilization of nodes \\(A_{20}\\) and \\(A_{40}\\) remains low until \\(u_0\\) reaches a certain threshold around \\(\\rho_0 = 0.5\\), at which point \\(u_{20}\\) and \\(u_{40}\\) suddenly jump to a high value. This sudden jump corresponds to a phase transition, and the critical threshold represents the phase transition point.<\/p>\n<table class=\" aligncenter\" style=\"border: solid 2px #ffffff;\" width=\"761\" height=\"528\" border=\"0\">\n<tbody>\n<tr>\n<td style=\"border: solid 2px #ffffff;\" border=\"0\">\n<p><figure id=\"attachment273\" aria-describedby=\"caption-attachment273\" style=\"width: 379px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/one_node_phase_transaction_new2.png\" alt=\"one_node_phase_transaction_new2\" class=\"wp-image-273\" width=\"369\" height=\"380\" \/><figcaption id=\"caption-attachment273\" class=\"wp-caption-text\">Fig. 5: The occurrence of cascading DoS attacks in ad hoc networks with fixed bit rate. Utilization of nodes A<sub>i<\/sub> (i \u2265 1) for different traffic loads at node A<sub>0<\/sub>. The utilization converges as i gets large. When the load at node A<sub>0&lt;\\sub&gt; changes from 0.4 to 0.6, the sequence of utilization converge to different limits, illustrating the phase transition.<\/sub><\/figcaption><\/figure><\/td>\n<td style=\"border: solid 2px #ffffff;\" border=\"0\">\n<p><figure id=\"attachment272\" aria-describedby=\"caption-attachment272\" style=\"width: 378px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/one_node_load_phase_transaction_new2.png\" alt=\"one_node_load_phase_transaction_new2\" class=\"wp-image-272\" width=\"368\" height=\"380\" \/><figcaption id=\"caption-attachment272\" class=\"wp-caption-text\">Fig. 6: The occurrence of cascading DoS attacks in ad hoc networks with fixed bit rate. As the traffic load at node A<sub>0<\/sub> increases, the utilization of remote nodes (e.g., A<sub>20<\/sub> and A<sub>40<\/sub>) exhibits a phase transition.<\/figcaption><\/figure><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h5>Analysis<\/h5>\n<p>We develop an analytical model that provides insight into the network behaviour observed in the simulations and experiments. Specifically, our goal is to explain why and under what conditions the phase transition occurs, and shed light into the roles played by the retry limit R and the traffic load at the different nodes.<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li><b>Notations:<\/b>\n<ul>\n<li>\\(u_i \\): utilization of node \\(A_i \\)<\/li>\n<li>\\(\\rho \\): (exogenous) load of node \\(A_i \\) (\\(i &gt; 0) \\)<\/li>\n<li>\\(R \\): retry limit<\/li>\n<li>\\(\\overline{r}_i \\): average retry count at node \\(A_i \\)<\/li>\n<li>\\(\\lambda \\): exogenous packet arrival rate<\/li>\n<\/ul>\n<\/li>\n<li><b>Assumptions:<\/b><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 20px; margin-bottom: 0px;\">Our model represents a special case of interacting queues, which are notoriously difficult to analyze. To make the analysis tractable, we assume that<\/p>\n<ol>\n<li style=\"list-style-type: none\">\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Packet transmissions and retransmissions at each uncongested node A_i form a Poisson process with rate \\(\\overline{r}_i \\lambda \\).<\/li>\n<li>The probability that a packet transmitted by node A_i collides is independent of previous attempts.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 20px;\">The above assumptions are similar to the \u201crandom-look\u201d model used by Kleinrock and Tobagi in their analysis of (single hop) random access networks. We stress that beside these assumptions, the rest of our analysis is exact.<\/p>\n<ol>\n<li><b>Iterative analysis of the utilization:<\/b>\n<p style=\"padding-left: 20px;\">Our goal is to find the utilization at each node \\(i \\geq 0 \\) and in the limit as \\(i \\rightarrow \\infty \\). We consider the same scenario as in our simulations, whereby node \\(A_0 \\) (the attacker) varies its traffic load<\/p>\n<p style=\"text-align: center;\">\\(\\rho_0 = \\lambda_0 T \\)<\/p>\n<p style=\"padding-left: 20px;\">while all other nodes \\(A_i \\) (\\(i \\geq 1 \\)) have the same traffic load<\/p>\n<p style=\"text-align: center;\">\\(\\rho = \\lambda_i T \\)<\/p>\n<p style=\"padding-left: 20px;\">where \\(0 &lt; \\rho &lt; 1 \\). We aim to understand if and how changes in the value of \\(\\rho_0 \\) affect the utilization of nodes that are located far away as a function of the parameters \\(\\rho \\) and \\(R \\). We develop an iterative procedure to derive \\(u_{i+1}\\) from \\(u_i\\).<\/p>\n<p style=\"text-align: center;\">\\(u_{i+1} = \\min \\left\\lbrace f(u_{i}), 1 \\right\\rbrace\\), <span style=\"float: right;\">(1)<\/span><\/p>\n<p style=\"padding-left: 20px;\">where<\/p>\n<p style=\"text-align: center;\">\\(f(u_{i}) \\overset{\\Delta}{=} \\rho \\sum_{r=1}^{R} \\left( 1 &#8211; \\mathrm{e}^{-u_{i}}(1-u_{i}) \\right) ^{r-1}\\).<\/p>\n<\/li>\n<li><b>Limiting behavior of the utilization:<\/b>\n<p style=\"padding-left: 20px;\">We next analyze the limiting behaviour of the iteration given by (1). The sequence \\((u_i)_{i=0}^{\\infty} \\) corresponds to a discrete non-linear dynamical system. We say that \\(\\omega \\in [0, 1]\\) is a fixed point of (1) if<\/p>\n<p style=\"text-align: center;\">\\(\\omega = \\min \\left\\lbrace f(\\omega), 1 \\right\\rbrace \\), <span style=\"float: right;\">(2)<\/span><\/p>\n<p style=\"padding-left: 20px;\">The limit of the sequence \\((u_i)_{i=0}^{\\infty} \\) is always one of fixed points in (2).<\/p>\n<\/li>\n<li><b>Phase transition analysis:<\/b>\n<p style=\"padding-left: 20px;\">A network is said to be congested if \\((u_i)_{i=0}^{\\infty} \\) converges to 1. Else, the network is said to be uncongested. A network experiences a <b>phase transition<\/b> if there exists a fixed point \\(\\omega\\), such that if \\(u_0 &lt; \\omega\\) the network is uncongested, and if \\(u_0 &gt; \\omega\\) the network is congested. We refer to \\(\\omega\\) as the phase transition point.<\/p>\n<p style=\"padding-left: 20px;\">We introduce the function<\/p>\n<p style=\"text-align: center;\">\\(h_R(\\omega) \\overset{\\Delta}{=} \\frac{\\rho \\omega}{f(\\omega)} = \\frac{\\omega}{\\sum_{r=1}^{R}\\left(1 &#8211; \\mathrm{e}^{-\\omega}(1-\\omega)\\right)^{r-1}} \\). <span style=\"float: right;\">(3)<\/span><\/p>\n<p style=\"padding-left: 20px;\">For each value of \\(\\rho\\), the fixed point \\(\\omega &lt; 1 \\) must satisfy<\/p>\n<p style=\"text-align: center;\">\\( f(\\omega) = \\omega \\).<\/p>\n<p style=\"padding-left: 20px;\">We denote the maximum of \\(h_R(\\omega)\\) by<\/p>\n<p style=\"text-align: center;\">\\(h^{max}_R \\overset{\\Delta}{=} \\max_{0 \\leq \\omega \\leq 1}h_R(\\omega) \\)<span style=\"float: right;\">(4)<\/span><\/p>\n<p style=\"padding-left: 20px;\">A network must fall in one of the following three regimes for different parameters.<\/p>\n<p style=\"padding-left: 40px;\"><b>Theorem<\/b><\/p>\n<p style=\"padding-left: 60px; margin-bottom: 0px;\">If <span>\\(\\rho &lt; 1\/R\\)<\/span>, then the network is uncongested for all <span>\\(u_0 \\in [0, 1] \\)<\/span>.<\/p>\n<p style=\"padding-left: 60px; margin-bottom: 0px;\">If <span>\\(h_R^{max}&gt;1\/R\\)<\/span>\u00a0and <span>\\(1\/R&lt;\\rho&lt;h_R^{max} \\)<\/span>, then a phase transition occurs.<\/p>\n<p style=\"padding-left: 60px;\">If <span>\\(\\rho&gt;h_R^{max} \\)<\/span>, then the network is congested for all <span>\\(u_0 \\in [0, 1] \\)<\/span>.<\/p>\n<\/li>\n<li><b>Example<\/b>\n<p style=\"padding-left: 20px;\">We illustrate the theorem above at \\(R=10\\). As shown in Figure , we observe a phase transition region, whose size is \\((1\/R, h_R^{max})=(0.1, 0.162)\\).<\/p>\n<\/li>\n<\/ol>\n<figure id=\"attachment274\" aria-describedby=\"caption-attachment274\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" src=\"\/nislab\/files\/2017\/10\/stability_example_4-1-636x336.png\" alt=\"stability_example_4\" class=\" wp-image-330 aligncenter\" width=\"600\" height=\"318\" srcset=\"https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/stability_example_4-1-636x336.png 636w, https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/stability_example_4-1-768x406.png 768w, https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/stability_example_4-1-1024x542.png 1024w, https:\/\/sites.bu.edu\/nislab\/files\/2017\/10\/stability_example_4-1.png 1208w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment274\" class=\"wp-caption-text\">Fig. 7: Illustration of the different network regimes for the retry limit R=10.<\/figcaption><\/figure>\n<h4 id=\"Conclusion\">Conclusion<\/h4>\n<ul>\n<li>First experimental demonstration of remote and protocol-compliant DoS attack on Wi-Fi networks, which is backed by simulation and analysis.<\/li>\n<li>A small change in the traffic rate of the attacker can lead to a phase transition of the entire network, from uncongested state to congested state.<\/li>\n<li>Retry limit parameter of Wi-Fi plays critical role in the phase transition.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4>Reference<\/h4>\n<p><span>Liangxiao Xin, David Starobinski, and Guevara Noubir, &#8220;Cascading DoS Attacks on Wi-Fi Networks,&#8221;\u00a0<\/span><i>IEEE CNS 2016,<\/i><span>\u00a0Philadelphia, PA, October 2016.\u00a0<\/span><a href=\"http:\/\/people.bu.edu\/staro\/CNS_2016.pdf\">pdf<\/a><span>\u00a0<a href=\"https:\/\/github.com\/xlxbu\/CDoS\">code<\/a> (Best paper award)<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>posted by Liangxiao Xin (xlx@bu.edu) Full paper &amp; Simulation code Outline: About\u00a0cascading DoS attack Feasibility of the attack Conclusion About\u00a0cascading DoS attack A cascading DoS attack exploits a coupling vulnerability due to hidden nodes. The attack propagates beyond the starting location, lasts for long periods\u00a0of time, and forces the network to operate at its lowest [&hellip;]<\/p>\n","protected":false},"author":13841,"featured_media":0,"parent":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"page-templates\/no-sidebars.php","meta":[],"_links":{"self":[{"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/pages\/204"}],"collection":[{"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/users\/13841"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/comments?post=204"}],"version-history":[{"count":50,"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/pages\/204\/revisions"}],"predecessor-version":[{"id":628,"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/pages\/204\/revisions\/628"}],"wp:attachment":[{"href":"https:\/\/sites.bu.edu\/nislab\/wp-json\/wp\/v2\/media?parent=204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}