본문 바로가기

분류 전체보기18

AFL fuzzer : dictionaries AFL fuzzer에 대해서 조금씩 더 알아나가 보자. 블로그에서 파편화된 지식들로 배우다 보니, 스스로 깊이가 부족한 것 같아서 돌고 돌아 다시 공식 문서다. 두번째 읽으니까 다시 보이는 것이 있어서 정리해둔다. 저번 AFL fuzzer 포스팅에서는 간단한 동작 원리를 살펴보았는데, 타겟 프로그램에 무수히 많은 mutated inputs을 테스팅해봄으로써 취약점을 찾아내는 것이 fuzzing 이다. 하지만 생각해보면, 우리가 사용하는 유명한 프로그램은 독자적인 포맷, 확장자를 제공한다. 예를 들어, PNG, JPEG, PDF, PPTX 등이 있을 것이다. 이러한 확장자들을 살펴보면, 저마다 magic number 혹은 file signature 라는 것이 있는데, PNG 같은 경우, file signa.. 2024. 1. 25.
AFL fuzzer (American Fuzzy Lop) 분석 AFL fuzzer는 사실상 표준인 fuzzer로 fuzzing과 관련된 많은 논문에서 일종의 baseline으로 다루어진다. 가장 기본이 되는 fuzzer인 만큼 후에 참고용으로 공부한 것을 기록해둔다. afl-fuzz 요약 아래 코드는 개인적으로 afl-fuzz.c 의 실행 흐름을 분석하고, 간략하게 pseudo code 형태로 짜본 것이다. 현재 가장 빈번하게 다루어지는 퍼징의 기본적인 형태는 다음과 같다. 1. Queue 에 initial seed, 즉 input 을 넣는다. 2. 반복문에 진입한다. 3. Queue 에서 entry 하나를 가져온다. 4. 이 entry 의 특성을 고려하여, 얼마만큼 fuzzing 시킬 지 결정한다. 5. mutate 6. 만약, mutate 된 testcase가 .. 2024. 1. 21.
체크 포인트 그렇다 할 제목이 떠오르지 않아서 한참 고민하다가 체크 포인트라는 제목을 달아봤다. 한번쯤은 내 주행을 점검할 필요가 있다고 생각해서 오랜만에 블로그 포스팅을 쓴다. 자동자 경주하니까 어렸을 적 되게 재밌게 봤던 영화 카가 생각났다. 영화에서 보면 경주 도중에 차들이 타이어를 갈려고 잠시 들어오는 지점이 있는데, 이를 피트 스톱(pit stop) 이라고 한다. 피트 스톱에 들어가려면 일단 속도도 줄여야 하고 여러모로 기록에 안 좋은 점이 많은 것 같지만, 마모된 타이어를 새 타이어로 교체해서 오히려 더 좋은 퍼포먼스를 내기도 한다. 방학은 약간 피트 스톱같다. 방학 중에도 물론 달리고 있다. 계속해서 머물러 있을 수는 없지만, 잠깐 점검을 하는 시간은 필요하다. 알고리즘에 관한 이야기 최근에 1학기에 시.. 2023. 7. 24.
[2023 서강대학교 청정수컵] 청정수 Round 짧 후기 모처럼 대회가 끝나고 공강인 오늘 시간이 남아 오랜만에 기록을 남기고 싶었다. 비하인드 Sogang ICPC Team 에서 주최하는 청정수컵에 참가하게 되었다. 복학 후 참가하는 첫 대회인 만큼 기대도 되었고, 한편으로는 걱정도 있었지만 집에서 혼자 문제를 푸는 것보다 대회의 긴장감도 느껴보고 싶었고, 개인적인 욕심이 들어 참가를 결정했다.사실 2022 청정수컵의 참가 자격이 solved.ac 플레 5 미만까지여서, 플레 5 승급을 얼마 남기지 않은 상태에서 혹시나 참가하지 못하지 않을까 학기 초반에 걱정했었는데, 쓸 데 없는 걱정이었다 ㅋㅋㅋ 올해부터 플레3 미만까지로 바뀌어서 초급 스터디의 문제를 마음 놓고 풀어 플레 5로 승급해버렸다. 이번 학기 목표가 강의자로 활동하고 있는 기초 스터디를 잘 마무.. 2023. 5. 22.