Как сломать iPhone отправкой строки Unicode
В последних числа августа и, что особенно приятно, при непосредственном участии нашего соотечественника, в компьютерной тусовке случился премилый хакерский скандальчик.
Один любознательный юзер поделился с другими строчкой юникода, отображающейся на экране бессмысленной арабской вязью, но оказывающей мистическое действие на некоторые программы: попытка воспроизведения её на компьютерах и мобильных устройствах фирмы Apple приводит к зависанию и (или) зацикливанию многих приложений.
Понятное дело, «строка-убийца» пошла по рукам, сея веселье и хаос, но применимость её ограничена узким версионным окном: вреда особого она не причиняет. Так что я уже было решил пропустить эту историю, если б не одно обстоятельство. Читая публикации, посвящённые «смертельной строчке», в какой-то момент понимаешь, что не был сделан напрашивающийся сам собой вывод.
Если вдруг вы ещё не слышали самой истории, дело вкратце обстоит так. Строка из двух дюжин особым образом подобранных арабских символов, скормленная некоторым программам для стационарной и мобильной платформ Apple, приводит к критической ошибке. Подвержены ей приложения для iOS версий 6.х (но не более старые и не более свежая бета «Семёрки») и OS X 10.8 (но опять-таки не более свежий девелоперский пререлиз): в первую очередь браузеры (Safari, Chrome, Opera), коммуникаторы (iMessage, Skype), клиенты соцсетей (официальный Twitter и др.) и прочие. Такое разнообразие объясняется просто: ошибка возникает не в конкретной программе, а в используемом многими приложениями компоненте операционной системы. Собственно автор открытия считает, что виноват HTML-движок WebKit, тогда как другие кивают на программный интерфейс для отображения текстов Core Text, присутствующий также в OS X и iOS и используемый в том числе WebKit.
Кто прав — судить не возьмусь, но, собственно говоря, это и не важно. Важнее то, что если для понимающего пользователя устранить последствия убийственной строки трудности не составит, то у далёких от ИТ-специфики людей (а таковых среди владельцев «яблочной» продукции, полагаю, большинство) эта глупая строчка способна отнять минимум несколько часов времени. Скажем, получив мгновенное сообщение (SMS, iMessage и т. п.) с таким текстом, можно в коммуникационное приложение больше и не попасть, потому что немедленно после запуска оно будет «падать». И сто раз права Facebook, оперативно начавшая отфильтровывать содержащие «строку-убийцу» сообщения.
А вот Apple даже не почесалась — хоть могла и должна была это сделать ещё полгода назад! Дело в том, что человек, продемонстрировавший «строку-убийцу» общественности (и он же, очевидно, автор находки — украинец Павел Жовнер, известный читателям ресурса Habrahabr.ru своими чернохакерскими опытами), впервые сообщил о проблеме ещё в феврале. И тогда же якобы поставил в известность Apple, которая, увы, на обращение не отреагировала.
Пожалуй, Жовнер — призывающий сейчас каждого, на чей компьютер и устройство подействовала его арабская вязь, отправить репорт «яблочникам» — покривил душой: Appl, может быть, и не ответила ему письменно, но сообщение к сведению приняла, ведь iOS 7 бета и пререлизы OS X 10.9 ошибке уже не подвержены. Однако и вправду непонятно, почему за шесть месяцев компания не устранила баг в мейнстримовых iOS 6 и OS X 10.8. Безвредно? Так, повторю, обыватель может заплатить за это минимум несколькими часами времени, а в худшем случае отыщется и способ заносить через «смертельную строку» исполняемый код.
На самом деле ответ на вопрос «Почему?» давно дан, но прежде позвольте вспомнить о подзабытом ныне феномене под названием «холивар». Знаете, те самые форумные раздувы о «Винде против Линукса», «Маках против PC» и прочее подобное. Холивары давно не в моде. Нет, они, конечно, ведутся и сейчас, но по сравнению с творившимся на форумах (в том числе и компьютерровских, в том числе и при участии вашего покорного слуги) ещё десять лет назад нынешние споры — просто детская забава. В начале «нулевых» в холиварах участвовали абсолютно все, тогда как сегодня дерущихся обычно не много — и пассивное большинство, которому эти пустопорожние тёрки давно надоели, выделяет холиварщикам уголок, где они и мутузят друг друга в своё удовольствие.
И лично я вижу в этом парадокс: ведь именно сегодня наконец накопились данные для более или менее аргументированного сопоставления платформ и игроков. Особенно в том, что касается информационной безопасности. Так что заранее прошу прощения за ужасный вопрос, но я должен спросить: чьи же продукты, чья платформа более защищена от информационных угроз? Microsoft, Apple, сообщества open source (оно же Linux)?
Microsoft может гордиться сделанным. Встретив третье тысячелетие беспрецедентными вирусными эпидемиями, её Windows и сегодня подвержена заразам, и, пожалуй, так же дырява, как и тогда, но компания сумела выстроить жёсткую, адекватную, оперативную систему реагирования. Собственный антивирус Security Essentials, подробнейшая отчётность по уязвимостям не только в ОС, но и в каждом продукте, эффективная (пусть и принудительная!) дистрибуция патчей — вместе это дорогого стоит!
Linux и без того имела всё необходимое, посему менять что-либо просто не было нужды. Кстати, если вы всё ещё откладываете знакомство со свободной ОС, рекомендую начать с Debian — дистрибутива, недавно отпраздновавшего двадцатилетие. Debian же представляет собой и хороший пример того, как должна быть организована security-инфраструктура операционной системы: свежие «дыры» оперативно латаются open source-сообществом, а подогнанные к конкретным версиям приложений патчи распространяются через централизованный репозитарий.
А вот с Apple дело обстоит хуже. Apple — не техническая, а точнее, не инженерная компания. Да, она сумела выстроить собственную производственную вертикаль, проектируя и производя сама всё, от винтиков до логотипов. Но горькая правда в том, что на самом деле это компания-коммивояжёр — и всё, чем она занята, и то, как она этим занимается, поставлено на службу единой цели: продажи! А это, в частности, означает, что, как и у любого «чистого продавца» (вы наверняка периодически сталкиваетесь с такими на улицах: то они впаривают сковородки, то новомодные утюги…), у неё нет ни достаточных ресурсов, ни потребности заботиться о чём-либо, что не влияет напрямую на успешность продаж. Скажем, о безопасности пользователей.
Не верите? Попробуйте отыскать на её заглавном сайте страничку, где сведена информация о последних security-апдейтах. (Когда устанете, отправляйтесь по этой ссылке — и не спрашивайте меня, как я её отыскал: я не помню!)
Культура эта была привита ей не вчера, не в девяностые: компания родилась такой, и если стряхнуть полувековую пыль, то можно отыскать замечательные примеры. Так, ещё в 1976 году Возняк поспорил с Джобсом из-за конструкции Apple II. Инженер (Возняк) настаивал на том, что должно быть восемь слотов расширения, потому что технически это возможно и не потребует усложнений. Продавец (Джобс) требовал ограничиться двумя, потому что считал это достаточным для повседневных задач (история подробно изложена Возняком в книге «iWoz»). Узнаёте почерк?
С тех пор этот принцип отлился в сотнях продуктов и аукнулся в сотнях же инцидентов. Вспомните «Антеннагейт», когда Apple не желала признать конструктивных просчётов в iPhone, или двухлетней давности проблему с батарейкой. Вспомните скандал с картами, которые мало того, что неправильно отображают ландшафт, так ещё и норовят завести не туда, куда нужно. Вспомните о царапинах на корпусах, бликах во внутренних линзах «Пятёрки» и прочем, что Apple назвала «нормальным». Вспомните о вирусах, существование которых компания отрицала даже после того, как начались эпидемии. И так далее, и так далее, снова и снова, по одному и тому же алгоритму: столкнувшись с проблемой, Apple пытается её замолчать, потом делает вид, что ничего не случилось, и только если шум не стихает, выделяет ресурсы для решения.
Со «строкой-убийцей» всё в точности так. Случись это в экосистеме Linux или MS Windows, патч увидел бы свет в течение дней или недель. Однако февральское сообщение Жовнера не вызвало резонанса в Сети — и Apple, очевидно, решила, что публика потерпит до выхода следующих версий операционок. Что ж, почти дотерпели (со дня на день презентация новых моделей?), и даже — спасибо случаю! — арабская вязь не стала причиной серьёзных проблем.
Но, решая, каким будет ваш следующий компьютер или мобильное устройство, спросите себя: правда ли вы хотите зависеть от этих ребят?
Евгений Золотов
Комментарии
Чингачгук
4 сентября, 2013 - 11:49
разошлю ссылку на эту статью всем знакомым огрызкофилам, чисто для того чтобы посмотреть на реакцию, а то смотрят на тебя как на нищеброда, и все потому что безразличен к Apple и более того, с удовольствием ковыряю свой любимый бесплатный Linux ;-)
pomodor
4 сентября, 2013 - 23:42
Да бесполезно им что-то объяснять. Это как у верующих пытаться узнать на чем конкретно основаны их предположения о существовании сверхъестественных существ.
Недавно имел непродолжительный, но очень показательный, разговор с одним почитателем продукции этой фирмы. Самое неприятное, что это бывший линуксоид. 90% его ответов состояло из фраз типа "Ну, это же Apple! Ты не понимаешь! Там совсем другой дизайн! Это же Apple!". И так по кругу. И прям светится от самодовольства, мол, раньше пользовался всяким говном, а теперь прозрел и потянулся к прекрасному. А все остальные, то равнодушен к айфонам, чувства прекрасного лишены.
В общем, это тяжело больные люди с искалеченным маркетологами мозгом. Их электричеством нужно лечить, а не словами переубеждать. ;)
Комментировать