[IOST] IOST 허브 이벤트 부정행위 선별방법 안내

Words
963
Reading
5 min
Listen
Play
8y

IOST.jpg
안녕하세요? IOST Korea입니다.
많은 분들이 어떠한 기준으로 부정행위자를 선별했는지 궁금해하시는데요.
이번 포스팅에서는 어떠한 기준을 적용하여 이번 과정이 진행됐는지 공유해 드립니다.


부정행위의 정의

1.인공/시나리오 등 수단을 통해 모 계정에 대량의 가상 계정을 설치하여 거래를 진행
a. 인증 플랫폼, 번호풀 번호를 사용하여 인증 번호를 받아 대량으로 등록
b.직접 플랫폼 API 인터페이스를 전용하여 등록
c.유저 등록 정보(IP, User Agent, 페이지 추적, 설비 지문 등을 포함한 정보로 동일한 초청 코드로 대량의 취합 출현)
d.전형적 특징:
i. 등록 시간 간격이 짧음(비교적 업그레이드 된 시나리오는 자체 정의 시간을 첨가하여 교란 가능)
ii. 휴대폰 번호를 대체적으로 재사용 할 수 없음(2차 휴대폰 검증으로 해결 가능)
iii. 프론트엔드 식별 정보 없음 혹은 User Agent 정보 이상

2.초청 유저 중 대량의 스팸 유저 및 무효 초청 존재
a.특징:
i. 초청인 중 대량의 가상 번호대, 번호 존재, 정상적인 홍보 행위에는 반드시 대량의 불규칙적인 휴대폰 번호가 따라옴
ii. 대량 초청인의 안전 레벨은 낮은 편이고, 그룹 콘트롤, 다른 플랫폼에서 수신 거부 등 특징이 존재
iii. 동일한 이메일로 여러 차례 등록(QQ메일, 왕이 메일 등 메일은 난수 발생기를 통해 무작위로 생성할 수 있으며 혹은 네트워크 범죄 중 비밀번호가 유출된 이메일 주소 보관소를 구매하고 등록하여 많은 사람들이 대량으로 사용할 때 이메일 주소 보관소 충돌 등 상황 출현)

3.크라우드소싱 플랫폼 사용을 통한 스캘핑
a.크라우드소싱 플랫폼 데이터는 완전한 무효 데이터

4.기타 커뮤니티 회원 제보 정보

반 부정행위 퍼널

부정행위를 얼마나 쉽게 발견할 수 있는가를 통해 우리는 모든 전략 퍼널을 6층으로 나누었습니다. 6층 선별을 통과하지 않은 유저는 행위 부정 유저(온라인) 혹은 기계조작 유저(오프라인)일 가능성이 큽니다. 퍼널 전략은 의사 결정수에 편향되어 있기 때문에 어떠한 경계 상황에서는 적은 부분이지만 과실치사 상황이 존재할 가능성이 있습니다.

전략 확산:앞의 전략은 전부 동일한 초청 코드에 기반하고 있기 때문에 전략 확산 단계에서 다음의 조작을 진행할 필요가 있습니다.
조작1:다른 초청코드 간의 유저를 취합하고 비밀번호 혹은 이메일이 일치하는 유저를 관찰
조작2:2층과 3층 유저를 취합하고 특징을 갖고 있는지 관찰(효과는 보통)

1층 퍼널:심카드 딜러 제보와 인증번호 플랫폼의 심카드 풀:오프라인과 온라인
2층 퍼널:인공 선별을 통해 확인 후 문제가 존재하는 계정(고객 서비스 피드백 데이터+제보+크라우드소싱) :오프라인과 온라인
3층 퍼널:170/171가상 번호대 유저(가상 번호대를 사용하여 등록한 유저는 무효 유저로 확정됨. 가상 번호대 유저를 초청한적 있는 초청자에 대해:초청인수 100명 이상에 가상 번호대 비율이 안전 비율을 초과한 경우 문제 계정으로 확정됨)
4층 퍼널:동일한 초청코드로 등록시간 간격 평균치가 너무 작음
5층 퍼널:초청인 중 리스크 레벨 6초과 비율이 안전 비율의 유저를 초과함(리스크 레벨 계산 방법은 부록 참고)
6층 퍼널:유저 지문 정보(모든 유저가 하나 밖에 없는 정보:등록 이메일, 등록 페이지 행위, 마우스 추적 등) 밀도가 너무 큰 유저
-정보 밀도 = Σcount(모든 독특한 지문 데이터의 빈도)^2/count(계정 수량)
-이상적인 상태에서 모든 유저의 지문 정보는 완전히 다르며 이 밀도는 1
-지문 정보 밀도가 커질수록 취합 정도가 높아짐을 증명

합리적 범위의 확정

데이터의 분포 상황에 근거하여 데이터 빈도의 하락이 비교적 빠른 구간을 채택하여 합리적 역치를 선별합니다. 전략의 여유를 확보한 상황에서 데이터 이상이 뚜렷하게 존재하는 데이터 포인트를 최대한 가려낼 것입니다.

인공 검증

단순한 응용 전략 퍼널은 일부 유저에게 과실 상해를 입힐 수 있고 혹은 모든 정황을 완전히 포괄할 수는 없으므로 모든 퍼널을 응용한 후 우리는 선별한 후의 데이터에 대해 인공 검증을 진행합니다.

잠재적 과실 치사 정황

  • 설문으로 신고한 경우에 대하여 유효한 증명 자료를 제공하지 않은 경우 초청유저의 지문 정보에 대량의 취합이 존재하는지 검사하고 동시에 아래 조건을 만족시키는 유저에 대해 필터링 하였습니다.
  • 조건1:정보밀도≤1.7
  • 조건2:답안 답안율≤0.9

잠재적 미발견 정황

  • 완전히 포괄할 수 없는 정황에 대하여 우리는 아래 조건 중 하나를 만족시키는 유저를 필터링 하였습니다.
  • 조건1:초청유저≥100,오프라인 부정 행위율≥0.2
  • 조건2:오프라인 부정 행위율>0.7,정보밀도≥10
  • 조건3:오프라인 부정 행위율∈[0.5,0.7],정보밀도≥10,답안 정확율=1
  • 조건4: 리스크 레벨≥8,정보 밀도≥10
  • 조건5:초청 유저≥10,오프라인 부정 행위율>0.7 ,정보 밀도≥10,독특한 지문 데이터≤2

부록A 리스크 득점 상황

전체 특징에 대응한 점수 상황

xxx.png

부록B 데이터 필드 정의

동일한 초청코드로 등록시간이 속한 자연일(하루)을 단위로 하여 오프라인 유저를 구분하고 오프라인 유저의 온라인 초청코드 사용 횟수, 등록시간 간격 평균치, 등록시간 간격 분산, 기여값(balance) 평균치, 기여값 분산, 유일 국가/지역 수량, 오프라인 초청코드 사용 횟수 평균치, 오프라인 초청코드 사용 횟수 분산, 유일 비밀번호 수량, 연동계정 수량, 유일 설비지문 수량, 유일 IP 수량, IP 신뢰도에 대해 계산을 합니다.

아래는 상술한 각 내용에 대한 정의 설명입니다.

  • 온라인 초청코드 사용 횟수(inviteeCount):등록일 내에 동일 초청코드(invitercode)가 출현한 횟수를 계산하고, 10회 미만은 참고성격을 가지지 않음으로 잠정한다.

  • 등록시간 간격 분산(inviteeTimeVar):우선 기능함수로 이상치를 정의하고 등록일 내에 동일 invitercode 유저의 인접한 2개 등록시간 차(초까지 정확하게)의 분산을 다시 계산하고 이상치를 제거한다.

  • 등록시간 간격 평균치(inviteeTimeAvg):우선 기능함수로 이상치를 정의하고 등록일 내에 동일 invitercode 유저의 인접한 2개 등록시간 차(초까지 정확하게)의 평균치를 다시 계산하고 결측치와 이상치를 제거한다. (평균치가 작아짐은 단위 시간 내 등록한 유저는 많아지고 의심이 커짐을 의미하고 빅 유저부터 시작하여 평균치를 찾아 경험치를 구함)

  • 기여값 평균치(balanceMean): 등록일 내에 동일 invitercode 유저의 기여값(balance)의 평균치를 계산한다.

  • 기여값 분산(balanceVar): 등록일 내에 동일 invitercode 유저 기여값(balance)의 분산을 계산한다.(이상치를 제거한 후 분산은 커지는데 유저 그룹의 임무 완성 상황 차이가 비교적 크고 의심이 줄어듦을 설명한다)

  • 유일 국가/지역 수량(numUniqueArea): 등록일 내에 동일 invitercode 유저 등록 휴대폰 번호가 속한 다른 국가/지역 수량을 계산한다.(이 값≥2일 때 의심이 존재하며 값이 커질수록 의심도 커짐)

  • 오프라인 초청코드 사용 횟수 평균치(codeUsedTimeAvg): 등록일 내에 동일 invitercode 유저의 초청코드 사용 횟수(codeusetimes)의 평균치를 계산한다. (우선레벨-1 참고)

  • 오프라인 초청코드 사용 횟수 분산(codeUsedTimeVar): 등록일 내에 동일 invitercode 유저의 초청코드 사용 횟수(codeusetimes)의 분산을 계산한다. (우선레벨-1 참고)

  • 유일 비밀번호 수량(UniquePW): 등록일 내에 동일 invitercode 유저의 비밀번호가 유일하게 출현한 수량을 계산한다.(샘플값과의 비율로 변경할 것을 건의)

  • 연동계정 수량(SNSscore): 등록일 내에 동일 invitercode 유저의 연동계정의 개수와 총합을 계산한다. (샘플값과의 비율로 변경할 것을 건의 )

  • 유일 설비지문 수량(uniqueFT): 등록일 내에 동일 invitercode 유저가 등록시 캡처한 설비지문이 유일하게 출현한 수량을 계산한다. (샘플값과의 비율로 변경할 것을 건의)

  • 유일 IP 수량(uniqueIP): 등록일 내에 동일 invitercode 유저가 등록시 사용한 IP가 유일하게 출현한 수량을 계산한다. (샘플값과의 비율로 변경할 것을 건의)

  • IP 신뢰도(ipTrustScore): 등록일 내에 동일 invitercode 유저의 등록시의 IP(x,y,z,q)를 분석하고 조합하여 x, (x,y), (x,y,z), (x,y,z,q ) 4개 데이터를 구한다. X가 유일하게 출현한 수량1, (x,y)가 유일하게 출현한 수량2, (x,y,z)가 유일하게 출현한 수량3, (x,y,z,q)가 유일하게 출현한 수량4, 다시 이상의 득점을 더하여 유저 수량(샘플 수량)으로 나누고 IP신뢰도의 배점을 구한다.
    지금까지, IOST Hub 부정행위자 선별방법에 대해서 알아봤습니다.
    많은 분들이 궁금해하시는 내용이었을 텐데요.
    Hub와 관련되어서 궁금하신 사항이나 궁금하신 사항이 있으신 경우 [email protected] 로 문의해 주시기를 부탁드리겠습니다.


IOST 공식 홈페이지 : http://iost.io
Facebook : http://bit.ly/IOSTKr_fb
Twitter : http://bit.ly/IOSTKr_twitter
Kakao : http://bit.ly/IOSTKr_kakao (참여코드 : iost987)
Telegram : http://bit.ly/IOSTKr_telegram

[IOST] IOST 허브 이벤트 부정행위 선별방법 안내 | Ecency