목록분류 전체보기 (81)
topcue
OverviewAFLdactFuzzingBuild dactUse dactBuild dact with scan-buildbuild with AFLFuzz with AFLConclusionOverview비오비 교육 때 박세준 멘토님께서 내주셨던 과제를 정리할 겸 AFL을 이용해 1-day 취약점을 트리거하고 exploit하려 한다.퍼징과 exploit은 Ubuntu Linux 18.04에서 진행한다.아래와 같은 순서로 진행한다.AFL을 이용해 취약점이 있는 0.8.42 버전의 dact를 퍼징한다.crash를 기반으로 취약점을 분석하고 exploit 해본다.AFLafl은 honggfuzz, afl, libfuzzer와 함께 소프트웨어 퍼징을 위한 대표적인 gery-box fuzzer다.자세한 내용은 따로 정리..
[논문 리뷰] DIFUZE : Interface Aware Fuzzing for Kernel Drivers원문 : https://acmccs.github.io/papers/p2123-corinaA.pdfDIFUZE 논문에서는 UNIX 계열의 커널 드라이버를 퍼징하기 위한 방법을 제시한다.DIFUZE는 그 자체로 완전한 퍼저는 아니고 다른 퍼징 엔진을 필요로 한다.논문 저자는 MANGO라는 prototype fuzzer를 제시하고 syzkaller와 비교한다.본 논문의 기여는 다음과 같다.자동으로 드라이버를 복구하는 interface-aware fuzzing 방법 제시.interface-aware fuzzing이 커널 드라이버를 퍼징하는데 효과적임을 보임.최신 안드로이드 모바일 기기 7개를 분석하여 32개..
host pc : OS X 10.15 VMware FusionUbuntu Linux 18.04 Server (+ 20.04 일부 추가)0. 기본 패키지 설치기본적인 패키지 설치sudo apt-get update sudo apt-get install -y vim git curl gdb openssh-server gcc-multilib1. 패키지 관리 서버 변경sudo vi /etc/apt/sources.list아래 명령어로 일괄 변경 후 저장:%s/kr.archive.ubuntu.com/mirror.kakao.com :wq!패키지 업데이트sudo apt-get update2. vim 설정# for Vundle git clone https://github.com/VundleVim/Vundle.vim.git ..
※ 본 프로젝트는 offensive research가 아닌 defensive 관점에서 진행한 학술적인 연구입니다.✉ 윤형준 encrypt@kakao.com[목차]OverviewOptimizationInvMulInvolutionImplementationNEAT - PythonNEAT - CGithubConclusionOverviewNEAT 암호 알고리즘 분석 프로젝트의 마지막 파트가 될 것 같다.암호분석(cryptanalysis)을 안 할 수도 있고 혹시 하더라도 포스팅을 하지 않을 수도 있다.앞서 분석한 NEAT를 C와 Python으로 구현하고 github에 공개한다.OptimizationInvMulmodular 216+12^{16}+1216+1에서 a−1a^{-1}a−1을 구하는 문제를 fertma..
※ 본 프로젝트는 offensive research가 아닌 defensive 관점에서 진행한 학술적인 연구입니다.✉ 윤형준 encrypt@kakao.com[목차]OverviewDefenitionOperationNotationLemma 1. F와 InvF의 관계Lemma 2. F/InvF 함수와 Round Key/dec Round Key의 관계Lemma 3. XL/dXL의 involution 성질Lemma 4. XL과 dXL의 역함수 관계Lemma 5. XL과 dXL의 관계Theorem 1. NEAT Enc/DecryptionTheorem 2. Involution StructureConclusionOverview우리가 접할 수 있는 대부분의 공개 암호 알고리즘은 specification을 제공한다.덕분에 ..
※ 본 프로젝트는 offensive research가 아닌 defensive 관점에서 진행한 학술적인 연구입니다.✉ 윤형준 encrypt@kakao.comOverviewNEATDefenitionEncryptionRound functionF functionInvF functionXor LayerDecryptionKey ScheduleDecryption Key ScheduleConclusionOverview본 (3) 알고리즘 분석 파트에서는 NEAT 구현체를 리버싱하여 분석한 NEAT 암호의 동작 과정을 정리한다.NEATNEAT(National Encryption AlgoriThm)는 국정원에서 만든 암호 알고리즘으로 1997년 국가기관용 표준암호로 제정되었다.암호 알고리즘의 표준 문서나 명세서를 제공하고 ..
※ 본 프로젝트는 offensive research가 아닌 defensive 관점에서 진행한 학술적인 연구입니다.✉ 윤형준 encrypt@kakao.com[목차]Overview획득한 바이너리어떤 바이너리를 분석할까?이제부턴 정말 리버싱 뿐이야sub_630() - Modular Multiplicative Inversesub_6C0() - Multiplicationsub_720() - F functionsub_800() - Inverse F function_Encrypt()라운드 함수Xor LayerConclusionOverview본 (2) 리버싱 파트에서는 NEAT 구현체를 리버싱하여 알고리즘을 분석하는 과정의 일부를 정리한다.사실 중간중간 (3) 알고리즘 분석 파트에 어울리는 내용이 들어가 있기도 하고,..
※ 본 프로젝트는 offensive research가 아닌 defensive 관점에서 진행한 학술적인 연구입니다.✉ 윤형준 encrypt@kakao.com[목차]Overview동기NEAT 사전 정보NEAT 조사NEAT 구현체 획득Theori가 왜 거기서 나와?ConclusionOverviewNEAT(National Encryption AlgoriThm)는 국정원에서 만든 암호 알고리즘으로 1997년 국가기관용 표준암호로 제정되었다.암호 알고리즘의 표준 문서나 명세서를 제공하고 있지 않은 비공개 암호 알고리즘으로 security through obscurity에 보안성을 일부 의존하고 있다.본 프로젝트에서는 NEAT 암호 알고리즘을 포함하고 있는 바이너리를 리버싱하여 NEAT 알고리즘을 분석한다.동기동계 ..