В тех же ситуациях, когда «забывчивость» компьютерных систем не удается объяснить естественными причинами, прибегают к более радикальным мерам. Яркой иллюстрацией чему стал грандиозный скандал с откровениями некой Деборы Пэлфри, «мадам столичного округа Колумбия», многие годы содержавшей VIP-службу эскорта и массажа (попросту говоря, публичный дом) для оказания сексуальных услуг политической элите Вашингтона. Когда из учетных записей Мадам стало известно, что среди ее постоянных клиентов, регулярно заказывавших на дом «девушек-массажисток», был и столь заметный деятель, как Рэндал Тобиас (Randall Tobias), занимавший высокие посты заместителя госсекретаря и главы USAID, правительственного Агентства по иностранному развитию, то без каких-либо объяснений последовала спешная отставка чиновника. А уже два дня спустя новое руководство USAID и Госдепартамент разослали сотрудникам инструкцию-циркуляр с требованием «срочно забыть все». То есть изъять все изображения бывшего босса, упоминания и ссылки на него на веб-сайтах, на стенах в приемных, в печатных публикациях, брошюрах, бюллетенях, PowerPoint-презентациях и тому подобных документах. Учитывая то, сколь высокий пост занимал Тобиас, можно вообразить, какой объем работы добавила сотрудникам госаппарата новая директива руководства.
Если в США государство озабочено тем, чтобы научить компьютеры и чиновников «все забывать», то в Германии сейчас налицо другая тенденция – попытаться максимально восстановить почти утраченные материалы недавней истории. Гигантский архив службы безопасности ГДР, в народе известной как «Штази», из-за стремительного развала государства не был уничтожен – поставленные на это дело люди успели лишь изорвать бумаги на множество клочков и рассовать их в шестнадцать с лишним тысяч мешков. О конкурсе на лучшую программу для восстановления архива Штази на страницах «КТ» рассказывалось в 2003 году (#504—505). Теперь же выигравший конкурс Фраунгоферовский институт в Берлине взялся восстановить первую партию из четырехсот мешков. На пилотный проект отведено два года. Дальше работа пойдет быстрее, а в целом предстоит восстановить около 45 млн. листов, каждый из которых разорван на фрагменты числом от 8 до 30. В Германии, похоже, не хотят забывать свою историю.
Забывчивость действительно свойственна всем людям. Однако опыт показывает, что стать достойным человеком можно лишь при условии, если помнить свои ошибки и уметь нести за них ответственность. То же самое, очевидно, относится и к обществу в целом.
АНАЛИЗЫ: Криптовымогатели
Казалось бы, в сфере вредоносного софта уже трудно изобрести что-нибудь оригинальное. Мир вирусов, червей, троянцев, шпионского ПО и adware многолик и разнообразен. Однако в 2005 году вирусописателям вновь удалось удивить антивирусные компании и свои жертвы, выпустив первые образцы своих «работ» совершенно нового жанра.
Приложения, за которыми закрепилось название ransomware (от англ. ransom – выкуп), проникнув на компьютер, лишали пользователя доступа к его данным и начинали требовать выкуп. Поначалу речь шла о единичных экспериментальных разработках маргиналов от программирования. Но годом позже ransomware стали штамповать в промышленных масштабах и привлекли пристальное внимание специалистов по информационной безопасности и прессы.
Школьники-дилетанты
Уже есть первые анекдотичные примеры недоработок среди ransomware. Например, троянец Schoolboys, авторы которого в файле, содержащем их требования, написали сумму выкупа, но забыли упомянуть реквизиты, по которым нужно перевести деньги
Принцип работы ransomware довольно прост, так что относительно позднее появление этого бедствия даже удивляет. На машину жертвы такая программа может попасть любым троянским способом: в виде исполняемого файла по e-mail, атакой с сайта через дыры ПО, всплывающие баннеры, скачиваемые бесплатные приложения, вроде заставок экрана и т. п., но ее дальнейшие действия отличаются от действий предшественниц. Вместо того чтобы собрать все любопытные данные владельца компьютера, установить бота-зомби или наплодить рекламных приложений, зловредная софтина ищет на винчестере файлы с заданными расширениями и зашифровывает их.
Таким образом, у пользователя остается полностью работоспособный компьютер, только вот открыть, например, незаконченную статью в Word не удастся. Впрочем, это еще мелочи, хотя и обидные. Чтобы жертва стала более сговорчивой, зашифровать могут не только документы и письма, но и ехе-файлы. К тому же на жестком диске зачастую хранится и более важная, а главное, ценная информация, за доступ к которой не жалко отдать весомую сумму. Особенно если злоумышленник использует стойкий криптоалгоритм шифрования, взломать который затруднительно или вообще практически невозможно. Поначалу, пока заражение компьютеров ransomware случалось раз в несколько месяцев, преступники использовали слабые шифры, взломать которые можно было прямым перебором. Сейчас таких дилетантских поделок остается все меньше и меньше.
Вместе со сложностью шифров растут и суммы, которые требуют злоумышленники, а атаки все чаще становятся целевыми. Хакеров интересуют компьютеры финансовых учреждений и конкретных лиц. Хотя случаев с шифрованием данных рядовых пользователей тоже хватает. Интересно, что советы экспертов для жертв таких программ в чем-то напоминают указания полиции относительно киднеппинга. Вкратце, пользователям рекомендуют прикинуть, насколько серьезными могут быть потери, если доступ не удастся восстановить, и если речь идет о весомом ущербе, то советуют по возможности затянуть переговоры со злоумышленником, например, торгуясь по e-mail. Параллельно нужно обратиться в одну из антивирусных лабораторий за анализом ситуации и разработкой решения. Правда, в полицию (и тем более милицию) звонить, наверное, необязательно. Особенно если речь идет о менее значительном происшествии, чем, скажем, парализованная работа банка. История пока не знает ни одного случая задержания и тем более осуждения автора ransomware.
Справедливости ради отметим, что если при киднеппинге велик шанс не получить живого родственника даже после уплаты выкупа, то разработчики ransomware пока всегда держали слово и, получив деньги, восстанавливали данные. Другое дело, что развитию этого криминального бизнеса во многом способствуют сами пользователи, которые зачастую готовы пожертвовать (обычно небольшой) суммой, нежели обращаться в антивирусные компании и правоохранительные органы. Хотя в организации онлайн-вымогательства есть то же уязвимое место, что в офлайне, – контакт при передаче денег.
Возможно, отсутствие юридической практики привлечения к ответственности авторов ransomware объясняется тем, что большинство таких программ создано в России и странах СНГ и рассчитано «на внутреннее пользование», что выражалось как в языке, на котором писались требования выкупа, так и в запрашиваемой валюте. Так что более опытные в расследовании киберпреступлений западные «органы» просто не успели всерьез озаботиться проблемой. Заражения ransomware в США, Великобритании, Германии и ряде других стран начали фиксироваться где-то во втором полугодии 2006-го.
Преступление без наказания
История пока не знает ни одного случая задержания и тем более осуждения автора ransomware. Писатели всех троянов-вымогателей находятся на свободе.
Первыми представителями семейства ransomware, получившими довольно широкое распространение, стали Archiveus, Troj.Ransom.A, Cryzip, Krotten, MayArchive и несколько модификаций Gpcode. Первый троянец закрывает доступ к папке «Мои документы». По данным антивирусных компаний, его автор был не самым выдающимся программистом и разместил пароль доступа в исходниках программы. В Symantec советуют для расшифровки ввести пароль «mf2lro8sw03ufvnsq034jfowr18f3cszc-20vmw» к файлу EncryptedFiles als и «kw9fjwfielaifuw-1u3fw3brue2180w3hfse2» к Demo als. Необычность этого софта заключается еще и в том, что его автор не требует выкупа. Пользователь получает сообщение, в котором говорится, что злоумышленнику не нужны деньги и он лишь хочет видеть его своим клиентом. Далее жертва получает подробные инструкции по восстановлению доступа к папкам. Но прежде чем данные будут воостановлены, потерпевшему следует приобрести на определенную сумму товаров в онлайн-аптеке. Кажется, усилиями таких горе-коммерсантов в понятие «агрессивный маркетинг» вскоре будет вкладываться несколько иной смысл.
Troj.Ransom.A запомнился как первое приложение, которое помимо шифрования прибегает к угрозам, сообщая пользователю, что каждые полчаса с жесткого диска будет удаляться по одному файлу до тех пор, пока жертва не переведет деньги ($10,99).
Параллельно программа радовала пользователя порнографическими картинками, а при попытке закрыть соответствующий процесс нажатием Ctrl+Alt+Del бросала презрительно-насмешливые реплики. Преступник попался не жадный и довольствовался скромными 11 долларами, которые ему почему-то было удобнее получать не на аккаунт в одной из платежных онлайн-систем, а по Western Union. Обычно разработчики ransomware требуют несколько сотен баксов за «освобождение» данных. Кстати, автор Troj.Ransom.A – человек в каком-то смысле ответственный, и поскольку сам не уверен в том, что его вредоносный софт работает корректно, предлагает заплатившим жертвам связаться с ним по e-mail, если у них возникнут проблемы с удалением троянца.
Еще одной нашумевшей вымогательской программой стал Cryzip, также известный как Troj/Zippo-A, который собирал обнаруженные на компьютере документы Word и Excel, pdf и jpeg, а также файлы баз данных в зашифрованные ZIP-файлы. После этого появлялся текстовый файл, в котором сообщалось, что все еще можно поправить, переведя $300 на счет в системе E-Gold. Экспертам компании Sophos удалось, проанализировав троянский код, определить пароль для расшифровки: «C:Program FilesMicrosoft Visual StudioVC98». Выбор пароля не случаен. Таким образом злоумышленник надеялся ввести в заблуждение специалистов, анализировавших код программы.
Кстати, блокирование доступа к документам и почте – не единственная цель ransomware. Уже существуют программы, которые требуют выкуп за восстановление нормальной работы ОС в целом. В частности, это троянец Krotten, который одно время весьма активно распространялся в Сети под видом программного средства для получения доступа к платным веб-ресурсам. Пик его угрозы пришелся на январь прошлого года, когда автор Krotton в течение двух недель выпустил 13 модификаций своего детища, надеясь помешать выработке алгоритма обнаружения программы постоянным изменением кода.
Независимо от версии, Krotten ведет себя на компьютере жертвы примерно одинаково. После запуска софтина регистрирует себя в реестровых ключах автозапуска и при следующей загрузке системы пользователь обнаруживает, что не может запустить RegEdit и Диспетчер Задач, закрыть окна Проводника и браузера, открыть настройки файлов и папок. Ну и из мелочей можно отметить, что содержимое меню «Пуск» меняется, вместо часов в трее появляется ругательство, а на винчестере создаются папки – «Типа Windows», «Типа Windows2» и «Типо Мои Документы». Требования злоумышленник также оглашает при загрузке Windows, предлагая восстановить нормальную работу компьютера, переслав на «Одноразовый» e-mail активационный код карты оплаты оператора «Киевстар» на 25 гривен. Из этого становится ясно, что, несмотря на массовое распространение, Krotten имеет украинское происхождение и нацелен на тамошнее же население. Избавиться от троянца можно, скачав бесплатную утилиту KLWK по адресу ftp://ftp kaspersky com/utils/klwk/KLWK.ZIP.
А совсем недавно стало известно о появлении очередного оригинального приема из серии ransomware. На сей раз жертвами стали пользователи бесплатного почтового сервиса Hotmail. В конце декабря 2006 года при проверке почты на сервере некоторые из них неожиданно не обнаружили ни писем, ни списка контактов. В ящике лежало одно-единственное сообщение, причем на испанском языке. В нем сообщалось, что если пользователь хочет узнать местонахождение своей адресной книги и базы писем, то придется заплатить. Интересно, что конкретной суммы злоумышленники не называли, предпочитая договариваться с каждым, что называется, на индивидуальной основе. Занявшейся этим случаем компании Websence удалось выяснить, что логин и пароль к аккаунту Hotmail злоумышленники получали с помощью кейлоггеров (программ, считывающих нажатия клавиш и отправляющих логи своему владельцу), предварительно установленных на компьютерах интернет-кафе. В заявлении, посвященном результатам расследования случая, представитель Websence заметил, что уже ставший привычным вариант ransomware с проникновением троянца на пользовательский компьютер оказался далеко не единственным.
Несмотря на то, что ransomware активно начали распространяться по Сети только в прошлом году, появление соответствующего софта было предсказано еще 11 лет назад сотрудником Колумбийского университета Адамом Янгом (Adam Young) и исследователем из IBM Моти Янгом (Moti Yung), опубликовавшими книгу «Cryptovirology: Extortion-Based Security Threats and Countermeasures», где впервые упоминался термин «криптовирология». Под ним авторы понимали новую сферу деятельности компьютерных злоумышленников, которая должна перевернуть представление об информационной безопасности. Основная идея заключается в том, что ИТ-сообщество привыкло воспринимать криптографию в качестве мощного инструмента для создания средств защиты данных и сохранения приватности, и часто упускает из виду возможность ее использования для менее благовидных целей.
Нынешние представители ransomware ознаменовали лишь начало нового этапа в противоборстве вирусописателей и антивирусных компаний. В настоящее время злоумышленник, как правило, генерирует пару крипто-ключей, причем открытый находится у созданного им трояна, а закрытый у преступника. После заражения компьютера жертвы, автор требует денег за расшифровку и, получив выкуп, отсылает закрытый ключ. Слабое место этого подхода заключается в том, что потерпевшему достаточно просто выложить в общий доступ информацию о закрытом ключе, и злоумышленнику останется надеяться, что новым жертвам эти данные не попадутся на глаза. Со временем же, если верить прогнозам, на смену этой модели придет более изощренная – с использованием хакерами ассиметричного шифрования. В этом случае злоумышленник также будет создавать пару ключей, однако вирус, попав на компьютер жертвы, сгенерирует еще один тайный ключ, которым уже и зашифрует данные.
И наконец, самый известный «шантажист» – Gpcode, автора которого «Лаборатория Касперского» расценивают чуть ли как не личного противника, является на сегодняшний день, пожалуй, наиболее совершенным в плане используемых криптографических технологий. Злоумышленник работал с русскоязычными пользователями и распространял троянца через спам. Жертвам приходило письмо, отправленное якобы с рекрутингового сайта, в котором сообщалось, что для пользователя есть вакансия и предлагалось заполнить прилагаемую анкету в doc-формате. Эта уловка работала довольно хорошо, так как адреса людей преступник брал из базы резюме Job ru. При открытии этого файла запускался макрос, который устанавливал в систему собственно Gpcode.
Дорвавшись до винчестера, программа выискивала на нем все файлы с расширениями txt, doc, xls, rar, htm, pdf и др. – всего около восьмидесяти, а также базы данных электронной почты и шифровала их с удалением оригинала. При этом в каждом каталоге появлялся файл readme txt, в котором хакер сообщал, что именно он натворил, и предлагал купить декодер, связавшись по почте. Адреса преступник постоянно менял, а для расчета с жертвами предпочитал использовать кошельки системы «Яндекс.Деньги». Интересно, что установить источник заражения удалось не сразу, так как с момента получения письма до шифрования проходило определенное время, и ассоциаций с посланием Job ru у жертв, как правило, не возникало.
Первая версия Gpcode появилась еще в конце 2004 года. Она шифровала данные алгоритмом собственной разработки, хотя и включала в названия файлов «PGPcoder», что заставляло предположить использование более профессиональных криптосредств. Так что поначалу проблем со взломом шифра не возникло. Однако постепенно в интернете появлялись все более и более изощренные модификации программы, и наконец, летом прошлого года в «Лаборатории Касперского» столкнулись с версией Gpcode ag, которая шифровала данные с помощью алгоритма RSA с ключом длиной 660 бит.
Но каким-то образом специалисты все же взломали и его. По слухам, ключ факторизовали двое суток на арендованном у РАН кластере из 574 узлов с процессорами 2xPowerPC 970 2,2 ГГц и 4 Гб оперативной памяти. А также они смогли в сотрудничестве с компанией-хостером удалить файл вируса с ресурса, с которого он загружался после команды троянца. Автор ransomware, видимо, был достаточно горд своим последним детищем, и даже устраивал тем пользователям, которые согласились ему заплатить, небольшой ликбез по основам криптографии. В целях просвещения он создал свой сайт, где объяснял принцип работы RSA.
Сотрудники «Лаборатории Касперского» на RSA Conference 2007 заявили, что взломали ключ Gpcode за десять минут, потому что хакер «не дочитал криптографический учебник до конца», однако признались, что последняя победа досталась им с большим трудом, и не факт, что уже в обозримом будущем удастся решить проблему с более совершенными экземплярами ransomware в пределах разумного времени. На этом мероприятии борьба с программами-вымогателями была впервые названа ключевой тенденцией нынешнего года в сфере информационной безопасности. Удручает их и тот факт, что авторы Gpcode, Cryzip и Krotten все еще на свободе. Интересно, что автор Gpcode требовал с жертв всего-навсего по 2000 руб., видимо, опасаясь, что при попытке запросить более крупную сумму у кого-то из жертв может появиться желание подать заявление в правоохранительные органы. Это напоминает случай с появившимся в июне прошлого года аналогичным «вредителем» Trojan.Skowr, автор которого в текстовом файле, содержащем инструкции по «выкупу» данных, отмечал, что пользователь – счастливчик, и восстановление обойдется ему от $20 до $80. При этом злоумышленник отдельно подчеркивал, что его «коллеги» так не церемонятся и требуют сразу $400. Что же касается будущего борьбы с этой напастью, то наиболее эффективным кажется препятствование проникновению ransomware, и антивирусные компании работают более активно в этом направлении, справедливо полагая, что разгребать (а вернее, расшифровывать) последствия на порядок сложнее и не всегда возможно.
Кстати, о легкости обнаружения. В экспертных публикациях неоднократно подчеркивалось, что ransomware – один из наибо лее простых в разработке видов вредоносного ПО, и в нем, по мере роста популярности этого направления у компьютерных маргиналов, все чаще пробуют свои силы люди с минимальными навыками программирования. Так что теоретически в обозримом будущем интернет может закишеть такими любительскими поделками вымогателей-дилетантов. Уже есть и первые анекдотичные примеры недоработок. Например, троянец Schoolboys, авторы которого в файле, содержащем их требования, написали сумму выкупа, но забыли упомянуть реквизиты, по которым нужно перевести деньги.
На самом деле, термин «ransomware» появился раньше, чем вредоносные программы, требующие денег за восстановление доступа к данным. Первоначально под этим словом понималась просто-напросто одна из схем распространения ПО, альтернативная более известным shareware, freeware и donateware (с добровольными поощрениями авторов). Поскольку сейчас опять начали появляться программы, продаваемые по принципу «выкупа», и схема вновь становится популярной, хотелось бы остановиться на ней подробнее.
Модель ransomware представляет собой попытку компромисса между разработчиками софта, испытывающими понятное желание заработать на своем труде, и пользователями, которые не любят тратиться на ПО. Согласно этой схеме программа идет на рынок, как платная, однако после того, как доход от ее продаж достигает заранее обозначенной суммы, которую автор расценивает, как достойное вознаграждение за свои старания, софт переходит в категорию freeware. И не просто freeware. Исходный код программы по завершении этапа накопления раскрывается.
При реализации этой модели на практике существует несколько вариантов. В стандартном виде все происходит следующим образом. Автор разрабатывает продукт и затем предлагает его для выкупа по специальной лицензии, в которой помимо всего прочего указывается срок ее действия. Если за это время деньги собрать не удастся, программа становится бесплатной в любом случае, а автор понимает, что значимость своего детища для рынка он переоценил. Кроме того в лицензии могут быть обозначены минимальная и максимальная сумма, которую могут внести благодарные пользователи.
ГОСТИНАЯ: Мал, да…
Эпоха ожиданий – мол, компьютеры вот-вот приобретут индивидуальность и станут не просто интеллектуальными помощниками, а эмоциональными напарниками человека – прошла. Теперь для придания компьютерам неповторимых черт используют методы попроще: индивидуальный дизайн; способность к распознаванию психофизиологического состояния пользователя; оснащение физическим «лицом» с ситуационно зависимой мимикой или изображение такого лица на экране; блок, обеспечивающий стохастические помехи… Конечно, никакой из этих способов не сделает машину человекоподобной. А чтобы предложить еще одну идею, мне придется рассказать о недавнем психологическом исследовании.
По заказу Би-Би-Си Университет Центрального Ланкашира проверил, отличаются ли низкорослые люди повышенной агрессивностью. Десять мужчин ниже 150 см и десять мужчин среднего роста фехтовали палками через стол. Подставной игрок провоцировал оцениваемого. В итоге низкорослые мужчины продемонстрировали более низкий уровень агрессии. На основании этого сделан вывод, что придуманный Альфредом Адлером «комплекс Наполеона» не существует.
Обратимся к Адлеру: понятие «комплекс» означает и болезненное осознание собственной неполноценности, и стремление к ее преодолению. Но почему же экспериментаторы решили, что комплексы низкорослых самцов будут преодолеваться благодаря агрессивности при фехтовании? Неясно…
Наша психика – не машинная программа, которая принципиально отличается от «железа». Наши программы вырастают из своей основы (нейронных сетей) и перестраивают их в ходе функционирования. Задача психики – адаптация. Если в силовых противостояниях низкорослый мужчина будет проигрывать, он научится уходить от таких проигрышей и выигрывать иначе. Наполеон не стал кулачным бойцом: он стал военачальником. Распускает кулаки дылда, которого не рискуют «обламывать». Агрессивность низкорослых людей не прямая: она может проявиться в непредсказуемом ударе с неожиданного направления.
…Сцена на военной кафедре крупного вуза в советские времена. Учебный взвод поколения акселератов: все за 180. После академотпуска восстановился студент постарше, невысокий и сам по себе, а на фоне остальных – попросту низкорослый. Принимающий построение майор смотрит на плавную линию голов, резко обрывающуюся на последнем человеке в ряду, и отвечает на невысказанный вслух комментарий: «Ну ничего. Мал сокол, да удал». Из середины строя отвечают: «Мал клоп, да вонюч!»
Вы думаете, последняя реплика не отражает общераспространенный взгляд? Вы думаете, он никак не затрагивает низкорослых людей? Страдающие «комплексом Наполеона» люди не отвечают ударом на удар. Зато они способны напасть исподтишка на своих реальных и мнимых обидчиков. Это больше способствует подъему по социальной лестнице, чем прямая агрессия.
Должно ли написанное мною обидеть моего друга, рост которого существенно ниже среднего? Он добр и надежен. Обижаться он не будет, он готов шутить и над своим ростом, и над своей готовностью помочь каждому встречному. Опровергает ли он то, что низкорослым людям свойствен «комплекс Наполеона»? Нет. Преодоление недостатков – результат их воздействия!
Вы помните, что Демосфен имел проблемы с дикцией, от которых избавился, произнося речи с камешками во рту? Вы знаете, что Софья Ковалевская добилась успехов в той деятельности, к которой женщины считались непригодными? Вам известно, что Шварценеггер был хилым и болезненным юношей? Вы задумывались, что для людей, смертных существ, которые не знают своего будущего, характерно стремление к преодолению собственной ограниченности и обретению бессмертия в культуре?
Человеческая психика выросла в ходе эволюции из животной. Где провести границу между дочеловеческим и человеческим? По способности к труду, вслед за Энгельсом? А трудятся ли пчелы и муравьи? Тейяр де Шарден считал гранью очеловечивания способность к рефлексии – самоосознанию. Естественным следствием самоосознания является сравнение себя с другими. Первой реакцией на это сравнение является болезненное переживание собственных недостатков. Второй – у более зрелых людей – преодоление этих недостатков и их гиперкомпенсация. И Наполеон, и мой упомянутый здесь друг гиперкомпенсировали свой недостаток, только по-разному.
А является ли опрос устройств, производимый BIOS или операционной системой при загрузке, аналогом рефлексии? Нет. Из него не следуют малопредсказуемые реакции на недостатки и достоинства, осознаваемые программной средой. А слабо вставить в ОС блок, который при загрузке машины будет оценивать ее конфигурацию, сравнивать ее с чем-то, чему-то радоваться, чему-то огорчаться? Если такой блок будет выпрашивать у пользователя апгрейд, он порадует производителей железа. Еще он сможет обеспечить сбой при обращении к слабым функциям… А как обеспечить гиперкомпенсацию? Задействовать Интернет? С сетевой лотереей недостающего железа (в ходе которой, как всегда, в выигрыше останутся организаторы)? Ну что, тяга к азартным играм – тоже одна из человеческих особенностей, пока не присущих компьютерам. Какие еще есть идеи?
Иррациональность человека проявляется в том, что его недостатки (как действительные, так и мнимые) сильнее определяют его сущность, нежели его достоинства. Компьютеры до убожества рациональны. Исправим?
ТЕМА НОМЕРА: Колхоз – дело добровольное…
Говорят, первые самородки на Клондайке находили прямо на берегах ручьев. Старатели особо даже не 'старались' – увидел, нагнулся, поднял. Поэтому, во избежание лишних жертв и расхода дефицитных боеприпасов, считалось нормальным бродить в одиночку. В крайнем случае, вдвоем – пока один собирает, другой сторожит.
Правда, все это быстро закончилось. Все самородки перекочевали в заплечные мешки первопроходцев, а тащить на себе даже 'малый джентльменский набор': кирку, пару лопат, сито, чайник, брезентовую палатку, меховой спальник, еду и, разумеется, 'винчестер' – удовольствие сомнительное. Стали ходить бригадами…
Этому периоду американской истории мы обязаны появлением не столько аляскинских миллионеров (как выяснилось вскоре, золота там было не так уж много), сколько нескольким замечательным книгам, посвященным дружбе, взаимопомощи, командному духу и… злобному эгоизму, амбициям одиночек да комплексам неполноценности неудачников-индивидуалов. В общем, мы кое-что узнали о себе.
Когда золотая мелочь закончилась, понадобились драги. Драгу на себе не унесешь. Да она и не всякой артели по карману. Наступал скучный период промышленной добычи, время консорциумов, синдикатов, ценных бумаг, но и… добычи такого количества металла, о котором любой старатель и мечтать не смел.
В общем-то, в других областях нашей деятельности происходит то же самое. Два-три первых блестящих результата – всегда добыча первопроходца. И в науке. И в технологии. Дальше начинает чего-то не хватать. Или способностей, или денег, или даже времени жизни отдельно взятого человека… Здесь-то все и начинается. С одной стороны, надо бы объединяться в команду, в колхоз, но… Неохота делиться, вот в чем проблема.
Один из самых беспроигрышных сюжетов голливудского кинематографа – история сколачивания команд: 'обтесывание' успешных зазнаек, воодушевление комплексующих скромников, энтузиазм коллективного труда и огромная радость общей, командной победы.
Сегодняшняя тема номера – о командной работе в науке и высоких технологиях. Следует ясно понимать: мы живем в эпоху, когда почти все сколько-нибудь значимые продукты научного или инженерного труда не по силам, не по знаниям и не по карману никому из нас [Бьет по самолюбию? Но это правда], составляющих огромную команду под названием Человечество. Чувствовать ли себя членом этой команды, быть ли им – вопрос отдельный.
Что и зачем?
Вкратце расскажу о нашем участии в цикле экспериментов под общим индексом NA48 в ЦЕРНе, нацеленном на поиск прямого нарушения пространственно-зарядовой четности (CP-нарушения) в распадах каонов.
Начало сотрудничеству в этой чрезвычайно важной программе положил случай. На одном из международных совещаний, проведенном в 1991 году в Протвино, на обеде за одним столом оказались блестящий специалист по управлению пучками частиц из ЦЕРНа Нильс Добл и советский физик из ОИЯИ Владимир Кекелидзе. Разговор зашел о том, что группа высококвалифицированных специалистов из различных институтов Западной Европы готовит в ЦЕРНе интереснейший эксперимент, призванный дать ответ на один из фундаментальных вопросов современной физики и объяснить отсутствие в видимой вселенной антимиров. Одним из важнейших элементов эксперимента должен был стать уникальный по характеристикам электромагнитный калориметр, для создания которого требуется огромное количество (сопоставимое с годовым объемом выпуска в мире) сверхчистого жидкого криптона. Заинтересовавшись поставленной задачей, Владимир Кекелидзе предложил попробовать произвести криптон в России. Ценой огромных усилий, вылившихся в создание специализированного завода под Екатеринбургом с полной технологической цепочкой производства сверхчистого криптона, под контролем специалистов из ОИЯИ за два года было изготовлено и доставлено в ЦЕРН 23 тонны жидкого криптона сверхвысокой чистоты.
Научно-методическое сотрудничество двух международных физических организаций на этом, к счастью, не закончилось. Оказалось, что на Западе не так-то просто изготовить для разрабатываемого калориметра криостат – большую алюминиевую бочку диаметром более 3,5 м со сложной системой вваренных в нее фланцев. И за эту задачу взялись специалисты из ОИЯИ под руководством Кекелидзе, параллельно включившись и в работы по моделированию будущего эксперимента. Впервые к научному проекту, предусматривающему участие в разработке и производстве криостата таких организаций, как НИКИЭТ и завод им. Хруничева, были привлечены средства созданного к тому времени Международного научно-технического центра. Полученный на эту работу грант был использован с чрезвычайно высокой эффективностью и позволил поставить в ЦЕРН требуемый криостат в определенный проектом срок с точностью до одного дня.
Кроме того, сотрудники ОИЯИ провели ряд методических работ, связанных с исследованием возможностей калориметра, с его калибровкой и реконструкцией зарегистрированных в нем событий. Объем и высокий уровень выполненных исследований к моменту начала эксперимента, а также вышеупомянутый материальный вклад, послуживший как бы входным билетом, позволили специалистам ОИЯИ войти в международный коллектив экспериментаторов из семи стран и приступить к анализу накопленных в эксперименте данных одновременно с другими, уже сформировавшимися группами. Благодаря этому, одной из шести групп, получивших главный результат эксперимента NA48, оказалась и группа физиков из ОИЯИ. Важно было и то, что опосредованно – через ОИЯИ – в этом престижнейшем эксперименте смогли участвовать не только российские, но и грузинские, казахские и болгарские физики. Опыт совместных работ в дальнейшем позволил физикам из ОИЯИ совместно с итальянскими учеными предложить и довести до эксперимента NA48/2 новую программу исследований зарядовых асимметрий в трехпионных распадах заряженных каонов. Лидером этого эксперимента организованная коллаборация избрала сотрудника ОИЯИ Владимира Кекелидзе, а на ряд важных и ответственных позиций назначила специалистов из Дубненской группы.
Очевидно, что в настоящий момент главными в физике частиц являются готовящиеся исследования на большом адронном коллайдере (LHC) в ЦЕРНе. И прежде всего – эксперименты ATLAS и CMS, основной задачей которых считается поиск бозона Хиггса, ответственного за один из механизмов передачи электрослабого взаимодействия в общепринятой в этой области науки Стандартной Модели строения вещества. В этих экспериментах (стоимость которых приближается к миллиарду швейцарских франков) на специально построенном для них ускорителе стоимостью более $10 млрд. планируют участвовать около пяти тысяч физиков не только из Европы, но и Америки, Азии и даже из Австралии.
Из других крупных проектов упомяну запланированный к строительству международный линейный коллайдер с энергий сталкивающихся электронов 1 ТэВ. Длина ускорителя будет не менее 40 км, а стоимость (без учета сопутствующих экспериментальных установок) превысит $10 млрд. В качестве возможной площадки для строительства рассматривается и российская территория недалеко от Дубны.
Кроме того, в ОИЯИ подготавливается проект ускорителя тяжелых ионов под названием НИКА с соответствующим комплексом экспериментальных установок, нацеленных на поиск так называемой смешанной фазы вещества. Международную коллаборацию физиков и специалистов здесь должна сформировать Дубна, и есть все основания надеяться, что в осуществлении этого проекта большую роль сыграют российские физики.
Кое-что о раскулачивании колхозов
«Задолго до того как Машина Времени вошла в повседневный быт, она уже устарела в научно-фантастической литературе. Поэтому, когда она была в самом деле изобретена, к ней отнеслись без всякого уважения». [Феликс Кривин, «Я угнал машину времени»] Такая судьба время от времени постигает не только фантастические выдумки, но и самые что ни на есть прагматические ожидания и прогнозы. Если одно и то же предсказывают раз за разом, а оно все не сбывается, – вспышки энтузиазма с каждым новым прогнозом становятся все бледнее, и в конце концов общественность, неравнодушная к техническому прогрессу, смиряется с мыслью, что несбыточность конкретного прогноза – что-то вроде закона природы.
«Чтоб я так смог, как ты мне помог, честное слово…»
Хасан Одноглазый [Мюзикл «Али Баба и сорок разбойников»]
Наверное, мало в какой области несбывшиеся прогнозы так хорошо заметны на фоне естественного прогресса, как в софтостроении. Начиная с уже далеких 50–60-х все время что-то «ожидается на днях» – то пресловутая «серебряная пуля», то автоматические программосоставители, то гениальный ИИ, то Лучший-В-Мире-Язык-Программирования, то безупречное средство верификации программ… Сильно обобщая, все эти ожидания можно свести к двум (диаметрально противоположным) идеализмам: либо «программирование не нужно вообще» (у компьютера внутри «думалка», работающая на языке пользователя), либо «программировать должны все пользователи» (теперь у пользователя внутри «думалка», работающая на языке компьютера). И если насчет первого, по состоянию на сегодня, вроде бы все согласны, что это нечто вроде философского камня алхимиков (то есть скорее идеалистическая категория, нежели возможная реальность), то вот со вторым далеко не так однозначно…
Как бы то ни было, современные пользовательские окружения – графический интерфейс, большинство задач выполняется мышью, средства разработки и соответствующая документация с операционкой не поставляются [Последнее, конечно, относится только к ОС семейства Windows. Тем не менее общая культура «среднего пользователя» похоже устроена и на Маках, а до некоторой степени– и на современных Linux’ах с их мимикрией под «мэйнстрим»] – «программирование любой домохозяйкой» по меньшей мере не поощряют. Домохозяйки, однако, как-то выкручиваются.
Нет, конечно, все подряд домохозяйки – тьфу-тьфу! – пока не программируют. Но граница между «профессиональным программистом» и «пользователем, который слегка программирует», с каждым днем становится все менее четкой. Первые, разумеется, смотрят на последних свысока; но и друг с другом договориться о том, кто «более настоящий», часто не в силах.
Взять, к примеру, веб-программирование. Еще лет пять назад все было, в общем-то, понятно: веб-дизайнер – не программист. Веб был набором (почти) статических текстовых страниц и (как бы) динамических форумов-гестбуков; других «веб-приложений» мы не знали. Не то теперь. Создатели GMail’а (даже если брать только его клиентскую часть, пользовательский интерфейс) и десятков последовавших за ним сервисов определенно требуют с собой считаться. Оставляя за бортом полезность и сиюсекундную применимость онлайновых текстовых процессоров и электронных таблиц, признаем, что разработку их пользовательского интерфейса и логики ни в коем случае не назовешь «только дизайном» [Еще раз подчеркну– я говорю о том, насколько современные веб-приложения отличаются от простейшего изначального поведения в вебе: «можно прочитать; можно написать; всё»].
А вот разработчиков Гугла и так все согласны считать «настоящими программистами». Но как называть и куда относить авторов тысяч суперсовременных Web2-сервисов, которые сделаны буквально за-недельку-на-коленке, работают на хостинге ценой в пиво, используют данные из десятка других открытых сервисов – и при всем при том такое «приложение» вполне полезно и более того, десктопного аналога вообще не имеет? Что здесь важнее – «сколько труда и денег затратил автор?» или «насколько полезно получилось?». А если «автор» вообще не программировал, а лишь построил web mashup (помесь сервисов) при помощи Yahoo! Pipes, – он кто?
Дальше – смешнее. Как насчет концепции User JavaScript – маленьких скриптов, установленных в браузере, которые изменяют загруженные сайты по желанию клиента[Насколько известно автору, впервые концепция была реализована в расширении GreaseMonkey для Firefox; на данный момент схожие возможности есть и в Opera (из коробки), и в IE (GreasemonkIE, Trixie, Turnabout), и в Safari (Creammonkey, PithHelmet)]? Считать ли эту «скриптографию» программированием, а их авторов – программистами? А – более серьезно – если вспомнить всевозможные расширения для того же Firefox, которые варьируются от одной-двух кнопок (например, «загрузить все картинки на этой странице») до сущностей, которые превращают браузер в Something Completely Different (например, в универсальный веб-отладчик, как Firebug, или в инструмент сбора и каталогизации научной информации, как Zotero). Кстати, технологии здесь – всё те же «презренные вебдизайнерские игрушки» – язык разметки (правда, XUL, а не HTML) да JavaScript.
Но пойдем дальше. Такая штука, как «виджет» [Подробнее о концепции виджета см. Тимофей Бахвалов, «Столовые приборы» («КТ» #621 или offline computerra ru/2006/621/247558)] (он же, по версии Google и Microsoft, «гаджет» – в контексте «desktop gadget» или «web gadget»), – маленькое окошко с небольшим количеством элементов, запускается либо на рабочем столе, либо на популярной в последнее время «персональной домашней странице» (например, google com/ig или netvibes). «Движок для виджетов» встроен в последние версии Google Desktop и Opera, да и в самой Vista он есть; под Маком виджеты – уже давно неотъемлемая часть окружения; есть свои решения и для Linux’овых десктопов. Технология создания виджета – как правило, опять же простой язык разметки на основе XML (или HTML) + JavaScript (иногда другой скриптовый язык, например Python).
Можно ли эти виджеты, которые уже кто только не делает кустарно, считать полноценными программами? Существующие варианты – «часики» да «блокнотики» – может, и не стоит (хотя, наверное, по low-end шароварному рынку и эти «поделочки» ударили болезненно). Но как только виджеты научатся «соединяться в цепочки», передавая друг другу примитивные потоки данных (аналогично помянутым Yahoo! Pipes)… Интересно будет узнать, скольким пользователям пачка таких «недо-программ» (одна получает почту, другая показывает, третья статистику строит, четвертая в блог постит) прекрасно заменит современный зоопарк десктопных монстров. Не зря ведь Apple, считающая себя родоначальником идеи «настольного виджета», не планирует пускать на свой iPhone полноценные сторонние приложения – при том, что виджеты на нем вполне будут работать [Можно еще вспомнить такую штуку, как Opera 9 for Devices, тоже поддерживающую все те же виджеты и превращающую разработку простого ПО для встраиваемых устройств в занятие для «простого смертного»].
Из технологий программирования уровня «просто человека, а не разработчика» можно еще вспомнить Flash с его всеохватностью – от мультиков и YouTube-роликов до крутейших игр, а ныне агрессивно продвигаемый еще и как «более красивый и быстрый интерфейс для веб-приложений». Да и встроенный в SecondLife скриптовый язык для «оживления объектов», думается, используют не только (и не столько) профессиональные разработчики.
Это перечисление можно было бы продолжать, но идея уже и так понятна.
Возвращаясь к «платформам для всех», заметим, что к ним можно отнести и современные веб-фреймворки толка Ruby on Rails: точно так же они обеспечивают полный набор основных сервисов и типичных задач; точно так же для разработки простого приложения можно практически не знать Ruby (или Python, если речь о Django, или Groovy, если о Grails), ориентируясь на простые примеры и руководства для новичков. И даже.Net/JVM до некоторой степени представляет собой такую «платформу» [Тут можно привести в пример проект AnAppADay com, автор которого решил провести эксперимент и написать за тридцать дней тридцать несложных, но полноценных программ на C# 2.0; и действительно, целый месяц раз в день выдавал законченные программы– не слишком примечательные, но сравнимые с теми, что пару лет назад гордые авторы-шароварщики толкали по $19,99].