본문 바로가기
728x90

전체 글426

Buffer-overflow attack lab (5) Task 4: Address Randomization우리는 버퍼오버플로우 대응책들을 비활성화 한 채로 시작했다. 이번에는 해당 대응책을 다시 활성화 한 후에 실험을 진행한다. 아래의 명령어를 가상머신에서 수행하여 Address SpaceLayout Randomization (ASLR)을 활성화 한다. 아래의 명령어는 global 하게 적용되기 때문에 컨테이너에도 적용되는 것을 알 수 있다.Server-1 에 hello 신호를 보내 보고, 서버의 아웃풋을 관측해라. 해당 신호를 여러 번 반복해서 보내 보아라. 어떠한 특징이 있는가. 이것이 우리의 공격을 어렵게 만드는 이유에 대해서 설명하라. 항상 하기전에 도커 서버를 켜야한다. 깜빡하고 있으면 나처럼 서버를 키지도 않고 30분동안 왜 안되는지 고민하는 불.. 2024. 12. 8.
Buffer-overflow attack lab (4) Task 3: Level-2 Attack본 task 에서는 서버가 주요 정보를 출력하지 않게 하여 공격의 난이도를 높인다. 이번 공격의 타겟은 10.9.0.6 서버이다. (포트는 여전히 9090을 사용함) 이번에는 버퍼의 주소 값 만을 제공하는 것을 알 수 있다. 즉, bof값은 더 이상 제공하지 않는다. 즉, 버퍼의 크기는 더 이상 우리가 알 수 없는 값이다. 따라서 공격을 수행하기 어렵다. (물론 Makefile 을 확인하면 실제 버퍼의 크기를 알 수 있으나, 이 파일을 열어서 버퍼의 크기를 확인하지 않고 task 를 수행해야 한다. 왜냐하면 실제로 공격을 수행하는 공격자는 이러한 정보를 알 수 없기 때문이다.) 공격을 단순하게 하기 위하여 버퍼의 크기가 주어져 있는 상황을 상정한다. 또 다른 힌트로.. 2024. 12. 8.
Cloud Computing Cloud Computing클라우드 컴퓨팅이 쓰이는 방식은 다음과 같다. On-demand self-service사용자가 필요에 따라 리소스를 추가하거나 제거할 수 있다. Broad network access모바일, 데스크톱, 메인프레임 등 다양한 장치를 통해 네트워크로 접근할 수 있다. Resource pooling여러 사용자가 리소스를 공유하며, 필요에 따라 리소스가 동적으로 재할당될 수 있다. 이 과정은 사용자에게 보이지 않게 이루어진다. Rapid elasticity고객의 요구에 따라 서비스가 자동으로 빠르게 확장되거나 축소될 수 있다. Measure service수도, 가스, 전화 서비스와 같이 사용량을 측정하여 요금을 청구할 수 있다.Service Models클라우드 컴퓨팅 서비스 모델은 다음.. 2024. 12. 8.
Cryptography Method of CryptographyCryptanalysis는 암호 해독 또는 암호 알고리즘의 약점을 찾아내는 과정을 말한다. 주요 방법은 다음과 같다.단일 메시지의 해독 (Break a single message)암호화된 하나의 메시지를 해독하는 것을 목표로 한다.암호화된 메시지에서 패턴 인식 (Recognize patterns in encrypted messages)암호화된 메시지의 패턴을 찾아내어 의미 있는 정보를 추출한다.암호 해독 없이 의미 추론 (Infer some meaning without breaking the encryption)메시지의 길이나 빈도와 같은 정보를 기반으로 암호를 해독하지 않고도 의미를 유추한다.키 유추 (Easily deduce the key)한 메시지를 해독한 후.. 2024. 12. 7.
Privacy What is PrivacyPrivacy는 내 데이터를 어디까지 누가 봐도 되는가를 결정할 수 있는 권리라고 볼 수 있다. Private하겨 여겨질 수 있는 다양한 종류의 데이터가 있다.  신원 (Identity): 이름, 주민등록번호 등 개인 식별 정보.재정 정보 (Finances): 은행 계좌, 신용 카드 정보 등.건강 정보 (Health): 의료 기록, 병력 등.생체 정보 (Biometrics): 지문, 홍채, 얼굴 인식 데이터 등.특권적 커뮤니케이션 (Privileged communications): 법적, 기밀 대화 내용.위치 정보 (Location data): GPS 데이터, 현재 위치 등최근들어 소프트웨어와 인터넷의 발전으로 인해 데이터의 주체 (Subject)와 데이터의 소유자 (Owner.. 2024. 12. 7.
Buffer-overflow attack lab (3) Task 2: Level-1 attack제공된 docker-compose.yml 파일을 실행하여 컨테이너들을 실행하면, 네 개의 서로 다른 난이도를 갖는 네 개의 컨테이너가 수행된다. Task 2 에서는 level 1에 대한 공격을 수행한다.첫 번째 공격 대상은 10.9.0.5에서 port 9090으로 수행된다. 그리고 취약한 stack 프로그램은 32비트 프로그램이다. 우선, 정상적인 메시지를 서버에 전송해 보자. exploit.py 코드를 아래와 같이 수정해준다.그리고 코드를 실행하면 아래와 같이 작성 완료했다는 메세지가 뜬다.아래 처럼 Docker 컨테이너 내부에 접속하여 작업할 수 있도록 인터랙티브 쉘을 열어서 내부 프로세스를 확인하고 root의 권한으로 쉘이 열렸음을 확인할 수 있다. 위 모습이.. 2024. 12. 7.
Network security Communication Media Vulnerability1. Sender와 ReceiverSender: 데이터를 송신하는 LAN(Local Area Network) 내부의 노드입니다.Receiver: 데이터를 수신하는 LAN 내부의 노드입니다.이들은 WAN(Wide Area Network)을 통해 데이터를 주고받습니다.2. WAN (Wide Area Network)Sender와 Receiver를 연결하는 네트워크로, LAN보다 더 넓은 지역을 포괄합니다.WAN을 통해 데이터가 전달되는 동안 보안 위협이 발생할 수 있습니다.3. 보안 위협 요소다이어그램은 네트워크 통신 과정에서 발생할 수 있는 다양한 보안 위협을 보여줍니다.Rogue Receiver (Sniffer, Wiretap):네트워크 내 불법적.. 2024. 12. 6.
Buffer-overflow attack lab (2) Task 1: Shellcode버퍼 오버플로우 공격의 최종 목적은 악의적인 코드 (malicious code)를 타겟 프로그램에 주입하는 것이다. (Code injection). 이를 통하여 악의적인 코드는 타겟 프로그램의 privilege 로 실행되게 된다. 쉘코드(shellcode)는 많은 코드 인젝션 공격에 활용된다. 본 Task 에서는 shellcode 를 익힌다. 쉘코드는 코드 인젝션 공격에 흔히 사용된다. 쉘코드는 shell 에서 수행되는 코드의 조각이고 주로 어셈블리로 작성된다. 본 실습에서는 쉘코드의 바이너리 버젼만 제공하고 바이너리의 동작은 복잡하기 때문에 자세히 설명하지는 않는다.이 쉘코드는 ‘/bin/bash’ 쉘 프로그램을 수행하며 (1), command argument ‘-c’와 .. 2024. 12. 4.
Buffer-overflow attack lab (1) Intro버퍼 오버플로우는 프로그램이 정해진 경계 밖에 데이터를 쓰려고 하는 상황으로 정의된다. 공격자는 이 취약점을 이용하여 프로그램의 컨트롤을 변경하고 이를 통해서 악의적인 코드를 수행할 수 있다. 본 실험에서는 버퍼 오버플로우 취약점을 이해하고 버퍼 오버플로우를 악용하여 공격하는 방법을 익힌다. 본 실험에는 버퍼 오버플로우 취약점을 가진 서버가 주어진다. 프로그램의 버퍼 오버플로우 취약점을 악용하여 루트 권한을 얻는 것이 최종 목적이다. 추가로 버퍼 오버플로우에 대한 대응책을 수행하고 공격에 어떤 영향을 미치는지 확인해본다.본 실험은 아래의 내용을 포함한다:- 버퍼 오버플로우 취약성과 공격- 스택의 구조- 버퍼 오버플로우 대응법: 주소 난수화- 쉘 코드실험 환경: SEED Ubuntu 20.04 V.. 2024. 12. 2.
STM32 testing Setting일단 설치는 했다.. 아래 블로그를 참고하시길..https://blog.naver.com/varofla_blog/222500972618 [STM32 HAL] 0. CubeIDE 프로젝트 생성 및 설정작년부터 집에 굴러다니던 누클레오보드를 발견하고 한 번 사용해 보기로 했습니다. HAL 라이브러리를 ...blog.naver.com UART우선 UART는 Asynchronous니 Asynchronous로 설정을 해준다. 클럭은 72MHz로 설정했다. HCLK에 72를 입력하고 엔터를 누르면 된다. 이제 코드를 작성하려면 Ctrl+s로 저장을 하면 되는데 코드창이 안뜬다면 로그인을 해야한다. 로그인을 해야 소프트웨어를 사용할 수 있는거라고 한다. 로그인을 안하고 계속 시도하다가 로그인을 하고 Ge.. 2024. 11. 18.
Telemetrics 개념 공부 STM32STMicroelectronics(이하 ST)에서는 다양한 Cortex-M 마이크로컨트롤러 라인업을 보유하고 있으며 제품명이 STM32로 시작하기 때문에 STM32 시리즈라고도 부른다. STM32 시리즈는 크게 7개의 제품 라인업으로 구성되어 있으며 그 구성은 다음과 같다.STM32F7 시리즈: 배정도 부동소숫점 연산자와 DSP를 포함한 최고성능 제품군STM32F4 시리즈: 단정도 부동소숫점 연산자와 DSP를 포함한 주력 고성능 제품군STM32F3 시리즈: 혼성신호처리 고성능 제품군STM32F2 시리즈: 고성능 제품군STM32F1 시리즈: 일반 사용제품군STM32F0 시리즈: 엔트리 레벨STM32L1 시리즈: 초저전력 제품STM32W 시리즈: 무선통신용 제품군ST는 Cortex-M 시리즈를 AR.. 2024. 11. 8.
[논문 리뷰] Word2Vec original paper: Efficient Estimation of Word Representations in Vector Space IntroLLM을 활용한 robotics 분야에 대해서 연구를 진행하기 위해 NLP 기본 개념을 공부하는 중이니 빼놓을 수 없는 Word2Vec과 같은 초창기 기초 논문부터 공부를 하려한다.이 논문은 대규모 데이터에서 단어를 연속적인 벡터로 표현할 수 있는 두 가지 새로운 모델 구조를 제안한다. 해당 두 모델들은 논문이 나온 시점에서 단어 유사성 측정 작업에서 기존 신경망 기반 기법들보다 정확도가 높고 계산 비용이 적다. 예를 들어 16억 개 단어로 이루어진 데이터셋에서 하루 내에 고품질 단어 벡터를 학습할 수 있으며 벡터들은 문법적, 의미적 유사성을 측정하는 테스트에서도 최첨단 성능을 보였다. 결론적으로 Word2Vec이 효율성과 성능을 동시에 갖춘 단어 표현 기법임을 입증하였다.Previous wor.. 2024. 10. 31.
728x90