Search
Write a publication
Pull to refresh
18
0
Send message

Черная археология датамайнинга: что может быть эффективнее атаки по словарю?

Reading time5 min
Views16K
Для тех, кому лениво читать дальше, сразу скажу ответ: атака «логин равен паролю». По статистике, логин равный паролю встречается чаще, чем самый распространенный пароль из словаря. Далее в статье будут некоторые статистические исследования на эту тему, и история, с которой всё началось.



Читать дальше →

Гроза, молния и средства защиты электросети своими силами

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

Исходные данные: дом, 3 фазы (15 кВт на дом), заземление штырем в 3 м длиной, автономная электросистема на базе солнечных батарей



Читать дальше →

Учим Raspberry Pi принимать Telegram'мы с помощью Bot API и Python

Reading time7 min
Views50K
Давно хотел прикрутить к своей домашней Raspberry Pi удобный интерфейс «общения», который бы удовлетворял главному требованию — простота и лёгкость, с доступом из любой точки мира и с помощью любого оборудования (но в первую очередь — со смартфона).

В связи с отсутствием дома выделенного IP и наличием сурового и неподкупного NAT варианты с SSH клиентами и web-интерфейсами отпали сразу. Для небольших потребностей решение тоже должно быть простое, быстрое и, в качестве бонуса, надежное. Так что идея использования протокола одного из распространенных мессенджеров показалась мне весьма привлекательной. Под прицел попали Jabber, Telegram и WhatsApp.

Против Jabber сыграло нежелание устанавливать лишний клиент. Ну а так как Telegram — это, IMHO, тот же WhatsApp, только лучше и удобнее (и даже чуточку безопаснее), то именно на нём я и решил остановить свой выбор. К тому же появившаяся недавно в Telegram возможность создавать своих рабов ботов и взаимодействовать с ними с помощью очень простого API позволяет избавиться от необходимости регистрировать новый аккаунт, а так же дает некоторые очень полезные и удобные возможности.

На самом деле всё действительно настолько просто, что опытным человекам хватит и 30 минут, чтобы разобраться, поднять и настроить своего бота. Остальным же: Добро Пожаловать!
Читать дальше →

Используем встроенный микроконтроллер в Intel Edison

Reading time7 min
Views21K
Думаю, что многие из вас уже знакомы с Intel Edison по предыдущим заметкам, и у некоторых после прочтения спецификации, вероятно, возникал вопрос — а что это за второй загадочный процессор MCU, работающий на частоте 100 МГц? Зачем он нужен? Как его использовать?
Между тем роль MCU в некоторых случаях исключительно важна. Те, кто пробовал применять Edison для работы с различными сенсорами, возможно, уже заметили — Intel Edison не обеспечивает real-time отклика на их показания при работе из Linux. И тут на помощь приходит MCU. Пришло время немного рассказать про этот встроенный микроконтроллер, его архитектуру, области применения и рассмотреть практический пример.
Читать дальше →

Делаем видеоконференции в браузере за 10 минут

Reading time9 min
Views30K
Обратите внимание, что данная статья устарела. Актуальная информация на тему создания видеоконференций доступна по ссылке.
Видеоконференции через Skype уже давно заняли свое место в ежедневных коммуникациях, пользователи оценили удобство такого формата общения и все больше компаний стараются проводить встречи именно в этом формате. Но у скайпа есть большой минус: это отдельное приложение, которое трудно интегрировать в другой сервис. А сервисов, куда можно с пользой для дела встроить видеоконференции великое множество, начиная от систем бизнес-автоматизации и заканчивая сервисами группового обучения иностранному языку. Сегодня я покажу вам, как с помощью подручных средств и voximplant за 10 минут собрать движок видеоконференций, работающий прямо из браузера на webRTC и спозволяющий подключаться к конференции с обычных телефонов.
Читать дальше →

Захват пакетов в Linux на скорости десятки миллионов пакетов в секунду без использования сторонних библиотек

Reading time8 min
Views88K
Моя статья расскажет Вам как принять 10 миллионов пакетов в секунду без использования таких библиотек как Netmap, PF_RING, DPDK и прочие. Делать мы это будем силами обычного Линукс ядра версии 3.16 и некоторого количества кода на С и С++.



Сначала я хотел бы поделиться парой слов о том, как работает pcap — общеизвестный способ захвата пакетов. Он используется в таких популярных утилитах как iftop, tcpdump, arpwatch. Кроме этого, он отличается очень высокой нагрузкой на процессор.

Итак, Вы открыли им интерфейс и ждете пакетов от него используя обычный подход — bind/recv. Ядро в свою очередь получает данные из сетевой карты и сохраняет в пространстве ядра, после этого оно обнаруживает, что пользователь хочет получить его в юзер спейсе и передает через аргумент команды recv, адрес буфера куда эти данные положить. Ядро покорно копирует данные (уже второй раз!). Выходит довольно сложно, но это не все проблемы pcap.

Кроме этого, вспомним, что recv — это системный вызов и вызываем мы его на каждый пакет приходящий на интерфейс, системные вызовы обычно очень быстры, но скорости современных 10GE интерфейсов (до 14.6 миллионов вызовов секунду) приводят к тому, что даже легкий вызов становится очень затратным для системы исключительно по причине частоты вызовов.

Также стоит отметить, что у нас на сервере обычно более 2х логических ядер. И данные могут прилететь на любое их них! А приложение, которое принимает данные силами pcap использует одно ядро. Вот тут у нас включаются блокировки на стороне ядра и кардинально замедляют процесс захвата — теперь мы занимаемся не только копированием памяти/обработкой пакетов, а ждем освобождения блокировок, занятых другими ядрами. Поверьте, на блокировки может зачастую уйти до 90% процессорных ресурсов всего сервера.

Хороший списочек проблем? Итак, мы их все геройски попробуем решить!
Читать дальше →

Учим телефон считать гамма-кванты или вторая жизнь старого советского бытового дозиметра ДБГ-0.5Б…

Reading time3 min
Views114K

Ответ проекту «ДОРА»


habrahabr.ru/post/132351
habrahabr.ru/post/143791



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

Заинтересованных прошу пройти под хабракат.
Читать дальше →

Под прессом. Ломаем и защищаем Wordpress своими руками

Reading time11 min
Views92K


WordPress — это удобная блог-платформа для публикации статей и управления ими, на которой базируется огромное число различных сайтов. Из-за своей распространенности эта CMS уже давно является лакомым куском для злоумышленников. К сожалению, базовые настройки не обеспечивают достаточного уровня защиты, оставляя многие дефолтные дырки незакрытыми. В этой статье мы пройдем типичным путем «типового» взлома сайта на Wordpress, а также покажем как устранить выявленные уязвимости.
Читать дальше →

Датчики и микроконтроллеры. Часть 1. Матчасть

Reading time19 min
Views215K
В эпоху готовых отладочных плат и тысяч готовых модулей к ним, где достаточно взять пару блоков, соединить их вместе, и получить нужный результат, далеко не каждый понимает основы схемотехники, почему и как это работает, а главное — что надо делать, если это работает не так.
Как раз открылся хаб Схемотехника, так что, как говорил Бьюфорд Бешеный Пёс Таннен
Здание суда уже строят, значит, пора кого-то вешать.

В этом цикле я расскажу о датчиках — как о немаловажном элементе системы управления неким объектом или тех. процессом.

Все свое повествование я буду вести касаемо практических вопросов реализации цифровых систем управления на базе микроконтроллеров.

Руководство не претендует на всеобщий обхват вопроса.
Хотя после того, как мой конспект перелез за 20 страниц текста, я решил разбить статью на следующие части:
  • Часть 1. Мат. часть. В ней мы рассмотрим датчик, не привязанный к какому-то конкретному измеряемому параметру. Рассмотрим передаточные функции и динамические характеристики датчика, разберемся с его возможными подключениями.
  • Часть 2. Датчики климат-контроля. В ней я рассмотрю особенности работы с датчиками температуры, влажности, давления и газового состава
  • Часть 3. Датчики электрических величин. В ней я коснусь измерения тока и напряжения

Читать дальше →

Краткий Making of Pinup персонажа

Reading time3 min
Views42K


Недавно закончил серию девушек. Не слишком страшных решил сохранить, c одной опишу этапы. На мой взгляд, получился косплей на Pin Up. Для рендера бюста использовал KeyShot. Финал рендерил в Marmoset(программа для реал тайм ингейм привью). Все текстуры готовил под PBR шейдер.

По ссылке можно подробно почитать описание PBR-рендера и его тонкости.
Читать дальше →

Анимация персонажей в Blender 3D — это просто

Reading time3 min
Views183K


Мир open source не стоит на месте и постоянно развивается. Про Blender 3D написано уже много статей, но помимо Blender, существует еще много полезных и бесплатных программ. Одна из них, это MakeHuman. На Хабре упоминания о ней имеются, но какой либо информации по ней нет. Предлагаю вам заглянуть под кат и посмотреть, что анимация персонажей в связке MakeHuman+Blender3D, это действительно просто. Осторожно, много картинок.
Посмотрим...

Введение в дискретно-ориентированные многогранники для задачи определения столкновений

Reading time5 min
Views35K


Обнаружение столкновений (collision detection) виртуальных объектов является довольно значимой частью для задач визуализации.
Читать дальше →

Реализация ИК протокола NEC на ATmega

Reading time4 min
Views39K
Данный протокол уже много где описан. Я хочу показать и подробно описать свою реализацию на конкретном микроконтроллере. Мне было необходимо принимать сигнал с пульта RGB — такого, как на картинке. Его система команд приведена внизу статьи.

Краткий экскурс


Каждый пакет протокола NEC состоит из стартовой последовательности – импульса длиной 9 мс и паузы длиной 4,5 мс. Дабы не грузить вас теоретическими рисунками, покажу реальные скриншоты с логического анализатора.
Читать дальше →

Алгоритмы быстрого вычисления факториала

Reading time6 min
Views232K
Понятие факториала известно всем. Это функция, вычисляющая произведение последовательных натуральных чисел от 1 до N включительно: N! = 1 * 2 * 3 *… * N. Факториал — быстрорастущая функция, уже для небольших значений N значение N! имеет много значащих цифр.

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

Наивный алгоритм

Итак, простейшая реализация (назовем ее наивной) получается прямо из определения факториала:

static BigInteger FactNaive(int n)
{
    BigInteger r = 1;
    for (int i = 2; i <= n; ++i)
        r *= i;
    return r;            
}

На моей машине эта реализация работает примерно 1,6 секунд для N=50 000.

Далее рассмотрим алгоритмы, которые работают намного быстрее наивной реализации.
Читать дальше →

Учебник по языку SQL (DDL, DML) на примере диалекта MS SQL Server. Часть вторая

Reading time31 min
Views355K

Вступление и DDL – Data Definition Language (язык описания данных)


Часть первая — habrahabr.ru/post/255361

DML – Data Manipulation Language (язык манипулирования данными)


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

Рассказывать про DML я буду по своей последовательности выработанной на личном опыте. По ходу, так же постараюсь рассказать про «скользкие» места, на которые стоит акцентировать внимание, эти «скользкие» места, схожи во многих диалектах языка SQL.

Т.к. учебник посвящается широкому кругу читателей (не только программистам), то и объяснение, порой будет соответствующее, т.е. долгое и нудное. Это мое видение материала, которое в основном получено на практике в результате профессиональной деятельности.

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

Т.к. DML в диалекте БД MS SQL очень сильно связан с синтаксисом конструкции SELECT, то я начну рассказывать о DML именно с нее. На мой взгляд конструкция SELECT является самой главной конструкцией языка DML, т.к. за счет нее или ее частей осуществляется выборка необходимых данных из БД.
Читать дальше →

Имитация показаний датчиков с помощью массива точек пути

Reading time12 min
Views23K


Структура публикации


  • Оговорка про крен
  • Подготовка GPS-трека
  • Как из массива векторов получить углы Крылова-Эйлера
  • Имитация показаний гироскопа
  • Вектор ускорения свободного падения и направление «на север»
  • Имитация показаний акселерометра, компаса и барометра


Для отладки алгоритма, работающего с датчиками инерциальной навигации, может потребоваться имитировать показания этих самых датчиков. Например, вы имеете отладочную последовательность точек пути, имитирующую определённую ситуацию. Вы можете иметь некий GPS-трек, имеющий особенности, или напротив их не имеющий. В моём случае результат полевых испытаний есть, а плата ещё не готова (в производстве) — нужно чем-то заняться.
Читать дальше →

Исследование андроид-вируса

Reading time13 min
Views106K
Всем привет. Недавно мне valdikss рассказал об андроид-вирусе, который может немало навредить пользователю, если он недостаточно внимателен. Мне захотелось узнать его внутренности, т.к. более или менее в последнее время занимаюсь ресерчем андроид приложений, но вирусы никогда еще не исследовал. До его рассмотрения, мне сразу бросилось в глаза название файла — android_update-1.apk. Первым делом делаю то, что делает каждый андроид ресерчер — распаковывает его dex2jar-ом (ну и параллельно можно посмотреть WinRAR-ом список файлов).

dex2jar


Когда я распаковал файл dex2jar-ом у меня получился красивый jar. Я обрадовался и кинулся смотреть его в JD-GUI.

image

Но, к сожалению, JD-GUI не смог полностью декомпильнуть получившийся файл, зато в самом конце файла были интересные строки.
Читать дальше →

Эволюция веб-инжектов, часть 1

Reading time11 min
Views25K
В настоящее время файлы веб-инжектов взяты на вооружение во многих банковских вредоносных программах и используются как средство для осуществления финансового мошенничества. Этот механизм работы вредоносных программ изначально был распространен в единичных экземплярах и находился в зависимости от того или иного семейства вредоносных программ. За последние несколько лет веб-инжекты стали использоваться как часть целой киберпреступной экосистемы, в которой независимые их разработчики продают свои изделия операторам ботнетов.



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

Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity