컴퓨터 사용자가 사람인지 아닌지를 판별하는 CAPTCHA는 많은 포털 사이트에서 자동 프로그램에 의한 비정상적인 회원가입 또는 다중 로그인 방지 등을 위해 사용되고 있다. 많은 웹 사이트들은 숫자 혹은 영어로 구성된 문자열 기반 캡챠를 대부분 사용하는데, 최근에는 OCR 기술의 발달로 단순한 텍스트 기반 캡챠는 쉽게 무력화 된다. 이에 대한 대안으로 많은 웹 사이트들은 글자 판독을 어렵게 하기 위해 잡음을 첨가하거나 글자를 왜곡시키는 등 다양한 시도를 하고 있다. 본 논문에서 대상으로 하는 국내 한 포털 사이트 역시 공격자들에 의해 많은 공격을 당하였고, 끊임없이 캡챠를 발전시키고 있다. 본 논문에서는 해당 사이트에서 현재 사용되고 있는 다양한 자연 배경을 지닌 캡챠에 대해 분석하고, SVM을 이용한 특징 분리 후 CNN을 이용한 글자 인식을 통해 해당 캡챠의 취약성을 검증하였다. 실험 결과, 총 1000개의 캡챠 이미지 중 368개에 대해 정확히 맞추었고, 이를 통해 해당 포털 사이트에서 현재 사용하고 있는 새로운 버전의 캡챠 역시 안전하지 않음을 입증하였다.
컴퓨터 사용자가 사람인지 아닌지를 판별하는 CAPTCHA는 많은 포털 사이트에서 자동 프로그램에 의한 비정상적인 회원가입 또는 다중 로그인 방지 등을 위해 사용되고 있다. 많은 웹 사이트들은 숫자 혹은 영어로 구성된 문자열 기반 캡챠를 대부분 사용하는데, 최근에는 OCR 기술의 발달로 단순한 텍스트 기반 캡챠는 쉽게 무력화 된다. 이에 대한 대안으로 많은 웹 사이트들은 글자 판독을 어렵게 하기 위해 잡음을 첨가하거나 글자를 왜곡시키는 등 다양한 시도를 하고 있다. 본 논문에서 대상으로 하는 국내 한 포털 사이트 역시 공격자들에 의해 많은 공격을 당하였고, 끊임없이 캡챠를 발전시키고 있다. 본 논문에서는 해당 사이트에서 현재 사용되고 있는 다양한 자연 배경을 지닌 캡챠에 대해 분석하고, SVM을 이용한 특징 분리 후 CNN을 이용한 글자 인식을 통해 해당 캡챠의 취약성을 검증하였다. 실험 결과, 총 1000개의 캡챠 이미지 중 368개에 대해 정확히 맞추었고, 이를 통해 해당 포털 사이트에서 현재 사용하고 있는 새로운 버전의 캡챠 역시 안전하지 않음을 입증하였다.
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart) is a test used in computing to distinguish whether or not the user is computer or human. Many web sites mostly use the character-based CAPTCHA consisting of digits and characters. Recently, with the development of OC...
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart) is a test used in computing to distinguish whether or not the user is computer or human. Many web sites mostly use the character-based CAPTCHA consisting of digits and characters. Recently, with the development of OCR technology, simple character-based CAPTCHA are broken quite easily. As an alternative, many web sites add noise to make it harder for recognition. In this paper, we analyzed the most recent CAPTCHA, which incorporates the addition of the natural images to obfuscate the characters. We proposed an efficient method using support vector machine to separate the characters from the background image and use convolutional neural network to recognize each characters. As a result, 368 out of 1000 CAPTCHAs were correctly identified, it was demonstrated that the current CAPTCHA is not safe.
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart) is a test used in computing to distinguish whether or not the user is computer or human. Many web sites mostly use the character-based CAPTCHA consisting of digits and characters. Recently, with the development of OCR technology, simple character-based CAPTCHA are broken quite easily. As an alternative, many web sites add noise to make it harder for recognition. In this paper, we analyzed the most recent CAPTCHA, which incorporates the addition of the natural images to obfuscate the characters. We proposed an efficient method using support vector machine to separate the characters from the background image and use convolutional neural network to recognize each characters. As a result, 368 out of 1000 CAPTCHAs were correctly identified, it was demonstrated that the current CAPTCHA is not safe.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 국내 인터넷 사용자의 80% 이상이 이용하는 한 포탈 사이트의 다양한 자연 배경 그림을 지닌 글자 기반 캡챠를 분석하고, 실험 결과를 통해 해당 캡챠가 보안에 취약함을 소개하고자 한다.
가설 설정
과 같이 캡챠의 가장자리 부분을 이용한다. 캡챠의 글자는 항상 중앙 부분에 위치하는 특성이 있기 때문에 캡챠의 가장자리에 해당하는 부분들은 배경 그림에 해당하는 백그라운드 정보라고 가정할 수 있다.
제안 방법
본 논문에서 제안하는 알고리즘에서는 83% 이상의 높은 스레쉬홀드를 주어 글자의 부분들이 조금 사라지더라도 최대한 잡음이 없도록 설계하였다. 잡음이 발생한 포그라운드 정보는 3.
대상 데이터
본 논문에서 대상으로 하는 한 포털 사이트는 국내 사용자의 80% 이상이 사용하는 곳으로 많은 사용자를 보유하고 있어 공격자들의 타겟이 집중되고 있다. 사실 해당 포털 사이트는 옛날부터 많은 공격을 당했다.
본 논문에서는 직관적인 이해를 돕기 위해 배경과 글자간의 채도 차가 큰 붉은 계열의 배경을 지닌 캡챠를 이용하였고 이에 Fig. 9.
테스트를 위해 해당 사이트 캡챠[15] 총 1,000개의 이미지를 내려받아 테스트하였으며, 성능 측정을 위해 캡챠 글자를 눈으로 직접 확인하여 실제 글자를 csv 파일에 기록하였다. 해당 이미지와 csv 파일은 연구실 홈페이지[16]에 업로드 하였다.
이론/모형
HSV color 모델은 색상을 나타내는 Hue, 채도를 나타내는 Saturation, 밝기를 나타내는 Value로 이루어져있는데, 본 알고리즘에서는 Saturation과 Value 정보 2가지를 이용해 글자 분리에 사용한다. 글자에 해당하는 하얀 부분은 Saturation이 낮고, Value가 높은 특징이 있다.
실험은 MATLAB 2014b을 이용하여 진행하였으며, 분류 알고리즘인 SVM은 MATLAB 2014b 버전의 빌트인 함수로 구현하였다. 문자 인식 알고리즘인 CNN 구현을 위해 DeepLearnToolbox[17]를 사용하였으며, LBP 구현을 위해 [18]을 사용하였다.
2 단계에서 얻은 결과로부터 글자를 각각 분리하여 글자를 인식하게 된다. 본 논문에서는 8-Neighborhood 기반 군집화 방법을 사용하여 글자를 분리한다.
위 학습 데이터를 이용해 SVM은 Support Vector를 정하고 백그라운드와 포그라운드 사이 최대 여백을 갖는 선(초평면)을 생성한다. 분류를 위한 커널로는 RBF(Radial Basis Function)를 사용하였다.
과 같다. 실험은 MATLAB 2014b을 이용하여 진행하였으며, 분류 알고리즘인 SVM은 MATLAB 2014b 버전의 빌트인 함수로 구현하였다. 문자 인식 알고리즘인 CNN 구현을 위해 DeepLearnToolbox[17]를 사용하였으며, LBP 구현을 위해 [18]을 사용하였다.
특징 분리를 위한 분류기로는 SVM을 사용한다. SVM 분류기는 글자와 배경 특징 사이 최대한의 여백(margin)을 찾아 초평면(hyper-plane)을 생성해주기 때문에 타 분류기에 비해 일반화 능력이 뛰어난 특징이 있다.
성능/효과
본 논문에서는 자연 배경을 지닌 텍스트 기반 캡챠의 글자를 SVM과 CNN을 이용해 효과적으로 분리할 수 있음을 선보였다. 실험 결과 36.
후속연구
따라서 해당 사이트는 캡챠가 공격 당하지 않도록 빠른 시일 내에 현재 사용하고 있는 캡챠의 디자인을 변경해야 할 것으로 권고된다. 글자 분리가 힘든 복합적인 요소를 사용하여 캡챠의 난이도를 높이는 것이 필요하며 그렇다고 사람조차 알아보기 힘든 가독성이 떨어지는 캡챠를 만들게 되면 사용자의 불편을 초래할 수 있으므로 이 점 역시 고려해서 개선해야 한다.
사실 해당 캡챠는 글자가 붙어 있는 경우는 많이 없고, 대부분은 실제 글자를 잡음으로 보고 제거하는 첫 번째 경우와 잡음이 제대로 제거되지 않아 잡음을 글자로 인식하는 두 번째 경우이다. 잡음 문제를 잘 해결해야만 해당 캡챠에 대한 효과적인 공격이 가능하며 이 점은 향후 연구 과제로 남겨둔다.
질의응답
핵심어
질문
논문에서 추출한 답변
CAPTCHA는 무엇인가?
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)는 사용자가 사람인지 컴퓨터인지를 판단하기 위해 사용되는 기술의 일종으로, 많은 포털 사이트에서 회원가입 혹은 다중 로그인 방지 등을 위해 사용되고 있다[1].
캡챠를 공격하는 가장 중요한 단계는 무엇인가?
문자열 기반 캡챠는 현재까지 많은 포탈에서 사용되고 있으며, 이를 공격하기 위한 많은 연구들이 진행되었다[5]. 사실 캡챠를 공격하는 가장 중요한 단계는 글자 분리와 글자 인식 단계이다. 그런데 글자 인식의 경우 SVM(Support Vector Machine)[6], KNN (K Nearest Neighbors)[7], CNN (Convolutional Neural Network)[8] 등 다양한 분류기가 이미 존재하고, 글자 분리만 잘 된다면 해당 분류기를 통해 95%가 넘는 글자 인식율을 보인다.
OCR 기술의 발달로 인해 단순한 텍스트 기반 캡챠는 쉽게 무력화되는데, 이를 해결하기 위한 방안으로 무엇을 시도하는가?
많은 웹 사이트들은 숫자 혹은 영어로 구성된 문자열 기반 캡챠를 대부분 사용하는데, 최근에는 OCR 기술의 발달로 단순한 텍스트 기반 캡챠는 쉽게 무력화 된다. 이에 대한 대안으로 많은 웹 사이트들은 글자 판독을 어렵게 하기 위해 잡음을 첨가하거나 글자를 왜곡시키는 등 다양한 시도를 하고 있다. 본 논문에서 대상으로 하는 국내 한 포털 사이트 역시 공격자들에 의해 많은 공격을 당하였고, 끊임없이 캡챠를 발전시키고 있다.
참고문헌 (18)
Von Ahn, Luis, et al. "CAPTCHA: Using hard AI problems for security," Advances in Cryptology-EUROCRYPT 2003. Springer Berlin Heidelberg, vol. 2656, pp. 294-311, May. 2003.
Hernandez-Castro, Carlos Javier, and Arturo Ribagorda. "Pitfalls in CAPTCHA design and implementation: The Math CAPTCHA, a case study," computers & security, vol. 29, no. 1, pp. 141-157, Feb. 2010.
Soupionis, Yannis, and Dimitris Gritzalis. "Audio CAPTCHA: Existing solutions assessment and a new implementation for VoIP telephony," Computers & Security, vol. 29, no. 5, pp. 603-618, Jul. 2010.
Kalsoom, Sajida, Sheikh Ziauddin, and Abdul Rehman Abbasi. "An image-based CAPTCHA scheme exploiting human appearance characteristics," KSII Transactions on Internet and Information Systems (TIIS), vol. 6, no. 2, pp. 734-750, Feb. 2012.
Bursztein, Elie, Matthieu Martin, and John Mitchell. "Text-based CAPTCHA strengths and weaknesses," Proceedings of the 18th ACM conference on Computer and communications security. ACM, pp. 125-138, Oct. 2011.
Gunn, Steve R. "Support vector machines for classification and regression," ISIS technical report 14, May. 1998.
Lee, Yuchun. "Handwritten digit recognition using k nearest-neighbor, radial-basis function, and backpropagation neural networks," Neural computation, vol. 3, no. 3, pp. 440-449, Mar. 1991.
Ciresan, Dan Claudiu, et al. "Convolutional neural network committees for handwritten character classification," Document Analysis and Recognition (ICDAR), 2011 International Conference on. IEEE, pp. 1135-1139, Sep. 2011.
SungHo Kim, DaeHun Nyang and KyungHee Lee. "Breaking character-based CAPTCHA using color information," Journal of The Korea Institute of Information Security & Cryptology(JKIISC), 19(6), pp. 105-112, Dec. 2009.
DaeHun Nyang, YongHeon Choi, SeokJun Hong and Kyunghee Lee, "Analysis of Naver CAPTCHA with Effective Segmentation." Journal of The Korea Institute of Information Security & Cryptology(JKIISC), 23(5), pp. 909-917, Oct. 2013.
Ojala, Timo, Matti Pietikainen, and David Harwood. "A comparative study of texture measures with classification based on featured distributions," Pattern recognition, vol. 29, no. 1, pp. 51-59, Jan. 1996.
LeCun, Yann, Koray Kavukcuoglu, and Clement Farabet. "Convolutional networks and applications in vision." Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on. IEEE, pp. 253-256, May. 2010.
Recognition demos using CNN, "LeNet-5, convolutional neural networks", http://yann.lecun.com/exdb/lenet/
※ AI-Helper는 부적절한 답변을 할 수 있습니다.