Shadowsocks-windows: 【建议】配置文件的文件名随机

Created on 16 Jan 2019  ·  33Comments  ·  Source: shadowsocks/shadowsocks-windows

"gui-config.json"

这个文件名,我建议是在程序第一次运行时释放一个随机文件名/扩展名的文件

避免别有用心的程序/人扫描文件名的方式窃取信息,使窃取信息成本/门槛儿提高。。。。

Most helpful comment

0.不要用这样的应用,寻找其他替代品。
1.专机专网专用。
2.开个虚拟机,虚拟机里跑SS,开启SS的允许其他设备连入,配置物理机的浏览器PAC代理指向虚拟机的IP和SS端口。
3.在路由器上部署SS。
4.使用 NTFS 的帐户权限隔离,部分情况没什么用。
https://chenshaoju.github.io/post/windows_ntfs_permission/

All 33 comments

那么问题来了,作为一款需要扫描gui-config.json以获取配置信息的程序。在如此改变后,shadowsocks-windows应该怎样保存配置呢。

随机生成的名字,程序写到释放的子程序里?或者其他?

其实可以考虑直接把配置文件加密一把,用之前输密码解密。不过遇到可以dump内存的还是没法。

改文件名并不能隐藏任何东西,分析文件内容马上就能知道它是什么
@studentmain 每次输密码也有点繁琐
如果用内嵌非对称加密的话,由于是开源项目,私钥存放也是问题
windows凭据管理器可能可以,但那样做太复杂

SS的宗旨不是保密和加密,而是混淆

我琢磨的意思是有一些别有用心的人弄一些很简单的程序就可以通过你的ss干一些他想干的什么乱七八糟的事儿最后还会给你找麻烦把脏水弄你身上……

怎么说呢,又到了隐私换效率的时候,不过这不是SS特有的威胁。当然,有特别需要的话可以fork一份改改,自用的话不用公开源代码。

不过真要保证安全,还是专机专用稳些。国产软件什么的(主要指国产商业软件)开个虚拟机甩上去,所有应用从官方下载,有事没事滚个更新,比套加密有用多了。

主要是发展方向问题吧,脑子里绷根儿弦儿还是好的哈哈

我今天刚看到这个,妈个鸡
我都不知道该怎么办了

我觉得SS的配置文件就不应该直接用明文保存

screenshot_20190119-005627
https://www.ringofelysiumonline.com/webprivacy.htm
黄旭东你奶得好啊!

此类不友好的行为一直潜规则存在,只是由于这份用户协议针对外国市场,不能说谎。

有点慌 还是需要个类似 Firefox 主密码功能 防一手直接偷配置文件的行为

涉密不上网,上网不涉密,比啥密码都有用。加肯定可以加,不过感觉没太大意义,毕竟都在dump内存“反作弊”了,那肯定能dump内存中的明文配置。

我所担心的事情。。。还是来了。。。。。。。

“按兵不动,偷偷观察,一举拿下”

拿下?
来自我的gmail


From: qwertccc notifications@github.com
Sent: Saturday, January 19, 2019 12:18:52 PM
To: shadowsocks/shadowsocks-windows
Cc: Student Main; Mention
Subject: Re: [shadowsocks/shadowsocks-windows] 【建议】配置文件的文件名随机 (#2162)

我所担心的事情。。。还是来了。。。。。。。


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/shadowsocks/shadowsocks-windows/issues/2162#issuecomment-455748147, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQVHEgfa4rILRzGnl4V3Otz6Ql2a5uuaks5vEpysgaJpZM4aDAJw.

我觉得这个事情还是应该引起注意,至少在社区中应该广泛的讨论一下……

你说你科学上网只为查论文且事实如此,即便这样那也是违法的,更何况拿到你的密匙,你只看了看论文这个事情是真是假岂不是摆在桌面上了

我想到一个简单可行的笨办法可以临时顶一下,我把进程,文件名这些都改改,自己编译一个自己用……

我觉得除了严肃讨论一下有没有必要引入前向安全性以外,这里没什么好讨论的了。一个重要的假定是部署软件的客户端和服务端本身是安全的,至于怎么保证相应安全性,应该是用户的事,指望一个小程序包办一切是不现实的。

在家的话就靠路由器,出门儿用别的终端就用自己编译的版本,只是手机上安卓版的话,,,我不会弄啊,从没接触过

就算配置文件加密了,人家还是能扫描到你的进程看你的tcp连到哪了,除非你用加壳之类的方法防扫描,搞得自己是个病毒似的。不知道用windows defender的文件夹保护+改进程名能不能防止扫描
或者用linux subsystem或者容器来跑ss客户端,不过似乎比较麻烦

0.不要用这样的应用,寻找其他替代品。
1.专机专网专用。
2.开个虚拟机,虚拟机里跑SS,开启SS的允许其他设备连入,配置物理机的浏览器PAC代理指向虚拟机的IP和SS端口。
3.在路由器上部署SS。
4.使用 NTFS 的帐户权限隔离,部分情况没什么用。
https://chenshaoju.github.io/post/windows_ntfs_permission/

如果走SS路由还能获取到config配置?

@hiro9888 可以啊 我说个可行的方法
查你 chrome 保存在本地的路由器密码(因为 chrome 是明文保存密码的)然后登录你的路由器查你 ss 配置

@suikatomoki 这时就需要一声来自OpenSSH和串口线的问候(

这方法倒是可行,就是要么不通用要么容易气死程序员,ss-windows只有一版,但是路由器却千奇百怪。全盘搜索config.json容易,枚举密码找到你的路由器,再枚举出型号,然后撞进特定配置界面,然后定位到一个输入框还是有点困难的。当然,不保存密码总是好的,涉密不上网,上网不涉密。

@suikatomoki 理论上确实有可能,但需要特定路由器特定固件版本特定浏览器和特定设置,私以为实际操作可行性还是不高的~

@cokebar
我们保护的重点应该不是 IP PORT
协议 加密方式 密码 才是需要刻意保护的

有没有大神分析一下这个游戏如何扫描ss配置的

一个方案:配置文件加密,密钥保存在凭据管理器里

更新:不可行,随便什么程序都可以读凭据管理器里的密钥。再加个runas?

真正在意的话,那就在国外再来一层代理。这样你连接的是一个服务器,出口ip又是另一个服务器。哪怕把出口服务器终生拉黑都照样用。


From: Cokebar Chi notifications@github.com
Sent: Monday, January 21, 2019 9:09:51 PM
To: shadowsocks/shadowsocks-windows
Cc: Student Main; Mention
Subject: Re: [shadowsocks/shadowsocks-windows] 【建议】配置文件的文件名随机 (#2162)

想了一下 即使是路由器翻 也是危险性极大。
间谍软件可以直接尝试访问被墙站点看能不能正常访问,能的话,要么你在国外或者插了国外运营商的sim卡上网的,要么就是翻墙了。或者监控系统的DNS解析,看有没有被墙站点的解析记录,如果有且解析的IP正确无污染,也可得到上述结论。
此时如果你是路由器翻,且方案是全局,或者是国外IP都走代理,此时尝试访问whatismy.com等一些国外检测ip地址的网站,就能取到你的代理服务器ip了


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/shadowsocks/shadowsocks-windows/issues/2162#issuecomment-456068485, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQVHErff03DIluYW3rbPQkK_g_j1sNQRks5vFbwfgaJpZM4aDAJw.

@studentmain 用你这种思路,可以国内再来个中转。比如说不在家中,没法路由器翻,需要用win客户端,若家里上行带宽足够,且有公网IP,直接在家里路由上跑一个国内中转;一则即使获取你本地配置文件也是获取的你家里宽带的IP,无用;二则如果检测连国外网站的出口IP,则检测到的是落地鸡的ip不是中转服务器的ip,也没用。
不过,这也太折腾了

@cokebar 没有源码,推测是这样的:
检测进程中有无 Shadowsocks.exe ,如果有,进入所在目录,读取目录下的 gui-config.json 。
或者,检测有无 ss_privoxy.exe ,如果有,则进入所在目录的上一层目录,然后读取目录下的 gui-config.json 。

@chenshaoju 进一步:

  1. 检测当前机器的代理服务器地址是哪里,如果是本机,看看是哪个进程在监听,然后找到进程位置
    1a. 扫描文件夹下体积小于100kb的文件
    1b. 先分析进程特征,确定是哪一种实现,然后根据预先制定的对策处理

这个时候就建议使用路由器了我不信他还能爆了我路由器密码来找我配置文件

Was this page helpful?
0 / 5 - 0 ratings