보안뉴스 창간 15주년을 축하합니다!!

Home > 전체기사

사이버 공격이라고 할 수도 없고 안 할 수도 없는 ‘웹 스크래핑’

  |  입력 : 2021-05-10 14:02
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
웹 페이지에 공개된 정보를 긁어가는 행위인 웹 스크래핑을 두고 ‘공격’이라고 정의할 수는 없다. 하지만 사이버 공격자들은 이 행위를 통해 실제 공격에 필요한 여러 가지 정보를 적극적으로 가져간다. 그렇기 때문에 사이버 공격 행위로 정의되지 않더라도 경계해야 함은 분명하다.

[보안뉴스 문가용 기자] 웹 스크래핑(Web scraping)은 인터넷만큼이나 역사가 깊은 개념이다. 그럼에도 늘 간과되거나 조명을 받지 못하고 있다. 엄밀히 말하면 ‘해킹 공격’이나 ‘침해 사고’로 분류되고 있지 않기 때문이며, 그렇기 때문에 웹 스크래핑이 야기하는 위험에 수많은 조직들이 노출되곤 한다.

[이미지 = utoimage]


페이스북에서 최근 발생한 사건이 좋은 예다. 대규모 정보가 유출되었음에도 페이스북은 “이미 공개된 정보를 스크랩 한 것이 노출된 것 뿐”이라고 사건을 축소시켰다. 틀린 말은 아니다. 하지만 이런 공개 정보 스크랩을 통해 발생하는 리스크에 대해서는 전혀 언급하지 않았다는 점에서 페이스북의 대처가 좋다고 말하기는 어렵다.

사용자들의 데이터를 사이트들로부터 스크랩 하는 행위는 거의 항상 존재해 온 것으로, 페이스북은 이러한 사용자 데이터 대거 수집에 늘 노출되어 왔던 플랫폼이다. 필자조차도 2013년 페이스북 사용자 데이터를 스크랩하는 방법 두 가지를 공개하기도 했었다. 현재도 페이스북의 비밀번호 변경 페이지를 통해 비밀 사용자들의 목록을 스크랩하는 것이 가능한 상태이다.

이러한 데이터 스크래핑이 소셜미디어 플랫폼만의 문제인 것도 아니다. 다양한 산업군 내 여러 유형의 조직들이 웹 스크래핑 혹은 데이터 스크래핑에 노출되어 있다. 특정 기업이나 조직을 표적으로 삼아 공격을 준비할 때, 해커들은 바로 이 스크래핑을 통해 첩보를 수집하고 공격을 기획하기 때문이다.

공격자들, 어떤 식으로 웹 스크래핑 기술을 활용하는가?
웹 스크래핑은 앞서 밝혔듯 그 자체로 해킹이나 침해로 분류되지 않는다. 하지만 많은 해킹과 침해 공격의 시초가 될 때가 많다. 심지어 레드 팀들도 웹 스크래핑을 종종 활용한다. 공개된 문서와 게시글에서 메타데이터를 추출함으로써 레드 팀은 직원 이름, 사용자 이름, 추측한 사용자 이름, 이메일 포맷 등을 알아낼 수 있게 된다.

이런 메타데이터 없이 알아내기 힘든 정보들이다. 여기에다가 링크드인과 같은 플랫폼에서 스크랩한 현재 직원들 정보를 결합할 경우 공격자들은 표적으로 삼을 만한 인물들을 보다 구체화시킬 수 있게 된다.

일례로 필자의 레드 팀은 최근 고객의 의뢰를 받고 모의 공격을 실시하던 중 고객사에 공개적으로 올라온 문서를 스크랩해 분석한 적이 있다. 이 문서에는 작성자의 이름과 파일 경로가 저장되어 있었다. 본명이 John Smith였다면 사용자 이름이 josmith1이라는 식으로 저장되어 있었기에 약간의 추가 정보 수집과 분석을 통해 보다 정확한 현황을 파악하는 데 성공할 수 있었다.

그 후에는 크리덴셜 무작위 대입 공격을 통해 여러 직원들의 실명을 파악할 수도 있었다. 그 다음에는 흔히들 사용하는 비밀번호를 대입함으로써 여러 계정에 로그인하는 데 성공했다. 즉 문서 하나로 우리 레드 팀에서 고객사에 정상 로그인 하기에 이른 것이다. 공격자들도 우리와 똑같은 일을 할 수 있다.

심지어 오류 메시지들도 공격자들에게는 힌트가 된다. 예를 들어 비밀번호 수정 페이지나 등록 페이지에는 “입력하신 사용자 이름은 찾을 수 없습니다”나 “사용할 수 없습니다”라는 오류 메시지가 팝업으로 뜨는데, 이것도 귀중한 정보가 된다. 공격자들이 시험적으로 대입해 본 크리덴셜을 확인해 주는 기능을 하기 때문이다. 실제로 공격자들은 이를 통해 사이트 내 등록된 계정들을 적잖이 파악할 수 있게 된다.

웹 스크래핑의 리스크를 줄이는 방법
그렇다면 웹 스크래핑으로 인한 위험성을 낮추려면 어떻게 해야 할까? “먼저는 조직들 스스로 자신들이 운영하는 웹사이트를 감사하여 민감할 수 있는 정보가 일반 공공 인터넷에 고스란히 노출되지 않도록 해야 합니다. 일부 문건의 메타데이터나 벡엔드 데이터베이스와의 연결고리까지도 공격자들에게는 간과할 수 없는 중요한 단서가 된다는 걸 이해해야 하죠.” 필자와 같이 근무하는 레드 팀원들의 말이다.

그 다음에는 문건이나 게시글이 웹사이트를 통해 일반 대중들에게 공개되기 전에 메타데이터를 완전히 제거할 수 있는 프로세스를 도입해야 한다. 특히 사용자 이름, 파일 경로, 인쇄 대기열, 소프트웨어 버전과 같은 메타데이터는 위험할 수 있다. 이런 메타데이터 제거 과정을 모든 직원들이 거칠 수는 없으니, 사이트에 올라오는 것만이라도 처리할 수 있어야 한다.

비밀번호 변경 페이지의 ‘오류 메시지’는 어떻게 처리해야 할까? 일단 오류 메시지가 너무 친절해서는 안 된다. 페이스북의 경우 사용자의 풀네임과 프로파일 사진, 전화번호까지도 함께 오류 메시지에 노출된다. 이렇게까지 과도한 노출과 안내는 위험할 수밖에 없다. 상세 오류 메시지가 정말로 필요하다면 이메일을 확인하라는 간단한 안내 메시지만 내보내면 된다. 중요한 건 ‘해당 계정이나 정보가 올바르다/아니다’를 곧바로 알려주는 것을 피해야 한다는 것이다.

스크래핑에 대한 가장 표준적인 방어책은 요청률 제한(rate limiting)과 캡챠(CAPTCHA)다. 그러나 이것이 완벽한 방법은 아니다. 단지 웹 스크래핑 행위를 한 단계 더 힘들고 귀찮게 만들 수는 있다. 따라서 이 두 가지를 적용했다고 해서 안심해서는 안 된다.

웹 스크래핑은 오랜 시간 ‘귀찮은 일’로만 간주되어 왔지, 보안 위협으로 인식되지는 않았다. 지금도 마찬가지다. 하지만 공격자들이 웹 스크래핑을 적극 활용해 각종 공격을 실시한다는 것은 분명한 사실이다.

글 : 롭 사이먼(Rob Simon), Consultant, TrustedSec
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기

  •  SNS에서도 보안뉴스를 받아보세요!! 
엔사인 파워비즈 2021년6월1일~11월30일 까지2021 전망보고서넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
지난 5일 밤 발생한 카카오톡 장애로 인해 일명 ‘넷플릭스법’에 대한 관심이 다시금 높아지고 있는데요. 통신서비스 품질 유지 의무를 부과하고 있는 기업 가운데 가장 안정적인 서비스를 제공하는 부가통신사업자는 어디라고 생각하시나요?
네이버
카카오
웨이브
넷플릭스
구글
페이스북