공부 67

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

DEF CON 29 Aerospace Village - Fuzzing NASA Core Flight System Software, Ronald Brobert Reproduce

NASA의 cFS를 타겟으로 네트워크 퍼저인 fuzzotron을 이용해 퍼징했던DEF CON의 연구를 reproduce 해본다. 아래 링크를 참고하였다. DEF CON 29 Aerospace Village - Fuzzing NASA Core Flight System Software, Ronald Brobert cFS Configuration & Fuzzotron Fuzzing SettingcFS와 Fuzzotron 세팅은 아래 링크를 참고하면 좋다. https://juntheworld.tistory.com/190 cFS 설치 및 실행하는방법Part1 - Setup아래 깃허브 링크에서 cFS를 git clone 해준다.https://github.com/nasa/cFS GitHub - nasa/cFS: Th..

공부/SPACE 2024.06.04

SUCHAI (The Satellite of the University of Chile for Aerospace Investigation) 설치하기

The Satellite of the University of Chile for Aerospace Investigation (SUCHAI) 는 칠레대학교(Physics and Mechanical Engineering Departments of the Faculty of Physical and Mathematical Sciences (FCFM) at University of Chile)에서 만든 CubeSat 오픈소스다. 이 suchai를 설치하는 방법에 대해 정리한다.  빌드 디펜던시 설치 sudo apt install libzmq3-devsudo apt install pkg-config libcsp 빌드CSP(CubeSat Protocol)는 CubeSat과 같은 소형 우주선에서의 통신을 위해 설계된..

공부/SPACE 2024.05.27

Fuzzotron 을 이용한 NASA cFS(Core Flight System) 퍼징하기

1. 소개Fuzzotron이라는 네트워크 퍼저를 이용해 UDP 패킷을 cFS 프로그램으로 전송하여 퍼징을 진행했다.cFS를 설치하는 것은 아래 링크를 참고하면 좋다.https://juntheworld.tistory.com/190 cFS 설치 및 실행하는방법Part1 - Setup아래 깃허브 링크에서 cFS를 git clone 해준다.https://github.com/nasa/cFS GitHub - nasa/cFS: The Core Flight System (cFS)The Core Flight System (cFS). Contribute to nasa/cFS development by creating an account on GitHub.github.comgijuntheworld.tistory.com 참고..

공부/JUN STUDY 2024.05.12

cFS 설치 및 실행하는방법

Part1 - Setup아래 깃허브 링크에서 cFS를 git clone 해준다.https://github.com/nasa/cFS GitHub - nasa/cFS: The Core Flight System (cFS)The Core Flight System (cFS). Contribute to nasa/cFS development by creating an account on GitHub.github.comgit clone https://github.com/nasa/cFS.gitcd cFS# submodule 설치git checkout bootes-rc2git submodule initgit submodule update 이때 submodule update를 해주면 아래와 같이 뜨며cFS/apps/*cFS/..

공부/SPACE 2024.04.22

C언어 가변인자함수 구현 (...)

C 언어에서 ... 키워드는 가변 인자 목록(variadic arguments)을 의미합니다. 이 키워드는 함수가 고정된 수의 인자 대신 다양한 수의 인자를 받을 수 있게 해 줍니다. 이는 특히 여러 다른 타입의 인자를 다루거나, 호출 시점에 정확한 인자의 수가 결정되지 않는 경우에 유용합니다. 가변 인자 함수의 구현 방법 가변 인자 함수를 구현할 때는 다음과 같은 표준 라이브러리 매크로를 사용합니다: va_list: 인자 목록을 처리하기 위한 변수 타입입니다. va_start: 가변 인자 목록의 초기화를 시작합니다. 첫 번째 매크로 인자는 va_list 타입이고, 두 번째는 가변 인자 바로 앞의 고정된 인자입니다. va_arg: 가변 인자 목록에서 다음 인자를 가져옵니다. 이 매크로는 리스트와 반환할 ..

공부/이모저모 2024.04.12

Stub 함수란

Stub이란? "Stub"은 소프트웨어 개발과 테스트에서 사용되는 용어로, 특히 단위 테스트에서 중요한 역할을 합니다. Stub은 실제로 구현된 복잡한 로직이나 외부 시스템과의 연결을 대신하는 간단하고 제어 가능한 구현을 제공합니다. 이를 통해 개발자는 테스트하고자 하는 부분에 집중할 수 있으며, 테스트가 외부 요소의 영향을 받지 않도록 보장합니다. Stub의 주요 용도: 의존성 제거: Stub을 사용하여 데이터베이스, 네트워크 호출, 하드웨어 입력 등 외부 시스템과의 의존성을 제거할 수 있습니다. 테스트 간소화: 테스트할 시스템을 보다 단순화하여, 오류를 찾기 쉽고 테스트를 빠르게 실행할 수 있습니다. 결과 예측 가능: Stub은 예측 가능한 값을 반환함으로써 테스트 결과의 일관성을 보장합니다. 상태 ..

공부 2024.04.12

git submodule 기능 (git submodule init / git submodule update)

git submodule init과 git submodule update 명령어는 Git의 서브모듈과 관련된 명령어입니다. 서브모듈은 다른 저장소를 현재 저장소의 하위 디렉토리로 포함시키고 싶을 때 사용합니다. 이를 통해 외부 라이브러리나 공통으로 사용되는 구성 요소들을 관리할 수 있습니다. git submodule init 이 명령어는 서브모듈을 초기화합니다. 즉, .gitmodules 파일에 기록된 서브모듈의 정보를 로컬 .git/config 파일로 복사합니다. 이 과정에서 서브모듈의 URL과 브랜치 정보가 설정되지만, 실제로 서브모듈의 콘텐츠를 다운로드하진 않습니다. 서브모듈을 처음으로 추가할 때나, .gitmodules 파일이 변경되었을 때 필요합니다. git submodule update 이 명..

공부/이모저모 2024.03.25

Ubuntu에서 sys/syscall.h: No such file or directory 해결

위와 같이 -m32 옵션을 주어 32비트로 바이너리를 컴파일하려고할때 다음과 같이 오류가 발생하는 경우가 있다. fatal error: sys/syscall.h: No such file or directory 1 | #include | ^~~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile:13: shellcode.o] Error 1 sys/syscall.h는 리눅스의 표준 C라이브러리의 일부이기 때문에 윈도우에서 실행했을때는 해당 라이브러리를 못찾을 수 있지만, 우분투에서 찾지못하는건 상당히 당황스럽다. 우분투에서 우분투의 표준 C 라이브러리가 설치되지않은 상황이기때문에, 이를 적절히 설치해주면된다. 64비트의 경우 : 64비트 시스템에서 32비트 어..

공부/이모저모 2024.03.13
728x90