По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Зачем нужно шифрование и насколько оно важно? Функционирование любых цифровых сервисов невозможно без защиты данных. Еще совсем немного времени назад эта проблема не стояла так остро, так в основной массе устройств использовались относительно защищенные каналы связи. Типичный пример - телефонный кабель между персональным компьютером и провайдером. Даже, если по нему передаются незашифрованные данные, то их похитить затруднительно из-за объективных сложностей физического доступа к телефонной линии, особенно когда она проложена под землей, как это делается в городах. Теперь же, когда все, включая даже финансовые переводы, делается с мобильных устройств, ни о какой защите канала связи не может быть и речи, причем, так как радиоэфир доступен каждому. Значительное количество Wi-Fi карт довольно просто переводятся в режим мониторинга и могут принимать данные, передаваемые другими устройствами. Выход из этой ситуации заключается в использовании совершенных алгоритмов шифрования. Причем к этому решения одновременно пришли многие IT-разработчики в мире. Совершенно определенно, что алгоритмы шифрования должны быть стандартными, принятыми во всех странах мира, так как интернет глобален. При несоблюдении этого правила, то, что передается одним сервером, уже не может быть принято другим, так как алгоритм шифрования не известен. Итак, теперь понятно, что без общепринятых, сертифицированных и надежных алгоритмов шифрования не обойтись. Алгоритм 3DES или Triple DES Самый первый, принятый для использования в сети интернет алгоритм шифрования. 3DES разработан Мартином Хеллманом в 1978 году. Учитывая уже почетный возраст для IT-технологий, по оценкам НИСТ (Национальный Институт Стандартов и Технологий) он останется надежным до 2030-х годов. Несмотря на достаточное количество более современных и значительно более криптостойких алгоритмов, банковские системы продолжают использовать именно старый добрый 3DES, что косвенно говорит о его высокой надежности. Также он активно используется в сети интернет во всем мире. Рассмотрим его работу подробнее. Ну, а самое интересное - почти все более современные алгоритмы шифрования представляют собой доработанный DES. Даже утвержден неформальный термин, как "DES-подобные криптографические системы". В 1977 совместными усилиями многих разработчиков из компании IBM создается алгоритм DES (Data Encryption Standard, "Данные Шифрования Стандарт"), который утверждается правительством США. Всего через год на его основе появится доработанный вариант - 3DES, который предложит Мартин Хеллман и он тоже будет утвержден, как улучшенная версия. DES работает на так называемой сети Фейстеля. Это ни что не иное, как модульные вычисления - многократно повторяемая простая вычислительная операция на нескольких логических ячейках. Именно с этого конца смотрят хакеры, когда для подбора ключей используются майнинг-фермы на процессорах с тысячами ядер CUDA (в видеокартах). Так какие же вычисления выполняет "взломщик"? Ответ - разложение на простые множители или факторизацию с некоторыми дополнительными операциями. Для числа из трех знаков, разложение на простые множители займет несколько минут ручного пересчета, или миллисекунды работы компьютера. Пример - число 589, для которого ключ будет равен 19*31=589. На самом деле, алгоритмы шифрования работают очень просто. Попробуем методом факторизации, известным очень давно, скрыть ключ. Пусть ключом у нас будет число длиной 30 знаков (при работе с байтами и битами это могут быть и буквы). Добавим к нему еще одно число такой же (или отличающейся, это неважно) длины и перемножим их друг на друга: 852093601- 764194923 - 444097653875 х 783675281 - 873982111 - 733391653231 = 667764693545572117833209455404487475025224088909394663420125 Нам сейчас важно то, что на это перемножение мы затратили ничтожную вычислительную мощность. С таким простым умножением можно справиться даже без калькулятора, затратив несколько часов времени. Калькулятор, а там более мощный компьютер сделает это за тысячную долю секунды. Если же мы поставим обратную задачу - восстановить исходные множители, то на это даже на мощном компьютере уйдут годы, и это время будет увеличиваться квадратично по мере прибавления знаков в исходных числах. Таким образом, мы получили одностороннюю функцию, являющуюся базовой для всех распространенных алгоритмов шифрования. Именно на односторонних функциях (хеширование) построен DES, 3DES и последующие (AES) способы защиты информации. Перейдем к их более подробному рассмотрению. Алгоритм AES На данный момент времени самый распространенный алгоритм шифрования в мире. Название расшифровывается, как Advanced Encryption Standard (расширенный стандарт шифрования). AES утвержден национальным институтом технологий и стандартов США в 2001 году и в активном применении находится до сих пор. Максимальная длина шифроключа - 256 бит, что означает, что пароль может иметь до 32 символов из таблицы на 256 значений (кириллица, латиница, знаки препинания и другим символы). Это достаточно надежно даже для современного мира с мощными компьютерными мощностями для перебора (брутфорса). В 16-ричной системе счисления AES может иметь и более длинные ключи, но криптостойкость их точно такая же, ибо конечное число всех возможных вариантов идентичное, вне зависимости от системы счисления. Специалисты не раз отмечали, что в отличие от других шифров AES имеет простое математическое описание, но такие высказывания подвергались критике и опровергались математиками с указаниями ошибок в уравнениях. Тем не менее, Агентство Национальной Безопасности США рекомендует AES для защиты самых важных сведений, составляющих государственную тайну, а это тоже отличный показатель надежности. Ниже приведена блок-схема шифрования AES. Отметим, что разработка алгоритмов шифрования дело не столь сложное, как кажется на первый взгляд. Например, по заверению многих студентов при прохождении предмета "основы криптографии" они разрабатывали собственные "несложные" алгоритмы, наподобие DES. Кстати, все тот же DES имеет множество "клонов" с небольшими нововведениями разработчиков в России и других странах. Российские алгоритмы шифрования Одним из первых шифров, который утверждался официально, стал принятый в 1990 году ГОСТ 28147-89, разработанный на все той же сети Фейстеля. Конечно, алгоритм был разработан почти на целое поколение раньше, и использовался в КГБ СССР, просто необходимость его обнародования возникла только в эпоху цифровых данных. Официально открытым шифр стал только в 1994 году. Шифр "Калина" (тот же ГОСТ 28147-89 для России и ДСТУ ГОСТ 28147:2009 для Украины) будет действовать до 2022 года. За этот период он постепенно будет замещен более современными системами шифрования, такими, как "Магма" и "Кузнечик", поэтому для более подробного обзора в этой статье интересны именно они. "Магма" и "Кузнечик" стандартизованы ГОСТ 34.12-2018. Один документ описывает сразу оба стандарта. "Кузнечик" шифрует любые данные блоками по 128 бит, "Магма" - 64 бита. При этом в "Кузнечике" кусок данных в 128 бит шифруется ключом по 256 бит (34 байта, или пароль в 32 знака с выбором из 256 символов). Миллионы блоков данных шифруются одним ключом, поэтому его не нужно передавать с каждым сообщением заново. То, что ключ занимает больший объем, чем данные, никак не сказывается на работе алгоритма, а только дополнительно придает ему надежности. Конечно, "Кузнечик" разработан не для тех систем, где на счету каждый килобайт, как например, в узкополосной радиосвязи. Он оптимально подходит для применения в IT-сфере. Описание математического аппарата "Кузнечика" - тема отдельной статьи, которая будет понятна лишь людям хотя бы с начальным знанием математики, поэтому мы этого делать не будем. Отметим лишь некоторые особенности: Фиксированная таблица чисел для нелинейного преобразования (приведена в ГОСТ 34.12-2018). Фиксированная таблица для обратного нелинейного преобразования (также приведена в ГОСТ 34.12-2018). Многорежимность алгоритма для способов разбивания шифруемого потока данных на блоки: режим имитовставки, гаммирования, режим простой замены, замены с зацеплением, гаммирования с обратной связью. Помимо шифрования данных "Кузнечик" и "Магма" могут быть использованы для генерации ключей. Кстати, именно в этом была обнаружена их уязвимость. Так, на конференции CRYPTO 2015 группа специалистов заявила, что методом обратного проектирования им удалось раскрыть алгоритм генерации ключей, следовательно, они не являются случайной последовательностью, а вполне предсказуемы. Тем не менее, "Кузнечик" вполне может использоваться для ручного ввода ключа, а это полностью нивелирует данную уязвимость. Большое преимущество алгоритма "Кузнечик" - он может применяться без операционной системы и компьютера. Необходимы лишь маломощные микроконтроллеры. Этот способ описан в журнале Радиопромышленность том 28 №3. По той же технологии возможна разработка прошивок контроллеров и под другие алгоритмы шифрования. Такое решение под силу реализовать на аппаратной основе (микросхемы) даже в любительских условиях. Любительские разработки В конспирологических кругах распространено мнение об уязвимости стандартных алгоритмов шифрования, хотя они давно уже описаны математически и легко проверяются. Есть даже способ "майним биткоины на бумаге", то есть, используя карандаш и лист бумаги, давно было показано, как предварительно переведя данные в шестнадцатиричную систему, их зашифровать и расшифровать стандартным алгоритмом SHA-256, подробно изъяснив каждый момент на пальцах. Тем не менее, находятся люди, желающие разработать свой собственный алгоритм шифрования. Многие из них - студенты, изучающие криптографию. Рассмотрим некоторые интересные способы реализации таких шифров и передачи ключей. Использование картинки для составления ключа и передачи данных. Способ часто применяется для передачи небольших блоков, например ключей. Изменения (растр, фиксируемой программой шифрации/дешифрации) не должны быть заметны простому зрителю. Использование видео. Собственно, это вариант первого способа. Просто, в отличие от картинки, в видео можно зашифровать уже более значительный трафик, например, голосовой обмен в реальном времени. При этом требуется высокое разрешение картинки, что для современных мультимедийных устройств - не проблема. Встраивание данных в аудио. Разработано множество программных продуктов для решения данной задачи, получены соответствующие патенты, например, "Патент США 10,089,994" на "Аудио водяные знаки". Простые шифры замены на основе словарей, например, Библии, или менее известной литературы. Способ шифрования хорошо знаком по шпионским фильмам и наиболее прост для любительского применения. Динамичные ключи, автоматически изменяемые по параметрам устройства. Например, отслеживается 100 параметров ПК (объем диска, температура процессора, дата и время) и на их основе программа автоматически генерирует ключ. Способ очень удобен для автомобильных сигнализаций, считывающих все параметры по шине CAN. Способов шифровать данные огромное множество и все их можно разделить на шифр замены и шифр перестановки, а также комбинацию этих обоих способов. Алгоритмы шифрования и криптовалюты Совершенствование алгоритмов шифрования стало одним из основных факторов возникновения всемирного бума криптовалют. Сейчас уже очевидно, что технология блокчейн (в основе нее лежат все те же алгоритмы шифрования) будет иметь очень широкое применение в будущем. Для выработки криптовалют (майнинга) используются разнообразные компьютерные мощности, которые могут быть использованы для взлома различных алгоритмов шифрования. Именно поэтому в криптовалютах второго и последующих поколений эту уязвимость постепенно закрывают. Так Биткоин (криптовалюта первого поколения) использует для майнинига брутфорс SHA-256 и майнинг-ферма с небольшой перенастройкой может быть использована для взлома данного алгоритма. Эфириум, уже имеет свой собственный алгоритм шифрования, но у него другая особенность. Если для биткоина используются узкоспециализированные интегральные микросхемы (асики), неспособные выполнять никаких других операций, кроме перебора хешей в SHA-256, то эфириум "майнится" уже на универсальных процессорах с CUDA-ядрами. Не забываем, что криптовалюты только начали свое шествие по миру и в недалеком будущем эти недостатки будут устранены. Плата ASIC-майнера содержит одинаковые ячейки со специализированными процессорами для перебора строк по алгоритму шифрования SHA-256 Алгоритмы шифрования и квантовый компьютер Сделав обзор по современным алгоритмам шифрования, нельзя не упомянуть такую тему, как квантовый компьютер. Дело в том, что его создатели то и дело упоминают о "конце всей криптографии", как только квантовый компьютер заработает. Это было бы недостойно обсуждения в технических кругах, но такие заявления поступают от гигантов мировой индустрии, например транснациональной корпорации Google. Квантовый компьютер обещает иметь чрезвычайно высокую производительность, которая сделает бесполезной криптографию, так как любое шифрование будет раскрываться методом брутфорса. Учитывая, что на шифровании, в некотором смысле, стоит современный мир, например финансовая система, государства, корпорации, то изобретение квантового компьютера изменит мир почти также, как изобретение вечного двигателя, ибо у человечества уже не будет основного способа скрывать информацию. Пока, что, заявления о работающей модели квантового компьютера оставим для обсуждения учеными. Очевидно, что до работающей модели еще очень далеко, так, что криптографические алгоритмы продолжат нести свою службу по защите информации во всем мире.
img
Мы уже рассказывали про мягкие и жесткие ссылки в Linux, и данная статья посвящена их более глубокому изучению. Ссылки в операционной системе Linux бывают 2-х типов мягкие и жесткие. Если провести аналогию с операционной системой Windows, то там мы в основном работаем с мягкими ссылками, символическими ярлыками. Но в операционной системе Windows есть и жесткие ссылки, просто они очень глубоко спрятаны внутри операционной системы. В статье будет рассказано: Как идентифицировать тип ссылки В чем разница между мягкой и жесткой ссылкой В чем разница между копирование и создание ссылки Итак, смотрим в домашнюю директорию пользователя. Я заранее создал файл и 2 ссылки жесткую и мягкую указывающие на данный файл. Основной файл file.txt, жесткая ссылка hard.txt на файл file.txt и мягкая ссылка soft.txt на файл file.txt. Как можно заметить символические (мягкие) ссылки в оболочке, обычно, подкрашиваются ярко голубым цветом и показывают на какой файл она ссылается. Можно еще интересную вещь заменить основной файл весит 38 килобайт и жесткая ссылка столько же весит. Мягкая ссылка – это всего лишь ярлык и весит всего 8 килобайт. Посмотрим, что внутри файла основного. Файл содержит фразу. Команда ls с ключем –li может отображать inodes. В результате ввода команды появился еще один столбец впереди. В данном столбце и отображается номер inodes, т.е идентификатор файла, индексный дескриптор, местонахождение файла на диске, метка файла. В нашем же случае номера inodes у файла и у жесткой ссылки совпадает. Т.е жесткая ссылка указывает на то же место, где находиться основной файл, в то же самое место на жестком диске. Мягкая же ссылка, сама по себе является отдельным файлом и у нее совершенно другой inode. А также можно видеть, что у данного файла в правах появилась буква l, которая указывает что это символьная ссылка. Причем попробовав просмотреть содержимое жесткой и мягкой ссылки, мы получим одинаковый результат. Все показывает на один и тот же файл. Если мы попробуем дописать, какие-нибудь изменения в файл. Например, echo Hello>> file.txt Получим один и тот же результат. Возьмем и переименуем наш основной файл mv file.txt newfile.txt. Теперь мы можем увидеть, что ссылка мягкая у нас стала красной (Битой). Потому что, мягкие ссылки опираются на имя файла. Причем не просто на имя файла, а на полное имя файла. А жесткая ссылка, как была, так и осталась работоспособной. Потому, что она указывает на один и тот же inode, потому что она указывает на то место где данный файл находиться. И если мы утилитой cat скажем показать жесткую ссылку в выводе мы получим исходный файл, а мягкая ссылка выдаст нам ошибку. Основная разница между жесткой ссылкой и мягкой, заключается в том, что мягкая опирается на имя файла. А жесткая указывает на физическое место, определяемое дескриптором где находиться файл. Создаются такие ссылки достаточно просто, командой ln с указанием основного файла и ссылки. Например, ln file.txt hard.txt. При создании мягкой ссылки добавляется ключик –s. Будет выглядеть примерно так - ln –s file.txt soft.txt. При создании ссылки, можно объекты указывать без расширения. Т.к. жесткая ссылка у нас привязана к inode, то ее нельзя использовать с несколькими файловыми системами. Если у вас есть другой жесткий диск премонтированый в данную файловую систему, то вы не сможете создать жесткую ссылку из данной системы к премонтированному жесткому диску. Потому, что это все опирается на inode, а inode справедливы для конкретной файловой системе. Поэтому в операционной системе Windows все ссылки по умолчанию мягкие. Пригодиться это может где угодно. Например, мы в своей домашней директории можем создать ссылки на все свои важные папки или данные. Очень часто символические ссылки используются для администрирования. Операционной системы Linux. Например, для команд, если пользователь не хочет знать номер версии или дополнительные ключи, он может просто получать доступ к различным версиям просто используя ссылки. Также стоит упомянуть ситуацию с папками. Создадим папку - mkdir Folder. Попробуем создать жесткую ссылку на данную папку - ln Folder folder.lnk, данная команда выдаст ошибку указывая на то, что нельзя создать жесткую ссылку на папку, но, а если мы захотим создать мягкую (символическую ссылку), то проблемы не возникнет - ln –s Folder folder.lnk. Хорошим тоном при создании ссылок символических это указание на полный путь файлу, т.к привязка идет к имени файла и при создании если указать относительны, мы можем столкнуться с ситуацией, когда получившаяся ссылка будет битой. Например, когда мы хотим создать ссылку на файл и положить ее во внутрь другие папки ln –s /home/siadmin/file.txt Folder/. данный вариант будет рабочим. Разница между копирование файла и созданием ссылки. Когда копируем файл мы фактически создаем другой файл со всем его содержимым, а когда мы создаем ссылку – это некий ярлык на файл. Скопируем файл file.txt в newfile.txt и на file.txt создадим жесткую ссылку. Когда мы смотрим вывод команды ls –l по папке то визуально копию мы не отличим от жесткой ссылки, если мы конечно об этом не знаем. А отличие мы увидим только если мы посмотрим на inodes. Как мы видим номера inode у файла и жесткой ссылки совпадают, причем мы не знаем, что из них первично. Можно заметить столбец с цифрами после указания прав на объекты, он показывает сколько ссылок жестких есть на данный inode. Создадим еще одну жесткую ссылку ln file.txt hard1.txt. Теперь если сделать вывод ls –li, то мы увидим цифру 3. Почему так происходит? Удалением файла у нас по умолчанию является действие, которое обнуляет количество всех жестких ссылок. Если мы удалим файл исходный file.txt. и посмотрим вывод то мы увидим, что если есть мягкие ссылки, то они прекратят работать, а файлы hard.txt и hard1.txt остались. Более того, если обратиться к этим жестким ссылкам, например, с помощью утилиты просмотра cat hard.txt, то мы увидим текст, который был у нас изначально в файле. Это происходит потому, что сам файл — это некоторое пространство занятое на диске, а имя файла и путь к нему – это и есть жесткая ссылка. Поэтому любой файл это есть жесткая ссылка на место на диске. Мы можем создать к нашему inode сколько угодно ссылок и пока мы их всех не удалим наш файл будет на месте.
img
Первая статья из цикла про lsof тут. У команды lsof очень много параметров, которыми, вы возможно, и не пользуетесь. Давайте изучим их для, повышения эффективности своей работы. В нашей первой статье мы рассмотрели ряд опций , которые использовали с командой lsof для вывода информации, необходимой для устранения возможных неполадок в системах Unix. В связи с тем, что lsof имеет огромное количество опций, запоминание того, какую опцию использовать и для каких целей, вызывает затруднение использование этой команды часто и/или эффективно. Итак, то, что мы изучим в этой статье - это рассмотрим несколько способов упрощенного использования этого очень полезного инструмента. Мы создадим полезные псевдонимы (aliases), разработаем что-то вроде "шпаргалки" и создадим простой скрипт с использованием параметров команды lsof. Использование псевдонимов Оба псевдонима, показанные ниже, содержат список всех файлов, открытых от текущего пользователя. Есть подозрения, что некоторые системные администраторы захотят использовать команду "showmyopenfiles". Другие администраторы будут использовать выражение "showmine", но оно имеет двойной смысл - это мои открытые файлы или мои процессы? Обратите внимание, что большинство этих псевдонимов требуют привилегий root и предполагают, что у вас есть привилегии sudo. Возможно лучше использовать выражения "showfiles", "showmyfiles" или просто "ofiles". Выше показано использование псевдонимов "showfiles", "showmyfiles" и "ofiles" Ниже на скриншоте мы ищем процессы, открытые в каталоге /usr/sbin/lsof самой командой lsof. Конечно, чрезмерно замудренное использование данных псевдонимов может сделать их более трудными в использовании, чем просто использование базовых команд lsof. Другой вариант-создать псевдонимы для нескольких вариантов, которые вы, вероятно, будете использовать чаще всего. Любой, кто использует эти псевдонимы, просто должен не забыть добавить аргумент (имя пользователя, PID и т. д.). Аналогичным образом вы можете настроить псевдонимы, которые отображают информацию для ваших сетевых подключений. Использование "шпаргалки" Наличие под рукой шпаргалки с краткими пояснениями к параметрам команды lsof также может помочь вам воспользоваться ее многочисленными функциями, не запоминая их. Простые пояснения и примеры команд - полезная вещь при использовании lsof. Вот пример: Применение скриптов Вы также можете упростить использование команды lsof, создав скрипт. Скрипт, показанный ниже, пытается определить, что вы ищете, оценивая аргумент, который вы приводите. Например, если вы вводите IP-адрес, предполагается, что вы хотите видеть сетевую активность для этого конкретного IP-адреса. Можете изменять его, под свои нужды для устранения неполадок.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59