网络隐私的田野

—— 我能做的一點小事,就是在大數據和網絡實名制的時代,盡力地抵制国家机器的监控,捍卫言论自由、资讯自由。

[Matrix]: #csobot:matrix.org

[Mastodon]: https://fosstodon.org/@mdrights

[PGP]: B404B0C8EF4F06656A7D1299B0DCA8EAA87C8B1A


Project maintained by mdrights Hosted on GitHub Pages — Theme by mattgraham

====== 【文章目錄】======



Wipe Your Antis Partition In Emergency

紧急情况下抹掉你的 antiS 分区

antiS live 系统能保护你的数据不会被遗留在使用的电脑里,不留下使用痕迹,也能防止恶意/木马程序侵害你的电脑硬盘。而且现在你可以把一些数据、配置放在 antiS U盘里的一个分区里,更方便携带。

但如果你还是担心你的重要数据资料在紧急情况下(比如警察突击上门搜查/搜捕)被取证、被搜走?

这个新的功能来了:或许你还来得及在那种时候操作几秒钟电脑的话,可以尝试重启机器,输入一个参数,销毁 U盘那个自建的分区!

支持 antiS 2022.01.rc4 及以后的版本


繼續閱讀
Posted on February 24, 2022

How To Build Antis

如何制作一个 antiS live 系统 ISO 镜像

最新更新:2022-02-20

前提

  • 你(最好)需要一个运行了 Slackware 的机器;
  • 同步最新的 Slackware 官方 -CURRENT repo 源(即系统自带的包):
  • 同步最新的 Slackbuilds 第三方应用脚本库:
  • 包管理工具:sbopkg

整个过程需要打两次 ISO 镜像。


繼續閱讀
Posted on February 20, 2022

Make Use Of Space Antis Live Usb

如何利用更多的 antiS USB 空间(在 live USB 创建分区)

最新更新:2022-02-20

如果你是在一个比较大的 U盘上使用 antiS,那你可能会感兴趣是否能把 U盘剩余的空间都利用上吧!

注意:只有在 antiS 版本 >= 2022.01.rc3 才支持这样操作。

下面我们来试试:

首先我们先把 antiS 烧录到 U盘:

方法已写过,在这里

以下均在 Linux 操作系统上操作(大多数 Linux 发行版都会配有本教程需要用到的工具,若系统没有相关命令请自行安装;antiS 已配备这些命令)。

(macOS 因缺乏相应工具暂不支持本文的操作; Mac 的机器也不支持从这种自建分区的 antiS U盘的启动;但是 Mac 机器可以在 macOS 系统上打开(挂载)含自建分区的 antiS U盘,详见下文)

因此建议用家平时备2个U盘,每次轮流烧录,特别是有自建分区的,也方便把该分区里的东西倒到新U盘分区。


繼續閱讀
Posted on February 20, 2022

我的2021年度问卷

我的 2021 年度问卷

Hi, 我终于在 2022 新年的第三天爬上了马特市(不是梯子的问题),首先要感谢 @Matty 和 @guo 同学的支持鼓励,话说我每天都在自己的邮箱看马特市的日报呢,很有温度(只是日常各种忙碌,没得登上网站)。

整个 2021 年,我都在做五件事:上班通勤、带娃、折腾副业、荒野徒步/浮潜/骑行/滑冰、挤时间阅读。可能这就叫 埋头赶路,不问前程吧。

  • 寫下一件今年發生的,你想永久紀錄下來的事情。

略思索一下,冒入我脑海的是:订阅了端的会员。我们失去了苹果(日报)、立场、众新闻,现在似乎就剩《端》了。我恨我为什么没有更早的订阅呢?几年来我都是用 RSS 来阅读端的新闻,当遇到我特别想深入读下去的报道时,总是遗憾看见一行空虚的虚线,而且总是的,我无力地返回上一页去看别的新闻而一直没有行动去买会员。很遗憾呢,之前那么多有趣有意义的报道都来不及看了,人就是这样总是被生活拖着走。(这里告诉墙内朋友用 RSS 竟然能免翻墙看哦~不过可能需要你自己去设置个高能的 DNS)

所以大概是夏天《苹果》被搞之时,我行动了,此后每天上班通勤的两个小时,我还是比较有盼头的。得多多支持独立/有新闻理想的媒体了,再不支持就没机会了。

  • 整整兩年過去了,疫情仍在繼續。相比起兩年前,疫情如何改變了你的生活?你認為還能恢復原狀嗎?

说实话,我似乎还是比较幸运(我需要好好反思)。可能是我的期待降低了,只要工作/收入稳定,自己和家人身体健康,就算大吉。 疫情给我和家人的冲击,主要是不能带娃出国旅行看世界了(我担心 TA 因此会变得狭隘而成为民族主义者)。 此外,对于我这个隐私狂人,竟然也在这个地球上监控技术最发达的国家里生活了这么久,我自己都觉得“天啊我这是怎么活下来的”。Anyway 还是有点幸运(或者是我的让步),在我的城市,大部分检查健康码的点,都是只是肉眼看看而已(别的城市好像是真的扫描记录二维码内容信息),我经常就糊弄过去。当然我的这点小侥幸,可能也是我的异化的开始,我还能算得上是一个隐私「强迫症深度患者」么?

还能恢复原状吗?哎,这正是我担忧的地方。我看这个政权是永远不会宣布结束疫情了,它正在借此来推行它的威权/极权管治。我想很多民众都被温水煮青蛙了,不知不觉就认同这样的管治是正当的了。 而且,毫不危言耸听,我开始相信所谓的「文革2.0」正在进行了。从健康码限制出行,到随意的封区封城推行粮票,从罪犯游街,到打击娱乐文化产业(以后只能样板戏?),到干预市场化的企业行为(打击互联网巨头/打击教培行业),无不令人担忧以后是不是可以顺利推行计划经济而毫无阻力了。

  • 2021 年,你(終於)在哪些地方躺平了?

躺平,那就是我的工作了,我正在以很低的成本/精力来处理我的工作,虽然就在12月因为一个项目难度大工期紧我和同事连续两三个周末都在加班,我还病了一场。本来想考个证但还没完成,想躺平而不得,算半躺……

  • 2021 年,什麼事情讓你獲得最深的意義感或給你最大的力量感?

似乎没有什么特别,但力量感仍然来自开源软件和其社区,在这个地方这个年代,没有什么比开源软件(当然也有硬件,比如 PinePhone)能带给我透彻的自由,以及仅存的那份自由的感觉和思想。值得一提的是,今年经过朋友几个月的帮忙折腾,我终于获得一部 PinePhone,从此我个人的所有电子产品都是开源的 —— 这意味着:1)更高度的灵活、自由和隐私;2)摆脱了科技巨头的宰制(科技巨头也是极权的一种)。

  • 2021 年,你經歷的一場告別或一次相遇

恐怕就是告别《苹果》和《立场》,非常遗憾,我还没来得及阅读你们更多,谢谢你们。

  • 相比去年,你與身體的關係發生了什麼變化?你有更喜歡現在自己的身體嗎?

我更了解了我的身体,是的。包括对长年的腿伤的锻炼/康复,包括对自己的呼吸的调整(而且发现喝合适的烘培度/浓度/量的咖啡能让我平静下来,甚至有助于睡眠,我开始迷恋咖啡了)。哦对了,今天上半年我经过运动+饮食结构调整,减重 12+ KG,人变得更精神了,而且更有信心活得更久 —— 没错,就是和某某政权斗长命。在阅读一篇某大牛写的关于某次 metoo 事件的长文中,一句话特别有启发,大意是:作为受害者最大的胜利是看到施害者比自己先死,活到最后就是胜利。

  • 跟我們分享你在 2021 年相遇的一本好書、一部好電影或一首好歌

很开心在年末最后几天偶然下载到了这本我非常憧憬的重量级影集:《紅色新聞兵 一個攝影記者密藏底片中的文化大革命》(pdf,不知版权是如何处理的,如果没处理好版权这里要抱歉)

前天才得知民谣人赵已然已经在 2021 年9月就过世了,心中撼动。翻回他的那首《我是不是你最疼爱的人》,嗓音非常真挚,情感充沛,萦绕着永恒的孤寂、无奈和对美和爱的渴望,那是十年前的我的共鸣,今日听起来还是触动。后知后觉这首歌收录于他的专辑《活在1988》,非常感慨。他的朋友说他不愿意接纳 21世纪的生活,但「1988」这个数字太耀眼了,我想对我和很多大陆人来说都太耀眼了,我也想只活在1988。1988 下一年和以后,中国都大变样,如果那年有不一样的结局呢?

  • 用一張照片分享 2021 年對你有重大意義的時刻。

  • 請填空:2021,_nothing_ matters

  • (为什么填 nothing?恐怕有点虚无,但新的一年,我还是要去爱具体的人,请监督我,谢谢各位~)

  • 2022 年三个关键词:

    • tech for privacy/freedom/OSINT,
    • social issues,
    • child development and liberalist education

IPFS: QmT4kPWNz5HqHgxLKKMjEmpXjy8y5UmrnVuy64SsuTdiKa


繼續閱讀
Posted on January 1, 2022

How To Selfhost Ipfs Website

自主搭建一个IPFS网页/网站

前言:网络空间越来越逼仄了,各种控制我们获取信息、独立思考的审查工具越来越强了。我们(特别独立媒体工作者)也需要给自己配备一些抗审查工具,让自己的信息在墙内可以阅读。
这里要基于上一篇文章:搭建一个数据自主的问卷调查网站,介绍如何用尽可能少的 IT 技能就能部署一个 IPFS 版的网站(或单个网页)。
如果你还不知道 IPFS 是什么技术,可以自行搜索,官网在这里:https://ipfs.io

准备工作

准备工作跟“搭建一个数据自主的问卷调查网站”是一样的,都是要:

  • 买个域名
  • 买个VPS (推荐 DigitalOcean;这里不是做广告,而是 DO 集成了我们将要用到的部署工具 CapRover,比较省事;当然任何的VPS 服务商都是可以的)
    • 因为我的范例网站用的是 Gatsby 框架和 IPFS,它们的 CPU/内存都消耗挺多,需要至少 1 CPU/2G RAM 的 plan(之后要视文章的量而增加资源,如 2 CPU/4G RAM)。

这里的网站部署跟问卷网站的部署第一步和第二步都是一样的,请参考。我们直接从部署应用开始。


繼續閱讀
Posted on August 15, 2021

Openbsd Wipe Disk

OpenBSD 上安全擦除磁盘分区

个人笔记,仅供参考。

0x00

我的 openBSD 是按照默认方式安装的,/home 被按照 ffs 格式挂载在 sd0k 分区上。

擦除它(不仅仅是 rm 那么简单),也不是很难 ;-)

使用 dd 命令

先把分区里的东西先备份走。
登陆进 root 用户;在 /etc/fstab 把 /home 这一条注释掉。
umount /home (卸载不了的话就重启)

用 root 用户执行:

  # dd bs=4096 if=/dev/urandom of=/dev/rsd0k  

(第二天 XDD) 完成后给该分区格式化:

  # newfs rsd0k

/etc/fstab 把 /home 这一条去掉注释。

mount /dev/sd0k /home

或者直接重启。

Bingo!又是一块干净的分区,舒服了!


繼續閱讀
Posted on July 11, 2021

How To Raise Pr Sourcetree

how-to-raise-PR-sourceTree.md

如何用 SourceTree 申請審批(PR/MR)

Git 是非常強大的版本管理工具,不僅是對程序員的代碼,對於所有文本(甚至二進制文件)都可以進行版本管理和多人協作。
本文想給非 coder 簡單介紹介紹如何用 Gitlab (平台)進行多人協作過程中的審批功能(注只是為了方便非技術人士理解,其功能本身就是 GitHub 的 Pull Request 和 Gitlab 的 Merge Request)

下載和使用 SourceTree

SourceTree 是一個圖形介面的軟件,能把 Git 工具給圖形化展示,更直觀。

導入你的 Git 項目


繼續閱讀
Posted on June 12, 2021

How To Selfhost Ohmyform

搭建一个数据自主的问卷调查网站

缘起

网络空间越来越逼仄,生活在互联网和大数据时代的我们想要活得自在,不那么容易。除非做原始人,几乎无人能完美躲避来自政府的言论审查和来自 IT 巨头的数据剥削两方面的夹击。

即使这样,我们仍想尽力挤出一点空间来,让这个网络更自由和更自主。

如果你一直在苦苦寻找一个不被言论审查的问卷调查服务,而且问卷数据可以自己掌控(比如导出、删除),那何不自己搭建一个呢?雖然 GFW 能輕易地把我們自己搭建的網站給牆了,但不至於問卷上的問題發不出來(通常對於小網站 GFW 只會進行 DNS 污染 ——這樣只需要換個域名就可)。

現在搭建網站的技術門檻越來越低啦,只需要 2 條命令就能搭建啦!需要的條件只是:擁有一個域名 + 租一台虛擬主機(VPS,$5/月);當然如果你的電腦是 mac 或 Linux 就更好了。

OhMyForm: 自由開源問卷服務軟件

幸好這個世界有自由開源軟件(Free and Open Source Software, FOSS),僅僅公開了源代碼是不夠的,還需要允許任何人使用、運營、修改和發佈自己的版本,即 Free as in Freedom。

OhMyForm 是一款 nodejs 寫的很輕量的自由開源軟件,雖然功能較為簡單但實際夠用了,它有十幾種表單可選(包括選擇、填空等等)。

OhMyForm 再加上 Caprover —— 一個自動化軟件發佈平台軟件(PaaS),不需要理解軟件發佈的原理就能把很多常用的服務端軟件(包括 OhMyForm)發佈到你指定的 VPS 服務器上,通常只需要幾個點擊, 兩個命令只是用來在你的本地電腦安裝 CapRover 而已。


繼續閱讀
Posted on May 4, 2021

A Wireguard Router Openbsd

一个 OpenBSD 上的 WireGuard VPN 路由器

前面的博文已有一些记录,讲了我使用 Linux/BSD 系统的一个基本也是终极需求:数据自主、通讯私密。贯穿我的整个 FOSS 生涯中,我都在折腾一件事,搭建安全的 VPN。

那么之前我已经用 BSD (又)搭了一次 WireGuard VPN server,只要客户端(不管什么系统)安装了 WireGuard,都能安全地连接到 WG VPN了,呼呼。 可是还不够,我还想让没有条件安装 WG 客户端的设备也能访问我的VPN,那么我就需要有一个在本地 LAN 的 VPN router (路由器)啦。当然之前也做了一个基于 Alpine Linux 的 VPN router,性能不错,但也还不过瘾(此时的 Alpine 3.12 还没上 Linux 5.10 没有自带 Wireguard:)

0x00

其实很简单,主要感谢 BSD 和 pf 的配置是有文档写得很清晰周到的(但得花时间去阅读和学习呀~~QAQ)。

我现在已有一台旧 amd64 上网本可以用作路由器吧(而且体积小方便携带,可以在公共 wifi 环境下也能使用)

1x00

给内核开启 ip 转发:

  net.inet.ip.forwarding=1

2x00

pf 防火墙设置 DNAT 地址转换,路由器会把内网要出去的包源地址改成它自己的地址,这样返回的包才能顺利回来。

##    When using vanilla network      ##

pass out on egress inet from any to any nat-to egress

##    When using WireGuard tunnel     ##

#pass out on $wg inet from any to any nat-to $wg

这里有2个小插曲,一是:

  • 花了不少时间研究怎么做到当路由器只有1个NIC(网卡)时还能把内网流量转发出去,其实就上面这一句话(是我想太多啦):把 egress 网口上来自 any 的流量都 pass out。

另一个:

  • 当 WG 开着的时候,应启用下面一行的命令,因为流量都在 wg 网卡上。如果把 WG 做成开机启动的话,应该是不麻烦的。 但如果 WG 会时开时关,就需要在这两行命令上来回切换啦(我比较懒没做)。

所以如果你没有给 Wireguard 做开机自启动(或者不愿),那么需要将 pf.conf 设置成 vanilla 的(这样刚开机时才有网络,除非你不想)。等手动启动 Wireguard 后,再调用 wg 专用 pf.conf 文件。

# wg-quick up wg0
# pfctl -f /etc/pf-wg.conf

3x00

好啦,viola,最后就只需要让设备连上跟 OpenBSD 路由器相同的内网,并把设备上的网关(gateway)设置为路由器的 IP (在你连上的热点的设置里)。

Happy Connecting!


繼續閱讀
Posted on May 1, 2021

Something Unstoppable

我的一件关于自己,不可停止之事

「經過2020年,你內心是否有找到一個關於自己,不可停止之事?」

这句话戳到我了。其实不只在2020年,可能在若干年前我已似乎找到了一个关于自己、不可停止之事了。

说来好笑,这件事就是学习、使用(折腾) Linux、BSD 等 UNIX类操作系统(由于 UNIX 名称有商标限制,一下简称 *nix 系统), 以及使用基建于其上的各种自由开源软件(FOSS),或自己撰写开源的代码。这并不是什么冷门癖好,而是个拥有众多爱好者和以此为生的专业人士的庞大其多元的社群。有的人认为这些都只是工具,可我认为我已经赋予了它们比工具更多的意义;有的人觉得那些只是玩具,是的我也觉得其实都是玩具(我自己也是个玩家),但若它们能给我力量、给我快乐又有何妨?当然它们若真只是给我些快乐,我没必要专门为它书写了。我其实一直想为我的这件「不可停止」之事写点什么,脑海之中一直觉得它真的很值得被写出来。


繼續閱讀
Posted on February 28, 2021

我的matters2020年度問卷

【2020 Matters 年度問卷】

  1. 2020年只剩下最後十天,分享一件在年初想不到今年會發生的一件事?這件事對你的生活帶來什麼樣的改變?

年初想不到的事当然就是这个大流行疫情了。当时(2020年1月20日左右吧),我还刚出差从北京回来,深圳一片明媚的阳光,我看到墙内墙外的新闻都在铺天盖地地报道钟南山的话了,心想 MD 这又是要来 2003 年那一出,不过也就捱两三个月吧,到夏天病毒就会退去了。在出差前我还跟同行的一个祖籍湖北的同事开玩笑说他那里有病毒噢(当时墙内媒体都没怎么报道),他嘿嘿一笑然后假装咳嗽两声。

其实我消息还是比较灵通的,墙外墙内媒体都看,1月初时HK 媒体就已经在报道了,墙内媒体还是老一套的话语(安抚民众)。我还是更信任 HK 的媒体,他们的官员也向来工作敬业认真,关口早就实施严格检疫了。但自 23 日武汉突然宣布封城,我和我周围的人们才开始紧张起来,买口罩(还好老早就有坐地铁坐飞机带口罩的习惯,而且还是 N95 的呵呵),我自己早前的口罩还用上了几天,再后来也要到处寻找口罩了。再后来,就是大家都经历的,春节后也没到场上班,直到 3月初,我司的甲方才让我过去他们公司。当时街道马路人车稀少,就像被废弃一样。我打的士,在公司里,都丝毫没有敢摘除口罩。当时的恐惧还是远远战胜了戴口罩的难受。直到6月左右,才有点敢松懈一下,在户外时摘下口罩。

其实总体上除了在家呆着/在家上班的时间多了,其他方面对我的影响不算太大,当然也是因为正好那份工作带有远程办公的性质, 也不是坐班的;且我平时也经常戴口罩。在疫情最严重、大家最恐惧的时期(正是春节假期),我们全家不知去哪儿,家里小朋友不愿意闷在家里,我们便基本天天开车去一些人烟稀少的海边闲逛、发呆、徒步、抓蟹捡蚝,倒也不亦乐乎,是一段有意思的记忆。


繼續閱讀
Posted on January 1, 2021

Hello 2021

Hello, 2021

2020 年,不仅有总加速师的加速倒车,有心爱的香港的消失,也有病毒战胜人类,更有数字极权对现代民主文明的挑战。

这一年我还是完成了大部分年初设定的目标(见 2020 年第一篇 blog):

  • 更新发行了 6 次 antiS 操作系统发行版,并且有了线下用户;
  • csobot 也有更新,增加了推送到 Matrix 功能;
  • 实践了 Yubikey (用于 SSH 登录);
  • 上手了 OpenBSD,不仅如此,还上手 NetBSD(做 Tor / V2ray )!
  • 搭建了 Wireguard VPN (并用本地 home server (Alpine Linux) 做透明全局路由)—— IMPORTANT!
  • 合伙搭建了一个网站,助力独立媒体,保障资讯自由!

繼續閱讀
Posted on January 1, 2021

我的 vim 插件

缘起:作为一个 ×nix shell nerd,势必终生以 shell 为伴,以 vim+git 作为自己的 IDE、写作平台。下面介绍一下我用的 vim 插件吧(仅仅是列出来,不讲怎么安装。每个插件都有附上其官方repo,有兴趣的朋友可以前去研究)。

	Plugin 'VundleVim/Vundle.vim'
	Plugin 'vim-scripts/indentpython.vim'
	Plugin 'nvie/vim-flake8'
	Plugin 'jnurmine/Zenburn'
	Plugin 'scrooloose/nerdtree'
	Plugin 'kien/ctrlp.vim'
	Plugin 'tpope/vim-fugitive'
	Plugin 'vim-scripts/taglist.vim'
	Plugin 'vim-airline/vim-airline'
	Plugin 'Yggdroot/indentLine'
	Plugin 'dense-analysis/ale'
	Plugin 'stephpy/vim-yaml'
	Plugin 'tpope/vim-markdown'
	Plugin 'elzr/vim-json'
	Plugin 'martinda/Jenkinsfile-vim-syntax'


繼續閱讀
Posted on December 20, 2020

在FreeBSD搭建 Wireguard VPN (Server)

在FreeBSD搭建 Wireguard VPN (Server)

这是我今年最开心的事情之一。另有一篇讲 Wireguard 的客户端的安装(其实不大区分 client-server,而是都可叫 peer)。搭建过程还是比较简单的,望有用!

安装 Wireguard 包

FreeBSD/amd64 系统有编译好的包可直接用:

  pkg install wireguard-1.0.20200319_2 wireguard-go-0.0.20200320

把配置文件(必须命名成类似wg0.conf)放到/usr/local/etc/wireguard/

设置成 rc 服务

这样可以开机自启。

  vi /etc/rc.conf

  wireguard_enable="YES"
  wireguard_interfaces="wg0"     # 须跟配置文件主体部分一致

开启内核端口转发

  sysctl net.inet.ip.forwarding=1

  vi /etc/rc.conf

  gateway_enable="YES"
  ipv6_gateway_enable="YES"
  pf_enable=yes              # 把防火墙也启用

配置防火墙

  vi /etc/pf.conf

	ext_if="vtnet0"
	wg_if="wg0"
	localnet=$wg_if:network

	nat on $ext_if from $localnet to any -> ($ext_if)

	pass from {lo0,$localnet} to any keep state
	pass in inet proto tcp to ($ext_if) port ssh
	#pass in on $ext_if proto tcp to ($ext_if) port 80   # 如果你有其他服务就记得开启
	pass in inet proto udp from any to any port 1153

  service pf start

启动 Wireguard

  service wireguard start

结论

小功告成~ 如果怕 wireguard 中途挂了的话,可以用一些工具监控并重启之(如monit)。

祝你的基本自由长青!


繼續閱讀
Posted on December 16, 2020

Yubikey 有大用处之:SSH 登录

Yubikey 有大用处之:SSH 登录

缘起

Yubikey 若你知道它是什么的话,你应该晓得它对于注重信息安全和隐私的人们是多么重要啦~(这也是我今天最有成就感的事情之一)

它首先是个 U 盘(其实具体是个 USB 键盘),至少有这么些用处:

  • 一次性密码(OTP)生成器,为网上账号登录时提供验证码(强烈推荐!比短信验证码安全一万万倍);
  • 个人密码存储器;
  • 个人数字身份的证明 (Oauth);
  • PGP 密钥存储器;
  • SSH key 存储器。

SSH key on Yubikey

下面我就介绍介绍怎么把 SSH 登录用的 key 私钥放在 Yubikey 里。

好处:即可随身携带,在多台电脑登录我的 VPS,又免去了把私钥放在本地电脑而被取证的担忧。

以下分两部分介绍,一是关于如何在 Yubikey 上生成 SSH 密钥对;二是如何用 Yubikey 里的 key 来 ssh 登录远程服务器。两者需要用到的工具不太一样。

本人已分别在 Slackware 和 OpenBSD 1 上成功使用了 Yubikey。


繼續閱讀
Posted on December 12, 2020

Install Wireguard On Alpine Armv7

在树莓派2的 Alpine Linux 安装 Wireguard VPN

缘起:这篇博文是想纪念一下我安装 Wireguard client(以下简称wg)的故事。事情不大却来回折腾许久,很值得纪念,毕竟这个需求是我一个很刚的需求(甚至是当时出发时就揣在怀里的)。如今我终于享用到了树莓派2 (rpi2)上这个轻巧、配置简单且安全的 VPN,透明代理(其实直接当作路由器了)给我们的其他设备,畅游网络,保障我仅剩的这点儿资讯/新闻自由。
Wireguard 的 server 端就比较简单轻松了,见我的安装记录

0x00

上面已讲到“为什么是 wg”了,再说下为什么是 RPi2 + Alpine Linux。主要还是我特别想用 wg —— 而不是 socks 代理(我已有好多了)—— 能全局隧道的那种,迫使 client 设备必须走隧道,无法绕过 socks 代理。现在家里只有:一个 RPi2,一个 RPi3 (但似乎电源有问题),和一个 Orange Pi One (已安装 NetBSD)。那么这个 Rpi2 正在跑 FreeBSD,虽然它很稳,我用它开设 socks 代理和 dnsmasq DNS 解析服务。但 FreeBSD on armv7 有个大问题是,pre-built 的包没有 wg (维护者没打这个架构的包),甚至连 go1.14 都没有(需要自己编译,但我编译时机器资源不足直接 killed 了)。因此只能暂时放弃 FreeBSD,换 Alpine (只是正好瞄到它们有 wg 的包,且 Alpine 的无盘模式也很喜欢,极小的磁盘操作,减少磁盘损坏的概率)。


繼續閱讀
Posted on December 6, 2020

Greetings 2020

21 世纪第三个十年开始了~

第二个十年过完了,很是感概喔~

人生苦短,我的时间永远不够用,还有很多事情没做呢~

比如:

  • 继续完善更新我的发行版:antiS(以前叫 LiveSlak)&& CSObot
  • 研究和实践 openPGP的各项功能(Yubikey 也是买了的)
  • 向 web 探索,探索在服务端的抗审查实践~(因此 IPFSawesome.ipfs.io 是个好地方)
  • OpenBSD!!!,一定要开始上手了(现在手里的 RPi 似乎都坏掉了,抛弃 ARM 不再浪费时间了,用旧的 x86 做服务器!)
  • 继续在 Localization Lab 贡献翻译(esp. Tor Project)
  • 试探索 data journalism
  • and more…

欢迎鞭策~


繼續閱讀
Posted on January 1, 2020

Liveslak Intro

私人定制隐私加强的 live 操作系统:antiS (曾用名:LiveSlak)

下载

缘起

本人其實自去年起便定期(每月)製作一份定製的live iso鏡像,採用的操作系統是之前介紹過的 Devuan GNU/Linux,它是基於 Debian GNU/Linux 的,现在本人仍会不定期更新它,可看看 以前的博文)。

从今年(2017)9月开始,本人更换了平台,基于 Slackware Linux 制作 Live 系统,代码来自 Alien Bob 的 LiveSlak(感谢!)。

它主要有这样的特性:

  • 面向中文用户 (似乎是仅有的中文化的隐私向操作系统)
  • 预装隐私保护、安全通讯和穿墙类软件
  • 应用类软件均由本人亲自编译、打包(确保代码的安全和系统的纯净)
  • 系统安全加固
  • 是一种 live 系统:装在 USB 可移动设备上,每次启动后系统里的软件、文件都保证不被篡改(即在系统上所做的更改只在当前环境有效,重启后都是无效的)

LiveSlak Screenshot


繼續閱讀
Posted on December 31, 2019

透明度报告 1

前言:看過@陳純的《以言說對抗恐怖》,深以爲然,遂也經過考慮把自現在起的喝茶(以及其他跟國家權力機構交涉)的經歷公開出來(除去可能會被標識個人信息的部分)。主要目的:1)通過敘述自我遼愈;2)增加個人透明度,真誠以待過去的同事、同行,不作惡、不做極權的幫兇;3)積累和分享經驗。

2019年10月1日下午,深圳市公安局三個警官通過本地派出所民警(大概7~8個人)先是電話再是上門,在拒絕我要求出示傳喚證後,以所謂「口頭傳喚」的方式,要求我去家轄區派出所配合做筆錄。他們在解釋了是要問關於 #長沙公益仨 的事情後,我才答應同他們前去派出所。

他們之所以選擇在這個時間過來找我,從他們對我有威脅性的言辭:你不配合恐怕今晚就不能去泰國了——便可知曉一些原因。我確實當日深夜準備出發去泰國(遊玩),所以,呵呵。

我已轉行,轉行,轉行。轉行的原因也很簡單,就是自己性格的原因:是個理工科大腦,重度强迫症,還有點「阿斯伯格」,比較較真,需要反复确认,喜歡單調刻板的東西,以後就寫寫代碼、搞信息安全和搞 Linux 機器了此一生。我敬佩我的同事和他們所做的事情,只是我沒怎麼受過相關嚴謹的訓練,做得不夠優秀。我還是做我擅長的事情吧。

但沒有變的是仍然關心社會、弱者、平等和公義。認識我所在的和其他的人類社會仍是我畢生的功課。

就說這些。下面開始講講本次的科技監控相關的經歷:

他们要求我解锁手机,检查通讯录和微信里是否有相關人的电话。我拒绝,他们威胁24小时才放我,但说可以让我自己解锁给他们看即可。我只好解开,在通讯录里搜索相关关键词给他看(未搜索到),他们说出一个电话号码並叫我播出(看是否會顯示什麼),最後也未显示联系人。后来他也没要求我打开微信。

如果使用 Signal or Whatsapp 的話,就容易有坑了。这两个软件,存储聊天对象的时候是直接存为手机的联系人,软件删除后也留在手机通讯录里。建议不把聊天對象存下來,但這樣界面上就只显示手机号了(如果對方没共享自己的名称的话),不太用戶友好。所以一個解決辦法是把自己在軟件裏的名稱/暱稱設置一下並共享給他人(如果你不想匿名的話),別人也同樣共享給你,這樣你不用把對方電話號碼記到通訊錄上便能看到對方的名稱。

其他軟件其實還好,對通訊錄並不是強關聯,軟件內的聊天對象並不一定要跟手機通訊錄相關聯,不關聯即可。

因此如有可能,使用完全跟手机通讯录没啥关联的软件,如 Riot.im, XMPP类的(如 iOS 上的 ChatSecure,安卓上的 Conversations,Windows, macOS 和 Linux 上的 Pidgin)。当然,也可以选择使用别人不知道的不记名的电话号码。

最後檢討一下,當警察來敲門的時候,還是比較慌張。本來正好計劃要當日備份的一個密碼庫結果來不及備份了(雖然自己已每月備份一次),直接從手機把整個密碼管理器刪除。一同刪除的還有:Signal, Riot.im。當然,還有照片(幸好我前一日已經把照片轉移走)。家裏的電腦,爲了抵抗警察抄家,很久都沒有用電腦本身的系統了,用裝在 USB 設備的系統(live OS)。緊急情況就直接關機拔 USB 即可。電腦裏的硬盤要麼就是用 LUKS 全盤加強的,要麼就是用 /dev/zero 把空分區都擦除(覆蓋)一遍了。

祝好運


繼續閱讀
Posted on October 1, 2019

CSObot 帮助中国公民社会组织的机器人

CSObot: 一个帮助中国公民社会组织的机器人

A bot serving the civil society organisations in China.

推送平台:

#csobot:matrix.org (Matrix 平台的房间)

目前推送:


繼續閱讀
Posted on July 30, 2019

用 Tor 连接 IRC (Freenode)

用 Tor 连接 IRC (Freenode)

用过 IRC 的人都知道,登录 IRC 后你的 IP 就会显露出来,咋整?(除非你跟管理员要 cloak)

解决方法之一就是 用 Tor 来访问 IRC。有的 IRC 服务如 OFTC 一直支持从 Tor 网络访问,直接访问就好了。使用者最多的 Freenode.net 曾经不支持从 Tor 访问,后来可以了(见 他们的问答)。

当然用 Tor 网络直接访问 freenode.net 还是会被拒的,正确姿势就是要从 Tor 网络访问他们的暗网地址:


繼續閱讀
Posted on November 14, 2018

My Rss Feeds

我的 RSS 訂閱

時隔一年,來個更新。總共129個訂閱feeds。
感謝 RSS 這技術,對抗信息封鎖還是很重要的。

已更新:61个订阅 转到 Inoreader(开源),抛弃 Feedly。

My RSS feeds on Inoreader
My RSS feeds on Feedly


繼續閱讀
Posted on November 1, 2018

如何校验Signal apk包

如何校验Signal apk包

不知不觉,Signal(端对端加密通讯软件)官方已经允许了直接下载和安装Signal (安卓版)了。即它不再一定依赖Google框架GCM。这对在天朝的安卓用户来说真是一大利好,23333。

下载地址:https://signal.org/android/apk/

然额,官方并不赞许这样做,在其下载页面打出了大大的「Danger Zone」(即危险区)。

官方的一些理由(见其Github issues)是:

  1. 遇到报错很难排查
  2. 没有GCM后无法自动更新(进而不够安全)
  3. 发布的过程变得不严谨,容易被攻击者篡改

官方给出了其apk包的 签名证书的SHA256校验值(注意是TLS证书,呵呵)。
这里可能难道了非技术人士/极客了,校验方法在这里:


繼續閱讀
Posted on October 17, 2018

My Security Strategies

我的数字安全策略(2018上半年)

把我半年来的个人电脑的安全策略记录下,跟大家互相切磋 :P


繼續閱讀
Posted on August 12, 2018

Antig Live Os

又一款 live linux 系統:antiG

時隔一年,我的 live 操作系統再出新版!繼續在保護數字隱私、對抗監視和取證上努力。

antiG 的意思是 GFW 中的 G (可能還會有 antiF、antiW 呢)。

Live 型系統的好處就不說了,之前已介紹過:LiveSlak 系統介紹


繼續閱讀
Posted on July 22, 2018

Alpinelinux Xorg Qemukvm Host

Make AlpineLinx with Xorg as Qemu/KVM host

安全OS推薦:Alpine Linux 並作爲 Qemu/KVM 宿主機

緣起:站長一直想找個理想的發行版,作爲宿主機,然後用多個虛擬客戶機辦公(當然這需求最理想的還是要用 QubesOS)。站長這個週末重溫Alpine,但也斷斷續續折騰了一夜+大半白天也算折騰好,遂記錄一下避免入坑的步驟。

Alpine Linux最開始時不太出名,後來成爲很多廠商產品的Docker里的容器(container)載體後,名聲大振。而且最重要的是 Grsecurity 的加固內核是它的標配,這就是內核級的高安全性了。


繼續閱讀
Posted on June 10, 2018

自製pm25監測儀

自製一個空氣質量/顆粒物質監測儀

並共享民間數據

0x00

本文深度參考了 這篇文章(英文),並由本文作者親自動手操作成功,隨寫成中文的教程,鼓勵更多的極(宅)客(男/女)、關注社會/環境人士/倡導者、行動者,收集真實準確的數據,以在環境問題上更有話語權。

0x01

這裏作者從深圳華強北買了兩樣東西:

  • 樹莓派3 (Raspberry Pi 3)(任何型號都行,但有無線網卡的更方便些)
  • PM(顆粒物質)sensor(傳感器),型號:SDS011 (有圖見上面文章鏈接)

以上兩樣在中國強大的電商網站都能買到,不貴,加起來 ¥300~400 左右。
其實還可以使用比樹莓派(等單板電腦)更小巧的衆多開發板/單片機(但性能感人了),以及其工作原理可以參考 這篇文章(中文)


繼續閱讀
Posted on April 6, 2018

Greetings 2018

新年快乐

又是一年过去了,这几年一直泡在Linux开源社区,受到社区很多的帮助,结交了不少友善的朋友(特别是Gentoo那边)。2018年继续回报开源社区,关注数字隐私。为了给自己一些动力,将自己今年的一些计划公布出来:

2018 plan

  • 专注 Live 发行版(30年,笑)。除了维护 LiveSlak,关注现有的 Live发行版外,还会尝试制作一些其他发行版的 中文化隐私集成的 Live,如 基于Ubuntu的话会对 Mac 机器更好的硬件支持。为有安全/隐私需要的朋友提供基于 Linux的操作系统。

  • 研究一下 OnionShare 和 SecureDrop,并集成进来,为有风险的记者/媒体 提供支持。

  • 选择一个桌面(DE/WM),很可能是 Xfce 或 openbox,做些个性化和本地化;增加 usbpmount:一键挂载USB和外部磁盘;Firejail, etc.

(后续如有再添加)


繼續閱讀
Posted on February 4, 2018

网络登录认证 与 Ssl 防火墙

看看无线网络登录页面有多不安全(附能过滤SSL流量的防火墙原理)

这篇文章的缘起是 EFF 的这篇文章。然鹅本人在当时翻译它时点错了按钮,没有保存。不过这篇文章说的问题和背后原理其实很简单:

该文主角: Captive Portal,直译有点拗口,意思是终端登录(无线)网络时需要认证使用者的身份,这样一种网页,要求你输入相关(个人)信息,给你看一些服务条款。想必大家在公共场所蹭网时都遇到过。

所以问题就是这样的设置很不安全,即要求使用者的个人信息,又会暗地里监视使用者的上网数据。概括地讲,这种设置其实就是著名的 中间人攻击。看,我随便一搜,就有不少不错的文章:1, 2.

那么作为网络管理员呢,如果非要使用网页认证这种方式的话,可以有以下几个措施(待翻译:)

以下是本人摘抄过来的介绍 SSL防火墙的原理,网页认证也是这个原理,可以触类旁通(其实技术不难)。

SSL防火墙

1.1 非解密方式的流量过滤

必须结合 SNI 和 CN/SAN进行:

  • 收到client的 Hello报文后, 提取 SNI, 发起异步查询; 提取失败, 则执行步骤4;
  • 收到异步查询结果后, 并根据URL 过滤的策略配置执行相应动作, 如果动作为阻断, 则直接 RST关闭会话, 返回;
  • 转发 Client 的报文给服务器侧; 接受服务器侧回复;
  • 提取服务器侧证书中的 CN/SAN, 如果与 SNI 匹配或者提取失败, 则放行会话; 否则使用 CN/SAN 进行分类查询(步骤2).

1.2 Outbound过滤过程

用户首先经过 NGFW 与外部服务器建立TCP连接, 然后发出 SSL握手.

  1. SSL 代理缓存客户端的握手报文, 如果不需要策略重查, 则执行步骤6; 否则, 使用客户端 Hello中 SNI+IP+Port 进行本地的 SNI_CN 不匹配缓存查询, 则根据缓存的分类信息进行策略重查, 转步骤4; 否则,设置需要 SNI_CN一致性检测, 执行步骤2;
  2. 使用客户端 Hello中 SNI 进行异步分类查询, 如果提取异常, 转步骤6;
  3. 收到返回的分类信息后, 发起策略重查;
  4. 收到策略重查结果, 如果为阻断, 则关闭会话; 如果为不代理, 则执行步骤5; 否则 (代理) 执行步骤6;
  5. 以 TCP代理的形式, 解析服务器侧证书, 校验 SNI和CN的一致性, 不匹配则使用 CN/SAN 进行分类查询, 执行步骤10; 同时, 上宋握手报文到 NGE, 进行 URL过滤, 并根据 NGE 返回值进行相应处理, 本流程结束;
  6. SSL 代理使用客户端Hello报文的SNI /版本信息, 发起服务器侧握手;
  7. SSL代理收到服务器证书后, 如果不需要 SNI_CN一致性检测, 则执行步骤9; 否则,检验 SNI 与证书 CN/SAN 的匹配性, 不匹配则使用 CN/SAN 进行分类查询;
  8. 获得分类查询后, 记录本地 IP/SNI/分类缓存, 进行策略重查, 如果不需要代理, 关闭会话 (下一条流转发), 如果为阻断, 则直接关闭会话, 否则(需要代理), 急需后续步骤;
  9. SSL 代理完成与服务器握手后, 使用服务器选择的加密算法即导入的证书与客户端完成握手; 握手完毕(不走步骤10);
  10. 获得分类查询后, 记录本地 IP/SNI/分类缓存, 进行策略重查, 如果为阻断, 则直接关闭会话; 否则,则继续当前的 TCP代理流程, 尝试退代理. 对于需要代理的情况,下一条流生效.

1.3 inbound 流量过滤

用户首先经过 NGFW 与内部设备建立 TCP 连接, 然后发出 SSL 握手;

  1. SSL 代理收到客户端的握手报文后, 坚持客户端Hello中的版本/算法等信息, 检查是否不支持, 不支持则根据配置执行相应动作, 流程结束; 否则执行步骤2;
  2. SSL 代理与服务器进行握手, 获得服务器证书, 如果服务证书与导入的服务器证书之一匹配, 匹配则执行步骤3; 否则形成 IP+SNI 表, 后续放行次会话, 当前会话关闭, 流程结束;
  3. SSL 代理使用服务器选择的加密算法/导入的证书/配置的版本/算法等与客户端完成握手;
  4. 握手完毕后, 客户端将应用层数据以明文方式发送到 NGFW 设备;
  5. SSL 代理对数据进行解密后进行安全检测, 确认安全后, 重新加密发往服务器侧; 否则, 管理员设置进行告警, 阻断等操作;
  6. 服务器对收到的SSL 代理发出的加密数据进行响应, 将数据用加密报文发送给 SSL 代理;
  7. SSL代理对数据进行解密后进行安全检测, 确认安全后, 重新加密发往客户端; 否则, 管理员设置进行告警, 阻断等操作.

繼續閱讀
Posted on September 14, 2017

Refracta Live




Refracta live 系统下載

注:现在已更换到 LiveSlak 系统,但本系统仍会不定期更新。

本人其實自去年起便定期(每月)製作一份定製的live iso鏡像,採用的操作系統是之前介紹過的 Refracta GNU/Linux,它是基於 Debian GNU/Linux 的改版:Devuan 的一個分支版本(關於 Refracta 的介紹在 這裏)。

這個發行版的一個好處是它有自己的 live iso 鏡像製作工具:refracta2snapshot,可以方便地把Live系統加入自己需要的東西。那這玩意跟隱私/安全 有幾毛錢關係呢?

答案就是:live對系統的修改不會保存,每次重啓都會還原到製作時的狀態。這一招就能抵禦諸如木馬的駐留,最大限度降低它的長期破壞(比如網頁和電郵的附件夾帶的惡意程序)。對於打開不信任的網頁,和/或 打開別人發給你的可執行文件(包括各種文檔、pdf、exe、圖片、音頻等)時特別有效。live iso 放在虛擬機裏使用更加有效(避免對宿主機的破壞) 或 刻錄到 USB盤上隨身攜帶也非常方便。:-)

其他不再贅述,上乾貨(下載後記得做驗證;網盤服務商爲 Blaucloud.de 位於德國):

(暂无更新哈,敬请期待)

8月鏡像已更新,包含:


繼續閱讀
Posted on August 4, 2017

如果你的手机被警察没收你该怎么办

如果你的手机被警察拿走,该怎么办?

— 给记者和公民的手机安全清单

原文:https://freedom.press/training/mobile-security-for-activists-and-journalists/ (副标题为译者所加)

翻译:MDrights

好吧, 在一次活动中你被抓了. 你被带到警察局, 然后被做了笔录, 你的手机也被没收了. 在关了几个小时或者几天后你被放了出来, 你的手机也还给你了,但用个塑料袋装着, SIM卡和SD卡被贴在背后. 肯定有人对你的数字财产摸索了一番.


繼續閱讀
Posted on July 30, 2017

通訊安全培訓1.0

通訊安全培訓 1.0

cover

PPT下載

网络通讯安全大綱
入门版
An introduction by Mdrights
2017.06
基本逻辑                       (以防御的角度)
基础安全(一个干净的系统)

数据加密/删除

元信息/数据 防泄漏(匿名)

基础安全的威胁
防木马/病毒等恶意程序(它们从哪里来)

系统/应用中夹带:系统和各应用的来源问题;

传入的文件中夹带 (邮件?即时通讯工具?)

浏览器/网页挂马:只信任firefox / Chrome 
(请用sandbox)

开启的系统服务和端口(杀软和防火墙?)

懒人招:虚拟机系统(Virtualbox)



关于彻底删除
工具:BleachBit – 但只对传统机械硬盘有效!

SSD固态硬盘/ USB / SD卡等闪存型存储:

难以彻底删除。
(原因请阅读这篇文章:https://mdrights.github.io/os-observe/posts/2017/06/關於徹底刪除這件事.html)

那怎么办? 端对端加密吧

个人信息是什么?

  能揭示你的身份的那些信息/数据…… 通过对数据的分析可知道数据的主人

    姓名,身份證件號碼,地理位置,生理、精神、經濟、文化、社會等特質因素;還包括電郵地址、電話號碼、指紋、IP、社保號碼、宗教、婚姻狀態等信息。

  敏感個人信息(EU定義)

    族羣、政治立場、宗教信仰、工會成員、基因/生物信息、健康/性狀況、性取向。

  國內一些廠商還把這些信息歸入“個人信息”:

    銀行帳號、身份證號、護照號碼、密碼等。

--> 参见:隱私保護技術和規範——學習筆記(一)https://mdrights.github.io/os-observe/posts/2017/05/隱私保護技術和規範-學習筆記-1.html


对策:
1. 挂代理(即翻墙工具都是代理)

2. 用 Tor / Tails

3. 修改 FF/Chrome 相关配置

4. 即时通讯软件:采用XMPP的都可以:Pidgin / Conversations / Chatsecure (其他还有 Tox,Riot 等等)

5. ……

繼續閱讀
Posted on June 30, 2017

Mac 地址随机化新研究

MAC地址随机化:并未如你所想那么随机

编译:Mdrights

什么是 MAC 地址, 为什么要随机化它?

网络设备的接口(俗称网卡)上都有一个出厂时即设定进硬件的(即硬编码的)一组编码,全称“介质访问控制”(Media Access Control)地址(48位),位于链接层中。它是全球唯一的,由 IEEE组织向各厂商有偿分配,其设计用意是因为网络连接过程中需要对网络设备进行唯一性识别。

所以同时也带来了隐私问题,尤其是在那个欧洲次大陆,这是个严重的问题。解决办法就是给设备分配个随机的 MAC地址,让网关(网络的枢纽设备)及偷窥者无法对不同的 MAC地址产生关联,也就无法跟踪某一设备去过哪些网络。


繼續閱讀
Posted on June 25, 2017

關於徹底刪除這件事

關於徹底刪除這件事

鑑於不少朋友比較關心硬盤/U盤上的東西是否及如何“徹底刪除”的問題,本站決定瑟瑟發抖地發篇小文,並趁機把 EFF的相關教程 翻譯過來。

現在的徹底刪除數據的工具的基本原理是反覆多次(7或35次)地在要刪除的文件的位置上覆蓋一些隨機無用的數據,這方法對傳統機械硬盤是有效的。但非技術圈的朋友可能還不太知曉的技術事實是:在這些儲存介質(包括SSD固態硬盤、flash閃存包括U盤、SD卡等)上的數據是 很難很難很難很難真正擦除掉的! 目前擦除工具只對傳統的機械式磁盤有效,一些SSD硬盤自帶的擦除工具也未必真的有效(取決於該廠商的能力和誠信,見下文報告)。如果還有朋友不放心,請繼續閱讀。

本來爲了通俗易懂不想去摳技術細節,然鵝爲了讓觀點更有說服力,還是說說(摘譯)如下:


繼續閱讀
Posted on June 13, 2017

隱私保護技術和規範 學習筆記 2

隱私保護技術和規範 學習筆記 (二)

上一篇《隱私保護技術和規範-學習筆記-1》主要介紹的是軟件產品隱私/個人數據的政策和規範方面。現在我們來淺淺地看看隱私保護/處理的一些技術細節。

隱私保護的形勢

  • 2016年5月25日 EU 正式發佈 《通用數據保護條例》,GDPR,會在2018年正式生效。對泄露了個人信息/隱私的處罰可達到 €20,000,000 或該企業全球營業額的4% 。

  • (再次)隱私與個人信息的區別:前者主要是法律上的定義,也是個人主觀的概念;後者是技術上的、比較客觀的概念。

  • 網絡隱私與網絡安全 的領域差異:

<—————— 網絡隱私關注領域 ——————–>

—- 不可關聯性 ——— 透明性 ——– 可干預/可控性 ——— 保密性 ——– 整全性 ——– 可用性 —-

<————- 網絡安全關注領域 ————>
  • 不可關聯性(unlinkability):不可從數據/系統的信息中關聯到用戶的個人信息。

三種數據泄漏的風險

  • 直接識別風險(從數據中)
  • 鏈接攻擊風險:通過比對不同數據庫的信息,可以關聯出更多、更全面的個人信息。
  • 推理攻擊風險:通過更多的知識、更多的計算和檢索,可以推理出用戶的個人信息。

幾種隱私保護技術的風險抵禦 之比較

Y:可以抵禦;N:不能;可以無:視怎麼使用/使用程度

技術 ———- 直接識別風險 ——— 鏈接攻擊風險 ——– 推理攻擊風險

假名化 ———– Y ———– Y ———— Y

加噪 ———- Y ———-可以無 ——— 可以無

置換 ———- Y ——— Y ——— 可以無

K-匿名 ———- N ——— Y,風險爲 1/K ——– Y

L-多樣性 ——— N ———- Y ————可以無

差分隱私 ——— 可以無 ——- 可以無 ——–可以無

哈希/標誌化 —— Y ———- Y ———– 可以無

三類技術

  • 數據屏蔽(data masking)

    • 靜態數據屏蔽(static data masking, SDM):主要用於非生產環境
      1. 中間庫方式(in-place):把數據克隆到中間庫 —-> 脫敏 —-> 導出到test庫
      2. 原地脫敏(at-source):在原庫脫敏後離開生產端 —-> 導出到test庫
    • 動態屏蔽(dynamic data masking, DDM):用於生產環境;查詢數據時基於其使用權限對相應數據進行實時脫敏(即重定向)。
      1. 基於視圖view的模式:預先靜態生成好已脫敏的版本(只支持關係型數據庫);
      2. 基於代理的屏蔽:所有數據請求都須警告代理設備,被代理攔截並進行透明替換(支持非關係型數據庫)
    • 屏蔽算法(與之前介紹的如掩碼、加噪等技術相同)
  • 等價類匿名技術 (equivalence class)

  • 差分隱私 (Differential Privacy) 技術

(後續補充……)

參考資源

GDPR

  1. http://ec.europa.eu/justice/data-protection/reform/files/regulation_oj_en.pdf
  2. https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
  3. http://www.eugdpr.org/
  4. https://gdpr-info.eu/
  5. https://www.tripwire.com/state-of-security/security-awareness/gdpr-the-good-the-bad-and-the-ugly/

Latanya Sweeney and K-anonymity

  1. https://en.wikipedia.org/wiki/K-anonymity
  2. https://en.wikipedia.org/wiki/Latanya_Sweeney
  3. https://www.cs.cmu.edu/~jblocki/Slides/K-Anonymity.pdf
  4. http://latanyasweeney.org/index.html
  5. https://epic.org/privacy/reidentification/Sweeney_Article.pdf
  6. http://www.cse.psu.edu/~ads22/courses/privacy598d/www/lec-notes/K-Anonymity%20and%20Other%20Cluster-Based%20Method1.pdf
  7. https://dataprivacylab.org/projects/identifiability/paper1.pdf
  8. https://iapp.org/media/pdf/knowledge_center/Re-Identification_of_Welds_Medical_Information.pdf
  9. https://dataprivacylab.org/dataprivacy/talks/indexOLD.html
  10. https://www.eff.org/deeplinks/2009/09/what-information-personally-identifiable

Other things

  1. http://www.cs.purdue.edu/homes/ninghui/papers/t_closeness_icde07.pdf
  2. http://www.cs.cornell.edu/~vmuthu/research/ldiversity.pdf

繼續閱讀
Posted on June 3, 2017

Tails Report April 譯

Tails 四月月度報告

非官方試翻譯

原文地址

  • 新發佈
  • 在2.12中引入了如下更新:
    • 我們把 GNOME sound recorder(一個簡單的聲音記錄器)再次安裝了進來,這樣可以對更複雜的 Audacity 做個補充。用該應用做的錄音會存放在 recordings 目錄。
    • 我們移除了 I2P(另一種匿名網絡),因爲我們很不幸沒能找到一個在Tails維護該應用的開發者。爲Tails維護、整合 I2P 需要大量的時間和精力,而我們團隊還有更重要的事情要忙。
    • 把 Linux(內核)升級到 4.9.13。這將增強對新硬件(顯卡、wifi等)的支持。

繼續閱讀
Posted on June 2, 2017

Tools Respect Your Privacy

一些無需暴露你菊花的工具

時至今日,2017年6月1日,中國《網絡安全法》正式生效。雖然這部法律裏的甚多規定都模棱兩可,但從今以後,關於這裏的網絡,會有個質的改變。其中之一就是,網絡實名制。

很多電信、互聯網服務都需要實名使用了,隨便使用個網站/app 都需要提供用戶的手機號碼。雖然這部法律規定了泄露和販賣個人信息的法律責任,但我們心裏都明白,面對互聯網(BAT)和通訊(移動/聯通/電信)大亨,個人是很難打贏相關官司的,連基本的技術上的證據都難以拿出來。

這時,你我都可能還不得不用支付寶、摩拜的免費服務,但其實我所能做的,就是廣而告之,還有哪些能尊重你的隱私的(至少不需捆綁手機號吧)服務。下面列舉一些門檻不是高的(持續添加中):

更多的工具這裏還有: Digital-rights/resources-软件资源.md

祝您通訊愉快 ^-^


繼續閱讀
Posted on June 1, 2017

隱私保護技術和規範 學習筆記 1

隱私保護技術和規範——學習筆記(一)

平時,當我們談論和鑽研網絡隱私的時候,我們通常是從用戶/消費者的角度來進行的(比如怎樣防止自己的個人信息被網絡的另一端悄悄地竊取)。然鵝,我們也應該從產品的角度來談論網絡隱私,好的產品應該是能充分尊重用戶提交過來的個人信息,並自律地處理之。筆者有幸學習到一系列 產品的隱私設計規範和技術,趕緊與社區們分享。用戶/消費者們瞭解、掌握這些知識,也有利於對產品設計/開發者進行監督,及時維護自己的權益。After all,用戶應該對自己的電腦/手機/設備 享用完全的自主權。

概念:

“隱私”:

  1. 物理隱私:主要指個人有自己單獨的物理空間,並有拒絕他人進入的自由。
  2. 信息隱私:個人控制、編輯、管理和刪除關於自己的信息的能力;並有決定如何與他人溝通自己信息的自由。

個人信息:

身份可以(或已被)識別的自然人(即“數據主體”)相關的信息。包括但不限於:

姓名,身份證件號碼,地理位置,生理、精神、經濟、文化、社會等特質因素;還包括電郵地址、電話號碼、指紋、IP、社保號碼、宗教、婚姻狀態等信息。

敏感個人信息(EU定義)

族羣、政治立場、宗教信仰、工會成員、基因/生物信息、健康/性狀況、性取向。

國內一些廠商還把這些信息歸入“個人信息”:

銀行帳號、身份證號、護照號碼、密碼等。

個人信息的風險級別:

高影響性個人信息: (泄漏用戶個人信息)會導致 違法,對公司的運營、財務和聲譽產生嚴重影響。

中影響性個人信息: 對公司產生不利影響,對數據主體有較大不利影響(如通信地址、年齡等)。

低影響性個人信息: 對公司的影響可控(如帳號ID、性別等)。


繼續閱讀
Posted on May 30, 2017

The Nonprism Software

反“棱鏡”-隱私加強的軟件庫

在此向大家介紹一些軟件的隱私加強版,這些軟件(當然都是自由開源的)來自 Parabola GNU/Linux-libre ——一個基於Arch GNU/Linux 的純自由軟件的操作系統。他們的軟件倉庫全部都是符合 GNU 的自由操作系統指導意見的。而本站想推介的是,他們的軟件倉庫裏非常有趣的一個子倉庫:Nonprism,裏面的軟件都是經過維護者和社區的修改,去掉了可能引起隱私/個人信息泄漏、元數據/指紋暴露和其他漏洞等低級別的協議。

本站特地學習了每個軟件所修改的地方,並親自編譯安裝。改動的地方其實主要包括:以sandbox方式(iceweasel / icedove) 或 以 chroot方式(Tor)運行;去掉一些不安全的/閉源的/有過監控之名的 協議/服務(如Google相關服務/Skype…等等);etc….

Nonprism 的 PKGBUILD 在這裏:https://git.parabola.nu/abslibre.git/tree/nonprism

今後還會不斷增加更多能夠做到去掉不安全部分的軟件。它還自帶一個 your-privacy 工具,可以檢測系統是否安裝了有隱私泄漏風險的軟件,並提示卸載換成 Nonprim 倉庫裏的修改版本。


繼續閱讀
Posted on May 28, 2017

Subgraphos 又一款注重隱私的操作系統

source: https://subgraph.com/blog/index.en.html

譯者:MDrights

(譯者註)和Tails,Whonix一樣,Subgraph就是另一款主要通過代理來保證信息傳輸安全,以及在線匿名的平臺。「代理」主要是 Tor,VPN等等(選擇會多一些)。它和QubesOS 有着類似的「隔離以防範入侵」的理念,採用沙盒(sandbox)的方法。

(下面主要意譯自Subgraph的博文:新特性:Alpha 3發佈

1. ROFLCoptor:Tor控制端口過濾和狀態追蹤守護進程

ROFCoptor 過濾Tor控制端口(control port)的流量。可以通過制定針對每個應用的安全策略來限制哪些行爲可以走控制端口。它還通過整合OZ來動態地端口轉發,以支持完全沙盒化的應用(這些應用通常都是短暫的Tor暗網服務,比如OnionShare, Ricochet,比特特幣核心服務等)

2. OnionShare

Subgraph OS 現在支持OnionShare了。後者是通過Tor網絡來安全且匿名地傳送和分享文件的應用。它在OZ裏完全被「沙盒」了了,而且被整合進 Nautilus文件管理器了(在文件上右鍵點擊有「通過OnionShare分享」選項)。

3. Ricochet

Ricochet 是一款匿名的客戶端到客戶端(peer-to-peer)即時通訊工具。它和其他即時通訊工具的不同之處在於其他軟件使用中央服務器,它則是通過Tor暗網服務點對點地連接。它也是完全在沙盒OZ裏運行。

4. Subgraph OS 手冊

我們把我們的技術文檔放在操作系統裏。從桌面便能讀到簡潔版本。完整版可以在這裏找到:/usr/share/sgos-handbook/


繼續閱讀
Posted on April 6, 2017

Cryptocat 加密通讯 介绍

译者注:这篇翻译缘起 Telegram 的相关群组讨论到 CryptoCat这个加密通讯工具。虽然它好像不怎么名声远扬(github仓库上 star 不多),但笔者发现它的开发者「诚恳诚实」地在做这款软件,也有一些创新之处(请看稍后的测评)。他们的这篇软件加密介绍便值得一学。

Source: https://crypto.cat/security.html

Encryption Overview

加密技术总览

Cryptocat uses a Double Ratchet-based encryption protocol that combines a forward-secure ratchet with a zero round-trip authenticated key exchange. As a transport layer for encrypted messages, Cryptocat adopts the OMEMO Multi-End Message and Object Encryption standard, which also gives Cryptocat multi-device support and allows for offline messaging. In terms of the transport layer, Cryptocat uses XMPP over a long-standing, TLS-encrypted WebSockets connection. Cryptocat 使用了「双棘轮」为本的加密协议,该协议结合了一个向前安全的“棘轮,及一个零巡回验证的密钥交换过程。在承载加密信息的传输层上,Cryptocat 采用了 OMEMO 多端信息和对象加密标准,能提供多设备支持并允许离线消息。至于这传输层,Cryptocat使用通过一个长期性的TLS加密的 WebSockets连接的 XMPP(协议)。


繼續閱讀
Posted on January 31, 2017

关于signal的后门

[选译]

Source: https://blogs.fsfe.org/larma/

About backdoors in Signal and other apps

关于Signal和其他应用的后门

Posted on January 16, 2017

… or why it’s useless to have the most secure crypto system in the world, when using non-free and untrustworthy tools and libraries to implement it. 或许想说,为什么用上了世界上最安全的加密系统,但(它在执行时)用了非自由[*]和不信任的工具和库的话,就都是白扯。

tl;dr: There is a “backdoor” in Signal nobody cares about, only Google can use it. 「太长不读」(简短地说):Signal中其实也有个「后门」只是没人介意,只有谷歌可以使用这个「后门」。

如果你用Signal,你可能是因为它是开源的,被主流的安全和隐私专家审计过并推荐,而 WHatsapp却是闭源的,由脸书公司持有。

但你错了。Signal自己的代码虽然开源,但它不能被成为自由软件,因为它采用了不开源的外部库。这就是为什么我要看看Signal到底怎么回事。


繼續閱讀
Posted on January 16, 2017

在线匿名faq

在线匿名FAQ

——献给有安全、隐匿上网需求、正在或潜在遭受制度的、社会的和个人迫害的朋友。

为方便持续更新,文章见repo:

https://github.com/mdrights/Digital-rights/blob/master/%E5%9C%A8%E7%BA%BF%E5%8C%BF%E5%90%8DFAQ.md

如有任何疑问,欢迎在这里提出:发一个issue(需注册)


繼續閱讀
Posted on January 1, 2017

Refracta For Privacy

Refracta: 定制自己的Live系统

之前我自己一直折腾着Tails, Whonix, 等与隐私和信息安全相关的系统,他们要么在用户友好易用性不够满意,要么对系统性能要求较高,我们还是需要继续折腾,满足用户对隐私和易用的双重需求。

著名的_网红_程序员,“编程随想”,写过很多很好的教程,各个领域的包括教大家如何用虚拟机保护自己的信息,你感兴趣,可移步这里

今天我想添油加醋的是,再推荐一款易用性更好,更容易复制推广的系统,Refracta/Devuan。跟前两者一样是基于Debian的。


繼續閱讀
Posted on November 19, 2016

Translate Eff Whatsapp Suggestions

「譯」EFF:Whatsapp的四點不安全做法

譯者:MDrights

原文鏈接(注:译者只进行了概括性翻译,请以原文为准)

作者:Gennie Gebhart

经过深思熟虑,我们(EFF)决定把对即时通讯软件Whatsapp的安全使用警示/注意事项,添加到我们的自我防监控指导手册

(译者注:EFF介绍了哪几点Whatsapp的不安全的地方呢?下面跳过原文的一些背景介绍,把这几个关键点翻译,供参考:)

  • 备份是不加密的
    Whatsapp提供了把会话信息备份到云端的机制。为了在以后把这些信息可以从云端不需要密码恢复过来,这些备份必须是非加密的。在第一次安装的时候,Whatsapp会弹出提示让你选择多久备份一次:每天、每周、每月还是永不。在我们的《自我防监控指南》里,我们建议选择永不备份你的对话记录。同时为了确保你的信息得到加密,你的通讯对象的whatsapp也需要设置成永不备份到云端。

繼續閱讀
Posted on October 15, 2016

Hacking Whonix

定制/改装自己的Whonix

题注:作为本博客的第一篇文章,这竟然是关于隐私和匿名上网技术的笔记。它是我自己的操作,稍带创新的吧(这几年其实很多操作都值得记录,但皆觉得都是从谷歌或各大wiki中学来的,才没记下来……)。

这篇文章是我怎样Hack Whonix(Whonix是什么?)。所谓“Hack”并不是真正的去黑,而是“把它搞明白、弄清原理,或改装它”的意思。

Whonix是出色的用于匿名和隐私保护的操作系统(基于著名而伟大的Debian GNU/Linux)。匿名和开源社区有何关系?待我以后展开,此处一句话带过:开源(其实应该叫“自由”,Free as in Freedom)的本质应该是(对自己电脑等设备)的自主和信息的自主。


繼續閱讀
Posted on January 1, 2016

Tails 中文教程

Tails操作系统 非官方中文介绍

这是 Tails 非官方的中文介绍。请浏览其官网:http://tails.boum.org/ (有详细操作手册,还有的下载)

Tails-1

—为什么说它安全? 所谓技术上的安全 (先不说物理上的安全),主要通过两方面实现:匿名和加密! Tails可以使系统的所有网络流量走Tor通道

——这个Tor的意思就是它能让别人看不出你是谁:IP地址、 MAC地址都不是你的系统和机器真实的地址的。你的网络内容需要通过三个在不同国家的服务器才能抵达你要浏览的网站。因此网上的偷窥者根本不知道这些内容来自哪里、是谁的。这便是“匿名”的意思。 但匿名不代表数据加密。 在本机中的资料和传输中的内容还是可能被人中途截取的。Tails肯定也是自带多种加密技术,最应该用的自然是大名鼎鼎的GPG / PGP 非对称加密技术了。因篇幅所限,只能另开一篇介绍哈。在Tails不但邮件、文件可以加密,你还可以把你的硬盘、优盘刷出个加密分区,这才靠谱呢!(关于传输过程中的加密,主要就是尽量应用HTTPS ,尽量不用 JavaScript和 cookies 。)


繼續閱讀
Posted on November 11, 2015