Category: it

Category was added automatically. Read all entries about "it".

размышление

Оглавление

promo eponim2008 september 21, 2020 12:37 3
Buy for 10 tokens
Женщинам дозволено кокетство. Скрывать свой возраст у прелестных дам стало общепринятой причудой. Даже если и скрывать особенно нечего. Потому я в начале моего рассказа тоже пококетничаю немного и своего возраста сразу не назову. Скажу только, что нахожусь я на том отрезке женской жизни,…
размышление

Мои твиты

размышление

Мои твиты

размышление

Как правильно выбирать пароль?

Пароли – это ключи от «замкόв» ворот компьютерных «зáмков», толстые «стены» которых должны защищать важную для нас информацию. Но толщина «стен» не так уж и важна если секретные замки легко взломать.

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

И вот тут-то оказывается, что многие запирают ворота, что называется, «на гвоздик», в лучшем случае, на щеколду. Пользователи упрямо любят простые пароли, но не все понимают, что простота в этом деле хуже воровства. Пароль типа 12345… взломщики пробуют первым и на удивление часто добиваются успеха.

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

Но в самом ли деле это полезные советы? И правильны ли они? И, наконец, тем ли людям они адресуются?

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

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

Но у онлайн-атак есть вполне понятные ограничения. Во-первых, злоумышленника-взломщика паролей легко выявить. Он слишком часто вводит пару имя пользователя – пароль. 60 раз в минуту – следует обратить внимание на этого «работягу»! А еще лучше, сразу заблокировать Интернет-адрес, с которого он пытается войти в систему. Обычно такая блокировка происходит после третьей неудачной попытки входа в систему. Такая блокировка тем более оправдана, что серия посылаемых на сайт комбинаций повышает уровень трафика на входе сайта в тысячу, а то и в десятки тысяч раз. Чем не атака, направленная на ухудшение работы сайта? Такие атаки еще называются DDOS-атаками. Системы защиты сайтов стараются бороться с такими «диверсантами» именно с помощью блокировки входных адресов «активистов».

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

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

Оказывается, что случайно сгенерированный пароль, состоящий всего из пяти символов, цифр или латинских больших и малых букв, вполне устойчив к атаке, производимой посредством перебора. А если символов больше, стойкость пароля растет экспоненциально в зависимости от числа символов. Кроме того, блокировка попыток входа на сайт всего-навсего на 1 час драматически повышает время, необходимое для взлома сайта: вместо 4 месяцев для взлома понадобится 8 тысяч месяцев!

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

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

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

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

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

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

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

Что же делать пользователю для сохранения собственной информационной безопасности?

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

Послушайте, — сказал вдруг великий комбинатор, — как вас звали в детстве?

А зачем вам?

Да так! Не знаю; как вас называть. Воробьяниновым звать вас надоело, а Ипполитом Матвеевичем слишком кисло. Как же вас звали? Ипа?

Киса, — ответил Ипполит Матвеевич, усмехаясь.

— Конгениально!

                                          И. Ильф. Е. Петров. 12 стульев.

Другая возможность – использовать слова другого языка. Очень хорошо, если язык этот не слишком распространен в тех краях, где придется пароль применять. В Сан-Франциско или в Осло пароль типа «KilManda2019» разгадать труднее, чем в Москве. А вот в Казани это может быть гораздо легче. Татарское слово «киль манда» там знают не только татары, но и многие русскоязычные.

И, кстати, второе правило тоже следует блюсти: перемешивать прописные и строчные буквы.

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

Наконец, четвертое правило: следует разделить пароли на очень важные и менее важные.

Для чего это нужно? Менее важные пароли можно генерировать по какому-либо правилу, позволяющему облегчить запоминание. Например, составлять пароль из двух слов. Первое слово пусть будет названием столицы какой-нибудь страны. Конечно, латиницей, и конечно, подлиннее.  Скажем, KualaLumpur. А второе слово пусть будет цифрой, равной количеству букв в первом слове. Например, для упомянутой столицы Малайзии это будет 11. Итого: KualaLumpur11.

А вот пароли, которыми приходится особенно дорожить, должны быть длинными и абсолютно случайными. Лучше всего их генерировать онлайн или с помощью специальных программ. Очень важные пароли обычно связаны с различными денежными делами: например, пароли к банковским счетам или же – еще важнее – к кошелькам с криптовалютой. Пароль, состоящий из 32 случайных алфавитно-цифровых символов: HtwpJzt3qlSfOQbkZLVgdrN5DJTJdaJ9, разгадать практически невозможно.

Беда в том, что и запомнить его и воспроизвести без ошибки или опечатки весьма сложно. Но это проблема разрешаемая. Существуют специальные программы для хранения паролей, которые называются «Password manager», менеджеры паролей. Эти программы освобождают память пользователей и устраняют многие сложности. Однако в этом случае один пароль все же запомнить придется. Этот пароль менеджер будет запрашивать всякий раз, начиная работу. И он, конечно, не должен быть простым.

Статья опубликована на сайте Школа жизни

Статья опубликована на сайте Школа жизниПолезные ссылки:

  1. Do we really need strong passwords?

  2. How to pick a proper password

  3. How to choose password

размышление

Что такое обфускация?


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

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

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

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

Примеров «реверс-инжиниринга» в истории мировой техники – воз и маленькая тележка. «Передирали» все и у всех. Известно, что советский грузовик АМО-3 был почти полной копией американского грузовика AutoCar-SA, а бомбардировщик Ту-4 в конструкторском бюро А. Н. Туполева почти полностью скопировали с американского самолета Boeing B-29 Superfortress. Последняя история довольно весело описана Виктором Суворовым в его книге «Победитель» в главе «Кирпичный бомбардировщик».

В министерстве электронной промышленности СССР приказом министра были запрещены любые рационализаторские предложения. Почему? А потому, что минэлектронпром занимался копированием электронных приборов, чертежи которых разведчики крали в США. А посему, шаг вправо, шаг влево от этих чертежей считался нарушением технологической дисциплины и сурово карался. Какая уж тут рационализация!

Не следует думать, что только Советский Союз отличался в этом, мягко говоря, реверс-инжиниринге. Как уже было сказано, крали все и у всех. Автомат Калашникова был настолько прост в конструкции и в производстве, что во многих странах его копировали без лицензии и без разрешения Ижевского завода. Во время Второй мировой войны немцы скопировали и применяли советский 120-миллиметровый миномет. А американцы и англичане, не мучаясь угрызениями совести, скопировали очень удобные немецкие канистры для бензина. Потом то же самое сделала советская промышленность. Этими канистрами, кажется, пользуются до сих пор. Только кто помнит, что они – немецкие?

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

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

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

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

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

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

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

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

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

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



Статья опубликована на сайте Школа жизни

Статья опубликована на сайте Школа жизниПолезные ссылки:

  1. Юричев Д., Введение в reverse engineering для начинающих

  2. Что такое обфускация

  3. Защита приложения. Ч. 2. Обфускация

  4. О чудесах современной обфускации

  5. Реверсинг и обфускация, как это работает


from Facebook
размышление

Какую информацию можно получить из штрих-кода?


13 цифр, как оказывается, вполне хватает для того, чтобы закодировать все товары, производимые в мире. Первые 2 или 3 цифры штрих-кода отведены для кодирования страны-производителя. С этой целью каждой стране присвоены один или несколько кодов. Так, для США и Канады отведены номера с 00 по 13, код России – номера от 460 до 469.  Первые три цифры товаров, произведенных в Германии, занимают промежуток номеров от 400 до 440. Коды товаров, изготовленных  на Тайване, начинаются с цифры 471, а товары, изготовленные в Народном Китае, метятся цифрами от 690 до 692. Так что спутать этих два Китая невозможно даже случайно.

Следующие 4 или 5 цифр кодируют производителя товара внутри данной страны. В каждой стране эти коды присваиваются специальной национальной организацией по кодированию. С помощью четырехзначных десятичных чисел можно закодировать 104 производителей, а с помощью пятизначных – 105. Этого достаточно.

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

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

Допустим, что код товара 4606453849072. Продемонстрируем, как работает алгоритм вычисления контрольной цифры.

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

1. Сложить цифры, стоящие на четных местах:

6+6+5+8+9+7=41

2. Полученную сумму умножить на 3:

41x3=123

3. Сложить цифры, стоящие на нечетных местах, естественно, без контрольной цифры: 4+0+4+3+4+0=15

4. Сложить результаты вычислений, указанные в пунктах 2 и 3:

123+15=138

5. В результате вычислений пункта 4 взять последнюю цифру : получим 8

6. Из 10 вычесть результат вычислений пункта 5:

10-8=2

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

Поясним это на примере. Допустим, мы хотим выдать товар, произведенный в России, за товар тайваньского производства. Для этого, не мудрствуя лукаво, заменим в коде только что рассмотренного товара всего две цифры в коде страны. Вместо с 460 напишем 471: 4716453849072. Рассчитаем теперь контрольную цифру, следуя только что использованному алгоритму. Получаем, что в этом случае результат 8, а не 2.

Иногда все же код страны, нанесенный на этикетку товара, не соответствует стране-изготовителю, указанной в ярлыке или заявленной на упаковке, и это не результат фальсификации. Причин несовпадения может быть несколько. Во-первых, фирма может быть зарегистрирована в той стране, куда производится экспорт ее продукции. Например, завод фирмы «Фольксваген» находится в Калуге и поставляет свою продукцию, главным образом, в Россию. Во-вторых, товар может быть изготовлен на дочернем предприятии, расположенном в другой стране. Третьей причиной может быть то, что товар изготовлен в одной стране по лицензии фирмы, расположенной в другой стране. Так, большинство итальянской модной одежды изготавливается по итальянской лицензии в странах Ближнего или же Дальнего Востока, где труд рабочих стоит несравненно меньше, чем в столице мировой моды, Милане.

Как ни странно, отцы православной церкви, тоже обратили внимание на штрих-коды. И взглянули они на них – что не удивительно – со своей колокольни. Взглянули, и обнаружили наличие в каждом вводимом штрих-коде сочетание трех шестерок. 666 – знаменитое «число зверя» из Апокалипсиса многие считают именем дьявола, а посему находят в невинном средстве автоматизации торговли скрытую угрозу для всего человечества. Кто хочет подробностей, может погуглить сочетание «EAN-13 666» и ужаснуться. Или посмеяться. Поиск в Гугле или в Яндексе сочетания «EAN-13 православие» или «штрих-код православие» тоже доставляет удовольствие.



Статья опубликована на сайте Школа жизни

Статья опубликована на сайте Школа жизниПолезные ссылки:

  1. Barcode scanning

  2. Barcode в Википедии

  3. Методы расшифровки штрих-кода

  4. Дизайнерские штрих-коды талант и восхищение

  5. Симвология

  6. Что надо знать о сканерах штрих-кодов

  7. Двумерный штрих-код: сам себе база данных

  8. Штрих-код и его разновидности

  9. Бесплатный генератор штрих-кодов онлайн

  10. Top Barcode Scanner Apps (for iOS and Android): The 36 Best Apps for Scanning and Reading Inventory Barcodes

  11. Типы штрихкодов, выбор правильного штрихкода

  12. Штриховые коды EAN

  13. How Barcodes Work

  14. Огромная база данных продуктов по их штрихкодам

  15. Исследование штрих-кода на наличие в нем числа 666

  16. How to read barcode (Youtube)

размышление

Короче, Склифосовский или Как сокращают интернет-адреса?

В наше время без Интернета – никуда. Поэтому самая популярная программа на любом компьютере, планшете или смартфоне – это Интернет-браузер, программа для получения и просмотра информации из Интернета.

В любом Интернет-браузере имеется строчка (как правило, верхняя), в которой высвечивается адрес текущей Интернет-страницы или URL. Сокращение URL раскрывается, как Uniform Resource Locator и переводится на русский кривоватым словосочетанием «единообразный локатор ресурса». Термин этот был придуман изобретателем «всемирной паутины» Тимом Бернерсом-Ли в 1990 году для описания обобщенного адреса размещения данных в Интернете. URL включает в себя всю информацию, позволяющую отыскать любой информационный ресурс на любом компьютере, подключенном к Всемирной Сети.

Например, портрет Тима Бернерса-Ли, приведенный в этой статье, был найден в Интернете и первоначально имел такой URL:

http://1.bp.blogspot.com/-xwniTFpVu5I/VIyRtG7rOuI/AAAAAAAAIxU/hx285Wo0X8w/s1600/Tim-Berners-Lee-1.jpg

«Расшифровка» этого URL достаточно проста. Строчка показывает, что файл изображения, который называется Tim-Berners-Lee-1.jpg, находился на компьютере, доменное имя которого было 1.bp.blogspot.com. Интернет устроен так, что доменное имя однозначно определяет электронный адрес компьютера в сети Интернет (IP-адрес). Ну, а если IP-адрес компьютера известен, браузер может без труда связаться с ним, где бы тот не располагался и получить доступ к необходимому файлу. Путь к файлу на компьютере определяется длинной строкой латинских букв и цифр, разделенных символами /, которая размещена между доменным именем компьютера и именем собственно файла.

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

В данном примере URL представляет собой строку из 101 символа. Но это не предел. Теоретически длина строки URL не ограничена. Практические ограничения накладываются только «конструкцией» программы-браузера, но в любом случае строка Интернет-адреса может быть очень длинной: не менее 2 тысяч символов.

Почему строки URL должны быть такими длинными? Потому что довольно часто Интернет-страница, отображаемая на экране у пользователя, формируется на сервере с помощью специальной программы. Параметры для этой программы часто передаются в строке URL после символа ?, отделяемые друг от друга символами . Например, URL Интернет-страницы заказа билета на поезд Москва – Санкт-Петербург может выглядеть так:

https://rzd.tickets.ru/search/results?session_id=275594f7faab14db062b1681759f0b41

Эта строка достаточно короткая, в ней только 81 символ. Но если Вы, готовясь к поездке в «культурную столицу» решите выяснить, где там находится Эрмитаж, а для этого прибегнете к помощи службы Google-Map, то в результате Вы окажетесь на странице, адрес которой – строка URL из 175 символов:

https://www.google.co.il/maps/place/State+Hermitage+Museum/@59.9398344,30.312371,17z/data=!3m1!4b1!4m5!3m4!1s0x4696310b32cbe2e9:0x74e032aa0505dfc!8m2!3d59.9398317!4d30.3145597

Это уже не слабо, правда? Но и это – далеко не предел.

Длинные строки URL вполне подходят для программ межкомпьютерной связи, однако для общения между людьми они неудобны. Попробуйте вручную ввести в адресную строку браузера любой из выше приведенных URL, или того хуже, передать его другому человеку по телефону – намучаетесь. И никакой гарантии того, что при этом адрес был передан верно. Более того, даже если Вы попробуете передать длинную адресную строку с помощью электронной почты, не факт, что почтовая программа воспримет длиннейшую цепочку символов, как одно «слово» и не вставит где-нибудь случайно лишний пробел или перенос строки. А как передать последнюю, 175-символьную, строчку по твиттеру, длина строки сообщения которого вообще ограничена 140 символами?

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

Первая из них, которая называется TinyURL (https://tinyurl.com/) была запущена в 2002 году Кевином Гильбертсоном (Kevin Gilbertson). Будучи студентом, Кевин увлекался ездой на моноцикле, одноколесном велосипеде. (Он и сейчас не оставил своего увлечения). Переписываясь в Интернет-группе с такими же, как он, фанатами моноцикла, Кевин столкнулся с невозможностью передавать друзьям длинные Интернет-ссылки и за несколько дней смастерил программу, которая транслировала длинные строки URL в короткие, а также производила обратное преобразование.

За прошедшие 15 лет сайт Кевина Гильбертсона доказал свою работоспособность, преобразовав миллиарды длинных адресов в короткие. Причем, аскетичное оформление этого сайта с тех пор мало изменилось. Зато здесь невозможно заблудиться. И пользоваться сайтом исключительно просто. В длинное окошко вводится длинная строка URL (конечно, не вручную, а с помощью «copy-paste»). После нажатия на кнопку происходит преобразование длинного адреса в короткий, и оба адреса отображаются на новом экране. Новый, сокращенный, адрес имеет вид вроде https://tinyurl.com/ycftcdux.  Последние 8 символов могут быть любыми английскими буквами или цифрами. Не правда ли, такой адрес, состоящий всего из 28 символов – гораздо более компактен? Его легко ввести даже вручную, хотя служба сокращения адреса позволяет записать короткий адрес в память компьютера, для того, чтобы перенести в другую программу, чтобы, например, передать по электронной почте. Кроме того, для проверки можно открыть сокращенный адрес в новом окне, так сказать, «не отходя от кассы».

Если же пользователь хочет сделать короткую ссылку «говорящей», он может ввести во второе окошко свой вариант сокращения (например, https://tinyurl.com/spb-hermitage). Если предложенное сокращение оказалось, уникальным, оно будет принято службой. Ясно, что в этом случае длина короткой строки может быть несколько увеличена по сравнению со стандартными 8 символами.


Удобно, не правда ли?

Алгоритм программы сокращения длинных URL не сложен. Он может быть описан буквально в одном абзаце. Программа ведет базу данных, которую можно упрощенно представить как таблицу, состоящую из двух столбцов. В первый столбец записываются сокращенные адреса, а во второй – длинные. База данных индексирована по первому столбцу так, что по сокращенному адресу легко отыскать длинный. На первом шаге случайным образом генерируется строчка, состоящая из фиксированного числа символов (обычно из 6 или 8) и проверяется, что в базе данных такого сокращенного адреса еще нет. Если проверка завершилась удачно, пара из двух URL записывается в базу данных и возвращается пользователю.

Как работает программа, когда на сайт службы сокращения приходит сокращенный Интернет-адрес? Естественно, что на самом сайте такого адреса не находится. В этом случае согласно протоколу HTTP (который «руководит» обменом информации между сервером и браузером) генерируется системный ответ с кодом состояния 301. Программа, работающая на стороне сервера, перехватывает этот ответ, находит в его заголовке сокращенный URL, с его помощью отыскивает в своей базе данных длинный URL, после чего переправляет браузер по этому, длинному, адресу.

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

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

Максимально удобной для пользователя считается служба Bitly (https://bitly.com/ ). Кто знает английский язык, уловит в названии сайта связь со словом «bit», «кусочек». Четкое указание на назначение службы: откусывать длинные URL.

Bitly – частная  компания, которая существует с 2008 года и сокращает за месяц по 600 миллионов Интернет-адресов. Зарегистрировавшись на сайте, пользователь получает возможность хранить список своих ссылок и анализировать статистику перехода по ним. Bitly длительное время сотрудничала с сайтом Twitter, обеспечивая для него сокращение адресов, что позволяло вставить ссылку в твит размером 140 символов.

Первоначальный адрес службы Bitly был https://bit.ly/. Довольно экзотический Интернет-домен .ly принадлежит Ливии. В 2011 году ливийское правительство посчитало, что использование домена для целей сокращения Интернет-адресов не соответствует исламскому закону. Мудрость правоверных безмерна. Поэтому с 2011 года все адреса типа http://bit.ly/2ye7XIA переадресовываются для обработки на сайт https://bitly.com/. Впрочем, пользователи этого не замечают.

Bitly также предлагает услуги по сокращению адресов для нескольких крупных компаний. При этом используются «говорящие» адреса, которые арендуются в экзотических Интернет-доменах. Например, для сокращения ссылок в The New York Times используется адрес nyti.ms, а в компании Pepsi – pep.si. Вот, например, сокращенный адрес для статьи из The New York Times: https://nyti.ms/2z0A8dj.

Кстати, Вы проверили, каким странам и территориям принадлежат доменные имена .ms и .si? В таком случае получите дополнительный плюс за любознательность. И еще один плюс, если проверили, куда ведет вышеупомянутый адрес: http://bit.ly/2ye7XIA?

Главным достоинством нескольких других служб сокращения длинных URL-ссылок является их минимализм. Например, на сайте Is.gd (вероятно, сокращение выражения «Is Good») https://is.gd нет ничего, кроме окошка длинной ссылки и кнопки «Shorten!» («Сократить!») После нажатия на кнопку выводится короткий адрес вроде: https://is.gd/IHpS3Q.

Не менее скромен сайт Bit.do (http://bit.do/)

Интернет-гиганты используют свои службы сокращения длинных URL.

Например, Google позволяет сокращать длинные ссылки до коротких, имеющих вид вроде: https://goo.gl/64n77a. При этом пользователям представляется богатая статистика переходов по сокращенным ссылкам (сколько было переходов, когда и из каких мест). Можно получить также специальный  QR-код (Quick Response Code — код быстрого реагирования), шифрующий специальным образом ссылку и обеспечивающий быстрый доступ к ней при сканировании с помощью смартфонов. Кстати, QR-код можно получить и на уже упомянутых сайтах Is.gd и Bit.do.

Yandex также обзавелся своей службой сокращения длинных URL-ссылок. Сокращенные ссылки имеют такой вид: https://clck.ru/ByoGv.

Youtube сокращает ссылки на свои ресурсы в виде: https://youtu.be/MYej2m-n9yo. Такая ссылка легко размещается в электронном письме или в строке твиттера, оставляя еще пространство для реакции, пусть краткой, но реакции.

Сокращать ссылки до вида https://vk.cc/7dmRBV позволяет и «ВКонтакте». Причем использовать сокращенные ссылки можно и вне социальной сети.

А теперь немного об извращениях. Если URL-ссылки можно сокращать, значит можно их и удлинять. Зачем? Трудно придумать разумный резон. Однако создатели сайта http://longurlmaker.com/ считают, что размер имеет значение и предлагают за несколько секунд превратить обрубочек вроде http://bit.do/dQhoK в роскошный «хвост» длиной аж в 2 092 символов.  

Статья опубликована на сайте Школа жизни

Статья опубликована на сайте Школа жизниПолезные ссылки:

  1. Сокращение длинных URL в Википедии (англ.)

  2. URL shortening (англ.)

  3. 26 сервисов для сокращения URL

  4. 10 сервисов для сокращения URL

  5. Сокращение ссылок в Гугл и ВКонтакте

  6. Сервис сокращения bit.ly

  7. Как это сделать?

  8. Honey, I shrunk the URL

  9. URL Shorteners to Shorten Long Links

  10. Перелинковщик

размышление

Как получить премию Тьюринга?


Самой знаменитой в мире премией за научные заслуги, несомненно, считается Нобелевская премия. Она основана известным промышленником и изобретателем Альфредом Нобелем (Alfred Bernhard Nobel; 1833 — 1896). Премию вручают с 1901 года за выдающиеся успехи в области естественных наук: физики, химии, биологии или медицины. Еще две Нобелевских премии вручают за свершения в гуманитарных областях: за достижения в области литературы и за усилия, прилагаемые в борьбе против войн на планете.

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

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

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

Так, для ученых, добившихся больших достижений в области компьютерных наук, в 1966 году была учреждена премия Тьюринга. Учредителем премии стала старейшая, наиболее влиятельная и самая крупная международная организация в компьютерной области, Ассоциация вычислительной техники. Спонсором премии Тьюринга является компания Google, а ее премиальный фонд составляет 1 миллион долларов.

Про Аллана Тьюринга (Alan Mathison Turing; 1912 —1954) был снят художественный фильм, «Игра в имитацию». Фильм интересный. Еще бы не быть ему интересным! Расшифровка кода немецкой шифровальной машины «Энигма» – пожалуй, самый увлекательный эпизод из жизни А. Тьюринга. И один из немногих эпизодов Второй мировой войны, когда миллионы жизней были спасены не силой оружия, а силой логики и остротой ума.

Прообразом «Энигмы» являлась электромеханическая шифровальная машина, придуманная в начале 1920-х годов в Германии. Изобретатель предполагал использовать такие машины для шифровки банковской переписки. Но очень скоро это изобретение оценили военные и стали применять аналогичные устройства для шифрования сообщений как на оперативном уровне (батальон, полк, дивизия), так и на уровне Генерального штаба.

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

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

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

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

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

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

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

Сами компьютеры тоже значительно «поумнели». Искусственный интеллект из области фантастики и философских рассуждений переместился в сферу практики. И, кстати, именно А. Тьюринг первый задумался над вопросом «Может ли машина мыслить?» В 1950-м году он опубликовал статью под таким названием.

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

Премие Тьюринга награждают как раз тех, кто, приближая эту реальность, трудится в области информатики. Среди лауреатов премии Тьюринга – разработчики компиляторов с «древних» и славных языков программирования, Алгол и Фортран. Языки программирования сделали профессию программиста массовой. С их помощью написать программу для компьютера мог каждый. Создатели новых языков программирования  также попали в число лауреатов премии Тьюринга.

Лауреатами премии Тьюринга стали и те, кто придумал и обустроил Интернет. Высокую награду получили изобретатели главного протокола Интернета,TCP/IP. Тим Бернерс-Ли, который придумал протокол обмена мультимедийной информацией, благодаря чему появились Интернет-браузеры,  получил премию Тьюринга в 2016 году. Среди лауреатов этой престижнейшей премии – криптографы, которые придумали систему шифрования с открытым ключом. Эта система – основа современной компьютерной криптографии, благодаря которой стал возможен обмен секретной информации по открытым сетям Интернет.

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

Статья опубликована на сайте Школа жизни

Статья опубликована на сайте Школа жизниПолезные ссылки

  1. Алан Тьюринг, человек, у которого отобрали право любить

  2. Тайна надкушенного яблока

  3. Отец компьютеров, Алан Мэтисон Тьюринг

  4. Премия Тьюринга

  5. 10 аналогов Нобелевской премии в других областях науки и культуры

  6. Премию Тьюринга получил создатель первого персонального компьютера