본문 바로가기

보안&네트워크/리눅스, 윈도우(OS 관련)15

리눅스 부팅 순서 리눅스 부팅 순서 swap(0번) -> init(1번) 리눅스 부팅 시 swap 프로세스가 기동되어 디스크에 있는 리눅스 이미지를 주기억장치에 적재(Load)한다. 이후 init 프로세스가 기동는데 PID 1번을 가지고 자식 프로세스를 생성한다. 자식 프로세스는 fork 명령을 실행해서 inetd와 같은 프로세스를 기동 2023. 3. 19.
리틀엔디언 vs 빅엔디언 엔디언(Endianness) 컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻함 예시 - 0x12345678을 각기 방식으로 표현한다면? 1. 빅엔디언(Big-Endian) - 최상위 바이트부터 차례로 저장하는 방식(MSB = Most Significant Byte) -> 12 34 56 78 2. 리틀엔디언(Little-Endian) - 최하위 바이트부터 차례로 저장하는 방식(LSB = Least Significant Byte) -> 78 56 34 12 빅엔디언(Big-Endian) 리틀엔디언(Little-Endian) - 사람이 숫자를 읽고 쓰는 방법과 같기 때문에 디버깅 과정에서 메모리 값을 보기 편함 - 숫자를 앞에서 부터 차곡차곡 스택에 집어 넣음 - 비교 연산.. 2022. 2. 11.
심볼릭링크 vs 하드링크 심볼릭링크 ln -s [대상원본파일] [새로만들파일] 경로만 적혀있는 파일이 새로만들어짐 ls -al 입력 했을 때 해당 폴더의 맨 앞이 'l' 로 시작되는 파일은 심볼릭 링크 파일내용에 있는 원본 파일의 이름에 해당하는 링크를 찾아줌 *원본을 지우면 링크는 살아는 있지만 접근이안됨 하드링크 ln [대상원본파일] [새로만들파일] ls 경로에 있는 파일명 하드링크파일(경로에있는 파일를 해당 이름으로 링크를 생성) ex) ls -l 쳤을때 -rwrwrwrw- 이거 다음에 바로 나오는 숫자가 하드링크의 숫자임 하드링크가 2면 한 파일에 2개의 다른 링크가 걸려잇는거임. (기본이 1개) 원본을 알 수 없음. -> 하드 링크는 원본 파일을 삭제 되어도 링크된 파일은 여전히 존재함 -> 심볼링 링크는 원본 파일 삭.. 2022. 1. 17.
리눅스 쓸만한 명령어 head -n 5 vi /var/log/messages ex ) messages 로그 파일에서 처음 5줄만 보여달라 tail -n 5 - 마지막 5줄만 보여달라 ps -ef : 리눅스에서 돌고있는 프로세스목록 용도 ) ps -ef | grep kill -> 해당 파일에서 kill이란 단어가 있는걸 찾아줘라. find = 디렉토리검색 용도 : find / -name backup -> 루트에서부터 backup 이름을 찾아라 wc -l = 몇 줄인지 세줌 wc -c = 글자수 세주는거 2022. 1. 17.
리눅스 로그(log) /var/log/lastlog [각 계정들의 최근 로그인 로그] /var/log/maillog [sendmail,pop등의 메일 관련 데몬의 로그] /var/log/maillog.log [sendmail, pop등의 메일관련 데몬의 로그] /var/log/messages [모든 데몬의 시스템 로그] /var/log/secure [보안 인증 관련 메시지] /var/log/wtmp [시스템 전체 로그인 기록을 저장] /var/run/utmp [현재 로그인 사용자에 대한 기록] -> 사용자 IP저장 /var/log/xferlog [ftp(proftpd, vsftpd) 로그] /var/log/httpd/access_log /var/log/httpd/error_log 2022. 1. 17.
Single User Mode(리눅스 비밀번호 분실 시) Single User Mode로 들어가야함 (init 1이랑 같은데 비번 까먹어서 못들어가니까 바이오스로 가는거임) 부팅 시 3, 2, 1 초 가기 전에 아무거나 누르면 바이오스로 들어가짐 e(에딧) 누르기 (kernel 문자 붙은 녀석 선택) 문자 맨 뒤에 quiet뒤에 single 붙히고 엔터누르고 나가서 b(부팅) 누르기 그럼, 관리자로 들어감(#이 붙음->로그인안해도 관리자로 들어가짐 , $= 일반사용자) 이제 비밀번호 파일 접근 하기(vi /etc/shadow) shadow 접근하면 맨위에 root라고 나옴. 그게 사용자 아이디와 암호화된 비밀번호임 ex ) $6$wfhwiofhiowefheiho 이런식으로 나옴 6이 아이디이고 다음 콜론까지 모든 글자가 비번임 -> 비밀번호 지울수있음 비밀번호.. 2022. 1. 17.
RunLevel init 0 -> 동기화후 종료 init 1 -> 안전모드 (single user mode) -> 보통 비밀번호 까먹었을 때 들어감. init 2 -> 다중 사용자 모드(인터넷 X) init 3 -> 다중사용자모드, 기본 런레벨, X-window를 제외한 부팅(only 콘솔 ,GUI없음) init 4 - unused로 임의로 정의가능. 사용하지 않는다고 보면 됀다. init 5 -> X-window 환경(init 3의 GUI 모드) init 6 -> '재시작' 2022. 1. 17.
메모리 영역 메모리 영역 코드, 데이터, bss, 힙, 스택 순서 코드 – 코드가 저장 데이터 – 전역, 정적, 배열, 구조체 저장 bss – 초기화 되지 않은 변수 저장 힙 – 동적 메모리 영역 스택 – 지역변수 저장 2022. 1. 12.
리눅스 특수권한 리눅스 특수권한 1. Setuid(4000) – 일반사용자가 소유자의 권한을 필요로 하는 경우 ( 해당 파일만 소유자의 권한으로 사용가능 ) 2. Setgid(2000) – 파일 소유 그룹의 권한을 얻어 실행. 3. Sticky bit(1000) – 특정 디렉토리를 누구나 사용할 수 있도록. ( 공용디렉토리에 사용) 2022. 1. 12.
레지스트리 루트키 설명 HKEY_CLASSES_ROOT - 파일의 확장자 연결 정보, OLE 데이터 정보, 파일과 프로그램 간의 연결 정보 HKEY_CURRENT_USER - 현재 로그인 된 사용자에 대한 설정 정보 HKEY_LOCAL_MACHINE - 사용 중인 드라이버 정보, 프린터, USB 등과 같은 하드웨어 정보 HKEY_CURRNET_CONFIG - 현재 사용 중인 윈도우 디스플레이 정보, 폰트정보, 프린터 정보 등의 설정 정보 2022. 1. 12.
RSA (공개키 암호 알고리즘) RSA 소인수 분해의 어려움을 이용 무슨 말이냐면 소수 11 과 13이 있을 때 n=pq --> 143=11*13 라고 하면 p와q를 이용하여 n을 구하는 것은 쉽지만, n의 값만 보고 p, q를 유추하기 어려움(소인수 분해의 어려움)을 이용. -> 공식 암호화 : c = me mod n 공개키로 암호화 (m=평문, e=공개키, n=pq(공개키), c= 암호문) -> 공식 복호화 : m = cd mod n 개인키로 복호화 (m=평문, e=공개키, n=pq(공개키), c= 암호문) 키 생성 과정 ex) p=5, q=7로 선택 *** n,e=공개키 *** n,d=개인키 *** 참고로 p, q도 비밀로 해야함 *** 서로소란 두 수의 최대 공약수가 1인 두 자연수 1. 임의의 소수 p,q 를 생성 2. p와q.. 2022. 1. 12.
Sha 해시 함수 Sha 해시 함수 2022. 1. 12.
Diffie-Hellman (디피헬만) Diffie-Hellman (디피헬만) 키 공유 절차 - 이산 대수의 어려움 이용(y=gx mod p라고 한다면 g,y,p를 알땐 x를 구하기 어렵다는 점 이용) - a,b,p는 충분히 커야함. 그래야 안전. 중간자 공격에 취약. - 대칭키를 교환. (사실 교환이라기 보다는 각자 계산하여 같은 값을 사용하는 것) - 공개키의 개념을 사용함. - 비밀키(개인키)가 노출되더라도 그 후의 키 분배 과정에서 얻는 세션키(대칭키)의 안전성에는 영향을 미치면 안된다. 0. p = 소수, q= p-1까지의 정수 중 하나, a, b = 난수(제곱근으로 이용, 개인키의 개념) 0-1. 공유키 계산식은 qab mod p (난수 a,b를 모두 알고 있을 때 사용 가능.) 0-2. 만약 모를 때는 [상대의공개키나의개인키 mo.. 2022. 1. 12.
스케줄링 비선점 스케줄링 (Non-Preemptive) - 스케줄링 우선순위가 정해지면 우선순위 변경 불가능. (FCFS, SJF, HRN) - 응답 시간 예측 용이 선점 스케줄링 (Preemptive) - Round Robin, SRT, Multi Level Queue, 다단계 큐 / 다단계 피드백 큐 스케줄링 알고리즘 - AT ( Arrive Time ) , BT (Burst Time - 걸리는 시간), 스케줄링 알고리즘 설명 단점 우선순위(Priority) - 비선점 - 작업마다 우선순위가 주어짐. - 우선순위가 낮으면 Starvation,indefinite Blocking 상태에 빠짐. 기한부(DeadLine) - 비선점 - 작업을 주어진 제한시간 내에 완료되도록 함. FIFO( First In First.. 2021. 12. 31.
MBR(Master Boot Record) 과 부팅 MBR(Master Boot Record)는 운영체제가 부팅 할 때 POST(Power on Self-Test)과정을 마친후 저장매체의 첫 번째 섹터를 호출을 시도하는데, 이 때 MBR이 존재한다면, MBR의 부트 코드가 수행되게 된다. 부트 코드의 역할은 파티션 테이블에서 부팅 가능한 파티션을 찾아, 해당 파티션의 부트 섹터를 호출해 주는 역할. 부팅 가능한 파티션이 없을 경우 미리 정의된 메시지를 호출하게 되는데, 윈도우 구조 이해에 MBR이 필요한 이유는 이 영역을 조작하는 실제 악성코드가 존재 가능성과, 해당 영역의 문제로 부팅이 되지 않는 경우가 발생할 수 있어, 이는 복구하기 위해 실무에서도 확인이 필요한 영역이다 - 즉 MBR의 부트 코드가 부트 파티션을 찾고 그 안에 있는 부트섹터를 찾음... 2021. 12. 31.
반응형