기본 콘텐츠로 건너뛰기

과제 2018.05.25

SSL Pinning 보안 헤더 call by value, call by reference DB 보안가이드 AAAA or AAAAA 아파치 설정 Include 파싱에 대처하는 서버 진단 스크립트 개발 역 직렬화 취약점 각종 서버 보안 가이드 ORM 관련 보안에 대한 정확한 기준 진단 사례 외우기

눈을 크게 뜨고 고개를 높이 들어라. 그리고 배워라.

'그렇게 까지 해야되니?' 라고 할때, 아직 나태하지 않음을 느꼈다. 하지만 그것 또한 '우물 안의 기준이었구나'라고 생각하니 허탈감이 몰려온다. 프로그램 설치 경로를 알려주지 않았다고 불평했던 일도, 포티파이 실행이 부담스러웠던 일도, 보안 가이드 작성을 단순하게 여겼던 일도 모두 부끄러워서 어찌할바를 모르겠다. 어떻게 준비해야 나도 그런 걸 알 수 있을까. 코세라나 들어가봐야겠다.

where-is-execute-file

where-is-execute-file 리눅스 진단 시 프로세스 실행 파일 찾기 /proc/<PID>/ 경로에 가면 심볼릭 링크로 해당 프로세스가 실행된 실제 파일 경로를 확인할 수 있다. 활용하자.

Docker-basic-concept

Docker-basic-concept 도커 1. 정의 컨테이너 기반 가상화 도구 2. 등장 배경 및 사용 목적 컨테이너 기술은 오래 전부터 존재했으나, 사용법이 어려워서 잘 활용되지 않았다. 도커는 컨테이너 기술을 쉽게 사용할 수 있는 간편한 인터페이스를 제공함으로써 도커 뿐만 아니라 컨테이너 기술 자체를 유행시키는 결과를 이끌어냈다. 그 결과 환경 설정의 복잡함을 도커를 이용하여 해결함으로써 많은 사랑을 받고 있다. 3. 특징 주로 사용되던 가상화 도구들(VMware, VirtualBox 등)은 인프라 시스템을 포함한 가상환경을 제공하는 것과는 달리 도커는 인프라 시스템을 제외한 컨테이너라는 개념의 가상환경을 제공한다. 이는 애플리케이션에 반드시 필요한 바이너리와 라이브러리만을 포함하고 있으며 호스트 PC와 인프라 시스템을 공유하는 환경으로 호스트 OS 위에 존재하는 격리된 공간으로 볼 수 있다. 4. 이미지와 컨테이너 이미지 : 서비스 운영에 필요한 요소들을 묶은 형태 컨테이너 : 이미지를 실행한 상태 도커는 하나의 이미지로 여러 개의 컨테이너를 만들 수 있다. 운영체제에 비유하면 이미지는 실행파일, 컨테이너는 프로세스로 이해할 수 있다. 5. Immutable Infrastructure 도커는 '한 번 설정한 운영 환경은 변경하지 않는다.'는 Immutable Infrastructure 패러다임에 충실한 도구로 서비스가 업데이트되면 운영 환경 자체를 변경하지 않고 사용 중이던 이미지를 폐기하고 이미지를 새로 생성하여 배포한다.

QEMU-Kernel-Debugging

QEMU-Kernel-Debugging Linux Kernel Debugging 패키지 설치 sudo apt-get install git gitk build-essential libncursesw5-dev g++-arm-linux-gnueabi qemu-system-arm -y sudo apt-get install ncurses-dev -y sudo apt-get install ctags cscope -y sudo apt-get -o Dpkg::Options::="--force-overwrite" install gdb-arm-none-eabi 커널 컴파일 git clone https://github.com/torvalds/linux.git cd linux make ARCH=arm versatile_defconfig make ARCH=arm menuconfig Kernel Features --> Use the ARM EABI to compile the kernel 적용 Kernel Hacking --> Compile-time checks and compiler option --> Compile the kernel with debug info 적용 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- all 테스트 파일 생성 init.c # include <stdio.h> int main ( int argc , char * argv [ ] ) { printf ( "\n" ) ; printf ( "My ARM Init!!!\n" ) ; while ( 1 ) ; return 0 ; } arm-linux-gnueabi-gcc -static init.c -o init echo init | cpio -o --format=newc > in

CVE-2016-3672, CVE-2018-1000004