Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
林子婷/飛飛
2017/10/14@成大
APP檢測
之經驗分享
OUTLINE
•我是誰
•APPの四種資安問題
•各種原理
•利用charles實作
•案例分享
•預防方法
1
我是誰
2
我是誰/ WHO AM I
•林子婷/飛飛
•逢甲大學 資工系大三
•黑客社社長
•專長:滲透測試/網站開發
•資通安全研究中心 工讀生
•三甲科技 兼任工程師
3
APP檢測の
四個基本資安問題
4
APP檢測之四個基本資安問題
1. 虛擬環境反制與偵測
2. 程式碼混淆
3. 除錯訊息是否包含敏感資料
4. 憑證綁定檢測
5
憑證綁定檢測
• 如果憑證沒有綁定,將可進行中間人攻擊
中間人攻擊
• 攻擊者在傳送訊息傳送時,於發送者和接收者之間,暗中讀取、
插入及更改訊息的網上攻擊。
6
使用者以為
實際上實際上
各種原理
7
HTTPSの原理
使用者端
使用者端向伺服器端發起HTTPS請求
告知可實現演算法列表和重要資訊
伺服器端
伺服器端向使用者端回應伺服器本身的憑證
告知通訊時所需演算法,身分和公鑰
使用者端產生秘密金鑰並用伺服器的公鑰加密
回傳加密後的秘密金鑰...
使用者端
使用者端向伺服器端請求發起HTTPS請求
Charles 伺服器端
攔截請求,代替使用者端向伺服器端請求
伺服器端向使用者端回應CA證書
攔截,將自己的CA證書回應給使用者端
Charles得到伺服器端的CA證書
信任假憑證(Char...
利用CHARLES實作
10
CHARLES
• SSL Proxying – 可以用明文觀看SSL 的請求跟回應。
• Bandwidth Throttling(帶寬限制) 可以用來模擬慢速網路、網路延遲。
• AJAX debugging – 觀看xml跟JSON 的請...
CHARLES下載軟體
12
將 CHARLES 設定系統代理
13
開啟系統代理之後
•就可以攔截HTTP的封包
•但…HTTPS的封包呢
14
SSL須設定
15
手機端的設定
從 零 開 始 攔 截 手 機 封 包
16
手機被監控端
必須處於相同區域網路
17
手機WIFI
設定
PROXY
伺服器
18
使用Charles 產出.cer的憑證,上傳到安卓手機安裝即可
Android手機安裝憑證
19
iOS需至 Charles 官網中下載 SSL 憑證
以及開啟對憑證的信任
向
下
滑
至
「
一
般
」
20
iOS手機安裝憑證
非常重要!
21
開啟運行APP
•進行攔截封包然後分析
•登入/註冊
•APP運行的API等…
22
案例分享
23
案例分享
• 帳號密碼未加密
請求封包
回應
24
預防方法
25
如何防止
•APP端
採用加密連線,例如 HTTPS、SSH、SFTP 等等,把網絡的傳輸內容
加密。
– 即使入侵者可中途攔截,也不能閱讀或變更資料。
使用相互認證(Mutual authentication),由於使用者電腦必須通過伺
服器...
謝謝大家聆聽
IN 逢甲
Python 社課
資訊安全社課
11/18 Sitcon 中區聚會
27
逢甲黑客社
Q & A
Upcoming SlideShare
Loading in …5
×

TDOH Conf-APP檢測之經驗分享

518 views

Published on

在打工的生涯當中,以APP檢測的經驗最為有趣,APP有百百種,要如何透過charles工具來檢測APP呢,此次Talk將分享使用charles檢測APP時遇到狀況。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TDOH Conf-APP檢測之經驗分享

  1. 1. 林子婷/飛飛 2017/10/14@成大 APP檢測 之經驗分享
  2. 2. OUTLINE •我是誰 •APPの四種資安問題 •各種原理 •利用charles實作 •案例分享 •預防方法 1
  3. 3. 我是誰 2
  4. 4. 我是誰/ WHO AM I •林子婷/飛飛 •逢甲大學 資工系大三 •黑客社社長 •專長:滲透測試/網站開發 •資通安全研究中心 工讀生 •三甲科技 兼任工程師 3
  5. 5. APP檢測の 四個基本資安問題 4
  6. 6. APP檢測之四個基本資安問題 1. 虛擬環境反制與偵測 2. 程式碼混淆 3. 除錯訊息是否包含敏感資料 4. 憑證綁定檢測 5
  7. 7. 憑證綁定檢測 • 如果憑證沒有綁定,將可進行中間人攻擊 中間人攻擊 • 攻擊者在傳送訊息傳送時,於發送者和接收者之間,暗中讀取、 插入及更改訊息的網上攻擊。 6 使用者以為 實際上實際上
  8. 8. 各種原理 7
  9. 9. HTTPSの原理 使用者端 使用者端向伺服器端發起HTTPS請求 告知可實現演算法列表和重要資訊 伺服器端 伺服器端向使用者端回應伺服器本身的憑證 告知通訊時所需演算法,身分和公鑰 使用者端產生秘密金鑰並用伺服器的公鑰加密 回傳加密後的秘密金鑰之密文給伺服器 伺服器端利用自己的私鑰解密 取得秘密金鑰並用來通訊 利用秘密金鑰進行資料傳輸 8
  10. 10. 使用者端 使用者端向伺服器端請求發起HTTPS請求 Charles 伺服器端 攔截請求,代替使用者端向伺服器端請求 伺服器端向使用者端回應CA證書 攔截,將自己的CA證書回應給使用者端 Charles得到伺服器端的CA證書 信任假憑證(Charles) 生成一個對稱密鑰發送給伺服器端 用Charles的公鑰加密 攔截使用者端的回應 用Charles的私鑰解密對稱密鑰 用伺服器端證書公鑰加密 發送給伺服器端 伺服器端利用自己的私鑰 解密對稱密鑰,發送回應 Charles攔截伺服器端的回應 替換成自己的證書後發送給使用者端 Charles拿到了伺服器端證書的公鑰和 使用者端與伺服器端協商的對稱密鑰 之後就可以解密或者修改加密的封包了 Charlesの原理 9
  11. 11. 利用CHARLES實作 10
  12. 12. CHARLES • SSL Proxying – 可以用明文觀看SSL 的請求跟回應。 • Bandwidth Throttling(帶寬限制) 可以用來模擬慢速網路、網路延遲。 • AJAX debugging – 觀看xml跟JSON 的請其跟回覆。 • AMF – 觀看Flash Flash Remoting / Flex Remoting並以樹狀圖呈現。 • 重送請求觀看後端變化。 • 設置Breakpoints (斷點)截斷、修改請求或回應。 • 用w3c的驗證用去紀錄HTML,CSS and RSS/atom 的請求。 11
  13. 13. CHARLES下載軟體 12
  14. 14. 將 CHARLES 設定系統代理 13
  15. 15. 開啟系統代理之後 •就可以攔截HTTP的封包 •但…HTTPS的封包呢 14
  16. 16. SSL須設定 15
  17. 17. 手機端的設定 從 零 開 始 攔 截 手 機 封 包 16
  18. 18. 手機被監控端 必須處於相同區域網路 17
  19. 19. 手機WIFI 設定 PROXY 伺服器 18
  20. 20. 使用Charles 產出.cer的憑證,上傳到安卓手機安裝即可 Android手機安裝憑證 19
  21. 21. iOS需至 Charles 官網中下載 SSL 憑證 以及開啟對憑證的信任 向 下 滑 至 「 一 般 」 20 iOS手機安裝憑證
  22. 22. 非常重要! 21
  23. 23. 開啟運行APP •進行攔截封包然後分析 •登入/註冊 •APP運行的API等… 22
  24. 24. 案例分享 23
  25. 25. 案例分享 • 帳號密碼未加密 請求封包 回應 24
  26. 26. 預防方法 25
  27. 27. 如何防止 •APP端 採用加密連線,例如 HTTPS、SSH、SFTP 等等,把網絡的傳輸內容 加密。 – 即使入侵者可中途攔截,也不能閱讀或變更資料。 使用相互認證(Mutual authentication),由於使用者電腦必須通過伺 服器認證,而伺服器亦要通過用戶認證,因此可助阻隔中間人攻擊。 •個人端 設定和啓動Wi-Fi 通訊的加密功能,如WPA 以 AES 加密。 在使用公共上網設施時,不要進行交易活動等具機敏資料的活動。 26
  28. 28. 謝謝大家聆聽 IN 逢甲 Python 社課 資訊安全社課 11/18 Sitcon 中區聚會 27 逢甲黑客社 Q & A

×