В статье будет рассказано про основные алгоритмы, которые ядро Linux использует для планирования задач, готовых к выполнению. Как влияет приоритет задач и указанная для неё политика на то, как она будет получать процессорное время и сколько.
User
Как написать свою маленькую ОС
Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).
Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Кое-что об inode
- что такое inode;
- по каким причинам можно получить ошибку записи на диск (или например: почему может закончиться место на диске, суть одна).
Как часто бывает, я был уверен, что эту тему знаю хорошо, но как только начал объяснять — обозначились провалы в знаниях. Чтобы систематизировать свои знания, заполнить пробелы и больше не позориться, пишу эту статью, может еще кому пригодится.
Начну «снизу», т.е. с жесткого диска (флешки, SSD и прочие современные штуки отбросим, для примера рассмотрим любой 20 или 80 гиговый старый диск, т.к. там размер блока 512 байт).
Жесткий диск не умеет адресовать свое пространство побайтно, условно оно разбито на блоки. Нумерация блоков начинается с 0. (называется это LBA, подробности тут: ru.wikipedia.org/wiki/LBA)
Проект юного DevOps Глава 1: Введение и подготовка стенда
В данной серии статей описан процесс создания первого pet-проекта для начинающего инженера в DevOps:
Глава 1: Введение и подготовка стенда
Обманчиво простой и интересный RSA
Недавно, читая книгу Real-World Cryptography, я узнала об атаке Блейхенбахера, иначе называемой атакой миллионом сообщений. Этот вид атаки Даниэль Блейхенбахер продемонстрировал в 1998 году, взломав RSA через функцию шифрования PKCS #1. В книге об этой атаке было сказано немного, поэтому я решила изучить её сама и в конечном итоге реализовать.
Поскольку эта уязвимость была обнаружена, то в большинстве криптографических библиотек она устранена. И если я разверну полноценную атаку против существующей реализации, то она также будет подразумевать использование реалистичного размера ключа.
Вместо этого я решила реализовать RSA сама, чтобы иметь возможность развернуть слабую схему шифрования, позволяющую осуществить атаку Блейхенбахера. Пока что у меня готова реализация RSA и PKCS (уязвимой версии). На создание основы RSA ушло около часа, плюс несколько дней на отладку. И теперь она (кажется) работает. Вскоре, если звёзды сойдутся, можно будет развернуть саму атаку.
Учимся понимать события подсистемы аудита Linux
Приветствую всех любителей изучать новое. Меня зовут Рома, и я занимаюсь исследованием безопасности ОС Linux в экспертной лаборатории PT Expert Security Center.
В рамках инициативы нашей компании по обмену экспертными знаниями с сообществом я расскажу вам об известной многим администраторам системе журналирования в Linux-подобных ОС — подсистеме аудита Linux (auditd). При должной настройке она позволяет получать полную информацию о действиях, выполняемых в операционной системе.
Специалистам по информационной безопасности полезно уметь расшифровывать и обрабатывать события auditd для отслеживания потенциально вредоносной активности. В связи с этим нам потребовалось организовать для них экспертную поддержку в системе мониторинга событий ИБ и управления инцидентами MaxPatrol SIEM.
У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868
Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи.
Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 pin разъёма, поддерживающего все наиболее популярные промышленные интерфейсы. Становится интересным пробовать решать разные задачи такого типа со ставшими доступными уже год назад Российскими одноплатниками Repka Pi, разработанными на основе китайской элементной базы, но разработанные и производимые уже в России и имеющие хорошую поддержку, что сильно меняет и расширяет возможности применения и получения ответов на возникающие вопросы, так как работы с такими задачами часто сопряжена с возникающими техническими вопросами.
Реализация телефонной связи и радиоуправление - это ооооочень интересные возможности, дающие много простора для решения различных задач по автоматизации процессов в рамках своих проектов, как DIY, так и вполне промышленных задач. Учитывая, что в Репке за последнее время добавлена возможность работать с CAN интерфейсов и I2S, то круг задач и поле для фантазии становятся практически не ограниченными.
Это четвертая статья серии, посвященной модулю GSM/GPRS/GNSS Bluetooth HAT. В этой статье рассмотрим как добавить в ваше IoT-устройство или другое оборудование функции мобильного телефона. Ранее мы рассматривали как принимать и отправлять сообщения и многое другое и вот настало время для реализации функционала полноценной телефонной голосовой связи.
Настало время превратить модуль GSM/GPRS/GNSS Bluetooth HAT, созданный на базе SIM868, в самый настоящий телефон, способный звонить и принимать звонки. Мы расскажем о том, как это можно делать из программы, составленной на языке Python, а также опишем соответствующие AT-команды. Вы проверите их в работе с помощью терминала minicom.
Также вы научитесь работать с определителем номера вызывающего абонента, создавать белый список номеров, с которых разрешен прием звонков и сообщений SMS, выбирать мелодию, которая будет звучать при вызове и ее громкость. Вы сможете управлять громкостью динамика, подключенного к модулю и чувствительностью микрофона.
How to exchange a secret key over an insecure network (EC-Diffie-Hellman algorithm)
Let’s say you want to send an encrypted message to your friend in order to avoid it being intercepted and read by a third party. You generate a random secret key and encrypt the message with it. Let’s say you use AES. But how do you let your friend know the key to decrypt it?
In this article, we will explore how the Elliptic-Curve Diffie-Hellman algorithm works under the hood. The article includes the implementation of this algorithm from scratch, written in Python.
Доступно о криптографии на эллиптических кривых
Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.
Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.
До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.
В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
How elliptic curve cryptography works in TLS 1.3
A couple of reader alerts:
In order to (somewhat) simplify the description process and tighten the volume of the article we are going to write, it is essential to make a significant remark and state the primary constraint right away — everything we are going to tell you today on the practical side of the problematics is viable only in terms of TLS 1.3. Meaning that while your ECDSA certificate would still work in TLS 1.2 if you wish it worked, providing backwards compatibility, the description of the actual handshake process, cipher suits and client-server benchmarks covers TLS 1.3 only. Of course, this does not relate to the mathematical description of algorithms behind modern encryption systems.
This article was written by neither a mathematician nor an engineer — although those helped to find a way around scary math and reviewed this article. Many thanks to Qrator Labs employees.
(Elliptic Curve) Diffie-Hellman (Ephemeral)
The Diffie–Hellman legacy in the 21 centuryOf course, this has started with neither Diffie nor Hellman. But to provide a correct timeline, we need to point out main dates and events.
There were several major personas in the development of modern cryptography. Most notably, Alan Turing and Claud Shannon both laid an incredible amount of work over the field of theory of computation and information theory as well as general cryptanalysis, and both Diffie and Hellman, are officially credited for coming up with the idea of public-key (or so-called asymmetric) cryptography (although it is known that in the UK there were made serious advances in cryptography that stayed under secrecy for a very long time), making those two gentlemen pioneers.
In what exactly?
Опубликована коллекция хакерских инструментов ЦРУ
7 марта 2017 года сайт Wikileaks начал публикацию коллекции Vault 7 секретных документов Центрального разведывательного управления США. Первая часть коллекции Year Zero содержит 8761 файл, в том числе список разнообразных зловредов, вирусов, троянов, десятков 0day-эксплойтов и полезной нагрузки для них, систем удалённого управления (сейчас вместо папок с файлами лежат pdf со списком файлов, после проверки появятся сами файлы) и соответствующая документация. Всего во всех частях коллекции — сотни миллионов строк кода. По мнению активистов Wikileaks, после такой утечки ЦРУ теряет контроль над большей частью своего хакерского арсенала.
Файлы получены из сети с высокой степенью защиты в Центре киберразведки ЦРУ, расположенного в Лэнгли, шт. Виргиния.
АНБ предложило стандарт шифрования для устройств Интернета вещей, но ISO его отвергло
Шифровальная машина Enigma. Ходят слухи, что это первое из устройств, куда внедрило бэкдор АНБ. Это произошло после WWII в сотрудничестве с фирмой-производителем Crypto AG. С тех пор внедрение таких бэкдоров стало чуть ли не стандартной практикой для американских разведчиков
Многие говорят о всемогуществе американских спецслужб: мол, они делают аппаратные закладки в CPU (чипы Clipper) и оставляют бэкдоры в стандартах шифрования на этапе создания этих стандартов, как было с алгоритмом Dual_EC_DRBG, принятым NIST в качестве стандарта ГСЧ. Документы Сноудена показали, что АНБ заплатило RSA за включение этого ГСЧ в своё программное обеспечение.
Но в реальности даже их влияние не безгранично. Если верить источнику WikiTribune из Международной организации по стандартизации (ISO), в апреле этого года развернулась целая дискуссия между специалистами из международной группы экспертов по безопасности ISO и сотрудниками Агентства национальной безопасности США (АНБ), которые представили новые блочные шифры для Интернета вещей.
Дифференциальный криптоанализ для чайников
Шифр FEAL обладает таким же уровнем стойкости что и DES. Более того, увеличенная длина ключа (64 бита по сравнению с 56 битами в DES) затрудняет возможность перебора. Шифр FEAL обладает хорошим распределением шифротекстов, близким к случайному. И это тоже говорит в пользу FEAL по сравнению с DES.Это краткое содержание спецификации алгоритма шифрования FEAL, опубликованного в 1987 году.
Ничто не вечно под луной. В данном топике я расскажу как при наличии всего 40 пар открытых-закрытых текстов получить полный ключ FEAL4 за несколько минут.
OpenBTS (1 часть) — Первое знакомство
Разбор алгоритмов генерации псевдослучайных чисел
Я работаю программистом в игровой студии IT Territory, а с недавних пор перешел на направление экспериментальных проектов, где мы проверяем на прототипах различные геймплейные гипотезы. И работая над одним из прототипов мы столкнулись с задачей генерации случайных чисел. Я хотел бы поделиться с вами полученным опытом: расскажу о псевдогенераторах случайных чисел, об альтернативе в виде хеш-функции, покажу, как её можно оптимизировать, и опишу комбинированные подходы, которые мы применяли в проекте.
Fortuna: генератор случайных чисел для параноиков
Все знают, что лучший генератор случайных чисел — это устройство, оцифровывающее выход с очень чувствительного микрофона, стоящего на солнечном берегу моря где-нибудь в районе диких пляжей Бали.
Если у вас такого устройства нет, то прошу под кат.
Методы хэширования паролей. Долгий путь после bcrypt
Шифровальная машина M-209, на основе которой создана первая в истории функция хэширования
crypt
в UnixПрошло 25 лет с момента изобретения алгоритма хэширования
bcrypt
(1997), но он до сих пор считается одним из самых стойких к брутфорсу хэшей.Вот уже несколько десятилетий некоторые специалисты прогнозируют, что аутентификация будет производиться ключами/сертификатами. Но этого до сих пор не случилось. Пароли остаются неотъемлемой частью систем информационной безопасности. Вообще, они широко использовались ещё до изобретения компьютеров, так что в таком долгожительстве нет ничего удивительного.
Подробно о генераторах случайных и псевдослучайных чисел
Алгоритмы рандома
Про что статья
Про алгоритмы генерирующие псевдослучайные числа, которые отличаются между собой качеством результата и скоростью исполнения. Статья будет полезна тем, кто хочет получить высокопроизводительную генерацию чисел в своих программах или разработчикам софта для микроконтроллеров и старых платформ по типу ZX Spectrum или MSX.
Использование быстрых клавиш в командной строке Linux (BASH)
Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).
Она точно будет полезна начинающим своё знакомство с Linux и, уверен, пригодится тем, кто уже имеет опыт (не всегда годы практики учат работать быстрее).
Никогда не развивал навыка быстрой печати, но знание не одного десятка hotkey'ев, перечисленных в этом материале, позволяет набирать команды со скоростью мысли.
Я попытался продемонстрировать многие примеры при помощи анимированных gif'ок – иногда несколько кадров больше скажут, чем несколько абзацев текста.
Information
- Rating
- Does not participate
- Location
- Украина
- Date of birth
- Registered
- Activity