Можно ли получить данные из объектов javascript в памяти из WebApp с помощью внешних средств? - PullRequest
1 голос
/ 05 июня 2019

Предположим, у нас есть токен, который должен быть сверхбезопасным и находиться в памяти в переменной javascript. Может ли хакер извлечь токен из памяти?

Я оцениваю, следует ли добавлять дополнительную криптографию для высокочувствительных данных.

Это может включать в себя вычислительные данные, загруженные через JSON или CSV в браузер. Мы хотим убедиться, что он безопасен от любого типа процесса, который может прочитать объекты браузера javascript в памяти.

1 Ответ

1 голос
/ 05 июня 2019

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

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

...