Pull to refresh
6
0

User

Send message

Митигация уязвимостей: операционная система в помощь?

Reading time7 min
Views3.5K

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

Disclamer: Статья не содержит полный перечень методов и техник атак. В статью включены только те, которые могут быть интересны начинающему исследователю.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments2

DevTerm — портативный open-source компьютер с модульным дизайном в стиле ретро и с кучей возможностей

Reading time3 min
Views19K

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

На днях попалось на глаза именно такое устройство, которое называется DevTerm. У него модульный дизайн (о модульных устройствах мы писали, кстати), ретро-стиль и открытое для всех «железо» и ПО. Под катом — описание девайса и его возможностей. Пока вы читаете, мы размышляем над заказом этого девайса…
Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments77

Как книга «Электроника шаг за шагом» обрела новую жизнь

Reading time7 min
Views92K


Привет, Хабр!

Хорошие новости для тех, кто следил за историей переиздания книги Рудольфа Свореня «Электроника шаг за шагом» — книга вот-вот, на днях, покинет типографию и попадёт в руки читателей. Почему так долго пришлось ждать новое издание книги? Что изменилось в тексте? А иллюстрации всё те же? Что со схемами  — по-прежнему, на МП39, с плюсовой «землей»? Будет ли электронная версия книги? На эти и другие вопросы, я попытаюсь ответить ниже.
Читать дальше →
Total votes 146: ↑145 and ↓1+144
Comments156

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 2)

Reading time12 min
Views3.3K


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


Любознательных прошу под кат!

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments2

Как сэкономить 15 000 рублей при регистрации ПО

Reading time6 min
Views18K


Прошёлся недавно по поисковой выдаче гугла и выяснил, что регистрация прав на программу для ЭВМ стоит около 15 тыс. рублей. 15 тыс. рублей! И это ещё без пошлины.


Я удивился, потому что подготовка документов занимает минут тридцать. Чёрт с ним, пускай даже один час, но 15 тыс. рублей за час — это более чем достойное вознаграждение.


Зашёл на сайт Роспатента: инструкции там есть, но четкой картины не дают. На месте руководителя маленького IT-проекта я бы не стал подавать заявление сам — вдруг что-то сделаю не так.


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

Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments30

Высокоуровневая репликация в СУБД Tarantool

Reading time14 min
Views5.7K
Привет, я занимаюсь созданием приложений для СУБД Tarantool — это разработанная в Mail.ru Group платформа, совмещающая в себе высокопроизводительную СУБД и сервер приложений на языке Lua. Высокая скорость работы решений, основанных на Tarantool, достигается в частности за счет поддержки in-memory режима СУБД и возможности выполнения бизнес-логики приложения в едином адресном пространстве с данными. При этом обеспечивается персистентность данных с использованием ACID-транзакций (на диске ведется WAL-журнал). В Tarantool имеется встроенная поддержка репликации и шардирования. Начиная с версии 2.1, поддерживаются запросы на языке SQL. Tarantool имеет открытый исходный код и распространяется под лицензией Simplified BSD. Также имеется коммерческая Enterprise-версия.


Feel the power! (...aka enjoy the performance)

Все перечисленное делает Tarantool привлекательной платформой для создания высоконагруженных приложений, работающих с БД. В таких приложениях часто возникает необходимость репликации данных.
Читать дальше →
Total votes 47: ↑45 and ↓2+43
Comments6

Nextcloud внутри, а снаружи OpenLiteSpeed: настраиваем обратное проксирование

Reading time5 min
Views7.3K

Как настроить OpenLiteSpeed на обратное проксирование в Nextcloud, находящийся во внутренней сети?


Удивительно, но поиск на Хабре по запросу OpenLiteSpeed не даёт ничего! Спешу исправить эту несправедливость, ведь LSWS – достойный веб-сервер. Я люблю его за скорость и модный веб-интерфейс администрирования:


image


Несмотря на то, что OpenLiteSpeed наиболее знаменит как «ускоритель» вордпреса, в сегодняшней статье я покажу довольно специфичное его применение. А именно обратное проксирование запросов (reverse proxy). Вы скажете, что для этого привычнее использовать nginx? Я соглашусь. Но больно уж нам полюбился LSWS!


Проксирование ок, но куда? В не менее замечательный сервис – Nextcloud. Мы используем Nextcloud для создания частных «файлообменных облаков». Для каждого клиента мы выделяем отдельную VM с Nextcloud, и не хотим выставлять их «наружу». Вместо этого мы проксируем запросы через общий reverse proxy. Это решение позволяет:


  1. убрать сервер, на котором хранятся данные клиента, из интернета и
  2. сэкономить ip-адреса.

Схема выглядит так:


image


Понятно, что схема упрощена, т.к. организация инфраструктуры веб-сервисов – не тема сегодняшней статьи.


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

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

SMS-мониторинг веса трех ульев за 35$

Reading time12 min
Views24K

NewBee


Прошло совсем немного времени с предыдущей публикации о системе за 30$.


Что-же изменилось за прошедший лунный месяц?


  1. Добавлена солнечная батарейка — время работы практически неограниченно.
  2. Добавлена отправка информации по звонку.
  3. Возможность работы со всеми видами модулей связи, попавших в поле моего зрения — AiThinker, Goouu tech, SIM800/900, Neoway M590 *

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


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


Остальные ТТХ остались прежними — максимальный вес ульев — 200кг, после заката выполняется измерение, и отправка показателей.


Предвосхищая критику по поводу неиспользования режимов сна и дополнительных сигнальных линий GSM-модулей скажу следующее:


У каждого модуля связи есть своя специфика — кто засыпает по низкому уровню сигнала, кто по высокому, некоторые — по двойному нажатию.


Специфика "сделай сам" подразумевает некую творческую часть вот как раз в тут ее и стоит проявить.


Я-же делал систему с прицелом на дальнейшее развитие мониторинга других параметров улья, где сон не особо и нужен.


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


Данная-же статья — о весах, а под катом — мое персональное видение и исполнение системы.


Одним словом — WELCOME! ПОЕХАЛИ!

Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments24

Категории выражений в C++

Reading time7 min
Views45K

Категории выражений, такие как lvalue и rvalue, относятся, скорее, к фундаментальным теоретическим понятиям языка C++, чем к практическим аспектам его использования. По этой причине многие даже опытные программисты достаточно смутно представляют себе, что они означают. В этой статье я постараюсь максимально просто объяснить значение этих терминов, разбавляя теорию практическими примерами. Сразу оговорюсь: статья не претендует на максимально полное и строгое описание категорий выражений, за подробностями я рекомендую обращаться непосредственно в первоисточник: Стандарт языка C++.

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments14

io_submit: альтернатива epoll, о которой вы никогда не слышали

Reading time8 min
Views13K


Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча предлагает использовать Linux AIO API для работы с сетью.

Но постойте! Ведь Linux AIO был создан для работы с асинхронным вводом-выводом с диска / на диск! Файлы на диске — это не то же самое, что сетевые соединения. Возможно ли вообще использовать Linux AIO API для работы с сетью?

Оказывается, да, возможно! В этой статье объясняется, как использовать сильные стороны Linux AIO API для создания более быстрых и лучших сетевых серверов.

Но давайте начнём с разъяснения, что представляет собой Linux AIO.
Читать дальше →
Total votes 77: ↑77 and ↓0+77
Comments36

Борьба за ресурсы, часть 6: cpuset или Делиться не всегда правильно

Reading time6 min
Views11K
Во время разговоров о cgroups пользователи Red Hat довольно часто задают один и тот же вопрос: «У меня есть одно приложение, очень чувствительное в смысле задержек. Можно ли с помощью cgroups изолировать это приложение от остальных, привязав его к определенным процессорным ядрам?»



Разумеется, можно. Иначе мы бы не выбрали этот вопрос в качестве темы сегодняшней статьи.
Читать дальше: cpuset или Делиться не всегда правильно
Total votes 14: ↑14 and ↓0+14
Comments0

Программисты своими руками лишают себя работы

Reading time9 min
Views96K

Когда работникам удаётся автоматизировать свои обязанности, кто должен пожинать плоды?




В 2016 году на Reddit появилось анонимное признание: «Уже где-то лет шесть я ничего не делаю на работе». Вроде бы ничего особенного, если дело касается офисной работы. Но этот программист, скрывавшийся под ником FiletOFish1066, сказал, что он работал на известную технокомпанию, и он реально совсем ничего не делал. Он написал, что после того, как восемь месяцев проработал в отделе обеспечения качества, сумел полностью автоматизировать всю свою работу. «Я не шучу. 40 часов в неделю я хожу на работу, играю в League of Legends, читаю Reddit, занимаюсь, чем хочу. За последние шесть лет я проработал часов 50». Когда его боссы поняли, что за половину десятилетия он проработал меньше, чем большая часть программистов Кремниевой долины за неделю, они его уволили.

Эта история быстро распространилась по технологическим уголкам веба, из-за чего её герою в итоге пришлось удалить и сам пост, и даже учётную запись.
Читать дальше →
Total votes 77: ↑70 and ↓7+63
Comments382

Моё разочарование в софте

Reading time11 min
Views388K

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


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

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

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Total votes 505: ↑474 and ↓31+443
Comments2474

OutOfLine – паттерн размещения в памяти для высокопроизводительных приложений на C++

Reading time5 min
Views8.8K

Во время работы в Headlands Technologies мне посчастливилось написать несколько утилит для упрощения создания высокопроизводительного кода на C++. Эта статья предлагает обобщенный обзор одной из этих утилит — OutOfLine.

Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments33

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

Reading time8 min
Views32K
Думаю, вы хотя бы раз задумывались о том, чтобы получить патент на свою идею или изделие.
Возможно, даже наводили справки о том, как это лучше сделать, но поняв, что процедура сложная и дорогая, решили отложить ее до лучших времен.

Как самостоятельно провести патентный поиск

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

В этой статье я расскажу о том, как можно самому прикинуть, есть ли какие-то перспективы для патентования, и имеет ли смысл платить деньги за полноценный патентный поиск.

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

Итак, для начала нужно понять, что можно и чего нельзя «запатентовать», в принципе. В России выдают патенты на изобретение, полезную модель и промышленный образец, который защищает только внешний вид изделия.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments36

3D лазерный сканер на Android телефоне

Reading time6 min
Views44K

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

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

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

Как показал опыт, для сканера такого типа ПО — это вторично и на него было потрачено меньше всего времени (на окончательный вариант. Не считая эксперименты и тупиковые варианты). Поэтому в статье особенностей ПО касаться не буду (Ссылка на исходные коды в конце статьи.)

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.
Total votes 79: ↑78 and ↓1+77
Comments55

Гигиена электропитания: выбираем сетевые фильтры и стабилизаторы

Reading time15 min
Views127K
Причины, по которым старое доброе электричество в домашней розетке выходит за пределы допустимых отклонений, бывают разные. Порой это временные скачки напряжений и всплески помех, иногда это систематические отклонения за пределы ГОСТов. В конечном итоге за это расплачивается домашняя техника, мгновенно или медленно умирая от «электрической интоксикации».

В этом посте мы расскажем о простых и недорогих способах «электрической гигиены» в зависимости от типа проблем в вашей электросети.


Читать дальше →
Total votes 42: ↑26 and ↓16+10
Comments74

Конференция DEFCON 21. “Секретная жизнь SIM карт”. Эрик Батлер, Карл Кошер

Reading time13 min
Views12K
Меня зовут Эрик Батлер, а это Карл Кошер, и мы хотим поговорить с Вами о чтении, создании, загрузке и использовании кода на SIM-картах. Этот проект стартовал в прошлом году, когда я узнал о мероприятии Tourcamp 2012, лагере хакеров на побережье штата Вашингтон, таком выездном DEFCON'е. Никаких отелей, жизнь в палатках на открытом воздухе, это был уже второй лагерь, первый мне очень понравился, я пригласил друзей и мы решили туда отправиться. Это мероприятие посвящалось запуску сети GSM в нескольких районах США, и моей задачей было добыть для этого несколько SIM-карт.



Я ничего не знал о том, что из себя представляют SIM-карты, поэтому мне пришлось изучить вопрос и выяснить следующее:

  • SIM, или Subscriber Identification Module – это модуль идентификации абонента мобильной связи;
  • на SIM-карте есть ключ идентификации IMSI и симметричный ключ Ki;
  • в неё встроен модуль безопасности, который не позволяет ни извлечь, ни клонировать ключи;
  • они используются операторами связи GSM, а в настоящее время и LTE (сеть Verizon стандарта 4G);
  • могут также запускать приложения.

Последний пункт меня удивил, потому что никогда раньше не слышал, что сим-карты могут работать с приложениями. Оказывается, давным-давно, когда не было ни «айфонов», ни «андроидов», приложения располагались на сим-карте. Телефон был простой звонилкой – Вы могли вытащить из него «симку» и переставить в другой телефон вместе со всеми своими контактами, программами и так далее. Некоторые операторы, например, Telcom, являлись собственниками сим-карт, контролируя установленные на них приложения.
Total votes 28: ↑25 and ↓3+22
Comments3

Десять стартапов из 1298: история первого глобального IKEA Bootcamp

Reading time5 min
Views5.2K
В IKEA постоянно проходят различные активности, направленные на обмен идеями и опытом с «внешним миром». Большое внимание уделяется фидбэку от покупателей, ведутся партнерские программы с университетами, а с недавнего времени началось взаимодействие со стартапами. В России, например, в этом году прошел уже второй МЕГА Accelerator. Почему бы не попробовать выйти на мировой уровень? Представляем IKEA Bootcamp.    

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity