BOMBERuss

BOMBERuss

https://www.bomberuss.ru/
Пикабушник
поставил 14251 плюс и 4227 минусов
отредактировал 192 поста
проголосовал за 218 редактирований
Награды:
С Днем рождения, Пикабу!5 лет на Пикабу редактирование тегов в 100 и более постах самый сохраняемый пост недели
159К рейтинг 326 подписчиков 93 подписки 640 постов 143 в горячем

Как один маленький баг угробил 28 американцев

Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

Интересную статью представил Самат Кудайбергенов на портале warhead. Он утверждает, что ни самая сильная армия в мире, ни штат программистов, ни новейшее вооружение не спасут от смерти, если в дело вмешаются математика и невнимательный кодер! Такая вот математическая оплошность в ЗРК Patriot привела к гибели пятой часть всех погибших американцев за всё время войны в Заливе.


Вот как это было...


Вечером 25 февраля 1991 года, уже под самый конец операции «Буря в пустыне», на американскую авиабазу в саудовском Дахране свалился иракский «Скад». Вот, казалось бы, причём здесь округление дробей?


Ракета разнесла казарму 475-го отряда квартирмейстерской службы армии США, ответственного за очистку воды. Взрыв убил 28 человек — это пятая часть всех погибших американцев за всё время войны в Заливе. Ещё около сотни получили ранения.


Последствия от попадания "скада"

Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

«Скад» был обнаружен радаром дежурной батареи зенитного ракетного комплекса Patriot, прикрывавшей Дахран. Ракету засекли… и ничего не сумели сделать. Осталось только наблюдать, как она валится на казарму.

Как выяснилось, вину за смерть 28 человек взял на себя софт зенитного комплекса.


Давай округлим это по-быстрому

Баг в нём был простой, как кирпич. Не баг даже, а математическая фича: разработчики и военные о ней знали, и все на неё плевали, как на чепуховину ничего не значащую.


Внутренний таймер ЗРК Patriot устроен как счетчик количества интервалов времени, прошедшего с момента включения системы. Длина такого интервала — 0,1 секунды. Чтобы перевести количество этих отрезков в секунды, его, понятное дело, нужно разделить на 10. Что для этого предложили разработчики? Естественно, умножить на 0,1.


В машинной арифметике деление часто подменялось умножением на обратное число, так было проще проектировать вычислительные устройства и работали они быстрее. Метод умножения на обратное число, к слову, стар, как сама математика: его применяли ещё в древнем Вавилоне.


Теперь вторая часть Марлезонского кодирования. Числа-то двоичные.


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


Поэтому бодрые наследники древнего Вавилона из корпорации Raytheon вместо десятичного 0,1 загнали в систему двоичное число 0,00011001100110011001100. Оно немногим меньше требуемых 0,1 — примерно на одну десятимиллионную. Вот на это число радостно и умножили, полагая, что проблема решена.

Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

Кодеры действительно были правы, когда клеили этот «лейкопластырь». При расчёте параметров движения цели система оперирует близкими значениями времени с единой и очень небольшой систематической погрешностью. Поэтому никаких проблем быть не должно. Ситуацию признали нормальной для использования в реальных условиях — и забили. В таком виде комплекс и приняли на вооружение в 1982 году.

Если вчера война

А дальше? Дальше Саддам Хусейн более не смог выносить собственной крутости в одиночку и решил поделиться ею с окружающими, захватив летом 1990 года Кувейт. Саддам пацан был мутный и дерзкий, но не папуас какой, а вполне упакованный. Имелись у него и оперативно-тактические ракеты, самостоятельно модернизированные, а также химическое оружие.


Весь этот арсенал создавал проблему. Потребовалось срочно переделывать батареи Patriot для Ближнего Востока, чтобы те могли перехватывать баллистические цели, идущие со значительной скоростью — 1700 м/с и больше. А это, считай, гиперзвук; и среди аэродинамических целей, под которые первые версии Patriot рассчитывались, такие скорости не встречаются. Им больше самолёты подавай или крылатые ракеты.

Евгений Башин-Разумовский, эксперт по историческим вопросам:
"В общей сложности на театре военных действий было развёрнуто 33 батареи Patriot. В том числе 22 батареи со 132 пусковыми установками — в Саудовской Аравии; четыре (из них две американские и две датские с 26 пусковыми установками) — в Турции; а начиная с 19 января, дополнительные силы ПВО были развёрнуты и в Израиле. Всего территорию Израиля прикрывали семь батарей: две израильские, четыре американские и одна датская, с 48 пусковыми установками."
Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

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


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


Вуаля! В системе завелось ДВА внутренних значения времени, используемых при расчёте РАЗНЫХ параметров. Различие между ними накапливалось тем сильнее, чем больше времени прошло с момента включения.


Теперь погрешности в математике ЗРК уже начали что-то решать, но об этом никто не думал. Потому что штатные проверки комплекса после переделки показывали, что всё ОК. Согласно программе испытаний: «Пункт 1: включили систему. Пункт 2: выставили режимы. Пункт 3: всё работает. Пункт 4: выключили. Переходим к следующему разделу».


Но никто не проводил «endurance test»: проверку на длительное дежурство на одном месте да против скоростных целей. А оно и зачем, если Patriot — это мобильный войсковой ЗРК для прикрытия боевых порядков? На одном месте ему по всем наставлениям стоять не следует, в том числе, в интересах собственной выживаемости.


Первыми за аномалию в работе комплекса зацепились не в США, а в Израиле. Развёртывающиеся боевые порядки страна прикрывать особо не собиралась, а вот собственная территория Израиль интересовала. Ну и по причине обычной национальной запасливости.


У ЗРК Patriot нет своих собственных накопителей для «логов» работы, поэтому комплексам полагались внешние. Но в армии США накопители не любили. Ходило вполне обоснованное мнение, что их софт какая-то очередная вавилонская ключница делала, и накопители периодически вешают всю систему. Поэтому операторы американских ЗРК на Ближнем Востоке их обычно не подключали, а вот в ЦАХАЛе всё сделали по инструкции.

Какой шлемазл это сделал?

Первые иракские «Скады» стартовали в сторону Израиля 18 января 1991 года. Израильские офицеры, однако, нашли время отсмотреть «логи». Уже 11 февраля от них в США прилетел первый «багрепорт»: после нескольких часов непрерывной работы ЗРК наблюдается необъяснимый дрейф параметров при переходе от режима обнаружения к сопровождению цели.


Радар при работе «на сопровождение» смотрит во вполне определенную узкую область пространства, где должна быть цель — так называемую «Range Gate Area», RGA. А ракета «Скада» быстрая, и надо чётко понимать, где она будет на следующем такте работы. Положение RGA определяется опережающим расчётом в зависимости от координат и скорости цели. А эта математика прямо завязана на точный отсчёт времени. А время у нас отсчитывается… ну, вы уже видели, как.

Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

И с каждым часом отсчитывается всё косячнее. Израильтяне увидели, что границы окна, обсчитанные на этом косячном времени, начали ехать. Цель уже не посередине RGA, а ближе к краю, за 8 часов смещение процентов на 20 от центра окна.


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


«Да ну, фигня, — отмахнулись генералы в Штатах. — У системы нормальный аптайм всего несколько часов. Зачем её вообще держать включённой постоянно? Ладно, по мере сил всё пропатчим и заапдейтим».

Надо заметить, что софтину ЗРК Patriot за тот нервный период с осени 1990 года перепатчивали уже аж шесть раз. Причем в пожарном порядке: надо было обучить аппарат противостоять иракским «Скадам» и «Аль-Хусейнам», и какая-то идиотская проблема многочасовой работы никого не волновала. Тем более, что накатывался один такой патч пару часов минимум, и всё это время комплекс должен стоять мёртвым куском железа. Кому это надо прямо во время войны?


Но 16 февраля патч таки написали и начали помаленьку ставить на комплексы. 21 февраля военное начальство, испытав нехорошее предчувствие в области собственных кресел, дополнительно разослало дежурную инструкцию для операторов ЗРК. Она состояла из одной фразы: не держите систему включённой «слишком долго», а то будут проблемы с захватом цели.

Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

Но сколько это — «долго» — до разъяснений не снизошли.


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


… Дежурная батарея «Альфа», принадлежавшая батальону, что прикрывал авиабазу Дахран, на вечер 25 февраля 1991 года имела аптайм больше четырёх суток. За этот период накопленная ошибка составляла уже 0,343 секунды. Для баллистической цели типа «Скада» это означало смещение центра RGA почти на 700 метров относительно реального положения ракеты. И это при габарите самого RGA около 300 метров.


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


Ракета «Скад» своё дело сделала.


А утром 26 февраля на Дахран приехали совершенно ничего не подозревавшие офицеры с накопителями. Они привезли… патч, исправляющий ошибку. Ну, просто по планам командования именно 26 февраля батарея «Альфа» должна была получить обновку. Раньше было никак: все борта на Ближний Восток забиты — всем что-то надо.


Борьба с дятлами


Дахранский «кейс» вошел во многие курсы по проектированию безопасных программных систем, некорректная работа которых может что-то сломать или кого-то убить.

Как один маленький баг угробил 28 американцев Война, Баг, Софт, Зрк Patriot, Ракета, Ирак, США, Склад

Во-первых, если вы склеили софт слюнями, и он заработал, отдавайте себе в этом отчёт. Умейте видеть пределы прочности ваших заплаток.


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


В-третьих, когда вы что-то исправляете в уже работающей системе, посмотрите на её устройство сверху и подумайте, как ваши действия отразятся на том, что она ДО ВАС делала ВРОДЕ БЫ нормально.


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


Антон Железняк, эксперт по техническим и инженерным вопросам:

"В общей сложности в ходе первой войны в заливе вооруженные силы Ирака запустили 88 ракет «Скад». 12 из них были выпущены по Израилю до развёртывания на его территории ЗРК Patriot, из 76 оставшихся 47 были обстреляны с расходом 158 зенитных ракет. При этом, по данным комиссии конгресса, только 86 ракет были запущены по реальным целям, а 72 — по ложным, либо по обломкам уже подбитых «Скадов», принятых за ракеты. Точное число сбитых «Скадов» оспаривается до сих пор, равно как и критерии подсчёта."

https://warhead'su/2018/01/21/ne-propatchili-kak-odin-malenkiy-bag-ugrobil-28-amerikantsev

Показать полностью 6

Программист разработал самовзрывающуюся «флешку»

Разработчик нашел способ модифицировать USB-накопитель таким образом, чтобы вызвать его взрыв после подключения к компьютеру.

Программист разработал самовзрывающуюся «флешку» Флешки, Взрыв, Вирус, Видео, Самоуничтожение, Длиннопост

Программист под псевдонимом MG сконструировал из обычного USB-накопителя самоуничтожающуюся «флешку» с возможностью установки вредоносного кода на компьютер жертвы.

В своем блоге MG подробно описал процесс создания устройства. USB-накопитель был модифицирован с помощью чипа ATtiny 85, позволяющего превратить обычную «флешку» в USB Rubber Ducky – специальное устройство, которое компьютер распознает как USB-клавиатуру. Данное устройство позволяет с легкостью внедрить вредоносный код на целевую систему.


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


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


Видео с демонстрацией работы устройства:

Кстати есть вариант с дымком:

https://www.securitylab.ru/news/491019.php

http://it-news.club/programmer-developed-samoupravlenia-stic...

Твиттер MG:

https://twitter.com/_MG_

Показать полностью 1 2

Что можно сделать из обычных болтов и гаек?

Обычные болты и гайки могут послужить материалом для изготовления оригинальной детали интерьера.
Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост
Вы только посмотрите, как классно сделана эта дверная ручка. Приятно смотреть на то, когда мастер берется за свое дело. Правильно говорят, что творческий человек найдет прекрасное во всем.
Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост
Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост
Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост
Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост
Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост

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

Что можно сделать из обычных болтов и гаек? Болт, Ручка, Интерьер, Фотография, Длиннопост
Показать полностью 7

53 года и до сих пор в пятом классе

Обожаю этих клавиатурных героев.

53 года и до сих пор в пятом классе Малолетки, 53 года, Брешет, Диванные войска

Сам навонял и сам в игнор добавил. В свои "53 года"... Устал бедненький говно бисер метать. Еще современными словами оперирует.

Сибиряков валенками обозвал.

Как-то так.

53 года и до сих пор в пятом классе Малолетки, 53 года, Брешет, Диванные войска

На минусы пох.

#comment_105185838

Показать полностью 2

Попытка повторить знаменитые фото

У культовых фотографий много копий, но запомнится та, что похожа на все и не похожа ни на одну.

Попытка повторить знаменитые фото Фотография, Повтор, Попытка, Копирование, Длиннопост

Когда живешь в холодных краях, у тебя мало шансов выглядеть стильно зимой. Тут харизмой надо брать.

Попытка повторить знаменитые фото Фотография, Повтор, Попытка, Копирование, Длиннопост
А спонсор этого фото — косметика «Морозко». «Морозко» — и в —50 ты выглядишь броско!
Попытка повторить знаменитые фото Фотография, Повтор, Попытка, Копирование, Длиннопост

Чувственные фото с подругой уже в прошлом, пора показать наконец всю суть женской дружбы.

Попытка повторить знаменитые фото Фотография, Повтор, Попытка, Копирование, Длиннопост

Хотя все это просто шутка))))))))


Баянометр ругался на битлов.

Показать полностью 4

Bitcoin Atom (BCA) начал торговаться на YoBit

Bitcoin Atom (BCA) начал торговаться на YoBit Форк, Yobit, Bitcoin Atom, Bca, Торговля, Биржа, Новости

Свежие новости подвезли.

Кто держал битки на йобите получили Bitcoin atom один к одному. Поздравляю любителей форков.

Т-технологии

Носимый кинотеатр Eagle
Т-технологии Технологии, Кинотеатр, Талоны, Подушка безопасности, Видео, Длиннопост

Домашние кинотеатры – вчерашний день. Компания Eagle предлагает переносной кинотеатр, который можно везде носить с собой.

Решение – очки с OLED-экранами диагональю 0,49 дюйма и разрешением 1280 x 720 точек, закреплённые на накладных наушниках. Картинка получается такой же, как на 80-дюймовом ТВ на расстоянии 3 м.


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

Автомат с талонами, на которых печатаются рассказы
Т-технологии Технологии, Кинотеатр, Талоны, Подушка безопасности, Видео, Длиннопост

Даже электронная очередь – это всё равно очередь, с талонами и долгим ожиданием. Чтобы это время пролетело быстрее, можно книжку почитать.

Но если книжку вы не взяли, автомат Short Story напечатает вам рассказ прямо на талончике. Можно выбрать длину рассказа (в минутах) и наслаждаться чтением.


Что ж, изобретение было бы актуально в России. Только, боюсь, вместо талонов приходилось бы выдавать рулоны.

Подушка безопасности для бедер Helite

Падать никто не любит. Особенно если это грозит переломом шейки бедра или синяком на все «вторые 90».

Чтобы предупредить такие травмы, компания Helite разработала подушку безопасности для бедер. Она надевается как широкий пояс и в нужный момент срабатывает – резко надувается и не даёт заработать перелом или синяк.


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

Выводы:

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

Показать полностью 1 1

Вся в маму

Скорее всего данная новость была на пикабу, но дело не в новости!

Вся в маму Мысли, Малолетние б, Тег для красоты, Диана Шурыгина

Тут простейшая математика начальных классов: 32-15

Похоже что девочке есть у кого учиться.


И да, видимо мама решила обеспечить дочери известность, как и всем известная Ш.


ПыСы: Просто рвет пукан!

Вся в маму Мысли, Малолетние б, Тег для красоты, Диана Шурыгина
Показать полностью 1
Отличная работа, все прочитано!