0% found this document useful (0 votes)
43 views69 pages

Mini Project Documation (Capctha) .DP

The project report details the development of a custom convolutional neural network (CNN) model named CAP-SECURE for recognizing and analyzing CAPTCHAs, aiming to outperform existing models like VGG-16 and ALEX-net. With a dataset of 200,000 CAPTCHAs, the model achieves a recognition accuracy of 94.67% for alphanumeric CAPTCHAs, addressing challenges posed by modern CAPTCHA designs. The report outlines the project's objectives, scope, and the potential for improving CAPTCHA security by identifying weaknesses in current systems.

Uploaded by

jicime2565
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views69 pages

Mini Project Documation (Capctha) .DP

The project report details the development of a custom convolutional neural network (CNN) model named CAP-SECURE for recognizing and analyzing CAPTCHAs, aiming to outperform existing models like VGG-16 and ALEX-net. With a dataset of 200,000 CAPTCHAs, the model achieves a recognition accuracy of 94.67% for alphanumeric CAPTCHAs, addressing challenges posed by modern CAPTCHA designs. The report outlines the project's objectives, scope, and the potential for improving CAPTCHA security by identifying weaknesses in current systems.

Uploaded by

jicime2565
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

A Mini Project Report

On
“CAPTCHA Recognition And Analysis Using Custom Based CNN
Model – Capsecure”
Submitted in partial fulfillment of the requirement for the award of the
degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING (DATA SCIENCE)
Submitted
By
B.K.DURGA PRASAD REDDY (215D1A6710)
UNDER THE GUIDANCE
OF
Mr.B.RAGHUPATHI
Associate Professor
Department of CSD

Department of Computer Science and Engineering (DATA SCIENCE)

KASIREDDY NARAYAN REDDY COLLEGE OF ENGINEERING


& RESEARCH
(Affiliated to Jawaharlal Nehru Technological University, Hyderabad)
(Accredited with NACC “A+” grade)
Near By Ramoji Filmcity, Abdullapurmet (Village) Hayathnagar, Rangareddy -
501 505
2021-2025
KASIREDDY NARAYAN REDDY COLLEGE OF
ENGINEERING & RESEARCH
(Affiliated to Jawaharlal Nehru Technological University, Hyderabad)
(Accredited with NACC “A+” grade)
Near By Ramoji Filmcity, Abdullapurmet (Village) Hayathnagar, Rangareddy -
501 505
Department of Computer Science and Engineering(DATA SCIENCE)

DECLARATION

This is to certify that the project entitled “CAPTCHA Recognition And

Analysis Using Custom Based CNN Model – Capsecure” is being


submitted by B.K.DURGAPRASADREDDY (215D1A6710) Of B.Tech in
COMPUTER SCIENCE AND ENGINEERING (DATA SCIENCE) is a
record bonafide work carried out by them. The results embodied in this report have
not been submitted to any other University for the award of any degree.

INTERNAL GUIDE EXTERNAL EXAMINER

HEAD OF THE DEPARTMENT PRINCIPAL


ACKNOWLEDGEMENT

I would like to express our sincere gratitude to our respectable Principal


Dr. Mr.M.NARENDRA KUMAR, for his support and guidance.

I would like to thank our College Management for granting us the


opportunity to carry out this project.

I am really grateful to our Head of the Department Mr.


B.RAGHUPATHI, for his time to time, much needed valuable guidance
throughout our study.

I would like to express our sincere gratitude to our Project guide Mr.
B.RAGHUPATHI, who has guided and supported us through every stage in the
project.

I wish to thank our friends who always paid attention whenever we


discussed about our project work and encouraged us with their moral support.

I like to express our profound thanks to all those who helped us to make
this project a huge success.

Finally but most importantly, I thank our parents and siblings for the
much needed moral support and to whom we owe everything.

BY

B.K.DURGA PRASAD REDDY (215D1A6710)


ABSTRACT

CAPTCHAs are automated tests designed to distinguish between computers


and humans, attacking programs, or other computerized agents that attempt to imitate
human intelligence. The main intent of this research is to develop a method to crack
CAPTCHA using a custom based convolutional neural network (CNN) model called
CAP-SECURE. The proposed model aims to distinguish or tell websites about the
weaknesses and vulnerabilities of the CAPTCHAs. The CAP-SECURE model is
based on sequential CNN model and it outperforms the existing CNN architecture like
VGG-16 and ALEX-net . The model has the potential to solve and explore both
numerical and alphanumerical CAPTCHAs. For developing an efficient model, a
dataset of 200000 CAPTCHAs has been generated to train our model. In this
exposition, we study CNN based deep neural network model to meet the current
challenges, and provide solutions to deal with the issues regarding CAPTCHAs. The
network cracking accuracy is shown to be 94.67 percent for alpha-numerical test
dataset. Compared to traditional deep learning methods, the proposed custom based
model has a better recognition rate and robustness.
CONTENTS

SNO PAGE NO

1. INTRODUCTION 1

1.1 Problem statements 3


1.2 Objectives 4
1.3 Scope 6
1.4 Existing system 6
1.5 Proposed system 7

2. LITERATURE SURVEY 8

2.1 Methodologies 10

3. SYSTEM REQUIREMENTS 13

3.1 Hardware requirements 13

3.1.1 Hardware Environment 14

3.2 Software requirements 15

3.2.1 Software Environment 15

4. SYSTEM DESIGN 18

4.1Architecture 18

4.2 UML diagrams 20

4.3 Data flow diagrams 21

4.4 Input/Output design 22

4.5 System Study 23


5. SOFTWARE ENVIRONMENT 25

5.1 Python 25

5.2 Django 40

6. IMPLEMENTATION 51

7. SYSTEM TESTING 52

7.1 Types of tests 52

7.2 Test cases 55

8. SCREEN SHOTS 56

9. CONCLUSION 60

10. FUTURE ENHANCEMENT 61

11. REFERENCES 62
Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

1.INTRODUCTION
CAPTCHA, stands for Completely Automated Public Tur- ing test to
distinguish between Computers and Humans, is an automated test to distinguish
between robots and humans . It has been widely used in many applications such as
network protection and information security. With the evolution of internet
technology, network security issues continue to amplify. CAPTCHAs are used on
the internet to prevent various cyber security threats, attacks, and other penetrations
towards the anonymity of web services .
Nowa-days, many major mainstream websites have been using it. In specific,
these attacks regularly lead to situations where computer programs replace humans.
As a result, the computer codes try to automate services to send a significant number
of undesirable emails, access databases, or influence the online pools. CAPTCHA
recognition in conjunction with artificial intelligence and image processing plays a
key role in the development of artificial intelligence technology, and can also be
applied in the area of handwriting recognition, license plate recognition, optical
character recognition and so on.
The mainstream CAPTCHA is based on visual representation that includes
numerical or alpha-numerical strings, voice, or picture sets. Meanwhile, the text-
based CAPTCHAs are commonly used in pratice. shows some examples of alpha-
numerical CAPTCHAs and their types. There are many Department of Computer
Science and Engineering, E´ cole Centrale School of Engineering, Mahindra
University, Hyderabad - 500043, India.
Methods out there to make the CAPTCHAs more complex by adding
efficient noise and disturbances to them . The security of CAPTCHAs schemes can
be enhanced by adding various types of noise, for instance, adding zig-zag lines over
the alpha-numeric CAPTCHA. Some examples of CAPTCHAs which are distorted
with noise. Apart from the text-based CAPTCHAs, image-based CAPTCHAs are
also becoming popular. These CAPTCHAs include sample images of various objects
such as traffic signals, vehicles, street signs, landscapes or statues, and tests the user
to identify a particular object among the displayed images . An example of image-
based CAPTCHA is depicted.
Traditional CAPTCHA recognition involves the following steps: image
preprocessing, character segmentation, character recognition, feature extraction, and

Department Of CSD Page | 1


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

post-processing as the major stages. The accuracy and efficiency of these models
depends on segmentation and feature extraction stages. The present article focuses
on widely used alpha-numeric character based images CAPTCHA, and it is
composed of random English letters and numerals. Further, it is not difficult to
generate them. Furthermore, it is worth mentioning another application of
CAPTCHA, that is through OCR (Optical Character Recognition). Though the
existing OCR algorithms are very robust, they still have a few shortcomings in the
recognition of different hand-written scripts or undermined writings.
In recent years, as a kind of deep neural network, the CNN has shown
exemplary rendition in image recognition compared to traditional methods. The
conventional way of extracting pixel points and template matching can only
recognize simple CAPTCHA. Compared to the traditional pattern recognition
method, the main advantage of CNN is that it can actively learn features without
artificial design. The extracted image features have a strong expressive ability,
avoiding the problems of data preprocessing. Though CNN has achieved certain
results, the literature lack on the recognition effect of complex CAPTCHA.
Subsequently, a CNN algorithm is proposed by to identify the CAPTCHAs.
This paper focuses on CNN based image CAPTCHA recognition model
called CAP-SECURE. The image CAPTCHAs consists of random numerals and
English letters. It is easy to create and the brute force is difficult to crack. This
research attempts to address the issue of CAPTCHA recognition and help us to find
its weaknesses and vulnerabilities. An effort has been made to improve the
technology of CAPTCHAs to generate more robust CAPTCHAs so that these
websites don’t get fooled by bots and intelligence attacks.
The outline of the paper is as follows: Section II reviews the relevant
literature related to the developments in the field of CAPTCHA. Section III
introduces the details of our proposed method. The experimental results are
discussed in Section IV. Finally, some concluding remarks are presented in Section
V, section systems lack at present.

Department Of CSD Page | 2


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

1.1 Problem statements

CAPTCHAs (Completely Automated Public Turing tests to tell


Computers and Humans Apart) serve as a fundamental security measure to
differentiate human users from automated bots. However, as CAPTCHA systems
become increasingly common, the effectiveness of these mechanisms is being
challenged by the development of more advanced automated tools that can
bypass them. Traditional CAPTCHA recognition techniques, including
convolutional neural networks (CNNs) such as VGG-16 and ALEX-net, face
limitations in handling the diverse and complex nature of modern CAPTCHA
designs, especially those involving alphanumeric characters and various noise
patterns.

The existing systems often fail to provide robust solutions capable of


solving CAPTCHAs with a high degree of accuracy. As CAPTCHA formats
evolve, particularly with the introduction of noisy, distorted, or multi-character
challenges, current recognition methods become inefficient, resulting in
decreased reliability and vulnerability to automated attacks. Moreover, there is a
lack of specific datasets large enough to train models that are generalizable to a
variety of CAPTCHA types, making the task of cracking CAPTCHAs even more
difficult.

This project aims to address these challenges by proposing a custom-


based CNN model, named CAP-SECURE, that is specifically designed to solve
both numerical and alphanumeric CAPTCHAs. The primary goal of CAP-
SECURE is to develop a deep learning model that outperforms traditional
architectures like VGG-16 and ALEX-net in recognizing CAPTCHAs, with an
emphasis on robustness, accuracy, and scalability. A large dataset of 200,000
CAPTCHAs is generated to train the model, which enables the system to learn
the intricate patterns and variations present in CAPTCHA challenges. By
achieving an impressive accuracy of 94.67% on alphanumeric CAPTCHAs,
CAP-SECURE demonstrates superior performance compared to existing
methods, highlighting its potential for advancing automated CAPTCHA cracking
and identifying vulnerabilities in current security mechanisms.

Department Of CSD Page | 3


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

1.2 Objectives

➢ Input Design is the process of converting a user-oriented description of the input


into a computer-based system. This design is important to avoid errors in the data
input process and show the correct direction to the management for getting correct
information from the computerized system.
➢ It is achieved by creating user-friendly screens for the data entry to handle large
volume of data. The goal of designing input is to make data entry easier and to be
free from errors. The data entry screen is designed in such a way that all the data
manipulates can be performed. It also provides record viewing facilities.
➢ When the data is entered it will check for its validity. Data can be entered with the
help of screens. Appropriate messages are provided as when needed so that the
user will not be in maize of instant. Thus the objective of input design is to create
an input layout that is easy to follow
➢ Develop a Custom CNN Model for CAPTCHA Recognition: The primary
objective of the project is to develop a custom convolutional neural network
(CNN) model, CAP-SECURE, that is tailored specifically for the task of
CAPTCHA recognition. The model will be designed to handle various
CAPTCHA challenges, including both numerical and alphanumeric
CAPTCHAs.
➢ Outperform Existing CNN Architectures: The model aims to outperform
traditional CNN architectures such as VGG-16 and ALEX-net in terms of
accuracy, speed, and robustness when solving CAPTCHA images. This
involves enhancing the model’s ability to handle noise, distortion,
overlapping characters, and other common CAPTCHA features.
➢ Achieve High Accuracy in CAPTCHA Cracking: One of the primary goals is
to achieve high accuracy in recognizing and cracking CAPTCHAs,
particularly for alphanumeric test datasets. The target is to reach an accuracy
rate of 94.67% or higher in identifying characters in CAPTCHAs.
➢ Enhance Model Robustness Against Distorted and Noisy CAPTCHAs: The
CAP-SECURE model will be designed to be more robust and resilient
compared to existing models. This means that the model should be able to
solve CAPTCHAs with various distortions, noise, and complex backgrounds,

Department Of CSD Page | 4


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

which are often used by modern CAPTCHA systems to prevent automated


cracking.
➢ Explore Both Numerical and Alphanumeric CAPTCHAs: The model aims to
handle both numerical and alphanumeric CAPTCHAs, enabling it to
recognize characters from a wide range of CAPTCHA styles. The objective is
to create a versatile and scalable model that can tackle different types of
CAPTCHA systems.
➢ Analyze the Vulnerabilities in CAPTCHA Systems: Another key objective is
to explore and analyze the weaknesses and vulnerabilities of existing
CAPTCHA systems. The insights gained from the CAP-SECURE model will
help identify areas where CAPTCHA designs can be improved to better
prevent automated cracking attempts.
➢ Provide a Comprehensive Solution for CAPTCHA Security: Through the
analysis and recognition capabilities of the CAP-SECURE model, the project
aims to provide a comprehensive solution that not only cracks CAPTCHAs
but also offers insights into improving CAPTCHA security by identifying
flaws and suggesting possible defences against machine learning-based
attacks.
➢ Improve Deep Learning Techniques for CAPTCHA Recognition: The project
seeks to enhance existing deep learning techniques by incorporating a custom
CNN architecture, which is optimized for CAPTCHA cracking. The goal is to
push the boundaries of current deep learning methods and develop a
specialized model that can achieve better recognition rates and faster
processing times.
➢ Contribute to Research in CAPTCHA Security: Finally, the project aims to
contribute to the broader field of CAPTCHA security by providing a robust,
deep learning-based method for cracking CAPTCHAs. The findings and
results from this research could help both researchers and security
professionals to better understand the limitations of current CAPTCHA
systems and foster the development of more secure mechanisms.

Department Of CSD Page | 5


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

1.3 Scope

CAPTCHAs are widely used on the internet to distinguish between


human users and automated bots by presenting challenges like distorted text,
images, or puzzles that are easy for humans to solve but difficult for bots.

The project is centered around the design, development, and deployment


of a deep learning-based system for automating CAPTCHA solving. This project
involves training a custom CNN model, recognizing various types of
CAPTCHAs, analyzing their contents, optimizing performance, and addressing
potential ethical issues related to misuse.

1.4 Existing System

PROS: WORKS FOR SIMPLE CAPTCHAS BY SEGMENTING AND RECOGNIZING

INDIVIDUAL CHARACTERS.

CONS: LIMITED ACCURACY, DOESN'T WORK WELL FOR DISTORTED OR COMPLEX

CAPTCHAS.

CNN ARCHITECTURES LIKE VGG-16 AND ALEX NET:

PROS: STRONG PERFORMANCE FOR IMAGE RECOGNITION TASKS.

CONS: NOT CUSTOMIZED FOR CAPTCHA RECOGNITION, LOWER ACCURACY THAN

PROPOSED METHOD.

TOD-CNN:

PROS: USES SEGMENTATION AND CNN FOR HIGHER ACCURACY.

CONS: REQUIRES SEGMENTATION AS A SEPARATE STEP.

CONVOLUTIONAL RECURRENT NEURAL NETWORKS:

PROS: CAN RECOGNIZE VARIABLE LENGTH CAPTCHAS.

CONS: SLOWER THAN CNN MODELS.

REGION-BASED CNNS:

Department Of CSD Page | 6


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

PROS: FAST RECOGNITION OF VARIABLE LENGTH CAPTCHAS.

CONS: MAY NOT HANDLE DISTORTIONS WELL.

DICTIONARY-BASED METHODS:

PROS: CAN HELP ELIMINATE UNLIKELY WORDS.

CONS: LIMITED DICTIONARY SIZE AND NOT GENERALIZED.

1.5 Proposed system

ADVANTAGES OF CAP-SECURE:

➢ ACHIEVES HIGH ACCURACY OF 94.67% ON ALPHANUMERIC CAPTCHAS,


OUTPERFORMING OTHER CNN MODELS LIKE VGG-16 AND ALEX NET.

➢ DOES NOT REQUIRE EXPLICIT SEGMENTATION OF CHARACTERS, RECOGNIZES

CAPTCHAS END-TO-END DIRECTLY FROM PIXELS.


➢ CUSTOM CNN ARCHITECTURE OPTIMIZED FOR CAPTCHA RECOGNITION. USES
CONVOLUTIONAL, MAX POOLING, DROPOUT, AND BATCH NORMALIZATION LAYERS.

➢ CAN RECOGNIZE BOTH NUMERICAL AND ALPHANUMERIC CAPTCHAS.


➢ COMPUTATIONALLY EFFICIENT DUE TO CNN ARCHITECTURE.
➢ ANALYZES MISCLASSIFIED EXAMPLES TO SUGGEST WAYS TO GENERATE MORE

ROBUST CAPTCHAS.

DISADVANTAGES:

➢ TRAINED AND TESTED ONLY ON ALPHANUMERIC CAPTCHA DATASETS, MAY NEED


RETRAINING OR ARCHITECTURE CHANGES FOR OTHER CAPTCHA TYPES.

➢ LIMITED ANALYSIS OF MODEL'S GENERALIZATION CAPABILITY ACROSS DIFFERENT

CAPTCHA GENERATORS.
➢ DOES NOT EXPLICITLY HANDLE VARIABLE LENGTH CAPTCHAS.

Department Of CSD Page | 7


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

2. LITERATURE SURVEY

M. A. Kouritzin, F. Newton, and B. Wu, “On random field completely


automated public turing test to tell computers and humans apart generation,”
IEEE Transactions on Image Processing, vol. 22, no. 4, pp. 1656 – 1666, 2013.
Herein, we propose generating CAPTCHAs through random field simulation
and give a novel, effective and efficient algorithm to do so. Indeed, we demonstrate
that sufficient information about word tests for easy human recognition is contained in
the site marginal probabilities and the site-to-nearby-site covariances and that these
quantities can be embedded directly into certain conditional probabilities, designed
for effective simulation. The CAPTCHAs are then partial random realizations of the
random CAPTCHA word. We start with an initial random field (e.g., randomly
scattered letter pieces) and use Gibbs resampling to re-simulate portions of the field
repeatedly using these conditional probabilities until the word becomes human-
readable. The residual randomness from the initial random field together with the
random implementation of the CAPTCHA word provide significant resistance to
attack. This results in a CAPTCHA, which is unrecognizable to modern optical
character recognition but is recognized about 95% of the time in a human readability
study.
B. B. Zhu, J. Yan, G. Guanbo Bao, M. Maowei Yang, and N. Ning Xu,
“CAPTCHA as graphical passwords-a new security primitive based on hard AI
problems,” IEEE Transactions on Information Forensics and Security, vol. 9, no.
6, pp. 891 – 904, 2014.
Many security primitives are based on hard mathematical problems. Using
hard AI problems for security is emerging as an exciting new paradigm, but has been
under-explored. In this paper, we present a new security primitive based on hard AI
problems, namely, a novel family of graphical password systems built on top of
Captcha technology, which we call Captcha as graphical passwords (CARP). CARP is
both a Captcha and a graphical password scheme. CARP addresses a number of
security problems altogether, such as online guessing attacks, relay attacks, and, if
combined with dual-view technologies, shoulder-surfing attacks. Notably, a CARP
password can be found only probabilistically by automatic online guessing attacks
even if the password is in the search set. CARP also offers a novel approach to
address the well-known image hotspot problem in popular graphical password

Department Of CSD Page | 8


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

systems, such as Pass Points, that often leads to weak password choices. CARP is not
a panacea, but it offers reasonable security and usability and appears to fit well with
some practical applications for improving online security.
Bostik, Ondrej, and Jan Klecka. “Recognition of CAPTCHA characters
by supervised machine learning algorithms.” IFAC-Papers On Line 51, no. 6
(2018), pp. 208 – 213.
The focus of this paper is to compare several common machine learning
classification algorithms for Optical Character Recognition of CAPTCHA codes. The
main part of a research focuses on the comparative study of Neural Networks, k-
Nearest Neigh-bour, Support Vector Machines and Decision Trees implemented in
MATLAB Computing environment. Achieved success rates of all analyzed
algorithms overcome 89%. The main difference in results of used algorithms is within
the learning times. Based on the data found, it is possible to choose the right
algorithm for the particular task.
Yousef, Mohamed, Khaled F. Hussain, and Usama S. Mohammed. “Ac-
curate, data-efficient, unconstrained text recognition with convolutional neural
networks.” ARXIV preprint arXiv:1812.11894 (2018).
Unconstrained text recognition is an important computer vision task, featuring
a wide variety of different sub-tasks, each with its own set of challenges. One of the
biggest promises of deep neural networks has been the convergence and automation
of feature extractors from input raw signals, allowing for the highest possible
performance with minimum required domain knowledge. To this end, we propose a
data-efficient, end-to-end neural network model for generic, unconstrained text
recognition. In our proposed architecture we strive for simplicity and efficiency
without sacrificing recognition accuracy. Our proposed architecture is a fully
convolutional network without any recurrent connections trained with the CTC loss
function. Thus it operates on arbitrary input sizes and produces strings of arbitrary
length in a very efficient and parallelizable manner. We show the generality and
superiority of our proposed text recognition architecture by achieving state of the art
results on seven public benchmark datasets, covering a wide spectrum of text
recognition tasks, namely: Handwriting Recognition, CAPTCHA recognition, OCR,
License Plate Recognition, and Scene Text Recognition. Our proposed architecture
has won the ICFHR2018 Competition on Automated Text Recognition

Department Of CSD Page | 9


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Sivakorn, Suphannee, Jason Polakis, and Angelos D. Keromytis. “I’m


robot: deep learning to break semantic image captchas.” In 2016 IEEE
European Symposium on Security and Privacy (Euro S&P), 2016, pp. 388 – 403.
Since their inception, captchas have been widely used for preventing
fraudsters from performing illicit actions. Nevertheless, economic incentives have
resulted in an arms race, where fraudsters develop automated solvers and, in turn,
captcha services tweak their design to break the solvers. Recent work, however,
presented a generic attack that can be applied to any text-based captcha scheme.
Fittingly, Google recently unveiled the latest version of Re-Captcha. The goal of their
new system is twofold, to minimize the effort for legitimate users, while requiring
tasks that are more challenging to computers than text recognition. Re-Captcha is
driven by an "advanced risk analysis system" that evaluates requests and selects the
difficulty of the captcha that will be returned. Users may be required to click in a
checkbox, or solve a challenge by identifying images with similar content. In this
paper, we conduct a comprehensive study of Re-Captcha, and explore how the risk
analysis process is influenced by each aspect of the request. Through extensive
experimentation, we identify flaws that allow adversaries to effortlessly influence the
risk analysis, bypass restrictions, and deploy large-scale attacks. Subsequently, we
design a novel low-cost attack that leverages deep learning technologies for the
semantic annotation of images. Our system is extremely effective, automatically
solving 70.78% of the image Re-Captcha challenges, while requiring only 19 seconds
per challenge. We also apply our attack to the Facebook image captcha and achieve
an accuracy of 83.5%. Based on our experimental findings, we propose a series of
safeguards and modifications for impacting the scalability and accuracy of our
attacks. Overall, while our study focuses on Re-Captcha, our findings have wide
implications, as the semantic information conveyed via images is increasingly within
the realm of automated reasoning, the future of captchas relies on the exploration of
novel directions.

2.1 Methodologies

➢ Data Collection and Preprocessing:

• Gather CAPTCHA dataset (or generate using CAPTCHA generators).

Department Of CSD Page | 10


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

• Resize images to a standard dimension for uniform input.

• Convert CAPTCHA images to grayscale to reduce complexity.

• Apply noise reduction techniques (e.g., median filter, Gaussian blur).

• Normalize pixel values to a consistent range (e.g., [0, 1]).

• Perform character segmentation using techniques like connected


component analysis (if needed).

➢ Custom CNN Architecture Design:

• Use convolutional layers to extract features from images (e.g., edges,


shapes).

• Apply pooling layers (e.g., max pooling) to reduce dimensionality.

• Use ReLU activation functions after convolutional and pooling layers.

• Incorporate fully connected (dense) layers for final classification.

• Design output layer with neurons corresponding to possible CAPTCHA


characters or classes.

➢ Model Training and Optimization:

• Choose cross-entropy loss function for classification tasks.

• Use optimization algorithms like Adam or SGD.

• Split dataset into training, validation, and test sets for performance
evaluation.

• Implement data augmentation (e.g., rotation, scaling) to increase dataset


diversity.

➢ Evaluation and Fine-tuning:

• Evaluate model using metrics such as accuracy, precision, recall, and F1-
score.

Department Of CSD Page | 11


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

• Fine-tune hyperparameters (e.g., learning rate, batch size) for better


performance.

• Apply techniques like dropout, early stopping, and L2 regularization to


prevent overfitting.

➢ Character Recognition and Analysis:

• Recognize characters individually or as sequences.

• Use sequence-based models (e.g., CTC loss) for multiple character


CAPTCHAs.

• Post-process model output for error correction (e.g., dictionary-based


filtering).

➢ Deployment and Integration:

• Develop a web interface for users to upload CAPTCHA images.

• Enable real-time prediction for CAPTCHA recognition.

• Export model for deployment in formats like TensorFlow Lite or ONNX.

➢ Testing and Optimization for Real-World Scenarios:

• Test against various CAPTCHA designs to ensure robustness.

• Optimize the model for faster performance in real-time environments.

• Ensure scalability for handling large volumes of CAPTCHA images.

Department Of CSD Page | 12


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

3. SYSTEM REQUIREMENTS

The project involved analyzing the design of few applications so as to make


the application more users friendly. To do so, it was really important to keep the
navigations from one screen to the other well ordered and at the same time reducing
the amount of typing the user needs to do. In order to make the application more
accessible, the browser version had to be chosen so that it is compatible with most of
the Browsers.

REQUIREMENT SPECIFICATION :

Functional Requirements

➢ Graphical User interface with the User.


Operating Systems supported

➢ Windows 10 64 bit OS.

Technologies and Languages used to Develop

➢ Python

Debugger and Emulator


➢ Any Browser (Particularly Chrome)

3.1 Hardware Requirements:

❖ System : Intel i7

❖ Hard Disk : 1 TB.

❖ Monitor : 14’ Colour Monitor.

❖ Mouse : Optical Mouse.

❖ Ram : 8GB.

Department Of CSD Page | 13


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

3.1.1 Hardware Environment

➢ CPU:

• Multi-core processor (Intel i7/i9 or AMD Ryzen 7/9)

• Minimum 8 cores for efficient processing

➢ GPU:

• Dedicated NVIDIA GPU (RTX 3080, RTX 3090, or A100)

• CUDA support for deep learning acceleration

• Alternatively, NVIDIA GTX series (GTX 1660 Ti, GTX 1080 Ti) for smaller
models

➢ RAM:

• Minimum 16GB RAM (32GB recommended for large models and datasets)

➢ Storage:

• 512GB SSD for faster data access and model storage

• 2TB HDD for additional storage of datasets

➢ Motherboard:

• Supports multiple PCIe slots for GPUs (if using multiple GPUs)

• Sufficient RAM slots (preferably 4+)

➢ Power Supply Unit (PSU):

• 750W–1000W PSU for stable power to the system

➢ Cooling System:

• Air cooling (e.g., Noctua NH-D15) or liquid cooling for CPU and GPU

• Good airflow to prevent overheating during training

Department Of CSD Page | 14


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

➢ Networking:

• Stable internet connection (100 Mbps or higher) for dataset downloads and
cloud services

➢ Display:

• 27-inch or larger monitor with 1080p resolution

• Optional: Multiple monitors for enhanced productivity

➢ Peripherals:

• Standard keyboard and mouse

• External storage (USB 3.0 drive, at least 1TB) for backup

• Webcam (if needed for CAPTCHA data collection)

➢ Cloud Setup:

• Cloud services (e.g., AWS EC2 P3 instances, Google Cloud AI Platform) for
scaling

• Google Colab Pro for smaller-scale testing

3.2 Software Requirements:

❖ Operating system : Windows 10.

❖ Coding Language : Python.

❖ Front-End : Html. CSS

❖ Designing : Html, css, javascript.

❖ Data Base : SQL Lite.

3.2.1 Software Environment

1.Programming Language

➢ Python: Primary language for developing and training the CNN model.

Department Of CSD Page | 15


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

2. Deep Learning Frameworks

➢ TensorFlow: For building, training, and evaluating the CNN model.


➢ Keras: High-level neural networks API for TensorFlow, useful for quick model
building.
➢ PyTorch (optional): Another deep learning framework for model development.

3. Libraries for Data Processing

➢ NumPy: For handling arrays and numerical operations.


➢ Pandas: For data manipulation and analysis (useful for working with datasets).
➢ OpenCV: For image preprocessing (resizing, cropping, etc.) and CAPTCHA
image handling.
➢ Matplotlib: For visualizing training progress and results.

4. Image Processing Libraries

➢ Pillow (PIL): For image manipulation tasks like cropping, rotating, and
converting formats.

➢ scikit-image: For more advanced image processing tasks.

5. Model Evaluation and Metrics

➢ scikit-learn: For evaluation metrics (accuracy, precision, recall, confusion


matrix) and utilities like dataset splitting.

➢ Seaborn: For creating informative and attractive data visualizations.

6. Model Optimization

➢ Optuna (optional): For hyperparameter tuning of the model.

➢ Keras Tuner (optional): For automating hyperparameter search.

7. Training and Deployment Environment

➢ Jupyter Notebook/Google Colab: For interactive development and running


code in a cell-based environment.

Department Of CSD Page | 16


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

➢ CUDA: For enabling GPU acceleration (if using NVIDIA GPUs for model
training).

➢ TensorFlow Serving (optional): For deploying the trained model as a REST


API.

8. Version Control

➢ Git: For version control of the source code.

➢ GitHub/GitLab: To host the project repository and collaborate.

9. Package Management

➢ pip: For managing Python packages.

➢ Anaconda: For environment management, especially if handling dependencies


and libraries related to deep learning.

10. Data Annotation

➢ Label-Img: For manual annotation of CAPTCHA images if custom datasets


need labelling.

11. Deployment

➢ Flask/Django: For creating a web application that can serve the model's
predictions.

➢ Docker: For containerizing the application and ensuring environment


consistency.

Department Of CSD Page | 17


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

4. SYSTEM DESIGN

4.1 Architecture:

In software engineering, a class diagram in the Unified Modeling Language


(UML) is a type of static structure diagram that describes the structure of a
system by showing the system's classes, their attributes, operations (or methods),
and the relationships among the classes. It explains which class contains
information

SEQUENCE DIAGRAM:

A sequence diagram in Unified Modeling Language (UML) is a kind of


interaction diagram that shows how processes operate with one another and in what
order. It is a construct of a Message Sequence Chart. Sequence diagrams are
sometimes called event diagrams, event scenarios, and timing diagrams.

Department Of CSD Page | 18


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

ACTIVITY DIAGRAM:

Activity diagrams are graphical representations of workflows of stepwise


activities and actions with support for choice, iteration and concurrency. In the
Unified Modeling Language, activity diagrams can be used to describe the business
and operational step-by-step workflows of components in a system. An activity
diagram shows the overall flow of control.

Department Of CSD Page | 19


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

4.2 UML diagrams

UML stands for Unified Modeling Language. UML is a standardized general-


purpose modeling language in the field of object-oriented software engineering. The
standard is managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of
object oriented computer software. In its current form UML is comprised of two
major components: a Meta-model and a notation. In the future, some form of method
or process may also be added to; or associated with, UML.
The Unified Modeling Language is a standard language for specifying,
Visualization, Constructing and documenting the artifacts of software system, as well
as for business modeling and other non-software systems.
The UML represents a collection of best engineering practices that have
proven successful in the modeling of large and complex systems.
The UML is a very important part of developing objects oriented software
and the software development process. The UML uses mostly graphical notations to
express the design of software projects.

GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they
can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core
concepts.
3. Be independent of particular programming languages and development
process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
7. Integrate best practices.

Department Of CSD Page | 20


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

USE CASE DIAGRAM:

A use case diagram in the Unified Modeling Language (UML) is a type of


behavioral diagram defined by and created from a Use-case analysis. Its purpose is to
present a graphical overview of the functionality provided by a system in terms of
actors, their goals (represented as use cases), and any dependencies between those use
cases. The main purpose of a use case diagram is to show what system functions are
performed for which actor. Roles of the actors in the system can be depicted.

4.3 Data Flow Diagrams

1. The DFD is also called as bubble chart. It is a simple graphical formalism that
can be used to represent a system in terms of input data to the system, various
processing carried out on this data, and the output data is generated by this
system.
2. The data flow diagram (DFD) is one of the most important modeling tools. It is
used to model the system components. These components are the system
process, the data used by the process, an external entity that interacts with the
system and the information flows in the system.
3. DFD shows how the information moves through the system and how it is
modified by a series of transformations. It is a graphical technique that depicts
information flow and the transformations that are applied as data moves from
input to output.

Department Of CSD Page | 21


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

4. DFD is also known as bubble chart. A DFD may be used to represent a system
at any level of abstraction. DFD may be partitioned into levels that represent
increasing information flow and functional detail.

4.4 Input/Output design

Input Design

The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation and those
steps are necessary to put transaction data in to a usable form for processing can be
achieved by inspecting the computer to read data from a written or printed document
or it can occur by having people keying the data directly into the system. The design
of input focuses on controlling the amount of input required, controlling the errors,
avoiding delay, avoiding extra steps and keeping the process simple. The input is
designed in such a way so that it provides security and ease of use with retaining the
privacy. Input Design considered the following things:

➢ What data should be given as input?


➢ How the data should be arranged or coded?
➢ The dialog to guide the operating personnel in providing input.
➢ Methods for preparing input validations and steps to follow when error
occur.

Department Of CSD Page | 22


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Output Design

A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are
communicated to the users and to other system through outputs. In output design it is
determined how the information is to be displaced for immediate need and also the
hard copy output. It is the most important and direct source information to the user.
Efficient and intelligent output design improves the system’s relationship to help user
decision-making.

1. Designing computer output should proceed in an organized, well thought out


manner; the right output must be developed while ensuring that each output
element is designed so that people will find the system can use easily and
effectively. When analysis design computer output, they should Identify the
specific output that is needed to meet the requirements.
2. Select methods for presenting information.
3. Create document, report, or other formats that contain information produced by
the system.
4. The output form of an information system should accomplish one or more of the
following objectives.
➢ Convey information about past activities, current status or projections of the
➢ Future.
➢ Signal important events, opportunities, problems, or warnings.
➢ Trigger an action.
➢ Confirm an action.

4.5 SYSTEM STUDY

Feasibility Study:

The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates. During
system analysis the feasibility study of the proposed system is to be carried out. This
is to ensure that the proposed system is not a burden to the company. For feasibility
analysis, some understanding of the major requirements for the system is essential.

Department Of CSD Page | 23


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Three key considerations involved in the feasibility analysis are,

➢ ECONOMICAL FEASIBILITY
➢ TECHNICAL FEASIBILITY
➢ SOCIAL FEASIBILITY

1.Economical Feasibility :
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into the
research and development of the system is limited. The expenditures must be justified.
Thus the developed system as well within the budget and this was achieved because
most of the technologies used are freely available. Only the customized products had
to be purchased.

2.Technical Feasibility:
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on
the available technical resources. This will lead to high demands on the available
technical resources. This will lead to high demands being placed on the client. The
developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.

3.Social Feasibility
The aspect of study is to check the level of acceptance of the system by the
user. This includes the process of training the user to use the system efficiently. The
user must not feel threatened by the system, instead must accept it as a necessity. The
level of acceptance by the users solely depends on the methods that are employed to
educate the user about the system and to make him familiar with it. His level of
confidence must be raised so that he is also able to make some constructive criticism,
which is welcomed, as he is the final user of the system.

Department Of CSD Page | 24


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

5.SOFTWARE ENVIRONMENT

5.1 Python

Python is a general-purpose interpreted, interactive, object-oriented, and high-


level programming language. An interpreted language, Python has a design
philosophy that emphasizes code readability (notably using whitespace indentation to
delimit code blocks rather than curly brackets or keywords), and a syntax that allows
programmers to express concepts in fewer lines of code than might be used in
languages such as C++ or Java. It provides constructs that enable clear programming
on both small and large scales. Python interpreters are available for many operating
systems. C++ Python, the reference implementation of Python, is open
source software and has a community-based development model, as do nearly all of
its variant implementations. C++ Python is managed by the non-profit Python
Software Foundation. Python features a dynamic type system and automatic memory
management. It supports multiple programming paradigms, including object-
oriented, imperative, functional and procedural, and has a large and
comprehensive standard library.

Interactive Mode Programming

Invoking the interpreter without passing a script file as a parameter brings up


the following prompt −

$ python

Python 2.4.3 (#1, Nov 11 2010, 13:34:43)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>Type the following text at the Python prompt and press the Enter −

>>> print "Hello, Python!"

If you are running new version of Python, then you would need to use print
statement with parenthesis as in print ("Hello, Python!");. However in Python version
2.4.3, this produces the following result −

Department Of CSD Page | 25


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Hello, Python!

Script Mode Programming

Invoking the interpreter with a script parameter begins execution of the script
and continues until the script is finished. When the script is finished, the interpreter is
no longer active.

Let us write a simple Python program in a script. Python files have extension
.py. Type the following source code in a test.py file −

Live Demo

print "Hello, Python!"

We assume that you have Python interpreter set in PATH variable. Now, try to
run this program as follows −

$ python test.py

This produces the following result −

Hello, Python!

Let us try another way to execute a Python script. Here is the modified test.py
file −

Live Demo

#!/usr/bin/python

print "Hello, Python!"

We assume that you have Python interpreter available in /usr/bin directory.


Now, try to run this program as follows −

$ chmod +x test.py # This is to make file executable

$./test.py

This produces the following result −

Department Of CSD Page | 26


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Hello, Python!

Python Identifiers

A Python identifier is a name used to identify a variable, function, class,


module or other object. An identifier starts with a letter A to Z or a to z or an
underscore (_) followed by zero or more letters, underscores and digits (0 to 9).

Python does not allow punctuation characters such as @, $, and % within


identifiers. Python is a case sensitive programming language. Thus, Manpower and
manpower are two different identifiers in Python.

Here are naming conventions for Python identifiers −

• Class names start with an uppercase letter. All other identifiers start with a
lowercase letter.
• Starting an identifier with a single leading underscore indicates that the
identifier is private.
• Starting an identifier with two leading underscores indicates a strongly private
identifier.
• If the identifier also ends with two trailing underscores, the identifier is a
language-defined special name.

Reserved Words

The following list shows the Python keywords. These are reserved words and
you cannot use them as constant or variable or any other identifier names. All the
Python keywords contain lowercase letters only.And exec not assert finally or Break
for pass class from print continue global raise def if return del import try elif in while
else is with except lambda yield

Lines and Indentation

Python provides no braces to indicate blocks of code for class and function
definitions or flow control. Blocks of code are denoted by line indentation, which is
rigidly enforced. The number of spaces in the indentation is variable, but all
statements within the block must be indented the same amount.

Department Of CSD Page | 27


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

For example −

if True:

print "True"

else:

print "False"

However, the following block generates an error −

if True:

print "Answer"

print "True"

else:

print "Answer"

print "False"

Thus, in Python all the continuous lines indented with same number of spaces
would form a block. The following example has various statement blocks −

Note − Do not try to understand the logic at this point of time. Just make sure you
understood various blocks even if they are without braces.

#!/usr/bin/python

import sys

try:

# open file stream

file = open(file_name, "w")

except IOError:

print "There was an error writing to", file_name

Department Of CSD Page | 28


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

sys.exit()

print "Enter '", file_finish,

print "' When finished"

while file_text != file_finish:

file_text = raw_input("Enter text: ")

if file_text == file_finish:

# close the file

file.close

break

file.write(file_text)

file.write("\n")

file.close()

file_name = raw_input("Enter filename: ")

if len(file_name) == 0:

print "Next time please enter something"

sys.exit()

try:

file = open(file_name, "r")

except IOError:

print "There was an error reading file"

sys.exit()

file_text = file.read()

file.close()

Department Of CSD Page | 29


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

print file_text

Multi-Line Statements

Statements in Python typically end with a new line. Python does, however,
allow the use of the line continuation character (\) to denote that the line should
continue. For example −

total = item_one + \

item_two + \

item_three

Statements contained within the [], {}, or () brackets do not need to use the
line continuation character. For example −

days = ['Monday', 'Tuesday', 'Wednesday',

'Thursday', 'Friday']

Quotation in Python

• Python accepts single ('), double (") and triple (''' or """) quotes to denote
string literals, as long as the same type of quote starts and ends the string.
• The triple quotes are used to span the string across multiple lines. For
example, all the following are legal −

word = 'word'

sentence = "This is a sentence."

paragraph = """This is a paragraph. It is

made up of multiple lines and sentences."""

Comments in Python

A hash sign (#) that is not inside a string literal begins a comment. All
characters after the # and up to the end of the physical line are part of the comment
and the Python interpreter ignores them.

Department Of CSD Page | 30


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Live Demo

#!/usr/bin/python

# First comment

print "Hello, Python!" # second comment

This produces the following result −

Hello, Python!

You can type a comment on the same line after a statement or expression −

name = "Madisetti" # This is again comment

You can comment multiple lines as follows −

# This is a comment.

# This is a comment, too.

# This is a comment, too.

# I said that already.

Following triple-quoted string is also ignored by Python interpreter and


can be used as a multiline comments:

''' This is a multiline

comment. '''

Using Blank Lines

• A line containing only whitespace, possibly with a comment, is known as a


blank line and Python totally ignores it.
• In an interactive interpreter session, you must enter an empty physical line
to terminate a multiline statement.

Department Of CSD Page | 31


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Waiting for the User

The following line of the program displays the prompt, the statement saying
“Press the enter key to exit”, and waits for the user to take action −

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

• Here, "\n\n" is used to create two new lines before displaying the actual line.
Once the user presses the key, the program ends. This is a nice trick to keep a
console window open until the user is done with an application.

Multiple Statements on a Single Line

• The semicolon ( ; ) allows multiple statements on the single line given that
neither statement starts a new code block. Here is a sample snip using the
semicolon.

import sys; x = 'foo'; sys.stdout.write(x + '\n')

Multiple Statement Groups as Suites

• A group of individual statements, which make a single code block are called
suites in Python. Compound or complex statements, such as if, while, def, and
class require a header line and a suite.
• Header lines begin the statement (with the keyword) and terminate with a colon (
: ) and are followed by one or more lines which make up the suite. For example

if expression :

suite

elif expression :

suite

else :

suite

Department Of CSD Page | 32


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Command Line Arguments

Many programs can be run to provide you with some basic information about
how they should be run. Python enables you to do this with -h −

$ python -h

usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...

Options and arguments (and corresponding environment variables):

-c cmd : program passed in as string (terminates option list)

-d : debug output from parser (also PYTHONDEBUG=x)

-E : ignore environment variables (such as PYTHONPATH)

-h : print this help message and exit

You can also program your script in such a way that it should accept various
options. Command Line Arguments is an advanced topic and should be studied a bit
later once you have gone through rest of the Python concepts.

Python Lists

• The list is a most versatile datatype available in Python which can be written as a
list of comma-separated values (items) between square brackets. Important thing
about a list is that items in a list need not be of the same type.
• Creating a list is as simple as putting different comma-separated values between
square brackets. For example −

list1 = ['physics', 'chemistry', 1997, 2000];

list2 = [1, 2, 3, 4, 5 ];

list3 = ["a", "b", "c", "d"]

• Similar to string indices, list indices start at 0, and lists can be sliced,
concatenated and so on.
• A tuple is a sequence of immutable Python objects. Tuples are sequences, just
like lists. The differences between tuples and lists are, the tuples cannot be

Department Of CSD Page | 33


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

changed unlike lists and tuples use parentheses, whereas lists use square
brackets.
• Creating a tuple is as simple as putting different comma-separated values.
Optionally you can put these comma-separated values between parentheses also.
For example −

tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );

tup3 = "a", "b", "c", "d";

➢ The empty tuple is written as two parentheses containing nothing −

tup1 = ();

➢ To write a tuple containing a single value you have to include a comma, even
though there is only one value −

tup1 = (50,);

➢ Like string indices, tuple indices start at 0, and they can be sliced, concatenated,
and so on.

Accessing Values in Tuples

➢ To access values in tuple, use the square brackets for slicing along with the index
or indices to obtain value available at that index. For example −

Live Demo

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5, 6, 7 );

print "tup1[0]: ", tup1[0];

print "tup2[1:5]: ", tup2[1:5];

Department Of CSD Page | 34


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

When the above code is executed, it produces the following result −

tup1[0]: physics

tup2[1:5]: [2, 3, 4, 5]

Updating Tuples

Accessing Values in Dictionary

To access dictionary elements, you can use the familiar square brackets along
with the key to obtain its value. Following is a simple example −

Live Demo

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print "dict['Name']: ", dict['Name']

print "dict['Age']: ", dict['Age']

When the above code is executed, it produces the following result −

dict['Name']: Zara

dict['Age']: 7

If we attempt to access a data item with a key, which is not part of the dictionary,
we get an error as follows −

Live Demo

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print "dict['Alice']: ", dict['Alice']

When the above code is executed, it produces the following result −

dict['Alice']:

Department Of CSD Page | 35


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Traceback (most recent call last):

File "test.py", line 4, in <module>

print "dict['Alice']: ", dict['Alice'];

KeyError: 'Alice'

Updating Dictionary

You can update a dictionary by adding a new entry or a key-value pair,


modifying an existing entry, or deleting an existing entry as shown below in the
simple example −

Live Demo

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8; # update existing entry

dict['School'] = "DPS School"; # Add new entry

print "dict['Age']: ", dict['Age']

print "dict['School']: ", dict['School']

When the above code is executed, it produces the following result −

dict['Age']: 8

dict['School']: DPS School

Delete Dictionary Elements

• You can either remove individual dictionary elements or clear the entire contents
of a dictionary. You can also delete entire dictionary in a single operation.
• To explicitly remove an entire dictionary, just use the del statement. Following is
a simple example −

Department Of CSD Page | 36


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Live Demo

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

del dict['Name']; # remove entry with key 'Name'

dict.clear(); # remove all entries in dict

del dict ; # delete entire dictionary

print "dict['Age']: ", dict['Age']

print "dict['School']: ", dict['School']

This produces the following result. Note that an exception is raised


because after del dict dictionary does not exist any more −

dict['Age']:

Traceback (most recent call last):

File "test.py", line 8, in <module>

print "dict['Age']: ", dict['Age'];

TypeError: 'type' object is unsubscriptable

Note − del() method is discussed in subsequent section.

Properties of Dictionary Keys

• Dictionary values have no restrictions. They can be any arbitrary Python object,
either standard objects or user-defined objects. However, same is not true for the
keys.
• There are two important points to remember about dictionary keys –

➢ (a) More than one entry per key not allowed. Which means no duplicate key is
allowed. When duplicate keys encountered during assignment, the last assignment
wins. For example −

Department Of CSD Page | 37


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Live Demo

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}

print "dict['Name']: ", dict['Name']

When the above code is executed, it produces the following result −

dict['Name']: Manni

➢ (b) Keys must be immutable. Which means you can use strings, numbers or tuples
as dictionary keys but something like ['key'] is not allowed. Following is a simple
example −

Live Demo

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}

print "dict['Name']: ", dict['Name']

When the above code is executed, it produces the following result −

Traceback (most recent call last):

File "test.py", line 3, in <module>

dict = {['Name']: 'Zara', 'Age': 7};

TypeError: unhashable type: 'list'

➢ Tuples are immutable which means you cannot update or change the values of
tuple elements. You are able to take portions of existing tuples to create new
tuples as the following example demonstrates −

Live Demo

#!/usr/bin/python

tup1 = (12, 34.56);

Department Of CSD Page | 38


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

tup2 = ('abc', 'xyz');

# Following action is not valid for tuples

# tup1[0] = 100;

# So let's create a new tuple as follows

tup3 = tup1 + tup2;

print tup3;

When the above code is executed, it produces the following result −

(12, 34.56, 'abc', 'xyz')

Delete Tuple Elements

• Removing individual tuple elements is not possible. There is, of course, nothing
wrong with putting together another tuple with the undesired elements discarded.
• To explicitly remove an entire tuple, just use the del statement. For example −

Live Demo

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);

print tup;

del tup;

print "After deleting tup : ";

print tup;

This produces the following result. Note an exception raised, this is because after
del tup tuple does not exist any more −

('physics', 'chemistry', 1997, 2000)

After deleting tup :

Traceback (most recent call last):

Department Of CSD Page | 39


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

File "test.py", line 9, in <module>

print tup;

NameError: name 'tup' is not defined

5.2 DJANGO

Django is a high-level Python Web framework that encourages rapid


development and clean, pragmatic design. Built by experienced developers, it takes
care of much of the hassle of Web development, so you can focus on writing your app
without needing to reinvent the wheel. It’s free and open source.

Django's primary goal is to ease the creation of complex, database-driven


websites. Django emphasizes reusability and "pluggability" of components, rapid
development, and the principle of don't repeat yourself. Python is used throughout,
even for settings files and data models.

Django also provides an optional administrative create, read, update and


delete interface that is generated dynamically through introspection and configured
via admin models

Department Of CSD Page | 40


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Create a Project

Whether you are on Windows or Linux, just get a terminal or a cmd prompt
and navigate to the place you want your project to be created, then use this code −

$ django-admin startproject myproject

This will create a "myproject" folder with the following structure −

myproject/

manage.py

myproject/

__init__.py

settings.py

urls.py

wsgi.py

The Project Structure

The “myproject” folder is just your project container, it actually contains two
elements − manage.py − This file is kind of your project local django-admin for
interacting with your project via command line (start the development server, sync
db...). To get a full list of command accessible via manage.py you can use the code −

Department Of CSD Page | 41


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

$ python manage.py help

The “myproject” subfolder − This folder is the actual python package of your
project. It contains four files −

__init__.py − Just for python, treat this folder as package.

settings.py − As the name indicates, your project settings.

urls.py − All links of your project and the function to call. A kind of ToC of your
project.

wsgi.py − If you need to deploy your project over WSGI.

Setting Up Your Project

Your project is set up in the subfolder myproject/settings.py. Following are


some important options you might need to set −

DEBUG = True

This option lets you set if your project is in debug mode or not. Debug mode
lets you get more information about your project's error. Never set it to ‘True’ for a
live project. However, this has to be set to ‘True’ if you want the Django light server
to serve static files. Do it only in the development mode.

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': 'database.sql',

'USER': '',

'PASSWORD': '',

'HOST': '',

'PORT': '',

Department Of CSD Page | 42


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Database is set in the ‘Database’ dictionary. The example above is for SQLite engine.
As stated earlier, Django also supports −

MySQL (django.db.backends.mysql)

PostGreSQL (django.db.backends.postgresql_psycopg2)

Oracle (django.db.backends.oracle) and NoSQL DB

MongoDB (django_mongodb_engine)

• Before setting any new engine, make sure you have the correct db driver
installed.
• You can also set others options like: TIME_ZONE, LANGUAGE_CODE,
TEMPLATE…

Now that your project is created and configured make sure it's working −

$ python manage.py runserver

You will get something like the following on running the above code −

Validating models...

0 errors found

September 03, 2015 - 11:41:50

Django version 1.6.11, using settings 'myproject.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

A project is a sum of many applications. Every application has an objective


and can be reused into another project, like the contact form on a website can be an
application, and can be reused for others. See it as a module of your project.

Department Of CSD Page | 43


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Create an Application

We assume you are in your project folder. In our main “myproject” folder, the
same folder then manage.py −

$ python manage.py startapp myapp

You just created my app application and like project, Django create a “myapp”
folder with the application structure −

myapp/

__init__.py

admin.py

models.py

tests.py

views.py

__init__.py − Just to make sure python handles this folder as a package.

admin.py − This file helps you make the app modifiable in the admin interface.

models.py − This is where all the application models are stored.

tests.py − This is where your unit tests are.

views.py − This is where your application views are.

Get the Project to Know About Your Application

At this stage we have our "myapp" application, now we need to register it with
our Django project "myproject". To do so, update INSTALLED_APPS tuple in the
settings.py file of your project (add your app name) −

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

Department Of CSD Page | 44


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'myapp',

Creating forms in Django, is really similar to creating a model. Here again, we


just need to inherit from Django class and the class attributes will be the form fields.
Let's add a forms.py file in myapp folder to contain our app forms. We will create a
login form.

myapp/forms.py

#-*- coding: utf-8 -*-

from django import forms

class LoginForm(forms.Form):

user = forms.CharField(max_length = 100)

password = forms.CharField(widget = forms.PasswordInput())

As seen above, the field type can take "widget" argument for html rendering;
in our case, we want the password to be hidden, not displayed. Many others widget
are present in Django: DateInput for dates, CheckboxInput for checkboxes, etc.

Using Form in a View

There are two kinds of HTTP requests, GET and POST. In Django, the request
object passed as parameter to your view has an attribute called "method" where the
type of the request is set, and all data passed via POST can be accessed via the
request.POST dictionary.

Department Of CSD Page | 45


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Let's create a login view in our myapp/views.py −

#-*- coding: utf-8 -*-

from myapp.forms import LoginForm

def login(request):

username = "not logged in"

if request.method == "POST":

#Get the posted form

MyLoginForm = LoginForm(request.POST)

if MyLoginForm.is_valid():

username = MyLoginForm.cleaned_data['username']

else:

MyLoginForm = Loginform()

return render(request, 'loggedin.html', {"username" : username})

➢ The view will display the result of the login form posted through the
loggedin.html.
➢ To test it, we will first need the login form template. Let's call it login.html.

<html>

<body>

<form name = "form" action = "{% url "myapp.views.login" %}"

method = "POST" >{% csrf_token %}

<div style = "max-width:470px;">

<center>

<input type = "text" style = "margin-left:20%;"

Department Of CSD Page | 46


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

placeholder = "Identifiant" name = "username" />

</center>

</div>

<br>

<div style = "max-width:470px;">

<center>

<input type = "password" style = "margin-left:20%;"

placeholder = "password" name = "password" />

</center>

</div>

<br>

<div style = "max-width:470px;">

<center>

<button style = "border:0px; background-color:#4285F4; margin-top:8%;

height:35px; width:80%;margin-left:19%;" type = "submit"

value = "Login" >

<strong>Login</strong>

</button>

</center>

</div>

</form>

</body>

</html>

Department Of CSD Page | 47


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

The template will display a login form and post the result to our login view
above. You have probably noticed the tag in the template, which is just to prevent
Cross-site Request Forgery (CSRF) attack on your site.

{% csrf_token %}

Once we have the login template, we need the loggedin.html template that will
be rendered after form treatment.

<html>

<body>

You are : <strong>{{username}}</strong>

</body>

</html>

Now, we just need our pair of URLs to get started: myapp/urls.py

from django.conf.urls import patterns, url

from django.views.generic import TemplateView

urlpatterns = patterns('myapp.views',

url(r'^connection/',TemplateView.as_view(template_name = 'login.html')),

url(r'^login/', 'login', name = 'login'))

When accessing "/myapp/connection", we will get the following login.html template


rendered −

Setting Up Sessions

In Django, enabling session is done in your project settings.py, by adding


some lines to the MIDDLEWARE_CLASSES and the INSTALLED_APPS options.
This should be done while creating the project, but it's always good to know, so
MIDDLEWARE_CLASSES should have −

Department Of CSD Page | 48


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

'django.contrib.sessions.middleware.SessionMiddleware'

And INSTALLED_APPS should have −

'django.contrib.sessions'

➢ By default, Django saves session information in database (django_session table or


collection), but you can configure the engine to store information using other
ways like: in file or in cache.
➢ When session is enabled, every request (first argument of any view in Django) has
a session (dict) attribute.

Let's create a simple sample to see how to create and save sessions. We have built
a simple login system before (see Django form processing chapter and Django
Cookies Handling chapter). Let us save the username in a cookie so, if not signed out,
when accessing our login page you won’t see the login form. Basically, let's make our
login system we used in Django Cookies handling more secure, by saving cookies
server side.

For this, first lets change our login view to save our username cookie server side

def login(request):

username = 'not logged in'

if request.method == 'POST':

MyLoginForm = LoginForm(request.POST)

if MyLoginForm.is_valid():

username = MyLoginForm.cleaned_data['username']

request.session['username'] = username

else:

MyLoginForm = LoginForm()

Department Of CSD Page | 49


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

return render(request, 'loggedin.html', {"username" : username}

Then let us create formView view for the login form, where we won’t display the
form if cookie is set −

def formView(request):

if request.session.has_key('username'):

username = request.session['username']

return render(request, 'loggedin.html', {"username" : username})

else:

return render(request, 'login.html', {})

Now let us change the url.py file to change the url so it pairs with our new view −

from django.conf.urls import patterns, url

from django.views.generic import TemplateView

urlpatterns = patterns('myapp.views',

url(r'^connection/','formView', name = 'loginform'),

url(r'^login/', 'login', name = 'login'))

When accessing /myapp/connection, you will get to see the following page

Department Of CSD Page | 50


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

6.IMPLEMENTATION

MODULES:
• User
• Admin
• Machine Learning
MODULES DESCRIPTION:
User:
The User can register first. While registering he required a valid user email
and mobile for further communications. Once the user register then admin can
activate the user. Once admin activated the user then user can login into our system.
User can upload the dataset based on our dataset column matched. For algorithm
execution data must be in int or float format. Here we took
Adacel Technologies Limited dataset for testing purpose. User can also add the new
data for existing dataset based on our Django application. User can click the Data
Preparations in the web page so that the data cleaning process will be starts. The
cleaned data and its required graph will be displayed.
Admin:
Admin can login with his login details. Admin can activate the registered
users. Once he activate then only the user can login into our system. Admin can view
Users and he can view overall data in the browser and he load the data. Admin can
view the training data list and test data list. Admin can load the data and view forecast
results.
Machine learning:
Based on the split criterion, the cleaned data is split into 80% training and
20% test, then the dataset is subjected to one machine learning classifier such as
Natural Language Process(NLP). Sentiment analysis by fine tuning auto encoding
models like BERT and ALBERT to achieve a comprehensive understanding of public
sentiment. Thus, we have analyzed the results of our experiment and methodology
using the contextual information and verified the insights.

Department Of CSD Page | 51


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

7.SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to
discover every conceivable fault or weakness in a work product. It provides a way to
check the functionality of components, sub assemblies, assemblies and/or a finished
product It is the process of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a
specific testing requirement.

7.1 TYPES OF TESTS


Unit Testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid outputs.
All decision branches and internal code flow should be validated. It is the testing of
individual software units of the application .it is done after the completion of an
individual unit before integration. This is a structural testing, that relies on knowledge
of its construction and is invasive. Unit tests perform basic tests at component level
and test a specific business process, application, and/or system configuration. Unit
tests ensure that each unique path of a business process performs accurately to the
documented specifications and contains clearly defined inputs and expected results.
Integration Testing
Integration tests are designed to test integrated software components to
determine if they actually run as one program. Testing is event driven and is more
concerned with the basic outcome of screens or fields. Integration tests demonstrate
that although the components were individually satisfaction, as shown by successfully
unit testing, the combination of components is correct and consistent. Integration
testing is specifically aimed at exposing the problems that arise from the combination
of components.
Functional test
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system
documentation, and user manuals.

Department Of CSD Page | 52


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

Functions : identified functions must be exercised.

Output : identified classes of application outputs must be exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.


Organization and preparation of functional tests is focused on requirements,
key functions, or special test cases. In addition, systematic coverage pertaining to
identify Business process flows; data fields, predefined processes, and successive
processes must be considered for testing. Before functional testing is complete,
additional tests are identified and the effective value of current tests is determined.
System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.
White Box Testing
White Box Testing is a testing in which in which the software tester has
knowledge of the inner workings, structure and language of the software, or at least its
purpose. It is purpose. It is used to test areas that cannot be reached from a black box
level.
Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most
other kinds of tests, must be written from a definitive source document, such as
specification or requirements document, such as specification or requirements
document. It is a testing in which the software under test is treated, as a black box
.you cannot “see” into it. The test provides inputs and responds to outputs without
considering how the software works.

Department Of CSD Page | 53


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Unit Testing
Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit
testing to be conducted as two distinct phases.
Test strategy and approach
Field testing will be performed manually and functional tests will be written in
detail.
Test Objectives
• All field entries must work properly.
• Pages must be activated from the identified link.
• The entry screen, messages and responses must not be delayed.
Features to be tested
• Verify that the entries are of the correct format
• No duplicate entries should be allowed
• All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two or
more integrated software components on a single platform to produce failures caused
by interface defects.
The task of the integration test is to check that components or software
applications, e.g. components in a software system or – one step up – software
applications at the company level – interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires
significant participation by the end user. It also ensures that the system meets the
functional requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

Department Of CSD Page | 54


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

7.2Test Cases

S.no Test Case Excepted Result Result Remarks(IF Fails)

If already user
If User registration
1 User Register Pass email exist then it
successfully.
fails.

If Username and password is


Un Register Users
2 User Login correct then it will getting Pass
will not logged in.
valid page.

Machine will train based on Results not true


3 Training Pass
the given dataset failed

Machine will Predict the


Results not true
4 Predict result based on the given Pass
failed
input values

Admin can login with his Invalid login


5 Admin login login credential. If success he Pass details will not
get his home page allowed here

Admin can
Admin can activate the If user id not found
6 activate the Pass
register user id then it won’t login.
register users

Department Of CSD Page | 55


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

8.SCREEN SHOTS

Home Page

Registration Form

Admin Login Form

Department Of CSD Page | 56


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Admin Home Page

View Activate User

User Login Form

Department Of CSD Page | 57


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

User Home page

Accuracy Score

Training model

Department Of CSD Page | 58


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

Result

Department Of CSD Page | 59


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

9.CONCLUSION

We designed a custom based CNN model to crack alphanu- meric


CAPTCHAs to find out the vulnerability of CAPTCHAs in high trafficking websites
which use common CAPTCHA generators. Using of two batch normalisation layers
made the model more stable and faster. It helped us achieve an accuracy of 94.67
percent which was way better than the existing CNN models like ALEXNET and
VGG. Although our model worked well for random CAPTCHAs but few CAPTCHAs
made work difficult and challenging for CAP-SECURE net- work. Those
misclassified CAPTCHAS were studied to help generate robust CAPTCHAs so that it
is difficult for bots to crack CAPTCHAs.
As a potential pathway for future extension we recommend solving
CAPTCHAs of variable length. It can also be extended to CAPTCHAs of different
languages. Furthermore, image CAPTCHAs could also be explored in the future.

Department Of CSD Page | 60


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

10.FUTURE ENHANCEMENT

➢ Broaden its Appetite: Train the model on a wider range of CAPTCHAs, from
text-based classics to image-based challenges, even venturing into audio and
video CAPTCHAs. Stay ahead of the curve by tackling the evolving landscape
of CAPTCHAs, including interactive, behavioral, and game-based variants.
➢ Sharpen its Skills: Explore more advanced CNN architectures or consider
hybrid approaches with RNNs or transformers for improved feature extraction
and analysis. Ensemble learning can further boost accuracy and robustness.
➢ Fortify its Armor: Train on a vast and diverse dataset of CAPTCHAs from
various sources, and employ data augmentation techniques to make the model
resilient to real-world variations. Adversarial training can prepare it for targeted
attacks.
➢ Bridge the Real World: Optimize the model for speed and resource efficiency,
enabling smooth integration with web applications even on devices with limited
capabilities. Develop tools and APIs for hassle-free deployment on CAPTCHA-
protected websites.
➢ Peer into the Future: Research the generation of inherently attack-resistant
CAPTCHAs and explore alternative authentication methods that offer robust
security without sacrificing user experience

Department Of CSD Page | 61


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

11. REFERENCES
1. M. A. Kouritzin, F. Newton, and B. Wu, “On random field completely
automated public turing test to tell computers and humans apart genera- tion,”
IEEE Transactions on Image Processing, vol. 22, no. 4, pp. 1656 – 1666, 2013.
2. B. B. Zhu, J. Yan, G. Guanbo Bao, M. Maowei Yang, and N. Ning Xu,
“CAPTCHA as graphical passwords-a new security primitive based on hard AI
problems,” IEEE Transactions on Information Forensics and Security, vol. 9,
no. 6, pp. 891 – 904, 2014.
3. Bostik, Ondrej, and Jan Klecka. “Recognition of CAPTCHA characters by
supervised machine learning algorithms.” IFAC-PapersOnLine 51, no. 6
(2018), pp. 208 – 213.
4. Yousef, Mohamed, Khaled F. Hussain, and Usama S. Mohammed. “Ac- curate,
data-efficient, unconstrained text recognition with convolutional neural
networks.” arXiv preprint arXiv:1812.11894 (2018).
5. Sivakorn, Suphannee, Jason Polakis, and Angelos D. Keromytis. “I’m robot:
deep learning to break semantic image captchas.” In 2016 IEEE European
Symposium on Security and Privacy (Euro S&P), 2016, pp. 388 – 403.
6. Von Ahn, Luis, Benjamin Maurer, Colin McMillen, David Abraham, and
Manuel Blum. “recaptcha: Human-based character recognition via web security
measures.” Science 321, no. 5895, 2008, pp. 1465 – 1468.
7. M. Belk, C. Fidas, P. Germanakos, and G. Samaras, “Do human cognitive
differences in information processing affect preference and performance of
CAPTCHA?” International Journal of Human-Computer Studies, vol. 84,
2015, pp. 1 – 18.
8. I. J. Goodfellow, Y. Bulatov, J. Ibarz, S. Arnoud and V. Shet, “Multi-digit
Number Recognition from Street View Imagery using Deep Convolutional
Neural Networks,” Computer Science, 2013.
9. M. Jaderberg, A. Vedaldi, and A. Zisserman, “Deep features for text spotting,”
European conference on computer vision, Springer, Cham, 2014, pp. 512 –
528.
10. K. Chellapilla and P. Y. Simard, “Using machine learning to break visual
human interaction proofs (HIPs),” Advances in Neural Information Processing
Systems, 2004, pp. 265 – 272.
11. J. Yan and A. S. El Ahmad, “Breaking visual CAPTCHAs with naive pattern
recognition algorithms,” in Proceedings of the 23rd Annual Computer Security
Applications Conference, Miami Beach, FL, USA, December 2007, pp. 279 –
291.
12. H. Gao, J. Yan, F. Cao et al., “A simple generic attack on text captchas,” in
Proceedings of the Network & Distributed System Security Symposium, San
Diego, CA, USA, February 2016, pp. 220 – 232.
13. G. Mori and J. Malik, “Recognizing objects in adversarial clutter: Breaking a
visual CAPTCHA,” Computer Vision and Pattern Recognition, Proc. IEEE
Computer Society Conference, Vol. 1, IEEE, 2003, pp.I-I.

Department Of CSD Page | 62


Captcha Recognition And Analysis Using Custom Based CNN Model – Capsecure

14. K. Qing and R. Zhang, “A multi-label neural network approach to solving


connected CAPTCHAs,” in Proceedings of the 2017 14th IAPR International
Conference on Document Analysis and Recognition (IC- DAR), IEEE
Computer Society, Kyoto, Japan, November 2017, pp. 1313 – 1317.
15. B. Shi, X. Bai, and C. Yao, “An end-to-end trainable neural network for image-
based sequence recognition and its application to scene text recog- nition,”
IEEE Transactions on Pattern Analysis & Machine Intelligence, vol. 39, no. 11,
pp. 2298 – 2304, 2016.
16. F.-L. Du, J.-X. Li, Z. Yang, P. Chen, B. Wang, and J. Zhang, “CAPTCHA
recognition based on faster R-CNN,” Intelligent Computing ;eories and
Application, pp. 597 – 605, 2017.
17. D. Lin, F. Lin, Y. Lv, F. Cai, and D. Cao, “Chinese character CAPTCHA
recognition and performance estimation via deep neural network,” Neu-
rocomputing, vol. 288, pp. 11 – 19, 2018.
18. F. H. Alqahtani and F. A. Alsulaiman, “Is image-based CAPTCHA secure
against attacks based on machine learning? an experimental study,” Computers
& Security, vol. 88, 2019.
19. J. Wang, J. Qin, J. Qin, X. Xiang, Y. Tan, and N. Pan, “CAPTCHA recognition
based on deep convolutional neural network,” Mathematical Biosciences and
Engineering, vol. 16, no. 5, pp. 5851 – 5861, 2019.
20. Bostik, Ondrej, and Jan Klecka. “Recognition of CAPTCHA characters by
supervised machine learning algorithms.” IFAC-PapersOnLine 51, no. 6
(2018), pp. 208 – 213.
21. Yousef, Mohamed, Khaled F. Hussain, and Usama S. Mohammed. “Ac- curate,
data-efficient, unconstrained text recognition with convolutional neural
networks.” arXiv preprint arXiv:1812.11894 (2018).
22. Karthik, CHBL-P., and Rajendran Adria Recasens. “Breaking microsofts
CAPTCHA.” Technical report (2015).
23. Kopp, Martin, Matej Nikl, and Martin Holena. “Breaking captchas with
convolutional neural networks.” ITAT 2017 Proceedings (2017): pp. 93 – 99.
24. Zhao, Nathan, Yi Liu, and Yijun Jiang. “CAPTCHA Breaking with Deep
Learning,” (2017).

Department Of CSD Page | 63

You might also like