Вирусы, активация которых может привести к потере программ и данных при форматировании жесткого диска
Обновлено: 24.11.2024
Возникли проблемы с вирусами на вашем ПК с Windows? Выполните следующие действия, и вскоре вы снова сможете работать.
К настоящему моменту вам должны внушить: используйте антивирусное программное обеспечение. Эти программы — от бесплатных инструментов и платных антивирусных программ до основных пакетов безопасности — следят за вашим ПК с Windows с помощью сканирования, мониторинга в реальном времени и даже эвристического анализа файлов и процессов, чтобы можно было идентифицировать новые угрозы. Крайне важно, особенно в Windows, чтобы у вас был установлен антивирус.
Однако даже самый лучший антивирус не на 100 % надежен. Устройство, уже скомпрометированное вредоносным ПО, может попасть в вашу сеть, люди могут лично размещать вредоносное ПО в системе, а некоторые вредоносные программы находятся там в спящем режиме, ожидая возможности ожить и атаковать. Схемы социальной инженерии и фишинга могут заставить людей (вас) перейти по зараженной ссылке или вложению или загрузить их. Черт, есть даже мошеннические пугающие программы, которые выглядят как антивирусы или антишпионы, но когда вы их устанавливаете, вы заражаетесь! Всегда скачивайте из источника — избегайте сторонних сайтов загрузки.
Иногда трудно сказать, когда на вас нанесли вредоносное ПО, и почти невозможно сказать, какое именно (будь то шпионское ПО, троянский конь, программа-вымогатель и т. д.). Существует множество признаков, на которые следует обращать внимание: невероятно низкая производительность, когда ПК мчался вперед, всплывающие окна браузера, даже если браузер не был открыт, пугающие предупреждения от программ безопасности, которые вы не устанавливали, даже требования выкупа.< /p>
Если вы подозреваете или знаете с абсолютной уверенностью, что заражены вредоносным ПО, вот шаги, которые необходимо предпринять немедленно, чтобы удалить вредоносное ПО.
(Обратите внимание: если вы все же получите требование о выкупе, возможно, программа-вымогатель уже зашифровала ваши файлы. Приведенные ниже решения могут уничтожить программу-вымогатель, но нет гарантии, что вы снова получите доступ к данным. Поэтому убедитесь, что вы у вас есть постоянная резервная копия ваших файлов в облаке или где-либо еще.)
Обновите антивирус
Во-первых, убедитесь, что ваше антивирусное программное обеспечение полностью обновлено с учетом последних определений вирусов. Именно так программное обеспечение идентифицирует вредоносное ПО на основе того, что было ранее. Поставщики антивирусов постоянно обновляют эти списки по мере того, как они сталкиваются с новыми вирусами и троянскими программами как в дикой природе, так и в лаборатории. Если ваше программное обеспечение устарело хотя бы на день, вы рискуете заразиться.
Если у вас Windows 10 или 11, у вас всегда будет бесплатная защита от вирусов и угроз в виде антивирусной программы Microsoft Defender. У него были или есть другие названия, такие как «Безопасность Windows», «Защитник Windows» и даже когда-то он назывался «Центр безопасности Защитника Windows» Microsoft (Microsoft действительно ужасно умеет называть вещи). Защитник Microsoft, безусловно, лучше, чем ничего, и обновляется Центром обновления Windows. Но это далеко не идеально. Мы предлагаем вам немедленно скачать одну из наших лучших бесплатных антивирусных программ: Kaspersky Security Cloud Free или Avast One Essential.
Если вам нужно починить зараженный компьютер для бизнеса, вы или ваш начальник должны потратить деньги на полный пакет безопасности. Нашими вариантами выбора редакции сегодня являются Kaspersky Security Cloud, Kaspersky Internet Security, Bitdefender Internet Security, Bitdefender Total Security и Norton 360 Deluxe. Все вышеперечисленное заслужило 4,5-звездочные отзывы. Они варьируются от базовых (но полных) наборов до мега-пакетов с множеством функций и кросс-платформенных наборов, которые защищают все ваши устройства, а не только Windows.
Вредоносное ПО — это термин, используемый для обозначения вредоносного программного обеспечения, предназначенного для нанесения ущерба компьютерной системе или выполнения нежелательных действий. Примеры вредоносного ПО включают следующее:
Мошенническое программное обеспечение безопасности
Что такое компьютерный вирус?
Компьютерный вирус – это небольшая программа, которая распространяется с одного компьютера на другой и мешает работе компьютера. Компьютерный вирус может повредить или удалить данные на компьютере, использовать программу электронной почты для распространения вируса на другие компьютеры или даже удалить все данные на жестком диске.
Компьютерные вирусы часто распространяются через вложения в сообщениях электронной почты или сообщениях мгновенных сообщений. Поэтому вы никогда не должны открывать вложение электронной почты, если вы не знаете, кто отправил сообщение, или если вы ожидаете вложение электронной почты. Вирусы могут маскироваться под вложения забавных картинок, поздравительных открыток, аудио- и видеофайлов. Компьютерные вирусы также распространяются через загрузки в Интернете. Они могут быть скрыты в пиратском программном обеспечении или в других файлах или программах, которые вы можете загрузить.
Совет. Информацию о симптомах компьютерного вируса см. на веб-сайте Microsoft PC Security.
Что такое червь?
Червь — это компьютерный код, который распространяется без участия пользователя. Большинство червей начинаются как вложения электронной почты, которые заражают компьютер при их открытии.Червь сканирует зараженный компьютер на наличие файлов, таких как адресные книги или временные веб-страницы, которые содержат адреса электронной почты. Червь использует адреса для отправки зараженных сообщений электронной почты и часто имитирует (или подделывает) адреса «От» в более поздних сообщениях электронной почты, так что эти зараженные сообщения выглядят как отправленные кем-то, кого вы знаете. Затем черви автоматически распространяются через сообщения электронной почты, сети или уязвимости операционной системы, часто подавляя эти системы до того, как становится известна причина. Черви не всегда опасны для компьютеров, но обычно они вызывают проблемы с производительностью и стабильностью компьютеров и сетей.
Что такое троянский конь?
Троянский конь — это вредоносная программа, скрывающаяся внутри других программ. Он входит в компьютер, спрятанный внутри легитимной программы, такой как экранная заставка. Затем он помещает код в операционную систему, который позволяет хакеру получить доступ к зараженному компьютеру. Троянские кони обычно не распространяются сами по себе. Они распространяются вирусами, червями или загруженным программным обеспечением.
Что такое шпионское ПО?
Шпионское ПО может установиться на ваш компьютер без вашего ведома. Эти программы могут изменять конфигурацию вашего компьютера или собирать рекламные данные и личную информацию. Шпионское ПО может отслеживать привычки поиска в Интернете, а также может перенаправить ваш веб-браузер на другой веб-сайт, на который вы не собираетесь заходить.
Что такое мошенническое программное обеспечение для обеспечения безопасности?
Мошенническая программа безопасности пытается заставить вас думать, что ваш компьютер заражен вирусом, и обычно предлагает вам загрузить или купить продукт, удаляющий вирус. Названия этих продуктов часто содержат такие слова, как Antivirus, Shield, Security, Protection или Fixer. Это делает их законными. Они часто запускаются сразу после загрузки или при следующем включении компьютера. Мошенническое программное обеспечение безопасности может препятствовать открытию приложений, таких как Internet Explorer. Мошенническое программное обеспечение безопасности также может отображать законные и важные файлы Windows как зараженные. Типичные сообщения об ошибках или всплывающие сообщения могут содержать следующие фразы:
Внимание!
Ваш компьютер заражен!
Этот компьютер заражен шпионским и рекламным ПО.
Примечание. Если во всплывающем диалоговом окне появляется сообщение, похожее на это предупреждение, нажмите клавиши ALT + F4 на клавиатуре, чтобы закрыть диалоговое окно. Не нажимайте ничего внутри диалогового окна. Если предупреждение, подобное приведенному здесь, продолжает появляться при попытке закрыть диалоговое окно, это хороший признак того, что сообщение является вредоносным.
Вы уверены, что хотите перейти с этой страницы?
Ваш компьютер заражен! Они могут привести к потере данных и повреждению файлов, и их необходимо лечить как можно скорее. Нажмите CANCEL, чтобы предотвратить это. Вернитесь в System Security и загрузите его, чтобы защитить свой компьютер.
Нажмите "ОК", чтобы продолжить, или "Отмена", чтобы остаться на текущей странице.
Если вы видите такое сообщение, не загружайте и не покупайте программное обеспечение.
Как удалить вредоносные программы, такие как вирусы, программы-шпионы или мошеннические программы безопасности
Удаление компьютерного вируса или шпионского ПО может быть затруднено без помощи инструментов для удаления вредоносных программ. Некоторые компьютерные вирусы и другое нежелательное программное обеспечение переустанавливаются после обнаружения и удаления вирусов и программ-шпионов. К счастью, обновив компьютер и используя инструменты для удаления вредоносных программ, вы можете навсегда удалить нежелательные программы.
Дополнительные сведения об удалении компьютерных вирусов и шпионских программ см. в следующей статье базы знаний Майкрософт: 2671662 — ресурсы и рекомендации Майкрософт по удалению вредоносных программ и вирусов
Чтобы удалить компьютерный вирус и другое вредоносное ПО, выполните следующие действия по порядку.
1. Установите последние обновления из Центра обновления Майкрософт
Примечание. Компьютерный вирус может помешать вам получить доступ к веб-сайту Microsoft Update для установки последних обновлений. Мы рекомендуем настроить автоматический запуск службы автоматического обновления, чтобы компьютер не пропускал важные обновления.
Дополнительную информацию см. в разделе Центр обновления Windows: часто задаваемые вопросы
Нажмите "Пуск" и введите в поле поиска Центр обновления Windows.
В области результатов нажмите Центр обновления Windows.
Нажмите Проверить наличие обновлений.
Следуйте инструкциям по загрузке и установке последних обновлений Windows.
2. Воспользуйтесь бесплатным сканером безопасности Microsoft
Microsoft предлагает бесплатный онлайн-инструмент, который сканирует и помогает удалить потенциальные угрозы с вашего компьютера. Чтобы выполнить сканирование, перейдите на веб-сайт Microsoft Safety Scanner.
3. Воспользуйтесь средством удаления вредоносных программ для Windows
Для получения дополнительных сведений о средстве удаления вредоносных программ Майкрософт см. следующую статью базы знаний Майкрософт:
890830 — Удаление определенных распространенных вредоносных программ с помощью средства удаления вредоносных программ для Windows
4. Вручную удалите мошенническое программное обеспечение безопасности
Если мошенническое программное обеспечение безопасности не может быть обнаружено или удалено с помощью сканера безопасности Microsoft или средства удаления вредоносных программ Windows, попробуйте выполнить следующие действия:
Обратите внимание на название вредоносного ПО для обеспечения безопасности. В этом примере мы назовем его XP Security Agent 2010.
Перезагрузите компьютер.
Когда вы увидите логотип производителя компьютера, несколько раз нажмите клавишу F8.
При появлении запроса используйте клавиши со стрелками, чтобы выделить Безопасный режим с поддержкой сети, а затем нажмите клавишу ВВОД.
Нажмите кнопку «Пуск» и проверьте, отображается ли мошенническое программное обеспечение безопасности в меню «Пуск». Если его там нет, нажмите «Все программы» и прокрутите список, чтобы найти имя мошеннического ПО для обеспечения безопасности.
Щелкните правой кнопкой мыши имя мошеннической программы безопасности и выберите "Свойства".
Перейдите на вкладку "Ярлык".
В диалоговом окне "Свойства" проверьте путь к мошеннической программе обеспечения безопасности, которая указана в списке "Цель". Например, C:\Program Files\XP Security Agent 2010.
Примечание. Имя папки часто представляет собой случайное число.
Нажмите «Открыть расположение файла».
В окне Program Files нажмите Program Files в адресной строке.
Прокручивайте до тех пор, пока не найдете папку с мошенническим программным обеспечением для обеспечения безопасности. Например, XP Security Agent 2010.
Щелкните папку правой кнопкой мыши и выберите "Удалить".
Перезагрузите компьютер.
Нажмите кнопку «Загрузить сейчас», а затем нажмите «Выполнить».
Следуйте инструкциям, чтобы просканировать компьютер и помочь удалить мошенническое программное обеспечение безопасности.
Если вы подозреваете, что ваш компьютер заражен мошенническим программным обеспечением для обеспечения безопасности, которое не было обнаружено с помощью решений безопасности Microsoft, вы можете отправить образцы, заполнив форму отправки Центра защиты от вредоносных программ Microsoft.
5. Запустите Microsoft Defender в автономном режиме
Microsoft Defender Offline — это инструмент для защиты от вредоносных программ, который помогает удалять трудноизлечимые вирусы, которые запускаются до запуска Windows. Начиная с Windows 10, Microsoft Defender Offline является встроенным. Чтобы использовать его, выполните действия, описанные в этой статье: Помогите защитить мой компьютер с помощью Microsoft Defender Offline.
Нажмите Загрузить 32-разрядную версию или Загрузить 64-разрядную версию, в зависимости от используемой операционной системы. Если вы не знаете, какая операционная система у вас установлена, см. раздел На моем компьютере установлена 32-разрядная или 64-разрядная версия Windows.
При появлении запроса нажмите «Сохранить как», а затем сохраните файл на DVD, компакт-диске или USB-накопителе.
На зараженный компьютер вставьте DVD, компакт-диск или флэш-накопитель USB, а затем перезагрузите компьютер.
При появлении запроса нажмите клавишу, чтобы выбрать вариант запуска компьютера, например F12, F5 или F8, в зависимости от типа используемого компьютера.
Используйте клавишу со стрелкой, чтобы перейти к диску, на котором установлен файл Microsoft Defender Offline. Microsoft Defender Offline запускается и немедленно сканирует на наличие вредоносных программ.
Как защитить компьютер от вредоносных программ
Есть действия, которые вы можете предпринять, чтобы защитить свой компьютер от вредоносного ПО.
Включите брандмауэр
Убедитесь, что брандмауэр Windows включен. Инструкции по тому, как это сделать в современных версиях Windows, см. в разделе Включение или отключение брандмауэра Microsoft Defender.
Нажмите кнопку "Пуск" и выберите "Панель управления".
В поле поиска введите брандмауэр и нажмите Брандмауэр Windows.
На левой панели нажмите Включить или отключить брандмауэр Windows (вам может быть предложено ввести пароль администратора).
Под каждым сетевым расположением нажмите «Включить брандмауэр Windows», а затем нажмите «ОК».
Обновляйте свой компьютер
Дополнительную информацию о настройке автоматического обновления в Windows см. в разделе Центр обновления Windows: вопросы и ответы
Не дайте себя обмануть, загрузив вредоносное ПО
Вот несколько советов, которые помогут защитить вас от загрузки нежелательного ПО:
Загружайте программы только с сайтов, которым вы доверяете. Если вы не уверены, можно ли доверять программе, которую хотите загрузить, введите название программы в свою любимую поисковую систему, чтобы узнать, не сообщал ли кто-нибудь еще о том, что она содержит шпионское ПО.
Прочитайте все предупреждения о безопасности, лицензионные соглашения и заявления о конфиденциальности, связанные с любым загружаемым вами программным обеспечением.
Никогда не нажимайте "Согласен" или "ОК", чтобы закрыть окно, которое, как вы подозреваете, может быть шпионским ПО. Вместо этого щелкните красный значок "x" в углу окна или нажмите клавиши Alt + F4 на клавиатуре, чтобы закрыть окно.
Остерегайтесь популярных "бесплатных" программ для обмена файлами с музыкой и фильмами и убедитесь, что понимаете все программное обеспечение, поставляемое с этими программами.
Используйте стандартную учетную запись пользователя вместо учетной записи администратора. Учетная запись администратора может получить доступ ко всему в системе, и любое вредоносное ПО, запущенное с учетной записью администратора, может использовать разрешения администратора, чтобы потенциально заразить или повредить любые файлы в системе.
Дополнительную информацию о том, как защитить компьютер от вирусов, см. в разделе Защита моего компьютера от вирусов.
Как получить поддержку по компьютерным вирусам и вопросам безопасности
Для США:
Хотите пообщаться с живым человеком? Наши обученные специалисты Answer Tech готовы помочь:
Решения по обеспечению безопасности для ИТ-специалистов:
Поддержка по странам:
Для местоположений за пределами Северной Америки:
Чтобы получить поддержку по вопросам компьютерных вирусов и безопасности для регионов за пределами Северной Америки, перейдите на веб-сайт службы поддержки Microsoft.
Изучите шаги, необходимые для обеспечения безопасности себя и своей компании. В этой примерной главе рассматриваются различные формы брешей в системе безопасности, такие как ошибки программирования и вирусы, а также приводятся их источники и процессы, которые могут их преодолеть.
Эта глава из книги
Эта глава из книги
Эта глава из книги
В этой главе:
Ошибки программирования с последствиями для безопасности — переполнение буфера, неполный контроль доступа
Вредоносный код — вирусы, черви, троянские кони
Контроль разработки программ против вредоносного кода и уязвимостей — принципы и методы разработки программного обеспечения
Элементы управления для защиты от программных ошибок при выполнении — поддержка операционной системы и административный контроль
В первых двух главах мы узнали о необходимости компьютерной безопасности и изучили шифрование — фундаментальный инструмент для реализации многих видов контроля безопасности. В этой главе мы начинаем изучать, как применять безопасность в вычислениях. Мы начнем с почему нам нужна безопасность на программном уровне и как мы можем ее достичь.
В той или иной форме защита программ лежит в основе компьютерной безопасности. Итак, нам нужно задать два важных вопроса:
Как избежать ошибок в программах?
Как мы защищаем вычислительные ресурсы от программ, содержащих ошибки?
В последующих главах мы рассмотрим определенные типы программ, включая операционные системы, системы управления базами данных и сетевые реализации, а также конкретные виды проблем безопасности, возникающие в связи с характером их дизайна и функциональности. В этой главе мы обращаемся к более общим темам, большинство из которых относится к этим системам специального назначения. Таким образом, эта глава не только закладывает основу для будущих глав, но и важна сама по себе.
Эта глава посвящена написанию программ. Это откладывает до следующей главы то, что может быть гораздо более серьезной проблемой безопасности программ: доверие. Проблему доверия можно сформулировать следующим образом: представив готовую программу, например, коммерческий программный пакет, как вы можете определить, насколько она безопасна или как использовать ее наиболее безопасным способом? Частично ответы на эти вопросы даются независимыми оценками третьих лиц, представленными для операционных систем (но применимыми и к другим программам) в главе 5. Отчетность и исправление обнаруженных недостатков обсуждаются в главе 9, а также ответственность и гарантии на программное обеспечение. Однако на данный момент плачевное состояние разработки коммерческого программного обеспечения в значительной степени зависит от того, доверяйте ли вы своему источнику, а покупатель остерегается.
БЕЗОПАСНЫЕ ПРОГРАММЫ
Подумайте, что мы имеем в виду, когда говорим, что программа "безопасна". В главе 1 мы видели, что безопасность предполагает некоторую степень уверенности в том, что программа обеспечивает ожидаемую конфиденциальность, целостность и доступность. Как с точки зрения программы или программиста мы можем посмотреть на программный компонент или фрагмент кода и оценить его безопасность? Этот вопрос, конечно, аналогичен проблеме оценки качества программного обеспечения в целом. Один из способов оценить безопасность или качество — попросить людей назвать характеристики программного обеспечения, влияющие на его общую безопасность. Тем не менее, мы, вероятно, получим разные ответы от разных людей. Это различие возникает из-за того, что важность характеристик зависит от того, кто анализирует программное обеспечение. Например, один человек может решить, что код безопасен, потому что для взлома его средств защиты требуется слишком много времени. И кто-то другой может решить, что код безопасен, если он работал в течение определенного периода времени без явных сбоев. Но третье лицо может решить, что любая потенциальная ошибка в соблюдении требований безопасности делает код небезопасным.
На оценку безопасности также может влиять чье-либо общее мнение о качестве программного обеспечения. Например, если представлением вашего менеджера о качестве является соответствие спецификациям, то он может считать код безопасным, если он соответствует требованиям безопасности, независимо от того, являются ли эти требования полными или правильными. Этот взгляд на безопасность сыграл свою роль, когда крупный производитель компьютеров поставил все свои машины с замками с ключом, поскольку в требованиях был прописан замок с ключом. Но машины не были защищены, потому что все замки были настроены на использование одного и того же ключа!Таким образом, другой взгляд на безопасность — это соответствие назначению; с этой точки зрения производителю явно есть, что улучшать.
Вообще специалисты-практики часто обращают внимание на количество и типы дефектов в качестве доказательства качества продукта (или его отсутствия). Например, разработчики отслеживают количество ошибок, обнаруженных при проверке требований, дизайна и кода, и используют их как индикаторы вероятного качества конечного продукта. На боковой панели 3-1 объясняется важность отделения ошибок — причин проблем — от ошибок — последствий ошибок.
Исправление ошибок
Одним из подходов к оценке качества безопасности является исправление ошибок. Вы можете утверждать, что модуль, в котором было обнаружено и исправлено 100 ошибок, лучше, чем другой, в котором было обнаружено и исправлено только 20 ошибок, предполагая, что более тщательный анализ и тестирование привели к обнаружению большего количества ошибок. Наоборот бросьте вызов своему другу: часть программного обеспечения со 100 обнаруженными ошибками по своей сути полна проблем и явно может иметь сотни других, ожидающих появления. Мнение вашего друга подтверждается литературой по тестированию программного обеспечения; программное обеспечение, которое имеет много ошибок на ранней стадии, скорее всего, будет иметь много других ошибок, ожидающих своего обнаружения.
Ранние работы в области компьютерной безопасности основывались на парадигме "внедрить и исправить", согласно которой аналитики искали и устраняли ошибки. Часто для проверки безопасности системы собиралась высококлассная «команда тигров», пытаясь вызвать ее сбой.
Проверка считалась "доказательством" безопасности; если система выдерживала атаки, она считалась защищенной. К сожалению, слишком часто доказательство становилось контрпримером, в котором обнаруживалась не одна, а несколько серьезных проблем с безопасностью. Обнаружение проблемы, в свою очередь, привело к быстрой попытке «залатать» систему, чтобы исправить или восстановить безопасность. (См. анализ Шелла в [SCH79].) Однако усилия по исправлению были в значительной степени бесполезны, делая систему скорее менее защищенной, чем более защищенной, поскольку они часто приводили к новым ошибкам. На это есть три причины.
Стремление устранить конкретную проблему побуждало сфокусироваться на самой неисправности, а не на ее контексте. В частности, аналитики обращали внимание на непосредственную причину сбоя, а не на недостатки базовой конструкции или требований.
Неисправность часто имела неочевидные побочные эффекты в местах, отличных от непосредственной области неисправности.
Ошибка не может быть устранена должным образом, поскольку в результате пострадают функциональность или производительность системы.
Неожиданное поведение
Неадекватность метода «внедрить и исправить» заставила исследователей искать лучший способ быть уверенным в том, что код соответствует требованиям безопасности. Один из способов сделать это — сравнить требования с поведением. То есть, чтобы понять безопасность программ, мы можем исследовать программы, чтобы увидеть, ведут ли они себя так, как задумали их разработчики или как ожидали пользователи. Мы называем такое неожиданное поведение недостатком безопасности программы; это ненадлежащее поведение программы, вызванное уязвимостью программы. К сожалению, терминология в области компьютерной безопасности не соответствует стандарту IEEE, описанному во врезке 3-1; нет прямого сопоставления терминов «уязвимость» и «недостаток» в характеристике недостатков и отказов. Недостатком может быть либо сбой, либо сбой, а уязвимость обычно описывает класс недостатков, например переполнение буфера. Несмотря на несоответствие, нам важно помнить, что мы должны рассматривать уязвимости и недостатки с двух точек зрения, причины и следствия, чтобы мы видели, какая ошибка вызвала проблему и какой сбой (если таковой имеется) виден пользователю. Например, троянский конь мог быть внедрен в фрагмент кода — недостаток, использующий уязвимость, — но пользователь мог еще не видеть вредоносного поведения троянского коня. Таким образом, мы должны устранять недостатки безопасности программы изнутри и снаружи, находить причины не только существующих, но и зарождающихся сбоев. Более того, недостаточно выявить эти проблемы. Мы также должны определить, как предотвратить вред, причиняемый возможными недостатками.
Проблемы безопасности программы могут возникать из-за любого программного сбоя. То есть они охватывают все, начиная от непонимания требований программы и заканчивая односимвольной ошибкой в кодировании или даже наборе текста. Недостатки могут возникать из-за проблем в одном компоненте кода или из-за невозможности совместимого взаимодействия нескольких программ или частей программ через общий интерфейс. Недостатки безопасности могут отражать код, который был намеренно разработан или закодирован как вредоносный, или код, который был просто разработан небрежно или ошибочно. Таким образом, имеет смысл разделить недостатки программы на две отдельные логические категории: непреднамеренные человеческие ошибки и злонамеренные, преднамеренно созданные недостатки.
Боковая панель 3-1 Терминология IEEE для определения качества
Часто мы говорим об "ошибках" в программном обеспечении. Этот термин может означать много разных вещей в зависимости от контекста. «Ошибка» может быть ошибкой в интерпретации требования, синтаксической ошибкой в части кода или (пока неизвестной) причиной сбоя системы. IEEE предложил стандартную терминологию (в стандарте IEEE 729) для описания "ошибок" в наших программных продуктах
[IEEE83]. Когда человек совершает ошибку, называемую ошибкой, при выполнении какой-либо программной операции, ошибка может привести к сбою или неправильному шагу, команде, процессу или определению данных в компьютерной программе. Например, дизайнер может неправильно понять требование и создать проект, который не соответствует фактическим намерениям аналитика требований и пользователя. Эта конструктивная ошибка является кодировкой ошибки и может привести к другим ошибкам, таким как неправильный код и неправильное описание в руководстве пользователя. Таким образом, одна ошибка может привести к множеству сбоев, а сбой может быть связан с любым продуктом разработки или обслуживания.
Сбой — это отклонение от требуемого поведения системы. Его можно обнаружить до или после поставки системы, во время тестирования или во время эксплуатации и технического обслуживания. Поскольку документы с требованиями могут содержать ошибки, сбой указывает на то, что система не работает должным образом, даже если она может работать так, как указано.
Таким образом, сбой — это взгляд на систему изнутри глазами разработчиков, а сбой — это внешний вид: проблема, которую видит пользователь. Не каждая неисправность соответствует отказу; например, если ошибочный код никогда не выполняется или в определенное состояние никогда не вводится, то ошибка никогда не приведет к сбою кода.
Эти категории помогают нам понять, как можно предотвратить непреднамеренное и преднамеренное внесение ошибок в будущий код, но нам все равно придется устранять их последствия, независимо от намерений. То есть, по словам Санчо Пансы в Человеке из Ламанчи, «неважно, попадет ли камень в кувшин или кувшин в камень, кувшину будет плохо. " Непреднамеренная ошибка может причинить такой же вред пользователям и их организациям, как и преднамеренно созданный недостаток. Кроме того, системная атака часто использует непреднамеренную уязвимость в системе безопасности для нанесения преднамеренного ущерба. Прочитав популярную прессу (см. врезку 3-2), вы можете сделать вывод, что преднамеренные инциденты безопасности (называемые кибератаками) представляют собой наибольшую угрозу безопасности сегодня. На самом деле обычные, непреднамеренные человеческие ошибки наносят гораздо больший ущерб.
К сожалению, у нас нет методов устранения или устранения всех недостатков безопасности программы. У этой печальной ситуации есть две причины.
Элементы управления программой применяются на уровне отдельной программы и программиста. Когда мы тестируем систему, мы стараемся убедиться, что прописанный в требованиях функционал реализован в коде. То есть мы берем контрольный список «должен делать» и проверяем, что код делает то, что должен делать. Однако безопасность также заключается в предотвращении определенных действий: список «не следует делать». Практически невозможно гарантировать, что программа делает именно то, что задумал ее разработчик или пользователь, и ничего больше. Независимо от намерений дизайнера или программиста, в большой и сложной системе количество частей, которые должны правильно сочетаться друг с другом, взаимодействуют неуправляемым количеством способов. Мы вынуждены исследовать и тестировать код для типичных или вероятных случаев; мы не можем исчерпывающе протестировать каждую комбинацию состояний и данных, чтобы проверить поведение системы. Таким образом, сам размер и сложность исключают полное предотвращение ошибок или посредничество. Программисты, намеревающиеся внедрить вредоносный код, могут воспользоваться этой неполнотой и успешно скрыть некоторые недостатки, несмотря на все наши усилия.
Боковая панель 3–2. Значительное увеличение числа кибератак
Группа реагирования на компьютерные чрезвычайные ситуации (CERT) Университета Карнеги-Меллона отслеживает количество и виды уязвимостей и кибератак, о которых сообщается по всему миру. Частью миссии CERT является предупреждение пользователей и разработчиков о новых проблемах, а также предоставление информации о способах их устранения. По данным координационного центра CERT, в 1995 г. было зарегистрировано менее 200 известных уязвимостей, а с 1996 по 1999 г. это число колебалось от 200 до 400. Но в 2000 г. это число резко возросло: в 2000 г. , а в 2002 году ожидается не менее 3 750 человек (более 1 000 – в первом квартале 2002 года).
Как это приводит к кибератакам? CERT сообщил о 3 734 инцидентах безопасности в 1998 г., 9 859 в 1999 г., 21 756 в 2000 г. и 52 658 в 2001 г. Но в первом квартале 2002 г. уже было 26 829 инцидентов, поэтому похоже, что экспоненциальный рост продолжится [HOU02]. Более того, по состоянию на июнь 2002 г. антивирусное программное обеспечение Symantec Norton проверило 61 181 известный шаблон вируса, а продукт McAfee смог обнаружить более 50 000 [BER01].Институт компьютерной безопасности и ФБР совместно проводят ежегодный опрос примерно 500 крупных учреждений: компаний, государственных организаций и учебных заведений [CSI02]. Из респондентов 90 процентов обнаружили нарушения безопасности, 25 процентов определили от двух до пяти событий, а 37 процентов сообщили о более чем десяти. Согласно другим подсчетам, компания Riptech, занимающаяся безопасностью в Интернете, сообщила, что количество успешных интернет-атак за период с января по июнь 2002 г. было на 28% выше, чем за предыдущий шестимесячный период [RIP02].
Опрос 167 специалистов по сетевой безопасности показал, что более 75 % респондентов из государственных органов подвергались атакам на свои сети; более половины заявили, что нападения были частыми. Однако 60 процентов респондентов признали, что они могли бы сделать больше, чтобы сделать свои системы более безопасными; респонденты утверждали, что им просто не хватило времени и персонала для решения вопросов безопасности [BUS01]. В опросе CSI/ФБР 223 респондента, или 44 процента, смогли и действительно оценили свои потери в результате инцидентов; их убытки составили более 455 000 000 долларов США.
Очевидно, что пришло время серьезно отнестись к безопасности как пользователям, так и разработчикам.
Методы программирования и разработки программного обеспечения меняются и развиваются гораздо быстрее, чем методы компьютерной безопасности. Поэтому мы часто пытаемся обезопасить прошлогодние технологии, в то время как разработчики программного обеспечения быстро внедряют сегодняшние и будущие технологии.
Тем не менее, ситуация далека от безрадостной. Компьютерная безопасность может многое предложить безопасности программ. Понимая, что может пойти не так и как защититься от этого, мы можем разработать методы и инструменты для защиты большинства компьютерных приложений.
Типы недостатков
Чтобы помочь нам понять проблемы и их предотвращение или исправление, мы можем определить категории, которые отличают один тип проблемы от другого. Например, Ландвер и др. [LAN94] представляет таксономию программных недостатков, сначала разделив их на преднамеренные и непреднамеренные. Далее они делят преднамеренные недостатки на злонамеренные и незлонамеренные. В таксономии непреднамеренные недостатки делятся на шесть категорий:
ошибка проверки (неполная или противоречивая)
сериализация и псевдонимы
неадекватная идентификация и аутентификация
нарушение граничного условия
другие логические ошибки, которые можно использовать
Этот список дает нам полезный обзор причин, по которым программы могут не соответствовать требованиям безопасности. Мы оставляем обсуждение подводных камней идентификации и аутентификации для главы 4, в которой мы также исследуем разделение на домены выполнения. В этой главе мы рассмотрим другие категории, каждая из которых имеет интересные примеры.
Эта информация дает представление о вирусах и способах их защиты.
Часто задаваемые вопросы
Для получения дополнительной информации
US-CERT предлагает множество ресурсов, которые помогут вам создать более безопасную домашнюю вычислительную среду. Эти документы могут представлять особый интерес, если у вас есть опасения по поводу вирусов и троянских коней:
Часто задаваемые вопросы
Что такое вирус?
Компьютерный вирус – это программа, которая распространяется, сначала заражая файлы или системные области компьютера или жесткого диска сетевого маршрутизатора, а затем создавая свои копии. Некоторые вирусы безвредны, другие могут повредить файлы данных, а некоторые могут уничтожить файлы. Раньше вирусы распространялись, когда люди совместно использовали дискеты и другие портативные носители, теперь вирусы в основном распространяются через сообщения электронной почты.
В отличие от червей, для распространения вирусов часто требуется какое-либо действие пользователя (например, открытие вложения электронной почты или посещение вредоносной веб-страницы).
Что делают вирусы?
Вирус — это просто компьютерная программа. Он может делать все то же, что и любая другая программа, которую вы запускаете на своем компьютере. Некоторые вирусы предназначены для преднамеренного повреждения файлов, а другие могут просто распространяться на другие компьютеры.
Что такое червь?
Червь – это тип вируса, который может распространяться без участия человека. Черви часто распространяются от компьютера к компьютеру и занимают ценную память и пропускную способность сети, что может привести к тому, что компьютер перестанет отвечать на запросы. Черви также могут позволить злоумышленникам получить удаленный доступ к вашему компьютеру.
Что такое троянский конь?
Троянский конь — это компьютерная программа, скрывающая вирус или другую потенциально опасную программу. Троянский конь может быть программой, которая претендует на выполнение одного действия, когда на самом деле она выполняет вредоносное действие на вашем компьютере. Троянские кони могут быть включены в программное обеспечение, которое вы загружаете бесплатно, или в виде вложений в сообщения электронной почты.
Могу ли я заразиться вирусом, читая сообщения электронной почты?
Большинство вирусов, троянских коней и червей активируются, когда вы открываете вложение или переходите по ссылке, содержащейся в сообщении электронной почты. Если ваш почтовый клиент позволяет использовать сценарии, то можно получить вирус, просто открыв сообщение.Лучше ограничить доступный HTML-код в сообщениях электронной почты. Самый безопасный способ просмотра сообщений электронной почты — это обычный текст.
Как избежать заражения вирусами через электронную почту?
Большинство пользователей заражаются вирусами, открывая и запуская неизвестные вложения электронной почты. Никогда не открывайте ничего, что прикреплено к сообщению электронной почты, если вы не знаете содержимое файла. Если вы получили вложение со знакомого адреса электронной почты, но ничего не ожидали, вам следует связаться с отправителем, прежде чем открывать вложение. Если вы получили сообщение с вложением и не узнали отправителя, вам следует удалить это сообщение.
Выбор варианта просмотра сообщений электронной почты в виде обычного текста, а не HTML, также поможет вам избежать заражения вирусом.
Какие советы помогут избежать вирусов и уменьшить их воздействие?
Читайте также: