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. 어뷰징 테스트의 한계
      • 기대하는 만큼 드라마틱한 결과를 얻지 못할 수도 있고 이슈대응의 필요성이 무시당할 수도 있다.
      • 어뷰징으로 발생하는 이슈 사례들과 데이터를 확보하고 분석/공유하여 이슈의 위험성을 인지하고 대응할 수 있도록 지속적으로 권고해야 한다.