Search
Write a publication
Pull to refresh
2
0
Кирилл Бучарский @doz10us

DevOps

Send message

Фиеричная система счисления, или почему 1 + 10 = 100

Reading time9 min
Views64K
«10.01 х 10.01 = 1000.1001»
Джордж Оруэлл. «1010001001001000.1001001000100001»


image


Существует ли позиционная система счисления с иррациональным основанием, в которой все натуральные числа записываются конечным числом цифр? В которой число больше единицы, не имеющее цифр после запятой, наверняка не целое и даже не рациональное? В которой 1 + 10 = 100, а 1 + 1 = 10.01?
Я заинтригован и хочу узнать ответ

Как перестать бояться и полюбить end-to-end шифрование

Reading time8 min
Views20K

Привет, Хабр!
В комментариях к нашему первому посту народ требовал хлеба и зрелищ кода и «success story». И если с первым у нас все более-менее нормально, то со вторым чего-то, как-то не складывается пока. Мы, знаете ли, люди все молодые, успехи у нас достаточно скромные, в баскетбол вот неплохо играем. Одним словом, сегодня мы пока просто немного покодим и раскажем о реализации end-to-end шифрования с использованием наших сервисов. А «success story»? Какие наши годы, будут еще в нашем блоге эти самые success stories.
Читать дальше →

Отражение динамики в модели СКУД

Reading time9 min
Views4.6K
В предыдущей статье рассматривалась структурная модель СКУД как совокупности ролей объектов и двойных связей между ними. Такая модель позволяет отразить результаты всех интересующих нас процессов, протекающих в системе. Процессы в системе выражаются через взаимодействия объектов, а результаты взаимодействий запоминаются в связях. Можно сказать, что связи — это память о взаимодействиях, но сами процессы взаимодействия в структурной модели никак не отражаются. Наблюдатель видит взаимодействия через изменения в поведении или изменения в состоянии объектов, которые мы будем называть устройствами. Например, при поднесении карты c RFID меткой к считывателю последний сообщает о считывании звуковым сигналом и миганием светодиода. Это может интерпретироваться как изменение состояния физического считывателя, при этом само взаимодействие между картой и считывателем, собственно чтение, не рассматривается. Предполагается, что считыватель проходит через ряд дискретных состояний. Такие дискретные состояния удобно моделировать при помощи машин состояний, но для этого нужно установить канал между физическим миром и виртуальным миром (компьютерной моделью). Такой канал, управляемый контроллером канала, передает физические сигналы от устройства, которые специальным модулем связи преобразуются в сигналы, управляющие машиной состояний устройства. Канал может быть двухсторонним:


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

Тестируем проект на SaltStack c помощью KitchenCI

Reading time9 min
Views5.8K

Введение



У меня есть pet project, которым я занимаюсь в свободное время. Этот проект полностью посвящён инфраструктурным экспериментам. Для управления конфигурацией я использую SaltStack. SaltStack — это централизованная система управления инфраструктурой. Это значит, есть мастер-сервер, который настраивает подчинённые серверы.


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

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

Google I/O 2016: Подробности об Android N и Android-экосистеме

Reading time10 min
Views22K
Привет, Хабр! За последний год пользователи Android по всему миру более 65 млрд. раз установили приложения из Google Play, созданные такими же разработчиками, как вы. Сегодня Android — самая популярная платформа и операционная система в мире, и само собой, мы каждый день работаем над ней. Как мы и обещали в нашем глобальном обзоре Google I/O 2016, сегодня пост про грядущие изменения в N: новые фичи и переработанные старые, изменения в UI, VR-платформа и Android для носимой электроники ждут вас под катом.



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

ZeroNet вместо DNS: Перспективное противодействие легальному вандализму

Reading time11 min
Views25K
image


Мысли о защите и нападении


Простите за некоторое отступление, но оно может оказаться важным.

Все мы прекрасно осведомлены о невесёлых тенденциях последних лет в сфере «регулирования» интернета. Самое удивительное, что это «вторжение» в рунет произошло с огромным запозданием и поэтому его несостоятельность совершенно очевидна для всех, кто хоть немного знаком с реальностью.

На момент вторжения естественная саморегуляция сети была уже на очень достойном уровне. Крупнейшие и наиболее интересные ресурсы уже тогда не допускали на своих страницах хоть сколько-нибудь сомнительного контента, уже тогда существовали программные фильтры контента для детей, которые вполне могли использовать и родители и общеобразовательные учреждения. «Регулировать», по сути, было уже нечего. И что же оставалось в такой ситуации?
Читать дальше →

Исследование защищенности карты Тройка

Reading time18 min
Views204K
Карта тройка

Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года.

Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней.

В ходе работы был успешно проведен реверс­-инжиниринг мобильного приложения «Мой проездной», что позволило получить доступ к памяти карты и изучить структуру хранения данных. Были найдены уязвимости, позволяющие выполнить подделку баланса, записанного на электронном кошельке карты Тройка. В результате чего стало возможным использование систем, поддерживающих карту, без оплаты.

Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька.

Внимание! Данные материалы представлены исключительно в ознакомительных целях. Подделка проездных билетов является уголовным преступлением и преследуется по закону.

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

Habrahabr Enhancement Suite

Reading time2 min
Views8.5K

Привет, Geektimes.


Можно считать этот пост своеобразным продолжением поста Натуральный Geektimes от awaik, а также моего поста на хабре с предложением юзать на страницах «натуральные» формулы в чистом TeX и подключать букмарклетом / юзерскриптом MathJax.



Постоянно появляется желание что-то изменить, как-то настроить под себя, и, как видно, я такой не один. Отсюда и идея сделать один юзерскрипт с желаемыми лично мной опциями, а затем позвать сообщество добавлять свои pull-request-ы (и пожелания в issues конечно же).

Github: https://github.com/keyten/HES.
Как установить: клик (нужен GreaseMonkey для Firefox или TamperMonkey для Chrome (и основанных на нём браузеров))…
Читать дальше →

Kibana-мать или Зачем вам вообще нужны логи?

Reading time9 min
Views250K
Вы можете сказать, что “иногда бывает нужно...” Но на самом деле, вы хотите всегда видеть, что у вас в логах, через графический интерфейс. Это позволяет:

  • Облегчить жизнь разработчикам и сисадминам, время которых просто жалко и дорого тратить на написание grep-конвейеров и парсеров под каждый отдельный случай.
  • Предоставить доступ к информации, содержащейся в логах, умеренно-продвинутым пользователям — менеджерам и техподдержке.
  • И видеть динамику и тенденции появления залогированых событий (например, ошибок).

Так что сегодня вновь поговорим о стэке ELK (Elasticsearch+Logstash+Kibana).
Но на этот раз — в условиях json-логов!

Такой use case обещает наполнить вашу жизнь совершенно новыми красками и заставит испытать полную гамму чувств.


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

Как устроено наше тестирование и почему QA участвует в постановке задач нашим разработчикам

Reading time6 min
Views20K
Добрый день!

Меня зовут Евгений, я руководитель тестирования облачных решений Acronis, и я хочу рассказать вам о том, как у нас всё это устроено.

Вообще, QA — это почти как КГБ: нас не всегда видно, но мы есть везде. Мы участвуем в процессах, начиная с самых ранних этапов, когда ещё идёт обсуждение техтребований, их доработка, черновое прототипирование фич. QA не имеет права голоса, но обязательно объясняет девлиду и программ-менеджеру багоопасные места на основе своего опыта. И, как правило, это объяснение влияет на требования к фиче.
Читать дальше →

Программно-определяемый ЦОД: зачем это нужно в практике сисадмина

Reading time10 min
Views20K

Концепция программно-определяемых ЦОД появилась очень давно. Тем не менее, на практике мало что было реализовано и работало, разве что у IaaS-провайдеров. По факту чаще всего была обычная виртуализация. Теперь же можно шагнуть дальше на стеке VMware, а можно реализовать всё на Openstack — тут придётся думать головой и взвешивать много факторов.

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

Зачем это нужно? Очень просто: начиная с автоматизации рутины, отвязывания зависимости от физического железа; точно знать потребление каждого ресурса; знать до копейки, и заканчивая тем куда и как идут деньги в IT-бюджете. Последние две причины лежат немного за пределами обычных админских целей, но очень полезны для CIO или сисадминов среднего и крупного бизнеса, рассчитывающих на полное взаимопонимание с коммерческим отделом. И премию, чего уж там.

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

Наш опыт знакомства с Docker

Reading time34 min
Views47K

Вместо предисловия





Сегодня приснился сон, как-будто меня ужали до размера нескольких
килобайт, засунули в какой-то сокет и запустили в контейнере.
Выделили транспорт в оверлейной сети и пустили
тестировать сервисы в других контейнерах…
Пока не сделали docker rm


Не так давно мне посчастливилось стать членом очень крутой команды
Centos-admin.ru, в которой я познакомился с такими же, как я: единомышленниками со страстью к новым технологиям, энтузиастами и просто отличными парнями. И вот, уже на второй рабочий день меня с коллегой посадили работать над одним проектом, в котором требовалось «докерировать всё, что можно докеризировать» и было критически важно обеспечить высокую доступность сервисов.

Скажу сразу, что до этого я был обычным комнатным Linux-админом: мерился аптаймами, апт-гет-инсталлил пакеты, правил конфиги, перезапускал сервисы, тайлил логи. В общем, не имел особо выдающихся практических навыков, совершенно ничего не знал о концепции The Pets vs. Cattle, практически не был знаком с Docker и вообще очень слабо представлял, какие широкие возможности он скрывает. А из инструментов автоматизации использовал лишь ansible для настройки серверов и различные bash-скрипты.

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

Как педагогу распространять свои цифровые образовательные ресурсы

Reading time7 min
Views23K
Привет, Мегамозг! Эта статья по сути является комментарием к одному из способов, описанных semen_grinshtein в публикации «Кто хочет стать миллионером: 7 способов разбогатеть, не создавая компанию». В одной истории успеха речь шла о педагоге-миллионере, что меня и заинтересовало, как вузовского преподавателя и школьного учителя.



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

Механизмы контейнеризации: namespaces

Reading time11 min
Views69K
namespaces

Последние несколько лет отмечены ростом популярности «контейнерных» решений для ОС Linux. О том, как и для каких целей можно использовать контейнеры, сегодня много говорят и пишут. А вот механизмам, лежащим в основе контейнеризации, уделяется гораздо меньше внимания.

Все инструменты контейнеризации — будь то Docker, LXC или systemd-nspawn,— основываются на двух подсистемах ядра Linux: namespaces и cgroups. Механизм namespaces (пространств имён) мы хотели бы подробно рассмотреть в этой статье.

Начнём несколько издалека. Идеи, лежащие в основе механизма пространств имён, не новы. Ещё в 1979 году в UNIX был добавлен системный вызов chroot() — как раз с целью обеспечить изоляцию и предоставить разработчикам отдельную от основной системы площадку для тестирования. Нелишним будет вспомнить, как он работает. Затем мы рассмотрим особенности функционирования механизма пространств имён в современных Linux-системах.
Читать дальше →

Как прервать непрерывную интеграцию

Reading time14 min
Views21K
Я — пентестер, и так получилось, что практически на всех проектах, хотя бы отдаленно связанных с анализом инфраструктуры разработчиков, мне встречаются установленные Jenkins и TeamCity (один раз я даже видел Bamboo). Немного гугла, и я выяснил, что это все — так называемые системы непрерывной интеграции. Конечно, в какой-то момент у меня в голове стали возникать вопросы вроде: «А что это вообще за системы такие?» и «Что с ними можно сделать?», естественно, с точки зрения пентестера. Ответив на поставленные вопросы, мы поймем, какую выгоду потенциальный злоумышленник может извлечь и какой вред нанести в рамках экосистемы разработчика, используя лишь имеющуюся в ней систему непрерывной интеграции.

Agile — это модно




Думаю, что большей части читателей Хабра наверняка знакомы такие ключевые слова, как Agile, Scrum или даже Sprint. Если вдруг нет, то кратко и очень приблизительно это все можно охарактеризовать так: постоянный выпуск новых законченных (т.е. обладающих каким-то конечным набором функций) релизов приложения.
Подробнее можно почитать, например, в Википедии.
Не будем останавливаться на этом подробно, т.к. потенциальному злоумышленнику, для проведения успешной атаки, эти знания особенно и не нужны. Однако стоит заметить, что с каждым днем все больше и больше разработчиков (да большинство!) обращается в Agile-веру, и, конечно, сталкивается с необходимостью как-то управлять всеми этими бесконечными промежуточными релизами. И именно для этой цели и используются системы непрерывной интеграции.

Забегая немного вперед, нужно сказать, почему же эти системы могут заинтересовать злоумышленника (или, в нашем случае, конечно, пентестера) и почему стоит беспокоиться об их безопасности.
  • Во-первых, в силу специфики своей работы, они взаимодействуют напрямую с исходными кодами (утечка которых, во многих случаях может означать значительные убытки для компании).
  • Во-вторых — зачастую, для корректной сборки исходных кодов в конечный продукт, пользователи системы создают так называемые сборочные скрипты, которые могут быть реализованы как средствами самой системы непрерывной интеграции, так и с использованием сторонних инструментов (например, скрипты могут загружаться из репозиториев). В простейшем случае, эти скрипты представляют собой batch или bash файлы, т.е. по сути они ограничены только возможностями самой ОС, на которой исполняются. Таким образом, если злоумышленник смог модифицировать сборочный скрипт, он сможет выполнять команды ОС непосредственно на сборочном сервере.

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

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

Да вы задолбали своим информационным обществом

Reading time11 min
Views66K

Диск с музыкой. Работает почти как AudioCD.

Предположим, вы хотите отправить срочное сообщение своему коллеге. Сегодня вы отправляете почту, сообщение в соцсети или SMS.

Спускаемся ниже по истории. Что было до этого? Факс. Он был аналогом современной электронной почты: сообщение передавалось мгновенно, вылезало из устройства и было готово к прочтению.

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

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

Цена использования фреймворков

Reading time8 min
Views37K
Не так давно мне довелось выступать на конференции FFConf с докладом «Вам следует использовать <впишите нужную библиотеку/фреймворк>, это самое лучшее!». И основные мысли я решил изложить в публикации, в надежде, что это спровоцирует в профессиональной среде более широкую дискуссию о «стоимости» современных фреймворков на мобильных устройствах.

Для желающих обратиться к оригиналу моего выступления вот видео:



и слайды презентации: speakerdeck.com/paullewis/framework-here-its-the-bestestest.
Читать дальше →

Хроники лаборатории: как мы молотый кофе считали софтом для анализа клеточных структур

Reading time8 min
Views17K


Другие статьи цикла:
Здравствуйте, я Meklon и я кофеин-зависимый
Компот из кофейных сухофруктов. Знакомимся с каскарой — лучшим другом велосипедиста

Продолжаю кофейную тематику, которую я начал еще на geektimes: Здравствуйте, я Meklon и я кофеин-зависимый. Сегодня мы будем творить непотребства с софтом для биоинженерных задач — CellProfiler. Нормальные люди им считают клетки, плазмиды, экспрессию белка и прочие нужные вещи. Мы долбанутые, поэтому будем проводить гранулометрический анализ помола по микрофотографии, бить кофе статическим электричеством и думать, как прицепить к этому безобразию фен. Ну и конечно нам потребуется скотч для получения графена картины распределения частиц.

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

Обход блокировок adblock, и блокировка обхода блокировки

Reading time2 min
Views93K
В статье рассматривается один из эффективных методов противодействию adblock, и обход этого метода. Этот круг вечен – но, похоже, рекламщики вырвались вперёд!



Как-то раз на одном сайте администрация вежливо попросила пользователей добавить сайт в исключения адблока. Я, как сознательный пользователь, это сделал – но появившаяся реклама через какое-то время стала совсем не похожа на допустимую рекламу, и я включил адблок снова. К моему удивлению, реклама не исчезла – и я стал разбираться, в чём тут дело.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity