WEb практикум. Web'cepbep
Скачать 4.76 Mb.
|
ГЛАВА 1 Основы безопасности В этой главе мы познакомимся с основами, базовой теорией взлома web-сайтов и выясним, каким образом идет поиск уязвимостей. В начале главы поверхностно будет затронута тема социальной инженерии, в дальнейшем мы не будем использовать ее (ну, может, совсем чуть-чуть) для достижения необходимого результата. Содержимое этой главы пересекается с некоторыми отрывками из других моих книг, потому что мне уже много приходилось писать о безопасности. В этой главе я собрал самое интересное из своих предыдущих работ (но не все, а только то, что касается web), дополнил и обновил информацию с учетом текущих реалий. Даже если вы читали мои предыдущие книги, эта глава не должна стать для вас скучным чтивом. Социальная инженерия Социальная инженерия — это очень мощное оружие, которое может срабатывать даже там, где программы на сервере написаны идеально, потому что она использует самое слабое звено — человека. Наверное, каждая уязвимость связана с человеческим фактором, ведь серверные программы, в которых мы будем искать уязвимости, написаны человеком и именно он делает ошибку, которая приводит к взлому. В данном случае социальная инженерия ищет слабое место (можно сказать, уязвимость, если проводить аналогию с программами) в человеке. С помощью социальной инженерии происходило большинство наиболее громких взломов и создавались самые известные вирусы. В моей молодости много шума наделал вирус "Анны Курниковой", когда пользователям приходило письмо с вложением и предложением посмотреть фотографию обнаженной Анны. Это тоже социальная инженерия, которая играет на слабостях человека. Любопытство мужчин, которые запускали прикрепленный файл и таким образом заражали свой компьютер, помогло распространению этого вируса. А ведь на тот момент мужская половина была большей частью пользователей интернета. В данном случае использовалась слабость (можно снова назвать уязвимостью) человека — любопытство и похоть. Социальная инженерия основана на психологии человека и использует его слабые стороны. С ее помощью хакеры заставляют жертву делать то, что им нужно: заражают компьютеры, получают пароли. Сколько раз я слышал про украденные номера кредитных карт с помощью простых почтовых сообщений. Пользователь получает письмо с просьбой сообщить свой пароль, потому что база данных банка порушилась из-за погодных условий, проказ хакера или неисправности оборудования. Ничего не подозревающие пользователи всегда сообщают данные, потому что боятся потерять информацию. Да, в последнее время доверчивость у пользователей интернета уменьшается благодаря СМИ. Теперь уже все сложнее найти человека, который откроет свой пароль в ответ на поддельное письмо от службы поддержки. Сейчас наоборот, пользователи боятся использовать некоторые защищенные и очень полезные сервисы. Но и хакеры не дремлют и ищут все новые и новые методы, все более изощренные способы обмануть людей. Есть и такие хакеры, которые редко придумывают что-либо новое, а используют старые и проверенные способы. И, несмотря на это, всегда находятся те, кто попадаются на удочку. Я пользуюсь интернетом уже очень долгое время и ежедневно получаю десятки писем с просьбой запустить файл для обновления защиты или для того, чтобы увидеть что-то интересное. А ведь достаточно часто отправители — пользователи зараженных компьютеров. Значит, кто-то открывает такие вложения. Я никогда не открываю вложения, и это одна из причин, почему мне не нужны антивирусы уже лет 15. Несмотря на широкое использование защитных программных комплексов и антивирусных программ, количество вирусов не уменьшается, а если и уменьшается, то не сильно. Каждый день в интернете появляются новые пользователи, которые еще ничего не знают о мерах предосторожности. Именно они чаще всего попадаются на различные уловки. Итак, давайте рассмотрим некоторые способы, которыми пользуются хакеры. Это поможет вам распознавать их и отделять попытки психологического воздействия от простого общения с людьми. Помните, что социальная инженерия максимально сильна в интернете, когда вы не можете воочию оценить намерения своего собеседника. Классика — взлом через смену пароля. Жертве приходит письмо с просьбой обновить свои реквизиты на web-странице банка, и при этом ссылка из письма указывает совершенно на другой web-сайт, где введенные пользователем данные попадают в руки хакеру. Мне регулярно приходят письма, в которых используется очень старый и давно забытый способ социальной инженерии. Письмо имеет примерно следующее содержание: "Здравствуйте. Я администратор компании ХХХХХ. Наша база была подвержена атаке со стороны хакера, и мы боимся, что некоторые данные были изменены. Просьба просмотреть следующую информацию, и если что-то неверно, то сообщите мне, я восстановлю данные в базе". После этого может идти перечисление данных обо мне, которые легко получить через социальные сети. У меня есть сайты, поэтому мои данные легко находят в интернете с помощью сервиса whois. На любом web-сайте регистрации доменов есть такая служба, позволяющая определять имя владельца домена. Хакер может воспользоваться этим и указать в письме всю найденную информацию. Помимо этого, он может указать еще два параметра: имя пользователя и пароль. Конечно же, эти данные хакер, скорее всего, не знает, поэтому здесь будут неверные значения. Кое-кто из пользователей при получении таких писем теряется и, волнуясь за свой web-сайт, открывает ссылку из письма, которая ведет на зловредный сайт, и там через какую-либо форму сообщает хакеру уже правильные параметры доступа. Данный метод использует хороший психологический прием: сначала приводится достоверная информация, и только в параметрах доступа заложена ошибка. Таким образом завоевывается расположение и доверие жертвы, и если пользователь незнаком с таким принципом социальной инженерии, то вероятность получить пароль достаточно высока. Это подтверждает не только множество знаменитых взломов в 80-х годах прошлого столетия, но и то, что этот метод существует и работает даже в наши дни. Сейчас количество взломов этим методом сократилось, однако это может быть лишь затишьем перед бурей. Пользователи могут расслабиться, и атака снова станет популярной. Ведь все новое — это хорошо забытое старое. Если немного модифицировать подход, чтобы пользователи сразу не заметили подвоха, то атака может стать очень эффективной. Задача хакера — войти в доверие к защищающейся стороне и узнать пароли доступа. Для этого используются психологические приемы воздействия на личность. Человеку свойственны любопытство, доверчивость и чувство страха. Любое из этих чувств может стать причиной утери информации. Благодаря излишнему любопытству мы верим призывам открыть прикрепленный к письму файл и самостоятельно запускаем на своем компьютере вирусы. В силу нашей доверчивости хакерам удается узнать секретную информацию. Но самые сильные эмоции вызывает страх. Именно на страхе и боязни потери паролей основана большая часть атак, с помощью которых пользователя вынуждают сказать необходимые сведения. Еще две слабости, которые очень часто приводят к положительному результату, — жадность и алчность. Деньги портят людей, а хакеры умеют этим пользоваться. Наилучший результат достигается тогда, когда хакер использует сразу несколько слабостей: например, страх и любопытство одновременно. У нас на работе есть отдел, который занимается безопасностью. Они регулярно рассылают письма с напоминанием, что нельзя открывать ссылки из писем, источник которых нам неизвестен. Несмотря на то, что многие прекрасно знают о проблемах безопасности, подобные напоминания помогают держать нас в тонусе. Крупные и громкие взломы происходят циклично. Пара-тройка крупных взломов, после чего может быть тишина в течение продолжительного времени. За время затишья народ расслабляется и больше подвержен атакам. Чтобы этого не произошло, и рассылаются подобные письма. Как бы ни говорили о том, что социальная инженерия через электронные письма — опасная вещь и она регулярно становится причиной проблем, эффективность этих рассказов все же далека от идеала. Реальность показывает, что люди часто игнорируют предупреждения в надежде, что их это не коснется. Но что может быть лучше реальных примеров? Поэтому у нас на работе как-то рассылали письмо, которое копировало популярную атаку хакеров и содержало ссылку на фейковый сайт. Говорят, что в результате достаточно большое количество сотрудников кликнуло по ссылке. Хакеры пользуются социальной инженерией незаметно, но эффективно. Вы даже не почувствуете подвоха, когда у вас попросят пароль или секретную информацию, и послушно все отдадите. Чтобы не попасться на крючок, вы должны иметь представление о том, какие методы социальной инженерии могут использоваться для достижения необходимой цели. С основными методами можно познакомиться в книге самого знаменитого хакера — Кевина Митника "Искусство обмана: контролирование человеческого фактора в безопасности". Социальная инженерия работает до сих пор, и очень много взломов по сей день совершается старым добрым методом — через почту заражается компьютер одного из сотрудников компании. Получив контроль над одним из компьютеров, заражается какое-то программное обеспечение в сети и идет дальнейшее продвижение. Пока что идет расследование недавнего взлома SolarWinds, но, похоже, именно так он и произошел. Хакеры подбросили зловредный код в одно из приложений, которое используется в компании, что привело в дальнейшем к очень серьезным последствиям. Хотя я и сказал, что не буду в данной книге уделять большого внимания социальной инженерии, давайте все же рассмотрим несколько рекомендаций, как защищаться от фейковых писем: всегда проверяйте адрес отправителя. Очень часто почтовые программы прячут e-mail и показывают только имя отправителя. Если хакер отправит письмо от имени info-microsoft.com<an1930123@mail.ru>, то почтовая программа может отобразить только info-microsoft.com, а реальный адрес будет спрятан. При клике на имя программа все же покажет спрятанный e-mail и если это что-то типа an1930123@mail.ru, то письмо явно не от Microsoft. Вообще нужно обращать внимание на каждую мелочь в адресе. Солидные компании не рассылают письма от имени e-mail адресов, которые не вызывают доверия; ссылки внутри письма также могут указывать на то, реальное перед нами письмо или нет. Если навести на ссылку мышкой, то должна появиться подсказка, которая точно будет указывать реальную ссылку, на которую мы попадем при клике. Если она вызывает доверие и реально указывает на сайт, о котором говорится в письме, то можно кликнуть. Если письмо от Microsoft со ссылкой m1cr0soft.com, то, конечно, же это фейк; ♦ если ссылка указывает на сайт, который мы ожидаем, и домен не вызывал вопросов, открываем сайт и после загрузки еще раз проверяем ссылку в браузере. Дело в том, что на сайте могла быть уязвимость, которая после загрузки перенаправила вас на сайт хакера. У крупных компаний, таких как Microsoft или Google, подобное встречается сейчас крайне редко, и я уже не припомню, когда последний раз сообщали о подобном в новостях. Но на небольших сайтах такое еще случается. Природа взлома Универсального способа взлома интернета (а точнее, web-сайтов) не существует. Если бы такое средство существовало, интернет бы уже охватили анархия и беспредел, а все сайты были бы взломаны. Вместо этого каждый раз приходится искать свое решение, которое откроет необходимую дверь для определенного сайта. Да, есть атаки, которые могут уничтожить любую защиту: DDoS (Distributed Denial of Service, распределенная атака на отказ в обслуживании) или подбор паролей, но затраты на проведение этих атак могут оказаться слишком большими, хотя они не требуют много ума и доступны для реализации даже новичку. За взлом сервера с помощью перебора паролей или за DDoS-атаку хакеры никогда не будут признаны общественностью как профессионалы, поэтому к подобным методам прибегают только в крайних случаях и в основном начинающие взломщики. Почему количество атак с каждым годом только увеличивается? Я не говорю сейчас о свершившихся или удачных атаках, я говорю о попытках. Раньше вся информация об уязвимостях хранилась на закрытых BBS (Bulletin Board System, электронная доска объявлений) и была доступна только избранным. К этой категории относились и хакеры, совершавшие безнаказанные атаки, потому что уровень их знаний и опытности был достаточно высок. Проникнуть на такую BBS непосвященному или новичку было очень сложно, а чаще всего просто невозможно. Информация об уязвимостях и программы для реализации атак были доступны ограниченному количеству людей. С одной стороны, информация становится более доступной, с другой стороны — люди становятся более образованными с точки зрения компьютерной грамотности. Когда только появились машины, то управление ими было доступно только избранным, но с распространением машин все больше людей могут ими управлять. Сейчас уже не только профессиональные гонщики соревнуются в скорости, по улицам может гонять кто угодно, хотя это и грозит штрафами. То же самое и с ИТ. Если раньше только программистам был доступен взлом компьютеров и web-сайтов, то в наше время это может делать практически кто угодно. С помощью специального софта и за счет возросшей образованности все больше людей пользуются взломом для совершения не очень законных действий. Мир меняется. Компьютеры становятся более доступными и сейчас уже есть практически в каждой семье. В настоящее время сведения об уязвимостях стали практически общедоступными. Существует множество сайтов, где можно не только получить подробные инструкции по взлому, но и найти программу, которая вообще без специализированных знаний по нажатию кнопки, будет производить атаку. В некоторых случаях достаточно только указать адрес web-сайта, который вы хотите взломать, нажать на "волшебную" кнопку, и компьютер сделает все необходимое сам, без вашего вмешательства, при этом вы абсолютно не будете знать и понимать, как это произошло. Да, далеко не вся информация попадает в публичный доступ (паблик) сразу после обнаружения. Хакеры могут использовать найденные уязвимости только в определенных кругах и какое-то время держать информацию доступной только для избранной категории. Особенно это касается группировок, которые взламывают профессионально. Но со временем и эта информация становится публичной. С одной стороны, информация действительно должна быть открытой. Администраторы, зная методы взлома, могут построить соответствующую защиту. Другое дело, что далеко не каждый следит за тенденциями в сфере безопасности, и далеко не все администраторы отрабатывают свою зарплату, строя безопасные сети. С другой стороны, если закрыть web-сайты, на которых содержится информация об уязвимостях, то количество атак резко сократится. Большинство взломов совершается именно непрофессионалами, которые нашли где-то программу для совершения злодеяний и выполнили ее. Лично я разрываюсь между двух огней и не могу проголосовать за открытость или закрытость информации. С одной стороны, информация должна быть открыта, а администраторы и программисты должны быть внимательнее и быстрее реагировать на найденные ошибки, а с другой — ее лучше закрыть, чтобы у злоумышленников не было соблазна использовать готовые программы. Наверное, я все же проголосую за открытость, но при этом правоохранительные органы должны лучше реагировать на действия вандалов, а администраторы должны лучше контролировать безопасность. Каждое общество требует разумного управления. Это не значит, что за каждым щелчком нужно следить, это значит, что взломы должны наказываться по определенным законам. Мы должны вести себя цивилизованно, иначе, как раковая опухоль уничтожает живой организм, мы уничтожим сами себя. Безусловно, интересно наблюдать за тем, как две команды хакеров воюют между собой, взламывая web-сайты друг друга, но все должно иметь свой предел. Каков этот предел, я судить не могу. Никто не может вынести решение, каким быть интернету, потому что на данный момент он свободен и в каждой стране подчиняется своим законам. Но интернет — это единое общество, а закон должен быть для всех единым. Пока не будет закона, его соблюдения и контроля, анархия будет продолжаться. |