오늘의 목표 : 데이터 수집 열심히 해보기
웹 크롤러는 자동화된 방법으로 웹상의 정보를 탐색하는 프로그램을 의미한다.
악성코드를 제공하는 공개 데이터베이스를 크롤링하는 스크립트를 제작해 악성코드를 수집하겠다.
웹페이지는 정의(CSS), 스크립트(Javascript), 본문(html)으로 구성된다.
정규표현식은 특정한 규칙을 가진 문자열 집합 표현에 사용되는 형식 언어로, 문자열을 다루는 많은 분야에서 활용되고 있다.
파이썬에서는 html 구조 해석을 도와주는 유용한 BeautifulSoup(BS) 라이브러리를 가지고 있다. BS는 사용자가 선택한 파서를 이용해 html과 xml 코드를 파싱, 검색, 수정하는 기능을 제공한다. 이 html 코드 분석 결과를 계층 구조로 저장한다.
아래는 html 태그(tag)와 속성(attributes) 값을 이용해 원하는 내용을 검색해주는 함수
크롤러 제작 프로세스
1) 대상 웹페이지 분석
가장 빠르고 정확한 방법은 브라우저에서 웹페이지를 살펴보는 것이다.
브라우저에 기본적으로 탑재된 개발자 도구는 웹페이지 소스코드 분석과 상호작용을 도와주는 유용한 도구다.
DOM Tree를 분석해주는 도구를 활용해 최종 목적이 되는 이미지가 DOM Tree 상에서 어디에 위치하는 지 찾아보는 것도 도움이 된다.
검색을 원하는 정보 접근에 로그인 필요 여부, 페이지 요청 URL 등을 분석해야한다.
2) 크롤러 코드 제작
복잡한 웹페이지의 경우 BS와 정규표현식을 모두 사용하면 좋다.
BS로 검색범위를 좁힌 후 실제 내용에 해당하는 부분은 정규표현식으로 검색하는 방법을 사용
문제가 생겼다! 책에서 소개하고 있는 악성코드 수집 페이지는 malwaredb.malekal.com 사이트인데, 이 사이트에 오늘 들어가보니 8개월 전에 마지막 활동이 기록되어있고, 이후 활동이 없다고 한다. 사이트가 영구적으로 폐쇄되었는지 아니면 일시적으로 비활성화된 것인지에 대한 공식적인 공지는 없는 상태라고는 하는데, 내가 이걸 기다리기에는 프로젝트를 빨리 해야해서.. 다른 사이트를 찾아보기로 결정했다.
크게 2가지를 생각해보았는데



이제부터 그냥 쌩초보자의 웹 분석이므로.. 틀릴 수도 있다 ㅎㅎ!
초보자의 분석
우선 이 사이트는 파일들을 no specific threat - suspicious - malcious 세 단계로 구분하는 것으로 보인다. no specific threat 파일의 경우 정상파일로 생각할 수도 있을 것 같아서 잘하면 정상 프로그램 수집을 그냥 이것으로 해도 괜찮겠다는 생각이 들었다.
https://www.hybrid-analysis.com/file-collections?page=1
웹페이지 URL을 통하여 손 쉽게 뒷번호만 바꿔서 다음 페이지로 이동할 수 있을 것으로 보인다.
malcious 파일을 클릭하면,
File name - SHA256 (해시) - Tags - AV Result - Sandbox Report - Verdict 순으로 정보를 알려준다.
그런데! 문제가 생겼다. 다운로드를 하려고 했더니 가입하라고 해서 이건 쉽지! 하고 가입했는데 다운로드를 받으려면 인증을 받아야한다고 한다.. 말도 안돼..
나의 결백함과 개발자임을 증명할 수 있는 블로그같은? 링크 3개를 올리라고 하길래..
진짜 아무것도 아닌 감자가 악성코드 분석하겠다고 나대는 것 같아서 너무너무 부끄럽지만 뭐 어차피 안볼 외국인들이니까 velog, github, notion 탈탈 털어서 요청했다. 심지어 제목으로 'Vetting Request for Malware Research - Student Cybersecurity Project' 라고 적었다. 틀린 말은 없으니까 ^^
암튼 다운로드가 불가능한 상태라서.. 우선 악성코드 크롤러 제작은 미루기로..ㅠㅠ
내일까지 기다려보고, 만약 다운로드 허용이 안된다면! Github를 사용해 malware를 다운받아야 겠다. 딱히 더 할 수 있는 게 없어서 오늘의 공부는 우선..끝..! 찝찝하군.

허가가 나오기를 기다리면서 적는 글...(여전히 1204)
기다리다가 (한 1시간 기다린듯..?ㅎㅎ) 웹 크롤링을 한 번쯤은 써먹어보고 싶어서.. MalWareBazaar (https://bazaar.abuse.ch/) 라는 사이트를 알게되어 찾아보았다.
(여기는 회원가입도 필요없는 것 같아 개이득이다.)

데이터베이스에는 해시코드랑, type도 있어서 exe 파일만 다운받도록 하면 될 것 같고! DL 버튼을 눌러서 다운로드 페이지로 넘어간 뒤 다운로드를 할 수 있다.
근데!!!! 내가 못찾은 건지 다운로드 받을 수 있는 파일은 1000개만 있고, 그 와중에 type들도 섞여있어서 살짝.. 힘들 것 같다.. 따흑