Anton
Мы все под колпаком :)
Vadim
И часто эта переменная стоит?
Vadim
(реально интересно)
Vadim
Эх, для кейлоггера рут не нужен, для снифера не нужен
Vadim
Артем
Вывод - галочка "запомнить" - зло!!!
Артем
Если под одним системным юзером несколько людей, то как нефиг делать. Прописал в автозапуск и любой входящий запускает и кейлоггер и сниф автоматом
Anton
Однозначно не увидет. Т.к. не могут два юзера за одним компом работать в одно и тоже время
Vadim
Я не спец винды, но разве на одной машине одновременно можно несколько юзеров? Сервер не в счет
Артем
Vadim
Vadim
Так не, ну какие тогда нажатия от второго юзера
Vadim
(все всё поняли))
Anton
Блин, но клава одна...
Anton
Разве можно одновременно за одним компом работать?
Артем
Антон, ты не ответил - Вася и Петя входят в систему с персональными учетками или могут юзать одну? Не учетку проги, а учетку компа.
Anton
Предполагаю что одну
Anton
Один человек, но несколько учёток в проге
Артем
Тогда убирай галку нафиг и смотри в сторону шифрования... А лучше вообще плюнь и не трать время ибо изначально ситуация дырявая и незащитимая даже от дурака ))
Anton
И у каждого свой инкапсулированый процесс?
Артем
Если в одной системной учетке могут оказаться разные люди, то любой из них может прописать в автозапуск кейлоггер или троян и этого хватит, чтобы получить все, что угодно про других людей, работающих в этой же учетке.
Это изначально тупиковый вариант защиты )
Артем
Все дальнейшие способы защиты локальных данных любого софта обречены на провал даже от начинающего кулхацкера
Anton
Тогда что либо шифровать безсмыслено
Артем
Anton
Логично, а то я уж подумал... Как парное программирование :)
Артем
Шифрование помогает только там, где можно получить сохраненные данные (скопировать файлы), но не там, где можно "внедриться" в область выполнения кода
Anton
Не, там такого не будет
Vadim
Пиши пароль в файлик на рабочем столе
Vadim
И юзай его, делая запросы по http
Vadim
На каждый запрос, желательно через бесплатный прокси
Vadim
Обожаю когда кидаються в крайности)
Anton
Я для себя уже вариант придумал. (В ходе обсуждения) но для меня дискуссия была познавательная
Vadim
Vadim
И хорошо бы озвучить, обещаю тапками кидаться больше не будем)
Vadim
IfonYa
подскажите. запускаю окно через loadURL, удаленного сайта. получается, что доступа к render процессу нет. можно ли как-либо встроить скрипт в render. или подключить модуль node из main процесса. executeJavaScript сразу отметаем, поскольку кода многа с подключением модулей.
Артем
насколько я понял - это что-то типа вашего "executeJavaScript" только из файла
Артем
Anton
Anton
А... Та на здоровье, я же всегда 'за' когда она по делу.
Anton
В локалсторедже будет две записи. Первая запись с текущим токеном юзера, вторая userSettings в котором будет лежать объект с настройками всех юзеров. Key - токен юзера: object - сами настройки. И соответственно буду брать настройки по текущему токену.
Артем
юзер перелогинился и его токен поменялся, настройки тю-тю =(
Артем
если авторизация по OAuth - то в принципе по токену всегда можно получить инфу юзера, как минимум логин... может лучше в настройках по нему разделять?
Anton
Все же есть мысль видоизменять токен, что бы не хранить в открытом виде. Достаточно примитивно. Куда то поставить рандомный текст, к примеру. Пока ещё не решил как
Артем
Его текущий токен изменился. Юзер сеттингс никуда не пропадают
не понимаю =)))
- юзер vasya залогинился и получил токен aaaaa
- записались его настройки в сеттингсах по токену aaaaa
- закончил работу и разлогинился, токен удалился (вопрос сразу, как его настройки сохранятся, по старому токену?)
- утром юзер vasya снова залогинился и получил токен bbbbb (второй вопрос, как система узнает, что юзер vasya в прошлый раз юзал токен aaaaa и загрузит настройки из него)
Anton
Артем
если память не подводит, обычно токен - это base64 от какого-то набора данных, среди которой есть всегда логин юзера
Anton
Артем
У меня бэк всегда отдает один и тот же токен
ээээ... смысле токена тогда??? если он не изменяется при перелогинивании, то это не дыра, это просто дырища =))) токен авторизации - должен меняться при каждом входе, в идеале вообще иметь "время жизни"
Anton
Меняем токен в схеме на айди и все поедет
Артем
вот по ID-шнику и делайте в сторедже секции =)
Артем
а я про что и говорю =))) а то "токен да токен" =)))
не, в этом чате совсем "без тапок" не бывает ;)
su
А я не согласен,
Я считаю, что браузер в electron - это чистый view, да со своими артефактами в виде localStorage, причем лучше будет сделать его stateless, ничего не хранить во view, все данные получать извне, по сети, а хранить тоже во все, на файловом хранилище, при этом, не нужно заморачиваться на шифрование, а использовать средства операционной системы, вот и все, не усложнять все до невозможности, браузер - не операционная система (не crome OS, пока что), так что не надо делать из мухи слона, храните все в json, настройки пользователя шифровать не обязательно, если что там секретное, просто не храните, загружайте по сети и нигде не сохраняйте.
По авторизации. есть много разных схем, включая токены сессии, временные токены для получения обновления постоянного токена, в общем, схем множество. все схемы обьединяет то, что они не пресистентны, то есть зайдя один раз по токену, повторить это уже не удастся, поэтому теряется смысл его кражи, как и использования в качестве защищенного ключа хранилища. А токен обновления, можно спокойно хранить в профиле пользователя, если надо, все равно в схеме с авторизацией по логину и паролю, этот токен получается заново и служит для обновления постоянного токена (который нигде не хранится, кроме памяти), и использовать файловое хранилише sqlite, на диске пользователя, а шифрование использовать со стороны внешшнего сервера авторизации, то есть на клиенте хранить ключ дешифрования, и использовать ассимметричное шифрование, на эллиптических кривых, если уж у кого-то встала такая задача., но как я думаю, все это избыточные схемы.
Самое главное,
- view = stateless
- шифрование - только данные, только на удаленном сервере (при необходмости)
- локально хранить в sqlite, вне приложения,
- не хранить постоянные токены, использовать авторизацию по паролю, а для ресурсов - авторизацию на основе временного токена, обновляемого по мере использования
Артем
А я не согласен,
Я считаю, что браузер в electron - это чистый view, да со своими артефактами в виде localStorage, причем лучше будет сделать его stateless, ничего не хранить во view, все данные получать извне, по сети, а хранить тоже во все, на файловом хранилище, при этом, не нужно заморачиваться на шифрование, а использовать средства операционной системы, вот и все, не усложнять все до невозможности, браузер - не операционная система (не crome OS, пока что), так что не надо делать из мухи слона, храните все в json, настройки пользователя шифровать не обязательно, если что там секретное, просто не храните, загружайте по сети и нигде не сохраняйте.
По авторизации. есть много разных схем, включая токены сессии, временные токены для получения обновления постоянного токена, в общем, схем множество. все схемы обьединяет то, что они не пресистентны, то есть зайдя один раз по токену, повторить это уже не удастся, поэтому теряется смысл его кражи, как и использования в качестве защищенного ключа хранилища. А токен обновления, можно спокойно хранить в профиле пользователя, если надо, все равно в схеме с авторизацией по логину и паролю, этот токен получается заново и служит для обновления постоянного токена (который нигде не хранится, кроме памяти), и использовать файловое хранилише sqlite, на диске пользователя, а шифрование использовать со стороны внешшнего сервера авторизации, то есть на клиенте хранить ключ дешифрования, и использовать ассимметричное шифрование, на эллиптических кривых, если уж у кого-то встала такая задача., но как я думаю, все это избыточные схемы.
Самое главное,
- view = stateless
- шифрование - только данные, только на удаленном сервере (при необходмости)
- локально хранить в sqlite, вне приложения,
- не хранить постоянные токены, использовать авторизацию по паролю, а для ресурсов - авторизацию на основе временного токена, обновляемого по мере использования
тут как бы никто и не против данной схемы и в принципе все про удаленное хранения и говорили, только иногда случается так, что есть определенные рамки, в которые нужно вписаться... и вариант "если не так, как правильно, то вообще никак" не подходит =)
Anton
А я не согласен,
Я считаю, что браузер в electron - это чистый view, да со своими артефактами в виде localStorage, причем лучше будет сделать его stateless, ничего не хранить во view, все данные получать извне, по сети, а хранить тоже во все, на файловом хранилище, при этом, не нужно заморачиваться на шифрование, а использовать средства операционной системы, вот и все, не усложнять все до невозможности, браузер - не операционная система (не crome OS, пока что), так что не надо делать из мухи слона, храните все в json, настройки пользователя шифровать не обязательно, если что там секретное, просто не храните, загружайте по сети и нигде не сохраняйте.
По авторизации. есть много разных схем, включая токены сессии, временные токены для получения обновления постоянного токена, в общем, схем множество. все схемы обьединяет то, что они не пресистентны, то есть зайдя один раз по токену, повторить это уже не удастся, поэтому теряется смысл его кражи, как и использования в качестве защищенного ключа хранилища. А токен обновления, можно спокойно хранить в профиле пользователя, если надо, все равно в схеме с авторизацией по логину и паролю, этот токен получается заново и служит для обновления постоянного токена (который нигде не хранится, кроме памяти), и использовать файловое хранилише sqlite, на диске пользователя, а шифрование использовать со стороны внешшнего сервера авторизации, то есть на клиенте хранить ключ дешифрования, и использовать ассимметричное шифрование, на эллиптических кривых, если уж у кого-то встала такая задача., но как я думаю, все это избыточные схемы.
Самое главное,
- view = stateless
- шифрование - только данные, только на удаленном сервере (при необходмости)
- локально хранить в sqlite, вне приложения,
- не хранить постоянные токены, использовать авторизацию по паролю, а для ресурсов - авторизацию на основе временного токена, обновляемого по мере использования
Но опять же. Это не спасет от того что писал random
Anton
От кейлогера и просмотра сетевых запросов. Но мне это и не нужно. У меня нет там данных кредиток...
Артем
su
su
от кейлоггера защищаются выключением питания, потому что винда сама кейлоггер, теперь еще и убунта, и вообще все, включая маки, имеется ввиду нештатные отладчики, но для этого нужны права администратора, а если вас уже взломали, то вообще думать о защите приложения в такой среде - это удел самых отъявленных помешанных на безопасности гиков, по идее
su
блажен кто верует, удачи
Артем
для того, чтобы гарантировано защититься, берете паяльник, микросхемы, программируете микрочипы, свою операционку и т.д. - да и то "термальный криптоанализатор" любые файрволы обойдет ;)
Vadim
su
Что проверил, протоколы https ломаются только в локальной сети
su
тогда ты не вкурил, вообще, о чем я толкую, прежде чем ваставлять свои 5 копеек. я говорил о взаимодействии с удаленным серверои, и ничего там не взламывается, уверяю тебя
Vadim
Я думаю тему пора закрывать? Хорошо? Желающие го в отдельный чат.
su
su
я же говорил в контексте своей модели приложения, а не локальной, там пост есть
Vadim
Ребят, хватит, это уже явный оффтоп
Bohdan
Ребят, подкажите плиз, где хранить токен? Я так понимаю бэк не может проставить куку в случае с электроном
Andrey
Bohdan
почему не может?
хз, пробовали - если собирать просто аппку - все ок, если электрон - куки нет