04.06 · Project
중고거래사기방지 플랫폼
BoB(차세대 보안리더 양성 프로그램) 9기 · Python, PHP
BoB 9기 디지털포렌식 트랙 20조 Catch-You! 에서 만든 중고거래 사기 방지 플랫폼입니다. 게시물 URL 을 입력하면 사기 의심 여부를 판단해 주는 서비스로, 베타 오픈까지 진행했습니다.
- 담당 — 백엔드, 게시물 수집기 제작, ELK 구축을 맡았습니다.
- 게시물 수집 — 중고나라·번개장터·당근마켓 3곳의 게시물을 플랫폼마다 다른 방식으로 수집했습니다. 중고나라는 게시물 번호를 모두 순회하면 비효율적이라 사기가 잦은 인기 품목 게시판 21개로 수집 대상을 좁혔고 번개장터는 페이지 구조가 자주 바뀌어 수집 규칙을 자동으로 갱신하도록 했습니다. 당근마켓은 requests 로 처리했습니다.
- 수집 안정성 — Selenium 의존을 줄이고 멀티프로세싱을 적용했습니다. 플랫폼의 계정 보호 조치가 걸리면 수집을 멈추고 로그를 남기도록 만들었습니다.
- 데이터 — 플랫폼별 스키마를 나눠 MySQL 에 저장하고 일정 건수를 묶어 pandas로 일괄 INSERT 하도록 짰습니다.
- ELK — MySQL→Elasticsearch 동기화를 Logstash 대신 go-mysql-elasticsearch로 구성했고 Elasticsearch·Kibana 7.10.0 으로 사기 의심 매물·패턴·월별·플랫폼별 대시보드를 만들었습니다. 접속 때마다 동기화하면 부하가 커져 10분 주기 사전 동기화로 바꿨습니다. Elasticsearch 자연어 처리로 상품명을 태깅하고 시세 수집도 자동화했습니다.
- 판별 근거 — 팀이 판매자에게 직접 연락해 사기로 확인한 매물 101건에서 패턴을 뽑았고 평균보다 2표준편차(2σ) 이상 낮은 가격을 이상 가격 후보로 봤습니다. 이 기준에 걸린 에어팟 프로 133건 중 33건(24.8%)이 실제 사기여서 가격 기준만으로 판정하지 않고 다른 요소와 점수로 합산했습니다.
- 결과 — 2020.09.07 – 12.21 진행, BoB 9기 디지털포렌식 트랙에서 TOP 14 자문단 평가까지 진출했고 결과를 KCI 등재 논문(경찰학연구)과 한국정보보호학회 동계학술대회 발표로 확장했습니다.