Pythia: платформа для автоматического анализа сред веб-хостинга

При развертывании веб-сайта компании могут выбрать его размещение на своих собственных серверах или передачу содержимого третьим сторонам, например веб-узлам или сетям доставки контента (CDN). Выбор стороннего поставщика может иметь несколько преимуществ, в том числе экономию затрат, надежность и возможность поддерживать большие объемы трафика (даже во время распределенных атак типа «отказ в обслуживании»).

Мы утверждаем, что понимание ландшафта веб-хостинга важно по ряду причин (подробнее тут). Они варьируются от того, чтобы позволить нам оценить, насколько важны определенные хостинговые инфраструктуры, и оценить влияние, которое сетевая атака может оказать на Интернет [8, 17, 24], до возможности определить, кто несет ответственность за инциденты (например, хостинг вредоносных программ) [26]. Несмотря на важность проблемы, исследовательскому сообществу не хватает масштабируемых методов для отображения ландшафта хостинга. Вместо этого во многих исследованиях, как правило, используется специальный подход, основанный на различных предположениях, которые различаются в разных статьях. Хотя есть сторонние сервисы, которые предлагают эту функциональность [18, 30], они не раскрывают свою методологию, создавая проблемы как для воспроизводимости, так и для точности их результатов.

Чтобы заполнить этот пробел, этот документ представляет сообществу инструмент с открытым исходным кодом 1, который может определить, является ли веб-страница организации размещенной самостоятельно или использует стороннего хостинг-провайдера. Наш инструмент Pythia использует HTML-код веб-страницы, информацию о домене и информацию о владении сетью, полученную из записей RDAP, чтобы определить, размещен ли контент в сторонней инфраструктуре. Это делается путем вычисления владельца веб-страницы и хостинг-провайдера, так что их можно сравнить. Pythia имеет модульную конструкцию и способна получать информацию о целевой странице даже при наличии сложных структур HTML, которые используют перенаправления.

Чтобы оценить эффективность Pythia, мы запустили его на 40000 URL-адресов, сгенерированных из доменов топ-10k Alexa [2]. Наш процесс проверки показывает, что наша инфраструктура превосходит аналогичные приложения, доступные в Интернете, и обеспечивает точность 90% при определении того, размещается ли веб-страница третьей стороной. Кроме того, согласно нашим оценкам, более 89% проверенных нами популярных доменов используют преимущества третьих сторон для удовлетворения своих потребностей в хостинге.

Pythia имеет открытый исходный код и позволяет исследовательскому сообществу воспроизводить наши результаты. Мы намерены сделать это совместным усилием сообщества, что позволит сторонним исследователям избежать сложности, связанной с разработкой и созданием собственных независимых методологий для этой часто встречающейся задачи.

Понимание и оценка экосистемы веб-хостинга — сложная задача. Для выполнения этой задачи нам нужна информация как о владении доменами, так и о владении IP-адресами, на которых размещены веб-страницы. В этом разделе мы представляем концепции, на которых основан наш подход, и тип данных, которые мы получаем, чтобы определить, являются ли веб-страницы самостоятельно размещенными или нет.

Сети доставки контента (CDN) и службы хостинга — это два популярных механизма доставки контента конечным пользователям от имени других организаций. Разгрузив задачу предоставления контента веб-сайта третьим сторонам, эти решения призваны обеспечить лучшую доступность, масштабируемость, более быструю загрузку контента, избыточность и повышенную безопасность. Эти технологии стали настолько широко распространенными, что, согласно недавним статистическим данным, более 60% наиболее посещаемых веб-сайтов используют CDN для предоставления контента своим пользователям [4]. В этой работе мы изучаем развертывание любого вида решения, которое предоставляет веб-контент для третьих лиц, и по этой причине мы используем термин хостинг для обозначения сети, в которой базируются веб-серверы, предлагающие услугу.

Существует бесчисленное множество статей, в которых рассматриваются схемы размещения веб-сайтов, каждый из которых использует свой подход. Распространенным подходом является запуск крупномасштабных распределенных измерений [1, 9, 25], которые выполняют DNS-запросы по всему миру для получения и классификации DNS-ответов. Это, к сожалению, чрезвычайно сложно и дорого; кроме того, он не может в одиночку подтвердить, что инфраструктура эксплуатируется третьей стороной без дальнейшей проверки. Calder et al. [6] использовал расширение клиентской подсети EDNS-0 для имитации распределенных запросов к CDN Google. Хотя было обнаружено большое количество серверов, все они управлялись Google, а не сторонними организациями. Эти методы также не работают хорошо для Anycast CDNs [7], которые не обязательно возвращают ответы DNS, содержащие перенаправления. Другая используемая стратегия заключается в использовании списков доменных префиксов, которые отображают ответы CNAME на их соответствующие CDN [21]. Однако они ограничены CDN, которые исключительно полагаются на перенаправления CNAME (например, это исключает Bing). Кроме того, список требует постоянного обслуживания, чтобы оставаться актуальным. Наконец, в некоторых исследованиях используются сопоставления IP-адресов с автономными системами (AS) [14] или метаданные, закодированные в записи DNS [3]; однако они уязвимы для неправильного распределения прав собственности, например, когда CDN помещает кэш в стороннюю сеть. Такие методы также были дополнены аннотациями AS, выбранными вручную, в которых указан тип AS [19]. Опять же, они страдают как от ошибок ручного аннотирования, так и требуют значительного обслуживания. Мы утверждаем, что эти разнообразные специальные методы обусловлены отсутствием в сообществе стандартизированного инструмента, который мог бы предоставлять метаданные о шаблонах хостинга веб-сайтов.

Для получения информации о владении доменом мы используем протокол доступа к регистрационным данным (RDAP) [22]. Этот протокол был разработан, чтобы заменить протокол WHOIS [16] в качестве авторитетного источника для регистрации информации об IP-адресах, AS и доменных именах. В то время как его предшественник получал содержимое в виде свободного текста, RDAP использует интерфейс RESTful для доставки данных в машиночитаемом формате JSON. Это упрощает процесс синтаксического анализа и позволяет нам легко извлекать информацию (например, тип объекта, которому был назначен диапазон IP-адресов, или описание AS). В этой статье мы используем протокол RDAP для получения информации о владении IP-адресом, к которому разрешен домен.

ЗАКЛЮЧЕНИЕ

В этой работе мы представили Pythia, инструмент для сбора информации о веб-странице и среде, в которой размещена страница. Наша структура извлекает информацию из извлеченного HTML, DNS и информации о владельце, связанной с префиксом сети. Затем Pythia использует эти данные, чтобы определить, является ли веб-сайт самостоятельным или зависит от стороннего оператора, например, от сети доставки контента. Мы протестировали Pythia на 40000 URL-адресов и сравнили результаты с аналогичными приложениями, которые обнаруживают присутствие известных хостинг-провайдеров. Наша структура является точной и превосходит все другие приложения при тестировании на основе достоверности, подтвержденной вручную. Pythia выпускается с открытым исходным кодом и построена по модульному принципу, что дает возможность интегрировать его с новыми возможностями и расширениями.

Использованные источники

[1] B. Ager, W. Mu¨hlbauer, G. Smaragdakis, and S. Uhlig. Web content cartography. In Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference, pages 585–600. ACM, 2011.

[2] Alexa. Top 1M Sites, 2018. alexa.com/topsites.  [3] T. Bo¨ttger, F. Cuadrado, G. Tyson, I. Castro, and S. Uhlig. Open connect everywhere: A glimpse at the internet ecosystem through the lens of the netflix cdn. SIGCOMM Comput. Commun. Rev., 48(1), 2018.

[4] BuiltWith. DN technologies Web Usage Statistics. trends. builtwith.com/cdn, 2018. [Online; accessed 14-May-2018].

[5] X. Cai, J. Heidemann, B. Krishnamurthy, and W. Willinger. Towards an AS-to-Organization Map. In ACM Internet Measurement Conference, 2010.

[6] M. Calder, X. Fan, Z. Hu, E. Katz-Bassett, J. Heidemann, and R. Govindan. Mapping the expansion of google’s serving infrastructure. In Proceedings of the 2013 conference on Internet measurement conference, pages 313–326. ACM, 2013.

[7] M. Calder, A. Flavel, E. Katz-Bassett, R. Mahajan, and J. Padhye. Analyzing the performance of an anycast cdn. In Proceedings of the 2015 Internet Measurement Conference, pages 531–537. ACM, 2015.

[8] A. Delignat-Lavaud and K. Bhargavan. Network-based origin confusion attacks against https virtual hosting. In Proceedings of the 24th International Conference on World Wide Web, pages 227–237, 2015.

[9] R. Fanou, G. Tyson, P. Francois, and A. Sathiaseelan. Pushing the frontier: Exploring the african web ecosystem. In Proceedings of the 25th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2016.

[10] K. He, A. Fisher, L. Wang, A. Gember, A. Akella, and T. Ristenpart. Next stop, the cloud: Understanding modern web service deployment in ec2 and azure. In Proceedings of the 2013 conference on Internet measurement conference, pages 177–190. ACM, 2013.

[11]  HostingCompass. We analyze ip address and web hosting!  hostingcompass.com.

[12] HostingDetector.com. Web Hosting Lookup Find out who is hosting any website. hostingdetector.com/.

[13] C. Huang, A. Wang, J. Li, and K. W. Ross. Measuring and evaluating large-scale cdns. In ACM IMC, volume 8, pages 15–29, 2008.

[14] D. Ibosiola, B. Steer, A. Garcia-Recuero, G. Stringhini, S. Uhlig, and G. Tyson. Movie pirates of the caribbean: Exploring illegal streaming cyberlockers. AAAI International Conference on Web Blogs and Social Media (ICWSM), 2018.

[15] B. Krishnamurthy, C. Wills, and  Y. Zhang. On the use and performance of content distribution networks. In Proceedings of the 1st ACM SIGCOMM Workshop on Internet Measurement, pages 169–182. ACM, 2001.

[16] D. L. RFC 3912, whois protocol specification. Technical report, IETF — Internet Engineering Task Force, 2004.

[17] J. Liang, J. Jiang, H. Duan, K. Li, T. Wan, and J. Wu. When HTTPS Meets CDN: A Case of Authentication in Delegated Service. In IEEE Symposium on Security and Privacy, 2014.

[18] NetCraft. Hosting Provider Server Count. netcraft. com/internet-data-mining/hosting-provider-server-count/, 2018. [Online; accessed 24-May-2018].

[19] A. Noroozian, M. Korczyn´ski, C. H. Gan˜an, D. Makita, K. Yoshioka, and M. van Eeten. Who gets the boot? analyzing victimization by ddos-as-a-service. In International Symposium on Research in Attacks, Intrusions, and Defenses, pages 368–389. Springer, 2016.

[20] phantomjs.org. PhantomJS Scriptable Headless Browser. phantomjs.org/.

[21] S. Quirin, J. Jonas, H. Oliver, C. Luca, and C. Gorg. Structure and Stability of Internet Top Lists. In Proceedings of the 19th International Conference on Passive and Active Measurement. Springer, 2018.

[22] H. Scott and K. N. RFC 7482,registration data access protocol (rdap) query format. Technical report, IETF — Internet Engineering Task Force, 2015.

[23] T. Segaran and J. Hammerbacher. Beautiful data: the stories behind elegant data solutions. ”O’Reilly Media, Inc.”, 2009.

[24] M. Simenovski, G. Pellegrino, C. Rossow, and M. Backes. Who controls the internet? analyzing global threats using  property graph traversals. In Proceedings of the 2017 Web Conference, 2017.

[25] A.-J. Su, D. R. Choffnes, A. Kuzmanovic, and F. E. Bustamante. Drafting behind akamai: Inferring network conditions based on cdn redirections. IEEE/ACM Transactions on Networking (TON), 17(6):1752–1765, 2009.

[26] S. Tajalizadehkhoob, C. Gan˜´an, A. Noroozian, and M. v. Eeten. The role of hosting providers in fighting command and control infrastructure of financial malware. In Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, pages 575–586. ACM, 2017.

[27] S. Tajalizadehkhoob, M. Korczyn´ski, A. Noroozian, C. Gana´n, and M. van Eeten. Apples, oranges and hosting providers: Heterogeneity and security in the hosting market. In Network Operations and Management Symposium (NOMS), 2016 IEEE/IFIP, pages 289–297. IEEE, 2016.

[28] TurboBytes. GitHub turbobytes/cdnfinder: Webapp and cli-tool to detect CDN usage of websites. github.com/turbobytes/  cdnfinder.

[29] L. Wang, A. Nappa, J. Caballero, T. Ristenpart, and A. Akella. WhoWas: A Platform for Measuring Web Deployments on IaaS Clouds. In ACM Internet Measurement Conference, 2014.

[30] WebHosting. webhosting.info/. webhosting.info, 2018. [Online; accessed 24-May-2018].

[31] whatsmycdn.com. What’s My CDN? whatsmycdn. com/.


Pythia: a Framework for the Automated Analysis of Web Hosting Environments
Srdjan Matic, Gareth Tyson, Gianluca Stringhini