Опубликовано 02 апреля 2014
Основанная в 2005 году фирма Box предоставляет услуги облачного хранения данных миллионам частных клиентов и корпоративным заказчикам, число которых уже превысило двести тысяч. Сейчас компания проходит процедуру IPO, а её генеральный директор Аарон Леви (Aaron Winsor Levie) планирует переосмыслить подход к обеспечению защиты данных.
Уже в этом году Леви намерен предоставить клиентам полный контроль над защитой информации в облачном сервисе. По замыслу, на стороне пользователя будет выполняться не только шифрование загружаемых файлов, но и полное управление криптографическими ключами. Вот только далеко не все клиенты хотят таких изменений.
Дело в том, что новый уровень приватности принесёт и новую головную боль. Например, для обеспечения возможности совместной работы корпоративным клиентам потребуется передать секретный ключ к определённой папке своим партнёрам по какому-либо надёжному каналу.
Стремления Леви понятны. Он хочет создать систему хранения данных, позволяющую самим сотрудникам Box (которых, к слову, уже более 750) всегда иметь дело только с зашифрованными данными клиентов. Соответственно, даже передавать их по требованию спецслужб они будут только в таком виде. «За всю историю компании мы не сталкивались с запросами о раскрытии данных наших клиентов, но вмешательство со стороны правительства по-прежнему остаётся существенным риском для облачных технологий», — пояснил Леви.
Изначально Box использовала три собственных дата-центра, затем построила распределённую сеть, но в перспективе может отказаться и от неё. В последнее время компания наращивает мощность за счёт платформы Amazon EC2, и этот вариант оказался куда выгоднее.
Основная трудность для Box сейчас состоит в том, чтобы создать «прозрачный» и максимально удобный пользовательский интерфейс без ущерба надёжности шифрования.
Опыт показывает, что классические методы работы с криптографическим ПО многим клиентам кажутся слишком сложными. Между безопасностью и удобством они порой выбирают второе, а Box хочет полностью избавить себя от забот по охране чужой приватности, не растеряв при этом даже ленивых клиентов.
«Мы работаем над интеграцией системы управления ключами в пользовательскую среду, — сказал Леви на проходящей в Лас-Вегасе конференции InformationWeek. — Пока ещё рано говорить о деталях, но мы видим, что любые изменения нашего сервиса очень беспокоят крупные организации».
Сервис Box предоставляет доступ по протоколу WebDav, поэтому свою папку в облаке можно подключить как сетевой диск, указав в качестве пути «https://dav.box.com/dav». Хранить таким образом настройки подключения небезопасно, но очень удобно. Пожалуй, проще всего это сделать при помощи файлового менеджера Total Commander с соответствующим плагином webdav.
Сейчас Box похож на Google Drive или Microsoft SkyDrive, но в нём данные уже автоматически шифруются как при хранении, так и при передаче. Осталось передать управление ключами пользователям и убедить их воспринимать нововведение как преимущество.
Проблема защиты удалённо хранимых данных существовала всегда, и сегодня уже есть сторонние средства для повышения безопасности популярных облачных сервисов. Например, программа SyncDocs шифрует файлы, отправляемые на Google Drive.
http://www.youtube.com/watch?v=kDMSekC5re8
Однако и минусы такого подхода очевидны. Программа работает только в среде Windows (XP — 8), а пользователям Linux и MacOS остаётся запускать её в эмуляторе. Использовать Google Drive на мобильных устройствах под управлением ОС Android или iOS с ней вряд ли получится.
Полнофункциональная версия SyncDocs стоит $20. Копия программы потребуется на каждом компьютере и ноутбуке, с которого пользователь хочет иметь доступ к облачному диску Google. Попасть на него просто из браузера уже не выйдет. Авторы программы пытаются решить эту проблему, но заранее предупреждают, что реализация SyncDocs в виде плагина для браузера значительно снизит надёжность защиты.
Другой пример — компания WatchDox, клиенты которой могут использовать для работы с облачным хранилищем аппаратные криптографические модули (HSM — Hardware Security Module). В отличие от простой флешки с ключевым файлом, такой модуль содержит (помимо защищённой флеш-памяти) собственный генератор случайных чисел, используемый для создания сессионных ключей.
Примечательно, что руководство WatchDox призывает клиентов мигрировать с ненадёжных сервисов, в числе которых указываются как раз Box и Dropbox.
Клиентская часть WatchDox совместима с Windows (начиная с XP SP3), Mac OSX (10.7 и новее), работает со многими браузерами (Chrome, Firefox, Explorer, Safari) и обладает широкой поддержкой мобильных ОС (iOS 5.1 и выше, Android начиная с версии 2.3, BlackBerry OS5 и новее).
Среди недостатков сервиса можно отметить ограничение на размер одного файла (10 ГБ) и цены: они хоть и договорные, но начинаются с $15 за одного пользователя в месяц.
Полностью отказываться от сторонних криптографических средств при использовании облаков вряд ли целесообразно. Даже если пользователь генерирует ключ сам, нет никакой гарантии отсутствия закладок в клиентской программе, а тем более в её серверной части.
Отмечу также, что добавление функции управления ключами в новую версию клиента Box в теории может привести к интересному эффекту. Пользователи массово станут перезаписывать свои папки, удаляя из них «открытые» файлы и заменяя их зашифрованными версиями. Это даст богатую пищу для атак на основе известного текста, по которым будет гораздо легче узнать новые ключи.
Требование удобного доступа к часто используемым файлам в облаке с любого устройства и обеспечение возможности совместной работы с ними заметно ограничивают применение таких способов, как архивация с паролем, помещение файлов в криптоконтейнеры или их скрытие методами стеганографии. Однако для хранения резервных копий или эпизодической передачи данных они могут оказаться весьма кстати.
Подобно тому как для усложнения взлома двери советуют устанавливать замки минимум двух разных типов, так и для обеспечения адекватной защиты файлов в облаке есть смысл сочетать криптографические средства самого поставщика сервиса и сторонних разработчиков. Тем более что среди них есть кросс-платформенные и бесплатные.
Опубликовано 02 апреля 2014
В электричестве есть что-то неуловимо притягательное. Может быть, его эфемерная натура в совокупности с катастрофической мощью — сочетание, так напоминающее волшебство — во все времена будит в людях поистине детское любопытство? Интерес, не омрачённый страхом.
Двести лет назад обыватели выстраивались в очередь, чтобы «получить» разряд лейденской банки. Столетием позже с одинаковым удовольствием глазели на опыты Теслы и «безболезненно и гуманно» поджаривающихся на электрическом стуле несчастных. И, конечно, всегда пытались электричеством врачевать, полагая, что «волшебство» в малых дозах скажется непременно благотворно.
Но вот настал век цифровой, век (почти) всеобщей грамотности, и — кто бы мог подумать? — старая болячка проявила себя вновь. Прикладывая электроды к головам, энтузиасты пытаются влиять на процесс мышления, стимулировать усвоение знаний, корректировать настроение. И желающих снова хоть отбавляй...
Хотя эффект воздействия слабых электрических токов на головной мозг человека и других живых существ до конца не изучен (и будет ли когда-то вообще?), он несомненно существует и так же несомненно оказывает влияние на психофизическое состояние подопытного. Идея эта старая и очевидная: поскольку мозг сам генерирует электричество (электроэнцефалографию изобрели почти сто лет назад), то, вероятно, изменив напряжение на разных его участках, можно повлиять и на его работу.
Вскрывать черепную коробку нет необходимости. Достаточно приложить электроды к нужным участкам кожи головы (обычно их смачивают, чтобы контакт был лучше), подключить к внешнему источнику электрического напряжения — и сквозь кожу, кости, мышцы и собственно мозг потечёт электрический ток. На Западе это называют транскраниальной (букв. «чересчерепной») стимуляцией постоянным током (tDCS), в отечественной науке закрепился термин «микрополяризация», предложенный командой Натальи Петровны Бехтеревой.
Как ни назови, сообщения из лабораторий, посвящённые tDCS, мелькают в научной прессе регулярно — и, чтобы далеко не ходить, вот одно из последних. Группа психологов из Университета Вандербильта (США) продемонстрировала, как, пропуская слабый электрический ток через передние доли коры головного мозга, можно влиять на обучаемость. На подопытных цепляли пару электродов, подавали напряжение и изучали, как сила и направление тока, возникающего в участке коры, предположительно отвечающем за реакцию человека на ошибки, меняют скорость решения задачи, предполагающей совершение множества ошибок (установление соответствия между клавишами манипулятора и цветом на экране).
Вывод? Электричество может сделать человека более осторожным, реже ошибающимся, легче адаптирующимся к новым ситуациям. И пусть положительный эффект измеряется лишь единицами процентов, он якобы значительней, чем достигаемый психотерапевтическими методами или фармацевтикой.
Понятно, разные исследователи изучают различные аспекты tDCS, но выводы их в целом схожи: пропуская строго дозированные, ориентированные, позиционированные токи через головной мозг, возможно влиять на психофизическое состояние человека. Стоит ли удивляться, что из научных кругов идея быстро просочилась в массы? Тут ещё здорово подсобили предприниматели новой волны, активно разрабатывающие сейчас ниву «мыслесчитывающих шлемов» — компьютерных манипуляторов, позволяющих управлять виртуальными объектами усилием мысли (суть: уловить изменения мозговых электрических ритмов и преобразовать их в движение компьютерного курсора или даже нажатия клавиш; см., например, продукты компании NeuroSky).
Вот параллельно с ними и сформировалась полукустарная индустрия домашней «электротерапии мозгов». Если даже серьёзные учёные рассматривают транскраниальную электростимуляцию в качестве возможной замены химическим методам, грех не попробовать самому, верно? Да ведь и токи ерундовые, и техника несложна. Вот так этот кошмар и начался.
Перечислять здесь всех, кто подвизался на поприще «домашней tDCS», опять-таки нет смысла. Достаточно рассмотреть кого-нибудь одного; все прочие занимаются тем же самым, плюс-минус поправки в формулировках. Типичный пример — канадская контора каких-либоMind Alive, предлагающая несколько приборов для транскраниальной электростимуляции в домашних условиях (CESta, OASIS II). На сайте компании висит честное предупреждение, что её приборы не считаются медицинскими и никакой регулирующий орган официальной медицины не признал за ними способность избавлять человека от болячек. Зато они якобы совершенно безопасны.
Выдавая запрограммированные потоки слабых электрических импульсов на множество точек черепа, они, как обещается, приносят расслабление, поднимают настроение. И стоят всего-то несколько сот баксов. Кстати, эта колонка иллюстрирована рекламными проспектами другой похожей компании, Foc.us, предлагающей tDCS-аппараты для дома ещё дешевле.
Но даже тратиться не обязательно. Домашний аналог той же вандербильтовской установки можно собрать вообще за копейки! Главное — знать электрические параметры и точки размещения электродов, а этими знаниями любители tDCS всегда готовы поделиться. 9-вольтовая батарейка, набор проводов и мягких контактов, простецкая вики-инструкция — и вот вам «улучшенные способности к счёту, быстрое усвоение новых знаний, повышенная креативность, более крепкая память, лучшие результаты в компьютерных играх» и даже «излечение от депрессии, невнимательности, табачной зависимости».
Любители такого рода экспериментов называют себя биохакерами — и тут они в общем точны: они практикуют именно хакерский — бессистемный, с изучением основ по ходу дела — метод исследований. В лучшем случае — на сертифицированном оборудовании, правдами и неправдами добытом на просторах Сети (многие ухитряются приобрести списанные медицинские приборы). В худшем — собирают всё сами.
Так в чём проблема? Токи малые, опыты безопасны. Самые тяжёлые из зафиксированных побочных эффектов ограничены жжением кожи, «вспышками» света да головной болью. Пусть желающие кипятят себе мозги, зарабатывают премию Дарвина! И всё-таки специалисты наблюдают за происходящим с нарастающим беспокойством. Они видят минимум две опасности.
Во-первых, любителями tDCS отсутствие доказательства (возможности негативных последствий) бездумно принимается за доказательство отсутствия (тех самых последствий). Никогда ещё опыты по транскраниальной электростимуляции не проводились с таким размахом: ведь сегодня на свой страх и риск ими занимаются десятки, может быть, сотни тысяч! И с этим связана проблема номер два: в домашних условиях контролировать параметры tDCS так же точно, как в лабораториях, естественно, невозможно. Как это влияет на риск, понятно без объяснений.
Конечно, вряд ли у «транскраниальных кустарей» будут зелёные дети. Но специалисты предлагают смотреть на ситуацию под другим углом: цена последствий (если они однажды проявятся) здесь точно выше цены (копеечной) аппаратуры. А это как минимум означает, что последствия будут массовыми, коснутся огромного числа людей. То, что минздравы до любителей tDCS и производителей сомнительной аппаратуры ещё не добрались, означает только, что они пока идут «ниже радаров».
Но популярность транскраниальной электростимуляции растёт. Не сегодня завтра на неё обратят внимание «народные целители», все эти малышевы и малаховы. И когда ваши родители, ваши бабушки с дедушками натянут на головы электродные сетки, вы будете знать, что час пробил.
Опубликовано 01 апреля 2014
На прошедших выходных в интернете поднялся шум из-за того, что пользователь платной подписки на облачный сервис Dropbox не смог передать друзьям ссылку на фильм, охраняемый законом об авторском праве (DMCA). Как же Dropbox определяет легальность контента, если в соглашении указывается, что содержимое пользовательских папок не анализируется?
Мы уже привыкли к тому, что традиционные файловые хранилища в Сети могут в любой момент прикрыть за нарушение какого-то закона — например, по требованию правообладателей. Иногда закрывают доступ ко всему ресурсу из-за одного файла, и практически всегда предписание сначала выполнят, а потом начнут разбираться.
В отличие от FTP-серверов и файлообменников, облачные хранилища многие считают настолько же приватными, как собственный жёсткий диск. Люди доверяют им сканы документов, автоматически загружают фотографии со смартфонов и хранят «в облаке» другую важную информацию, которую боятся потерять.
Разработчик каждого облачного сервиса убеждает своих клиентов в высокой степени защиты, упоминает в соглашении стойкие криптографические алгоритмы и уверяет в уважительном отношении к приватности. Между тем хотя бы поверхностный анализ загружаемых данных всё же выполняется. Изначально такие косвенные методы были нужны для оптимизации работы самого хранилища, но затем им стали находит и другие применения.
Проблема существовала давно, однако широкую огласку получила лишь в конце марта, когда дизайнер из Нью-Йорка Даррелл Уайтло (Darrell Whitelaw) попытался прислать друзьям через Dropbox ссылку на загруженный в облако фильм, но получил автоматическое предупреждение: «Некоторые файлы в этой папке не могут быть расшарены, согласно требованиям DMCA». Об этом он написал в Twitter, что породило волну возмущения со стороны других пользователей.
Комментируя ситуацию изданию Ars Technica, Уайтло сказал, что полностью разочаровался в облачных хранилищах: «Вы не можете считать Dropbox ни своим, ни персональным, даже если заплатили за него». Давайте разберёмся, что с ним не так.
Со стороны пользователя никакого шифрования файлов средствами Dropbox не ведётся, однако во время синхронизации всё же выполняется их криптографическая обработка по алгоритму AES-256, ключи для которой генерируются автоматически.
Помимо уникального контента вроде личных фотографий, пользователи часто хранят в облаке общедоступные вещи — дистрибутивы программ, образы дисков, фильмы, музыку и книги. Поэтому во избежание лишней траты дискового пространства и для экономии трафика перед загрузкой каждого файла определяется, нет ли его уже в облаке. Если точно такой же файл уже загружен другим пользователем, то Dropbox просто создаёт ссылку, избегая повторной загрузки.
Такая схема становится возможной благодаря тому, что клиент облачного сервиса вычисляет перед загрузкой каждого файла его хеш-функцию. При достаточной длине она служит как уникальная цифровая подпись файла. Теоретически на большой выборке возможна ситуация, когда у двух разных файлов хеши совпадают. Однако вероятность этого предельно мала. Например, наиболее популярный алгоритм хеширования MD5 даёт 2128 вариантов (для пользователя они выглядят как 1632), а SHA-512 — 2512.
База данных хешей загруженных файлов используется Dropbox с разными целями. Во-первых, как уже отмечалось, во избежание повторной загрузки имеющихся данных. Во-вторых — для отслеживания изменений и создания истории версий одного файла (редактируемого документа). В-третьих — для сравнения с другой базой, содержащей хеши файлов, распространение которых охраняется авторским правом.
В текущей реализации Dropbox последнее сравнение происходит только при создании публичной ссылки на файл. Просто хранить можно что угодно, и сервис не будет «знать» содержимое ваших папок до тех пор, пока вами персонально не заинтересуются.
Из свойств хеш-функции становится очевиден и метод обхода имеющегося ограничения. Достаточно изменить любой бит файла, и его «цифровой отпечаток» станет совершенно другим. Он также перестанет совпадать с имеющимся в базе DMCA.
Мультимедийные файлы остаются внешне неотличимыми после легкой модификации (например, перекодирования другим кодеком или удаления метаданных). Другой вариант — просто изменить любой бит файла (кроме заголовка), открыв его в HEX-редакторе. На воспроизведение фильма или музыкального файла это никак не повлияет. Если алгоритмы сравнения файлов по содержимому будут совершенствоваться (например, распаковывая содержимое архивов и образов или анализируя отдельные части файла), то всегда остаётся универсальный вариант — поместить что угодно в архив с парольной защитой. В архиваторе WinRAR есть даже возможность скрывать сами имена файлов.
Dropbox физически работает на платформе Amazon S3. Как сервис он не уникален, поэтому написанное здесь будет актуально и для большинства других облаков.
Опубликовано 01 апреля 2014
Что ни говори, а спамеры — народец полезный. Род занятий вынуждает их пребывать в непрерывном поиске новых лазеек — в сетях и системах, законах и правилах. И удача улыбается им с завидным постоянством. Так что хоть сама по себе спамерская активность неприятна, побочные её эффекты бывают и интересными, и даже полезными. Очередным свидетельством чему — результаты проведённой на днях в Китае национальных масштабов облавы на рассыльщиков нежелательной электронной корреспонденции. Сразу полторы тысячи человек взяла полиция Поднебесной по подозрению в рассылке спама в разных уголках страны, и всех этих арестантов роднит замечательная специализация: все они так или иначе связаны с отправкой СМС посредством самодельных базовых станций сотовой связи GSM.
А теперь скажите честно, вам доводилось хотя бы слышать о фальшивых «сотах»? Штука эта, судя по всему, весьма эффективна, применяется интернационально и разнообразно, и почти всегда — спасибо окружающей её ауре секретности! — в «серой» зоне права.
Типичные ассоциации для термина «базовая станция» — гигантская вышка, множество антенн, сложнейшая электроника... Но с самоделками всё сильно проще. «Фальшивая сота» (технически не совсем корректный термин, но позвольте называть их так для простоты) — это мобильный комплекс, состоящий из ноутбука, радиочасти (как правило, платы программно управляемого приёмопередатчика, SDR), способной работать в диапазоне частот стандарта GSM, внешней антенны и некоторого управляющего софта (обычно на основе Linux). Работает такая штука тоже просто: включившись, она изображает из себя базовую станцию нового или существующего оператора и заставляет все мобильные телефоны в радиусе от сотен метров до пары километров переключиться на себя. Далее следует обмен служебной информацией, после чего сеанс принудительно рвётся.
Стоит фальшивая сота немало, около четверти миллиона рублей, но на то есть хорошая причина: вышеупомянутый «обмен служебной информацией» означает возможность почти неограниченной отправки данных на мобильники-жертвы. В минуту можно рассылать сотни сообщений (рекламу, мошеннические уведомления и прочее подобное), так что спамеры обычно грузят самодельную «базу» на автомобиль и отправляются в турне по городам и сёлам. Не удивительно, что за год среднестатистический китайский пользователь мобильного телефона получает несколько сотен спамерских СМС, а общий годовой счёт в масштабах страны идёт на сотни миллиардов сообщений.
Производство фальшивых сот в Китае поставлено на поток, и только в ходе последнего рейда были накрыты два десятка точек по их сборке. Спрос рождает предложение! Услугами GSM-спамеров пользуются не только мошенники и веб-бизнесы, но и добропорядочные предприниматели. К примеру, широко распространена следующая схема: владелец небольшого магазинчика нанимает спамеров, чтобы те рассылали рекламные СМС всем, кто окажется в радиусе нескольких сот метров; такой вот офлайновый геотаргетинг. И «отписаться» от «рассылки», понятно, не удастся.
Впрочем, обыватель подвоха даже не замечает: может быть, наблюдай он за своим телефоном, он бы и успел отметить смену идентификаторов сотовой сети, но простому человеку с улицы такие тонкости неинтересны. Он получает СМС — и верит, что сообщение было доставлено его сотовым оператором, по официальному каналу.
Но как вообще это стало возможным? Как посторонние смогли внедриться в такую сложную систему, как GSM? Почему собранные чуть ли не на коленке фальшивые соты работают? Чёткого ответа на эти вопросы не даёт никто, но доминирующая версия сводится как раз к чрезмерной сложности. Ведь в сотовой связи вообще и GSM в частности буквально чёрт ногу сломит: невообразимая мешанина стандартов, оборудования, производителей, операторов. В результате низкоуровневые технические нюансы известны лишь узкому кругу специалистов (вспомните хоть радиопроцессор: см. «Возможна ли слежка через выключенный телефон») и всегда найдутся слабые места, надавив на которые можно вывести систему из строя или заставить её работать в другом режиме.
Энтузиасты радиохака утверждают: за последние пять лет изучены и взломаны все основные протоколы (в том числе криптографической защиты) GSM — и, используя свободный софт, сегодня действительно возможно слушать, читать и выдавать себя за другого абонента. Но даже самые смелые из них не распространяются относительно того, как именно это реализовать: в общей неразберихе непонятно, кому и какие патенты принадлежат и со стороны каких законов может прилететь по голове за излишнее любопытство...
Но если это работает в Китае, должно работать и в других местах, верно? Что ж, так и есть. История китайских спамеров неожиданно аукнулась в Соединённых Штатах — где, как выясняется, фальшивые соты тоже используют широко, только не мошенники, а правоохранительные органы. Здесь для них даже придумано броское имя — стингрей (Stingray — англ. «скат»). Ввела его компания Harris Corp., в начале нулевых первой собравшая такое компактное устройство (до того были громоздкие симуляторы базовых станций); поначалу словечко было её торговой маркой, да так и прижилось. Сегодня так именуют изделия и других производителей.
Схема работы стингреев абсолютно та же самая, что и у поделок китайских мастеров: устройство выдаёт себя за базовую станцию, принудительно переключает на себя близлежащие мобильные телефоны, меняется данными и прекращает сеанс. Вот только если китайцы рассылают с их помощью спам, то американцы собирают полезную информацию: уникальные идентификаторы, сведения о местоположении и (или) силе сигнала (в конце концов это позволяет установить местонахождение абонента с точностью до нескольких метров: стингрей водружают на авто, фиксируют данные с нескольких точек и триангуляцией определяют искомое), перехватывают сообщения и звонки.
Подтвердить или опровергнуть эти подозрения трудно. Harris продаёт стингреи только санкционированным покупателям (полиция, правительство) и заставляет их подписывать «неболтайку» — обязательство о неразглашении. Именно по поводу молчания покупателей и разгорается сейчас скандал. В нескольких штатах правозащитники потребовали от полиции рассказать, что та делает со стингреями (факт, что она их покупает, сомнению не подлежит: обнародованы чеки, причём американская продукция на порядок дороже китайской самодельщины). Но в ответ получили только обкатанную юристами формулировку: мы ничего не подтвердим и не опровергнем, и даже если бы такая информация имелась, мы бы вам её не открыли. И ничего не поделаешь: чаще всего полиция не сообщает о применении стингреев даже суду — либо требует закрытых слушаний, чтобы информация не расползлась.
Однако пусть американцы сами разбираются со своим правосудием. Нам важнее выводы, которые можно сделать из той и другой истории. Так вот, во-первых, очевидно, что построить фальшивую соту возможно, и не так уж дорого. Во-вторых, её можно применять для ударов по всем «болевым точкам» электронно-социальной активности — от слежки и прослушки до социальной инженерии и прямых атак (перехват, подмена, DoS). В-третьих, даже в демократических странах на использование её правоохранительными органами отчего-то не требуется санкция суда. Наконец, в-четвёртых, такие устройства эксплуатируются активно и широко.
Какая роль в этой драме отведена нам? Было бы наивным полагать, что российские мошенники и правоохранительные органы не пользуются фальшивыми базовыми станциями. И если с вниманием полиции и спецслужб остаётся только молча примириться, то доступ мошенников к стингреям требует усилить бдительность. По крайней мере не стоит слишком полагаться на мобильную связь. Исходите из того, что пароли и любая ценная информация, пересылаемая посредством СМС, может быть перехвачена и прочитана посторонними. Равно и любая эсэмэска — даже с обратным адресом, заслуживающим доверия, — может оказаться поддельной, поступившей вовсе не от вашего банка, сотового оператора или коллеги. Бдите — и воздастся.
В статье использована иллюстрация Tiberiu Ana.
Опубликовано 31 марта 2014
В последние годы двумерные (матричные) QR-коды (от английского Quick Response, то есть «быстрый отклик») получили самое широкое распространение: их нередко используют в рекламе, в различных вывесках и музейных табличках, на плакатах и в журналах. Это произошло в значительной степени благодаря популярности смартфонов и планшетов, способных после установки небольшого приложения безошибочно распознавать такие коды. Чаще всего в QR-кодах зашифрованы ссылки на страницы в интернете, сведения о сети Wi-Fi, СМС с номером и сообщением, текст или географические координаты объекта, но теоретически в них могут скрываться какие угодно данные.
Однако популярность любой технологии, особенно значительно упрощающей какие-то не слишком удобные действия, неизбежно вызывает повышенный интерес злоумышленников, пытающихся использовать её для извлечения незаконной выгоды. И QR-коды не стали исключением из правила, хотя на первый взгляд совершенно непонятно, как их можно использовать, к примеру, для кражи личной информации или денежных средств.
По уже весьма устаревшим какой-либоданным ComScore за июнь 2011 года, только за один тот месяц в США более 14 миллионов человек старше 13 лет просканировали QR-код своим мобильным телефоном: около 39% сделали это в магазинах, примерно 20% — на работе, а приблизительно 58% — у себя дома. И это данные, касающиеся исключительно территории США!
Большая часть из тех, кто воспользовался QR-кодами, — мужчины (60,5%), более половины любителей инноваций (53,4%) приходится на возраст от 18 до 34 лет, около трети (36%) — от 25 до 34, при этом годовой доход семей 36,1% пользователей (более чем одного из трёх) превышал $100 000! Молодые состоятельные мужчины — лакомый кусочек для любых мошенников.
Между тем приёмы взломщиков применительно к QR-кодам остаются теми же самыми, что используются при взломе любых других электронных систем: это, как всегда, сочетание чисто технических средств с элементами социального инжиниринга. Цели тоже остаются неизменными: похищение cookies и личных данных, фишинг, взлом виртуальных магазинов и даже Google Glass.
Чтобы приобрести что-нибудь в интернет-магазине, какие-токакой-товиртуальном магазине либо через рекламу на улице, в журнале или в интернете с помощью QR-кода, нужно просто просканировать этот код камерой смартфона или планшета, после чего вы будете перенаправлены на веб-страницу с дополнительной информацией о товаре и способах оплаты и доставки. При этом вы отправляете в интернет ваши личные данные, в том числе и реквизиты оплаты для карточной или другой платёжной системы.
Вот самая элементарная схема мошенничества с QR-кодами, расположенными в публичных местах. Возьмём для примера виртуальные магазины, которые представляют собой просто большие стенды с фотографиями товаров, их ценами и соответствующими QR-кодами. Обычно в таких магазинах есть три варианты доставки после оплаты: скачивание (для музыки, видео или программного обеспечения), распечатка (для билетов или флаерсов) или собственно доставка (для каких-то физических предметов).
Чтобы перехватить личные данные и, если повезёт, одновременно и денежные средства жертвы, достаточно просто подменить QR-код, который отправлял бы на сфальсифицированную страницу и заставлял покупателя перечислить деньги на подставной счёт. Программ для генерирования такого кода существует множество, в том числе и совершенно бесплатных. В результате злоумышленник может получить практически полный пакет данных: имя и адрес покупателя и номер его платёжной карты.
Более затратный, но, возможно, ещё более эффективный способ мошенничества — это печать и распространение рекламных буклетов, каталогов и прочего маркетингового хлама, распространяемого по почтовым ящикам и просто в разных общественных местах. При этом злоумышленнику даже не обязательно маскироваться под какой-то известный магазин или торговую сеть: достаточно предложить какие-нибудь сногсшибательные «акции и скидки», и этот примитивнейший приём социальной инженерии сделает своё дело. В остальном же результат всё тот же: вы дарите мошенникам не только деньги, но и номер кредитки и свой адрес.
Для хищения личных данных, используемых вами в интернете, применяется ещё один способ — кража файлов cookies браузера, в которых хранится самая разнообразная информация о посещённых вами сайтах, включая настройки и данные о сессии, позволяющие не авторизоваться всякий раз при заходе на ресурс. Для этого достаточно просканировать подложный QR-код: он переправит вас на фейковую страницу, которая не будет выглядеть особенно подозрительной и не сделает ничего заметного, а лишь похитит файлы cookies. И если «большие» антивирусы сегодня почти в обязательном порядке проверяют соответствие реального URL тому, что демонстрируется пользователю, упрощённые версии для смартфонов и планшетов могут пропустить подобную подмену.
Перехватив вашу сессию, например, в интернет-магазине, злоумышленник сможет добраться не только до личных данных, но и до сведений о платёжной карте. При этом он, скорее всего, не будет заказывать что-то именно в этом магазине, а воспользуется полученными сведениями для фабрикации карты-двойника или для добывания какой-то более подробной информации о жертве.
Хорошо известен также случай, когда по QR-коду на смартфоны под управлением Android вместо интернет-мессенджера загружался СМС-троян Jimm, рассылавший платные эсэмэски с аппарата жертвы.
Всё это довольно простые и незатейливые способы, но среди взломщиков существуют и настоящие «художники», заставляющие насладиться красотой и элегантностью не только процесса, но даже самой идеи проникновения в систему. В мае 2013 года появилась информация о том, что специалистам компании по сетевой безопасности Lookout Mobile удалось взломать очки-компьютер Google Glass при помощи QR-кода, а точнее, с помощью так называемых фотобомб, «взрывающихся» при фиксировании очками QR-кодов. Дело в том, что это устройство способно автоматически сканировать любую картинку с целью распознавания объектов, которые могут представлять интерес для владельца.
По уверениям Google, сейчас эта уязвимость устранена, но изначально в QR-кодах, которые используются для настройки очков, можно было зашифровать любые команды, в том числе и позволяющие получить полный удалённый доступ к устройству, незаметный для владельца. Кроме того, ранее можно было «заставить» очки подключиться ко взломанной точке доступа Wi-Fi или устройству с Bluetooth и перехватывать любую информацию, передаваемую как от очков, так и к очкам, — то есть, грубо говоря, можно было показать владельцу сфабрикованную картинку. Сейчас возможность автоматического подключения к Wi-Fi заблокирована, и очки Google Glass реагируют на QR-коды лишь в строго определённых режимах.
Как видим, собственно QR-коды не слишком подвержены взлому, поскольку в их спецификации изначально заложена система исправления ошибок на основе кода Рида — Соломона с четырьмя уровнями избыточности от 7 до 30%, что позволяет, например, считывать даже повреждённый код, код с нанесённым изображением или использовать для этого смартфон с грязным либо поцарапанным объективом.
Однако в подавляющем большинстве случаев взлом самого кода (то есть теоретически возможное, но весьма трудоёмкое изменение каким-то образом оригинальной картинки) и не требуется. Гораздо большую опасность представляют подложные QR-коды, причём особенно уязвимы именно мобильные устройства в связи с самим характером их «полевого» использования.
Поэтому лучшим способом защиты от мошенничества остаётся старое сетевое правило: не открывайте подозрительные ссылки; в нашем случае оно звучит как «не сканируйте подозрительные QR-коды». Гораздо безопаснее приобрести какой-то товар в проверенном онлайновом или офлайновом магазине, чем иметь дело с виртуальными магазинами, расположенными в сомнительных местах, а тем более — рекламными проспектами.
Опубликовано 31 марта 2014
Компания Intel проапгрейдила свой самый маленький компьютер Edison. Его первая версия в формфакторе карты памяти стандарта SD была представлена в январе на выставке CES 2014 и не отличалась богатым функционалом. Она интриговала размерами, но выглядела именно как демонстрация возможностей по миниатюризации современной электроники. Обновлённая модель будет более востребована «интернетом вещей» и сферой носимых устройств, на растущий рынок которых Intel делает ставку с приходом нового генерального директора Брайана Кржанича (Brian Krzanich).
Апгрейд Edison затронул в первую очередь набор одновременно обслуживаемых датчиков, которые теперь можно добавлять и объединять через концентратор. На плате появились штырьковые разъёмы для подключения сенсоров и дочерних плат, разработкой которых Intel занимается в настоящее время.
Вице-президент Intel и генеральный менеджер группы разработчиков новых устройств Майк Белл (Mike Bell) пояснил необходимость апгрейда Edison тем, что после CES 2014 им удалось наладить эффективную обратную связь с другими разработчиками носимых устройств и отдельными энтузиастами. «Люди стали делиться своими мыслями о том, что они могут создавать с этим микрокомпьютером, — сказал Белл. — Поэтому мы решили сделать его немного лучше».
В результате новая модель стала крупнее на 57 мм2, добавив по одному миллиметру с каждой стороны. «Изначально мы ориентировались на размер карты SD, но меньше — не всегда лучше, — пояснил Белл. — Куда важнее было добавить разъёмы для повышения удобства работы с чипом».
Для использования в «умных» часах Edison слегка крупноват, но он по-прежнему найдёт применение в «умной» одежде, обуви, а также всевозможных аксессуарах для спорта и активного отдыха. К примеру, шлемы для игры в хоккей и американский футбол можно оснастить сенсорами, которые будут оценивать местоположение, силу ударов и состояние здоровья игроков в реальном времени.
Большинство носимых устройств сейчас закрепляется на голове, запястьях или лодыжках. Разработчики Intel Edison надеются, что их микрокомпьютер будет широко использоваться для экспериментов и поможет создать массу новых гаджетов.
Для ускорения собственных разработок Intel даже купила компанию Basis Science – создателя известного фитнес-трекера Basis. Сторонних разработчиков должен поощрить конкурс «Make it Wearable». Его общий фонд составляет $1,3 млн, а за первое место предусмотрен приз размером в $500 тыс.
http://www.youtube.com/watch?v=iwSpn7H7vKg
Обычно одновременная обработка информации от множества датчиков приводит к повышению энергопотребления чипа и возникновению проблем с его охлаждением. В новой версии Edison архитектура и алгоритмы оптимизированы так, чтобы удерживать значения мощности в оптимальных пределах. Данные кешируются, сжимаются и отправляются по беспроводному интерфейсу. Максимально допустимая температура ядра составляет 110 °С, но механизмы снижения тепловыделения срабатывают уже по мере приближения к 70 °С.
Обновлённый Intel Edison базируется на пока не объявленной официально двухъядерной SoC Intel Quark серии X1000, выпускаемой по технологическим нормам 22 нм. Чип работает на частоте 400 МГц и поддерживает базовый набор инструкций x86. Он оснащён самыми экономичными модулями беспроводной связи Bluetooth и Wi-Fi.
Микрокомпьютер создавался с прицелом для использования в любых малогабаритных модулях носимых устройств с повышенными требованиями к гибкости и лёгкости. Среди конкурентных предложений можно выделить линейку плат для носимой электроники от Freescale, но их размеры будут уже с кредитку или больше. Ближайший аналог (совместимый с платформой Arduino), микрокомпьютер Intel Galileo, стоит около $70. Старт продаж Edison запланирован на лето 2014 года. О цене пока не сообщается.
Опубликовано 31 марта 2014
Только что отшумели Параолимпийские игры — крупнейшее спортивное мероприятие для людей с ограниченными физическими и умственными возможностями. Официальным спутником Олимпиады они стали четверть века назад — и с тех пор каждый раз собирают всё больше участников и зрителей (в играх в Сочи отметились свыше полутысячи спортсменов-параолимпийцев). Однако всё идёт к тому, что Параолимпиадой дело не ограничится. На днях была заявлена новая инициатива — по духу родственная олимпийским/параолимпийским состязаниям, но принципиально расширяющая правила. Я говорю о Кибатлоне (оригинальное название: Cybathlon), который состоится в 2016 году в швейцарской столице. МОК и МПК к этому проекту прямого отношения (пока) не имеют, но менее интересным и зрелищным от он этого вряд ли станет. Ведь в Кибатлоне силами померятся люди с возможностями, расширенными сверх природного предела. Киборги, короче говоря.
Вообще, граница между людьми, использующими те или иные протезы, и киборгами уже весьма размытая. Вспомните Оскара Писториуса — настоящего символа параолимпийского движения, увы, вовлечённого сейчас в ужасный судебный процесс (его подозревают в убийстве подруги). Ещё в младенчестве Оскару ампутировали обе ноги — и тем не менее он бегает. И бегает чуть ли не быстрее всех живущих — с помощью высокотехнологичных протезов: двух пластин из углепластика. Не смотрите, что в них нет электроники, они и без электроники работают отлично, выполняя функцию живой ноги (поглощают энергию шага и возвращают часть её телу). Такие протезы называют клинками или лезвиями (blades), а самого Писториуса, соответственно, за глаза уважительно именуют Бегущим по лезвию (Blade runner).
Так вот, именно Писториус одним из первых привлёк внимание к проблеме злоупотребления технологиями в спорте (кое-кто сегодня называет это технологическим допингом). Пару лет назад, потерпев непривычное для себя поражение, Оскар сгоряча обвинил соперника в том, что у того... слишком длинные ноги. Он, мол, надел неоправданно длинные клинки, чем, естественно, удлинил шаг (подробнее см. «Не считово! Паралимпиада, длинные ноги и длинные языки»).
С обычными спортсменами такое обвинение невозможно: уж что есть, то есть! С параолимпийцами сложней. Разрешённую длину клинков для них рассчитывают по формуле, учитывающей пропорции тела. Но результат всё равно получается... как бы лучше сказать... теоретическим. Ну не в силах никто, кроме, может быть, Господа Бога, знать, какого роста был бы конкретный экземпляр Homo sapiens, будь у него свои — органические, из плоти, крови и костей — ноги!
Слишком длинными конечностями тема не ограничивается. К примеру, того же Писториуса, который при случае не прочь потягаться силами с «полноценными» спринтерами, некоторые обвиняют в нечестном преимуществе: углепластиковый протез предположительно работает лучше настоящей ноги. Проблема технодопинга уже коснулась и олимпийцев. Им протезы не нужны, у них загвоздка в костюмах. Костюмы для большого спорта проектируются почти как космическая техника: нанотехнологии, композитные материалы, выверенные цифровым моделированием и продувкой в аэродинамической трубе свойства и т. д. Иногда ставка на высокие технологии приводит к казусам. Так случилось с американскими конькобежцами на Олимпиаде в Сочи: они держали свои хайтек-костюмы в секрете до самых состязаний, но когда наконец вышли в них на лёд, оказалось, что те «парусят».
Впрочем, чаще технологии себя всё-таки оправдывают. Несколько лет назад фурор произвёл костюм для пловцов LZR Racer Suit — благодаря множеству чисто технических находок снизивший сопротивление тела пловца набегающему потоку и помогший установить множество мировых рекордов. В результате спортрегуляторы были вынуждены переписывать правила в сторону ужесточения.
Да, в классическом спорте на технические уловки смотрят косо. А вот Кибатлон сделает их уместными и даже необходимыми. Побеждать тут будут не просто сильнейшие спортсмены, а сильнейшие, экипированные техникой от сильнейших инженеров!
Согласитесь, смысл, потребность в таких состязаниях давно назрела: ведь не год, не два, даже не десять лет техника помогает людям с ограниченными возможностями выживать, вписываться в общество. И если на улице нет запрета на расширение возможностей сверх «среднестатистических природных», почему он должен существовать в спорте? Человеческое тело в Кибатлоне станет своего рода каркасом, на который будут навешивать электронику и механику. Но почему бы и нет, раз уж мы всё равно это умеем и давно используем? Пусть классические виды спорта открыто станут состязанием не только органики, но и кремния, стали, тактовых частот. Вот, кстати, почему награды в Кибатлоне планируется присуждать в двух номинациях одновременно: один комплект — спортсменам (их предложено именовать «пилотами»), другой — специалистам, построившим техническую часть: инженерам, программистам, дизайнерам.
Пока в Кибатлоне планируется шесть дисциплин, разделяющих спортсменов по степени подвижности. Участники, сохранившие подвижность полностью, но лишённые рук или ног, будут соревноваться, используя протезы конечностей (скорость, координация и пр.). Ограниченные в подвижности частично посостязаются в креслах-каталках и на велосипедах (в последнем случае посредством электростимуляции мускулатуры ног), а также облачившись в экзоскелет. Наконец, полностью парализованные спортсмены наденут «мыслешлемы», считывающие активность головного мозга, и посоревнуются в управлении виртуальными объектами на компьютерном экране.
Звучит странно и, возможно, даже глупо? Но дайте время! Снимая ограничение на расширение возможностей человека выше умозрительного природного максимума с помощью технических средств, мы выходим на бескрайний и абсолютно неисследованный простор. Необычно длинные углепластиковые клинки, необыкновенно (по сравнению с человеческим) сильный или быстрый экзоскелет, подключенные к нервной системе электромеханические протезы — это только начало. Кто поручится, что пять лет спустя, участвуя в Кибатлоне, спортсмены с невысоким IQ (официальное требование Параолимпиады, кстати) не станут расширять свои интеллектуальные возможности, стыкуя с подкоркой внешние электронные блоки через нейроэлектронный интерфейс?
Непосредственный выигрыш от таких состязаний — в ускорении технического прогресса и возвращении технологий в общество (не случайно среди организаторов Cybathlon Национальный научный фонд Швейцарии). Так же, как углепластиковые протезы уже используются не только спортсменами, находки Кибатлона в конце концов проникнут на массовый рынок — и помогут простым людям. И уж тут само понятие «человека с ограниченными возможностями» сменит смысл: по сравнению с киборгами ограниченными будем считаться все мы.
Опубликовано 04 апреля 2014
Прошлый год завершился для Google покупкой семи компаний, занимающихся проектированием роботов. Главным приобретением стала фирма Boston Dynamics, об успехах которой «Компьютерра» много писала в связи с созданием её инженерами перспективных моделей по заказу DARPA. Наиболее совершенной из них стал гуманоидный Atlas. Вслед за этим Google поглотила другую фирму, создавшую человекоподобного робота SCHAFT и завершила усиление своих позиций покупкой компании Meka Robotics. Однако на рынке робототехники есть и другие сильные игроки с оригинальными идеями и общим видением ситуации.
Антропоморфный Atlas впечатляет не только умениями, но и стоимостью, превышающей миллион долларов. Из-за высокой потребляемой мощности (около 15 кВт) его повседневное использование просто нецелесообразно. Разработчики позиционируют его как спасателя, действующего в условиях аварий на производстве и техногенных катастроф. Но не проще ли заранее оснастить аварийно-опасные участки более дешёвыми роботами?
Именно этот путь и предлагают в исследовательской группе Стэнфордского университета SRI International. Это научное объединение было создано как некоммерческая организация, что не мешает ему привлекать заоблачные инвестиции. Их общее число уже превысило $4 млрд, и основной поток средств также поступает от DARPA.
Ключевая идея SRI состоит в том, чтобы создать более совершенные манипуляторы и заменить дорогостоящую гидравлику в роботах нового поколения более дешёвыми, но мощными электронными компонентами.
Считается, что такой шаг одновременно снизит стоимость и повысит точность операций, доступных роботу. По мнению разработчиков, при сопоставимых возможностях новые роботы будут потреблять в разы меньше энергии и стоить почти десятикратно дешевле, чем легендарный Atlas.
О том, насколько важную роль в развитии робототехники играют манипуляторы, можно судить и по наличию отдельной исследовательской программы DARPA ARM-H, непосредственное участие в реализации которой принимает коллектив SRI.
По условиям программы создаваемые манипуляторы должны быть достаточно прочными для работы в полевых условиях, взаимозаменяемыми и дешёвыми в серийном производстве. Их искусственным пальцам надлежит развивать усилие не менее 4,5 кг и удерживать полезный груз массой до 23 кг.
Директор отдела робототехники SRI Рич Махони (Rich Mahoney) отмечает, что всё это возможно уже сегодня. Прогресс затормозился из-за того, что дизайн большей части прежних роботов был избыточен, так как никто всерьёз не верил, что они покинут пределы лаборатории. Поэтому их создатели не имели стимула искать способы удешевления массового производства, работать в направлении унификации конструкций и делать управление ими удобным для неспециалистов.
Серийно выпускаемые роботы с ловкими манипуляторами могут стать стандартным оснащением на производствах высокого класса опасности (например, нефтяных вышках) и приступать к ликвидации последствий аварии уже на раннем этапе. «Вместо таблички “В случае аварии разбить стекло” и топора за ней там будет просто стоять гуманоидный робот», – шутит Махони.
Аналогичного мнения придерживается и директор фирмы Unbounded Robotics Мелани Уайс (Melonee Wise), развивающей направление сервисных роботов. По её словам, более совершенные манипуляторы означают, что роботам станут доверять действия в сложной рабочей области.
Сейчас компания готовится наладить к лету выпуск роботов URB1 стоимостью $35 тыс. Обладая всего одним захватом, они смогут выполнять разные рутинные действия, а система компьютерного зрения поможет им оставаться безопасными для людей поблизости.
Ближе всех к созданию универсальных гуманоидных роботов пока подошла компания Rethink Robotics, создавшая универсальную модель Baxter. Благодаря возможности переобучения и набору сменных манипуляторов такими машинами действительно можно заменить часть рабочих на конвейере.
Современные попытки сделать роботов дешевле и практичнее также связаны с тем, что их стараются приспособить уже не только для выполнения специфических задач, но и для широкого повседневного использования. Иными словами, из редких футуристических созданий они превращаются в бытовые устройства.
Первыми этот путь проделали роботы-пылесосы. Им не требуется быть гуманоидными, чтобы выполнять качественную уборку, но хотя бы одна рука очень пригодилась бы для повышения самостоятельности. Компания Roomba (выпускающая пылесосы iRobot) работает совместно с Гарвардским и Йельским университетами над созданием трёхпалого манипулятора. Его главным свойством будет возможность универсального применения в быту — от удержания крупных предметов до поднятия упавшей связки ключей.
Опубликовано 04 апреля 2014
0 Какой красивый код!
10 Пусть тот, кто устал от этой фразы, первым бросит в меня камень. Это редкая и наверное самая ценная похвала, какой только может удостоиться программист. Деньги? Деньги платят за функционал. Но красоту программы способен оценить лишь человек, понимающий, как она работает, чего стоило её написать. Неуловимое, вечно ускользающее, всегда желанное для автора качество. Так нельзя ли его формализовать? Чтобы отныне и впредь наверняка писать только красивый код?
20 Красота — понятие размытое. Мы применяем его направо и налево, к живому и неживому, ухитряемся даже сравнивать на конкурсах, но не желаем, а может, и боимся признаться себе, что до конца не понимаем значение этого понятия — быть красивым. «Википедия» определяет красоту как способность объекта вызывать у наблюдателя эстетическое (в смысле — не привязанное к практической пользе) наслаждение. Проблема в том, что в любых двух точках пространственно-временно массива каноны красоты разнятся.
30 Уже древние греки расходились в вопросе, понимать ли красоту непосредственно — визуально, измеряя математически — или считать категорией более высокого, нравственного порядка. И с тех пор «стандарт» переписывали несчётное число раз, добавляя одно и отвергая другое: симметрия, целостность, чистота и так далее, и так далее. Классическим образчиком того, насколько изменчиво понимание красоты, служат эталоны красоты женской: поставьте рядом одну из палеолитических Венер и сегодняшнюю манекенщицу!
40 Короче говоря, определиться даже с пониманием женской красоты мы оказались не в силах. Когда же дошло до машинного кода — субстанции, с которой человек никогда ранее дел не имел (программы для ткацких станков не в счёт), — можно было гарантированно начинать с чистого листа. Опыт цивилизации в этом отношении нулевой. Даже всезнающая «Википедия» молчит и самое близкое, что предлагает, — статью на тему что-токрасоты в математике (откуда мы кое-что почерпнём). Вот так и получается, что наиболее надёжный способ сформулировать критерии красивого кода — спросить людей, которые его пишут. За последние десять лет этот вопрос периодически звучал на просторах Сети то там, то здесь, так что я попытался обобщить — и вот что получилось (дополните или исправьте, если упустил).
50 В первом приближении красота кода — это внешняя эстетика текста программы: хорошо организованная структура, выровненные строки, сгруппированные по смыслу элементы, пригнанные к формату комментарии. Но это вульгарное понимание, родственное попытке приравнять красоту к функциональности. Копните чуть глубже — и выяснится, что ключевую роль здесь играет простота. Похоже, красивый код должен быть максимально простым — таким, чтобы в нём не осталось ничего лишнего, но при этом он решал бы задачу, ради которой написан. Простоты, как правило, никто не требует, зато движение с ориентиром на неё даёт целый букет полезных свойств.
60 Простота способствуют скорейшему пониманию программы читающим её. Она гарантирует, что в коде будет минимум ошибок и слабых мест. С высокой вероятностью делает код минимальным по размеру, наименее требовательным к системным ресурсам и максимально быстрым. Наконец, простота почти наверняка означает, что проект не «рос по ходу дела», а был тщательно продуман, спроектирован ещё до того, как автор коснулся клавиатуры. Такая программа сравнительно легко может быть расширена, когда понадобится добавить в неё новый функционал.
70 Не скажу за всех, но лично для меня эталоном простоты, моей «киберпалеолитической Венерой», навсегда останется короткий отрывок на ассемблере Intel 8080. Всего одна команда. Вот она:
XOR A
Надеюсь, те, кто программировал в восьмибитную эпоху, пережили сейчас несколько приятных секунд. Смысл этой операции — в обнулении регистра A. Того же можно достичь прямо, присвоением (MVI A,0), но «исключающее ИЛИ» позволяет сделать это короче, сэкономив один байт. Совсем не лишнее, когда вся оперативная память умещается в 64-килобайтную страницу! Впрочем, только ли из экономии так писали? XOR A была как удачно угаданная нота в музыкальной гамме: она дарила то самое эстетическое наслаждение!
80 Из этого примера очевидна и ещё одна важная вещь: простота и читабельность кода — не синонимы. Хорошо читаемый код получается не только благодаря изящной реализации алгоритма, но и наглядной визуальной структуре текста программы и, главное, хорошим комментариям. Словно лёгкий макияж, который не скрывает, а подчёркивает, помогает оценить красоту естественных черт, комментарии и структура делают замысел творца понятным с первого взгляда.
90 Читабельность — это резко возросшие шансы, что красоту программы оценит кто-то ещё, кроме вас. И даже что вообще код может быть сочтён красивым. Ведь не все согласны, что реальный код может быть красив: одно дело — чистая «математика», реализация алгоритма в чистом виде, другое — реальный мир, повседневные задачи, где приходится иметь дело с безобразными, плохо предсказуемыми вещами вроде орфографических ошибок, ненадёжных электрических контактов, невнимательных пользователей.
100 Кстати, самое время вспомнить и о ранее упомянутой красоте математических построений. Так вот: математики сходятся во мнении, что красота матобъекта обратно пропорциональна затраченным на его понимание усилиям. В точку! После такого можно даже согласиться с навязшим на зубах стереотипом, что программированию нужно учить параллельно с математикой!
110 Но давайте подведём итог. Что мы выяснили? Прежде всего — красота кода не зависит от языка. Программа может быть красивой на ассемблере и Malbolge — нашёлся бы человек, желающий и способный её оценить!
120 Далее, красота отнюдь не бессмысленна с практической точки зрения. Программы, как и рукописи, не горят. И через какое-то время с написанным вами кодом почти неизбежно придётся иметь дело кому-нибудь ещё (возможно, и вам самому). Поэтому лучше сразу постараться писать красиво, облегчить труд того, кто примет ваше детище.
130 Наконец, третий и, возможно, самый приятный для программистской братии вывод: «наведение» красоты, её достижение — отнюдь не чисто механический процесс. Красивый код нельзя получить решейпингом, ренумерацией, оптимизацией. Для этого обязательно понадобится голова! И это в некотором смысле дарит нам надежду. Ведь роботы, которые уже подминают под себя фастфуд и журналистику, однажды доберутся и до программирования (доберутся-доберутся, вспомните комментарии к «Ошибке в автомобильном софте»!) — но и тогда, похоже, местечко для нас, человеков, всё-таки останется.
Опубликовано 03 апреля 2014
Природа непредсказуема. Никто не смог назвать заранее час падения Челябинского метеорита, не предвидел высоту волны, залившей Фукусиму. И десятки, сотни стихийных бедствий в прошлом обрушились на человека так же неожиданно. Но одно дело — говорить о трудностях прогнозирования, когда всё уже в прошлом, другое — обсуждать их, когда события продолжают развиваться и точка ещё не поставлена. Такова текущая ситуация в Чили и прилегающих районах Тихого океана. Поздним вечером 1 апреля там случилось сильное землетрясение. И главный вопрос — увы, повисший в воздухе! — стоит ли ожидать в ближайшем времени ещё более жестокого удара.
Расклад простой. Около 9 часов вечера вторника в 95 км от портового городка Икике (200 тыс. жителей) произошло землетрясение магнитудой 8,2 — одно из сильнейших, зафиксированных в XXI веке. Три четверти часа спустя на западное побережье Южной Америки обрушилось двухметровое цунами. Об угрозе цунами было предупреждено и население всех территорий вокруг эпицентра, включая Гавайи, Коста-Рику и др. Значительных жертв, к счастью, удалось избежать, но без разрушений не обошлось.
Если помните, шкала для оценки магнитуды землетрясений — логарифмическая (ранее применялась шкала Рихтера, теперь — шкала Канамори, более точно отражающая мощные сдвиги земной коры), то есть прирост на 1 единицу по ней означает увеличение амплитуды в 10 раз (и многократно больший прирост выделяющейся энергии). Так вот, в среднем размах пережитого чилийцами подземного толчка более чем десятикратно превзошёл большинство крупных землетрясений с начала века (чаще всего ограниченных магнитудой 7).
Записи со смартфонов и камер наблюдения запечатлели жуткую картину: люди, направившиеся было к выходам из зданий при первых колебаниях почвы, вскоре уже не могли устоять на ногах и падали где повезёт, хватались за ходившую ходуном — словно на корабле в штормящем море — мебель. На дорогах в первые моменты царила паника, позже было зафиксировано несколько больших пожаров, завалена оползнями важная автомагистраль, разбиты сотни лодчонок у берега. Электростанции стихия пощадила, но всё же тысячи человек остались без света, связи. Наконец, сбежали три сотни заключённых местной женской тюрьмы, что заставило направить в районы бедствия армейские части.
Картина исчерпывающе мрачная — и всё-таки в ней есть один серьёзный пробел, неувязка. Если посмотреть на статистику сильнейших землетрясений XXI века, вы поразитесь несоответствию между количеством человеческих жертв там и здесь. Практически каждое землетрясение магнитудой свыше 6 единиц стоило человечеству минимум сотен жизней, а часто — десятков тысяч. В Чили по состоянию на утро четверга известно о шести погибших, причём некоторые из них скончались от сердечных приступов. Конечно, цифра наверняка скорректируется в большую сторону, и всё равно поражает. Чем это объяснить?
В значительной степени — везением. Чилийцам и жителям прилегающих территорий позавчера повезло буквально по каждому пункту из длинного потенциально катастрофического списка. Эпицентр находился в сотне километров от берега, и глубина вод там сравнительно невелика, так что толчки на земле были слабее, а цунами оказалось в разы ниже возможного. Район близ эпицентра сравнительно слабо заселён, а стационарные телефоны, интернет, мобильная связь (оповещения об угрозе цунами рассылались в том числе посредством СМС) в основном работали. Наконец, главному толчку предшествовала серия небольших землетрясений (с перерывами трясло весь март: только за последнюю неделю зафиксировано около трёх сотен толчков), посему население было обучено и готово к срочной эвакуации.
Конечно, нельзя забывать и о хорошей подготовке. Жители, повторю, обучены, и в кратчайшие сроки из прибрежных районов удалось самостоятельно или с помощью властей эвакуироваться почти миллиону человек (хоть в Икике население поначалу всё равно запаниковало и село на автомобили, намертво парализовав движение). А высотные здания в Чили выдерживают землетрясения до 9 единиц.
И всё-таки... Всё-таки эксперты признают: во вторник Чили чудом избежала катастрофы. И рассчитывать, что в следующий раз звёзды сойдутся так же удачно, могут только самые бессовестные оптимисты. Что приводит нас к самому страшному аспекту во всей этой истории. Геологи в целом подтверждают, что вероятность новых толчков велика. Так нельзя ли предсказать время и место следующего удара? Угадать его магнитуду? Впрочем, чилийцы сейчас будут рады, даже если кто-нибудь даст уверенный ответ всего на один до смешного простой вопрос: высвободило ли первоапрельское землетрясение всю накопившуюся под землёй энергию? И им совсем не смешно, что никто такой ответ дать не может.
Что мы знаем о землетрясениях? Несмотря на полуторавековую историю сейсмографа, по-прежнему недостаточно много даже для того, чтобы понять механизм их зарождения. Нет, в общих чертах механика, конечно, изучена. В данном случае первопричина — напряжения в земной коре, возникшие в результате столкновения двух литосферных плит: плиты Наска (восточная часть Тихого океана) и Южно-Американской плиты (на которой покоится вся Южная Америка и часть Атлантики). Первая подминается второй (так называемая субдукция) со скоростью от 65 до 80 мм в год, чего достаточно для продолжения подъёма Анд, подпитки вулканической активности на западном побережье Южной Америки и спорадических землетрясений.
Именно субдукция литосферных плит провоцирует самые мощные подземные толчки. И не случайно именно здесь произошло самое крупное землетрясение из всех когда-либо зарегистрированных с помощью сейсмографа: Великое чилийское землетрясение 1960 года магнитудой 9,5 унесло жизни 6 тысяч человек.
Но всё это, повторю, весьма грубое приближение. И хоть динамика столкновения литосферных плит близ Чили изучена чрезвычайно подробно (известно, где и с какой скоростью плиты сходятся друг с дружкой, какие участки движутся горизонтально, а какие вертикально, по данным сейсморазведки нарисован предполагаемый разрез, и пр., и пр.; привлекаются данные геодезии, геологии, петрологии и других наук), построить компьютерную модель, прогнозирующую зарождение землетрясений с практически пригодной точностью, всё равно не удаётся. Хуже того, существует масса сопутствующих теорий (в той или иной степени подтверждаемых наблюдениями), объясняющих сейсмоактивность порой взаимоисключающим образом. Последняя догадка европейских исследователей, например, заключается в решающей роли воды, просачивающейся между плитами: её распределение якобы оказывает значительное влияние на магнитуду и протяжённость землетрясений.
Так будет Чили ещё трясти или нет? Трубить отбой или готовить население к беспрецедентному стихийному бедствию? Ведь толчки магнитудой свыше 9 не выдержат даже современные здания, не говоря уже о малоэтажной застройке, коммуникациях, коммунальной инфраструктуре? Нет ответа. Одни учёные говорят: большего не ждите, и так тряхнуло хорошо. Другие настаивают, что 8,2 балла недостаточно для снятия напряжения в данном конкретном районе: этот межплитовый стык пребывал в покое со второй половины XIX века, и раз уж он «проснулся», то ждите большой беды.
Вот только и они не в силах назвать хоть сколько-нибудь точную дату. Может быть, завтра. А может быть (цитирую!), через пятьдесят лет. Хозяин природы у Геи в гостях...