Oakland 2011

Tuần sau tôi sẽ trình bày ở hội thảo Oakland 2011 với paper "Cryptography in the Web: The Case of Cryptographic Design Flaws in ASP.NET":
This paper discusses how cryptography is misused in the security design of a large part of the Web. Our focus is on ASP.NET, the web application framework developed by Microsoft that powers 25% of all Internet web sites. We show that attackers can abuse multiple cryptographic design flaws to compromise ASP.NET web applications. We describe practical and highly efficient attacks that allow attackers to steal cryptographic secret keys and forge authentication tokens to access sensitive information. The attacks combine decryption oracles, unauthenticated encryptions, and the reuse of keys for different encryption purposes. Finally, we give some reasons why cryptography is often misused in web technologies, and recommend steps to avoid these mistakes.
Lần này thay đổi không khí, nộp paper cho một hội thảo hàn lâm, may mắn là không những họ không kỳ thị mà còn ủng hộ, giúp đỡ chỉnh sửa và làm cho paper tốt lên rất nhiều. Tôi đang chỉnh sửa lại vài chỗ trong paper trước khi gửi lên e-print. Bạn nào quan tâm thì có thể quay lại đây vài ngày tới, tôi sẽ gửi đường dẫn đầy đủ đến paper lên đây.

Paper này đánh dấu chặng đường hai năm của dự án nghiên cứu cách thức các kỹ thuật cryptography được sử dụng (sai) trong môi trường phát triển web. Đây là hướng nghiên cứu mà có lẽ tôi sẽ vẫn theo đuổi trong thời gian tới. Hai năm trước cá nhân tôi còn rất mù mờ về cryptography nói chung và sử dụng cryptography nói riêng. Những điều tôi biết chủ yếu gói gọn trong cuốn sách "Practical Cryptography" http://www.schneier.com/book-practical.html) của Niels Ferguson và Bruce Schneier. Thật tế là hầu hết các tấn công mà bọn tôi sử dụng trong các nghiên cứu vừa qua đều được đề cập đến trong cuốn PC. Dẫu vậy tôi rút ra được một bài học quan trọng trong quá trình làm nghiên cứu đó là luôn đặt câu hỏi tại sao, không bao giờ dễ dàng chấp nhận sự thật mà sách vở tài liệu liệt kê ra. Đằng sau mỗi câu hỏi rất có thể là một hướng nghiên cứu mới.

Ví dụ như sách có nói về length-extension attack trong các hàm hash theo mô hình Merkle-Damgard nhưng không nói cụ thể về cách thức triển khai tấn công. Bọn tôi tò mò, tìm hiểu cách triển khai tấn công này (cũng như tìm hiểu cấu trúc của MD5 và SHA1), và "tình cờ" phát hiện ra có thể sử dụng phương thức này để tấn công bộ API của Flickr. Hoặc như sách nói nếu xử lý padding không đúng, có thể khiến cho hệ thống bị tấn công theo phương thức "chosen-ciphertext attack" nhưng cũng không nói cụ thể thế nào, mà chỉ trích dẫn một paper khác.

Một nghiên cứu khác mà bọn tôi đang theo đuổi cũng là ở dạng người ta cho rằng là không thể làm được, nhưng rốt cuộc khi tìm hiểu sâu hơn thì  bọn tôi mới nhận ra rằng thật ra không những có thể triển khai tấn công mà còn rất nhanh và đơn giản.

Cryptography không phải là một giải pháp trọn vẹn cho vấn đề security, nhưng mà cryptography là một phần của tất cả các giải pháp cho các vấn đề security. Dẫu vậy, sử dụng cryptography đúng cách là không dễ và hiện giờ lập trình viên cũng không được hỗ trợ như đối với các vấn đề liên quan đến memory corruption. Số lỗ hổng cryptography là rất nhiều và hầu hết là nghiêm trọng. Thật tế nhắm mắt tìm trên Google các đoạn mã cryptography, thì cá nhân tôi thấy phần lớn trong số đó là không an toàn.

Theo quan sát của tôi thì hiện giờ trong cộng đồng security ở VN cũng như nước ngoài, có rất ít người tập trung vào đề tài đánh giá việc sử dụng cryptography đúng cách trong các phần mềm thương mại. Đây là một cơ hội cho bạn nào muốn làm nghiên cứu trong mảng đề tài an ninh ứng dụng. Ngoài an ninh ứng dụng ra, thì có thể kết hợp cryptography và hardware reverse engineering để nghiên cứu cách cryptography được sử dụng trong các thiết bị điện tử cá nhân như đầu đọc sách, đồ chơi, điện thoại hoặc các loại smartcard như thẻ thanh toán. Đây cũng là lĩnh vực còn ít người làm và còn nhiều cái để làm.

Comments

NQH said…
Chúc mừng Thái. Oakland là một hội nghị rất tốt.
KendoHoang said…
Anh Thái có bản mềm cuốn "Practical Cryptography" không cho em xin với ah.Em tìm mãi mà không có bản free :D.
Thai Duong said…
NQH: cảm ơn anh.

An: àh tôi không có. Bạn thử tìm cuốn Cryptography Engineering xem, nó là phiên bản mới hơn của cuốn PC đó.

-Thái.
ngô đức nam said…
viet nam dang hack trung quoc anh thai tham gia 1 tay
http://www.investhuadu.gov.cn/img/index.htm
ngô đức nam said…
anh thai ve giup 1 tay
trung quoc bat lai roi
ngô đức nam said…
sao ko noi gi vay
ngô đức nam said…
thoi...anh thai xoa tat comment di cho em cai coi nhu em chua noi gi
Kendo said…
Em cám ơn anh Thái:D .Em tìm đc sách rồi.
Mong anh sẽ có nhiều bài hay hơn nữa, đặc biệt là phần tiếp theo của "Mật mã hiện đại".