IT용어위키



스크래핑

Scraping
타겟 시스템에 접속하여 자동으로 인증을 수행하고 HTML 등 출력되는 데이터를 기반으로 정보를 추출하는 기술

동작 구조

고객의 통장 잔고 정보를 읽어 오려고 한다. 아래 과정은 스크래핑 엔진에서 자동으로 수행한다.
  1. 인터넷 뱅킹 사이트에 접속한다.
  2. 고객의 공인인증서 비밀번호를 입력하여 로그인 한다.
  3. 통장 잔고를 확인할 수 있는 계좌 정보 페이지로 이동한다.
  4. 화면에 보이는 계좌 정보들 중 "최종 잔액"이라는 메시지를 찾아 그 옆 셀에 있는 숫자를 읽는다.

동작 유형

  • DOM 기반
    • 만약 통장 잔고가 <span class='blance'>50,000</span> 와 같이 구분할 수 있는 태그안에 속해 있을 경우 태그를 기준으로 접근할 수 있다.
    • table.info > tbody > tr > td.value > span.balance 와 같이 DOM 구조를 통해 찾아갈 수 있다.
  • 텍스트 기반
    • 만약 통장 잔고가 항상 '최종 잔액'이라는 글자의 옆 셀에 있다면 글자를 먼저 찾고 이를 기준으로 값을 찾을 수 있다.
    • 위 예시는 이 텍스트 기반을 통한 스크래핑 예시이다.

문제점 및 해결법

문제점

  • 패스워드 저장
    • 인증을 자동으로 처리하기 위해선 고객의 패스워드를 온전히 저장 필요
    • 암호화를 하더라도 양방향 암호화하여 저장한 후 필요 시 마다 복호화하여 사용해야 함
    • 일반적으로 인증을 위한 패스워드는 일방향 암호화하여 저장하는데 비하여 상대적으로 매우 위험
    • 개인정보의 안전성 확보조치 기준 위반 소지
  • 프라이버시 침해
    • 위의 예시에선 단지 고객의 통장 정보를 읽기 위해 고객의 모든 정보에 접근할 수 있는 인증 대행
    • 고객은 통장 정보를 읽으라고 비밀번호를 제공했지만 실제론 그 외의 다른 모든 정보를 무단으로 남용할 가능성
  • 가용성 부족
    • 텍스트 기반이든 DOM 기반이든 인터넷 뱅킹 사이트에서 구조를 조금만 변경해도 접근 불가
    • 새로운 텍스트 및 DOM 규칙을 찾아야 하므로 복구에 일정 시간 소요
  • 웹 전용
    • 웹 등 구조화된 텍스트 기반의 정보가 아니면 읽을 수 없음
    • 일례로, 뱅크샐러드 등의 핀테크 서비스에서 카카오뱅크 연동은 불가(카카오뱅크는 앱으로만 제공되므로)

해결법

  • 국내 대부분의 핀테크 업체에서 이 스크래핑 방식을 사용하여 재무 분석 등의 서비스 제공
  • 금융위원회금융보안원에서는 스크래핑 방식의 위험성에 대해 경고하고 마이데이터 서비스 추진
  • 금융회사와 핀테크 회사간 API 계약을 통해 정식으로 정보를 제공받음으로써 프라이버시, 가용성 등 문제점 해결 도모
  • 신용정보법 개정을 통해 스크래핑 방식으로 정보를 읽는 것을 금지

스크래핑과 API 비교

구분 스크래핑 방식 API 방식
고객 인증
  • 인증정보를 핀테크 업체 서비스에 입력
  • 인증정보 저장 후, 필요한 서비스에 접속
  • 필요한 서비스에 이용자가 직접 로그인
  • 필요한 접근권한을 부여 후 허용
정보 처리
  • 화면 보여지는 데이터 중 필요한 데이터 추출
  • 필요한 서비스에서 제공하는 API를 이용
  • 접근이 허용된 필요정보를 요청 및 수신
표준화
  • 불특정 웹페이지를 대상으로 하므로 표준화 불가
  • API 및 데이터 포맷에 대한 표준화 가능
정보 관리
  • 중요 정보(ID/PW) 직접 저장 관리
  • 중요정보 대신 허용권한증표(Token) 관리
접근 통제
  • 필요 이상의 정보 접근 가능
  • 이용자 중요 정보 오남용 가능성 높음
  • 이용자가 부여한 권한 내에서 정보 수집 가능
  • 정보 접근 통제 용이
서비스 탈퇴
  • 입력한 인증 정보 변경 또는 재발급 필요
  • (미 변경 시 2차 피해 발생 가능성)
  • 토큰만 별도로 무효화 처리 가능
  • 토큰 기한 만료 시 자동으로 인증 불가
보안 적용
  • 핀테크 업체 주도의 보안만 한정적으로 적용
  • 금융회사와 협의하여 필요한 보안 대책 마련 가능

기술 활용

  • 스크래핑 기술은 핀테크에만 사용되는 기술이 아니며, API로 완전 대체될 수 없는 독립적인 기술
    • 핀테크에서 고객정보에 접근하는 사업 모델만 API로 대체 가능
  • 웹 크롤링, 자동 정보 수집 등에 광범위하게 사용될 수 있음

기출 문제

같이 보기

참고 문헌

  • 정보관리기술사 120회 기출문제 해설집(119회 그루터기 동기회)

  출처: IT위키(IT위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!