$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

Convolution Filtering을 이용한 캡차 분석
CAPTCHA Analysis using Convolution Filtering 원문보기

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.24 no.6, 2014년, pp.1129 - 1138  

김근영 (인하대학교 컴퓨터정보공학과) ,  신동오 (인하대학교 컴퓨터정보공학과) ,  이경희 (수원대학교 전기공학과) ,  양대헌 (인하대학교 컴퓨터정보공학과)

초록
AI-Helper 아이콘AI-Helper

캡차는 사람은 쉽게 판단할 수 있으나 기계는 판단할 수 없는 문제를 이용하여 사람과 기계를 구별하는 기술이다. 널리 사용되고 있는 문자열 기반 캡차는 구현이 간단하나 이미지 기반이나 소리 기반 캡차에 비해 상대적으로 보안성이 약하다. 텍스트 기반 캡차의 보안성을 높이기 위해 다양한 기법이 개발되었으며, 그 중 하나는 복잡한 배경이나 노이즈를 사용하여 기계가 문자를 인식하기 어렵게 만드는 것이다. 이 논문에서는 이미지 프로세싱 기법 중 하나인 콘볼루션 필터링(Convolution Filter)을 이용하여 효과적으로 캡차를 공격하는 방법을 제시하고, 이를 네이버 카페의 캡차에 적용하여 분석해보았다.

Abstract AI-Helper 아이콘AI-Helper

CAPTCHA is a technique which distinguishes human and machine using what human can judge easily but machine can't. Though Text-based-CAPTCHA has been widely used and can be implemented easily, it is less security than other CAPTCHAs such as image-based, or audio-based CAPTCHAs. To enhance the securit...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • Fig.4.의 캡차 뿐만 아니라 문자 외의 노이즈나 배경을 가진 캡차들에 대해서 각 캡차의 특성에 맞게 필터링에 쓰이는 커널의 값이나 필터링 횟수를 바꾸어 같은 배경제거 알고리즘을 적용해 보았다. AOL(Fig.
  • 이 때 리스트의 길이가 추정 길이와 다른 리스트들은 얼룩이 포함되었거나, 글자가 너무 많이 지워져 얼룩으로 판단되어 리스트에 포함되지 못한 경우이므로 실험에 사용하지 않는다. SVM 을 이용하여 각 숫자들을 인식한 후, 각 자리에 대하여 인식 결과 가장 많이 나온 숫자를 해당 숫자로 선택한다.
  • 이 리스트들의 길이를 비교하여 캡차의 길이를 추정한 후, 리스트의 길이가 추정 길이와 같은 리스트들만 이후의 SVM 판독 과정에 이용하였다. SVM 판독 결과로 생성된 파일을 분석하여, 각 자리별로 가장 많이 나온 숫자를 해당 숫자의 결과로 선택하였다.
  • 배경에 수평·수직선이 존재하는 두 번째 세 번째 형태의 경우는, 이웃하는 픽셀이 없는 픽셀들을 인식하여 제거한다. 각각의 캡차에서 배경을 지운 후에는 connected component를 인식하여 기계에서 문자를 인식하도록 하였다. Fig.
  • 일정 시간 내에 캡차를 재요청하면 숫자는 같지만 배경과 왜곡이 변형된 캡차가 주어진다는 특성을 이용하여 한번의 공격에 30개의 캡차를 불러오도록 하였다. 각각의 캡차의 배경을 제거한 후 숫자 별로 나누어 캡차마다 리스트를 생성하여 저장하였다. 이 리스트들의 길이를 비교하여 캡차의 길이를 추정한 후, 리스트의 길이가 추정 길이와 같은 리스트들만 이후의 SVM 판독 과정에 이용하였다.
  • 배경제거는 Ⅳ장에서 설명한 콘볼루션 필터링을 이용하였다. Fig.
  • CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)는 HIP(Human Interaction Proof) 기술 의 일종으로[1], 어떠한 사용자가 실제 사람인지 컴퓨터 프로그램인지 구별하기 위해 사용되는 방법이다. 사람은 인식할 수 있으나 컴퓨터는 인식하기 어렵게 의도적으로 왜곡한 후 그 내용을 물어보는 방식의 테스트로, 이용 통과 여부를 가려 테스트 대상이 사람인지 컴퓨터인지를 판별한다. 캡차는 현재 광고성 게시물 방지, 아이디 자동생성 방지, 이메일 주소 보호, 온라인 선거, 계정 해킹 방지 등에 사용되고 있다[2].
  • 네이버 캡차는 복잡한 이미지가 배경에 위치하고, 그 위로 반투명의 문자를 보여주어 사람은 인식하기 쉬우나 일반적인 기계는 인식하기 어렵도록 설계되어 있다. 이 논문에서는 네이버 카페의 캡차에 콘볼루션 필터링과 색상 반전을 이용하여 배경을 제거하였다. 그리고 개별적으로 글자를 분리한 뒤 SVM을 이용하면 높은 확률로 캡차의 내용을 인식할 수 있음을 실험을 통해 보였다.
  • 따라서 캡차에서 문자를 나타내는 픽셀은 주변 픽셀과 RGB값이 비슷하여 필터링의 영향을 크게 받지 않는 반면에 노이즈나 배경은 크게 영향을 받으므로 원래의 형태를 잃게 된다. 이 논문에서는 콘볼루션 필터링에 사용되는 커널의 값을 다르게 하여 블러링 효과와 샤프닝 효과를 번갈아 두 번을 반복하여 실시하였다.
  • 각각의 캡차의 배경을 제거한 후 숫자 별로 나누어 캡차마다 리스트를 생성하여 저장하였다. 이 리스트들의 길이를 비교하여 캡차의 길이를 추정한 후, 리스트의 길이가 추정 길이와 같은 리스트들만 이후의 SVM 판독 과정에 이용하였다. SVM 판독 결과로 생성된 파일을 분석하여, 각 자리별로 가장 많이 나온 숫자를 해당 숫자의 결과로 선택하였다.
  • 따라서 숫자의 가로 길이가 25를 넘으면 두 숫자가 붙어서 분리 되었다고 판단하여 강제로 분리를 시행한다. 이때 중간의 다섯 픽셀 중에서 수직선 상에 존재하는 검정 픽셀의 수가 가장 작은 점이 경계일 가능성이 높으므로, 그 픽셀을 기준으로 두 숫자를 강제로 분리함으로써 리스트를 수정 한다.
  • 과 같다. 일정 시간 내에 캡차를 재요청하면 숫자는 같지만 배경과 왜곡이 변형된 캡차가 주어진다는 특성을 이용하여 한번의 공격에 30개의 캡차를 불러오도록 하였다. 각각의 캡차의 배경을 제거한 후 숫자 별로 나누어 캡차마다 리스트를 생성하여 저장하였다.
  • SVM(Support Vector Machine)은 분류(classification), 회귀(regression) 등 여러 분야 에서 사용되는 기계학습 알고리즘의 하나이다[5]. 캡차를 각각의 문자로 분리한 후에 SVM을 이용하여 각 문자를 학습시키고 각 이미지가 어떤 문자인지 질의하면 SVM이 학습된 내용을 바탕으로 응답한다는 것을 이용하여 각 글자가 무엇인지를 알아내기 위하여 이용 하였다. 캡차 분석에서 SVM은 자주 이용되는 도구이며 좋은 결과를 보인다[6][7].

대상 데이터

  • 예측 전, SVM 학습에 쓰인 모델 파일은 실험 전에 미리 만들어놓았으며, 모델 파일 생성에 이용한 이미지들은 실험에 사용하지 않았다. 사용한 이미지의 총 개수는 1부터 9까지 150개씩, 총 1350개의 이미지를 사용하였다. 실험을 진행한 환경은 Table 3과 같다.
  • 실험에 사용된 캡차는 총 1,000세트이며, 각 세트는 동일한 숫자이지만 서로 다른 배경을 가진 30개의 캡차 이미지로 구성되어있다. 하나의 캡차를 공격하는데 이용된 이미지는 30개이므로 총 30,000개의 이미지를 사용하였다.
  • 실험에 사용된 캡차는 총 1,000세트이며, 각 세트는 동일한 숫자이지만 서로 다른 배경을 가진 30개의 캡차 이미지로 구성되어있다. 하나의 캡차를 공격하는데 이용된 이미지는 30개이므로 총 30,000개의 이미지를 사용하였다. 실험에 사용된 이미지들은 순수하게 분석에 소요되는 시간을 측정하기 위하여 실험 전에 미리 컴퓨터에 저장해 놓았다.

이론/모형

  • 캡차 분석에서 SVM은 자주 이용되는 도구이며 좋은 결과를 보인다[6][7]. 실험에는 오픈소스 중 하나인 LIBSVM을 이용하였다[11].
  • net의 캡차이다. 캡차의 공격에는 주위의 픽셀 값과 threshold값을 이용한 Gibbs 알고리즘이 사용되었다[1].
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
네이버가 현재 사용하고 있는 캡차의 특징에는 무엇이 있는가? · 4~8개의 숫자(1~9)로 이루어져 있다. · 일정 시간 내에 캡차를 다시 요청하면 배경 이미지와 숫자의 왜곡 정도만 달라지고 입력해야 할 숫자 자체는 바뀌지 않는다. · 가입을 다시 시도할 경우에 숫자가 바뀐다. · 전체 캡차 이미지의 크기는 200x90으로 고정 되어 있으나, 숫자 하나하나의 길이는 고정되어 있지 않다. · 숫자는 가로 방향으로 떨어져 분포한다. · 숫자는 크기가 바뀌기도 하지만 약간의 왜곡도 주어진다. · 숫자는 흰색이지만, 투명하게 처리하여 배경의 영향을 받는다. · 배경으로 쓰이는 이미지는 자연의 꽃, 풀, 나 무, 나뭇잎, 돌 등으로 구성되어 있다. · 같은 배경이미지가 재사용된다.
캡차는 어떤 기술인가? 캡차는 사람은 쉽게 판단할 수 있으나 기계는 판단할 수 없는 문제를 이용하여 사람과 기계를 구별하는 기술이다. 널리 사용되고 있는 문자열 기반 캡차는 구현이 간단하나 이미지 기반이나 소리 기반 캡차에 비해 상대적으로 보안성이 약하다.
문자열 기반 캡차의 장단점은 무엇인가? 캡차는 사람은 쉽게 판단할 수 있으나 기계는 판단할 수 없는 문제를 이용하여 사람과 기계를 구별하는 기술이다. 널리 사용되고 있는 문자열 기반 캡차는 구현이 간단하나 이미지 기반이나 소리 기반 캡차에 비해 상대적으로 보안성이 약하다. 텍스트 기반 캡차의 보안성을 높이기 위해 다양한 기법이 개발되었으며, 그 중 하나는 복잡한 배경이나 노이즈를 사용하여 기계가 문자를 인식하기 어렵게 만드는 것이다.
질의응답 정보가 도움이 되었나요?

참고문헌 (11)

  1. E. Bursztein and M. Martin and Jon C.Mitchell, "Text-based CAPTCHA Strengths and Weaknesses," 18th ACM conference of Computer and Communication security 2011 (CSS'2011), pp. 125-138, 2011 

  2. Carnegie Mellon University. "The Official CAPTCHA site," http://www.captcha.net/ 

  3. V. Podlozhnynk, "Image convolution with CUDA," NVIDIA Corporation white paper, vol. 1.0, June 2007 

  4. C. Sutherland, "Usability and Security of Text-based CAPTCHAs," UMM CSci Senior Seminar Conference, Morris, MIN. 2012. 

  5. Joachims, T. "Making large-scale SVM learning practical," In Advances in Kernel-Methods - Support Vector Learning, Support Vector Learning, Bl Schollkopf, C.J.C. Burges, and A. J. Smola, Eds., MIT Press, Cambridge, MA, pp. 169-184, 1998 

  6. SungHo Kim, DaeHun Nyang, KyungHee Lee, "Breaking character-based CAPTCHA using color information", Journal of The Korea Institute of information Security & Cryptology, 19(6), pp. 105-112, Dec. 2009 

  7. DaeHun Nyang, YongHeon Choi, SeokJun Hong, KyungHee Lee, "Analysis of Naver CAPTCHA with Effective Segmentation", Journal of The Korea Institute of information Security & Cryptology, 23(5), pp. 909-917, Oct. 2013 

  8. http://www.nielsen.com/kr/ko/top10s.html?rankingwebsites 

  9. www.internettrend.co.kr/trendForward.tsp 

  10. K. Chellapilla, P. Y. Simard, "Using Machine Learning to Break Visual Human Interaction Proofs (HIPs)," Advances in neural information processing systems 17, pp. 265-272, 2005. 

  11. C. C. Chag, C. J. Lin, "LIBSVM: a library for support vector machines," ACM Transactions on intelligent Systems and Technology(TIST) 2(3), article pp. 1-27, 2011 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로