Một nghiên cứu thất bại
Người tìm lổ hổng phần mềm chuyên nghiệp như tôi ít ai nói về các nghiên cứu thất bại. Tôi cũng chưa từng nói, mặc dù thất bại nhiều lắm, không phải vì xấu hổ, chỉ vì lười, kể một câu chuyện dài mà rốt cuộc chẳng có kết cục đẹp thì kể làm gì. Nhưng vừa rồi tôi mới làm một nghiên cứu, thất bại ê chề, tốn tiền tốn của mà chẳng thu được gì, nên tôi muốn gỡ vốn bằng cách viết lại, để mai mốt bạn nào có làm biết đường mà tránh. Không dông dài nữa, câu chuyện là thế này. Có người nhờ tôi coi đoạn chương trình Java này: https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/internal/tls/OkHostnameVerifier.java . Đoạn code này có nhiệm vụ rất quan trọng: kiểm tra tên miền của các certificate (chứng chỉ) SSL. Chứng chỉ SSL giống như passport, trên đó có tên miền của máy chủ, kèm theo chữ ký điện tử của một cơ quan có thẩm quyền, được gọi là Certificate Authority. Khi kết nối đến một máy chủ nào đó, để đảm bảo an toàn bạn phải kiểm tra xem tên miền trên chứng chỉ của má...