Pull to refresh
22
0
Георгий Шепелёв @gshep

Пользователь

Send message

Симбиоз: после заражения троян начинает защищать систему от других зловредов

Reading time1 min
Views56K
Это отчасти смешно: как пишет DrWeb, они закончили анализировать троян Trojan.Tofsee. Поведение зловреда почти обычно, он рассылает спам, однако у вируса есть одна фишка — после заражения он начинает защищать систему от других вирусов и удалять уже имеющихся конкурентов.

Читать дальше →
Total votes 85: ↑78 and ↓7+71
Comments38

Уязвимость в BMC-контроллере Supermicro позволяет получить доступ к паролям управляющего интерфейса

Reading time1 min
Views31K
image
В BMC (Baseboard Management Сontroller) чипе, используемом в материнских платах Supermicro, выявлена уязвимость, позволяющая злоумышленнику получить доступ к паролям входа в управляющий интерфейс. Проблема вызвана тем, что содержимое файла с паролями выводится среди бинарного блока данных, который можно получить без аутентификации через сетевой порт 49152. Техника эксплуатации очень проста, достаточно подключиться к порту 49152 и выполнить команду «GET /PSBlock». Пароли выдаются в открытом виде, без хэширования.

Выявившие уязвимость исследователи безопасности предупреждают, что им удалось обнаружить в сети 31964 серверов, подверженных данной проблеме, при этом на 3296 (10%) из этих систем применялись пароли, заданные по умолчанию. Предоставляемый BMC-контроллером IPMI-интерфейс предоставляет средства для мониторинга и управления оборудованием, в том числе позволяет отслеживать состояние датчиков, управлять питанием, прошивками и дисками, удалённо загрузить на сервере собственную ОС по сети, организовать работу консоли удалённого доступа для атаки на базовую ОС и изменения настроек BIOS.

Проверить свой сервер можно банально подключившись к уязвимому порту с помощью telnet:
telnet ip_ipmi 49152

далее
GET /PSBlock

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

Источник...

upd:
Скачать обновления прошивки, можно по ссылке.
Total votes 29: ↑29 and ↓0+29
Comments31

Compile-time функциональное программирование в D

Reading time7 min
Views7.9K
Сегодня мы рассмотрим одну из главных фич языка D, ради которой он и создавался — это продвинутое программирование на этапе компиляции. Некоторые могут припомнить как на C++ высчитывается факториал или, что посложнее, реализацию игры «Жизнь» и испугаться. Не стоит, шаблоны в D на порядок проще и мощнее аналога из C++, но все равно они требуют особого подхода в размышлениях, поэтому для акклиматизации сложность материала будет нарастать постепенно.

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments29

Программируем микроконтроллеры stm32 при помощи QtCreator

Reading time4 min
Views67K

Как-то так незаметно получилось, что программист, который разрабатывал нам прошивку для микроконтроллера, стал банально не успевать и в некоторые моменты я начинал перехватывать инициативу и самостоятельно браться за исправление ошибок.
Разработка велась в среде IAR, и многие согласятся со мной, что по сравнению с разработкой в QtCreator'е это боль и страдание.
В какой-то момент мы решили, что быстрее нанять нового программиста и вместе с ним заново переписать прошивку контроллера stm32, так, как я к этому моменту уже немного сам смыслил в их программировании и к тому же обнаружил, что QtCreator умеет отладку на голом железе (плагин BareMetal), я решил принять в этом активное участие.
Здесь я хочу поделиться шаблоном проекта для stm32f407 от Terra Electronica и рассказать об особенностях его настройки.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments37

Maximum Transmission Unit (MTU). Мифы и рифы

Reading time7 min
Views311K
Maximum transmission unit (MTU) это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт (без учёта Ethernet заголовка и FCS — Рис. 1).

image
Рис. 1

Давайте пробежимся с MTU по уровням OSI:
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments22

Катушка Тесла из хозмага

Reading time5 min
Views377K
Имея патологическую тягу к сантехнической фурнитуре никак не могу приучить себя использовать ее по прямому назначению. Всегда в голову лезут идеи, что сделать из труб, фитингов и переходников так, чтобы уже никогда не использовать их в сантехнике. Так получилось и в этот раз. Делаем высоковольтный генератор Тесла на сантехнической фурнитуре.
Что дальше?
Total votes 179: ↑176 and ↓3+173
Comments71

Поиграем в эволюцию? Генетические алгоритмы в скринсейвере

Reading time10 min
Views43K
Последний месяц в армии. Постепенно освобождается время для разных интересных проектов. Остается только определиться, чем именно занять мозги. Закончил читать «Эгоистичный ген» Ричарда Докинза и идея была сформулирована – хочу сделать визуализацию, использующую принципы эволюции.

image
Рисунок 1. Популяция бактерий перестраивает среду под свои нужды.

Итак, вперед!
Читать дальше →
Total votes 81: ↑79 and ↓2+77
Comments37

Защита подъезда методом организации разумного видеонаблюдения без консьержа

Reading time13 min
Views258K
Так получилось, что какой бы ни был аккуратный микрорайон, он всегда с чем-нибудь соседствует, плюс всегда есть праздношатающиеся, непраздношатающиеся и «этождети». Это если забыть про наркоманов, целенаправленных воров и разбойников. Твой дом — твоя крепость. Подъезд твоего дома — тоже твой дом. (Да, этот пункт многие не понимают, но учиться никогда не поздно). Классические методы защиты подъезда — установка укреплённых дверей; установка домофона; инсталляция консьержки; организация видеонаблюдения над входами.

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

Однако, если включить мозги и подумать, на самом деле можно весьма небольшими вложениями получить очень эффективный результат.
Читать дальше →
Total votes 298: ↑294 and ↓4+290
Comments314

Почему истории успеха настолько бесполезны

Reading time6 min
Views144K
Этот пост понравится мизантропам: ведь он про то, что нет ничего бесполезнее, чем чужой успех. Вот если бы было место, где люди честно бы делились своими планами, а потом можно было бы следить поэтапно за их реализацией и фиксировать не только удачи, но и провалы в итоге… Ой, я же пишу в блоге такого проекта. Заходим на «СмартПрогресс», выбираем меню Цели, сортировку «проваленные», добавляем параметр «лучшие за все время» — и смотрим список самых громких фейлов на проекте.



Поскольку каждая история сопровождается подробным описанием, можно разобрать причины чужих неудач достаточно подробно — настолько, насколько пользователи позволяют себе быть откровенными. Ведь мы не хотим совершить ошибку, которую совершают все, кто изучают чужие истории успеха, забывая истории неудач – ошибку выжившего.
Читать дальше →
Total votes 163: ↑144 and ↓19+125
Comments189

Hexapod-робот под управлением ROS

Reading time10 min
Views139K


Робот гексапод — это платформа, использующая для передвижения шесть ног. После просмотра множества видео в интернете, стало ясно, что очень интересно наблюдать за передвижением подобных роботов. И тут возникло желание сделать что-то похожее, но с одноплатным компьютером BeagleBone Black (далее BBB) на борту, потому что подобных проектов еще не было. Информацию о таких роботах было найти непросто, особенно, что касается программной составляющей. Некоторое время было непонятно с чего начинать, но вскоре было решено начать с изготовления конструктива робота — шасси и электронной составляющей, а затем заняться программированием того, что получилось.
Читать дальше →
Total votes 130: ↑128 and ↓2+126
Comments42

Продолжаем разбирать Caesar III© (Игровая механика)

Reading time15 min
Views96K
Алгоритмы получения текстур игры Caesar III© и отрисовки города разобраны, осталась самая «сладкая» часть, которая притягивает «древнеримских архитекторов» уже больше 15 лет — игровая логика. Используя различные подходы к анализу игры, выношу на ваш суд результат этого небольшого исследования. Я заранее прошу прощения за большую статью, но, как говорится, слов из песни не выкинешь. В заключении будет несколько слов о судьбе исходников, восстановленных из исполняемого файла оригинальной игры.


Все гениальное просто
Total votes 114: ↑113 and ↓1+112
Comments26

Reverse-инжиниринг Caesar III (часть 2, Рисование города)

Reading time4 min
Views45K
Надеюсь, предыдущий пост Back-инжиниринг Caesar III, где был описан алгоритм получения текстур из ресурсов оригинальной игры, был благосклонно встречен хабражителями. В этой статье я опишу формат карт, алгоритм выбора и порядок тайлов для отрисовки, формирование итоговой текстуры.



Как это устроено
Total votes 110: ↑109 and ↓1+108
Comments55

Микропроцессор «из гаража»

Reading time6 min
Views34K
Наверняка каждый, имеющий дело с электроникой и ПЛИС, знаком с сайтом opencores.org, где собрано множество полезных (и не очень) решений для электроники — десятки, может быть и сотни, реализаций процессоров и периферии — как оригинальных реализаций уже существующих устройств, так и новых разработок. В этой статье пойдёт речь о 32-битном микропроцессоре с оригинальной системой команд, созданном на основе платы «Марсоход2».
Читать дальше →
Total votes 89: ↑88 and ↓1+87
Comments45

XKB: перенастроим клавиши под себя любимого

Reading time8 min
Views97K
В один прекрасный день надоедает нажимать Shift, чтобы вывелся символ ~ вместо `.
Надоедает тянуться до Esc, при этом клавишей CapsLock пользуетесь РЕДКО.
Надоедает смещать кисть вниз и нажимать Ctrl/Cmd/Win слабым мизинчиком, либо, не дай бог, тянуться до них большим пальцем.
Надоедает лезть за PgUp, PgDn, Home и End, двигая руку каждый раз, чтобы всего лишь промотать страницу вниз.
Надоедает каждый раз, когда вы делаете опечатку, со злобой смотреть на клавиатуру в поисках кнопки Backspace.



Сегодня мы узнаем, как навсегда избавиться от этих мучений.

Зачем это всё?


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

Многие раскладки для печати (Dvorak, Colemak и т.п.) сильно улучшают расположение клавиш, ставя их ближе к тем местам, куда нужно меньше тянуться. Но при этом совершенно забывают о модификаторах, спец. символах и командных клавишах (Enter, Backspace, Tab, Esc, Delete). А мы подумаем о том, как улучшить существующее положение вещей.

В статье пойдём от простейших изменений, до более интересной и глубокой настройки. И, как в конце хороших фильмов, я оставлю читателя подумать, что делать дальше, и не дам готового рецепта на всё. В конце концов, идеальных и универсальных решений нет, и на раскладку клавиатур товарищей нет.
Читать дальше →
Total votes 64: ↑53 and ↓11+42
Comments97

Стивен Кинг «Как писать программный код»

Reading time6 min
Views50K
«Что? Стивен Кинг „Как писать программный код“ ?! Нет такой книги! Да он вообще не программист ни разу!».
Да, так и есть. Тем не менее — книга с таким содержанием у него есть. Хотя он и не думал, что пишет её об этом. Хотя в результате написал. Хотя, наверное, и не знает об этом. О чём же я тут рассуждаю? О недавно прочитанной мною прекрасной книге «Как писать книги» (англ. — «On Writing»).

Кинг писал её как опытный писатель для писателей начинающих. Однако в результате у него получилась книга, рассказывающая не только как писать именно фантастическую литературу, но и том как писать вообще что угодно — в том числе и программный код. Прочитав за последние пару лет два десятка основных книг-икон современной программной индустрии (ну знаете, все эти «рефакторинги», «паттерны», «чистые и совершенные коды» и т.д.) я могу утверждать, что этой книге Кинга вполне себе место среди них, причём не на последнем месте. Дальше будет пару примеров (и как результат — спойлеров), поэтому самым правильным будет не продолжать читать статью, а пойти и прочитать саму книгу. Потом можете вернуться и сравнить свои выводы с моими. Ну а если времени на книгу у вас нет — под катом выдержки и выводы.
Читать дальше →
Total votes 122: ↑115 and ↓7+108
Comments24

Микрокомпьютер Module MB 77.07 — русский ответ Raspberry Pi

Reading time10 min
Views112K


Читая новости о запрете на поставку электронной компонентной базы из США для отдельных производителей в РФ, мы решили рассказать об одноплатном микрокомпьютере Module МВ 77.07, который был разработан в российском научно-техническом центре «Модуль» на базе одного из наиболее производительных российских процессоров архитектуры ARM. Также мы рассмотрим установку Linux-дистрибутива Debian на этот микрокомпьютер.
Читать дальше →
Total votes 119: ↑106 and ↓13+93
Comments194

Back-инжиниринг Caesar III

Reading time11 min
Views72K
Мне нравится играть в игры, особенно в экономические стратегии, хочу рассказать про градостроительный симулятор из детства — Caesar III, как принято говорить, тёплый и ламповый. Игра была выпущена в 1998 году, знатоками своего дела, Impressions Games. Это экономический симулятор управления древнеримским городом в реальном времени. Через много лет я решил вновь пройти её, а затем постараться продлить удовольствие от игры, посмотреть ресурсы и вникнуть в игровую логику с точки зрения программиста.

Под катом я опишу процесс извлечения текстур, поиск игровых алгоритмов и расскажу как хобби превратилось в самостоятельный проект. А еще будет палитра RGB555, IDA, HexRays и немного кода.

Посмотреть, что под капотом
Total votes 144: ↑140 and ↓4+136
Comments101

Транзакционная память: история и развитие

Reading time14 min
Views47K

Определение


Параллельное программирование сложно. При использовании систем с общей памятью не обойтись без синхронизации доступа параллельных процессов/потоков к общему ресурсу (памяти). Для этого используются:
  • блокировки (mutex);
  • алгоритмы без блокировки (lockless, lock-free);
  • транзакционная память.


Транзакционная память — технология синхронизации конкурентных потоков. Она упрощает параллельное программирование, выделяя группы инструкций в атомарные транзакции. Конкурентные потоки работают параллельно1, пока не начинают модифицировать один и тот же участок памяти. К примеру, операции добавления узлов в красно-чёрное дерево (анимация в заголовке) способны работать параллельно в нескольких потоках.
Скрытый текст
/* Move item from one list to another */
int move(list *from, list *to) {
    __transaction_atomic {
        node *n = pop(from);
        push(to, n);
    }
}

Читать дальше →
Total votes 79: ↑78 and ↓1+77
Comments34

Интересные приемы программирования на Bash

Reading time6 min
Views130K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Total votes 181: ↑175 and ↓6+169
Comments67

Re: Отчёт и задания со всероссийской олимпиады по администрированию Linux-систем

Reading time2 min
Views19K
Тут появился интересная заметка про subj. Первый же вопрос первого тура поставил меня в тупик. Даже не столько вопрос, сколько правильный ответ организаторов. Оказывается ping у них выполняется от рута. На моей системе это не так. Уверен, что если вы пользуетесь достаточно современной системой, то и у вас ping выполняется не от рута.

Дело в том, что в Linux ещё с прошлого тысячелетия(!) существует такая штука, как capabilities. В man capabilities написано так мало, что даже и пересказать-то нечего: с помощью команды setcap можно устанавливать исполняемым файлам права на испольование разных подсистем без рутовых прав. В частности, для ping достаточно только прав CAP_NET_RAW. Существует масса подборок советов, как избавиться от suid-бита для различных системных программ.

Жаль, что люди, которые пользуются современными системами и держат руку на пульсе развития Linux, не имели ни единого шанса пройти даже первый тур этой олимпиады.

Динара Сафина, первая ракетка мира, между прочим, (фотка отсюда) тоже потрясена.

Всем счастливой пятницы!

Под катом опрос
Total votes 58: ↑39 and ↓19+20
Comments52

Information

Rating
Does not participate
Location
Ульяновск, Ульяновская обл., Россия
Registered
Activity