Abstract
내 연구는 지향성 퍼징을 개선하여 다양한 목표 지점을 효과적으로 노리는 방법을 탐구한다. 실시간 정보와 비트맵을 활용한 접근 방식을 제안했지만, 기술적으로 손볼 구멍들이 많다. 우수한 연구를 달성하기 위해 필요한 지속적인 노력과 헌신에 대해 생각해보며, 스스로 익숙해지기까지 노력이 필요하다는 걸 인정하고 최선을 다하기로 다짐한다.
본문
% 기 - 논문은 최고 수준으로 세상의 지식을 넓혀 가는 것이다. 나 따위가? 나는 아이디어도 간단하다. % 승 - 아이디어는 간단하지만 구현에서 애를 먹기 쉽다. % 전 - 우수한 연구를 만들기 위해서 무엇이 필요할까? 메져먼트도 중요하다. % 결 - 우수한 연구를 만드는 것도 숙달되고 익숙해질까? 이게 단순 심리 문제일까? 고민이 된다.
연구를 만드는 건 쉽지 않다. 최고의 연구라고 자부하려면 매일매일 개발을 해야 하지만, 그건 열심히 사는 사람은 다 그렇다. 연구자로써의 덕목일 차별성을 고민하게 된다. 이러한 과정에서의 고뇌와 목표를 정리한다.
내 목표는 간단하다. 지향성 퍼징이 여러 타깃을 노리게끔 하는 것이다. 이로써 예상 취약점 등을 목표로 설정하여 버그 검사를 수행할 수 있다.
그 접근방식의 특별함을 고민했다. 사람들이 잘 몰랐으나 우리 연구실이 밝혀냈다고 자랑스레 말할 법한 것 말이다. 한 가지 아이디어는 실시간 정보를 활용하여 어느 지점에 집중할지를 바꾸는 것이다. 또 다른 아이디어는 각 목표 지점에 대한 정보를 비트맵으로 만들어 로드를 줄이고 매 실행 결과와 빠르게 비교할 수 있게 만드는 것이다. 최선이었는지는 알 수 없지만 이제 큰 항로를 바꿀 생각 대신 결과 도출에 집중해야 한다. %% 지향성 퍼징은 코드 내 목표지점을 입력이 실행하게끔 유도하는 퍼징 기법이다. 예상 취약점이나 최근 수정된 지점, 익명 크래시 리포트 지점을 목표로 설정하여 버그 검사를 수행할 수 있다. 2013년에 공개된 오픈 소스 무지향성 퍼징 도구인 AFL 위에 다양한 지향성 퍼징 기술들이 추가되고 있다. %%
아이디어는 간단하지만 구현에서 애를 먹었다. 집중 위치를 바꾸는 간단한 아이디어가 기존 알고리즘에 폐를 끼치는 부분을 다 뜯어 고쳐야 성능이 좋아졌다. 최소한의 코드만 얹어서 마법처럼 돌아가게 만드는 것은 불가능했다. 여러 기술적 문제들을 해결하는 과정은 진흙탕이었다. 거기다 봄내 자잘한 휴가 행사 수업이 껴 있는 상황에서 나태해졌다. 종강을 맞아 일과 시간을 담백하게 코딩에만 투자한 후, 조금 더 빠른 연구의 진전을 확인할 수 있었다. 그러나 아직도 갈 길이 멀고, 왜 성능이 안 좋은지 판단하는 것도 지지부진하다.
우수한 연구를 만드는 것도 숙달되고 익숙해질까? 2024년도 FSE에 실린 논문이 약 120편이고 경쟁률은 약 4대 1이다. %% 내 연구가 세상을 약간이나마 바꾸긴 하겠지만, 그렇다고 그 해의 100편 중 하나로 실릴 수 있을지는 자신감이 없다. %% 483명의 투고자 중 120명만이 우수한 연구를 한다면, 그것도 놀랍지만, 그 120명 중에서 내가 포함되어 있다면, 그것은 더 놀랍다. 우수한 연구를 위해 더 많은 시간을 투자, 고민해야 한다.
어떻게 첫 논문이 완성될지 두렵다. 그래도 혼자 책상물림하며 맘앓는 게 아닌, 연구실에 있어서 행운이다.
%% 논문을 앞둔 전산과 사람들의 마음가짐은 뭘까? 생명과 사람들은 죽기살기로, 수학과 사람들은 스트레스 받으며 한다. 전산과는 유쾌해 보이지만, 정말 어떻게 해야 할까? %%