{"id":110728,"date":"2023-10-11T03:10:14","date_gmt":"2023-10-11T01:10:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake"},"modified":"2023-10-11T03:10:14","modified_gmt":"2023-10-11T01:10:14","slug":"uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake","title":{"rendered":"Vulnerabilit\u00e0 nel protocollo HTTP\/2, utilizzata nel pi\u00f9 grande attacco DDoS","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Google ha registrato il pi\u00f9 grande attacco DDoS sulla sua infrastruttura, con un'intensit\u00e0 di 398 milioni di richieste al secondo. Il nuovo attacco supera di 7 volte l'intensit\u00e0 del precedente attacco DDoS record, in cui gli aggressori erano riusciti a generare un flusso di 47 milioni di richieste al secondo. A titolo di confronto, tutto il traffico del Web \u00e8 stimato tra 1 e 3 miliardi di richieste al secondo. Oltre a Google, anche le aziende Amazon e Cloudflare hanno subito l'attacco. La possibilit\u00e0 di un nuovo attacco \u00e8 collegata alla scoperta di una vulnerabilit\u00e0 nel protocollo HTTP\/2 (CVE-2023-44487), che consente di indirizzare un enorme flusso di richieste al server con un carico minimo sul client.      <\/p>\n<p>Una nuova tecnica di attacco \u00e8 stata chiamata \"Rapid Reset\" e sfrutta gli strumenti di multiplexing forniti da HTTP\/2, consentendo di formare un flusso di richieste all'interno di una connessione gi\u00e0 stabilita, senza aprire nuove connessioni di rete e senza aspettare la conferma di ricezione dei pacchetti. La vulnerabilit\u00e0 \u00e8 considerata una conseguenza di un difetto nel protocollo HTTP\/2, il quale specifica che nel tentativo di aprire un numero eccessivo di flussi, devono essere annullati solo i flussi che superano il limite, senza chiudere l'intera connessione di rete.        <\/p>\n<p>Analogamente ai metodi precedentemente utilizzati per attacchi su HTTP\/2, nel nuovo attacco viene creato un gran numero di flussi all'interno di una sola connessione. La principale differenza del nuovo attacco \u00e8 che, invece di attendere una risposta, dopo ogni richiesta inviata viene inviato un frame con il flag RST_STREAM, annullando immediatamente la richiesta. L'annullamento della richiesta in una fase iniziale consente di eliminare il traffico di ritorno verso il client e di eludere le limitazioni presenti sui server HTTP riguardo al numero massimo possibile di flussi aperti contemporaneamente all'interno di una connessione HTTP\/2. In questo modo, nel nuovo attacco, il numero di richieste inviate al server HTTP smette di dipendere dai ritardi tra l'invio della richiesta e la ricezione della risposta (RTT, round-trip time) e si limita esclusivamente alla capacit\u00e0 di banda del canale di comunicazione.      <center><img decoding=\"async\" alt=\"Vulnerabilit\u00e0 nel protocollo HTTP\/2, utilizzata nel pi\u00f9 grande attacco DDoS\" src=\"\/wp-content\/uploads\/2023\/10\/0e8d8610f924902b1e9a07d8ea538223.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Poich\u00e9 per condurre un attacco dal lato client \u00e8 sufficiente inviare richieste senza ricevere risposte, l'attacco pu\u00f2 essere effettuato con costi minimi. Ad esempio, un attacco registrato dalla societ\u00e0 Cloudflare di 201 milioni di richieste al secondo \u00e8 stato realizzato utilizzando un botnet relativamente piccolo di 20.000 computer. Dalla parte <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3723\">server<\/a> i costi per elaborare le richieste in ingresso sono significativamente pi\u00f9 elevati, nonostante la loro cancellazione, poich\u00e9 \u00e8 necessario eseguire operazioni quali l'assegnazione di strutture dati per i nuovi flussi, l'analisi della richiesta, la decompressione dell'intestazione e la corrispondenza dell'URL con la risorsa. Durante un attacco a proxy inversi, l'attacco pu\u00f2 estendersi ai backend, poich\u00e9 il proxy potrebbe essere in grado di reindirizzare la richiesta al backend prima che il frame RST_STREAM venga elaborato.        <\/p>\n<p>Un attacco pu\u00f2 essere effettuato solo su server vulnerabili che supportano HTTP\/2 (uno script per verificare la presenza di vulnerabilit\u00e0 nei server, un toolkit per effettuare l'attacco). Attacchi su HTTP\/3 non sono stati ancora registrati e la possibilit\u00e0 di effettuarli non \u00e8 stata completamente analizzata, ma i rappresentanti di Google raccomandano agli sviluppatori <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1590\">server<\/a>  di aggiungere implementazioni di protezione per HTTP\/3 simili a quelle implementate per bloccare gli attacchi su HTTP\/2.    <\/p>\n<p>Sensibilit\u00e0 alla vulnerabilit\u00e0 e disponibilit\u00e0 di patch per i server HTTP e i proxy:  <\/p>\n<ul>\n<li class=\"l\"> nginx (annuncio, chiarimento che la vulnerabilit\u00e0 non si manifesta pienamente in nginx con la configurazione predefinita, poich\u00e9 l'attacco si scontra con il limite sul numero di richieste per connessione (cio\u00e8, dopo ogni 1000 richieste, la connessione verr\u00e0 reimpostata). Nella correzione \u00e8 stata aggiunta una protezione extra per limitare l'intensit\u00e0 delle richieste tramite la direttiva \"limit_req\").\n<li class=\"l\"> In HAProxy \u00e8 stata aggiunta una protezione efficace contro il superamento del limite sul numero di flussi HTTP\/2 gi\u00e0 nel 2018 e funziona dalla versione 1.9-dev.\n<li class=\"l\"> Apache httpd (viene creata una certa pressione su httpd, ma non si diffonde ai backend ed \u00e8 limitata dai limiti di connessione per i client in vigore dal 2016).\n<li class=\"l\"> mod_h2 per Apache httpd.\n<li class=\"l\"> caddy\n<li class=\"l\"> envoy\n<li class=\"l\"> golang (il problema \u00e8 stato risolto nelle versioni Go 1.21.3 e 1.20.10).\n<li class=\"l\"> h2o (patch).\n<li class=\"l\"> grpc-go\n<li class=\"l\"> hyper (la vulnerabilit\u00e0 non si manifesta).\n<li class=\"l\"> jetty (corretto nelle versioni 12.0.2, 11.0.17, 10.0.17 e 9.4.53.v20231009).\n<li class=\"l\"> netty\n<li class=\"l\"> nghttp2 (corretto nella versione 1.57.0).\n<li class=\"l\"> Facebook proxygen\n<li class=\"l\"> .NET e ASP.NET Core (la vulnerabilit\u00e0 colpisce il server http ASP.NET Core Kestrel).\n<li class=\"l\"> Node.js\n<li class=\"l\"> proxygen\n<li class=\"l\"> swift-nio-http2 (corretto nella versione 1.28.0).\n<li class=\"l\"> Apache Tomcat (corretto nelle versioni 11.0.0-M12, 10.1.14, 9.0.81, 8.5.94).\n<li class=\"l\"> Apache Traffic Server (corretto nella branch 9.2.x).    <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59901\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0443\u044e DDoS-\u0430\u0442\u0430\u043a\u0443 \u043d\u0430 \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 398 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u041d\u043e\u0432\u0430\u044f \u0430\u0442\u0430\u043a\u0430 \u0432 7 \u0440\u0430\u0437 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0448\u043b\u0443\u044e \u0440\u0435\u043a\u043e\u0440\u0434\u043d\u0443\u044e DDoS-\u0430\u0442\u0430\u043a\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0438\u0437 47 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432\u0435\u0441\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0432\u043e \u0432\u0441\u0451\u043c Web \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 1-3 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u041f\u043e\u043c\u0438\u043c\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":110729,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-110728","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0443\u044e DDoS-\u0430\u0442\u0430\u043a\u0443 \u043d\u0430 \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 398 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 HTTP\/2, \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0435\u0439 DDoS-\u0430\u0442\u0430\u043a\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0443\u044e DDoS-\u0430\u0442\u0430\u043a\u0443 \u043d\u0430 \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 398 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-10-11T01:10:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-10-11T01:10:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vulnerabilit\u00e0 nel protocollo HTTP\/2, coinvolta nel pi\u00f9 grande attacco DDoS | ProHoster","description":"Google ha registrato il pi\u00f9 grande attacco DDoS alla sua infrastruttura, con un'intensit\u00e0 di 398 milioni di richieste al secondo.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 HTTP\/2, \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0432 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0435\u0439 DDoS-\u0430\u0442\u0430\u043a\u0435 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0443\u044e DDoS-\u0430\u0442\u0430\u043a\u0443 \u043d\u0430 \u0441\u0432\u043e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 398 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/uyazvimost-v-protokole-http-2-zadejstvovannaya-v-krupnejshej-ddos-atake","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-10-11T01:10:14+00:00","article:modified_time":"2023-10-11T01:10:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"110728","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 16:50:56","updated":"2026-02-22 15:30:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/110728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=110728"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/110728\/revisions"}],"predecessor-version":[{"id":162251,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/110728\/revisions\/162251"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/110729"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=110728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=110728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=110728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}