Facebook 證明 Tor 的 Hidden Service 不安全

Facebook 宣佈了 https://facebookcorewwwi.onion/ 這個 Tor hidden service:「Making Connections to Facebook more Secure」,讓人可以直接在 Tor 的網路裡連上 Facebook。

Facebook 的人用的方法與其他人一樣,是透過 brute force 算出這個 hidden service。

但這也直接證明了 Tor Hidden Service 不安全:(參考這個註解的說明)

If Facebook has the resources to brute force their own full key, then you better believe the NSA and GCHQ do too. Which means that you will no longer know if the hidden service you’re connecting to is the real one or the NSA/GCHQ version. Tor hidden services are now dead.

這次未免太精彩了 XDDD

Posted in Computer, Murmuring, Network, P2P, Security, Software, WWW | Tagged , , , , | Leave a comment

真正的 Redis Cluster

也是積了很久的文章,Redis 的其中一位老大 Salvatore Sanfilippo 在第一個公開 Redis Cluster 功能的 3.0.0-rc1 版寫下了 Redis Cluster 的發展過程:「Redis cluster, no longer vaporware.」。

MySQL InnoDB 可以保證極強的 ACID 特性,配合 DRBD 這類的 HA 架構,可以保證 server 回了成功後一定不會掉資料。

memcached 則是 Shared nothing architecture,當初設計就是拿來當 cache,資料隨便掉沒關係。

兩者中間還是有很大的空間,而 Redis Cluster 的出現有機會入場看看情況了,不知道能不能在 InnoDB 與 memcached 中間找到適合的點立足。

Posted in Computer, Database, Murmuring, Software | Tagged , , , , , , | Leave a comment

djb 的密碼學陰謀論

Daniel J. Bernstein (djb) 在巴西 H2HC 11 的的演講投影片:「Making sure crypto stays insecure」(PDF)。

對政府單位來說,並不樂見有安全的密碼系統。因為安全的密碼系統對於政府監控人民是個麻煩。

如果十年前拿出來講,可能大多數人會覺得投影片裡面的內容太過於「被害妄想」,但經過 Edward Snowden 的努力後,被證實政府完全站在人民的反面。

在演算法裡面藏後門 (經典的 Dual_EC_DRBG);干擾標準的制定,讓實做變得複雜,於是就會變得難以正確實做;在標準裡面故意低估安全威脅 (尤其是 timing attack 類);放出過時消息宣稱加密的成本很高 (指時間成本)。

這種種事情的透漏,甚至讓小說作者 cancel 掉小說的續集 (第三集),因為他發現他要寫的故事內容 NSA 都已經做過了:「Sci-fi Author Charles Stross Cancels Trilogy: the NSA Is Already Doing It」。

很精彩的投影片,對資安有興趣的人都應該看一看。

Posted in Computer, Murmuring, Political, Security | Tagged , , , , | 1 Comment

MySQL InnoDB 遇到 Deadlock 時的判讀

Percona 的「How to deal with MySQL deadlocks」這篇文章裡面提到了 MySQL InnoDB Deadlock 的判讀與處理。

在支援 transaction 的 engine 裡 deadlock 是不可避免的常態。

在 MySQL 5.5 以及之前的版本,可以透過 Percona 的 pt-deadlock-logger 這隻 script,每固定幾秒鐘就跑一次 SHOW ENGINE INNODB STATUS 記錄下來。在 MySQL 5.6 之後,可以直接使用 innodb_print_all_deadlocks 這個參數,遇到 deadlock 時就寫到 error log 裡。

有了 log 後,接下來就可以判讀 deadlock 的情況,得知是什麼樣的情況造成 deadlock。

文章最後面則是對減少 deadlock 的方法給了一些建議,都是比較一般性。一般還是要靠 bussiness logic 的分析來切割降低 deadlock 的情況。

不過這篇文章需要一些背景知識,像是 InnoDB Lock Modes 與維基百科上的「Multiple granularity locking」,對解讀會有更多幫助。

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , , , , | Leave a comment

Vectorized executor 加速 PostgreSQL 查詢速度

忘記是在哪邊看到的,留在 browser tab 上好幾天了:「Vectorized executor to speed up PostgreSQL」。

目前是針對比較簡單的條件加速:

不知道會不會被 merge 回去…

Posted in Computer, Database, Murmuring, PostgreSQL, Software | Tagged , , , , | Leave a comment

修正 Mac OS X Yosemite (10.10) 的設定以確保隱私

Hacker New Daily 上看到的:「Fix Mac OS X Yosemite」。原因是 Spotlight 的部份 AppleBing 合作:

If you’ve upgraded to Mac OS X Yosemite (10.10) and you’re using the default settings, each time you start typing in Spotlight (to open an application or search for a file on your computer), your local search terms and location are sent to Apple and third parties (including Microsoft).

有兩個地方要關閉。一個是系統設定,一個是 Safari 設定,細節在原文裡面有,這邊就不抄過來了。

Posted in Browser, Computer, MacOS, Murmuring, Network, OS, Safari, Search Engine, Security, Software, WWW | Tagged , , , , , , , | Leave a comment

LinkedIn 依照他們的資料對美國的大專院校排名

Slashdot 上看到 LinkedIn 對美國的大專院校排名:「Be True To Your CS School: LinkedIn Ranks US Schools For Job-Seeking Programmers」。

軟體工程師的部份在這邊:「LinkedIn 大學排名 — 軟體開發人員」。Slashdot 上的 comment 瞬間就戰起來,然後還有人跑出來問怎麼沒有美國外的資料 XDDD

CMU 第一名不算奇怪,但 Stanford 意外的後面?

Posted in Computer, Murmuring, Science, Social | Tagged , , , , , , , , | Leave a comment

dropcap.js:頭字放大效果

在「Dropcap.js: Easily add drop caps to your web typography」這邊看到 Adobe 用 JavaScript 實做了段落頭字的放大效果。本來以為這個效果有 CSS 支援,翻了一下沒找到…

官網在「dropcap.js」這邊,GitHub 的頁面在「Beautiful CSS drop caps made easy」這邊。

Posted in Browser, Computer, Murmuring, Network, Programming, Software, WWW | Tagged , , , | 3 Comments

產生 SHA256 的 SSL Certificate

在「Adding an (SHA256 signed) SSL certificate」這篇文章裡提到要如何簽出帶 SHA256 的 SSL certificate,重點在於要先生出有 SHA256 的 CSR,然後拿著這份給 CA 簽。

先照抄過來,看起來是有 encrypted 過的版本:

openssl genrsa -aes256 -out example-encrypted.key 2048
openssl rsa -in example-encrypted.key -out example-decrypted.key
openssl req -new -sha256 -key example-decrypted.key -out example.csr

如果不加密的話應該是:

openssl genrsa -out example.key 2048
openssl req -new -sha256 -key example.key -out example.csr

然後照著文章裡的說明輸入對應的資訊,然後拿著這份 CSR 檔給 CA 簽。

Posted in Computer, Murmuring, Network, Security, WWW | Tagged , , , , , , | Leave a comment

nginx 打算使用 JavaScript 的方法…

nginx 的創辦人在接受 InfoWorld 訪問時提到了打算使用 JavaScript 做為設定檔的計畫:「The company plans to let you use JavaScript as an application language in its eponymous Web server」。

We’re planning JavaScript configurations, using JavaScript in [an] Nginx configuration. We plan to be more efficient on these [configurations], and we plan to develop a flexible application platform. You can use JavaScript snippets inside configurations to allow more flexible handling of requests, to filter responses, to modify responses. Also, eventually, JavaScript can be used as [an] application language for Nginx. Currently we have only Perl and Lua [supported in Nginx]. Perl is our own model, and Lua is a third-party model.

目前的設定檔算是 DSL?還蠻有趣的想法…

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , | Leave a comment