프로그래밍언어
-
[PL] Fuzzing, 퍼징이란?PL 2023. 2. 11. 18:30
피드백과 정정 댓글은 환영입니다 :) 해당 게시글의 참고 문헌은 게시글 가장 아래에 작성해두었습니다. 1) 퍼징(Fuzzing)이란? 소프트웨어는 사람에 의해 개발된 것이기 때문에 필연적으로 오류 및 취약점이 존재한다. 퍼징은 이러한 취약점들을 발견해내기 위한 소프트웨어 테스트 기법 중 하나이다. 퍼징은 프로그램에 무작위로 생성된 여러 데이터를 입력하여 취약점을 찾아내는데, 취약점을 발견하는 과정이 매우 우연적이기 때문에 바보 과학이라고 불리기도 한다. 예로, C에서 변수에 1부터 아주 큰 숫자들을 무작위로 집어넣었을 때 특정 숫자에서 Integer Overflow 오류가 발생하는 것을 알게 된다면 무작위로 생성된 여러 정수 데이터를 통해 취약점을 발견해냈다고 이야기할 수 있다. (물론 Integer O..