Безопасность веб-приложений – мониторинг системы безопасности

Безопасность веб-приложений - мониторинг системы безопасности

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

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

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

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

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

Безопасность веб-приложений

Мониторинг безопасности.

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

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

На видео: Интересный семинар на тему безопасности web приложения.

Доступ к секретным данным или их изменение.

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

Допустим, что в программе пользовательского интерфейса для торговли в паевых фондах есть уязвимость. Люди, которые могут получить доступ к таблицам со счетами, должны иметь возможность получать по личным идентификационным номерам индивидуальную информацию — например, какие ценные бумаги имеются у них в наличии и на какую сумму, а в некоторых случаях и информацию о банковском счете.
Даже вывод таблицы с именами и адресами представляет собой серьезное нарушение безопасности. Клиенты весьма ценят свою конфиденциальность, а длинный список имен и адресов плюс какая-нибудь дополнительная информация (“все десять тысяч людей, перечисленных в этом списке, любят делать покупки в онлайновых табачных лавках”) может оказаться ценным приобретением для маркетинговых фирм, которые не всегда придерживаются правил приличия.

Пропажа или уничтожение данных.

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


Отказ в обслуживании.

Атаки отказа в обслуживании (DoS) и их более суровые разновидности — распределенные атаки отказа в обслуживании (DDoS) могут разрушительно влиять на работоспособность приложения. Если серверы будут выведены из строя на несколько часов или даже больше, то вывернуться из такой ситуации будет непросто. Для известных сайтов с большой посещаемостью любой период неработоспособности представляет крупную проблему.
DoS-атаки могут произойти не только из-за человеческого фактора. Допустим, что здание с серверами вдруг сгорело, снесено селевым потоком или захвачено террористами. Если даже у организации хранятся на стороне надежные резервные копии, но нет плана по быстрому восстановлению работы этих компьютеров в Сети, то вся клиентура может быть утеряна на несколько дней.

Внедрение вредоносного кода.

Один из особенно эффективных видов Интернет-атаки называется внедрением вредоносного кода. Наиболее известной его разновидностью является межсайтовое выполнение сценариев (Cross Site Scripting, сокращается как XSS, чтобы не путать с CSS — каскадными таблицами стилей). Такие атаки особенно опасны тем, что при этом не происходит немедленная порча или пропажа данных: вместо этого выполняется какой-то код, который приводит к последующей пропаже информации или перенаправлению пользователей, что может обнаружиться далеко не сразу.

Компрометация сервера.

Компрометация сервера приводит к эффектам, которые уже описаны выше, но ее все-таки следует упомянуть отдельно, поскольку иногда взломщики хотят получить доступ к вашей системе — обычно в качестве суперпользователя (администратор в операционных системах Windows или «root» в ОС Unix). После этого они получают скомпрометированный компьютер в свое полное распоряжение и могут выполнить на нем любую нужную им программу, остановить компьютер или установить очень неприятное ПО. Следует особенно внимательно следить за такими атаками, так как после компрометации сервера взломщики, скорее всего, постараются замести все следы своего присутствия в системе.

Роман
Оцените автора
Безопасник
Добавить комментарий