Re[6]: Безопасность ОС. Можно ли решить кардинально?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 19.09.14 14:28
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


G>>Большая часть вирей эксплуатирует ошибки в браузере и ОС (особенно драйверов и протоколов). Если ошибки устранить и действительно каждый код сможет сделать только то, что ему разрешено (CBS), то проблем не будет.

G>>Но 100% отсутствия ошибок, особенно в браузере, не удалось добиться никому.
WH>Ты вообще читал, что такое Verve?
Вообще читал. Но в 100% отсутствие ошибок не верю все равно.
Re[6]: Безопасность ОС. Можно ли решить кардинально?
От: ononim  
Дата: 19.09.14 14:34
Оценка: +1
G>>Большая часть вирей эксплуатирует ошибки в браузере и ОС (особенно драйверов и протоколов). Если ошибки устранить и действительно каждый код сможет сделать только то, что ему разрешено (CBS), то проблем не будет.
G>>Но 100% отсутствия ошибок, особенно в браузере, не удалось добиться никому.
WH>Ты вообще читал, что такое Verve?
И как verve защитит от логических ошибок ?
Серебряных пуль не бывает.
Как много веселых ребят, и все делают велосипед...
Re[10]: Безопасность ОС. Можно ли решить кардинально?
От: Aleх  
Дата: 20.09.14 09:44
Оценка:
Здравствуйте, ononim, Вы писали:

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


Нужно сделать так, чтобы можно было выдавать фейковые права — то есть дать доступ к ресурсу-заглушке (должна быть возможность настроить заглушки). Например, если требуется доступ к адресной книге, выдавать приложению пустую книгу, если к фотокамере — черное изображение, к микрофону — отсутствие звука или какой-нибудь шум и тд.
Re[5]: Безопасность ОС. Можно ли решить кардинально?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.09.14 10:59
Оценка:
Здравствуйте, Andrew.W Worobow, Вы писали:

AWW>Из ПЗУ, например.


А каким образом они будут туда попадать?

AWW>Что касается внешних портов, то это простая задача, ну можно для начала считать что портов вовсе нет.


Это нерешаемая задача Ну, а если нет портов, то такой сферический компьютер в вакууме будет мало кому интересен.
... << RSDN@Home 1.2.0 alpha 5 rev. 76>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Безопасность ОС. Можно ли решить кардинально?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.09.14 11:03
Оценка:
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, kochetkov.vladimir, Вы писали:

WH>>>Verve OS

KV>>Что именно в Verve помешает распространяться вирусам? o_O
WH>Как устроить эскалацию привилегий через код который не может портить память?

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

WH>3)Для того чтобы приложения могли получать доступ к файлам за приделами своей папочки достаточно сделать так чтобы приложение могло попросить оболочку показать пользователю диалог открытия файла.

WH>То же самое касается drag&drop и copy&paste. Всё что нужно чтобы оболочка убедилась, что это делает пользователь руками. А не левый софт шалит.

А кто будет следить за тем, что данные пришедшие по сети не были подменены человеком посередине? Как быть с приложениями, поддерживающими плагины или функциональность которых требует обмена инфой с соседними без участия пользователя?
... << RSDN@Home 1.2.0 alpha 5 rev. 76>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[6]: Безопасность ОС. Можно ли решить кардинально?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.09.14 11:07
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


G>>Большая часть вирей эксплуатирует ошибки в браузере и ОС (особенно драйверов и протоколов). Если ошибки устранить и действительно каждый код сможет сделать только то, что ему разрешено (CBS), то проблем не будет.

G>>Но 100% отсутствия ошибок, особенно в браузере, не удалось добиться никому.
WH>Ты вообще читал, что такое Verve?

От XSS она не защитит ("немного" не тот уровень абстракции), а следовательно, атакующий уже может выполнить в контексте сайта/браузера/пользователя произвольный код. Для кражи данных онлайн-банкинга этого более чем достаточно.
... << RSDN@Home 1.2.0 alpha 5 rev. 76>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[7]: Безопасность ОС. Можно ли решить кардинально?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.09.14 11:07
Оценка:
Здравствуйте, ononim, Вы писали:

O>И как verve защитит от логических ошибок ?

O>Серебряных пуль не бывает.

Никак. Именно это и доказывается в тех работах, о которых я упоминал в самом начале.
... << RSDN@Home 1.2.0 alpha 5 rev. 76>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Безопасность ОС. Можно ли решить кардинально?
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 21.09.14 11:09
Оценка:
Здравствуйте, Sinix, Вы писали:

S>достаточно распространения софта только через доверенные каналы


...и данных, которые этот софт обрабатывает тоже. На этом сосбственно, идея абсолютно защищенного софта и заканчивается.
... << RSDN@Home 1.2.0 alpha 5 rev. 76>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[5]: Безопасность ОС. Можно ли решить кардинально?
От: Sinix  
Дата: 22.09.14 05:14
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

S>>достаточно распространения софта только через доверенные каналы

KV>...и данных, которые этот софт обрабатывает тоже. На этом сосбственно, идея абсолютно защищенного софта и заканчивается.

Угу, с этим никто не спорит вроде.
Только топик не про защищённость софта, а про безопасность ОС. Конкретно эта ветка — вообще про "усложнить жизнь вирусам". Песочница позволяет свести проблему до уровня "выполняем произвольный код в песочнице", что в принципе ничем не опаснее обычного вебсайта.
Re[4]: Безопасность ОС. Можно ли решить кардинально?
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.09.14 10:14
Оценка: +4
Здравствуйте, WolfHound, Вы писали:
WH>И теперь расскажи, как через это пролезет вирь?
Все известные мне витки спирали "вот теперь-то мы построили 100% защищённую систему" были основаны на одном и том же принципе: искусственное сужение понятия "малварь" до удобного авторам.
Например, уже 20 лет в стандартных гражданских ОС у процесса нет никакой возможности "испортить память" чужого процесса. Увы — 19 лет назад оказалось, что то определение вируса, с которым боролись в intel и вокруг, никому не интересно. Безо всякой порчи памяти чужого процесса вирусы приносят значительный ущерб, даже веся 20 мегабайт и будучи написанными на VBA.

Теперь у нас есть система, в которой in-proc компонент не может испортить память даже в пределах одного процесса. Ну и что?

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

Поэтому у меня крайне пессимистичные ожидания в этом направлении.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Безопасность ОС. Можно ли решить кардинально?
От: ononim  
Дата: 22.09.14 11:18
Оценка:
S>Поэтому у меня крайне пессимистичные ожидания в этом направлении.
Нужно эффективное тегирование памяти. Чтоб точно трекать происхождение каждого байта, имеющегося в системе. Ведь любая имеющаяся на компе информация — она либо введена юзером, либо взята извне. Соответственно если пометить лейблой каждый байт, можно будет отследить его родословную и принять решение при выходе этой информации за пределы компа — выпускать ее или нет.
Я както пытался сделать такой софтово — капец педалево вышло. Нужно чтобы архитектура (аппаратная или виртуальная машина) это эффективно поддерживала, скажем чтоб такая фигня работала быстро и автоматически выводила лейблы на памяти по типу:
входные условия
лейблы на входе:
edi - указывает на контент, скачанный с google.com
esi - указывает на контент, введенный юзером

mov eax, [edi] ;
mov ebx, [esi]
add eax, ebx
mov [edi], eax 

лейблы на выходе:
edi - указывает на контент, скачанный с google.com и подредактированный юзером
esi - указывает на контент, введенный юзером
Как много веселых ребят, и все делают велосипед...
Re[6]: Безопасность ОС. Можно ли решить кардинально?
От: Sinclair Россия https://github.com/evilguest/
Дата: 22.09.14 12:26
Оценка: +1
Здравствуйте, ononim, Вы писали:

S>>Поэтому у меня крайне пессимистичные ожидания в этом направлении.

O>Нужно эффективное тегирование памяти. Чтоб точно трекать происхождение каждого байта, имеющегося в системе. Ведь любая имеющаяся на компе информация — она либо введена юзером, либо взята извне. Соответственно если пометить лейблой каждый байт, можно будет отследить его родословную и принять решение при выходе этой информации за пределы компа — выпускать ее или нет.
Вы прежде чем педалить — ответьте в общих чертах, каким образом это вообще поможет бороться с малварью?
Не говоря уже о том, что на каждый байт "памяти" придётся хранить мегабайт "лейблов".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Безопасность ОС. Можно ли решить кардинально?
От: ononim  
Дата: 22.09.14 12:45
Оценка: :)
S>>>Поэтому у меня крайне пессимистичные ожидания в этом направлении.
O>>Нужно эффективное тегирование памяти. Чтоб точно трекать происхождение каждого байта, имеющегося в системе. Ведь любая имеющаяся на компе информация — она либо введена юзером, либо взята извне. Соответственно если пометить лейблой каждый байт, можно будет отследить его родословную и принять решение при выходе этой информации за пределы компа — выпускать ее или нет.
S>Вы прежде чем педалить — ответьте в общих чертах, каким образом это вообще поможет бороться с малварью?
Очень просто — данные пришедшие с сайта Х не будут отправлены ни на какой сайт кроме того куда Х разрешил. Я уж не говорю какой простор для DRM — помимо источника, информацию можно помечать описанием того, что с ней вообще делать можно. В этом контексте задача по защите системных файлов решается вообще с полпинка — просто тегируем их информацию как не подлежащую изменению информацией ничьей, кроме источника microsoft.com. Любая запись в системный файл неправильного байтика — генерит суровый AV. Тоже самое с приложениями и их результатом — документами. Если документ помечен как final — любое изменение его данных ==> crash изменяющего кода. Если документ помечен как неотправляемый — send() не пройдет ибо драйвер сетевухи получит отлуп от DMA контроллера

S>Не говоря уже о том, что на каждый байт "памяти" придётся хранить мегабайт "лейблов".

Это отчасти так. Но лишь отчасти — данные в памяти таки кучкуются, и хранить лейблы лучше будет не per-byte, а per-region. Примерно так же, как сейчас организуется виртуальная память. Мегабайт тоже перебор — ассоциированное с памятью значение будет лишь уникальным идентификатором указывающим в некую базу, источников данных на самом деле не так уж много, вполне хватит, если идентификатор каждого будет дворд, то в мегабайт влезет 412144 источников. Вы уверены что у вас столько уникальных сайтов в хистори наберется?
Как много веселых ребят, и все делают велосипед...
Отредактировано 22.09.2014 13:16 ononim . Предыдущая версия . Еще …
Отредактировано 22.09.2014 12:46 ononim . Предыдущая версия .
Re[7]: Безопасность ОС. Можно ли решить кардинально?
От: WolfHound  
Дата: 22.09.14 14:24
Оценка:
Здравствуйте, ononim, Вы писали:

O>И как verve защитит от логических ошибок ?

O>Серебряных пуль не бывает.
Всё что я вижу это то, что авторы не написали ни одного теста для кода, который по-хорошему должен быть доказан.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: Безопасность ОС. Можно ли решить кардинально?
От: WolfHound  
Дата: 22.09.14 14:24
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>От XSS она не защитит ("немного" не тот уровень абстракции), а следовательно, атакующий уже может выполнить в контексте сайта/браузера/пользователя произвольный код. Для кражи данных онлайн-банкинга этого более чем достаточно.

Просто банки должны использовать что-то типа:
http://www.impredicative.com/ur/
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Безопасность ОС. Можно ли решить кардинально?
От: WolfHound  
Дата: 22.09.14 14:24
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Порча памяти здесь не причем. .NET-приложение, подверженное атакам, связанным с порчей памяти еще поискать надо. Но это не делает .NET приложения неуязвимыми, т.к. атаки на подобные уязвимости составляют около трети от числа всех ныне известных

А можно список других уязвимостей?

KV>А кто будет следить за тем, что данные пришедшие по сети не были подменены человеком посередине?

Алгоритм, который устанавливает защищённое от человека посередине соединение.
Уверен, ты знаешь несколько.

KV>Как быть с приложениями, поддерживающими плагины

1)Плагин при всём желании не сможет сделать больше, чем позволено приложению.
2)CBS легко позволяет посадить плагин в жестокую песочницу. Для этого просто достаточно дать плагину только то, что ему нужно. Остальное он никогда не получит.

KV>или функциональность которых требует обмена инфой с соседними без участия пользователя?

А можно пример?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Безопасность ОС. Можно ли решить кардинально?
От: Andrew.W Worobow https://github.com/Worobow
Дата: 22.09.14 15:25
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

AWW>>Из ПЗУ, например.


KV>А каким образом они будут туда попадать?


Ну самый простой ответ — либо на заводе, либо тот самый второй ЦПУ который только это и умеет будет туда записывать.

AWW>>Что касается внешних портов, то это простая задача, ну можно для начала считать что портов вовсе нет.


KV>Это нерешаемая задача Ну, а если нет портов, то такой сферический компьютер в вакууме будет мало кому интересен.


Да почему же — например отображение в память.
Не все кто уехал, предал Россию.
Re[8]: Безопасность ОС. Можно ли решить кардинально?
От: Sinclair Россия https://github.com/evilguest/
Дата: 23.09.14 05:37
Оценка:
Здравствуйте, ononim, Вы писали:

S>>>>Поэтому у меня крайне пессимистичные ожидания в этом направлении.

O>>>Нужно эффективное тегирование памяти. Чтоб точно трекать происхождение каждого байта, имеющегося в системе. Ведь любая имеющаяся на компе информация — она либо введена юзером, либо взята извне. Соответственно если пометить лейблой каждый байт, можно будет отследить его родословную и принять решение при выходе этой информации за пределы компа — выпускать ее или нет.
S>>Вы прежде чем педалить — ответьте в общих чертах, каким образом это вообще поможет бороться с малварью?
O>Очень просто — данные пришедшие с сайта Х не будут отправлены ни на какой сайт кроме того куда Х разрешил.
Хм. Ну вот, например, у меня сайт X — это фотошоп онлайн. Я правильно понимаю, что картинки, наредактированные этим сайтом, нельзя девать никуда, кроме жёстко прошитого списка сайтов?
Т.е. на facebook.com можно, а на facebook.ru — уже нельзя?
S>>В этом контексте задача по защите системных файлов решается вообще с полпинка — просто тегируем их информацию как не подлежащую изменению информацией ничьей, кроме источника microsoft.com.
O>Это отчасти так. Но лишь отчасти — данные в памяти таки кучкуются, и хранить лейблы лучше будет не per-byte, а per-region. Примерно так же, как сейчас организуется виртуальная память. Мегабайт тоже перебор — ассоциированное с памятью значение будет лишь уникальным идентификатором указывающим в некую базу, источников данных на самом деле не так уж много, вполне хватит, если идентификатор каждого будет дворд, то в мегабайт влезет 412144 источников. Вы уверены что у вас столько уникальных сайтов в хистори наберется?
А у кого будут права на запись в базу идентификаторов?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Безопасность ОС. Можно ли решить кардинально?
От: ononim  
Дата: 23.09.14 08:34
Оценка: 2 (1)
S>>>>>Поэтому у меня крайне пессимистичные ожидания в этом направлении.
O>>>>Нужно эффективное тегирование памяти. Чтоб точно трекать происхождение каждого байта, имеющегося в системе. Ведь любая имеющаяся на компе информация — она либо введена юзером, либо взята извне. Соответственно если пометить лейблой каждый байт, можно будет отследить его родословную и принять решение при выходе этой информации за пределы компа — выпускать ее или нет.
S>>>Вы прежде чем педалить — ответьте в общих чертах, каким образом это вообще поможет бороться с малварью?
O>>Очень просто — данные пришедшие с сайта Х не будут отправлены ни на какой сайт кроме того куда Х разрешил.
S>Хм. Ну вот, например, у меня сайт X — это фотошоп онлайн. Я правильно понимаю, что картинки, наредактированные этим сайтом, нельзя девать никуда, кроме жёстко прошитого списка сайтов?
S>Т.е. на facebook.com можно, а на facebook.ru — уже нельзя?
Ну вот зачем сразу утрировать и пытаться свести к абсурдности? В стандартном DACL вы тоже перечисляете всех и каждого или там еще группы есть?

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

O>>Это отчасти так. Но лишь отчасти — данные в памяти таки кучкуются, и хранить лейблы лучше будет не per-byte, а per-region. Примерно так же, как сейчас организуется виртуальная память. Мегабайт тоже перебор — ассоциированное с памятью значение будет лишь уникальным идентификатором указывающим в некую базу, источников данных на самом деле не так уж много, вполне хватит, если идентификатор каждого будет дворд, то в мегабайт влезет 412144 источников. Вы уверены что у вас столько уникальных сайтов в хистори наберется?
S>А у кого будут права на запись в базу идентификаторов?
У ядра оси, разумеется. Тут — полная аналогия с системой виртуальной памяти.
Заранее сразу отвечаю на пару вопросов:
1) Ядро оси никто не сможет модифицировать, окромя тех кому можно (а можно — информации, созданной производителем оси).
2) ДА. Это получится очень анально огороженная архитектура.
3) _Можно_ развить концепцию до еще более анально огороженной trusted hardware platform:
3.а) Писать в базу идентификаторов сможет только железо (зашитая в нем фирмварь)
3.б) Сетевые адаптеры должны аппаратно поддерживать SSL. Любая входящая по сети информация должна автоматически тегироваться группами, прописанными в сертификате другой стороны. Если не SSL — значит группа anonymous.
3.в) У пользователя системы должен быть личный сертификат, с помощью которого клава/мышь/тач так же будут тегировать весь его ввод, с возможностью криптографической его верификации в случае необходимости (банковская транзакция, заказ авиабилета, пост в КЫВТ...)
Как много веселых ребят, и все делают велосипед...
Re[10]: Безопасность ОС. Можно ли решить кардинально?
От: Sinclair Россия https://github.com/evilguest/
Дата: 23.09.14 09:26
Оценка:
Здравствуйте, ononim, Вы писали:
O>Ну вот зачем сразу утрировать и пытаться свести к абсурдности? В стандартном DACL вы тоже перечисляете всех и каждого или там еще группы есть?
Стандартный DACL, как мы знаем, от малвари защищает чуть меньше, чем никак.
Поэтому я и пытаюсь понять, что именно делается.

S>>А у кого будут права на запись в базу идентификаторов?

O>У ядра оси, разумеется. Тут — полная аналогия с системой виртуальной памяти.
O>Заранее сразу отвечаю на пару вопросов:
O>1) Ядро оси никто не сможет модифицировать, окромя тех кому можно (а можно — информации, созданной производителем оси).
O>2) ДА. Это получится очень анально огороженная архитектура.

O>3) _Можно_ развить концепцию до еще более анально огороженной trusted hardware platform:

O>3.а) Писать в базу идентификаторов сможет только железо (зашитая в нем фирмварь)
O>3.б) Сетевые адаптеры должны аппаратно поддерживать SSL. Любая входящая по сети информация должна автоматически тегироваться группами, прописанными в сертификате другой стороны. Если не SSL — значит группа anonymous.
O>3.в) У пользователя системы должен быть личный сертификат, с помощью которого клава/мышь/тач так же будут тегировать весь его ввод, с возможностью криптографической его верификации в случае необходимости (банковская транзакция, заказ авиабилета, пост в КЫВТ...)
Это всё малоинтересные подробности.
Давайте поймём простую вещь: вот у меня есть, допустим, авиабилет, купленный на сайте аэрофлота. У меня, допустим, есть приложение А — "календарь", с разрешением синхронизоваться с моим смартфоном. Для упрощения предположим, что это — веб приложение, т.е. просто другой сайт. Есть сценарий "добавить данные авиабилета в календарь". Естественно, мы предполагаем, что само приложение календаря было разработано независимым вендором через пять лет после того, как сайт аэрофлота был запущен.
Что должен сделать и кто чтобы разрешить пользователю выполнить этот сценарий?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.