Mobile QR Code QR CODE : The Transactions P of the Korean Institute of Electrical Engineers

  1. (Dept. of Imformation Security Engineering, Sangmyung University, Korea)



Web crawling, OCR, Average Hash, Harmful advertisements identification, Harmful site identification

1. ์„œ ๋ก 

์ตœ๊ทผ ์ธํ„ฐ๋„ท ๋ณด๊ธ‰๋ฅ ์ด ๋†’์•„์ง€๋ฉด์„œ ๋„๋ฐ•, ๋ถˆ๋ฒ• ์˜์•ฝํ’ˆ, ์Œ๋ž€๋ฌผ, ์„ฑ๋งค๋งค ๋“ฑ ์œ ํ•ด ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์œ ํ•ด์‚ฌ์ดํŠธ๊ฐ€ ๋Œ€์ค‘์—๊ฒŒ ์‰ฝ๊ฒŒ ๋…ธ์ถœ๋˜๊ณ  ์žˆ๋‹ค. ์œ ํ•ด์‚ฌ์ดํŠธ๋ž€ ์ •๋ณดํ†ต์‹ ๋ง ์ด์šฉ์ด‰์ง„ ๋ฐ ์ •๋ณด๋ณดํ˜ธ ๋“ฑ์— ๊ด€ํ•œ ๋ฒ•๋ฅ  ์ œ44์กฐ 7ํ•ญ๊ณผ ๋ถˆ๋ฒ• ์ •๋ณด ๋ฐ ๋ฐฉ์†กํ†ต์‹ ์œ„์›ํšŒ์˜ ์„ค์น˜ ๋ฐ ์šด์˜์— ๊ด€ํ•œ ๋ฒ•๋ฅ  ์‹œํ–‰๋ น ์ œ8์กฐ 1ํ•ญ์— ๋”ฐ๋ฅธ ์ฒญ์†Œ๋…„์—๊ฒŒ ์œ ํ•ด ์ •๋ณด ๋“ฑ ์‹ฌ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ธ์ •๋˜๋Š” ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ„ ์‚ฌ์ดํŠธ๋กœ ์Œ๋ž€๋ฌผ, ๋„๋ฐ•, ๋งˆ์•ฝ ๊ฑฐ๋ž˜, ์ž์‚ด, ์ €์ž‘๊ถŒ ์œ„๋ฐ˜ ๋“ฑ์„ ๋งํ•œ๋‹ค [1]. ์ตœ๊ทผ 5๋…„๊ฐ„ ๋„ค์ด๋ฒ„, ์นด์นด์˜ค, ๊ตฌ๊ธ€, ํŠธ์œ„ํ„ฐ ๋“ฑ ์ฃผ์š” ํ”Œ๋žซํผ์€ ์œ ํ•ด์‚ฌ์ดํŠธ ๊ณต์œ  ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ • ์š”๊ตฌ ์ˆ˜๊ฐ€ ์•ฝ 20๋งŒ ๊ฑด์— ๋‹ฌํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ ํ•ด์‚ฌ์ดํŠธ ์šด์˜์„ ๋ง‰๊ธฐ ์œ„ํ•ด 2020๋…„๋ถ€ํ„ฐ 2022๋…„ 8์›”๊นŒ์ง€ ๋ถˆ๋ฒ•ยท์œ ํ•ด ์ •๋ณด ์›น ํŽ˜์ด์ง€ ์ ‘์† ์ฐจ๋‹จ ๊ฑด์ˆ˜๋Š” ์•ฝ 40๋งŒ ๊ฑด์— ๋‹ฌํ•˜์˜€๋‹ค [2]. ํŠนํžˆ, ์›นํˆฐ ์‚ฐ์—…์ด ์„ฑ์žฅํ•˜๋ฉด์„œ ๊ทธ์— ๊ด€๋ จ๋œ ๋ถˆ๋ฒ•์ ์ธ ์‹œ์žฅ ๊ทœ๋ชจ๋„ ๋น ๋ฅธ ์†๋„๋กœ ์ปค์ง€๊ณ  ์žˆ๋‹ค. 2015๋…„๋ถ€ํ„ฐ 2020๋…„๊นŒ์ง€ 5๋…„๊ฐ„ ์›นํˆฐ ๋“ฑ ์ฝ˜ํ…์ธ  ์ €์ž‘๊ถŒ์„ ๋ถˆ๋ฒ• ์นจํ•ดํ•œ ์‚ฌ์ดํŠธ ์ˆ˜๊ฐ€ 21,043๊ฐœ์— ๋‹ฌํ•˜๋ฉฐ ์ฝ˜ํ…์ธ  ๋ถˆ๋ฒ• ์œ ํ†ต ์‚ฌ์ดํŠธ๊ฐ€ ๋Š์ž„์—†์ด ์–‘์‚ฐ๋˜๊ณ  ์žˆ๋‹ค [3]. ์ด๋Ÿฌํ•œ ์œ ํ•ด์‚ฌ์ดํŠธ๋“ค์€ ์ผ์ฐจ์ ์œผ๋กœ ์ €์ž‘๊ถŒ์ž์™€ ๊ด€๋ จ ์„œ๋น„์Šค ์‚ฐ์—…์— ์†ํ•ด๋ฅผ ๋ผ์น˜๋ฉฐ, ์ด์ฐจ์ ์œผ๋กœ ์‚ฌ๋žŒ๋“ค์ด ์œ ํ•ด ์ •๋ณด์— ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ๋…ธ์ถœ๋˜์–ด ๋„๋ฐ•, ์„ฑ๋งค๋งค, ๋ถˆ๋ฒ• ์˜์•ฝํ’ˆ ๊ฑฐ๋ž˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์‚ฌํšŒ์  ๋ฌธ์ œ๋กœ ์ด์–ด์ง€๋Š” ์›์ธ์ด ๋œ๋‹ค [4]-[5]. ๋˜ํ•œ ์ด ์‚ฌ์ดํŠธ๋“ค์€ ๋Œ€๋ถ€๋ถ„ ํ•ด์™ธ์— ์„œ๋ฒ„๋ฅผ ๋‘๊ณ  ์žˆ์–ด ๊ตญ๋‚ด์—์„œ ํ•ด์™ธ ์„œ๋ฒ„๋ฅผ ๊ฐ•์ œ๋กœ ํ์‡„ํ•˜๊ธฐ ์–ด๋ ค์šฐ๋ฏ€๋กœ ํ•ด๋‹น ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š” ๊ฒƒ์„ ์ฐจ๋‹จํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ทœ์ œํ•œ๋‹ค [6]. ๋”ฐ๋ผ์„œ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ์ ‘์†์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ์„ ์œผ๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๊ณผ๊ฑฐ์˜ ์—ฐ๊ตฌ๋Š” ์‚ฌ์ดํŠธ์˜ HTML ์ฝ”๋“œ ๋˜๋Š” ์›น ํฌ๋กค๋ง์„ ์ด์šฉํ•œ ์ •๋ณด ์ˆ˜์ง‘๊ณผ ๋ถ„์„ํ•˜์—ฌ ๋ถ„๋ฅ˜ํ•˜์˜€๋‹ค [7]-[8]. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ํŒจํ„ด ๋ถ„์„์ด๋‚˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ํ†ตํ•œ ๊ด‘๊ณ ์ฃผ ๋ถ„์„๋“ค๋„ ์—ฐ๊ตฌ๋˜์—ˆ๋‹ค [9]-[10].

๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์œ ํ•ด์‚ฌ์ดํŠธ ์† ๋ฐฐ๋„ˆ ๊ด‘๊ณ ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ๋‹ค. ์ œ์•ˆํ•˜๋Š” ๋ฐฉ์•ˆ์€ ์ˆ˜์ง‘ํ•œ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€์— Esay OCR์„ ํ™œ์šฉํ•˜์—ฌ ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์—ฐ๊ตฌ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์ˆ˜์ง‘๋œ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ 2,557๊ฐœ์˜ ๋ฐฐ๋„ˆ ๊ด‘๊ณ  ์ด๋ฏธ์ง€ ๋ฐ OCR๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ถ”์ถœํ•œ ํ‚ค์›Œ๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๊ตฌ์„ฑํ•˜์˜€๋‹ค. ์ดํ›„ ๊ฒ€์‚ฌ ๋Œ€์ƒ์˜ ์‚ฌ์ดํŠธ๋ช…, Average Hash ๋“ฑ์œผ๋กœ ์œ ์‚ฌ์„ฑ์„ ๋น„๊ตํ•˜์—ฌ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด URL์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ํŒ๋ณ„์„ ํ†ตํ•ด ์ƒˆ๋กญ๊ฒŒ ์ƒ๊ฒจ๋‚˜๋Š” ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ๊ทผ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ์œ ํ•ด์‚ฌ์ดํŠธ ํŠน์ง•๊ณผ ๊ด€๋ จ ์—ฐ๊ตฌ

2.1 ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํŠน์ง•

์œ ํ•ด์‚ฌ์ดํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณตํ†ต์ ์ธ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ฒซ์งธ, ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ํ†ตํ•ด ์ˆ˜์ต์„ ์ฐฝ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ˆ˜์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋‘˜์งธ, ๋ถˆํŠน์ • ๋‹ค์ˆ˜์˜ ์‚ฌ์ดํŠธ์—์„œ ์œ ์‚ฌํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ๋ฐ˜๋ณต ์‚ฌ์šฉํ•œ๋‹ค. ์…‹์งธ, ์‚ฌ์ •๊ธฐ๊ด€์˜ ๋‹จ์†์„ ํšŒํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์ ์ธ URL ๋ณ€๊ฒฝ ํŒจํ„ด์„ ๋ณด์ธ๋‹ค [9].

๋จผ์ €, ๋‹ค์ˆ˜์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ ๊ฒŒ์žฌ๋œ ์œ ํ•ด์‚ฌ์ดํŠธ๋Š” ์ผ๋ฐ˜์ ์ธ ์›น ์‚ฌ์ดํŠธ์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ํ•œ ๊ตฌ์—ญ์— ๋‹ค์ˆ˜์˜ ๊ด‘๊ณ ๊ฐ€ ๋ฐฐ์—ด๋˜์–ด ์žˆ๋‹ค. ๊ด‘๊ณ ๊ฐ€ ๋งŽ์ด ๊ฒŒ์žฌ๋œ ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ฒฝ์šฐ, ํ‰๊ท  ์›” 1,050๋งŒ ์›์—์„œ 3,750๋งŒ ์› ์ด์ƒ์˜ ์ˆ˜์ต์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํŒŒ์•…๋˜์–ด ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ์ฃผ ์ˆ˜์ž…์›์˜ ์—ญํ• ์„ ํ•œ๋‹ค [10]. ์‚ฌ์ดํŠธ ๋‚ด ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋“ค์˜ ์œ„์น˜๋Š” ์ด์šฉ์ž๋“ค์˜ ๋ˆˆ์— ๋„๊ธฐ ์‰ฝ๊ฒŒ ์ƒ๋‹จ์— ๋ฐฐ์น˜๋œ๋‹ค. ๋˜ํ•œ Animated GIF ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์ƒ‰์ƒ, ๊ทธ๋ฆผ๊ณผ ํ™”๋ คํ•œ ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํŠธ ์ด์šฉ์ž์˜ ์‹œ์„ ์„ ์‚ฌ๋กœ์žก๋Š”๋‹ค. ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋Š” ๊ทธ๋ฆผ 1๊ณผ ๊ฐ™์ด โ€œ์‹ ๊ทœโ€, โ€œ์ฒซ์ถฉโ€, โ€œ๋งค์ถฉโ€, โ€œ์•ˆ์ „๊ฒ€์ฆโ€, โ€œ๋จนํŠ€๊ฒ€์ฆโ€, โ€œ์นด์ง€๋…ธโ€ ๋“ฑ ํŠน์ • ์€์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ณด๋ฅผ ํ•จ์ถ•์ ์œผ๋กœ ์ „๋‹ฌํ•จ๊ณผ ๋™์‹œ์— ์‚ฌ๋žŒ๋“ค์„ ํ˜„ํ˜นํ•˜๋Š” ๊ธ€์ด ์ฃผ๋กœ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค. ๋ฐฐ๋„ˆ๊ด‘๊ณ ์˜ 73%๋Š” ๋ถˆ๋ฒ• ๋„๋ฐ• ์‚ฌ์ดํŠธ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค [11].

๊ทธ๋ฆผ 1. ์œ ํ•ด์‚ฌ์ดํŠธ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๋ฐฐ์น˜์˜ ์˜ˆ

Fig. 1. Examples of posting banner ads on harmful sites

../../Resources/kiee/KIEEP.2023.72.2.112/fig1.png

๋‹ค์Œ์œผ๋กœ, ์–ด๋–ค ์œ ํ•ด์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•˜๋”๋ผ๋„ ๋™์ผ ๋˜๋Š” ์œ ์‚ฌํ•œ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํ™๋ณดํ•˜๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ํ”ํ•˜๊ฒŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฐ๋„ˆ๋“ค์˜ ํŠน์ง•์€ ๊ธฐ๋ณธ ํ‹€์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์šฉ์€ ๊ฐ™์ง€๋งŒ, ๋ชจ์–‘, ํฌ๊ธฐ ๋˜๋Š” ์ผ๋ถ€ ํ…์ŠคํŠธ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฒŒ์žฌ๋œ๋‹ค. ๊ทธ ์˜ˆ์‹œ๋กœ, ๊ทธ๋ฆผ 2์™€ ๊ฐ™์ด 5๊ฐœ์˜ ๋‹ค๋ฅธ ์œ ํ•ด์‚ฌ์ดํŠธ์—์„œ ์œ ์‚ฌํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ „์ฒด์ ์ธ ๋ฐฐ๋„ˆ ์ด๋ฏธ์ง€์˜ ๊ตฌ์„ฑ๊ณผ โ€œ์‹ ๊ทœโ€, โ€œ๋ฌดํ•œ๋งค์ถฉโ€, โ€œ๊ฐ€์ž…์ฝ”๋“œโ€ ๋“ฑ์˜ ํ™๋ณด๋‚ด์šฉ์€ ๊ฐ™์œผ๋‚˜ ๋ฐฐ๋„ˆ์˜ ํ…์ŠคํŠธ ๋ฐ ์ด๋ฏธ์ง€ ๋ฐฐ์น˜ ํ˜•ํƒœ์™€ ์ผ๋ถ€ ํ…์ŠคํŠธ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜์–ด ๊ฒŒ์žฌ๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ์œ ํ•ด์‚ฌ์ดํŠธ๋Š” ๋‹จ์†์„ ํšŒํ”ผํ•˜๊ธฐ ์œ„ํ•ด IP์™€ ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ์œ ํ•ด์‚ฌ์ดํŠธ๋Š” ๋Œ€๋ถ€๋ถ„ ๋„๋ฉ”์ธ๋„ค์ž„ ๋งˆ์ง€๋ง‰์— ์ˆซ์ž๋ฅผ ๋ถ™์—ฌ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ทธ๋ฆผ 3์€ ๋ชจ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ URL ๋ณ€๊ฒฝ ํŒจํ„ด์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์œผ๋กœ, ์ฃผ๊ธฐ์ ์œผ๋กœ ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•˜์—ฌ โ€œtorrent*** 58.comโ€ ๋„๋ฉ”์ธ์ด โ€œtorrent***60.comโ€์œผ๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ์‚ฌ์ดํŠธ๋“ค์€ ์ด์ „ ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘์†ํ–ˆ์„ ๋•Œ โ€œ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ์ฃผ์†Œ ์•ˆ๋‚ดโ€ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. ์ด ํ™”๋ฉด์—์„œ ์ƒˆ๋กœ์šด ์‚ฌ์ดํŠธ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์•ˆ๋‚ดํ•œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

๊ทธ๋ฆผ 2. ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ•ด์‚ฌ์ดํŠธ์—์„œ ์œ ์‚ฌํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๋ฐ˜๋ณต ์‚ฌ์šฉ

Fig. 2. Use similar banner ads on different harmful sites

../../Resources/kiee/KIEEP.2023.72.2.112/fig2.png

๊ทธ๋ฆผ 3. ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ํŒจํ„ด์˜ ์˜ˆ

Fig. 3. An Example of domain change patterns of harmful sites

../../Resources/kiee/KIEEP.2023.72.2.112/fig3.png

2.2 ๊ด€๋ จ ์—ฐ๊ตฌ

์žฅ์ค€์˜ [7]์€ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ HTML ์ฝ”๋“œ๋ฅผ ์ค‘์ ์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ ์–ป์€ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํŠน์ง•์œผ๋กœ ์œ ํ•ด ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ์ œ์•ˆํ•˜์˜€๋‹ค. ์ถ”์ถœ๋œ ํŠน์ง•์œผ๋กœ๋Š” ๋„๋ฉ”์ธ์— ๋ถ™์€ ์‹œํ€€์Šค ๋ฒˆํ˜ธ, HTML ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ, ํ•˜์ดํผ ๋งํฌ๋ฅผ ํฌํ•จํ•œ ์ด๋ฏธ์ง€, ํƒ€์ดํ‹€์— ์‚ฌ์šฉ๋œ ํ‚ค์›Œ๋“œ๊ฐ€ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•˜์˜€์ง€๋งŒ, HTML์ด ๋ณ€์กฐ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ํŠน์ •ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ์ ๊ณผ HTML ์ฝ”๋“œ ์™ธ์—์„œ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ง•๋“ค์„ ์ˆ˜์ง‘ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ์ถ”์Šน์šฉ ๋“ฑ [8]์€ ์›น ํฌ๋กค๋ง์„ ์ด์šฉํ•˜์—ฌ ์œ ํ•ด์‚ฌ์ดํŠธ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์ œ์•ˆํ•˜์˜€๋‹ค. ํšจ๊ณผ์ ์œผ๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ๋งํฌ ๋ชจ์Œ ์‚ฌ์ดํŠธ๋“ค์„ Seed URL๋กœ ์ง€์ •ํ–ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์˜ HTML๊ณผ URL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ํ•ด ์ •๋ณด๋ฅผ ์‹๋ณ„ํ•œ ํ›„ ์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•˜์—ฌ ๊ธฐ์กด ์—ฐ๊ตฌ๋“ค์—์„œ๋Š” ์ˆ˜์ง‘ํ•˜์ง€ ๋ชปํ•œ Google Analytics ID์™€ SNS ์ •๋ณด, CDN ์‚ฌ์šฉ ์ •๋ณด ๋“ฑ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜์˜€๋‹ค. ์ด ์ •๋ณด๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํŒ๋ณ„๋ฅ ์„ ๋†’์ด๊ณ  ์ฐจ๋‹จํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ–ˆ์ง€๋งŒ, Seed URL์ธ ๋งํฌ ๋ชจ์Œ ์‚ฌ์ดํŠธ๊ฐ€ ์ฐจ๋‹จ๋˜๊ฑฐ๋‚˜ ์—†์–ด์ง€๋ฉด ์ •๋ณด ์ˆ˜์ง‘์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค. ์ •์ค‘์› ๋“ฑ [9]์€ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ํŒจํ„ด์— ์ดˆ์ ์„ ๋‘๊ณ  ์ฐจ๋‹จํ•˜๋Š” ๋ฐฉ์•ˆ์„ ์ œ์•ˆํ–ˆ๋‹ค. ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ๋ฐฉ์‹์—๋Š” Second-level, Top-level, ์ „์ฒด ์ฃผ์†Œ ๋ณ€๊ฒฝ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๋ณ€๊ฒฝ๋˜๊ธฐ ์ „ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ HTML ํƒœ๊ทธ์™€ ๋„๋ฉ”์ธ์ด ๋ณ€๊ฒฝ๋œ ํ›„ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ HTML ํƒœ๊ทธ๋ฅผ Longest Common Subsequence(LCS) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜์—ฌ ์œ ์‚ฌ๋„ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋„๋ฉ”์ธ ๋‚ด Top-level, ์ „์ฒด์ฃผ์†Œ ๋ณ€๊ฒฝ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋Š” ์˜ˆ์ธก์ด ์–ด๋ ต๊ณ  ์ฃผ๊ธฐ์ ์ด์ง€ ์•Š์€ ๊ฐฑ์‹  ๊ธฐ๊ฐ„์œผ๋กœ ํŒ๋ณ„ํ•˜๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ฐ•ํ•˜์—ฐ ๋“ฑ [10]์€ ์œ ํ•ด์‚ฌ์ดํŠธ ๋‚ด์— ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ถ”์ ํ•˜์—ฌ ๊ด‘๊ณ ์ฃผ๋ฅผ ๋ถ„์„ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ์œ ํ•ด์‚ฌ์ดํŠธ๋Š” ์„œ๋กœ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€ ์ ์„ ์ดˆ์ ์„ ๋‘์–ด ๊ด‘๊ณ  ์ˆ˜์ต ์ถ”์  ๊ธฐ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ๊ด‘๊ณ  ์ˆ˜์ต ํ๋ฆ„์˜ ์ตœ์ข… ๋‹จ๊ณ„์— ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์ตœ์ข… ๊ด‘๊ณ ์ฃผ๋กœ ๊ทœ์ •ํ•˜๊ณ  ์ƒ‰์ถœํ•ด ๋‚ด๋Š” ๋ฐ์— ๋ชฉ์ ์„ ๋‘์—ˆ๋‹ค.

3. ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„ ์‹œ์Šคํ…œ

๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ  ํŠน์ง•์„ ๋ถ„์„ํ•˜์—ฌ 7๊ฐœ์˜ ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ์ •ํ•˜์˜€๋‹ค. ์‚ฌ์ดํŠธ ๋‚ด ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ์ˆ˜์ง‘ ํ›„ ์œ ํ•ด์‚ฌ์ดํŠธ ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•œ๋‹ค. ๊ทธ๋ฆผ 4๋Š” ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ๊ฐœ๋…๋„์ด๋‹ค. ์›น ํฌ๋กค๋ง์„ ํ†ตํ•ด 6๊ฐœ์˜ ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ์™€ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค. ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ „์ฒ˜๋ฆฌ, OCR ๊ณผ์ •์„ ํ†ตํ•ด ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์† ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•œ๋‹ค. ๋˜ํ•œ, Average Hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ด๋ฏธ์ง€์˜ ๊ณ ์œ  ์ •๋ณด๋ฅผ ์ถ”์ถœํ•œ๋‹ค. ์ˆ˜์ง‘๋œ 7๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋Š” ELK stack์„ ์ด์šฉํ•ด ๊ตฌ์ถ•ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฝ์ž…ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜์˜€๋‹ค.

๊ทธ๋ฆผ 4. ์ œ์•ˆํ•˜๋Š” ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„ ์‹œ์Šคํ…œ

Fig. 4. A diagram of a proposed image-based harmful site identification system

../../Resources/kiee/KIEEP.2023.72.2.112/fig4.png

3.1 ์œ ํ•ด์‚ฌ์ดํŠธ ํŠน์ง• ๋ฐ์ดํ„ฐ ์„ ์ •

์œ ํ•ด์‚ฌ์ดํŠธ์˜ ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด 2์žฅ์—์„œ ์–ธ๊ธ‰ํ•œ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํŠน์ง•์„ ๋ถ„์„ํ•˜์—ฌ Site Name, URL, Category, Base64encoding, AverageHash, Banner URL, Keyword๋กœ 7๊ฐœ์˜ ํŠน์ง• ๋ฐ์ดํ„ฐ๋ฅผ ์„ ์ •ํ•˜์˜€๋‹ค. ์„ ์ • ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Site Name๊ณผ URL์€ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ํฌํ•จํ•œ ์‚ฌ์ดํŠธ ์ด๋ฆ„๊ณผ URL์ด๋‹ค. ํ•ด๋‹น ์ •๋ณด๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ๋„๋ฉ”์ธ์—์„œ ์ˆซ์ž๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ URL์„ ๋ณ€๊ฒฝํ•˜๋Š” ์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. Category๋Š” ์œ ํ•ด์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ์„œ๋น„์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ Gamble, Torrent, Porno, Streaming, Webtoon์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜์˜€๋‹ค. Base64encoding์™€ AverageHash๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€๋ฅผ ๊ฐ๊ฐ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ด์ง„ํ™”ํ•œ ๊ฐ’์ด๋‹ค. Base64 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ ํ•ด์‚ฌ์ดํŠธ์— ๊ฒŒ์žฌ๋˜๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ  ํŠน์„ฑ์ƒ ๊ฐ™์€ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์ผ์ง€๋ผ๋„ ์‚ฌ์ดํŠธ๋งˆ๋‹ค ํฌ๊ธฐ, ๋‚ด์šฉ ๋“ฑ์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ Base64๋กœ ์ธ์ฝ”๋”ฉํ•˜๋ฉด ์œ ์‚ฌ ์ด๋ฏธ์ง€๋Š” ์ฐพ๊ธฐ ์–ด๋ ต๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฏธ์ง€์˜ ํ”ฝ์…€์„ ํ•ด์‹œ๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ฐพ๋Š” Average Hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค [12]. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ์ถ•์†Œํ•˜๊ณ  ์ƒ‰ ์˜์—ญ์„ ํšŒ์ƒ‰์กฐ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ๊ฐ ํ”ฝ์…€์˜ ํ‰๊ท ์„ ๊ณ„์‚ฐํ•œ๋‹ค. ๊ฐ ํ”ฝ์…€์˜ ์–ด๋‘์šด ์ •๋„๊ฐ€ ํ‰๊ท ๋ณด๋‹ค ํฌ๋ฉด 1, ํ‰๊ท ๋ณด๋‹ค ์ž‘์œผ๋ฉด 0์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. Keyword๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ์—์„œ ๊ณตํ†ต์œผ๋กœ ๋ฐœ๊ฒฌ๋˜๋Š” 20๊ฐœ์˜ ํ‚ค์›Œ๋“œ๋ฅผ ์„ ์ •ํ•˜์˜€๊ณ  OCR์„ ํ†ตํ•ด ๋ถ„์„๋œ ํ…์ŠคํŠธ์—์„œ ๋‹จ์–ด๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ํ‚ค์›Œ๋“œ๋ฅผ ์ €์žฅํ•œ๋‹ค. ๋ถˆ๋ฒ• ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๊ฒŒ์žฌ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•œ๋‹ค.

๊ทธ๋ฆผ 5. ์ œ์•ˆํ•˜๋Š” OCR ์ „์ฒ˜๋ฆฌ ๊ณผ์ •

Fig. 5. A proposed OCR pre-processing Process

../../Resources/kiee/KIEEP.2023.72.2.112/fig5.png

3.2 ์›น ํฌ๋กค๋ง์„ ํ†ตํ•œ ์ •๋ณด ์ˆ˜์ง‘

์›น ํฌ๋กค๋ง์€ ์„ ์ •ํ•œ ์œ ํ•ด์‚ฌ์ดํŠธ ํŠน์ง• ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉฐ, ํšจ์œจ์ ์ธ ์ˆ˜์ง‘์„ ์œ„ํ•ด ์œ ํ•ด์‚ฌ์ดํŠธ ๋งํฌ๊ฐ€ ๋ชจ์—ฌ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์ฃผ ๋Œ€์ƒ์œผ๋กœ ์‚ผ์•„ ํฌ๋กค๋ง์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์‚ฌ์ดํŠธ๋งˆ๋‹ค ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ ์œ„์น˜ํ•œ ๊ตฌ์กฐ๊ฐ€ ๋‹ค๋ฅด์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๊ด‘๊ณ ๋Š” ๊ฐ™์€ ํฌ๊ธฐ์™€ ๋ฐ˜๋ณต๋œ ๋ฐฐ์—ด ๊ตฌ์กฐ๋ฅผ ๋ณด์ธ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž ๋ˆˆ์— ์ž˜ ๋„๋Š” ๋ฉ”์ธ ์‚ฌ์ดํŠธ ์ค‘๊ฐ„์ด๋‚˜ ์ƒ๋‹จ์— ๊ณ ์ •๋œ ํ˜•ํƒœ๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋Š” <a> ํƒœ๊ทธ๋ฅผ ํ™œ์šฉํ•ด ๋‹ค๋ฅธ ์›น ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๋Š” ๊ณตํ†ต์ ์ด ์žˆ๋‹ค. <a> ํƒœ๊ทธ์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” HTML ํƒœ๊ทธ๋Š” <div>, <li> ๋“ฑ์ด ์žˆ๋‹ค. ์›น ํฌ๋กค๋ง์€ Beautifulsoup ๋ชจ๋“ˆ๊ณผ Selenium ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜์˜€๋‹ค. ์„ธ๋ถ€์ ์œผ๋กœ <a> ํƒœ๊ทธ์˜ โ€œhrefโ€ ์†์„ฑ๊ฐ’์„ ์ถ”์ถœํ•˜์—ฌ BannerURL์„ ์ˆ˜์ง‘ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  <img> ํƒœ๊ทธ์—์„œ โ€œsrcโ€ ์†์„ฑ์„ ์ถ”์ถœํ•˜์—ฌ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  โ€œsrcโ€ ์†์„ฑ์—์„œ ํ™•์žฅ์ž ํ‘œ๊ธฐ๊ฐ€ ๋˜์ง€ ์•Š์€ ๋งํฌ๋Š” ์ด๋ฏธ์ง€์˜ ์œ ํ˜•์„ ํŒ๋‹จํ•ด์ฃผ๋Š” imghdr ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

ํฌ๋กค๋ง ์ง„ํ–‰ ์ค‘ ์ •๋ณด ์ˆ˜์ง‘ ๋งคํฌ๋กœ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์•ˆํ‹ฐ-ํฌ๋กค๋ง(Anti-Crawling) ๊ธฐ๋ฒ•์ด ์ ์šฉ๋œ ์‚ฌ์ดํŠธ๋ฅผ ๋‹ค์ˆ˜ ๋ฐœ๊ฒฌํ•˜์˜€๊ณ , ์ด ๊ฒฝ์šฐ ์›น ํŽ˜์ด์ง€ ์ ‘์† ์š”์ฒญ ์‹œ HTTPใ€€Header ์˜์—ญ์— User-Agent ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ๋˜ํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋Š” ์ฃผ๋กœ ๋‹ค์ค‘ ํ”„๋ ˆ์ž„ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” Animated GIF ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋Š” ํฌ๋กค๋ง ์‹œ png๋‚˜ jpg์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€์— ๋น„ํ•ด ๋‹ค์šด๋กœ๋“œ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฏธ์ง€ ์ˆ˜์ง‘ ์†๋„๋ฅผ ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•ด Headless Mode, Multi Processing ๊ธฐ์ˆ ์„ ์ ์šฉํ–ˆ๋‹ค. Headless Mode๋Š” ์‹ค์ œ ์ฐฝ์„ ๋„์šฐ์ง€ ์•Š๊ณ  Background Mode๋กœ ์‹คํ–‰ํ•˜์˜€์œผ๋ฉฐ, Multi Processing์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 1๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋งŒ์„ ์‚ฌ์šฉํ•˜๋Š” Python์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์˜€๋‹ค.

3.3 ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๋ถ„์„์„ ํ†ตํ•œ ํ‚ค์›Œ๋“œ ์ถ”์ถœ

๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ์ด๋ฏธ์ง€ ์† ์€์–ด๋“ค์„ ํ‚ค์›Œ๋“œ๋กœ ๊ทœ์ •ํ•˜๊ณ  ๊ณตํ†ต์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š” ํ‚ค์›Œ๋“œ ์ถ”์ถœํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค. ์ด ๊ณผ์ •์€ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€์—์„œ ๋ฌธ์ž๋ฅผ ์ถ”์ถœํ•˜๋Š” Optical Character Reader (OCR)์™€ ๋ฌธ์ž๋ฅผ ํ‚ค์›Œ๋“œ๋กœ ๋ฌถ๊ธฐ ์œ„ํ•œ ํ•œ๊ตญ์–ด ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(Natural Language Processing; NLP)๋กœ ๋‚˜๋ˆ ์ง„๋‹ค.

OCR์€ ํ…์ŠคํŠธ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๊ณ„๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ํฌ๋งท์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ์ˆ ์ด๋‹ค. OCR์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ์ง€๋ฅผ ํ…์ŠคํŠธ ๋ฌธ์„œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋‚ด์šฉ์„ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๋Œ€๋ถ€๋ถ„์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ •์  ์ด๋ฏธ์ง€๋“ค๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์ด๋ฃจ์–ด์ง„ Animated GIF ์ด๋ฏธ์ง€์ด๋ฏ€๋กœ OCR ์ „์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ •์  ์ด๋ฏธ์ง€๋“ค์€ ๊ฐ๊ฐ ๋‹ด๊ณ  ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์†์— ์žˆ๋Š” ๋ชจ๋“  ํ…์ŠคํŠธ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ ํ”„๋ ˆ์ž„ ๋ถ„ํ• ์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  OCR์˜ ์Œ์˜์˜ ์†์ƒ, ์™œ๊ณก ๋“ฑ์œผ๋กœ ์ธํ•œ ์ธ์‹๋ฅ  ์ €ํ•˜๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ทธ๋ ˆ์ด์Šค์ผ€์ผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ํฌ๊ธฐ ์กฐ์ •์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค. ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์กฐ์ •์€ ์›๋ณธ ์ด๋ฏธ์ง€์— ๊ฐ€๋กœ, ์„ธ๋กœ ๊ฐ๊ฐ 2๋ฐฐ ํ™•๋Œ€ํ–ˆ๊ณ  ํฌ๊ธฐ ๋ณ€ํ™˜์œผ๋กœ ์ธํ•ด ํ”ฝ์…€ ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ์ง€ ํ™•๋Œ€ํ•  ๋•Œ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ฐ”์ด ํ๋น… ๋ณด๊ฐ„๋ฒ•์„ ์ ์šฉํ–ˆ๋‹ค.

์ˆ˜์ง‘ํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ  2,557๊ฐœ์— ๋Œ€ํ•˜์—ฌ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜์˜€์œผ๋ฉฐ ์ „์ฒ˜๋ฆฌ ํ›„ ์ด๋ฏธ์ง€๋“ค์€ OCR์„ ์ด์šฉํ•ด ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ–ˆ๋‹ค. ์ถ”์ถœ๋œ ํ…์ŠคํŠธ ๊ฒฐ๊ณผ์™€ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์† ํ…์ŠคํŠธ๋ฅผ ํ•œ ๊ธ€์ž์”ฉ ๋น„๊ตํ•ด๋ณธ ๊ฒฐ๊ณผ Tesseract OCR ๊ธฐ์ค€ ์ „์ฒ˜๋ฆฌ ์ „ ์ถ”์ถœ ์ •ํ™•๋„๋Š” ํ‰๊ท  7%์ด๋ฉฐ, ์ „์ฒ˜๋ฆฌ ํ›„ ์ •ํ™•๋„๋Š” 63%์ด์—ˆ๋‹ค. ์ด ๊ฒฐ๊ณผ๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ์˜ ํ™”๋ คํ•œ ์ด๋ฏธ์ง€ ํšจ๊ณผ๋กœ OCR ์ „์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉด ์ธ์‹์ด ์–ด๋ ค์šฐ๋ฉฐ, ์ „์ฒ˜๋ฆฌ ํ›„์—๋„ ์ธ์‹๋ฅ ์ด ๋–จ์–ด์ง€๋ฏ€๋กœ ์ถ”๊ฐ€์ ์ธ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•จ์„ ๋ณด์—ฌ์ค€๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” Tesseract OCR ์™ธ์—๋„ Easy OCR์„ ์ด์šฉํ•˜์˜€์œผ๋ฉฐ, ์‚ฌ์šฉ์žํ•™์Šต์„ ์ถ”๊ฐ€ํ•˜์—ฌ OCR์˜ ์„ฑ๋Šฅ ๊ฐ•ํ™”ํ•˜๋Š” ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค.

์ด๋ฏธ์ง€ ์† ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์€์–ด๋“ค์„ ํ‚ค์›Œ๋“œ๋กœ ๊ทœ์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ NLP๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ์„ฑ์ด ๋›ฐ์–ด๋‚œ python์„ ์ด์šฉํ•˜์˜€๋‹ค. ์‚ฌ์šฉํ•œ NLP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” KoNLPy์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ถ”์ถœํ•œ ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ๋Š” โ€œ๋งค์ถฉโ€, โ€œ์นด์ง€๋…ธโ€, โ€œ์ฝ”๋“œโ€, โ€œ๋Œ๋ฐœโ€, โ€œ๋ฏธ๋‹ˆ๊ฒŒ์ž„โ€, โ€œ๋ฃฐ๋ ›โ€ ๋“ฑ์ด ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ KoNLPy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…์‚ฌ ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„ํ•˜์˜€์„ ๋•Œ โ€œ์ฒซ์ถฉโ€, โ€œํŽ˜์ด๋ฐฑโ€ ๋“ฑ์„ ๋ช…์‚ฌ๋กœ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ถ„ํ•ดํ•˜๋Š” ๋“ฑ ์˜คํžˆ๋ ค ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ๋“ค์„ ์ถ”์ถœํ•˜์ง€ ๋ชปํ•˜๋Š” ํ•œ๊ณ„์ ์ด ์กด์žฌํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜•ํƒœ์†Œ ๋ถ„์„์œผ๋กœ ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ” ๋ถ„์„ํ•˜์˜€์œผ๋ฉฐ, ๊ผฌ๊ผฌ๋งˆ(Kkma), ์ฝ”๋ชจ๋ž€(Komoran), ๋ฉ”์นด๋ธŒ(Mecab), ํ•œ๋‚˜๋ˆ”(Hannanum) ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐ๋“ค์„ ์ถ”๊ฐ€๋กœ ์‹คํ—˜ํ•˜์˜€๊ณ  ์ตœ์ข…์ ์œผ๋กœ KoNLpy์˜ ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐ์ธ Kkma๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜์˜€๋‹ค.

3.4 Average Hash๋ฅผ ํ†ตํ•œ ์œ ์‚ฌํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ฐพ๊ธฐ

๋‹ค์ˆ˜์˜ ์œ ํ•ด์‚ฌ์ดํŠธ์—์„œ ๊ฐ™๊ฑฐ๋‚˜ ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์— ์ดˆ์ ์„ ๋‘์–ด ์œ ์‚ฌ ์ด๋ฏธ์ง€๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” Average Hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฑ„ํƒํ•˜์˜€๋‹ค [13]. Average Hash๋Š” ์ด๋ฏธ์ง€์— ๊ณ ์œ ํ•œ fingerprint๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์••์ถ•ํ•œ ์ด๋ฏธ์ง€๋ฅผ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋Œ€ํ‘œํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ถ”์ถœํ•œ ์ด๋ฏธ์ง€์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ์ด๋ฏธ์ง€์˜ Average Hash์˜ ์ฐจ๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•˜์˜€๋‹ค. ์ด ๊ฐ’์€ 0์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๋™์ผ ๋˜๋Š” ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋กœ ํŒ๋ณ„ํ•œ๋‹ค.

3.5 ELK stack ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋ฉด ์ถ•์ ํ•œ ๋ฐ์ดํ„ฐ์™€์˜ ๋น„๊ต๋ฅผ ํ†ตํ•œ ํŒ๋ณ„ ๊ธฐ๋Šฅ๊ณผ ์ถ”ํ›„ ์—ฐ๊ตฌ์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„ ์™ธ์—๋„ ๋ถ„์„์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜์˜€๋‹ค. ํŠนํžˆ, ELK stack์€ ํŽธ๋ฆฌํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ, ๋น ๋ฅธ ๊ฒ€์ƒ‰, ๋ถ„์„๊ณผ ์‹œ๊ฐํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” Elasticsearch, Kibana๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์ด๋ฅผ ์ด์šฉํ•ด ๊ตฌ์ถ•ํ•˜์˜€๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ์€ 1๊ฐœ์˜ ํ•„๋“œ ๋‹น ๋ฐฐ๋„ˆ๊ด‘๊ณ  1๊ฐœ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์˜€์œผ๋ฉฐ ๋„ํ๋จผํŠธ๋กœ๋Š” Site Name, URL, Category, Base64encoding, AverageHash, BannerURL, NLP Keyword0-5๋กœ ์ด 12๊ฐœ์˜ ๋„ํ๋จผํŠธ๋กœ ๊ตฌ์„ฑํ•˜์˜€๋‹ค.

Elasticsearch๋Š” ์ •๋ณด ๊ฒ€์ƒ‰ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‹ ์†ํ•˜๊ฒŒ ์ €์žฅ, ๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฒ€์ƒ‰ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์žˆ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํŠน์ง•์„ ๊ณ ๋ คํ•˜์—ฌ ์„ ์ •ํ•œ ๋„ํ๋จผํŠธ๋“ค์— ๋Œ€ํ•œ ์ง‘๊ณ„์™€ ์ถ•์ ๋œ ๋ฐ์ดํ„ฐ์™€์˜ ๋น„๊ต๋ฅผ ํ†ตํ•ด ํŒ๋ณ„ํ•˜๋Š” ๊ธฐ๋Šฅ์— ํ™œ์šฉํ•˜์˜€๋‹ค. ๋˜ํ•œ Kibana๋Š” ๋ถˆํŠน์ • ๋‹ค์ˆ˜ ์œ ํ•ด์‚ฌ์ดํŠธ์—์„œ ๋ฐ˜๋ณตํ•˜์—ฌ ์‚ฌ์šฉ๋œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋“ค, ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ํ•˜๋‚˜์˜ ์œ ํ•ด์‚ฌ์ดํŠธ ๋‹น ๊ฒŒ์žฌ๋œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์˜ ์ˆ˜, ์‚ฌ์ดํŠธ URL์ด ์ผ์ •ํ•œ ํŒจํ„ด์œผ๋กœ ์ง€์†์ ์ธ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•˜๋Š” ์‚ฌ์ดํŠธ๋“ค๊ทธ๋ฆฌ๊ณ  ๊ด‘๊ณ  ๋ฐฐ๋„ˆ๋“ค์ด ์ฃผ๋กœ ๊ฐ€์ง€๋Š” ํ‚ค์›Œ๋“œ๋“ค์˜ ๋นˆ๋„์ˆ˜ ๋“ฑ์— ์ ์šฉํ•˜์—ฌ ๋„ํ‘œ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

4. ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ฐ ๊ณ ์ฐฐ

4.1 ์‹คํ—˜ ํ™˜๊ฒฝ

์ œ์•ˆํ•œ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„ ๋ฐฉ๋ฒ•์˜ ์‹คํ—˜ ํ™˜๊ฒฝ์€ ํ‘œ 1๊ณผ ๊ฐ™๋‹ค. ์šด์˜์ฒด์ œ๋Š” Windows 11์„ ์‚ฌ์šฉํ–ˆ๊ณ  CPU์™€ GPU๋Š” ๊ฐ๊ฐ AMD Ryzen5 5600x 6-Core, GTX 3070์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๊ฐœ๋ฐœ์–ธ์–ด๋Š” Python์ด๋ฉฐ 3.10.7 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์›น ํฌ๋กค๋ง์€ Beautifulsoup 4.12.0 ๋ฒ„์ „๊ณผ Selenium 4.9.0 ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ๊ณ , OCR ์ „์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ OpenCV-python์€ 4.6.66๋ฒ„์ „์ด๋ฉฐ, OCR์€ Easy OCR 1.6.2 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  NLP๋Š” KoNLPy 0.4.3 ๋ฒ„์ „์ด๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ELK stack 8.4.2 ๋ฒ„์ „์ด๋‹ค.

ํ‘œ 1 ์‹คํ—˜ ํ™˜๊ฒฝ

Table 1 Experimental environments

๊ตฌ๋ถ„

๋ฒ„์ „

OS

Windows 11

CPU

AMD Ryzen5 5600x 6-Core

GPU

GTX 3070

Language

Python 3.10.7

Web Crawling

Beautiful Soup 4.12.0

Selenium 4.9.0

OCR pre-processing

OpenCV-python 4.6.66

OCR

Easy OCR 1.6.2

NLP

KoNLPy 0.4.3

Database

ELK stack 8.4.2

4.2 ์›น ํฌ๋กค๋ง์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์†๋„ ์ธก์ •

์›น ํฌ๋กค๋ง์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด์„œ โ€œ**๋‹ท์ปดโ€ ์‚ฌ์ดํŠธ์—์„œ 19๊ฐœ์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€ ์ˆ˜์ง‘์„ ๊ธฐ์ค€์œผ๋กœ ์„ค์ •ํ–ˆ๋‹ค. ์•„๋ฌด๋Ÿฐ ๊ธฐ์ˆ  ์—†์ด ์ˆ˜์ง‘ํ–ˆ์„ ๊ฒฝ์šฐ ์•ฝ 12.5์ดˆ๊ฐ€ ์†Œ์š”๋๋‹ค. Chrome ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•œ Selenium์˜ Headless Mode๋Š” ์‹ค์ œ ์ฐฝ์„ ๋„์šฐ์ง€ ์•Š๊ณ  Background Mode๋กœ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋Š” ์‹ค์ œ๋กœ ์ฐฝ์„ ๋„์› ์„ ๋•Œ๋ณด๋‹ค ์†๋„๋ฅผ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ๊ธฐ๋ณธ ์„ค์ •์—์„œ ๋ณด์ด๋˜ ํฌ๋กค๋ง ์†๋„์™€ ํฌ๊ฒŒ ์ฐจ์ด ๋‚˜์ง€ ์•Š์•˜๋‹ค. Python์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 1๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜๋ณต๋œ ์ž‘์—…๊ณผ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด ์†๋„ํ–ฅ์ƒ์— ํฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. 4๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ˆ˜์ง‘ํ–ˆ์„ ๋•Œ ์•ฝ 3.34์ดˆ๊ฐ€ ์†Œ์š”๋˜์—ˆ์œผ๋ฉฐ ์ด๋Š” ๊ธฐ๋ณธ์†๋„์— ๋น„ํ•ด 4๋ฐฐ ๋น ๋ฅธ ์†๋„๋กœ ํ–ฅ์ƒ๋œ ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ํ”„๋กœ์„ธ์Šค ์ฆ๊ฐ€ ์‹œ ์ˆ˜์ง‘ ์†๋„ ์—ญ์‹œ ํ•จ๊ป˜ ์ฆ๊ฐ€ํ–ˆ์ง€๋งŒ, ์ ์ • ํ”„๋กœ์„ธ์Šค ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์›น ์‚ฌ์ดํŠธ์—์„œ ๊ณต๊ฒฉ์  ํฌ๋กค๋ง์œผ๋กœ ์ธ์‹ํ•˜์—ฌ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ๋กœ ์ธํ•œ ์˜ค๋ฅ˜๋‚˜ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ๋”ฐ๋ผ์„œ ์ ์ •ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ์ •์ ์ธ ํ™˜๊ฒฝ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

ํ‘œ 2 ์›น ํฌ๋กค๋ง์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์†Œ์š” ์‹œ๊ฐ„ ๋น„๊ต

Table 2 Comparison of web crawling data collection speed

Normal

Headless

Mode

Multi-

processing

(2-core)

Multi-

processing

(4-core)

Process

Time

12.5sec

11.5sec

5.65sec

3.34sec

4.3 ๋ฐฐ๋„ˆ๊ด‘๊ณ ์˜ OCR ์ธ์‹๋ฅ  ์ธก์ •

๋ฐฐ๋„ˆ๊ด‘๊ณ ์—์„œ๋Š” ํŠน์ •ํ•œ ํ‚ค์›Œ๋“œ๊ฐ€ ๋ฐ˜๋ณต ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ํŠน์ง•์— ์ดˆ์ ์„ ๋‘์–ด ํšจ์œจ์ ์ธ ํ‚ค์›Œ๋“œ ์ถ”์ถœ์„ ์œ„ํ•ด์„œ Easy OCR ๊ธฐ๋ณธ ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์ด ์•„๋‹Œ ํŠน์ • ํ‚ค์›Œ๋“œ์— ๋†’์€ ์ธ์‹๋ฅ ์„ ๋ณด์ด๋Š” ์‚ฌ์šฉ์žํ•™์Šต Easy OCR ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ•™์Šต์‹œํ‚ค๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•œ๋‹ค. ํ•™์Šต ๊ธฐ์ˆ ๊ณผ ๊ธฐ๋ณธ ๊ธฐ์ˆ ์ด ๋”ํ•ด์ ธ ์ด๋ฏธ์ง€ ์† ํ…์ŠคํŠธ๋ฅผ ์ถ”์ถœํ•œ๋‹ค. ์‚ฌ์šฉ์žํ•™์Šต์— ํ•„์š”ํ•œ ํ•™์Šต๋ฐ์ดํ„ฐ 12,500๊ฐœ๋ฅผ ์ƒ์„ฑ ๋ฐ ํ•™์Šต์‹œ์ผฐ๋‹ค. ์•ž์„œ ์†Œ๊ฐœํ•œ Tesseract OCR, Easy OCR, ์‚ฌ์šฉ์žํ•™์Šต Easy OCR ๋ชจ๋ธ์— ๋Œ€ํ•ด ์ˆ˜์ง‘ํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ค‘ ์ž„์˜๋กœ ์„ ์ •ํ•˜์—ฌ ์ธ์‹๋ฅ  ๋น„๊ต๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด ์•„๋ž˜์˜ ์‹ (1)์„ ์ ์šฉํ–ˆ๋‹ค. ์ด ์ˆ˜์‹์€ ์ด๋ฏธ์ง€ ์†์— ์žˆ๋Š” ๋ชจ๋“  ๋ฌธ์ž์—์„œ ์ •ํ™•ํ•˜๊ฒŒ ์ธ์‹ํ•œ ๋ฌธ์ž์˜ ๋น„์œจ์„ ์ •์˜ํ•œ๋‹ค.

(1)
$Accuracy =\dfrac{Num\, of\, Correct\, Predict\, Characters}{Num \,of \,Characters\in \,Ground \,Truth}$

์‹คํ—˜ ๊ฒฐ๊ณผ๋Š” ํ‘œ 3์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด Tesseract OCR์€ ํ‰๊ท  63% ์ธ์‹๋ฅ ์„ ๋ณด์˜€๊ณ  Easy OCR์˜ ์ธ์‹๋ฅ ์€ ํ‰๊ท  84%๋ฅผ ๋ณด์˜€๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์žํ•™์Šต Easy OCR์˜ ์ธ์‹๋ฅ ์€ ์ธก์ •ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ์‚ฌ์šฉ์žํ•™์Šต ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šต์‹œ์ผฐ์„ ๋•Œ๋Š” ๋†’์€ ์ธ์‹๋ฅ ์„ ํ™•์ธํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์— ์‹ค์ œ ์ ์šฉํ•˜์—ฌ OCR์„ ์ง„ํ–‰ํ•˜์˜€์„ ๋•Œ๋Š” ๋‚ฎ์€ ์ธ์‹๋ฅ ์„ ๋ณด์ด๋ฉฐ ๋Œ€๋ถ€๋ถ„ ์˜ค์ธ์‹์ด ๋˜๋Š” ํ˜„์ƒ์ด ๋‚˜์™”๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ๋Š” ๊ธฐ์กด ์ „์ฒ˜๋ฆฌ ์ ˆ์ฐจ๊ฐ€ ์‚ฌ์šฉ์žํ•™์Šต Easy OCR ๋ชจ๋ธ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์•˜๋‹ค. ๋˜ํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋งˆ๋‹ค ํฐํŠธ์™€ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ์ ๊ณผ ํ•™์Šต์— ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ์…‹์˜ ๋ถ€์กฑ์€ ๊ณผ์ ํ•ฉ์„ ๋ฐœ์ƒ์‹œ์ผœ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ํ•œ๊ณ„์ ์ด ๋ณด์˜€๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” Easy OCR ๋ชจ๋ธ๋กœ ํ‚ค์›Œ๋“œ ์ถ”์ถœ์„ ์ˆ˜ํ–‰ํ•˜์˜€๋‹ค.

ํ‘œ 3 OCR ์ธ์‹๋ฅ  ์ธก์ •

Table 3 A measurement of OCR recognition accuracy

Tesseract

OCR

Easy OCR

User-trained Easy OCR

Accuracy

63%

84%

-

4.4 Kibana๋ฅผ ํ†ตํ•œ ์ˆ˜์ง‘ ๊ฒฐ๊ณผ ๊ทธ๋ž˜ํ”„

๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ELK stack์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ•์ ํ•˜์˜€๊ณ  12๊ฐœ์˜ ๋„ํ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ Kibana๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ์‰ฝ๋„๋ก ํ‘œ์™€ ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋ƒˆ๋‹ค. ํ‘œ 4๋Š” Keyword ๋„ํ๋จผํŠธ๋ฅผ ํ™œ์šฉํ•œ ๊ฒƒ์œผ๋กœ ๋†’์€ ๋นˆ๋„์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” ์ƒ์œ„ 4๊ฐœ์˜ ํ‚ค์›Œ๋“œ๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ํ•˜์˜€๊ณ , ์ด๋ฅผ ํ‘œ๋กœ ์ •๋ฆฌํ•˜์˜€๋‹ค. ํ‚ค์›Œ๋“œ๋Š” โ€œ์ฝ”๋“œโ€๊ฐ€ 32.3%๋กœ ๊ฐ€์žฅ ๋†’์€ ๋นˆ๋„์ˆ˜๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์œผ๋ฉฐ ๋‹ค์Œ์œผ๋กœ โ€œ๋งค์ถฉโ€, โ€œ์นด์ง€๋…ธโ€๊ฐ€ ๋’ค๋ฅผ ์ด์—ˆ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๋„๋ฐ•์‚ฌ์ดํŠธ๋กœ ์ด์–ด์ง€๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„๋ฐ•๊ณผ ๊ด€๋ จ๋œ ํ‚ค์›Œ๋“œ๊ฐ€ ๋งŽ์ด ํฌํ•จ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ‘œ 4 ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํ‚ค์›Œ๋“œ ๋นˆ๋„ ๋ถ„์„

Table 4 A keyword frequency analysis of harmful sites

โ€œ์ฝ”๋“œโ€

โ€œ๋งค์ถฉโ€

โ€œ์นด์ง€๋…ธโ€

โ€œ์‹ ๊ทœโ€

others

32.3%

31.7%

17.8%

8.70%

8.84%

ํ•˜๋‚˜์˜ ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ์›น ํŽ˜์ด์ง€์— ๊ฒŒ์‹œ๋˜๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋Š” ์ ๊ฒŒ๋Š” 4๊ฐœ์—์„œ ๋งŽ๊ฒŒ๋Š” 191๊ฐœ์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฐ„ํ˜น ํŠน์ดํ•˜๊ฒŒ ๋งŽ์€ ์ˆ˜์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ๊ฒŒ์žฌํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ์กด์žฌํ•˜์˜€์ง€๋งŒ ์•ฝ 20๊ฐœ์”ฉ ๊ฒŒ์žฌํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ ํ•ด์‚ฌ์ดํŠธ์˜ URL์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ URL์— ๋”ฐ๋ฅธ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์˜ ์ˆ˜์˜ ๊ด€๊ณ„์„ฑ์„ ๋น„๊ตํ•ด๋ณด์•˜๋‹ค. ๊ทธ๋ฆผ 6์€ URL๊ณผ Site Name ๋„ํ๋จผํŠธ๋ฅผ ํ™œ์šฉํ•œ ๊ฒƒ์œผ๋กœ ๋Œ€ํ‘œ๋กœ 7๊ฐœ์˜ ์‚ฌ์ดํŠธ๋ฅผ ๋ฝ‘์•„ ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ ํŒŒ์ด ์ฐจํŠธ๋กœ ํ‘œํ˜„ํ•˜์˜€๋‹ค. ๋™์ผ ์ƒ‰์ƒ์—์„œ URL ๋ณ€๊ฒฝ ํŒจํ„ด์„ ๋ณด์ด๋Š” ์ˆ˜๋งŒํผ ๋„ํ˜•์œผ๋กœ ๋ถ„ํ• ๋˜์–ด ํ‘œํ˜„๋˜๋ฉฐ ๋„ํ˜•์˜ ๋ฉด์ ์€ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๊ฐœ์ˆ˜๋ฅผ ๋œปํ•œ๋‹ค. ์ด๋Š” ์œ ํ•ด์‚ฌ์ดํŠธ ๋„๋ฉ”์ธ์ด ๋ณ€๊ฒฝํ•˜๋ฉฐ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋„๋ฉ”์ธ์ด ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ์‚ฌ์ดํŠธ๊ฐ€ ๊ธฐ์กด์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๊ฐœ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ์ฐจํŠธ๋กœ ์ผ์ •ํ•œ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์„ ํ†ตํ•ด ์‚ฌ์ •๊ธฐ๊ด€์˜ ์ฐจ๋‹จ์„ ํšŒํ”ผํ•˜๋Š” ์‚ฌ์ดํŠธ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ถ”๊ฐ€๋กœ ๊ฒŒ์‹œ๋œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์˜ ์œ ์‚ฌ์„ฑ์„ ํ™•์ธํ•˜๋ฉด URL ๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆผ 7์€ Average Hash๋กœ ์ถ”์ถœํ•œ ๊ณ ์œ  ์ •๋ณด๋ฅผ ํ™œ์šฉํ•œ ํƒ€ ์‚ฌ์ดํŠธ ๊ฐ„ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์œ ์‚ฌ์„ฑ์„ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. x์ถ•์€ Average Hash ๊ฐ’์ด๋ฉฐ y์ถ•์€ ๋™์ผ/์œ ์‚ฌํ•œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ ์‚ฌ์šฉ๋œ ์‚ฌ์ดํŠธ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. Average Hash ๊ฒฐ๊ณผ๋Š” ์ด๋ฏธ์ง€์˜ ๊ณ ์œ  ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜๋ฏ€๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ผ๋ฉด ๊ฐ’์ด ํฌ๊ฒŒ ๋ฐ”๋€๋‹ค. โ€œ001f023e00ff4077โ€ ๊ฐ’์€ 13๊ฐœ์˜ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์— ๊ฒŒ์‹œ๋œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์ด๋ฉฐ, ๊ฐ™์€ ๋‚ด์šฉ์„ ํ™๋ณดํ•˜๊ณ  ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ๋Š” ์˜ˆ์ด๋‹ค.

๊ทธ๋ฆผ 6. ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ ํŒจํ„ด ์‹œ๊ฐํ™”

Fig. 6. A visualization of domain change patterns of harmful sites

../../Resources/kiee/KIEEP.2023.72.2.112/fig6.png

๊ทธ๋ฆผ 7. Average Hash๋กœ ์ถ”์ถœํ•œ ๊ณ ์œ  ์ •๋ณด๋ฅผ ํ™œ์šฉํ•œ ํƒ€ ์‚ฌ์ดํŠธ ๊ฐ„ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์œ ์‚ฌ์„ฑ ๋น„๊ต

Fig. 7. A comparison of similarity between banner ads between sites using an average hash technique

../../Resources/kiee/KIEEP.2023.72.2.112/fig7.png

4.5 ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„ ์‹คํ—˜

์•ž์„  ์‹คํ—˜์œผ๋กœ ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ ์ค‘ Site Name, AverageHash, Keyword๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์† Site Name ๋„ํ๋จผํŠธ์™€ ๋Œ€์กฐํ•˜์—ฌ ์œ ํ•ด์‚ฌ์ดํŠธ๋กœ ์‚ฌ์šฉ๋œ ์‚ฌ์ดํŠธ ์ด๋ฆ„์ธ์ง€ ํ™•์ธํ•˜์—ฌ ํŒ๋ณ„ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฝ์ž…๋œ AverageHash ๊ฐ’๋“ค๊ณผ ํŒ๋ณ„ํ•  ์‚ฌ์ดํŠธ์— ์žˆ๋Š” ์ด๋ฏธ์ง€์˜ AverageHash ๊ฐ’์„ ์—ฐ์‚ฐํ•˜์—ฌ ์ผ์ •ํ•œ ์ˆ˜ ์ดํ•˜ ๊ฐ’์ด๋‚˜ 0์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฉด ์œ ํ•ด์‚ฌ์ดํŠธ ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ ๊ฒŒ์žฌ๋œ ๊ฒƒ์„ ๊ฐ„์ฃผํ•˜์—ฌ ์œ ํ•ด์‚ฌ์ดํŠธ๋กœ ํŒ๋ณ„ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋ฏธ์ง€์—์„œ ์œ ํ•ด์‚ฌ์ดํŠธ ๋ถˆ๋ฒ• ๋ฐฐ๋„ˆ๊ด‘๊ณ ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ • ํ‚ค์›Œ๋“œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒฝ์šฐ ์œ ํ•ด์‚ฌ์ดํŠธ๋กœ ํŒ๋ณ„ํ•œ๋‹ค. ๊ทธ๋ฆผ 8์€ ์‹ค์ œ ์œ ํ•ด์‚ฌ์ดํŠธ์ธ xx๋‹ท์ปด๊ณผ ์ •์ƒ์‚ฌ์ดํŠธ์ธ ๋„ค์ด๋ฒ„์‡ผํ•‘์˜ ํŒ๋ณ„์„ ์‹œ์—ฐํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

๊ทธ๋ฆผ 8. ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„ ์‹œ์—ฐ

Fig. 8. A demonstration of identifying harmful sites

../../Resources/kiee/KIEEP.2023.72.2.112/fig8.png

5. ๊ฒฐ ๋ก 

๋ณธ ๋…ผ๋ฌธ์€ ์›น ํฌ๋กค๋ง์„ ์ด์šฉํ•ด ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ํŠน์ง• ๋ถ„์„ ๋ฐ ์ถ”์ถœ์„ ํ•˜์˜€๋‹ค. ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ๋ถ„์„์„ ์œ„ํ•ด์„œ 2022๋…„ 10์›”~12์›” 2๊ฐœ์›”๊ฐ„ 2,557๊ฐœ์˜ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง‘ํ•˜์˜€๋‹ค. ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ OCR์„ ์ด์šฉํ•ด ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜์˜€๊ณ , Average Hash๋ฅผ ์ด์šฉํ•ด ์ด๋ฏธ์ง€์˜ ๊ณ ์œ  ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜์˜€๋‹ค. Site Name, URL, Category, Base64encoding, AverageHash, Banner URL ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋“ค๊ณผ ์ถ”์ถœํ•œ ํ‚ค์›Œ๋“œ๋“ค์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฝ์ž…ํ•˜๊ณ  ์ดํ›„ Kibana์˜ Dashboard๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์˜€๋‹ค. ๋‚˜ํƒ€๋‚œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์•ฝํ•ด๋ณด๋ฉด ์ˆ˜์ง‘๋œ ๋ฐฐ๋„ˆ๊ด‘๊ณ ์—์„œ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ Gamble๋กœ ๊ฐ€์ง€๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ๊ฐ€ 37.2%๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์ฐจ์ง€ํ•˜์˜€๋‹ค. OCR๋กœ ์ถ”์ถœ๋œ ํ‚ค์›Œ๋“œ ์ค‘ ์ƒ์œ„ 3๊ฐœ๋Š” โ€œ์ฝ”๋“œโ€, โ€œ๋งค์ถฉโ€, โ€œ์นด์ง€๋…ธโ€ ์ˆœ์ด์˜€์œผ๋ฉฐ ์ด์™ธ์—๋„ โ€œ์ฒซ์ถฉโ€, โ€œํŽ˜์ด๋ฐฑโ€, โ€œ์‚ฌ๋‹ค๋ฆฌโ€ ๋“ฑ์ด ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ˆ˜์ง‘ ๋ฐ์ดํ„ฐ ์ค‘ Site Name, AverageHash, Keyword๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์œ ํ•ด์‚ฌ์ดํŠธ ํŒ๋ณ„์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค.

๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ๊ณตํ•˜๋Š” ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•˜๋ฉด ์œ ํ•ด์‚ฌ์ดํŠธ์˜ ์ˆ˜์ž…์›์ด ๋˜๋Š” ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋กœ ํŒ๋ณ„ํ•˜์—ฌ ํšจ๊ณผ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜๋Š” ๋ฐฉ์•ˆ์ด ๋˜๋ฉฐ, ๋ฐฐ๋„ˆ๊ด‘๊ณ ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋ถˆ๋ฒ• ์‚ฌ์ดํŠธ๋“ค์ด ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋ฏ€๋กœ ์—ฐ์‡„์ ์œผ๋กœ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ถ”ํ›„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ ๋ฐฐ๋„ˆ๊ด‘๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ๋” ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฝ์ž…ํ•˜์—ฌ ํ•™์Šต์‹œํ‚จ๋‹ค๋ฉด ์œ ํ•ด์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ํŒ๋ณ„์˜ ์ •ํ™•๋„๊ฐ€ ๋”์šฑ ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๋ฉฐ ๋ณด๋‹ค ์ •๊ตํ•œ ๋ถ„๋ฅ˜ ๋ชจ๋ธ๋กœ ๋ฐœ์ „ํ•˜์—ฌ, ๋” ๋†’์€ ์ •ํ™•๋„์™€ ๋™ํ–ฅ ํŒŒ์•…์œผ๋กœ ์œ ํ•ด์‚ฌ์ดํŠธ๋ฅผ ๊ทผ์ ˆํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•œ๋‹ค.

References

1 
Wikipedia. โ€œharmful sites,โ€ https://ko.wikipedia.org/wiki/์œ ํ•ด์‚ฌ์ดํŠธ.URL
2 
Y. D. Seo. โ€œEven if illegal and harmful information sites are blocked, they only change the number and operate them openly,โ€ https://www.koit.co.kr/news/articleView.html?idxno=104645.URL
3 
H. W. Kim, โ€œ21,043 webtoon illegal distribution sites for 5 years,โ€ https://it.chosun.com/site/data/html_dir/2020/10/21/20 20102101118.html.URL
4 
Kocca, โ€œTaking precautions to eradicate illegal distribution of webtoons,โ€ https://www.kocca.kr/kocca/koccanews/report view.do?menuNo=204767&nttNo=428.URL
5 
B. G. Song, โ€œA Study on the Illegal Gambling of Children and Adolescents through Illegal Webtoon Sites,โ€ Korean Assoc. Addiction Crime Rev., vol. 12, no. 2, pp. 1-17, 2022.URL
6 
W. H. Kim, H. J. Yu, and W. B. Ji, โ€œA Study of the Expertsโ€™ Perception on the Improvement of Advertiseme ts in Copyright Infringement Websites,โ€ Asia-Pacific J. Convergent Res. Interchange, vol. 8, no. 1, pp. 25-36, 2022.URL
7 
J. Jang, K. Lim, and S. Lee, โ€œAn Harmful site collection system using Characteristic of HTML and URL,โ€ J. Digital Forensics, vol. 16, no. 1, pp. 54-63, 2022.URL
8 
S. Choo, Y. Hwang, and S. Lee, โ€œMethods for Collecting Harmful Websites Using Web Crawling,โ€ J. Digit. Forensics, vol. 15, no. 3, pp. 127-138, 2021.URL
9 
J. Jeong and S. Lee, โ€œBlocking method of harmful sites based on domain change pattern,โ€ J. Digital Forensics, vol. 15, no. 3, pp. 39-53, 2021.URL
10 
H. Kang, Y. Choi, and S. Lee, โ€œAnalysis of advertisers by tracking banner ads on piracy websites,โ€ J. Digital Forensics, vol. 15, no. 3, pp. 15-26, 2021.URL
11 
H. H. Kim. โ€œ73% of illegal webtoon banners are illegal gambling sites,โ€ https://www.ajunews.com/view/2022101916 4958143.URL
12 
M. Sajjad, I. U. Haq, J. Lloret, W. Ding, and K. Muha mmad, โ€œRobust image hashing based efficient authentic ation for smart industrial environ ment,โ€ IEEE Trans. Ind. Inform., vol. 15, no. 12, pp. 6541-6550, 2019.DOI
13 
E. Taskesen, โ€œDetection of Duplicate Images Using Image Hash Functions,โ€ Towards Data Science, Jan. 29, 2022. [Online]. Available: https://towardsdatascience.com/detection-of-duplicat eimages-using-image-hash-functions-4d9c53f04a75.URL

์ €์ž์†Œ๊ฐœ

๋ฐ•์‹œํ˜„(Si-Hyeon Park)
../../Resources/kiee/KIEEP.2023.72.2.112/au1.png

He has been studying as B.S. degree in information security engineering from sangmyung University. Cheonan, korea in 2023.

His research interests include digital forensic and cybercrime response.

์œ ์„ฑ๋ฏผ(Seong-Min You)
../../Resources/kiee/KIEEP.2023.72.2.112/au2.png

He has been studying as B.S. of Information Security Engineering, Sangmyung University, Cheonan, korea.

His research interests include information protection and mobile app development.

์†ก๋™ํ˜ธ(Dong-Ho Song)
../../Resources/kiee/KIEEP.2023.72.2.112/au3.png

He has been studying as B.S. of Information Security Engineering, Sangmyung University, Cheonan, Korea.

His research interests include network communication and network security.

์ด๊ด‘์žฌ(Kwangjae Lee)
../../Resources/kiee/KIEEP.2023.72.2.112/au4.png

Kwangjae Lee received his Ph.D. degree from Department of Electrical and Computer Engineering of Korea University in 2014. Now he is a professor of Department of Information Security Engineering in Sangmyung University.