Search

BaekSeoHeon

개요
Web Fuzzer 취약점 탐지 솔루션
상태
완료
프로젝트 분류
경진대회 프로젝트
날짜
2021/12/01 → 2022/02/28
개발 인원 : 3명 (PM)
기여도 : 30%
프로젝트 목적 : Fuzzing 테스트 기법을 사용하는 취약점 탐지 기술 개발
수상 : 2021 하반기 프로젝트 경진대회 우수상

개요

baekseoheon은 Fuzzing(무작위 변조 값 대입) 테스트 기법을 포함한 취약점 탐지 솔루션으로 Python으로 개발되었으며 사용자가 인수 값을 넘겨주었을 때 총 3가지 방식(Directory Fuzzer, XSS Scan, SQL Injection Fuzzer)의 탐지 기능을 제공해줍니다.

담당 역할

Python을 사용한 SQL Injection Fuzzer 개발
argparse를 사용한 인자 파싱 기능 개발
treelib을 사용한 공격 트리 시뮬레이션 검증 기능 개발
Git/Github, Zira를 이용한 프로젝트 및 팀 관리

기술 스택

OS : Kali Linux
언어 : Python
DevOps : JIRA, Git/Github

정량적 성과

배열 탐색 알고리즘을 이진 탐색 트리 알고리즘으로 교체하여 기존 시간복잡도 O(n)O(n)에서 O(logn)O(\log{n})으로 단축
반복되는 문자열이 있는지 제거하는 로직을 리스트 연산에서 set으로 교체하여 기존 시간복잡도 O(n)O(n)에서 O(1)O(1)로 단축
2021 하반기 심화 프로젝트 경진대회 우수상

정성적 성과

프로젝트의 효율적 업무 일정 관리 경험
산출물 문서화 및 보고서 작성 경험
SQL Injection과 같은 보안 취약점 탐지 방법에 대한 기술 지식 습득
Python의 주요 라이브러리(bs4, argparse, treelib, selenium, numpy) 사용법 습득
Fuzzing 기술에 대한 이해 및 구현 경험

피드백

오류 해결 과정을 따로 기록해놓지 않아 프로젝트가 끝난 후 당시 발생한 오류 및 해결 과정이 떠오르지 않았다.
→ 오류 기록에 대한 필요를 느꼈다.
파일 구조가 모듈별로 패키징이 안 되어 있어서 응집도가 낮았고 파일이 헷갈렸다.
→ 모듈별로 패키징을 진행하여 응집도를 높히고 결합도를 낮추는 방향으로 진행해야 한다.