Текстовая трансляция конференции Build 2016 — второй день

Всем привет! Сегодня второй день конференции Build 2016. Нас ждут анонсы от Скота Гатри, Чи Лу и Стива Гугса, отвечающих, соответственно, за нашу облачную платформу, сервисы и продуктивность и работу с экосистемой разработчиков.

Видео-трансляция на английском будет доступна тут: channel9.msdn.com

ссылка на оригинал статьи https://habrahabr.ru/post/280622/

Подпольный рынок кардеров. Перевод книги «KingPIN». Глава 35. «Приговор »

Стоит ли отсидеть 13 лет в тюрьме за 80 миллионов долларов и статус «короля кардеров»?

Кевин Поулсен, редактор журнала WIRED, а в детстве blackhat хакер Dark Dante, написал книгу про «одного своего знакомого».

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

Квест по переводу книги начался летом в ИТишном лагере для старшеклассников — «Шкворень: школьники переводят книгу про хакеров», затем к переводу подключились и Хабраюзеры и даже немного редакция.

Как арестовывали Макса читайте в Главе 33: «Стратегия выхода», как накрыли всю сеть Глава 34: «DarkMarket».

Глава 35. «Приговор »

(за перевод спасибо comodohacker )

Макс возвышался над судебными приставами, доставившими его в зал Питсбургского суда для вынесения приговора. Он был одет в плохо сидящую на нем оранжевую тюремную униформу, волосы коротко и четко острижены. Конвой снял наручники, и он сел за стол для ответчика рядом с государственным защитником. В зале на одной стороне переговаривались между собой с полдюжины репортеров, на другой — такое же количество федералов. Позади них длинные деревянные скамьи были почти пусты: ни друзей, ни членов семьи, ни Черити — она уже сказала Максу, что не станет его дожидаться.

Это было 12 февраля 2010 года, два с половиной года спустя после его ареста на конспиративной квартире. Первый месяц под стражей Макс провел в окружной тюрьме Санта-Клары, каждый день подолгу разговаривая по телефону с Черити. Эти разговоры были более близкими, чем все их общение в то время, когда он был поглощен своими преступными делами. Потом приставы посадили его на самолет и перевезли в место временного содержания в Огайо. Там Макс уже смирился со своим заключением, израсходовав весь лицемерный гнев, поддерживавший его до конца предыдущих сроков заключения. Он нашел здесь новых друзей — таких же гиков. Она стали играть в Dungeons and Dragons.

К концу года у Макса больше не осталось секретов. Всего две недели потребовалось следователям из CERT, чтобы найти ключ шифрования в образе оперативной памяти, снятом с его компьютера. На одном из судебных заседаний обвинитель Люк Дембоски протянул адвокату Макса листок бумаги, где была написана его парольная фраза: "!!One man can make a difference!" («Один человек может многое»)

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

Они получили все: пять терабайт хакерских инструментов, фишинговых писем, досье, которые он собирал на своих сетевых друзей и врагов, заметок о его делах и интересах, и данные 1,8 миллиона кредитных карт из более, чем тысячи банков. Власти разобрали их все: 1,1 миллион карт Макс украл из POS систем. Остальные были в основном от других кардеров, которых Макс взломал.

Если измерить их длиной магнитных полос, получалось восемь миль, и федералы были готовы привлечь его к ответу за каждый дюйм. Власти тайно привезли Криса на несколько недель в Питсбург для разбора действий. Компании-владельцы карт подсчитали объем фрода по картам Макса и пришли к ошеломляющей цифре: 86,4 миллиона долларов убытков.

Прибыль же Макса была намного меньше: Макс рассказал властям, что заработал не больше миллиона долларов на своих махинациях и большую их часть он спустил на аренду жилья, еду, такси и гаджеты. В кошельке WebMoney Макса обнаружили около $80,000. Но Федеральные директивы по назначению наказаний за кражу основываются на ущербе потерпевших, а не на выгоде злоумышленников. Так что Максу светило ответить за суммы, снятые и Крисом, и кардерами, купившими дампы у Digits and Generous, и возможно даже за фрод, совершенный теми кардерами, которых Макс сам взломал. Если подбить итог по всему «послужному списку», то 86 миллионов выливались в срок от тридцати лет до пожизненного, без права на досрочное освобождение.

Перед лицом перспективы провести в тюрьме десятилетия Макс начал сотрудничать со следствием. Муларски забирал хакера на долгие сеансы разбора его преступлений. На одной из них, после того, как операция против DarkMarket появилась в прессе, Макс извинился перед Муларски за свои попытки подставить Master Splyntr. Муларски услышал искренность в словах давнего врага, и извинения были приняты. После года переговоров, адвокат Макса и сторона обвинения сошлись на одной цифре — совместной просьбе суду назначить тринадцать лет. В июле 2009 года Макс признал свою вину.

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

«Я не уверен, что дальнейшее заключение в тюрьме кому-либо поможет в моем случае.» — писал Макс. «Я не думаю, что это необходимо, потому что все, что я хочу — это помочь. Я не согласен с бездумными оценками из Директив по назначению наказаний. К сожалению, мне светит настолько ужасный приговор, что даже 13 лет кажутся сравнительно „неплохим“ сроком. Но я вас уверяю, что и это лишнее, это как стегать мертвую лошадь. Тем не менее, я собираюсь наилучшим образом использовать время, оставшееся мне на этой земле, будь то в тюрьме или где-то еще.»

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

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

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

Дальнейшее действо было скорее похоже на присуждение наград, а не наказания; когда адвокат Макса, обвинитель и сам судья по очереди превозносили его компьютерные таланты и бесспорное раскаяние. «Он на редкость блестящий компьютерный эксперт-самоучка» — говорил федеральный государственный защитник Майкл Новара, хотя он и организовал «взломы систем безопасности грандиозного масштаба».

Дембоски, эксперт по компьютерным преступлениям и заслуженный работник Прокуратуры с семилетним стажем, назвал Макса «чрезвычайно ярким и талантливым». Он присутствовал на некоторых из сессий разбора действий Макса, и вместе с практически всеми, кто знал Макса в реальной жизни, проникся к хакеру симпатией. «Он оптимистичен, почти наивен с своем взгляде на мир» — сказал он. Сотрудничество Макса, добавил он, стало причиной, по которой они просят только тринадцать лет вместо «астрономического» срока. «Я уверен, что он очень сожалеет.»

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

Кохил уже написал приговор. Он громко зачитал его. Тринадцать лет тюрьмы. Также Макс обязан возместить 27,5 миллионов долларов убытков, это стоимость перевыпуска 1,1 миллиона банковских карт, которые Макс украл через POS терминалы. После своего освобождения он должен находиться под надзором еще пять лет, в течение которых ему разрешается пользоваться Интернетом только в служебных или образовательных целях.

«Удачи» — сказал он Максу.

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

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

Продолжение следует

Опубликованные переводы и план публикаций (состояние на 31 марта)

PROLOGUE (Школьники лагеря GoTo)
1. The Key (Гриша, Саша, Катя, Алена, Соня)
2. Deadly Weapons (Юные программисты ФСБ РФ, 23 авг)
3. The Hungry Programmers (Юные программисты ФСБ РФ)
4. The White Hat (Саша К, ShiawasenaHoshi)
5. Cyberwar! ( ShiawasenaHoshi)
6. I Miss Crime (Валентин)
7. Max Vision (Валентин, 14 авг)
8. Welcome to America (Alexander Ivanov, 16 авг)
9. Opportunities (jellyprol)
10. Chris Aragon (Timur Usmanov)
11. Script’s Twenty-Dollar Dumps (Жорж)
12. Free Amex! (Теплица социальных технологий)
13. Villa Siena (Lorian_Grace)
14. The Raid (Жорж)
15. UBuyWeRush (Ungswar)
16. Operation Firewall (Жорж)
17. Pizza and Plastic (готово)
18. The Briefing (Жорж)
19. Carders Market (Ungswar)
20. The Starlight Room (Artem TranslationDesigner Nedrya)
21. Master Splyntr (Ungswar)
22. Enemies (Alexander Ivanov)
23. Anglerphish (Жорж)
24. Exposure (+)
25. Hostile Takeover (fantom)
26. What’s in Your Wallet? (done)
27. Web War One (Lorian_Grace ?)
28. Carder Court (drak0sha)
29. One Plat and Six Classics (+)
30. Maksik (Игнат Ершов)
31. The Trial (Богдан Жур)
32. The Mall (Shuflin)
33. Exit Strategy (r0mk)
34. DarkMarket (Валера ака Дима)
35. Sentencing (comodohacker+)
36. Aftermath (ex-er-sis ?)
EPILOGUE
Если книгу переведут и издадут в крупном издательстве

Проголосовал 1 человек. Воздержавшихся нет.

Краудфандинг/предзаказ

Никто ещё не голосовал. Воздержавшихся нет.

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

ссылка на оригинал статьи https://habrahabr.ru/post/280564/

В помощь DevOps: сборщик прошивок для сетевых устройств на Debian за 1008 часов

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

Задача

Embedded Debian не предоставляет готовой к использованию среды для сборки произвольных образов системы. Чтобы ее подготовить, требуется использовать стандартный дистрибутив Debian, обладать навыками системного администрирования, подобрать и настроить набор утилит, написав при этом ряд shell скриптов для автоматизации процедуры кросс-компиляции пакетов. Проделав всю ручную работу, вы получите консольный инструмент, пользоваться которым может исключительно технический персонал с определенным уровнем навыков работы с ОС Linux, а это не удобно, встает вопрос по организации многопользовательского доступа к этой среде и ограничению прав, а также постоянной поддержки среды в актуальном состоянии.

Выбор производителя телекоммуникационного оборудования пал на дистрибутив Embedded Debian благодаря большому количеству пакетов входящих в состав ОС, позволяющих решать самые разнообразные задачи, и обилию поддерживаемых платформ.

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

  • Многопользовательский доступ к системе сборки образов Debian.
  • Хранение подготовленных образов и предоставление доступа к ним.
  • Модификация и повторная сборка подготовленных ранее образов.
  • Клонирование и модификация подготовленных ранее образов.
  • Возможность делится созданным образом с другими пользователями.
  • Зеркалирование дистрибутива Embedded Debian, поддержка его в актуальном состоянии.
  • Предварительная сборка пакетов дистрибутива на различные платформы по расписанию.
  • Предоставление статистики по итогам сборки пакетов на различные платформы.
  • Поддержка классических img образов, а также iso образов, в том числе с поддержкой Live CD.

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

Реализация и технологии.

  • Python 2 / Django.
  • Bash shell scripts.
  • MySQL.
  • Debian 5.0 (Lenny).
  • Embedded Debian 1.0 (Grip / Crush).

Введение

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

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

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

Рынок ИТ предлагает продукт для решения данной проблемы в виде облачного сервиса SUSE Studio, который предоставляет возможность за считанные минуты собрать произвольный образ системы на базе дистрибутива Open Suse, в том числе и для Embedded устройств.

Но статья не об этом продукте, а о процессе создания аналогичного сервиса, автоматизирующего процесс сборки образов Debian для встраиваемых и стационарных устройств на базе дистрибутива Embedded Debian версии 1.0, для внутренних нужд одного из клиентов EDISON, занимающегося производством телекоммуникационного оборудования на базе архитектуры ARM, i386, amd6, PowerPC.

О дистрибутиве Embedded Debian

Embedded Debian (Emdebian) версии 1.0 базируется на ОС Debian 5.0 «Lenny» и включает дистрибутивы Grip, Crush.
Emdebian Grip представляет собой облегченную версию Debian для встраиваемых и стационарных устройств. Дистрибутив не содержит функциональных изменений и обеспечивает высочайший уровень функциональной совместимости с Debian. Включает поддержку для создания пользовательских пакетов на Emdebian, а также возможность смешивать и сочетать пакеты Emdebian и Debian с минимальными усилиями. Дистрибутив поддерживает архитектуры i386, amd64, PowerPC, ARM и ARMEL, MIPS и MIPSEL. Типичный образ системы на основе Emdebian Grip представляют собой ОС Debian для встраиваемых и стационарных устройств, c корневой файловой системой на основе coreutils и набором пакетов для поддержки графического интерфейса Gnome или KDE.

Emdebian Crush ориентирован на машины, которые не могут собирать пакеты для себя. В дистрибутиве нет поддержки компиляторов и инструментов сборки. Ряд пакетов дистрибутива сильно модифицирован. Дистрибутив поддерживает только архитектуру ARM. Типичный образ системы на основе Emdebian Crush представляют собой ОС Debian для встраиваемых устройств c корневой файловой системой на основе Busybox и набором пакетов для поддержки графического интерфейса G Palmtop для устройств PDA. Минимальный размер образа системы без графического интерфейса занимает около 24 MB. В отличие от дистрибутива Grip, сборка, установка и техническое обслуживание системы на основе дистрибутива Crush требует много ручной работы и детального знания Debian.

Дистрибутивы Grip и Crush также имеют по три ветки: stable, testing и unstable, которые соответственно включают стабильные, тестируемые и не стабильные версии пакетов.

Решение

Производитель только собирался переходить на ОС Debian, при выпуске новой линейки оборудования, поэтому у нас не оказалось каких-либо наработок от производителя по сборке образов Debian на основе дистрибутива Embedded Debian, все пришлось делать с чистого листа. В рамках пилотной версии сервиса, было решено ограничиться поддержкой архитектуры ARM и i386.

В первую очередь, необходимо было подготовить среду для кросс компиляции пакетов дистрибутива Embedded Debian и сборки готовых к использованию образов Debian на встраиваемых и стационарных устройствах, а также спроектировать и согласовать на ранней стадии процедуру интеграции ключевых процессов по сборке образов в разрабатываемый веб-сервис. В итоге был спроектирован набор shell скриптов, которые входят в ядро системы.

Создание зеркала официального дистрибутива — mirror.sh

Скрипт в зависимости от наименования дистрибутива создает зеркало официального дистрибутива Embedded Debian на локальной машине.

Сигнатура:
mirror [distr_name]
где:

  • distr_name – grip или crush

Использование:
mirror crush

Вывод:
crush mirroring process start
Date: 20091201-15:00:00
Process pid: 9850
Process finished

Авто-сборка пакетов дистрибутива — auto_build.sh

Скрипт в зависимости от заданной архитектуры и наименования дистрибутива осуществляет сборку пакетов зеркала дистрибутива Embedded Debian. По завершению процедуры сборки пакетов запускается скрипт создания репозитория на основе успешно собранных пакетов.

Сигнатура:
auto_build [distr_name] [arch_name]
где:

  • distr_name – grip или crush
  • arch_name – i386 или arm (в случае c crush принимается только параметр arm)

Использование:
auto_build crush arm

Вывод:
The auto building process of packages started
Architecture: arm
Date: 20091201-15:00:00
Process pid: 9850
Start to create a local repository
The making repository process started
Distr version: crush
Date: 20091201-15:00:00
Process pid: 9850
The process finished
The auto_build process finished

Создание репозитория на основе собранных пакетов — make_repository.sh

Сигнатура:
make_repository [distr_name] [arch_name]
где:

  • distr_name – grip или crush
  • arch_name – i386 или arm (в случае c crush принимается только параметр arm)

Использование:
make_repository crush arm

Вывод:
The making repository process started
Distr version: crush
Date: 20091201-15:00:00
Process pid: 9850
The process finished

Список пакетов дистрибутива — get_packages.sh

Скрипт в зависимости от заданной архитектуры, наименования и версии дистрибутива возвращает список доступных пакетов.

Сигнатура:
get_packages [distr_name] [distr_version] [arch_name]
где:

  • distr_name – grip или crush
  • distr_version – stable, testing или unstable
  • arch_name – i386 или arm (в случае c crush принимается только параметр arm)

Использование:
get_packages crush stable arm

Вывод:
Package: acl
Version: 2.2.47-2em1
Description: Access control list utilities
This package contains the getfacl and setfacl utilities needed for
manipulating access control lists.
Package: apt
Version: 0.7.20.2em1
Description: Advanced front-end for dpkg
This is Debian’s next generation front-end for the dpkg package manager.
It provides the apt-get utility and APT dselect method that provides a
simpler, safer way to install and upgrade packages.

Список зависимостей — get_depends.sh

Скрипт возвращает список зависимостей по заданному списку пакетов, дистрибутиву и архитектуре.

Сигнатура:
get_depends [distr_name] [distr_version] [arch_name]
где

  • distr_name – grip или crush
  • distr_version – stable, testing или unstable
  • arch_name – i386 или arm (в случае c crush принимается только параметр arm)

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

Использование:
get_depends crush stable arm

Ввод списка пакетов:
Package: acl
Version: 2.2.47-2em1
Package: apt
Version: 0.7.20.2em1
Вывод:
Package: libacl1
Version: 2.2.47-2em1
Description: Access control list shared library
This package contains the libacl.so dynamic library containing
the POSIX 1003.1e draft standard 17 functions for manipulating
access control lists.
Package: libc6
Version: 2.7-18em1
Description: GNU C Library: Shared libraries
Contains the standard libraries that are used by nearly all programs on
the system. This package includes shared versions of the standard C library
and the standard math library, as well as many others.

Список пакетов и статус их сборки — get_sources.sh

Скрипт в зависимости от заданной архитектуры, наименования и версии дистрибутива возвращает список пакетов и статус их сборки.

Сигнатура:
get_sources [distr_name] [distr_version] [arch_name]
где

  • distr_name – grip или crush
  • distr_version – stable, testing или unstable
  • arch_name – i386 или arm (в случае c crush принимается только параметр arm)

Использование:
get_sources crush stable arm

Вывод:
Package: acl
Version: 2.2.47-2em1
Status: success
Package: apt
Version: 0.7.20.2em1
Status: error
Package: libc6
Version: 2.7-18em1
Status: unknown

Создание образа системы — image_create.sh

Скрипт в зависимости от заданного набора пакетов, наименования и версии дистрибутива, архитектуры, создает файл образа Debian готового к использованию на целевой архитектуре. В результате работы скрипта образ Debian доступен во временном каталоге /tmp.

Сигнатура:
image_create [distr_name] [distr_version] [arch_name] [name_of_image]
где:

  • distr_name – grip или crush
  • distr_version – stable, testing или unstable
  • arch_name – i386 или arm (в случае c crush принимается только параметр arm)
  • name_of_image – уникальное имя файла создаваемого образа

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

Использование:
image_create crush stable arm debian_on_arm.iso

Ввод списка пакетов:
Package: acl
Version: 2.2.47-2em1
Package: apt
Version: 0.7.20.2em1

Вывод:
Creating new image: debian_on_arm
Architecture: arm
Date: 20091201-15:00:00
Process pid: 9850
Image type: iso

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

В конечном счете, рабочий образец окружения, позволяющий собрать образ Debian на архитектуры i386 и ARM, был получен. Для создания зеркала (локальной копии) дистрибутива Embedded Debian использована утилита debmirror, входящая в состав Debian Lenny. Для создания временного окружения для кросс-компиляции пакетов на целевые платформы, использовались утилиты debootstrap, pbuilder, chroot. Для создания репозитория собранных пакетов использовалась утилита reprepro.

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

Для сборки образов Debian были подготовлены шаблоны img и iso образов Debian для архитектуры ARM и i386 с минимальным количеством предустановленных пакетов. В процессе создания образа Debain по заданным параметрам во временную папку копируется шаблон образа, затем образ монтируется, и с помощью утилит chroot и apt-get в образ включатся собранные пакеты из локального репозитория, после чего полученный образ готов к использованию на целевой архитектуре. Вся процедура по сборке img либо iso образа занимает от нескольких секунд до нескольких минут в зависимости от количества включаемых пакетов.

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

Заключение

Разработанный веб-сервис предоставляет интуитивно понятный веб-интерфейс в виде мастера, позволяющий создать произвольный образ Debian всего в четыре шага, не обладая при этом техническими знаниями в данной области.

  1. Выбор дистрибутива Grip или Crush, архитектуры i386 или ARM, версии ядра Linux и указание названия создаваемого образа.
  2. Выбор списка пакетов c использованием скрипта get_packages.sh.
  3. Определение списка зависимостей и включение дополнительных пакетов в создаваемый образ с использованием скрипта get_depends.sh.
  4. Создание и загрузка готового образа Debian с использованием скрипта image_create.sh.

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

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

Кроме типовых img образов Debian также реализована поддержка Live CD образов, благодаря которым можно протестировать определенную сборку Debian на целевом устройстве без необходимости установки ОС во внутреннюю память устройства, загрузившись с флэш-карты.

Отладка и железяки

Заказчик предоставил образцы устройств на базе архитектуры ARM и i386, для тестирования собираемых образов Debian. Собираемые для архитектуры i386 образы тестировались на стационарных машинах разработчиков. В итоге, подготовленные сервисом образы Debian успешно запустились на предоставленном заказчиком оборудовании.

ссылка на оригинал статьи https://habrahabr.ru/post/280550/

Стенд EAST 4 SCADA: как устроить аварию на железной дороге

На площадке технической зоны форума PHDays VI впервые развернется стенд EAST 4 SCADA. Все, кто интересуется безопасностью АСУ ТП, смогут попробовать свои силы в поиске уязвимостей SCADA-систем и написании собственных эксплойтов — и даже попытаются устроить аварию на тестовой железной дороге.

Команда EAST 4 SCADA проведет мастер-класс, на котором расскажет о типовых уязвимостях индустриальных систем и способах взлома с помощью отечественного open-source-фреймворка EAST (exploits and security tools). Для тестирования на стенде будут представлены различные системы автоматики фирм ABB, Siemens, Rockwell, ICP DAS и других.

Вы узнаете, как проводить поиск уязвимостей в АСУ ТП, компонентах SCADA и PLC, как создавать и запускать тестовые модули и эксплойты, иллюстрирующие риски SCADA-систем. Вы сможете попрактиковать простейшие способы воздействия на тестовые системы АСУ ТП, найти уязвимости и пустить под откос полюбившийся с предыдущих PHDays поезд.

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

ссылка на оригинал статьи https://habrahabr.ru/post/280624/

Сейчас 2016 год — почему же никто так и не может сделать достойно приложение для работы со списками задач

image

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

И это не означает недостаточное внимание к теме. Имеется целая область Интернета, занимающаяся увеличением производительности повседневной деятельности людей. Сюда входят 5 «простых путей» (Simple Ways), 31 «гениальный совет» (Genius Tips) и одна «таинственная уловка» (One Weird Trick). Сотни приложений составляют гамму от симпатичных формирователей списков до электронного сквалыги, который буквально изводит вас, пока вы занимаетесь своей, по его мнению, «полной ерундой». Это замечательно работает, заставляя затрачивать уйму времени на организацию и планирование вместо того, чтобы фактически получить сделанный материал. Поверьте мне, я делаю это постоянно. И я не один такой.

Стартап «iDoneThis» («Я сделал это») выявил, что 41% задач, помещённых пользователями в его систему, так и не был выполнен. Возможно, следовало бы назвать этот стартап «iAin’tDoingThis» («Я не сделал это»), потому что очевидно это, чем длиннее ваш список, тем меньше он выполняется.

Создание и поддержание списка текущих дел является почти настолько же трудным, как и его выполнение. Что расстраивает больше всего, так это постоянное чувство, что мы должны решить все задачи прямо сейчас. Поскольку работа становится всё более объёмной, распределённой и комплексной, людям всё больше требуются инструменты управления временем и задачами. Таких инструментов множество: Wunderlist, Todoist, Any.do, Asana, Toodledo, Omnifocus, Things, Trello, Clear, Checkvist, Due, TeuxDeux — и они являются просто приложениями на моём телефоне. Десятки миллионов людей используют их, и в них вложены сотни миллионов долларов.

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

«Многие специалисты в области инфотехнологий, я знаю, возвращаются к бумаге,» говорит мне «гуру» по организации и управлению временем Дэвид Аллен. «Поскольку для планирования пока не нашлось инструмента лучше планировщика работ на бумаге».

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

Аллен смеётся в ответ на мой вопрос. Он знает кое-что весьма полезное о списках текущих дел. Именно он написал в 2001 году книгу «Getting Things Done» («Искусство доведения дел до завершения») (прим. переводчика: книга вышла в 2015 г. на русском языке под названием «Как привести дела в порядок»), которая породила целую индустрию «завершателей дел». Он попытался сделать нас всех более производительными по сравнению с эпохой «бумажного» планировщика Франклина, вышедшего в 1984 году. У него есть некоторые сумасшедшие идеи о днях, когда голографический секретарь с искусственным интеллектом будет напоминать вам об оплате налогов. Однако до того времени мы застряли со списками. Поэтому я задаю другой вопрос:
"— Как мы можем сделать списки лучше?"

Вы везде со мной

Главное, что требуется от списка дел, — быть актуальным. Если ваш список неполный или, хуже, устарел, то вы просто не будете проверять его. Это делает абсолютно необходимым то, что разработчики реализуют фактически: лёгкость создания списков и добавления в них записей. Но технология не особенно хороша в этом. «Вы должны включить ваш телефон,» говорит Аллен, «щёлкнуть здесь, щёлкнуть тот маленький значок, перейти туда-то … Ну, нет, хватит!» Он с раздражением говорит об этом. «Ввод и вывод являются слишком неуклюжими.» Здесь одна из причин, почему ручка и бумага остаются такими популярными. Короткая запись ручкой делается быстрее и легче, и она лучше для восприятия. Список текущих дел должен быть быстродоступным и достаточно гибким, чтобы не отставать от ваших мыслей.

Приложение «Remember the Milk» («Не забудь о молоке») частично достигло этого почти десять лет назад. Оно ввело концепцию, названную «Smart Add» («Интеллектуальный ввод»), что позволяет, скажем, напечатать «Заплатить за квартиру в последний день месяца», и запись будет помещена в надлежащем списке с соответствующей датой в любом случае. Так же важно, что добавлять задачи можно отовсюду: через твит, эл. почту, скайп и даже через мессенджер. Приложение, встроенное в Gmail, до того как начать делать так, проявило себя прекрасно и с Siri, прежде чем Apple соизволил подключить его. Оно было там и тогда, где и когда оно требовалось, и позволяло ввести запись быстрее, чем что-то записать ручкой на бумаге, потому что можно было прекрасно использовать любое подвернувшееся окошко для ввода.

Такая «вездесущность» теперь является обычным явлением. Дальнейшие программы — Siri, Cortana, Android Widgets — развивают эту тенденцию. Пока кто-нибудь не сотворит телепатический интерфейс смартфона, проблему «открытости» можно считать в значительной степени решённой. Большое дело, действительно! Но это всего одна проблема. И её решения недостаточно, чтобы отложить ручку и блокнот навсегда.

Обеспечив возможность легко записывать какие-то соображения почти сразу, как они приходит в вашу голову, разработчики идут дальше — к тому, чтобы можно было маркировать их. Майкл Сиарло, создатель нового приложения под названием Doo, думает, что лучшим способом является установление зрительного контакта с задачей, находящейся перед вами. В Doo каждая задача получает свою собственную карточку. Самым лёгким способом перейти к следующей карточке является завершить эту задачу или перевести её в «сон», что означает фактически сказать: «ОК, я не буду делать это сейчас. Как-нибудь позже…» Перевод в «сон» порождает у меня такое чувство вины, что я часто просто завершаю задачу. И в этом-то состоит фишка! «Осведомлённость о том, что должно быть сделано, помогает мотивировать людей,» говорит Сиарло.

Другие приложения используют извещающие уведомления, как, например, значок по умолчанию «Эй, вспомни меня», для удержания вас на задаче. Такие напоминания будут становиться всё более эффективными по мере того, как ваши устройства будут больше узнавать о вас. Например, приложение сможет использовать время и ваше местоположение, чтобы напомнить о задачах не только в нужное время, но и в надлежащем месте. У носимых электронных устройств есть доступ к основным показателям жизнедеятельности и другим данным, которые могли бы оптимизировать вашу производительность. Всё это означает, что список текущих дел открывает путь к облаку задач, которое следует за Вами везде, легко напоминая о делах.

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

Google ещё дорабатывает свой подход. Но действительная цель Бэнка состоит в том, чтобы создать, всё же, такой список для вас. Это, кстати, может объяснить, почему он пришёл в Google: миллионы людей отправляют и получают письма в Gmail, работают в Drive, переговариваются в Hangouts, делают заметки в Keep. Бэнк полагает, что Google может помочь разобраться с глубинным анализом этих данных, чтобы осознать, что вам, действительно, нужно делать с ними.

Такое уже происходит в некоторой степени в Inbox, где идёт сортировка ваших писем электронной почты больше по приоритету, чем по времени. «Уже 10 лет,» говорит Бэнк, «GPS действует в вашей жизни.» Вы сообщаете ему самое основное: Я хочу тренироваться больше. У меня есть большой проект. Я ремонтирую кухню. «И это показывает вас шаг за шагом.» Большой инновацией «Timeful» стало автоматическое программирование вашего календаря с заполнением незанятого времени разумными предположениями. Имея в своём распоряжении данные от Google, Джейкоб Бэнк может пойти намного дальше.

Робот-организатор

Амир Сэлихефендик, основатель и генеральный директор компании Todoist имеет аналогичный взгляд на Google. В рамках недавней модернизации его команда переработала структуру алгоритма машинного обучения, который может определить, как человек естественно и плавно встраивает свой список текущих дел. Алгоритм мог бы даже порекомендовать наилучший день для выполнения той или иной задачи. «Если смотреть на наши данные,» говорит он, «то почти все дни выглядят очень похоже» для большинства пользователей. «Мы можем предсказать проблемные по загрузке дни.»

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

Но вспомните Дэвида Аллена и его сумасшедшую идею насчёт разумных голограмм? Он относится к этому серьёзно. «Однажды,» говорит он, «вы войдёте в комнату, имея чип на вашей руке, и тот узнает, что вы обнаружены. Перед вами будет голографическое изображение, поскольку будет пятница 15:00.» Такой разумный робот будет знать о вас всё и поможет спланировать, какие дела должны быть сделаны и как их сделать наилучшим образом. Дэвид Аллен утверждает, что все технологии, требуемые для создания такой системы, в настоящее время уже имеются. «Это обойдётся прим. в 6 млрд. долларов, если сделать только для себя.»

Аллен в 1995 году сделал голосовой инструмент для повышения производительности, названный Actioneer, который был невероятно действенным и чрезвычайно продвинутым для того времени. Позже он начал работать с компанией Intentional Software, основанной Чарльзом Симонием, «серым кардиналом» программ Word и Excel, в направлении создания единого, требуемого всем инструмента, чтобы делать всё. Они всё ещё занимаются этим. «Мы затратили два года, разбираясь, имеется ли следующее поколение программного обеспечения, повышающего производительность, которое было бы готово к дальнейшему развитию,» говорит Аллен. «И, оказалось, нет. Пока нет.»

ссылка на оригинал статьи https://megamozg.ru/post/25220/