Салимóненко Дмитрий Александрович


Уязвимость процессоров Intel (Meltdown и Spectre) - и будущее интернета

Этот вопрос - об пресловутой уязвимости процессоров Intel, вдруг как-то так раз - да и выявленной в конце 2017 г., наверное, знает каждый, кто умеет включать компьютер. Я (очень давно, от слова вообще) не смотрю телевизор, не слушаю радио, поэтому, к счастью, даже понятия не имею, что и как там вещают. Но, судя по разговорам, да и по публикациям в сети интернет - вроде, кто-то утверждает чуть ли не о катастрофе в IT-области. Другие более умеренны в своих выводах, но - сходятся с первыми в рекомендациях: надо, мол, обновить браузеры и операционные системы.

Для меня, как человека, работающего и в IT-области - тоже, разумеется, интересна правда, истина о важных событиях и явлениях, происходящих в ней. Да, повторюсь, правда интересна, а не та "информация", которую перепечатывают друг у друга (ну, с некоторыми вариациями) газеты и болтологические интернет-издания, типа rianovosti, gazeta, vedomosti, блог Касперского и прочая, и прочая, как говорится. Поэтому, как обычно, я решил разработать этот вопрос более внимательно и тщательно. Ибо из обсуждения со знакомыми, за исключением личных и, отчасти, эмоциональных слов - цельности мне достигнуть не удалось.

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

Итак, уязвимости Meltdown и Spectre

Я намеренно не буду заниматься перепечаткой и повторять уже, наверное, в тысячный раз (если говорить о публикациях в интернете) о том, что же представляют собой эти "уязвимости". Ибо, во-первых, практически ВЕЗДЕ объяснения по поводу этих "уязвимостей" - кратки до безобразия. А краткость, это, как мы с Вами уже помним, далеко не всегда - сестра таланта. Впрочем, пустая многословность - да, еще хуже, чем краткость (это когда - из серии: чем больше слов, тем, типа, многозначительнее). Так вот, повторюсь, не буду я об этом.

Кое-как, на некоторых сайтах, я все же нашел ссылку на первоисточник данной шумихи: https://meltdownattack.com. Там даже есть две статьи - о Meltdown и о Spectre - по отдельности. Статьи кажутся серьезными, видно, что написаны, как минимум, специалистами в IT-области. Правда, сайт meltdownattack.com производит впечатление какой-то недоделки, что ли. Исходный код простоват, да и оформление страницы как-то не очень, наспех. Домен, на котором размещена эта страница, был зарегистрирован, судя по информации из сервиса whois.ru, 22 декабря 2017 г. Обратим внимание, что информация о владельце домена скрыта. А ведь это - домен в зоне com. Правила регистрации в этой зоне весьма серьезные, без идентифицирующих данных зарегистрировать домен не получится. Это вот, к примеру, в зоне ru скрыть владельца проще. Видимо, "первооткрыватели" уязвимостей не сочли нужным указать, кто владеет доменом. Ну, бывает. Знакомо.

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

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

Поэтому, кстати, в первую очередь стоит, хотя бы в общих чертах, изучить язык С. Да, хотя бы для того, в самом деле, чтобы уж совсем-то в дураках не ходить и суевериями не страдать (речь я веду здесь только о тех, кто программирование изучает, конечно). А уж ПОТОМ - C++, а то и C#. И уж ТОЛЬКО потом - можно переходить к чему-то высокоуровневому, типа Питона или РНР.

Ничего здесь такого, столь "нового", из серии "выявилось вдруг" - нет и не было. Переполнение памяти возникает (внимание!): только тогда, когда программа написана некорректно. Иногда, вызвав переполнение памяти, программа работает, как ни в чем ни бывало. А в ряде случаев - вызывает ошибку сегментации (Segmentation Fault) и аварийно прерывает работу. Мои студенты, программируя под Linux на С, множество раз встречали, по неопытности, эту ошибку в своих программках и находили способы ее преодоления. Характерная особенность последствий переполнения памяти: в результате ошибки сегментации, данные, находившиеся на тот момент в стеке, остаются там. И оттого хакеры (всего мира) используют этот нюанс для взлома программ. Понятно, что при этом хакер должен иметь возможность НЕ ТОЛЬКО запустить программу (т.е. иметь доступ как к компьютеру, так и к программе), но еще и иметь возможность читать данные ее стека, анализировать их, запускать пробное тестирование своих технологий, опять-таки, подчеркну, НА ТОМ ЖЕ САМОМ КОМПЬЮТЕРЕ. Т.е., еще раз, для того, чтобы хакер мог взломать программу, необходимы, как минимум, ДВА условия:

  • Наличие доступа хакера к компьютеру
  • Программа должна быть написана некорректно

Поэтому мне совершенно непонятно, зачем, для какой цели - эта (вторая, по счету) "уязвимость" сейчас поставлена вдруг на "вид". Когда известна она - чуть ли не с самого момента разработки языка С. Т.е. еще чуть ли не с 80-х годов прошедшего столетия. Хм... говорят, когда что-то становится странным и неясным - смотри в сторону экономики. Что же, посмотрим - немного ниже.

По поводу первой уязвимости (Meltdown) - возможно (но, не факт - об этом см. ниже), что она, в самом деле, имеется. В конце концов, наверное, именно поэтому (?...) владелец компании Intel продал большую (но не всю, однако) часть своих акций еще летом 2017 г., а об уязвимости стало "известно" (точнее - об этом раструбили желтые журналисты, перепечатывая материалы друг у друга, пусть и с небольшими изменениями) - только к концу 2017 г. Впрочем, не будем спешить с выводами. Памятуя факт прекращения разработки, например, отличной программы NVU, о чем я уже писал, можно предположить, что аналогичная ситуация могла случиться и с Intel. Если кто-то кому-то (например, разработчику) хорошо заплатит - он вполне может прекратить заниматься своей деятельностью. А если заплатят... еще больше - то может и начать обвинять СЕБЯ, к примеру, в убийстве Дж. Кеннеди. Не, не все, конечно, разработчики такие. Есть и несгибаемый Ричард Столлман, к примеру. Которого хотелось бы назвать святым, но, не буду (пока).

Да что далеко за примером ходить. Взять, хотя бы, одного моего знакомого. Который у нас, в г. Уфе, самостоятельно разработал технологию выращивания тюльпанов... у себя в гараже. Да, в обычном гараже, размерами 5х7 м2. Да так, что тюльпаны раскрывались у него ТОЧНО к утру 8 марта, скажем. Да, хоть верьте - хоть нет. Вот 6...7 марта они стоят такие, еще только набирают силу, бутоны еще. А рано утром 8 марта - раскрылись во всем своем великолепии. Очередная партия тюльпанов раскрывалась у него к Новому году, ну, к другим основным праздникам. Вначале он продавал их сам. Потом понял, что выгоднее и проще сдавать их оптом - посредникам (тем самым тетушкам, которые стоят там и крутятся туда-сюда - ну, и т.п.).

На эти деньги он и жил. Ну, плюс - какая-то пенсия. И вот, как-то раз к нему (дело было у нас на Центральном рынке лет 15 назад, еще до его перестройки) подошел человек. Похлопал, говорит, меня про плечу и сказал: ну, что, дед, как торговля идет? Я смотрю, ты тут часто торгуешь, оптом сдаешь цветы. А научи меня - как ты вот их выращиваешь, какая у тебя технология. Я тебе даже заплатить могу.

А знакомый мне и рассказывает. Вот я стою и думаю... в самом деле, чем возиться круглый год с этими тюльпанами, да потом продавать их... а не проще ли, в самом деле, продать технологию этому человеку - пусть у него будет этот бизнес, а я сам отойду от дел. К тому же, ему (моему знакомому) на тот момент было лет так 75. Ну, продолжает, подумал я подумал - и говорю ему: хорошо. Стоимость технологии - 100 тысяч (сто тысяч рублей, по ценам примерно 2002 года). Что Вы, говорю, мол, ему, будете иметь: все мои записи за несколько десятков лет (а это - наблюдения за погодой, требуемый сорт и объем удобрений в зависимости от окружающего давления, температуры, точное количество воды для полива, опять-таки - в зависимости от условий и времени года и кое-что еще; кроме того, тому человеку был обещан детальный конспект - как и когда сажать, когда вынимать из земли, когда поливать, сколько часов подсвечивать лампами и т.д.). А я, в свою очередь, тогда этим делом заниматься прекращу, т.е. МЕСТНЫХ конкурентов у Вас не будет. От слова - вообще. По словам моего знакомого, тот человек несколько раз произнес звуки "ну-у...". Потом попросил номер телефон, обещал подумать "ну-у..." и ушел.

Так и в мире бизнеса компаний (IT-технологии - не исключение) - подобное бывает сплошь и рядом. Когда кто-то продает свои права ПОЛНОСТЬЮ кому-то другому, а сам - прекращает заниматься этой деятельностью.

Кроме того, в конце концов, не стоит думать, что современный мир IT - такой уж идеальный и безоблачный. Да, типичному пользователю, который умеет лишь включать компьютер и, быть может, запускать браузер, может все казаться в розовом свете (вот, мол, только интернет - дорогой и не всегда работает, как полагается). Ну, а вот тем, кто участвует в этой "внутренней каше", на самом-то деле, известно кой-чего побольше. Войн-то в интернете немало идет. И относительно честных, и криминальных. Хакеры-то никуда не делись. Да и не только в них дело.

Я к тому, что многое в этом мире (и IT-область - не такое уж прям исключение) - продается и покупается. А Intel - это часть IT-мира.

Итак, с Spectre все ясно. Конечно, если программа написана некорректно - тут уж виноват ЕЕ разработчик. Что же касается "уязвимости" Meltdown - так чтобы ее использовать (эксплуатировать, как говорится), необходимо, опять-таки, получить доступ к компьютеру. С одной стороны, если на компьютере есть эффективный антивирус - проблемы, вроде как быть не должно. С другой стороны, если уж кто-то (например, хакер) сумел получить доступ к компьютеру - так он и без Meltdown вполне сделает все то, что ему потребуется. Ну, если умеет работать на компьютере, конечно. Так бы всегда, с самого начала появления компьютеров. Это примерно, как если у человека есть ключи от квартиры - понятно, что он сможет туда войти и что-то взять оттуда. Или, наоборот, принести. Точно так же - и здесь.

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

В общем, даже если и есть такая "уязвимость" - но, кто попало ею воспользоваться не сможет.

Итак, одна "уязвимость" была известна и ранее, о ней знал любой, кто мало-мальски разбирается в программировании. А вторая - безобидна. Ибо для ее эксплуатации потребуется доступ к компьютеру, к его операционной системе, точнее, к ее ядру. В той же Windows 7, к примеру, даже администратор не имеет, по умолчанию, такого доступа. В этой (и последующих, видимо) версии операционной системы Windows есть еще "суперпользователь" (он "прошит" в системе). который имеет прав больше, чем администратор. Поэтому, даже администратору - и то воспользоваться такой уязвимостью будет непросто. Ибо операционная система, как минимум, спросит что-то вроде: "Программа собирается внести изменения в...". Пользователь увидит это сообщение. И - может либо согласиться (на свой страх и риск), либо - отказаться.

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

Так тогда - кому это может быть выгодно?

Заметим, что среди разносчиков новостей сплетен об "уязвимостях" не так много серьезных изданий. По крайней мере, в ТОП поиска Google - в основном желтая пресса, печатающая так называемые "новости". Конечно, есть Касперский (в виде его блога), а также журнал "Хакер" (который тоже, кстати, иной раз публикует давно известные уязвимости). Но, и их я не могу считать серьезными изданиями. Что подтверждается СЕЙЧАС, так как и они публикуют об обсуждаемых "уязвимостях", к сожалению, ерунду.

И, кстати, лишний раз понял, что был полностью прав, перейдя на другой антивирус уж лет 10 с лишним, наверное, назад. Впрочем, ESET NOD32 - тоже отличился: "С помощью этих брешей хакеры могут получить доступ ко всем данным из операционной памяти вашего устройства — т.е. удаленно вытащить пароли, переписку, фото и другие загруженные данные. Использование Meltdown и Spectre не оставляет следов в системе.". Как видно, эта компания даже ввела, неизвестный, по крайней мере, мне, термин: "операционная память" (а я "почему-то" всегда пользовался термином "оперативная память" - на лекциях, к примеру). Но, надо отдать ей должное - она хоть не лжет внаглую, как некоторые, и не пытается навязать людям заведомую ерунду по поводу "опасности" javascript в связи с выявленными "уязвимостями".

Я должен здесь пояснить, чем плох данный неологизм. При схожести звучания ("оперативная" ↔ "операционная"), эти слова имеют разный смысл. Оперативная - это означает - быстрая, функционирующая оперативно, сразу, т.е. А термин "операционная" подразумевает наличие, выполнение каких-либо операций. Да, в оперативной памяти, действительно, осуществляются ОПЕРАЦИИ (например, такие, как запись страниц). Но, в этом смысле - "операционная" память ничем не отличается от других устройств компьютера, например, от процессора или жесткого диска. Ведь операции осуществляются и там, и там. Поэтому, термин "операционная память" - ничего не говорит тому, кто его прочитает. Этот термин НЕ обозначает особенности оперативной памяти. А у нее, в самом деле, особенность есть: запись данных в нее или их извлечение оттуда происходит, в общем случае, гораздо быстрее, чем выполняются аналогичные операции на жестком диске. Вот потому-то и введен был такой термин - "оперативная память". Ну, это примерно как сравнивать слова "крыша" и "крышка" (или "крышка" и "покрышка"). Вроде бы, звучат схоже и обозначают примерно то же самое. Однако, едва ли кто назовет крышкой - крышу дома, скажем. А, открывая банку варенья - все-таки, здравомыслящий человек скажет, что банка-то была крышкой закрыта, все же. Но, не крышей.

Конечно, полностью выдачу поисковиков я не исследовал на предмет обсуждения "уязвимостей" процессоров Intel, может где-то на 200...500+ страницах кто-то, в самом деле, и пишет что-то другое, более объективное. Но, по крайней мере, те, что сейчас находятся в ТОП, в основном повторяют друг друга.

Из публикаций заметна некая мягкая (пока...) настойчивость - обновляйте, мол, свои операционные системы и... браузеры. Интересно, что обо всех остальных программах таких советов НЕ ДАЕТСЯ. А ведь, опять же, любому, мало-мальски сведующему в программировании, очевидно, что отправить информацию в интернет может не только браузер, а и любая другая программа, если она заражена вирусом. Да, и отправить, и получить ответ с нужного сайта. Собственно, это у меня каждый студент умеет. Ну, если не совсем уж разгильдяй, конечно (но, таких, к счастью - немного). Это - то, что мы делаем, в частности, в рамках курса "Вычислительные системы, сети и телекоммуникации". Например, в этом задании - для начала. Это может быть программка размером в пару килобайт - и она отлично, БЫСТРО справится с задачей отправки информации на требуемый сайт. Если она инфицирована вирусом, а антивирус, установленный на компьютере, не идентифицирует подобную вредоносную активность. Но, опять же - ПОЧЕМУ же упор сделан только на браузеры?... В конце концов, тот же антивирус (практически любой) иногда обменивается информацией с сервером разработчика - он тоже вполне может отправлять информацию с компьютера в сеть.

Не оттого ли, что уж сегодня-то - каждому обывателю известно, что браузер, мол, это такая программа, которая с интернетом как-то там работает. А про остальные программы у обывателя может быть представление меньше. Иными словами, предварительный вывод такой: сплетни об "уязвимостях" направлены на широкую массу пользователей компьютеров - с одной стороны. С другой стороны, это же понятно, что на компьютерах пользователей - чего только не установлено. У кого-то есть и дорогие программы. И, представьте себе - если будут советовать обновить ВСЕ программы?... А как быть государственным предприятиям? Это же все остановится на определенное время.

Кто-то может возразить - мол, замалчивают пока, а потом скажут больше. Однако, дело тут - в разных вещах. Это вот, скажем, Россия длительное время (несколько месяцев) замалчивала информацию об аварии в 2017 г. в Челябинской области с выбросом радиоактивных веществ в атмосферу. Сказали официально об этом уж много после, когда об этом узнали все, в том числе, и за рубежом, когда радиоактивная пыль уже практически осела (а до этого момента разные там секретари с часами и пр. - отмалчивались). А тем же Google или Intel - какой смысл замалчивать, если уж что-то там сказано? Наоборот, раз уж решили они поднять шумиху (которая, повторимся, началась вскоре после того, как владелец Intel продал свои акции) - так ...? Стало быть, как и в упомянутом случае с Россией, кое-кому выгодно ИМЕННО ТАКОЕ преподнесение информации. Ведь, что станет известным от них - это (и только) будут писать в "новостях". Ну, плюс - домыслы, гипотезы.

В браузерах "нашли" то, что может, якобы, воровать информацию с компьютеров. Это - язык javascript. Точнее, не сам он, а скрипты, на нем написанные. Опять же - здесь расчет ИСКЛЮЧИТЕЛЬНО на тех, кто не знает, что javascript вообще неспособен толком получить доступ даже и к файловой-то системе компьютера. Не говоря уже о доступе... к устройствам(!), тому же кэшу. Это, опять-таки, знает любой студент, к примеру, нашего факультета, изучавший предмет "Операционные системы", а также вебпрограммирование и аналогичные дисциплины. Это даже не то, что смешно. Это уже ГРУСТНО, за то, что народ попросту дурят по-черному. А люди, отчасти - не понимая, о чем идет речь, все это еще и обсуждают.

Javascript - это высокоуровневый, ИНТЕРПРЕТИРУЕМЫЙ язык программирования. Скрипты на этом языке могут считывать информацию из оперативной памяти - но только ту, которая относится к странице, на которой эти скрипты запущены. Точнее, считывает, вообще-то, вовсе не сам javascript. Считывает-то - браузер. Браузер, который интерпретирует команды, содержащиеся в JS-скриптах. В отношении же данных, хранящихся на жестком диске - скрипты на javascript если и могут считывать информацию - так лишь из COOKIES (куки), SessionStorage (сессии браузера) и localStorage (локальное хранилище) - и ВСЕ. И то, и другое - весьма ограничено по объему, во-первых. Во-вторых, для каждой вебстраницы - куки являются своими, личными. Т.е. если скрипт (точнее, браузер под указанием скрипта) и попытается прочитать куки другой страницы - браузер попросту заблокирует такой запрос, да и все. Да что там, даже из фреймов - и то браузер не позволяет ничего прочитать, даже если они расположены, казалось бы, на той же самой странице. Политика безопасности браузеров, в конце концов. Что же касается localStorage - оно, да, может быть доступно для любой вебстраницы, открытой в том же самом браузере. Но, в нем конфиденциальную информацию уважающие себя вебмастера (например, разработчики электронной почты, онлайн-банкингов, платежных систем) не хранят - это общеизвестно. И тут - вдруг обвинение javascript в некоей функциональности, на которую он, повторюсь, попросту неспособен. Стало быть - это кому-то выгодно. Стало быть, возможно, в будущем кое-кем (кто является далеко не последним в Web-области) планируется прекращение поддержки javascript в браузерах. А что будет взамен?

Ну, хорошо, чуть подробнее

Чем может быть опаснее именно браузер и именно javascript – по сравнению с другими программами? Тем, что браузер, даже будучи НЕинфицированным, имеет функциональность по отправке сообщений в интернет БЕЗ ВЕДОМА ПОЛЬЗОВАТЕЛЯ (а, скажем, Windows Word 2003 или Paint такой функциональности не имеют, по умолчанию). Это браузер осуществляет, в частности, руководствуясь командами скриптов javascript, содержащихся на конкретной вебстранице.

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

Вот на сервер хакеров попадут они, эти данные - в виде массы байтов. Дальше-то что? Как хакер узнает – ЧТО они собой представляют (не забудем, что объем оперативной памяти в современных компьютерах весьма немал и составляет от 4 ГБ)? Ведь в оперативной памяти – там чехарда на первый взгляд, иначе не скажешь. Там и системные данные, и пользовательские… и где-то там, да, есть пару (десятков) килобайт, в самом деле, с куками (в которых могут содержаться, к примеру, хеши паролей). Но, опять же. Во-первых, КАК хакер узнает, что эти данные представляют собой именно куки, а не просто мусор, который никому не нужен и может быть вскоре уже удален из памяти? Во-вторых, КАК он узнает, что именно эти куки относятся, например, к электронной почте или банкингу? Ведь открытая-то в браузере вебстраница, отсылающая данные хакерам, ни к тому, ни к другому отношения не имеет. В-третьих, пока пользователь браузера не зашел на вкладку электронной почты, банка или т.п. – в оперативной памяти НЕ БУДЕТ соответствующих кук (об этом у меня каждый студент знает, это - банально). При этом хакер получит некую, повторюсь, кучу байтов... и все на этом. В-четвертых, хакеру придется таким образом сканировать (точнее, подменять) и отправлять в сеть ВЕСЬ объем оперативной памяти. Трафик будет от 4 ГБ. Мое сетевое соединение отправит такой объем в течение, наверное, пары часов. И то, при условии, что ничто иное ни приниматься из сети, ни отправляться – не будет. Хакеру придется долго ждать. В-пятых, когда пользователь зайдет, скажем, в электронную почту, то на соответствующую страницу оперативной памяти, да, попадут куки этой почты (ну, а хакер, допустим, тем временем, уже вовсю рыбачит в оперативной памяти, в КЭШе и подменяет там одну страницу за другой, отправляя их в интернет – при условии, что он неким невероятным образом получил для себя ПОЛНЫЕ права на этом компьютере). При этом он, естественно, не знает, на какую вебстраницу зашел пользователь (ну, если браузер не инфицирован, конечно; в противоположном случае – подаст свой голос антивирусная программа). И вот, к хакеру, допустим, попадает поток данных из КЭШа, из оперативной памяти. А тут еще и пользователь стал замечать, что скорость сетевого соединения стала как-то меньше, что-то медленно вебстраницы стали открываться...

И вот, хакер стал анализировать – какие из полученных совокупностей байтов МОГУТ БЫТЬ куками почтовой вебстраницы. Задача эта едва ли разрешима в реально обозримый момент времени, особенно, если куки могут иметь переменную длину. А пользователь, посмотрев минут 15 почту, занялся другими делами на компьютере. Например, решил статью в формате pdf почитать. Или – новости посмотреть, музыку послушать. И... – в оперативную память, в кэш – полетели совсем другие данные (их хакер тоже, предположим, получит). Если к вебстранице электронной почты пользователь не обращался определенное время – данные из КЭШа и оперативной памяти будут кешироваться на жесткий диск. В результате работы алгоритмов кеширования. Это приведет к тому, что в оперативной памяти будут уже другие данные, куки могут оттуда исчезнуть. А хакер, допустим, уже вовсю рыбачит и рыбачит в КЭШе и в оперативной памяти. И сетевое соединение компьютера все отправляет и отправляет в сеть гигабайты информации... Не, ну, может, хватит фантазировать, в самом деле? В конце концов, даже самый сложный пароль, ТЕОРЕТИЧЕСКИ, тоже можно подобрать. Сразу - наугад или в течение (многих сотен) лет перебора.

Лично мне показалось довольно странным, что новый браузер Firefox теперь стал многопоточным. То ли, как отмечают, по совету Google - разработчика браузера Google Chrome, то ли по иной причине. Сама-то по себе концепция многопроцессности-многопоточности - правильная и ее стоит применять, если говорить в целом. Но, я заметил одно: новый браузер Firefox стал медленнее (чем та версия, которая у меня, по крайней мере). Гораздо медленнее, хотя, многопоточность-то как раз и реализуется в подобных случаях, зачастую, в целях повышения производительности. Об этом я уже писал. Хотя, "вокруг" пишут - противоположное.

Есть у однопоточности в браузере одна полезная сторона: безопасность. А именно, если скрипты на какой-либо вебстранице начинают вести себя странно, страница не может функционировать - то временно, на пару минут, подвисает ВЕСЬ браузер. А это ясный сигнал пользователю: немедленно закрыть браузер, затем вновь открыть его, ТУТ ЖЕ закрыть проблемную вкладку (вызвавшую зависание) и забыть о ней, более не заходя на "сайт", содержащий проблемные скрипты. А в условиях мнопототочности... вот и будет - разбери-пойми, какая именно из вкладок вызывает проблемы. И вот, представьте, понаписали "специалисты" очередную порцию скриптов, в итоге - половина вкладок в браузере зависла. И, как понять, какие?
А еще один аспект касается как раз кражи большого объема данных. Если в "современных" браузерах действительно появится возможность взаимодействия javascript с файловой системой (а то и с устройствами, что, повторимся, пока - отсутствует) - ну, тогда контроль пользователя за работой браузера еще более затруднится, тем более - в условиях многопоточности. А такое может вполне появиться под эгидой "более широких современных возможностей". Ну, в конце концов, ввела же Microsoft пресловутые альтернативные потоки, умышленно ах, да, по неведению, создав очередную потенциальную возможность для хакеров, что, на мой взгляд, можно назвать очередной брешью в операционной системе (существующей до сих пор, несмотря на некие "патчи"). Так что, на самом деле, еще вопрос, что лучше: одно- или многопоточность применительно к браузерам.


Кстати, надеюсь, не нужно объяснять, что в условиях бинарных протоколов в интернете использование разного рода фреймворков и высокоуровневых прикладных программных сред по принципу "за деньги" будет реализовываться все чаще и чаще? Хотя бы просто потому, что меньше разработчиков будут способны создать свои, открытые фреймворки. Интересно, если верить словам модератора официального форума компании, корпорация Microsoft может засудить, даже посадить, каждого, кто отключит систему автообновления Windows 10. При этом г-н Grand_Ross ссылается на статью Уголовного кодекса России «Нарушение авторских и смежных прав». Согласно УК РФ, данная статья предусматривает лишение свободы на срок до шести лет, а также штраф до миллиона рублей. И вот тут, на мой взгляд, равновероятны оба предположения:
  • либо Microsoft таким образом решила отфильтровать, оттеснить от использования своей операционной системы всех тех, кто хоть мало-мальски считает себя человеком;
  • либо - считает, что пользователи сейчас согласятся вообще на все, что им предложат.
Собственно, скорее, последняя версия даже более верна. В самом деле, если уж народ России СТОЛЬКО лет терпит столь огульное (я бы сказал) попрание СЕБЯ, если он вновь и вновь, до последнего, готов отдать свою жизнь, личность, экономику, права, культуру, образование и т.п. - во власть известного персонажа (отнюдь не сказочного, к сожалению), то что там говорить о таких "мелочах", как навязывание обновления Windows, да еще под угрозой уголовной ответственности. Это же очевидно. Сдается мне, уж в Microsoft-то этот момент отлично понимают (там не дураки ведь, в самом деле). Впрочем, характерен подход этой компании к выявленным "уязвимостях".

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

А, может, зря, в самом деле? Может, как и во многих других подобных случаях, когда партнер начинает "в бутылку лезть" - лучше, в самом деле, дождаться, когда Microsoft начнет активничать со своими обновлениями/новшествами - да и попрощаться с ней, вспоминая о ней и ее операционной системе, лишь как о некоем факте истории?... Жаль вот только, пока нет в Linux программы Notepad++.

Хм... зато вполне есть PhpStorm, кстати (и даже дополнительную лицензию приобретать не потребуется). Который, правда, иногда дурью мается (в отличие от безукоризненного и надежного Notepad++). Поэтому ТОЛЬКО PhpStorm при работе над веб-файлами - это проблемно и нецелесообразно. Может, как-нибудь напишу об этом подробнее, если желание возникнет.

notepadqq

Впрочем, вместо Notepad++ в Linux есть практически полный его аналог под названием Notepadqq, скачать его можно здесь. Чтобы установить его в Ubuntu, нужно выполнить:

sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt-get update
sudo apt-get install notepadqq

Вывод?

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

Несмотря на то, что пока прогнозировать сложно, хотя, кое-что - уже "шито белыми нитками", как говорится. Но, раз пошла "атака" на javascript (а на некоторых форумах "программисты" даже, вроде как, всерьез обсуждают "опасности" скриптов на JS, обусловленные "уязвимостями" Spectre и Meltdown, то, повторимся, кому-то он стал мешать. Причем настолько, что его, по всей видимости, скоро в ("новых") браузерах не будет. Ну, или JS-скрипты будут помечаться браузерами, как "опасная" технология. Что тогда будет?... Но, чтобы развитие интернета, все же, не остановилось - важно, чтобы люди (пользователи сети) приучились СРАЗУ обновлять свои браузеры. Возможно, вот как раз для этого и потребовалась новость об "уязвимостях". Потом, возможно, найдутся иные рычаги воздействия. Например, Microsoft может ввести для пользоватей обязанность своевременного обновления Windows. А тех, кто откажется, может ожидать уголовная ответственность. Поводом для которой может стать нарушение авторских прав на программу - изменение ее функций без разрешения разработчика. Точнее - бездействие в своевременном обеспечении соответствия операционной системы требованиям разработчика, согласно лицензии (а последнюю могут скорректировать; да практически никто и ухом не поведет - будут соглашаться, как (...), не глядя, ставя соответствующую галочку при установке системы на жесткий диск). Ну, или - варианты.

Кому может мешать javascript в его сегодняшнем виде? И чем?... Не своей ли свободой и открытостью - для пользователя? В том смысле, что любой пользователь, открывший вебстраницу какого-либо сайта, может легко получить доступ ко ВСЕМ скриптам, выполняющимся на ней. И, стало быть, проконтролировать их выполнение. А то и - скачать, да и запустить в режиме отладки, детально посмотрев, что там и как выполняется. А, при желании, легко ЗАПРЕТИТЬ выполнение ВСЕХ скриптов или выборочно (последнее - сложнее). Для того, кто незнаком с javascript, понятное дело, это может показаться сложным. Но, для мало-мальски специалиста – это делается очень быстро. Ну, а в самом-то деле - чем еще объяснить такое, пожалуй, огульное обвинение javascript в том, что он делать неспособен? Едва ли тут дело в производителях процессоров - конкурентах Intel, как может показаться с первого взгляда.

Так вот, о будущем интернета

Видимо, скоро интернет станет закрытым (зашифрованным, к примеру). И так просто на вебстраницах уже невозможно будет посмотреть, ЧТО передано на компьютер пользователя и ЧТО оттуда передается вовне, в сеть. Но, это еще одно. Хуже - другое. Пока вот я, к примеру (да и не только я) могу вполне легко и быстро отключить любую рекламу и все другое, что мешает, на любом сайте. Как я это делаю, я писал здесь. Помогает в этом расширение AdBlock, да и масса иных средств, в том числе - и самописные. Т.е. пока - все хорошо. Ну, а когда интернет зашифрован, когда к вебстраницам не будет доступа и невозможно будет, при необходимости, убрать со страницы мешающий блок, контент - тогда будет хуже. Тогда, собственно говоря, компьютер превратится в, своего рода, телевизор с более широкими возможностями. Естественно, те, кому мешает интернет в его современном, открытом и доступном для всех виде - вслух об этом СЕЙЧАС не скажут. Вслух будут, насколько мне видится, и дальше говориться слова о "безопасности", "необходимости обновлений". "Специалисты", однако.

Ну, как в свое время было много разговоров о такой ахинее, как свиной грипп, птичий... интересно, а вот мышиного или комариного гриппа не было? Ну, или еще какого. А я-то лично, СВОИМИ ГЛАЗАМИ видел, как знакомые в деревне, из опасения "птичьего гриппа"(!!) выпускали стайку гусей, строго следя, чтобы они не отходили от сарая... выпустят, погуляют гуси часок - и все, опять их в сарай. А то, мол, дикие птицы их "заразят". Во как. Что, не верится?... Кто-то не поверит - а тогда, лет 10...15 назад, этим почти вся страна "жила". Тогда это все обсуждалось - и устно, и в сетях социальных. А еще и письма официальные шли "на места" – так что все было «по-серьезному». Да, сейчас это видится очевидным (...) - но тогда-то люди верили в (очередную) ерунду, спущенную им (хотя, помнится, сколько я ни втолковывал кому... - увы). Получается, что дикие птицы нынче резко повысили свой иммунитет и ПОЛНОСТЬЮ перестали болеть этими гриппами, стали безопасными для гусей, кур и т.п. и уже можно, как и раньше, отпускать последних на волю, не опасаясь заражения. Как-то разом так выздоровели. Что же, молодцы в России, как постарались-то. Вот теперь-то, наконец, понятно, куда утекала огромная часть денег страны: на эти деньги, видимо, диких птиц лечили в свое время и до сих пор лечат. Понятно. Много птиц-то в России (да плюс еще – перелетные) - и всех надо было вылечить от птичьего гриппа. Каждую, наверное, отлавливали и лечили, лечили... от птичьего гриппа... Перелетных, видимо, с самолетов ловили вручную. Раз мы об этом ничего не знали, наверное, это делалось как-то секретно. Впрочем, впрочем. А не потому ли, иной раз, у меня над дачей военные самолеты куда-то на юг периодически так пролетали? Низко так летели-то. Вот, наверное, они-то как раз и ловили перелетных птиц, излечивали их и потом обратно выпускали. Потому и самолетов было немало. Некоторые самолеты, наверное, слишком много птиц поймали, всех излечить не успели. А то, что падежи животных на птицефермах, свинофермах - были и есть, но, СОВСЕМ ПО ДРУГОЙ ПРИЧИНЕ - об этом, конечно, зачем, мол, говорить. Тут же думать (а потом – срочно решать ситуацию) потребуется, а не только обсуждать то, что вывалили (как навоз) в "новостях". Что вот теперь скажешь тут. Вот только "ну-у..." сказать и остается.
Впрочем, нет-нет, да и вновь вызывается интерес – к «птичьему гриппу». Чтобы нескучно было. Зачем, мол, Вам Бальмонта или javascript какой-то обсуждать. Или обсуждать, от чего загнуться можно пораньше: например, от пальмового синтетического масла или сорбата калия (способствующему, вроде как, отложению чего-то там на стенках сосудах и затрудняющего процесс переработки пищи). Конечно, зачем все это обсуждать (тем более, тут мне добавят: "это и так ясно"). А вот "птичий грипп" – гораздо более важная тема. Например, в начале 2018 г. об этом деле сообщило аж Управление Россельхознадзора по Республике Татарстан... Так что все, как видите, очень и очень серьезно. Правда, то самое Управление «почему-то» не сообщает, в каких инквизиторских условиях содержатся, иной раз, эти самые птицы (куры) на птицефабриках. Не в этом ли дело-то? Не это ли приводит к падению их иммунитета (впрочем, не только это, не будем)? Но, как же, наверное, это – «неактуальная» информация. Раз управление-то не сообщает. Стало быть, и мы тут - промолчим-с. Что ж мне, в самом деле, с сельскохозяйственными управленцами-то спорить. Такие вот. Сообщения.
Ну-у... это еще ладно

А вот, скажем, здесь - вполне так серьезно обсуждается, что, типа того, злоумышленник может проникнуть вглубь компьютера (куда-куда???...) за пределы операционной системы (оп-па...), контролировать все (о, даже и те процессы ядра, у которых прав больше, чем у администратора... да уж, как все серьезно нынче, прямо вообще птичий грипп какой-то) процессы и получить доступ к большей части данных. Следующее предложение (по ссылке) еще более "убедительное": Такой уровень доступа означает также, что любой эксплуатирующий эту уязвимость злоумышленник, обойдя традиционную защиту на основе ПО, сможет проводить атаки даже при выключенном (а вот тут, друзья, пора уж и свечи тушить... это - уже все, закат человечества, как совокупности мыслящих существ) компьютере. Не, ну тут - уже все. Если программы, работающие на компьютере (например, вирусы) проникают куда-то "вглубь" него, да еще не куда-то там, а за пределы солнечной операционной(!!... ) системы, да еще и при выключенном компьютере... ну-у..., это уже совсем сильно. Нет, я бы конечно тут еще написал кой-чего. Но, ограничусь кратким: видимо, действительно, глупость/рабство человеческие - неизмеримы. Они нет, не могут поместиться в пустоте, их оттуда выпирает. Наружу. Особенно, когда их культивируют и способствуют им правительства разных стран, крупные компании и, с их подачи, "технические эксперты" и прочие "рейтинги технических возможностей". Как сказал Кончаловский (кстати, несколько раз - в течение своего интервью): люди - очнитесь! Правда, он это сказал совсем по другому поводу - там речь шла об одном известном персонаже. Но, смысл - примерно одинаков. В связи с чем вспоминается программистский фольклор 80...90-х годов прошедшего столетия:

    На столе лежит дискета.
    У нее испорчен boot,
    Через дырочку в конверте
    Ее вирусы грызут.

Эпилог или иначе как-то

Я сам ПРИНЦИПИАЛЬНО ничего не обновлял, да и пока не собираюсь (кроме антивирусов; хотя, и это - ЗРЯ было сделано, теперь - жалею: надо было обновлять лишь антивирусные базы). Ибо - вот что пишут. Видимо, то же относится и к браузерам (надеюсь, всем понятно, что в "обновленных" операционных системах "старые" браузеры могут "почему-то" перестать работать правильно). И, кстати, Вам, читатель - не советую пока (хотя, это мое мнение – можете считать ерундой, можете меня не слушать вообще; ибо, я - не авторитетное издание, не президент, ни т.п. Так что если желаете - обновляйте все, что только можно).

А, в конце-то концов - ну, что за жизнь-то настала недавно? Это чтобы жить по-человечески - нужно теперь, как видится, еще и собственную операционную систему писать (как это сделал, скажем, Э. Таненбаум - правда, как он утверждал, для учебных целей, для своих студентов - речь идет о MINIX; но, подозреваю, что ему тоже, как и мне, кое-что надоело)... Ну, и поддержку флешек, клавиатур, жестких дисков, принтеров, (...) в ней организовывать там (впрочем, достаточно сделать поддержку "все - по одному виду - в пределах того, что лежит на столе". Т.е. - поддержку ОДНОЙ клавиатуры, ОДНОЙ мыши, и т.д.). Правда, непонятно, как быть с уровнем HAL... Впрочем, нужен ли он - в таком случае?... М-да. А то, еще и введут федеральный закон о запрете использования самописных ("несертифицированных", т.е.) операционных систем. Или сделают такую аппаратную платформу, что без пластиковой карточки компьютер не загрузишь. Ну, это так - мнение мое личное. Хотя, не такое уж необоснованное.

Впрочем, впрочем. Одно дело – написать основную часть ядра операционной системы, сделать поддержку необходимых устройств. Но, другое – доделать ВСЕ ОСТАЛЬНОЕ. А этого «всего остального» в современных операционных системах так много, и столь объемно оно, что даже не знаю, как это назвать. Ну, вот, к примеру, в этой статье описываются лишь основные механизмы автозапуска вирусов в Windows. Да, только основные, причем – современные механизмы.

Кстати, на самом-то деле, написание СВОЕЙ собственной операционной системы на сегодняшний день - определенно актуальная задача. Она, уж как минимум, избавит от необходимости приобретать антивирусную программу. А также - позволит наблюдать забавные "росчерки" из серии Segmentation fault или file not found в случаях, когда некая ненужная на компьютере программа все-таки каким-то образом подаст свой голос. Правда, придется портировать имеющиеся общеизвестные программы - типа Word, виртуальный сервер, PHP,.... Тоже проблема. Так думаю, что, возможно, в недалеком будущем те, кто "не все остальные", будут делать свои личные операционные системы.

Чтобы не думалось, что это, мол, так, разговорчики - вспомним, хотя бы, об Android. Я сам этими Андроидами и прочими iOS-ами пользоваться, конечно, не собираюсь - телефон у меня обычный, кнопочный такой, с крупными(!) цифрами на экране (такие телефоны продавцы называют "телефон для пожилых людей"); там одной зарядки хватает, примерно, на 1 месяц - и делай с ним все, что хочешь (ну, кроме забивания гвоздей, конечно). И уж, тем более - никаких вирусов, необходимости иногда (да, еще и небесплатно) переустанавливать систему.
Так что тут я - не о себе, а о многих других. Ну, вначале было, вроде как, все - неплохо. Делались смартфоны (ну, или айфоны - где Андроид-то установлен) выпускались обновления, как обычно. Ну, а потом производитель решил, видимо, положить удобству конец. Теперь, как говорят, на старый (даже 2...3 летней давности) телефон новую операционную систему не установишь. Для этого теперь приходится... новый телефон покупать.

Сумбур, фантасмагория, абстракция?... Да нет, реальность "бытия" - по крайней мере, пишут так. Мне-то без разницы, а некоторые люди - неудобства испытывают. Так что? Теперь ряд производителей этих самых смартфонов (или айфонов, или айпадов - как их там) - решил выпускать свои собственные, авторские операционные системы. Вот и все, чем дело кончилось, как говорят при гадании на картах. Этого ли хотел производитель телефонов по имени Google? Ну, дело личное корпоративное, конечно. Ну, и попутно: я думаю, теперь всем, мало-мальски программистам, стало ясным, что обучаться программированию под Android если и стоит, то, лишь тогда, когда будет соответствующая приемлемая для них вакансия на рынке труда. Ибо, производитель этой операционной системы решил, видимо, отдать часть рынка другим производителям - раз неудобства (это - на высококонкурентном-то рынке!!...) для пользователей ввел. А СКОЛЬКО их будет, таких операционных систем, в будущем-то?... Видимо, много. Все - всё равно не изучишь. Видите, как всё закономерно. Аж, красиво, как в шахматах, иной раз.


В этом плане телефон, кстати, мою НИВУ (автомобиль) напоминает. На которой - куда надо, туда и поехал. В целом, КАК надо, так и поехал (ну, почти так). А не "где смогу проехать". Правда, со старым УАЗом или ГАЗ-66 ей, конечно, не сравниться. Т.е. полной свободы на ней, к сожалению, не достигнешь. По снежной целине, скажем, где-нибудь в поле в разгар зимы - не особо-то наездишься - колеса тут же в снег проваливаются. А снег грести бампером и ехать вперед она, к сожалению, не может.

Если ВСЕ ЭТО делать - тут, понятное дело, жизни не хватит. Да и все другие дела бросить придется.

С уважением, Салимоненко Д.А.