身份認證措施不當(dāng)
6. 密鑰保護措施不當(dāng)
有些IoT 產(chǎn)品在開發(fā)過程中考慮到了安全加密,比如使用AES128 位加密做為傳輸加密的內(nèi)容,使用MD5 加密用戶密碼。在對于對稱性加密方式的處理過程中,密鑰的保存方式是至關(guān)重要的。在IoT 解決方案中,手機客戶端發(fā)起的請求需要對數(shù)據(jù)內(nèi)容進行加密,也就是說,手機客戶端內(nèi)需要有AES 的密鑰。如果對于密鑰存放的方式不當(dāng),可以輕而易舉地將數(shù)據(jù)還原成明文進行逆向分析,從而進行進一步的攻擊。在對大量的IoT 設(shè)備進行安全研究后發(fā)現(xiàn),設(shè)備基本上都會把AES 的密鑰存放在手機客戶端中,有的做得很簡單,寫在了一個加密函數(shù)里。有的做得很深,放在了一個Lib 庫中。但這些只是提高了一定的技術(shù)門檻而已,不是解決安全問題的辦法,如下圖所示。

密碼保護措施不當(dāng)
7. 會話處理不當(dāng)
有很多智能設(shè)備都會由于會話管理措施不當(dāng),造成能夠通過會話劫持攻擊,直接控制設(shè)備,達到設(shè)備被破解的一種程度,所以說永遠不要使用設(shè)備唯一標示符(如UDID、IP、MAC 地址、IEME)來標示一個會話。保證令牌在設(shè)備丟失/被盜取、會話被截獲時可以被迅速重置。務(wù)必保護好認證令牌的機密性和完整性(例如,只使用SSL/TLS 來傳輸數(shù)據(jù))。使用可信任的服務(wù)來生成會話。
8. 敏感數(shù)據(jù)泄露
對于智能設(shè)備的安全研究,可以通過智能設(shè)備所泄露出來的數(shù)據(jù),進行進一步利用,從而獲得控制權(quán)限。所以必須保證安全的東西都不放在移動設(shè)備上;最好將它們(如算法、專有/機密信息)存儲在服務(wù)器端。如果安全信息必須存儲在移動設(shè)備上,盡量將它們保存在進程內(nèi)存中。如果一定要放在設(shè)備存儲上,就要做好保護。不要硬編碼或簡單地存儲密碼、會話令牌等機密數(shù)據(jù)。在發(fā)布前,清理被編譯進二進制數(shù)據(jù)中的敏感信息,因為編譯后的可執(zhí)行文件仍然可以被逆向破解物。

敏感數(shù)據(jù)泄露