個人網絡服務帳號管理保安指引
要保護個人資料免受黑客盜用,帳號管理是非常重要。使用較強的密碼,的確可以防止黑客以密碼暴力攻擊 (brute force attack)。可是,要對抗現時的網絡罪犯,只是使用較強的密碼是不足夠的。香港電腦保安事故協調中心 (HKCERT) 提供以下建議,供用戶提升個人網絡服務帳號管理保安,以及供網頁/軟件開發商加強保護客戶的帳號資料。
個人帳號的威脅 - 釣魚陷阱
現時的網絡罪犯經常透過釣魚陷阱來套取用戶的登入資料。他們會以多種方式進行釣魚攻擊。例如,透過假冒電郵,引導用戶到假冒網頁填寫登入資料;某些網頁會要求用戶輸入社交網絡帳號,以解開閱讀某些網頁內容等。
現在的釣魚陷阱層出不窮,因此,用戶每次需要輸入帳號資料前,都要特別注意及小心。除此之外,本中心還建議用戶可以使用以下方法來提升帳號管理。
管理個人帳號的保安建議
1) 使用雙重認證/兩步認證
雙重認證 (2-factor authentication) 或兩步認證 (2-step verification) 都是透過用戶輸入兩組不同性質的認證來確認用戶的身份。一般都是結合你所知及你所擁有的東西 (如:保安編碼器、手機)。例如,用戶在某服務平台進行登入時,平台要求用戶輸入用戶帳號和密碼 (你所知),然後用戶會被要求透過你所擁有的東西來認證。一般會有兩種方式:(1) 流動電話,透過發送一次性密碼短訊到用戶流動電話;(2) 安裝在流動電話的保安編碼程式,透過產生唯一的OTP碼作為認證。
要使用雙重認證/兩步認證,用戶需要到服務平台啟用。由於不同平台的雙重認證/兩步認證各有少許差異,用戶在啟用前先了解該運作。
以下是不同平台的雙重認證/兩步認證說明:
- Facebook: https://www.facebook.com/help/413023562082171
- Google: https://www.google.com/landing/2step/
- iCloud: https://support.apple.com/zh-hk/HT204152
- Microsoft: http://windows.microsoft.com/zh-hk/windows/two-step-verification-faq
- Twitter: https://support.twitter.com/articles/20170388 (English only)
- Yahoo: https://help.yahoo.com/kb/SLN5013.html (English only)
一些網絡服務支援使用硬件作為雙重認證。要使用硬件雙重認證,用戶需要一款指定的硬件 FIDO U2F 安全金鑰。目前較廣泛使用於 Chrome (版本 40 或以上) 瀏覽器上登入 Google 帳號。
有關 Google 支援 FIDO U2F 安全金鑰,請參考:
- https://support.google.com/accounts/answer/6103523
- https://fidoalliance.org/google-launches-security-key-worlds-first-deployment-of-fast-identity-online-universal-second-factor-fido-u2f-authentication/ (English only)
圖1) FIDO U2F 安全金鑰
2) 使用應用程式密碼 (App Passwords) / 短暫性密碼 (Temporary Passwords)
現時有很多網站 (或應用程式) 支援 OAuth 協定的聯合登入。使用了 OAuth,用戶不用在不同網站重複申請帳號。用戶只需要先登入一個支援 OAuth 登入的網絡帳號,例如:Facebook、Google、Microsoft、Twitter 或 Yahoo 帳號,便能登入其他網站而不需要申請成為會員。使用 OAuth 的登入程序,網站只會擁有認證編碼 (authentication token),不會知道用戶原本的登入帳號及密碼。
圖2) 使用了 Facebook OAuth 的登入介面
圖3) 使用了 Google OAuth 登入介面
可是,有一些釣魚網站假冒 OAuth 的登入介面,套取用戶輸入網絡服務的帳號資料。為避免洩露這些網絡服務的帳號密碼,支援 OAuth的網絡服務都會提供應用程式密碼 (App Passwords) 或短暫性密碼 (Temporary Passwords) 功能。用戶可以為指定網站或應用程式產生一個獨立及一次性的密碼,與網絡服務的帳號密碼不同。即使該密碼被盜用,原本的帳號都不會受到影響。
有關各平台的應用程式密碼功能,請參考:
- Facebook: https://www.facebook.com/help/413023562082171
- Google: https://support.google.com/accounts/answer/185833
- Microsoft: http://windows.microsoft.com/zh-hk/windows/app-passwords-two-step-verification
- Twitter: https://support.twitter.com/articles/20170388 (English only)
- Yahoo: https://help.yahoo.com/kb/generate-separate-password-sln15241.html (English only)
3) 監察可疑的登入活動
一些網絡服務提供可疑登入活動的通知功能。若系統偵測到有可疑登入活動,它便會發送電郵及/或短訊通知用戶。 用戶亦應注意由網絡服務發出的登入警報,因為警報已表示你的帳號正被嘗試入侵。
4) 在不同服務,使用不同的密碼
一些用戶會在不同帳號使用相同密碼。這是強烈不建議的。假若某一個帳號遭到盜取,黑客便會嘗試以相同密碼登入其他常見的服務。例如:黑客成功盜取社交網站的帳號密碼,他便會嘗試以相同密碼登入其他服務,如電郵服務、網上銀行服務等。這會帶來連鎖性的影響,所以用戶切勿在不同服務使用相同密碼。
5) 謹記登出帳號
用戶應該在服務使用後登出帳號,避免在個人電腦以外留下登入記錄。不要在公眾電腦使用「記住密碼」選項。用戶亦可以使用「無痕模式 (incognito)」或「隱私瀏覽模式 (private)」進行瀏覽,使用後謹記關閉所有瀏覽視窗,以確保不保留瀏覽記錄。
6) 永久刪除不使用的帳號
對於不使用的服務,用戶可能對帳號管理不足,導致帳號容易遭到盜用。因此,我們建用戶對某些不再使用的服務,應進行永久刪除帳號,以減低帳號被盜用的風險。
7) 輸入密碼前要三思
要減低帳號被盜取的風險,最有效的方法就是提高保安意識。每當需要輸入密碼前,用戶應特別提高警覺。若有懷疑,用戶便不要輸入任何帳號資料,以待進一步核實該服務。
供網頁/軟件開發商有關儲存密碼安全的保安建議
網頁/軟件開發商也需要認真處理用戶/客戶的帳號資料。除了需要跟隨香港的個人資料(私隱)條例1 之外,開發商也有責任對其用戶/客戶的資料提供一定程度的保安。因此,本中心為開發商提出以下建議指引。
- 資料庫不要儲存明文密碼 (Plain Password)
- 密碼應使用較強的雜湊函式 (Hash Function) 儲存,例如 bcrypt,並使用加鹽 (Salting) 程序。
#註:MD5 及 SHA1 被認為是不安全的雜湊函式 - 考慮對密碼使用多重 (Iterations) 雜湊函式
- 系統要限制密碼嘗試次數
- 系統應提供用戶登入記錄
- 系統需定時進行保安評估,避免因漏洞,如常見的 SQL 注入 (SQL Injection) ,而導致資料庫被遭取。
關於儲存密碼安全,請參考:
- https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet (English only)
- https://patrickmn.com/security/storing-passwords-securely (English only)
分享至