본문 바로가기

전체 글

(17)
확언일기/열등감 격려 일기 내가 처음에 컴퓨터 공학계에 발을 들이고 싶어서 먼 발치에서 컴공ing 중인 사람을 보면 멀게 느껴졌다. 알 수 없는 코딩 용어, 자료구조론 같이 멀리서 보면 공감하기 어려운 주제의 과목을 공부중이니 말이다. 그러던 어느날 컴공 석사를 도전했고, 얼추 지능을 총동원해 따라가긴 했다. 근데 결국 처음부터 꼼꼼히 공부하지 않으면 가다 막히고 가다 막히기를 반복하였고, 나는 이게 싫다. 비슷한 처지의 친구들에게 물으면 그냥 계속 기초로 돌아갈 순 없으니 넘어가라고 한다. 그럼 그래, 내가 관리자가 되지 개발자가 되는게 아니라니까? 하다가도 관리자로서도 너무 부족하다는 생각을 떠올리게 된다. 그래서 나는 이 블로그를 만들었다. 나는 이 블로그가 내 미래의 이불킥이 되기를 바란다. 정보보안기사 네번떨어지며 빌빌대..
정보보안기사 _ 10일차 _ 보안운영체제 1. 보안운영체제 1) 보안운영체제는 컴퓨터 운영체제 상에 내재된 보안상의 결함으로 발생 가능한 각종 침해로부터 시스템을 보호하기 위하여 기존의 운영체제 내에 보안 커널을 추가로 이식한 운영체제를 말한다. (????) 리눅스를 깔아놓고 추가로 보안 커널을 추가한건가? 윈도우도? 2) 보안 운영체제의 핵심 구성요소는 보안커널과 참조모니터가 있다고 3) 보안커널이란 주체, 객체간의 모든 접근과 기능을 중재하는 보안 절차를 구현한 하드웨어, 펌웨어, 소프트웨어 등 4) 참조모니터란 보안커널의 가장 중요한 부분으로 주체, 객체간의 접근통제 기능을 수행하는 핵심 모듈 2. 참조모니터 1) 참조모니터는 보안운영체제에서 주체(프로세스, 사용자 등)와 객체(파일, 프로그램 등)사이의 정보 흐름을 감시하는 보안모듈로 주..
정보보안기사 _ 9일차 _ 문제풀이 기반 정리 1. 윈도의 서버의 계정관리방식 - 워크그룹방식 : P2P / SAM - 도메인방식 : 중앙 집중식 관리 / 액티브디렉터리 3. 윈도우의 로그 1) 응용프로그램 로그 : 응용프로그램이 남기는 이벤트 저장 2) 시스템로그 : 운영체제 시작시 장치 드라이버 로드 여부, 시스템 서비스 시작, 오류 등의 이벤트 저장 3) 보안로그 : 로그온 시도 및 성공 실패, 사용자 계정의 추가 삭제, 사용자 권한변경 등 보안 관련 이벤트 저장 어떤 상황에 어떤 로그 남길지는 감사로그설정에 의해 결정 4. 윈도우 시스템의 로그파일명(XP 이하 / vista 이후) 1) 어플리케이션 로그 AppEvent.Evt / application.evtx 2) 시스템로그 SysEvent.Evt / system.evtx 3) 보안로그 Se..
정보보안기사 _ 8일차 _ Unix/Linux 서버 취약점 _ 파일 및 디렉터리 관리 1. root 홈, 패스 디렉터리 권한 및 패스 설정 root 계정의 PATH 환경변수에 "."(현재 디렉터리 지칭)이 포함되어 있으면 root계정으로 접속한 관리자가 의도하지 않은 현재 디렉터리에 위치하고 있는 명령어가 실행될 수 있다..고?? 즉, "."이 /usr/bin, /bin, /sbin 등 명령어들이 위치하고 있는 디렉터리보다 우선하여 위치하고 있을 경우, root 계정으로 접속한 관리자가 특정 명령을 실행하면, 불법적으로 현재 디렉터리에 위치시킨 파일을 실행하여 예기치 않은 결과를 가져올 수 있다. 환경변수가 순서대로 실행되나보다 실습(Linux) root 의 $PATH 경로의 맨 앞에 "." 추가 vi .bash_profile 열어서 수정하면 됨 PATH=.:$PATH 이렇게 하고나서 e..
정보보안기사 _ 8일차 _ Unix/Linux 서버 취약점 _ 계정관리 1. 계정관리 1) root 이외의 UID가 0 금지 - cat/etc/passwd | egrep "^root|^algisa" (|이 or이라는 뜻) egrep 쓸 때에는 "이런 문자 뒤에 ^를 붙여야 그걸 찾으라고 인식 안하고 or 함수 쓸거라고 인식되나봐 무튼 위와 같이 하든 cat/etc/passwd로 다 보든 유저명:x:0:0::/home/algisa:/bin/bash 이런식으로 되어있으면 root외에는 잘못된 것이야. UID, GID 모두 마찬가지겠지? 아니 GID 는 괜찮아보이기도 하고... - 근데 설명에 Telnet을 통해 algisa 계정 접속 시 root 계정으로 접속한 것과 동일한 권한을 가진다고 하네 - 콘솔 접속시에는 안 그런가부지??... - 해결방안 : solaris, linu..
정보보안기사 _ 8일차 _ 시스템 기본 학습 _ 시스템 해킹(포맷 스트링) 포맷 스트링 공격(Format String Attack) 포맷 스트링은 C언어의 printf()등의 함수에서 사용되는 문자열의 입출력 형태를 정의하는 문자열로 서식문자열이라 함 포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격으로, 외부로부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생할 수 있는 취약점임.(하나하나 주옥같다 단어가) 공격자는 포맷 스트링을 이용하여 취약한 프로세스를 공격하거나 메모리 내용을 읽거나 쓸 수 있어서 그 결과 공격자는 취약한 프로세스의 권한을 획득하여 임의의 코드를 실행할 수 있다. ( 오 어떻게??) 공격 원리가 되는 함수들 printf(서식문자열, 인자1 ... 인자N) : 인자값을 포맷 스트링으로 표준 출력 tprintf(fp,..
정보보안기사 _ 7일차 _ 시스템 기본 학습 _ 시스템해킹 (레이스컨디션) 레이스 컨디션 공격 개념 1. 레이스 컨디션은 둘 이상의 프로세스나 스레드가 공유 자원에 동시에 접근할 때 접근하는 순서에 따라 비정상적인 결과가 발생하는 조건/상황 2. 실행되는 프로세스가 임시 파일을 만드는 경우 악의적인 프로그램을 통해 그 프로세스의 실행중에 끼어들어 임시파일을 목적파일로 연결해 악의적인 행위 가능 3. 만약 프로세스가 setuid 설정이 되어있어 root 권한으로 실행된다면 권한 상승을 통한 중요 자원(파일)에 접근하는 심각한 문제 발생 가능 내가 상식적이어서 이해가 안되는거라고 좋게 생각을 해보자. 책의 예시는 먼저 1) race_cond.c 라는 파일에 데이터를 쓸 수 있는 프로그램을 만든다. 2) 실행파일에 setuid를 설정한다.(나는 이런 상황 자체가 있을 수 없다는 생각..
정보보안기사 _ 6일차 _ 시스템 기본 학습 _ 시스템해킹(버퍼오버플로우) 포맷 스트링 공격 잘 안 와 닿아서 실습하면서 하려고 했는데... 내가 설치해놓은 CentOS가 로컬이었네. 이거 네트워크 연결하고 하려니까 갑자기 급 귀찮 ㅠㅠ 내일부터(내일 공부 못하니까 토요일부터?) 맥북으로 다시 도전하고 오늘은 내용 정리만! 시스템 해킹(버퍼 오버플로우, 레이스 컨디션, 포맷스트링 공격) 버퍼 오버플로우 공격 버퍼 오버플로우 공격은 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할 때 발생. 버퍼 오버플로우가 발생하면 프로그램의 오작동을 유발하거나 악의적인 코드를 실행하여 공격자 프로그램을 통제할 수 있는 권한을 획득하게 됨 * 메모리 공간을 넘어간다는 것은 정말 잘 이해가 되는데, 그래서 프로그램 오작동도 이해가 되는 듯 ..