從這次網易郵箱被破解看,如何避免被社工、避免重要信息泄露?
從這次網易郵箱被破解看安全問題,作為一個普通的用戶,如何做到網路安全,如何避免被社工
剛剛通過我司公眾號發了一篇科普文,大家感興趣的可以看一下:
網易郵箱用戶數據泄露始末如果這種級別的泄露是真的的話,只要用了網易服務的用戶根本無法倖免。而且這種級別的數據在真正流入公眾視野的時候,可用價值已經被洗的差不多了。
普通用戶能做的只有在每一個重要的網站或者APP中,千萬不要使用重複的簡單密碼。盡量把自己某個密碼泄露的危害程度降低。
- 重複是避免這個密碼被惡意攻擊者用來進行撞庫攻擊;
- 不要用簡單密碼是在用戶隱私泄露時,如果一個公司稍微有點良心,你的密碼應該是被某種hash演算法加密保存的,那麼被反解出的概率就會低很多;
各位的回答都很專業,業餘閑時研究 過去泄露的密碼庫里密碼組成, 插科打諢,當然終極的目的是,以某社工庫為參考,如果我知道你的用戶名,破解你密碼的概率有多大?或許順帶對大家設計密碼有所幫助。
2011年起有一系列重大網站密碼泄露,csdn社區、人人網、多玩網、微博的部分密碼數據都被掛到了網上(數據自行google,本文僅討論思路,展示結果)。
以當時微博的3315156條用戶名密碼數據,開始分析之旅。
密碼top20,都有些啥
很容易發現規律,俺將此類密碼的主人分五大派系:
- 極懶派
- 手勢派
- 規律派
- 手機派
- 生日派
- 情感派
極懶派:
這3萬多同學真是懶的令人髮指,也刷新了哥的常識,喝喝...
- 那時候微博竟然能通過一個字的密碼。
- password也是老外的高頻詞,我不知道是不是某些網站輸入框里password提示詞的誤導。
- 單字重複型,如 11111,讓我們深入發掘下。
- 最有意思的是http://163.com和@http://qq.com出現的頻率,而這1000多用戶,密碼=用戶名後半部分...
極懶派.一字重複n次
推廣一下,統計形如 "aa", "11111", "ssssssss"這類若干個相同單字的密碼總數。 我統計了 1、2、3、4、5、6、7、8、9、0、q、a、z、w、s、d的頻率分布,其中用"111111"型的用戶最多 這些密碼總計6w多人 佔2%。
極懶派.用戶名=密碼
上述統計不包含用戶名和密碼相同的密碼,這部分密碼共有多少呢?
以abcd@qq.com 為例,我們統計這3種模式的數量之和:
- abcd@qq.com
- abcd
- @http://qq.com 。
99671個人,有點意外,整整佔了3%呢!
手勢派:
密碼太長,能在鍵盤上排成一種形狀,記憶成本就大大壓縮,在密碼排行榜上,和圖形有關的密碼是哪些? 123456云云者,勉強算吧,在數字鍵盤劃一字。同理qwerty開頭的也是這個原理
對此,我看到一位老外很牛逼地總結了20種模式:
這個模式很牛逼,圖上是鍵盤密碼。但11年已經有很多人用手機上微博了。有不少這種手機鍵盤,因此很多密碼為啥長也就迎刃而解了。
規律派:
記住一串數字的規律,我們就可以把一串簡單的數字演繹成複雜密碼,而你記住規則就好。
很勉強,123456就是個等差數列 fn = n 而 13579是 fn = 2*n-1
很多人會用疊詞 如123123,112233,或疊加後對稱 123321 高分密碼有這些:
可以引申下,同樣是數列,用了中學知識就不一樣啦,假設我們讓 fn = n^2, 我們就可以構造一個數列了:
1 2 3 4 5 6 -&> 1 4 9 16 25 36..
我查詢了含有1491625的所有密碼,共找到30幾個,真是海內存知己(因為曾經我也是這麼設計的)
同理 1 8 27 64 125 的只有3個人,高手啊
如果你拿12345開根號、取三角函數、取對數,忘記密碼,在手機計算機里算一遍(別忘了公式)。
海內無知己,天涯只有你,你贏了!
手機派:
使用自己和親人的生日、電話、手機做密碼,已是我對普通密碼的印象了,這部分人究竟多不多?
用手機做密碼,一開始我設置了11位的數字的條件,但是有很多錯誤的結果。好在網上有對手機號碼檢測的正則表達式,包含了2013年前所有的手機欄位:
- 移動:139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
- 聯通: 130 131 132 155 156 185 186 145 176
- 電信: 133 153 177 180 181 189
- 虛擬運營商:170
因此大神整理了一個可以查詢手機號的正則表達式。
最後經過統計,172418個同學用手機號做密碼 佔比5%。
生日/紀念日派:
我們查詢所有包含年份的密碼,這些年份都以19和20開頭,且有4位連續數字, 考慮到5201314(我愛你一生一世)也是高頻密碼,且密碼數據的時間為2011年,此時2013不該出現,所以排除2011年以後的年份,我們得到如下結果:
543559個密碼使用了年份,佔總量的18%。 真不是小數字,但數據還是很複雜,有大量年份和字母,符號混合的,也不一定就是年份。那我們縮小範圍,如果包含生日的有多少人?
月份比較複雜,1月1日出生的,也許寫11,也許寫0101,也有1.1、1-1的。但後者其實比較少,且在在這篇分析人人和csdn密碼的文章里看到YYMMDD型的生日是最多的:
我們查詢包含這些318022個密碼符合條件 佔總量的10%。
這批密碼還是頗為複雜,因為很多人在字母和其他數字後加入生日的,僅以生日作為密碼的人會有多少?
答案是137697, 4%的人僅用生日做密碼,而其中,也有些奇葩的答案,如好幾個"19190504" 我去,這是xx團委的公眾號么...
情感派.因為愛情
現實里壓抑的我們難得一說我愛你,不論國內國外,都有很多人對著伺服器許願,說出 wo ai xx,這些我愛你型密碼的總數讓我非常震驚。
這份密碼數據里,woaini 以2659次重複榮居意義型密碼榜首,iloveyou則不到woaini的一半。 但事實上文字版的都弱爆了,位居第五名的5201314(我愛你一生一世)有15000個人同時使用,還有各種變體..其中第13名最缺愛 7758521(親親我吧愛我吧)
除了我愛你,我還愛誰? 讓我們查詢任何含有 woai(我愛)的密碼,還是基本都是在各種愛你.. 偶爾有woaiwojia woaishui woainima.. 有意思的是我愛我家,這中介公司的名字取得真是合理。
如果我們查詢含有 "wo"字的密碼,也會發現我最喜歡做的事情就是愛xx.. 除了愛你,我還愛誰呢,老公、老婆、媽媽、爸爸... woailaopo + laopowoai 的人數有291人 laogongwoai和woailaogong的人數有98人,這些都是少數派密碼了。我們試試 我愛媽媽(201)和我愛爸爸(60)的比例,竟然也是3:1。
出於好奇,我又統計了密碼里包含"laopo"的和包含"laogong"的比例: 老公: 454 老婆: 1118 包含老公的密碼基本都是形如: "zuiailaogong"、 "qinaidelaogong"、 "pplaogong",我擦看不下去了,真是一部show恩愛寶典.. 愛老婆的數量還是完勝,可惜,這是一組良莠不齊的密碼, 還是有不少形如laopo38、 laoposhizhu choulaopo laopocaolei sblaopo777 的密碼...(總數還是不算多)
相反,罵人的人比例很少,fuck shit cao說的人都不算多。而這其中,也有些有趣的點:
魯迅在雜文《論他媽的》中說他媽的是中國的國罵,但是時代變了,也許是受了上古十大神獸草泥馬(當年暴走漫畫王尼瑪還沒火吧),nima的頻率2714次遠高於tama 101次。也完勝 "fuck"、 "shit"、 "wocao"這些 400-500次之間的詞。
用什麼字做密碼最安全
我不是黑客,不知破解演算法是怎麼做的,但只要鍵入一個字,就讓你的密碼與眾不同,你會怎麼敲? 我們對密碼里用到的所有字進行統計,得出下圖 :
1是第一名,被300多萬用戶累計輸入300多萬次,1是一個很有趣的數字,超過60%的人密碼會用到1,而30%的人會以1作為密碼開頭, 可以看到"." "@" 等特殊字元,在符號里排名很靠前。曾經看到說用""在密碼里較為安全,因為比"-"少,事實上也的確如此,但你何必按shift打號呢,","的比例比前面所有的標點符號都少
我們可以看到,數據下降非常快速,有規律可循嗎?將柱狀圖的大小全部取對數,那麼四大陣營的階梯形一覽無餘: 1-9排在了所有的字母之前,幾乎所有的字母排在了大寫字母之前
你的密碼安全嗎?
回到2011年,我在微博上找一個郵箱,然後破解你的密碼,哥成功的概率有多大?
前100名的密碼,第一名的密碼123456共165882條,佔5%。前10名的密碼有316085條,佔10%,而前100條密碼共442555條,占 15%
累計15%的人能被這100個密碼破解。
用戶名和密碼匹配(包含之前提到的前綴相同,後綴相同和 後綴+@相同)共99671人。
累計計18%的用戶都會在103次窮舉後被破解。
近100年的生日有365*100個,如果我遍歷那麼多次,總有一個是對的,這樣我可以破解4%的密碼。
累計22%的人已經被破解。
倘若我知道你的手機號碼,5%的人的密碼會被破解,累計27%
如果我知道你的名字(這份數據無法分析你的名字和密碼的關係) 這個比例會更高。
2011年,1/3的人密碼是不安全的。
你覺得你的密碼設計的科學嗎?
參考資料:
ZIPF分布、PARETO分布和冪律分布
CSDN及人人網的用戶密碼分析
最新手機號碼驗證正則表達式
謝謝看到這裡的朋友,整個研究都是在mongodb和nodejs完成的,都很簡單,如果對實現感興趣 也可以在我的公眾號(mathartworld)看看~
http://weixin.qq.com/r/j3WiunTEQyk8rTDZ9yCd (二維碼自動識別)
- 不要被網站一勾引就賣掉自己的郵箱、姓名,甚至電話去註冊;要求身份證實名認證的更要提高警惕。
- 盡量不同網站用不同的密碼。我自己的做法是,賬號不重要的網站,用網站域名做密碼。
- 在一個可靠的地方集中存儲一份密碼列表,比如使用 1Password、LastPass 等工具;蘋果的 Safari 密碼存儲在 keychain,可以多設備同步,Chrome,火狐,Edge 等瀏覽器也有同步記住密碼功能。
- 不信任的網站使用臨時郵箱註冊,比如 Guerrilla Mail
- 不信任的網站使用臨時的賬號登錄,我自己整理、維護了一份公共賬號列表,歡迎添加:Category:網路賬號
- 臨時體驗、使用登錄後的功能的網站,盡量去買賬號,或者找公共賬號。
- 需要手機號註冊的網站使用臨時手機號註冊,比如國外的 receivefreesms.com 以及國內的 阿里小號-阿里通信。
具體參考 Category:個人隱私保護
網易做了澄清,其實無所謂了,大家還是改密碼的好,對了,不僅僅是去改網易,還要去改其他網站的密碼,特別是和網易使用同樣密碼的網站。
記得順手把二次驗證都打開,如果網站支持的話。
借用@張耀疆的一句話,拖庫這個問題一共三種情況:
一是已經被拖了。
二是已經被拖了可是大家還不知道。
三是正走在被拖的路上。
類似網易用戶密碼被曝光這種事件只是從第二種情況變成了第一種情況,大部分系統都處於第二或者第三,或者歷史上曾經第二、現在正在第三。
《兄弟連》里有句台詞:「你會害怕是因為你覺得自己還有希望,可是越早把自己當作死人,你才越有機會活下去。」
我一直都會假定自己的所有設備都會被黑,所有賬號密碼都泄漏了,所有的安全措施都可能失效,根據這個來確定自己的信息安全策略,至少不會經常受到「驚嚇」。
在這個不安全的世界裡與諸位共勉。@shotgun 老大已經說的很贊了。考慮到知乎有很多從業者,我補充一點。
甲方的各位是不是該緊張起來了?除了考慮自家庫什麼時候被拖。有多少運維人員配置各類設備賬戶的密碼與郵箱密碼是一個?這些設備還安全嗎?
有多少自家員工使用各類IT系統(比如OA、比如CRM,比如……)的密碼與郵箱密碼是一個?或者說,與員工個人常用密碼是一個?這些IT系統的數據還安全嗎?登錄這些系統以後,再注入、XSS、文件上傳,伺服器淪陷以後,其他伺服器呢?定點攻擊一家企業的IT系統,好像成本不再那麼高了吧。泄露的數據樣本很新鮮,可以判斷出事了:「又有用戶量大的公司被脫褲!」
通過烏雲官方微博給出的信息,在google上搜到 site:pastebin.com 163 mail 一份樣本,披露的數據文件大小為51.3GB,其中路人甲給出了100個用戶郵箱的樣本,統計分析結果顯示,這100個人中僅有21個人的郵箱在密碼泄露歷史(12億條公開數據)中匹配到,也就是說另外80%的用戶信息來歷不明(均為新鮮出爐的數據),由此是否可推測,又有有新的大公司(用戶量上億)被脫褲?
100個郵箱泄露的樣本大小為13KB,泄露數據50GB(壓縮文件),大概的用戶量接近4億。
平均每KB:100/13=7.6人,用戶數:50GB = 52428800KB ,50GB * 7.6 = 398458880(4億)利用網易自身的找回密碼服務功能,判斷密碼保護資料的真實性。 得出又一個結果,這些被泄露的郵箱數據至少有180天的歷史了:1、系統提示樣本中的多個****@http://163.com不存在
如果你的網易郵箱帳號沒衝過錢,而帳號連續180天沒有登錄,系統將不定期刪除你的帳號。2、多個賬號的密保資料,密保郵箱和樣本一致,來源卻不得而知。
用戶郵箱在密碼泄露歷史數據(12億條)中存在的結果: 分析方式收集樣本中的100行郵箱,建立批量SQL語句,查看資料庫中存在的結果:"461348695@qq.com,663528318@163.com",ebb23c2c2659e1586a336249bc1f2d9b,"我就讀的第一所學校的名稱? ",0d0d197d07285f77906e5250ce5f0b0d,121.19.24.164,1993-03-01
SELECT email, source FROM `fulldb0001` WHERE email = "xsd3664764@163.com";
SELECT email, source FROM `fulldb0001` WHERE email = "huwenhua0451@163.com";
SELECT email, source FROM `fulldb0001` WHERE email = "4810595@163.com" OR email = "hualuoshen@163.com";
SELECT email, source FROM `fulldb0001` WHERE email = "13589639787@163.com";
SELECT email, source FROM `fulldb0001` WHERE email = "11qww@ooo.com" OR email = "maangjay@163.com";
SELECT email, source FROM `fulldb0001` WHERE email = "wsh951069@163.com";
...........................
執行結果 與已公開的12億數據的匹配結果如下,100個人中僅21個人的郵箱存在記錄,其它郵箱從未在密碼泄露歷史中出現過。
具體分析結:
網易郵箱數據泄露統計分析結果(僅21%的用戶有關聯) -- WooYun(白帽子技術社區)不是撞庫,不是謠言。說是謠言的請看這裡:
網易163/126郵箱過億數據泄漏(涉及郵箱賬號/密碼/用戶密保等)12.89K的數據Demo網上也有了。另外,我總覺得國內郵箱被撞庫的成本太低了。163、126、sohu、新浪郵箱默認都開著SMTP/POP3,同一個IP多次請求也沒限制。每次有新庫了,用腳本循環跑一遍都能跑出來一大堆用相同密碼的。異常登陸判定不嚴,基本等於擺設(只做異地判斷還判斷的不準,有的是網頁登陸會提醒異地登陸,但用POP3收郵件就沒提醒……汗。還有些的更腦殘,發現異地登陸了給當前郵箱發郵件提醒,人家一刪該繼續幹嘛就幹嘛),一旦撞庫成功了就是一連串連鎖反應。
對比一下Gmail的安全措施:Gmail 密碼找回只需要曾用密碼即可,這不會很不安全嗎? - 石濤的回答就樓主問題回答:
作為一個普通的用戶,他們不會像一些網路安全專家那樣考慮很多,從簡單實際出發:1、互聯網沒有隱私(凡是沒有太大必要填寫真實身份的地方盡量隨便填)2、常改密碼(密碼也不要用和真實身份相關的內容)3、不確定的鏈接別點,不確定的二維碼別掃(就和胡吃胡喝不能胡說一個道理)就這麼簡單!就這麼實際!說點實際的吧,
所謂密碼安全策略,普通人就省省,你真有本事整出個十幾位的字母數字組合,還每個地方不重樣,再隔三差五的改一改,你這心機可以圖謀些大事,別整天就折騰自己那幾個破賬號。相反,你保護住了密碼又如何,
豬隊友各大網站被人一頓干,你其他重要信息還不都流出去了?而豬隊友的下限是令人髮指的,有的是明文~按我說:
1.QQ密碼獨立企鵝安全還算可以,至今沒看見真的有流出資料庫,群關係那個不算雖然早有傳言大黑脫庫,但根據剃刀法則,大家都沒見過,就是沒有而且即使有,危害也不大,流出的危害才大2.支付密碼獨立,手機別丟
現在網路支付的策略大多是2重密碼+手機,有的還有同卡進出,被盜賠付等阿里的安全也還可以,反應很快,一般也不會出啥問題當然,你要非用百度錢包,那就怨不了別人。3.其他隨意
相同就相同吧,一般人還真記不住那麼多,至於密碼管理工具,我對這東西本身就是不信任的。而以前也有例子,曾遇到用遊戲幣詐騙我錢財的主,我進他機器(下馬的),發現他密碼都記錄在一個文檔里,好了,某遊戲某區全服第一公會的號全丟。前面也有人提到了,你改密碼,豬隊友被黑客日了,他們的庫了又多了你的新組合。
我混了這麼久,
大部分密碼是7位數字,而且明知道泄露了,後面新註冊還用這個,另一個是9位字母+數字,也泄露了,也不改,再剩下就是支付密碼和QQ密碼了,獨立的,沒泄露,不改。基本沒出過問題,那一堆7位密碼愣是沒人盜,哦除了YY號(多玩安全是渣)。而最可氣的就是那些渣網站,你特么屎一樣的技術,憑什麼要我8位以上還字母數字組合,本打算只讓你丟我一個垃圾密碼,你非要丟我一個好密碼,你憑什麼??!!別以為那些叫你輸入複雜密碼的網站是良心站,最後都是他們害的你!!!個人用戶貌似你不是很土豪,很扎眼的那種名人貌似沒人會特地社工你的吧。十分贊同目前第一答煮的回答。大規模的資料庫泄露個人基本沒法防範。因為伺服器在人家公司那裡,伺服器就算是被搬走了你也沒辦法。要說個人的話,比較簡單的就是自己搞幾套不相關的密碼,小網站比如今天查個資料,後天下個電影的那種,註冊郵箱也用小號,密碼也用單獨的那種,這些不會設計你的財產和隱私。買東西的各中地方,各自區分,區分多大靠自己。我都拿本子記下來的。因為假如萬一tb漏了,俺jd也是一個密碼,估計就要廢了。反正,自己管好自己,不要一碼通,自己密碼一段時間改一改,別偷懶,防範心強一點總是好滴。
Gmail 能蹭 Google 兩步驗證,重要賬號沒兩步驗證根本不放心了。
不要用簡單重複密碼,儘可能每個網站都用不同的密碼,可以藉助 1Password 或 SafeInCloud 這種密碼管理工具。
不要用 LastPass 這種把託管密碼上傳到中心伺服器的密碼管理服務,稍微搜一下就知道 LastPass 自己已經被入侵了多少次了。iCloud Keychain 雖然目前還沒有公開安全事故的記錄,但原理上也是此類,是不夠透明安全的。相比之下 1Password 或者 SafeInCloud 都是離線產生 AES256 加密過的資料庫,上傳到用戶自己的網盤,這樣經過兩層保障,相對安全一些。
除此以外,儘可能給重要帳號打開 2FA (兩步認證),從 https://twofactorauth.org 可以看出,許多大公司的產品都已經支持 2FA 了。
還有如果有選擇的話,遇到那種登錄、註冊頁面都不是 https (訪問時瀏覽器地址欄沒有綠色的安全標誌) 的網站,或者 https 配置不合理 (訪問時地址欄有帶紅叉叉的鎖的網站, 如火車訂票的 12306) 的網站,註冊時就應該做好在這個網站留下的全部數據都有可能公之於眾的準備了。所以儘可能不註冊,實在要註冊切記不要用其他網站用過的密碼。能用郵箱就不要用手機號,能不留身份信息就不留身份信息。
還有,保護好自己的郵箱帳號和手機號,以及 iPhone 用戶的 Apple ID。這些是「大門鑰匙」,一旦泄漏,大部分網站的密碼都可以藉此重置。當然,更加不要使用那些不負責任的郵箱提供商,比如這次事件的當事人公司。
還有還有,到可靠的來源下載軟體,最好是官網。下載軟體時如果不是通過 https 地址下載的,一定要記得檢查軟體的簽名或者校驗碼。檢查校驗碼的軟體可以選擇權威的:Microsoft (R) File Checksum Integrity Verifier,OS X 用戶可以用系統內置的 OpenSSL:Mac OS X: How to verify a SHA-1 digest
原因:- 為什麼每個網站的密碼都不能重複?因為不少無良或無知的網站,會把用戶密碼明文保存在自己的資料庫或日誌中,而這些網站又很容易由於管理混亂或者安全意識薄弱而被入侵。一旦被入侵,用戶明文密碼泄漏,用這個密碼去試探用戶的其他網站,就很容易把其他網站的賬戶也連累盜走了,是為「撞庫」。CSDN 資料庫明文密碼泄漏事件、攜程網日誌明文存信用卡安全碼,都是例子。
- 為什麼即使密碼不重複,也不應該用過於簡單的密碼(弱密碼)?因為有的網站比 CSDN 良心一些,把密碼存到資料庫之前做了單向摘要運算,但因為安全意識不夠只使用了簡單的 MD5、SHA1 等運算,再良心的加入了隨機字元串(salt)。這種密碼數據一旦被盜,不能直接得到明文。但以如今的計算能力,用窮舉的方式暴力破解完全是可行的。所以如果密碼過於簡單,比如只有數字,或者長度只有六位,那麼就大大降低了暴力破解的成本。事實上,負責任的網站應該使用 PBKDF2 演算法存儲用戶密碼摘要,這種演算法除了給每個用戶隨機生成單獨的 salt,還會重複進行 SHA1 之類的摘要演算法,並且提供隨著計算能力的增強不斷加大運算強度的能力。可惜的是,國內大部分網站都仍然沒有使用這種方式,按照以往的社工庫來看,其中不乏大公司。所以要想密碼不容易被逆向,只能用戶自己承擔起這個職責,增加密碼的複雜度和長度。
- 為什麼應該打開 2FA(兩步認證)?兩步認證是一種增強的安全機制,讓用戶即使輸入了正確的密碼,要登進賬戶仍然需要再提供一個第二憑證,比如預留手機號收到的簡訊驗證碼,或者預先配置的一個手機 App 中隨時間而變化的動態密碼。這樣即使原始密碼泄漏,也能再留一個後備門檻。這對於一些重要賬戶(如註冊其他網站的郵箱)來說非常重要。
- 為什麼需要留意網站是否給註冊登錄頁面上了 https?因為脫離配置正確的 https,http 就是一種明文傳輸的協議。我們上網的環境是非常複雜的,數據從家裡的 WiFi 或者 3G/4G 網路到小運營商入口或基站,再經過數十個路由器流入骨幹網,如果數據沒有加密,中間任何一級都可以去竊聽甚至篡改。所以一個真正意義上安全的網站,應該是全站部署 https 的。但是很多網站沒做到這點,那麼我們退一步要求,起碼提交密碼的頁面(登錄、註冊頁)應該部署了 https。否則填入的密碼將一路裸奔經過那麼多路由器,甚至可能在 WiFi 這層就被截獲下來了。(架設個蜜罐 WiFi 去麥當勞、星巴克或圖書館釣魚,也並不是很難的事情)
- 為什麼 https 只有配置正確了才有效果?因為 https 的加密密鑰是在我們打開一個網站時瀏覽器和對方網站「握手」來協定的。這個握手階段需要對方網站出示自己的「身份證」(也就是公鑰),這個身份證還應該被仔細檢查以防偽造(通過操作系統內置的「根證書」驗證簽名)。像鐵路訂票系統 12306 這樣的網站,繞過根證書籤發機構,自己簽發了一個 https 證書,那麼就相當於偽造了一個身份證。12306 用的是假身份證,任何一個中間劫持者也可以用另一個假身份證換掉它,所以這種 https 不能提供任何保障。同樣,像阿里巴巴支付寶,安裝安全控制項時悄悄在用戶系統里種下一個能簽發偽身份證的「根證書」,居心如何可想而知。除了證書錯誤以外,配置不正確的 https 也屢見不鮮。因為密碼學是非常複雜且「矛」和「盾」都在不斷發展的一個領域,所以如果沒能正確配置,那麼任何一個薄弱環節都可以成為短板,讓整個加密體系的效果付諸流水。用 https://www.ssllabs.com/ssltest/ 可以檢查一個網站的 https 配置評分,用更新到了最新的 Chrome 或 Firefox 瀏覽器,能得到更明確的安全提醒,這兩個瀏覽器在安全問題上一向很有責任心。
- 為什麼要到可靠的來源下載軟體?因為不可靠來源下載的軟體可能被惡意篡改過,用戶在軟體內發出去的任何數據都有可能被悄悄複製了一份並盜走,其中當然也包括了敏感信息或密碼。設想,如果下載了一個被掛馬的瀏覽器,那麼即使在這個瀏覽器上訪問的每個網站看起來都是安全的,但背後發生了什麼又有誰知道呢?
密碼到底是如何泄露的?
想要知道密碼是如何泄露的,不妨先想一想,你的密碼都在哪?概括地來說,它只會在三個地方:本地、傳輸過程中、遠程資料庫中。
舉個例子來說,如果你在瀏覽器中輸入或保存了密碼,這個密碼在你點擊登錄前,只存在於你的本地,一旦你點擊登錄,瀏覽器就會將你的登錄名和密碼打包成為一個請求,發送給遠程的伺服器,這時候你的密碼會經歷一段非常短暫的旅程,最終到達遠程伺服器。如果你是第一次註冊的話,你的密碼還會以某種形式存儲在對方的資料庫中。
搞清楚了這個過程,我們來看一下各個環節里,都存在著哪些風險,會讓你的密碼泄露吧。
1. 本地泄露
1.1 惡意木馬/惡意植入/鍵盤監聽
電腦中病毒後,有些病毒只會在後台靜悄悄地運行著,監控著你鍵盤上輸入的每一個字元,然後偷偷發送給黑客。或者,前段時間的 XcodeGhost 事件,本質上也是應用程序中被植入了一段惡意代碼,在後台偷偷地向遠程伺服器發送你的一些個人信息……
然而實際上,如果你能堅持使用可信任的設備,不安裝未知來源的(盜版)軟體,不對設備進行高危操作(如越獄、Root),感染惡意木馬病毒的概率並不大。特別是在 iOS 系統上,得益於沙盒機制,每一個 App 的密碼文件都單獨加密保存,在不越獄的情況下,第三方是無法直接訪問的。
建議:
- 不在公共或有潛在安全風險的設備上進行密碼操作;
- 除非你非常有自信,否則請不越獄,不 Root;
- 不安裝未知來源的(盜版)軟體。
1.2 偽造
偽造在 Android 平台上特別常見,也出現過由於 URL Scheme 的無驗證機制,而出現的偽造情況。很好理解,如果你開發一款和支付寶長得一模一樣的 App,或者搶先佔用 alipay:// 這個協議的 URL Scheme,理論上你可以誘騙或劫持用戶打開你的偽造支付寶來進行資金安全操作,試想如果你沒有任何安全知識,僅僅看著界面一模一樣的偽造支付寶,你又如何保證自己不被釣魚呢?
建議: 從可信的源(如 App Store、Google Play)下載安裝軟體。
2. 傳輸過程泄露
2.1 明文傳輸
你有沒有想過,當你在一個網頁上點擊登錄時,到底發生了什麼?大多數情況下,瀏覽器其實是向伺服器發送一個 POST 請求,這個請求可能是長這個樣子的:http://login.qq.com/id=10001pw=immahuateng。發現了嗎?你的登錄名和密碼是直接暴露在這個 URL 裡面的。
儘管有些網站會對這個鏈接進行所謂的加密處理,但有些所謂的加密是不可靠的,例如僅僅只是把這些字元串轉化為 Base64 碼,或者用 Javascript 進行加密處理,或許對於小白來說已經完全看不懂了,但是對於真正的黑客來說,這些加密都是可逆的,很多情況下完全可以不費吹灰之力恢復密碼的本來面貌。
如果是在一個不可靠的網路環境下,黑客完全可以使用 Wireshark 這樣的工具攔截請求包,直接看到你的密碼。
建議:不使用不可信的 WiFi 網路,特別是公共場合的陌生、免費 WiFi。
2.2 非加密傳輸
實際上,由於成本的考量,很多國內網站的登錄頁面使用的仍然是 Http 協議,而在國外諸如 Facebook、Twitter 這樣的網站,早已經全站強制 Https 協議。只是多了一個 s,兩者有什麼不同呢?後者的傳輸過程是加密的,這樣即使像前一種情況下有人攔截了你的數據請求包,他也無法獲知傳輸的到底是什麼內容。
當然,近兩年隨著國內網路安全環境的提升,越來越多的網站開始支持甚至全站使用 Https 協議,不過,像網易郵箱等網站,SSL 仍然作為可選項存在,雖然開啟後對速度會有一定影響,但相比起開啟後的安全性能提升,這點速度影響微乎其微。
對了,前段時間鬧得沸沸揚揚的 OpenSSL 漏洞事件,實際上就是說這種加密傳輸的實現方法有一個漏洞,正所謂沒有絕對的安全,對瀏覽器和網站證書也可以保持適當的關注。
建議:
- 如果可能,使用 SSL 加密;
- 保持瀏覽器在最新版本;
- 檢查網站證書是否可信(一般瀏覽器都會有提示)。
3. 伺服器端泄露
就算你的本地計算機再安全,網路傳輸過程再可靠,然而一旦你使用的網路服務提供商不可靠,如果對方的資料庫泄露(常稱為拖庫),那麼你的密碼安全一樣岌岌可危。乍一看如果是對方的問題,好像自己也無能為力,不過一旦你了解到作為網路平台是如何存儲用戶密碼的,那麼還是能在密碼設置方面為自己增加一些保障。
接下來的一些內容可能會有一些技術概念,不過我們為了方便大家的理解,儘可能地進行了簡化處理,並加以例子說明。
3.1 明文泄露
什麼是明文泄露呢?比如說你的密碼是 123456,你所在的平台直接在它們的資料庫里存下了你的密碼 123456,是的,原封不動地存在資料庫里。這意味著什麼呢?對方的資料庫一旦泄露,任何人,不需要藉助任何技術手段,你的密碼就直接展現在了他們面前。
聽著好像很蠢,真的會有平台直接原封不動地把密碼存下來嗎?不要懷疑,想當年 2011 年轟動全網的 CSDN 泄露事件,作為一家技術網站,用戶密碼的保存就是用的原文。遇到這種事情,簡直是叫天天不應,叫地地不靈。
建議:你選擇不知道對方有多坑爹,直到……
3.2 可逆加密泄露
建議:如果說那些直接明文保存用戶密碼的公司很蠢,那麼使用可逆加密的公司只是看起來不那麼蠢而已。什麼是可逆的加密呢?舉一個很簡單的例子,同樣是保存用戶的密碼 123456,你可以設定一個規則,比如 1 對應 z,2 對應 y,3 對應 x,以此類推,那麼最後存下來的密碼就是 zyxwvu。發現了嗎?可逆加密實際上是按照某個規則,加密後的密文與加密前的信息存在著一對一的關係。
由於可逆加密的這種可逆性,一旦資料庫發生泄露,密碼的暴露性實際上和明文差別不大,同樣非常危險。
建議:對方可能以為自己不坑爹,實際也還是坑的……
3.3 不可逆加密泄露
相對於可逆加密,自然就有不可逆加密。你可能經常聽說 MD5、SHA1、SHA256、SHA512、SHA-3 這些名字,實際上它們都是不可逆的哈希演算法。
顧名思義,不可逆加密處理後,你無法通過加密後的密文直接反推出原密碼,因為不存在一一對應的關係。這是如何實現的呢?比如說加密後的密文是 abcdefg,由於不對稱性,生成這串密文的原密碼可能是 123456,也可能是 woaisspai,它們經過哈希演算法處理後的結果可能都是 abcdefg,這就保證了密文的不可逆性。
然而現實總是殘酷的,即使是不可逆加密也並不是非常可靠。為什麼這麼說呢?由於任何人都可以模擬這些哈希演算法,而現實生活中,又有許多用戶的密碼位數過短,或者設置的是同樣的密碼,這就會導致一個結果:即使經過加密後,很多資料庫中存儲的加密後的密文,由於它們對應的原密碼是相同的,所以經過加密後生成的密文也是一樣的。
甚至,黑客們專門製作了彩虹表。什麼是彩虹表呢?就是預先模擬了一個資料庫,這個資料庫中窮盡了各種可能的密碼組合,實際上就是一種暴力窮舉的破解方法。黑客們可以將泄露的資料庫中的加密值與預先準備好的彩虹表進行查找配對,一旦發現同樣的密文,雖然不可逆加密的密文在理論上可能對應多個原始值,但由於有些密碼的通用性,其反推的結果中,各個可能的原始值可能性卻是不一樣的。
而且這件事情並不難,舉個例子來說,普通我們認為只要密碼位數夠長、組合夠複雜、有大小寫 + 數字 + 特殊符號總安全了吧?而事實情況是,一個由大小寫字母 + 數字 + 部分特殊符號預先設立的彩虹表,窮舉所有 14 位及以下的密碼可能加密值時,整個彩虹表的大小也不過才 64GB,在當今的計算能力看來,進行暴力破解的成功機率還是非常大的。
建議:
- 密碼位數不宜過短;
- 密碼採用數字 + 大小寫 + 特殊符號組成;
- 不要使用一些簡單的、他人也可能使用的密碼組合。
3.4 加鹽後的不可逆加密泄露
如果不可逆加密都如此不可靠,還有沒有什麼解決方案呢?當然是有的,那就是加鹽後的不可逆加密。什麼是加鹽呢?在理解這個概念前,讓我們先回過頭去看一下,為什麼說不可逆加密依然不可靠。原因主要有兩點:
- 同樣的密碼加密後生成的密文是一樣的,而一些簡單密碼的使用頻率很高;
- 由於計算能力的提升,使用暴力破解的成本越來越低,使得運用彩虹表進行暴力破解的成功概率上升。
要解決這兩個問題,實際上需要解決的核心是,讓加密後的密文與原密碼進一步隔離,這就需要加鹽了。例如最常用的組合 SHA512+SALT,這裡的 SALT 就是我們所說的鹽,當用戶註冊時,先進行一次不可逆加密後,再對生成的密文撒上一點鹽,就是隨機值,這個撒鹽的過程可以是添加前後綴,可以是改變順序,或者某種隨機的規則,並在此加了鹽的密文的基礎上,再進行一次不可逆加密,就大功告成了。
舉個例子來說,我們先把密碼 123456 不可逆加密到 abcdefg,然後對生成的密文加一些鹽,比如增加前後綴變成 xxxabcefgyyy,這時再對 xxxabcefgyyy 進行一次不可逆加密生成了二次密文 3kda3kd,這時候即使資料庫泄露,黑客也很難通過之前的彩虹表或大數定理的情況,反推出用戶的密碼了。
建議:看來真正的安全,還是要靠廠商靠譜,基本上國內外的大廠的加密都會採用類似比這種方案更加複雜一些的方案。
設置密碼時,牢記這幾點
如果你有耐心看完了上面這一節,一定已經理解了,密碼安全其實是一個「端到端」,即「客戶端 - 傳輸層 - 服務端」三位一體的問題,只要其中某一個環節有問題,哪怕另外兩個環節做得再好再安全,也是白搭。木桶理論在安全領域,實在是再適用不過了。
我們能做好的最重要的事情,其實用一句話來概括,就是永遠只在可信的設備和可信的網路環境下進行密碼操作。一旦到達伺服器端,基本事情就已經不在我們掌控的範圍內了。一家使用明文存儲密碼的公司一旦發生數據泄露,哪怕我們的密碼設計得再複雜,設備和網路安全再周密,這一切也都是白搭。
不過,即使是這樣,我們還是有一些措施,即使在伺服器端發生問題時,最小化我們的損失。
1. 密碼位數、大小寫和特殊符號
密碼越複雜,安全程度越高,這一假設的前提是你的本地設備和網路環境足夠安全,否則就像我們前面所說的,密碼再複雜,如果你本地有木馬程序監聽輸入,那麼一樣是徒勞。
在保證本機和網路環境安全的前提下,如果網站的數據發生泄露,對方在暴力破解時,密碼的複雜程度就直接對破解的效率和成本有關係,一般來說,位數越長,混雜得大小寫和特殊符號越多,暴力破解的成本就越大。所以一定杜絕使用常見的、簡單的密碼,建議大家的密碼盡量保持在 14 位以上、存在大小寫字母和數字、並混雜有特殊符號(理論上特殊符號當然是越不常見的越好,甚至有人用 emoji 作為密碼中的特殊符號)。
2. 在密碼中加入網站特徵值
如果最壞的情況發生了,密碼泄露並被破解了,怎麼才能不影響自己在其它平台的賬號安全?當然是不同平台和網站有不同的密碼是最安全的了,這樣泄露的賬號和密碼不會直接影響到其它平台。不過考慮到實際情況,我們很難在每一個不同的平台上都更換一個新的賬號和密碼,要記住不是一件容易事。這時就可以考慮一個非常簡單的策略:使用一個通用的基礎密碼,針對不同的網站,在前後或中間插入對應該網站的一個特殊值。比如我給自己設定的一個基礎密碼是 Jackson%!1128,那麼當我在不同的平台註冊時,可以加入不一樣的後綴,例如註冊百度時可以有 Jackson%!1128@baidu,註冊少數派時則是 Jackson%!1128@sspai,以此類推。
好處是什麼呢?首先顯然如果你不打算藉助一些密碼管理工具,而使用腦子來記密碼,又希望各個平台的密碼有所不同時,這是一個簡單可行的方法。其次,一旦你的密碼被泄露了,你還很快能追查出到底泄露源是哪。你可能會覺得黑客會不會很聰明,知道在不同網站去替換我的後綴呢?這其實很難,首次加入了這些網站特徵值後本身對破解造成了難度上的提升,而從另一個方面來說,黑客基本很少會關心茫茫密碼中的個人,他既沒興趣也沒精力來專門針對你進行一些特殊處理。如果還是不放心的話,可以考慮在這個策略上,再加入一些變化,比如我就不會直接使用 sspai,baidu 這樣的網站特徵值,而是使用這些網站名稱的五筆首字母,例如 baidu 就是 dy,少數派則是 ioi。
3. 直接生成隨機字元串
不知道到底設什麼樣的密碼好?其實還有一個很簡單的辦法,像 Safari、Chrome 等瀏覽器就會在頁面註冊賬號時智能地提供一個隨機字元串作為密碼選項。
好處就是,完全忘掉之前說的怎麼設置一個複雜的密碼規則,你只需要讓瀏覽器自動生成就可以了。不過缺點也很明顯,如果你在不同的平台上登錄,是 Web 環境的話需要保證全平台統一同步,而如果註冊的是某些 App 使用的賬號,那麼登錄的時候就非常不友好了。
4. 兩步驗證
最糟糕的情況就是密碼還是泄露了,這時候有沒有補救措施?當然也有,像現在大型的互聯網公司一般都提供了兩步驗證服務,如微軟、Google、蘋果、印象筆記等等。一旦開啟了兩步驗證,只要是在非授信的設置上登錄,除了常規的賬號和密碼外,網站還會要求你額外提供綁定手機的動態驗證碼,這樣就確保了即使的密碼泄露了,依然還有一道安全屏障阻礙黑客最終登錄你的賬號,保護你的數據財產安全。
關於兩步驗證的具體教程和使用方法,可以參見:
- 手把手教你設置 Google 兩步驗證
- 教程:如何開啟 Apple ID 兩步驗證,預防隱私泄露
- 關於 Apple ID 兩步驗證,你需要注意的 7 件事
- 安全門神:Authy 兩步驗證確保賬號安全
5. 定期更改密碼
這可能是聽起來最簡單的一件事情,但一定要做。前面提到了密碼泄露的各個環節,有的是你可控的,有的是你不可控的,有的甚至是你自以為可控但其實並不可控的。對於許多人來說,我們缺乏判斷本機或網路傳輸是否真的安全的能力,甚至像爆發的 XcodeGhost 事件,即使對於安全意識再高的人,也想不到會有這樣的事情發生。
正所謂防患於未然,既然我們永遠不知道水有多深,不如養成定期改密碼的好習慣。
6. 永遠假設你的密碼會泄露
不過,一個更殘酷的現實是:道高一尺,魔高一丈。網路中永遠潛伏著我們還未意識到的安全風險,隨時可能爆發的黑天鵝事件。
因此你在使用任何網路服務時一定要有一個意識,做好最壞的打算:永久假設你的密碼一定會泄露,只是時間早晚問題。那麼,這件事一旦發生後,被泄露的數據會對你造成致命的打擊嗎?會讓你的銀行卡變成人盡可取嗎?會讓你的身體變成人盡可看嗎?會讓你的陰謀變得人盡可知嗎?想想這些,你還敢把銀行卡密碼記在簡訊里嗎?還敢和冠希哥合拍小視頻嗎?還敢傳政府機密文件到網盤裡嗎?
用工具管理密碼
如果你針對不同網站設置了不同的密碼,這些密碼可能是之前提到的按一定規則組成的密碼,也可能是完全沒有任何內在邏輯、隨機生成的字元。想要記住這些密碼不是一件容易事,還好有許多第三方密碼管理工具可以幫助我們記住這些密碼,並方便地跨平台使用。
這些密碼管理軟體的思路都比較一致,你可以往其中添加記錄許許多多的密碼,在這些密碼之上,會有一個主密碼,只有掌握了這個主密碼,你就能解鎖訪問其中存儲的所有密碼。當然這也是這類軟體最為被詬病的地方之一,因為任何人只要掌握了這個主密碼,都可以訪問你的所有密碼。這就是安全領域常說的單點突破,這讓你的整個密碼管理有了最薄弱的那一個環節:主密碼。
當然,這些工具本身也提供了諸如生成隨機密碼、自動填充等實用的特性。如果你有信心,保證主密碼只有天知地知你知,這一類的軟體還是有用武之地的。我們就介紹一下最常見、最流行的幾款熱門密碼管理軟體吧。
1. KeePass:開源、免費、本地
KeePass 是一款開源的本地密碼管理軟體,採用了 AES 和 Twofish 演算法的加密,其官方版本覆蓋了主流的台式機平台,有 Windows/OS X/Linux 版本。由於其是開源軟體,也有一些人在其基礎上製作了 iOS/Android/Windows Phone 版本可以下載使用。
它最大的特點就是完全是一款本地服務,不需要聯網,不需要同步,甚至不需要安裝,KeePass 可以直接解壓使用,非常方便直接插上 U 盤在不同的電腦上使用。
如果想在移動端也使用 KeePass,可以查看少數派之前一篇文章中的介紹,有針對 iOS/Android/Windows Phone 三大移動平台做了專門的補充。
2. iCloud Keychain:蘋果生態鏈中的密碼守護者
iCloud 鑰匙串是蘋果提供的基於 iCloud 的密碼管理服務,其主密碼自然就是你的 iCloud 或系統賬號。使用 iCloud 鑰匙串服務,你可以在 iPhone、iPad 及 Mac 間無縫同步你的瀏覽器保存密碼、信用卡信息、WiFi 連接密碼、應用程序密碼等等。
你可以為 iCloud 鑰匙串設置一個獨立的安全碼,當你在其它移動設備上想要訪問所有的密碼時,除了登錄 iCloud 賬號外,還需要額外驗證安全碼,以確保密碼的安全。畢竟生活中有時候借別人的手機登一下自己的 iCloud 賬號還是很經常的事情。安全碼還會要求手機號簡訊驗證,和兩步驗證的概念很像,如果你習慣了使用整個蘋果生態鏈的產品,iCloud Keychain 可能是你最方便的選擇。
3. 1Password:密碼管理中的老牌王者
要是說起最有名的跨平台密碼管理軟體,大家最應該聽說過的就是 1Password 了。它支持所有主流的平台,包括 Windows/Mac/iOS/watchOS/Android。最關鍵的是,1Password 還是最有設計感的一款密碼管理軟體,實際上這些密碼管理軟體在實現的技術方式上差別不大,基本都是 AES 加密,但 1Password 卻是其中做得最精緻、最細節、最具有美感的一家。
在 iOS 8 之前,1Password 在 iOS 平台上還是一款收費軟體,而且由於限制,它不得不自帶集成瀏覽器,以實現填充密碼登錄。不過這一切現在都變了,1Password 不僅在 iOS 平台上免費了,而且得益於分享插件的引入,現在你可以直接在 Safari 甚至任何支持的第三方 App 中,使用 1Password 填充密碼。
1Password 不僅僅是保存密碼,除了生成隨機密碼這些常用的功能外,它還有一系列豐富的管理功能。例如可以針對不同的使用者設立不同的密碼倉庫,可以通過文件夾、標籤的形式管理密碼,還能存儲銀行賬號、護照、授權碼等一系列重要的數據資料。
不過,如果你想在傳統的台式設備上使用 1Password,那麼就需要大手筆買買買了。其 Mac 版本和 Windows 版本售價高達 328 元,如果雙版同時打包購買,也需要約 460 元。
最近 1Password 還推出了團隊版,在團隊協作時幫助你將一些密碼分享給團隊成員或同事,目前這個新版本正在 Beta 測試中,可訪問官網了解詳情。
想要了解更多關於 1Password 的信息,可以閱讀少數派之前的文章:
- 是時候在 iPhone 上忘掉密碼了:1Password 5.0 for iOS 上手完全指南
- 一個密碼的另一種生活:1Password 完全評測
- 1Password for iOS Mac 大版本更新,帶來多項新特性
- 填充密碼比 iOS 版還方便:1Password for Android 新版體驗
4. LastPass:足夠好用的替代品
如果你想要 KeePass 那樣的免費,卻又希望有官方提供的原生跨平台體驗,你可以試試 LastPass。從功能上來說,其核心功能和 1Password 差別不大,除了顏值略低。LastPass 提供了 Mac/PC/Linux 的客戶端,並在所有主流瀏覽器中都有插件可以安裝,自然也支持當前最主流的移動平台。
在之前,LastPass 的瀏覽器插件及桌面端是完全免費的,但如果需要使用移動端,則要交 12 美元的年費,今年 8 月它更改了收費策略,你可以在任一平台免費使用 LastPass,但如果你需要在桌面端和移動端同步數據,或者在 iPhone 上使用 Touch ID,則需要額外交納年費。
今年 10 月,一家專註於遠程控制的科技公司 LogMeIn 宣布以 1.25 億美元的價格,收購了 LastPass,雖然官方表示不影響 LastPass 的商業運作,但這畢竟是一次人才收購,其未來命運到底如何還很難知曉。另外需要注意的是,LastPass 曾發生過多次核心資料庫泄露事件,不過似乎並沒有造成實質性的損害,因為這些泄露的數據仍然是加密的。
- 全平台通吃:頂級密碼管理工具 LastPass 評測
- 密碼管理服務 LastPass 推出 Mac 桌面端管理應用
5. 花密:本地也可以撒點鹽
從密碼管理工具的角度上來說,花密可能是一款很另類的軟體,它不像之前介紹的 KeePass、1Password 之類的是由一個主密碼加密存儲了所有的個人密碼。相反,它和我們之前說的在伺服器端存儲密碼時的撒點鹽很類似。
前面我們也提到了利用瀏覽器或第三方的密碼管理工具,可以隨機生成一些無規律的字元串作為密碼。不過,這些密碼的缺點就在於不便於建議,如果是桌面端生成的密碼,在手機上要進行登錄操作實在是太痛苦了。花密就解決了這樣一個問題:你仍然只需要記住一個密碼,花密會自動根據網站幫你最方便記憶的密碼撒點鹽,二次生成一個隨機密碼。
這樣,方便你記憶的同時,也確保了密碼的複雜性,同時還做到了一站一密。花密的實現其實很簡單,如果有一定基礎,你完全可以自己實現一個類似的演算法工具。當然,花密也提供了網頁版、Mac、Windows、iOS、Android 及 Chrome 瀏覽器插件,方便你直接使用。
希望看完本文,你能更好地了解密碼到底是如何泄露的,並做好對應的防範措施,合理地使用各類密碼管理工具來幫助你。最重要的事情,還是一定要假設你的密碼遲早會泄露,永遠去假設密碼泄露後的這個信息一旦在網路上擴散,會對你有什麼影響。
--------------------------------------------------------------------------------------------------------
讀少數派,在數字時代做個明眼人。
1.不同賬號使用不同的密碼,可按照自定義的組合進行設置,如「強密碼+站點名」這種組合方式,強度高又好記,同時可配合lastpass使用。2.賬號安全性分等級,重要賬號使用高等級密碼,一般的賬號使用稍微簡單的密碼方便輸入。3.開啟兩步驗證,如Gmail、Apple均有此項設置。4.盡量使用國外大公司的產品和服務,能用Gmail就不要用網易郵箱,能用Dropbox就別選百度網盤。
如今我只相信Gmail了------------------MLGB今天下午wooyun證實了!我日網易啊。記得之前網易就被暴庫過,在社工庫就能查到我的舊密碼,然後泄露來源就是126。今天有幸再次見證了這一幕。還特么闢謠,死豬不怕開水燙啊這是,責任心呢?學前幾天的支付寶把鍋再丟給用戶背?呵呵噠?再也不用國內的郵箱服務了,慢慢地把賬號遷到Gmail去了,谷歌大法好。如果谷歌還能被攻破我就認栽了。這年頭普通用戶就是任人宰割的,你做的再好網站也能給你背後捅幾刀。所以相信大公司總是沒有錯的,比如谷歌微軟這樣的
52G已經下載入庫...大家可以關注我查詢一下自己是否已經泄漏
我的辦法是密碼分級+郵箱分級。當然了,要是有人就是盯上你了,還是沒有辦法的…不過這種大規模的泄露事件還是能夠起到點作用。
首先說密碼分級:
密碼分為三級:第一類是用一次就丟的賬號,比如你要下載個什麼論壇的資源之類的,或者很久才會用一次的賬號。這種,一般圖方便隨便設個數字密碼就好,比如生日啦,123456啦之類的。賬號隨便設置一個好記的不宜重複的,比如 qwe_33896之類的。方便記憶起見所有的這一類賬號都使用相同的用戶名和密碼。但是不要使用和重要賬號一樣的密碼。因為這些網站用戶信息泄露的時候,別人有可能會用這個賬號密碼去在其他網站上去試試看能否正常登陸。
第二類是決定要開始試用,但是並不確定是否要長期使用,並沒有什麼重要信息在上邊的。比如新發現一個有意思的社區之類的。這回用戶名使用自己平時常用的用戶名,酷炫吊炸一點都無所謂。然後密碼使用數字+字母+特殊符號的形式。超過10位以上。和上邊一樣,所有的這一類網站都是用同一個賬號和密碼。
第三類是很重要的賬號,社交網路的,郵箱的等等,或者第二種情況中試用一段時間覺得不錯的準備長期使用。這種賬號我們在每個網站都使用不同的密碼!這樣一個網站泄露的時候你的其他賬號是不會受到影響的。但是怎麼記憶呢?這樣來:- 找一個自己喜歡的英文短語或者單詞,八位左右,比如 imawosome 吧。
- 把其中的o或者 i 之類的替換成數字1maw0s0me
- 在其中挑幾個字母改成大寫,方便記憶的話我選擇最後一個數字之後的全部都大寫吧1maw0s0ME,這樣我們就有了一個大小寫+數字的關鍵詞,記熟了。
- 再然後吧你這個網站的名字添加到自己的關鍵詞里,比如說 zhihu 吧,然後用特殊字元分隔開1maw@zhihu@0s0ME
- 數一數多少位,少於18位的補齊成18位。--1maw@zhihu@0s0ME
- OK,這樣你就擁有了一個每個網站獨立的密碼「--1maw@zhihu@0s0ME」,而且強度很高。還方便記憶。多敲幾遍的話輸入速度也不慢。喜歡的話用戶名也可以這樣玩,不過我覺得有些太麻煩了。
郵箱也分為三級,與上邊的對應:
第一級的郵箱,用來驗證用一次的不重要的賬號,隨便用什麼都好啦
第二級的郵箱,用來驗證重要的賬號,以及第一級郵箱。盡量選擇安全信得過的大公司(話說還有這樣的公司么 Orz),另外一個策略就是選擇國人很少用的郵箱,比如日本的之類的。撞庫也撞不到你這裡來2333.第三級的郵箱,用來驗證你的二級郵箱的郵箱,也就是說找回密碼用的郵箱。不要用他來註冊任何賬號。然後,對重要的賬號開啟兩步驗證。
基本上就差不多了。稍微有些麻煩,但是實用性還是蠻強的。重要服務我都是用Gmail當作密保郵箱的,這樣也能被盜的話我就沒啥可說的了。
網易不要臉!!!密碼都被破解了,還弄這麼多廣告。我的兩個網易郵箱都被破解了,發件箱里多了很多亂七八糟的郵件,我登陸後想看看有哪些郵件,結果頁面底部那麼大一個廣告,真是生氣。這個垃圾,等我折騰完了,就再也不用網易郵箱了。
我想問數據來源有時候我覺得某些開發者的頭腦是怎麼想的,綁定越多越安全,開什麼玩笑,換句話說就是你家越多開幾個門就越安全,什麼鬼
推薦閱讀:
※QQ可以在不輸入密碼的情況下檢測以前設置的密碼的強度,這是否說明QQ是明文保存密碼的?
※我的視頻VIP賬號密碼泄露了,怎麼辦?
※新聞裡面說連接公共場合免費wifi可能會泄露銀行帳號及密碼這個存在可能性嗎?
※Feistel結構為什麼是加解密互逆?
※Gmail密碼模糊驗證原理?