Распространенные типы уязвимостей безопасности и способы их устранения
Опубликовано: 2022-07-11Уязвимость в Microsoft Exchange Server способствовала серии кибератак, затронувших более 60 000 частных компаний в США. А всего месяцем ранее данные сотрудников и поставщиков аэрокосмической компании Bombardier были взломаны из-за недостатков в стороннем приложении для передачи файлов.
Существует множество типов уязвимостей безопасности, которые могут поставить вашу ИТ-систему в поле зрения хакеров. От плохой практики кодирования до дефектных внешних компонентов, независимо от причины, многие компании в конечном итоге подвергаются риску. Чтобы смягчить эту проблему, предприятия получают преимущества от услуг контроля качества и тестирования для оценки собственного программного обеспечения и сетей и оценки рисков безопасности компонентов сторонних поставщиков.
Итак, какие типы уязвимостей безопасности могут подвергать вашу систему киберугрозам в данный момент? Как появляются уязвимости? И как мы можем их смягчить?
Что такое уязвимость программного обеспечения и откуда она берется?
Уязвимость системы безопасности — это непреднамеренная характеристика системы или компонента, которая увеличивает риск вторжения или потери данных в результате случайного воздействия, преднамеренной атаки или конфликтов с новыми компонентами. Такая уязвимость может быть недостатком дизайна, ошибкой реализации, неправильной конфигурацией и т. д.
Прежде чем двигаться дальше, давайте проясним разницу между уязвимостью, эксплойтом и угрозой.
- Уязвимость в системе существует без каких-либо усилий со стороны посторонних
- Эксплойт — это способ, которым злоумышленники используют существующую уязвимость системы для организации атаки.
- Угроза — это фактический инцидент, когда один или несколько эксплойтов используют уязвимость для проникновения в систему.
Эксперты по безопасности могут устранять уязвимости после их обнаружения с помощью программных исправлений, замены оборудования и реконфигурации системы. Обучение конечных пользователей методам обеспечения безопасности и постоянное обновление всех компонентов также предотвратит и сведет к минимуму уязвимости. Кроме того, специалисты по безопасности должны помнить, что по мере развития систем появляются новые слабые места. Поэтому компаниям необходимо систематически сканировать свое программное обеспечение, оборудование и сети на наличие возникающих уязвимостей и исправлять их до того, как они будут обнаружены и использованы.
Новые уязвимости безопасности продолжают быстро появляться, так как Национальная база данных уязвимостей (NVD) правительства США опубликовала более 8000 новых записей в первом квартале 2022 года. При таком быстром темпе многие предприятия не могут идти в ногу со временем и годами оставляют открытые уязвимости, обнажая свои недостатки. системы. Исследование уязвимостей программного обеспечения показало, что 75% атак, совершенных в 2020 году, использовали уязвимости, которым было не менее двух лет, а 18% полагались на уязвимости, о которых сообщалось еще в 2013 году!
Как уязвимости системы безопасности попадают в программное обеспечение и сети?
Согласно исследованию, 75 % приложений, разработанных поставщиками программного обеспечения, не соответствуют 10 стандартам Open Web Application Security Project (OWASP). Эти стандарты находятся в открытом доступе. Итак, почему так много людей до сих пор не могут создать безопасное приложение? Вот основные причины:
Уязвимый сторонний код и другие компоненты. Распространенной практикой является повторное использование сторонних компонентов, так как это значительно ускоряет процесс разработки. Однако пользователи, как правило, легкомысленно относятся к безопасности этих частей и часто развертывают их без тщательной оценки. То же самое относится и к копипасту кода из источников, таких как Stack Overflow, без оценки его безопасности.
Небезопасные методы кодирования. Недавние исследования показывают, что большинство разработчиков даже не задумывается о безопасности. В ходе эксперимента, изучавшего отношение 1200 разработчиков, исследователи пришли к выводу, что только 14% считают безопасность приоритетом при написании кода. Также обратите внимание, что многие организации требуют от своих разработчиков быстрого создания кода в сжатые сроки, что просто не оставляет места для тщательной оценки безопасности и приводит к уязвимостям кода.
Быстро меняющийся ландшафт кибератак. Злоумышленники постоянно находят новые способы нарушения безопасности приложений. Итак, части, которые раньше считались невосприимчивыми, сегодня могут стать уязвимыми. Если ИТ-команда не проводит систематической оценки приложений и сетей на наличие уязвимостей и не поддерживает все программное обеспечение в актуальном состоянии, появление слабых мест — это всего лишь вопрос времени.
Классификация типов уязвимостей безопасности
Есть две платформы, OWASP и CWE, которые предлагают надежный и подробный список уязвимостей безопасности. Они обновляют свои списки, чтобы включить любые возникающие недостатки. Оба ресурса можно использовать для обучения программистов, тестировщиков и инженеров.
OWASP — это некоммерческое глобальное сообщество, которое регулярно публикует список 10 основных уязвимостей программного обеспечения OWASP. Common Weakness Enumeration (CWE) представляет собой набор программных и аппаратных уязвимостей, также разработанный специальным сообществом, и включает 25 записей.
Вот 18 наиболее известных уязвимостей безопасности, которые мы хотим выделить в этой статье, отсортированные по доменам. Они могут проявляться в любой ИТ-системе, например в облаке, конфигурациях на основе IoT и мобильных приложениях.
1. Отсутствие надежных методов шифрования
Несмотря на то, что шифрование не остановит кибератаку, важно обеспечить безопасность конфиденциальных данных даже в случае взлома платформы их хранения. Злоумышленники не могут использовать зашифрованные данные не по назначению до тех пор, пока они не расшифруют их, что дает злоумышленникам время для принятия необходимых мер, таких как уведомление затронутых сторон и подготовка мер противодействия краже личных данных.
Исследования показывают, что у многих компаний нет ближайших планов по шифрованию данных на USB-накопителях, ноутбуках и настольных компьютерах. Говоря о правилах защиты данных, GDPR прямо не требует шифрования, но описывает его как «соответствующие технические и организационные меры» для обеспечения безопасности данных.
В своем отчете «Стоимость утечки данных» IBM указала, что шифрование является одним из наиболее важных факторов, который может снизить среднюю стоимость утечки данных.
2. Раскрытие конфиденциальных данных
Данные могут быть раскрыты из-за человеческой ошибки, когда небрежный сотрудник загружает их в общедоступную базу данных или на веб-сайт. Но этот тип уязвимости безопасности также может поддерживаться внутренними процессами, которые фактически позволяют неавторизованному сотруднику получать доступ и манипулировать конфиденциальными данными.
Компания Egress, занимающаяся кибербезопасностью, провела опрос, в ходе которого выяснилось, что 83% организаций в США случайно раскрывали конфиденциальные данные через электронную почту, обмен файлами, программное обеспечение для совместной работы и приложения для обмена сообщениями.
3. Недостаточная защита транспортного уровня
Этот тип уязвимости связан с обменом информацией между клиентом и серверным приложением. Такая информация может содержать конфиденциальные данные, включая учетные данные пользователя и данные кредитной карты. Когда передача данных не защищена, связь может быть перехвачена, и злоумышленники могут получить доступ к данным и расшифровать шифрование, если используются слабые алгоритмы.
4. Неправильно настроенные системные компоненты и рискованные взаимодействия
Неправильная настройка компонентов и взаимодействия между ними — еще одна проблема безопасности, с которой мы часто сталкиваемся. Например, при настройке ИТ-системы администратор забывает переопределить настройки производителя по умолчанию и отключить списки каталогов, оставив систему незащищенной. Другой пример — забыть ограничить доступ к внешним устройствам.
Говоря о взаимодействиях, рекомендуется, чтобы приложения применяли подход с нулевым доверием и рассматривали каждый ввод как рискованный, прежде чем он будет проверен и признан законным. Это поможет избежать атак, таких как межсайтовый скриптинг, когда злоумышленники вводят в приложение ненадежные данные.
Этот аспект особенно актуален для облачных решений. Одно исследование показало, что неправильная конфигурация серверов привела к 200 нарушениям облачных технологий за два года. Другое исследование показывает, что около 70% нарушений безопасности облачных вычислений начинаются с неправильной архитектуры. Например, в 2019 году в США неправильно настроенный сегмент хранилища AWS выдал 750 000 приложений, свидетельствующих о рождении.
5. Слабый серверный контроль
Этот тип уязвимости безопасности обозначает все, что может пойти не так на стороне сервера, от плохой аутентификации до неправильных настроек безопасности, которые делают возможными атаки, такие как подделка межсайтовых запросов, когда какой-либо браузер пользователя выполняет несанкционированные действия на сервере без ведома этого пользователя.
Например, неправильная конфигурация сервера базы данных может привести к тому, что данные станут доступны через простой веб-поиск. И если он содержит учетные данные администратора, злоумышленники могут получить доступ к остальной части системы.
6. Удаленное выполнение кода
Это означает, что уязвимости безопасности программного обеспечения, присутствующие в вашей системе, позволяют злоумышленникам выполнять вредоносный код через Интернет на ваших устройствах. Например, когда сотрудник нажимает на ссылку электронной почты на стороннем веб-сайте, хакер, стоящий за этой установкой, внедряет вредоносное ПО в компьютер жертвы и берет на себя управление оттуда. Посторонний может получить доступ к конфиденциальным данным или заблокировать машину и потребовать выкуп.
7. Известные уязвимости ОС
Каждая операционная система имеет свой список программных уязвимостей. Некоторые списки публикуются в Интернете для всеобщего обозрения. Например, вот список 10 самых слабых мест ОС Windows 10, а вот соответствующий список для OS X. Специалисты по безопасности должны рассмотреть эти моменты и устранить их, чтобы свести к минимуму возможности для атак.
8. Запуск скриптов без проверки на вирусы
Это распространенный тип уязвимости системы безопасности, присутствующий в некоторых веб-браузерах. Например, Safari позволяет запускать «доверенные» сценарии без явного разрешения пользователя. Хакеры, как правило, используют эту уязвимость, пытаясь запустить вредоносный фрагмент кода, который можно спутать с «безопасным» скриптом. К счастью, эту «функцию» часто можно отключить.
9. Слабая аттестация
Злоумышленники могут получить доступ, подменив учетные данные пользователей. Это особенно легко, когда один только пароль «123456» используют более 23 миллионов человек. Это в дополнение к паролям, таким как «admin», «password» и «qwerty», которые также распространены и довольно легко взломаны.
Этот тип уязвимости программного обеспечения считается созданным человеком, но предприятия могут применять меры, которые заставят сотрудников выбирать более надежные варианты и достаточно часто менять свои учетные данные. Это очень важно, учитывая ту роль, которую слабые учетные данные играют в безопасности системы. Статистика показывает, что 80% нарушений безопасности были вызваны слабыми паролями, и что 61% пользователей склонны использовать одну защитную фразу для нескольких служб.
10. Использование компонентов с известными уязвимостями
Развертывание сторонних компонентов, таких как библиотеки, API, наборы данных и платформы, может значительно сократить усилия, необходимые для запуска и работы вашей системы. Но это также может привести к уязвимостям. Важно оставаться внимательным и оценивать эти компоненты, чтобы убедиться, что они не оставляют никаких лазеек для доступа к конфиденциальным данным.
Даже загрузка и использование сторонних изображений может быть опасным. В 2021 году для распространения вредоносного ПО для криптомайнинга было развернуто 30 образов Docker Hub с объемом загрузки 20 миллионов.
11. Небезопасный дизайн
Это относительно новый тип уязвимости системы безопасности, который появился в OWASP в 2021 году. Организация призывает использовать безопасные шаблоны проектирования, моделирование угроз и эталонную архитектуру для устранения уязвимостей с самого начала.
Безопасный дизайн — это методология, которая постоянно оценивает угрозы и обеспечивает надежность кода. Он поощряет систематическое тестирование против известных методов атаки. Он рассматривает безопасность как неотъемлемую часть разработки программного обеспечения, а не как надстройку или приятную функцию.
12. Ошибки безопасности в API
Интерфейсы прикладного программирования (API) позволяют программным компонентам взаимодействовать друг с другом, что является неотъемлемой частью ИТ-системы. Однако API-интерфейсы со слабыми мерами безопасности могут открывать множество лазеек, таких как нарушенная проверка подлинности и разрешение на внедрение кода и другие вредоносные методы.
Например, безрассудно созданный API, который полагается на клиентскую сторону для фильтрации информации перед ее представлением пользователям, может раскрывать данные, делая их доступными для захвата. Конфиденциальные данные должны фильтроваться на стороне сервера. Вот еще один пример этого типа уязвимости безопасности: если API не ограничивает количество входящих запросов, он может открыть возможность для атак типа «отказ в обслуживании» (DoS).
Вот список OWASP из 10 основных уязвимостей безопасности, связанных с API, на ваше рассмотрение. Небезопасные API-интерфейсы открыли двери для многих атак в последние годы. Один печально известный пример исходит от LinkedIn, когда злоумышленник использовал API-интерфейс платформы без аутентификации для загрузки данных 700 миллионов пользователей. Используя аналогичную брешь в API, злоумышленник получил информацию о 1,3 миллионах пользователей Clubhouse и опубликовал ее на хакерском форуме.
13. Неадекватная аутентификация
Слабые меры аутентификации позволяют хакерам использовать опцию «забыли пароль» для сброса учетных записей или инициирования атаки с захватом учетной записи. Это помогает злоумышленнику, когда вопрос аутентификации представляет собой что-то вроде даты рождения пользователя или имени домашнего животного, поскольку это общедоступная информация благодаря социальным сетям. Выполнение процесса многофакторной аутентификации повысит безопасность. К сожалению, исследования показывают, что только 26% компаний США используют этот надежный метод аутентификации.
14. Недостаточный мониторинг и журналы
Журналы хранят данные о системных событиях, сетевых действиях и действиях пользователя. Отслеживая журналы, группы безопасности могут отслеживать все действия, которые происходили в последнее время, и выявлять подозрительные события. Если журналы не просматриваются систематически, это создает информационный пробел, из-за которого уязвимости программного обеспечения и вредоносные действия остаются незамеченными.
15. Привилегии суперпользователя
Чем меньше данных может получить пользователь, тем меньший ущерб может нанести его учетная запись в случае взлома. Тем не менее, некоторые предприятия по-прежнему небрежно предоставляют привилегии суперпользователя налево и направо и не ограничивают доступ сотрудников к тому, что им нужно для выполнения своих повседневных обязанностей. Если злоумышленник завладеет учетной записью уровня администратора, он может отключить антивирусное программное обеспечение и брандмауэр, установить вредоносные приложения, завладеть файлами и т. д.
Согласно исследованиям, 74% утечек данных начинаются со злоупотребления привилегированными учетными данными.
16. Устаревшее программное обеспечение
Большинство предприятий понимают, что своевременное обновление программного обеспечения является ключом к безопасности системы. Однако, похоже, лишь немногие на самом деле следуют этой практике. Cybernews сообщает о недавнем исследовании, посвященном частоте обновлений программного обеспечения. Это исследование проводилось в течение 18 месяцев и показало, что 95% проверенных веб-сайтов на самом деле работают на устаревшем программном обеспечении с известными уязвимостями. Исследовательская группа также обнаружила, что средний программный продукт, как правило, отстает от последнего исправления на четыре года.
Более того, «Лаборатория Касперского» определила, что компании, использующие устаревшее программное обеспечение, могут понести на 47% больше расходов в случае взлома.
Например, в сети отелей Marriott было скомпрометировано 500 миллионов записей данных в результате нарушения безопасности, вызванного неисправленным программным обеспечением.
17. Уязвимости в исходном коде
Уязвимости кода появляются во время разработки программного обеспечения. Например, программа может передавать конфиденциальные данные без шифрования или использовать рандомизированную строку, которая на самом деле не является случайной. Такие ошибки часто обнаруживаются на этапе тестирования программного обеспечения.

Согласно недавнему опросу Secure Code Warrior Survey, 86% участвующих разработчиков признались, что не считают безопасность приложений главным приоритетом при написании кода, а 36% связывают это со сжатыми сроками. Опрос также показал, что 33% респондентов даже не понимают, что делает их код уязвимым.
18. SQL-инъекция
Этот тип уязвимости системы безопасности относится к веб-сайтам и приложениям, использующим язык структурированных запросов (SQL). Это позволяет злоумышленнику изменять пользовательские операторы SQL и обманывать интерпретатор, чтобы он выполнял непреднамеренные команды и предоставлял доступ к базе данных. Таким образом, злоумышленники могут манипулировать конфиденциальными данными, заменяя/удаляя/изменяя конфиденциальные поля.
Это довольно старая уязвимость, на которую приходилось более 65% атак на программные приложения еще в 2019 году.
Типы системных уязвимостей безопасности и способы предотвращения этих уязвимостей программного обеспечения
Выделив распространенные уязвимости в системе безопасности, давайте перейдем к слабым местам, характерным для приложений и систем, и выясним, как защитить от них ваши системы.
Облако
Существует обширный список возможных типов уязвимостей безопасности в облаке, независимо от того, является ли это Azure, AWS, GCP или любой другой облачный провайдер. Наш облачный эксперт Алексей Жадов разделяет эти уязвимости по слоям и дает советы, как их предотвратить.
Уязвимости системного уровня
На каком бы облачном сервисе ни работало ваше программное обеспечение, под капотом всегда находится операционная система. Даже если вы можете получить доступ только к панели управления для вашего ресурса. В каждой операционной системе есть свои «дыры» и «черные ходы». Разработчики ОС постоянно ищут эти слабые места, стараясь замазать основы. Вот почему важно обновлять свое программное обеспечение и быть в курсе последних разработок в области кибербезопасности по известным проблемам.
Уязвимости сетевого уровня
Каждый облачный ресурс работает в облачной сети. А вместе с этим появляется возможность подключения к ресурсу извне. Группа безопасности должна убедиться, что конфигурация сети адекватна. Никогда не открывайте порты, которые вы не планируете развертывать, используйте белые списки известных вам IP-адресов и сетей, которые, как ожидается, будут подключаться к вашему решению. Будьте осторожны при открытии прямого подключения к портам RDP/SSH из любого места, кроме известных IP-адресов.
Уязвимости уровня конфигурации
Облако должно быть правильно настроено в соответствии с требованиями и целями пользователя, и эта конфигурация должна всегда поддерживаться в актуальном состоянии. Настройте политики и процедуры управления конфигурацией и отслеживайте любые подозрительные действия.
Уязвимости человеческого фактора
Не забывайте о конечных пользователях и администраторах, имеющих доступ к облачному решению. Угон учетных записей — одна из самых распространенных слабостей в любой ИТ-системе. Если злоумышленник получит доступ к учетным данным чьей-либо учетной записи, он может свободно входить в систему и манипулировать ею в рамках прав учетной записи, и никто не остановит их, пока не получит уведомление от взломанного пользователя. Вот список наиболее распространенных типов уязвимостей безопасности в облачных приложениях:
- Неправильно настроенные сети и брандмауэры
- Неправильно настроенное облачное хранилище
- Небезопасные API
- Плохое управление доступом
- Взлом аккаунта
- Злонамеренные инсайдеры
- Уязвимости системы
- Общие уязвимости аренды
- Отсутствие многофакторной аутентификации для пользователей и устройств, которые хотят присоединиться к сети
Алексей рекомендует несколько простых правил, которые компании могут внедрить для защиты своих облачных систем:
- Поддерживайте операционные системы в актуальном состоянии
- Защитите свои сети
- Используйте серверы-бастионы для доступа к вашему закрытому периметру
- Настройка групп безопасности сети и списков контроля доступа
- Ограничить доступ для ненужных портов
- Настройте мониторинг и ведение журнала, когда это возможно
- Внедрить многофакторный контроль доступа для всех пользователей
- Используйте брандмауэры и защиту от DDoS-атак
- Используйте облачные инструменты для проверки соответствия стандартам безопасности, например Центр безопасности Azure.
Веб-приложения
Алексей также рассказал о проблемах безопасности программного обеспечения, преследующих веб-приложения. Используя эти уязвимости, злоумышленники могут нанести серьезный ущерб приложению и организации в целом. Вот наиболее распространенные атаки на веб-приложения, связанные с уязвимостями безопасности веб-приложений:
- SQL-инъекция
- Межсайтовый скриптинг
- Обход пути
- Удаленное выполнение команды
Если киберпреступники успешно запускают эти атаки, они могут внедрить вредоносное ПО, взломать учетные записи пользователей, получить доступ к информации с ограниченным доступом и многое другое. Итак, как протестировать ПО на уязвимости? Алексей рекомендует проводить тестирование безопасности веб-приложения, чтобы оценить следующие параметры:
- Проверка ввода. Как приложение может обрабатывать ввод и может ли оно обнаруживать и блокировать любые вредоносные записи?
- Конфигурация сервера. Использует ли он надежный метод шифрования?
- Управление аутентификацией. Какие типы авторизации применяются? Могут ли пользователи выбирать слабые пароли?
- Варианты авторизации. Может ли приложение защитить себя от повышения привилегий?
- Логика бизнеса. Могут ли пользователи вставлять неверные данные? Могут ли они пропускать этапы аутентификации? Могут ли пользователи повредить целостность приложения и его данных?
Мобильные приложения
Говоря о безопасности мобильных приложений, мы не можем игнорировать типы уязвимостей безопасности, представленные самим устройством в дополнение к приложению. Алексей Жадов, наш эксперт по облачным и мобильным технологиям, также поделился общими проблемами, которые затрагивают мобильные приложения:
- Слабый серверный контроль
- Небезопасное хранение данных
- Недостаточная защита транспортного уровня
- Непреднамеренная утечка данных
- Плохая авторизация и аутентификация
- Плохая криптография
- Инъекция на стороне клиента
- Ненадежные входы
- Неправильная обработка сеанса
- Отсутствие бинарной защиты
- Неправильное использование ОС
- Небезопасный трафик и вызовы API
- Подделка кода и взломанные устройства
- Неадекватное ведение журнала и мониторинг
- Неправильные настройки безопасности
Для защиты мобильных приложений Алексей рекомендует несколько простых приемов, которые компании могут внедрить при разработке и обслуживании приложений:
Оценка открытого исходного кода. Большинство мобильных приложений используют сторонние библиотеки с открытым исходным кодом, доступные для всех. Это упрощает процесс разработки, но также открывает лазейки для потенциальных злоумышленников. Таким образом, необходимо тщательно протестировать сторонний код на наличие уязвимостей безопасности программного обеспечения, прежде чем включать его в приложение.
Сильные методы криптографии: шифруйте и расшифровывайте данные во время передачи. Благодаря надежному методу шифрования данных данные приложения, такие как исходный код, информация о пользователе и учетные данные для входа, будут защищены в хранилище вашего приложения. Как только данные будут зашифрованы, хакеры не смогут их интерпретировать, даже если получат доступ к исходному контенту.
Сертификат подписи кода: разработчики могут подписывать мобильные приложения, чтобы защитить их от кибератак и завоевать доверие пользователей. Такая подпись гарантирует, что код не был интерпретирован или изменен после подписания приложения. Команда безопасности может найти несколько вариантов сертификата подписи кода по скромной цене. Эта практика и рентабельна и надежна.
Защита кэша данных : кэшированные данные содержат информацию, полученную из приложения, чтобы ускорить повторное открытие и повысить производительность приложения. Кэш данных обычно хранится без дополнительных мер безопасности на устройстве пользователя. Безопаснее сгенерировать пароль и заблокировать приложение. Кроме того, Алексей рекомендует чаще очищать кешированные данные и входить в систему, используя защищенное сетевое соединение.
Безопасное хранение данных. Каждое приложение содержит данные, которые злоумышленники могут использовать не по назначению. Он включает в себя информацию как о пользователях, так и о разработчиках приложений. Поэтому важно безопасно хранить эти данные в защищенном облачном хранилище, а не полагаться на локальные хранилища.
Методы аутентификации и авторизации. Очень важно настроить многофакторную аутентификацию, чтобы предотвратить кражу данных. Он включает в себя идентификатор пользователя, пароль, PIN-код, OTP и т. д. Авторизация всегда должна выполняться на стороне сервера для проверки ролей и разрешений аутентифицированных пользователей.
Стирание данных и блокировка устройства: эта функция в основном используется в приложениях, содержащих конфиденциальные данные, такие как личная, финансовая информация, информация о состоянии здоровья и т. д. Это уровень безопасности, при котором удаленные данные стираются после нескольких неудачных попыток входа со стороны пользователя, а приложение блокируется автоматически. Он также запрещает пользователям выбирать порядковый номер для своих паролей вместо заглавных букв, специальных символов, алфавитов, цифр и т. д.
Противодействие обратному инжинирингу: хакеры используют обратный инжиниринг, чтобы вмешиваться в функциональность приложения. Получив доступ к исходному коду приложения, хакеры могут обойти процесс аутентификации, подделать свое местоположение и украсть данные. Обеспечение безопасности во время выполнения имеет первостепенное значение для противодействия обратному проектированию. Он не позволяет злоумышленникам изменять внутренние функции приложения, изменяя структуру его кода, чтобы повлиять на поведение приложения.
Интернет вещей
Что делает решения IoT уникальными с точки зрения безопасности, так это то, что возможности каждого устройства ограничены требованиями его использования. Нет места для реализации каких-либо причудливых функций безопасности, которые потребляют дополнительную емкость, память или энергию, что делает устройства IoT уязвимыми.
Наш эксперт по Интернету вещей Егор Палойка выделяет следующие типы уязвимостей безопасности в подключенных устройствах:
- Жестко закодированные учетные данные. Устройства IoT поставляются с жестко закодированными паролями, которые администраторы иногда забывают изменить, что дает хакерам возможность легко проникнуть в систему, используя эти хорошо известные учетные данные.
- Незащищенные сети. В некоторых сетях не применяется строгая аутентификация, что позволяет злоумышленникам добавлять устройства, изменять настройки для изменения потока данных, перехватывать данные и вводить свои собственные данные для имитации показаний датчиков.
- Слабое управление обновлениями. Многие устройства IoT работают независимо и не полагаются на вмешательство человека для выполнения обновлений. В этом случае система управления обновлениями отвечает за то, чтобы автоматические обновления поступали по зашифрованному каналу, поступали из проверенного источника и не были повреждены. Если такая система слаба, она позволит злоумышленникам повредить обновленное программное обеспечение и прошивку, изменив поведение устройства.
- Устаревшие модули кода. Если вы забудете удалить устаревшие модули, которые больше не используются, у хакеров будет достаточно времени, чтобы изучить проблемы с безопасностью своего программного обеспечения и найти лазейки для проникновения в систему. Все модули, не входящие в функционал подключаемых устройств, должны быть удалены.
- Защита данных. Все данные, циркулирующие внутри сети IoT, должны быть зашифрованы, и доступ к ним могут иметь только авторизованные пользователи.
Взлом систем IoT может иметь разрушительные последствия. Например, в ходе эксперимента группа исследователей могла проникнуть в программное обеспечение IoT-устройств Jeep Cherokee и отправить вредоносные команды через развлекательную систему Jeep. Они испортили кондиционер, снизив температуру, включили ветровые стекла, а потом, к ужасу водителя, отключили тормоза. К счастью, это был всего лишь эксперимент. Вот несколько советов, которые Yahor рекомендует для защиты систем IoT:
- Используйте существующий криптографический протокол с высокими требованиями к безопасности, такой как Transport Layer Security (TLS), для поддержки связи в сети IoT и компенсации отсутствия встроенной безопасности.
- Иметь современную интегрированную подсистему управления ключами и сертификатами, обеспечивающую необходимый уровень шифрования и безопасности. Также Yahor рекомендует обновлять ключи и сертификаты не реже одного раза в полгода.
- Внедрите надежную систему управления паролями, чтобы генерировать надежные пароли и систематически их менять.
- Внедрить систему управления обновлениями, которая будет разрешать безопасные обновления только из легитимного источника, блокируя любые попытки принудительного внесения поврежденных изменений.
ИИ-решения
Есть один аспект, который существенно отличает решения искусственного интеллекта (ИИ) и машинного обучения (МО) от остальных систем, упомянутых в этой статье, — это тот факт, что такие модели часто обучают делать прогнозы, и этот процесс обучения вводит несколько типы уязвимостей безопасности. Наш эксперт по искусственному интеллекту Максим Бочок выделил самые популярные недостатки:
- Злоумышленник может вмешаться в обучающий набор данных и заставить модель изучить поддельные правила и сделать неправильные прогнозы.
- Инженеры машинного обучения могут выбрать существующие предварительно обученные модели, которые они найдут в Интернете, и эти модели уже могут быть вредоносными. Например, они могут содержать троянский вирус или другое вредоносное ПО.
- Злоумышленник может завладеть самим алгоритмом и настроить код, веса и другие параметры, чтобы изменить поведение модели.
Более того, искусственный интеллект часто сочетается с другими технологиями, такими как Интернет вещей и облачные технологии, что делает его восприимчивым к типам уязвимостей безопасности, присущим этим системам.
Для защиты систем ИИ наш эксперт рекомендует следующее:
- При использовании предварительно обученных моделей и внешних наборов данных убедитесь, что они не содержат вредоносных программ.
- Систематически проверяйте свои алгоритмы на предмет желаемого результата, чтобы убедиться, что никто не вмешивался в правила сопоставления, не вносил предвзятости и т. д.
- Мониторинг дрейфа данных (изменения во входных данных)
- Обнаружение выбросов, поскольку злоумышленники могут вставлять потенциально опасные данные, чтобы исказить модель до желаемого результата.
- Найдите любые возможные выбросы в вашем наборе обучающих данных.
- Используйте общие инструменты оценки безопасности ИИ, такие как Counterfit. Это поможет обеспечить надежность и надежность алгоритмов.
- Воспользуйтесь преимуществами существующих инструментов защиты данных и защитите конфиденциальные данные при хранении и использовании. Одним из примеров является инструмент Imperva, который может служить внешним брандмауэром.
В заключение
Если вы ведете успешный бизнес, велика вероятность того, что кто-то пытается проникнуть в вашу систему, чтобы потребовать выкуп или нанести ущерб репутации. А поскольку хакеры постоянно ищут лазейки, чтобы их использовать, ваша ИТ-команда работает над снижением рисков. Чтобы убедиться, что вы выиграли эту гонку, обратитесь в опытную компанию по безопасности и тестированию, которая поможет вам оценить состояние вашей системы и даст рекомендации по ее улучшению.
А тем временем, чтобы предотвратить раскрытие ваших приложений различными типами уязвимостей безопасности, обратите внимание на конфигурацию вашей системы, убедитесь, что все ваше программное обеспечение обновлено, и обучите своих сотрудников методам обеспечения безопасности.
Сомневаетесь в безопасности существующей системы? Или хотите создать приложение с учетом требований безопасности? Напишите команде ITRex! Наши эксперты по безопасности проверят ваше оборудование и программное обеспечение на наличие уязвимостей и предложат улучшения.
Первоначально опубликовано на https://itrexgroup.com 6 июля 2022 г.
