關於攜程信用卡門事件的信息彙總和分析

把前斷時間寫的幾篇漏洞分析的報告傳上來


關於攜程信用卡門事件的信息彙總和分析

一. 攜程漏洞事件爆出

  2014-03-22在烏雲漏洞平臺,爆出了攜程安全支付日誌可遍歷下載,導致用戶信息卡關鍵信息泄露

二. 透露出的產生漏洞的原因

攜程官方答覆爲是技術開發人員之前是爲了排查系統疑問,留下了臨時日誌,因疏忽未及時刪除,目前,這些信息已被全部刪除,經攜程排查,僅漏洞發現人做了測試下載,內容含有極少量加密卡號信息,共涉及93名存在潛在風險的攜程用戶。

根據漏洞作者本人、攜程官方說法根據及各方信息報道來看,攜程此次用戶信息泄露事件,產品調試過程中,保存了日誌並在Web.config 開了目錄遍歷,然後可以利用目錄遍歷攻擊漏洞,從而訪問到文件系統調試日誌信息。

也就是說這次事件中攜程是兩個事件的關聯發生導致的漏洞爆發:

1.線上調試接口導致敏感的信用卡信息明文存儲在日中文件中

2.是服務器存在目錄遍歷漏洞,導致所謂的調試信息日誌泄露

   這次漏洞比較受關注的原因是因爲用戶信用卡關鍵信息被泄露。

信用卡公司和金融機構採用PCI-DSS (Payment Card Industry-data storagesecurity)一種第三方支付的規範來保證信用卡人的信息防止被他人利用 及3D 驗證的方式保證信用卡支付使用安全(3D驗證一般是在支付時候會彈框要求輸入更加詳細隱私的信息,比如密保之類的),其中PCI是預防信息泄露,攜程的這個接口屬於站內支付,提供PCI驗證服務的公司通常會找出各類漏洞,還有在申請時要保證不能存儲敏感信息,必須使用SSL驗證等等,攜程肯定也是做了並且有能力做到PCI的規範,信息泄露的源頭是在日誌,而非數據庫,這說明攜程可能並未故意存儲CVV(Card Verification Value)信息,而是因爲調試導致日誌存儲,但在線上長時間打開調試功能,並且數據傳輸爲明文,導致系統日誌中亦爲明文,又未及時清理,所存儲的服務器還有安全漏洞,這就是一連串的錯誤,安全事件的發生往往就是一連串的失誤才造成的爆發。

 

三.漏洞導致的信用卡泄露造成的危害

首先介紹下信用卡支付的一些知識,CVV,即Card Verification Value,Mastercard

稱作Card Validation Code (CVC)。VISA CVV和MC CVC都是由卡號、有效期和服務約束代碼生成的3位或4位數字,一般寫在卡片磁條的2磁道用戶自定義數據區裏面。CVV和CVC的生成方法是一樣的,只是叫法不一樣而已。CVV2是打印在 Visa/MasterCard 卡區的一個數字.它位於信用卡號後的3位數字。我們通常在信用卡背面看到的後三位數字,其實是CVV2,並非CVV代碼。CVV2和CVC2也是同樣算法得出的卡片驗證值,只不過是在卡片生成的時候印製在簽名條上。CVV/CVC在聯機交易(刷卡)的時候覈對,CVV2/CVC2在非現場交易/手工交易(刷不到卡)時覈對。信用卡背後的三位驗證碼會被視爲密碼或簽名。在一些消費場景下,如利用相關信息註冊第三方支付帳號後,擁有這個驗證碼就可以等同用戶使用信用卡後簽字的過程,交易會被銀行認可。攜程也是通過信用卡購買機票需要提供的信息是:卡號、信用卡有效期、“後三位”驗證碼、持卡人身份證號即可

 

從其中泄露的信息包括用戶的:

持卡人姓名

持卡人身份證

所持銀行卡類別(比如,招商銀行信用卡、中國銀行信用卡)

所持銀行卡卡號

所持銀行卡CVV

所持銀行卡6位Bin(用於驗證支付信息的6位數字)

這就是傳說中的信用卡軌道料,也是信用卡僞造和盜刷的源頭

(1)CVV2碼的盜刷

信用卡的使用,一般就分爲“過卡交易”和“離線交易”兩種。
  “過卡交易”是指持卡人持信用卡在商場、超市等“實體店”的POS機“刷卡”,輸密碼簽字授權,完成交易。
    “
離線交易”是指在酒店、航空公司銷售中心、公司財務、網絡購物等,同樣通過POS系統,只需提供信用卡賬號及其cvv2驗證碼,就可以完成交易的方式。這種交易方式,通常只需要電話就可以達成。
     
現在所說的cvv2碼盜刷,都是指離線交易,尤其猖狂的就是:獲取您的信用卡號、有效期以及cvv2碼之後,進行海淘隨意刷,瞬間刷爆卡也是常事, 知道以上三條信息,盜刷的大門就爲不法分子打開了。
   
    

(2)信用卡的僞造:

ATM卡(信用卡)通常有一個磁條,包含要求其軌道運行的原始數據,信用卡磁條包含個人賬戶信息、卡的消費記錄等資料,磁條上有三條磁道,都存有信用卡的信息,通過竊取磁條軌道碼即可僞造信用卡盜刷


Usually only track1 and track2 are needed to exploit the ATM card. 

Example of Track1
B4888603170607238^Head/Potato^050510100000000001203191805191000000

基本數據格式:卡號^名/姓^YYMM(expiry date is YYMM)+3 digit servicecode+10 zero +remaining numbers from Track2(after the service code)+ six zero's(6)
As clearly shown above it is possible togenerate track1 from track2 using the method shown above. However track2 gensoftware automates the process.

 

Example of Track2(正常刷卡時,POS機會讀取這條磁道信息)
4888603170607238=05051011203191805191

FORMAT FOR TRACK2
CC NUMBER: YYMM (SERVICE CODE)(PVV)/(CVV)
Here is the Fleet's credit track2 dump:
4305500092327108=040110110000426

we see card number, an expiration date, 1011 -service code, 0000 is the place for pvn (but it is absent!), and at least 426is the cvv (do not mix with cvv2)

As clearly shown above it is possible togenerate track1 from track2 using the method shown above. However track2 gensoftware automates the process.
Now what is the nature of the algos you mightask? I will give you a sample.
518445**********=YYMM10100000000779
529107**********=YYMM10100000000CVV
These are track2 info. The RHS is the cardnumber. YYMM is the exp date
( year/month) and the CVV is the cardverification value. The first 6 digits of the card number is called the BIN .You only neeed to know if the BIN is casahble or vunerable to use .

 

四.建議

通過攜程關於該漏洞的公告,應該是很快處理了該事件,應該沒有造成很嚴重的信息泄露的後果,但是在使用信用卡的時候,還是提醒大家注意:

開卡後可以用貼紙把背面cvv2碼蓋住,不將卡片外借,不提供卡片信息給任何人,建議設置信用卡消費短信提醒,不光要保管好信用卡密碼,還要保管好包括信用卡號、卡背面後三碼等信用卡信息和辦卡時所預留的個人信息,這樣纔能有效的避免那些不必要的損失。

 

 

 

 

 

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章