어뷰징의 의미와 테스트 사례에 따른 대응 방법

2024. 8. 15. 20:24·QA성장하기/테스팅 전문 지식 쌓기
  1. 어뷰징 테스트란?
    1. 어뷰징의 의미
      • 자신의 이익을 위해 불법 프로그램 사용, 시스템 허점 이용 및 도덕적으로 옳지 않은 행동을 악용하는 행위.
    2. 어뷰징 테스트의 의미
      • 기존 사례, 데이터, 내부 취약점 등을 분석하여 발생할 수 있는 문제를 예측한다.
      • 어뷰징을 의도적으로 조작 및 간섭하여 어뷰징이 가능한지 확인하는 비기능 테스트이다.
      • 주로 게임에서 많이 사용된다.
  2. 어뷰징 행위의 종류
    1. 어뷰징 행위
      • 핵, 매크로, 해킹 프로그램을 사용 혹은 만들어 제품의 데이터나 프로그램을 변경, 훼손, 위조한다.
      • 클라이언트 파일을 분해하여 부당한 이득을 챙긴다.
      • 위와 같은 프로그램을 배포한다.
      • 게임 내 버그를 이용해 비정상적인 방법으로 보상, 아이템, 점수 등을 챙긴다.
      • 타인의 계정을 도용하거나 부계정을 사용해 다중 계정 조작으로 부당한 이익을 챙긴다.
      • 게임에서 대표적으로 리세마라와 승부조작 등의 행위 또한 어뷰징으로 볼 수 있다.
      • 채팅이나 AI 서비스에서는 사용금지 단어를 지속적으로 주입하여 프로그램이 학습하게 할 수 있다.
      • 악의적인 의도를 가저고 활용하거나 프로그램을 훼손하는 행위가 포함된다.
  3. 도메인별 어뷰징 유형 및 이슈 사례
    1. 채팅 기능이 있는 도메인
      • 선정적이고 공격적/편향적/학대 의도를 가진 채팅을 유도하여 프로그램을 훼손한다.
      • 채팅을 통한 불법 사이트 홍보 및 음란물, 피싱 프로그램 발송하여 불법적인 방법으로 이익을 챙긴다.
      • 생성된 채팅방을 통해 개인정보를 추출하고 거래하는 행위 또한 어뷰징에 포함된다.
    2. 회원가입 기능
      • 대량으로 회원가입하고 서비스를 부정 이용하는 것.
      • 블로그 카페 회원 수, 댓글 수를 조적하거나 쿠폰, 혜택, 티켓 부정 취득이 포함된다.
      • 회원정보 유출을 목적으로 불법 사이트를 만들어 회원 가입을 유도하는 행위.
    3. 계정을 대상으로 하는 어뷰징 행위
      • 불법 광고나 서비스 조작을 위해 다른 이의 계정을 불법 탈취하거나 도용하는 행위.
      • 블로그, SNS 광고를 통해 계정을 불법 거래 또는 매매하는 행위
      • 인증 없이 블록체인을 통해 가입이 가능한 경우, 중복계정을 생성하여 이득을 취득하는 행위가 포함된다.
    4. 검색 도메인과 음악, 동영상 공유 플랫폼
      • 실시간 검색어에서 상위 노출을 위해 트래픽을 증가시키거나, 음원차트 조작 등의 트래픽 어뷰징 
    5. 게임
      • 핵, 매크로와 같은 불법 프로그램 사용하여 데이터나 승부를 조작
      • 네트워크를 의도적으로 조작하여 부당한 이득을 편취한다.
      • 대리 행동 및 고의로 패작하는 행위가 포함된다.
    6. 이커머스
      • 환율이 낮은 국가로  IP를 우회하여 저렴한 금액으로 상품을 구입한다.
      • 상품 결재 후 배송상태로 변경되는 순간, 주문을 취소하여 환불 및 상품만 무료로 편취한다.
      • 결제 초기화/경계 시간대에 횟수 제한 상품을 무제한 구매하는 등 시스템 취약점이나 버그를 이용한다.
  4. 어뷰징 테스트의 범위와 테스터의 역할
    1. 데이터 활용
      • 데이터를 사용하여 어뷰징 패턴을 분석하고, 이를 감지하기 위한 로그를 설계한다.
      • 테스트 담당자는 실제 라이브에서 발생한 또는 발생 가능한 어뷰징 데이터를 취합하고 관리한다.
      • 이후 설계한 로그와 취합된 어뷰징 데이터를 기반으로 테스트 시나리오를 설계하고 수행한다.
      • 로그 적용 후 보안 부서에서 로그 지표 분석을 통한 시스템 탐지를 적용하고, 탐지 대상자를 추출한다.
      • 테스트 담당자는 테스트 기간 중 예상치 못한 어뷰징 행위에 대한 사례외 데이터를 취합하고 관리한다.
    2. 시스템 취약점 검증
      • 문서상 존재하는 취약점을 검증하고 실제 발생한 어뷰징 데이터를 활용해 어뷰징 가능 요소를 확인한다.
      • 개발 기간동안 보안 부서에서는 개발 로직상 취약점이 존재하지 않는지 검증한다.
      • 개발 완료 후 테스트 담당자는 결과물의 기능 취약점과 클라이언트 파일 분해 및 변조 가능 여부를 확인한다.
      • 라이브 배포 후에도 관련 커뮤니티에서 분해된 파일 또는 APK가 공유 또는 거래되는지 확인하고 차단한다.
    3. 불법 프로그램 감지
      • 불법 프로그램을 통한 통한 메모리 변조, 패킷 변조 등을 감지하는 역할은 보안과 개발 부서에서 수행한다.
      • 테스트 담당자는 해당 프로그램을 직접 사용해 서버나 클라이언트에서 감지가 잘 되는지 확인한다.
      •  관련 커뮤니티나 다크 웹에서 불법 프로그램이 배포 또는 거래되는지 확인한다.
    4. 우회 감지 검증
      • 웹 프록시 사이트 또는 VPN을 사용하여 실제 접속이 불가한 IP에서 접속이 가능한지 확인한다.
      • IP 우회나 일회용 전화번호로 다중 계정이 생성 가능한지 확인한다.
      • 블랙리스트 처리된 IP나 ID로 우회 접근 시도 시, 블로킹 되는지, 액션이 무효화되는지 등을 검증한다.
  5. 테스트 시나리오 작성 방법
    1. 어뷰징 테스트 케이스 작성
      • 내부의 정책과 어뷰징 차단을 위해 개발자 대응 설계 방식에 대한 구체적 설계서가 필요하다.
      • 관련자와 사전 미팅을 통해 대응책을 마련하고 정확한 기능 요구 사항 수립 후 테스트케이스를 설계한다. 
    2. AI 챗봇 어뷰징
      • 사용이 금지된 금칙어 사용 시, 프로그램 동작과 정책 적용을 확인한다.
      • 예를 들어 `사용 금지된 단어나 금칙어 사용 시, 채팅차에 해당 단어게 노출되지 않고 * 처리한다.` 와 같다.
    3. 매크로 사용
      • 불법 프로그램을 사용해 애플리케이션 조작이나 부당 이득 취득이 가능한지 확인한다.
      • 어뷰징 차단을 위해 IP우회, 불법 프로그램, 일회용 전화사용을 차단하고 감지하는 로직이 적용되어야 한다.
    4. 시스템 버그 이용
      • 데이터 손실과 같은 버그를 이용해 어뷰징 시도가 가능한지 확인한다.
      • 예를 들어 `소모성 아이템 사용 중 애플리케이션 재설치를 진행할 경우, 아이템이 충전되는 이슈` 가 있다.
    5. 어뷰징 테스트의 한계
      • 기대하는 만큼 드라마틱한 결과를 얻지 못할 수도 있고 이슈대응의 필요성이 무시당할 수도 있다.
      • 어뷰징으로 발생하는 이슈 사례들과 데이터를 확보하고 분석/공유하여 이슈의 위험성을 인지하고 대응할 수 있도록 지속적으로 권고해야 한다.

'QA성장하기 > 테스팅 전문 지식 쌓기' 카테고리의 다른 글

시스템 문제 파악 및 해결을 위한 애플리케이션 로그 분석  (0) 2024.08.25
데이터 품질 테스트의 중요성과 테스트 프로세스  (0) 2024.08.16
디바이스 기능 연동 테스트와 인터럽트 테스트의 중요성 및 고려사항.  (0) 2024.08.14
앱 공존성 테스트의 의미와 테스트 방법  (0) 2024.08.13
호환성 테스트를 위한 고려사항과 전략  (0) 2024.08.12
'QA성장하기/테스팅 전문 지식 쌓기' 카테고리의 다른 글
  • 시스템 문제 파악 및 해결을 위한 애플리케이션 로그 분석
  • 데이터 품질 테스트의 중요성과 테스트 프로세스
  • 디바이스 기능 연동 테스트와 인터럽트 테스트의 중요성 및 고려사항.
  • 앱 공존성 테스트의 의미와 테스트 방법
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (179)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (33)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
        • 제4회 QA conference (3)
      • 에러일기 (1)
      • Server&load (35)
        • AWS (27)
        • load test (5)
        • CI CD (3)
        • Jmeter (0)
      • RAG 을 활용하여 LLM 만들어보기 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    postman
    애플리케이션로그
    공존성테스트
    로스트아크api
    linux
    포스트맨
    스터디
    python
    qa conference
    테스트 결과보고서
    API
    application log
    네트워크 테스트
    로스트아크
    쿠버네티스
    테스트스크립트
    개발자에서아키텍트로
    QAKOREA
    vi에디터
    cka
    도커
    .cpu
    e2c
    LOSTARK
    리눅스
    앱공존성
    qa
    qa 컨퍼런스
    k8s
    사드웨어리소스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
어뷰징의 의미와 테스트 사례에 따른 대응 방법
상단으로

티스토리툴바