목록분류 전체보기 (52)
kaki1013

관심있는 기사들을 읽고,분야별로 그룹화하여 저장해두고 있었는데 (아래 사진 참고)점점 많아지는 거 같아서 차라리 블로그에 정리하려고 합니다. 주로 양자, 보안, AI 관련 소식을 다룰 거 같습니다.
작년 7월 말에 군 복무를 마친 뒤에 복학하기 전, 8월 한달 동안 암호분석경진대회에 참가를 하였습니다. 학기가 시작하고 바빠서 후기를 남기지 못했지만 늦게라도 후기를 정리하여 올리려고 합니다. 1번. 적대적 AI 공격 AI에 대한 공격 가능성을 묻는 문제이다. 특히, 적대적 AI 공격 (Adversarial AI attack) 중 Perturbation attack 기법과 Active한 공격(Patch 공격 등)의 수행 및 구현을 요구한다. PGD(Projected Gradient Descent) 기반의 Perturbation 공격은 참고자료로 나와있는 다음의 링크를 참고하면 공격을 수행해볼 수 있다. https://github.com/Harry24k/adversarial-attacks-pytorch/..

0. 문제 상황 교외 장학금을 신청하던 중, 학력사항(고등학교)을 요구하여 학교를 검색하였다. 하지만 내가 다닌 고등학교가 나오지 않아서 이에 대한 원인을 분석하고, 임시로 해결을 하였다. 1. 작동 방식 위의 사진에서 볼 수 있듯이, 해당 페이지는 (1) '학교 검색' 버튼을 누르면 ,우측 사진과 같은 팝업이 나온다. (2) 사용자가 학교 이름을 검색한 뒤, '검색' 버튼을 누르면 학교들의 리스트가 나온다. (2)번을 좀 더 자세히 살펴보자. 개발자 도구의 Network 탭을 보면 쉽게 알 수 있듯이 커리어넷(career.go.kr)의 오픈API를 통해 GET 요청을 보낸 뒤 해당 결과를 사용자에게 보여주고 있다. 2. 원인 커리어넷 오픈API를 기준으로, '중앙고등학교'를 포함하는 고등학교는 28개이..

1. 파이참 실행 후 좌측 상단의 File - Settings 2. 왼쪽 Project:XXXX - Python Interpreter 선택 3. Add Interpreter - Add Local Interpreter 클릭 4. Environment를 New에서 Existing으로 변경 5. 위 이미지의 Interpreter에서 우측의 ... 클릭하여, (...가상환경주소)\Scripts\python.exe 을 선택, OK 선택 참고자료: 1. https://yuxlog.tistory.com/17 [python] pycharm을 이용한 가상환경(virtualenv) 생성 방법 주로 vscode를 사용하고 있는데, 파이참을 써야하는 상황이 생겼다. 역시나 환경설정이 제일 어렵다. 다음은 파이참 가상환경 생성..
파이썬 표준 라이브러리 중 venv (https://docs.python.org/3/library/venv.html) 를 활용하여 가상환경을 생성한다. 1. 가상환경에서 사용할 디렉토리를 생성하고, 해당 디렉토리로 이동 (ex) mkdir test cd test 2. 아래 명령어를 통해 가상환경 생성 : -m 옵션은 라이브러리 모듈을 스크립트로 실행하라는 뜻 (참고) -m mod : run library module as a script (terminates option list) python -m venv 가상환경이름 (ex) python -m venv venv 위 명령어를 수행하면 venv(예시 기준) 폴더가 생기고, 그 안에 pyvenv.cfg 파일과 Include, Lib, Scriptes 3개의..

SIMD(Single Instruction Multiple Data)는 병렬 컴퓨팅의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다. 벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은멀티미디어 분야에 자주 사용된다. CPU에서는 인텔의 MMX, 스트리밍 SIMD 확장(SSE)과 AMD의 3D나우! 등의 기술에서 이를 적용했다. 출처 : 위키백과 1. SIMD란? :CPU에서 지원되는 명령어 셋을 통해, 하나의 명령어로 동일한 형태/구조의 여러 데이터를 한번에 처리하는 병렬처리기법 (출처: Fasoo 공식블로그) 4개의 32비트 정수 배열이 2개 있고, 이들을 대응하는 순서에 맞춰 각각 더하는 예시를 생각해보자. 좌측 그림과 같이 SISD 연산에서는..
1. 1차원 vector C++에서 vector를 사용 : 헤더파일을 추가해야 함 vector를 선언 vector v;// 빈 벡터 생성 vector v(5);// 기본값(0)으로 초기화 된 길이 5의 벡터 생성 vector v(5,2);// 입력값(2)으로 초기화 된 길이 5의 벡터 생성 2. 2차원 vector 1차원 벡터를 선언하듯, vector를 원소로 가지는 vector를 선언 // 1차원 vector v; // 2차원 vector v; // 2차원 벡터 초기화 vector v(10, vector (10,0)); 3. 2차원 vector의 정렬 sort 함수 : 헤더파일 추가하여 사용 기본적으로는 사전순으로 정렬 별도의 기준으로 정렬을 하기 위해서는 sort의 3번째 매개변수를 넘겨주어야 함 예..
1. https://stegonline.georgeom.net/upload : RGBA 영역을 시각적으로 확인하거나, 특정 비트(특히, LSB)를 추출하는 등의 작업 가능 2. https://29a.ch/photo-forensics/#forensic-magnifier : 이미지를 자세히 보거나, 웹에서 직접 변형하는 작업 가능 3. https://futureboy.us/stegano/ : LSB에 숨은 데이터 찾거나, 패스워드 입력 가능 참고 : 1. https://blog.naver.com/ksil_/222596107212 [Forensic] CTF tools 정리 (1) Multimedia 분야의 포렌식 CTF를 경험하며 사용했던 도구나 접근 방향들에 대한 정리를 해볼까 한다. (... blog.na..
매직 넘버 : 저장된 데이터를 구분하는 상수, 많은 파일 형식을 구분하는 간단하고 효과적인 방법 "Many files have such constants that identify the contained data. Detecting such constants in files is a simple and effective way of distinguishing between many file formats and can yield further run-time information." (참고 1) 자주 쓰이는 매직 넘버 : JPEG, PNG, PDF, ZIP, 7z 등 Extension Hex signature JPEG FF D8 FF E0 PNG 89 50 4E 47 0D 0A 1A 0A PDF 25 5..
파이썬에서 바이트 형으로 주어진 파일이 있을 때, 혹은 어떠한 분석을 통해서 바이트 단위로 파일을 추출해냈을 때 이를 파일로 저장하여 그 후의 분석을 해야 한다. 아래의 코드는 파일로 저장하기 위한 코드이다. 'wb' 를 인자로 줌으로써, 바이트 단위로 파일을 쓸 수 있다. 아래에서는 txt 파일에 저장하였지만 경우에 따라서는 이미지 파일, 비디오 파일 등도 가능하다. b = bytes(i for i in range(97, 123)) f = open('1.txt', 'wb') f.write(b) f.close()