Исследование: самыми уязвимыми для хакеров оказались сайты на PHP

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

    Всего в ходе тестов по анализу защищенности, проводившихся компанией в 2013 году, было изучено около 500 веб-сайтов, для 61 из них проводился более углубленный анализ.

    Значительная часть исследованных порталов принадлежала банкам — из-за участившихся атак в этой сфере. Также увеличился спрос на анализ безопасности сайтов СМИ, что связано с громкими случаями их взломов и распространения дезинформации. Кроме того, исследовались сайты государственных учреждений, промышленных предприятий и телекоммуникационных компаний.

    Выяснилось, что 62% сайтов в 2013 году содержали уязвимости высокой степени риска. Данный показатель существенно выше прошлогоднего (45%). Больше всего приложений с уязвимостями высокой степени риска было выявлено на сайтах СМИ (80%). Что касается сайтов дистанционного банковского обслуживания, то ни одна из исследованных систем ДБО не соответствовала полностью требованиями стандарта безопасности PCI DSS.

    image

    Наиболее распространенные уязвимости (доля сайтов, %)

    Самая распространенная уязвимость 2013 года — межсайтовое выполнение сценариев (Cross Site Scripting) — встречается на 78% исследованных сайтов. Данный недостаток позволяет атакующему влиять на содержимое веб-страницы, отображаемой в браузере пользователя, в том числе с целью распространения вредоносного кода или получения учетных данных жертвы. Например, в случае уязвимой системы интернет-банкинга злоумышленник может сформировать ссылку, относящуюся к реальному сайту банка, при переходе по которой пользователь увидит фальшивую форму авторизации. Введенные пользователем данные будут направлены на сервер злоумышленника.

    На втором месте по популярности (69%) — недостаточная защита от подбора идентификаторов или паролей пользователей (Brute Force), например вследствие отсутствия или некорректной реализации механизма CAPTCHA. В топ-10 также вошли две уязвимости высокой степени риска — «Внедрение операторов SQL» (43%) и «Внедрение внешних сущностей XML» (20%).

    Самыми небезопасными оказались сайты, написанные на языке PHP: 76% из них содержат критические уязвимости. Менее уязвимы веб-ресурсы на Java (70%) и ASP.NET (55%). Опасная уязвимость «Внедрение операторов SQL» встречается на 62% сайтов, написанных на PHP; для других языков данный показатель значительно ниже.

    Специалисты Positive Technologies также провели сравнительный анализ тестирования приложений методами черного, серого и белого ящиков. Метод черного ящика подразумевает исследование системы без получения данных о ней со стороны владельца; метод серого ящика предполагает нарушителя, который обладает некоторыми привилегиями в системе; и наконец, метод белого ящика означает анализ с использованием всех внутренних данных о системе, включая исходные коды программ.

    Среди веб-ресурсов, исследованных методами черного и серого ящиков, на 60% сайтов нашлись критические уязвимости. Для метода белого ящика этот показатель выше — 75%.

    image

    Среднее количество уязвимостей на одном сайте при разных методах тестирования с учетом степени риска

    Из среднего количества уязвимостей, приходящихся на одну систему, следует, что тестирование методом белого ящика позволяет обнаружить почти в 10 раз больше критических уязвимостей, чем тестирование методами черного и серого ящиков. При возможности анализировать исходные коды веб-приложений метод белого ящика является предпочтительным. Но пока владельцы сайтов прибегают к нему редко: этим методом были исследованы лишь 13% веб-ресурсов.

    Полный текст исследования читайте на сайте Positive Technologies: www.ptsecurity.ru/download/PT_Web_application_vulnerability_2014_rus.pdf

    P. S. В продолжение темы, 04.09.2014 в 14:00 будет проведен вебинар «Рекомендации Центробанка по обеспечению информационной безопасности автоматизированных банковских систем». На нем мы постараемся рассказать о том, почему документ получился именно таким, почему в нем нет SSDL/SDLC в явном виде, и осветить другие возникшие вопросы.

    Зарегистрироваться можно здесь.

    Comments 21

    • UFO just landed and posted this here
        +1
        В чем подвох, считали то в процентах, а не навалом по абсолютному количеству.
          +3
          — где обитают киллеры (и проводились исследования) «живет» просто ну очень много белых;
          — зачем убивать темнокожих (когда белых полно);
          Как-то так.
          А вообще, связано с порогом вхождения + распростроненностью пыха (но никак не особенностями последнего в сфере секьюрности написания) и как уже ниже написали — капитанство это…

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

          ПС. И да, сам тоже не люблю php, но совершенно по другим причинам.
            0
            Да, Вы правы. Выводы нужно делать несколько иные.
            Например, для написания сервисов на пыхе нужно более тщательно отбирать кандидатов с опытом и теоретическими знаниями, а не набирать низкоквалифицированных специалистов «за еду», которых на рынке просто очень много и есть огромный соблазн сэкономить.
            А это потом аукается не самыми приятными последствиями.
        +7
        Интернетом пользуются 100% населения.
        Опрос проводился на сайте…
          +1
          Breaking news: самыми уязвимыми для хакеров оказались сайты на PHP! Вобщем, название надо было другим сделать, а то капитанство
            +1
            Согласен. Первая же мысль была: «Да ладно!»
              +1
              Breaking news: Самым безопасным ЯП остаётся BASIC — не обнаружено ни одного уязвимого сайта, написанного на этом языке! Шок! Видео!
                +2
                Щас по-быстрому написал Web-страницу на BASIC'е (и шеле): safinaskar.com/cgi-bin/run-basic.sh?2&2
                  0
                  ай-яй-яй, введенные данные на корректность не проверяете, это как его, не секьюренко как-та ;)
                  А статейка конечно улыбнула, давно так долго одну бровь поднятой не держал ',:)
                    0
                    В смысле, есть ошибка, если данные совсем не передавать? Да, спс, исправил. В смысле моя страница улыбнула?
                      0
                      Нет статья улыбнула, так и не догнал причём тут конкретно пхп или джава, вообще первый коммент явно отражает суть моего негодования :)
                    0
                    Удалил
                    0
                    Лет 17 назад я баловался, делая сайты (в интранете, правда) на .bat-файлах :) На qbasic — тоже. Открыл для себя CGI и баловался с тем, что было под рукой.

                    И, таки да, их тоже никто не ломал…
                      –1
                      Да там ломать, поди, было нечего — настолько железобетонные получались конструкции? :)
                  +1
                  Самыми уязвимыми в интернете оказались САЙТЫ!
                    +1
                    Ну справедливости стоит сказать что здесь процент уязвимых сайтов сравнивается а не их абсолютное число.
                      –2
                      Кто-то удивлен?
                        0
                        насчёт asp.net почему-то удивился и порадовался.

                        хотя при должном уровне понимания платформы и на cgi будет такой код, который чёрта с два поломаешь.
                          0
                          Вы меня простите, но это же капитанский пост!
                            0
                            а все объясняется достаточно просто:
                            habrahabr.ru/post/122665/
                            То есть, чем проще для вхождения язык — тем больше вероятность, что им пользуется девелопер, который не осилил что такое транзакции и зачем они нужны и т.д.

                            Only users with full accounts can post comments. Log in, please.