отличная тема, жаль, не указан универсальный способ для создания надёжных паролей. значит, я расскажу. ещё один мой дар человечеству (вот был ещё: Как определить спелость и выбрать арбуз)
1. находим достаточно длинное слово, но чтобы запоминалось, с содержанием символов (после перевода в латиницу) o, i, a, z, s, e (можно на ваше усмотрение, какие нравятся, почему именно эти - дальше). 2. o меняем на ноль i - на ! a - на @ z - на тройку (тройка похожа на русскую з) s - на $ ch (ч) - на 4 e - на тройку (тоже похожа) и т.п. 3. добавляем по желанию большие буквы и спецсимволы. главное - запомнить, какие из символов на какие поменяны.
разберём пример. слово придумывать я не хочу, а хочу использовать фразу, например "Самый лучший способ проверить".
допустим, нам нужен пароль из 16 символов. берём по 4 символа каждого слова фразы:
Самылучшспоспров
сомневаюсь, что полученное таким образом слово будет словарным.
теперь переводим его в латиницу:
Samyluchshsposprov
ch меняем на 4, sh сокращаем до s и применяем (именно для этой фразы) правило: одинаковые символы меняются на замены только каждый второй, одинарные - сразу. получаем:
S@mylu4$spo$pr0v
для надёжности добъём спецсимволами:
S@mylu4$spo$pr0v!#-
вуаля! тест касперского выдал такой результат:
Nice password! Your password is hack-resistant. Your password does not appear in any databases of leaked passwords Your password will be bruteforced with an average home computer in approximately... 10000+ centuries
меня устроило.
для другой длины пароля меняем количество символов, берущихся из каждого слова. можно менять слова местами, заменять спецсимволами разные по порядку символы. хоть все, и т.д.
главное - на забывайте ваше собственное правило для пароля. и сам пароль.
Пользуюсь этим методом уже давно. Ставлю сильные и разнообразные пароли везде и настоятельно рекомендую... хотя нет, я вам приказываю использовать сильные пароли хотя бы там, где это может быть важно. Хорошо спроектированный сильный пароль снижает вероятность успешного взлома методом перебора паролей. Поверьте, сильный пароль - это один из ключевых элементов вашей цифровой безопасности.
Минутка ликбеза. Когда вы регистрируетесь в каком-либо сервисе, или даже на подконтрольной вам системе, вас необходимо легитимно авторизовать в этой самой системе в будущем. Самый старый и примитивный способ аутентификации - это пароль. Пароли не хранятся в базе данных в открытом виде, поэтому даже если злоумышленник каким-то образом получит доступ к чтению базы данных, он физически не увидит вашего пароля, а увидит вместо этого набор "зашифрованных" символов. В кавычках, потому что этот набор символов не предполагает дешифрации. Что такое хэш-функция можно узнать тут. Так вот, из-за того, что ключа дешифрации физически не существует, единственный способ узнать ваш пароль - пробовать "зашифровать" этим же методом набор символов и сравнить уже их в "зашифрованном" виде. Для самых умных комментаторов сразу скажу, что про коллизии я знаю, но мы тут ликвидируем безграмотность пикабушников, а этого им пока знать не надо.
Так вот, сперва может показаться, что иметь удачу подобрать тот же набор символов что у вас будет чрезвычайно маловероятно, спешу вас расстроить. Старые алгоритмы хэширования даже на одной мощной видеокарте могут проверяться миллионами в секунду. А представьте теперь, что этих видеокарт может быть 50, 100. Ваш пароль mydick50sm щелкнут как орешек минут за 30, что уж там говорить про dick50, тут секунд на 5 работы. Собственно поэтому обязательно используйте пароли как можно длиннее, сложнее и неочевиднее: например, mYD1Kk5@sm.
Но, к сожалению, мы тут большинство просто люди, иногда ленимся поменять везде старые пароли, иногда просто не хотим заморачиваться со спецсимволами или просто не верим на 100% тем, кто пугает нас всякими злоумышленниками. Специально для вас предлагаю проверять хотя бы свои существующие пароли на наличие в словарях.
1 способ (простой). Сервис проверки от Касперского тут все просто. Вводим, проверяем есть ли уже что-то в базах. Например, на момент написания поста dick50 засветился в 281 подключенной к данному сервису базе.
2 способ (мой любимый). Обновлению баз Касперского при всем уважении доверяю не так как старейшему сайту cmd5.org - частично платному сервису по поиску соответствия хэшей. Но там сравниваются хэши, поэтому предварительно лезем в любой тестер php и вставляем туда данный код (вместо dick50, очевидно, ваш пароль):
<?php
function generate_md5_hash($string) {
return md5($string);
}
$string_to_hash = "dick50";
$md5_hash = generate_md5_hash($string_to_hash);
echo "MD5 hash of '{$string_to_hash}' is: {$md5_hash}";
?>
На выходе получаем самый простой хэш md5, который суем в сmd5.org.
нашлось :)
Также можем получить результат "Found, но откроем за денюжку". Такой результат для пароля dick50 также считаем провальным.
В общем, если ваш пароль так же плох как тот, что в примере, приказываю вам его поменять.
Надежный и неизвестный никому пароль к банковскому аккаунту - это главное условие безопасности при онлайн-платежах. Однако есть еще несколько важных правил, о которых следует помнить, если вы хотите избежать взлома банковской карты при совершении финансовых транзакций в Интернете.
1. Внимательно изучайте сайт и его URL-адрес
При каждом посещении сайта банка вы должны убедиться, что находитесь именно на его официальном веб-ресурсе. Если вы не знаете точный сетевой адрес своего банка, то внимательно ищите его в поисковике. Некоторые поисковые системы, в целях отсечения вредоносных гиперссылок, помечают настоящий сайт специальным значком. Например, Яндекс помечает подлинный веб-сайт кредитной организации галочкой в синем кружочке. Всегда обращайте пристальное внимание на URL-адрес. Если страница очень похожа на настоящую, но адрес неверен, то вам следует покинуть ресурс. Например, адрес официального сайта условного банка ОТБ может отличаться от поддельного доменной зоной (настоящий сайт банка - https://www.otb ru, поддельный - https://www.otb com).
2. Убедитесь, что у вас безопасное соединение
Старайтесь вводить интернет-адрес своего банка самостоятельно и всегда внимательно следите за адресной строкой в браузере. Она всегда должна начинаться с «https» - протокола с шифрованием SSL. О безопасности ресурса будет свидетельствовать значок замка слева от URL-адреса. Если он закрыт, то ваше соединение защищено. Если значок перечеркнут, то соединение с таким сайтом может прослушиваться хакерами.
3. Не используйте общественные Wi-Fi-сети при совершении покупок
Киберпреступники активно действуют в общедоступных сетях Wi-Fi, работающих в людных местах (кафе, торгово-развлекательные центры и т.д.). В таких открытых сетях трафик перехватывается и хакеры легко могут получить доступ к вашей конфиденциальной финансовой информации, паролям от учетных записей, банковским реквизитам и другим важным данным. Поэтому никогда не используйте публичные Wi-Fi-сети для онлайн-покупок.
4. Не открывайте вложения, присланные вам с незнакомых электронных почтовых ящиков
Для осуществления незаконных транзакций с вашей карты хакерам требуется полный номер банковской карты, трехзначный код проверки карты (CVV, CVC и т.д.) и дата истечения ее срока действия. Чтобы получить данную информацию, хакеры рассылают фишинговые электронные письма. В целях защиты от злоумышленников не отвечайте на письма, в которых содержится просьба о предоставлении конфиденциальной информации. Не используйте гиперссылки, содержащиеся в таких сообщениях, так как переход по ним может привести к заражению вашего устройства, с которого осуществляется управление банковским аккаунтом.
5. Делайте покупки только в проверенных интернет-магазинах
Взлом карты при помощи онлайн-покупок является наиболее популярным видом мошенничества. До 40% пользователей, расплачивающихся в Интернете, сталкиваются с взломом карты или мошенническими действиями. Поэтому, если торговая площадка вам неизвестна, то лучше с ней не взаимодействовать. Пользуйтесь проверенными маркетплейсами, так как они имеют более надежную защиту, чем развивающиеся бренды и новые электронные торговые площадки.
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Атака MouseJack достаточно редкое явление, но не невозможное.
Написать данную статью меня сподвиг холивар в офисе на тему безопасности мышек и разрешения на закуп для сотрудников периферии на рабочие места по своему желанию (мы сразу при трудоустройстве даем возможность выбрать с каким оборудованием будет работать программист).
Основным камнем преткновения в этом вопросе для меня является безопасность. С одной стороны - на чем удобно на том пускай и работают. С другой стороны, береженного бог бережет, а мы одни, потому вопросом заниматься надо самостоятельно.
Нашел очень интересную информацию за 2016 год, когда обнаружили уязвимость беспроводных мышек, откуда и получилось название MouseJack. На пикабу данная тема не поднималась, поэтому решил прийти к вам в промежутке, пока готовлю следующие статьи про техническое задание.
Решил провести проверку одного из возможных векторов атаки на периферийное оборудование. Суть атаки в том, чтобы вклиниться между приемником и устройством, и выполнить код на компьютере. Мне понадобились всего лишь телефон и специальный usb-донгл с чипом nRF24L. За неимением донгла пришлось обратиться к знакомому, который фанатеет от данной тематики.
В описании атаки сказано, что такое получается реализовать с расстояния до 100 метров по отношению к атакуемому объекту. Желания производить атаку с 1 этажа бизнес-центра у меня не было, так что делал от лифтовой зоны в 50 метрах от офиса. Атака получилась. Удалось запустить код на компьютере с подключенной мышью Logitech М170. Во время атаки достаточно забавное поведение, мышка плохо реагирует на перемещение и нажатие кнопок, будто садятся батарейки. Как итог, мышка отправилась в утиль. Посмотрел — достаточно популярная модель мышек, так что если вы используете беспроводную мышь, рекомендую проверить ее безопасность. Частичный список устройств можете найти по запросу “Список устройств подверженных атаке MouseJack”.
Исследователь по ИБ Хьюго Ландау рассказ, как взломать дверь с электроприводом в санузел на поезде Intercity Express в Великобритании.
Сам туалет состоит из следующих элементов элементов: 1) две кнопки, служат для открытия и закрытия двери. 2) рычаг, нужен для переключения блокировки/разблокировки двери. Сзади него есть отверстия для штыря, который блокирует ручку 3) крошечный штифт 4) микроконтроллер
Проблема в том что, микроконтроллер не точно считывает положение рычага. То есть если при повороте с закрытого положения задержать ручку посередине (замок заблокирован), то мк считывает открытое положение и выпускает штифт (дверь откроется, но замок заблокирован). Штырь зафиксирует ручку, а кнопка закрытия будет активна.
Тогда можно выйти из туалета и по кнопки закрыть дверь с активным замком. Все, туалет больше не доступен.
Интересует мнение грамотных людей. В конторе заюзали онлайн тулзу https://unionaviation.centrik.net/ для заливки всяких персональных данных итд итп. На вопрос а тулза секюрная? Ктото проверял ее? Отвели в уголок и тихонько наказали, мол не задавай групых вопросов, там все мега секюрно на столько что даже двухфакторки не нужно. Но меня терзают смутные сомнение по данной теме. Интересует мнение со стороны.
Законопроект о введении уголовной ответственности за незаконные сбор, использование и передачу персональных данных, в том числе из утечек (внесен в Госдуму 4 декабря группой сенаторов и депутатов во главе с руководителем комитета Госдумы по информполитике, связи и IT Александром Хинштейном) вызвал серьезное беспокойство в IT-отрасли.
Если анализировать текущие формулировки документа, его действие может распространяться не только на злоумышленников, но также на владельцев и руководство IT-компаний, которые собирают большие данные из открытых источников и используют их для собственных разработок.
Как считают эксперты из IT отрасли, принятие инициативы может привести к серьезному замедлению развития искусственного интеллекта (ИИ), для которого используются большие объемы данных.
Между тем, количество утечек личных данных россиян за прошедшее полугодие, уже превысило количество населения России.
Несмотря на наличие прекрасного стандартного 𝗦𝗤𝗟-пакета, 𝗚𝗼 не поддерживает аналогичный пакет для работы с базами данных 𝗡𝗼𝗦𝗤𝗟. Для этого вам придется использовать сторонние инструменты. Вместо изучения реализации каждого такого стороннего пакета мы сосредоточимся исключительно на 𝗠𝗼𝗻𝗴𝗼𝗗𝗕. Для этого будем применять драйвер 𝗺𝗴𝗼 (произносится «манго»). Начните с установки 𝗺𝗴𝗼:
Теперь можно установить подключение и запросить коллекцию 𝘀𝘁𝗼𝗿𝗲 (эквивалент таблицы), для чего потребуется еще меньше кода, чем в примере с 𝗦𝗤𝗟, который мы создадим чуть позже.
Подключение к базе данных MongoDB и запрос данных
Сначала идет определение типа 𝗧𝗿𝗮𝗻𝘀𝗮𝗰𝘁𝗶𝗼𝗻, который будет представлять один документ из коллекции 𝘀𝘁𝗼𝗿𝗲. Внутренний механизм представления данных в 𝗠𝗼𝗻𝗴𝗼𝗗𝗕 — это двоичный 𝗝𝗦𝗢𝗡. По этой причине для определения любых директив маршалинга используются теги. В этом случае с их помощью мы явно определяем имена элементов для применения в двоичных данных 𝗝𝗦𝗢𝗡.
В функции 𝗺𝗮𝗶𝗻() вызов 𝗺𝗴𝗼.𝗗𝗶𝗮𝗹() создает сессию, устанавливая подключение к базе данных, выполняя тестирование на наличие ошибок и реализуя отложенный вызов для закрытия сессии. После этого с помощью переменной 𝘀𝗲𝘀𝘀𝗶𝗼𝗻 запрашивается база данных 𝘀𝘁𝗼𝗿𝗲, откуда извлекаются все записи коллекции 𝘁𝗿𝗮𝗻𝘀𝗮𝗰𝘁𝗶𝗼𝗻𝘀. Результаты мы сохраняем в срезе 𝗧𝗿𝗮𝗻𝘀𝗮𝗰𝘁𝗶𝗼𝗻 под названием 𝗿𝗲𝘀𝘂𝗹𝘁𝘀. Теги структуры используются для демаршалинга двоичного 𝗝𝗦𝗢𝗡 в определенный нами тип. В завершение выполняется перебор результатов и их вывод на экран. И в этом случае, и в примере с 𝗦𝗤𝗟 из следующего раздела вывод должен выглядеть так:
Обращение к базам данных SQL:
𝗚𝗼 содержит стандартный пакет 𝗱𝗮𝘁𝗮𝗯𝗮𝘀𝗲/𝘀𝗾𝗹, который определяет интерфейс для взаимодействия с базами данных 𝗦𝗤𝗟 и их аналогами. Базовая реализация автоматически включает такую функциональность, как пул подключений и поддержка транзакций. Драйверы базы данных, соответствующие этому интерфейсу, автоматически наследуют эти возможности и, по сути, являются взаимозаменяемыми, поскольку 𝗔𝗣𝗜 между ними остается согласованным. Вызовы функций и реализация в коде идентичны независимо от того, используете вы 𝗣𝗼𝘀𝘁𝗴𝗿𝗲𝘀, 𝗠𝗦𝗦𝗤𝗟, 𝗠𝘆𝗦𝗤𝗟 или другой драйвер. В результате этого удобно менять серверные базы данных при минимальном изменении кода клиента. Конечно же, эти драйверы могут реализовывать специфичные для БД возможности и задействовать различный 𝗦𝗤𝗟-синтаксис, но вызовы функций при этом практически одинаковы. Поэтому мы покажем, как подключать всего одну базу данных 𝗦𝗤𝗟 — 𝗠𝘆𝗦𝗤𝗟, а остальные БД 𝗦𝗤𝗟 оставим в качестве самостоятельного упражнения. Начнем с установки драйвера:
Далее создадим простой клиент, который подключается к этой базе данных и извлекает информацию из таблицы transactions, как показано в коде ниже.
Код начинается с импорта пакета 𝗚𝗼 𝗱𝗮𝘁𝗮𝗯𝗮𝘀𝗲/𝘀𝗾𝗹. Это позволяет реализовать взаимодействие с базой данных через удобный интерфейс стандартной библиотеки 𝗦𝗤𝗟. Кроме того, мы импортируем драйвер базы данных. Начальное подчеркивание указывает на то, что она импортируется анонимно, то есть ее экспортируемые типы не включаются, но драйвер регистрируется пакетом 𝘀𝗾𝗹, и в результате драйвер 𝗠𝘆𝗦𝗤𝗟 сам обрабатывает вызовы функций.
Далее идет вызов 𝘀𝗾𝗹.𝗢𝗽𝗲𝗻() для установки подключения к базе данных. Первый параметр указывает, какой драйвер использовать — в данном случае это 𝗺𝘆𝘀𝗾𝗹, а второй определяет строку подключения. Затем мы обращаемся к базе данных, передавая инструкцию 𝗦𝗤𝗟 для выбора всех строк из таблицы 𝘁𝗿𝗮𝗻𝘀𝗮𝗰𝘁𝗶𝗼𝗻𝘀, после чего перебираем эти строки, последовательно считывая данные в переменные и выводя значения.
Это все, что необходимо для запроса данных из 𝗠𝘆𝗦𝗤𝗟. Для использования другой серверной БД потребуется внести в код лишь минимальные изменения:
импортировать подходящий драйвер базы данных;
изменить передаваемые в sql.Open() параметры;
скорректировать SQL-синтаксис в соответствии с требованиями серверной базы данных.
Среди нескольких доступных драйверов баз данных часть написаны на чистом 𝗚𝗼. А некоторые другие используют 𝗰𝗴𝗼 для ряда внутренних взаимодействий. Полный список доступных драйверов можно найти здесь: 𝗵𝘁𝘁𝗽𝘀://𝗴𝗶𝘁𝗵𝘂𝗯.𝗰𝗼𝗺/𝗴𝗼𝗹𝗮𝗻𝗴/𝗴𝗼/𝘄𝗶𝗸𝗶/𝗦𝗤𝗟𝗗𝗿𝗶𝘃𝗲𝗿𝘀/.