일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백준
- 소프트맥스함수
- 백준알고리즘
- 정보보안
- BOJ
- FTZlevel10
- 버퍼오버플로우
- 알고리즘
- 딥러닝
- 머신러닝
- 신경망구현
- 활성화함수파이썬
- BOF
- 보안
- c언어
- 스트림암호
- 밑바닥부터시작하는딥러닝
- 8086CPU레지스터
- C언어알고리즘
- 파이썬신경망
- 항등함수
- 신경망파이썬
- 파이썬
- 달고나bof
- 딥러닝파이썬
- 신경망
- 신경망 학습
- 인공지능
- C알고리즘
- C언어 알고리즘
- Today
- Total
목록<Information Security> (30)
HeeJ's
버퍼(buffer)? 시스템이 연산 작업을 하는데 있어 필요한 데이터를 일시적으로 저장하는데, 여기서 사용되는 그 저장공간 대부분의 프로그램에서는 버퍼를 스택에 생성한다. 스택은 함수 내에서 선언한 지역 변수가 저장되고, 함수가 끝나면 반환된다. buffer overflow는 미리 준비된 버퍼에 버퍼의 크기보다 큰 데이터가 들어갈 때 발생하게 된다. ex) 40바이트의 스택이 있다. 41~44바이트의 데이터가 들어간다면 이전 함수의 base pointer를 수정하게 될 것이다. 45~48바이트의 데이터가 들어간다면 return address가 저장되어있는 공간을 침범할 것이다. 48바이트 이상을 쓰게 된다면 return address를 포함한 그 이전 스택에 저장된 데이터마저 바뀔 것이다. 시스템에게 명..
* EIP - main() 함수의 시작점을 가리킴 * ESP - 스택의 맨 꼭대기를 가리킴 (PUSH & POP명령) * ebp (base pointer) - 저장하는 이유; 이전에 수행하던 함수의 데이터를 보존하기 위해 => 함수가 시작될 때 stack pointer와 base pointer를 새로 지정 - 함수 프롤로그 과정 1. push %ebp ebp를 스택에 저장한다. 2. mov %esp, %ebp esp 값을 ebp에 복사한다. (함수의 base pointer와 stack pointer가 같은 지점을 가리킨다) 3. sub $0x8, %esp esp에서 0x8을 뺀다. (스택을 8바이트 확장한다) 4. and $0xfffffff0, %esp esp와 11111111 11111111 11111..
레지스터? CPU가 프로세스를 실행하기 위해서 프로세스를 CPU에 적재시켜야 한다. 또, 흩어져 있는 명령어 집합과 데이터들을 적절하게 사용하기 위해서 여러 저장공간이 필요하다. cpu가 빨리 읽고 써야하는 데이터들이기 때문에 cpu 내부 메모리를 사용한다. => 레지스터(register) 1. 범용 레지스터(General-Purpose register) 2. 세그먼트 레지스터(segment register) 3. 포인트 레지스터(point register) 4. 플래그 레지스터(Program status and control register) 5. 인덱스 레지스터(Index register) 6. 인스트럭션 포인터(instruction pointer) - 범용 레지스터 논리 연산, 수리 연산에 사용되는..
1. 메모리 구조 8086 Memory Architecture 인텔 8086이란? 인텔사에서 개발한 16비트의 CPU이다. 8086은 20비트의 메모리 주소 버스를 갖고 있어 총 1MB의 물리 메모리를 다룰 수 있다. '세그멘테이션'이라는 방식을 통해 메모리에 접근하도록 되어있다. High address Available Space Kernel Low address 시스템이 초기화되기 시작하면 시스템은 커널을 메모리에 적재시키고 가용 메모리 영역을 확인하게 된다. 운영에 필요한 기본적인 명령어 집합을 커널에서 찾기 때문에 커널은 반드시 본인의 위치에 있어야 한다. 커널은 64kByte 영역에 자리잡지만 이를 확장하여 요즘 운영체제는 더 큰 영역을 사용한다. 운영체제는 하나의 프로세스를 실행시키면 이 프로..
스트림 암호 대칭키 암호의 구조 중 하나로, 평문과 같은 길이의 키 스트림(유사 난수)를 연속적으로 생성하여 암호화한다. 유사난수; 난수를 흉내내기 위해 알고리즘으로 생성되는 값 평문과 키를 비트단위로 XOR하여 암호문을 얻는다. 하드웨어 구현이 간편하고, 속도가 빠르기 때문에 무선통신에서 주로 사용한다. 종류 1) 동기식 스트림 암호 2) 비동기식 스트림 암호 / 자기동기 스트림 암호 동기식 스트림 암호 암호화할 비트와 같은 위치의 결과 비트가 변경된다. 그렇기 때문에 전송 도중 비트가 변조되어도 후속 암호문에 오류의 영향이 끼치지 않는다. 전송 오류에서 비트가 사라지거나, 잘못된 비트가 추가될 경우 오류가 난 시점 이후의 복호화가 실패되므로, 암호화 및 복호화에서 상호 동기화가 필수적이다. 변조를 하..
엔트로피란 정보량 또는 정보의 불확실도를 측정하는 수학적 개념이다. 확률이 낮을수록, 어떤 정보일지는 불확실해지고, 이때 '정보가 많다', '엔트로피가 높다.'라고 표현할 수 있다. ex) 주사위 던기지의 엔트로피가 동전 던지기의 엔트로피가 크다고 할 수 있다. 정보이론의 기본은 어떤 사람이 정보를 더 많이 알수록 새롭게 알수있는 정보는 적어진다는 것이다. 보안에서의 정보 엔트로피 문자 배열로 간주되는 영어 텍스트의 경우, 한 메시지에 들어갈 수 있는 정보량의 비트 수를 구해보려한다. a~z까지의 알파벳 100글자가 적혀있는 txt파일이 있다. 이 파일은 100byte(=800bit)의 크기를 가진다. 하지만, 이 파일은 26가지의 글자(a~z)만 담을 수 있기 때문에 실제 담을 수 있는 정보량은 26^..
1. 쿠키? 쿠키란 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일이다. 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지된다. 클라이언트의 상태 정보를 로컬에 저장했다가 요청 시 참조한다. 클라이언트에 300개까지의 쿠키가 저장 가능하며, 하나의 도메인 당 20개의 값만 가질 수 있다. 최대 크기는 4KB 쿠키는 서버 측에서 만료 날짜/시간을 지정해 정해진 시간동안 데이터를 유지할 수 있다. 쿠키의 구성요소 이름 각각의 쿠키를 구별하는데 사용 값 쿠키의 이름과 관련된 값 유효시간 쿠키의 유지시간 도메인 쿠키를 전송할 도메인 경로 쿠키를 전송할 요청 경로 쿠키의 동작 방식 1. 클라이언트가 페이지를 요청 2. 서버에서 쿠키를 생성 3...
웹 크롤러와 같은 로봇들의 접근을 제어하기 위한 국제 규약 이 로봇들을 관리해 원하는 페이지를 노출이 되거나, 노출되지 않도록 다룰 수 있다. 권고안이기 때문에 꼭 지킬 의무는 없다. (지킬 의무는 없지만 지켜주는 것이 상식이다.) 로봇 배제 표준을 따르는 일반 텍스트 파일로 작성해야한다. 이 로봇들은 포털사이트들을 돌아다니면서 정보를 수집하는데, 사이트를 돌아다니면서 검색엔진 결과에 잘 노출되도록 한다. 즉 포털 사이트에서 검색했을 때 사용자들이 원하는 사이트가 잘 보여지도록 하는 것이다. 서버의 트래픽이 한정되어있거나 검색 엔진에 노출을 원하지 않을 경우, robots.txt에 "안내문" 형식으로 특정 경로에 대한 크롤링을 자제해 줄 것을 권고한다. robots.txt는 웹사이트의 루트(최상위 경로)..