龙华网站(建设信科网络),建设生活app官方下载,网站集约化建设进度报告,天津专业的网站建设公司译者#xff1a;飞龙 协议#xff1a;CC BY-NC-SA 4.0 污点跟踪
注意#xff1a; 这些讲座笔记是从 2014 年 6.858 课程网站上发布的笔记上稍作修改的。
安卓安全策略
这篇论文试图解决什么问题#xff1f; 应用程序可以外泄用户的私人数据并发送到某个服务器。 高层次… 译者飞龙 协议CC BY-NC-SA 4.0 污点跟踪
注意 这些讲座笔记是从 2014 年 6.858 课程网站上发布的笔记上稍作修改的。
安卓安全策略
这篇论文试图解决什么问题 应用程序可以外泄用户的私人数据并发送到某个服务器。 高层次方法跟踪哪些数据是敏感的并防止其离开设备 为什么安卓权限不够用 安卓权限控制应用程序是否可以读取/写入数据或访问设备或资源例如互联网。 使用安卓权限很难指定关于特定类型数据的策略。 例子 “即使应用程序有网络访问权限也不应该能够通过网络发送用户数据”。 Q: 啊哈如果我们从不安装既读取数据又具有网络访问权限的应用程序呢 A: 这将阻止一些明显的泄漏但也会破坏许多合法的应用程序 例子 电子邮件应用程序 信息仍然可以通过侧信道泄漏。 例子 浏览器缓存泄漏了一个对象是否在过去被获取过 应用程序可以勾结 例子 没有网络权限的应用程序可以将数据传递给具有网络权限的应用程序。 恶意应用程序可能会欺骗另一个应用程序发送数据。 例子 发送一个意图到 Gmail 应用程序
安卓恶意软件实际上做了什么 用位置或 IMEI 进行广告。 IMEI 是每台设备的唯一标识符。 窃取凭据将您的联系人列表、IMEI、电话号码发送到远程服务器。 将您的手机变成一个僵尸使用您的联系人列表发送垃圾邮件/短信 ‘Sophisticated’ Android malware hits phones 防止数据外泄是有用的但仅靠污点跟踪是不足以防止设备被黑客攻击的
TaintDroid 概述
TaintDroid 跟踪敏感信息在系统中传播的过程。 TaintDroid 区分信息源和信息汇 源生成敏感数据例子 传感器、联系人、IMEI 汇点暴露敏感数据例子 网络。 TaintDroid 使用 32 位位向量表示污点因此最多可以有 32 个不同的污点来源。 大致上污点从赋值的右手边流向左手边。
例子
int lat gps.getLatitude();// The lat variable is now// tainted!Dalvik VM is a register-based machine,
so taint assignment happens during the
execution of Dalvik opcodes [see Table 1].move_op dst src // dst receives srcs taintbinary_op dst src0 src1 // dst receives union of src0// and src1s taint 有趣的特殊情况数组 char c //. . . get c somehow.char uppercase[] [A, B, C, . . .];char upperC uppercase[c];// upperCs taint is the// union of c and uppercases// taint. 为了最小化存储开销一个数组接收一个单一的污点标记其所有元素都具有相同的污点标记。 Q: 为什么将数组或 IPC 消息仅关联一个标签是安全的 A: 估计污点应该是安全的。 这可能会导致误报但不会导致漏报。 另一个特殊情况本地方法即内部 VM 方法如 System.arraycopy()以及通过 JNI 公开的本地代码。 问题 本地代码不经过 Dalvik 解释器所以 TaintDroid 无法自动传播污点 **解决方案**手动分析本机代码提供其污点行为的摘要。 实际上需要指定如何将参数的污点复制到返回值。 **问**这种扩展效果如何 **答**作者认为这对内部 VM 函数例如arraycopy效果不错。对于“简单”调用分析可以自动化—如果只传递整数或字符串则将输入污点的并集分配给返回值。 IPC 消息类似于数组每个消息与一个污点相关联该污点是组成部分的污点的并集。 从传入消息中提取的数据被分配为该消息的污点。 每个文件都与一个存储在文件元数据中的单个污点标志相关联。 与数组和 IPC 消息一样这是一个保守的方案可能会导致误报。
污点标记在内存中是如何表示的 五种东西需要有污点标记 方法中的局部变量 方法参数 对象实例字段 静态类字段 数组 基本思想将变量的标志存储在变量附近。 **问**为什么 **答**保留空间局部性—这有望改善缓存行为。 对于生活在堆栈上的方法参数和局部变量立即在变量旁边分配污点标志。
例子 ..| . |------------------| local0 |------------------| local0 taint tag |------------------| local1 |------------------| local1 taint tag |------------------..._TaintDroid_ uses a similar approachfor class fields, object fields,and arrays -- put the taint tagnext to the associated data. 因此鉴于所有这些TaintDroid中的基本思想很简单当敏感数据通过系统流动时标记污点并在数据试图通过网络离开时发出警报
作者发现应用程序的各种不当行为 将位置数据发送给广告商 将用户的电话号码发送到应用服务器
TaintDroid的信息流规则可能导致反直觉/有趣的结果。想象一个应用程序实现自己的链表类。 class ListNode{Object data;ListNode next;} 假设应用程序将受污染的值分配给“data”字段。如果我们计算列表的长度长度值是否受污染
向链表添加元素涉及 分配一个ListNode 分配给data字段 修补next指针
请注意步骤 3不涉及受污染的数据因此“next”指针是受污染的这意味着计算列表中元素数量不会生成受污染的长度值。
TaintDroid的性能开销是多少 用于存储污点标记的额外内存。 分配额外的 CPU 成本来分配、传播、检查污点标记。 开销似乎适中内存开销约为 3–5%CPU 开销为 3–29% 然而在手机上用户非常关心电池寿命29% 的 CPU 性能下降可能是可以接受的但电池寿命下降 29% 是不好的。
问题和答案
**问**为什么不在 x86 指令或 ARM 指令级别跟踪污点
**答**这太昂贵了而且误报太多。 例子: 如果内核数据结构被错误地分配了污点那么污点将错误地流向用户模式进程。这会导致污点爆炸无法确定哪个状态真正受到敏感数据的影响。 这可能发生的一种方式是如果堆栈指针或断点指针被错误地标记。一旦发生这种情况污点会迅速扩散 本地变量访问被指定为相对于断点指针的偏移量。 pop等堆栈指令使用堆栈指针。 毫无意义的污点评估指针污点的实用性
Q: 污点跟踪似乎很昂贵—我们不能只检查输入和输出以查找已知敏感值吗
A: 这可能作为一种启发式方法但对于对手来说很容易绕过它。
有许多编码数据的方式例如URL 编码、二进制与文本格式等。
隐式流
如描述的污点跟踪无法检测隐式流。
隐式流发生在一个受污染的值影响另一个变量而不直接分配给该变量时。 if (imei 42) {x 0;} else {x 1;} 我们可以尝试通过网络泄露 IMEI 的信息而不是分配给x
隐式流通常是由于受污染的值影响控制流而产生的。
可以尝试通过给程序计数器PC分配一个污点标记来捕捉隐式流更新它与分支测试的污点并将 PC 的污点分配给 if-else 子句内的值但这可能会导致很多误报。
例子: if (imei 42) {x 0;} else {x 0;}// The taint tracker thinks that// x should be tagged with imeis// taint, but there is no information// flow! 应用程序
污点跟踪的有趣应用跟踪数据副本。 通常希望确保敏感数据密钥、密码及时擦除。 如果我们不担心性能我们可以使用 x86 级别的污点跟踪来查看敏感信息如何在机器中流动。参考 基本思想创建一个 x86 模拟器解释完整系统操作系统应用程序中的每个 x86 指令。 您会发现软件通常会保存比必要时间更长的数据。例如按键数据会保留在 键盘设备驱动程序的缓冲区 内核的随机数生成器 X 服务器的事件队列 用于传递包含按键消息的消息的内核套接字/管道缓冲区 终端应用程序的tty缓冲区 等等…
Tightlip
TaintDroid检测敏感数据泄漏但需要 Java VM 的语言支持–VM 必须实现污点标记。我们能否在没有受管运行时支持的情况下跟踪敏感信息泄漏如果我们想要检测遗留的 C 或 C应用程序中的泄漏怎么办 一种方法使用TightLip 系统中引入的双重进程 步骤 1: 定期Tightlip运行一个守护进程扫描用户的文件系统并查找类似邮件文件、文字处理文档等敏感信息。 对于这些文件中的每一个Tightlip 生成文件的影子版本。影子版本是非敏感的并包含清洁后的数据。 Tightlip 将每种类型的敏感文件与专门的清洁器相关联。 示例: 电子邮件清洁器用等量的虚拟字符覆盖 to: 和 from: 字段。 第二步在稍后的某个时刻一个进程开始执行。最初它不接触任何敏感数据。如果它接触到敏感数据那么 Tightlip 会生成一个复制者进程。 复制者是原始进程的沙盒版本。 继承大部分状态从原始进程… …但读取清洁后的数据而不是敏感数据 Tightlip 让两个进程并行运行并观察这两个进程所做的系统调用。 如果复制者与原始进程做出相同的系统调用并带有相同的参数那么很可能输出不依赖于敏感数据。 第三步如果系统调用发散复制者试图进行网络调用Tightlip 将标记潜在的敏感数据泄漏。 在这一点上Tightlip 或用户可以终止进程失败网络写入或执行其他操作。 Tightlip 的优点 适用于传统应用程序 需要对标准操作系统进行轻微更改以比较系统调用的顺序及其参数 低开销基本上是运行额外进程的开销 Tightlip 的局限性 清洁器位于受信任的计算基础上。 他们必须捕捉所有敏感数据的实例。 他们还必须生成合理的虚拟数据–否则复制者可能会在格式不正确的输入上崩溃 如果复制者从多个来源读取敏感数据并且发生系统调用分歧Tightlip 无法判断原因。
分散式信息流控制
TaintDroid 和 Tightlip 假设开发人员不提供任何帮助…但如果开发人员愿意在其代码中明确添加污点标签呢 int {Alice -- Bob} x; // Means that x is controlled// by the principal Alice, who// allows that data to be seen// by Bob. 输入通道: 读取值获取通道的标签。
输出通道: 通道上的标签必须与写入值上的标签匹配。 静态即编译时检查可以捕捉许多涉及不当数据流的错误。 粗略地说标签就像编译器可以推理的强类型。 静态检查比动态检查要好得多运行时失败或其缺失可能是一种隐蔽通道 更多细节请参阅Jif paper
垃圾邮件的经济学
注意 这些讲座笔记略有修改来自 2014 年 6.858 课程网站。
网络攻击的经济学
到目前为止我们已经处理了安全性的技术方面缓冲区溢出同源策略Tor 等。 主要关注点 对手如何破坏系统我们制定威胁模型然后尝试使我们的系统对抗该威胁模型。 另一种观点 为什么攻击者试图破坏我们的安全政策 一些类型的攻击出于意识形态原因例如公民政治抗议政府审查Stuxnet。对于这些类型的攻击金钱不是主要动机。 让这些攻击变得更困难很难除了通常“使计算机更安全”。 经济处罚可能涉及威慑即在犯罪被发现后的处罚。然而计算机和网络目前的问责制很差。 例子 Stuxnet 是从哪里来的我们有一些好主意但我们能在法庭上打赢官司吗我们应该去哪个法庭 然而许多种类的计算机犯罪受到经济动机的驱使例如国家支持的工业间谍活动垃圾邮件。 要赚钱就得花钱 攻击者需要建立基础设施来支持攻击。 例子 用于发动攻击的机器用于处理非法金融交易的银行。 或许我们可以通过使攻击者的基础设施成本过高来阻止他们 例子 如果发送垃圾邮件变得不赚钱垃圾邮件发送者将停止发送垃圾邮件
今天的讲座我们将专注于涉及重要经济因素的攻击。 例子 在赛里斯垃圾邮件发送者经常雇用“短信车”。这些车辆拦截手机和手机基站之间的通信。车辆发现电话号码然后向这些号码发送垃圾短信。一辆车每天可以发送 20 万条短信 拦截设备成本~$1,600 每天利润~$1,600 被抓到罚款 $5,000 由于很少被抓到垃圾车是一项利润丰厚的生意。 此外赛里斯移动运营商每条垃圾短信都能赚钱因此运营商有动机继续允许垃圾短信传播。 运营商定义特殊的“106 前缀”号码这些号码不受一天可以发送多少条短信的正常限制。106 号码应该用于非商业目的例如公司与员工联系但 55%的赛里斯短信垃圾邮件来自 106 号码。 《经济学家》“垃圾短信惹人厌烦的 106 种方式。”2014 年 11 月 29 日 有许多公司交易“网络武器”。 例子 Endgame。 $1.5 百万美元Endgame 将为您提供数百万台未打补丁机器的 IP 地址和物理位置。 250 万美元终极目标将向您出售一个“零日订阅包”每年提供 25 个漏洞利用。
谁从网络武器交易商那里购买漏洞利用政府公司例如“反击”计划……
有一个市场可以购买和出售攻击者可以用于恶意目的的各种资源。 被入侵的系统 整个被入侵的机器。 访问被入侵的网站例如发布垃圾邮件、链接、重定向、恶意软件。 被入侵的电子邮件帐户例如Gmail。 在现有僵尸网络上运行服务垃圾邮件DoS。 工具 恶意软件套件 漏洞、利用 被盗信息 社会保障号、信用卡号、电子邮件地址等。
垃圾邮件生态系统
本文重点讨论垃圾邮件生态系统特别是药品、仿冒商品和软件的销售。主要有三个步骤 广告以某种方式让用户点击链接。 点击支持展示一个将成为点击目标的网站。 认识到允许用户购买东西、发送货款然后收到产品。
最终资金来自这个链条中的最后一部分当用户购买东西时。 许多组件是外包的或通过联盟计划支持的垃圾邮件发送者充当广告商但联盟处理大部分/全部后端工作例如与银行合作。 垃圾邮件发送者通常按佣金工作获得他们带来的资金的 30%–50%。
接下来我们将详细讨论这三个步骤并探讨可能的干扰方式。
广告如何让用户点击链接 典型方法 发送电子邮件垃圾邮件。其他方法也有效博客/评论垃圾邮件在社交网络中发送垃圾邮件…… 发送垃圾邮件的成本 每百万封垃圾邮件的零售价为 60 美元。 直接操作垃圾邮件僵尸网络的实际成本要低得多。 垃圾邮件电子邮件的投递和点击率非常低因此发送垃圾邮件必须非常便宜才能盈利。 一些相同人员之前的研究 发送了约 3.5 亿封垃圾邮件 约 10,000 次点击28 次购买尝试 我们如何让发送垃圾邮件变得更加昂贵 IP 级别黑名单 一段时间内有效但只有对手拥有少量 IP 时才有效。 发送电子邮件收费 旧想法以各种形式存在金钱、计算、验证码。 这可能有效吗我们如何让每个人立即采用这种方法 即使每个人同时采用这种方法这也会起作用吗如果用户设备被入侵怎么办但即使桌面设备被入侵按照每条消息收费可能是一个很高的门槛可以大大减少垃圾邮件因为生成垃圾邮件需要非常便宜才能盈利 对手的三种解决方案 大规模僵尸网络提供许多 IP 地址。 被入侵的网络邮件帐户提供特殊 IP 地址访问。 雅虎、Gmail、Hotmail 无法被列入黑名单。 劫持 IP 地址使用 BGP 公告。 然而解决方法并非免费对垃圾邮件发送者会产生一些成本。 发送垃圾邮件的成本在 IP 级别黑名单出现之前甚至更低。
僵尸网络通常用于发送垃圾邮件。 典型架构 许多运行僵尸网络软件的被入侵终端用户机器。 用于向僵尸发送命令的命令和控制CC服务器/基础设施。 机器人定期从 CC 基础设施获取新任务。 单个僵尸机器具有各种有用资源 物理IP 地址用于发送垃圾邮件网络带宽CPU 周期。 数据电子邮件联系人用于发送垃圾邮件信用卡号码… 防止僵尸机器发送垃圾邮件很困难–可能有数百万个僵尸 IP
将您的恶意软件安装在终端主机上需要多少费用 每个主机的价格美国主机约为$0.10亚洲主机约为$0.01。 似乎难以防止许多用户将乐意运行任意可执行文件。
命令和控制架构是什么样的 集中式 CC 基础设施对手需要“防弹”主机即拒绝来自银行、法律机构的关闭请求。 防弹主机收取风险溢价。 如果托管服务被关闭怎么办 对手可以使用 DNS 进行重定向。此外使用“快速流动”技术攻击者可以快速更改与主机名关联的 IP 地址。 攻击者创建一个服务器 IP 地址列表可能有数百或数千个 IP攻击者将每个 IP 绑定到主机名上持续时间很短例如300 秒。 摧毁僵尸网络的 DNS 域名有多难 可以关闭域名的注册也可以关闭域名的 DNS 服务器。 对手可以使用域名流动跨越许多独立的注册商。 更难摧毁需要注册商之间的协调 Conficker 发生了它足够重要/重要… 分散的 CC 基础设施点对点网络。 允许僵尸网络主控操作更少或不需要服务器难以摧毁。
被入侵的 Webmail 帐户也可以用于发送垃圾邮件。 非常有效的交付机制每个人都接受来自 Yahoo、Gmail 等的电子邮件。 Webmail 提供商有动机防止帐户被盗。 如果供应商不阻止垃圾邮件那么所有来自该供应商的邮件可能会被标记为垃圾邮件 供应商通过广告赚取服务费因此供应商需要真实用户点击广告。 供应商如何检测垃圾邮件 监视每个帐户发送的消息检测可疑模式。 对于可疑消息和初始注册/最初几条消息使用验证码向用户呈现图像/声音要求用户转录–这对人类来说应该很容易但对计算机来说很难。 获取被入侵的 Webmail 帐户有多难 每个帐户的价格在 Yahoo、Gmail、Hotmail 等上大约为$0.01-0.05。
为什么 Webmail 帐户如此便宜验证码发生了什么 对手构建服务来解决验证码这只是一个金钱问题。 结果相当便宜每个验证码约为$0.001延迟低。 令人惊讶的是这主要是由人类完成的攻击者可以将工作外包给任何廉价劳动力的国家。[也可以使用亚马逊的 Mechanical Turk这是一个众包网络服务允许人类处理计算机难以执行的任务。] 攻击者可以重复使用验证码在另一个站点上要求正常访客解决它而不是雇佣某人来解决攻击者。 供应商可以对垃圾邮件发送者实施更频繁的检查但如果检查太频繁普通用户可能会感到恼火。 示例: Gmail 允许您启用双因素身份验证。在这种方案中当您从之前未知的计算机上打开 Gmail 时Google 会通过短信向您发送验证代码。
点击支持用户联系 DNS 将主机名转换为 IP 地址
然后用户联系相关的网络服务器。因此垃圾邮件发送者需要 注册一个域名。 运行一个 DNS 服务器。 运行一个网络服务器。
Q: 为什么垃圾邮件发送者要费心使用域名为什么不直接使用原始 IP 地址来提供内容 A1: 用户可能不太可能点击包含原始 IP 地址的链接 A2: 更强的原因是使用一层间接性使得保持内容服务器活跃变得更容易。 如果执法机构注销域名或禁用 DNS 服务器但服务器仍然活跃垃圾邮件发送者可以注册一个新的域名并创建一个新的 DNS 服务器。
重定向站点 垃圾邮件 URL 通常指向重定向站点。 免费的重定向服务如 bit.ly 或其他 URL 缩短服务。 受损站点也可以执行重定向到垃圾邮件服务器。 重定向站点很有用因为垃圾邮件过滤系统可能会将 URL 列入黑名单。 一个受欢迎的站点作为重定向平台非常有用要阻止垃圾邮件过滤软件必须将受欢迎的网站列入黑名单 垃圾邮件发送者有时会将僵尸网络用作网络服务器或代理。 这隐藏了真实网络服务器的 IP 地址再次间接
在某些情况下单个联盟提供商将运行一些或所有这些服务。
Q: 执法机构不能只是关闭联盟计划吗
A: 理论上是的但要关闭整个组织可能会很困难。此外还有相当数量的联盟计划。
Q: 关闭单个域名或网络服务器有多困难 A: 取决于注册商或托管提供商[请参见论文中的图 3、4、5]。 只有少数几个注册商为许多联盟提供域名托管同样只有少数几个 AS 为许多联盟提供网络服务器托管。 只有少数几个联盟商将他们的域名、域名服务器和网络服务器分布在许多注册商和 AS 之间。 防弹主机提供商更昂贵但数量众多即使它们被关闭相对容易替换。
实现阶段发生了什么 用户支付商品费用。 用户通过邮件收到商品或下载软件。
付款协议几乎总是信用卡。信用卡信息沿着这个流程传输 Customer|----Merchant|---- Payment processor (helps the| merchant deal with the| payment protocol)||--Acquiring bank (merchants)|--Association network| (e.g., Visa)||--- Issuing bank(customers) 发卡银行决定交易是否看起来合法如果是就会发送批准回来。 PharmaLeaks 论文一些计划每年收入超过 1000 万美元
对于实物商品供应商通常会直接将商品运送给购买者这被称为*“drop shipping”*。 Drop shipping 意味着联盟计划不需要自己储存实物产品。 作者推测供应商很多因此没有供应端瓶颈。
Q: 为什么垃圾邮件发送者正确分类他们的信用卡交易
A: 协会网络例如 Visa 或 Mastercard对错误编码的交易收取高额罚款可以推测协会网络不希望因掩盖金融交易的真实目的而惹上麻烦。
Q: 为什么垃圾邮件发送者实际上会发货 A: 信用卡公司跟踪退单请求的数量即客户要求信用卡公司退还涉及破损交易的资金的次数。 如果退单交易数量过高1%信用卡公司会对此进行处罚。 因此对于垃圾邮件发送者频繁向客户收费但不发货是不可持续的特别是如果. . . 只有少数几家银行愿意与垃圾邮件发送者互动论文中的表格 V图 5 CCS’12 论文在 2 年内只见过 30 家收单银行 因此一个有效的垃圾邮件预防技术是专注于那些少数几家银行。为什么呢 切换银行的成本很高。 切换的财务风险。 但我们实际上能做些什么呢 说服发卡银行将这些收单银行列入黑名单 试图说服这些银行停止与垃圾邮件发送者打交道这可能有些棘手“由于知识产权保护存在不一致性甚至在这些银行所在的国家像药品这样的商品的销售是否违法都不清楚。”第四部分.D 垃圾邮件是令人反感的但并非总是犯罪。 例如一些联盟客户可能不是来自垃圾邮件而是来自合法的谷歌搜索
自这篇论文发表以来信用卡网络已经采取了一些行动。 论文发表后一些药房和软件供应商对 Visa 提出了投诉作者使用 Visa 卡进行垃圾邮件购买。 作为回应Visa 进行了一些政策变更 所有药品销售现在被标记为高风险如果一家银行作为高风险商户的收单行那么该银行将受到更严格的监管例如银行需要参与风险管理计划。 Visa 的运营指南现在明确列举并禁止非法销售药品和侵权商品。 新语言使得 Visa 可以积极对收单银行进行罚款。 一些联盟计划的回应是要求客户提交身份证明目的是过滤掉安全研究人员的测试购买。然而这会损害销售因为客户不愿提供他们的身份信息。
伦理
这篇论文是否引起了道德关注作者是否通过购买他们的商品支持了垃圾邮件发送者
一些公司发起了“反击”活动以报复知识产权盗窃或阻止涉及其机器的僵尸网络。 示例: 2013 年微软、美国运通、PayPal 和其他一些公司关闭了一个大型僵尸网络。微软随后告知受影响用户应该修补他们的机器。 微软的法律推理僵尸网络正在侵犯微软商标。越来越多的公司正在使用新颖的法律论点采取行动对抗僵尸网络… 这是一个好主意吗
参考文献 关于 CAPTCHA - 在经济背景下理解 CAPTCHA 解决服务 无价支付在滥用广告商品中的作用 [CCS’12] PharmaLeaks: 理解在线药品联盟计划的业务 实证网络犯罪研究议程 为什么尼日利亚骗子会说他们来自尼日利亚
一些问题可能已经在这里
2011 年测验 2
Q8: 一个“占领北桥”抗议者建立了一个 Twitter 账户以假名广播消息。为了保持匿名他决定使用 Tor 登录该账户。他从可信来源安装了 Tor 并启用了它启动 Firefox输入 www.twitter.com 到浏览器中然后继续登录。由于他使用 Tor现在可能有哪些对手能够以某种方式危害抗议者忽略 Tor 客户端本身的安全漏洞。
A8: 抗议者容易受到恶意出口节点拦截他的非 HTTPS 保护连接的影响。由于 Tor 明确涉及通过出口节点代理这比拦截公共互联网上的 HTTP 更容易。
Q9: 抗议者现在使用相同的 Firefox 浏览器连接到另一个托管讨论论坛的网站也通过 Tor 连接但只在建立新的 Tor 电路后。他的目标是确保 Twitter 和论坛不能勾结以确定同一人访问了 Twitter 和论坛。为了避免第三方跟踪他在访问不同网站之间从浏览器中删除所有 cookie、HTML5 客户端存储、历史记录等。在没有软件漏洞和大量其他流量的情况下对手如何能够相关他最初访问 Twitter 和他访问论坛假设没有软件漏洞以及大量其他流量到两个网站
A9: 对手可以通过用户代理字符串、浏览器上安装的插件、窗口尺寸等对抗议者的浏览器进行指纹识别这可能足以强烈相关这两次访问。 2012 年测验 2
Q2Alyssa 想要了解在 Tor 上运行的隐藏服务的身份。她计划设置一个恶意的 Tor OR设置一个在该恶意 Tor OR 上的会合点并将这个会合点的地址发送给隐藏服务的介绍点。然后当隐藏服务连接到恶意的会合点时恶意的 Tor OR 将记录连接来自何处。
Alyssa 的计划会奏效吗为什么会或者为什么不会
A2不会奏效。一个新的 Tor 电路被构建在
6.858 测验 2 复习
医疗设备安全
FDA 标准如 Semmelweis 所说 应该洗手
除颤器 2003 年植入式除颤器使用 WiFi。可能出现什么问题 内部电池无线电密封
为什么无线
旧方法在手臂上插入针来扭转拨号感染风险
Q: 无线安全风险是什么 不安全的做法 - 实施错误。 制造商和用户设备体验MAUDE数据库 死因输液泵缓冲区溢出。 检测到错误但进入安全模式关闭泵。 患者因脑压增加而死亡因为没有泵因为缓冲区溢出。
人为因素和软件
为什么独特
500 多人死亡
例如用于向患者提供剂量的用户界面未正确指示它是期望小时还是分钟作为输入hh:mm:ss。导致数量级错误20 分钟与预期的 20 小时相比。
管理问题
医疗设备也需要进行软件更新。
例如McAffee 将 DLL 分类为恶意隔离搞乱了医院服务。
例如使用 Windows XP 的医院- Microsoft 不再为 XP 提供安全更新但仍然有新的医疗产品使用 Windows XP。
FDA 网络安全指南
制造商预期看到什么他们如何考虑安全问题/风险/缓解策略/残余风险
对手的东西
除颤器和植入物
这节笔记部分涉及 Kevin Fu 讲座中对植入式除颤器攻击的讨论。在他给出的一个例子中植入式设备通过另一个称为“魔杖”的设备进行无线编程该设备使用专有非公开非标准化协议。此外魔杖在特许的电磁频谱上传输设备侦听而不是 WiFI 或蓝牙。接下来的两行描述了除颤器如何植入患者的手术过程。 设备通过魔杖编程使用专有协议在特许频谱上进行通信。就安全性而言是个好主意吗 患者清醒但麻木和镇静 六个人通过血管穿过电极… 患者被给予一个基站看起来像 AP与植入物进行专有 RF 通信数据通过互联网发送到医疗公司 设备和程序员之间的通信没有加密/认证数据以明文发送 设备存储患者姓名出生日期制造和型号序列号更多… ??? 使用软件无线电USRP/GNU Radio Software
Q: 你能通过无线方式诱发致命的心律吗
A: 是的。设备在 1 毫秒内发出 500V 的电击。例如被马踢在胸部。
设备通过软件更新修复
医疗保健提供者
“被困在 Windows XP 的医院”截图医院中有 600 台 Service Pack 0 Windows XP 设备
医疗设备感染的平均时间- 无保护 12 天 - 有防病毒软件 1 年
供应商是感染的常见来源
USB 驱动器是感染的常见途径。
下载上的医疗设备签名。
“点击这里下载软件更新” 网站似乎包含恶意软件。 Chrome安全的网络浏览服务检测到呼吸机恶意软件。
药物混合器示例 运行 Windows XP 嵌入式。 FDA 期望制造商保持软件更新。 制造商声称无法更新是因为 FDA double you tea f?
有意的恶意软件故障有多重要
例如 1芝加哥 1982 年有人在泰诺中投入氰化物 例如 2有人在癫痫支持小组网站上发布了闪烁图像。
为什么要相信传感器
例如智能手机。无电池传感器演示。在 MSP430 上运行。微控制器认为来自 ADC 到微控制器的任何东西都是真实的。可能与导线的谐振频率有关的事情
将干扰注入基带。 在模拟中很难过滤。 有干扰的高质量音频比麦克风更好。
发送与导线的谐振频率匹配的信号。
将电路视为无意的解调器。 可以使用高频信号欺骗微控制器以为。 由于知道微控制器的中断频率和相关属性存在低频信号。
心脏设备容易受到基带电磁干扰的影响。
在基带中插入有意的电磁干扰。
发送脉冲正弦波以欺骗除颤器以为心脏正常跳动。 ??? 在体外有效。 在体内或盐水溶液中难以复制。
有任何防御措施吗 在一个心跳之后发送额外的起搏脉冲。 一个真实的心脏不应该发送响应。
在电源插座上检测恶意软件。
嵌入式系统 -- WattsUpDoc -- 电源插座。
比安全性更大的问题
Q: 真或假黑客入侵医疗设备是目前最大的风险。
A: 错误。患者护理和医疗传感器的广泛不可用性更为重要。
安全性不能被简单添加。 例如在 Windows 95 上进行 MRI。 例如运行在 OS/2 上的起搏器程序员。
在医疗设备等上检查 gmail。
在医疗设备上运行 pandora。
保持临床工作流程可预测。
Tor 资源 论文 博客文章: 1, 2, 3 2012 年讲座笔记 旧测验 概述 目标 机制 流 / 电路 会合点 隐藏服务 目录服务器 攻击 防御 练习问题 目标 匿名通信 响应者匿名性 如果我运行像 “mylittleponey.com” 这样的服务我不希望任何人将我与该服务关联起来 部署性 / 可用性 为什么是安全目标? 因为它增加了使用 Tor 的人数即 匿名集 …从而增加安全性 (对手有更多人可以区分你) TCP 层 (为什么? 请参见上面的讲座笔记中的解释) 不是 P2P (因为更容易受攻击?) 电路创建
TODO: 定义电路
Alice 将许多 TCP 流多路复用到几个 电路 上。为什么? 低延迟系统制作新电路昂贵。
TODO: 定义洋葱路由器 (OR)
目录服务器: 网络状态, OR 公钥, OR IPs
ORs: 所有通过 TLS 连接在一起 参见博客文章 1: 权威机构对共识目录文档进行投票
例子:
[ Draw example of Alice building a new circuit ]
[ and connecting to Twitter. ] 会合点 隐藏服务
例子:
[ Add an example of Alice connecting to Bobs ]
[ hidden service on Tor ] Bob 运行隐藏服务 (HS): 决定长期 PK/SK 对 发布介绍点广告在查找服务上 构建到 介绍点 的电路等待消息
Alice 想要连接到 Bob 的 HS: 构建到新的 会合点 (RP) 的电路 (任何 OR) 给 RP cookie 构建到 Bob 的一个介绍点的电路并发送消息 with {RP, Cookie, g^x}_PK(Bob) Bob 构建到 RP 的电路发送 { cookie, g^y, H(K)} RP 连接 Alice 和 Bob