Luận văn thạc sĩ về phân loại và nhận dạng tự động các ký tự trên ảnh CAPTCHA

Luận văn thạc sĩ HUS nghiên cứu phương pháp phân loại và nhận dạng tự động các ký tự trên ảnh captcha, ứng dụng trong bảo mật thông tin.

Tác giả

Nguyễn Duy Anh

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2019

61
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: GIỚI THIỆU VỀ CAPTCHA

1.1. Định nghĩa captcha

1.2. Lịch sử và ứng dụng

1.3. Quá trình sinh captcha

1.4. Các phương pháp nhận dạng captcha tự động

1.4.1. Nhận dạng cứng

1.4.2. Nhận dạng mềm

2. CHƯƠNG 2: NHẬN DẠNG TỰ ĐỘNG CAPTCHA SỬ DỤNG CNN

2.1. Phép toán hình thái

2.1.1. Phép toán giãn nở

2.1.2. Phép toán co

2.2. Nguyên tắc chung của lọc ảnh

2.2.1. Phép lọc Gauss

2.2.2. Phép lọc trung vị ảnh xám

2.3. Lý thuyết tích chập và mạng tích chập (CNN)

2.3.1. Mạng tích chập (CNN)

2.3.2. Nhận dạng captcha sử dụng CNN

2.3.2.1. Phương pháp tách và nhận dạng từng ký tự
2.3.2.2. Phương pháp nhận dạng toàn bộ ký tự

3. CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM

3.1. Bộ dữ liệu sử dụng

3.2. Mô hình sử dụng và các tham số

3.2.1. Tham số mô hình

3.3. Kết quả thực nghiệm

3.3.1. Ngôn ngữ lập trình, thư viện

3.3.2. Kết quả đạt được với các mẫu dữ liệu

3.3.3. Mô tả quá trình thực nghiệm

3.3.4. So sánh kết quả thực nghiệm

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu tổng quan về phân loại và nhận dạng ký tự CAPTCHA

Trong thời đại công nghệ số, CAPTCHA đã trở thành một phần không thể thiếu trong việc bảo mật thông tin trên internet. CAPTCHA, viết tắt của Completely Automated Public Turing test to tell Computers and Humans Apart, là một phương pháp kiểm tra nhằm phân biệt giữa người và máy tính. Bài viết này sẽ đi sâu vào việc phân loại và nhận dạng ký tự tự động trên ảnh CAPTCHA, một lĩnh vực đang thu hút sự quan tâm lớn từ các nhà nghiên cứu và phát triển công nghệ.

1.1. Định nghĩa và lịch sử phát triển của CAPTCHA

CAPTCHA là một loại kiểm tra được thiết kế để xác định xem người dùng có phải là con người hay không. Lịch sử của CAPTCHA bắt đầu từ những năm 1990, khi các nhà nghiên cứu tìm cách ngăn chặn các chương trình tự động thực hiện các hành động trên internet. Các loại CAPTCHA đã phát triển đa dạng, từ hình ảnh đến âm thanh, nhằm tăng cường tính bảo mật.

1.2. Ứng dụng thực tiễn của CAPTCHA trong bảo mật

CAPTCHA được sử dụng rộng rãi trong nhiều lĩnh vực như ngăn chặn spam, bảo vệ thông tin cá nhân và đảm bảo tính chính xác trong các cuộc thăm dò trực tuyến. Việc sử dụng CAPTCHA giúp giảm thiểu rủi ro từ các cuộc tấn công tự động, bảo vệ các hệ thống thông tin quan trọng.

II. Thách thức trong việc nhận dạng ký tự trên ảnh CAPTCHA

Mặc dù CAPTCHA đã được thiết kế để ngăn chặn các chương trình tự động, nhưng vẫn tồn tại nhiều thách thức trong việc nhận dạng ký tự. Các phương pháp tấn công ngày càng tinh vi, khiến cho việc nhận dạng trở nên khó khăn hơn. Bài viết sẽ phân tích các vấn đề chính trong việc nhận dạng ký tự tự động trên ảnh CAPTCHA.

2.1. Các phương pháp tấn công CAPTCHA hiện nay

Các phương pháp tấn công CAPTCHA bao gồm tấn công cứng và tấn công mềm. Tấn công cứng tập trung vào việc khai thác các điểm yếu trong quá trình sinh CAPTCHA, trong khi tấn công mềm sử dụng các mô hình học máy để tự động nhận dạng ký tự mà không cần quan tâm đến quy trình sinh CAPTCHA.

2.2. Những khó khăn trong việc nhận dạng ký tự quang học OCR

Nhận dạng ký tự quang học (OCR) gặp nhiều khó khăn khi xử lý các ký tự bị làm nhiễu trong CAPTCHA. Các yếu tố như độ méo, màu sắc và nhiễu nền có thể làm giảm độ chính xác của các thuật toán nhận dạng, dẫn đến việc không thể nhận diện chính xác các ký tự.

III. Phương pháp nhận dạng ký tự tự động trên ảnh CAPTCHA

Để giải quyết các thách thức trong việc nhận dạng ký tự trên ảnh CAPTCHA, nhiều phương pháp đã được phát triển. Trong đó, các mô hình học máy, đặc biệt là mạng nơ-ron tích chập (CNN), đã cho thấy hiệu quả cao trong việc nhận dạng ký tự tự động.

3.1. Ứng dụng của mạng nơ ron tích chập CNN trong nhận dạng CAPTCHA

Mạng nơ-ron tích chập (CNN) là một trong những công nghệ tiên tiến nhất trong lĩnh vực nhận dạng hình ảnh. CNN có khả năng tự động học và trích xuất đặc trưng từ dữ liệu hình ảnh, giúp cải thiện độ chính xác trong việc nhận dạng ký tự trên ảnh CAPTCHA.

3.2. Các bước tiền xử lý ảnh trước khi nhận dạng

Tiền xử lý ảnh là một bước quan trọng trong quy trình nhận dạng ký tự. Các kỹ thuật như lọc ảnh, làm sạch nhiễu và tách ký tự giúp cải thiện chất lượng ảnh đầu vào, từ đó nâng cao hiệu quả của mô hình nhận dạng.

IV. Kết quả thực nghiệm trong nhận dạng ký tự CAPTCHA

Các nghiên cứu thực nghiệm đã chỉ ra rằng việc áp dụng các mô hình học máy, đặc biệt là CNN, có thể đạt được kết quả cao trong việc nhận dạng ký tự trên ảnh CAPTCHA. Bài viết sẽ trình bày các kết quả thực nghiệm và so sánh hiệu quả của các phương pháp khác nhau.

4.1. Bộ dữ liệu và mô hình sử dụng trong thực nghiệm

Bộ dữ liệu được sử dụng trong các thí nghiệm bao gồm nhiều mẫu CAPTCHA khác nhau, từ đơn giản đến phức tạp. Các mô hình học máy được áp dụng để đánh giá hiệu quả nhận dạng ký tự trên các bộ dữ liệu này.

4.2. So sánh kết quả giữa các phương pháp nhận dạng

Kết quả thực nghiệm cho thấy rằng mô hình CNN vượt trội hơn so với các phương pháp truyền thống trong việc nhận dạng ký tự trên ảnh CAPTCHA. Độ chính xác và tốc độ nhận dạng của CNN đã được chứng minh qua các thử nghiệm thực tế.

V. Kết luận và tương lai của nhận dạng ký tự CAPTCHA

Nhận dạng ký tự tự động trên ảnh CAPTCHA là một lĩnh vực đang phát triển mạnh mẽ. Với sự tiến bộ của công nghệ học máy, đặc biệt là trong lĩnh vực thị giác máy tính, tương lai của nhận dạng ký tự CAPTCHA hứa hẹn sẽ có nhiều cải tiến đáng kể.

5.1. Xu hướng phát triển công nghệ nhận dạng CAPTCHA

Các nghiên cứu hiện tại đang tập trung vào việc cải thiện độ chính xác và tốc độ của các mô hình nhận dạng. Sự phát triển của AI và machine learning trong CAPTCHA sẽ mở ra nhiều cơ hội mới cho việc bảo mật thông tin.

5.2. Thách thức và cơ hội trong tương lai

Mặc dù có nhiều tiến bộ, nhưng vẫn còn nhiều thách thức trong việc phát triển các hệ thống CAPTCHA an toàn và hiệu quả. Việc nghiên cứu và phát triển các phương pháp mới sẽ là cần thiết để đối phó với các mối đe dọa từ các chương trình tự động.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

18/07/2025
Luận văn thạc sĩ hus phân loại và nhận dạng tự động các ký tự trên ảnh captcha

Trích đoạn nội dung tài liệu

Chương 1 Giới thiệu về captcha Trong thời đại công nghệ hiện nay đa số người dùng sử dụng máy tính đều quen với việc sử dụng captcha. Captcha có thể được gặp ở bất cứ đâu trên môi trường internet với mục đích chính là phân biệt máy tính với con người để chống lại các hình thức spam. Captcha có nhiều loại: âm thanh, đánh tích, sắp xếp hình ảnh và hình ảnh ký tự bị làm nhiễu. Chương này sẽ tập trung giới thiệu một số vấn đề về captcha dạng hình ảnh ký tự bị làm nhiễu.1 Định nghĩa captcha Định nghĩa 1.

Một captcha [5] là một loại kiểm thử dạng hỏi đáp được dùng trong máy tính để xác định xem người dùng có phải là con người hay không. "captcha" là chữ viết tắt của "Completely Automated Public Turing test to tell Computers and Humans Apart" (Phép thử Turing công cộng hoàn toàn tự động để phân biệt máy tính với người). Đây là một quá trình một máy tính (máy chủ) yêu cầu một người dùng hoàn tất một kiểm tra đơn giản mà máy tính có thể dễ dàng tạo ra và đánh giá, nhưng không thể tự giải nó được. Vì máy tính khó có thể giải quyết captcha, bất kỳ người dùng nào nhập vào lời giải đúng sẽ được xem là con người.

Một hệ thống captcha là một dạng kiểm thử được tạo ra tự động thỏa mãn các điều kiện sau: 1 Các máy tính hiện nay không thể giải được một cách chính xác 2 Đa số con người có thể giải được 3 Người tấn công có thể biết trước các kiểu captcha 1 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn thạc sĩ Phân loại và nhận dạng tự động các ký tự trong ảnh captcha Hình 1.1: Một số mẫu captcha Hình 1.1 (a) mô tả một mẫu captcha được chương trình EZ-Gimpy tạo ra [13], đã được Yahoo sử dụng vào những năm 2000. Tuy nhiên, đã có những công nghệ nhận dạng tự động được loại captcha này.1 (b) làm cho nội dung khó nhận ra hơn bằng cách thêm vào đường gạch ngang và bố trí ký tự không thẳng hàng.2 Lịch sử và ứng dụng 1.1 Lịch sử Từ những năm 1950, khi Alan Turing giới thiệu về phép kiểm thử dạng hỏi đáp của mình thì vấn đề phân biệt giữa người và máy càng được quan tâm. Cụ thể vào năm 1997, nhằm ngăn chặn những chương trình máy tính có thể tự động thêm đường dẫn vào hệ thống tìm kiếm, Andrei Broder và đồng nghiệp tại viện AltaVista đã sáng tạo ra hệ thống captcha có thể coi là đầu tiên. Với mục đích chống lại hệ thống nhận dạng ký tự quang học (OCR).

Vào năm 2000 Von Ahn và Blum đã phát triển nhiều mẫu captcha được sử dụng rộng rãi và công khai khái niệm captcha để định danh những chương trình có thể phân biệt được máy tính và con người.2 Ứng dụng Nhìn chung captcha thường được ứng dụng trong lĩnh vực bảo mật an ninh an toàn thông tin, với những ứng dụng chính bao gồm: a. Ngăn chặn Spam comment trong Blog: Một số trang web muốn nâng cao thứ hạng tìm kiếm bằng cách sử dụng các chương trình tự động đưa ra nhiều bình luận giả , vô nghĩa trong blog. Thông qua captcha chỉ có người thật mới có thể nhập bình luận đảm bảo chất lượng nội dung cho blog. Bảo vệ đăng ký Email, Website: Hiện nay có không ít công ty cung cấp dịch vụ tạo email miễn phí, đi kèm với đó là sự xuất hiện của những chương trình tự động đăng ký email tràn lan.

Đặc biệt các website ngày nay đa số đều cho phép đăng ký tài khoản miễn phí thông qua email. Sự liên kết giữa email và website này là đối tượng rất dễ bị spam nên luôn cần được bảo vệ bởi captcha nhằm chống lại sự lạm dụng các chương trình tự động. Nguyễn Duy Anh 2 Cơ sở toán cho tin học LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn thạc sĩ Phân loại và nhận dạng tự động các ký tự trong ảnh captcha c. Bảo vệ các cuộc thăm dò trực tuyến: Vào tháng 11 năm 1999, một trang web đã tổ chức cuộc thăm dò trực tuyến bình chọn trường đại học có ngành khoa học máy tính tốt nhất.

Và rất nhanh chóng nó trở thành cuộc đua bỏ phiếu bằng các chương trình tự động giữa hai đại học lớn là CMU và MIT [5]. Từ đó tính chính xác của các cuộc thăm dò trực tuyến đã bị đặt những dấu hỏi lớn. Để giải quyết vấn đề này captcha chính là câu trả lời với ứng dụng phân biệt giữa máy tính với con người sẽ giúp đảm bảo sự chính xác của các kết quả thăm dò trực tuyến không còn bị làm sai lệch bởi các công cụ đánh giá tự động nữa.3 Quá trình sinh captcha Captcha được hình thành bởi 2 thành phần chính là nội dung captcha và nhiễu captcha. Tùy vào yêu cầu về độ phức tạp của captcha mà 2 thành phần này được xây dựng theo nhiều phương pháp khác nhau nhưng vẫn xoay quanh một định hướng nhất định.

Tạo nội dung captcha Nội dung captcha thường được tạo bởi các ký tự chữ, số cả dạng viết hoa và viết thường sử dụng ngẫu nhiên tùy theo mỗi loại. Các loại captcha phổ biến thường bao gồm cả chữ và số để đảm bảo độ khó nhất định. Tuy nhiên trong thời điểm hiện tại vẫn còn không ít trang web sử dụng các loại captcha toàn chữ hoặc toàn số, những captcha có nội dung đơn giản như vậy rất dễ bị tấn công và nhận dạng tự động. Do đó nội dung là một trong số các yếu tố quan trọng để đánh giá độ an toàn của captcha.

Tạo nhiễu captcha Một thành phần không thể thiếu để tạo nên độ khó của captcha là nhiễu captcha. Hiện nay cách tạo nhiễu của captcha rất phong phú và đa dạng như : a Làm méo, bẻ cong ký tự theo nhiều hình dạng b Phủ các thành phần làm nhiễu lên captcha như chấm hạt, các đoạn gạch ngang, các mảng màu khác biệt v. phủ lên ký tự c Đổi màu ngẫu nhiên các thành phần nhiễu và cả ký tự trên captcha d Biến đổi độ đậm nhạt ngẫu nhiên các thành phần nhiễu và cả ký tự trên captcha e Phối hợp ngẫu nhiên một hoặc nhiều các phương pháp trên Nguyễn Duy Anh 3 Cơ sở toán cho tin học LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn thạc sĩ Phân loại và nhận dạng tự động các ký tự trong ảnh captcha Hình 1.2 giới thiệu một số mẫu captcha phổ biến hiện nay được tạo nhiễu bởi phương pháp phối hợp nhiều kiểu nhiễu (e). Các kiểu nhiễu của captcha được tùy biến rất phong phú và đa dạng nhưng không phối hợp quá nhiều kỹ thuật làm nhiễu vì sẽ gây khó khăn cả cho con người khi nhận dạng.2: Một số mẫu captcha được tạo nhiễu bởi phương pháp phối hợp ngẫu nhiên một hoặc nhiều loại nhiễu khác nhau Trong mỗi công cụ sinh captcha nhất định sau khi sinh captcha luôn tạo kèm một bộ giải captcha tự dộng.

Bộ giải này luôn đi kèm với bộ sinh captcha khi dùng trong các hệ thống thực tế và cũng trở thành mục tiêu tấn công chính của các hacker hiện nay.4 Các phương pháp nhận dạng captcha tự động Ngày nay captcha được sử dụng rất phổ biến như một thành phần quan trọng trong quy trình bảo mật an ninh an toàn thông tin. Song hành với điều này các nỗ lưc trong việc tự động hóa các cuộc tấn công nhằm vào các website như: quảng cáo quy mô lớn, can thiệp vào các hệ thống bình chọn trực tuyến, tấn công từ chối dịch vụ các website; Tạo ra các liên kết giả để nâng hạng của website trong các máy tìm kiếm; Truy cập thông tin bí mật hoặc lây lan mã độc v. Từ đó nhu cầu đánh giá và kiểm định và nâng cấp độ an toàn của mỗi loại captcha trước khi đưa vào sử dụng trong thực tế là rất cần thiết. Phương pháp cụ thể và phổ biến nhất là nghiên cứu và tìm ra cách tấn công giả định vào các mẫu captcha, hay chính là thực hiện nhận dạng captcha tự động bằng máy không phải con người để phủ định mục đích chính mà captcha được tạo ra.

Nhận dạng tự động captcha được chia thành 2 kỹ thuật chính là nhận dạng cứng và nhận dạng mềm. Nhận dạng cứng Nhận dạng cứng là một phương pháp nhận dạng tự động mang tính kỹ thuật Nguyễn Duy Anh 4 Cơ sở toán cho tin học LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn thạc sĩ Phân loại và nhận dạng tự động các ký tự trong ảnh captcha cao. Phương pháp này tập trung vào các điểm yếu trong quá trình sinh và kiểm tra thông qua bộ giải captcha. Các phương pháp này sử dụng nhiều cách khác nhau để vượt qua bước kiểm tra captcha, trong đó có hai hướng phổ biến nhất là tấn công vào máy khách và tấn công vào máy chủ [2].

Một số dạng tấn công máy khách: - Tấn công vào các trường ẩn và vùng lưu trữ trên máy khách: bằng nhiều thủ thuật khác nhau, người tấn công có thể khai thác được bộ giải captcha nằm trong các trường ẩn và vùng lưu trữ của máy khách do đặc điểm kém an toàn của nó. - Tấn công lựa chọn giá trị chuỗi CAPTCHA: trong trường hợp bộ sinh captcha đặt ở máy khách và bộ giải captcha ở máy chủ thì người tấn công vẫn có thể lấy được một số thông tin chuỗi captcha nhất định trong bộ giải đặt ở máy chủ và sử dụng nó để tấn công captcha. Một số dạng tấn công máy chủ: - Tấn công bằng bảng Rainbow cho CAPTCHA: dựa vào việc có thể tải về một lượng lớn captcha mã định danh tĩnh của website. Những captcha này có thể được nhận dạng sẵn vào 1 bảng Rainbow và sẽ có lời giải tự động ngay khi một captcha có sự trùng lặp.

- Tấn công CAPTCHA tích lũy: khai thác điểm yếu các lời giải captcha tích lũy trong phiên HTTP và sự chuyển tiếp giữa captcha cũ mới chưa hoàn toàn để dùng lời giải giả mạo nhưng vẫn được chấp nhận bởi bộ kiểm tra của captcha. - Tấn công bằng cách sử dụng con người để nhận dạng: dạng tấn công lợi dụng lao động giá rẻ ở một số quốc gia để thực hiện nhận dạng hỗ trợ cho các phương pháp tấn công khác. Nhận dạng mềm Nhận dạng mềm là một phương pháp nhận dạng tự động mang tính học thuật cao.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ