貓寧!!!mysql
參考連接:https://mp.weixin.qq.com/s/cl4TfOodBGSjUuEU8e0rGA程序員
對方公衆號:caoz的夢囈web
前天在新加坡IC咖啡作了一場關於信息安全的常識普及分享,主要是一些基本概念的澄清,以及對信息安全入門級別的瞭解。sql
我不是信息安全技術高手,不少很實際的技術細節可能不夠了解,因此若是有一些概念錯誤或其餘誤導,也請技術高手指正數據庫
先說一些錯誤的概念windows
一、對於企業而言,信息安全是技術人員的工做。瀏覽器
錯誤,普通員工若是不注重安全很容易被突破。安全
內網安全每每是由非技術人員的疏忽形成的。服務器
範例1: 某巨頭互聯網公司內網曾因某員工不安全的電腦致使ARP欺騙,致使內網dns解析遭受感染,在內網正常電腦的正經常使用戶的訪問本公司網址竟然被轉移到木馬網址。微信
範例2:某信息安全上市公司因銷售人員安全意識淡泊我的電腦被入侵,致使內網穿透,信息泄露好久後被發現。
全員信息安全意識培訓很是重要。
二、良好的上網習慣,不亂下文件,不點開奇怪的文件,不上奇怪的網站,我的電腦就不會中病毒。因此,裸奔有理 的論調特別流行。
錯誤,15年前,從尼姆達病毒起,病毒和木馬就已經具備了主動攻擊性,他們根本不須要你點擊和打開,會主動在網段內掃描和入侵有缺陷的主機。
三、裝好殺毒軟件,打好補丁,就不會被入侵被黑掉。
錯誤,0day攻擊能夠輕鬆穿透殺毒軟件和打好最新補丁的系統。
名詞解釋 0day
咱們知道每隔一段時間,微軟,蘋果或其餘系統廠商都會公佈安全漏洞,發佈安全補丁,而後用戶就會及時打補丁防止被入侵,那麼咱們想一個簡單的問題,一、這個漏洞是系統廠商公佈的時候纔出現的麼?二、在漏洞被系統廠商發現以前請問誰能防止基於這個漏洞的攻擊?
很遺憾,事實,就是,沒有,因此,在安全漏洞沒有被系統廠商發現,或者被發現但安全補丁沒有發佈以前,這段時間,基於這個安全漏洞的攻擊,就統稱爲0day,因此0day實際上不是一種技術形式,而是一種時間的概念,未公開的漏洞是普遍的,長期存在的,有一種說法叫作長老漏洞,什麼是長老漏洞呢?好比說有款微軟的操做系統漏洞,當微軟發現這個漏洞的時候,其存在時間已經超過了10年。那麼,這十年是否一直沒有被人發現呢?很遺憾,只是沒有被微軟發現而已,在某些技術高手手裏,這是一個通殺的入侵工具,想一想可怕不。
那麼,誰手裏有0day呢,第一,各國軍方,美國有,中國也有,俄羅斯有,以色列有,韓國有,日本也會有。第二,各大安全公司,有人會說,安全公司不是要講操守,發現漏洞不是應該公告麼? 有些會公告,有些不會,爲何不會呢? 由於有時候須要,好比說,兩個安全公司去搶一個軍方的訂單,軍方說了,你來檢測一下個人系統,給我一個報告吧,若是你手裏沒有0day,你可能就競爭不過手裏有0day的同行。你對手拿到了人家服務器的權限你沒拿到,你不就丟單了麼,你說其實你漏洞挖掘比對手強,不過你都公告了(你公告了系統廠商就有補丁了,有補丁了人家軍方的運維也不是吃閒飯的,早就補了,明白這個邏輯不。),你看微軟,google給你一沓感謝信呢,你想一想軍方領導人怎麼想,尼瑪另外一家隨時能夠入侵我,而你不能,你讓我跟你合做,我傻啊。第三,很不幸,一些我的高手和黑產手裏也有,存在0day交易的地下黑市,簡單說個數字概念,好比微軟給TK教主發現的漏洞和利用方法發獎金,10萬美圓,你們以爲了不得,這是TK教主比較有操守,若是這個漏洞放到黑產的地下黑市裏,100萬美金均可以賣掉你信不信。 一個高危漏洞,在黑產手裏的話,其價值是極爲巨大的,不少人讓我寫寫黑產,但我不敢,實話說,我惹不起他們。你看你看,我敢寫黑社會,我不敢寫黑產。寫了黑社會我大不了不去香港了,寫黑產我互聯網的業務不要碰了。
那麼問題來了,爲何系統廠商不給很高的獎金去獎勵安全專家呢?而讓漏洞流向黑產?這裏還真不是錢的問題,而是存在一個悖論,若是系統廠商,對漏洞的獎勵太高,會存在一個管理風險,若是獎金激勵太大,那麼系統廠商的開發工程師真有可能會故意留一些看上去很不當心的問題點,而後將這個問題點泄露給第三方的安全專家,分享獎金。因此,不少時候,利弊權衡,並不能只看一面。
名詞解釋,漏洞挖掘
什麼叫漏洞挖掘,就是針對某個系統,某個應用,去分析其弱點並挖掘其可被利用的漏洞,其結果又分爲高危漏洞和低危漏洞,高危通常是能夠取得系統控制權,或者利用系統執行一些危險的操做。低危每每是可能致使系統不穩定,或者存在一些非機密信息泄露的可能。
發現漏洞和找到漏洞利用方法是兩個步驟。
有的時候安全專家發現一個可能嚴重的漏洞,好比一個權限很高系統服務在一個偏僻的系統調用處存在一個溢出點。但這時只能說這多是一個高危漏洞,有時候系統廠商會認爲這個漏洞沒法利用,看成低危漏洞來處理,這種狀況之前很常見,但一旦找到漏洞利用方法,這纔是實現一個完美的漏洞挖掘。因此微軟不少對安全專家的重獎不是由於發現了一個漏洞,而是提供了一個很是巧妙的漏洞利用方法。
因此公衆可能理解黑客是黑掉一個網站,或者黑掉一個帳戶,而漏洞挖掘不是這樣的概念,一旦發現一個高危漏洞,好比說,發現微軟操做系統的高危漏洞,可能全部這個版本的用戶的電腦均可以被入侵,好比說發現mysql數據庫的一個高危漏洞,可能全部使用mysql數據庫服務而且存在外網訪問接口的均可能被入侵。 因此漏洞挖掘的高手,他們並非針對特定網站,特別目標去分析,他們的目標是主流的系統和應用。而後一旦有所成就,幾乎就等於手裏掌握了能夠橫掃互聯網的核武器。 在這種狀況下,你去說黑掉幾個網站了不得,人家就只能呵呵了。
0day攻擊應對策略:暫無
不過也不用過於緊張,若是你不是特別特別有價值的目標,通常人不會用0day對付你。互聯網上有一次經典的0day攻擊事件,被一個商業安全公司捅出來的,目標直指伊朗核設施,實施者是誰你猜猜看?
四、我輸入可信的網站地址,訪問的網站必定是安全的
錯,DNS劫持可能讓你即使輸入了正確的網址,也會進入錯誤的網站。
DNS劫持是一種常見網絡安全風險,但其實這裏並不僅有一種攻擊途徑,有不少途徑能夠劫持dns。
從你的主機開始,病毒木馬可能會改寫你的電腦的host文件,或者改寫瀏覽器的鉤子,致使你訪問的目標網址被導向其控制者的手裏。
若是你的主機是安全的,不能保證你鄰居會不會用arp欺騙來干擾你。
這裏說句公道話,arp欺騙曾經猖獗一時,對網民上網帶來的傷害特別大,改寫host和瀏覽器掛鉤子也曾是中國互聯網常見的毒瘤,360崛起後這些東西從某種角度基本上沒有了(其實還有,一會說),我知道不少人討厭360,但這個事實仍是必須認可的,固然,3721是瀏覽器鉤子的鼻祖。
你的鄰居也安全,你訪問的就安全了?你上網是否是默認配置dns的,電信接入商耍流氓在中國太廣泛了。 那麼你強設了可信任的dns,你訪問網址就安全了? GFW的能力相信大部分人並不真正瞭解,爲了本賬號的合法運營,此處忽略多個案例。
剛纔說道,某種程度上,瀏覽器鉤子和劫持不常見了,但不是真的沒有了,只是特別惡意的基本被遏制了,可是依然有一種常見的,並且極具中國特點的,你們見怪不怪早就習慣的劫持行爲,大家若是使用ie瀏覽器,輸入錯誤網址或文字的時候,按照正常邏輯,應該是跳轉到bing的搜索頁,早前應該是msn的搜索頁,可是很遺憾,在中國你幾乎不可能看到這一幕,各類安全工具設置的瀏覽器鉤子早將這個訪問劫持了,僥倖沒有劫持,也會被電信運營商劫持。這就是咱們最多見而又最麻木的dns劫持,這個緣由是由於利益鏈,由於對用戶體驗來講不是危害,因此沒人以爲不對,不展開了。
移動互聯網還存在假基站的問題,假基站在國內目前也很猖獗,能不能劫持DNS我不是很明確,可是僞造來電號碼是穩穩的,今天我還看到朋友圈有人說親戚收到移動官方發來短信,點過去連接操做結果被詐騙了幾千元,投訴移動沒有效果云云,我一看就是中了假基站的騙子短信。因此誤覺得信息是官方發送的。移動上網其實也是存在風險的。
此外,蹭免費wifi也存在dns劫持風險。
五、百度,新浪這種公司是安全的,因此我在這裏的賬號也是安全的。
錯誤:彩虹庫和撞庫攻擊屢屢突破巨頭防線。
名詞解釋,彩虹庫,社工庫
還記得csdn爆庫事件麼,不少不少不少論壇社區的用戶庫都被黑客入侵併拿到過,有些是明文密碼的被黑客100%拿到賬號密碼,有些僅僅作了md5的被80%拿到,有些作了md5+md5的也差很少被80%拿到,除了作隨機salt的幾乎都被破的七七八八。(隨機salt不解釋了,下一篇會講)
黑客們將彼此拿到的數據庫裏的用戶名和密碼,合併在一塊兒,就是社工庫,也叫彩虹庫。 這個庫的規模特別大,並且一直還在激增,實際上,社工庫的歷史特別的悠久,當你從媒體上看到的時候,已經流行了不少年了。
名詞解釋,撞庫攻擊
因爲不少用戶習慣在多個網站用一樣的賬號和密碼,因此一旦A網站的用戶密碼透露,有經驗的黑客會去嘗試用一樣的賬號密碼去b網站嘗試,這就是所謂撞庫攻擊,新浪也好,百度也好,不少巨頭都飽受撞庫攻擊的侵擾,並且不少賬號密碼所以被泄露。
我在大約七八年前的時候一個安全圈的朋友曾把我百度的賬號密碼發給我,讓我趕忙去改密碼,我大吃一驚,覺得百度的賬號系統被入侵,後來詢問才知道是由於對方經過社工庫拿了個人賬號密碼,隨便一試就發現其實我在不少網站用的一樣的密碼,包括百度。
應對策略:不一樣網站密碼保持不一樣;或者對高安全需求的網站強化密碼。
六、個人密碼很複雜,別人必定不會破解
錯誤,獲取你的權限,其實未必須要你的密碼
經過找回密碼來暴力破解的之前很是常見
範例1:之前不少郵局都是有經過生日和回答問題來重設密碼,經過程序暴力破解生日(最多5分鐘)+猜想問題,是攻破不少小姑娘郵箱的絕招。
範例2:騰訊出過一個案例,以手機短信驗證碼來重設密碼,但短信密碼只有4位數字,暴力破解只須要9999次,程序員輕鬆搞定。
應對策略:驗證碼,並且是變態的驗證碼是防止程序暴力測試的重要方案。
SQL注入和跨站腳本是獲取用戶權限很是常見的攻擊方式,流行超過15年,至今仍然普遍可用。
其原理是程序員在編寫程序中對用戶輸入或瀏覽器傳遞參數校驗不夠嚴謹,黑客能夠將可執行代碼植入到正常的輸入或參數中,致使程序員的代碼被改寫,其中SQL注入是改寫數據庫查詢腳本,跨站腳本是改寫瀏覽器的可執行腳本,但都可未受權得到用戶身份並執行危險操做。不少巨頭在此跌過跟頭,至今不絕。
範例:某知名安全論壇管理員曾由於論壇程序不夠嚴謹,被人用跨站腳本發帖拿走權限。
2000年左右的時候,SQL注入幾乎能夠入侵一切用戶登陸系統。如今狀況好多了,但並未絕跡。
其餘概念
嗅探偵聽,sniffer
互聯網數據傳輸會通過不少設備,經過特定軟件截獲傳輸的數據,可能會包括不少的敏感信息,包括不限於網站登陸的賬號密碼,郵件賬號密碼等等。
應對策略:http是明文傳輸,https是加密傳輸, telnet是明文傳輸,ssh是加密傳輸,不少明文傳輸的協議還有對應加密傳輸的協議,敏感的瀏覽和登陸行爲儘量使用加密傳輸方式。
固然,加密傳輸也存在證書風險,中間人攻擊,這是另一個話題,因此仍是要裝好的瀏覽器和安全工具,若是提示證書可能有問題,仍是要當心一點。(提示證書有問題不表明必定有問題,評估一下本身操做的敏感程度)
世界上最大的嗅探偵聽都在政府手裏,美國有棱鏡,中國有敏感詞。
權限繞過
系統對權限的受權判斷不嚴謹,被人繞過驗證得到權限。
說個範例,好像是windows98吧,具體版本不記得了,出了一箇中文輸入法權限繞過漏洞,理論上你必須輸入賬號和密碼才能進入系統,可是輸入賬號的時候能夠調用輸入法,輸入法有個幫助選項,打開幫助找詞條能夠點擊進入瀏覽器,進入瀏覽器後就能夠直接輸入c:\ 了,後面就一馬平川,你能夠經過瀏覽器點開cmd命令,而後命令行執行任何操做,系統就徹底在你掌控了。
從整個操做流程而言,幾乎沒什麼技術含量,就是一個設計漏洞,系統驗證就被繞過了。
分佈式拒絕服務攻擊
用超過系統承受能力的請求,流量致使目標系統沒法正常響應,實現攻擊效果。
這裏也包括很是多類型
針對協議弱點的攻擊,好比syn flood。實施成本特別低,追溯難度極高,曾經特別流行。
針對流量帶寬的攻擊
針對應用程序的計算資源的攻擊
針對域名解析的攻擊
六省斷網事件就不用解釋了。
前段時間網易也被人打掛了半天,至今也沒個啥說法出來。你去看夢幻西遊蘋果市場的暢銷榜,從衝榜到第一名開始,夢幻西遊連續幾個多月一直是第一名,其中只有一天是第二名,就是那天,被人打掛了幾個小時。
目前黑產這個領域規模特別大,以攻擊威脅收保護費是常見手段,聽說不少p2p金融公司都交過保護費了。這個我也只能說這麼多,理由很簡單,我真惹不起。
緩衝區溢出
漏洞挖掘的一個重要幾乎領域,原理是由於程序中對數據段的長度判斷不夠嚴謹,致使數據段超出內存數據區間,從而覆蓋代碼執行區間,若是數據中在溢出點處編寫了精心設計的代碼,黑客的這部分代碼就會以相關服務程序的權限執行,從而實現黑客目的。
大部分系統級別的高危漏洞來自於緩衝區溢出,蘋果越獄的某些版本技術彷佛也來自於緩衝區溢出技術的實現。
但由於這個太技術化,可能普通用戶理解起來會比較困難。
綜述
黑客入侵更可能是一種思惟方式,正常的程序員寫程序是認爲用戶會正常請求和訪問他的系統,對異常的處理都是很是簡單的,而黑客的想法是僞造各類不正常的請求,欺騙系統,致使系統脫離其正常的執行流程,從而得到黑客所指望的結果,好比獲取權限,或獲取資料。
今天講這些以科普爲主,面向感興趣的非技術人員,技術名詞不展開,有興趣的能夠去自行搜索。
其餘一些名詞如APT,我本身也不是能解釋哦很清楚,也建議自行搜索。
電影裏那些啪啦啪啦敲鍵盤試密碼的,都不是黑客,黑客沒那麼SB。大部分入侵不須要去試密碼。須要試的人家用程序去撞庫。
其餘安全理念
基於社交網絡和公開信息,進行詐騙的行爲愈來愈常見,我的建議以下
一、不要太頻繁暴露我的行蹤,特別是有錢階級。
二、不要過於頻繁暴露我的隱私。
三、對一些可疑的信息要作屢次驗證,特別是借錢信息,不是說不信任朋友,而是你要當心你朋友可能被盜號了。
不少人不在意這個,以爲本身安全意識很高,不怕人騙,你的親戚朋友呢?你的父母呢?
舉個例子:若是一個騙子,經過微博或微信朋友圈,知道你的行程,上飛機了,又知道航班晚點了,又知道你所在的公司和出行的目的,給你父母打電話,說是你同事,和你一塊兒出差去哪裏作什麼,如今你出了車禍急需用錢進手術室,你父母第一時間反應,給你打電話,你在飛機上收不到,你父母又不知道航班晚點了,他們什麼感受?是否是會火燒眉毛的去給騙子付款!
不要覺得這樣的事情不會發生。
我以前沒少在朋友圈得瑟商務艙的旅程,可是我絕對不會在飛機出發前發這些照片,而必定是落地後甚至一兩天後。若是你想炫耀一些行程,我建議,留一些時間差。