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

Для Symbian 08.04.2019
Для Symbian

Данная статья написана представителем компании DevExpress и опубликована в блоге на ХабраХабре.

Медицинские исследователи установили, что если в инструкции к лекарству находится только текст, человек усваивает из нее лишь 70% информации. Если же в инструкцию добавить картинки, человек усвоит уже 95%.

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


С помощью графиков можно легко обратить внимание читателя на красные показатели.

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


На графике легко можно заметить важные данные.

Эстетическая привлекательность


Эстетически привлекательные графики делают подачу данных эффектной и запоминающейся.

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

Как правильно использовать визуализацию данных?

Успех визуализации напрямую зависит от правильности ее применения, а именно от выбора типа графика, его верного использования и оформления.


60% успеха визуализации зависит от выбора типа графика, 30% - от его правильного использования и 10% - от его верного оформления.

Правильный тип графика

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

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


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

Отношения в данных - это то, как они зависят друг от друга, связь между ними. С помощью отношений можно выявить наличие или отсутствие зависимостей между переменными. Если основная идея информации содержит фразы «относится к», «снижается/повышается при», то нужно стремиться показать именно отношения в данных.
Распределение данных - то, как они располагаются относительно чего-либо, сколько объектов попадает в определенные последовательные области числовых значений. Основная идея при этом будет содержать фразы «в диапазоне от x до y», «концентрация», «частотность», «распределение».

Композиция данных - объединение данных с целью анализа общей картины в целом, сравнения компонентов, составляющих процент от некоего целого. Ключевыми фразами для композиции являются «составило x%», «доля», «процент от целого».

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

После определения цели визуализации требуется определить тип данных. Они могут по своему типу и структуре быть очень разнородными, но в самом простом случае выделяют непрерывные числовые и временные данные, дискретные данные, географические и логические данные. Непрерывные числовые данные содержат в себе информацию зависимости одной числовой величины от другой, например графики функций, такой как y=2x. Непрерывные временные содержат в себе данные о событиях, происходящих на каком-либо промежутке времени, как график температуры, измеряемой каждый день. Дискретные данные могут содержать в себе зависимости категорийных величин, например график количества продаж товаров в разных магазинах. Географические данные содержат в себе различную информацию, связанную с местоположением, геологией и другими географическими показателями, яркий пример - это обычная географическая карта. Логические данные показывают логическое расположение компонентов относительно друг друга, например генеалогическое древо семьи.


Графики непрерывных числовых и временных данных, дискретных данных, географических и логических данных.

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

  • линейный (line)
  • с областями (area)
  • колонки и гистограммы (bar)
  • круговая диаграмма (pie, doughnut)
  • полярный график (radar)
  • точечный график (scatter, bubble)
  • карты (map)
  • деревья (tree, mental map, tree map)
  • временные диаграммы (time line, gantt, waterfall).

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


График со stacked значениями и с full stacked

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


Правильное использование графика

Важно не только верно выбрать тип графика, но и правильно его использовать:


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

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


Неверная шкала отрицательно влияет на восприятие данных. В первом случае некорректно выбран масштаб, во втором шкала инвертирована.

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

Правильное оформление графика

Ничто так не радует глаз, как правильно оформленные графики, и ничто так не портит диаграммы, как наличие графического «мусора». Основные принципы оформления:

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


Вспомогательные линии на графике не должны отвлекать внимание от основной идеи данных.

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

Выводы

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


На графиках изображены одни и те же данные, слева показаны основные ошибки визуализации, а справа они исправлены.

При умелом применении визуализация данных позволяет сделать материал впечатляющим, нескучным и запоминающимся.

Методы мысленного отображения и визуального представления часто являются основой стратегии ориентирования при интерпретации карты. Некоторым это дается легко, другим труднее, хотя с опытом навыки улучшаются. Описание картины в виде написанного текста, связанное с определенным видом спорта, часто используется, чтобы помочь участникам создать яркий образ. Это позволяет им построить соответствующие преодолевающие стратегии для потенциально трудных ситуаций окружающей среды. Описание местности часто используется в ориентировании как часть технической тренировки. Например, тренер или другой человек просит, чтобы oриентировщик представил, а затем устно описал местоположение КП или основные ориентиры маленького участка карты. Местоположение КП на вершине холмика, который имеет маленькие болота к северо-востоку и юго-западу. Длинный отрог тянется на запад, а меньшие холмики расположены к северо-востоку, востоку и юго-западу. На котором холмике стоит КП? Аналогично ориентировщик мог бы выслушать описание маленького участка карты или местоположения КП, а затем попробовать воспроизвести устное описание: Холм в виде сосиски имеет две вершины, по одной в каждом конце узкого горного хребта, расположенного в восточно-западном направлении. Горный хребет имеет два холмика, создающих седловину на равном расстоянии от вершин. К северо-западу от седловины круто спускается долина. Восточная вершина выше, чем западная и имеет крутой склон на востоке, большой широкий отрог, убегающий на север и пологий склон на юге. Западная вершина имеет пологий склон на севере и западе и длинный тонкий отрог, лежащий к югу. Оба эти способа помогают развить визуальное представление. Навыки визуального представления фундаментальны для ориентирования. Способность представить местоположение КП или определенную область карты должна улучшиться с опытом. Практика, однако, не должна ограничиваться тренировкой или участием в соревнованиях. Существуют другие возможности для практики, как в помещении, так и на улице. Например, постепенное изучение карт знакомых и незнакомых областей и затем визуальное представление местоположения КП, основанное на информации карты, может предшествовать фактическому посещению местности. Очень часто во время обсуждения местоположения КП или участка карты можно услышать от ориентировщика "это не было то, что я ожидал". Другой способ, используемый некоторыми oриентировщиками, заключается в том, чтобы, тренируясь на знакомом ландшафте, работать с картой другой территории и на бегу пытаться представить характерные черты незнакомого ландшафта. Это может показаться довольно причудливым, но это очень хорошее упражнение на концентрацию.

Анализатор паролей SeaMonkey

Этот анализатор паролей разработан как часть проекта SeaMonkey – свободного набора программ для работы в Internet, созданного и поддерживаемого организацией Seamonkey Council, выделившейся из Mozilla Foundation. Сам механизм анализа пароля является частью . Алгоритм его работы заключается в вычислении веса пароля, основывающемся на данных о символах, из которых этот пароль составлен. Вес пароля вычисляется по следующей формуле:
pwstrength = ((pwlength * 10) - 20) + (numeric * 10) + (numsymbols * 15) + (upper * 10) , где
  • pwlength равно 5, если количество символов в пароле больше 5, или равно длине пароля;
  • numeric равно 3, если количество цифр в пароле больше 3, в противном случае - равно количеству цифр;
  • numsymbols считается равным 3, если число символов в пароле, отличных от букв, цифр и знаков подчёркивания, больше 3, иначе - количеству таких символов;
  • upper равно 3, если количество букв в верхнем регистре больше 3, или количеству заглавных букв в противном случае.
После вычисления вес пароля нормируется таким образом, чтобы его значение заключалось в интервале от 0 до 100. Нормировка проводится в том случае, когда значение веса не попадает в этот диапазон. В случае когда pwstrength меньше 0, значение pwstrength приравнивают к нулю, а когда больше 0, значение веса устанавливают равным 100. Ранжирование же пароля по степени стойкости оставлено на усмотрение разработчиков, использующих библиотеку.
Как видно, описанный анализатор не использует никаких проверок с использованием словарей, что делает его оценки несколько однобокими, и, вероятно, менее точными по сравнению с программами от Google и Microsoft, рассмотренными выше.

Password Strength Meter (jQuery plugin)

Ещё одним вариантом оценщика пароля, работающего на клиентской стороне, является Password Strength Meter () – плагин, разработанный для JavaScript фреймворка jQuery.
Процедура оценки работает следующим образом. Известно множество качеств, обладая которыми пароль увеличивает или уменьшает свою стойкость к подбору. Каждое такое качество имеет свой строго определённый вес. Алгоритм заключается в поэтапной проверке наличия у пароля этих качеств и, в случае их присутствия происходит увеличения суммарного веса пароля, по величине которого после просмотра всех характеристик делается заключение об уровне стойкости пароля.
Рассмотрим полный алгоритм процедуры оценки пароля:
  1. Вес пароля устанавливается равным нулю.
  2. Если длина пароля менее 4 символов, то работа алгоритма заканчивается и возвращается результат “слишком короткий пароль”. Иначе переходим к шагу 3.
  3. Вес пароля увеличиваем на величину 4 * len , где len – длина пароля.
  4. Осуществляется попытка сжатия пароля по следующему алгоритму. Если в пароле встречается подстрока вида SS , где S – строка длины 1, то первая часть этой подстроки удаляется и сжатие продолжается с позиции начала второй части этой подстроки. Например, применяя этот алгоритм к строке aaabbcab , на выходе получим строку abcab . После выполнения операции сжатия вес пароля уменьшается на величину len - lenCompress , где len – длина пароля, а lenCompress – длина пароля после сжатия.
  5. Проводятся попытки сжатия пароля для случаев строк S длинной 2, 3 и 4 символов. Вес пароля уменьшается аналогично на величину len - lenCompress . Отметим, что сжатие каждый раз производится на проверяемом пароле, а не строках, полученных на предыдущих попытках.
  6. Если пароль содержит не меньше 3 цифр, то увеличить вес на 5.
  7. Если пароль содержит не менее 2 знаков, то увеличить вес на 5.
  8. Если пароль содержит буквы как в верхнем так и в нижнем регистрах, то увеличить вес пароля на 10.
  9. Если пароль содержит буквы и цифры, то увеличить вес пароля на 15.
  10. Если пароль содержит знаки и цифры, то увеличить вес на 15.
  11. Если пароль содержит буквы и знаки, то увеличить вес на 15.
  12. Если пароль состоит только из букв или только из цифр, то уменьшить вес пароля на 10.
  13. Если вес пароля меньше 0, то установить его равным 0. Если больше 100, то установить равным 100.
  14. Пароль, вес которого меньше 34, признаётся “слабым”. Если вес от 34 до 67, то пароль относится к категории “хороший”, а если более 67, то пароль считается “отличным”.
Рассмотренный анализатор также как и продукт от SeaMonkey, не проводит проверку пароля по какому-либо словарю. К тому же остаётся открытым вопрос об обоснованности выбора тех или иных значений весовых коэфициентов при формировании оценки пароля.
Доступна , демонстрирующая возможность данного плагина.

Cornell University - Password Strength Checker

Официальный on-line сервис , предоставляемый центром безопасности Корнелльского университета (Итака, США). С его помощью пользователи могут проверить свой пароль, заполнив web-форму и отправив его на проверку. Оценка пароля, как и в случае с сервисом Google, производится на стороне сервера.
Реализация алгоритма не раскрыта для общего доступа, однако в описании сервиса указаны требования, которым должен удовлетворять пароль, чтобы проверка прошла успешно:
  1. пароль должен иметь длину не менее 8 символов;
  2. при составлении пароля используются символы по крайней мере трёх алфавитов из следующего списка:
    • заглавные латинские буквы
    • строчные латинские буквы
    • цифры
    • специальные знаки (такие как! * () : |)
  3. пароль не должен содержать слов из словаря;
  4. пароль не должен содержать последовательностей повторяющихся букв (например, ААА) и последовательностей вида abc, qwerty, 123, 321.
Эти требования должны строго выполняться. Если хотя бы какое-то требование не выполняется, то пароль признаётся ненадёжным.
К такому подходу можно сделать следующее критическое замечания. Так пароль произвольно большой длины, например, какое-то предложение на естественном языке, не будет удовлетворять условию №3, что автоматически обеспечит паролю низкую оценку, хотя это, может быть, и не совсем оправдано.

Password Strength Tester

JavaScript анализатор паролей , который разрабатывается и поддерживается в рамках проекта Rumkin.com.
Алгоритм оценки, реализованный в данном анализаторе, основывается на общих положениях теории информации. В качестве основной оценки пароля используется его энтропия, вычисление которой производится с использование таблиц диграмм для английского языка.
Под энтропией (информационной ёмкостью) пароля понимается мера случайности выбора последовательности символов, составляющих пароль, оцененная методами теории информации.
Информационная ёмкость E измеряется в битах и характеризует стойкость к подбору пароля методом полного перебора при условии отсутствия априорной информации о характере пароля и применении злоумышленником оптимальной стратегии перебора, при которой среднее ожидаемое количество попыток до наступления удачной равняется 2 E -1 . По утверждению создателя этого оценщика с целью уменьшения загружаемого на клиентскую сторону объёма информации все небуквенные символы были объединены в одну группу. Эта группа выступает неким универсальным символом, который и используется в частотной таблице. Как отмечает разработчик, при данном допущении значение получаемой энтропии будет меньше, нежели в случае, когда в частотной таблице все символы представлены раздельно.
В зависимости от полученного значения энтропии паролю присваивается соответствующая характеристика его стойкости.
Энтропия Уровень стойкости

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

"password" => [ "required", "confirmed", "min:8", "regex:/^(?=\S*)(?=\S*)(?=\S*[\d])\S*$/", ];
К сожалению, такие простые правила означают, что пароль Abcd1234 будет признан хорошим и качественным, так же как и Password1 . С другой стороны, пароль mu-icac-of-jaz-doad не пройдёт валидацию.

Вот первые два пароля.

А вот два пароля, которые не пройдут проверку на надёжность.

Что же делать? Может, не стоит принуждать к использованию спецсимволов и внедрять всё новые правила, вроде запрета на повтор нескольких символов подряд, использование не одного, а двух-трёх спецсимволов и цифр, увеличение минимальной длины пароля и т д.

Вместо всего этого достаточно сделать простую вещь - просто установить ограничение на минимальную энтропию пароля, и всё! Можно использовать для этого готовый оценщик zxcvbn .

Есть и другие решения, кроме zxcvbn. Буквально на прошлой неделе на конференции по безопасности ACM Computer and Communications Security была представлена научная работа (pdf) специалистов по безопасности из научно-исследовательского подразделения Symantec Research и французского исследовательского института Eurecom. Они разработали новую программу для проверки надёжности паролей, которая оценивает примерное количество необходимых попыток брутфорса, используя метод Монте-Карло . Предлагаемый способ отличается тем, что требует минимальное количество вычислительных ресурсов на сервере, подходит для большого количества вероятностных моделей и в то же время довольно точный. Метод проверили на паролях из базы 10 млн паролей Xato, которые лежат в открытом доступе (копия на Archive.org) - он показал хороший результат. Правда, это исследование Symantec Research и Eurecom носит скорее теоретический характер, по крайней мере, свою программу они не выложили в открытый доступ в каком-либо приемлемом виде. Тем не менее, смысл работы понятен: вместо эвристических правил проверки паролей веб-сайтам желательно внедрить проверку на энтропию.

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

Для чего проверять надежность пароля?

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

Как проверить сложность пароля?

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

Сервис №1.

Данный сервис, как вы уже догадались, наверное, от Лаборатории Касперского, называется он - «Спасаем мир словом ». Сервис этот помогает создавать надежные пароли путем проверки их на сложность.

Сервис показывает, что данный пароль взламывается за 1 секунду. Так и есть, даже с помощью брутфорс (программа для подбора паролей) данный пароль переберут быстрей чем вы скажете «Ой!».

А вот более сложный пароль с использованием , цифр, и букв разного регистра:

Такой пароль будет очень сложно подобрать, в общем пароль надежный и в какой-то степени невзламываемый (неподбираемый).

Как видите сервис показывает за какое время могут взломать тот или иной пароль на различных компьютерах, это - ZX Spectrum (80-х годов), Mac Book Pro (2012), Тьяньхе-2 (суперкомпьютер, разработанный в Китае), а также с использованием сети компьютеров (ботнет).

Сервис №2.

Следующий сервис проверки надежности пароля от Microsoft. Находится он по этому адресу.

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

Сервис №3.

Третий и последний сервис проверки сложности пароля на сегодня. Сайт так и называется - «Насколько надежен мой пароль? ».

Интерфейс на английском, но ничего страшного. В строке «Password» необходимо ввести пароль и сервис также покажет насколько он безопасный, этот ваш пароль.

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

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

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



Рекомендуем почитать

Наверх