분류 전체보기 110

Lazarus APT Group Tracking : Operation Dream Job

1. Campaign 개요Operation Dream job은 북한의 라자루스 그룹이 수행한 주요 사이버 공격 캠페인이다. 이 작전은 미국, 이스라엘, 호주, 러시아, 인도 등 5개국의 국방, 항공분야부터 정부기관을 주요 타겟으로 삼았다.2020년에 보안연구원들은 위장용 구인공고와 악성파일을 식별하면서Operation Dream job과 Operation North Star 캠페인 간의 TTPs 연관성을 확인했다.2022년 보안연구원들은 Operation Dream job을 Operation interception과 Operation North star를 모두 포괄하는 용어로 설명했다.2. Lazarus's TTPs페르소나 구축LinkedIn, Facebook, Indeed와 같은 소셜미디어 플랫폼에서 ..

카테고리 없음 2025.04.27

생성형 AI 사용의 위험 그리고 대책

개요요즘 전 세계적으로 AI에 대한 핫한 이슈가 하나 있다.바로 중국 항저우 인공지능 기초기술연구유한 공사가 만든 DeepSeek가 출시되었다는 소식이다.이 DeepSeek는 기존의 생성형 AI와는 달리, 적은 비용과 GPU 자원으로 선두주자였던 OpenAI에 버금가는 성능을 가졌다.그런데 이러한 가성비 넘치는 생성형 AI를 자국 정부기관에 대하여 세계 각국이 차단을 하고 있는 실정이다.특히 우리나라는 정부기관 뿐만아니라, 삼성, 현대 등 대기업에서도 막기 시작했다.어떤 것이 위험하길래, 막는 것일까 한번 알아봤다.OpenAI와의 차이생성형 인공지능 기술인공지능 기술의 한 종류로서, 이미지, 오디오, 비디오, 텍스트 등을 포함한 대량의 데이터를 학습하여 사람과 유사한 방식으로 문맥과 의미를 이해하고, 새..

카테고리 없음 2025.02.09

Assembly

개요지난 시간 우리는 아키텍쳐에 대해서 배운바가 있다.오늘은 고수준의 언어에서 기계어로 가기위한 중간 단계인 assembly에 대해서 알아보도록 하자.아키텍쳐프로세서에서 사용한 명령어 집합 구조들을 통칭하는 말로, 아키텍쳐에 따라 레지스터와 명령어(Assembly)가 나뉜다.x86을 예를 들어 보자면 32bit / 64bit는 컴퓨터가 한번에 처리할 수 있는 단위를 말한다.이를 우리는 1WORD라 정의한다.레지스터CPU의 기억장치로 명령을 처리하는데 필요한 데이터를 일시적으로 저장한다.크기는 작지만 기억장치 중에 속도가 가장 빠르다.종류범용레지스터산술 연산 레지스터인덱스 레지스터포인터 레지스터세그먼트 레지스터플래그 레지스터범용레지스터이름주 용도RAX함수의 반환값RBX메모리 주소RCX반복문의 반복 및 각종..

[3주차 TIL] KnockOn Bootcamp Pre.Rev : 포켓몬 게임 제작 Project

개요이 프로젝트는 2~3주차 동안 이루어진 포켓몬 게임 제작 프로젝트이다.요구사항각 기능과 구조체는 헤더파일을 이용해 구현해야 함.구조체는 꼭 malloc을 이용해 동적 heap메모리로 사용하여야 함. 구조체 멤버는 상관 X리눅스 환경 gcc컴파일러를 통해서 컴파일 및 실행이 되어야 함추가 점수는 자료구조를 이용할 경우 부여함.구성pokemon.txt : 포켓몬 리스트가 들어가 있는 파일pokemon.h : 포켓몬 게임을 위한 함수가 들어간 헤더파일pokemon.c : main.csave.txt : 게임 중간에 저장시 발생하는 파일pokemon.txt//pokemon.txt12파이리 불 60 80꼬부기 물 40 120이상해씨 풀 50 100브케인 불 50 90라이코 물 40 120치코리타 풀 50 100..

STUDY 2024.12.22

[3주차 TIL] KnockOn Bootcamp Pre.Rev : ELF 파일 구조

개요리눅스 기반 OS의 기본 바이너리 파일은 ELF(Executable and Linkable Format) 형식이다.ELF 파일이 어떻게 구성되어 있는지, 어떻게 매핑되고 실행될 수 있는지 알아보자이 포스트는 검색과 실습으로 제작되었다.구조ELF 파일 구조는 ELF 헤더영역, ELF 프로그램 헤더 테이블, ELF 섹션 영역, ELF 섹션 헤더 테이블로 구성된다.Segment : 동일한 메모리 속성(read-only, writeable 등)을 가진 하나 또는 그 이상의 섹션의 집합Section : 특정 정보(machine instructions, symbol table 등)를 포함하고 있는 ELF file의 작은 조각Symbol : ELF 파일 내 저장된 함수 또는 변수의 설명으로, 간단한 함수 또는 변..

STUDY 2024.12.22

[3주차 TIL] KnockOn Bootcamp Pre.Rev : 메모리 구조와 매핑

개요실행 파일은 로더에 의해 RAM에 로드 된 이후 CPU가 읽어 실행된다고 이전에 블로그에 올렸다.RAM에 올려진 실행파일은 과연 어떤 구조일지 알아봤다.메모리 구조섹션코드(Code)섹션 (.text 섹션)프로그램의 실행 코드가 저장되는 영역용도함수, 명령어와 같은 실행 가능한 코드가 위치Read-Only로 설정되어 코드 수정이 방지특징여러 프로세스가 동일한 프로그램 실행 시 코드섹션 영역을 공유프로그램의 컴파일된 기계어 코드가 저장되어 있는 영역권한(R-X)R(read) : CPU가 코드를 읽어 실행해야 하므로 허용X(execution) : 명령어 실행을 위해 허용데이터(DATA) 섹션전역 변수 및 정적 변수들이 저장되는 영역용도초기화된 전역 / 정적 변수가 저장됨.특징읽기/쓰기가 가능데이터 크기가 ..

STUDY 2024.12.21

[3주차 TIL] KnockOn Bootcamp Pre.Rev : 링커와 로더

개요이번에는 프로그램이 실행되는 과정의 첫번째인 링커와 로더에 대해 공부했다.링커여러개의 Object File과 라이브러리를 연결하여 하나의 실행파일을 완성하는 프로그램컴파일러가 소스코드를 컴파일하면, 생성되는 개별적인 목적파일들이 링커를 통해 결합됨.정적링킹특징필요한 라이브러리 코드를 실행파일에 직접 포함실행 시 추가적인 라이브러리를 필요로 하지 않음.장점실행파일이 독립적이며, 배포가 간단라이브러리를 찾지 않아도 되서 실행 속도가 빠름단점라이브러리를 통째로 합쳐야해서 실행파일 크기가 커짐라이브러리가 업데이트 되어도 Object File에 포함시켜서 새 실행파일을 만들어야함동적링킹특징실행파일에 라이브러리 코드를 포함하지 않고 실행 시 필요할 때 동적으로 로드할 수 있음동적라이브러리 파일이 필요하다.Win..

STUDY 2024.12.21

[3주차 TIL] KnockOn Bootcamp Pre.Rev : 컴파일러

개요이번에는 컴파일러가 컴파일을 진행하는 과정을 공부해봤다.컴파일러C, python, Java 등 인간이 읽고 이해하고, 쓸 수 있는 언어로 만들어진 프로그래밍 언어인 고수준 프로그래밍 언어를 컴퓨터가 읽고 실행할 수 있는 저수준언어(기계어)로 변환하는 프로그램이다.컴파일러는 코드 변환과정에서 오류를 검출하고, 최적화를 수행해 성능을 개선하는 역할도 한다.기능컴파일러의 주요 기능으로는 코드변환, 오류검출, 최적화가 있다.코드변환 : 사람이 이해하기 쉬운 고수준 언어를 컴퓨터가 이해할 수 있는 기계어로 변환오류검출 : 문법, 데이터 타입, 범위 등과 관련된 오류를 확인최적화 : 실행 성능을 높이거나 메모리 사용량을 줄이는 방식으로 코드 개선컴파일 과정컴파일은 크게 전처리, 컴파일, 어셈블, 링킹의 4단계로..

STUDY 2024.12.21