banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Kiểm tra checksum, thay đổi checksum  XML
  [Question]   Kiểm tra checksum, thay đổi checksum 14/04/2009 13:30:33 (+0700) | #1 | 177102
zu4er
Member

[Minus]    0    [Plus]
Joined: 06/01/2009 12:58:26
Messages: 85
Offline
[Profile] [PM]
Hi,

Mình thấy 1 số website cho dowload file, họ thường làm gì đó ( có thể là encrypt ) file đó ra 1 chuỗi md5 32bit, sau đó client download về cũng là bước tương tự bước trên để làm ra chuỗi md5, rồi nó so sánh chuỗi md5 trên trang web và cái file down về có trùng khớp hay ko để kiểm tra tính toàn vẹn của file.

search thông tin thấy rằng việc này dùng để ngăn chặn attacker có thể capture file đó, sửa đổi ( vd thêm mã độc ) vào file đó rồi truyền tiếp cho client, nếu ko dùng cơ chế so sánh này để kiểm tra xem file đã bị thay đổi chưa, client ko biết sẽ cài luôn mã độc.

cái đoạn màu đậm, có thể xảy ra không? vì khi nếu client đang download file, nếu có ai đứng giữa thì chỉ sniff được file đó thôi chứ làm sao thay đổi nội dung file đó đi và truyền tiếp đc ? nghe nói có dạng mitm gì đấy, có phương pháp làm điều này hay không? mình cũng đang muốn làm lab thử vụ này.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 14/04/2009 22:18:32 (+0700) | #2 | 177117
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Bác thử đặt cho em một con PC có 2 card mạng trên dây internet nhà bác smilie.

Máy bác vào nét là qua con PC đó nó điều khiển smilie. Nó quản lý mọi gói tin ra vào.

Lấy ra 1 gói tin vào Eth1- từ nét về, sửa nó rồi bắn nó ra eth0 trả về máy đằng sau!

Ví dụ bác yêu cầu down file X. Giả sử em có file Y. bác request file X, em cũng làm một cái dữ liệu test là down file Y, capture toàn bộ khi send file Y. Sau đó khi bác đòi down file X em cứ thế em tống các gói tin khi em down Y (Sửa header, ip,...). Man in the middle attack smilie. MD5 là hash function để đảm bảo tính integrity của message.

Bác làm đi, làm xong cho em xin cái cấu hình + code smilie. Em chưa làm bao giờ smilie.

Hoặc đơn giản cái link down về nó ko là link tử tế, hoặc file trên server nó bị thay bởi thằng khác. Hoặc MD5 bị thay trên web của server.
[Up] [Print Copy]
  [Question]   Kiểm tra checksum, thay đổi checksum 14/04/2009 22:29:54 (+0700) | #3 | 177121
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

zu4er wrote:
Hi,

Mình thấy 1 số website cho dowload file, họ thường làm gì đó ( có thể là encrypt ) file đó ra 1 chuỗi md5 32bit, sau đó client download về cũng là bước tương tự bước trên để làm ra chuỗi md5, rồi nó so sánh chuỗi md5 trên trang web và cái file down về có trùng khớp hay ko để kiểm tra tính toàn vẹn của file.

search thông tin thấy rằng việc này dùng để ngăn chặn attacker có thể capture file đó, sửa đổi ( vd thêm mã độc ) vào file đó rồi truyền tiếp cho client, nếu ko dùng cơ chế so sánh này để kiểm tra xem file đã bị thay đổi chưa, client ko biết sẽ cài luôn mã độc.

cái đoạn màu đậm, có thể xảy ra không? vì khi nếu client đang download file, nếu có ai đứng giữa thì chỉ sniff được file đó thôi chứ làm sao thay đổi nội dung file đó đi và truyền tiếp đc ? nghe nói có dạng mitm gì đấy, có phương pháp làm điều này hay không? mình cũng đang muốn làm lab thử vụ này.  


Trước tiên nên xét mitm có thể xảy ra ở những hoàn cảnh nào. Xét xong, tự nhiên sự thể rõ ràng hơn.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Kiểm tra checksum, thay đổi checksum 15/04/2009 02:52:30 (+0700) | #4 | 177147
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]

zu4er wrote:
Hi,

Mình thấy 1 số website cho dowload file, họ thường làm gì đó ( có thể là encrypt ) file đó ra 1 chuỗi md5 32bit, sau đó client download về cũng là bước tương tự bước trên để làm ra chuỗi md5, rồi nó so sánh chuỗi md5 trên trang web và cái file down về có trùng khớp hay ko để kiểm tra tính toàn vẹn của file.

search thông tin thấy rằng việc này dùng để ngăn chặn attacker có thể capture file đó, sửa đổi ( vd thêm mã độc ) vào file đó rồi truyền tiếp cho client, nếu ko dùng cơ chế so sánh này để kiểm tra xem file đã bị thay đổi chưa, client ko biết sẽ cài luôn mã độc.

cái đoạn màu đậm, có thể xảy ra không? vì khi nếu client đang download file, nếu có ai đứng giữa thì chỉ sniff được file đó thôi chứ làm sao thay đổi nội dung file đó đi và truyền tiếp đc ? nghe nói có dạng mitm gì đấy, có phương pháp làm điều này hay không? mình cũng đang muốn làm lab thử vụ này.  

Cái hash chỉ là một dạng error detection code thôi, chứ nó không thể dùng để ngăn chặn attacker đâu bạn ạ, đặc biệt là MitM.
Mind your thought.
[Up] [Print Copy]
  [Question]   Kiểm tra checksum, thay đổi checksum 15/04/2009 04:53:27 (+0700) | #5 | 177165
zu4er
Member

[Minus]    0    [Plus]
Joined: 06/01/2009 12:58:26
Messages: 85
Offline
[Profile] [PM]

conmale wrote:

Trước tiên nên xét mitm có thể xảy ra ở những hoàn cảnh nào. Xét xong, tự nhiên sự thể rõ ràng hơn. 


em chưa hoàn toàn hiểu ý của anh, em nghĩ là trong hoàn cảnh là ở môi trường broadcast hoặc thông qua một trung gian nào đó có thể là đã bị spoof.


StarGhost wrote:
Cái hash chỉ là một dạng error detection code thôi, chứ nó không thể dùng để ngăn chặn attacker đâu bạn ạ, đặc biệt là MitM.  


à cái này mình chỉ nói là nhận biết được có sự thay đổi file trước và sau khi nhận file xong, chứ đâu có ngăn chặn gì đc
[Up] [Print Copy]
  [Question]   Kiểm tra checksum, thay đổi checksum 15/04/2009 06:22:24 (+0700) | #6 | 177175
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

zu4er wrote:

conmale wrote:

Trước tiên nên xét mitm có thể xảy ra ở những hoàn cảnh nào. Xét xong, tự nhiên sự thể rõ ràng hơn. 


em chưa hoàn toàn hiểu ý của anh, em nghĩ là trong hoàn cảnh là ở môi trường broadcast hoặc thông qua một trung gian nào đó có thể là đã bị spoof.

 


Môi trường "broadcast" là môi trường nào? Một máy chủ bên Mỹ, một máy con ở VN: cái gì có thể đóng vai mitm trong hoàn cảnh này?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Kiểm tra checksum, thay đổi checksum 15/04/2009 07:00:55 (+0700) | #7 | 177182
zu4er
Member

[Minus]    0    [Plus]
Joined: 06/01/2009 12:58:26
Messages: 85
Offline
[Profile] [PM]

Môi trường "broadcast" là môi trường nào?


broadcast ý em là trong cùng 1 switch, hub, wireless area,..

Một máy chủ bên Mỹ, một máy con ở VN: cái gì có thể đóng vai mitm trong hoàn cảnh này?

Mỹ---------------------VN:

trong đoạn ---- thì có khá nhiều trung gian để foward packet đi, thì tại mỗi điểm forward đó em nghĩ đều có thể xảy ra MITM.

1 File có thể chia ra làm nhiều packet để gửi tới đích, nếu attacker caputre và sửa đổi 1 trong các packet đó ko đụng tới header và các field khác để khi đến đích nó ráp lại với các packet đã bị fragmented trước đó thành file ban đầu thì có thể truyền file đc.

vậy các forwarder này đóng vai trò là MITM trong hoàn cảnh này ? Vậy các forwarder này phải giữ packet này lại mổ ra và sửa nó trước khi đẩy nó đi.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 07:32:27 (+0700) | #8 | 177184
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]
An ninh thông tin có 3 mục tiêu quan trọng để đảm bảo: Confidentiality, Integrity, Availability.
Trong đó checksum là một biện pháp đóng góp vào mục tiêu Integrity, còn gọi là tính toàn vẹn của thông tin. Tức là nó giúp phía nhận kiểm tra liệu dữ liệu khi nhận được có giống như ban đầu của bên gửi không.
Hibernating
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 08:04:26 (+0700) | #9 | 177191
choc_
Member

[Minus]    0    [Plus]
Joined: 27/01/2009 06:46:01
Messages: 122
Offline
[Profile] [PM]

Z0rr0 wrote:

An ninh thông tin có 3 mục tiêu quan trọng để đảm bảo: Confidentiality, Integrity, Availability.
Trong đó checksum là một biện pháp đóng góp vào mục tiêu Integrity, còn gọi là tính toàn vẹn của thông tin. Tức là nó giúp phía nhận kiểm tra liệu dữ liệu khi nhận được có giống như ban đầu của bên gửi không.
 


chắc không bạn Z0rr0? mình chưa thấy ai sử dụng checksum như là một cách để bảo vệ Integrity cả.

việc xây dựng một cái secure communication channel, để truyền nhận dữ liệu an toàn bất chấp sự có mặt của một active attacker nhưng vẫn đảm bảo được các tiêu chí CIA không phải là một việc đơn giản, mà checksum chắc chắn không phải là một phần của giải pháp.

@zu4er: như StartGhost nói, mấy cái hash hay crc chỉ dùng để phát hiện lỗi thôi. nếu mà attacker muốn, thì họ có thể vừa thay đổi cái file mà bạn download về, vừa tính lại checksum, thì cũng chẳng ai biết. việc này là làm được hoàn toàn, chẳng có gì là ghê ghớm cả.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 08:19:16 (+0700) | #10 | 177198
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Còn một chữ A nữa là Authentication smilie. Checksum chỉ để kiểm soát lỗi đường truyền (thường thế), còn quan trọng là cái data được truyền đi cơ. Nếu gói tin nhận được bị lỗi đường truyền tầng vật lý thì nó sẽ gửi lại yêu cầu gửi lại packets đó. Còn nội dung bên trong? Ai đã gửi???

Chống Man in the middle attack thì cần có
- Đảm bảo thông tin ko bị thay đổi
- xác thực được thằng gửi. Chứ thằng nào gửi cũng được thì ko nói smilie.

Trong bảo mật cần có Message Integrity Code, thường là digital signature với hệ mã bất đối xứng và MAC với hệ mã đối xứng. Ví dụ thằng A gửi đi message M thì cần có xác thực M||IDA+ E(PR,M) khi đó thằng nhận chỉ cần dùng PU của A đã biết để kiểm tra tính toàn vẹn.

Gửi tin có xác thực + mã hóa thì là E(PU người nhận, M, ID người gửi, E(PR người gửi, ID người gửi, M)). M= Message

Khi đó sẽ đảm bảo không thằng nào giải mã được trừ người nhận. Giải mã xong dùng PU của người gửi để kiểm tra lại đảm bảo là thằng gửi đã gửi tin M, ko có ai sửa gì!

Hash MD5 không là MAC, cũng ko là Digital Signature nhưng nó có tác dụng khi hash MD5 được cung cấp bởi nơi tin cậy. Coi như là nó đã được xác thực!

Giả sử hash MD5 là cố định 128 bits chẳng hạn. Attacker cần tìm một thằng khác Y thế cho X có hash(X)=hash(Y). Thường thử 2 mũ 128 lần là xong smilie. Nếu có giải thuật thông minh hơn thì có thể rút ngắn thời gian xuống smilie. Vét cạn kiểu này khéo được smilie.

1. Tìm Y mà hash(Y)= hash(X)
2. Thay thằng MD5 trên web bởi hash(Y). Bác thực hiện Man in the middle attack trả về cái MD5 sai cho client là xong (Ví dụ thực hiện connect tới website để down về file kia mà ko có xác thực hay bảo mật qua SSL với certificate chẳng hạn thì MITM được chứ nhỉ)



[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 10:20:05 (+0700) | #11 | 177203
zu4er
Member

[Minus]    0    [Plus]
Joined: 06/01/2009 12:58:26
Messages: 85
Offline
[Profile] [PM]

choc_ wrote:

@zu4er: như StartGhost nói, mấy cái hash hay crc chỉ dùng để phát hiện lỗi thôi. nếu mà attacker muốn, thì họ có thể vừa thay đổi cái file mà bạn download về, vừa tính lại checksum, thì cũng chẳng ai biết. việc này là làm được hoàn toàn, chẳng có gì là ghê ghớm cả. 


việc này thì mình chưa biết, choc_ có thể chia sẽ phương pháp, cơ chê tính lại check sum sau khi thay đổi không?

hồi giờ mình vẫn tin dùng vụ hash này để kiểm tra tính toàn vẹn file
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 10:22:33 (+0700) | #12 | 177204
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]
@MrNothing: Authentication không phải là mục tiêu trong security bạn ạ, nó là một công cụ để đảm bảo một mục tiêu nào đó, trong trường hợp này là integrity và confidentiality. Còn nữa, w.r.t cryptography thì MAC và digital signature là 2 khái niệm hoàn toàn khác nhau bạn ạ, nên tỉnh táo trong vấn đề này.

@Z0rr0: đúng là Confidentiality, Integrity và Availability là 3 mục tiêu quan trọng. Ngoài ra trong nhiều trường hợp thì Privacy và Non-Repudiation cũng rất quan trọng.

@choc_: Z0rr0 nói rằng hash/checksum đóng góp vào mục tiêu Integrity, chứ không nói rằng bản thân nó là một biện pháp đi tới mục tiêu là Integrity. Mình cho rằng nhận định này đúng.
Mind your thought.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 11:10:34 (+0700) | #13 | 177209
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Em quên mất cái này:
http://en.wikipedia.org/wiki/Message_authentication_code

MACs differ from digital signatures, as MAC values are both generated and verified using the same secret key.

A digital signature or digital signature scheme is a type of asymmetric cryptography. For messages sent through an insecure channel, a properly implemented digital signature gives the receiver reason to believe the message was sent by the claimed sender.
 


Thank bác StarGhost.
MAC dùng cho 2 cái cùng Key còn Digital Signature dùng cho mã hóa bất đối xứng.


ý bác Zu4er là dòng packets đang chạy và tính lại checksum?

Cái hash MD5 có vai trò đảm bảo tính toàn vẹn dữ liệu. Nhưng trước hết bác phải đảm bảo là cái bác đang nhìn thấy là thật.
Giả sử file bạn muốn down về là X có hash(X) Nhưng mà ví dụ bạn đang truy cập vào một fake website (MITM). Attacker chỉ cần làm sao cái hiển thị trên website bạn thấy là Y và Hash(Y).
Xác xuất chọn Y sao cho hash(Y)=hash(X) thì tùy vào độ dài của hash(X). Thời gian tính toán có thể là hàm mũ.
Tuy nhiên em có thể list ra một danh sách các Y1,..., Ym. Sắp xếp nó theo thứ tự tăng dần của hàm hash(Yi).

Vô tình một ngày đẹp trời hash(Yi) nào đó chính bằng hash(X). Đem nó ra dùng trong man in the middle attack là ok.

[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 11:58:45 (+0700) | #14 | 177216
zu4er
Member

[Minus]    0    [Plus]
Joined: 06/01/2009 12:58:26
Messages: 85
Offline
[Profile] [PM]

MrNothing wrote:


ý bác Zu4er là dòng packets đang chạy và tính lại checksum?

Cái hash MD5 có vai trò đảm bảo tính toàn vẹn dữ liệu. Nhưng trước hết bác phải đảm bảo là cái bác đang nhìn thấy là thật.
Giả sử file bạn muốn down về là X có hash(X) Nhưng mà ví dụ bạn đang truy cập vào một fake website (MITM). Attacker chỉ cần làm sao cái hiển thị trên website bạn thấy là Y và Hash(Y).
Xác xuất chọn Y sao cho hash(Y)=hash(X) thì tùy vào độ dài của hash(X). Thời gian tính toán có thể là hàm mũ.
Tuy nhiên em có thể list ra một danh sách các Y1,..., Ym. Sắp xếp nó theo thứ tự tăng dần của hàm hash(Yi).

Vô tình một ngày đẹp trời hash(Yi) nào đó chính bằng hash(X). Đem nó ra dùng trong man in the middle attack là ok.

 


ủa mình nói là phương pháp MITM mà, đang bàn về phương pháp, giữ packet và sửa packet trước khi truyền đi tiếp tới đích mà,

Cái của Bạn nói là truy cập vào 1 fake sài rồi, đầu có MITM gì trong đây nữa ?

còn vụ bạn nói để 1 file X có hash(X) = hash(y) thì điều này có đó nhưng với xác xuất 2^32 hay là 2^128, liệu có thể tạo ra 1 file trong thời gian ngắn vậy đc?
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 12:11:41 (+0700) | #15 | 177217
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]

zu4er wrote:

Cái của Bạn nói là truy cập vào 1 fake sài rồi, đầu có MITM gì trong đây nữa ? 
Nếu attacker đứng ở giữa và tạo một faked website thì chính xác là MitM chứ là gì nữa hả bạn? Và cái này thì cũng là "giữ packet, sửa packet, rồi chuyển đi" như bạn nói vậy.
Mind your thought.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 13:15:19 (+0700) | #16 | 177225
zu4er
Member

[Minus]    0    [Plus]
Joined: 06/01/2009 12:58:26
Messages: 85
Offline
[Profile] [PM]

không biết mình có hiểu nhầm hay ko nhưng theo mình, nếu bạn fake 1 website rồi khi client truy cập vào site chính sẽ wwwect qua fake site hoặc làm cách nào đó cho client vào fake site, thì client chỉ làm việc giữa client và website fake chứ đâu còn là ở giữa server và client thật nữa?

Kiểu MITM này cũng có nhiều hoàn cảnh nhỉ?
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 17:02:55 (+0700) | #17 | 177234
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
nếu mà attacker muốn, thì họ có thể vừa thay đổi cái file mà bạn download về, vừa tính lại checksum, thì cũng chẳng ai biết. việc này là làm được hoàn toàn, chẳng có gì là ghê ghớm cả. 

Cho mình hỏi bạn choc_ ở đoạn này. Ý bạn choc_ là có thể "làm lại" cái file để nó có lại cái checksum như cũ sau khi sửa chữa? Ví dụ là mình cần 1 file từ 1 nguồn tin cậy. Tuy nhiên mình không download được file mà chỉ có md5 của file đó. Bạn mình lại có file đó, nó gởi cho mình. Vậy nó có thể thay đổi file đó và tạo lại một checksum md5 y chang như file của nguồn tin cậy? Nếu ý bạn chọc là như vậy thì có thể cho giới thiệu cho mình tên cái tool đó được không. Vì mình chỉ thấy regenerate file để có được checksum CRC32 chứ MD5 thì mình chưa thấy.
My website: http://rongchaua.net
[Up] [Print Copy]
  [Question]   Kiểm tra checksum, thay đổi checksum 15/04/2009 18:00:31 (+0700) | #18 | 177237
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

zu4er wrote:

Môi trường "broadcast" là môi trường nào?


broadcast ý em là trong cùng 1 switch, hub, wireless area,..

Một máy chủ bên Mỹ, một máy con ở VN: cái gì có thể đóng vai mitm trong hoàn cảnh này?

Mỹ---------------------VN:

trong đoạn ---- thì có khá nhiều trung gian để foward packet đi, thì tại mỗi điểm forward đó em nghĩ đều có thể xảy ra MITM.

1 File có thể chia ra làm nhiều packet để gửi tới đích, nếu attacker caputre và sửa đổi 1 trong các packet đó ko đụng tới header và các field khác để khi đến đích nó ráp lại với các packet đã bị fragmented trước đó thành file ban đầu thì có thể truyền file đc.

vậy các forwarder này đóng vai trò là MITM trong hoàn cảnh này ? Vậy các forwarder này phải giữ packet này lại mổ ra và sửa nó trước khi đẩy nó đi.
 


Bàn thêm đi smilie .

Trong đoạn ------- như thế, thì với điều kiện nào mà attacker có thể capture packets được server gởi cho client (để mà thực hiện chuyện "sửa đổi")?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 20:43:22 (+0700) | #19 | 177241
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Bài toán bác rongchaua đặt ra là có hashmd5(X) tìm Y sao cho hashmd5(Y)=X với điều kiện trong tay không có thằng nào vô tình trùng với hashmd5(X). Em nghĩ là khó có tool nào vì tính 1 chiều (one way hash function) của hàm MD5. là 128 bít. Tuy nhiên với các máy tính chạy cực trâu thì 2 mũ 128 có là gì không nhỉ? Giả sử nó còn tính toán song song hoặc với hàng triệu máy thì sao nhỉ?=2 mũ 20

MD5 nó biết rồi, vậy chỉ cần thời gian là tính xong. Nhưng em không tính được thời gian đó bằng bao nhiêu.
Gia su la Chip 4G chẳng hạn.

Coi như là 2^30 phép tính /s.

2^128/2^30*2^20= 2^78/ chia 1 năm =2^25s= 2 mũ 55 năm smilie. Lâu quá smilie.

Vô tình có nó bằng hash(X) nào đó hoặc có một bác nào phát minh ra giải thuật tìm Y thì sao?

Ví dụ em thử một hàm for x=1 to 2^32 if tìm thấy Y hash(Y)= X then MITM else thôi ko MITM nữa.

Còn CRC32 thì chỉ có 32 bít, 2 mũ 32 thì brute force mấy hồi.
2^32/2^30=4, chỉ cần vài s.

Attacker MITM send file kia, kèm theo nó là có con virus nào đó sửa luôn cái hàm sinh md5 của client. Client check kiểu gì file Y nó cũng báo hash(X) thì sao?

Đơn giản nhất với truyền qua cable RJ45 8 dây là cắt xừ đoạn dây ra khỏi máy tính client và đấu 2 đầu dây vào 1 con máy tính có 2 card mạng.

Còn việc bác vào fake website thì cũng là man in the middle attack nếu như attacker nó cho thằng website đằng sau đi ngủ. Lấy gì đảm bảo bác đang vào website thật? Cái gì đảm bảo cho bác đang đọc một cái MD5 thật?

[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 20:50:24 (+0700) | #20 | 177243
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]

zu4er wrote:

không biết mình có hiểu nhầm hay ko nhưng theo mình, nếu bạn fake 1 website rồi khi client truy cập vào site chính sẽ wwwect qua fake site hoặc làm cách nào đó cho client vào fake site, thì client chỉ làm việc giữa client và website fake chứ đâu còn là ở giữa server và client thật nữa?

Kiểu MITM này cũng có nhiều hoàn cảnh nhỉ? 


Trước đó nó cũng man in the middle attack để change nội dung file html trả về rồi bác.

zu4er wrote:

còn vụ bạn nói để 1 file X có hash(X) = hash(y) thì điều này có đó nhưng với xác xuất 2^32 hay là 2^128, liệu có thể tạo ra 1 file trong thời gian ngắn vậy đc?
 


Em có một tập các Y trong cơ sở dữ liệu kèm với hash(Y) đã sắp xếp tiện cho việc tìm kiếm. Giả sử em có 1 triệu.

Dù cho xác suất tìm thấy Y trong cơ sở dữ liệu của em hash(Y)=hash(X) là gần bằng 0 nhưng dù sao nó vẫn lớn hơn 0.
Nghĩa là ko phải lúc nào em cũng MITM được nhưng thỉnh thoảng thì cũng được!

Vài năm nữa thì chắc là 2 mũ 128 chả là gì. Với lại hash MD5 chắc gì đã là hàm hoàn hảo ko có cách nào tấn công?
http://vietnamplus.vn/congnghe/san-pham-moi/200902049572651125

Sequoia được thiết kế có tốc độ xử lý 20 triệu tỷ phép tính/1 giây (cỡ 2 mũ 54), nhanh hơn 20 lần so với tốc độ của chiếc máy tính nhanh nhất thế giới hiện nay và nhanh gấp 2 triệu lần một chiếc máy tính xách tay thông thường.
 

em đọc trên wiki


Weaknesses in MD4 were demonstrated by Den Boer and Bosselaers in a paper published in 1991. The first collision attack was found by Hans Dobbertin in 1996. In August 2004, Wang et al. found a very efficient collision attack, alongside attacks on later hash function designs in the MD4/MD5/SHA/RIPEMD family. This result was improved later by Sasaki et al., and generating a collision is now as cheap as verifying it (a few microseconds)

 


Một ngày nào đó sẽ có tool cho cái này. Bằng các phép thử+ một giải thuật thông minh nào đó!


[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 15/04/2009 22:53:43 (+0700) | #21 | 177268
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]
@choc_: có lẽ mình ghi hơi ngắn gọn, nhưng bạn nên xem kĩ lại những đoạn mình viết, đặc biệt là đoạn cuối smilie
@MrNoThing: Mình nghĩ bạn hơi phức tạp hóa MD5 rồi đấy, và hash MD5 chỉ 128bits length thôi.
Hibernating
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 02:41:07 (+0700) | #22 | 177308
choc_
Member

[Minus]    0    [Plus]
Joined: 27/01/2009 06:46:01
Messages: 122
Offline
[Profile] [PM]

rongchaua wrote:

Cho mình hỏi bạn choc_ ở đoạn này. Ý bạn choc_ là có thể "làm lại" cái file để nó có lại cái checksum như cũ sau khi sửa chữa? Ví dụ là mình cần 1 file từ 1 nguồn tin cậy. Tuy nhiên mình không download được file mà chỉ có md5 của file đó. Bạn mình lại có file đó, nó gởi cho mình. Vậy nó có thể thay đổi file đó và tạo lại một checksum md5 y chang như file của nguồn tin cậy? Nếu ý bạn chọc là như vậy thì có thể cho giới thiệu cho mình tên cái tool đó được không. Vì mình chỉ thấy regenerate file để có được checksum CRC32 chứ MD5 thì mình chưa thấy.
 


Nếu đã có sự xuất hiện của một active man-in-the-middle rồi thì chẳng có nguồn nào là đáng tin cậy (nếu không có cơ chế kiểm tra chữ ký hay MAC này nọ). Cái ý tưởng attack ở đây là mình đã thay đổi luôn cái md5sum rồi, nên md5sum mà bạn thấy thực ra không phải md5sum ban đầu.

Cái dạng tấn công mà các bạn đang nói, là dạng second preimage attack, kiểu như cho X tìm Y (Y <> X), sao cho H(Y) = H(X). Cho đến nay, MD5 vẫn an toàn với loại tấn công này.

Tuy nhiên có một dạng tấn công khác đã được triển khai rất thành công trên MD5 là chosen-prefix collision. Đây là dạng tấn công được dùng để tạo ra các rogue ca hồi tháng 11 năm ngoái. Dạng này có thể hiểu nôm na là attacker được quyền chọn 2 cái prefix bất kỳ, rồi họ sẽ có thể chỉnh sửa/padding up chúng để kết quả có 2 certificate (hay 2 binary hay 2 file zip) khác nhau nhưng có cùng md5sum.

Xem thêm các nghiên cứu sau đây để hiểu về dạng tấn công kể trên:

http://www.win.tue.nl/hashclash/rogue-ca/
http://cryptography.hyperlink.cz/2004/collisions.htm
http://www.doxpara.com/md5_someday.pdf

Cập nhật: sửa một lỗi typo liên quan đến đoạn nói về second preimage attack.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 05:27:52 (+0700) | #23 | 177339
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
Nếu đã có sự xuất hiện của một active man-in-the-middle rồi thì chẳng có nguồn nào là đáng tin cậy (nếu không có cơ chế kiểm tra chữ ký hay MAC này nọ). Cái ý tưởng attack ở đây là mình đã thay đổi luôn cái md5sum rồi, nên md5sum mà bạn thấy thực ra không phải md5sum ban đầu.  


Không hiểu là ý bạn choc_ đang nói đến integrity của message hay reliability của message? Bởi vì bạn có nói với Z0rr0 là "mình chưa thấy ai sử dụng checksum như là một cách để bảo vệ Integrity cả." nên mình không hiểu lắm. Integrity là chỉ tính toàn vẹn của dữ liệu. Tức là nó dùng để kiểm tra dữ liệu có thay đổi trên đường truyền hay không? Như bạn choc_ cũng đã nói là khi thay đổi dữ liệu thì md5sum thay đổi thì sau khi dữ liệu đến máy của mình thì mình so lại sẽ thấy md5sum thay đổi thì mình biết dữ liệu đã bị thay đổi trên đường truyền. Tức là mình là dùm checksum để kiểm tra tính Integrity. Vậy nếu không dùng checksum để kiểm tra tính Integrity thì mình cũng không biết có cách nào khác để kiểm tra nữa.

Cảm ơn choc_ các link về tấn công md5.
My website: http://rongchaua.net
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 09:53:05 (+0700) | #24 | 177386
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Khi nói đến integrity(Message Integrity Code) thì em thấy người ta hay nói đến MAC và Digital Signature. MAC trong đó có khóa K, cả nơi gửi và nơi giải mã dùng khóa này để check. Digital Signature dùng với khóa bất đối xứng, khóa gửi và khóa giải khác nhau. hashmd5 cũng coi là MIC được. Quan trọng nó được gửi qua đường nào thôi ạ smilie.

MAC và Digital Signature
Integrity là phải đảm bảo xác thực được cả người gửi.
Và nó hay dùng cho cái message đang gửi đi và ko ai biết message integrity code(MIC) của nó.
Tin nhắn gửi đi gồm cả M và MIC


Nếu chỉ đơn thuần là M+ hash(M) thì không biết là ai gửi! Ở đây cái hash(M) đã có sẵn trên web. Và coi nó là đúng. Thì ta cũng có thể tạm coi nó để kiểm tra tính toàn vẹn. Ở đây MIC=hash(M) đã biết và M truyền sau.

hashmd5 cũng coi là MIC được bác choc_ nhỉ? Chẳng qua là người ta truyền MIC đi bằng cách khác thôi (truyền trước thông qua website). Dễ nhất là MITM thay nội dung cái website này rồi muốn gì cũng được smilie.

Nếu không dùng checksum bằng hashmd5 thì còn có cách khác:

1.M+DigitalSignature(M, PR of serder). Check bằng PU.
2.M+ MAC(sk,M): sk là khóa phiên đã được trao đổi giữa 2 party theo giao thức nào đó!

Ở trên vào trang web fedora hay gì gì đó người dùng cũng chả check PU theo giao thức ssl, cũng chả có quá trình xác thực website và trao đổi khóa phiên. Chỉ tin mỗi gõ www.fedora.com là tin rằng nó là trang fedora xịn. Thì đành tin vào cái checksum hash md5.

Gọi checksum hay nhầm lẫn với việc check xem có lỗi vật lý của đường truyền không và yêu cầu gửi lại cái bị lỗi như kiểu CRC quá.

CÒn bác zu4ever bảo lúc nó down file kia về từ website xịn với MD5 xịn thì việc MITM là khó rồi!

Cảm ơn bác choc_ vì các cái link trên.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 12:48:59 (+0700) | #25 | 177404
choc_
Member

[Minus]    0    [Plus]
Joined: 27/01/2009 06:46:01
Messages: 122
Offline
[Profile] [PM]

rongchaua wrote:

Không hiểu là ý bạn choc_ đang nói đến integrity của message hay reliability của message? Bởi vì bạn có nói với Z0rr0 là "mình chưa thấy ai sử dụng checksum như là một cách để bảo vệ Integrity cả." nên mình không hiểu lắm. Integrity là chỉ tính toàn vẹn của dữ liệu. Tức là nó dùng để kiểm tra dữ liệu có thay đổi trên đường truyền hay không? Như bạn choc_ cũng đã nói là khi thay đổi dữ liệu thì md5sum thay đổi thì sau khi dữ liệu đến máy của mình thì mình so lại sẽ thấy md5sum thay đổi thì mình biết dữ liệu đã bị thay đổi trên đường truyền. Tức là mình là dùm checksum để kiểm tra tính Integrity. Vậy nếu không dùng checksum để kiểm tra tính Integrity thì mình cũng không biết có cách nào khác để kiểm tra nữa.
 


Câu hỏi là thế này: làm sao bạn có thể chắc chắn là cái md5sum ban đầu mà bạn nhận được không phải là md5sum đã bị attacker thay đổi rồi?

Nếu bạn đã có một kênh truyền dữ liệu (ở đây là truyền cái md5sum ban đầu) an toàn, thì cứ sử dụng kênh truyền ấy để truyền file. Nhưng mà vấn đề là kênh truyền của bạn không an toàn, bởi có một thằng active attacker nó đang lắng nghe trên đó và sẵn sàng sửa dữ liệu theo nhu cầu của nó.

Ví dụ như bạn vào website www.hvaonline.net, trên đó hiện lên link đến một file X, và một câu thông báo file X này có checksum là A. Nếu có một thằng active attacker ở giữa bạn và máy chủ HVA, thì ngay tại thời điểm đó, nó có thể vẫn để link đến X, nhưng đã đổi cái checksum thành một cái A' nào đó. Khi bạn click vào X, nó sẽ đưa cho bạn X', mà checksum của X' là A'.

Nên mình nói là checksum không thể nào là biện pháp để đảm bảo tính Integrity của dữ liệu được cả. Nó có thể là một phần (rất nhỏ) của giải pháp mà thôi. Nếu bạn muốn tìm hiểu giải pháp thì xem thử MAC và digital signature. Rộng hơn là tìm hiểu giải pháp xây dựng một cái secure communication channel, mà mình đã nói từ đầu rồi đó.

@MrNothing: sorry nhưng bài của bạn trình bày rối quá, mình không đọc, nên không thể thảo luận với bạn được.

Cập nhật: mình muốn nói thêm một chút về Integrity (mình dịch là toàn vẹn) trong khung cảnh an toàn thông tin. Mình thấy nhiều bạn có vẻ như hiểu chưa đúng cái khái niệm này. Đảm bảo integrity của dữ liệu không phải là đảm bảo việc dữ liệu không bị thay đổi. Hiểu như thế là hiểu chưa đúng.


Đảm bảo được integrity của dữ liệu là đảm bảo dữ liệu không bị thay đổi bởi những người không có quyền. Nói cách khác, cho phép một số người có quyền thay đổi dữ liệu, và ngăn chặn những người không có quyền thực hiện việc đó.


Đây cũng là tác dụng chính của cryptography: cho một số người làm được một số việc, và ngăn chặn tất cả những người còn lại làm những việc đó. Trong cuốn Practical Cryptography, các tác giả so sánh nó giống như cái ổ khóa, ai có chìa khóa thì vào, không có thì ở ngoài. Rất khác với bức tường, khi người ta dựng bức tường lên, thì người ta mong muốn là tất cả mọi người đều phải ở ngoài bức tường đó (trừ khi người đó có cái vòng đi xuyên tường của ĐôReMon).

Trở lại với checksum, nếu chỉ có checksum, thì ai cũng có quyền đổi dữ liệu và tạo ra checksum cho dữ liệu mới. Ai cũng làm được việc này và không ai có thể có cách nào phát hiện ra được dữ liệu đã bị thay đổi bởi những người không có quyền.

Với MAC, nó cho phép một số người (giữ key) có quyền thay đổi dữ liệu, và ngăn cản những người không có quyền (không có key) làm việc đó. Nó cũng cung cấp cơ chế để bên nhận dữ liệu có thể phát hiện khi dữ liệu bị thay đổi bởi những người không có quyền.

Đó là sự khác biệt cơ bản giữa checksum và MAC. Đó cũng là lý do mà mình nói là checksum không bao giờ được dùng để đảm bảo Integrity.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 13:20:51 (+0700) | #26 | 177407
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
To choc_: Xin lỗi nếu mình chậm tiêu, nhưng mình hiểu là đơn nghĩa của từ Integrity là tính toàn vẹn. Tức là các checksum đảm bảo là là dữ liệu không bị thay đổi (chủ quan lẫn khách quan) trên đường truyền. Do đó các checksum (dưới mọi hình thức) đều đảm bảo tính Integrity. Tức là dữ liệu nhận được chính là dữ liệu ở phần gởi.
Trong ví dụ choc_ đưa ra dù mình có down file X' vớ checksum là A' thì cái A' đó nó chỉ nói đến cái integrity của cái X'. Tức là nếu mình down file về là checksum của nó là A' thì chắc chắn là file X'. Còn việc nó đã bị fake thì mình nghĩ nó đâu có liên quan gì tới Integrity.
Còn nếu như theo choc_ giải thích thì Integrity nó phải đảm bảo được cả phần gởi phải chính xác. Tức là bao gồm cả việc xác thực nguồn tin. Như vậy liệu là nó có vượt quá sự định nghĩa của từ Integrity hay không?
My website: http://rongchaua.net
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 13:27:43 (+0700) | #27 | 177411
choc_
Member

[Minus]    0    [Plus]
Joined: 27/01/2009 06:46:01
Messages: 122
Offline
[Profile] [PM]
@rongchaua: có lẽ bạn chưa đọc phần sau khi mình cập nhật. Integrity có thể được hiểu theo nhiều cách khác nhau (và cách mà bạn hiểu cũng là một cách), nhưng mà định nghĩa của Integrity trong bối cảnh Information Security là như phần tô đậm mình đã viết ở bài trên. Bạn có thể tìm thêm các tài liệu khác nói về các khái niệm CIA để kiểm chứng.

Mình có thêm một ví dụ để bạn hiểu: thường mà nghĩ đến việc truyền dữ liệu, thì mọi người sẽ nghĩ ngay đến truyền qua không gian, ví dụ truyền từ server đến client và ngược lại. Ngoài dạng đó ra, thì còn có một dạng truyền dữ liệu đó là truyền theo thời gian. Ví dụ như bạn lưu một file trên đĩa cứng, chính là bạn truyền cái file đó theo thời gian cho chính bạn. Giờ làm thế nào để bạn biết rằng file của bạn không bị người khác thay đổi?

Nếu bạn tính checksum, rồi lưu lại xuống ổ cứng (chính là cái communication channel, trong ví dụ này), thì việc này là vô ích, bởi attacker vẫn có thể sửa file, rồi tính lại checksum, lưu checksum đó xuống ổ cứng. Lần tới bạn mở file ra xem, thấy checksum vẫn đúng, nhưng dữ liệu đã bị thay đổi.
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 13:59:33 (+0700) | #28 | 177414
[Avatar]
H3x4
Member

[Minus]    0    [Plus]
Joined: 02/04/2009 00:03:16
Messages: 242
Offline
[Profile] [PM]

rongchaua wrote:
đơn nghĩa của từ Integrity là tính toàn vẹn. Tức là các checksum đảm bảo là là dữ liệu không bị thay đổi (chủ quan lẫn khách quan) trên đường truyền.  

Cho em bon chen 1 chút :
Trích : Information security : principles and practices , trang 2 mục 1.2.1 :
Information has integrity if unauthorized writing is prohibited. 

Ở đây tác giả có lấy một ví dụ là : Ngân hàng A phải bảo đám tính toàn vẹn cho thông tin của khách hàng B bằng cách không cho phép kẻ tấn công C có thể sửa đổi dữ liệu ( tăng hay giảm số tiền của B trong tài khoản của B ) .
[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 13:59:37 (+0700) | #29 | 177415
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
@choc_ : ok, mình viết hơi khó hiểu. Đang tập viết mà smilie
Bạn Rongchaua có cái hiểu nhầm rồi.
Nếu bạn quan tâm đến secure communication giữa 2 parties mà trước đó có thiết lập session key hoặc dùng PU, PR thì Integrity còn phải đảm bảo cả người gửi là người được xác thực nữa cơ.

Nếu bạn ngó qua một giao thức Secure Protocol giữa 2 thằng nào đó. Thì MIC(message Authentication code thường là MAC hoặc Digital Signature)

Tớ gửi E(PU, M||hash(M)) đến cho người có PR thì cũng chả khác gì người khác gửi tớ gửi E(PU, M'||hash(M')) nếu như trong cái cipher text không có thông tin người gửi. hash(M) ở đây chỉ tránh được kiểu attacker bắt gói E(PU,M||hash(M)) sửa vài bít trong cái cipher text này. Khi đó người nhận sẽ decryption để check M và hash(M). Nhưng không chống được Attacker bắt E(PU,M||hash(M)) và thay bằng E(PU, M'||hash(M')).

Hàm Hash không có chứa thông tin về người gửi. Nó chỉ là hash của message. Có vai trò như checksum, crc để tránh lỗi đường truyền vật lý.
===

Ví dụ:
Alice đến gặp mặt Bob đưa cho Bob: Đây là md5 của cái file tớ sắp gửi cho cậu. (cái Md5 ở đây được kí bằng sự gặp mặt đưa md5 rồi) có thể coi nó là digital signature được ko nhỉ?

Sau đó Alice gửi cho Bob một file. Bob check lại nếu đúng md5 như đã đưa thì có thể tin được file đã gửi không bị sửa.

Nếu như tin nhắn gửi đi lấy hash làm MIC nhé. Ví dụ
Alice và Bob chia sẻ khóa K.

Sau đó Alice và Bob gửi tin nhắn cho nhau dạng là C=E(K,M+hash(M)) thì dễ dẫn đến việc attacker tìm ra K mà không cần biết plaintext M.

Chỉ cần dò K sao cho D(K,C) có dạng M|hash(M) là coi như K có vẻ đúng.

Vô tình tạo cho attacker có cơ chế verify K mà không cần tấn công dạng known plaintext attack.

==========
Giả sử server S muốn gửi tin nhắn cho tất cả mọi người. Nó gửi dạng E(PR, M||hash(M)). Ai cũng có PU của server, vậy chỉ check M với hash(M) nữa và có thể tin được là server gửi. Vậy hash(M) ở đây có được coi là dùng để check integrity không. Được nhưng ở đây nó đã trở thành Digital Signature vì bên ngoài nó còn bị mã hóa bởi PR của server.
Nếu như trang web kia được xác thực bởi certificate với PU của server cả về nội dung thì chính cái hash md5 đã được xác thực bởi PR rồi đó.
==========


(Nếu tớ viết vẫn khó hiểu tiếp thì sẽ chỉnh dần smilie)

[Up] [Print Copy]
  [Question]   Re: Kiểm tra checksum, thay đổi checksum 16/04/2009 14:22:45 (+0700) | #30 | 177419
[Avatar]
rongchaua
Elite Member

[Minus]    0    [Plus]
Joined: 19/01/2003 04:09:23
Messages: 124
Offline
[Profile] [PM]
To choc_: Mình thì hiểu theo khái niệm bên truyền thông tin viễn thông và mình nghĩ khái niệm Integrity nó có từ rất lâu từ khi bắt đầu truyền dẫn. Lúc đó khái niệm Integrity chỉ đơn thuần là bảo đảm tính trọn vẹn (đúng đắn) của dữ liệu. Tức là gói tin đi tới bị lỗi truyền dẫn, yêu cầu gởi lại. Thế là xong. Có lẽ là khái niệm đó bây giờ bao gồm cả xác thực nguồn tin.
My website: http://rongchaua.net
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|