분류 전체보기
-
2019년도 KAIST 정보보호대학원 봄학기 석사 과정 면접후기 2020. 12. 21. 09:30
면접 내용을 얘기하기 전에 간단히 내 소개를 하자면, 2019년도 KAIST 정보보호대학원 봄학기 석사 과정 국비 전형으로 입학을 했으며 곧 졸업을 앞두고 있다. 그런데 면접 내용을 왜 지금에서야 올리냐고? 원래는 올릴 생각이 전혀 없었는데 그냥 올리고 싶어졌다. 사람 마음이 어떻게 한결같을 수 있겠는가. 참고로 정보보호대학원의 면접 방식은 매 차례 바뀌는 것 같다. 그러니 면접 방식에 대해서는 '내가 면접 볼 때도 비슷하지 않을까?'라고 생각하지 말자. 당장 2020년도 봄학기 때의 면접 방식과 나 때의 면접 방식이 달랐다. 2019년도 봄학기 때의 면접 시간은 총 10분으로, 메일로 통보받은 면접 방식은 아래와 같다. (1분) 자기 소개 및 전공 소개 : 자기소개 + 보안 분야에서 깊이 있게 연구하였..
-
LINUX 메모리 보호 기법지식 조각들/컴퓨터 2018. 8. 19. 22:18
목차 ASLR NX bit SSP ASCII-Armor RELRO PIE ASLR ASLR(Address Space Layout Randomization)은 메모리상의 공격을 어렵게 하기 위해 스택이나, 힙, 라이브러리 등의 주소를 랜덤으로 프로세스 주소 공간에 배치함으로써 실행할 때 마다 데이터의 주소를 바뀌게 하는 기법이다. * ASLR 해제하는 방법 echo 0 > /proc/sys/kernel/randomiza_va_space randomize_va_space=0 : ASLR 해제 randomize_va_space=1 : 랜덤 스택 && 랜덤 라이브러리 설정 randomiza_va_space=2 : 랜덤 스택 && 랜덤 라이브러리 && 랜덤 힙 설정 * ASLR 우회 기법 memory Leak, ..
-
Dynamic Memory Allocation지식 조각들/컴퓨터 2018. 8. 14. 01:49
목차 Dynamic Memory Allocation 힙 메모리 Dynamic Memory Allocation Dynamic memory allocation은 프로그램이 수행되는 중에 메모리가 할당되는 것을 말한다. 런타임 중에 할당되는 메모리의 종류로는 스택과 힙이 있다. 스택은 함수 호출 및 수행할 때 필요한 정보들을 담기 때문에 형식이 정해져 있어서 매우 제한적이다. 반면 힙은 제한이 없기 때문에 쓰기는 편하나 힙을 잘 관리하기가 매우 어렵다. 그렇다면 dynamic memory allocation은 왜 필요할까? 실행 중에는 예측 불가능한 상황이 나타나기 때문이다. 예측 불가능한 상황은 1) 런타임 중 변할 수 있는 메모리 영역(함수 실행, malloc, 등)과 2) 런타임 중 변할 수 있는 데이터..
-
Static Memory Allocation지식 조각들/컴퓨터 2018. 8. 13. 23:09
목차 Static Memory Allocation 프로그램이 로딩되기까지 전반적인 과정 컴파일 과정과 링킹 과정 자세히 살펴보기 Static Memory Allocation 컴퓨터 사이언스에서 static이라는 말이 붙으면 보통 실행 전(=컴파일 타임)에 일어나는 일을 말한다. Static memory allocation은 프로그램이 수행되기 전에 미리 메모리를 할당하는 것을 뜻한다. 풀어서 쓰면 컴파일 타임에 code section, data section, BSS section이 메모리에 미리 올라가는 것을 말한다. Static allocation의 특징은 변수들의 life cycle이 프로그램의 시작과 종료가 일치하는 것이다. 프로그램이 로딩되기까지 전반적인 과정 소스 파일(source file) ..
-
GCC 동작 과정지식 조각들/컴퓨터 2018. 8. 13. 21:18
목차 서론 GCC란 GCC 동작 과정 서론 운영 체제의 컴파일러와 링커가 어떻게 동작하는지 학습한 후, 내가 사용하는 컴파일러인 GCC가 어떻게 동작하는지 궁금해졌다. 그래서 간단하게 GCC의 동작 과정을 알아보기로 결심했다. GCC 동작 과정은 [여기]와 [여기]를 보면서 공부했다. GCC란 GCC(GNU Compiler Collection)는 GNU 컴파일러 모음으로 GNU 프로젝트의 일환인 컴파일러이다. 원래는 GNU C Compiler의 약자였지만 C++, JAVA 등 여러 언어를 컴파일 할 수 있게 되면서 현재의 이름으로 바뀌게 되었다. GCC는 컴파일러 모음이기 때문에 단순히 컴파일 과정뿐만 아니라 전처리 과정, 어셈블 과정, 링킹 과정과 같이 실행 파일(binary file)을 만드는데 필요..
-
[OS101] CPU 스케줄링테크 2018. 8. 11. 23:29
본 글은 2023.09.15에 새롭게 업데이트되었습니다. 서울대학교 평생 교육원에서 제공하는 운영체제의 기초 강의 내용을 중점으로 정리했다. 부족한 부분은 책을 참고하면서 채워 나갔다. 이해를 돕기 위한 그림들은 여기에서 가져왔다. 목차 스케줄링 스케줄링 기준 스케줄링 정책 스케줄링 CPU-I/O Burst Cycle CPU 스케줄러 선점적 스케줄링 디스패처 프로세스는 능동적으로 여러 자원을 사용한다. 이 때 자원의 종류로는 두 가지가 있다. 선점적 자원(Preemptive Resource): 한 프로세스가 점유한 상태에서 다른 프로세스에게 양보할 수 있는 자원, 예) CPU, 메모리 비선점적 자원(Nonpreemptive Resource): 한 프로세스가 점유하면 사용을 마칠 때까지 다른 프로세스에게 ..