推 bojack:很詳細的說明,推一下 02/25 12:25
推 scottiting:XD 02/25 12:26
推 b701217:實用推 02/25 12:30
推 Schwarztee:實用推 看PTT長知識 02/25 12:32
推 emptylife3:推一個 02/25 12:32
推 an138:如果都沒在用公用網路的人還要更新嗎? 都只用自己的3G跟 02/25 12:35
→ an138:家裡的wifi 02/25 12:35
推 stussy0716:好厲害!長知識了 02/25 12:36
推 BlackSeven:推! 02/25 12:36
推 mihonisizumi:專業推 02/25 12:37
推 joe3477:太專業了.. 02/25 12:42
推 sampo1125:長知識 推!! 02/25 12:46
推 JamesChen:這漏洞是大學生等級的吧XDDD 02/25 12:47
推 zx09192939:專業又講得很淺顯易懂真不容易!謝謝好文長知識 02/25 12:48
推 mova:說明推! 02/25 12:52
推 song042008:不愧是i大.. 02/25 12:54
推 hopeltw:多學了一些 02/25 12:55
→ jump0319:專業推! 02/25 12:59
→ neverfly:話說為什麼會有ios的source code? 02/25 13:00
推 Shigeru777:原本iphone4留在ios5 不過一看到SSL漏洞就馬上升級了.. 02/25 13:03
推 artiller:SSL漏洞是重大問題 除非手機完全不會輸入帳號密碼 02/25 13:06
推 Vett:err初始給0? 應該不會吧@@ 02/25 13:06
→ LoLoLuan:本來不想更 但看到你這篇馬上更新.... 02/25 13:06
→ zoex:只能升成iOS7才有解嗎? 實在不想用那醜陋的介面.... 02/25 13:06
推 LoLoLuan:iOS7哪會醜 我很喜歡 02/25 13:08
→ LoLoLuan:扁平化很可愛 02/25 13:08
推 ingrid0815:推!終於清楚了 02/25 13:09
→ k078787878:if迴圈就算只有一行我都習慣要{}以免發生這樣的情形 02/25 13:12
→ swpoker:很多語言都有這樣的寫法~只是這種寫法常被當作厲害寫法 02/25 13:14
推 Crackhead:為了那一行要重新JB跟設定 好麻煩阿 >< 02/25 13:14
推 sosoing:專業大推 02/25 13:15
推 aloha888:推推推 02/25 13:16
推 ohhahaha:太白癡了吧天啊 02/25 13:21
推 kevinlee810:CS學生推~ 02/25 13:22
推 rockmanx52:如果是"過去半年多"的話 那受災戶應該只有iOS7吧? 02/25 13:30
→ rockmanx52:iOS6"理論上"不必擔心這點 02/25 13:30
推 uarenotalone:專業推 02/25 13:30
→ rockmanx52:啊抱歉,應該是iOS6.0才不用擔心...6.1應該也有問題 02/25 13:31
推 s111121:是只有iOS 7有這個漏洞嗎,iOS 6以前的呢? 02/25 13:33
推 mars1396:專業給推!!!!!! 02/25 13:34
推 sysop5566: 蘋果的程式 都沒再審核嗎? 為何BUG會上架 02/25 13:35
推 wavel:bug不是說找就找,寫程式最難也花最多實績的就是debug 02/25 13:38
→ wavel: 時間 02/25 13:38
→ willychn33:OSX10.9.2和iOS7.1全都還沒修補QQ 02/25 13:40
推 jump0319:這樣子ios6也需要擔心嗎? 02/25 13:40
推 SkLc:快推 不然人家以為我看不懂 02/25 13:48
推 hisky:好詳細! 02/25 13:48
推 shinichi:但我的iPod touch4最高只支援到iOS6 但這波的更新也釋出 02/25 13:50
→ shinichi:屬於iOS6的新版本 所以iOS6也是有影響吧? 02/25 13:50
推 memo5215:寫程式不難,debug才煩 02/25 13:52
推 Neymar:iOS6 以上的才要跟新,有JB的去cydia下載SSLpatch就好了 02/25 13:59
推 Neymar:沒JB的人就乖乖升級吧,除非你停在iOS 5以前的版本。 02/25 14:02
推 kobe8112:這... 02/25 14:22
推 s605152002:猛 02/25 14:23
推 victoryss:不推對不起自己 02/25 14:35
推 SiePtt:推 02/25 14:41
推 jackjack135:太強大! 02/25 14:43
推 lingchen:感謝 寫的淺顯易懂實在不容易 02/25 14:48
推 jca:超專業,看過一定要推的啊:)))) 02/25 14:53
推 SOMEGOOD:ios 6.1.2飄過,裝了CYDIA的SSLPATCH後測試已安全 02/25 14:56
推 boys5566:專業推! 02/25 14:59
推 daniel414:CS的推~ 02/25 15:05
推 robin2503:推 02/25 15:06
推 HuMirage:詳細推 02/25 15:16
推 PLASBOT:詳細推! 02/25 15:18
推 SuperShangXD:推!! 02/25 15:19
推 NagoyaOsaka:這該M吧 02/25 15:28
推 chunptt:謝謝詳細解說! iOS6.1.2裝了patch後測safe 02/25 15:40
推 ckstorm:所以做過的系統都要求 if後無論是否一行都得加{ } 02/25 16:00
→ neverfly:goto fail if err= xxx; =>perl有這種更帥氣的一行if語法 02/25 16:06
推 Preaz:推~~ 難怪iOS升上6.0之後, 就發生盜刷的新聞. 02/25 16:13
推 seraph01:原來是這樣! 難怪之前一堆被盜 02/25 16:16
推 KawasumiMai:好蠢的漏洞= =果然習慣{}是對的 02/25 16:24
→ KawasumiMai:每次接手那種省略{}的code都會先花時間人工format 02/25 16:25
→ KawasumiMai:就怕哪天多跳一行就出包了= = 02/25 16:25
推 LBJ23K:傻眼.... 02/25 16:28
推 mixbqw:而且更麻煩的是bug有些還是照跑,不提示錯誤..這種要抓會 02/25 16:29
→ mixbqw:抓到天荒地老 02/25 16:29
推 horseorange:專業大推 02/25 16:31
推 skhan:慘了 pcman點了那個網址沒有出現"Safe." 其它都有Safe. 02/25 16:36
推 Rindou:專業又淺顯易懂 02/25 16:39
推 superbabyer:專業大推 外行都懂 02/25 16:51
推 chang0206:專業推 XD 02/25 16:58
噓 Shane7:我覺得這種文章還是要持保留態度吧 第一蘋果怎麼可能讓他 02/25 16:58
推 danielwu13:專業推! 02/25 16:59
→ Shane7:的加密機制source code給你知道 第二這種錯誤只有你會犯吧 02/25 16:59
→ Shane7:你以為蘋果的工程師是大一新生嗎 02/25 17:00
網路上的東西是不該隨便相信沒有錯
來,首先看Apple的公告:
http://support.apple.com/kb/HT6147?viewlocale=en_US&locale=en_US
這邊提到漏洞編號是CVE-2014-1266
於是接著查到這邊:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-1266&cid=1
表示漏洞存在於libsecurity_ssl/lib/sslKeyExchange.c
最後是Apple自己放上去的程式碼
http://tinyurl.com/phzhghu
裡面就有上面提到的漏洞
然後有人針對這段程式碼的錯誤自行做了一個Patch
在http://www.sektioneins.de/en/blog/14-02-22-Apple-SSL-BUG.html可以找到
實測結果patch後真的有效(前面有漏洞測試網站)
所以應該是這個錯誤無誤
最後
加密認證很多程式碼都是公開的,例如OpenSSL
程式碼公開不代表安全性有問題(其實公開的反而安全 大家會幫忙找漏洞)
加密認證個重點在你有攻擊者所不知道的key
推 chang0206:不過我也很好奇,為啥原PO可以拿到SOURCE CODE? 02/25 17:00
→ jimei2:來源 還是被google的工程師爆掛的... 02/25 17:05
→ kobe8112:無知並不可怕,可怕的是不懂裝懂的那種... 02/25 17:05
推 willy87009:專業推 02/25 17:05
→ kiii210:蘋果工程師不是萬能的神ok 只要是軟體都會有bug 02/25 17:10
推 j19880709:厲害!!!!!!! 02/25 17:11
※ 編輯: iPluto 來自: 76.94.199.254 (02/25 17:20)
推 kyle5241:蘋果在軟體功能上跟google 差遠了 02/25 17:14
推 osk2:上面都說Apple有open source了,是在噓什麼看不懂 02/25 17:19
→ jimmy055263:只要是人寫的程式都會有bug,尤其是錯在這種簡單的地 02/25 17:29
→ jimmy055263:方才更容易讓人疏忽。只是內部沒有測出來也是蠻奇怪。 02/25 17:29
推 GoldDeath:有人的臉很腫 02/25 17:39
推 iaudio:快推 不然人家以為我看不懂 02/25 17:43
推 slent67:推一下 02/25 17:51
→ lostkimo:沒學過不懂就不懂。沒甚麼...不是每個人都萬能的。 02/25 18:01
推 noxhsu:就跟一格空白的悲劇一樣 本來rm -rf /usr/lib/.. 斷在r /間 02/25 18:01
推 d86012005:專業推 蘋果快點推出 OSX 更新... 02/25 18:15
→ Sunicer:養成好習慣是很重要的:永遠使用中括號,一定要給預設值。 02/25 18:16
推 Vincnet:專業推! 02/25 18:24
推 shin9770:Ios5沒有這個漏洞我上那網站測過了 02/25 18:31
→ shin9770:因為這漏洞升級的喝喝了 02/25 18:31
→ alanzeratul:真的很誇張,在這之前根本不能想像會有這種紕漏 02/25 18:33
→ alanzeratul:做網路交易,有https都有點提心吊膽,但為了方便還是 02/25 18:34
→ alanzeratul:沒辦法,何況是https之前竟然是無效的 02/25 18:35
推 mike760616:1有用!推 02/25 18:50
→ TsaoCCFGOGO:iOS {3.1.3, 4.2.1, 5.1.1} 我都測過沒這問題。 02/25 18:59
→ chauliu:iOS6還特地出了更新 所以是iOS6就開始出錯了? 02/25 19:13
推 likora:專業推! 02/25 19:16
推 VinceCarter:專業推!! 02/25 19:21
推 zaknafein:這真的是扯到爆... 02/25 19:29
推 pa26288:專業推!!!!!幸好更新了 02/25 19:30
推 nojoe:專業解說 好險看的懂 02/25 19:56
推 kitune:推 02/25 19:59
推 lskywalkerl:所以7.0.4 直接安裝大老闆源下的SSLPatch就能解決嗎? 02/25 19:59
推 revorea:這洞也太蠢XD 02/25 20:01
推 rockmanx52:去年PSO2的清空硬碟事件也是因為少打東西造成的... 02/25 20:02
→ rockmanx52:只能說這種程式漏洞防不勝防 02/25 20:03
推 ninewords:哪那麼好找?說的那麼簡單!另外感謝原po說明! 02/25 20:28
推 ll1:iOS 6.1.2 <網站檢測沒通過> 02/25 20:40
推 jefferk:我寫if 都一定只寫一個判斷式XD 小嫩B都這樣 哈哈 02/25 20:57
推 unoturbo105:謝謝原po。長知識了 02/25 20:58
→ jefferk:寫3層之後就開始昏了 要先喝口茶休息一下 XD 02/25 20:58
推 jefferk:不過我看完怎覺得如果都是goto fail 那是什麼東西fail? 02/25 21:02
推 jefferk:err應該是顯示錯誤的話 goto fail 那這樣不管是否err 02/25 21:05
推 xatier:→ Sunicer:養成好習慣是很重要的:永遠使用中括號 <- (? 02/25 21:05
→ jefferk:err必定存在 那err確定是認證嗎? 我怎看起來不像XD? 02/25 21:06
一般函數回傳的值通常表示執行結果是否成功,回傳0表示正確,回傳非0表示錯誤
又那個非0的值可能還會因為值不同代表不同的錯誤,有助於發現問題
這邊每個if判斷式都在call一個函數,並且把回傳值存到err這個變數
所以直接看err是否非0就可以判斷這些函數是否執行有錯誤
有錯誤就是認證失敗,此時err就不會是0
然後程式碼就跳到fail:那邊,又因為err不是0,就可以直接回傳err,表示認證失敗
同時回傳的非0 err值也可以顯示是什麼錯誤
如果認證一路上是成功的
最後sslRawVerify()會把err設成0
回傳err時就會回傳0 代表認證是成功
推 DJony:推 02/25 21:20
推 ull0730:精華文章,讚 02/25 21:22
推 shaolun0:推 02/25 21:30
推 kenk0818:哇 有學有推 感恩 02/25 21:56
→ LinkedList:昨天還是前天有在八卦版看到有人分享 02/25 22:05
推 oas:我用iPhone4 5.1.1測gotofail是Safe 所以5.1.1是OK的? 不用升? 02/25 22:38
推 s850284:難怪這次更新apple這麼積極!以往更新只會跳出一次通知,這 02/25 23:13
→ s850284:次一直跳出訊息,超煩der 02/25 23:13
推 iphonessss:推推 長知識 02/25 23:18
推 Adadadadada:ㄣㄣ跟我想的差不多 02/25 23:26
推 sanderpan:推專業和大氣度! 02/25 23:35
推 cattgirl:iOS6測出漏洞 我更新就安全了 02/26 00:51
推 Icereal:太實用了上站一推 02/26 01:50
推 Archio:寫程式的工作真的不是常人可幹的.... 02/26 02:09
※ 編輯: iPluto 來自: 24.199.19.190 (02/26 02:43)
※ 編輯: iPluto 來自: 24.199.19.190 (02/26 02:58)
推 lovecool123:厲害 推 02/26 03:58
推 jacka1:這篇好專業! 大推! 02/26 04:18
推 tyai:好文長知識 02/26 05:30
推 rosywhite:推! 02/26 09:25
推 lim10337:想起那些寫程式的日子~ 專業推!! 02/26 09:44
推 zaq123123:高三正學C語言中 嗚嗚..好像很難 02/26 11:21
→ abian:長知識推 02/26 12:20
推 taxitaxi:有夠專業! 02/26 14:19
推 lovelong880:推 02/26 15:47
推 jlchien:講解真詳細~推 02/26 20:00
推 jefferk:感謝喔 我目前還沒碰到ssl認證加密的問題XD 02/26 20:25
→ jefferk:這樣說我就懂了XD ios真是很常用判斷式來確認 感謝~~ 02/26 20:26
推 ryanlei:厲害 這回真的是"專業"問題了XDD 02/26 21:19
推 bigshowshow:6.1.3, 用safari點測試網頁不安全,用puffin卻安全? 02/26 21:39
因為跟瀏覽器有關
OSX上Chrome也是安全的
但是因為系統很多服務以及app是會用到SSL的
即使你都用Puffin上網
但是如果你用了Apple內建的Mail軟體 一樣會受這個漏洞影響
所以還是更新OS最實際...
推 tustarosa:這種錯誤實在有一點扯 02/26 21:50
推 alance:推文看到有人說10.6也有更新,請問有辦法只更新到10.6嗎? 02/26 23:43
→ alance:我怕更新到10.7跑不動... 02/26 23:44
推 alance:筆誤..上面說的是ios6及ios7 02/26 23:55
推 usoko:這漏洞八成是git auto merge造成的 因為行數不對mer成兩行 02/27 01:17
→ usoko:乖小孩記得即使if內容只有一行也要加大括號喔 02/27 01:17
推 bababababa:好文 推! 02/27 01:37
推 kazumaking:專業推! 02/27 01:54
推 greedybit:checkpatch.pl不會讓有括號的一行if進到kernel裡的 02/27 02:31
→ greedybit:所以對大神來說亂加括號真的很醜 02/27 02:31
→ iPluto:3GS可以只更新到6.1.6 不然你可以JB然後裝Patch XD 02/27 02:42
→ iPluto:usoko說的沒錯 這八成是merge出來的 沒有人會自己這樣寫... 02/27 02:42
※ 編輯: iPluto 來自: 24.199.19.190 (02/27 02:45)
推 bigshowshow:專業推!之前gmail的確有被盜用,還是更新較心!謝謝解 02/27 12:31
→ bigshowshow:惑! 02/27 12:31
噓 justlink:Man in midle 引用錯誤 02/27 14:17
→ justlink:Man in middle SSL 根本防不了。 02/27 14:18
→ justlink:Key 被拿走了 還是可以被 sniffer 02/27 14:23
推 justlink:尤其是不小心吃了偽CA 02/27 14:30
推 justlink:另外,我先前說的 SSL 完全防不了,是我的錯誤。 02/27 14:33
推 ga762599:專業 03/01 02:11
推 CloudPigLee:長知識推! 03/01 13:18
推 tokai:推 03/07 11:58