Не думай о вероятностях свысока
От: Michael7 Россия  
Дата: 09.02.13 13:46
Оценка: 36 (6)
По результатам этой статьи: http://www.ixbt.com/optical/magia-chisel.shtml

Очень кратко суть: однажды на форуме ixbt заметили очень странную штуку, что оказывается есть файл, который, если записать его на CD-R(W) на большом количестве приводов потом нормально не считывается и это не связано с качеством болванки и записи, а только с уникальной сигнатурой внутри.

Причем ошибка чтения такого диска происходит в любых ОС и с любыми драйверами.

Я удивлен, но в 2003-м году еще не перевились настоящие спецы и багу раскопали. Проблема оказалась в том, что в очень уникальном случае эта сигнатура при записи на CD-R совпадает с сигнатурой для сектора синхронизации и происходит сбой. Видимо, те кто писал прошивки к приводам дисков, полагали, что раз вероятность совпадения настолько низкая, что за все время существования cd-rom технологии она может не встретиться, то и принимать меры на столь потенциально редкий случай не стоит. Обезьяны не напечатают случайно барабаня по клавишам "Войну и Мир".

Тонкая ошибка в рассуждениях здесь заключалась в том, что действительно вероятность случайно встретить специфическую последовательность байт невелика, но она может возникнуть и неслучайно! Конкретно в той статье она возникла из-за поломки привода, который выдал синхропоследовательность вместо данных на диске. И вероятность такой поломки оказалась не так и мала.

Мораль сей басни такова: даже если некое событие имеет чрезвычайно низкие шансы встретиться, но не вовсе невозможно, в хорошей программе, стоит предусмотреть реакцию на него. Хотя бы потому что с оценкой шансов можно и ошибиться, причем так, что в голову не придет.
Re: Не думай о вероятностях свысока
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.02.13 23:38
Оценка:
Здравствуйте, Michael7, Вы писали:

M>По результатам этой статьи: http://www.ixbt.com/optical/magia-chisel.shtml


M>Очень кратко суть: однажды на форуме ixbt заметили очень странную штуку, что оказывается есть файл, который, если записать его на CD-R(W) на большом количестве приводов потом нормально не считывается и это не связано с качеством болванки и записи, а только с уникальной сигнатурой внутри.

Спасибо за статью.

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


Вывод неверный. В первую очередь нужно сосредоточиться на основных сценариях в приложении, которые возникают в 80%+ случаев. Те сценарии, которые возникают в 0.00001% случаев можно просто игнорировать. При появлении проблем просто поправить, ведь большая часть софта умеет обновляться проще, чем алгоритм записи дисков в CD-приводах.
Re: Не думай о вероятностях свысока
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 10.02.13 12:15
Оценка:
Здравствуйте, Michael7, Вы писали:

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


Еще веселее получается, когда разработчик, считая какую-либо величину случайной, строит поверх нее защищенность своего приложения. Из последнего: http://habrahabr.ru/company/pt/blog/149746/
... << RSDN@Home 1.2.0 alpha 5 rev. 66>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Не думай о вероятностях свысока
От: __kot2  
Дата: 10.02.13 19:40
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Еще веселее получается, когда разработчик, считая какую-либо величину случайной, строит поверх нее защищенность своего приложения. Из последнего: http://habrahabr.ru/company/pt/blog/149746/
это баян еще времен первого нетскейпа
Re[2]: Не думай о вероятностях свысока
От: Pavel Dvorkin Россия  
Дата: 11.02.13 10:29
Оценка: 1 (1) +2
Здравствуйте, gandjustas, Вы писали:


G>Вывод неверный. В первую очередь нужно сосредоточиться на основных сценариях в приложении, которые возникают в 80%+ случаев. Те сценарии, которые возникают в 0.00001% случаев можно просто игнорировать. При появлении проблем просто поправить, ведь большая часть софта умеет обновляться проще, чем алгоритм записи дисков в CD-приводах.


It depends.

Не дай бог разработчики ПО для АЭС примут такую рекомендацию .
Для банков, впрочем, тоже.
With best regards
Pavel Dvorkin
Re: Не думай о вероятностях свысока
От: Pavel Dvorkin Россия  
Дата: 11.02.13 10:33
Оценка:
Здравствуйте, Michael7, Вы писали:

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


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

Впрочем, я не очень разбираюсь в физике CD-привода, поэтому допускаю, что иного выбора просто нет.
With best regards
Pavel Dvorkin
Re[3]: Не думай о вероятностях свысока
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.02.13 12:24
Оценка: -1 :))
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, gandjustas, Вы писали:



G>>Вывод неверный. В первую очередь нужно сосредоточиться на основных сценариях в приложении, которые возникают в 80%+ случаев. Те сценарии, которые возникают в 0.00001% случаев можно просто игнорировать. При появлении проблем просто поправить, ведь большая часть софта умеет обновляться проще, чем алгоритм записи дисков в CD-приводах.


PD>It depends.


PD>Не дай бог разработчики ПО для АЭС примут такую рекомендацию .

PD>Для банков, впрочем, тоже.

Ни те, ни другие этот форум не читают.
Re[4]: Не думай о вероятностях свысока
От: Pavel Dvorkin Россия  
Дата: 11.02.13 14:20
Оценка:
Здравствуйте, gandjustas, Вы писали:

PD>>Для банков, впрочем, тоже.


G>Ни те, ни другие этот форум не читают.


Я знаю по крайней мере одного человека с RSDN, который принимал (правда, небольшое) участие в написании ПО для банка. Хорошо его знаю
With best regards
Pavel Dvorkin
Re[5]: Не думай о вероятностях свысока
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.02.13 19:48
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, gandjustas, Вы писали:


PD>>>Для банков, впрочем, тоже.


G>>Ни те, ни другие этот форум не читают.


PD>Я знаю по крайней мере одного человека с RSDN, который принимал (правда, небольшое) участие в написании ПО для банка. Хорошо его знаю


Я тоже принимал участие в разработке по для банка, но это был не проессинг и для него верно то, что я написал.
Re: Не думай о вероятностях свысока
От: dilmah США  
Дата: 11.02.13 19:58
Оценка: +1
M>Мораль сей басни такова: даже если некое событие имеет чрезвычайно низкие шансы встретиться, но не вовсе невозможно, в хорошей программе, стоит предусмотреть реакцию на него. Хотя бы потому что с оценкой шансов можно и ошибиться, причем так, что в голову не придет.

как бы то ни было на нижних (железных и околожелезных) уровнях это неизбежно.

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

В твоем примере планируемая вероятность сбоя была видимо чрезвычайно низка и допустима.
Но из-за неправильной реализации она оказалась недопустимо высокой.
Скажем, если бы при записи привод шифровал информацию с новым сгенерированным паролем, то этого бы не произошло.
Но зато у такого решения были бы другие проблемы.
Re[3]: Не думай о вероятностях свысока
От: Sharowarsheg  
Дата: 11.02.13 20:31
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

G>>Вывод неверный. В первую очередь нужно сосредоточиться на основных сценариях в приложении, которые возникают в 80%+ случаев. Те сценарии, которые возникают в 0.00001% случаев можно просто игнорировать. При появлении проблем просто поправить, ведь большая часть софта умеет обновляться проще, чем алгоритм записи дисков в CD-приводах.


PD>It depends.


PD>Не дай бог разработчики ПО для АЭС примут такую рекомендацию .


Такую рекомендацию используют, скажем, разработчики железяк для самолетов, и, наверное, ПО тоже. У них правда пороги не 80%, а повыше, но тем не менее, у них есть понятие "очень редко встречающийся дефект".
Re[3]: Не думай о вероятностях свысока
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 12.02.13 04:04
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Не дай бог разработчики ПО для АЭС примут такую рекомендацию .

PD>Для банков, впрочем, тоже.

В банках порой качество внутреннего софта ниже плинтуса.
Re[2]: Не думай о вероятностях свысока
От: nikov США http://www.linkedin.com/in/nikov
Дата: 31.03.13 17:17
Оценка: +1 -2
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Еще веселее получается, когда разработчик, считая какую-либо величину случайной, строит поверх нее защищенность своего приложения. Из последнего: http://habrahabr.ru/company/pt/blog/149746/


После md5 можно дальше не читать.

MD5 should be considered cryptographically broken and unsuitable for further use
Re[3]: Не думай о вероятностях свысока
От: dilmah США  
Дата: 31.03.13 18:39
Оценка:
N>После md5 можно дальше не читать.

во-первых, там то же самое будет, если заменить md5 на sha-100500;
во-вторых, те атаки на md5 которые есть никак в данном случае не помогут.
Re[4]: Не думай о вероятностях свысока
От: nikov США http://www.linkedin.com/in/nikov
Дата: 31.03.13 19:19
Оценка:
Здравствуйте, dilmah, Вы писали:

N>>После md5 можно дальше не читать.


D>во-вторых, те атаки на md5 которые есть никак в данном случае не помогут.


Это не существенно. Никакой разработчик не может брать на себя ответственность определять, что какое-то конкретное использование md5 безопасно.
Re[5]: Не думай о вероятностях свысока
От: dilmah США  
Дата: 31.03.13 19:38
Оценка: -1
N>Это не существенно. Никакой разработчик не может брать на себя ответственность определять, что какое-то конкретное использование md5 безопасно.

zombie@ms detected
Re[3]: Не думай о вероятностях свысока
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 01.04.13 10:30
Оценка: +2
Здравствуйте, nikov, Вы писали:

N>После md5 можно дальше не читать.


Категоричность — враг разработчика. Почему тогда только после md5, а не сразу после PHP?

N>MD5 should be considered cryptographically broken and unsuitable for further use


Использование в генераторе сессионных токенов md5 не является фактором, определяющим успешность той конкретной атаки. Ошибка разработчиков PHP заключалась не в использовании этого алгоритма. А вот цитате из статьи в википедии же следовало бы звучать так: MD5 should be considered cryptographically broken and unsuitable for further cryptographic use.
... << RSDN@Home 1.2.0 alpha 5 rev. 66>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Не думай о вероятностях свысока
От: michael_isu Беларусь  
Дата: 01.04.13 10:57
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Не дай бог разработчики ПО для АЭС примут такую рекомендацию .

PD>>Для банков, впрочем, тоже.

DM>В банках порой качество внутреннего софта ниже плинтуса.


Софт бывает разный. Один бумажки учитывает, другой процессит платежи или управляет активами. В последних случаях одно неловкое движение и огребете по полной.
Re[2]: Не думай о вероятностях свысока
От: B0FEE664  
Дата: 03.04.13 10:02
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Вывод неверный. В первую очередь нужно сосредоточиться на основных сценариях в приложении, которые возникают в 80%+ случаев. Те сценарии, которые возникают в 0.00001% случаев можно просто игнорировать. При появлении проблем просто поправить, ведь большая часть софта умеет обновляться проще, чем алгоритм записи дисков в CD-приводах.


С точки зрения маркетинга — да, с точки зрения программиста — нет.
И каждый день — без права на ошибку...
Re[3]: Не думай о вероятностях свысока
От: Sinclair Россия https://github.com/evilguest/
Дата: 04.04.13 05:21
Оценка: +2
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Не дай бог разработчики ПО для АЭС примут такую рекомендацию .

PD>Для банков, впрочем, тоже.
О, Павел, вы, право же, переоцениваете банковский софт. Его глюкавость значительно выше среднего — по банальным причинам:
1. Во главу угла ставится вовсе не надёжность, а скорость обновления в ответ на быстроменяющиеся требования
2. Огромный объём функционала. Грубо говоря, для MS Word мы имеем примерно 500.000.000 пользователей. Даже если поделить их на ~1500 операций, доступных в ворде, и даже если учесть то, что самые редкие из них используются примерно на четыре порядка реже самых частых, мы всё ещё видим как минимум ежедневное использование каждой операции. Для банковского софта типична ситуация, когда количество возможных операций на порядок превышает количество пользователей. Тем более, что примерно 80% функций в нём делаются под запросы конкретного клиента.

3. Отсутствие возможности полного тестового покрытия. У типичного банка — терабайты данных; возможности "накатить апгрейд" на реальную базу и прогнать все регрессионные тесты нет даже в теории.
4. Низкая квалификация персонала. Из-за большого объёма работы, возможности держать маленькую сплочённую команду профессионалов нет; набирается народ с минимальными техническими познаниями, и после краткого натаскивания на используемые тулзы и библиотеки бросается в бой. Текучка кадров — значительная, т.к. задачи неинтересные, оплата невысокая, мораль — низкая.

В итоге, результат вполне предсказуем: низкокачественное ПО с огромным количеством ошибок.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.