本文主要介绍如何使用Solitude评估应用程序中的用户隐私问题。

关于Solitude

Solitude是一款功能强大的隐私安全分析工具,可以帮助广大研究人员根据自己的需要来进行隐私问题调查。无论是好奇的新手还是更高级的研究人员,Solitude可以帮助每一名用户分析和研究应用程序中的用户隐私安全问题。

值得一提的是,Solitude因在一个受信的专用网络上运行,即用户需要在私有可信网络上运行该工具。

关于证书绑定

如何你打算使用Solitude来测试移动应用程序的话,对于非越狱设备,如果应用程序或嵌入应用程序的第三方SDK使用了证书绑定,那么你可能无法捕捉到所有的HTTP流量。因为证书绑定是一种安全机制,可确保应用程序与之通信的服务器是其预期的服务器。但是,Solitude目前还不支持证书绑定绕过。

工具安装

(1) macOS-Docker安装:

首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/nccgroup/Solitude 

接下来,我们需要安装Docker:

docker-compose -f docker-compose-prod.yml build
docker-compose -f docker-compose-prod.yml up 

然后,打开浏览器并访问http://localhost:5000,按照操作指引开启虚拟专用服务器,并配置好你的移动设备和中间人攻击MitM代理证书。

(2) macOS本地安装(无需Docker-Compose)

首先,我们需要安装好Docker。

接下来,运行下列命令:

brew install mysql 

然后运行MySQL Docker容器:

docker run -p 3306:3306 -d --name mysql -e MYSQL_ROOT_PASSWORD=solitude mysql 

接下来,将该项目源码克隆至本地,安装好依赖组件之后,就可以直接运行工具脚本了:

git clone https://github.com/nccgroup/Solitude
cd Solitude && python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
python3 run.py 

安装完成后,打开浏览器并访问http://localhost:5000,配置你的浏览器通过localhost:8080代理所有的HTTP流量即可。

(3) Linux安装

首先,我们需要安装并配置好Docker和Docker-compose:

docker-compose -f docker-compose-prod.yml build
docker-compose -f docker-compose-prod.yml up 

接下来,将该项目源码克隆至本地,安装好依赖组件之后,就可以直接运行工具脚本了:

git clone https://github.com/nccgroup/Solitude
cd Solitude && python3 -m venv venv
source venv/bin/activate
sudo apt-get install libmysqlclient-dev
pip3 install -r requirements.txt
python3 run.py 

安装完成后,打开浏览器并访问http://localhost:5000,配置你的浏览器通过localhost:8080代理所有的HTTP流量即可。

数据库配置

我们还需要修改Solitude的数据库默认密码,编辑.env文件中的密码即可。

教你如何使用Solitude评估应用程序中的用户隐私问题相关推荐

  1. Confluence 6 选项 2 – 转移 Crowd/Jira 应用程序中的用户和用户组到 Co

    当你打算合并的外部目录服务器(Crowd 或 Jira 应用)有大量的用户到 Confluence 数据库中的时候,请使用这个选项.你需要有基本的 SQL 知识才能完成这个任务. 下面的 SQL 命令 ...

  2. react 交互_如何在React应用程序中跟踪用户交互

    react 交互 by Faouzi Oudouh 通过Faouzi Oudouh 如何在React应用程序中跟踪用户交互 (How to track user interactions in you ...

  3. 微信小程序- css相比,wxss区别?小程序关联微信公众号如何确定用户的唯一性?微信小程序中的用户ID(openid和unionid)

    1 与css相比, wxss区别? 1) 响应式长度 rpx 2) 样式导入 3) 小程序不支持通配符* *{ width:100rpx; height:100rpx; } 2 小程序关联微信公众号如 ...

  4. 技巧:在Silverlight 2应用程序中切换用户控件

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://terrylee.blog.51cto.com/342737/85341 ...

  5. Spring Security并发会话控制示例教程–如何限制Java JEE Web应用程序中的用户会话数...

    如果您不知道, Spring安全性可能会限制用户可以拥有的会话数. 如果要开发Web应用程序,尤其是Java JEE中的安全Web应用程序 ,则必须提出与在线银行门户相似的要求,例如, 每个用户一次只 ...

  6. 小程序中引导用户关注公众号

    众所周知,小程序现在越来越普遍,应市场需求,越来越多的开发者在学习小程序的开发,因为小程序刚起步,所以有很多问题还不完善,微信开放平台也在日渐完善,小程序文档也在不断优化,现在小程序中可以引导用户关注 ...

  7. 微信小程序中判断用户是否已关注公众号的两种实现

    背景: 最近的一个小程序项目中有这么一个需求:进入我的主页后, 如果用户没有关注过我们的公众号, 则展示一个引导关注公众号组件, 点击后跳转到一篇公众号文章, 指引用户进行关注,用户完成关注隐藏该组件 ...

  8. 微信小程序中获取用户微信公众号授权(openid)用来发送模板消息

    需求: 由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息. 于是需要将小程序的openid和公众号的openid绑定在一起.提供两种思路: 方法一: 1.微信小程序和公众号都绑 ...

  9. java开发微信如何维护登录状态_微信小程序中做用户登录与登录态维护的实现详解...

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户 ...

最新文章

  1. 中国是恶意程序感染率最高的国家
  2. 降采样处理 resample函数
  3. 你需要administrators提供的权限才能删除_终于解决了:你需要来自XXX的权限才能对此文件进行更改
  4. oracle中varchar2和nvarchar2的区别
  5. Linux内核等待队列wait_queue学习
  6. 4600u黑苹果 r5_黑苹果配置 篇四:黑苹果硬件选购指南之m-ATX篇--2019年8月
  7. [Unity基础]01Unity基本操作
  8. selenium 如何使浏览器不加载图片和CSS???
  9. 怎么隐藏服务器的ip地址
  10. matlab定步长ode,[转载]matlab ode45 函数传自定义参数用法及定步长ode
  11. Unity制作Roll-a-Ball游戏
  12. 360浏览器用的什么内核?
  13. 关于jd-gui启动报This program requires Java 1.8+的错误
  14. python 期货现货差价监测_期货现货价差小工具——天勤量化(TqSdk)
  15. 微信小程序自定义showModel为转发按钮
  16. 各类测试工程师的面试秘籍
  17. cass怎么添加指北针图例_你做的柱状图太丑了,怎么不来学学这些操作?
  18. F函数的极大极大算法
  19. 响应式编程Rxjava 书籍视频教程
  20. 关于一个网页的导航栏的写法 总结

热门文章

  1. 硕士,博士太多了?看完这组数据你就不那么认为了!
  2. 【每日一算法】1比特与2比特字符
  3. pandas高级处理-分组与聚合
  4. TCP连接管理【三次握手-四次挥手】
  5. 必看干货:如何在 JavaScript 中实现 8 种基本图形算法
  6. 优化你的CPU来做深度学习
  7. 讨论:对于神经网络,不需要弄明白原理,只需要应用,是这样吗?
  8. Linux下基于密钥的安全验证实现方法
  9. Spring Boot(一)
  10. Nuxt.js - nuxt-link与router-link的差异