Pull to refresh
0
0
Send message

Большой Адронный Коллайдер своими глазами. Часть 4

Reading time3 min
Views50K
В заключительной части я хочу рассказать о том, что обычно остается за кадром, но является непосредственной частью создания и использования того оборудования, на котором делаются открытия.

Первая часть здесь

Вторая часть здесь

Третья часть здесь

Часть 4. Мастерские и лаборатории

Читать дальше →
Total votes 80: ↑78 and ↓2+76
Comments25

Packet crafting как он есть

Reading time14 min
Views114K


Создание пакетов или packet crafting — это техника, которая позволяет сетевым инженерам или пентестерам исследовать сети, проверять правила фаерволлов и находить уязвимые места.
Делается это обычно вручную, отправляя пакеты на различные устройства в сети.
В качестве цели может быть брандмауэр, системы обнаружения вторжений (IDS), маршрутизаторы и любые другие участники сети.
Создание пакетов вручную не означает, что нужно писать код на каком-либо высокоуровневом языке программирования, можно воспользоваться готовым инструментом, например, Scapy.

Scapy — это один из лучших, если не самый лучший, инструмент для создания пакетов вручную.
Утилита написана с использованием языка Python, автором является Philippe Biondi.
Возможности утилиты практически безграничны — это и сборка пакетов с последующей отправкой их в сеть, и захват пакетов, и чтение их из сохраненного ранее дампа, и исследование сети, и многое другое.
Всё это можно делать как в интерактивном режиме, так и создавая скрипты.
С помощью Scapy можно проводить сканирование, трассировку, исследования, атаки и обнаружение хостов в сети.
Scapy предоставляет среду или даже фреймворк, чем-то похожий на Wireshark, только без красивой графической оболочки.
Утилита разрабатывается под UNIX-подобные операционные системы, но тем не менее, некоторым удается запустить ее и в среде Windows.
Эта утилита так же может взаимодействовать и с другими программами: для наглядного декодирования пакетов можно подключать тот же Wireshark, для рисования графиков — GnuPlot и Vpython.
Для работы потребуется права суперпользователя (root, UID 0), так как это достаточно низкоуровневая утилита и работает напрямую с сетевой картой.
И что важно, для работы с этой утилитой не потребуются глубокие знания программирования на Python.
Читать дальше →
Total votes 91: ↑91 and ↓0+91
Comments11

Домашний сервер «всё-в-одном» — success story

Reading time9 min
Views139K
Жил да был у меня роутер одной хорошей фирмы на букву «Dead». Ну, это с ним, собственно, и случилось.
Посмотрел я на цены новых, на кучу компьютерного хлама в углу, на список подключений на домашнем компе… И понял, что не нужен мне роутер. Соберу свой, с нормальной маршрутизацией, DNS, WINS, i2p, блекджеком и так далее.
Как это было?
Total votes 134: ↑110 and ↓24+86
Comments87

Что не так с ООП и ФП

Reading time5 min
Views70K
Я не понимаю причины существования бесконечных споров вокруг Объектно-ориентированного (ООП) и Функционального (ФП) программирования. Кажется, что такого рода вещи находятся за пределами человеческого понимая, и о них можно спорить бесконечно. Много лет занимаясь исследованием языков программирования, я увидел четкий ответ, и зачастую я нахожу бессмысленным обсуждение этих вопросов.

Если кратко, то как ООП, так и ФП неэффективны, если доходить в их использовании до крайности. Крайностью в ООП считается идея о том что “все что угодно является объектом” (чистое ОП). Крайностью для ФП можно рассматривать чистые функциональные языки программирования.
Читать дальше →
Total votes 148: ↑116 and ↓32+84
Comments166

Никогда не повторяйте этого дома: модификация алгоритма шифрования HC-128

Reading time8 min
Views23K

HC-128 (pdf) — финалист европейского проекта eSTREAM, поточный шифр с довольно большим внутренним состоянием
(2 независимых массива по 512 32битных слов). Он очень шустрый если шифровать большие потоки, но, поскольку инициализация этих массивов занимает приличное время, не сильно эффективен в пакетном режиме. Справа 6 основных функций, которые в нём используются. Он не перегружен страшными длинными массивами констант, его реализация (под катом) по сравнению с другими выглядит простой и более-менее понятной. Началось всё с того, что меня зацепили две функции f1 и f2
Давайте ковырять
Total votes 63: ↑61 and ↓2+59
Comments20

Нормальные числа. Эпизод II: атака де Брёйна

Reading time7 min
Views14K
Добрый день, любезные хабражители. Как, быть может, некоторые из вас помнят, в предыдущем посте я грозился показать, как конструируется нормальное число, доказательство нормальности которого возможно провести элементарными средствами. К сожалению, у меня целый месяц не было возможности написать этот пост вследствие неожиданного перехода моего аккаунта в режим рид-онли. Однако теперь я вернулся, так сказать, отдохнувшим и могу приступить к выполнению обещания.

Если вы знаете, что такое нормальные числа, и вам интересно, как их строить — пожалуйте под кат. Если вы не знаете, что такое нормальные числа — прочитайте предыдущую статью (ссылка выше), затем пожалуйте под кат. Если же вам неинтересно, как строить нормальное число — всё равно пожалуйте под кат, потому что там я буду рассказывать про циклы де Брёйна, которые сами по себе очень интересные штуки.

image

А вот, собственно, и кат
Total votes 27: ↑26 and ↓1+25
Comments6

Как была закейгенена Armadillo, взломана PSP и скомпрометированы все DSA ключи в Debian. Или еще раз о слабых ГПСЧ и (EC)DSA

Reading time3 min
Views46K
armadillo Лет семь назад попал в руки крякеров архив с сорцом генератора ключей для протектора под названием Armadillo. Просто кое-кому из благодарных пользователей продукта захотелось проверить его на прочность. А где еще получишь бесплатный аудит такого интересного кода, как не на крякерском форуме.

Этот генератор нужен был для того, чтобы при покупке клиентом вашей программы, защищенной Armadillo, мерчант смог сам автоматически сгенерировать для неё лицензионный ключ. Так же, он использовался в самой Armadillo и, если б была возможность узнать секрет, то можно было бы сделать кейген для неё самой. Что делало аудит кода вдвойне интересным.

Итак, вот он, оригинальный, добытый путём титанических усилий, архив. (исходник на C)

Попробуйте без подсказок понять, в чем именно сокрыта уязвимость. Там хоть и куча кода, но он хорошо читаем. Не получилось? А если глянуть на 528 строчку?
Читать дальше →
Total votes 120: ↑117 and ↓3+114
Comments17

Как понять ассемблер. Часть 2. Микроконтроллер

Reading time2 min
Views36K
Ну чтож, пора копнуть чуть глубже. Понимание самого ассемблера по мне так не мыслимо без понимания того, как работает микроконтроллер. Оставим наших персонажей в комнате и вновь воспользуемся нашим воображением.
Итак сейчас нужно будет просто представлять то, о чём я напишу.
***
Представь, что ты сидишь внутри микроконтроллера. Скажем внутри ATmega 8. Только микроконтроллер это такая большая прямоугольная белая комната, а ты сидишь в удобном кресле в самом её центре. Эта комната — твой личный центр управления — ты из неё управляешь тем, что снаружи. Пока неважно ЧЕМ — пока важно КАК.
Читать дальше →
Total votes 43: ↑23 and ↓20+3
Comments20

Как понять ассемблер для AVR

Reading time4 min
Views104K
Всем добрый вечер! Веду свою трансляцию из уютного мира, который называется «ассемблер». Сразу поясню что тема касается микроконтроллеров AVR — и я пока ещё не знаю, пригодится ли этот пост тем, кто хочет использовать ассемблер для любой другой задачи. Дело в том, что я буквально несколько дней назад начал учить ассемблер с нуля — нужно сделать одно устройство — и я решил сделать в нём всё самостоятельно. Так вот — в один прекрасный день понял, что учить ассемблер абсолютно бесполезно! Ассемблер можно только понять! То есть всем тем, кто хочет программировать на ассемблере я настоятельно рекомендую детально вникнуть в то, каким образом ФИЗИЧЕСКИ работает микроконтроллер, а затем уже изучать тонкости команд.
Так вот, я пожалуй начну небольшой цикл статей, в которых буду с самого начала рассказывать как именно я понял те или иные вещи в программировании на ассемблере — думаю для тех, кто вообще не понимает что такое асм я буду как раз таким «переводчиком» с языка тех, кто в этом деле очень хорошо шарит.
Читать дальше →
Total votes 116: ↑66 and ↓50+16
Comments78

Изучаем netfilter: пишем свой match-модуль на базе xt_string для поиска нескольких шаблонов

Reading time11 min
Views9.3K

Введение


Недавно заметил, что на хабре мало информации по разработке модулей ядра. Всё что я нашёл:


Всегда удивляло то, что люди, более-менее знающие C, боятся и избегают даже читать ядерный код, как будто он на 60% состоит из ассемблера (который на самом деле тоже не такой уж сложный). Собственно я планирую написать серию статей, посвящённую разработке или доработке существующих модулей netfilter и iptables.

Интересными они, надеюсь, окажутся для начинающих разработчиков ядра, драйверописателей или просто людей, которые хотят попробовать себя в новой области разработки.

Что будем делать


Как сказано в названии статьи — мы напишем простой модуль iptables на базе xt_string. Xt_string — это модуль netfilter, умеет искать последовательность байт в пакете. Однако ему, на мой взгляд, не хватает способности осуществлять поиск нескольких последовательностей байт в заданном порядке. Ну, а так как лицензия GPL, то что мешает ему эту возможность придать?
И таки придаём!
Total votes 11: ↑11 and ↓0+11
Comments14

Умный дом, как я до такого докатился. Часть 3-я

Reading time6 min
Views217K

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

Поехали!
Total votes 84: ↑79 and ↓5+74
Comments42

Высшая ступень

Reading time6 min
Views15K
Пожалуй, стартапы — это знаковое явление современного бизнеса, движущая сила не только в своих «профильных» индустриях, но и на комплементарных рынках. Коммерческая недвижимость обязана им коворкингами — офисами-общежитиями, предприятия общественного питания — сотнями литров «американо» навынос, а IT — новыми компактными решениями «все-в-одном», недорогими, эффективными и быстро развертываемыми одновременно. Болезнь роста наступает у стартапов внезапно: казалось, еще вчера энтузиастам было достаточно пары более-менее производительных ноутбуков, а сегодня поток задач, объем данных и число пользователей требуют всерьез задуматься об IT-оснастке молодого бизнеса.

В данном случае компания Dell идет от задач. Есть новый рынок? Есть потребность в небольших комплексных решениях? Получите и распишитесь — Dell PowerEdge VRTX, первое комплексное серверное решение, предназначенное для компаний среднего и малого бизнеса. Кстати, идею создания платформы разработчики почерпнули у самих пользователей. На площадке для обмена идеями IdeaStorm один из них высказал мысль о необходимости создания нового форм-фактора серверных стоек. Было справедливо замечено, что стартапы не всегда располагают отдельным помещением для сервера, а в общей с рабочими местами комнате большой серверный шкаф попросту лишний. Идея пользователя заключалась в том, чтобы создать новый стандарт стоечной платформы для малого и среднего бизнеса, который бы предполагал более компактные размеры, меньшее энергопотребление и снижение уровня активного охлаждения – шум вентиляторов мешает сосредоточиться. Пользователь предложил модифицировать стоечный стандарт U в эдакий Mini U, который был бы минимум в два раза меньше в глубину и высоту. В такую стойку в идеале должны помещаться сервера, свитчи, роутеры, ИБП, кабели и т.п. И, главное, новый стандарт должен быть открытым, чтобы на него ориентировались производители оборудования. Так вот, Dell PowerEdge VRTX создан именно под эти требования. Что это за платформа, каковы ее возможности, ключевые особенности и возможные сферы применения?

Читаем вместе
Total votes 20: ↑18 and ↓2+16
Comments13

Суперкомпьютер Watson обучили ставить диагнозы пациентам и тренировать студентов-медиков

Reading time2 min
Views20K


Еще несколько лет назад суперкомпьютер Watson (IBM) отправили на обучение, если так можно выразиться, в Кливлендскую клинику. Все это делалось с целью создания надежного инструмента, позволяющего ставить диагнозы пациентам. Возможно, способности суперкомпьютера не будут использоваться для того, чтобы без участия врача ставить диагноз, но для обучения студентов-медиков проект уже используется. К слову, IBM осуществляет сразу два проекта в медицинской сфере (с участием этого суперкомпьютера): WatsonPaths и Watson EMR Assistant.

Читать дальше →
Total votes 38: ↑34 and ↓4+30
Comments32

Как я не взломал «Хабрахабр» или 10+ активных XSS

Reading time4 min
Views60K
image
Увидев как все ринулись искать XSS на прекрасно-синем Хабрахабре решил попытать свое счастье. POST-овые self-xss, бесполезные во многих контекстах и векторах, начиная с фильтрации в самых популярных браузеров (chrome/safari/ie etc) и заканчивая сложностью их же применения и эксплуатации было решено оставить остальным первопроходцам и отправиться на поиски чего-то более стоящего.
Читать дальше →
Total votes 229: ↑214 and ↓15+199
Comments14

I2P: Прозрачный доступ из любого браузера

Reading time2 min
Views371K


В последнее время, количество новостей связанных с блокировками зашкаливает.

Но куда уходить людям?

Что бы был доступ к информации, свобода слова и соблюдались хотя бы те правила, которые есть в конституции?

Mesh сети не подходят, Tor — тоже не может обеспечить требуемого, остается I2P.

Сегодня мы поговорим как настроить прозрачный доступ в I2P, с помощью которого каждая домохозяйка сможет открыть любой сайт в этой сети.
Читать дальше →
Total votes 129: ↑115 and ↓14+101
Comments174

Введение в анализ сложности алгоритмов (часть 4)

Reading time5 min
Views99K
От переводчика: данный текст даётся с незначительными сокращениями по причине местами излишней «разжёванности» материала. Автор абсолютно справедливо предупреждает, что отдельные темы могут показаться читателю чересчур простыми или общеизвестными. Тем не менее, лично мне этот текст помог упорядочить имеющиеся знания по анализу сложности алгоритмов. Надеюсь, что он окажется полезен и кому-то ещё.
Из-за большого объёма оригинальной статьи я разбила её на части, которых в общей сложности будет четыре.
Я (как всегда) буду крайне признательна за любые замечания в личку по улучшению качества перевода.


Опубликовано ранее:
Часть 1
Часть 2
Часть 3

Оптимальная сортировка


Поздравляю! Теперь вы знаете о том, как анализировать сложность алгоритмов, что такое асимптотическая оценка и нотация «большое-О». Вы также в курсе, как интуитивно выяснить является ли сложностью алгоритма O( 1 ), O( log( n ) ), O( n ), O( n2 ) и так далее. Вы знакомы с символами o, O, ω, Ω, Θ и понятием «наихудшего случая». Если вы добрались до этого места, то моя статья уже выполнила свою задачу.

Этот финальный раздел — опциональный. Он несколько сложнее, так что можете не стесняясь пропустить его, если хотите.От вас потребуется сфокусироваться и потратить некоторое время на решение упражнений. Однако, так же здесь будет продемонстрирован очень полезный и мощный способ анализа сложности алгоритмов, что, безусловно, стоит внимания.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments6

О флагах в 0x41414141 раз

Reading time5 min
Views14K
Сколько мы ни говорим о необходимости использования флагов линкера и компилятора, нацеленных на идентификацию повреждений памяти и усложнения их эксплуатации — наши разработчики ДБО, АБС и различных сертифицированных продуктов, как правило, никак к этому не прислушиваются. И вот при написании pre-auth RCE server side exploit в очередной раз появилась идея написать об этом на основе наших последних работ.



Если мы готовимся к кибервойнам, стоит начать с безопасности собственных продуктов...
Total votes 48: ↑46 and ↓2+44
Comments7

Сбор показаний датчиков и их отображение

Reading time7 min
Views83K


Людям нравятся красивые презентации. Красивые картинки, немного текста, меняющиеся слайды. Красивая картинка позволяет быстро передать информацию человеку, сообщить самое важное. Мы все это знаем. Я вот думаю, как «скрестить ежа и ужа»?

Как наглядно на мониторе компьютера представить процессы, происходящие внутри микроконтроллера или ПЛИС? Или как показать, что происходит внутри всей системы автоматики, реализованной на микроконтроллере или ПЛИС?

Вообще-то правильный ответ я знаю – нужно использовать SCADA системы.
SCADA – это supervisory control and data acquisition, диспетчерское управление и сбор данных. Но мы не ищем легких путей, мы хотим немножко изобрести своего велосипеда.

Хочу поделиться своим простым методом отображения данных, получаемых от датчиков и сенсоров из платы управления.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments16

Шесть загадок по С++

Reading time5 min
Views38K
В очередной раз наступив на досадные необязательные грабли, я решил систематизировать свои знания о них. Если вы какое-то время разрабатываете на C++, то можете и не найти здесь ничего нового, но кому-то приведенный в статье материал точно поможет. Если бы я знал это лет пять назад, то однозначно сэкономил бы несколько безвозвратно потерянных дней жизни и нервных клеток.

Чтобы было интереснее, материал представлю в виде простых задачек. Сразу подчеркну, что я не считаю приведенные примеры просчетами языка. Во многом появляется смысл и логика, если вопрос обдумать. Это скорее случаи, когда может отказать интуиция, особенно если голова забита чем-нибудь еще. Есть и пара примеров вида «Ну чего этому компилятору надо, только что то же самое работало!»

И последнее замечание. Это не будут задачи на внимательность типа «Тут я поставил точку с запятой сразу после for — а никто и не заметил». Проблемы не в опечатках. Все необходимые библиотеки можно считать подключенными — не относящийся к описываемой ситуации код я опускал, чтобы не загромождать статью.
Читать дальше →
Total votes 98: ↑63 and ↓35+28
Comments86
1

Information

Rating
Does not participate
Registered
Activity