Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
3 / 3 / 0
Регистрация: 28.05.2012
Сообщений: 23

Хранение паролей в памяти

09.08.2015, 16:18. Показов 2865. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,
Как правильно защитить/замаскировать пароли, находящиеся в оперативной памяти во время выполнения приложения?
Как это в частности можно сделать средствами С?

Из того, что я смог найти, лишь профилактические рекомендации вроде:
— хранить пароли в памяти настолько короткий промежуток времени, насколько это возможно, а когда пароль становится ненужным, затирать память
— ксорить память с конфиденциальными данными (я не очень понимаю, как)
— по возможности использовать хеши вместо паролей

Но мне почему-то кажется, что те же менеджеры паролей, к примеру, должны предпринимать дополнительные и более надежные методы сокрытия информации, чтобы предотвратить кражу данных.

Не могли бы вы немного просветить меня в этой теме?

Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2015, 16:18
Ответы с готовыми решениями:

Хранение данных в памяти компьютера
Всегда интересовал такой вот вопрос: ясно, что на винчестере (в памяти) компьютера все (файлы) сохраняется в виде последовательностей нулей...

Хранение паролей
Могут ли пароли хранится на сервере? Почему после удаления кеша и куки и очистки всех форм пароли на форме сайта остаются? Браузер FireFox...

Хранение паролей
Как можно сохранять пароли от chorme, есть стандартные функции? То есть хочу сделать плагин(и как рас поучить js), который хранит пароли от...

5
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
09.08.2015, 16:26
Цитата Сообщение от PitMagnum Посмотреть сообщение
Как правильно защитить/замаскировать пароли, находящиеся в оперативной памяти во время выполнения приложения?
Если у тебя в памяти реальные пароли, то никак. Только хранить их там минимальное время. Поработал с ними - стер.
Цитата Сообщение от PitMagnum Посмотреть сообщение
ксорить память с конфиденциальными данными
Когда тебе понадобится использовать пароль (например, аутентификацию пройти на сайте), то "расксоривать" его все равно придется
Цитата Сообщение от PitMagnum Посмотреть сообщение
по возможности использовать хеши вместо пароле
По возможности - да. Но кто тебя будет аутентифицировать по хешу? Хеш обычно уже проверяется от принятого пароля. Например, этот форум, вероятно, хранит хеши, а не пароли, и проверяет по хешам. Но при аутентификации здесь ты же не хеш вводишь, а пароль.

Добавлено через 58 секунд
Цитата Сообщение от PitMagnum Посмотреть сообщение
Но мне почему-то кажется, что те же менеджеры паролей, к примеру, должны предпринимать дополнительные и более надежные методы сокрытия информации, чтобы предотвратить кражу данных.
Они шифруют данные. Пользователю нужно знать ключ/пароль, по которому он сможет БД с паролями расшифровать. Сама программа не сможет этого сделать без ключа.
0
3 / 3 / 0
Регистрация: 28.05.2012
Сообщений: 23
09.08.2015, 16:36  [ТС]
Да, они шифруют БД с паролями. Но когда я работаю с таким менеджером, захожу в свой аккаунт, БД дешифруется, пароли изымаются и показываются мне в красивом окошке. Этот промежуток времени, пока я работаю с менеджером, его никак нельзя обезопасить?
Вообще насколько сложно стороннему процессу в этот промежуток времени залезть в участок оперативной памяти, в которой находятся пароли?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.08.2015, 16:40
Цитата Сообщение от PitMagnum Посмотреть сообщение
Как правильно защитить/замаскировать пароли, находящиеся в оперативной памяти во время выполнения приложения?
Самая главная защита, - так сказать, первый и основной рубеж, - сделать невозможным
чтение памяти процесса другими программами, у которых нет соответствующих прав.
В Windows это достигается автоматически, если процессы запущены от разных учеток и у
потенциально вредоносного процесса нет админских прав. Но иногда может потребоваться
навесить дополнительные ограничения (DACL).

Далее, конечно же, память, которая была выделена под пароли, после использования
следует сразу же занулять соответствующим образом. В Win32 для этого есть функция
SecureZeroMemory, а также вспомогательные EncodePointer и DecodePointer для
"маскировки" указателей.

Еще характерная утечка бывает, если приложение аварийно завершается и система пишет
его крэш-дамп. В таком крэш-дампе могут оказаться конфиденциальные данные, не только
пароли. Для решения этой проблемы есть специальные callback-функции, которые
приложение должно предварительно зарегистрировать и которые затирают нужные
места перед генерацией дампа.

Вообще, работу с паролями лучше строить так, чтобы нигде не использовать их в
открытом виде. Ну может быть, только разочек, к примеру, при установке программы.
Например: при установке программы пользователь однократно вводит пароль, дальше на
основе этого пароля генерируется ключ шифрования и он помещается в криптоконтейнер
Crypto API, причем без возможности экспорта. В этом случае вероятность того, что в
руках злоумышленника каким-то образом окажется ключ шифрования, минимальна.
1
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
09.08.2015, 16:47
Цитата Сообщение от PitMagnum Посмотреть сообщение
Но когда я работаю с таким менеджером, захожу в свой аккаунт, БД дешифруется, пароли изымаются и показываются мне в красивом окошке. Этот промежуток времени, пока я работаю с менеджером, его никак нельзя обезопасить?
Только пользователь обезопасит настройками прав в системе, чтобы никто левый не читал память процесса.
Так же ты можешь пароли показывать пользователю не текстом, а рисовать, например. Тогда пользователь будет их видеть, но в ОП их не будет в явном виде.

Добавлено через 1 минуту
Цитата Сообщение от PitMagnum Посмотреть сообщение
Вообще насколько сложно стороннему процессу в этот промежуток времени залезть в участок оперативной памяти, в которой находятся пароли?
Зависит от установок прав в системе. Рутовый пользователь все посмотрит, если ему понадобится.
1
3 / 3 / 0
Регистрация: 28.05.2012
Сообщений: 23
09.08.2015, 16:49  [ТС]
а про рисовать идея интересная, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.08.2015, 16:49
Помогаю со студенческими работами здесь

Хранение паролей пользователей в БД
Есть задача организовать хранение паролей пользователей в БД MS Access. Есть обычная форма авторизации в программе: Логин и пароль....

Хранение паролей в сесии
У меня на сайте после авторизации пользователя его логин и пароль сохраняются в сессии, в открытом виде без шифрования. Насколько безопасно...

Хранение логинов и паролей в БД
Здравствуйте! Решил сделать в своей программе авторизацию пользователей. Вот только не понимаю, где хранить все логины и пароли, ведь...

Хранение паролей и файлов
Здравствуйте. После недавней проблемы - ссылка Решил посоветоваться в программе, в которой мог быт хранить пароли-логины и файлы. Ну...

Хранение паролей в базеданнх
Доброе время суток коллеги, возможно не по теме пишу, но все же. Столкнулся с проблемой такой: пишу сайт на котором после авторизации ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru