Построение безопасной системы из небезопасных компонентов.
Модератор: Модераторы разделов
Построение безопасной системы из небезопасных компонентов.
Только сразу просьба не уходить в сторону оффтопа.
В общем ситуация такая:
как можно сделать систему максимально безопасной зная что все её компоненты не надежны и им нельзя доверять? В том числе (и даже в первую очередь) нельзя доверять двум ключевым компонентам - ядру и библиотеке си. Их пишут обычные люди которым могут, а кому-то уже сделали предложение от которого нельзя отказаться. Мы не можем сами все переписать с "0" значит нужно что-то придумать. Полная безопасность конечно не достижима, но мы тоже можем что-то сделать и где-то затруднить атаку против нас. Вопрос что и как мы это можем сделать?
В общем ситуация такая:
как можно сделать систему максимально безопасной зная что все её компоненты не надежны и им нельзя доверять? В том числе (и даже в первую очередь) нельзя доверять двум ключевым компонентам - ядру и библиотеке си. Их пишут обычные люди которым могут, а кому-то уже сделали предложение от которого нельзя отказаться. Мы не можем сами все переписать с "0" значит нужно что-то придумать. Полная безопасность конечно не достижима, но мы тоже можем что-то сделать и где-то затруднить атаку против нас. Вопрос что и как мы это можем сделать?
- /dev/random
- Администратор
- Сообщения: 5289
- ОС: Gentoo
Re: Построение безопасной системы из небезопасных компонентов.
Если аудит кода вам не по карману, то остаётся только надеяться на принцип "больше глаз - меньше ошибок".
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Построение безопасной системы из небезопасных компонентов.
* провести аудит кода
* открыть исходники и пригласить сообщество к разработке
* добавляем unit-тесты
Долго думал над этим предложением. Вообще-то... именно ядру и библиотеке Си можно доверять больше всего. Либо я Вас не понял (похоже, что тут проблема с запятыми).
Ядро и библиотечные функции Си пишут не совсем "обычные люди". Разработчики, занимающиеся этими компонентами, это как правило профессиональные программисты. И что за предложение?
Для начала опишите хотя бы в общих чертах систему, стабильность работы которой Вы хотите повысить.
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Построение безопасной системы из небезопасных компонентов.
max100
http://russian.joelonsoftware.com/Articles...stractions.html
http://russian.joelonsoftware.com/Articles...stractions.html
QUOTE писал(а):Волшебство же состоит в том, что TCP основан на IP. Иными словами, TCP обязуется работать надёжно, используя лишь ненадёжные детали.
Re: Построение безопасной системы из небезопасных компонентов.
Если аудит кода вам не по карману
Конечно не по карману, а с верой и надеждой это в церковь нужно, а не на тех. форум.
Долго думал над этим предложением. Вообще-то... именно ядру и библиотеке Си можно доверять больше всего. Либо я Вас не понял (похоже, что тут проблема с запятыми).
Ядро и библиотечные функции Си пишут не совсем "обычные люди". Разработчики, занимающиеся этими компонентами, это как правило профессиональные программисты.
Речь не идет о надежности, я говорю о "безопасной системе" которой хоть немного можно доверять. И у меня нет никаких разумных оснований доверять всем разработчикам ядра, чей код работает в моем kernel. Такая же фигня с libc.
Я думал понятно что речь о тотальном шпионаже всех за всеми, когда каждого разработчика/компанию могут принудить по закону или подкупить или шантажировать. И мы больше не можем полагаться на магическое слово Open source, это не дает никаких реальных гарантий.
Re: Построение безопасной системы из небезопасных компонентов.
надо дублировать системы и людей отвественные за технологические процессы. Например, мы не можем доверять циско, так как его могут обязать встроить бэкдоры именно для нашей организации. Значит надо мониторить трафик с свитча, иметь на складе 5 разных фирм на замену свитчей )и менять при первой необходимости), а также иметь людей которые мониторят трафик. И куча организационных моментов, например, давать премию за найденные проблемы в безопасности, менять работников по объектам через какое то время и т.п. Если бы я по блату залез в отдел ИТ безопасности какой либо аэс - я бы начинал копать отсюда. Но было бы куча всего еще...
зы
а где фраза, покупайте продукцию майкрософт?
зы
И мы больше не можем полагаться на магическое слово Open source
а где фраза, покупайте продукцию майкрософт?
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Построение безопасной системы из небезопасных компонентов.
А тут третьего не дано. Либо Вы покупаете ИБ-специалиста, либо верите в аудит кода со стороны, к примеру, сообщества.
max100 писал(а): ↑09.08.2013 16:22Долго думал над этим предложением. Вообще-то... именно ядру и библиотеке Си можно доверять больше всего. Либо я Вас не понял (похоже, что тут проблема с запятыми).
Ядро и библиотечные функции Си пишут не совсем "обычные люди". Разработчики, занимающиеся этими компонентами, это как правило профессиональные программисты.
Речь не идет о надежности, я говорю о "безопасной системе" которой хоть немного можно доверять. И у меня нет никаких разумных оснований доверять всем разработчикам ядра, чей код работает в моем kernel. Такая же фигня с libc.
Ни одна система не даст Вам 100% гарантий. Повысить безопасность системы можно только глубоким пониманием процессов, выполняющихся в этой системе.
Магическое слово, а точнее словосочетание - это Free Software, а не Open Source
В ядро системаы, которая по праву считается самой безопасной в мире (OpenBSD), были помещенны закладки. Сейчас их оттуда убрали, но 100% гарантий ее безопасности Вам все равно никто не даст
Вы запрограммировать что-то хотите, или это вопрос о настройке сети?
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Re: Построение безопасной системы из небезопасных компонентов.
Почему бы не посмотреть глубже? Топикстартер доверяет коду BIOS/UEFI? А зря, этот код в ППЗУ записывают вообще неизвестные китайцы, одержимые стремлением к мировому господству
Вообще-то шутки шутками, но бывает...
Вообще-то шутки шутками, но бывает...
Re: Построение безопасной системы из небезопасных компонентов.
Позволю себе цитатку
По ...[шандарахнутости] с кацапами сравнимы только китайцы, но китайцы сидят тихо. Потому что китайцы негромко 'прутся' себе по-китайски, на всё плотно 'забив'.
- drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
- Контактная информация:
Re: Построение безопасной системы из небезопасных компонентов.
а при чём тут надёжность? Надёжная и безопасная система это деление на ноль.
Ну КаГБэ код ядра и libc УЖЕ проверен. Да, именно так, САМИМ проверен. У НЕГО есть бюджет на аудит.
1. 100% гарантии даёт только морг.
2. Я лучше буду доверять OpenSource, странное поведение которого я всегда могу изучить.
Re: Построение безопасной системы из небезопасных компонентов.
а где фраза, покупайте продукцию майкрософт?
Это еще в 100 раз хуже.
Топикстартер доверяет коду BIOS/UEFI?
Нет, никому же нельзя доверять.
Re: Построение безопасной системы из небезопасных компонентов.
Вот и до ядра добрались
до стандартов и реализаций
http://www.mail-archive.com/cryptography@m...m/msg12325.html
изучайте теперь, может еще что странное найдете
до стандартов и реализаций
http://www.mail-archive.com/cryptography@m...m/msg12325.html
Я лучше буду доверять OpenSource, странное поведение которого я всегда могу изучить.
изучайте теперь, может еще что странное найдете
- drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
- Контактная информация:
Re: Построение безопасной системы из небезопасных компонентов.
...не работает. Да, ВНЕЗАПНО он нужен только при загрузке. Причём в однозадачном режиме, в котором оно может только первичный загрузчик lilo загрузить. В принципе. Это я про BIOS.
что значит "ещё"? Вы меня ни с кем не спутали?
Re: Построение безопасной системы из небезопасных компонентов.
Слишком красиво, чтобы быть правдой. Тем не менее, ядро в отдельных случаях грешит вызовом кода BIOS, увы. См. apm, acpi, call_pnp_bios() и т.п. Кроме того, сервера обычно имеют средства мониторинга, работающие параллельно с и независимо от ОС.
- drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
- Контактная информация:
Re: Построение безопасной системы из небезопасных компонентов.
не то чтобы "красиво", а скорее упрощённо. Ну да, всякие apm таки вызываются, согласен. Вы тоже думаете, что это повод для паранойи? Я так считаю, что будет сложновато встроить следящий код в BIOS-apm так, что-бы он абсолютно прозрачно работал на _любых_ ядрах, и Linux и Win. Вангую, что если не будет прозрачно работать, то начнут копать. И таки вскроют. И если это будет не какой-нибудь никому не нужный noname, а скажем ASUS, то последствия будут глобальными... Я что-то очень сомневаюсь, что ASUS на такое пойдёт, ведь код в BIOS может прочитать кто угодно. Это вам не гугл, в котором отслеживание/шпионаж зарыто на стороне сервера.
-
- Сообщения: 954
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: Построение безопасной системы из небезопасных компонентов.
Не забываем, что есть вещи, которые исполняются "ниже" ОС. Посмотрите на встроенный IPMI intel'а, и поймёте, о чём я.
Это - бэкдор. Явный.
Но тысячам пофиг. Ибо intel не может желать нам зла, да...
Это - бэкдор. Явный.
Но тысячам пофиг. Ибо intel не может желать нам зла, да...
С уважением,
Павел Алиев
Павел Алиев
Re: Построение безопасной системы из небезопасных компонентов.
Построение безопасной системы из небезопасных компонентов.
C умозрительной точки зрения все безопасные системы строятся из небезопсных компонентов. Небезопасные элементы одного компонента нивелируются безопасными элементами другого/других. И vice versa.
Отностися не только к окмпьютерам.
C умозрительной точки зрения все безопасные системы строятся из небезопсных компонентов. Небезопасные элементы одного компонента нивелируются безопасными элементами другого/других. И vice versa.
Отностися не только к окмпьютерам.
Re: Построение безопасной системы из небезопасных компонентов.
Ибо intel не может желать нам зла, да...
Кто теперь им поверит то?
I am so glad I resisted pressure from Intel engineers to let /dev/random rely only on the RDRAND instruction.
https://plus.google.com/1170913804547429340...sts/SDcoemc9V3J