跳到主要內容

陸文舉:業務視角下的邏輯安全

網站內容來源http://server.it168.com/

陸文舉:業務視角下的邏輯安全


2018-08-14 17:22    原創  作者: 高博 編輯:
0購買

本文根據陸文舉(土夫子)老師在2018年5月12日【DTCC 2018】現場演講《業務視角下的邏輯安全》內容整理而成。

  講師介紹:

陸文舉(土夫子),會分期運維總監DSRC(滴滴安全應急響應中心)TOP白帽,擁有8年運維經驗,3年安全經驗,曾就職於58同城等多家上市公司,擅長業務邏輯安全。

  分享大綱:

1. 未授權訪問

2.信息泄露

3.越權遍歷

4.支付

5.密碼重置

6.API調用

7.總結

 正文: 我今天和大家分享的主題是業務視角下的邏輯安全,互聯網什麼最值錢我們都知道,是數據,從大學生從FR到這個,比如你花幾百塊錢就可以在網上買到一個別人的信息,然後再到前段時間說的Face Book事件的發生,所以說我今天和大家從業務的角度分享一下邏輯安全。

在準備今天主題的時候,我一直在想一個安全的本質是什麼,也就是說那比如像這個綁卡和支付之間能有什麼,所以我歸納了兩個業務是安全的基石,那麼像綁卡裏面的問題,比如說像惡意提現,像自助裏面,訂單裏面的這種。

隨着互聯網的發展,越來越多的安全產品也出來了,包括早期的防火牆和IDS,或者IPS到後面的各種性能,雲WAF或者各種成分,包括後來等等一系列安全產品。

那麼有了這些產品我們的業務就安全了嗎?所以接下來我們從業務的角度來看一看,在這些安全產品之後,有了這些安全產品之後,還存在安全漏洞。

  1.未授權訪問

第一個是未授權訪問,什麼是未授權訪問?說白了在某個系統,不需要去做身份驗證就可以看到這個系統,比如說我們這個像DPA用的這個,還有這個做日常維護的時候,它隨時把功能,而且是不需要登錄認證就可以看到數據的,這會面臨什麼問題呢?我們可以發出特殊的指令做一些特殊的操作,相當於就對這個客戶端做一個內容。

還有像Hadoop的管理頁面,還有像做數據分析,比如說做這個東西的,那這些東西正常情況下你的端口現在是建立在內網上面的。

這個也是,比如說這個上面出錢,這套系統比如說這個裡面有幾百塊的訂單,大家可以看到具體的訂單號,還有應該做數據分析的,那像這個情況面臨着什麼樣的情況,最簡單就是操作被泄露,那為什麼會導致這種原因呢?也就是說這個是由於我們的技術人員安全意識不當造成的,那像一些內容的系統,像這些的,這個最基本的。

  2.信息泄露

接下來和大家分享第二個,信息泄露。我曾經在書上看到過這麼一個段子,一幫美女都在洗澡,突然這幫美女就急急忙忙跑了過來,然後發現都是大爺,衣服都沒有穿了。這個時候有個大爺衝著美女喊了一句,都捂住臉,下面都一樣。然後這個段子說明什麼,我們可以看一下租房的頁面。

我們可以看到在租房行業裏面,中國行業裏面發布找房信息之後,我們可以看到發布人的手機號都是泄露的,每家基本上都是這樣,那麼這會造成一個什麼問題呢?

我們會針對這種手機號看到兩種漏洞。第一個針對A公司租房平台,它的手機號是大家看到了,那很簡單,我們可以把它的手機號全部爬取下來,那對A公司的其他系統,比如說商家系統我們可以看到精準的用戶,去破解其他系統。

那第二個就是說我們都知道行業裏面的數據,比如說A公司做租房業務的,那B公司也做,我們可以把這個手機號爬取下來,對B公司做一些特殊的操作。這種情況下,操作軟件都像早期網約車一樣,我們知道早期的網約車看到都是真實的手機號,那看這個加一個點擊滑塊就可以看到手機號,另一個可以採取虛擬號的方式,比如說像現在就是看到假的手機號,不真實。

這是另外一個信息泄露的例子,那我們都知道,在互聯網早期的時候,漏洞都是以單點形式存在的,隨着技術的發展,現在這種已經很少了,不能說不見了。現在漏洞的形式都是基於多點存在。

比如說我們做活動,當然這兩個圖都是同一個動作,比如我們泄露的訂單這個,那麼單獨來看,其實影響不大,比如說沒有手機號,那我們可以通過挖掘,通過一系列的挖掘,發現B泄露訂單號和手機號,那麼可以A點做一個整合,可以得到想要的數據,比如說包括手機號這種,接下來和大家分享越權遍歷。

  3、越權遍歷

先說一下什麼是越權遍歷,我們說在收集數據的時候,不僅能看到自己的信息,還能看到別人的信息,這就是越權,那麼造成這種的原因是什麼呢?比如說像這個開發者,在開發程序的時候,他只做了一個當發生A的時候,會做B的判斷,當發生C的時候會做出D的判斷,但是他沒有判斷當發生X的時候會做出什麼樣的判斷。

那麼越權遍歷會把這個分為水平越權和垂直越權,可能這樣比較抽象,因為好多功能同時,比如說這個水平,所以說我就歸納為兩點,比如說我就歸納越權可以理解成前台越權和後台越權就可以了。

那麼什麼是前台越權?比如說我在訂外賣或者打車,那麼我們的APP就是前台的東西,這個很容易理解,那再像司機在這個接訂單的時候,還有像公司利民的管理系統,公司有的運營系統,這種東西就屬於後台,接下來我們看前台的一個案例,這也是一個租房信息的一個案例。

用戶在查詢自己訂單的時候,我們可以看到通過ID會有一個合同,但是我們可以通過對ID進行遍歷,遍歷通過別人,比如我們是遍歷一起的合同規則,這是一個前面的案例。

那比如說像這個接下來說後台的,這個就相對好一點了,中國好多公司安全註冊的時候,接觸過好多公司的這個版本,基本上,不能說百分之百有這個越權和遍歷,但是至少90%的系統是存在的,我們舉一個例子,正常情況下一個後台,一個公司的管理後台,這邊有10個板塊,還有其他的板塊,不能這個不同樣的角色,但是我們一個普通的用戶做一些特殊的操作,就相當於他是永遠有效的權利了,就把裏面的數據全部拿走了,這是無線的用戶。

商家在接訂單的時候,我們通過抓包的形式去抓到圖像,隨着自己的訂單通過ID,然後我們可以為這個ID進行一系列的,結果就是我們可以把所有的這個ID這個訂單全部點擊出來,可以看到用戶的手機號等信息。

那麼造成這個原因是什麼?我們開發者在寫代碼的時候,沒有做建權,其實這個防護第一個是建權,第二個就是說我們可以把這個ID做的足夠大,讓他無法看到,或者對這個ID進行加密,比如說是MD加這個,做到安全。我讓這個ID做這個加密方,只是一個編碼而已,那就沒有效果。

  4.支付

那麼接下來我講支付,這個從早期都知道,國內炒的最熱的是特斯拉,我不知道有沒有知道這個例子的。然後再到後來的網易車早期出現的時候,比如說你從這打包,你只要支付把錢給他就可以了,再到前段時間山東某公司出現的這麼一個情況,比如說充一元錢披露了1800萬,所以說這是一個案例。

接下來是一個討論的案例,這個是汽車的一個案例,像這個的,當時我們在支付的過程中,可以把金額改成一分,或者0.01,然後可以看到這個是支付成功的。

那為什麼會造成這種現象呢?是因為大部分程序在這個支付完做二次交付的時候,這個沒做。就是這個在安全側,它就算成功了沒有做二次驗證。

  5.密碼重置

那怎麼去防護呢?像這種敏感的支付操作,其實保護好籤名就可以了,一旦你的簽名被篡改你就不能操作了。那麼接下來和大家分享一下密碼重置。密碼重置早期的就是基於郵箱的或者基於一些密保問答形式重置密碼,那現在隨着移動互聯網發展,好多這個產品在設了以後,都是用這個手機驗證碼的形式去登錄,因為這樣比較方便,那麼這樣有什麼問題呢?那我可以看一下這個。

這是一個登錄的時候看到的,這會造成一個什麼呢?這會造成很簡單的一個操作。

那麼又由於手機驗證碼是四位的,四位数字的,那我可以找一下,通過看到這樣一個漏洞,那麼我們可以撞出1萬以內的賬號,因為它前面會提醒用戶存在或不存在,這是第一步。

那麼第二步我們可以對着1萬的賬號發送驗證碼。第三步我們可以隨便拿一個手機號,隨便拿一個四位的驗證碼都可以登錄某一個賬戶的信息了。

那麼造成這個的原因是什麼呢?第一,現在有很多公司用戶基數比較大,也體現了行業。那像四位驗證碼同一時間內是有重複使用的,那麼我們需要對這個驗證碼做的第一個是時效,比如說時效是一分鐘或者三分鐘。還有我們短信驗證碼發送的時候,我們可以做一個風控的操作,比如說同一個IP一天只能發送1000次或者500次,這個一般是能滿足需求的。

  6.API調用

接下來我們講一下API調用。現在好多不是那麼單一,特別是現在有很多的口令,比如說像客服管理系統等等,系統之間是相互用的,比如說我們無論是用戶還是說自己內部的好多人都需要調那個統一認證系統,像客服系統,你的客服在處理用戶問題的時候,可以去調你的合同管理或者調你的一些其他的東西,那麼相互調動的時候,它產生的一系列問題,現在有很多的東西都是以開關的形式去做這個驗證的。我們可以參加這個IP,這個是統一認證的例子。

那也就是統一認證它接受請求的時候,它這幾個業務調動的時候存在這幾個方式,比如說某一個參數裏面,第一代表的內部員工,二代表的是商家。

再比如說一個參數裏面,1代表的是內部系統,2代表的商家,3代表的是其他服務。

那麼另一個就是說在登錄方式,某一個參數代表的是密碼,某一個是短信的登錄。接下來我們就可以看這個系統,其實這個系統是這樣的,剛開始我發信的是也就是說這個系統只能通過用戶名和短信驗證碼的方式去登錄,但是由於我對這塊業務比較熟悉,或者對業務和業務標準之間的參數比較熟悉,那我會通過一系列的,我們可以把這個業務線改成,比如說用戶線改成商家的。登錄方式我們可以把短信密碼改成密碼的方式就可以了。

破解完之後,因為破解的是很容易的,所以存在這樣的問題,那麼像這塊漏洞我們怎麼防護呢,也是像剛才說的那樣,也就是說你發生篡改的時候,你的每一步操作有合法的簽名就可以了。

  7.總結

最後我們做一個總結,好多公司或者不少的從業者,並不知道自己的系統是否安全。歸納為第一條就是安全的本質是否可控,為什麼這麼說?我們舉一個例子:好多公司發生漏洞的一些病毒性的內容。那我們可以考慮第一個是否安全,如果不安全沒問題,我們可以往下講,那麼數據泄露了多少?如果你的數據比如說全泄露了,那最後是否可控?比如說像你的數據庫是以什麼方式,還是說某一家技術公司追到的時候,用戶名密碼全被拖走了?這是這麼一個例子。

第二個就是站在業務的角度去思考?就是說安全這個東西,它和業務是有衝突的,比如說你做的這個體驗,可能會影響這個業務的用戶體驗,所以說有好多時候我們站在業務的角度去思考。

接下來我和大家分享三個小例子:第一個是生活服務檢測,好多人都知道數據庫和業務袋,這個是通過SQL對自己的業務做一個掃描,比如說我們可以挖掘用戶的掃描請求,或者拿到自己的然後通過批納出來就好了,這是關於掃描檢測的。

第二個是拖庫監控,有好多人數據被拖庫不知道,所以說我們可以通過這樣的一個小的技巧然後做一個監控,比如說我們可以在這個數據庫裏面建一個空表,正常情況下你的空表是沒有業務去瀏覽的,當一旦發現這個空表被別人讀取的時候,我們可以通過監控號或者其他的來進行監控。

第三塊是講數據庫加密存儲。可能現在在座的數據存儲的不多了,但是我們可以通過更好的一些方法做一些加密,比如說第一個加鹽法,那這種怎麼弄,我們可以通過加鹽加一下時間或者一些特殊的方式去做一個加密,像這種支付數據庫被偷掉也不會有什麼用。

第二個就是混淆法,混淆法是什麼?就是你的數據在存儲的時候,A用戶的密碼對應B的用戶,因為你的策略入侵者是不知道的,所以說這就會給他造成一個難度。

好,今天我的演講就到這裏,謝謝大家!

網站內容來源http://safe.it168.com/

【精選推薦文章】

智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

想知道網站建置網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計後台網頁設計

帶您來看台北網站建置套版網頁設計台北網站改版設計台北RWD響應式網頁設計,各種案例分享

廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

http://www.3chy3.com/?p=2084



Orignal From: 陸文舉:業務視角下的邏輯安全

留言

這個網誌中的熱門文章

Python 併發總結,多線程,多進程,異步IO

1 測量函數運行時間 import time def profile(func): def wrapper(*args, ** kwargs): import time start = time.time() func( *args, ** kwargs) end = time.time() print ' COST: {} ' .format(end - start) return wrapper @profile def fib(n): if n<= 2 : return 1 return fib(n-1) + fib(n-2 ) fib( 35 )   2 啟動多個線程,並等待完成   2.1 使用threading.enumerate() import threading for i in range(2 ): t = threading.Thread(target=fib, args=(35 ,)) t.start() main_thread = threading.currentThread() for t in threading.enumerate(): if t is main_thread: continue t.join()   2.2 先保存啟動的線程 threads = [] for i in range(5 ): t = Thread(target=foo, args= (i,)) threads.append(t) t.start() for t in threads: t.join()   3 使用信號量,限制同時能有幾個線程訪問臨界區 from threading import Semaphore import time sema = Semaphor...

高雄十大包子名店出爐

, 圖文:吳恩文 高雄包子大賽落幕了,我只能就我個人意見, 介紹一下前十名這些包子,但是不能代表其他四位評審的意見,雖然身為評審長,我通常不會第一個表示意見,以免影響其他評審, 我主要工作是負責發問。   這次參賽的素包子很少,而且都不夠細致,又偏油,我不愛, 但是第一名的甜芝麻包-熔岩黑金包,竟然是素食得名- 漢來蔬食巨蛋店。   這包子賣相太好,竹炭粉的黑色外皮刷上金粉,一上桌,眾人驚呼, 搶拍照,內餡是芝麻餡,混一點花生醬增稠,加入白糖芝麻油, 熔岩爆漿的程度剛剛好,我一直以為芝麻要配豬油才行、 但是選到好的黑芝麻油一樣不減香醇, 當下有二位評審就想宅配回家。   尤其特別的是,黑芝麻餡室溫易化,師傅必須要輪班躲在冷藏室內, 穿著大外套才能包,一天包不了多少,我笑說,漢來美食,集團餐廳那麼多,實力雄厚,根本是「 奧運選手報名參加村裡運動會」嘛,其他都是小包子店啊, 但是沒辦法,顯然大家都覺得它好看又好吃, 目前限定漢來蔬食高雄巨蛋店,二顆88元,可以冷凍宅配, 但是要排一陣子,因為供不應求,聽說,四月份, 台北sogo店開始會賣。   第二名的包子,左營寬來順早餐店,顯然平易近人的多,一顆肉包, 十塊錢,是所有參賽者中最便宜的,當然,個頭也小, 它的包子皮明顯和其他不同,灰灰的老麵,薄但紮實有嚼勁, 肉餡新鮮帶汁,因為打了些水,味道極其簡單,就是蔥薑,塩, 香油,薑味尤其明顯,是老眷村的味道, 而特別的是老闆娘是台灣本省人, 當年完全是依據眷村老兵的口味一步一步調整而來,沒有加什麼糖、 五香粉,胡椒粉,油蔥酥。就是蔥薑豬肉和老麵香,能得名, 應該是它的平實無華,鮮美簡單,打動人心。   這是標準的心靈美食,可以撫慰人心,得名之前,寛來順已經天天排隊,現在,恐怕要排更久了, 建議大家六七點早點上門。   第三名,「專十一」很神奇,我記得比賽最後, 大家連吃了幾家不能引起共鳴的包子,有些累,到了專十一, 就坐著等包子,其他評審一吃,就催我趕快試,我一吃, 也醒了大半。   它的包子皮厚薄適中,但是高筋麵粉高些,老麵加一點點酵母, 我心中,它的皮屬一屬二,至於餡又多又好吃,蛋黃還是切丁拌入, 不是整顆放,吃起來「美味、均衡、飽滿」。一顆二十元。   老闆是陸軍專科十一期畢業取名專十一,...

韋伯連續劇終於更新 期待第一季順利完結

  地球天文學界的跳票大王詹姆斯·韋伯空間望遠鏡 (James Webb Space Telescope,縮寫為 JWST)自 1996 年以來斷斷續續不按劇本演出的連續劇終於讓焦慮的觀眾們又等到了一次更新:五層遮陽罩測試順利完成。 裝配完成的韋伯望遠鏡與好夥伴遮陽罩同框啦。Credit: NASA   嚴格的測試是任何空間任務順利成功的重中之重。遮陽罩,這個韋伯望遠鏡異常重要的親密夥伴,要是無法正常運轉的話,韋伯的這一季天文界連續劇說不準就要一直拖更了。   詹姆斯·韋伯空間望遠鏡是歷史上造出的最先進的空間望遠鏡。它不僅是一架紅外望遠鏡,還具有特別高的靈敏度。但想要達到辣么高的靈敏度來研究系外行星和遙遠的宇宙童年,韋伯童鞋必須非常"冷靜",體溫升高的話,靈敏度會大大折損。這個時候,遮陽罩就要大顯身手啦。   遮陽罩在韋伯的設計中至關重要。韋伯望遠鏡會被發射到拉格朗日 L2 點,運行軌道很高,遠離太陽、地球與月球。太陽是韋伯的主要熱量干擾的來源,其次是地球與月球。遮陽罩會有效阻斷來自這三大熱源的能量並保護韋伯維持在工作溫度正常運轉。這個工作溫度指的是零下 220 攝氏度(-370 華氏度;50 開爾文)。 上圖中我們可以看出,韋伯望遠鏡的配置大致可分為兩部分:紅色較熱的一面溫度為 85 攝氏度,藍色較冷的一面溫度達到零下 233 攝氏度。紅色的這部分中,儀器包括太陽能板、通信設備、計算機、以及轉向裝置。藍色部分的主要裝置包括鏡面、探測器、濾光片等。Credit: STSci.   遮陽罩的那一部分和望遠鏡的鏡面這部分可以產生非常極端的溫差。遮陽的這面溫度可以達到 110 攝氏度,足以煮熟雞蛋,而背陰處的部分溫度極低,足以凍結氧氣。   工程師們剛剛完成了五層遮陽罩的測試,按照韋伯在 L2 時的運行狀態安裝了遮陽罩。L2 距離地球約 160 萬公里。NASA 表示這些測試使用了航天器的自帶系統來展開遮陽罩,測試目前都已成功完成。韋伯望遠鏡遮陽罩負責人 James Cooper 介紹說這是遮陽罩"第一次在望遠鏡系統的电子設備的控制下展開。儘管這個任務非常艱巨,難度高,但測試順利完成,遮陽罩展開時的狀態非常驚艷"。   遮陽罩由五層 Kapton 製成。Kapton 是一種聚酰亞胺薄膜材料, 耐高溫絕...