공부 65

L* Algorithm(L star Algorithm) 이란? - 개념/예제/이해하기

L* Algorithm(L start Algorithm) 이란?학생 - 선생학생은 선생님에게 두가지 종류의 질문을 질문할 수 있음Membership Query : word w 가 언어 L 에 속하는지 아닌지 선생님은 yes or no를 답함Equivalence Query : DFA H가 L을 허용하는지 아닌지 여부. 허용하면 True 아니면 반례를 리턴함 x ∈ L\\L(H) ∪ L(H)\\L → L(H)는 무슨 뜻?언어 L을 성공적으로 학습하려면 유한한 쿼리 내에서 DFA를 잘 guess 해야함.Language 라 하는 것은예제: 로그인 프로토콜 추론L* 알고리즘을 사용하여 네트워크 프로토콜을 추론하는 예제를 살펴보자.아래는 학습자가 **네트워크 프로토콜의 상태와 동작(==Language)**을 추론하..

공부/JUN STUDY 2024.10.30

fsb 이젠 좀 이해하기 (어떻게 arbitrary write가 되는가?)

fsb의 무시무시한 점은1. 임의주소에2. 원하는 값을쓸 수 있다는 것이다.  임의 주소에 쓸 수 있는 이유는 %187c%11$hhn 덕분이고원하는 값을 쓸 수 있는 이유는 %187c%11$hhn 덕분이다. 여기서 또 레전드인게 임의주소인 이유는 %11$인자 위치에 있는'그 주소에' 값을 쓸 수 있기 때문이다. (&의 개념 -> printf("%s", buf) 처럼. %s는 buf(char *) 를 참조한다.) 따라서 %11$ 위치에 원하는 주소를 입력하고 %(원하는 값)c 이용해서 원하는 값을 만들면 된다.

공부/JUN STUDY 2024.09.27

VMware에서 vagrant up 할때 오류해결 & 실행법

사용한 커맨드와 문제상황vagrant box add junbox jun.boxvagrant init junboxvagrant upvagrant ssh 에러메세지vagrant up Bringing machine 'default' up with 'virtualbox' provider...==> default: Clearing any previously set forwarded ports...==> default: Clearing any previously set network interfaces...==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat==> default: Forwardi..

공부/JUN STUDY 2024.09.26

ROP와 튜링완전성

튜링 완전성(Turing Completeness)이란 컴퓨터 시스템이나 프로그래밍 언어가 **튜링 기계(Turing Machine)**와 동일한 계산 능력을 가지고 있음을 의미합니다. 즉, 튜링 완전성을 갖춘 시스템은 적절한 알고리즘과 메모리 자원이 주어진다면 이론적으로 어떠한 계산 문제도 해결할 수 있다는 것을 뜻합니다. 튜링 완전성의 개념은 **앨런 튜링(Alan Turing)**의 이론적 모델에서 유래한 것으로, 모든 계산 가능한 함수나 프로그램을 처리할 수 있는 가상의 기계를 기반으로 하고 있습니다. 튜링 기계는 무한한 테이프(메모리)와 이를 읽고 쓸 수 있는 헤드를 가지고 있고, 정해진 규칙에 따라 동작하는 모델로, 그 계산 능력의 기준을 설정한 것입니다.예시로 설명하면:프로그래밍 언어: 튜링 ..

공부/JUN STUDY 2024.09.23

Vim을 이용한 Line Breaks (자동 줄바꿈 하기) set tw 이용 gqap

특정 보고서 포맷에 맞게끔 원하는 text width에 맞게 긴 문장의 글을자동으로 줄바꿈하는것이 필요할때가 있다. 자동줄바꿈(Line Breaks) 전The rapid advancement of technology in recent years has led to significant changes in various industries, including healthcare, finance, education, and communication, where innovations such as artificial intelligence, machine learning, blockchain, and the Internet of Things are reshaping the way we live, work, a..

공부/JUN STUDY 2024.09.03

Mysql Access denied Error 해결법 Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'

인증 플러그인 변경:MySQL에 sudo로 접속:sudo mysql플러그인 변경: MySQL 프롬프트에서 다음 명령어를 실행하여 root 사용자의 인증 방식을 변경합니다.여기서 your_new_password는 새로운 비밀번호로 설정합니다.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';변경 사항 적용:FLUSH PRIVILEGES;MySQL에서 로그아웃:EXIT;다시 로그인 시도:mysql -u root -p

공부/JUN STUDY 2024.08.22

AFL++ qemu mode 이해하기 (High-performance binary-only instrumentation for afl-fuzz)

AFL qemu mode를 이해하고 사용하기위해 아래링크의 글을 읽어본다. AFL++의 qemu mode를 사용하면 Snapshot mode, Deferred initialization, Persistent mode를 사용할 수 있다.참고로 필자는 바이너리의 실행시점에서 initialize 과정을 bypass해서 퍼징의 성능을 높이고 싶어, Snapshot mode를 사용하는 방법을 익히고싶어 이 글을 읽게되었다. https://github.com/AFLplusplus/AFLplusplus/blob/stable/qemu_mode/README.md AFLplusplus/qemu_mode/README.md at stable · AFLplusplus/AFLplusplusThe fuzzer afl++ is af..

공부/JUN STUDY 2024.08.08

AFL++ custom mutator 이해하기 (1) - file input으로 넣기

0. 들어가며https://aflplus.plus/docs/custom_mutators/ Custom Mutators | AFLplusplusThe AFLplusplus websiteaflplus.plus AFL++에는 custom mutator 라는 기능이 있다. 이를 이용해 grammer based input을 생성해내도록하거나 file input이 아닌 다른 방법으로 input을 전달할 수 있도록 고칠 수 있다고 하는데, 어떻게 하면 그렇게 사용할 수 있을지 사용해보았다. AFL++는 기본적으로 파일을 입력으로 받는 프로그램에 대해서만 input을 전달하는 기능을 제공하기때문에, 이를 잘 이용하면 grammer based input을 udp와 같은 다양한 채널로 전송할 수 있을거라는 가정으로 분석해..

공부/JUN STUDY 2024.07.24

SUCHAI-FS-Fuzzy-Testing 빌드 및 실행

SUCHAI-FS-Fuzzy-Testing 을 이용해 칠레대학교의 위성 소프트웨어인 SUCHAI를 퍼징해본다.SUCHAI-FS-Fuzzy-Testing 레포지토리는 주요 모듈들이 python으로 구현되어있어 별도의 빌드없이 편리하게 실행해볼 수 있다. https://gitlab.com/tamigr.2293/SUCHAI-FS-Fuzzy-Testing Tamara / SUCHAI-FS-Fuzzy-Testing · GitLabGitLab.comgitlab.com pip dependency 설치다음과 같은 디펜던시들을 설치해준다.파이썬 모듈을 실행하기위해 필요한 디펜던시들이다.pip install fuzzingbookpip install markdown  suchai-fs-fuzzy-testing 설치 및 실행..

공부/SPACE 2024.06.05
728x90