Authors: Insu Yun, Georgia Institute of Technology; Dhaval Kapil, Facebook; Taesoo Kim, Georgia Institute of Technology Paper: https://www.usenix.org/system/files/sec20-yun.pdf Presentation: https://y...
이번 글부터는 Protostar의 heap0 ~ heap3을 다룬다. 0. glibc version check 이 포스트 시리즈는 Arm32 bit 환경에서 재구성한 protostar 문제들을 다루고 있다. 그런데 앞서 stack과 format스트링과는 사뭇 다르게, heap 문제들은 해당 바이너리 자체의 취약점보다는, 동적 링킹된 glibc 의 버전에 영...
2017년에 나의 블로그에서 Radare2라는 도구를 소개하였었다. 이는 Unix 기반 시스템 환경에서의 리버스 엔지니어링을 할 수 있도록 돕는 프레임워크이며, 대부분 커맨드라인 인터페이스 형식으로 작동한다. 나는 최근까지도 radare2를 잘 사용하고 있었는데, 패키지 업데이트를 하기위해 radare2의 공식 사이트에 들어갔다가 이상한 점을 발견했다. 그...
새해에 새로운 프로그래밍 언어를 배우기로 다짐했고 그 후보군 중 하나였던 Go언어를 시작해보려고 한다. Go언어는 구글이 주도하는 프로젝트이다. 한국어로는 Go언어이고 영어로 Golang이라고 부른다. Go라고 구글에 치면 온갖 다른 내용들이 섞여서 나오기 때문에, 혼동을 방지하기 위해 Golang이라고 검색할 것을 추천한다. Golang은 출시된 지 약 ...
업무 특성상 리눅스를 사용해야할 일이 많습니다. M1 맥북에서 특히 64비트 Aarch64 리눅스를 돌리고 싶은 마음이 큽니다. 제가 현시점까지 조사해본바에 따르면 아래와 같은 방법들이 가능합니다. Docker : Docker는 현재 M1용 Preview 버전이 나왔습니다. 그런데 Docker는 내부적으로 Go언어를 사용하고 있습니다. Go언어의 1.16 ...
brew는 macOS에서 사용되는 패키지 관리 프로그램으로 개발자에게 굉장히 유용하다. 다만 기존의 Apple 컴퓨터가 intel을 기반으로 동작하고 있었으므로 brew가 제공하는 패키지 역시 intel용 바이너리를 설치했었다. 하지만 이번에 Apple Silicon M1 맥이 출시되며 Arm64 환경으로 전환이 시도 중이다. 물론 로제타를 이용하면 기존의...
0. AFL 개요 AFL은 American Fuzzy Lop의 약자로, Michal Zalewski라는 사람이 개인 홈페이지에서 만들어 공개했다. 그는 구글 직원인데 AFL이 학계 뿐만 아니라 산업현장에서도 많이 사용됨에 따라 굉장히 유명한 도구가 되었고, 2.53b (2019-07-25)버전부터 개인홈페이지가 아닌 Google github를 통해 오픈소스...
M1용 TensorFlow https://github.com/apple/tensorflow_macos 에서 M1 맥북 및 Big Sur의 ML 계산 프레임워크에 특화된 TensorFlow를 제공하고 있다. M1 맥북이 아닌 인텔 맥북에서도 이 Tensorflow를 사용할 수 있으나, CPU만을 이용할 수 있다고 한다. GPU Acceleration 은 M1...
0. 개요 honggfuzz 는 커버리지를 기반으로 뮤테이션을 수행하는 그레이 박스 퍼징 도구이다. 크래시를 찾고 로그 기록을 남기기 위해서 POSIX signal interface를 사용하므로, POSIX 호환 운영 체제를 사용할 때에만 사용할 수 있다는 점이 단점일 수도 있다. 퍼징 대상에 대하여 소스코드를 컴파일 할 때 계측 코드를 삽입하는 방법과, ...
드디어 기다리고 기다리던 M1 맥북에어가 도착했다. macOS 11.0 인 Big Sur 부터는 Apple의 머신러닝 계산 framework 이 탑재되어 있다. 이 기능은 M1 뿐만 아니라 인텔 모델에도 들어가긴하지만, M1칩에는 뉴럴엔진이 포함되어 있어서, 보다 성능을 극대화할 수 있다(고 홍보하고 있다). 내가 종사하고있는 보안쪽 분야나 현재 가장 유망...
앞서 Format String Vulnerability를 이용해서 ARM32에서 Arbitrary read와 write 및 Arbitrary execute가 가능함을 확인했다. 하지만 이는 모두 대상 주소 값을 알 수 있다는 전제 하에 가능했다. 만약 주소를 알 수 없다면 진행을 할 수 없고, 포맷 스트링 취약점을 통해 주소 값을 알아냈다 하더라도, 그 주...
지난번 글에 이어 이번에는 format4이다. 1. 소스코드 format4는 프로그램의 제어 흐름(Control Flow)를 변경하는 것이다. 본 format4 프로그램의 소스코드에서 main 함수는 vuln함수를 호출하고, vuln함수는 문자열을 fgets로 입력받은 후 printf 로 출력한다. 그리고 exit(1) 함수에 의해 종료된다. vuln 함수...
Software Security Engineer
자유로운 창작이 가능한 기본 포스트
한 컷씩 넘겨보는 카툰 포스트
직접 만든 영상을 올리는 동영상 포스트
소장본, 굿즈 등 실물 상품을 판매하는 스토어
정기 후원을 시작하시겠습니까?
설정한 기간의 데이터를 파일로 다운로드합니다. 보고서 파일 생성에는 최대 3분이 소요됩니다.
포인트 자동 충전을 해지합니다. 해지하지 않고도 ‘자동 충전 설정 변경하기' 버튼을 눌러 포인트 자동 충전 설정을 변경할 수 있어요. 설정을 변경하고 편리한 자동 충전을 계속 이용해보세요.
중복으로 선택할 수 있어요.