Пароли и безопасность


banda аватар

banda - Posted on 05 Июль 2010

Пароли, без которых не обойтись

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

Как передаются и хранятся пароли

Начнем с того, что ближе к телу, а именно собственный компьютер, как и где хранятся пароли, которые запрашивает система. Итак, пароли всех пользователей хранятся в файле /etc/shadow, но не в виде прямого текста, а в виде md5 сумм (хешей), так что сам пароль вы из этих сумм просто так не извлечете, а авторизация происходит следующим образом — вы вводите пароль, система налету считает его md5 сумму и сравнивает с той, что находится в файле /etc/shadow напротив вашего имени, и если они совпадают, то вы успешно войдете в систему, если нет — то ничего не выйдет. Правда и здесь есть одна тонкость. Представьте, что в системе зарегистрированы несколько пользователей, и у двух будет одинаковый пароль (по причине разгильдяйства), кто нибудь просмотрит файл /etc/shadow и обнаружит пользователей с одинаковыми хешами, остальное дело техники, а именно, узнать пароль одного из них - и вторая учетная запись (возможно куда более важная, например, горе-администратора) у вас в кармане. Чтобы такое не произошло система делает следующий финт: перед хешированием к паролю добавляются случайные символы — «salt» (соль, от англ. add salt to sth. — сделать что-л. более интересным, в русскоязычных источниках иногда используется термин «затравка»), salt также приписывается к началу полученного хеша - теперь даже два одинаковых пароля будут иметь разный хеш. Благодаря salt нельзя при простом просмотре файла обнаружить пользователей с одинаковыми паролями.

Все остальные пароли, как правило, хранятся на серверах соответствующих интернет-ресурсов в зашифрованном или незашифрованном виде, последнее легко проверить так — попросите выслать вам ваш пароль, под предлогом того, что забыли - если вышлют, то ваш пароль лежит тепленький в виде прямого текста, выводы делайте сами. Следующий закономерный вопрос — а как пароли передаются по сети? Существует много способов — через обычный протокол http, т.е. в открытом виде, и по защищенному протоколу https, использующему шифрование SSL или TSL, и другие (FTP, POP и пр.), поэтому очень внимательно смотрите на адресную строку броузера, когда, например, совершаете покупки через сеть — злоумышленники могут подделать сайт магазина, с одной малозаметной «ошибочкой» - http: вместо https: в строке адреса, когда вы вводите пароль - и вы отправите им кодовое слово для совершения операций над вашим электронным кошельком или номер кредитной карточки, злоумышленникам только этого и надо, будьте внимательны!

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

Как похищают пароли

Утащить пароль у вас могут многими способами, самый простой - подсмотреть через плечо и в зеркало, когда вы его набираете, кстати, именно поэтому в терминале он не печатается при наборе даже в виде точек, а при графическом вводе, увы, количество символов видно. Второй по популярности вариант — списать его с вашего листочка (особенно, если он приклеен к монитору!) или из блокнотика, которым вы постоянно пользуетесь, его могут сфотографировать постранично с помощью фотокамеры банального мобильника или цифровичка, и читать на досуге — не храните так важные пароли. Будем надеяться, что вас не окружают сплошные недоброжелатели, охотящиеся за вашими паролями, гораздо чаще пароли похищают дистанционно, через сеть с помощью прослушивания траффика (так называемые снифферы) и кейлоггеров (сохраняют текстовый лог всех нажатых клавиш), и конечно, подбор с помощью полного перебора по словарям — брутфорс (Полный_перебор). Два предыдущих варианта возможны только если на вашей машине поселилась какая нибудь троянская зараза (хотя в некоторых сетях сниферы используются админами для поиска шпионов и паразитного трафика), а вариант с брутфорсом возможен при наличии открытых портов и вашей активной помощи злоумышленникам.

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

А теперь задумайтесь по поводу последнего постулата, а именно, помощи злоумышленникам.

Сперва рассмотрим, что такое брутфорс — это тупой перебор различных вариантов и скармливание их системе авторизации и так пока не будет получен положительный ответ. Откуда берутся эти варианты — из словарей, баз данных и различных хакерских баз паролей, полученных опытным путем, как вы думаете, ваш пароль там есть? Но не будем спешить и пойдем от противного, а именно, каким не должен быть пароль. Прежде всего длина — минимум 8 символов, иначе даже полный перебор всех возможных комбинаций займет всего несколько минут (посмотрите на табличку о времени подбора по ссылке в википедии), номер телефона 89261232345 — это тоже не пароль, достаточно подключить телефонную базу данных и, вуаля, даже если вы его и снабдите кучкой спецсимволов — не поможет. Далее, пароль не должен быть словом, присутствующим в орфографическом словаре, а также не должен быть именем собственным, например, «Алексей», псевдонимом на форуме, названием фирмы, спортивной команды, кличкой вашего домашнего любимца, годом рождения, телефоном, и уж конечно не таким «123abc» - все это до обидного быстро подбирается ломалками паролей, которая начинает перебор не абы с чего, а с наиболее распространенных вариантов и языковых конструкций. О последнем хочется поговроить особо. Если известно на каком языке написан пароль, то известна и общая статистика частоты использования букв и слогов, поэтому число комбинаций многократно уменьшается. Если вы надеетесь на надежность пароля из слов, то боюсь вас разочаровать - число используемых слов около 10.000 и перебрать комбинации из 2 - 20 слов машине не состаит труда.

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

Еще хочется упомянуть о возможном рэкете, связаном с похищением паролей. Представьте, что есть заядлый онлайн-игрок (например, в World of Wacraft), который полгода днями и ночами "прокачивал" своего аватара, и однажды, при попытке авторизоваться на игровом сервере он получает отказ - "вы ввели неправильное имя или пароль" (за точность формулировки поручиться не могу - не играл), игрок в ужасе - пока он был оффлайн, кто-то завладел его аккаунтом и сменил пароль, все просто и изящно. Через денек другой ему приходит незатейливое письмо, в котором говорится, что ваш аватар в целости и сохранности и чтобы получить его обратно, (т.е. новый пароль) от вас нам нужны сущие пустяки, какие-то 1000 рублей вот на этот электронный кошелек. Игрок заплатит как миленький - деньги то небольшие, чтобы в милицию обращаться, а по игре у него настоящая "ломка".

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

Давайте разберемся, как же донельзя осложнить жизнь брутфорсерам — прежде всего длина самого пароля — 10-12 символов, только не думайте, что пароль из 20 звездочек (или других одинаковых символов) подряд вас защитит — хакеры ведь тоже не дураки и такие «детские» варианты они проверяют в первую очередь. Здесь важно не переборщить, ведь вам придется постоянно набирать этот пароль. Далее, пароль гарантированно не должен быть в орфографическом словаре и должен содержать спецсимволы и символы различного регистра — так немыслимо увеличивается количество возможных вариантов и соответственно, время подбора (если вы используете весь латинский алфавит в обоих регистрах, цифры и спецсимволы, то количество комбинаций составит 92^n, где степень n - число символов пароля, а 92 - общее число символов. Это значит, что если длина пароля всего 8 символов, то общее число комбинаций составит 5х10^15 и целых 1 162 года перебора!!!).

Если пароль ответственный — никогда не сохраняйте его в различных менеджерах, например, в броузерах, и не ставьте галочку «запомнить пароль», так вы защитите себя в случае кражи домашнего каталога или конфигов от броузера, не поленитесь запомнить его и каждый раз вводить (для операций с деньгами через интернет это должно стать нормой!)

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

Первый способ — вручную - садитесь за клавиатуру и представляете себя агентом разведки, решившим свести с ума вражеских шифровальщиков — наберите максимально бессмысленный набор букв цифр и спецсимволов, например, (F@5x/0^4l»k9) или что то типа того — это пароля в словарях уж точно нет, можете взять кусочек какого-нибудь PGP ключа, скопировав строчку, столбик или хоть по диагонали, и использовать в качестве пароля, главное, чтобы не было слогов, свойственных русскому или английсткому языку - это самый сильный пароль.

Второй способ — использовать специальные программы для генерирования паролей, например pwgen — она сгенерирует массу паролей, только задайте ей необходимые параметры.

Повесть о настоящем ROOTе (маленькое отступление)

Многие пользователи убунту задаются вопросом — почему же здесь нет учетной записи root или администратора, ведь во всех других дистрибутивах она есть, неужели убунту какой то неправильный линукс?

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

У каждого пользователя интернета есть сложившиеся за месяцы или годы работы привычки, которые автоматически запускаются сразу же после того, как вы увидите рабочий стол компьютера — просмотреть почту, открыв броузер, сказать «привет» парочке друзей по ICQ, бегло просмотреть ленту новостей и так далее. И вот, пытливый пользователь, решился таки активировать рутовый аккаунт, чтобы было «как у всех» и наметил на сегодня массу дел, требующих административных полномочий, а чтобы не вводить каждый раз sudo, решил войти под учетной записью root, посчитав себя достаточно опытным, что и сделал. И в момент загрузки компьютера пользователь на что то отвлекся — вскипел чайник, зазвонил телефон, или организм подал сигнал тревоги, требующий немедленного реагирования, в общем отошел от компьютера по своим делам. Вернулся после праведных трудов, сел, и тут сработал наработанный пользовательский рефлекс — он открыл почтовый ящик, запустил интернет-пейджер, вошел на любимый новостной портал и пошло поехало — в народе это зовется серфингом. Ну и что тут необычного, спросите вы, а то, что все запущенные нашим пользователем программы, сиречь, броузер, пейджер, почтовый клиент имеют неограниченные права в системе — их ведь запустил сам root! Вы зашли на сайт, содержащий вредоносный javascript — и он с полным правом поселится в вашей системе, т.е. запуская любую программу вы даете ей неограниченные права, а случайный запуск любого вредоносного скрипта приведет к краху системы или потере данных, я уже не говорю про риск удалить всю информацию с дисков или нарушить их структуру случайным запуском диагностической утилиты, например fsck, которая была в истории команд в терминале. В общем всевозможные беды просто неописуемы, не зря root расшифровывают как root of all evil — корень всех бед. Готовы ли вы идти на такой риск ради мнимого удобства, впрочем, даже если у вас и есть учетная запись root — все равно никогда не входите под ним в систему, а временно переключайтесь через su.

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

В поисках идеального пароля

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

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

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

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

Первый способ — это пересечение раскладок клавиатуры — мы набираемым пароли в латинской раскладке, но на клавишах есть еще и русские буквы, следовательно, если мы наберем «русское» слово в латинской раскладке, то получим полную абракадабру. Вы сами неоднократно сталкивались с этим, когда быстро набирали сообщение в асе или чате, и только нажав кнопку отправить обнаруживали, что раскладка то не русская, например, вы набрали слово «привет», а получили «ghbdtn» - на первый взгляд полная абракадабра, но не обнадеживайте себя напрасно, ибо обратное преобразование до смешного просто — всего лишь сопоставить буквы на клавишах, так можно сделать с любым словом при переборе. Получается, что в чистом виде этот метод не подходит, но можно сделать хитрее — часть слова писать в нормальной раскладке, а часть транслитом - «ghbvet» - это тоже слово «привет», только 3 буквы напечатаны «по русски», а остальные три - транслитом — это уже намного сложнее для подбора, так как слова «привет» в чистом виде нет ни в русской раскладке ни в транслите, а запомнить такой пароль можно только мнемонически, глядя на клавиши.

Второй способ — использование других языков и применение транскрипций и транслитераций с других языков. В чем отличие — транскрипция — это пишу как слышу, а транслитерация — это пишу как вижу, хотите пример — пожалуйста: windows, знакомое словечко, итак его транскрипция, т.е. произношение, пишется по русски так «уиндоус», а транслитерация «виндовс» - ощущается разница, а вот теперь мы эти русские звуки наберем в латинской раскладке, получится «uindous» или «vindovs» - этих слов в словаре уже нет, но мы то знаем, что они означают.

Третий способ — применение символов различного регистра и спецсимволов (!»№;%:?* и т.д.) для пущей конспирации.

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

Сразу решим — будем писать слова слитно или разделим какими нибудь спецсимволами, я считаю, что стоит разделить, далее начнем обработку, начиная с первого:

МАМА — первые две буквы наберем на родном языке, вторые на транслите: «vfma».

Второе слово «МЫЛА» перведем на английский: «washed» и возьмем его русскую транскрипцию (вошд), набранную, конечно же, в латинской раскладке: «djil».

Третье слово «РАМУ» напишем так же как и первое: «hfmu».

Теперь выпишем то что получилось в одно слово, поставим между ними по спецсимволу, и сделаем второе слово прописными буквами: «vfma&DJIL%hfmu» - как вам такой пароль — и длина что надо, как никак, 14 символов и смысл есть, а для грубого подбора он недосягаем, осталось только потренироваться в наборе — и в вашем распоряжении сильнейший пароль, который не надо записывать на бумажке, т.к. фразу «мама мыла раму» вы никогда не забудете, необходимо запомнить лишь несложный алгоритм, по которому мы его изменили или придумать свой.

Я привел лишь простейший пример — все в ваших руках — используйте другие пословицы и поговорки или их части, переводите слова на различные языки (онлайн переводчик от гугля всегда поможет) и всячески комбинируйте вышеприведенные способы, только не перестарайтесь и не принесите в жертву сложности пароля простоту его запоминания и написания.

И напоследок про количество паролей и их постоянство — никогда не пользуйтесь одним паролем везде и всюду — они должны различаться, и меняться хотя бы раз в 3 месяца. Постараюсь дать свой совет и здесь — как же запомнить кучу паролей для разных случаев — элементарно — создайте «мастер-пароль» вышеупомянутым способом и добавьте в конец слово дескриптор, т.е. указатель того к чему относится пароль, например, пароль на домашний компьютер снабдим дескриптором «деск», а чтобы он был не слишком длинным, заменим последнее слово «раму» на наш дескриптор: получим «vfma&DJIL%ltcr» - вот вам пароль для десктопа, возьмите дескриптор «почта» для почтового ящика, имя провайдера, в качестве дескриптора для вашего интернет аккаунта — этого совершенно непохожие, но тематически понятные и легко запоминаемые пароли!

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

0
Ваша оценка: Ничего

Тут одни максимы

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

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

Javascript только в IE имеет доступ к файловой системе. Плюс есть(а может и уже пофиксили) уязвимость плагина pdf ридера опять же для IE, когда вредоносный код может быть загружен и прописан в системе без ведома пользователя.
А в статье речь о линуксе.
Как javascript может внедриться в другие программы, я вообще не представляю.
Javascript зараженного сайта может отправить ваши данные злоумышленнику, но тут учетные записи непричем.

Так же есть различные плагины к фаерфоксу написанные на языке javascript
в котором если немного поискать можно научится сохранять файлы, которые можно сделать запускаемыми, а дальше уже дело техники

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

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.