Pull to refresh

Comments 15

Автор, пара моментов.
1) конечные автоматы — самый простой вариант. См. vimeo.com/18091813
2) формальные методы позволяют доказать корректность программы в определённом домене. И это не «недостаток» формальных методов, а то, чем они отличаются от магии.
1. Конечно. Я специально выбрал самый простой вариант.
2. Конечно. Я говорю не о недостатках, а об ограничениях. Просто надо понимать, что мы можем, и что не можем получить, используя ту или иную методику.
2. Просто вот это — «любая модель может дать не больше того, что в нее изначально заложено.» — является тавтологией. Наверняка вы хотели сказать, что любой метод верификации в общем случае упирается в некоторую математическую проблему вроде задачи достижимости состояния, теоремы Гёделя о неполноте, проблемы останова и пр., но сказали совсем другое :)
Хотя вру, вы писали скорее о том, что невозможно верифицировать «все свойства» программы, а не о математических проблемах.
Да, фраза «любая модель может дать не больше того, что в нее изначально заложено» — не строгое математическое утверждение.
Это действительно о том, что мы не можем верифицировать все. Мы изначально должны заложить какие-то предположения. И от того, какие именно предположения мы заложим в модель, в существенной степени зависят наши выводы.
«Если вы не нашли ошибок в своей программе — поищите в компиляторе и в ОС» © кто-то
Собственно, на этом месте можно завершать умные картинки с путями атак и рассуждением про математику.

До тех пор, пока вопрос «узязвимо или нет» будет находиться в полной зависимости от мнения человека (не в зависимости от _действий_ человека, а от его мировоззрения), то воспринимать эту область можно только в категории алхимии. Которая иногда делает вещи, похожие на правду, иногда несёт чушь, но всё это — лишь личные убеждения (вера) людей.

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

Почему? Потому что сгоревший порох «холодный и сухой» и его нужно уничтожить «жидким и горячим».

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

С безопасностью так же. Возможно, если мы не имеем возможности строить конструктивные утверждения («не существует метода»), то нужно менять всю область? Переходить к другим утверждениям, для которых были бы возможны критические эксперименты?
Значит ли это, что пока мы не найдем в области безопасности нечто абсолютное, мы должны ничего не делать?
Защита информации — это противодействие интеллектуальному противнику. Противник изучает нашу систему, ищет пути обхода нашей защиты. Он может быть личностью очень творческой, и очень-очень интеллектуальной. Он может быть Мастером своего дела. И я его за все за это уважаю.
Но это не значит, что мы должны отказываться от противодействия ему. Мы, со своей стороны, изучаем его, изучаем его методы нападения, думаем, что мы можем ему противопоставить. Он может выиграть. Но выиграть можем и мы.
Есть очень сильные игроки. Им мы обязательно проиграем. Надо понимать, что они есть. Надо стараться не играть с такими.
Но чем мы интеллектуальнее, чем больше мы знаем, чем у нас больше ресурсов, тем таких игроков становится меньше.
Мы, со временем, можем стать Мастерами. Но на всякого мастера всегда может найтись другой Мастер. К этому надо быть готовыми.
Я же сказал — если в сконструированной модели процесса невозможно делать строгих конструктивных утверждений, то следует просто поменять модель процесса.

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

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

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

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

С другой стороны, мы и в области безопасности накапливаем опыт, узнаем пределы возможностей по нападению, разрабатываем меры защиты от них. Компьютеры, средства защиты, сейчас уже совсем не такие, какими я их увидел в 1984 году, поступив на физ. фак. МГУ. За это время средства безопасности прошли большой путь. Обойти защиту уже не так просто.

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

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

Почему? Потому что многие термины полны эмоциональной (этической?) оценки.

Например, фраза «обойти защиту уже не так просто». Что такое «защита»? Что значит «просто»?

Терминология области показывает, что начиная с какого-то уровня исчезает объективная составляющая, которая замещается субъективной оценкой (вы про это и написали — мнение эксперта о возможности/невозможности чего-то).

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

Собственно, я хочу сказать, что «экспертная позиция» — это самая слабая форма развития, какую только можно выдумать. Вместо объективных показателей — субъективные экспертные оценки. Да, такая методология может применяться в условиях ужасающего незнания. Но если в медицине это вызвано объективным фактором: мы не знаем как это устроено, то в computer science подобный подход — признак слабой теории (теории того, что создал человек!).
Да, экспертная позиция — уязвимая позиция. Физика, математика — науки точные.

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

Только одна проблема — существовало небольшое количество экспериментальных данных, которые не укладывались в красивую картину. И эти «шероховатости» привели к тому, что в начале XX века физику потрясли новые открытия.

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

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

С вами очень интересно говорить, это вы делаете очень хорошо. Иногда вы задаете очень интересные вопросы.

Но сейчас, к моему сожалению, наш разговор зашел в тупик.

Напишите что-нибудь конструктивное. Например, предложите хотя бы набросок схемы, как можно проводить анализ уязвимостей без участия экспертных оценок, напишите статью. После этого можно будет продолжать разговор. Я пишу это почти без иронии. Может вы и сделаете то Большое Открытие, про которое я пишу в «Выводах».
Я уже предложил, что делать — менять терминологию предметной области так, чтобы не формулировать непроверяемые утверждения.
Sign up to leave a comment.

Articles