Инструменты тестировщика
NIST пиарит набор утилит для тестирования исходников в том числе пару для криптографических протоколов. Но сразу оговаривается, что
[quote]DISCLAIMER: Certain trade names and company products are mentioned in the text or identified. In no case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology (NIST), nor does it imply that the products are necessarily the best available for the purpose.[/quote]
В любом случае какие-то критерии отбора в список не могут не быть. Хоть о них (критериях) достоверно не известно, но – это первый вопрос для обсуждения.
Прогнав один и тот же код через разные анализаторы, можно получить разные результаты. Пишите, плз, об известных вам инструментах. Желательно с инструкцией о том, как ими пользоваться.
http://samate.nist.gov/index.p.....urity_Analyzers.html[link1]
Ссылки
[link1] http://samate.nist.gov/index.php/Source_Code_Security_Analyzers.html
[link2] http://ntt.cc/2011/02/01/6-abnormal-neurotic-hello-world-programs-written-in-c.html
[link3] http://typeocaml.com/2015/11/22/visualise_random/
[link4] https://www.pgpru.com/comment94337
[link5] http://www.jakoblell.com/blog/2013/12/22/practical-malleability-attack-against-cbc-encrypted-luks-partitions/
[link6] https://www.pgpru.com/comment94460
Глядя на эту тему, укрепляешься во мнении, что безопасность опенсоурс ничем не отличается от ПО с неизвестными исходниками (читай, с исходниками на дисассемблере). Массового тестирования не существует. Исправляются только те баги, которые проявляются явно. Непонятно только одно: фраза Keith Bostic "Perl – The only language that looks the same before and after RSA encryption" ещё неактуальна или уже неактуальна? Ладно, просто неактуальна. В любом случае, world’s hello[link2].
Это неправильное заключение, правильное — то, что открытости исходников самой по себе недостаточно для безопасности, хотя она этому способствует.
Зависит от конкретной программы: для некоторых существует, для других — нет. Чем менее популярен софт, тем, при прочих равных, он, скорей всего, менее безопасен.
Visualise Randomness[link3]
Автор прибедняется
Не смею надеяться, что специалисты доведут идею до ума, чтобы разговаривать об адекватном/неадекватном приходилось не на пальцах.
Случайность никогда не определялась на глазок, это просто наглядная демонстрация. То, что можно было довести до ума, давно доведено[link4] — скачивайте готовый софт и пользуйтесь. Не забывайте, что проверить числа на случайность, не зная метода их генерации, невозможно. Тесты ловят только обычные ненамеренные ошибки в генерации, а не тщательно скрытые бэкдоры.
Дельный совет для корпораций. Они так и делают в анализе своего кода: Майкрософт, например, использовала PREfast и PREfix. А криптография вообще не для того, чтобы в ней понимать кому попало. Ничего, что какой-то Вася ломал Винду как два пальца отряхнуть, на таких умельцев есть другие корпорации – производители антивирусов, теперь и в криптографии по вашей ссылке обнаружилось универсальное, идеальное средство с низким порогом вхождения. Зачетный пост с одной поправкой: я – не корпорация, себя обманывать не стану.
Алгоритмы проверки на случайность родом из научных публикаций — открывайте, читайте. Их имплементация в коде, так понимаю, имеет открытый исходный код. Хотите — изучайте его, ищите закладки или проблемы. Какое всё это имеет отношение к проприетарным продуктам с закрытым исходным кодом? Может быть, вы собираетесь пойти ещё дальше и начать изобретать свою криптографию с нуля, потому что там тоже приложили свою руку корпорации?
Вам про Фому, а Вы про Ерёму…
Выделю специально для pgprubot
Совет "открывайте, читайте", "изучайте его, ищите" совсем никак не канает. Это называется флейм, офтопик или ещё каким-то не хорошим словом, но в отличие от других аналогичных постов в других темах почему-то не удаляются.
Вот[link5], хоть какая-то инфа о том, как оно там крутится практически. А то – гладко было на бумаге, но забыли про овраги. Не на все 100% об этом[link6], но как инфа к размышлению
SATtva, а Вы сами-то эксперт или где? От теории 2005-го года до "practical malleability attack against" cbc в 2013 году прошло 8 лет и пальма первенства не Ваша. Слабо Вам выбрать другой тип атаки, которой подвержен cbc в теории, и не известна практически, чтобы реализовать её самостоятельно в образовательных целях? К утилитам шифрования как разновидности компьютерных программ в полной мере относятся слова Дейкстры: "Тестирование программ может служить для доказательства наличия ошибок, но никогда не докажет их отсутствия." Глупость – это будет, например, когда Вы не сможете реализовать атаку, но заявите, что там типа "всё адекватно".
Кажется, Вы не поняли. Ваша отсылка к атаке на CBC — это ровно то, что я имел в виду под неадекватными режимами шифрования. CBC при использовании в FDE подвержен fingerprinting/malleability-атакам, это давно известно, и сегодня никто в своём уме не использует CBC для дискового шифрования. Существует несколько режимов, [доказуемо] устойчивых к атакам этого типа.
Я осознано не нагружаю Вас предложением взламывать cmc, eme или xts. Это не тема форума. А вот cbc – это хороший полигон для доказательства своих экспертных знаний на практике. На деле же проходит очень много времени между предположением о возможности успешной атаки и её реализацией.
Это просто снобизм. Простой человек, пытаясь защитить свои данные, узнает, что использует не те алгоритмы шифрования, возможно, в самый не подходящий момент. Ведь он не обязательно сразу вычитает всё, что используют суровые
челябинскиешифровальщики. Да и понять всё правильно – очень сложно. Я вот, например, только совсем недавно узнал, что умалчивание эксперта [назначенного судом] об обстоятельствах, имеющих значение для дела, в экспертизе является разновидностью заведомо ложного заключения.p.s. ход мысли не понравится известной касте, но судья в суде – это тоже просто эксперт. Эксперт в области законодательства.
Почему делопроизводством в суде занимается народ без специального it-шного образования? Компьютерные науки не менее сложные, чем юриспруденция. Но тыкать кнопочки в Word’e не настолько сложно, как заниматься самозащитой своих прав в гражданском деле. Для применения компьютера на рабочем месте в офисе достаточно прочитать 100%-ный самоучитель или справочник листов на 200. Почему юриспруденцию не упростили до сих пор?
Потому, что это управленцы, а управление на этой планете везде так устроено. Мнение высказывают эксперты, но эксперты ничего не решают, но при этом не несут управленческих, политических и иных рисков. Роль управленцев (в частности — судей) — заслушать умных людей, со всем согласиться и поставить галочку под решением, которое последние предложили. Знать заранее ничего не нужно — эксперты с нуля всё объяснят и про компьютер и про IT применительно к ситуации. Как следствие, судью можно вообще заменить присяжными с улицы, а прочих управленцев — кухарками.
На каждое Ваше предложение в очередной раз возникают по несколько дополнительных вопросов с неочевидными ответами на них. Опять флейм, опять офтопик…
На самом же деле есть два ответа на поставленный мной вопрос – либо не хотят, либо не могут. В лицемерии не признаются. Следовательно, остается слабо. В контексте с обсуждаемыми в теме вопросами, этого достаточно для подтверждения аналогии. Или кто-то скажет, что они могут, но не хотят?
Почитайте судебные ордеры и практику делопроизводства в США, нет там ни тени компетентности в IT. ФБР морочит голову суду "мы изменили код таким образом, что" вместо прямого "мы хакнули" или "мы взломали". Чтобы замаскировать реальные действия, обозвали хак эвфемизмом NIT. Суд водят за нос, и он ест эту туфту за обе щёки.