ifttt,是一個新生的網絡服務平臺,通過不同其他平臺的條件來決定是否執行下一條命令。ifttt基於任務的條件觸發,類似程式語言,讓用戶可以根據他們設計的流程設計一些小程序,讓網絡服務能夠對某些行為作出反應。
ifttt 是一項創造性的應用,但是我和我的朋友們必須重視其背後隱藏的風險。
一、什麼是 ifttt
如果這樣就那樣。this 稱為 trigger,而 that 稱為 action。每條 ifthisthenthat 稱為 task。
ifttt 可以實現多種網際網路應用的協同工作。(更多關於 ifttt 的介紹請訪問其網站或 Google。)
為了實現 ifttt 的功能,ifttt 必須獲得授權。
二、什麼是授權
授權在此處指允許被授權的第三方應用獲得一定的訪問你的其它應用的權限。
例如,授權 ifttt訪問 Gmail:第三方即 ifttt,而被授權訪問的其它應用即 Gmail。
授權主要有 2 種方式:直接授權和 OAuth授權。
1、什麼是直接授權
直接授權即直接向第三方提供用戶名和密碼。
以 eBuddy為例,為了在 eBuddy上使用 Gtalk等,必須直接在 eBuddy上輸入用戶名和密碼。
這種方式的缺點顯而易見,第三方在取得授權的同時獲得了用戶名和密碼。
2、什麼是 OAuth 授權
OAuth授權避免了將密碼提供給第三方的缺陷。
以 Stack Overflow 為例,OAuth授權步驟如下:
1) 用戶選擇以 Google 帳戶登錄。
2) 用戶向 Google提供用戶名和密碼登錄 Google 帳戶。如果已經登錄,則自動跳過本步。
3) 用戶查看並接受授權。
4) 登錄成功。
3、OAuth 不是銀彈
OAuth授權在原始應用中完成,因此第三方應用不會獲得密碼,然而,第三方應用仍然切實獲得了被授予的所有權限。如果第三方應用被攻陷則攻擊者也將獲得相同的權限。
三、ifttt要求極其巨大的權限
作為參照,Stack Overflow 僅要求獲得 Google 帳戶的電子郵件地址。
事實上,這幾乎是 OAuth登錄可以要求的最小權限。因為無論如何,若要將你和其他用 Google 帳戶登錄的用戶區分開來,必須獲得你的Google 帳戶的唯一標識符,即電子郵件地址。如果 Stack Overflow 被攻陷,攻擊者唯一所能獲得的就是大量有效的電子郵件地址(可以用於發送垃圾郵件,但也僅此而已)。
ifttt要求 Gmail 的訪問權。(從 ifttt可以實現的功能來看,該權限實際上為完全訪問權,包括但不限於發送/接收/刪除郵件,訪問/修改通訊錄等。) Google 也作出了更為謹慎的建議,但是對於非專業人員而言還是過於輕描淡寫了。
ifttt的 Facebook 授權可以更直觀的顯示 ifttt 所要求的權限之大。
也就是說,ifttt為了實現與 Gmail 相關的 Task 必須獲得 Gmail 的完全訪問權限。這意味著如果 ifttt不幸被攻陷則我的 Gmail 帳戶也將同時淪陷。這意味著我必須將 Gmail 帳戶的安全從堅不可摧的 Google 轉移到 ifttt。
更可怕的是,為了實現 ifttt的協同工作,我必須將我的 Facebook,Twitter,LinkedIn 在內的大量在線帳戶都交給 ifttt。
雞蛋現在都在同一個籃子裡,而且這個籃子還不一定牢靠。
以 ifttt用戶協議中關於自身責任的段落作結。
文章來源:月光博客 轉載請註明出處連結