Уязвимости программного обеспечения и аппаратной части системы отличаются по характеру возникновения и объектам атак.
Уязвимости программного обеспечения — это ошибки, допущенные программистами на этапе разработки ПО. 3 Они позволяют злоумышленникам получить незаконный доступ к функциям программы или хранящимся в ней данным. 3 Примеры уязвимостей:
- Ошибки проектирования. 35 Это неточности алгоритмов, закладки, несогласованности в интерфейсе между разными модулями или в протоколах взаимодействия с аппаратной частью, внедрение неоптимальных технологий. 35
- Уязвимости реализации. 35 Возникают на этапе написания программы или внедрения в неё алгоритмов безопасности. 35 Примеры: некорректная организация вычислительного процесса, синтаксические и логические дефекты. 3
- Ошибки конфигурации. 35 Распространёнными их причинами являются недостаточно качественная разработка и отсутствие тестов на корректную работу дополнительных функций. 3 К этой категории также можно относить слишком простые пароли и оставленные без изменений учётные записи по умолчанию. 35
Уязвимости аппаратной части связаны с физическим доступом к устройствам или недостатками в микропрограммах. 2 Примеры:
- Физический доступ. 2 Может позволить злоумышленникам извлечь данные или установить вредоносное ПО. 2 Это особенно актуально для мобильных устройств и серверов, которые могут быть физически доступны злоумышленникам. 2
- Уязвимости в микропрограммах. 2 Могут позволить злоумышленникам получить контроль над устройством на низком уровне, что может быть трудно обнаружить и устранить. 2 Это может включать уязвимости в прошивке сетевых устройств, жёстких дисков или других компонентов. 2
Таким образом, уязвимости программного обеспечения связаны с ошибками в коде и функциями программ, а уязвимости аппаратной части — с физическим доступом к устройствам и проблемами в микропрограммах.