144 评论

如何保护隐私[6]:如何防范“浏览器指纹”?

  前一篇介绍了“浏览器指纹的基本概念”今天这篇分享一些防范的技巧。

★防范“指纹”的一般性原则?


  不管是哪一种特征,要想成为“指纹”至少要具备两个条件:“唯一性”和“稳定性”。比如人类手指的纹路就同时具有“唯一性”和“稳定性”——任意两个人的纹路都不同,而且每个人的纹路终生不变。所以,要对付“指纹识别”,咱们就必须反其道而行——破坏“唯一性”和“稳定性”。对浏览器而言,做到这两点并不难。且听俺细细道来。

★浏览器指纹的关键性信息


  前一篇博文已经给大伙儿介绍了 EFF 的浏览器指纹测试工具(链接在“这里”)。通过这个工具可以明显看出,User Agent 的信息量最大,至少占据一半以上的信息量。换句话说,其它所有特征的信息量加起来都没有 User Agent 大。而且除了 User Agent,其它特征的信息量都比较小。这说明啥捏?
  请大伙儿换位思考一下:如果某个网站想要利用浏览器指纹进行用户身份定位,User Agent 是必不可少的一项。缺少这一项,定位的精度会大打折扣。所以,User Agent 是浏览器指纹的关键性信息。
  俺已经在博客中多次唠叨了“二八原理”,浏览器指纹中的 User Agent 就是这关键性的“20%”。下面俺来介绍:如何破坏 User Agent 的“唯一性”和“稳定性”。

★“多浏览器”方案


  这个方案最简单,也最容易想到。一看这个小标题,估计大部分读者都猜到俺想喷啥口水。
  如果你同时具有两个不同的浏览器(比如一个 Firefox 一个 Chrome),那么这两个浏览器必然具有不同的 User Agent。如果某个网站收集了浏览器指纹,而你又想在这个网站注册两个不同的马甲,那么你就可以用“多浏览器方案”——分别用不同的浏览器注册不同的马甲。
  本方案的优点
  操作很简单,会装浏览器的同学都玩。
  本方案的缺点
  浏览器的种类毕竟有限(知名且靠谱的浏览器,一只手都能数过来)。万一你想注册十多个马甲,用这个方案就显得傻B了。

★“多实例”方案


  为了解决“多浏览器方案”的局限性,自然会想到“多实例”这个方案。此招数俺曾经在《如何防止黑客入侵》系列博文中介绍过。
  在主流的三大浏览器中,Firefox 和 Chrome 支持“多实例”,IE 不支持。所以那些喜欢 IE 的同学就没法用这招了。
  关于 Firefox 和 Chrome 如何配置多实例,请看俺之前的博文(这里)。对于用 Chrome 的同学,俺再次罗嗦一下:Chrome 同时提供“多实例”(洋文叫“Multiple Profiles”)和“多用户”(洋文叫“Multiple Accounts”)两种功能,这两者是完全不同滴。它的“多用户”依然在同一个“实例”中。
  配置完“多实例”之后,一定要记得修改每一个实例的 User Agent,并确保两两不同。至于如何修改 User Agent 请参见“这篇博文”——里面提供了三大主流浏览器的修改方法。
  本方案的优点
  浏览器的实例可以配置任意多个(只要你有耐心,硬盘够大,配几百几千都可以)。
  本方案的缺点
  某些浏览器(比如 IE)不支持多实例。

★“多虚拟机”方案


  要对付 User Agent 的指纹,前面两招基本够用了。但某些同学可能有特殊需求,或者安全要求比较高,所以俺顺便介绍第三种方法。
  第三种方法就是利用虚拟机软件安装不同的虚拟系统,然后在每个虚拟系统中安装浏览器。没用过虚拟化软件的同学,先看俺之前的扫盲教程(在“这里”)。再次罗嗦:如果你在不同的虚拟机中安装相同的浏览器,要记得修改每个虚拟机中浏览器的 User Agent。
  本方案的优点
  优点1:前面说了,某些浏览器不支持多实例。万一你偏偏喜欢这种浏览器,就可以考虑用“多虚拟机”的方案。
  优点2:因为屏幕分辨率、系统时区也都是指纹特征。所以在虚拟系统中,你还可以调整屏幕分辨率和时区(使之不同于你真实系统的分辨率和时区)。
  本方案的缺点
  缺点1:你需要额外安装虚拟化软件,然后再安装虚拟系统。过程稍嫌繁琐。对技术菜鸟也有难度。
  缺点2:对系统的硬件有一定的要求(如果你的电脑硬件太寒酸,就别考虑这招了)。

★“动态 User Agent”方案


  善于思考的同学会发现:前面三个招数,其本质是相通滴。说白了都是利用技术手段“隔离”出不同的浏览器环境,然后单独修改每个环境的指纹,以此来伪造出多个身份。但是对于每一个具体的环境,其指纹依然是固定的。换句话说,前面那三个招数都是针对“唯一性”。下面俺要介绍的招数可以用来破坏“稳定性”。
  前面说了,浏览器指纹的信息量,至少有一半以上是来自于 User Agent。所以要破坏浏览器指纹的稳定性,只要让浏览器的 User Agent 动态变化即可。下面分别说明技术思路(以下的招数适合于有一定折腾能力的同学,需要用到一点编写脚本的伎俩)。

◇如何构造随机的 User Agent


  要构造随机的 User Agent ,其实也不难。到“这个网站”可以看到各种各样浏览器的 User Agent。你可以收集一大堆预存着,然后每次从中随机挑选一条作为你的伪装。为了做到每次随机挑选并设置,你可以写一个脚本来干这事儿,然后顺便让这个脚本来帮你启动浏览器。
  再唠叨一下:挑选 User Agent 是有讲究滴,要尽量选择那些比较常见的 User Agent——越常见的 User Agent 所包含的信息量越小。

◇Firefox


  三大浏览器中,最有利于隐私保护的是 Firefox(具体的原因分析请看本系列前面的博文),所以先说它的技术实现。
  对于默认安装的 Firefox,在 %APPDATA%\Mozilla\Firefox\Profiles 目录下可以看到 Firefox 【默认实例】的目录(目录名类似于“xxxxxxxx.default”)。进入该目录会看到一个 user.js 的文件(如果没有的话就自己新建一个)。
  俺之前介绍过,想要伪造一个【静态】的 User Agent,只需修改 user.js,往里面添加如下代码。代码中的 xxx 就是要伪造的 User Agent。
user_pref("general.useragent.override", "xxx");
  至于要伪造【动态】的 User Agent,只需用脚本来自动修改 user.js 文件里面的这行代码,生成一个随机的 User Agent。修改完再用这个脚本把 Firefox 启动起来。
  对于 Windows 下的 Firefox,可以用 VBScript 或 JScript 或 PowerShell 这三种系统内置的脚本;对于 Linux 或苹果系统,可以尝试各种 shell 脚本。
  某些爱思考的同学可能会问,为啥不直接在 user.js 里面用 javascript 代码进行 User Agent 的随机设定。俺曾经也企图这么干,好像不行 :( 不信你自己试试看。

◇Chrome


  对于 Chrome,可以在命令行参数指定其 User Agent,具体请参见“这篇博文”。
  所以,你只需在脚本中启动 Chrome,每次都传递一个随机的 User Agent 作为命令行参数。
  对于 Windows 下的 Chrome,可以用 VBScript 或 JScript 或 PowerShell 这三种系统内置的脚本;对于 Linux 或苹果系统,可以尝试各种 shell 脚本。

◇IE


  对于 IE 的 User Agent,需要修改注册表的键值(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent)。所以捏,可以通过事先写好的脚本(VBScript 或 JScript 或 PowerShell)往相应的注册表键值中写入随机的User Agent,然后再由这个脚本启动 IE。

★后记


  补充说明几点:

◇对于“动态 UserAgent 方案”,为啥不直接给出代码


  估计肯定有人会抱怨这个。提醒一下:【授人以鱼不如授人以渔】是本博客长期奉行的原则。所以在技术方面,俺更愿意分享一些思路,尽量避免直接给出现成的东西。自己动手实践,有助于能力的提升而且印象更深刻。
  如果你是个程序猿/程序媛,写这样一个脚本应该是易如反掌滴;如果你不是搞技术的,顺便学一下简易的脚本编程(其实很容易滴)。不会编程的同学,俺建议从 Python 开始入手,功能强且门槛低,具体请参见《为啥俺推荐 Python》系列博文。

◇关于“虚拟系统的屏幕分辨率”


  如果你使用“操作系统虚拟机”,需要留意“屏幕分辨率的问题”。
  对于【不】使用虚拟机的普通网友,其屏幕分辨率也就是常见的那几种(大概在20种以内)。但如果你在 Guest OS 里面上网,并且你【没有】使用全屏模式,那么 Guest OS 的分辨率可能会是一个很奇怪的分辨率(因为独特性很高,所以带有很多的“指纹信息量”)。
  所以,俺建议那些用虚拟系统上网的同学,始终采用“全屏模式”。

◇关于“HTML5 的 Canvas 指纹”


  在本文发布约半年后,有读者在博客留言中询问了“基于 HTML5 的 Canvas 语法进行指纹追踪”。所以俺单独补充了这一小节。
  所谓的“HTML5 的 Canvas 指纹”,依赖的是 HTML5 新增的 Canvas 语法。利用这个 Canvas 语法可以实现一些绘图的功能。由于不同类型的浏览器使用了不同的绘图引擎,所以这可以成为某种指纹信息。
  一般情况下,如果你禁用了 JS 脚本,可以让“Canvas 指纹”失效。所以你可以用一些安全扩展(比如 NoScript),对你不信任的网站禁用 JS 脚本。另外,电子前哨基金会(EFF)提供的 Privacy Badger 扩展,可以屏蔽“Canvas 指纹”。
  要测试自己的浏览器是否存在“Canvas 指纹”,请猛击“这个链接”。
  退一步讲,就算你无法屏蔽“Canvas 指纹”,也不用怕。在本文开头提到了“防范指纹的一般性原则?”。其中之一是“破坏唯一性”。你可以用本文介绍的几个招数来破坏唯一性。提醒一下:单纯用“多实例”的招数无法破坏“Canvas 指纹”的唯一性。因为在“多实例”的情况下,每个实例共享同一个浏览器引擎。所以你必须采用“多浏览器”或者“多虚拟机”的方式。

◇关于 EFF 的浏览器指纹测试


  前一篇博文介绍了 EFF 的浏览器指纹测试工具,估计很多同学都去测试了。其实捏,不必太在意具体每一项的“比特数”。大伙儿只需要关注其“定性”而不必太在意其“定量”。因为 EFF 网站目前收集的样本还不够多(只有几百万),所以其分析出的信息量(相比全球的统计数据)会有所偏差。
  另外,很多人测试下来的总信息量是 21.85 bits,这是因为 EFF 的总样本目前只有 370万 左右(370万 约等于 2的21.85次方)。所以比特数到 21.85 就封顶了。

回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2014/01/privacy-protection-6.html

144 条评论

  1. 这个和《如何防止黑客入侵》好像已经重复了

    回复删除
    回复
    1. 周有光 | 要从世界看国家

      原标题:周有光:我这一年过得很好

        昨日,“大转型时代与知识分子”座谈会暨周有光先生109岁华诞庆祝会于神玉艺术馆举行。已经109岁高龄的周有光未能来到现场,他让自己的儿子周晓平转告大家,“我这一年过得很好,身体也很好,谢谢大家。”

        周有光上月曾发烧,目前已恢复

        在来到会场之间,周晓平问父亲,我该向大家说些什么呢?周有光告诉他就说我这一年过得很好。“爸爸说很好,怎么个好法呢?年初大家给他举办了一个会,之后他的文集又在常州首发,他说出了这套书,也算是一个句号了,很满意。”虽然周有光先生说自己身体很好,不过周晓平透露父亲在去年12月12日开始咳嗽发烧,后来住院接受治疗,不过目前身体已经慢慢恢复,各种指标都趋于稳定。

        尽管未能到场,周有光先生在视频中对大家的关心表示了感谢,他说自己并没什么好说的,近几年常常会说一句话,现在也不妨重复一下,就是“要从世界看国家,不要从国家看世界”,他认为这会带给人更开阔的眼光。

        周晓平说父亲觉得一生就这么一点成绩,自己都觉得好像没什么可说,但大家却还可以再谈,他要周晓平把大家的观点收集起来,将来慢慢讲给他听。

        秦晖:一些年轻人思想已行将就木

        学者何方用三点总结周有光先生的成就,即独立思考、宁静致远和“从世界看国家”的眼光。学者秦晖则认为周有光先生真正可贵的地方不在于其著述有多高的水平,而在于其在109岁的高龄仍然焕发青春,“他比我们很多人都要年轻,现在的社会非常吊诡的是,一些年轻人身上有一种木乃伊的味道,我们面对最可悲的现实是年轻人年龄还是壮龄,但思想已经行将就木,但周有光先生的语言越来越让人感到它是一个热血青年。”

        学者解玺璋赞成这种看法,他认为周有光先生虽然已有109岁高龄,但却像年轻人一样敏锐,关心天下大事、国家命运,“我们谈论大转型时代的知识分子,首先就要谈知识分子应有的责任感,但现在很多年纪在四五十岁的知识分子,反而没有这种对世事的关注,他们沉浸在一种很小的东西里,谈养生、品茶、书法,看起来很高雅,但我觉得这是玩物丧志。”解玺璋觉得周老对国家命运强烈的关注,是年轻一代的读书人应该学习的地方。

        学者资中筠则分享了她对社会转型的看法,她认为人们在谈论社会转型时往往会谈论三种力量,权力、财富和知识,“但我们往往忘记一个很重要的力量,就是民众,我一谈就谈知识分子能起到什么作用,但如果知识不和民众结合将一事无成。”她认为当下的所谓公知、思想界也存在一种撕裂的状况,简单来说就是左右之争,“而像周有光这样理性的、科学的呼声,站得比较高,看得比较远的眼光,还是非常需要加以倡导的,但却也并不是能够很容易得到结果的。”

        声音

        我们谈论大转型时代的知识分子,首先就要谈知识分子应有的责任感,但现在很多年纪在四五十岁的知识分子,反而没有这种对世事的关注,他们沉浸在一种很小的东西里,谈养生、品茶、书法,看起来很高雅,但我觉得这是玩物丧志。

      删除
    2. TO 沙发
      从表面上看,用到了相似的技术手段(多浏览器、多实例、多虚拟机),但目的是不同的。
      在《[url=http://program-think.blogspot.com/2010/06/howto-prevent-hacker-attack-0.html]如何防止黑客入侵[/url]》中,这些招数是为了增加【隔离性】,避免被入侵者连锅端。
      在本系列中,这些招数是为了制造多个浏览器指纹。

      删除
    3. 1楼应该是指防跨省吧?这个改指纹其实更多是平时访问国内一般网站时不被跟踪,不被广告公司利用的。

      删除
    4. TO 1单元的网友
      多谢分享周有光的文章 :)
      其中的【要从世界看国家,不要从国家看世界】说得好

      删除
    5. google搜索了一下又发现两本民主著作《民主及其批判》、《论民主》 作者:罗伯特·道尔
      --------------------------------------------------------------------------------------------------------------------------------------------

      《民主及其批判》
      被誉为政治学经典,1989年出版,是道尔毕生的教学与研究结晶。获美国政治学会(APSA)推荐为1990年“威尔逊基金会”颁赠的“比较政治与国际关系领域年度大赏”,1991年获政治思想研究学会推举为“民主理论最佳著作”。《纽约时报》评价“这本书不仅学识渊博,更难能可贵的是智慧绽放。”

      《论民主》
      被称为“一位民主信仰者的最后赠言”,一本“民主指南”。道尔在85岁高龄(1998年)出版,直指民主核心,使用常民语言、少用学术词语,兼顾理论、制度与现实,让高中程度以上的读者都易理解。道尔说“使任何地方的任何对民主感兴趣的人,通过阅读本书,而更多地了解民主的常识。”
      ---------------------------------------------------------------------------------------------------------------------------------------------
      以上均源引自维基百科的解释。

      其中《民主及其批判》那是相当的经典啊

      删除
    6. TO 5单元的网友
      多谢推荐电子书 :)
      刚才简单搜了一下,没发现中文版下载。
      请问你手头有现成的电子版吗?

      删除
    7. 《论民主》和《民主及其批判》在google随便搜索都有中文版下载的,但完不完整我就不知道了,希望博主鉴定一下

      删除
    8. 刚才粗略看了下别人的评价,《论民主》和《民主及其批判》的中文翻译貌似很不理想,如同机器翻译一样很生硬。但还没仔细阅读过,不知道可读性怎样,望再次给个评价。

      这英语不学好可真是害死人了

      删除
    9. TO 7单元 和 8单元
      补充说明一下:《论民主》一书已经在6月份上传到网盘

      删除
  2. 看了你的博文就想学派森,只是到现在还没开始。。。

    回复删除
    回复
    1. TO 2楼的网友
      不要光“想”,要动手“做”

      删除
  3. 今天中午发文,不符合一贯半夜发文的习惯。

    回复删除
    回复
    1. TO 3楼的网友
      前段时间老是熬夜,有点累。
      近期要调整一下作息。
      否则的话,还没被朝廷跨省,自己就先累趴下了 :)

      删除
    2. 博主保重身体要紧,如果时间紧,一些问题就等热心网友回答好了

      删除
    3. 不敢奢望这里的网友帮助了,心有余悸啊!

      删除
    4. TO 12345
      非常感谢对俺身体的关心 :)
      俺会利用这个春节假期多休息一下,养精蓄锐。

      删除
  4. 估计楼主是半夜写好的,辛苦了!前排围观!

    回复删除
  5. to 楼主:问题是系统字体那一项比特数最高,怎么防?

    回复删除
    回复
    1. 测出来20几比特里面只有6比特多是属于user agent的,绝大部分都是在system font这一项,楼主为何不说说怎么减少那一项的指纹的方法,个人赶脚用户代理不是最重要的。

      删除
    2. 这个可以在about:config ->browser.display.use_document_fonts-> 设为0,限制字体发送到你访问的网站。只是不知有什么副作用。等博主或高人补充

      删除
    3. TO 5楼的网友
      俺常用的浏览器环境,都没有暴露字体。所以俺一直没有注意到“字体”这项的比特数。
      请问你的浏览器中是否装了 Flash 或 Java 插件?

      关于 2单元 的建议
      use_document_fonts 设置为 0 是禁用页面中指定的字体,你试试看,不知道是否能禁止字体信息暴露。

      删除
    4. 不好意思,搞错了。要不泄露系统字体,要禁用flash和java插件,装个flashblock和禁用java插件就行了

      删除
    5. 安装的火狐字体一般就是系统字体,所以还是按上面2单元和5单元的都做了吧。我是从这里检测的http://ip-check.info/?lang=en,按test,结果的最下面fonts不是bad就行。太久没搞这个,所以上面搞错了。

      删除
    6. 楼上这个工具很强大啊,我的结果只有3个good,其它都是红色橙色。

      删除
    7. TO 12345
      多谢替俺回答 :)

      TO 瘦肉丝
      这个 [url]http://ip-check.info/[/url] 很不错,测试很全面,俺之前有推荐过。

      删除
  6. to 楼主:月底就快要到了,你的那篇关于用电脑内部硬盘安装系统的通用方法的博文开始写了没有?

    回复删除
    回复
    1. TO 6楼的网友
      多谢提醒 :)
      内部硬盘安装系统的教程,俺还没动手呢 :(
      近期热点太多了(DNS全国故障、离岸公司曝光、许志永和王功权、等等),所以那篇还没顾上,抱歉 :(

      删除
    2. 说到这里请问下。内部硬盘安装时nt6 hdd安装吗?还是如何?这个安装完貌似再用true crypt 全盘加密的话会每次进去grub提示符后面就进行不下去了。因为我有两块硬盘,一个装过liunx一个没有装过,但用crypt时都卡在grub> 。我后来想了一下只能是因为nt6 hdd了。。。对于硬盘已更改的怎么恢复回去可以让true crypt全盘加密呢?谢谢!

      删除
    3. TO 2单元的网友
      TrueCrypt 全盘加密 如何跟 GRUB 混用,可能会导致启动失败。
      既然你有两块硬盘,可以考虑一块硬盘用 TrueCrypt 全盘加密(Windows),另一块安装 Linux。
      启动的时候在 BIOS 里面切换一下优先顺序(虽然这么干有点麻烦)

      非要搞在一起,也可以搞定,但是配置过程稍嫌复杂。

      删除
  7. 直接挂一层Privoxy代理不就好了吗。

    回复删除
    回复
    1. 这个除了防跨省,主要是平时你访问国内很多的购物网站,新闻网站等防止隐私泄露的。这时用代理就不方便了。

      删除
    2. TO 6楼的网友
      俺考虑到不是所有的网友都会使用代理上网。尤其是访问国内网站,大多数网友是不用代理的。

      另外,本系列和《[url=http://program-think.blogspot.com/2010/04/howto-cover-your-tracks-0.html]如何隐藏你的踪迹,避免跨省追捕[/url]》的侧重点是不同的。
      本系列只是普及隐私保护的知识,面向普通的网友。本系列不是针对隐匿性。

      删除
    3. 我有些不明白,隐匿性和隐私保护不是同一个意思了吗?

      删除
    4. 博主指的隐匿性是指让你访问的网站不能知道你的ip以及你的真实身份,这种情况既要防网站又要防网警,网警知道你的ip就能追查到你的身份,他们还会用各种手段追查你,因为你在那个网站干“坏事”了。
      隐私是指你访问的网站能知道你的ip,但不知你以前有没有访问过他们网站,也不知你以前访问过什么网站,当然更不能让他们知道你身份了。这种情况就防网站,网站也不会用你的ip追查你的身份,网警一般也不管,因为你没干“坏事”。这种情况你的隐私主要用于商业目的。
      显然隐匿性比隐私保护要求高。

      删除
    5. 回2单元和6楼楼主:privoxy更类似一个过滤器,当然也可以作为http到socksv5或者其他http代理的接口,而不是一个服务。不过配置真心麻烦,要自己改配置文件,配置过滤规则的时候还得用正则表达式,估计多数网友不会了。我学习过滤UA的时候找了半天找到了。
      顺便提下:在privoxy里面自己修改headers,增加X-FORWARDED-FOR项目,然后去很多网站招摇过市,可好玩了~

      删除
    6. 回5单元,如果只是改X-FORWARDED-FOR,火狐有很多插件改header的,很方便,不用编辑privoxy这么麻烦,不过还是看你使用习惯吧。

      删除
    7. TO 3单元的网友
      这个问题问得好!
      “隐私”和“隐匿性”是不一样的。
      “隐匿性保护”的要求更高,是在“隐私保护”的基础上,增加了“对真实身份的隐藏”。

      删除
    8. TO 12345
      多谢替俺回答 :)

      TO 5单元的网友
      多谢分享 Privoxy 的经验 :)

      删除
  8. 不知博主的编程学到什么程度了,是一直在python还是已经到c/c++语言上了?有没有兴趣转向移动开发呢(例如做个具有穿墙能力的“编程随想”android app,免了繁琐设置安装好就可以看了)

    回复删除
    回复
    1. 苹果商店里就简单了,用苹果提供的软件做个电子书,丢到商店里免费,就都能看了。只不过花时间。

      删除
    2. amazon的解决方法。
      前段时间入手Kindle Paperwhite,这已经是我第三个Kindle设备了。想当年我花了四五千块钱,在亚马逊美国站上跟着老美预定,可谓是全世界第一批Kindle DX(大屏幕的那款阅读器)用户,不过用着用着后来还是去玩平板了。这次Kindle Paperwhite出了国行设备,才849元,顿觉实在是太便宜了,立即下单,第二天就拿到了这台设备。

      有了设备自然要用,除了官方书店里买的书以外,第三方的内容自然也必不可少,毕竟目前国内的Kindle电子书还太少(尤其是计算机方面的),还好之前也从国外买了不少mobi电子书,可以直接看。更重要的是,我发现可以使用calibre这个电子书管理神器来抓取网络上的内容,生成一本电子期刊,甚至可以利用亚马逊提供的邮箱推送服务来传送到Kindle设备上。

      calibre可以通过一个RSS链接经过简单设置转化为电子书,是为“基本模式”,与此相对的“高级模式”便是自己编写Python脚本来抓取内容了,这样的抓取脚本被称为“recipe”。calibre为此提供了一个抓取框架,让我们覆盖一些方法,提供一些基本信息,就会去自动下载网页内容了。其实calibre也已经内置许多新闻源的抓取脚本了,但自带的MSDN Magazine脚本只能通过RSS来获取最新的内容,而我的目标是将某个月的内容抓取成一本书,要实现这一点只能自己动手丰衣足食了。

      本来我还想看看是否能够使用一个脚本来抓取历史上所有的内容,结果发现这个基本很难。我猜MSDN Magazine的编辑们也是一群不懂技术的人,甚至是交给第三方公司在维护,用了一款很土鳖的CMS系统,生成的HTML格式很差。还好,每一年的版式似乎还是相同的,那我至少可以用同一份脚本来抓取2013年里每个月的内容。尽管如此,要获取所有文章的栏目,标题以及简介还是一份挺麻烦的工作,因为HTML使用地不规则好么!

      至于calibre抓取框架本身,要说复杂倒也还好,只不过文档实在讲的有些不清不楚,又难以调试,所以开发起来只得不断尝试,效率很低。这个框架用到了Beautiful Soup,但我根据它的文档却发现好多地方不太一样,后来才发现calibre集成的是其旧版。更坑爹的是,根据Beautiful Soup文档中的包引入方式:

      from BeautifulSoup import BeautifulSoup, NavigableString
      这么做不会出错,也能正确调用其API,但却无法与框架中的soup对象配合使用,例如使用isinstance来判断其中的文本节点是否是NavigableString类型的对象,居然会返回False!后来才发现,原来在calibre中需要这么做才行:

      from calibre.ebooks.BeautifulSoup import BeautifulSoup, NavigableString
      发现了没?框架中使用的是calibre.ebooks.BeautifulSoup包,而不是BeautifulSoup。既然如此,那为什么还要让它引入成功?为什么我将一个BeautifulSoup节点添加到框架的DOM树中时,既没有报错也不生效?总之,这些坑浪费了我许多时间,真是岂有此理。

      2013年MSDN Magazine的抓取脚本我已经上传到了GitHub上,欢迎随意使用。最近我还打算写几个脚本用来抓取其他一些内容,例如每日的InfoQ新闻等等。InfoQ的RSS只输出摘要,令人不爽,但这对于calibre来说完全不成问题——反正内容是去网页上抓下来的。

      删除
    3. TO 8楼的网友
      看你的第一个提问,估计你没有看过本博客关于“编程”分类的博文 :)
      对于第二个提问:俺目前的业余时间,光用来写原创博文并回答网友提问,基本上就耗光了。
      恐怕没时间再去搞手机 App 了

      删除
    4. TO 1单元的网友
      俺个人不太喜欢苹果的生态圈。
      苹果的各种系统都太封闭了,而俺喜欢用【开放】的系统(比如 Linux 之类的)

      删除
    5. TO 2单元的网友
      非常感谢分享 calibre 和 RSS 内容抓取的经验 :)

      删除
    6. 对,要搞开放的东西!

      删除
  9. 关于 〈---如何防止黑客入侵[6]:Web相关的防范 (中)---〉多操作系统用户,《windows7安全指南》这本书有详细的介绍,另外关于各个用户和用户组权限的介绍也很详细。大伙儿可以看看这本书,至少我看完后,安全意识提升了不少,里面介绍的链接的四种方式:目录链接,快捷方式,符号链接,硬链接。对我来说还是蛮有用的,可以来回跳跃。另外还有软件限制策略,应用程序控制策略(PS:xp无此项功能),特别是应用程序控制策略,可以根据软件的元数据限制软件行为。比如360软件,即使证书换了,也可以根据文件-属性-详细说明里面的项目来限制软件行为。另外防火墙的功能也不要忽视啊。我喜欢使用系统内存在的功能。

    回复删除
    回复
    1. TO 9楼的网友
      多谢推荐书籍 :)
      《windows7安全指南》有电子版,俺抽空上传到网盘分享。

      删除
    2. 《windows7安全指南》已经上传到[url=https://code.google.com/p/program-think/wiki/Books]俺的网盘[/url]

      删除
  10. EFF测试工具的链接指向其wiki了。

    回复删除
    回复
    1. TO 瘦肉丝
      刚才俺看了一下,那个 EFF 测试指纹的页面应该还在啊

      删除
    2. EFF 测试指纹页面可用https://panopticlick.eff.org/

      删除
  11. 楼主哥哥你好 关注你的博客很久了 只是一直没有评论 今天突然悲从中来
    我就在几个月前刚被确诊为HIV阳性 成了一名艾滋病病人 我还很年轻才20多岁 疾控中心说我坚持使用抗病毒药物可以活个几年 不知道是不是真的
    我感觉疾控都是培训好的说辞 主要是为了维稳 怕患者报复社会 你说是吗? 到底艾滋病的真相是什么呢?

    中国现在没有好的药物 药物又贵 艾滋病人也没有补贴 我收入也不高 家境也不好 不知道还能维持多久 主要还是国家关心艾滋病群体关心的不够! 我感觉艾滋病最大的问题就是钱的问题 如果那些贪官的钱拿出一小部分 就不成问题了

    楼主可以给我这样的艾滋病人指条明路吗? 我们这个群体该怎样才能获得党国更多的关注和拨款还有社会支持呢?

    我真的不想像一些堕落的人那样去恶意传染无辜的人 可如果感染的人不多 我们这些艾滋病人是不是没人重视只能等死了?
    我自问从来没吸毒 没做恶 没做过什么亏心事 一辈子本本分分 这病可能是前男友传给我的 我真的很冤枉

    楼主哥哥 我是个没主见的女孩子 现在我真的很绝望 不知道楼主能不能给我们艾滋病患者一些指示 难道我们这些艾滋病人只能通过“煽颠 ”一类的行为才能引起党国重视吗?

    我一个人真的很害怕 很害怕 而且中国现在不能安乐死 请问楼主 我们艾滋病人怎样才能争取到安乐死的权利呢? 实在不想发病时痛苦地死去

    不知道有多少人能感同身受我的处境 我一个姑娘 一个人 真的很怕很怕 怕孤独 怕一个人凄惨的死去 平时夜深人静一个人翻翻墙看看新闻 看楼主的博客 楼主的博客早已经成为我生活的一部分 今天第一次评论就这么沉重 实在是我不知自己还能支撑多久 给父母打电话时 爸妈伤心的哭了 我从没听过父母那么绝望的哭声 他们年纪大了 我更是不忍心拖累他们 写到这里我已经泣不成声 自己这病更是不敢再告诉其他人 生怕被疏离被排挤 谁不希望和乐观的人在一起 而我这样阴郁的人只能让别人更加烦闷 大概躲我都来不及呢 自己连个说知心话的人都没有 因为没患病的人可能无法理解 死神靠近之时的恐惧和绝望 现在中国的大环境 人人都自顾不暇 生存艰难 谁还有心情理会我这种人的死活呢 想必平时来这里的人平时也都会因为天朝各种事不顺心 会愤怒 之前我也这样 好怀念那些愤怒的日子 可现在我已经愤怒不起来了

    不知道楼主哥哥平时生活中是不是一个坚强乐观的人呢? 不知道如果想和楼主哥哥交哥朋友的话 楼主会不会嫌弃我浑身散发着腐烂的气息呢? 会不会嫌弃我没用呢? 很想知道楼主哥哥夜深人静的时候是否会失落 是否偷偷哭过? 楼主哥哥遇到挫折是如何面对的呢?

    最后 给楼主哥哥一些小小建议可以吗? 就是哥哥一定要保重身体 平时多吃有利于健康的食物 不碰烟酒 尤其不要熬夜好吗 熬夜是免疫力杀手 好好休息 不要过劳好吗
    希望楼主哥哥能好好的 我怕我是活不到党国崩溃的那一天了 可是我不甘心 我染上这病也和穷有关系 因为穷才想着找个有钱点的男友帮助我上学的学费 可天有不测风云 如果不是党国执政 中国不会那么穷 我的日子也不会那么苦 很多人的生活质量和命运都会不一样 如果不是穷 就算染上这病了也不担心没钱看病治疗 党国根本不管我们这些艾滋病人 前些日子习近平夫人彭丽媛的一系列关心艾滋病儿童的公益也感觉是作秀而已 国家要真有心 随便拨点经费艾滋病就能攻克了 以我国的科研实力绝对能做到的 那点钱和他们贪污的钱比起来简直是小巫见大巫 所以我死前看不到党国崩溃也希望死后共党倒台 因为中国这几千万的艾滋病人之所以染病和得不到治疗 共产党是罪魁祸首!!!!!!!!!!!!! 我真的好恨 可又无能为力 只有期待楼主哥哥身体好好的不要像我一样病怏怏的

    因为楼主哥哥在我眼里一直是以救世主的形象出现的 像是茫茫漆黑宇宙中的光亮 燃烧着自己 (希望你不要觉得夸张 是真心话)一直很崇拜你 我知道党国是信不过也靠不住的 我自己又缺乏辨识能力和主见 现在只求楼主哥哥给我指条明路了 如果沦陷区居民哥哥能看到 也很想听听你的意见 你们都一直是我的偶像 很多个夜晚 我都是看着你们的文章和评论度过的

    回复删除
    回复
    1. 人固有一死。可能我明天走在街上就被撞死了,未必活得过你。

      艾滋病的治疗现在已经很成熟了。用鸡尾酒疗法控制病毒数量的话,除了免疫力低一些,其他方面都和未患病的人差不多。你可以把艾滋病看成像高血压一样的慢性病。

      可能很多人或多或少会对艾滋病人有歧视。但你自己不能歧视自己。只有自己坦然面对自己的病情,才能获得他人的尊重。

      删除
    2. TO 孤独艾滋姑娘
      非常感谢写了这么长的留言,分享你的遭遇。

      关于“艾滋病人的维权”
      这方面俺了解不多。刚才大致搜了一下,“[url=http://www.weiquanwang.org/?cat=239]维权网[/url]”有一些报道,你参考一下。
      另外,你可以利用互联网找一找这方面的民间维权组织。
      找到维权组织好过一个人孤军奋战。

      关于“如何对待逆境”
      可以参考俺2年前的博文《[url=http://program-think.blogspot.com/2012/01/stockdale-paradox.html]"心智模式"系列:如何面对逆境?——兼谈"斯托克代尔悖论"[/url]》。希望这篇博文能够给你启发
      再补充一下:心态很重要——尤其是对患病的人。保持乐观的心态,才可以长期跟病魔战斗。
      另外,切莫为此感到自卑。人与人是平等,即使是患病的人,依然是平等的。

      最后,非常感谢对俺的关心。
      俺也会注意劳逸结合,这样才能长期跟朝廷作斗争。
      身体是革命的本钱!

      另外,俺并不是啥“救世主”,这个说法严重夸大了。
      俺只是一个普通的网民,力图在一个不正常的国家作一个正常的人,尽自己微薄之力,希望能帮助其它网友。

      删除
    3. TO Atry
      多谢替俺回答 :)

      TO 孤独艾滋姑娘
      Atry 提到“鸡尾酒疗法”,俺突然想起去年的一个新闻。
      貌似美国那边有一个艾滋病患者在接受骨髓移植后,HIV病毒 消失了。
      这个病例未必有普遍的代表性,但这是一个突破的希望。

      删除
    4. 咦?!这个留言啥时候发的,在另外一篇(五年纪念)博文中也有发过,原来“发了两遍“是这个意思

      删除
    5. 编程兄,我觉得你这儿,是1984BBS之后,最好的论坛风格了。但是你看看现在的留言那么多,已经不再是博客方式能够容纳了。很多有很好想法的人都被你吸引过来了,他们互相提问,互相回答问题,你也已经无法一个人来回应所有的问题了。源源不断的讨论,这不是一个人的战斗。

      到了认真考虑采取论坛形式的时候了。最简单,就是Google的讨论组。所有的人都可以发贴,都可以互相回应。不光是技术,还有政治,还有环境,种种话题,都需要有解决办法。

      删除
    6. TO 孤独艾滋姑娘
      非常抱歉过了这么多天才看到你的留言。我仔细看完了你的跟帖,心情变得很沉重,但是我还是要跟你说,第一,请你坚持;第二,请你镇定。

      先来说说坚持。就我个人来说,活到现在绝不敢说一路顺遂,期间变故非一言所能道尽。我也曾面临绝望的境地,也曾接受上天施予的严苛考验,我的经验就是,在任何情况下,善待自己,坚持到底,我坚信天助自助之人。就你目前的处境,这个病它首先是一种精神上的折磨,我们首先要面对这个现实,坚持的要义,一是你才20来岁,这个病并非立即致人死地,如果你在精神上能接受病魔与你并存的现实,就会觉得比较轻松,关键是把心结打开,坦然接受这个事实;二是,你的父母还需要你,如果你放弃了自己的生命,请想想你的父母会陷入如何的绝望境地,为了他们,请你坚持;三是,科技在飞速发展,AIDS在未来十年二十年攻克的可能性越来越高,编程兄的资料也提供了相关信息,你的坚持可能会带来转机。总之,别轻言求死,你连死都不怕了,还怕坚强的活下去吗?!

      再来说说镇定。我对镇定的理解就是,冷静下来,理性思考。我个人认为,你可能需要冷静与你的父母沟通,告诉他们真相的同时,需要他们理解这个病的传播途径没有空气传播和日常接触传播,避免不必要的恐慌,有助于你重建被病情击溃的家庭关系,让你面对病魔不再孤独而绝望。我深刻理解,在患病时得到理解和支持有多么的重要。

      其次,镇定下来,还有助于你和同事处好关系,在现在的情势下,整日绝望和愤怒充斥于心,恐不利于你善待自己与病魔抗争;

      最后,心中平静后,积极寻找治疗途径,能取得病友群体的联络和信息也非常重要,能大大减少不必要的花费,少走弯路,能得到更好的治疗。

      总之,坚持,善待自己,积极治疗,等待转机。你不是和我们一样盼望中国实现民主走向真正的共和与自由吗,你要坚信你一定活得过党国的。镇定,与你同在这片国土,同胞之爱,袍泽之情,无法分担你的痛楚,但是我们为您开导心结出谋划策,如果还需要我们其他的帮助,请不吝告之。以上与您共勉,并致新年祝福。

      删除
    7. 千万不要放弃求生的信念。国家还是提供了艾滋病方面的医疗的。如果你是小地方,你需要和其他的艾滋病患者取得联系,人多力量大,看看他们有没有什么已经提供的福利可以给到你。

      删除
    8. 目前全世界完全治愈的艾滋病有二例。一例是博主说的换骨髓。那例是德国的艾滋病患者得了白血病找了个欧洲人的骨髓换居然没有发现艾滋病病毒,其原因是欧洲一部分天生免疫艾滋病的人群,据说和黑死病有关系。地二例是婴儿治愈,是去年的新闻,一名新生婴儿被母亲传染,据说那次是靠药物治愈的。to那个女孩活着就是希望,可能过几年可治愈。活着,活着,好好活着。

      删除
    9. 刚看到一篇文,分享出来勉励一下11楼

      每天打針的快樂小女孩

      眼前這位小女孩,總掛覑一張爛漫的笑臉。不認識這位小女孩的話,大概會認為她跟一般五歲的孩子們沒多大分別,都是那麼的可愛。的確,這位小女孩與她的同輩一樣,喜歡上學、遊戲。然而,她每一天比同學們需要多做一件事情:注射胰島素。

      患第一型糖尿病

      這位小女孩患的是第一型糖尿病,製造胰島素的胰臟細胞被自身免疫系統所破壞,因此須靠注射胰島素來維持身體碳水化合物的正常新陳代謝。相反,較常見的第二型糖尿病,則是由於身體其他細胞不能正常運用胰島素而引致血糖積聚,一般可用口服降血糖藥物控制病情,未必需要注射胰島素。其實,兒童和青少年患上第一型糖尿病頗為常見。可幸的是,現在已經有各類型的注射胰島素療程,只要及早開始接受適當的治療,年輕患者絕對能夠過正常的生活。

      視注射胰島素為生活部分

      記得有一次跟小女孩聊天時,她歡樂地跟我分享她的生活:「每天我早上起來先要打針,吃過早餐後跟媽媽和弟弟一起上學,中午在學校吃飯時也要打針……」她這番話讓我有點詫異。當我正擔心她會否因每天需注射藥物而感到難受之際,小女孩竟把注射胰島素這件事情看得非常理所當然,就像刷牙洗澡一樣,成為了她生活中的一部分。同時我也感到很欣慰,因為從她的語氣當中聽得出她的家人、學校和同學都支持她。那一刻,我體會到疾病並不是對自己或他人的標籤,對一些病患者來說甚至可以說是生活的一部分。希望其他病患者都能夠像小女孩一樣積極地面對治療,鼓勵他們要抱覑正面的態度面對疾病。

      删除
    10. 认识一个曾经是疾病中心专管艾滋病患者和感染者的工作人员,据他所说,艾滋病人的治疗费用是免费的,政府还有每月的生活补助。这些费用大部分是国外的基金支持,后来因为疾病中心没有专款专用(也就是有贪腐),这些外国基金停止了对中国每年的拨款。地方政府只好自掏腰包,原因也是为了维稳需要。疾控中心的人会定期跟踪所在地的艾滋感染者。

      艾滋病的管理可能每个省份都不一样,河南的感染者受到的照顾一定是远远低于北京的感染者。这位孤独姑娘不幸感染了艾滋,更不幸得是她生在非北京上海的其它中国地区。

      提到艾滋病,就不得不提一下河南的高耀洁医生,因为为艾滋病感染者呐喊,80多岁的高龄被党国流放到美国,党国爪牙对高医生的子女施压,让家人反目。高医生的女儿不堪压力,全家出走加拿大,至今不和高医生联系。

      如果大家想知道更多中国艾滋病的情况,推荐河南社科院刘倩的”血殇“,这本书是由一家台湾出版社出版的,网上有电子版。另外”老虎庙“的视频里也有刘倩在西安一所大学的演讲,值得一看。

      中国的艾滋病和中国其它的灾难一样,远看是天灾,仔细一看都是人祸。艾滋病泛滥的前因后果”血殇“里有详尽的阐述,我就不一一写出。

      我要提得一点是,朱镕基的分税制是艾滋病传播的推手。因为朱的分税制,中国的税收大部分集中到中央,但是中央只抓财权,事权还是留给地方。省级和市级政府有样学样,抓财权,事权留给县乡政府。县和乡的政府没钱但是还要承担很多社会管理功能,水利,公路,卫生,教育等等,外加庞大和臃肿的机关人员的工资。怎么办?只能再往下盘剥。沿海发达地区的乡镇工商业发达,税基也大,对普通民众没有什么影响。不过对于内陆以农业为主的乡镇,这笔钱就是农民,中国最底层的人的血和汉,农民不交足税的话,房子被扒,牲畜和粮食被拖走,日本人当年也没有如此。”提留“ 这个词大家可以百度一下,就是因为层层提留,很多农民被迫卖血。陳桂棣的 ”中国农民调查“这本书也描述了当时农民被盘剥的凄惨。

      朱镕基当年为了推动分税制,曾放豪言,要预备一百口棺材给贪官。当年包括我在内的很多人都被感动的一塌糊涂。现在看来,朱想说的是不听中央的话,就以贪污罪抓起来,没一个人是干净的。贪官没死几个,死得都是农民和下岗工人。

      中国这十几年的社会问题都是这个恶制度下得恶政策产生的。奇高的房价物价,农村的败落,环境的破坏,贫富差距,看病难,教育难,艾滋病,地震中倒塌的学校。当年温家宝影帝信誓旦旦要调查汶川地震中倒塌学校的豆腐渣工程,直到现在也没有官员或是建筑商受罚。为什么?因为分税制后中央把钱都拿走了,但是还要考核地方学校的建设,再加上地方的官员雁过拔毛,能用豆腐渣建起来的学校就已经是奇迹了。查也只能查到中央。这怎么查?全国农村的学校都是这样,区别就是有没有地震罢了。

      希望孤独姑娘坚强起来,过好当下的每一天!

      另外感谢随想博主牺牲自己的业余时间甚至是睡眠来帮助大家掌握翻墙的技术!好人一生平安!

      删除
    11. TO John Smith
      谢谢你的肯定,如果跟贴留言能inspired you,那我的努力还算有点效果的,如果能帮到这位姑娘那就幸甚大焉。

      另外,我翻了下维基百科,摘录如下:

      全球科研結果

      此外,媒體曾多次報道全球的科研人員已發現多種可有效醫治、甚至根治愛滋病的方法,現正進行一連串臨床測試,可算是給愛滋病携带者的一線曙光,包括:
      安哥拉愛滋病患聚會

      2007年:
      6月,德國科學家宣佈成功從人類細胞中分離出愛滋病毒(HIV),令細胞再次變得健康。愛滋病毒可被一種叫Tre的酶「剪走」,然後恢復健康,2010年前會在老鼠身上進行試驗,預計2017年前會找出根治愛滋病的方法。[38]

      2009年:
      6月,加拿大蒙特利爾大學則發現或可徹底治癒愛滋病的方法,使用現時治療癌症的化學療法,可將藏在免疫系統記憶T細胞內的愛滋病毒一併殺死,故建議結合化療及雞尾酒療法同時對付愛滋病。[39]

      7月,南韓蔚山醫科大學發現高麗紅參可有效提高人體免疫力,該項長達21年的研究發現,其中一名于1988年確診,從沒服食愛滋病藥物的病人,只服食高麗紅參,但至今仍健在,顯示該病人體內免疫細胞回復至正常水平,大部份愛滋病毒的基因也被破壞,已接近完全康復狀態。[40]

      9月,美国和泰国研究人员共同宣布,双方合作开发试验的一种“联合疫苗”可将人体感染艾滋病病毒的风险降低31.2%。[41]

      12月,

      加拿大麦吉尔大学研究人员研制开发的新型艾滋病治疗方法首次临床试验获得圆满成功。该疗法可能比目前广泛接受的鸡尾酒疗法更有效。[42]

      以美国罗切斯特大学教授罗伯特·班巴拉为首的研究小组或发现帮助艾滋病病毒在人体内传播与复制的基因,这项成果将有助于开发治疗艾滋病的疫苗或新药。[43]

      加州大学洛杉矶分校艾滋病研究所的专家们宣布,他们能够找到一种可以杀死艾滋病病毒的干细胞,将有效的防治艾滋病病毒,该研究成果使成功治疗艾滋病的前景变得更为光明。[44]

      由捷克和德国的科学家组成的研究小组日前宣布,他们正在研制一种新的化合物,动物实验显示,它能够阻止艾滋病病毒的复制增殖。该化合物日后可能被用于临床药物的开发。

      有这么多的好消息,还有以上各位网友倾力相助,难道不应该好好关爱自己,心平气和等待奇迹吗?我还建议这位姑娘,多进行体育运动,多吃一些健脾开胃的食品,比如核桃,增强自身体质,保持身体活力,把病毒牢牢压制住,配合治疗,无限期拖延并发症的爆发时限,提高生存几率。

      删除
    12. 中国艾滋病完全是土共搞出的人祸!!!导致今天感染者如此众多。
      除了农民卖血导致艾滋村的出现,对高危行业如娼妓业(包括卖淫的男同性恋者,俗称MB)宣传和干预的失败,还有学校防艾教育的失败,使很多人还以为艾滋离我们很远,其实艾滋就在我们身边 。

      最惨的还是一些因为被输血和被GAY佬骗婚(同妻)导致感染的无辜牺牲者,这些人尤其是同妻最无辜。
      这还是人祸,跟天朝的宣传失败分不开,正确的做法应该是宣传婚后也带套避孕的而不是对女性强制结扎!这是对女性极大的不公和侵害。这又要扯到灭绝人性的计划生育政策(已经被联合国认为是种族灭绝了,对汉族的种族灭绝 这再扯又要扯到民族政策上 汉人几千年多子多孙的传统怎么到共匪这就不能生二胎?凭什么少数民族就能多生?朝鲜族妇女生二胎补贴5万,这不是种族灭绝是什么?)
      男的带套不爽就让女的去结扎,为什么?很简单,中国女人老实,中国女人好欺负,中国女人不会闹事!
      被GAY骗婚染上艾滋的同妻们更是没地方说理去,天朝一直在默许渣男对女性的残害来维稳和舒缓社会压力。
      而中国社会养老制度的不完善使得老年人对子女的逼婚现象严重,很多GAY对妻子隐瞒自己是男同性恋的的事实又一边与婚外男性情人肛交感染艾滋,导致了大量无辜女性被感染和艾滋婴儿的增加。这又要扯到共匪一边污蔑孔子和儒家思想又一遍提倡所谓”孝道“,把养老的重担压到老年人的子女身上。殊不知孔子”孝道“是孔子和儒家思想的核心。共匪在这个问题上真是会搞双重标准。

      还有吸毒者导致的艾滋感染也占很大比例。这让我想起当年日本入侵,国民党在抗日,共匪却在大后方种植罂粟卖鸦片。包括当今的朝鲜大量制售毒品销售到中国。除了海洛因这种注射吸毒导致的血液传播外,新型毒品,冰毒,麻古,摇头丸也成了艾滋传播的催化剂。因为这类新型毒品吸食后可导致吸毒者性亢奋引起性乱交。

      据我所知,冰毒,麻古等新型毒品是一些国企老总高管和官二代的宠儿,俗称溜冰。在五星级酒店溜完后通过拉皮条的叫上几个所谓模特(包括职业小姐,学生,普通上班族女性)大乱交搞群P是一些精神空虚的官二代的日常节目,而这些女性通常主要目的是解决经济困难,她们大概不知道这些男的有多乱有多脏可能一不留神就染上了艾滋。

      而当百度搜索敏感词会被屏蔽时,搜索”冰毒 麻古 Q”等关键字时却能搜到一大堆毒品交易信息,这就是天朝对毒品的管控低能。

      还有现在信息化越来越普及,诸如微信摇一摇等交友方式日益多元化,再加上有这样腐败低能的天朝,艾滋病不大爆发才怪呢。

      艾滋病控制的失败应该由相关的政府失职人员买单,可是每年发给感染者的免费药物和补贴,却是老百姓的血汗钱里抽出来的,中国几千万艾滋感染者,凭什么要老百姓买单?应该让权贵们负责任来买单!

      有些艾滋病人报复社会到处扎针,其实这不是社会的错,归根结底都是共匪的错。我想说,我要是艾滋病感染了的话,要扎就扎官员和权贵,扎普通老百姓没用的。告诉你们艾滋病人吧,只有权贵染了艾滋这种绝症的情况下,中国就会立马就会在艾滋攻克上投入更多经费来研究治愈性疫苗!而扎普通老百姓只会让供养艾滋病人的健康人越来越少,而对疾病攻克没有任何帮助,老百姓感染再多都和权贵们无关痛痒,吃亏的最后还是你们自己。

      删除
    13. 不献血+不卖血+管好自己的小丁丁+慎重交友=高枕无忧

      删除
    14. TO 上单元的守夜人
      你说的不全 还要加上全程带套
      还要注意一些恶意传染艾滋病的感染者,包括某些医生 (有些医生因为职业暴露感染艾滋大概他们心里不平衡吧)
      不要接触他人血液

      一旦不小心接触了艾滋病毒的学业可在12小时内到当地疾控中心服用阻断药物可避免感染

      删除
    15. 献血也会感染艾滋?不是吧?

      删除
    16. 献血也会感染艾滋?不是吧?
      -----------------
      不能保证针头上没有艾滋病毒

      尤其是贫困地区的血站

      删除
    17. TO 11楼的各位网友
      非常感谢几位的热心,非常感谢几位发表长篇留言帮助“孤独艾滋姑娘”

      删除
    18. TO 5单元的网友
      多谢夸奖,多谢提建议 :)
      上个月也有其它读者提过类似的建议。
      俺也在考虑,是否要搞一个论坛?以何种形式搞?如何保证参与者的安全?如何让其内容具有较好的信噪比?

      删除
    19. 要不要搞论坛还是专门发文章征询意见吧,这跟贴不一定有很多人看到。这事的规划得要很谨慎,广纳言路吧。

      blog留留言还好,搞论坛会增加博主和网友发贴子的风险和成本,估计现在大多数读者的隐匿等级都只是入门吧,单用GAE、单用VpnGate、单用FG等等。 论坛也要有协助管理者(版主等),这些位置背负的风险也比较大。博主(管理员)- 版主 - 发贴者 - 回贴者 - 浏览者,如果不硬性地推广提高隐匿等级,恐怕中的者甚众。

      首先很有编程兄风格地提问,办论坛的目的是?

      能想到的是:
      1.减轻编程兄的负担;
      2.更方便讨论;

      我认为1是最重要的。

      之所以有高质量的评论,是因为有高质量的文章和话题。有时间有能力有意愿撰写出有深度文章的引导者很少,一旦要普通读者变成作者和话题引导者,不能确定会不会变成你水几句,我回三行这种灌水状态,这样浮浅还不如看完博文回去静下心阅读书籍,论坛形式的价值就不大了。

      所以若要变化为论坛形态,定位定要是以博客为主,整合了编程兄的wiki收藏,附带了求助区等其他些许次要功能。

      可根据内容分类来解决信噪比问题。编程兄博文区、读者来稿——不知道有没有读者也能写出好的文章、优质文章shared和开放书目推荐——取代GR的共享、同舟共济——各方面的求助解答。也不用分太多的channel。 简单结构、鼓励深度讨论和分享、有快速问答,这就差不多了。

      至于基于什么做论坛,还是IT码农来回答吧。Google近年关了不少产品,Group不知道能活多久。不挂靠大公司可能会经常被攻击。选择合适的还是要考虑一下。另外,现在这个博客的结构很优秀,(包括目录分类、留言楼中楼、相关链接等)最好能保留下来。

      最后表示变为论坛的利弊衡量不明确,个人对目前的blog形态挺习惯和满意。

      删除
    20. 我不知道论坛是怎么定位的

      如果是以政治为主,或是以编程随想本人为主(个人色彩大过其他人),那我强烈反对搞论坛

      理由如下:

      1.编程随想本人已经有一个博客,再搞一个以自己为中心的论坛,那会大大增加他的个人风险

      2.编程自己的安全意识很强,不代表其他网友的就跟他一样,别到时候他自己没事,网友自己有了三长两短

      论坛本身没啥,就怕论坛线下的交流,这个最危险

      万一有个卧底在论坛里猫着,谁能看得清楚?

      不过这也只是我个人看法,具体怎么实行,还得专业的人去想办法

      个人觉得,有两种论坛风险最小,一个是全公开的,一个是全封闭的

      夹在中间的那种,风险最大

      删除
    21. TO A 和 守夜人
      多谢两位提供的建议和分析 :)
      今天才看到两位的留言,抱歉 :(
      关于是否设置论坛,俺还在考虑中,尚未最后决定。
      眼下先搞定“博客电子书”这事儿。

      删除
    22. 如果想设置论坛,强烈建议设置在 i2p中,慢点,但是安全呀

      删除
  12. 似乎在这问 不合适 ,不知道 楼主对 十年 文革 什么定义, 是政治清洗?革命运动? 一直很模糊 ,维基百科的评论也不那么清晰,想听听楼主的看法

    回复删除
    回复
    1. TO 12楼的网友
      先声明:
      你这个问题比较大。用简短的话语描述,可能有失全面。

      俺个人观点简述如下:
      文革从政治斗争的角度看,是老毛彻底清洗开国功臣,为自己属意的接班人(江青、毛远新)铺路。
      从意识形态的角度看,文革说白了就是要把其它的文化都摧毁,只留下“共产文化”。这种手法是极权主义惯用的。

      删除
  13. 我有点晕啊!用多重代理还要考虑浏览器指纹的问题么?

    回复删除
    回复
    1. TO 感冒了
      多重代理是为了彻底隐匿公网IP
      “公网IP”跟“浏览器指纹”不是同一个层面的东西。

      删除
    2. 打造个人匿名系统这个项目渐渐变得复杂。系统干洁-软件选择-安全的翻墙方式-保障DNS-多重代理-VMs匿踪(本地消痕,hosts-only)-浏览器保密(多用户,多实例,Flash, cookies, 指纹)-文件校验和加密-网络服务选用-账号密码构建和管理-社会工程学防御-移动终端(手机、pad等)特定的代理、匿踪、安保要点-国内服务操作界限-………虽还可分硬件、工具、服务、原理、操作技术,但终究是渐渐变成了一个系统性的工作。看了下,几个相关系列都还有后续博文计划,算是大项目中的大项目了,用技术的眼光看是不会有完结篇的。据说项目层次越多、越复杂,出错的可能性就越大,要达标要求的精度就越高,类似航天领域那样。期待有个大略的导图,让人可以鸟瞰这个安全地图。

      删除
    3. TO A
      多谢提建议 :)
      关于个人的信息安全,确实涉及好多不同的领域,即使对 IT 技术人员来说,也难以面面俱到。
      确实可以考虑,搞一个诸如“思维导图”之类的,让大伙儿有一个全面的直观的认识。

      删除
    4. to 感冒了。。。
      我有点晕啊!用多重代理还要考虑浏览器指纹的问题么?
      ------------
      1,多重代理主要隐匿ip,(网站和内部间谍软件都不会暴露你的IP。)
      2,指纹 可以将你的各次发帖联系起来。因为都是同一个指纹,哪怕你的IP不一样,也知道是你干的
      3,再比如,你用了各种匿名方法,但是你发帖时候,自己敲下自己的名字,发了自己的身份证号码,电话号码。前面的互联网技术隐匿都失效啦。
      4,如果学过通讯的话,参考下 iso 定义的 osi 分层通讯模型,要在各个层面隐藏自己。

      ----(开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,ISO/IEC 7498-1),簡稱為OSI模型(OSI model),一種概念模型,由国际标准化组织(ISO)提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。)

      删除
    5. TO 4单元的网友
      多谢补充 :)
      在《[url=http://program-think.blogspot.com/2010/04/howto-cover-your-tracks-0.html]如何隐藏你的踪迹,避免跨省追捕[/url]》系列中,俺也一直提到了,要注意不同层面的隐匿性。
      除了“网络层面”,还需要防范“操作系统层面”、“个人软件层面”、“社会工程学层面”

      删除

  14. 代理是隐藏公网IP的,不能隐藏浏览器指纹么?

    回复删除
    回复
    1. 有的代理可以,有的不可以。

      删除
    2. 代理是隐藏公网IP的,不能隐藏浏览器指纹么?
      ------- 基本不行呀,把希望寄托在别人身上是靠不住的。
      甚至 代理还会透漏你的IP,
      所以更安全的方法是用 tor

      删除
  15. 留言被吞了,请恢复。

    回复删除
    回复
    1. TO 15楼的网友
      有些留言被 Google 误判为垃圾留言,已经恢复了

      删除
  16. 我有三项都是21.86+,普通的办法不大可能消除这些指纹。
    * Browser Plugin Details
    * HTTP_ACCEPT Headers
    * System Fonts

    所以我这个账号就是实名账号,也不用费心隐藏了。如果要干坏事,还是得用Tor Browser。

    回复删除
    回复
    1. TO Atry
      如果浏览器中不装 Flash 或 Java 插件,系统字体应该不会暴露。
      另外,比特数的大头是 User Agent

      删除
    2. Flash和Java肯定是必不可少的。什么QQ邮箱图片上传插件、土豆加速、百度影音、迅雷插件、有道取词插件,在下也不打算删。

      删除
    3. 其实平时就是隐私性和方便性之间的平衡。最隐私性的设置会很麻烦,最方便的设置隐私性就差。这个要自己权衡了。

      删除
    4. TO Atry
      你可以参考本文介绍的 “多浏览器方案”或“多实例方案”。
      在某个浏览器环境中安装 Flash/Java 插件,在另一个环境中不安装(这个环境用来干注重隐私的事情)

      删除
    5. to 2单元: (测试新账号是否能用)
      我建议这些应用都归到虚拟机里,比如装个VirtualBox或者VMWare。这样既能使用这些不干不净的软件,又能保持宿主(Host)系统干净。就算这些软件在虚拟机里打架,死机了,宿主系统一般也就是稍微慢点(VirtualBox可以限制虚拟机的CPU使用最大量),强关也很容易。

      删除
  17. 我检测了自己的浏览器指纹,goagent的id都在里面,这个很容易定位。更改 UserAgent 名称照样出现。
    用户能够完全定制自己指纹内容麼

    回复删除
    回复
    1. 根据wwqgtxx所述:
      没有办法,goagent的id是gae强行添加上去的,除非不用gae用php模式
      请参见gae fetch api的文档
      https://developers.google.com/appengine/docs/python/urlfetch/

      删除
    2. 里面还有GAE的ID,请问在哪里,我也看一下自己的?

      删除
    3. to 3单元
      [url]https://panopticlick.eff.org/[/url] 点test me,User Agent的value里括号的appid就是

      删除
  18. 有没有哪个书是介绍中共杀人历史的,要详细专攻的。要有电子版的书...

    回复删除
    回复
    1. TO 19楼的网友
      [url=https://code.google.com/p/program-think/wiki/Books]俺的网盘[/url]有不少政治类禁书,你可以看看里面的“中共历史”这个分类

      删除
  19. 回复
    1. TO GlacJAY
      可能你用的插件组合是比较小众的。
      越小众的,独特性就越强,指纹的信息量也越大。

      删除
  20. xiugai tor chajian xinxi

    回复删除
    回复
    1. TO 21楼的网友
      为啥用拼音留言?

      删除
  21. 最好能有个软件修改插件名称,版本号,个数,分辨率

    回复删除
  22. 突然想到法轮功整机隔离,普通浏览器暴露的不仅是时区,而且还有时间(好像和主机系统相同的时间),系统类型,假设机器的时间和真实情况有差别,而时区又有差别,会不会成为指纹?

    回复删除
    回复
    1. TO 23楼的网友
      网页的 JavaScript 是可以获取当前系统时间的。从理论上讲,这也是一种指纹信息。
      如果你的系统时间设置了自动对时(时间始终是准的),那么这个指纹的信息量很小。
      反之,如果系统时间的偏差比较大,这个指纹就比较独特(信息量大)

      删除
  23. 请问编程君的博客会收集哪些浏览器指纹信息?如果有的话,有哪些?您看得到吗?

    再请问如何避免javascript和HTTP_ACCEPT Headers产生的指纹信息量?经实验,我发现我的HTTP_ACCEPT Headers的信息量有19bit,超过user agent的11bit。开启js后发现Browser Plugin Details也产生了很大的信息量。能否禁止javascript访问Browser Plugin Details?有不少网站没有javascript就无法正常工作,而开启js的话很可能产生大量指纹。

    再推荐个和“信息指纹”和“匿名”有关的网站:http://33bits.org/
    里面的两篇文章:
    数码相机的指纹和图片来源鉴定(上传敏感图片的朋友们要注意了!)http://33bits.org/2011/09/19/digital-camera-fingerprinting/
    说话方式的指纹:http://33bits.org/2012/02/20/is-writing-style-sufficient-to-deanonymize-material-posted-online/
    希望编程大牛能抽时间看看,也算是多一点防范吧。好像没在您的博客上看到图片,所以我猜想是无法通过找到出自您的照相机的图片来确定您的身份的,不过说话方式的指纹很可能成为有关部门的突破口!毕竟每个人都会在网上说很多话。

    祝平安!

    回复删除
    回复
    1. TO 24楼的网友
      首先感谢你分享隐私方面的文章 :)

      关于“本博客收集的浏览器指纹”
      本博客架设在 Google 的 BlogSpot 平台上。
      因为不是俺自己搭建的,对于 BlogSpot 会收集哪些访问者信息,俺不太清楚。

      在博客后台的管理界面上,可以显示一些统计信息,但是没有明细信息。所以俺【看不到】某个特定的访问者的浏览器指纹。
      根据管理界面的统计信息,BlogSpot 平台【至少】会收集如下几个信息:
      1、操作系统类型
      2、浏览器类型
      3、访问者的 IP(如果是通过翻墙访问,BlogSpot 收集到的是翻墙代理服务器的 IP)

      关于图片的隐私问题
      俺在本系列的后续博文会介绍。
      俺写的博文中,从来【没有】嵌入俺本人拍摄的照片。这也是为了尽量降低个人信息的暴露。

      关于文字表达的指纹
      确实可以基于某种算法,来分析不同文字的风格,从而判断其出自同一人的概率。
      所幸的是,俺比较低调——在开博客之前,一直是潜水,从未在论坛或邮件列表中发表过任何文章。
      所以这方面的风险还不算大。

      非常感谢你的关心 :)

      删除
    2. 好像EFF对很长的插件信息不会存储,我曾经开js上eff测试,发现我的插件组合是唯一的,然后刷新一次,发现visitor数增加了4,但是插件组合仍然显示是唯一的。

      删除
    3. TO 2单元的网友
      因为你是连续刷新页面,有可能 EFF 的这个测试页面判断出这是同一个用户,所以仍然显示“唯一的插件组合”。
      或许可以这样:
      你切换一下自己的访问者IP,清空一下 cookie,间隔一段时间,然后再去看统计。看看是否还显示“唯一组合”

      删除
  24. 发帖时间也是重要的指纹信息。

    例如:假设编程随想在2014年8月27日12时34分56秒发表了一篇博文或一条评论(还不包括恢复被误删除评论等等会被看出来的操作),在12时34分56秒±3秒的时间段内:
    A正在qq/微信上打字
    B正在浏览百度贴吧
    C正在被刑事拘留
    D正在坐飞机
    E正在网游中奋战
    F正在打电话
    G在公交车上刷了一次卡
    H正在某个公安局布置的摄像机下睡大觉
    I正在某个口岸过境
    J在ATM取了1500元钱

    那么可以推断出,ABCDEFGHIJ都不太可能在同一时间发帖,所以不太可能是编程随想。如此不断地排除每个在编程随想发帖时不在场的人,就可以取得更多的信息。

    现在中共虽然腐败,筑墙的钱都贪污走了,但是也说不定哪一天会突然变本加厉地采用先进的大数据等技术。就以上面的一些不在场信息来说,政府都是比较有可能获取的,就有可能更进一步的筛选。

    下面我瞎掰一些数据来算下:

    中国网民假设为6亿人,
    假设每个中国网民平均每天有8分钟(占1天的1/180)被认为“有不在场证明”——这个数据波动比较大,如果你坐飞机,可能一小时以上都不能发帖;而对于一些对监控系统接触很少的“幽灵”来说,十天半个月也不一定有不在场证明。不过以编程随想的思想水平,是这一类“幽灵”的可能性很小。可以大胆的估计,编程随想平均每天打电话的时间和“有不在场证明”的时间在3分钟以上。
    假设编程随想(或者某个水王)每次发帖的时候都不是在自己被认为“有不在场证明”的时间,
    那么编程随想每次发帖时,都会有1/180的可能是编程随想的人被认为“有不在场证明”被排除掉。

    通过指数计算(179/180)^n可以得出:
    假如编程随想发了2000个贴子,那么可以排除到剩下8694人
    假如编程随想发了3000个贴子,那么可以排除到剩下33.09人
    假如编程随想发了3600个以上的贴子,那么恭喜!基本上可以排除到只剩1个编程随想本尊了。当然这只是仅用这一种方法的结果,如果配合其他的线索来筛选,可能需要的发帖量还更少。

    当然,以前建立这类不在场证明的大数据库的技术条件还不成熟,所以从比较早的发帖时间中,可以得到的信息量相对较少。

    不知道编程随想名下的有发帖时间的贴子有多少?是否已经上千了?

    解决这个问题其实很容易:只要先写好贴子,再设法在你被认为“有不在场证明”的时候发布,这样上面的这种方法就无效了。

    大数据、监控设施和人工智能的进步可能是隐私的威胁,为政府的监控提供条件,甚至促进政治的高压化。我希望编程随想能活到更光明的那一天,而不是被更高压的恐怖统治和更先进的技术压倒!

    回复删除
    回复
    1. TO 25楼的网友
      首先感谢对俺的关心 :)

      你提到的这个风险,确实存在。但是你的算法有问题。

      如果你稍微留意一下,会发现俺发博文的时间段相对固定,回复评论的时间段也是相对固定(通常局限在几个时间段)
      如果用你提到的这种排除法,最后会有一个比较大的群体,是始终无法排除的。
      (换句话说,范围的缩小,不是简单的乘方关系)

      比如俺经常在下午回复评论。这个时间段,很多上班族都在公司里,不会有公交卡的刷卡记录。
      而且大部分上班族都很少出差。所以根据飞机航班进行排除,只能排除掉很小比例的群体。

      至于你提到的“打电话”。这个没法用来进行排除。
      比如俺在回复评论的同时,也可能正在打电话。

      最后来说一下这种排除法的成本
      进行这个工作,需要整合很多的信息系统,难度很大的。
      比如说,不同大城市的交通卡,应该没有并网。
      至少在现阶段,用这个方法来定位俺,可行性不够高。

      删除
    2. To 编程随想
      博主在写博文或者回帖中的一些无意的小细节也会大大增加自己暴露的风险。
      比如博主回复时一个不小心,打了个错别字,那么我们就可能知道了博主平时使用的输入法的类型;
      比如博主写博文时随意带出的一个方言(当然不是指博主刻意使用的“俺”字),那么我们就能确定他大概处于天朝的哪一片。
      不过对于这些,我没有想到好的办法来帮助博主,只是把发现的都留了起来想哪天发给博主,提醒他注意下。

      删除
    3. 这评论注定被吃 等恢复2014年8月28日 下午7:34:00

      输入法就拼音和五笔两类吧。方言的话高技术人转户口流动也有很大范围。
      不过这类友情提醒最好在邮件私下进行。不要反过来提醒朝廷。

      删除
    4. 刚刚又发了一篇长文在26楼,很可能被和谐。

      删除
    5. 纠正一下:“用2byte/16比特存储事件的类型,4byte/32比特存储事件开始和结束的时间(2^32秒=4294967296秒=136年)”,存储开始和结束的两个时间应该是8byte,不过差别不大。

      删除
    6. 说的对,发帖时间也是一个指纹呀
      有没有(邮箱)自动发帖的,缓冲一段随机的时间发帖。自动发帖工具?

      删除
    7. 编程随想2014年8月30日 下午10:23:00

      TO 2单元的网友
      非常感谢给提醒 :)

      你提到的“输入法类型”,如同 3单元所说,主要也就是“拼音”和“五笔”两大类。这个信息量太小,没法作为指纹来进行排除法。

      至于“方言”嘛,俺有时候刻意模仿某些腔调,这可以用来混淆视听。
      古语有云:假作真时真亦假 :)

      TO 这评论注定被吃
      你这条留言果然被 Google 误判为垃圾广告。刚才俺把它恢复出来了。

      TO 4单元的网友
      26楼的长篇留言被 Google 误判。刚才俺把它恢复出来了。

      TO 6单元的网友
      “发帖时间”相对而言较少。比较多的是“回复评论的时间”。
      所以如果要考虑指纹的信息量,应该要留意“回复评论的时间点”
      关于这方面的防范,俺在 1单元 有提及。

      删除
  25. 谢谢回复。

    编程随想的发帖时间选得比较好。不过我这几天又继续思考了一下这方法的可行性。

    先说你说到的上班族(可能博主也是其中一员),我觉得其中的信息量还是比较多的。首先是某些工作岗位没有在工作时间长时间发帖的条件。例如流水线工人、厨师、服务员、保安、司机、快递员等。如果能获取各种企业的员工和岗位信息,就可以排除大量在发帖时段内正在工作岗位上的这些人。比较可能难以分辨的是办公室白领,但是这些人也会产生很多信息:不少人(我猜想>20%)会在上班时间使用qq/微信交流;有些人会休假、或者是公司的需要出去办事而不是呆在办公室里,产生的信息量就会大大增加;在周末,行动的自由度更多了,也会产生很多的信息。

    当然,不是只有确定的条件才能排除。例如,一边打电话一边发帖是有可能的,但是在“打电话”发生的情况下时发帖的概率会小于在一般情况下发帖的概率。如果打电话和发帖的次数很多,打电话的时间和发帖的时间就会出现比较明显的关系。与发帖人不相干的人,可能在发帖时间内正在打电话的次数会比较多一点点。
    同理,也有人可能在飞机上上网,这个情况的概率应该小于一边打电话一边发帖的可能。也就是说坐飞机比打电话产生的信息量大。
    这种概率上的关联还可以延续一段时间。例如你在ATM取款拿出钱的这一瞬间,你在网上发帖的概率最小,过了10秒以后,可能手快的人已经把手机拿出来了,发帖的概率比之前大一些,但是发帖的概率还没有恢复到一般情况下的水平。过了比较长的时间(如3分钟后),“在ATM取款”这个事件对发帖的概率的影响就比较小了。各种事件的概率函数可以通过实验或理论推算或保守的瞎掰得出。
    除了“负关联”,还有一些情况属于“正关联”,比如网络访问、访问国外地址、访问已知为tor节点的国外地址(正关联程度依次增加)。

    简单概括一下这个算法:

    第1步:数据获取——主要是有关部门人员通过索取数据或者黑客、社会工程学窃取的方法,获取网站访问记录、银行提款记录、刷卡记录、航班记录、过境记录、公司用人记录一类的资料。公共设施的信息在刑侦领域经常会用到,应该已经有比较成熟的获取机制,虽说无差别的数据获取可能会遇到一些阻力。某些企业的用人数据获取稍微困难一些,而且数据保存时限也有限,这一部分需要很多的人工工作量(假设每人每天能搜集100MB的数据,那么10000人需要近3个月时间才能收集到100T的数据
    )。同时,大规模的数据获取会产生一定的“舆论影响”——参照西方国家对信息监控、斯诺登爆料的舆论反响。
    第2步:预处理
    将获得的信息处理为统一的格式,例如:用2byte/16比特存储事件的类型,4byte/32比特存储事件开始和结束的时间(2^32秒=4294967296秒=136年),存储至多100000个事件只需600000byte,存储所有中国人的信息只需900TB,可谓相当袖珍——天河二号有5PB的存储器容量,世界知名的大网站的数据存储量可达到100PB(1亿GB/10万TB)的数量级。
    第3步:获取目标的时间指纹,例如发帖时间(虽然编程随想的博客上显示的评论时间只能精确到分,但是有关部门可以每1秒访问1次编程随想的博客主页,然后观察“最新评论”的变化)、文件修改时间(如果你上传的某些文件含有可以确定为时间指纹的信息)。由于这一步只需要获取几千个左右的时间指纹,可以由人手完成。
    第4步:划定范围
    以编程随想为例,在2009年开张博客,可估计年龄〉20岁,同时不太可能是远离信息技术的人(还可能有更多的信息,我就不说了)
    第5步:搜索
    for (最多14亿,通过上一步的筛选还可以去掉几个亿,比如说20岁以下的人口)
    从信息量最大的事件开始,逐个分析事件的概率函数与目标的时间指纹的匹配程度,当某人是目标的概率小于某个阈值(如10^-12)时,将此人从搜索范围内去除,并处理下一人

    这样搜索完成后,就算不能确定,也基本能排除到几百人左右的数量级,可以各个击破了。

    计算能力:假如需要相当于10GFLOPS的计算量来在第2步预处理1个人的信息,那么天河二号以30PFLOPS的速度可以在500秒内处理所有中国人的信息。至于排除阶段需要的计算量就更少了,有可能只找了一个人的开头几十个信息量最大的事件,就可以判断出此人不是目标。大概最多只需要几个PFLOPS就可以排除到只剩几百个人。

    我前几天发帖的时候,还感觉“至少需要十年,相关的技术才能成熟”,不过略一分析,发现这个算法需要的存储技术和运算技术几乎已经齐备,主要的瓶颈只剩下“数据获取”和“政治条件”了。

    我认为对于技术的发展,要保护我们的隐私和自由,只能靠努力改变政治环境使得政府的监控受到更多的监督,避免出现“有极权体制又有技术”的恐怖集权统治。不仅是中国这类接近朝鲜的国家,其他民主一些的国家也可能有政治蜕变的可能。

    话说编程随想对于未来中国的政治气候,以及信息监控立法的展望如何?

    回复删除
    回复
    1. TO 26楼的网友
      非常感谢你发表长篇留言,补充你上次的分析。
      不过俺还是觉得,这个排除模式,难以把目标范围排除到很小(达不到你说的“几百”的数量级)。
      你提到“计算能力”。俺觉得计算能力或存储能力,都不是问题。问题在于这个“排除法的模型”。

      对于可见的上网活动时间,俺选择的时间段主要是下午和深夜。
      下午有很多上班族在公司上网,深夜有很多人网虫在家上网。非常难排除掉。
      比如你提到的“ATM 取款”。虽然有些人会在上班时间出去取款,但是概率很低。用这个还是难以排除掉很多的范围。
      你提到的排除策略中,有一个是“根据 QQ 聊天进行排除”。这个或许能过滤掉很大比例,但是考虑到上班族总数非常多,剩下的“未被排除人数”还是很大。

      再来说说你最后提到的2个问题。

      俺对天朝的政治现状是非常不满的。看过俺博客的读者应该都能意识到这点。
      俺希望能为天朝的政治变革尽自己的微薄之力。这方面的观点,可以看之前写的[url=http://program-think.blogspot.com/2011/12/revolution-0.html]《谈革命》系列[/url]
      另外,还可以参考今年初写的一篇《[url=http://program-think.blogspot.com/2014/01/anti-brainwashing-and-enlightenment.html]如何用互联网进行“反洗脑”和“政治启蒙”——分享若干个人经验[/url]》

      至于“信息监控的立法”
      现在谈这个还为时过早。只要天朝还处于“权贵集团把持的一党专政”,信息监控方面的技术必然会成为独裁的工具。
      俺目前能做的,就是利用俺在“信息安全”领域的特长,给普通网友普及一些防范和反制的措施。
      (这方面的话题,俺已经写了三个系列)

      删除
  26. 请问如何修改自己的电脑对外显示的MAC地址信息?过去在使用一些公共场所的wifi时发现,wifi提供商会知道我的MAC地址,这相当危险。

    回复删除
    回复
    1. 似乎不行,这个关系到底层协议,如果没记错的话。不过随便想想就是:提供商都不知道你的MAC,它怎么给你发信息……
      不过上完网随便改一个就行了。

      删除
    2. 这个很多办法,肯定可以的,慢慢研究吧

      删除
    3. 我只求可行的方法

      删除
    4. 我原先在之前又发了一条长文,可能被google和谐了。

      删除
    5. http://www.360doc.com/content/10/0225/11/494784_16761644.shtml
      自己不会搜搜吗?
      给你看一个 “http://www.360doc.com/content/10/0225/11/494784_16761644.shtml”

      删除
    6. Win7修改MAC地址方法本人结合了下以前所有的经验,Win7修改MAC地址方法有以下三种:

      方法一:使用Win7MAC地址修改工具
      1,只适用于windows7系统的网卡MAC地址修改。XP的可以用,但没做什么测试。
      2,部分windows7下的无线网卡地址无法修改,理论上也可以使用本软件修改。
      3,修改MAC地址前,请先在开始菜单-运行,输入cmd打开控制台,输入getmac获取原来网卡MAC并记下来,用于以后可以改回来。
      4,软件使用方法很简单,只需在下拉列表选择所要修改的网卡,然后在文本框里面输入一个新的MAC地址,比如EF2d32BC6525(注意不要加横杠),然后点击修改按钮即可修改。

      Win7修改MAC地址方法图文教程

      个性后开始,运行输入cmd打开控制台,输入getmac查看是否修改成功

      方法二:利用Win7系统自身功能

      在“本地连接”图标上单击右键,选择“属性”,会弹出一个“本地连接属性”的对话框,单击“配置”按钮,选择“高级”,选中左栏“属性”中“Network Address”(注意:有的网卡叫“网络地址,有的用“Network Address”,Intel网卡用“Locally Administered Address”,当然也有些网卡没这个选项),然后选中右栏框“值”中的上面一个单选项(非“不存在”),此时便可在右边的框中输入想改的网卡MAC地址,形式如“EF2d32BC6525”。点击“确定”按钮,修改就完成了。

      方法三:利用Regedit注册表修改

      第1步,单击“开始”,选中“运行”,键入“regedit”调出注册表。

      第2步,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002 等主键下,查找 DriverDesc ,内容为要修改的网卡的描述,如Intel的网卡会被描述成“Intel(R) PRO/100+ Management Adapter”,3Com的网卡会被描述成“3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)”等。

      注:上面提到的关于网卡描述的选项出现的位置,和网卡本身以及操作系统有关。不同的网卡可能出现在不同的主键下,而同一网卡用不同版本的操作系统(如OEM版,VOL或者VLK等)也会出现在不同的位置。而这一步的任务就是找到含有网卡描述的主键。

      第3步,选中在第二步找到的主键,在右栏框中添加一个字符串,命名为“Network Address”,其值设为要改的MAC地址,形式如“000B6AF6F4F9”。

      注:到这一步,修改网卡物理地址的任务可以说是完成了,有的网卡需要重启以下才能正常的工作。

      下面的几步是为了以后再修改物理地址方便用的。

      第4步,在“第一步选中的主键”\Ndi\params下添加一项名为“NetworkAddress”的主键,此时一般都会随着在右栏框中产生一个“(默认)”的字符串,将其值设置为最终想要修改的MAC地址,形式如
      “000B6AF6F4F9”。如果没有此字符串,读者也可自行添加此字符串。

      注:此步骤就是为网卡设置一个初始MAC地址。

      第5步,在“NetworkAddress”的主键下继续添加名为“ParamDesc”的字符串,其作用为指定“NetworkAddress”主键的描述,其值可自己命名,如“Network Address”,这样在网卡的高级属性中就会出现“Network Address”选项,就是刚在注册表中加的新项“NetworkAddress”,以后只要在此修改MAC地址就可以了。

      第6步,在“NetworkAddress”的主键下继续添加名为“Optional”的字符串,其值设为“1”,则以后在网卡的高级属性中选择“Network Address”项时,右边会出现“不存在”选项。

      第7步,重新启动计算机(不是一定要重新启动,但要视不同网卡的要求而定,不过,重启没有任何差错。),按照第一种方法找到“高级”选项就可发现此时“属性”栏中已有“Network Address”的选项,
      现在读者可以用来直接修改MAC地址或恢复原来的地址。

      删除
    7. TO 27楼的网友
      修改 MAC 地址的方法,Google 一下,很容易查到。前面几楼也有热心读者贴出来了。

      俺想补充一点的是:
      用公共场所的 wifi 要小心。有如下几个风险:
      1、有些公共场所提供的 wifi 其实是蜜罐
      2、公共场所的 wifi 更容易遭到嗅探(Sniffer)

      实在想用的话,要确保你的上网流量是全程加密的(比如基于 VPN,比如全程都用 HTTPS)

      删除
    8. 怎么才能知道wifi是否是蜜罐呢?

      删除
    9. 按照 27楼6单元的这种方法,笔记本的无线网卡MAC能修改成功吗?.

      删除
    10. 楼上单元的,修改网卡MAC地址的工具非常多。非常容易。

      删除
  27. 大数据分析(确切的说,我上面提到的一种方法应该是“基于时间指纹的大数据分析”)也有一些死角,就是信息获取范围达不到或者获取的信息太少的地方,例如国外,例如某些不和信息网络连通的地方。
    对大数据分析最有抵抗力的是“游击队黑客”,他们不使用公共服务,不做会被记录的工作,也不使用任何能联系上个人身份的通信设备(例如把发出的信息伪装成不存在/随机的电脑再使用公共wifi+多重代理接入)。我上面列出的一些信息无法把他们和无业游民、隐士、其他游击队黑客区分。只有极强的逆向追踪和现场摄像机可以确认他们的身份。如果编程随想是这一类人的话,那么恭喜,至少在10年内你还是安全的。

    要保障个人隐私安全,除了加强对政府的监督,还有另一条“公民团结抗命”的路。如果各种公司、个人不交给政府信息,或者交给政府的信息存在一些虚假(参见plausible deniability),那么政府的监视能力就会大打折扣。不管怎样,隐私的保障都需要有相当多的思维清醒,并且重视自己的隐私的公民。

    与此同时,隐私也会成为犯罪分子,特别是政府/电信公司内部能控制信息的犯罪分子的掩体。
    政府可能以“社会安全”为由来忽悠我们:掌握在短时间内确切地找出一个公民的技术能力是必要的,这是为你们好。(如美国的反恐,PRISM)
    同时技术鸿沟的降低也使得不仅仅政府有监控的能力。想象将来某个拥有一台便携式3D打印机的私家侦探可以在几分钟内制造出一堆带有摄像头的机器蚊子用来窥探别人的隐私。我们对技术的限制必须非常微妙——如果政府和人民间的技术差距过大,那么政府会很轻易地控制人民;如果政府和人民间的技术差距过小,那么任何人都可以随意地窥探其他人的隐私。

    扯了这么多,继续说怎么面对大数据分析的策略:
    ——减少关联,一个马甲只干一件事。比如我以前在一些知识问答类网站上问问题的时候,就每次问问题、下载文件都换不同的马甲,并且也做好浏览器指纹的防范工作。这样你的操作就几乎不可能被关联起来,除了你提问时使用的语言可能会被文字分析——但是一个问题如果只有几段话的话,信息量非常非常少。当然,对于编程随想这类需要稳定身份的情况就不适用了。
    ——尽量减少你制造的信息,例如:如果能付现金,就不要刷卡。
    ——如果你是有良心的技术人员,请不要参与1984工程,不要自掘坟墓。
    ——如果你是有良心的公司管理人员,请尽量限制政府从你的公司获取的信息。
    ——集中AND/OR混淆时间指纹。如果你在1天的10个时间点发了10个帖子,那你就会产生10个时间点的指纹,如果你先写好这些帖子再用脚本在几秒钟内发出去,那么就只有1个时间点的指纹。有关部门对于你具体在什么时间写了这些帖子、什么时候有联网的能力所能知道的信息就会少很多(尽管有关部门还是可以对你发的一堆帖子的内容,推断出你最早可能的写每个帖子的时间,以及你为每个帖子打字大致花费的时间量——但是并不知道具体的时间——除非回帖量多到你必须把日程排满才能写出每个帖子,否则时间的分布会比较模糊不定,信息量会少很多)。
    ——但是,“【不自然的在短时间内发布大量非spam的帖子】”也是一种信息量大的指纹,因为会这么做的人很少。如果你在两个以上的论坛开设帐号并且都这么做,那么会增加被辨认的风险。因此,你也可以把你发帖的时间平移一些,例如设立一个延时发送信息的代理服务器,你在t时刻发送的数据,到t+k±c时刻才会被送出,隔三差五把k,c参数改一下避免太有规律,这样可以起到“混淆视听”的作用。
    ——在比较少见的情况(至少在编程随想的博客上非常少见)下,如果【回复的内容和时间的联系很高】(例如某个帖子在4时20分是一个话题,4时30分又是不一样的话题,而你在7时14分发表的回复只和4时20分存在的信息有关系)仍然会看起来比较可疑,这时候可以等话题更新速度放慢下来再发帖或者减少延时。当然如果【只是考虑回复这个现象】而【不考虑回复内容】的话,如果你在7时14分只回复到了4时20分和以前的帖子而没有回复以后的帖子,并不一定能说明你是在4时20分回帖然后延迟到7时14分,也有可能是你刚好累了不想回帖了。

    回复删除
    回复
    1. TO 28楼的网友
      你跟 26 楼是同一人吧?
      非常感谢你补充了一些防范的经验 :)
      其中有些经验俺已经在用了——比如“编程随想”这个帐号跟俺日常用的其它帐号完全没有关联性,甚至连的操作系统都是独立的(俺用操作系统虚拟机)。

      你提到的某些经验属于“社会工程学领域”,俺在《[url=http://program-think.blogspot.com/2010/04/howto-cover-your-tracks-0.html]如何隐藏你的踪迹,避免跨省追捕[/url]》系列的后续博文会专门讲“社会工程学层面的防范”

      删除
    2. TO 编程随想,能不能不记录(不显示)帖子的时间呢?
      我一直担心时间问题,是个指纹呀

      删除
    3. TO 2单元的网友
      前面几楼中,有热心读者担心留言时间戳成为“指纹信息”。所以俺把评论的时间戳设置为“只有日期,没有时分秒”

      删除
    4. 博主您好!上次我说到有关部门可以每1秒浏览1次编程随想的博客,这样仅仅是隐藏时间戳的话,效果是非常有限的。博主可以考虑设置一些延时显示留言的机制,这样可以大大干扰有关部门发帖时间监控的准确性。

      附上最近的一则香港设立这样的系统的报导,就有点像我所说的定时监控。可想而知:这样的系统可以用来查侵权,也可以用来查不和谐内容。

      http://sc.news.gov.hk/TuniS/www.news.gov.hk/tc/categories/law_order/html/2014/09/20140926_152359.shtml?pickList=topstories

      海关首次利用部门最新研发的「网线新一代」系统破案,一名40岁无业男子涉嫌在互联网大量上载侵权作品供人下载图利被捕。

      海关人员透过新系统,发现该男子将涉嫌侵权的作品上载到外地的网上贮存区,并长期定时在讨论区发放,供他人下载谋利。

      行动中,海关检走两部涉案电脑,并在电脑内找到大量侵权物品,包括漫画、本地和外地电影、本地电视剧、日本连续剧等。

      海关版权及商标调查(行动)课监督黄炎沛表示,「网线新一代」系统能自动监察网上讨论区,搜寻可疑的侵权信息,并自动搜证,包括下载可疑的侵权档案作进一步分析,并通知海关人员调查确认个案。

      海关去年初成立科技罪行研究所,专责研究网络科技发展对海关执法工作带来的挑战,制订应对策略和发展相关系统。「网线新一代」由研究所与香港大学合作研发,今年初完成,7月全面运作。

      黄炎沛呼吁网民尊重知识产权,切勿上载任何侵权作品供人下载。根据《版权条例》,任何人在没有版权拥有人的特许下,分发其版权作品的侵犯版权复制品,最高刑罚为监禁四年和每份侵权复制品罚款五万元。

      删除
    5. 那评论的RSS呢?时间戳都精确到毫秒了。

      删除