2017.W12 - Store your password - 資安

Ursula avatar
By Ursula
at 2017-03-21T23:10

Table of Contents

2017.W12 - Store your password
> 依然是工作上的抱怨...

## 前言 ##
依然分享一下工作上遇到的故事

這次分享如何在不得已的情況之下 儲存使用者的密碼 ...



## 內容 ##
實務上 資訊安全專家或者是相關人員

都會告誡開發者 千~~萬不要儲存明文密碼

相關的慘案可以參考 [0]

在技術上 認證一個使用者的密碼透過 Hash + Salt 來處理使用者的密碼

在伺服器端就可以不用儲存密碼

當因為不知名的資安事件 造成駭客可以任意存取伺服器上的資料時

也不至於造成使用者最敏感的密碼資料外洩



在某些不得已的情況之下 開發者需要儲存明文密碼

像是 browser[1] 就需要儲存使用者的明文密碼

下次需要的時候就可以自動填入 (auto-complete[2]) 密碼

但是這種情況下 駭客一定可以有辦法拿到儲存的密碼

因此如何有誠意的儲存密碼則是一門技巧



Level 0

最沒有誠意的方式 就是直接將密碼明文的儲存在某個檔案/設定檔中

其中這個儲存方式又顯著的標出來這個值是密碼

像是 loginPassword = XXXXXXXX

比這個方式好一點的方式 則是針對這個檔案額外賦予存取權限

只有系統管者才能夠存取


Level 1

相對有誠意的方式 則是儲存密碼的時候做一些混淆

在這種方式中會存在一種方式 (e.g. 函數 F)

密碼會透過這個函數 1-1 對應到另一個 不容易被發現是密碼 的格式

但因為還是需要逆轉成原本的密碼 如果駭客知道逆轉的方式與儲存的位址

則還是可以獲得原始的明文密碼

在實務上會使用對稱式加密[3]的方式來處理原始的密碼



在這個之外 還有降低使用者經驗/UX[4] 前提下的誠意做法

像是強迫使用者在程式執行初期 重新輸入一次密碼

在程式運作期間 利用作業系統提供的保護方式

將密碼儲存在一個程式-唯讀寫的記憶體空間

像是在 Linux 的環境中 可以透過 mprotect[5] 將資料寫入之後

沒有使用的期間中重新設定為 PROT_NONE 讓這塊記憶體空間無法被其他程式讀取

只有在需要的時候才重新設定為 PROT_READ




[0]: https://www.facebook.com/PlainPass/
[1]: http://raidersec.blogspot.tw/2013/06/how-browsers-store-your-passwords-and.html
[2]: https://en.wikipedia.org/wiki/Autocomplete
[3]: https://zh.wikipedia.org/wiki/%E5%B0%8D%E7%A8%B1%E5%AF%86%E9%91%B0%E5%8A%A0%E5%AF%86
[4]: https://zh.wikipedia.org/zh-tw/%E4%BD%BF%E7%94%A8%E8%80%85%E7%B6%93%E9%A9%97
[5]: http://man7.org/linux/man-pages/man2/mprotect.2.html

--
Tags: 資安

All Comments

2017.W11 - Cookie vs Session

Anthony avatar
By Anthony
at 2017-03-14T23:47
2017.W11 - Cookie vs Session andgt; 就算今天是抱抱星期二 我還是要稱今天是 Pi-Day ## 前言 ## 雖然是老梗 但是還是替大家複習一下 Cookie 跟 Session 的差別 不然下次搞混真的會讓人無言 ## 內容 ## 在提到 Cookie 與 Se ...

Apache Struts

Connor avatar
By Connor
at 2017-03-11T16:37
http://thehackernews.com/2017/03/apache-struts-framework.html 最近蠻大的一個新聞… 攻擊者可以透過 HTTP header 對 Apache Struts 做 RCE (Remote Code Execution) 很大的一個洞… - ...

2017.W10 - Rootkit

Leila avatar
By Leila
at 2017-03-07T22:35
2017.W10 Rootkit andgt; 朕不給的 你看不到 ## 前言 ## 終於換講底層的東西了 ... ## 內容 ## Rootkit[0] 一種用來影藏行蹤的軟體 或者廣義來說是一種技術 在各作業系統中 都存在各種程度的 Rootkit 用來影藏資訊 根據不同的技術細節來說 可 ...

中木馬後WORD檔被上傳的過程

David avatar
By David
at 2017-03-05T21:26
想請問 電腦中木馬WORD被偷走上傳的過程 是否是 1先開啟一個含有病毒的WORD檔 2 病毒會潛入word的 NORMAL 模板上 打開巨集 3 打開巨集後收集WORD資料 然後上傳到指定的地方 想請問 是否只要不是打開含有病毒的WORD檔 而其他的下載類的中毒 (例如因為下載電影或程 ...

3/3 22:00 公視主題之夜《手機不設防》

Audriana avatar
By Audriana
at 2017-03-03T20:29
※ [本文轉錄自 pts 看板 #1OkM4CHQ ] 作者: andy199113 (Andy) 看板: pts 標題: [資訊] 3/3 22:00 公視主題之夜《手機不設防》 時間: Fri Mar 3 20:26:48 2017 公視主題之夜 今晚3/3 22:00播出《手機不設防》 (Addi ...