Уязвимости — это недостатки в компьютерной системе, которые ослабляют общую безопасность устройства/системы. Уязвимости могут быть слабыми местами как в самом оборудовании, так и в программном обеспечении, которое работает на оборудовании. Уязвимости могут быть использованы субъектом угрозы , например злоумышленником, для пересечения границ привилегий (т. е. выполнения несанкционированных действий) внутри компьютерной системы. Чтобы воспользоваться уязвимостью, злоумышленник должен иметь хотя бы один применимый инструмент или метод, который может подключиться к слабости системы. В этом контексте уязвимости также называются поверхностью атаки . Конструкции в языках программирования , которые сложно использовать должным образом, также могут содержать большое количество уязвимостей.
Управление уязвимостями — это циклическая практика, которая различается в теории, но содержит общие процессы, которые включают в себя: обнаружение всех активов, определение приоритетности активов, оценку или выполнение полного сканирования уязвимостей, отчет о результатах, устранение уязвимостей, проверку исправления — повторение. Эта практика обычно относится к уязвимостям программного обеспечения в вычислительных системах. [1] Гибкое управление уязвимостями подразумевает предотвращение атак путем максимально быстрого выявления всех уязвимостей. [2]
Угрозу безопасности часто ошибочно классифицируют как уязвимость. Использование уязвимости с тем же значением риска может привести к путанице. Риск – это возможность значительного воздействия в результате использования уязвимости. Кроме того, существуют уязвимости без риска: например, когда затронутый актив не имеет ценности. Уязвимость с одним или несколькими известными экземплярами работающих и полностью реализованных атак классифицируется как эксплуатируемая уязвимость — уязвимость, для которой существует эксплойт . Окно уязвимости — это время с момента, когда дыра в безопасности была обнаружена или проявлена в развернутом программном обеспечении, до момента, когда доступ был закрыт, исправление безопасности было доступно/развернуто или злоумышленник был отключен — см. « Атака нулевого дня» .
Ошибка безопасности – более узкое понятие. Существуют уязвимости, не связанные с программным обеспечением: уязвимости оборудования , сайта, персонала — это примеры уязвимостей, которые не являются ошибками безопасности программного обеспечения.
Слабость актива или группы активов, которая может быть использована одной или несколькими угрозами, где активом является все, что имеет ценность для организации, ее бизнес-операций и их непрерывности, включая информационные ресурсы, поддерживающие миссию организации [4].
Уязвимость IETF RFC 4949 : [5]
Ошибка или слабость в конструкции, реализации, эксплуатации и управлении системы, которая может быть использована для нарушения политики безопасности системы.
Уязвимость — слабость информационной системы, процедур безопасности системы, внутреннего контроля или реализации, которая может быть использована источником угрозы.
Многие публикации NIST определяют уязвимость в контексте ИТ в различных публикациях: термин FISMApedia [7] [8] предоставляет список. Между ними СП 800-30, [9] дают более широкую:
Недостаток или слабость в процедурах обеспечения безопасности системы, проектировании, реализации или внутреннем контроле, которые могут быть реализованы (случайно или преднамеренно использованы) и привести к нарушению безопасности или политике безопасности системы.
Существование слабости, ошибки проектирования или реализации, которая может привести к неожиданному, нежелательному событию [G.11], ставящему под угрозу безопасность задействованной компьютерной системы, сети, приложения или протокола (ITSEC).
Вероятность того, что актив не сможет противостоять действиям агента угрозы.
Согласно FAIR, уязвимость связана с силой контроля, т. е. силой контроля по сравнению со стандартной мерой силы, и возможностями угрозы , т. е. вероятным уровнем силы, которую агент угрозы способен применить против актива.
ISACA определяет уязвимость в системе Risk It как:
Слабость в проектировании, реализации, эксплуатации или внутреннем контроле.
Безопасность данных и компьютеров: Словарь концепций и терминов стандартов, авторы Деннис Лонгли и Майкл Шейн, Stockton Press, ISBN 0-935859-17-9 , определяет уязвимость как:
1) В компьютерной безопасности - слабость процедур безопасности автоматизированных систем, административного контроля, контроля Интернета и т. д., которая может быть использована угрозой для получения несанкционированного доступа к информации или нарушения критической обработки. 2) В компьютерной безопасности - недостатки в физическом расположении, организации, процедурах, персонале, управлении, администрировании, аппаратном или программном обеспечении, которые могут быть использованы для причинения вреда системе или деятельности ADP. 3) В компьютерной безопасности — любая слабость или изъян, существующий в системе. Атака или вредоносное событие, или возможность, доступная агенту угрозы, для осуществления этой атаки.
Мэтт Бишоп и Дэйв Бэйли [13] дают следующее определение компьютерной уязвимости :
Компьютерная система состоит из состояний, описывающих текущую конфигурацию объектов, составляющих компьютерную систему. Система выполняет вычисления посредством применения переходов между состояниями, которые меняют состояние системы. Все состояния, достижимые из данного начального состояния с использованием набора переходов между состояниями, попадают в класс авторизованных или неавторизованных, как это определено политикой безопасности. В данной статье определения этих классов и переходов считаются аксиоматическими. Уязвимое состояние — это авторизованное состояние, из которого можно перейти в неавторизованное состояние с помощью авторизованных переходов между состояниями. Скомпрометированное состояние – это состояние, достигнутое таким образом. Атака — это последовательность авторизованных переходов между состояниями, которые заканчиваются скомпрометированным состоянием. По определению, атака начинается в уязвимом состоянии. Уязвимость – это характеристика уязвимого состояния, которая отличает его от всех неуязвимых состояний. Если эта уязвимость носит общий характер, она может характеризовать многие уязвимые состояния; если конкретное, то оно может характеризовать только одно...
Слабость в автоматизированных процедурах безопасности системы, административном контроле, внутреннем контроле и т. д., которая может быть использована угрозой для получения несанкционированного доступа к информации или нарушения критической обработки. 2. Слабость в процедурах безопасности системы, конструкции аппаратного обеспечения, внутреннем контроле и т. д., которые могут быть использованы для получения несанкционированного доступа к секретной или конфиденциальной информации. 3. Слабость в физическом расположении, организации, процедурах, персонале, управлении, администрировании, аппаратном или программном обеспечении, которые могут быть использованы для причинения вреда системе или деятельности ADP. Наличие уязвимости само по себе не причиняет вреда; уязвимость — это просто условие или набор условий, которые могут привести к повреждению системы или деятельности ADP в результате атаки. 4. Утверждение, касающееся прежде всего объектов внутренней среды (активов); мы говорим, что актив (или класс активов) уязвим (каким-то образом, возможно, с участием агента или группы агентов); мы пишем: V(i,e) где: e может быть пустым множеством. 5. Подверженность различным угрозам. 6. Набор свойств конкретного внутреннего объекта, который в сочетании с набором свойств конкретного внешнего объекта предполагает риск. 7. Характеристики системы, которые приводят к ее определенной деградации (неспособности выполнять назначенную миссию) в результате воздействия определенного уровня воздействия в неестественной (искусственной) враждебной среде.
Модели уязвимости и факторов риска
Ресурс (физический или логический) может иметь одну или несколько уязвимостей, которыми может воспользоваться злоумышленник. Результат потенциально может поставить под угрозу конфиденциальность , целостность или доступность ресурсов (не обязательно уязвимых), принадлежащих организации и/или другим вовлеченным сторонам (клиентам, поставщикам). Так называемая триада ЦРУ является краеугольным камнем информационной безопасности .
Атака может быть активной , когда она пытается изменить системные ресурсы или повлиять на их работу, ставя под угрозу целостность или доступность. « Пассивная атака » пытается получить или использовать информацию из системы, но не затрагивает системные ресурсы, ставя под угрозу конфиденциальность. [5]
OWASP: взаимосвязь между агентом угрозы и влиянием на бизнес
OWASP (см. рисунок) описывает то же явление в несколько иных терминах: агент угрозы посредством вектора атаки использует слабое место (уязвимость) системы и соответствующие меры безопасности, вызывая техническое воздействие на ИТ-ресурс (актив), подключенный к влияние на бизнес.
Общая картина представляет факторы риска сценария риска. [16]
территория, подверженная стихийным бедствиям (например, наводнению, землетрясению)
прерывание источника питания
организационный
отсутствие регулярных проверок
отсутствие планов непрерывности
отсутствие безопасности
Причины
Сложность. Большие и сложные системы увеличивают вероятность возникновения ошибок и непредусмотренных точек доступа . [18]
Знакомство: использование общего, хорошо известного кода, программного обеспечения, операционных систем и/или аппаратного обеспечения увеличивает вероятность того, что злоумышленник обладает или сможет найти знания и инструменты для использования уязвимости. [19]
Возможность подключения. Больше физических соединений, привилегий, портов, протоколов и служб, а также время доступности каждого из них увеличивают уязвимость. [12]
Недостатки управления паролями: пользователь компьютера использует слабые пароли , которые можно обнаружить с помощью грубой силы. [20] Пользователь компьютера хранит пароль на компьютере, где программа может получить к нему доступ. Пользователи повторно используют пароли между многими программами и веб-сайтами. [18]
Фундаментальные недостатки проектирования операционной системы . Разработчик операционной системы предпочитает применять неоптимальные политики управления пользователями/программами. Например, операционные системы с такой политикой, как разрешение по умолчанию, предоставляют каждой программе и каждому пользователю полный доступ ко всему компьютеру. [18] Этот недостаток операционной системы позволяет вирусам и вредоносным программам выполнять команды от имени администратора. [21]
Просмотр веб-сайтов в Интернете. Некоторые веб-сайты в Интернете могут содержать вредоносное шпионское или рекламное ПО , которое может автоматически устанавливаться в компьютерные системы. После посещения этих веб-сайтов компьютерные системы заражаются, а личная информация будет собрана и передана третьим лицам. [22]
Ошибки программного обеспечения . Программист оставляет в программе ошибку, которую можно использовать. Программная ошибка может позволить злоумышленнику неправильно использовать приложение. [18]
Непроверенный пользовательский ввод : программа предполагает, что весь пользовательский ввод безопасен. Программы, которые не проверяют ввод пользователя, могут допускать непреднамеренное прямое выполнение команд или операторов SQL (известное как переполнение буфера , внедрение SQL или другие непроверенные входные данные). [18]
Не учиться на прошлых ошибках: [23] [24] например, большинство уязвимостей, обнаруженных в программном обеспечении протокола IPv4 , были обнаружены в новых реализациях IPv6 . [25]
Исследования показали, что наиболее уязвимым местом в большинстве информационных систем является человек-пользователь, оператор, проектировщик или другой человек: [26] поэтому людей следует рассматривать в их различных ролях как актива, угрозы, информационных ресурсов. Социальная инженерия становится все более серьезной проблемой безопасности.
Последствия
Последствия нарушения безопасности могут быть очень значительными. [27] В большинстве законодательных актов неспособность ИТ-менеджеров устранить уязвимости ИТ-систем и приложений, если они известны им, рассматривается как неправомерное поведение; ИТ-менеджеры несут ответственность за управление ИТ-рисками . [28] Закон о конфиденциальности обязывает менеджеров действовать так, чтобы уменьшить влияние или вероятность такого риска безопасности. Аудит безопасности информационных технологий — это способ позволить другим независимым людям удостоверить, что ИТ-среда управляется должным образом, и уменьшить ответственность, по крайней мере, продемонстрировав добросовестность. Тест на проникновение — это форма проверки слабости и контрмер, принятых организацией: хакер в белой шляпе пытается атаковать информационные технологические активы организации, чтобы выяснить, насколько легко или сложно поставить под угрозу ИТ-безопасность. [29] Правильный способ профессионально управлять ИТ-рисками — это внедрить систему управления информационной безопасностью, например ISO/IEC 27002 или Risk IT , и следовать ей в соответствии со стратегией безопасности, установленной высшим руководством. [17]
Одной из ключевых концепций информационной безопасности является принцип глубокоэшелонированной защиты , т.е. создание многоуровневой системы защиты, которая может: [27]
предотвратить эксплойт
обнаружить и перехватить атаку
найти агентов угроз и привлечь их к ответственности
Физическая безопасность — это комплекс мер по физической защите информационного актива: если кто-то может получить физический доступ к активу, широко распространено мнение, что злоумышленник может получить доступ к любой информации на нем или сделать ресурс недоступным для его законных пользователей.
Были разработаны некоторые наборы критериев, которым должен соответствовать компьютер, его операционная система и приложения для обеспечения хорошего уровня безопасности: два примера — ITSEC и общие критерии .
Раскрытие уязвимостей
Скоординированное раскрытие (некоторые называют это «ответственным раскрытием», но другие считают этот термин предвзятым) уязвимостей является темой серьезных дискуссий. Как сообщила The Tech Herald в августе 2010 года, « Google , Microsoft , TippingPoint и Rapid7 выпустили руководящие принципы и заявления, описывающие, как они будут бороться с раскрытием информации в будущем». [30] Другой метод, как правило, представляет собой полное раскрытие информации , когда все подробности уязвимости публикуются, иногда с намерением оказать давление на автора программного обеспечения, чтобы тот быстрее опубликовал исправление. В январе 2014 года, когда Google обнаружил уязвимость Microsoft до того, как Microsoft выпустила патч для ее исправления, представитель Microsoft призвал компании-разработчики программного обеспечения к скоординированной практике раскрытия информации. [31]
Поставщики облачных услуг часто не указывают проблемы безопасности в своих сервисах, использующих систему CVE . [32] В настоящее время не существует универсального стандарта для перечисления уязвимостей облачных вычислений , оценки серьезности и единого механизма отслеживания. [33] Инициатива Open CVDB — это управляемая сообществом централизованная база данных облачных уязвимостей, в которой каталогизируются уязвимости CSP и перечисляются шаги, которые пользователи могут предпринять для обнаружения или предотвращения этих проблем в своих собственных средах. [34]
OWASP ведет список классов уязвимостей с целью обучения проектировщиков систем и программистов, тем самым снижая вероятность непреднамеренного внесения уязвимостей в программное обеспечение. [35]
Дата раскрытия уязвимости
Время раскрытия уязвимости определяется по-разному в сообществе безопасности и в отрасли. Чаще всего это называют «разновидностью публичного раскрытия информации о безопасности определенной стороной». Обычно информация об уязвимостях обсуждается в списке рассылки или публикуется на веб-сайте по безопасности, после чего публикуются рекомендации по безопасности.
Моментом раскрытия является первая дата описания уязвимости безопасности на канале, когда раскрываемая информация об уязвимости должна соответствовать следующему требованию:
Информация находится в свободном доступе для общественности
Информация об уязвимостях публикуется надежным и независимым каналом/источником.
Уязвимость прошла анализ экспертов, поэтому информация о рейтинге риска включается при раскрытии.
Выявление и устранение уязвимостей
Существует множество программных инструментов, которые могут помочь в обнаружении (а иногда и устранении) уязвимостей в компьютерной системе. Хотя эти инструменты могут предоставить аудитору хороший обзор возможных имеющихся уязвимостей, они не могут заменить человеческое суждение. Если полагаться исключительно на сканеры, это приведет к ложным срабатываниям и ограниченному представлению о проблемах, присутствующих в системе.
Уязвимости были обнаружены во всех основных операционных системах [36], включая Windows , macOS , различные версии Unix и Linux , OpenVMS и другие. Единственный способ снизить вероятность использования уязвимости в системе — это постоянная бдительность, включая тщательное обслуживание системы (например, применение исправлений программного обеспечения), передовые методы развертывания (например, использование брандмауэров и средств контроля доступа ) и аудит (как во время разработки и на протяжении всего жизненного цикла развертывания).
Места проявления уязвимостей
Уязвимости связаны и могут проявляться в:
физическая среда системы
персонал (т.е. сотрудники, руководство)
процедуры администрирования и политика безопасности
ведение бизнеса и предоставление услуг
аппаратное обеспечение, включая периферийные устройства [37] [38]
программное обеспечение (т. е. локально или в облаке)
возможность подключения (т.е. коммуникационное оборудование и средства)
Очевидно, что чисто технический подход не всегда может защитить физические активы: необходимо иметь административную процедуру, позволяющую обслуживающему персоналу входить на объекты, и людей, обладающих адекватными знаниями процедур, мотивированных следовать ей с должной осторожностью. Однако техническая защита не обязательно останавливает атаки социальной инженерии (безопасности) .
Примеры уязвимостей:
злоумышленник находит и использует уязвимость переполнения буфера для установки вредоносного ПО и последующего кражи конфиденциальных данных;
злоумышленник убеждает пользователя открыть электронное письмо с прикрепленным вредоносным ПО;
наводнение повредило компьютерные системы, установленные на первом этаже.
Уязвимости программного обеспечения
К распространенным типам ошибок программного обеспечения, которые приводят к уязвимостям, относятся:
^ «Жизненный цикл управления уязвимостями | NPCR | CDC» . www.cdc.gov . 12 марта 2019 г. Проверено 04 июля 2020 г.
^ Дин, Аарон Йи; Де Хесус, Джанлука Лимон; Янссен, Марин (2019). «Этический хакинг для повышения эффективности управления уязвимостями Интернета вещей». Материалы Восьмой Международной конференции по телекоммуникациям и дистанционному зондированию . Ictrs '19. Родос, Греция: ACM Press. стр. 49–55. arXiv : 1909.11166 . дои : 10.1145/3357767.3357774. ISBN978-1-4503-7669-3. S2CID 202676146.
^ ab ISO/IEC, «Информационные технологии. Методы обеспечения безопасности. Управление рисками информационной безопасности» ISO/IEC FIDIS 27005:2008.
^ Британский институт стандартов, Информационные технологии. Методы обеспечения безопасности. Управление безопасностью информационных и коммуникационных технологий. Часть 1. Концепции и модели управления безопасностью информационных и коммуникационных технологий. BS ISO/IEC 13335-1-2004.
^ ab Целевая группа по интернет-инжинирингу RFC 4949 Глоссарий по интернет-безопасности, версия 2
^ «Инструкция CNSS № 4009» (PDF) . 26 апреля 2010 г. Архивировано из оригинала (PDF) 28 июня 2013 г.
^ "ФИСМАпедия". fismapedia.org .
^ «Термин: Уязвимость» . fismapedia.org .
^ NIST SP 800-30 Руководство по управлению рисками для систем информационных технологий
^ «Глоссарий». europa.eu .
^ Техническая стандартная таксономия рисков ISBN 1-931624-77-1 Номер документа: C081 Опубликовано The Open Group, январь 2009 г.
^ ab «Введение в факторный анализ информационного риска (FAIR)», Risk Management Insight LLC, ноябрь 2006 г. Архивировано 18 ноября 2014 г. в Wayback Machine ;
^ Мэтт Бишоп и Дэйв Бэйли. Критический анализ таксономии уязвимостей. Технический отчет CSE-96-11, факультет компьютерных наук Калифорнийского университета в Дэвисе, сентябрь 1996 г.
^ Шу, Кори (1996). Справочник терминов INFOSEC, версия 2.0. Компакт-диск (Университет штата Айдахо и Организация безопасности информационных систем)
^ Глоссарий НИАТЕК
^ ISACA THE RISK IT FRAMEWORK (требуется регистрация). Архивировано 5 июля 2010 г. на Wayback Machine.
^ аб Райт, Джо; Харменинг, Джим (2009). «15». В Вакке, Джон (ред.). Справочник по компьютерной и информационной безопасности . Публикации Моргана Кауфмана. Elsevier Inc. с. 257. ИСБН978-0-12-374354-1.
^ abcde Какарека, Альмантас (2009). «23». В Вакке, Джон (ред.). Справочник по компьютерной и информационной безопасности . Публикации Моргана Кауфмана. Elsevier Inc. с. 393. ИСБН978-0-12-374354-1.
↑ Крсул, Иван (15 апреля 1997 г.). Технический отчет CSD-TR-97-026 . Лаборатория COAST, факультет компьютерных наук, Университет Пердью. CiteSeerX 10.1.1.26.5435 .
↑ Паули, Даррен (16 января 2017 г.). «Просто сдавайтесь: 123456 по-прежнему остается самым популярным паролем в мире». Регистр . Проверено 17 января 2017 г.
^ «Шесть самых глупых идей в области компьютерной безопасности». ranum.com .
^ «Консорциум безопасности веб-приложений / Статистика безопасности веб-приложений» . webappsec.org .
^ Росс Андерсон. Почему криптосистемы терпят неудачу. Технический отчет, Компьютерная лаборатория университета, Кембридж, январь 1994 г.
^ Нил Шлагер. Когда технология терпит неудачу: значительные технологические катастрофы, аварии и неудачи двадцатого века. Гейл Рисерч Инк., 1994.
^ Киунтузис, Э.А.; Коколакис, С.А. (31 мая 1996 г.). Безопасность информационных систем: лицом к информационному обществу 21 века . Лондон: Chapman & Hall , Ltd. ISBN0-412-78120-4.
↑ Аб Расмуссен, Джереми (12 февраля 2018 г.). «Лучшие практики кибербезопасности: оставайтесь кибер-умными». Технические решения . Проверено 18 сентября 2020 г.
^ «Что такое уязвимость? - База знаний - ICTEA». www.ictea.com . Проверено 3 апреля 2021 г.
^ Бависи, Санджай (2009). «22». В Вакке, Джон (ред.). Справочник по компьютерной и информационной безопасности . Публикации Моргана Кауфмана. Elsevier Inc. с. 375. ИСБН978-0-12-374354-1.
^ «Новая эра раскрытия уязвимостей — краткая беседа с Х.Д. Муром». Технический вестник . Архивировано из оригинала 26 августа 2010 г. Проверено 24 августа 2010 г.
↑ Бетц, Крис (11 января 2015 г.). «Призыв к более скоординированному раскрытию уязвимостей - MSRC - Главная страница сайта - Блоги TechNet». blogs.technet.com . Проверено 12 января 2015 г.
^ «Wiz запускает открытую базу данных для отслеживания уязвимостей облака» . Поисковая безопасность . Проверено 20 июля 2022 г.
^ Барт, Брэдли (8 июня 2022 г.). «Централизованная база данных поможет стандартизировать обнаружение ошибок в облаке». www.scmagazine.com . Проверено 20 июля 2022 г.
^ Виджаян, Джай (28 июня 2022 г.). «Новые каталоги баз данных уязвимостей, проблемы облачной безопасности». Мрачное чтение . Проверено 20 июля 2022 г.
^ «Категория: Уязвимость» . owasp.org .
↑ Дэвид Харли (10 марта 2015 г.). «Уязвимости операционной системы, эксплойты и незащищенность» . Проверено 15 января 2019 г.
^ Большинство ноутбуков уязвимы для атак через периферийные устройства. http://www.sciencedaily.com/releases/2019/02/190225192119.htm Источник: Кембриджский университет]
^ Использование сетевых принтеров. Институт ИТ-безопасности Рурского университета в Бохуме