Технологии

Информационная безопасность для хипстеров

Информационная безопасность для хипстеров
Социальная инженерия - на дурака не нужен взлом

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

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

Атаки в сети

Начнем с того, что такое вообще электронное шифрование, так как это основа основ, к которой мы будем возвращаться еще много раз. Шифрование бывает двухсторонним и односторонним.

Двухстороннее: Вася хочет написать письмо Свете так, чтобы Лена, которая любит читать чужую переписку, ничего не заподозрила. Для этого:

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

2. Вася получает открытый ключ и с его помощью шифрует собственное сообщение, по открытому каналу (Лена читает переписку) отправляет получившуюся абракадабру, которую никто не разберет.

3. Света получает абракадабру и расшифровывает ее с помощью личного ключа. Лена понятия не имеет, что Вася писал Свете, хотя знает (!) что он ей все-таки писал.

Одностороннее: каждое сообщение превращается в “хэш”. На вид абракадабра определенной длины, но у каждого файла и сообщения абракадабра своя. Это используется, например, для паролей на сайтах, то есть система проверяет не “соответствует ли ваш пароль тому что записано там”, а “соответствует ли хэш вашего пароля тому хэшу, что записан там”. Причем обратного расшифровывания (в теории) не должно быть вообще, хотя атаки на алгоритм есть.

Написав про хэш, можно перейти к первому правилу интернет-безопасности.

Правило 1.0: “умные” пароли

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

Получив каким-либо образом хэш вашего пароля (например с помощью SQL Injection, но об этом думать надо не вам, а создателям сайта), атакующий начнет подборку вашего пароля.

- Если пароль состоит из текста “pencil”, атакующий узнает его за долю секунды, так как это слово содержится в словаре. Компьютер должен будет сделать всего-то, скажем, 10000 операций.

- Если пароль слово “pencil666”, атакующий, перепробовав “словарную атаку”, начинает смотреть все слова с цифрами на конце. Если представить что на конце может быть до четырех цифр, это уже означает не 10000, а 10000х11110 повторений. Уже лучше, но все равно слабо.

- Если пароль несловарное слово, например “puncil”, словарная атака уже не сработает. Придется пробовать все буквы алфавита на подбор. Для шести букв это уже 27 (английский) в шестой степени, что весьма неплохо. Причем, если есть заглавные буквы в пароле, узнать его становится значительно сложнее, так как это уже 54 (+ 27 заглавных) в шестой степени.

Таким образом, если не хотите, чтобы вас так уж просто взломали, выбирайте такой пароль, как “PunciL1999”, чтобы его было несложно запомнить и очень сложно взломать. Это уже 64 (27+27+10+1(чаще всего дозволенный знак “_”)) в восьмой+ степени (если восемь знаков это 318644812890625 повторений), и подбирать данный пароль придется долго. Очень долго.

Также не стоит на каждом сайте использовать один и тот же пароль. Но на практике это сложно осуществить, если этих сайтов много, а человек путается и в двух паролях. Просто берите хороший отдельный пароль для сайтов, связанных с работой или важными личными данными, и не используйте его для “левых” сайтов, где много рекламы.

Если вы думаете, что эта проблема касается только обычных пользователей - вы ошибаетесь. Мне рассказывали, как один крупный менеджер компании "Мерседес" поплатился работой за то, что к своему аккаунту в корпоративной сети выбрал пароль “test”.

Есть и другие простые способы узнать пароль пользователя.

Итак, начнем с самого обычного случая, который рассказал мне знакомый студент-информатик. Как-то сидя в Макдональдсе с ноутбуком, он решил открыть программу прослушки соединения (Wireshark) и посмотреть на информационный трафик в сети. В записях самодельной прослушки было много интересного – незашифрованные тексты паролей, с которыми люди заходили на Facebook, куки, которые хранят информацию о доступе к различным сайтам и передаются с каждым запросом на сайт... Это то, что бросалось в глаза. Если покопаться в тысячах строк записей Вайршарка, можно было видеть вообще все, что какой-либо человек делал в Интернете.

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

Но значит ли это, что любой хакер может читать любую переписку, сидя с вами в одной локальной сети? Совсем нет. Таким образом мы подходим ко второму правилу:

Правило 1.1: https://

Если перед заходом на сайт вместо привычного http://www.[сайт].com вводить https://www.[сайт].com, то трафик от вас к серверу сайта будет шифроваться автоматически, как в вышеприведенном случае с Васей и Светой. Поскольку шифры берутся от 50-ти знаков в шестнадцатеричной системе, взломать его не сможет не то что простой хакер, но даже кластер суперкомпьютеров. Есть легенды, что спецслужбы владеют более эффективными алгоритмами взлома, но многие профессора математики крайне скептичны в этом отношении.

На данный момент большинство интернет-магазинов автоматически перенаправляют пользователя на https, иначе он стал бы открытым текстом пересылать код своей карточки, но внимательным надо быть все равно.

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

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

Это другая распространенная атака на личные данные пользователя. Создание сайта, копирующего "Вконтакте" во всем, и массовая рассылка ссылок на него, таких как “лайкни мою фотографию”, ведет к тому, что множество недалеких людей, не замечая подвоха, вводят свой логин и пароль... уже на другом сайте! То есть ваш логин и пароль отправляются на чужой компьютер открытым текстом (https тут, естественно, не поможет). И владелец этого сайта получает доступ к страницам тех, кто туда заходит, думая что он зашел на свой аккаунт. Многие наверное слышали название подобных атак: phishing (от fishing — рыбная ловля, выуживание).

Из этого вытекает...

Правило 1.2: будьте уверены что вы вводите свой пароль на правильном сайте

Проще говоря, в адресной строке должно стоять vkontakte или vk.com, а не другой адрес - например, vk.t.com, vkontrakte.ru или vkantakte.com. Половина так называемых “угнанных аккаунтов” крадется подобными простыми способами.

Следующее правило также следует упомянуть, так как об одной интересной атаке я сам узнал относительно недавно.

Получить доступ к камере компьютера не так просто, как кажется. Adobe Flash Player, а также HTML5 функции Internet Explorer или Firefox четко прописывают невозможность получения доступа к камере компьютера для видеочата или фотографии на аватар без того, чтобы пользователь сам нажал на кнопку OK. В принципе технология довольно отработана и безопасна, если бы не одно но.

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

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

Вот видео-демонстрация:

Вполне возможно, данный метод атаки уже недействителен, так как Adobe клялись и божились исправить уязвимость первым же делом.

Правило 1.3: не нажимайте куда попало где попало

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

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

Social Engineering

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

- Иногда для этого достаточно прислать письмо от покойной тети из Нигерии, не все поймут, не многие вспомнят
- Иногда достаточно прислать СМС “Привет, это я. Скинь 100 рублей на телефон, срочно надо.”
- Иногда высокопоставленному служащему крупной компании достаточно увидеть официально-выглядящий листок с логотипом банка, чтобы заполнить его номерами счета компании и отослать на адрес похожий на адрес настоящего банка.

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

Таким образом:

Правило 1.4: доверяй, но проверяй

Главным образом, проверяй, кто прислал сообщение и кому отправляешь ответ. И сразу -

Правило 1.5: не доверяй СМС, вообще

Есть множество сервисов позволяющих послать СМС.

И они действительно работают, можете проверить, если не жалко времени и денег.

Просто сам протокол СМС устроен так, что подменить обратный адрес - проще простого. Мой друг был довольно удивлен, узнав что ему пришло странное СМС-сообщение с собственного домашнего номера.

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

- Кевин Митник считается чуть ли не самым известным хакером в истории, но самые ощутимые результаты он достигал не взламывая пароли, а уговаривая жертву под разными предлогами саму предоставить пароль “новому системному администратору”. Не думаю, что стоит отдельным правилом выделять “Никогда никому не давайте ваш пароль. Админам он в 99% случаев не нужен вообще”, но отдельного замечания это определенно стоит.

- Шейн Макдугал три раза подряд выигрывал хакерское соревнование Дефкон в категории социальной инженерии, когда участнику дается задание обмануть определенное частное лицо в сугубо академических целях. На первом соревновании хакер сумел обмануть службу информационной безопасности Форда. На втором он заставил фирму Oracle поверить, что ООН сделала для них заказ на создание системы диспетчерского контроля. На третьем он убедил владельца американского магазина, что канадская армия отправляет в его заведение целую дивизию.

Получается, что на практике опытный мошенник с компьютером страшнее опытного программиста с коварными планами.

В следующей статье я попытаюсь простым языком объяснить что такое СОРМ и зачем эта система нужна спецслужбам, а также что делать тем людям, которые не хотят, чтобы гебня читала их личную переписку. И, если хватит времени, как относительно безопасно качать торренты “в цивилизованных странах” и почему это лучше делать не из дома.

10 769

Читайте также