Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 10:41
Оценка:
Хочу поместить программу на сервер, но в ней есть секретные ключи.
1. Можно ли сделать так: все несекретную часть программы поместить на сервер, а ключи в файл dll, который оставить на своем клиентском ПК.
Они будут запрашиваться с клиентского ПК только один раз, а потом должны храниться в оперативке или могут каждый раз, когда нужны, связываться с клиентом? По какому типу соединения в таком случае будут запрашиваться ключи: безопасному ssh или другому?
2. Правильно ли понимаю, что если шифровать диск, то дополнительная обфускация не изменит дамп памяти и от дампа памяти защиты нет?
Re: Безопасное размещение программы на сервере
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.03.21 10:59
Оценка:
Здравствуйте, Passerby, Вы писали:

P>Хочу поместить программу на сервер, но в ней есть секретные ключи.

P>1. Можно ли сделать так: все несекретную часть программы поместить на сервер, а ключи в файл dll, который оставить на своем клиентском ПК.
P>Они будут запрашиваться с клиентского ПК только один раз, а потом должны храниться в оперативке или могут каждый раз, когда нужны, связываться с клиентом? По какому типу соединения в таком случае будут запрашиваться ключи: безопасному ssh или другому?
P>2. Правильно ли понимаю, что если шифровать диск, то дополнительная обфускация не изменит дамп памяти и от дампа памяти защиты нет?

Не очень понятно о чем ты вообще говоришь. Мне кажется природу не обманешь. Или ты отдаешь пользователям "секретные ключи", или нет.
Re: Безопасное размещение программы на сервере
От: RonWilson Россия  
Дата: 25.03.21 11:13
Оценка:
Здравствуйте, Passerby, Вы писали:

P>Хочу поместить программу на сервер, но в ней есть секретные ключи.

P>1. Можно ли сделать так: все несекретную часть программы поместить на сервер, а ключи в файл dll, который оставить на своем клиентском ПК.
Достаточно легко вытаскиваются, особенно .net.

P>Они будут запрашиваться с клиентского ПК только один раз, а потом должны храниться в оперативке или могут каждый раз, когда нужны, связываться с клиентом? По какому типу соединения в таком случае будут запрашиваться ключи: безопасному ssh или другому?

P>2. Правильно ли понимаю, что если шифровать диск, то дополнительная обфускация не изменит дамп памяти и от дампа памяти защиты нет?
Если сильно приспичит, то снимут дамп с оперативы.
Re[2]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 11:18
Оценка:
Здравствуйте, bnk, Вы писали:
bnk>Не очень понятно о чем ты вообще говоришь. Мне кажется природу не обманешь. Или ты отдаешь пользователям "секретные ключи", или нет.
Пользователь я. В программе ключи к деньгам. Я хочу их оставить на своем ПК, а всю программу поместить на сервер.
Re[2]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 11:19
Оценка:
Здравствуйте, RonWilson, Вы писали:
RW>Достаточно легко вытаскиваются, особенно .net.
Каким образом?
Re[3]: Безопасное размещение программы на сервере
От: RonWilson Россия  
Дата: 25.03.21 11:23
Оценка:
Здравствуйте, Passerby, Вы писали:

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

RW>>Достаточно легко вытаскиваются, особенно .net.
P>Каким образом?

Про хранение в ресурсах даже не пишу, хоть студией можно вытащить. Элементарно отладчиком по твоей dll пройтись и найти где ты их рано или поздно готовишь для отправки в на сервер. С подобным несколько лет назад обращался один участник форума, за мелкую денежку я ему и вытащил. Там хотя бы интереснее было — не .net.
Re[3]: Безопасное размещение программы на сервере
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.03.21 11:34
Оценка:
Здравствуйте, Passerby, Вы писали:

bnk>>Не очень понятно о чем ты вообще говоришь. Мне кажется природу не обманешь. Или ты отдаешь пользователям "секретные ключи", или нет.


P>Пользователь я. В программе ключи к деньгам. Я хочу их оставить на своем ПК, а всю программу поместить на сервер.


Хм. А можно отсюда подробнее. Если пользователь ты сам, зачем тебе "программа на сервере" (и что вообще ты имеешь в виду под "программой на сервере")? Почему бы не оставить программу на своем компьютере?

У тебя десктопная программа, и ты хочешь получать к ней доступ из другого места? А почему не через Remote Desktop например? Или я вообще не понимаю что ты пытаешься сделать?
Отредактировано 25.03.2021 11:36 bnk . Предыдущая версия .
Re[4]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 11:37
Оценка:
Здравствуйте, RonWilson, Вы писали:
RW>Про хранение в ресурсах даже не пишу, хоть студией можно вытащить. Элементарно отладчиком по твоей dll пройтись и найти где ты их рано или поздно готовишь для отправки в на сервер.
Каким образом кто-то сможет залезть в dll на моем ПК?
Re[4]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 11:45
Оценка:
Здравствуйте, bnk, Вы писали:
bnk>Хм. А можно отсюда подробнее. Если пользователь ты сам, зачем тебе "программа на сервере"
Программа должна иметь быстрый доступ к серверу в Лихтенштейне. У меня tracert около 100 мсек, что не подходит.
bnk>У тебя десктопная программа, и ты хочешь получать к ней доступ из другого места? А почему не через Remote Desktop например?
Мне без разницы, если сервер Win, то Remote Desktop.
Вопрос по безопасности.
Re[5]: Безопасное размещение программы на сервере
От: RonWilson Россия  
Дата: 25.03.21 11:48
Оценка:
Здравствуйте, Passerby, Вы писали:

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

RW>>Про хранение в ресурсах даже не пишу, хоть студией можно вытащить. Элементарно отладчиком по твоей dll пройтись и найти где ты их рано или поздно готовишь для отправки в на сервер.
P>Каким образом кто-то сможет залезть в dll на моем ПК?

А, извиняюсь, плохо прочитал — программа пользовательская с его же ключами, тогда да, только dll-шку и воровать
Re[5]: Безопасное размещение программы на сервере
От: VladCore  
Дата: 25.03.21 11:51
Оценка:
Здравствуйте, Passerby, Вы писали:

bnk>>Хм. А можно отсюда подробнее. Если пользователь ты сам, зачем тебе "программа на сервере"

P>Программа должна иметь быстрый доступ к серверу в Лихтенштейне. У меня tracert около 100 мсек, что не подходит.

запускай свою программу на своем сервере в Лихтенштейне. Или ты трояна пишеш?
Re[6]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 12:00
Оценка: -1
Здравствуйте, VladCore, Вы писали:
VC>запускай свою программу на своем сервере в Лихтенштейне. Или ты трояна пишеш?
Сервер в Лихтенштейне не мой. Мне к нему надо иметь быстрый доступ. Для быстрого доступа буду арендовать сервер, как можно ближе к главному серверу. Но ключи держать на этом сервере не хочу.
1. Запрос программы с сервера к dll на моем ПК идет по какому соединению?
2. Запрос будет только один раз или каждый раз, когда потребуются ключи?
3. На диске сервера будет оставаться какой-нибудь след ключей?
4. Обфускация что-нибудь дает для защиты от дампа памяти?
Re: Безопасное размещение программы на сервере
От: kov_serg Россия  
Дата: 25.03.21 12:07
Оценка:
Здравствуйте, Passerby, Вы писали:

P>Хочу поместить программу на сервер, но в ней есть секретные ключи.

P>1. Можно ли сделать так: все несекретную часть программы поместить на сервер, а ключи в файл dll, который оставить на своем клиентском ПК.
P>Они будут запрашиваться с клиентского ПК только один раз, а потом должны храниться в оперативке или могут каждый раз, когда нужны, связываться с клиентом? По какому типу соединения в таком случае будут запрашиваться ключи: безопасному ssh или другому?
Храни ключи на своём сервере, а для авторизации используй временные токены доступа (см. oauth2) так у тебя появляется механизм управления, логирования и мониторинга происходящего особенно в случае утечек.
P>2. Правильно ли понимаю, что если шифровать диск, то дополнительная обфускация не изменит дамп памяти и от дампа памяти защиты нет?
Можно еще и виртуалку с шифровнным разделом в виртуалке на шифрованном разделе запустить и файл обфускатором и криптопротектором обработать
Re[5]: Безопасное размещение программы на сервере
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.03.21 12:13
Оценка:
Здравствуйте, Passerby, Вы писали:

P>Программа должна иметь быстрый доступ к серверу в Лихтенштейне. У меня tracert около 100 мсек, что не подходит.


А если например взять сервер на Microsoft Azure в Швейцарии (Zurich, выбирается как "Switzerland (North)", пинг до Лихтенштейна меньше 5мсек).
Ключ хранить в Azure Key Valut (в том же датацентре), там по ссылке подробно разбирается что это такое и как безопасно с такими ключами работать.
Отредактировано 25.03.2021 12:28 bnk . Предыдущая версия . Еще …
Отредактировано 25.03.2021 12:26 bnk . Предыдущая версия .
Отредактировано 25.03.2021 12:20 bnk . Предыдущая версия .
Отредактировано 25.03.2021 12:17 bnk . Предыдущая версия .
Отредактировано 25.03.2021 12:13 bnk . Предыдущая версия .
Re[2]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 12:25
Оценка:
Здравствуйте, kov_serg, Вы писали:
_>Храни ключи на своём сервере, а для авторизации используй временные токены доступа (см. oauth2) так у тебя появляется механизм управления, логирования и мониторинга происходящего особенно в случае утечек.
Нельзя. Теряется время. Передача данных на сервер должна быть не более нескольких мсек.
Re[6]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 12:30
Оценка: :)
Здравствуйте, bnk, Вы писали:
bnk>А если например взять сервер на Microsoft Azure в Швейцарии (Zurich, выбирается как "Switzerland (North)", пинг до Лихтенштейна меньше 5мсек).
У меня пинг до Лихтенштейна 6 мсек и у тебя тоже. Главное не пинг, а tracert.
bnk>Ключ хранить в Azure Key Valut, там по ссылке подробно разбирается что это такое и как безопасно с такими ключами работать.
Зачем, если их можно хранить и меня на ПК?
Re[7]: Безопасное размещение программы на сервере
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.03.21 12:35
Оценка:
Здравствуйте, Passerby, Вы писали:

P>У меня пинг до Лихтенштейна 6 мсек и у тебя тоже. Главное не пинг, а tracert.


А в чем разница? Вообще у меня 20мс, а не 6мс (по speedtest)

Вот мой
https://www.speedtest.net/result/11154036479

Вот Цюрих
https://www.speedtest.net/result/11154018275

bnk>>Ключ хранить в Azure Key Valut, там по ссылке подробно разбирается что это такое и как безопасно с такими ключами работать.

P>Зачем, если их можно хранить и меня на ПК?

Потому что все уже придумано. Просто прочитать как это использовать.
Отредактировано 25.03.2021 12:40 bnk . Предыдущая версия . Еще …
Отредактировано 25.03.2021 12:38 bnk . Предыдущая версия .
Re[8]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 12:57
Оценка:
Здравствуйте, bnk, Вы писали:
bnk>А в чем разница? Вообще у меня 20мс, а не 6мс (по speedtest)
сделай любой tracert и пинг к любому сайту и увидишь разницу. И пинг в командном окне.
bnk>>>Ключ хранить в Azure Key Valut, там по ссылке подробно разбирается что это такое и как безопасно с такими ключами работать.
Именно так хранит ключи сервер в Лихтенщтейне. Потому моя программа вычисляете всякие nonce шифрует с временем и отправляет серверу.
P>>Зачем, если их можно хранить и меня на ПК?
bnk>Потому что все уже придумано. Просто прочитать как это использовать.
Сервер уже использует. Мне это зачем?
Отредактировано 25.03.2021 12:59 Passerby . Предыдущая версия .
Re[9]: Безопасное размещение программы на сервере
От: bnk СССР http://unmanagedvisio.com/
Дата: 25.03.21 13:16
Оценка:
Здравствуйте, Passerby, Вы писали:

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

bnk>>А в чем разница? Вообще у меня 20мс, а не 6мс (по speedtest)
P>сделай любой tracert и пинг к любому сайту и увидишь разницу. И пинг в командном окне.

  Вроде сделал

в чем разница?

bnk>>Потому что все уже придумано. Просто прочитать как это использовать.

P>Сервер уже использует. Мне это зачем?

Я имел в виду, если хранить там ключ, то будет понятный и в меру безопасный API, как этот ключ получить ну и гарантии его сохранности от мелокомягких.
Re[10]: Безопасное размещение программы на сервере
От: Passerby  
Дата: 25.03.21 13:35
Оценка:
Здравствуйте, bnk, Вы писали:
bnk>в чем разница?
Не видишь разницу по времени? И tracert показывает количество узлов.
bnk>Я имел в виду, если хранить там ключ, то будет понятный и в меру безопасный API, как этот ключ получить ну и гарантии его сохранности от мелокомягких.
Теряется вообще всякий смысл сервера, т.к. он каждый раз будет запрашивать шифрованные ключи. А сервер нужен, для максимально быстрого взаимодействия с основным сервером. Потому tracert для определения количества узлов и их задержки, а не ping.
Тут как картинки помещать?
Отредактировано 25.03.2021 13:37 Passerby . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.