Tìm hiểu CAPTCHA và nhận diện CAPTCHA sử dụng deep learning để chỉ ra các lỗ hỏng trong CAPTCHA

29 14 0
Tìm hiểu CAPTCHA và nhận diện CAPTCHA sử dụng deep learning để chỉ ra các lỗ hỏng trong CAPTCHA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP THỰC PHẨM TP.HỒ CHÍ MINH BÁO CÁO ĐỒ ÁN HỌC PHẦN Đề tài: Tìm hiểu Captcha nhận diện Captcha, sử dụng Deep Learning để lỗ hổng tron Captcha GVHD: Nguyễn Trọng Nghĩa Thành viên nhóm Nguyễn Phạm Hồi Thanh - 2033181067 Đặng Hoàng Nhu - 2033180162 Nộ i d u ng Chương 1: Tổng quan Captcha Chương 2: Tổng quan Deep Learing Chương 3: Tổng quan toán Chương 4: Kết toán Chương 5: Những lỗ hổng Captcha Demo thực nghiệm Chương I: Tổng quan Captcha Captcha gì? Đặc điểm? Ứng dụng Nguyên tắc hoạt động Captcha gì? - CAPTCHA hình ảnh bao gồm chữ méo mó, dị dạng - Hệ thống CAPTCHA đặt thử thách mà người giải - Phải khiến máy tính khơng thể giải xác - Do dùng để phân biệt người máy tính Đặc điểm Captcha - Hệ thống CAPTCHA yều cầu thử thách phải tạo tự động phải có đặc điểm định - Hệ thống CAPTCHA phải đặt thử thách mà thơng thường người hiểu giải - Phải khiến máy tính khơng thể giải xác Ứng dụng Captcha - Chống spam - Xác nhận tài khoản người dùng đăng ký - Chặn công Từ chối dịch vụ DDOS DOS - Đảm bảo an tồn thơng tin liệu Chương II: Tổng quan Deep Learing Deep Learing gì? Ứng dụng Deep Learning CNN gì? Deep Learning gì? - Deep Learning (hay cịn gọi Deep Structured Learning) nhánh Machine Learning, mở rộng dựa mạng nhân tạo với phương pháp Representation Learning Quá trình xử lý Deep Learning giám sát, bán giám sát khơng có giám sát - Được áp dụng cho lĩnh vực bao gồm thị giác máy tính, nhận dạng giọng nói, xử lý ngơn ngữ tự nhiên, dịch máy, tin sinh học, thiết kế thuốc, y tế phân tích hình ảnh, kiểm tra vật liệu chương trình trị chơi dạng Board – game Ứng dụng Deep Learning - Nhận dạng giọng nói Xử lý ngôn ngữ Khám phá dược phẩm độc chất Quản lý khách hang Tin sinh học Phân tích hình ảnh y tế Quảng cáo Phát gian lận tài Bố trí thực nghiệm - Từ liệu đầu vào gồm 10000 ảnh Captcha ký tự có độ phân giải 72x24 pixels - Ta lấy 60% thư viện ảnh để train, khoảng 40% lại test độ xác thực nghiệm ta tiến hành Bộ công cụ sử dụng - - - Python: ngơn ngữ lập trình thú vị với thư viện tuyệt vời cho máy học thị giác máy tính OpenCV: khn khổ phổ biến để xử lý hình ảnh thị giác máy tính Keras: khung học sâu viết Python Nó giúp dễ dàng xác định, đào tạo sử dụng mạng neural sâu với mã hóa tối thiểu Numpy: thư viện lõi phục vụ cho khoa học máy tính Python, hỗ trợ cho việc tính tốn mảng nhiều chiều, có kích thước lớn với hàm tối ưu áp dụng lên mảng nhiều chiều Imutils: loạt chức tiện lợi để thực chức xử lý hình ảnh Scikit-learn (Sklearn): thư viện mạnh mẽ dành cho thuật toán học máy viết ngôn ngữ Python Xây dựng mô hình – Khởi tạo - Input: Ảnh Captcha có ký tự có kích thước 72x24 pixels Được xử lý ban đầu cho ký tự cắt vào chương trình Input_shape (20,20,1) - Tạo Dataset: Để đào tạo hệ thống học máy nào, cần liệu đào tạo Để phá vỡ hệ thống CAPTCHA, muốn liệu đào tạo giống sau: Xây dựng mơ hình – Dữ liệu đầu vào Xây dựng mơ hình – Đơn giản hoa vấn đề Xây dựng mơ hìnhHồn chỉnh - Ban đầu ký tự xử lý input 20x20 pixel qua Conv2D với filter size 5x5 thu 20 feature map với feature map có thơng số ma trận 20x20 - Tiếp theo xử lý qua MaxPooling2D với pooling size: 2x2 để giảm neural xuống nửa với thông số output: 10x10x20 - Tiếp tục xử lý qua lớp Conv2D với filter size 5x5 thu 50 feature map với feature map có thơng số ma trận 10x10 - Tiếp theo xử lý qua MaxPooling2D với pooling size: 2x2 để giảm neural xuống nửa với thơng số output: 5x5x50 - Sau xử lý lớp ẩn gồm Flatten dense: + Đầu tiên qua Flatten để lát phẳng layer thu 1250 nodes + Tiếp theo qua Dense với (activation=”relu”) để giảm chi phí tính tốn xuống cịn 500 nodes - Cuối với output layer ta thu 32 nodes xử lý dense với (activation=”softmax”) sau chương trình lấy kết dự đốn có xác suất cao từ 32 node tương ứng với node chữ số Chương IV: Kết thực nghiệm Mục tiêu cần phải thu được: - Số lần duyệt qua hết số lượng mẫu tập huấn luyện - Thống kê tỷ lệ sai sót cho lần thực nghiệm - Một số dự đoán captcha chương trình: Sai, trường hợp khác Số lần duyệt qua hết số lượng mẫu tập huấn luyện - Epoch: Một Epoch tính đưa tất liệu vào mạng neural network lần Khi liệu lớn, đưa hết lần tất tập liệu vào để huấn luyện Buộc lòng phải chia nhỏ tập liệu thành batch (size nhỏ hơn) - Thông số độ xác cho Epoch Thống kê tỷ lệ sai sót cho lần thực nghiệm Nguyên nhân sai số - Một số ảnh bị lỗi - Một số bị bỏ qua - Tuy nhiên đa phần trường hợp sai số đa phần ký tự dính liền lỗi ký tự load ảnh vào chương trình Hình ảnh số Captcha chương trình dự đốn Hình ảnh số Captcha chương trình dự đoán sai Một số ảnh bị lỗi font load cho kết Chương V: Những lỗ hổng Captcha Thông qua thực nghiệm cho thấy rằng: - Không phải giải pháp CAPTCHA xử lý đủ tốt để ngăn chặn phần mềm nhận dạng ký tự quang học - Captcha bị qua mặt dễ dàng - Tin tặc có nhiều cách khác để khai thác lỗ hổng Captcha - Cho thấy lạc hậu Captcha thực cần biện pháp thay DEMO THANK YOU FOR LISTENING ! ... gì? Ứng dụng Deep Learning CNN gì? Deep Learning gì? - Deep Learning (hay gọi Deep Structured Learning) nhánh Machine Learning, mở rộng dựa mạng nhân tạo với phương pháp Representation Learning. .. cụ sử dụng Xây dựng mơ hình CNN Mục tiêu tốn - Mục tiêu tốn sử dụng Deep Learning với mơ hình CNN để nhận dạng Captcha dạng ký tự Cho thấy tỷ lệ xác suất thành công công cụ Từ chứng minh lỗ hổng... giải pháp CAPTCHA xử lý đủ tốt để ngăn chặn phần mềm nhận dạng ký tự quang học - Captcha bị qua mặt dễ dàng - Tin tặc có nhiều cách khác để khai thác lỗ hổng Captcha - Cho thấy lạc hậu Captcha

Ngày đăng: 24/12/2021, 21:53