Файл: Особенности алгоритмизации при работе WEB-приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 303

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

4. Прототипы (адаптивные). Расположение элементов и блоков с учетом выбранного макета верстки. Позволяют быстро согласовать все детали проекта и избежать ошибок на стадии дизайна [49].

5. Дизайн (адаптивный). Визуальная составляющая для сайтов и порталов важна особенно. От внешнего вида зависит первое впечатление и заинтересованность клиента в фирме или в продукте фирмы. Графическую концепцию обычно отрабатывают на примере главной страницы.

6. Верстка (UI элементная база). Верстка HTML-страниц сайта на основе дизайна, то есть перевод в HTML-код. Правильно сверстанный сайт одинаково работает во всех браузерах и при любых разрешениях экрана.

7. Разработка (программирование). На сервер устанавливают систему управления контентом, в код вносят требуемые правки. Производят настройку и программирование модулей. На страницах появляется интерактив: ссылки, формы, кнопки и т.д.

8. Интеграция (корпортал + CRM-базы данных и телефония + автоматизированный документооборот и учет и прочие). Интегрируется система управления, производится настройка сервера и системы безопасности хранения баз данных.

9. Создание контента. Если тексты, фото, видео предоставляет заказчик, ему следует позаботиться о своевременной их подготовке.

10. Правильное размещение контента. Изображения и анимация не должны отвлекать от текста, текст должен быть разделен на блоки, легко читаем.

11. Проработка SEO. SEO-адаптивные сайты изначально нацелены на продвижение и быстрее поднимаются в топ поисковой выдачи.

12. Настойка серверов (хостингов). На этом этапе проводят тестирование ресурса и оценку его работоспособности. Исправляют ошибки в коде и некорректную верстку, проверяют контент на уникальность.

На стадии запуска работа не заканчивается. Сегодня мало просто создать корпоративный сайт с удобной структурой и навигацией – нужно добиться высокой посещаемости, продвигая ресурс в поисковиках, каталогах, социальных сетях, занимаясь рекламой в Интернете. Планировать продвижение следует еще на стадии написания ТЗ, поэтому важно, чтобы разработчик был компетентен в вопросе оптимизации. Любые ошибки, допущенные на ранних этапах, в будущем обойдутся очень дорого.

Стоимость изготовления корпоративного сайта зависит от объемов работ, сроков и уровня профессионализма исполнителя. На практике разброс цен на создание корпоративных сайтов под ключ велик: от 20 тысяч до 3,5 миллионов рублей. Взяв за основу уровень исполнения, условно можно выстроить классификацию следующим образом:


  • «Студенты»: люди без опыта реализации успешных проектов, любители. За все этапы отвечают 1–2 человека. Таковых на рынке более 80%. Цена сайта – от 20 до 100 тысяч рублей;
  • «Претенденты»: специалисты с минимальным опытом, выполняющие сразу несколько функций. Цена работы – от 100 до 200 тысяч рублей;
  • «Профессионалы»: профессиональные разработчики, гарантирующие высокое качество и своевременные сроки исполнения. Цена – от 200 до 700 тысяч рублей;
  • «Элита»: веб-студии. Цена – от 700 до 3,5 миллионов рублей [8].

1.3 Информационная безопасность и защита информации на сайтах

Безопасность веб-приложений – один из наиболее острых вопросов в контексте информационной безопасности. Как правило, большинство веб-сайтов, доступных в Интернете, имеют различного рода уязвимости и постоянно подвергаются атакам. Рассмотрим основные угрозы информационной безопасности веб-сайтов [7]:

  • угрозы конфиденциальности – несанкционированный доступ к данным;
  • угрозы целостности – несанкционированное искажение или уничтожение данных;
  • угрозы доступности – ограничение или блокирование доступа к данным.

Основным источником угроз информационной безопасности веб-приложения являются внешние нарушители, т.е. хакерские атаки. Хакерская атака может иметь конечную цель, быть целевой атакой, либо атака носит бессистемный характер. В первом случае злоумышленник может выявлять максимально возможное количество векторов атаки для составления и реализации потенциально успешных сценариев взлома, во втором же объекты атакуются массово, обычно используют несколько поверхностных уязвимостей.

Целями злоумышленников чаще всего становятся сайты банков, мобильных операторов, известные медиапорталы, правительственные учреждения. Объясняется это тем, что взлом таких сайтов, во-первых, может помочь заработать немалые деньги, а во-вторых, дать доступ к важной информации. Подвергаются взлому и те сайты, аудитория которых ежедневно составляет несколько тысяч посетителей. Но владельцам небольших сайтов не стоит заблуждаться и чувствовать себя в безопасности. Мелкие сайты нередко используются как плацдарм для тренировок перед взломом больших или для нецелевых атак, когда атакуются сразу сотни или тысячи ресурсов, выбранных по определенному критерию. Есть мнение, что каждый третий сайт находится под наблюдением посторонних людей, которые изучают его уязвимости и в любой момент могут совершить взлом. А значит, главная задача владельца – максимально защитить сайт от всех возможных угроз, чтобы не потерять важную информацию и собственные деньги. Рассмотрим основные виды угроз. Угрозы безопасности связаны с несколькими факторами [15]:


  • уязвимости веб-приложений или их компонентов;
  • используемые механизмы проверки идентификации;
  • атаки на самих пользователей, клиент-сайд атаки;
  • утечка или разглашение критичной информации;
  • логические атаки.

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

Атаки, направленные на используемые веб-приложением методы проверки идентификатора пользователя, службы или приложения, либо направленные на методы, которые используются веб-сервером для определения того, имеет ли пользователь, служба или приложение необходимые для совершения действия разрешения. К такого рода атакам относятся: обход авторизации, небезопасное восстановление паролей, предсказуемое значение сессии или ее фиксация.

Во время посещения сайта, между пользователем и севером устанавливаются доверительные отношения, как в технологическом, так и в психологическом аспектах. Пользователь ожидает, что сайт предоставит ему легитимное содержимое. Кроме того, пользователь не ожидает атак со стороны сайта. Эксплуатируя это доверие, злоумышленник может использовать различные методы для проведения атак на клиентов сервера. Такого рода атаки могут быть задействованы как в сложных сценариях атаки (watering hole, drive by), так и в более привычных клиент-сайд атаках, например XSS.

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

Имеется два основных вида атак на веб-приложения: целевые и нецелевые атаки. Целевые атаки – это атаки, специально нацеленные на один сайт или их группу, объединенную одним признаком (сайты одной компании, либо сайты, относящиеся к определённой сфере деятельности, либо объединенные рядом признаков). Опасность таких атак заключается именно в «заказном» характере. Исполнителями таких атак становятся, как правило, злоумышленники, обладающие высокой квалификацией в области безопасности веб-приложений. Целью таких атак обычно является получение конфиденциальной информации, которая может быть использована недобросовестными конкурентами или преступниками для получения прибыли.


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

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

Хакеры используют сайт для атак на другие ресурсы, в качестве опорного плацдарма, для рассылки спама или проведения DoS атак. Зараженный сайт блокируют поисковики и браузеры, сайт теряет пользователей. Атака на веб-сайт в корпоративной среде может является точкой входа в корпоративную сеть компании. Атаки на системы электронной коммерции могут быть использованы для совершения мошеннических действий, похищения клиентских баз и т.д. Также, все эти атаки могут быть нацелены на дальнейшее «заражение» пользователей сайта [25].

Сам термин «уязвимость» – это перевод английского слова vulnerability, он означает недостаток в коде сайта или программном обеспечении, используя который можно нарушить работу системы. Часто появление уязвимости бывает вызвано ошибками программирования, недостатками при проектировании сайта или ненадежными паролями. Уязвимости позволяют атакующему заставить интернет-приложение совершить действия, на которые у того нет прав. К основным типам уязвимостей относятся следующие:

  • недочеты системы аутентификации и управления сессией;
  • небезопасные прямые ссылки на объекты;
  • небезопасная конфигурация;
  • утечка чувствительных данных;
  • отсутствие контроля доступа к функциональному уровню;
  • использование устаревших компонентов;
  • невалидированные редиректы (несанкционированные перенаправления);
  • кликджекинг (использование невидимых элементов).

Это далеко не полный перечень, к тому же постоянно появляются все новые и новые уязвимости.

1. Кража паролей.

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

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

2. Взлом через хостинг-провайдера Нередко взломы сайтов происходят по вине хостинг-провайдера [11].

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

4. Взлом сайта через модули и компоненты вне CMS.

Большинство CMS в «чистом виде» взломать довольно сложно. Опасность кроется во всевозможных расширениях – компонентах, плагинах, модулях, создаваемых сторонними разработчиками. Например, при установке компонента комментариев, в котором есть уязвимость, хакер получит возможность вместо комментария залить на сайт специальный скрипт и совершить взлом.

5. SQL-инъекции. SQL-инъекция – это уязвимость, возникающая при недостаточной проверке и обработке передаваемых от пользователя данных. Она дает возможность хакерам модифицировать и даже выполнять не предусмотренные кодом программы запросы путем внедрения вредоносного кода в запрос к базе данных. Результатом является получение доступа к данным, к которым в обычных условиях доступ запрещен. Использование этой уязвимости позволяет осуществлять кражу данных, их подмену или уничтожение и провоцировать отказ в обслуживании (DDoS).