УДК 004.052.42 DOI: 10.24412/2071-6168-2021-5-323-329
К ВОПРОСУ АНАЛИЗА ВНЕШНИХ ССЫЛОК И ВСТРАИВАЕМЫХ ЭЛЕМЕНТОВ НА ВЕБ-САЙТАХ
А.Н. Привалов, В.А. Смирнов, Ю.И. Богатырева
Рассмотрен факт наличия «битых ссылкок» как потенциальная уязвимость сайта. Выделены разные варианты возникновения такого типа ссылок: проблемы с доступом к конкретному ресурсу и отключение сайта и домена. Описан жизненный цикл доменного имени сайта и отмечено, что администратор доменного имени может измениться. Представлен алгоритм, при использовании которого возможен поиск данного вида уязвимости и атака на сайт посредством получения освобожденного домена. Указаны действия администратора сайта, необходимые для предотвращения такой ситуации (возможна также автоматизация этих действий). Даны рекомендации об отборе и сокращении количества встраиваемых элементов на веб-странице.
Ключевые слова: битые ссылки, внешние ссылки, встраиваемые элементы, доменное имя, уязвимости веб-приложений, информационная безопасность
Практически каждый пользователь Интернета сталкивался с таким явлением как «битые ссылки». Под «битыми ссылками» понимают ссылку с Интернет-портала на несуществующий сайт, файл или текстовый ресурс. Ссылки могут указывать как на внешний ресурс, так и быть внутренними (то есть указывать на файл или текстовый материал на том же домене).
Существуют исследования [1], в которых отмечается понижение уровня репутации сайта в поисковых системах, если он содержит большое количество таких ссылок. То есть отмечено, что «битые ссылки» оказывают негативное влияние на деятельность организации с позиций экономики. В своем исследовании мы ставим задачу рассмотрения внешних «битых ссылок» как угрозы информационной безопасности посетителей веб-ресурса.
Как правило, в момент размещения данной ссылки, ставшей впоследствии «битой», в тексте веб-страницы ресурс, на который она указывала, существовал.
В большинстве случаев ссылка (URL-адрес) содержит сетевой протокол, хост (доменное имя или IP-адрес, указывающих на конкретный сервер), а также уточняющую информацию для сервера о расположении ресурса на нём (директория файла, имя файла и параметры). Исходя из этого (если исключить проблемы, связанные с техническим взаимодействием сетевых компонентов, аппаратного обеспечения компьютера), к недоступности ресурса могут привести следующие сценарии:
1) Файл или страница, на которую указывает ссылка, перемещают в другую директорию в структуре сайта, либо удаляют. В таких случаях в результате перехода по ссылке пользователь получает ошибку 404 (Not Found, ресурс не найден). Данная проблема сводится к рассмотрению проблемы доступности информации [2].
2) Удаляется весь сайт, содержащий файл или страницу. Во многих случаях при этом происходит и разделегирование домена, то есть при переходе по ссылке отображается стандартное сообщение браузера «Сервер не найден».
Наше исследование затрагивает второй тип «битых ссылок», поскольку именно такой сценарий может привести не только к проблемам доступности. Домен, который присутствовал в «битой ссылке», может быть в дальнейшем зарегистрирован заново.
В работе [6] была показана такая проблема доменной сферы, как киберсквот-тинг. В этом сценарии администратором регистрируется доменное имя, которое содержит бренд организации, не имеющей отношения к этому администратору. В случае, если киберсквоттеру удается зарегистрировать доменное имя раньше, чем это сделает ор-
ганизация, то описанная ситуация может стать проблемой для деятельности конкретной фирмы. Однако в этой статье будет рассматриваться сценарий, связанный с регистрацией ранее занятого домена уже после его освобождения.
Согласно действующим правилам наиболее популярных доменных зон .RU и .РФ срок регистрации доменного имени составляет 1 год [3]. До окончания регистрации она может быть продлена и такое продление разрешается неограниченное количество раз. По окончанию срока регистрации, если продление не было выполнено ранее, наступает период преимущественного продления длительностью в 1 месяц. С этого момента сайт становится недоступен по данному доменному имени. Вместо него посетителям и владельцу отображается сообщение о необходимости продлить доменное имя до конца периода и возможности приобрести его другим лицом по окончанию данного периода, если владельцем не будет выполнено продление.
Таким образом, если доменное имя не было продлено в обозначенный период, домен освобождается и его новым администратором (пользователем домена) может стать любое физическое или юридическое лицо. Тогда обладателем ресурса, на который посетитель может перейти по ранее проверенной ссылке, становится непроверенный источник.
В описанной ситуации посетитель сайта получает уже не ту информацию, на которую ссылался автор статьи на сайте. Расположенная информация может не только не соответствовать ожиданиям пользователя, но и оказывать деструктивное воздействие на пользователя.
Повторная регистрация домена производится пользователем, как правило, в виду его внешней привлекательности. В ряде случаев новый администратор даже не предполагает о том, что доменное имя уже имеет историю (которая может быть и отрицательной). Отметим, что в курсах по созданию сайтов часто говорят о необходимости проверки репутации хостинг-компаний и их сравнении, однако недостаточно сказано о необходимости правильно выбирать доменное имя.
В то же время нельзя исключать возможность регистрации такого имени с корыстной целью, использовать его для атаки какого-либо из веб-ресурсов. В этом случае алгоритм атаки будет выглядеть так, как показано на рисунке.
Алгоритм атаки с использованием битых ссылок в качестве уязвимости
1. Вначале на страницах сайта ищутся все битые ссылки. Это могут быть не только ссылки в Ыш!-элементах <я>, но и встраиваемые объекты (iframe, img).
I
Регистрация домеиа и размещение нового содержимого
2. Доменное имя найденной ссылки проверяется на факт освобождения. Данную проверку можно осуществить с помощью любого веб-сервиса WHOIS для любого выбранного домена. Существует также и возможность разработки прикладных приложений для автоматизации процесса слежения за статусом ряда доменных имён [4]. Таким образом, при обнаружении уже не работающего сайта, срок регистрации домена которого подходит к концу, данную ссылку можно считать потенциально опасной;
3. Если предыдущий шаг был успешен, то найденное свободное доменное имя регистрируется. После этого по присутствующему в тексте или элементах вебстраницы URL размещается свой собственный файл с любым содержанием. В противном случае поиск продолжается до тех пор, пока не будут проверены все обнаруженные ссылки.
Размещаемым файлом может быть веб-страница, по интерфейсу сходная с сайтом-источником и содержащая просьбу ввести пароль от аккаунта, личные данные (т.е. фишинг). Возможно также размещение вредоносного содержимого. Третьим нежелательным вариантом развития ситуации является расположение новым владельцем ресурса информации, содержащей призывы к незаконной деятельности, некорректную или ложную информацию и т.д. Важно, что пользователь будет относиться к ней с учётом авторитета сайта, с которого он был перенаправлен.
В доменных зонах .RU и .РФ администратор должен указать при регистрации собственные паспортные данные, либо данные юридического лица. Такое требование могло бы служить средством идентификации владельца, однако проверка корректности этих данных является добровольной. В данных сервиса WHOIS в соответствии с этим у доменного имени может стоять отметка «VERIFIED» или «UNVERIFIED». Однако никаких ограничений на функционирование домена тот или иной статус не накладывает. Поэтому можно зарегистрировать домен на несуществующее лицо.
В Интернете присутствует большое количество программ, предназначенных для поиска «битых ссылок» на сайте. Чтобы проверить их возможности обнаружить ссылку, содержимое которой стало иным, нами был проведен эксперимент. В качестве материала для эксперимента были использованы сайты общеобразовательных учреждений Ивановской области.
Согласно сервису WhoisHistory домен ivipk.ru, принадлежавший Ивановскому областному центру повышения квалификации, сменил своего владельца в 2015 году. Проверить этот факт можно по ссылке: http://whoishistory.ru/simplesearch? sbmt=start& domainsimple=ivipk.ru. Но в данный момент по этому адресу находится строительный портал. Ряд школ Ивановской области сохранили на своих сайтах ссылку на этот ресурс под описанием «Областной образовательный портал» (на момент конца сентября 2020 г., даже по истечении пяти лет со дня ликвидации ресурса).
Ситуация осложнена тем, что многие каталоги до сих пор хранят информацию о данном сайте как о ресурсе центра повышения квалификации. Например, https://ivanovo.cataloxy.ru/firms/www.ivipk.ru.htm и http://spravka003.ru/alphabet/firm-detail/firm-234919/. Ряд справочных сервисов содержат в описании организаций кнопку «Отправить запрос на изменение данных в карточке». Но такой способ актуализации данных не является достаточно оперативным.
Таким образом, на сайтах образовательных организаций возникла вышеописанная ситуация. Вместо центра повышения квалификации посетителю открывается строительный портал. В то же время материалы сайта не наносят вреда посетителю интернет-ресурса, поэтому данная уязвимость вызвала лишь проблемы с доступностью информации, не нарушая работу информационной системы.
Часть сервисов по проверке страниц на наличие «битых» ссылок оказались платными. Мы проверяли один из школьных сайтов, указывающих на данный ресурс, с помощью следующих бесплатных онлайн-сервисов: http://validator.w3.org/checklink,
http://iwebtool.com, https://www.siteliner.com. Также проводилась обработка прикладными программами: SiteAnalyzer (https://site-analyzer.ru), Xenu's Link Sleuth (http://home.snafu.de/tilman/xenulink.html).
Ни в одном из этих случаев вышеуказанная ссылка не была отмечена как подозрительная или некорректная. Что означает необходимость самостоятельной разработки прикладной программы, определяющей такие ссылки. Можно также рассматривать вариант встраивания её и в качестве модуля к существующим системам управления содержимым сайта (Joomla, Drupal и др.).
В качестве основы для создания такого решения можно применить следующий алгоритм:
1) Программа анализирует исходный код веб-страницы, получая все внешние
ссылки;
2) Определяется дата размещения текстовой информации на странице. Для этого можно использовать следующие методы:
анализ содержимого страницы, где ищутся фразы «Дата», «Опубликовано» и т.д. Можно также ориентироваться на даты публикации комментариев от пользователей. У некоторых сайтов дата публикации материалов отображается в meta-теге article:published_time;
анализ URL-адреса. В некоторых системах, где адрес генерируется автоматически, дата публикации включена как часть URL;
анализ карты сайта (чаще всего, sitemap.xml). Для даты последнего редактирования страниц используется тег «lastmod»;
при помощи внешних источников (веб-архив или архивы поисковых систем, где зафиксирована данная страница под определённой датой; дата создания страниц, ссылающихся на исследуемый ресурс). Однако дата, полученная в результате их использования, будет новее реальной.
3) По каждому из внешних доменов производится WHOIS-запрос, ответом на который будет в числе прочих данных и дата регистрации доменного имени;
4) Если доменное имя зарегистрировано позднее даты размещения страницы, то такая ссылка нуждается в перепроверке администратором сайта;
5) Администратор принимает решение об удалении ссылки или отметке её как актуальной. Ставшую нерабочей ссылку можно попытаться заменить ссылкой на сходный ресурс, либо сослаться на имеющиеся данные в веб-архивах (например, web.archive.org).
Отметим, что перепроверка ссылок должна производиться как минимум каждый год в день регистрации проверяемого домена (в виду того, что доменное имя регистрируется и продлевается на 1 год). При этом для страниц с перепроверенными ссылки стоит ввести дополнительное поле «Проверено» или «Подтверждено». Близкая к текущей дата проверки станет сигналом надёжности информации для пользователей. Нет необходимости проверять по описанному алгоритму ссылки на сайте чаще, чем раз в месяц (в виду длительности периода преимущественного продления).
Важно отметить, что этот способ обнаруживает изменения в источнике лишь при перерегистрации домена. Содержимое внешней страницы могло смениться также в случае: взлома ресурса, смены его администрации, направленности или тематики. Поэтому использование алгоритма не отменяет необходимости анализа содержимого ссылок другими способами.
Однако этот вариант является менее ресурсоемким, чем регулярный анализ содержимого всех страниц, на которые ссылается сайт. А в случаях с каталогом сайтов или фирм является достаточным. Либо организация будет ликвидирована и домен освобожден, либо безопасность веб-ресурса будет гарантирована необходимостью сохранения репутации организации.
Чтобы избежать данной проблемы информационной безопасности, следует минимизировать количество внешних ссылок, снизить количество встраиваемых со сторонних источников веб-элементов (iframe, img и др.). Однако, в настоящее время полный отказ от них невозможен.
Их использование обусловлено необходимостью организовывать интерактивное взаимодействие с пользователем. Например, многие сайты организаций встраивают элемент из системы Яндекс.Карты, где отмечено местоположение офисов. Такой подход используется как в виду нецелесообразности и сложности создания подобной карты вручную с одной стороны, так и необходимости постоянного дополнения и обновления карты при каких-либо изменениях в местности с другой стороны. Однако данный сервис является проверенным и получение опасного содержимого оттуда маловероятно.
На ряде сайтов интернет-магазинов используется чат-бот для общения с покупателями. Этот сервис, как правило, часто посещается администратором сайта, и проблемы в его работе могут быть обнаружены до возникновения опасности.
Более сложной является ситуация, возникающая на образовательных порталах. В целях обеспечения наглядности составители используют ленты времени, интерактивные плакаты и интеллект-карты, которые также являются встраиваемыми объектами из внешнего источника. При этом работоспособность данных сервисов в будущем не может гарантироваться. Такой угрозы по возможности стоит избегать, например, размещая скриншот ленты времени по окончанию её редактирования.
При этом стоит учитывать уместность данных элементов. Ряд ресурсов в качестве интерфейса сайта использует блок прогноза погоды, радио или swf-игр. Такие механизмы встраиваются в сайт для увеличения продолжительности его посещения пользователями, что позволяет улучшить поведенческие факторы, учитываемые поисковыми системами [5]. При этом не всегда источники таких элементов являются достаточно надежными.
Заключение. Чтобы упростить работу администраторов сайтов по выявлению некорректных ссылок и обеспечить защиту пользователей от таких ссылок, предлагается комплексно внедрять вышеописанный алгоритм в качестве:
1) модуля для каталогов сайтов и организаций;
2) плагинов к системам управления контентом сайтов;
3) плагинов к популярным веб-браузерам (или модификацией встроенного механизма защиты);
4) рекомендованного модуля средств защиты пользователя: антивируса, брандмауера.
Владельцам посещаемых и известных ресурсов не следует допускать освобождения доменов. В случае, если возникает необходимость закрыть интернет-портал, то можно отказаться от услуг хостинга, но сохранить доменное имя до того момента, когда появится претендент с готовой идеей будущего проекта. Такой вариант обеспечит безопасность и ряда пользователей, которые сохранили Ц^-адрес на данный ресурс.
Список литературы
1. Ермолович И.С. Организация продвижения бизнеса в сети Интернет путем оптимизации веб-сайта // Управление в социальных и экономических системах. Минск: Учреждение образования "Минский инновационный университет", 2016. С. 61-62.
2. Ревнивых А.В., Федотов А.М. Доступность ресурсов информационных систем // Вестник Новосибирского государственного университета. Серия: Информационные технологии. Новосибирск: Новосибирский национальный исследовательский государственный университет, 2014. Т. 12. № 1. С. 55-63.
3. Новоселова Л.А. Исполнение судебных актов по доменным спорам // Хозяйство и право. М.: Журнал "Хозяйство и право", 2013. № 10 (441). С. 9-24.
4. Алексеев А.А. Разработка настольного приложения мониторинга статуса доменных имён с использованием Qt и языка C++ // Гагаринские чтения - 2018: Сборник тезисов докладов XLIV Международной молодёжной научной конференции. М.: Московский авиационный институт (национальный исследовательский университет), 2018. Т. 2. С. 192.
5. Центр «Технологии успеха». Геймификация на сайте: как задержать посетителя + 5 классных онлайн-примеров [Электронный ресурс] URL: https://webtu.ru/blog/ geimifikatsiya-na-saite-kak-zaderzhat-posetitelya (дата обращения: 20.12.2020).
6. Биктимеров В.А., Матвеев Е.В. Проблемы приравнивания доменных имен к товарным знакам предпринимательства // Менеджмент и предпринимательство в парадигме устойчивого развития: Материалы I Международной научно-практической конференции. Екатеринбург: Уральский государственный экономический университет, 2018. С. 16-21.
Привалов Александр Николаевич, д-р техн. наук, профессор, privalov.61@mail.ru, Россия, Тула, Тульский государственный педагогический университет им. Л.Н. Толстого,
Смирнов Вадим Анатольевич, магистрант, v.a.d.i.m@bk.ru, Россия, Шуя, Шуйский филиал Ивановского государственного университета,
Богатырева Юлия Игоревна, д-р пед. наук, доцент, заведующий кафедрой, bogatirevadj@yandex.ru, Россия, Тула, Тульский государственный педагогический университет им. Л. Н. Толстого
TO THE QUESTION OF ANALYSIS OF EXTERNAL LINKS AND BUILT-IN ELEMENTS ON WEBSITES
A.N. Privalov, V.A. Smirnov, Yu.I. Bogatyreva
The fact of the presence of "broken links" as a potential vulnerability of the site is considered. Different variants of this type of links are highlighted: problems with access to a specific resource and disabling the site and domain. The site domain name lifecycle is described and it is noted that the domain name administrator may change. An algorithm is presented, using which it is possible to search for this type of vulnerability and attack the site by obtaining a released domain. The actions of the site administrator necessary to prevent such a situation are specified (automation of these actions is also possible). Recommendations for selecting and reducing the number of embedded elements on a web page are given.
Key words: broken links, external links, embedded elements, domain name, web applications vulnerabilities, information security.
Privalov Alexander Nikolaevich, doctor of technical sciences, professor, privalov.61@,mail.ru, Russia, Tula, Tula State Pedagogical University named after L.N. Tolstoy,
Smirnov Vadim Anatolyevich, master, v.a.d.i.m@,bk.ru, Russia, Shuya, Shuya branch of Ivanovo State University,
Bogatyreva Yulia Igorevna, doctor of pedagogical sciences, docent, head of department, bogatirevadj@yandex.ru, Russia, Tula, Tula State Pedagogical University named after L.N. Tolstoy