창작의 고통

우리가 연구를 처음 시작하게 되면, 성공한 사람들의 사례를 주로 보게 됩니다. 트위터만 보더라도 획기적 연구 결과가 하루가 멀다고 쏟아져 나오니까요. 이 글에서는 연구의 다른 측면, 즉 질 좋은 연구를 하는 것이 얼마나 길고, 고된 과정인지를 얘기하고자 합니다. 이것은 분명 연구자들에게 흔히 일어나는 일임에는 분명하지만, 잘 알려진 이야기는 아닙니다. “성공의 확률을 높이려거든, 실패의 확률을 높여라.” 토마스

Read More

바이너리 분석에 웬 F#?

많은 분이 B2R2 프로젝트를 보면서 왜 F#인가 궁금해합니다. 어찌 보면, F#이라는 언어가 프로젝트의 대중화에 걸림돌이 되는 것 같기도 합니다. 왜 잘 알려지지도 않은 언어인 데다가 사용하기도 불편해 보이는 함수형 언어를 써야만 했던 것일까요? 앞으로 두세 차례 포스팅을 통해 왜 우리가 F#을 썼는지, 우리의 비전은 무엇인지에 대해 이야기해보려 합니다. B2R2는 닷넷(.NET) 라이브러리 정확히 말하면 F#은 B2R2의

Read More

바이너리 역어셈블의 의미와 원리 파헤쳐보기

소프트웨어 보안 논문을 읽다 보면, 역어셈블(Disassemble)은 비결정(undecidable)문제라는 이야기를 자주 접하게 됩니다. 하지만 그 의미를 정확히 아는 사람은 드뭅니다. 국내외를 막론하고 역어셈블의 의미를 깊이 있게 고찰하는 글을 찾아보기는 매우 어렵기 때문입니다. 이번 시간에는 많은 사람들이 궁금해하는 바이너리 역어셈블의 의미와 원리를 한 번 파헤쳐보겠습니다. 역어셈블의 뜻은 그 대상에 따라 달라진다. 역어셈블(Disassemble)은 말 그대로 어셈블(Assemble)을 거꾸로 하는 것을

Read More

바이너리 분석에 대한 오해와 진실

소스 코드가 없는 경우엔, 바이너리 코드를 본다? 보안에 관심 있는 사람은 누구나 바이너리(binary)에 대해서 들어보았을 것입니다. 해킹 경연대회(CTF)에서는 항상 바이너리 기반의 문제가 출제되죠. 소스 코드를 활용한 해킹대회 문제는 웹 해킹 쪽을 제외하고서는 매우 드물다 할 것입니다. 그뿐 아니라 메모리 취약점을 공격한다고 하면 누구나 다 바이너리를 기반으로 공격 코드(exploit)를 만듭니다. 그런데 왜 이렇게 보안에서는 바이너리가 중시되는

Read More

CSRC 블로그 첫 인사

안녕하세요, 2020년 3월부터 센터장을 맡게 된 차상길입니다. 저희 센터는 올해부터 다양한 경로로 연구관련 소식을 전하고자 노력하고 있으며, 그 일환으로 블로그를 개설하게 되었습니다. 본 블로그는 국내 사이버 보안 인식 수준의 개선을 위해 다양한 주제의 보안 문제와 카이스트에서 연구중인 최첨단 보안 기술을 심도있게 다룰 예정이며, 이를 위해 영어보다는 주로 우리말로 된 글을 올릴 계획입니다. 여러분의 많은 관심

Read More