Кибербезопасность: какие бывают уязвимости и как от них защититься
hard

Кибербезопасность: какие бывают уязвимости и как от них защититься

Большой рассказ о слабых местах в программах

В 2021 году Google выпустила специальное обновление Chrome: текущая версия содержала уязвимость, благодаря которой хакеры могли выполнять свой код на веб-страницах пользователей. В том же году стало известно об уязвимости, которая позволяла перехватить управление веб-сервером Apache. Она навредила многим компаниям, в том числе Microsoft, IBM и Cisco. Но кроме этих уязвимостей в ИТ много других. Сегодня говорим о том, как это устроено изнутри и о самых опасных — уязвимостях нулевого дня.

Что такое уязвимость

Уязвимостью называют какое-то слабое место в программном обеспечении, оборудовании или протоколах безопасности. Причины появления уязвимости могут быть самыми разными: ошибки программирования, конструктивные недостатки, неправильная конфигурация и человеческий фактор.

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

Целью при использовании уязвимости может быть кто и что угодно:

  • государственные организации;
  • крупные компании;
  • пользователи, которые используют компьютеры со слабой защитой — из них можно создавать ботнетов, с помощью которых устраивать DDoS-атаки или массово рассылать спам;
  • оборудование, прошивки и устройства интернета вещей.

Уязвимость, эксплойт и атака

Уязвимость — лишь потенциальная угроза, которая существует только до того момента, пока её не устранили. Уязвимости бывают в любой системе, вопрос лишь в том, насколько посторонние люди заинтересованы в том, чтобы использовать брешь. 

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

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

Кибербезопасность: какие бывают уязвимости и как от них защититься

Мы называем злоумышленников хакерами, но они бывают разными:

  • киберпреступники — хакеры, которые преследуют финансовую цель и совершают с уязвимостями криминальные действия;
  • хактивисты — хакеры с политическими или социальными целями, которые привлекают внимание к себе и своим движениям;
  • корпоративные шпионы — хакеры, которые добывают информацию о компаниях, например для конкурентов;
  • кибервоины — хакеры, которые представляют интересы каких-то политических деятелей или даже отдельных стран;
  • «белые» хакеры — энтузиасты, которые ищут уязвимости из интереса, для них это что-то вроде хобби или спорта;
  • багхантеры — хакеры, которые ищут уязвимости за вознаграждение. В отличие от киберпреступников, багхантеры действуют в правовом поле. Крупные компании часто объявляют открытые конкурсы багбаунти, чтобы привлечь багхантеров.

Какие бывают уязвимости

Уязвимость удалённого выполнения кода — это уязвимость, которая позволяет хакерам выполнить вредоносный код в системе. Хакер выполняет эксплойт на сайте, который лежит на каком-то сервере, и таким образом получает доступ к компьютеру. 

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

Кибербезопасность: какие бывают уязвимости и как от них защититься

Уязвимость SQL-инъекции — это уязвимость, которая позволяет управлять извне базой данных, чтобы получить к ним доступ. Происходит это так: хакер подбирает запрос к интерфейсу, чаще всего к веб-сайту, в ответ на который база данных отдаёт какую-то информацию или совершает с ней какие-то действия, например копирует или удаляет. Чаще всего именно таким образом мошенники получают персональные данные пользователей какого-то сайта, сервиса или системы. 

Кибербезопасность: какие бывают уязвимости и как от них защититься

Уязвимость неавторизованного доступа — это угроза безопасности, которая вызвана тем, что доступ к интерфейсу управления оборудованием или данными могут получить посторонние. Так можно проникнуть на сервер или в базу данных практически напрямую. Например, таким образом можно взломать какой-нибудь сайт и разместить на нём своё содержимое. 

Такие уязвимости появляются из-за слабых паролей, а также в ситуациях, когда сотрудникам или подрядчикам выдают уровень доступа больше, чем нужно. При злоупотреблении доступом это может привести к плохим последствиям. Часто бывает, что после увольнения сотрудника его доступы забывают удалить, — это тоже создаёт уязвимость.

Кибербезопасность: какие бывают уязвимости и как от них защититься

Ещё бывают другие уязвимости, например переполнения буфера, «испорченного ввода» и следствия ошибок синхронизации, но эта тема тянет на отдельную статью. Напишите в комментариях, если вам интересно будет об этом почитать.

Классификацией уязвимостей занимается международная некоммерческая организация OWASP (Open Web Application Security Project, или «Открытый проект по обеспечению безопасности веб-приложений»). Большинство разработчиков и специалистов по безопасности знает OWASP Top-10 — рейтинг десяти наиболее распространённых уязвимостей веб-приложений.

Известные уязвимости и дефекты безопасности регулярно пополняют список CVE (Common Vulnerabilities and Exposures, или «База данных общеизвестных уязвимостей информационной безопасности»).

Малвари

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

Есть статистика, что 80% кибератак происходит с помощью малварей. Причины бывают разные, но в основном так происходит из-за низкой компьютерной грамотности сотрудников, доверчивости людей и слабой безопасности системы.

Уязвимости нулевого дня, он же zero-day и 0day

Нулевым днём называют день, когда стало известно о какой-то уязвимости, которую хакеры уже использовали. Получается, что уязвимость критическая и у разработчиков есть 0 дней, чтобы устранить её, например написать патч, который закроет брешь в системе. При этом надо предупредить всех, кто подвержен риску, чтобы исправление безопасности внедрили как можно скорее.

Кибербезопасность: какие бывают уязвимости и как от них защититься

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

❗️ Уязвимости нулевого дня — самые критичные с точки зрения безопасности. От них нет защиты, потому что про них ещё никто не знает, но их можно использовать только один раз — после этого про уязвимость узнают специалисты по кибербезопасности и начинают разрабатывать защиту, выпускать патчи и обновления.

Как разработчики обнаруживают уязвимости

Если речь не идёт о том, что об уязвимости стало известно из-за последствий атаки, то обычно для обнаружения уязвимостей выполняют такие действия:

  • анализируют код с помощью динамических и статических отладчиков;
  • используют сканеры уязвимости — эти программы проверяют сайты или другие программы на наличие брешей, которыми могут воспользоваться злоумышленники;
  • моделируют атаки на код программы, проводят его проверки и очищают код от уязвимостей;
  • привлекают багхантеров — белых хакеров, которые ищут уязвимости и сообщают о них разработчикам;
  • ищут новые уязвимости, которые могли появиться после обновлений.

Как защититься от уязвимостей

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

Поскольку целью могут быть даже обычные домашние компьютеры и сети, начнём с них. Вот что рекомендуется делать:

  • Соблюдать цифровую гигиену — не посещать подозрительные сайты, не скачивать и не открывать подозрительные файлы.
  • Регулярно обновлять программное обеспечение: операционные системы, программы и плагины — до последних версий. Разработчики часто выпускают патчи и обновления, чтобы закрыть уже обнаруженные бреши.
  • Пользоваться только программами доверенных производителей и устанавливать их только из официальных источников.
  • Использовать брандмауэр (файрвол) — эта программа проверяет и фильтрует входящий трафик, блокируя атаки на входе.
  • Использовать антивирус — эта программа изучает поведение других программ в системе и может идентифицировать потенциально вредоносные действия и заблокировать то, что их совершает. Если в вирусной базе данных есть информация о конкретной угрозе, антивирус распознает её безошибочно.
  • Регулярно выполнять резервное копирование данных — если с ними что-то случится, их удастся восстановить.
  • Обучить других пользователей безопасному использованию интернета и рассказать им о различных кибератаках и принципах социальной инженерии — злоумышленники часто втираются в доверие к людям, чтобы получить доступ к цели.

В компаниях обычно принимают такие дополнительные меры:

  • Ограничивают права пользователей на действия с рабочим компьютером, чтобы у них не было возможности устанавливать сторонние программы.
  • Ограничивают доступ пользователей файлами и системами, которые необходимы им для работы — например, чтобы сотрудники бухгалтерии не имели доступа к базам данных отдела продаж.
  • Сегментируют сеть, чтобы в случае атаки вред мог распространиться только на её отдельные участки.
  • Используют системы обнаружения и предотвращения проникновений (IDS/IPS). Такие системы отслеживают весь сетевой трафик, включая исходящий и внутри сети, и могут распознать подозрительные или вредоносные действия. Если что-то обнаружено, система блокирует доступ или предупреждает о потенциальной атаке. IDS/IPS не позволят обмениваться в локальной сети вредоносными файлами. Такие системы также не дадут просматривать и скачивать подозрительные страницы и файлы с устройств, подключённых к корпоративной сети Wi-Fi.
  • Регулярно отправляют сотрудников отдела информационной безопасности на обучение работе с развёрнутыми в сети инструментами и курсы повышения квалификации.
  • Используют сканеры уязвимости. 
  • Регулярно проводят проверку безопасности и тестирования на проникновение. Этим занимаются специалисты-пентестеры.

Текст и иллюстрации:

Инна Долога

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
hard