8 июл. 2010 г.

Информационная безопасность

А начнём мы эту заметку с фрагмента из книги Степана Вартанова об искусственном интеллекте и весёлых роботах, носящей короткое название «Эй-Ай» (кстати, книгу рекомендую!):

«В какой-то момент все банки планеты начали срочно создавать новое компьютерное обеспечение. [вырезано И. В.] Каждый банк имел несколько проектов, и — что самое забавное — руководили этими проектами отнюдь не программисты. Впрочем, с тех пор мало что изменилось… Менеджер читает в «Таймс» о новой технологии, вызывает народ из компьютерного отдела и спрашивает: а почему, мол, наши факсы не поддерживают мультимедиа? Нехорошо. Надо исправить. Вот вам миллион…

Где взять столько программистов? Да, конечно же, там, где дешевле всего, — в институтах! Гарик усмехнулся, вспомнив, как его в конце прошлого года вербовали в «Милан Траст». Почему-то эти дяди и тети из банка полагают, что студенты должны всей толпой… Чуть не уговорили! Но вот именно — чуть. И никто из сильных программистов на это не купился. А в результате малограмотный народ из числа троечников с энтузиазмом принимается за работу и творит такое, что и у лысого волосы дыбом встают. Не страшно, у банка денег много… И появляются на свет программы-уроды, которые ломать — самое большое удовольствие
».

Я понимаю, что после этой заметки и моего рассказа о терминале Д может возникнуть впечатление, что я не люблю Аэрофлот. Поэтому давайте я сразу скажу, что всё наоборот - Аэрофлотом я летаю чаще всего. И, видимо, из-за этого имею возможность регулярно сталкиваться именно с его проблемами.

Три дня назад я зашёл на сайт Аэрофлота, чтобы купить билеты. У меня есть свой номер и пароль в системе Аэрофлот-бонус (как и у любого постоянного пассажира), которые были корректно введены на сайте. Всё было как обычно, если бы не одна «мелочь»: зайдя на сайт, я увидел чужую анкету. Перешёл на другую страницу - имя персоны в анкете поменялось. В течение минуты я нажимал кнопки «вперед» и «назад» в браузере, наблюдая, как мне показывают данные то одного, то другого пассажира.

Я сразу же набрал на телефоне горячую линию Аэрофлота, тоновым набором указал, что хочу поговорить с человеком, после чего 25 минут висел на линии, слушая музыку. Всё это время я периодически обновлял страницу в браузере, чтобы убедиться, что вижу разные, но не свои данные в анкете пассажира. На 25-ой минуте сайт «выздоровел» (мне стала доступна только моя страница), поэтому я положил трубку, не дожидаясь разговора с оператором.

Но сути это не меняет: здоровенная компания, которая должна быть образцом правильности и надёжности, позволяет себе менять что-то важное на сервере, не проверив корректность изменений на внутреннем тестовом сайте (кстати, разглашая таким образом чужие паспортные данные, телефоны, адреса и списки аэропортов, куда летают люди, Аэрофлот наверняка нарушал обязательства о сохранении этой тайны). В тот период сайт позволял себе иногда выдавать пятисотую ошибку «Internal Server Error» с подробным отчётом о том, какой именно Apache и с какими конкретно модулями крутится на сервере (тоже не очень хорошо в смысле безопасности).

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

Мне это напоминает историю с неправильными настройками серверов, опубликованную в сентябре прошлого года на Хабре. Пара товарищей, знающих о старинной уязвимости, позволяющей получить доступ к коду многих сайтов, решила благородным образом прикрыть эту лавочку: они написали скрипт, который проверил более двух миллионов российских сайтов на наличие этой проблемы. И оказалось, что данная детская ошибка присутствует более чем на трёх тысячах трёхстах сайтах!

Казалось бы, что тут такого? Мало ли тонкостей, которые просто не все знают?.. Но обратите внимание на то, что среди дырявых сайтов были веб-представительства Яндекса, Рамлбера, Мэйла, Оперы, РБК и так далее. Даже такие серьёзные компании не знали, что надо нормально настроить серверы, чтобы не раздавать всем желающим тексты программ, приносящих им самим прибыль.

Благо, товарищи, проделавшие всю эту работу, заранее уведомили пару десятков самых крупных проектов о том, что собираются публично обнародовать данные об уязвимости (и тогда тысячи школьников ломанутся «хакать» всё подряд). Интересно, что половина из этих больших сайтов вообще никак не прореагировала на предупреждение, трое закрыли уязвимость, не поблагодарив, а шестеро даже сказали спасибо (Яндекс был первым). Далее были разосланы письма ещё по трём тысячам адресов (вебмастерам меньших по размеру уязвимых проектов), чтобы предупредить и их о грядущем обнародовании.

Теперь эта ошибка почти отсутствует в русском сегменте интернета, да и в мире не очень распространена. А была она из-за нарушения правила «не хранить на внешнем сервере никаких лишних файлов» (в самом деле, зачем svn-файлам быть доступными извне?). Если уж такое правило нарушается для чьего-то удобства, то необходимо каждый раз хорошо думать (чтобы решить, например, что этим конкретным файлам там лежать можно, но они не будут доступны снаружи).

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

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

Хорошего вам дня. И больше профессионалов вокруг!

6 комментариев:

  1. Илья, это очень популярное и большое заблуждение что крупные солидные компании являются непременно образцами правильного подхода. Это не так. Также как "старость - не означает мудрость" также и крупная компания - не эталон.

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

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

    ОтветитьУдалить
  2. Анонимный09.07.2010, 18:07

    А на этой неделе вроде как на сайте Аэрофлота велись работы, может поэтому так получилось.
    А вообще не замечал сбоев в работе сайта, у меня все работало исправно.

    ОтветитьУдалить
  3. Анонимный09.07.2010, 22:19

    извеняюсь, что немного не в тему, но всё же:
    Эй-Ай замечательная книга, но уж больно быстро читается. кто ни будь может посоветовать похожие книги? такие же весёлые и с похожей атмосферой.
    заранее спасибо!

    ОтветитьУдалить
  4. А Вы случайно не через прокси в интернет выходили? Очень похоже на ситуацию, когда неверно настроенный прокси-сервер, не смотря на все заголовки с запретом кэширования, сохраняет страницу одного из пользователей и затем отдаёт её другому. Через некоторое время он видимо обновил эту страницу, теперь уже с вашими данными. Если так, то сайт аэрофлота никак не мог повлиять на эту проблему.

    ОтветитьУдалить
  5. Уважаемый первый аноним,
    но разве эти работы не должны были проводиться на внутреннем тестовом сайте?

    Уважаемый второй аноним,
    я тоже ищу подобные книги. Пожалуйста, напишите, если найдёте!

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

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

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

    ОтветитьУдалить

Понравилась заметка? Подпишитесь на RSS-feed или email-рассылку.

Хотите поделиться ссылкой с другими? Добавьте в закладки:



Есть вопросы или предложения? Пишите письма на адрес mytribune АТ yandex.ru.

С уважением,
      Илья Весенний