標籤:

讀書 | The myths of security

無意中從校圖的某個書架上拿下來的題記很有趣的一本書:「計算機安全行業不想讓你知道的事」。

本著對安全行業的好奇心,就翻開了這本書。書不厚,不到300頁的32開本,2013年5月由OREILLY出版的譯本(原書是在2009年出版的,順便提一下,天書夜讀也是2009年出版的,儘管這本書只是一本安全類綜述方面的書而天書夜讀是講Windows內核編程的,但是個人覺得天書夜讀比這本書經典得多的很多。)

譯本共有48章,外加一篇後記。看起來很普通,翻完了之後還是覺得很普通。

下面就開始介紹吧,哦順便給出此書的鏈接:The Myths of Security - OReilly Media

為何要寫《安全的神話》?

在計算機安全這樣一個混亂和模糊不清的學科里孕育神話是很自然的一件事情。在本書中,我將釐清很多那一類神話。

以下為目錄(感覺這目錄是機器翻譯的,你們就感受一下吧~~):

  1. 安全行業是被破壞的(The Security Industry Is Broken,個人覺得這個翻譯為」被破壞的安全行業「可能更好)
  2. 安全:無人關注!(Security: Nobody Cares!)
  3. 獲取「控制權」比你想得容易多了(Its Easier to Get "0wned" Than You Think)
  4. 做壞蛋感覺不錯(Its Good to Be Bad)
  5. 檢驗一款優秀安全產品的方法:我會用它嗎?(Test of a Good Security Product: Would I Use It?)
  6. 為什麼微軟免費反病毒軟體將無足輕重(Why Microsofts Free AV Wont Matter)
  7. 谷歌是邪惡的(Google Is Evil)
  8. 為什麼大多數反病毒軟體並不(非常)有效?(Why Most AV Doesnt Work (Well))
  9. 為什麼反病毒軟體經常運行很慢(Why AV Is Often Slow)
  10. 感染只需4分鐘?(Four Minutes to Infection?)
  11. 個人防火牆問題(Personal Firewall Problems)
  12. 把它叫做「反病毒軟體」(Call It "Antivirus")
  13. 為什麼大眾不應該運行入侵防禦系統(Why Most People Shouldnt Run Intrusion Prevention Systems)
  14. 主機入侵防禦問題(Problems with Host Intrusion Prevention)
  15. 海中有大量的「魚」(Plenty of Phish in the Sea)
  16. 對施耐爾的崇拜(The Cult of Schneier)
  17. 幫助別人安全上網(Helping Others Stay Safe on the Internet)
  18. 狗皮膏藥:合法廠商也會賣他(Snake Oil: Legitimate Vendors Sell It, Too)
  19. 生活在恐懼中?(Living in Fear?)
  20. 蘋果真的更安全嗎?(Is Apple Really More Secure? )
  21. 好吧,你的手機不安全,你應該在意嗎?(OK, Your Mobile Phone Is Insecure; Should You Care?)
  22. 反病毒廠商自己會製造病毒嗎?(Do AV Vendors Write Their Own Viruses?)
  23. 反病毒行業困境的簡易解決之道(One Simple Fix for the AV Industry)
  24. 開源軟體安全:一個轉移焦點的話題(Open Source Security: A Red Herring)
  25. 為什麼SiteAdvisor是極好的主意(Why SiteAdvisor Was Such a Good Idea)
  26. 對於身份盜用我們能做些什麼?(Is There Anything We Can Do About Identity Theft?)
  27. 虛擬化:主機安全的銀彈?(Virtualization: Host Securitys Silver Bullet?)
  28. 什麼時候我們能夠消除所有的安全漏洞?(When Will We Get Rid of All the Security Vulnerabilities?)
  29. 預算內的應用程序安全(Application Security on a Budget)
  30. 「負責任地公布」就是不負責任("Responsible Disclosure" Isnt Responsible)
  31. 中間人攻擊是傳說嗎?(Are Man-in-the-Middle Attacks a Myth?)
  32. 對PKI的攻擊(An Attack on PKI)
  33. HTTPS傻透了,幹掉它!(HTTPS Sucks; Lets Kill It!)
  34. CrAP-TCHA與易用性/安全性的折中(CrAP-TCHA and the Usability/Security Tradeoff)
  35. 密碼還未消亡(No Death for the Password)
  36. 垃圾郵件已死(Spam Is Dead)
  37. 改進身份驗證(Improving Authentication)
  38. 雲不安全?(Cloud Insecurity?)
  39. 反病毒公司應該做什麼?(反病毒2.0)(What AV Companies Should Be Doing(AV 2.0))
  40. VPN通常降低了安全性(VPNs Usually Decrease Security)
  41. 易用性與安全性(Usability and Security)
  42. 隱私(Privacy)
  43. 匿名(Anonymity)
  44. 改善對補丁程序的管理(Improving Patch Management)
  45. 開放的安全行業(An Open Security Industry)
  46. 學術界(Academics)
  47. 鎖匠(Locksmithing)
  48. 關鍵基礎設施(Critical Infrastructure)

原書目錄就介紹到這兒……

不明覺厲的看完這本書,雖然就看了兩天而且處於一臉懵逼的狀態。本書有一部分是個人安全,有一部分是企業安全,也有設施安全。這本書並不是很精,因為是綜述,也不全因為沒有攻擊思路只有思想。放在2016年的今天,去看這本2009年由John Viega[美]編寫的《安全的神話》,作為安全界的了解讀物還可以,但若要作為入門讀物——那還是選其他的書吧……

以下結合作者的安全從業經歷,來展開了這本2013年的《安全的神話》。太長不看版:

Chapter 1. The Security Industry Is Broken

這個講了作者的進入安全行業之前和他在安全行業中的一些比較經典的經歷。開頭講述了他的恩師Randy Pausch的一節課(由砸爛一台錄像機開始的故事)給他帶來的啟發,(錄像機:關我什麼事?!),讓作者意識到用戶體驗的重要性。大學畢業之後,作者進入了信息安全行業,到2009年出書為止有10年的從業經驗。經常崩潰的系統,糟糕的安全保障,這些都是當時在許多用戶的投訴中出現的問題。

In this book, I』m going to spend a lot of time sharing my perspective on the industry. As much as I can, I』ll try not only to identify the glaring problems that I see, but also to show what the industry can do differently.

2009年的那時候和2016年的今天當然是沒法比的。

當然,2016年有2016年的問題,比如說眼下最嚴重的」公民個人信息泄露「(騙子打電話都能直呼我名字了)、」勒索病毒「(vvv)等,都能引起我們的高度重視。

Chapter 2. Security: Nobody Cares!

本章當中提到的一些很容易忽視的安全問題:

  1. 計算機病毒感染:

    現在PC都升級到win10了,Windows大規模被感染的現象已經減少。但現在移動端感染居多,不過現在也引起了足夠的重視

  2. 狡猾的惡意軟體:

    國內PC端的惡意軟體是指某些公司的全家桶,移動端同理。

  3. 被忽視的安全產品:

    國內的安全產品有時候真也不安全啊……

  4. 覺得不算很嚴重的信息盜用:

    現在很多人都開始尋求自己的信息安全保障(尤其是在」徐玉玉事件「之後),國內也出台了相應的法律法規,希望能加強這方面的監管。

  5. 乏味的新聞報道:

    這個請參考央媒,別的就不說了,大家心裡懂就好
  6. 被忽視的安全行業:

    國內對安全的重視是這兩年才起來的,我相信這個行業會變得越來越好,儘管某雲已經液化了……

很有意思的是,這本書還提到了安全產品的某些用戶體驗。還記得XP的防火牆氣泡么?

Chapter 3. It』s Easier to Get 「0wned」 Than You Think

你以為這是哪篇技術文章?恭喜你,答錯了。

」我的電腦絕對不可能中毒!」,這話你是不是也見過呢?反正我是講過,立下flag的代價之一就是hao123劫持瀏覽器到現在還沒修好,然而病毒樣本被我幹掉了……

這一章講了那個年代經常會出現的釣魚(各種釣魚)、DNS緩存污染、瀏覽器漏洞(這個到現在還有)以及社工等其他的情況。

p.s. 我覺得最讓我無語的大概是為什麼這兒的zero day 不直接翻譯為0 day而是翻譯為零日呢?雖然意思是一樣的,但是0day都叫習慣了。

Chapter 4. It』s Good to Be Bad

——為啥要入侵計算機呢?

——來錢快啊!

(一位十八線黑產人員的心聲)

Chapter 5. Test of a Good Security Product: Would I Use It?

仁者見仁,智者見智,我會不會用這款安全類的產品呢?

小白用戶喜歡以一擋十,然而某些廠商你卻為人家默認了全家桶。

而且,主產品關鍵時候還掉鏈子……

不說了……

Chapter 6. Why Microsoft』s Free AV Won』t Matter

OneCare沒用過,但是我知道他家的Defender。

作為Windows10的用戶用Defender的體驗:感覺它在監視我的電腦,而不是監視我電腦的安全。

Chapter 7. Google Is Evil

不要太相信搜索引擎,詳情請參考百度的莆田系事件。

Chapter 8. Why Most AV Doesn』t Work (Well)

殺毒軟體,也稱反病毒軟體或防毒軟體,是用於消除電腦病毒、特洛伊木馬和惡意軟體等計算機威脅的一類軟體。

這裡翻譯的不好,翻譯成了「為什麼大多數反病毒軟體並不(非常)有效」,反病毒軟體讓我懵逼了半天……

Chapter 9. Why AV Is Often Slow

沒有逆向過國內的殺軟,不知道殺軟到底慢還是快,就先跳過去吧。

Chapter 10. Four Minutes to Infection?

In July 2008, a report went around claiming that if you connect an unpatched and unprotected Windows XP machine to the Internet and did nothing else, it would be infected in four minutes, on average. The typical recommendation for preventing this kind of problem is to run a firewall on your network and to install all the latest updates as quickly as possible.

看到這兒,想起了Windows XP被通知停止安全更新的時候也如是說過,「停止技術支持之後,會更容易受到感染」。不過後來國內的很多殺軟界的大佬們紛紛宣布:將繼續保護XP用戶們的安全,不離不棄,直到你想通了升級新系統為止。

啊跑題了,那麼,裸奔的電腦聯網之後到被感染——只需4分鐘嗎?

每天有大量的自動化程序隨機的掃描互聯網尋找肉雞,但是會不會中獎那是另外一回事了。系統自帶的防護機制,你的那些個殺軟,在大多數情況下可以過濾掉這些攻擊。

那這個數字怎麼來的呢?可能是發布報告的那家機構,用了一台裝有過時的計算機系統(比如說Windows XP SP1的這種)的電腦,來計算該電腦從聯網到被攻擊到被感染的時間,確實,這種計算機,4分鐘都不到就可以Get Shell了

一直覺得:安全是為了給用戶放心,而不是讓用戶恐懼。

Chapter 11. Personal Firewall Problems

「你想讓QQ獲取你的攝像頭許可權嗎?」

拒絕(9s) 允許

——MDZZ什麼鬼,點拒絕吧。誒我的攝像頭怎麼打不開了?作業沒辦法傳過去啊!

Chapter 12. Call It 「Antivirus」

還是那句話,安全是為了給用戶放心,而不是讓用戶恐懼。

畫外音:我管你殺出來是病毒還是木馬還是蠕蟲還是什麼鬼!反正我電腦就是慢!不給我修好了我就卸載!誒哦!怎麼卸載這個來著!把這個快捷方式給刪掉吧!

Chapter 13. Why Most People Shouldn』t Run Intrusion Prevention Systems

Chapter 14. Problems with Host Intrusion Prevention

以上兩章,「沒有調查就沒有發言權」,沒注意過一般殺軟的入侵防禦,不好說明人家的好與壞。

Chapter 15. Plenty of Phish in the Sea

重點介紹了網路釣魚和郵件釣魚。

現在裝了殺軟的基本上不用太擔心被網站釣魚這回事了,此外郵件服務提供商(網易、騰訊等)也在加強郵件釣魚保護機制,所以小白用戶只要不是那種太好奇的基本上不會出現翻車的情況。

Chapter 16. The Cult of Schneier

「如果他今天是對的,並不意味著他明天也是對的。」

所以,這句話同樣也適用與本書和本篇觀後感。然後,你就會發現第21章並不適用於現在……

Chapter 17. Helping Others Stay Safe on the Internet

老生常談的問題了,看看公安部的給公民安全上網的幾點提示即可。

Chapter 18. Snake Oil: Legitimate Vendors Sell It, Too

漲了新姿勢:這兒的Snake Oil可以翻譯為狗皮膏藥。

Chapter 19. Living in Fear?

世界正在變得越來越安全,即使是考慮到所有的因素。

我們擁有更多的安全措施,但卻更多的為安全問題而擔憂。

相信世界會變好,嗯,就醬紫。

Chapter 20. Is Apple Really More Secure?

沒用過蘋果系的產品,不清楚。

但是前段時間XCodeGhost還蠻火的,所以沒有安全的產品吧。

Chapter 21. OK, Your Mobile Phone Is Insecure; Should You Care?

09年那時候確實是還沒見過大規模爆發的手機病毒,所以這一章並不是很有說服力(這本書是2013年出版的譯本,然而2013年前後有好幾波手機被病毒感染的事件)

參考第十六章的最後一句。

Chapter 22. Do AV Vendors Write Their Own Viruses?

不清楚。

但是有這麼一個有趣的問題:殺軟公司會不會自己製作病毒或者讓他人製作病毒後自己查殺? - 網路安全

Chapter 23. One Simple Fix for the AV Industry

不清楚。

Chapter 24. Open Source Security: A Red Herring

Linux用戶沒大家想像的那麼多,但是不代表它就是安全的。還記得心臟出血么?

Chapter 25. Why SiteAdvisor Was Such a Good Idea

不清楚這個「SiteAdvisor」是什麼?

Chapter 26. Is There Anything We Can Do About Identity Theft?

對於身邊很常見的身份信息盜用,我們能做些什麼?歡迎討論~~

Chapter 27. Virtualization: Host Security』s Silver Bullet?

虛擬化,是主機安全長遠的未來。

如果我們能夠做到這一點,那麼在安全廠商與壞蛋們之間的永不停歇的戰爭中,天平將會第一次向安全廠商傾斜。

Chapter 28. When Will We Get Rid of All the Security Vulnerabilities?

你相信存在沒有漏洞的代碼嗎?美國人正在研究

Chapter 29. Application Security on a Budget

這個要從企業方面去考慮成本的問題……

符合標準、品牌、客戶需求、功能對等性、節省開支的假設

「如果沒有需求,為什麼要去做它?」

作者也提到了這些建議:

  1. 嘗試弄清楚已經在支出的資金

  2. 試著防止公開安全漏洞的出現,不讓壞蛋們輕易得手

  3. 如果外部人員發現了漏洞,迅速處理這漏洞

  4. 培養熱心於安全的人士

  5. 在開發團隊中採用增強安全風格的工具

Chapter 30. 「Responsible Disclosure」 Isn』t Responsible

這個標題,首先讓我想起了某雲……

這兒看到了作者提到了自己認為的比較好的「智能公布」,雖然我覺得這套路在國內根本就行不通:

  1. 當好人在產品中發現了一個安全漏洞,他通過標準方式聯繫廠商(通常就是通過向該廠商的特定安全問題聯繫郵箱發送文件)

    * 在國內,不會被查水表再說吧,可以參考月餅事件

  2. 發現者給廠商30個工作日的時間,讓他們確認問題來源並制定一個將來的行動計劃表。若廠商確認問題的過程中有問題,發現者會提供相對應的支持。

  3. 雙方統一的計劃表應當包含最起碼的日期信息,說明在什麼時候會實施漏洞修復,什麼時候修復會被充分測試以及啥時候補丁會發送給用戶。除非廠商能夠合理的為他們的工作量和優先順序提供說明,否則修復和測試的時間不應該多於90天。

  4. 各方應該在問題發現的第一個月內每周通報問題進展,之後每月至少一次。

  5. 如果下一個計劃好的產品版本安排在漏洞確認之日起4到12個月以後,廠商應該允許把補丁放入該產品的新版本中發布。

  6. 如果下一個計劃好的產品版本在4個月以內發布,廠商應該將補丁放入後續產品版本中,只要在即將發布版本的發布日期之後的10個月之內都可以(沒找到英語原文,並不是很了解這句話的意思)

  7. 如果沒有任何計劃中的產品版本發布,廠商應該在6個月的時間內發布一個新版本。

  8. 如果廠商在漏洞被發現之後30天內沒有提供任何補丁計劃表(有明確的修復時間期限),發現者應該給兩個星期的通知時間。如果廠商仍然不提供任何合理的計劃表,發現者就可以自由公布所發現的問題。

  9. 如果廠商沒有很強的信心來處理問題,而且如果計劃表的任何部分拖延達到60天,發現者應該給廠商兩個星期的時間來完成已經延期的任務。如果該任務不能在兩個星期內完成,發現者就可以自由公布所發現的問題。

  10. 如果安全漏洞被利用得已失去控制,廠商必須向公眾確認問題並提供修復計劃

    * 都不在雙方能控制的範圍內

  11. 在漏洞發現後的前18個月中,廠商對信息公布的要求應該得到尊重。如果廠商希望信息和補丁程序一起發布,應該得到認可。如果廠商希望漏洞不要被公布,也應該得到認可。如果廠商的確同意公布相關信息,就必須在公布的同時確認問題發現者的所做貢獻。

  12. 在修復全面發布的18個月之後,缺陷發現者可以公開地發布問題信息。廠商這時候必須認可發現者的貢獻。

Chapter 31. Are Man-in-the-Middle Attacks a Myth?

本章講述了中間人攻擊。以前經常會用ZANTI去劫持宿舍樓的無線,但是現在沒用了= =|||

  1. 如果要在某個網站上輸入個人數據,請確認他們是否是安全的(比如:掛鎖的標誌、是否有無錯誤信息的彈出和攔截、安全證書是否一致等)

  2. 如果正在使用家庭網路(或者是專用網路),確認密碼保護是否生效以及是否已經啟用了強加密連接

  3. 如果正在使用其他網路,確認該網路環境是否安全,在服務端有沒有做過安全驗證

Chapter 32. An Attack on PKI

Chapter 33. HTTPS Sucks; Let』s Kill It!

HTTPS從本質上說是安全的,但是也不一定就代表著它安全啊

Chapter 34. CrAP-TCHA and the Usability/Security Tradeoff

其實,就是在講驗證碼的安全性與易用性。

Chapter 35. No Death for the Password

本章中提到了簡訊驗證碼的思路,現在有很多國內網站都已經採用了。

但是,在很多時候如果我想辦法劫持了這條驗證碼簡訊,那還是用密碼+簡訊驗證碼或者用其他組合可能更好。

短密碼可以破解,強密碼可以字典,長密碼可以社工和記錄,以上。

Chapter 36. Spam Is Dead

傳統的垃圾郵件沒少,但是新型的病毒郵件卻增多了。現在國內的郵件提供商已經採用書中的這種「雲計算識別垃圾郵件」的辦法了吧?

Chapter 37. Improving Authentication

改進身份認證。

Chapter 38. Cloud Insecurity?

雲服務提供商需要考慮提供正確的安全措施。

Chapter 39. What AV Companies Should Be Doing (AV 2.0)

Chapter 40. VPNs Usually Decrease Security

對於VPN的印象僅僅剩下翻牆了……

印象當中,某手機攔截廣告服務商也是使用VPN的方式同步攔截數據,不知道現在還有沒有用。

Chapter 41. Usability and Security

易用性和安全性的選擇與折中。

如果給了用戶權利:一個是強加密演算法構建的安全連接,一個是某種傳統的可能有安全問題的安全連接(為單子所熟知),可能會有更多人選擇後者。

當看起來要在安全性和易用性之間作折中選擇時,很有可能是有一個更好的解決方案被忽略了。可能是設計者沒找出來,也有可能是因為他沒有花時間來構建這個方案。無論是哪種情況,每個人都輸了……

Chapter 42. Privacy

互聯網中無隱私。

理論上隱私是件好事,但是我在網上好像沒什麼要保護的東西……

Chapter 43. Anonymity

理論上聽起來很好,但是實踐中卻很少有人關心(可靠性較弱)

Chapter 44. Improving Patch Management

確定補丁的穩定性,讓用戶的生產力不會真正受到影響。

Chapter 45. An Open Security Industry

開放的安全行業,ISC2015曾經有提到過殺軟界的「納什平衡」,與此同理。

Chapter 46. Academics

學術界。

Chapter 47. Locksmithing

」鎖「的選擇。參見第41章

Chapter 48. Critical Infrastructure

SCADA(監視控制和數據採集系統):留意設計關鍵基礎設施信息技術控制系統的人是不是已經考慮了各種問題?比如,不聯網?

THE END

---------------------------------------------------------------------------------------------------------------------------

強迫症,用讀書筆記的方式去看綜述類的書。

感覺這本書講的很多內容,深挖下去可以講很久。另外有些部分確實沒了解過(比如說殺軟的入侵檢測部分、學術界的動向等)所以就沒有展開來說。

這本書花了我三天時間,但是覺得沒有很本質的提高,或許是我的心已經變的功利化了吧。

謝謝你能耐心看完這篇並沒有什麼營養的長文,這也是我頭一次做了這麼長的知乎專欄文章。

雖然一開始是打算作為讀書筆記去發表,但是後來卻跑了題……

一向追求短平快,所以寫操作系統部分的時候都是追求1000字以內能有所收穫,但很可惜操作系統的東西太多而且雜,我需要用一段時間去積累我以前學過的沒學過的東西(這期間還要為大四的另外一些未完成的事情忙活)

可能以後還是會看心情不定時更新,更新頻率會下降許多。

謝謝你們能耐心看完這篇文章,謝謝。


推薦閱讀:

TAG:信息安全 |