Рубрика «Блог компании RUVDS.com» - 103

Сито для интернета: интересные вещи с Shodan - 1

Интернет ошибочно отождествляют исключительно с вебом, но всемирная паутина доступная через браузер — это всего лишь вершина айсберга глобальной сети. Ее подводная часть куда разнообразнее, и хоть она скрыта от глаз рядовых пользователей, ничто не мешает изучать ее специализированными средствами. Одним из таких сервисов, сделанных “под ключ” и устроенных по типу швейцарского ножа, можно назвать Shodan.

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

Сито для интернета: интересные вещи с Shodan - 2
Читать полностью »

На современных 64-битных PC-архитектурах использование C++-исключений означает всего лишь добавление к функциям недостижимого кода с вызовами деструктора и ухудшение производительность менее чем на 1%. Такие небольшие ухудшения производительности сложно даже измерить. Обработка редких ошибок с использованием возвращаемых значений требует дополнительных операций ветвления, которые, в реалистичных сценариях, замедляют программы примерно на 5%. Такой подход, кроме того, менее удобен, чем использование исключений. Если выбрасывается исключение, то на «раскрутку» каждого кадра стека тратится примерно 2 мкс.

Коды ошибок — это гораздо медленнее, чем исключения - 1

C считается самым быстрым языком программирования. В C++ есть возможности, которые лишь повышают удобство работы, не влияя на производительность, в сравнении с C, и возможности, которые на производительность влияют. Эти возможности очень помогают в деле улучшения качества кода. В результате ими, несмотря ни на что, достаточно часто пользуются. Полиморфизм времени выполнения — это буквально вездесущая возможность, а вот исключения распространены меньше.
Читать полностью »

Если вы считаете, что умеете готовить, то может, вы знаете о том, как сделать суфле или пахлаву, а может — и не знаете. Но есть кое-что такое, чему вы, вероятно, научились, просто готовя разные блюда. Например, вы, скорее всего, можете вскипятить воду, можете правильно разбить яйцо, можете поджарить мясо. Если говорить о работе в Linux или Unix, то тут тоже можно сделать похожие наблюдения. Возможно, вы не знаете о том, как установить сервер Wayland, или о том, как написать модуль ядра. Но есть определённые базовые навыки, вроде работы с файлами или редактирования текстов, которые люди осваивают независимо от того, чем они занимаются, навыки, которые помогают им в самых разных ситуациях. Один из навыков, полезных в самых разных ситуациях, овладение которым часто вызывает определённые сложности, это — умение пользоваться регулярными выражениями. Многие программы используют их в качестве средства описания шаблонов поиска чего-либо. Обычно — для поиска данных в строках, например — в файлах с каким-то текстом.

Кунг-фу стиля Linux: регулярные выражения - 1

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

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

Эмулятор RFID на Arduino - 1


Многие читали мой пост "Эмулятор RFID", где я в деталях рассказывал об устройстве EM Marine, о том как намотать антенну, и как сделать RFID-эмулятор из трёх деталей. Но, будем честны, несмотря на гениальную простоту того устройства, оно достаточно сложно для повторения. Не каждый имеет дома осциллограф, для того чтобы поймать резонанс, да и для прошивки ATtiny85 требуется отдельный программатор.

Поэтому я принял решение сделать такой эмулятор, который может повторить даже ребёнок. Все компоненты продаются чуть ли не в каждой деревне. При этом его функциональность может быть даже расширена. Например, можно сохранять в нём несколько карт или можно добавить ещё считыватель, и сохранять все карты в одном устройстве, или же использовать его для… В общем, поехали.
Читать полностью »

Заметки Датасатаниста: реляционные vs связанные данные - 1

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

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

Мы обсудим, что такое реляционная модель и связанные с ней SQL и реляционная алгебра. Потом перейдем к примерам связанных данных из Викидата, а далее RDF, SPARQL и чутка поговорим про Datalog и логическое представление данных. В конце выводы — когда применять реляционную модель, а когда связно-логическую.

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

Если у вас есть сомнения, чем одно отличается от второго и зачем вообще нужны связанные данные (LinkedData), то добро пожаловать под кат.
Читать полностью »

EDR: откуда взялся и почему это очередной виток защиты от хакеров - 1

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

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

Все изменила сеть…

Предпосылки возникновения EDR

Очень долго, компьютерные вирусы были чрезвычайно специфическими программами. Им приходилось выживать в очень стесненных условиях слабых компьютеров с ограниченными ресурсами, авторы вирусов были гуру Ассемблера, досконально знали все тонкости работы компьютеров на низком уровне. Но компьютеры становились мощнее, их связала сеть и все это запахло большими деньгами. Взлом был поставлен на поток, теперь это серьезный и крупный бизнес, уязвимости продают за огромные деньги, основной трафик компьютерных сетей — DDoS. Таким же крупным бизнесом стала и защита от атак. Прошли те времена, когда антивирусные программы покупались на дискетах и защищали только один компьютер. Даже сами понятия “вирус” и “антивирус” уже устаревают, целью атак становятся целые организации, а занимаются этим уже не одиночки-энтузиасты.
Читать полностью »

Безопасный Linux вместе с AppArmor - 1

В предыдущей статье речь шла о SELinux. Моё впечатление об этой системе безопасности двоякое. С одной стороны безопасности в ИТ много не бывает, и SELinux содержит все необходимое для защиты ОС и приложений от несанкционированного доступа. С другой же стороны он выглядит чересчур громоздким и неоправданно сложным, что делает его применение непрактичным. Не раз и не два в руководствах пользователя по установке коммерческого ПО я видел рекомендации выполнить setenforce 0 перед началом установки.

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

Так же, как и SELinux AppArmor является реализацией системы Mandatory Access Control (MAC), основанной на архитектуре Linux Security Modules (LSM). Модель безопасности Apparmor заключается в привязке атрибутов контроля доступа не к пользователям, а к программам. AppArmor обеспечивает изоляцию с помощью профилей, загружаемых в ядро, как правило, при загрузке.

AppArmor отличается от остальных реализаций MAC в Linux принципом действия на основе путей, еще он позволяет смешивать профили принудительного исполнения и режима предупреждений. Кроме того AppArmor использует вложенные файлы для облегчения разработки и имеет гораздо более пологий барьер для входа, чем тот же SELinux.Читать полностью »

Недавно на нашем ютуб-канале выступил Влад Зайцев aka vvzvlad — энтузиаст биохакерских имплантов.

Сейчас у Влада самого вживлено три чипа прямо в руку: карточка Рокетбанка, с которой он может оплачивать покупки и два пропуска в офис (в здании две системы управления доступом), чтобы экономить время на доставании кошелька.

Делимся записью эфира и расшифровкой.Читать полностью »

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

Со мной это случилось во время возни с проектом The Skull (Череп). Это — новая аппаратная головоломка в стиле CTF (Capture The Flag) с леденящим душу сюжетом. Если честно, то в том, что случилось, была, отчасти, и моя вина. Я оставил некоторые пины подключёнными к плате Uno и пытался перепрошить чип. Вероятно, что-то вмешалось в этот процесс и чип «умер».

Снятие проклятия с фьюзов ATtiny85 - 1

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

Расскажу о том, как мне удалось восстановить работоспособность ATtiny85. Кто знает — может и вы когда-нибудь «окирпичите» такой чип, а мой рассказ поможет вам этот чип спасти.
Читать полностью »

10 полезных советов для начинающих изучать Django - 1

1. Используйте относительные пути в конфигурации

Не задавайте абсолютный путь в settings.py, это будет полезно, если вы будете в дальнейшем запускать проект из разных расположений, например при развертывании на другом веб-сервере, у которого пути будут другими. Используйте следующий код в settings.py если ваши шаблоны и статические файлы расположены внутри каталога проекта Django:

# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js