...

суббота, 18 мая 2019 г.

TeamViewer всё-таки был взломан в 2016 году

image

Немецкая газета Der Spiegel сообщила сегодня, что немецкая софтверная компания TeamViewer, одна из самых популярных программ в мире, которая позволяет пользователям удаленно получать доступ к своим рабочим столам и делиться ими, была скомпрометирована в 2016 году.
В 2016 году минимум дважды была затронута тема безопасности TeamViewer — "Аккаунты пользователей Teamviewer взломаны" и событие осени 2016 года, к которому аппелируют журналисты Der Spiegel. Компания TeamViewer пытается сохранить хорошую мину при плохой игре (не предупредив своих пользователей):

«Как и многие технологические лидеры, TeamViewer часто сталкивается с атаками киберпреступников. По этой причине мы постоянно инвестируем в улучшение нашей ИТ-безопасности и тесно сотрудничаем с всемирно известными организациями в этой области».

Если сам факт взлома скрывался, то и доверия словам представителя TeamViewer довольно мало:
«Осенью 2016 года TeamViewer стал целью кибератаки. Наши системы своевременно обнаружили подозрительные действия, чтобы предотвратить серьезный ущерб. Команда экспертов из внутренних и внешних специалистов по кибербезопасности, тесно сотрудничая с ответственными органами, успешно отразила поражение. Исследование последствий атаки не выявило никаких доказательств того, что данные клиентов или другая конфиденциальная информация были украдены, или компьютерные системы клиентов были заражены, или что исходный код TeamViewer был изменен, украден или использовался каким-либо иным образом».

Данное ПО довольно популярно во всем мире и предсказуемо вызывает интерес злоумышленников.

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

Let's block ads! (Why?)

Про ООП

Чем больше читаю про ООП, тем больше возникает ощущение, что ООП понимают не только лишь все. Очередная статья этому пример: https://habr.com/ru/post/451982/

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


Следующее

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


ООП

Именно это называется ООП, и именно изоляция сложности привела, в каком-то смысле, к революции, т.к. стало возможным писать гораздо более сложные программы.

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

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


Итого

Итак, главное в программировании — это не использование новомодных или старомодных практик, а корректный контроль сложности в каждой части системы.

Let's block ads! (Why?)

Британские телекомы будут выплачивать абонентам компенсацию за разрывы связи

Британские провайдеры услуг фиксированных телефонных и интернет-сетей и заключили соглашение — каждый абонент будет автоматически получать на счёт компенсацию.

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


/ Unsplash / Nick Fewings

Кто участвует в инициативе и как она появилась


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

Размер выплат составляет в среднем £3,69 в день за отсутствие связи и £2,39 в день за перенос ремонта по инициативе провайдера. Но регулятор посчитал эти суммы недостаточными. Так от небольшого размера компенсаций страдает и малый бизнес — около 30% таких компаний в Великобритании используют телеком-услуги для частных лиц из-за их небольшой цены.

К Ofcom присоединились крупнейшие британские телеком-провайдеры. BT, Sky, TalkTalk, Virgin Media и Zen Internet уже вступили в соглашение, Hyperoptic и Vodafone станут частью инициативы в течение 2019 года, а компания EE — в 2020 году. Упомянутые организации обслуживают 95% британских пользователей фиксированного интернета и стационарных телефонных линий.

Как устроен процесс возмещения убытков


Все провайдеры-участники соглашения предоставляют услуги клиентам через сетевую инфраструктуру компании Openreach. Она отвечает за обслуживание кабельных и оптоволоконных сетей. В случае длительного восстановления линий связи Openreach будет платить телекомам, после чего последние покроют убытки своих клиентов. Абоненты будут получать выплаты на свой лицевой счёт для оплаты интернета или телефона в течение 30 календарных дней после происшествия. Соглашение устанавливает фиксированный размер компенсации:
  • £8 в день за отсутствие интернет-подключения или телефонной связи по причине аварии в сети. Выплаты начинаются, если работа сервиса не была восстановлена в течение двух рабочих дней.

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

  • £25 за отмену визита инженера. Клиенты получат компенсацию, если специалисты Openreach не появятся в назначенное время или откажутся от посещения менее чем за сутки до него.

Существуют и случаи, в которых провайдеры не будут выплачивать компенсацию. Например, пользователь телеком-услуг лишится права на возмещение убытков, если не согласится на визит ремонтной службы в предложенное для записи время. Также компенсацию не будут платить, если проблемы с подключением будут вызваны стихийным бедствием или произойдут по вине клиента. Переход на новую схему возмещения провайдеры уже начали с 1 апреля 2019 года. У компаний будет 15 месяцев на подготовку к автоматизированной выплате компенсаций.

Плюсы и минусы схемы


Достоинством плана Ofcom называют то, что от него выиграют потребители услуг — физические лица, а также малые и средние компании. Провайдеры пошли навстречу клиентам, а Openreach согласилась выплачивать компенсацию даже в тех случаях, когда не может починить сеть не по своей вине. Например, если доступ к оборудованию заблокировал припаркованный автомобиль.


/ Flickr / nate bolt / CC BY-SA

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

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

Что компенсируют в других странах


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

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

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

О чем мы пишем в корпоративном блоге:

Let's block ads! (Why?)

[Из песочницы] Watch Dogs в реальной жизни, или серьезные уязвимости в СКУД

Мне кажется, что многие парни, особенно в юном возрасте, хотели быть крутыми хакерами. Взламывать сайты, телефоны, системы доступа. Вот и у меня немного остался этот мальчишеский задор. Поэтому периодически ковырялся в различном ПО и ничего стоящего не находил. Но однажды, мне подвернулась удача, да еще какая! СКУД, полная уязвимостей, которые позволяют получить доступ к управлению всей системой (открытие/закрытие дверей, добавление своей карты прохода и т.д.).

Интересно? Тогда добро пожаловать под кат!

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

СКУД — система контроля и управления доступом

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

image
Примерная схема работы СКУД

Я начал изучение с базы данных. Сервер СКУД работает с БД firebird 2.5. Логин и пароль к ней оказались стандартными, что уже очень насторожило, но пароль можно задать в настройках программы. Пароли в БД к учетным записям хэшированы, но без соли, что плохо, но опять же некритично. В ней хранятся все зоны прохода, пользователи, номера их карт, доступы и адреса контроллеров.

image
БД

Дальше берем какую-нибудь программу для сниффинга трафика (я взял “SmatrSniff”, первое попавшееся, что может просматривать трафик localhost) и смотрим, что шлет клиент к серверу. Все данные идут по TCP и часть по UDP в незашифрованном виде. И тут начинается самое интересное. Сервер сначала отсылает в открытом виде пароль от БД, ее месторасположение и только потом проверяет логин и пароль!

image
Пароль от базы "masterkey"

Получается, что, не зная логина и пароля, мы можем получить полный доступ к базе данных, что дает нам практически безграничные возможности. Мы можем выдать себе карту с доступом на любой объект. Прописать другому пользователю свою карту и заходить под его именем. Но чтобы эти данные загрузились на контроллеры, надо дать команду серверу из клиента. Хоть мы и можем взять пароль к клиенту из БД воспользоваться открытыми базами MD5 и попробовать подобрать пароль к хэшу (напомню, что пароли в базе без соли), но если пароль задан сложный, то скорее всего ничего не выйдет. Придется ждать, когда кто-нибудь нажмет на кнопку полной выгрузки.

Дальше я посмотрел, а влияет ли вообще на что-то авторизация. Для этого я попробовал повторять запросы к серверу с помощью “TCP / IP Builder”. И да, последующие запросы на сервер, без авторизации не работают (присылает в ответ отказ). Тут я немного приуныл, потому что для интеграции придется реализовывать повторение всей цепочки авторизации и только потом отправлять пакет для загрузки данных в контроллер.

Напоследок я решил повторить запрос перевода двери в открытый режим. Сервер ответил «ok», а дверь запищала. Без какой-либо авторизации. Я повторил это же с другого компьютера в локальной сети и это тоже сработало.

image
Примерный вид пакета

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

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

В итоге имеем полную уязвимостей СКУД, которые дают нам неограниченный доступ к проходам на объекты. Из-за дешевизны составляющих и бесплатного ПО эта СКУД весьма распространена. Она стоит во многих школах Москвы, и я видел ее на других объектах. Фирма гордится призовыми местами на разных мероприятиях. Я специально не называю имя этой организации, и я также не писал им об этом. Потому что считаю, что такие уязвимости на уровне архитектуры не получится исправить без переписывания всего ПО с нуля и обновления всего оборудование людей, купивших эту систему (есть еще несколько серьезных дыр на уровне архитектуры, но их описание увеличило бы статью втрое). Тем, кто узнал по скрину СКУД и она установлена у вас — советую полностью изолировать сеть (что вроде и так считается «best practices») в которых находятся все составляющие системы, а доступ к базе для добавления сотрудников сделать только через VPN. Также может помочь грамотная настройка маршрутизации.

Let's block ads! (Why?)

Сделка на $39 млн: почему создатели опенсорсной СУБД решили заняться мобильными разработками

В конце апреля MongoDB объявили о покупке Realm — кроссплатформенной мобильной базы данных. В сегодняшнем материале — о том, как компании подошли к сделке и что планируют.


/ PxHere / PD

Что за сделка


Realm (ранее tight.db) — это датский стартап, основанный в 2011 году. Он занимается разработкой базы данных с открытым исходным кодом, которая обеспечивает объектное хранение информации мобильных приложений. Решение является мультиплатформенным и предназначено для Android и iOS. У Realm хорошая документация и есть примеры на GitHub.

За время работы стартап привлек более 40 млн долларов инвестиций от венчурных фирм Y Combinator, Khosla Ventures и Greylock Partners. Сегодня решение Realm используется в мобильных приложениях таких компаний, как Google, Starbucks, Netflix, McDonald's и eBay.

Предпосылкой сделки Realm и MongoDB стало желание последней расширить влияние в сфере мобильных разработок. Осенью прошлого года компания представила свою базу данных MongoDB Mobile. Однако продукт не обрел большой популярности. В интервью крупному новостному агрегатору CTO компании Элиот Горовиц (Eliot Horowitz) рассказал, что многие клиенты все равно выбирали продукт Realm в процессе мобильной разработки.

Тогда в MongoDB решили объединить усилия с датским стартапом, начав прорабатывать условия сделки. В итоге компании сошлись на цене в 39 млн долларов.

На что она повлияет


Производительность решений. Одной из ключевых особенностей Realm является zero copy — база поддерживает операции, во время выполнения которых процессор не копирует данные из одной области памяти в другую. Другой важный компонент — MVCC. Это — механизм, обеспечивающий параллельный доступ к данным. Все пользователи оперируют своими персональными образами БД (которые потом синхронизируются), не блокируя работу с транзакциями записи/чтения.

По некоторым оценкам, скорость обработки запросов в Realm отличается от аналогов (SQLite, greenDAO, OrmLite) в восемь раз. При этом база Realm работает с так называемыми живыми объектами — если данные в базе обновляются, то обновляются и все объекты в коде, которые на них ссылаются.

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

Интеграция. Realm обладает набором API, который дает разработчикам возможность выстраивать бизнес-логику приложения на любом языке программирования. Плюс мобильная база данных Realm поддерживает iOS, Android, JavaScript веб-приложения и Xamarin.

MongoDB тоже представляет собой кроссплатформенную документно-ориентированную базу данных типа NoSQL. Поэтому неудивительно, что компания планирует интегрировать функциональность Realm с некоторыми из своих коммерческих продуктов. Новые возможности в скором времени появятся в облачной базе данных MongoDB Atlas и бессерверной вычислительной платформе Stitch, автоматизирующей генерацию мобильных push-уведомлений.

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

«Слияние позволит MongoDB расширить свое влияние в сообществе разработчиков. Realm имеет базу из 100 тыс. активных пользователей, — комментирует Сергей Белкин, начальник отдела развития провайдера виртуальной инфраструктуры 1cloud.ru. — Realm, в свою очередь, получит новые технические возможности для развития и сможет оперативнее обновлять свой продукт».

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


/ PxHere / PD

Что еще происходит на рынке


С начала года в индустрии произошло ее несколько крупных сделок. В конце января Microsoft объявили о приобретении компании Citus Data, которая занимается разработкой реляционной базы данных на основе PostgreSQL. Citus Data была основана в 2010 и прошла через инкубатор Y Combinator. ИТ-гигант планирует использовать наработки стартапа, чтобы получить конкурентное преимущество на рынке облачных технологий.

Активно осваивать направление, связанное с хранением данных, начали и в Alibaba. Еще два года назад корпорация купила MariaDB — альтернативу MySQL, а в начале 2019-го она приобрела немецкий стартап Data Artisans, специализирующийся на работе с большими данными. У стартапа есть собственная платформа dA для потоковой обработки данных на базе опенсорсного Apache Flink, которой пользуются Netflix, ING Group и Uber. Китайская корпорация также планирует задействовать возможности продуктов Data Artisans в своих решениях.

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

Больше интересного в наших блогах и профилях в соц. сетях:

Как работает сжатие в объектно-ориентированной архитектуре памяти

Снимок черной дыры в контексте виртуализации
Как создать провайдера виртуальной инфраструктуры
Мифы об облачных технологиях. Часть 1

Короткий ликбез: что такое Continuous Delivery
Как защитить сервер в интернете: опыт 1cloud.ru
Как у нас все устроено: дайджест от 1cloud

Let's block ads! (Why?)

Блеск и нищета: еще немного о том, как зарабатывают на жизнь современные музыканты

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

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


Фото Artem Beliaikin / Unsplash

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

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

Эксплуатируй свой бренд


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

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

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

Чтобы сделать деньги на футболках, необходимо вложить много денег в культивацию коммерчески привлекательного образа. Участники группы должны стать предметом интереса масс-медиа. Иногда интерес может носить резко негативный характер — например, вокалист Burzum «прославился» за поджог церквей и убийство коллеги. Но это экстремальная ситуация.

Вероятнее всего, музыканту придется тратить деньги на профессиональный медиа-продакшн и контент-маркетинг. Создать знаменитость «с нуля», чтобы интерес к личности проявлялся независимо от ее творческого вклада — непростая задача. В конечном счете, это может быть даже сложнее, чем просто «раскрутить» музыку.

Краудфандинг


Если очень нужны деньги, их всегда можно попросить напрямую у фанатов. С появлением платформ вроде Kickstarter и IndieGoGo это стало как никогда удобно. Даже широко известные музыканты прибегают к краудфандингу просто для того, чтобы окупить запись альбома.

Фото Melissa Walker Horn / Unsplash
Легенды хип-хопа 90-х De La Soul собрали таким образом 600 тысяч долларов. Чтобы привлечь средства, им тоже пришлось использовать свой бренд — поддержавшие группу фанаты получали разнообразные сувениры и даже возможность встретиться с исполнителями лично.

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

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

Пятнадцать тысяч человек платят «зарплату» Аманде Палмер при помощи сервиса Patreon — но эти люди, возможно, и не узнали бы про нее, если бы не успех ее предыдущих работ.

Коммерческая музыка


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

Многие музыканты в свободное от гастролей время заняты именно на такой работе. Евгений Федоров из группы Tequillajazz зарабатывает на жизнь, создавая саундтреки к сериалам про полицейских. Джонни Гринвуд из Radiohead стал уважаемым кинокомпозитором — его работы номинировали на премии Оскар и Золотой Глобус. Конечно, не все музыканты имеют талант к написанию музыки для кино. Им может быть легче попробовать себя в рекламе.

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

Если вы пишете легкий, удобоваримый инди-поп, и не затрагиваете серьезные, эмоциональные темы — вам стоит попробовать пробиться в рекламу. Но знайте, что у вас много конкурентов. В попытках популяризировать свое творчество и начать на нем зарабатывать многие выкладывают музыку с открытой лицензией для коммерческого использования. В нашем блоге на Хабре мы как раз совсем недавно рассказывали о целом спектре таких площадок:


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


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

Некоторые послужили «вступлениями» к телевизионным передачам, а конкретно вот эта была написана к открытию нового торгового центра в Гиндзе. Логотип фирмы даже находится на обложке сингла. Такую модель иногда копируют на Западе: например, Бритни Спирс однажды выпустила песню для рекламы Pepsi. Но это остается редкостью.


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



Что мы рекомендуем почитать в выходные:

Магнитолы из СССР: краткая история аудиосистем в советских автомобилях
Российские радиоспектакли: от «Радионяни» до «Соляриса»
«Не выстрелили»: аудиопроекты, в которых что-то пошло не так
С чего началась и чем закончилась история проигрывателей пластинок для автомобилей


Let's block ads! (Why?)

Мал, да удал: реальный взгляд на японский проект Minimal Fab

16 мая в МИЭТ (Зеленоград) прошел уже традиционный семинар-встреча с японскими разработчиками и производителями компактной технологической линеек, так называемого Minimal Fabа.

Предыдущий большой семинар проходил там же в 2017, и на youtube есть почти трехчасовая запись. Давно хотел написать большую заметку на эту тему, собрал много материала а после этой встречи окончательно «дозрел». Все-таки живая встреча, с вопросами-ответами, гораздо эффективнее, чем изучение статей. К тому же, в последнее время появилось несколько статей, где эта линейка освещается однобоко, в каком-то восхищенном и не совсем адекватном ключе «восхищения». Давайте разбираться…

Концепция уменьшения


Главным идеологом проекта Minimal Fab является японский ученый Shiro Hara. В середине 2000-х он предложил радикальный подход для снижения стоимости полупроводникового производства – идти по пути уменьшения оборудования и диаметра исходных пластин.

В 2010 году для реализации этой идеи был создан консорциум при поддержке Правительства Японии и под эгидой Национального института передовых промышленных наук и технологий (AIST). В этот консорциум вошли более сотни японских компаний, занимающихся разработкой материалов, оборудования и технологий.
В 2017 году была выделена отдельная организация, для продвижения Minimal Fab уже в качестве готового решения на полупроводниковый рынок(компания Tokyo Boeki Group Ltd ).

Эта идея уменьшения идет в разрез с текущим мировым трендом. Если посмотреть на современную эволюцию полупроводникового производства, то одновременно с уменьшением минимального размера, происходит увеличение диаметра пластин и увеличение производительности оборудования. Это приводит к тому, что потянуть создание современного массового производства на сегодня могут несколько компаний-лидеров, таких как TSMC, Intel, Samsung. Это обладатели так называемых МегаФабов, в терминах концепции.

Они «держат» более половины всего объема рынка, обладая значительными производственными мощностями для производства массовых ИС. Мелкие производители «вымываются» с рынка, не в силах конкурировать по цене с гигантами в потребительском секторе. Либо уходят в специфические ниши уникальных продуктов, с большой маржой, но с малыми объемами. При этом небольшие компании находятся в неустойчивом положении, так как вынуждены следовать в обще-мировом тренде «гигантомании» и вкладывать значительные средства на инфраструктуру и оборудование. Условно, если я захочу сегодня построить линейку под небольшой объем, и старый уровень технологии (~ 3мкм), то мне придется потратить больше, чем это было тридцать лет назад в эквивалентных ценах. Такой вот парадокс.

Что делать тем, кто хочет купить небольшую серию ИС? Можно пойти в те же компании-гиганты, и заказать у них «шатл», в рамках MWP. Это не будет очень дешево, и не слишком быстро (цикл изготовления 1-2 месяцв для КМОП технологии 28нм). Но если требуется что-то специфическое в плане технологии, то здесь возникнет проблема. Разработка технологии стоит очень дорого, и никто не будет заниматься этим, чтобы выполнить заказ, например, на десять пластин. Хорошо бы иметь свою линеечку, но чтобы не дорого.)

Автор концепции Minimal Fab предложил значительно уменьшить стоимость «входного билета» в производство полупроводников. Достигается это следующими решениями:

— уменьшение диаметра пластин с современного стандарта 300мм (площадь пластины ~70650мм2) до диаметра 12.5мм (площадь пластины ~122мм2). Этой площади достаточно для размещения одной большой схемы или нескольких маленьких. Пластины изготавливаются «вырезкой» из больших пластин, с дополнительной обработкой (фото пластиночки, размещенной в кассете):


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

— все оборудование выполняется в унифицированном форм-факторе (габариты 1440х300х450мм), без процедуры сложного запуска и подключения. Каждая единица выполняет один тип процесса (химическая обработка, травление и т.д.).

Интерфейс и управление установок стандартизировано.

Не требуется инфраструктура в привычном формате МегаФабрики. Газы и реагенты находятся внутри установок в компактных картриджах (емкостях), газы в баллонах. Необходима вытяжка, для удаления газообразных продуктов реакции и теплоотвода:


— декларируется, что при этом не требуется чистая комната в помещении, так как зона обработки пластины изолирована от среды. Внутри зоны обработки пластины за счет герметичности достигается класс чистоты ISO 4 (при внешнем классе чистоты в помещении ISO 9, обычный офис).

— безмасочный (без фотошаблона) способ формирования рисунка на пластине. Изображение формируется за счет прямого проецирования на фоторезист (классическое нанесение и проявление). Длинна волны 365нм, расчетное разрешение системы 0.5мкм. Краевая зона — около 0.5мм (рабочий диаметр пластины будет составлять около 11мм).


Очевидные преимущества такой концепции:
  • снижение начальных затрат на организацию производства в десятки или сотни раз
  • не требуется строить капитальное здание с обеспечивающей инфраструктурой
  • уменьшение затрат на поддержание работы такой линейки в десятки или сотни раз, по отношению к обычной линейке (за счет снижения потребления электричества, материалов, уменьшения персонала за счет стандартизации оборудования)
  • значительное ускорение времени изготовления образца (с нескольких недель до дней)
  • возможен гибридный вариант, когда некоторые операции, при условии адаптации, можно выполнять на стандартном «большом» оборудовании (ИЛ, ф\л).
  • не требуется изготовление фотошаблонов, возможна коррекция изображения в случае необходимости

Авторы концепции приводят даже следующую оценку, сравнивая МегаФаб и Minimal Fab:

Очень эффектное сравнение. Особенно оно по нраву тем, кто настаивает на том, что Minimal Fab заменит полноценную фабрику, и это есть лучший и единственный путь. Ну вот же, тут миллиарды, а здесь миллионы.

Но здесь-то и начинается столкновение концепции с реальностью.

Реальность


На сегодня уровень реализованных КМОП микросхем на линейке Minimal Fab не слишком поражает воображение. Сделаны совсем простые образцы типа NAND-ячеек и кольцевых генераторов, состоящие из 400 транзисторов. Размер затвора составляет несколько мкм, технология довольно примитивна (уровень конца 70-х, начало 80-х). На фото образцы, представленные в 2018 году на SEMI Япония.

А также слайд из презентации, где показано схематичный маршрут изготовления образцов в 2013. Маршрут из 39 операций, р-n переходы из диффузинного источника, один слой разводки…

Процессы ионного легирования на сегодня не реализованы в форм-факторе Miimal-Fab, хотя работа идет. Пока обещана энергия до 60кэВ, и два вида элементов, B и P. Большие энергии не понятно как достичь в ограниченном размере установок. Как вариант — гибридная реализация (делать процессы на обычном оборудовании, на счет специальных держателей).

Реализация хотя бы двухслойной разводки, чтобы говорить об уровне 1-0.8мкм, также пока не видно. Реализованы не все процессы ПХТ.

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

Вот так выглядит roadmap:


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

Сам разработчик концепции и не противопоставляет себя TSMC, например.

Ниша применения авторам Miniaml Fab видится. На рисунке анализ полупроводниковых производителей США (слайд с презентации 2017 года).


Примерно 98 фабрик в США занимаются изготовлением полупроводников в диапазоне тех.процесса от 0.5мкм и больше, диаметр пластин от 100 и ниже. Это производители среднего и малого объема, чаще всего. Это все виды (КМОП, МЭМС, дискретные) По уровню технологии это уже сегодня примерно соответствует возможностям линейки Minimal Fab, с текущим уровнем ф\л (даже без электронного луча). Для указанных фабрик существует проблема оборудования. Новое оборудование под такой диаметр не выпускается, и вот тут формат Minimal Fab очень подходит. По подсчетам разработчиков, для замещения этих мощностей требуется тысячи линеек Minimal Fab.
В принципе, аналогичная ситуация, но в меньшем масштабе, существует и у нас в стране. У нас тоже хватает старых линеек, которые делают небольшие объемы по технологии царя Гороха (разные мохнатые серии из десяти транзисторов по лошадиными нормам и т.д.).

Вторая интересная и реально актуальная ниша — это специфические технологии.

SOI, МЭМС, сенсоры, гибридные схемы (КМОП+сенсор, типа болометров) дискретные, СВЧ, BaskEnd операции типа бампирования, соединения А3В5… Все вот это вот делается на малом диаметре, как правило, небольшими объемами. И здесь Minimal Fab выигрывает у традиционной реализации (на фото пример реализации структуры МЭМС).


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

Характерно, что они применяют оборудование Minimal Fab в гибридной формате. То есть у них есть традиционная чистая комната с оборудованием под Backend процесс (что-то типа интерпозера под бампирование). И несколько единиц Minimal Fab реализует процессы ф\л и химической обработки.

Продвижение у нас


У нас идею MinimalFab последовательно продвигает МИЭТ. Проводит семинары и встречи с разработчиками технологии, на последнем подписан меморандум о создании «Ассоциации Miniamal FAB Russia».

Есть русскоязычный сайт компании Tokyo BOEKI Rus.
Пару лет назад компания ADGEX очень пафосно объявила «начало новой эры в мировой микроэлектронике», и грозилась начать с 2018 году поставки «устройств», изготовленных на Minimal Fab, но что-то пошло не так.

Подводя личный итог


  • формат Minimal Fab это не просто тренажер для обучения студентов (хотя признаю, пару лет назад я думал скорее именно так)
  • идеально для МЭМС, датчиков, сенсоров, болометров и т.д.
  • подходит под дискретные приборы, СВЧ, силовая электроника и специфические материалы, типа SOI, А3B5.(возможно в гибридной реализации)
  • вполне реален вариант для изготовления биполярных или КМОП схем уровня 3мкм и выше, с малой степенью интеграции (например, многочисленные военные серии, из десяти транзисторов и трех резисторов с лошадиными размерами, которые до сих пор куются)
  • перспективно под замену устаревших линеек (проблема старого оборудования, которое физически никто уже не делает) малого диаметра пластин и небольшую серию
  • крайне интересна реализация корпусирования\бампирования\интерпозеры и прочее (в случае небольшой серии)
  • уровень КМОП от 0.5мкм до 0.25мкм — возможно в будущем, зависит от вложений в технологию.

Как вариант в гибридном способе (Minimal Fab на классической фабрике).
  • для полноценного КМОП и большой степени интеграции (ниже 0.25мкм) предпосылок мало, даже если будет электронно-лучевая ф\л. Все-таки размер в голом виде далеко не все определяет. ниже 0.25мкм значительно усложняется и тех.процесс, и самое главное – составляющая дизайна.
  • ниже 0.18мкм – у разработчиков даже планов не видно в ближайшей перспективе
  • большие фабрики с нодами 28нм и ниже могут спать спокойно, Minimal Fab им не конкурент в обозримом будущем.

Материалы и ресурсы по Minimal Fab


  1. Запись большого семинара в МИЭТ, 2017.
  2. Видео о процессе изготовления, очень наглядно.
  3. Презентация SEMI EXPO Москва 2017

Let's block ads! (Why?)

Решето Эратосфена за O(n). Доказательство

Tenable обновила свой бесплатный инструмент для анализа уязвимостей

image

Tenable обновил свой бесплатный инструмент для анализа уязвимостей Nessus Essentials (ранее Nessus Home) — без ограничения «для некоммерческого использования».

Компания Tenable объявила о выпуске Nessus Essentials, расширенной бесплатной версии своего решения для оценки уязвимостей (ранее Nessus Home). Nessus Essentials предназначен для использования студентами, преподавателями и людьми, начинающими свою карьеру в области кибербезопасности, помогая быстро и легко освоить оценку уязвимостей и отточить свои навыки.

Отличия от предыдущей версии больше качественные, чем количественные:

  • Неограниченное сканирование категорий, но ограничено 16 IP-адресами для оценки уязвимости.
  • Возможность сканирования и использования в любом месте. Нет ограничения частным адресным пространством (RFC1918) и домашним использованием.
  • Оперативное обновление базы уязвимостей.
  • Нет ограничений по времени использования.
  • Доступ к учебной программе Nessus.

Глобальный спрос на профессионалов в области кибербезопасности превысил предложение, создав критический пробел в навыках, который угрожает цифровой экономике. Согласно отчету о рабочих местах CyberSecurity за 2018–2021 годы, спрос на таланты в области кибербезопасности в 2019 году составит 6 миллионов рабочих мест во всем мире, но примерно 1,5 миллиона из этих должностей останутся незаполненными.

Компания Tenable решает эту проблему с помощью Nessus Essentials. Nessus Essentials входит в семейство продуктов Nessus и является одним из наиболее широко распространенных решений безопасности в мире. Nessus имеет самую низкую в отрасли частоту ложных срабатываний, занимает первое место по охвату с более чем 100 000 дополнений для более чем 45 000 CVE и самым быстрым по обнаружению уязвимостей благодаря обновлениям, выпущенным в среднем в течение 24 часов с момента раскрытие уязвимости.

страница проекта

Let's block ads! (Why?)

Первая хакерская атака в истории

Многие думают, что первая хакерская атака произошла на заре интернета… А что, если я скажу вам, что первая атака произошла в 1903 году?

ЧАСТЬ 1. Демонстрация передовых технологий


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

Изобретателем был Маркони (изобретатель радиотелеграфа по версии Маркони). Находился он почти в 500 км от места демонстрации и он должен был передать сигнал, который бы принял его товарищ Джон Амброз Флеминг, который сидел в театре и принимал изображение.

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

ЧАСТЬ 2. Раскрытие


Через 4 дня после неудачи, в газете Times «хакер» раскрыл себя. Им оказался некий Невил Маскелайн, британский иллюзионист, который неплохо разбирался в радио и использовал его для своих представлений.

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

Ещё до этого происшевствия Маскелайн построил огромную мачту и перехватывал сообщения.

ЧАСТЬ 3. Вклад атаки в мировую науку


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

Выводы


Да, конечно, в наши дни многие могут сказать: «Да какая тут хакерская атака?! Это просто баловство». Но в то время это сделало переворот в радиотехнологиях. И это показывает, как сильно человечество скакнуло в развитии за последние 100 лет.

Let's block ads! (Why?)

[Из песочницы] Играем в консоли браузера

image
Как прекрасен этот мир

сonsole.log() — хороший метод, чтобы вывести отладочную информацию в веб-консоль. Можно выводить числа, строки, массивы, объекты, функции, обычный текст, к тому же, ко всему этому можно добавлять форматирование, цвет, фон и вообще довольно много других стилей… И это всё? Это всё, что может один этот метод? Ну… А как насчет реализации в консоли простого платформера, алгоритма Ray casting или физики ткани?

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

GitHub: GitHub
Живой пример: Демо

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

А теперь чуть-чуть подробнее об этом

Консоль как холст


Давайте посмотрим на метод console.log() и на консоль в целом не как на средство отладки, а как на холст. Да, как на место, где мы сможем немного «порисовать» и даже заставить это двигаться. К тому же Unicode-символы никто не отменял.

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

Размер пикселя


При рисовании на canvas мы имеем дело с пикселями, который имеет размер, внимание, пикселя на вашем мониторе! При отображении в консоли «пиксель» приобретает немного иное понятие. Да, относительно консоли это её своеобразный пиксель, но относительно настоящего пикселя это всего лишь специальный символ, к примеру такой ?. Но и на символы есть небольшое ограничение, а точнее рекомендация: он должен иметь высоту равную высоте переноса строки в консоли. Но это только если мы хотим получить красивую картинку (на сколько это вообще возможно).

Перерисовка


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

Цвет


Как я писал в начале к выводу можно применять форматирование, но в своём случае я решил всё не и довольствоваться черно-белым изображение, добиться которого можно благодаря широкому выбору Unicode-символов.

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

Рисуем в консоли


Названия методов, а также процесс рисования я перенял из canvas (позже опишу зачем) и вот что в итоге получилось
engine.js
const canvas = {
    width: 70,
    height: 40,
    getContext(type) {
        if (type != '2d') {
            return console.log('Only 2d');
        }
        return new Context2D(type);
    }
}

class Context2D {
    constructor(type) {
        this.fillStyle = '?';
        this.emptyStyle = '?';
        this.map = [];
        for (let i = 0; i < canvas.height; i++) {
            this.map[i] = [];
            for (let j = 0; j < canvas.width; j++) {
                this.map[i][j] = this.emptyStyle;
            }
        }
        this.path = [];
        this.clear();
    }
    fillRect(x, y, width, height) {
        for (let i = y; i < y + height; i++) {
            for (let j = x; j < x + width; j++) {
                if (!this.map[i]) break;
                this.map[i][j] = this.fillStyle;
            }
        }
        this.draw();
    }
    strokeRect(x, y, width, height) {
        for (let j = x; j < x + width; j++) {
            this.map[y][j] = this.fillStyle;
            this.map[y + height - 1][j] = this.fillStyle;
        }
        for (let i = y + 1; i < y + height - 1; i++) {
            this.map[i][x] = this.fillStyle;
            this.map[i][x + width - 1] = this.fillStyle;
        }
        this.draw();
    }
    clearRect(x, y, width, height) {
        for (let i = y; i < y + height; i++) {
            for (let j = x; j < x + width; j++) {
                this.map[i][j] = this.emptyStyle;
            }
        }
        this.draw();
    }
    beginPath() {
        this.path = [];
    }
    moveTo(x, y) {
        this.path.push([Math.round(x), Math.round(y), true]);
    }
    lineTo(x, y) {
        this.path.push([Math.round(x), Math.round(y)]);
    }
    closePath() {
        if (!this.path.length) return false
        this.path.push([this.path[0][0], this.path[0][1]]);
    }
    stroke() {
        const path = this.path;
        for (let i = 0; i < path.length - 1; i++) {
            const x0 = path[i][0];
            const y0 = path[i][1];
            const x1 = path[i+1][0];
            const y1 = path[i+1][1];

            this.fillPixel(x1, y1);

            if (path[i+1][2]) continue;

            const deltaX = Math.abs(x1 - x0);
            const deltaY = Math.abs(y1 - y0);
            const signX = x0 < x1 ? 1 : -1;
            const signY = y0 < y1 ? 1 : -1;
            let error = deltaX - deltaY;
            let x = x0;
            let y = y0;
            while(x !== x1 || y !== y1) {
                this.fillPixel(x, y)
                const error2 = error * 2;
                if (error2 > -deltaY) {
                    error -= deltaY;
                    x += signX;
                }
                if (error2 < deltaX) {
                    error += deltaX;
                    y += signY;
                }
            }
        }
        this.draw();
    }
    fillPixel(x, y) {
        if (!this.map[y]) return false;
        this.map[y][x] = this.fillStyle;
    }
    arc(x1, y1, r) {
        let x = 0;
        let y = r;
        let delta = 1 - 2 * r;
        let error = 0;
        while (y >= 0) {
            this.moveTo(x1 + x, y1 + y);
            this.moveTo(x1 + x, y1 - y);
            this.moveTo(x1 - x, y1 + y);
            this.moveTo(x1 - x, y1 - y);
            error = 2 * (delta + y) - 1;
            if (delta < 0 && error <= 0) {
                delta += 2 * ++x + 1;
                continue;
            }
            if (delta > 0 && error > 0) {
                delta -= 2 * --y + 1;
                continue;
            }
            delta += 2 * (++x - y--);
        }
        this.draw()
    }
    draw() {
        this.clear();
        //2D to String
        const map = this.map.map(val => val.join('')).join('\n');
        console.log(map);
    }
    clear() {
        console.clear();
    }
}



Теперь подключаем этот файл в html файл, открываем консоль и можем испытать несколько методов
canvas.width = 70
canvas.height = 30
const ctx = canvas.getContext('2d')
ctx.beginPath()
ctx.moveTo(30, 5)
ctx.lineTo(30, 25)
ctx.moveTo(30, 15)
ctx.lineTo(35, 13)
ctx.lineTo(38, 13)
ctx.lineTo(40, 16)
ctx.lineTo(40, 25)
ctx.stroke()


Вот результат

image

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

Примеры покруче


В моих планах было сделать возможность максимально простого переноса обычной игры на canvas в игру в console. Именно для этого я реализовал такие же методы с минимальными изменениями. Что это значит? А то, что для реализации какой-либо игры я просто беру уже готовое на canvas, правлю несколько строчек кода и оно запуститься в console!

Собственно именно этим я и занялся. И первое, что мне пришло в голову (кроме квадратика, который можно двигать по консоли), так это реализовать алгоритм Raycasting
Сам алгоритм я не писал, а просто одолжил его тут и изменив несколько строчек запустил в консоли.

image

Выглядит впечатляюще, не правда ли?

Вот еще несколько скриншотов из того, что я перенес в консоль.

image
Змейка

image
Физика ткани, которую можно подергать и даже порвать

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

Let's block ads! (Why?)

История борьбы с цензурой: как работает созданный учеными из MIT и Стенфорда метод flash proxy

В начале 2010-х годов объединенная группа специалистов из Стенфордского университета, Массачусетского университета, The Tor Project и SRI International представила результаты своего исследования способов борьбы с цензурой в интернете.

Ученые проанализировали существовавшие на тот момент способы обхода блокировок и предложили свой метод, получивший название flash proxy. Сегодня мы расскажем о его сути и истории развития.

Введение


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

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

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

  1. Rendezvous-протоколы. Рандеву-протокол позволяет пользователям в стране с блокировками отправлять и получать небольшие объемы информации для установления соединения с прокси – в случае Tor, к примеру, использует rendezvous для распространения IP-адрес Tor-ретрансляторов (бриджей). Такие протоколы используются для low-rate трафика и заблокировать их не так просто.
  2. Создание прокси. Системам преодоления блокировок нужны прокси вне региона с фильтруемым интернетом, чтобы передавать трафик от клиента к целевым ресурсам и обратно. Организаторы блокировок могут в ответ мешать пользователям узнавать IP-адреса прокси-серверов и блокировать их. Чтобы противостоять такой атаке Сивиллы прокси-сервис должен иметь возможность постоянно создавать новые прокси. Именно быстрое создание новых прокси – это основная суть предложенного исследователями метода.
  3. Камуфляж. Когда клиент получает адрес не заблокированного прокси, ему нужно каким-либо образом скрыть свою коммуникацию с ним, чтобы сессию было невозможно заблокировать с помощью инструментов анализа трафика. Ее нужно закамуфлировать под «обычный» трафик, вроде обмена данными с интернет-магазином, онлайн-игры и т.п.

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

Как это работает


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

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

На такой сайт устанавливается небольшой бейдж, представляющий собой простой интерфейс, созданный с помощью JavaScript. Пример такого кода:

<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>

Вот так выглядит бейдж:

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

В результате возможно получение производительности, достаточной для поддержания Tor-тоннеля.

Помимо Tor Relay и клиента пользователю понадобится еще три элемента. Так называемый фасилитатор (facilitator), который получает запросы от клиента и соединяет его с прокси. Коммуникация происходит с помощью транспортных плагинов на клиенте (вот версия для Chrome) и Tor-relay осуществляется переключение с WebSockets на чистый TCP.

Типичная сессия при использовании этой схемы выглядит так:

  1. Клиент запускает Tor, клиент flash-proxy (браузерный плагин) и отправляет запрос на регистрацию фасилитатору с помощью протокола rendezvous. Плагин начинает прослушивание удаленного соединения.
  2. Flash-прокси появляется онлайн и обращается к фасилитатору с запросом на соединение с клиентом.
  3. Фасилитатор возвращает регистрацию, передавая flash-прокси данные для соединения.
  4. Прокси соединяется с клиентом, данные которого ему прислали.
  5. Прокси подключается к транспортному плагину а Tor-релее и начинает обмен данными между клиентом и релеем.

Особенность данной архитектуры в том, что клиент никогда не знает заранее, куда именно ему нужно будет подключаться. По факту, транспортный плагин принимает фейковый адрес назначения только для того, чтобы не нарушать требования транспортных протоколов. Затем этот адрес игнорируется и создается туннель к другой конечной точке – Tor-релею.

Заключение


Проект flash-прокси развивался несколько лет и в 2017 году создатели прекратили его поддержку. Код проекта доступен по этой ссылке. На смену flash-прокси пришли новые инструменты обхода блокировок. Один из них – проект Snowflake, построенный на схожих принципах.

Let's block ads! (Why?)

Нехватка гелия может замедлить развитие квантовых компьютеров — обсуждаем ситуацию

Рассказываем о предпосылках и приводим мнения экспертов индустрии.


/ фото IBM Research CC BY-ND

Зачем нужен гелий в квантовых компьютерах


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

Квантовые машины оперируют кубитами. Они, в отличие от классических битов, могут находиться в состояниях 0 и 1 одновременно — в суперпозиции. В вычислительной системе возникает явление квантового параллелизма, когда операции производятся одновременно с нулем и единицей. Эта особенность позволяет машинам на основе кубитов решать некоторые задачи быстрее классических компьютеров — например, моделировать молекулярные и химические реакции.

Но здесь есть проблема: кубиты — объекты хрупкие и поддерживать суперпозицию они могут всего несколько наносекунд. Её нарушает даже небольшое колебание температуры, происходит так называемая декогеренция. Чтобы избежать разрушения кубитов, квантовым компьютерам приходится работать в условиях низких температур — 10 мК (–273,14°C). Для достижения температур, близких к абсолютному нулю, компании используют жидкий гелий, а точнее, изотоп гелий-3, который не затвердевает в таких экстремальных условиях.

В чем проблема


В ближайшем будущем ИТ-индустрия может столкнуться с нехваткой гелия-3 для разработки квантовых компьютеров. На Земле это вещество практически не встречается в естественном виде — его объем в атмосфере планеты составляет всего 0,000137% (1,37 частей на миллион по отношению к гелию-4). Гелий-3 является продуктом распада трития, производство которого остановили в 1988 году. У России и США есть некоторые его запасы, но они подходят к концу.

Ситуацию усугубляет тот факт, что довольно значимая часть гелия-3 уходит на производство нейтронных сканеров, используемых на пограничных пунктах для поиска радиоактивных материалов. Нейтронный сканер является обязательным инструментом на всех американских таможнях с 2000 года. В силу ряда данных факторов в США поставки гелия-3 уже контролируются правительственными органами, которые выдают квоты государственным и частным организациям, и ИТ-эксперты беспокоятся, что скоро на всех желающий гелия-3 начнет не хватать.

Насколько все плохо


Есть мнение, что нехватка гелия-3 окажет негативное влияние на квантовые разработки. Блейк Джонсон (Blake Johnson), вице-президент компании-производителя квантовых компьютеров Rigetti Computing в интервью MIT Tech Review рассказал, что хладагент невероятно трудно достать. Проблемы усугубляет его высокая стоимость — на заполнение одной холодильной установки уходит 40 тыс. долларов.

Но представители D-Wave, другого квантового стартапа, несогласны со мнением Блейка. По словам вице-президента организации, на производство одного квантового компьютера уходит лишь небольшое количество гелия-3, которое можно назвать незначительным по сравнению с общим доступным объемом вещества. Поэтому дефицит хладагента будет незаметен для квантовой промышленности.

Плюс сегодня прорабатываются другие методы добычи гелия-3, не связанные с тритием. Один из них — добыча изотопа из природного газа. Сперва он подвергается глубокой конденсации при пониженных температурах, а затем проходит через процессы сепарации и ректификации (отделения газовых примесей). Ранее этот подход считался экономически нецелесообразным, но с развитием технологий ситуация изменилась. В прошлом году о своих планах начать добычу гелия-3 заявили в «Газпроме».

Ряд стран строит планы по добыче гелия-3 на Луне. В её поверхностном слое содержится до 2,5 млн тонн (таб. 2) этого вещества. По оценкам ученых, ресурса хватит на пять тысячелетий. В НАСА уже начали создавать проекты установок, которые перерабатывают реголит в гелий-3. Разработкой соответствующей земной и лунной инфраструктуры занимаются Индия и Китай. Но реализовать её на практике получится не раньше 2030 года.

Еще один способ предотвратить дефицит гелия-3 — найти для него замену при производстве нейтронных сканеров. К слову, её уже обнаружили в 2018 году — ей стали кристаллы сульфида цинка и фторида лития-6. Они позволяют регистрировать радиоактивные материалы с точностью, превышающей 90%.


/ фото IBM Research CC BY-ND

Другие «квантовые» проблемы


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

Ряд стран пытается решить проблему за счет государственных программ. Такие инициативы уже запущены в США и Европе. Например, совсем недавно в Нидерландах при поддержке Министерства экономики заработала компания Delft Circuits. Она занимается производством компонентов для квантовых вычислительных систем.

Ещё одна трудность — нехватка специалистов. Спрос на них растёт, однако найти их не так просто. По данным NYT, опытных «квантовых инженеров» в мире не более тысячи. Проблему решают ведущие технические университеты. Например, в MIT уже создают первые программы для обучения специалистов по работе с квантовыми машинами. Разработкой соответствующих академических программ занимаются и в американской National Quantum Initiative.

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



О чем мы пишем в первом блоге о корпоративном IaaS:

Let's block ads! (Why?)

Пять ключевых трендов ITSM на этот год

Говорим о направлениях, в которых развивается ITSM в 2019 году.


/ Unsplash / Alessio Ferretti

Чат-боты


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

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

Подобные продукты развивает целый спектр компаний. Например, ServiceNow. Одно из решений — ServiceNow Virtual Agent — использует возможности суперкомпьютера IBM Watson для распознавания речи. Агент автоматически создает тикеты по обращениям пользователей, проверяет их статусы и работает с CMDB — базой данных компонентов ИТ-инфраструктуры. Чат-бот ServiceNow внедрили в Университете Альберты — за две недели система научилась обрабатывать 30% поступающих запросов (в планах довести объем до 80%).

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

Автоматизация разработки


Гибкие методологии не новы, и ими успешно пользуется множество компаний. Правда, без серьезной перестройки рабочего процесса встречи, спринты и другие компоненты agile оказываются бесполезны: сотрудникам становится только сложнее следить за прогрессом разработки, что тянет вниз эффективность всего процесса.
Здесь на помощь приходят системы управления разработкой ПО — очередной тренд этого года. Они позволяют контролировать весь жизненный цикл приложения: от прототипа до релиза, от поддержки до выпуска новых версий ПО.

Приложения для управления разработкой предлагаем мы в «ИТ Гильдии». Речь идет о системе SDLC (software development lifecycle). Это — программный инструмент, который объединяет сразу несколько методологий разработки (например, waterfall и scrum) и помогает легче адаптироваться к работе с ними.

ИБ в центре внимания


Человеческий фактор — главная причина наличия уязвимостей в ИТ-системах. Примером может быть ситуация с Jira-сервером НАСА, когда администратор оставил в отрытом доступе данные о сотрудниках и проектах агентства. Другой пример — взлом бюро Equifax в 2017 году, который произошел из-за того, что организация вовремя не установила патч, закрывающий уязвимость.


/ Flickr / Wendelin Jacober / PD

Сократить влияние человеческого фактора способны системы SOAR (security operations, analytics and reporting). Они анализируют угрозы безопасности и формируют отчеты с наглядными графиками и схемами. Их основная задача — помочь специалистам компании принять эффективное и своевременное решение.

SOAR-системы помогают вдвое сократить время, необходимое для обнаружения и реагирования на уязвимости. Так ServiceNow Security Operations, о которой мы писали в одной из статей нашего блога, является продуктом такого класса. Он самостоятельно находит уязвимые компоненты ИТ-инфраструктуры и оценивает их влияние на бизнес-процессы в зависимости от степени риска.

ITSM уходит в облака


В ближайшие годы рынок облачных сервисов будет самым быстрорастущим сегментом ИТ. По данным Gartner, в 2019 году его рост составит 17,5%. За этим трендом следуют и облачные решения для управления ИТ-инфраструктурой.

Облачную ITSM-систему предлагаем мы в «ИТ Гильдии». Её главное отличие от локальной системы заключается в том, что компании могут платить только за те возможности, которыми пользуются (ITOM, ITFM, ITAM и др.). Облачные решения поставляются с уже настроенными шаблонами и предварительно сконфигурированными инструментами. С их помощью организации получают возможность оперативно настроить рабочую среду, минуя множество потенциальных трудностей, и мигрировать свою ИТ-инфраструктуру в облако, опираясь на лучшие практики индустрии.

Облачную ITSM, к примеру, внедрила компания SPLAT. Система помогает мониторить ИТ-активы и оценивать их работоспособность. Также в облаке принимаются и обрабатываются заявки от пользователей — единая система учета обращений повысила степень контроля за их выполнением.


/ Flickr / Kristof Magyar / CC BY

Идет адаптация ITIL 4


В отличие от предыдущих версий, ITIL 4 концентрируется на основных принципах и концепциях сервисного управления. В частности, библиотеку интегрировали с гибкими методами разработки программного обеспечения — Agile, Lean и DevOps. Она дает представление о том, как эти подходы должны работать вместе.

В этом году компании, использующие библиотеку для управления ИТ, будут решать, как нововведения повлияют на их бизнес-процессы. Помочь с этим должна документация ITIL, которую разработчики постарались сделать более понятной. В перспективе четвёртая версия поможет подстроить ITIL под новые тренды: автоматизацию, DevOps-практики, облачные системы.



О чем мы пишем в корпоративном блоге:

Let's block ads! (Why?)