Самые опасные ошибки на компьютере

Катастрофические последствия программных ошибок

Время на прочтение
9 мин

Количество просмотров 45K

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

В идеальной ситуации баги исправляют все и сразу. Но в жизни всегда есть куча задач, отодвигающих полный и бесповоротный багфикс (новый функционал, срочные хотфиксы, расставленные приоритеты при исправлении багов). Это значит, что в первую очередь находятся и исправляются очевидные и явные проблемы. Остальные тихо ждут своего часа, превращаясь в бомбы замедленного действия. Иногда ошибки приводят не только к неприятностям в жизни рядового разработчика, но и вызывают настоящие катастрофы. Сегодня у нас подборка и объяснение самых кошмарных багов в истории разработки ПО.

Облучение и радиация

Знаменитый случай гибели нескольких человек, получивших смертельную дозу облучения во время сеансов радиационной терапии с применением медицинского ускорителя Therac-25. Ускорители подобного типа используют электроны для создания лучей высокой энергии, высокоточно уничтожающих опухоли. Но некоторые пациенты получили дозы не в несколько сотен рад, как предписывало лечение, а в 20 000 рад; доза в 1000 рад для человека считается несовместимой с жизнью, причем смерть может наступить сразу после облучения.

Всего один программист создал все ПО, используемое в аппаратах Therac — а это 20 тысяч инструкций, написанных на ассемблере. И при этом во всех Therac встречался один тот же пакет библиотек, содержащий ошибки.

Ускоритель Therac-25, ставший третьим в серии успешных аппаратов лучевой терапии, мог работать с рентгеновскими лучами до 25 МэВ. Несколько лет в середине 80-х аппараты Therac-25 работали безупречно, однако со временем начали накапливаться инциденты, повлекшие за собой тяжелые последствия: от ампутации конечностей до гибели пациентов.

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

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

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

Иногда Therac-25 при расчете излучения делил на ноль и соответствующим образом увеличивал величины облучения до максимально возможных. Установка булевской переменной в значение «true» производилась командой «x=x+1» из-за чего с вероятностью 1/256 при нажатии кнопки «Set» программа могла пропустить информацию о некорректном положении излучателя.

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

Если вы разработчик или (что еще лучше) тестировщик, этот случай стоит изучить досконально — есть хорошая статья в wiki, с нее можно начать, а затем ознакомьтесь с большой статьей девятнадцатилетней давности «Мифы о безопасном ПО: уроки знаменитых катастроф». История вобрала в себя большинство классических проблем тестирования.

Как ни печально, но проблемы Therac-25 не остались уникальными. В 2000 году серию аварий вызвал другой софт, точно так же просчитывающий нужную дозу облучения для пациентов, проходящих курс лучевой терапии.

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

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

Блэкаут

Маленькая ошибка в программном обеспечении системы мониторинга работы оборудования General Electric Energy привела к тому, что 55 миллионов человек остались без электричества. На Восточном побережье США оказались обесточены жилые дома, школы, больницы, аэропорты.

14 августа 2003 года в 0:15 ночи оператор энергетической системы в Индиане с помощью инструмента мониторинга работы оборудования заметил небольшую проблему. Проблема вызвала раздражающий сигнал об ошибке, который оператор выключил. Оператору удалось за несколько минут решить все трудности, но он забыл перезапустить мониторинг — аварийный сигнал остался в выключенном положении.

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

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

Mars Climate Orbiter

В 1998 году NASA потеряло спутник «Mars Climate Orbiter» стоимостью $ 125 млн из-за того, что субподрядчик, работавший над инженерными задачами, не перевел английские единицы измерения (фунты) в метрическую систему. В результате ошибки спутник после 286-дневного путешествия на большой скорости вошел в марсианскую атмосферу, где из-за возникших перегрузок его системы связи вышли из строя. Аппарат оказался на сто километров ниже планируемой орбиты и на 25 км ниже высоты, на которой еще можно было исправить ситуацию. В результате спутник разбился. Такая же участь постигла космический аппарат Mars Polar Lander.

Mariner 1

В 1962 году космический корабль «Mariner 1» был уничтожен с земли после старта из-за отклонения от курса. Авария возникла на ракете из-за программного обеспечения, в котором разработчик пропустил всего один символ. В результате корабль стоимостью 18 миллионов долларов (в деньгах тех лет) получал неверные управляющие сигналы.

При работе над системой управления ракетой программист переводил рукописные математические формулы в компьютерный код. Символ «верхнего тире» (индекса), он воспринял за обычное тире (или знак минус). Функция сглаживания стала отражать нормальные вариации скорости ракеты как критические и недопустимые.

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

Запуск баллистических ракет

26 сентября 1983 года спутник эшелона «Око» системы предупреждения о ракетном нападении СССР ошибочно сообщил о запуске пяти баллистических ракет с территории США. Спутник находился на высокой эллиптической орбите, наблюдая за районами базирования ракет под таким углом, чтобы они находились на краю видимого диска Земли. Это позволяло обнаружить факт запуска на фоне темного космического пространства по инфракрасному излучению работающего ракетного двигателя. Кроме того, выбранное расположение спутника снижало вероятность засветок датчиков отраженным от облаков или снега солнечным светом.

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

Подобная ошибка, едва не повлекшая за собой глобальный ядерный конфликт, произошла и по другую сторону океана. 9 ноября 1979 года из-за сбоя компьютера воздушно-космической обороны Северной Америки была получена информация о начале ракетной атаки против США — в количестве 2200 запусков. В то же время спутники раннего предупреждения и радары показали, что никакой информации о советской атаке не поступало — только благодаря перепроверке данных, сделанной за 10 минут, не был отдан приказ о взаимном гарантированном уничтожении.

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

За несколько первых лет работы Национального центра управления Объединенного командования аэрокосмической обороны США и Канады было зафиксировано 3703 ложных сигнала тревоги, большая часть из которых появилась из-за атмосферных явлений. Однако случались и компьютерные ошибки. Так один из «боевых» компьютеров 3 июня 1980 года показал постоянно меняющиеся цифры количества ракет, запущенных Советским Союзом. Проблема возникла из-за аппаратного сбоя в микросхеме.

Обновление софта и деление на 0

В 1997 американский ракетный крейсер «Йорктаун» (CG-48), на котором были установлены 27 компьютеров (Pentium-Pro на 200 МГц), решил поделить на ноль и полностью вышел из строя.
Компьютеры работали на Windows NT — и работали они ровно так, как вы и ожидаете, узнав название оси. В то время ВМФ США старался максимально широко использовать коммерческое ПО с целью снижения стоимости военной техники. Компьютеры же позволяли автоматизировать управление кораблем без участия человека.

На компьютеры «Йорктауна» поставили новую программу, управляющую двигателями. Один из операторов, занимавшийся калибровкой клапанов топливной системы, записал в одну из ячеек расчетной таблицы нулевое значение. 21 сентября 1997 года программа запустила операцию деления на этот самый ноль, началась цепная реакция, и ошибка быстро перекинулась на другие компьютеры локальной сети. В результате отказала вся компьютерная система «Йорктауна». Потребовалось почти три часа, чтобы подключить аварийную систему управления.

Схожая проблема с нулем возникла при испытании истребителя в Израиле. Безупречно работавший самолет на автопилоте пролетел над равнинной частью, над горной частью, над долиной реки Иордан и приблизился к Мертвому морю. В этот момент произошел сбой, автопилот выключился, и пилоты посадили истребитель на ручном управлении.

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

В мире найдется немало историй, когда обновление софта, совершаемое с самыми благими целями, могло повести за собой множество проблем. В 2008 году атомная электростанция в штате Джорджия (США) мощностью 1,759 МВт в экстренном режиме приостановила работу на 48 часов.

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

Инцидент с F-22

Двенадцать F-22 Raptor (истребитель пятого поколения, состоящий на вооружении США), стоимостью $ 140 млн за штуку, отправились в первый международный вылет в Окинаву. Все шло замечательно, пока эскадрилья не пересекла линию перемены даты, на западной стороне которой дата сдвинута на один день вперед относительно восточной. После пересечения условной линии все 12 истребителей одновременно выдали сообщение об ошибке, эквивалентной синему экрану смерти.

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

Так в чем же была ошибка? Проектировщики из Lockheed Martin даже не рассматривали вопрос о возможности пересечения линии перемены дат — им просто не пришло в голову, что где-то понадобится либо прибавлять, либо вычитать одни сутки.

Другие истории

В этой бескрайней теме есть еще несколько интересных историй. О них сложилось либо неправильное мнение, либо уже были подробные статьи на ГТ и Хабре.

Взрыв на советской газотранспортной системе в 1982 году из-за программных ошибок, заложенных ЦРУ. Эксперты категорически отрицают не только взрыв на газопроводе «Уренгой-Сургут-Челябинск» в 1982 году, но и вообще возможность возникновения такого взрыва.

Алгоритмическая ошибка привела к аварии самолета А-330 — в результате инцидента 119 пассажиров и членов экипажа получили ранения, из них 12 тяжелые.

Ракета-носитель Ariane 5 превратилась в «конфетти» 4 июня 1996 года — ошибка произошла в компоненте ПО, предназначенном для выполнения «регулировки» инерциальной платформы. Потеряно 500 млн долларов (стоимость ракеты с грузом).

Toyota: из-за корявой электроники и софта 89 человек погибли с 2000 по 2010 годы.

Источники:

habrahabr.ru/company/mailru/blog/227743
www.wikiwand.com/en/Therac-25
www.baselinemag.com/c/a/Projects-Processes/We-Did-Nothing-Wrong en.wikipedia.org/wiki/Northeast_blackout_of_2003
lps.co.nz/historical-project-failures-mars-climate-orbiter www.jpl.nasa.gov/missions/mariner-1
inosmi.ru/inrussia/20071229/238739.html
https://www.revolvy.com/main/index.php?s=USS%20Yorktown%20(CG-48)
www.defenseindustrydaily.com/f22-squadron-shot-down-by-the-international-date-line-03087

Синий экран смерти или BSOD (Blue Screen of Death) видел практически каждый пользователь Windows. Его появление свидетельствует о критическом сбое в железе или программном обеспечении и сопровождается перезагрузкой операционной системы с потерей всех несохраненных данных. Сложно представить, сколько нервных клеток сгубила эта ошибка, особенно во времена Windows 2000 и XP. Сейчас экран смерти возникает не так часто, однако бороться с проблемой нужно незамедлительно. Главное выяснить причину заболевания и назначить верный курс лечения.

Что такое BSoD?

Упрощенно архитектура Windows состоит из двух уровней — пользовательского и режима ядра. На первом работают прикладные программы и службы, а на втором выполняется код ОС и драйверов. BSOD возникает при обнаружении критической ошибки в режиме ядра. Сбоить могут, как драйвера, так и аппаратная часть ПК. В результате система экстренно прекращает свою работу и выводит на дисплей информацию об ошибке — печально известный экран смерти. Все несохраненные данные теряются.

Через некоторое время после появления BSOD компьютер автоматически перезагружается. Зачастую это происходит слишком быстро, и пользователь не успевает запомнить код ошибки. В этом случае достаточно отключить автоматическую загрузку ОС. После перезагрузки система продолжит свою работу, однако, если не устранить причину сбоя, то BSOD будет появляться снова и снова. Сведения об ошибке заносятся в файл дампа памяти с расширением «.dmp» и по умолчанию добавляются в папку по адресу «C:\Windows\Minidump».

Помимо классического синего экрана, иногда встречается зеленый экран смерти. По сути, эта ошибка идентична стандартному BSOD, однако появляется только на тестовых версиях Windows 10 начиная с 2016 года. Подобное разделение позволяет быстро понять, в какой версии (тестовой или релизной) произошел сбой.

Одна из тестовых версий Windows Vista, известная под названием Longhorn, иногда демонстрировала пользователям красный экран смерти. Проблема заключалась в сбое диспетчера загрузки. Помимо этого, красный фон использовался для уведомления об ошибке ACPI в Windows 98.

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

Основные причины появления BSoD

Экран смерти возникает из-за ошибок при исполнении кода в режиме ядра. К этому могут привести проблемы в железе (аппаратной части) или программные сбои:

  • выход из строя аппаратной части;
  • конфликт подключенных устройств/драйверов;
  • перегрев видеокарты или процессора;
  • разгон комплектующих;
  • несовместимость устройства/драйвера с ОС;
  • заражение компьютера вирусом;
  • неподходящий или некорректно установленный драйвер;
  • недостаточное количество свободного места на диске;
  • неполадки в модуле оперативной памяти;
  • неправильные настройки BIOS;
  • обновление Windows;
  • ошибки файловой системы.

Чаще всего BSOD появляется из-за некорректной работы драйвера одного из подключенных устройств. Для повышения надежности системы используйте только последние официальные версии драйверов и программ.

Как узнать код ошибки BSoD?

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

В первом случае необходимо хорошенько рассмотреть информацию на дисплее. Внешний вид экрана смерти зависит от версии ОС. В случае Windows XP и 7 выводится большой объем данных с названием и параметрами ошибки, а также рекомендациями по ее устранению.

Начиная с Windows 8 пользователь видит только грустный смайл, краткое описание возникшей ошибки и QR-код со ссылкой на решение проблемы от Microsoft.

Если вы не запомнили код ошибки сразу после появления BSOD, то можете найти его с помощью журнала Windows. для этого перейдите по цепочке “Панель управления” — “Администрирование” — “Просмотр событий” — “Система”. Ориентируясь на дату и время сбоя кликните по соответствующей записи в журнале. В описании будет указан код и название ошибки, например, шестнадцатеричному коду 0x00000001 соответствует ошибка APC_INDEX_MISMATCH.

По умолчанию информация об ошибке сохраняется в дампе памяти. Для ее просмотра потребуется специальная утилита, например, бесплатная программа BlueScreenView. В верхней части главного окна выводится перечень дампов памяти, с момента установки ОС. В таблице указывается время формирования отчета, код ошибки, параметры и драйвер, который вероятнее всего привел к появлению BSOD. В нижней части экрана приводится список драйверов, при этом красным отмечаются те, что были активны в момент сбоя.

Ошибка BSoD при загрузке/установке ОС

Синий экран может появляться непосредственно при установке операционной системы. Причиной чаще всего служит:

  • неисправный файл образа;
  • проблемы с аппаратной частью;
  • неправильная настройка BIOS.

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

В некоторых случаях ОС постоянно уходит в перезагрузку без появления графического интерфейса. Вероятнее всего причина в повреждении или некорректном форматировании жесткого диска, а также неверных параметрах BIOS. Сбросить BIOS до настроек по умолчанию можно одним из двух способов:

  • BIOS Setup. Для запуска утилиты нажмите клавишу Delete во время первоначального тестирования компьютера и перейдите в настройки. Активируйте опцию “Load Optimal Defaults” — название может отличаться в различных версиях BIOS.
  • Замыкание контактов на плате. Отключите питание компьютера и откройте крышку корпуса. На материнской плате найдите перемычку с пометкой CMOS или BIOS RESET (подпись зависит от модели платы). Если контактов два, то однократно замкните их. В случае 3-х контактной перемычки потребуется переставить внешний колпачок с контактов 1–2 на позиции 2–3. Оставьте плату в таком состоянии на 15–20 секунд и верните колпачок в исходное положение.

Для загрузки ОС можно воспользоваться безопасным режимом. В этом случае система использует только самые необходимые драйвера. Если проблема не в них, то появится возможность исправить ошибку.

Устранение BSoD

Если вы знаете код ошибки, то можете найти инструкцию по ее устранению в интернете, например, на этом сайте. Начиная с Windows 8 на экране смерти выводится QR-код со ссылкой на способ устранения неполадки от Microsoft.

Для восстановления стабильного режима работы ПК можно воспользоваться универсальными способами. Если применить весь комплекс мер, то это с большой вероятностью исправит ошибку, ускорит быстродействие системы и продлит срок службы комплектующих:

  • Почистите компьютер от пыли. Все механизмы обслуживаемых вентиляторов желательно смазать специальным маслом.
  • Узнайте температуру процессора/видеокарты в обычном и нагруженном режимах. Если комплектующие перегреваются добавьте в корпус дополнительные вентиляторы или реорганизуйте систему охлаждения.
  • Проверьте, есть ли на диске свободное место. Если его недостаточно удалите ненужные файлы и деинсталлируйте неиспользуемое ПО.
  • Просканируйте ОС надежной антивирусной программой. При обнаружении опасных объектов удалите их. В некоторых случаях причиной сбоя может стать сам антивирус.
  • Если ошибка появилась не так давно, то воспользуйтесь мастером восстановления системы и загрузите последнюю стабильную версию.
  • Установите последний официальный пакет обновлений системы (Service Pack). Рекомендуется включить автоматическое обновление Windows.
  • Если ошибка появилась после установки определенной программы, то переустановите ее, скачав с официального сайта.
  • Если сбой возникает после подключения определенного устройства, то проверьте его на совместимость с вашей версией ОС. Скачайте новую версию драйвера с сайта производителя. Если драйвер свежий, то откатите его до предыдущей версии.
  • Сбросьте BIOS до настроек по умолчанию одним из описанных выше способов.
  • Проверьте ОЗУ на ошибки в специализированном приложении, например, memtest86+. Если обнаружится поврежденная линейка памяти, планку придется заменить.
  • Проверьте жесткий диск встроенными средствами диагностики или сторонними программами. Восстановите битые сектора.

Если ничего из вышеперечисленного не помогло, то переустановите операционную систему с помощью лицензионного образа.

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

Чаще всего такие ошибки допускают новички, которым кажется, что собрать компьютер просто, как Lego. Но и опытные пользователи, собравшие десятки и сотни ПК, запросто допускают их, так как начинают относиться к процессу сборки ПК как к привычному и рутинному занятию, отчего снижается внимательность. В этом блоге я собрал 12 наиболее распространенных и опасных ошибок при сборке ПК, прочитав про которые вы можете сберечь свои деньги, время и нервы.

Покупка дешевого блока питания 

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

Ошибки при установке процессорного кулера

Огромное количество ошибок допускается при монтаже процессорного кулера. Его крепление могут не дотянуть, из-за чего будет перегрев, или наоборот, перетянуть, что может выгнуть материнскую плату. Закрепить его не той стороной (так, что вентилятор будет дуть только вверх или низ), забыть подключить разъем вентилятора или забыть снять защитную наклейку с основания кулера, что даст очень высокие температуры.

Ошибки при нанесении термопасты

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

Ошибки при установке процессора

Процессор от AMD с его множеством тончайших ножек — вещь чрезвычайно хрупкая, одно неверное движение при установке и ножки помяты, что чревато замыканием на процессоре или отпадением ножки при попытке ее выправить. Вдобавок сокеты AMD AM2/AM+/AM3/AM3+ и AM4 плохо держат процессор и при попытке снять кулер с прикипевшей термопастой процессор легко выдергивается из сокета, а ножки гнутся.

Сокеты Intel гораздо продуманнее, а на процессорах нет ножек, но теперь уязвимой частью системы стал сокет, чьи ножки еще нежнее, чем на процессоре AMD и легко мнутся при неаккуратной установке. А у самого процессора могут помяться углы из-за неаккуратного обращения или массивного кулера.

А иногда рассеянный или неопытный пользователь может установить процессор так, что ключи на сокете не совпадут и спалить его при включении ПК.

Неправильная установка материнской платы

Стойки, к которым привинчивается материнская плата, должны совпадать с отверстиями на ней. Иначе мы получим провисание и изгиб текстолита при подключении кабелей к материнской плате или замыкание дорожек на обратной стороне платы. Очень часто новички царапают материнскую плату об стойки при установке — это надо делать очень аккуратно.

Неправильное подключение проводов к материнской плате

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

Забыть установить I/O-панель или замкнуть ею порты

История умалчивает о том, сколько нервов сборщиков ПК было безвозвратно потеряно, когда они обнаруживали, что собрали компьютер целиком, но забыли установить I/O-панель. Но эта ошибка неприятна, но не смертельна, а вот когда усики I/O-панели попадают в порты материнской платы, замыкают и сжигают их — это намного серьезнее.

Неправильная установка модулей ОЗУ

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

Неправильная установка видеокарты

Казалось бы, что проще установки видеокарты, но только на первый взгляд. На практике пользователи умудряются установить видеокарту не в тот слот PCI Express, забыть подключить провода питания, забыть привинтить ее к корпусу. Но самые опасные ошибки — повреждение слота PCI Express, который массивная видеокарта может попросту выломать, и повреждение материнской платы планкой крепления видеокарты, которой легко поцарапать токопроводящие дорожки. Тяжелые видеокарты могут провисать без поддержки, изгибая текстолит и вызывая повреждения дорожек и отвал чипов.

Неправильная установка жестких дисков и SSD

Жесткие диски и SSD форм-фактора 3.5″ и 2.5″ дюйма начинающие пользователи могут крепить в корпусе всего за одну сторону или вовсе оставив без болтиков, что вызывает резонанс при работе HDD. Часто используются неподходящие для этой цели болтики, но самое опасное — выламывание разъема питания или SATA III при неаккуратном обращении, что сразу лишает гарантии ваш накопитель.

Ошибки при установке SSD-накопителя формата M.2

Довольно новый формат разъемов M.2 очень удобен — небольшой, эстетичный и позволяющий SSD развивать большие скорости. Но вот о том, что разъем M.2 очень хрупок и выдерживает всего несколько десятков отключений и подключений — знают немногие. Частой ошибкой начинающих пользователей становится эксплуатация SSD-накопителя формата M.2 без охлаждения, при котором его реальные (мониторинг их почти всегда занижает) температуры легко достигают 90-100 градусов и начинается троттлинг с падением скорости. Это особенно усугубляется в том случае, если разъем закрыт видеокартой, которая дополнительно нагревает его.

Забыть обесточить ПК при манипуляциях с комплектующими или повредить их статикой

И наконец, 12 ошибка, которую часто допускают и опытные пользователи. Если не обесточить ПК полностью, на материнскую плату подается дежурное напряжение и манипуляции с комплектующими могут вызвать замыкание. Иногда замыкает и батарейка материнской платы, когда плату кладут на токопроводящую поверхность, например, крышку корпуса ПК. Но самый опасный и незаметный враг комплектующих — статическое электричество. Достаточно коснуться чипа или разъема, если ваше тело накопило заряд статики, и видеокарта или материнская плата выходят из строя.

Итоги

Как видите, ошибок при сборке ПК можно совершить множество. Чтобы их избежать, нужно внимание, аккуратность и хорошо оборудованное рабочее место с хорошим освещением, которое можно обеспечить налобным фонариком, например, ЭРА GB-603 из Регарда. Он стоит копейки, но собирать с ним ПК очень удобно. Еще вам понадобится, как минимум, недорогой набор отверток, таких, как HAMA H-39694. А лучше, полноценный набор инструментов — Buro TC-1112, где есть пинцет, которым удобно подключать провода и джамперы.


Пишите в комментарии, совершали ли вы ошибки при сборке ПК?  

Более 500 блогов автора Zystax обо всем, что связано с компьютерами и играми. 

рекомендации

Ищем PHP-программиста для апгрейда конфы

4070 MSI по старой цене дешевле Palit

13900K в Регарде дешевле чем при курсе 60

Top25

The 2010 CWE/SANS Top 25 Most Dangerous Software Errors is a list of the most widespread and critical programming errors that can lead to serious software vulnerabilities. They are often easy to find, and easy to exploit. They are dangerous because they will frequently allow attackers to completely take over the software, steal data, or prevent the software from working at all.

The List[]

Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)[]

The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Improper Neutralization of Special Elements used in an SQL Command (‘SQL Injection’)[]

The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.

Buffer Copy without Checking Size of Input (‘Classic Buffer Overflow’)[]

The program copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer, leading to a buffer overflow.

Cross-Site Request Forgery (CSRF)[]

The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.

[]

The software does not perform or incorrectly performs access control checks across all potential execution paths.

Reliance on Untrusted Inputs in a Security Decision[]

The application uses a protection mechanism that relies on the existence or values of an input, but the input can be modified by an untrusted actor in a way that bypasses the protection mechanism.

Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)[]

The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Unrestricted Upload of File with Dangerous Type[]

The software allows the attacker to upload or transfer files of dangerous types that can be automatically processed within the product’s environment.

Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’)[]

The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.

Missing Encryption of Sensitive Data[]

The software does not encrypt sensitive or critical information before storage or transmission.

Use of Hard-coded Credentials[]

The software contains hard-coded credentials, such as a password or cryptographic key, which it uses for its own inbound authentication, outbound communication to external components, or encryption of internal data.

Buffer Access with Incorrect Length Value[]

The software uses a sequential operation to read or write a buffer, but it uses an incorrect length value that causes it to access memory that is outside of the bounds of the buffer.

Improper Control of Filename for Include/Require Statement in PHP Program (‘PHP File Inclusion’)[]

The PHP application receives input from an upstream component, but it does not restrict or incorrectly restricts the input before its usage in «require,» «include,» or similar functions.

Improper Validation of Array Index[]

The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.

Improper Check for Unusual or Exceptional Conditions[]

The software does not check or improperly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the software.

Information Exposure Through an Error Message[]

The software generates an error message that includes sensitive information about its environment, users, or associated data.

Integer Overflow or Wraparound[]

The software performs a calculation that can produce an integer overflow or wraparound, when the logic assumes that the resulting value will always be larger than the original value. This can introduce other weaknesses when the calculation is used for resource management or execution control.

Incorrect Calculation of Buffer Size[]

The software does not correctly calculate the size to be used when allocating a buffer, which could lead to a buffer overflow.

Missing Authentication for Critical Function[]

The software does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.

Download of Code Without Integrity Check[]

The product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code.

Incorrect Permission Assignment for Critical Resource[]

The software specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors.

Allocation of Resources Without Limits or Throttling[]

The software allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on how many resources can be allocated, in violation of the intended security policy for that actor.

URL Redirection to Untrusted Site (‘Open Redirect’)[]

A web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a Redirect. This simplifies phishing attacks.

Use of a Broken or Risky Cryptographic Algorithm[]

The use of a broken or risky cryptographic algorithm is an unnecessary risk that may result in the disclosure of sensitive information.

Race Condition[]

The program contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently.

Monster Mitigation Matrix[]

The following table maps CWEs to the recommended monster mitigations, along with a brief summary of the mitigation’s effectiveness.

Effectiveness ratings include:

  • High: The mitigation has well-known, well-understood strengths and limitations; there is good coverage with respect to variations of the weakness.
  • Moderate: The mitigation will prevent the weakness in multiple forms, but it does not have complete coverage of the weakness.
  • Limited: The mitigation may be useful in limited circumstances, only be applicable to a subset of this weakness type, require extensive training/customization, or give limited visibility.
  • Defense in Depth (DiD): The mitigation may not necessarily prevent the weakness, but it may help to minimize the potential impact when an attacker exploits the weakness.

Within the matrix, the following mitigations are identified:

  • M1: Establish and maintain control over all of your inputs.
  • M2: Establish and maintain control over all of your outputs.
  • M3: Lock down your environment.
  • M4: Assume that external components can be subverted, and your code can be read by anyone.
  • M5: Use industry-accepted security features instead of inventing your own.
M1 M2 M3 M4 M5 CWE
High DiD Mod Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)
Mod High DiD Ltd Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’)
Mod High Ltd Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)
Mod High DiD Ltd Improper Neutralization of Special Elements used in an SQL Command (‘SQL Injection’)
Mod DiD Ltd Improper Control of Filename for Include/Require Statement in PHP Program (‘PHP File Inclusion’)
Mod DiD Ltd Buffer Copy without Checking Size of Input (‘Classic Buffer Overflow’)
High DiD Ltd Improper Validation of Array Index
Mod DiD Ltd Incorrect Calculation of Buffer Size
Mod DiD Ltd Integer Overflow or Wraparound
Ltd High DiD Mod Information Exposure Through an Error Message
DiD Mod Mod Improper Access Control (Authorization)
Mod Mod Missing Authentication for Critical Function
DiD Missing Encryption of Sensitive Data
High Use of a Broken or Risky Cryptographic Algorithm
Ltd Cross-Site Request Forgery (CSRF)
DiD Race Condition
Mod DiD Mod Unrestricted Upload of File with Dangerous Type
DiD Download of Code Without Integrity Check
Mod Mod Ltd URL Redirection to Untrusted Site (‘Open Redirect’)
Ltd DiD Mod Incorrect Permission Assignment for Critical Resource
Mod Ltd DiD Improper Check for Unusual or Exceptional Conditions
Ltd DiD Ltd Allocation of Resources Without Limits or Throttling
DiD High Mod Use of Hard-coded Credentials
Mod DiD Ltd Buffer Access with Incorrect Length Value
Mod DiD Mod Mod Reliance on Untrusted Inputs in a Security Decision

Самая опасная ошибка синего экрана смерти: причины возникновения и методы решения проблемы

Введение

Ошибка синего экрана смерти (BSOD) является одной из самых страшных и опасных ошибок, с которыми может столкнуться компьютер. Она проявляется в виде выдачи синего экрана с информацией об ошибке и приводит к автоматической перезагрузке системы. В некоторых случаях, ошибка может вызывать потерю данных или даже поломку компьютера. Самая опасная и неприятная ошибка синего экрана смерти известна как «смертельная ошибка» (fatal error) и требует быстрого действия для предотвращения негативных последствий.

Причины возникновения ошибки

  1. Проблемы с аппаратной частью: Ошибка синего экрана смерти может возникать из-за проблем с аппаратным обеспечением компьютера, таких как неисправность оперативной памяти, процессора или жесткого диска. Неправильное подключение или несовместимость аппаратного обеспечения также может привести к возникновению ошибки.
  2. Проблемы с драйверами: Установленные на компьютере драйверы могут быть устаревшими или несовместимыми с операционной системой. Это может вызвать ошибку синего экрана смерти при работе с определенным программным обеспечением или при выполнении определенных операций.
  3. Проблемы с операционной системой: Некорректная установка операционной системы или наличие вредоносных программ может привести к сбою системы и вызвать ошибку синего экрана смерти.
  4. Проблемы с программным обеспечением: Некоторые программы могут содержать ошибки, которые могут вызвать сбои в системе и привести к появлению ошибки синего экрана смерти.

Методы решения проблемы

  1. Проверка аппаратного обеспечения: Первым шагом в решении проблемы является проверка аппаратного обеспечения компьютера. Это включает проверку оперативной памяти с использованием специальных инструментов, тестирование жесткого диска и обнаружение неисправностей в остальных компонентах. Если обнаружены проблемы с аппаратурой, то необходимо заменить или отремонтировать поврежденные компоненты.
  2. Обновление драйверов: Необходимо обновить все драйверы компьютера, чтобы устранить возможные проблемы совместимости или устаревших версий. Это можно сделать путем поиска последних версий драйверов на официальных веб-сайтах производителей аппаратного обеспечения или использованием программного обеспечения для обновления драйверов.
  3. Проверка и восстановление операционной системы: Если проблема вызвана ошибками в операционной системе, то необходимо провести проверку целостности файлов системы и выполнить ремонт или переустановку операционной системы при необходимости.
  4. Удаление вредоносного программного обеспечения: Перед проведением восстановительных работ необходимо проверить компьютер на наличие вредоносных программ. Если компьютер заражен, следует использовать антивирусное программное обеспечение для удаления вредоносных программ и восстановления нормальной работы системы.
  5. Отключение неправильно работающего программного обеспечения: Если определенное программное обеспечение вызывает ошибку синего экрана смерти, его следует временно отключить или удалить, пока не будет найдено решение проблемы. После этого можно попробовать переустановить программу или найти альтернативные решения.

Заключение

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

Понравилась статья? Поделить с друзьями:
  • Самые масштабные ошибки инженеров
  • Самые распространенные ошибки при ремонте квартиры
  • Самые распространенные ошибки начинающего водителя
  • Самые распространенные ошибки при оказании первой помощи
  • Самые распространенные ошибки при обучении чтению