본문 바로가기
  • 시 쓰는 개발자

CS 개념 (~24년 7월)49

컴퓨터 보안 (5) - Malware 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 Malware * 바이러스, 웜, 트로이목마, 루트킷- 전파 : 퍼뜨리는게 목표 (바이러스, 웜)- 은폐 : 자신의 존재를 숨김 (트로이목마, 루트킷) * payload : 소프트웨어로 피해를 주는 모든 행위 * Insider Attacks : 회사 내부 사람이 공격하는 것 * Insider Attacks 방어하는 방법- 단일 실패지점은 피하기- 코드 워크스루 사용 (코드 작성한 프로그래머가 다른 프로그래머에게 발표하는 것)- 권한 제한하기- 물리적 보호 강화- 직원 행동 감시- 소프트웨어 설치 제어 * Backdoor = trapdoor : 특수 커맨드로 예외적인 기능 수행. 평소에는 기능 숨겨놓고 허용 안함.ex) 이스터 에그 * Logic.. 2024. 4. 25.
컴퓨터 보안 (4) - OS Security 2 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 Set-UID Privileged(권한) Programs * Types of Privileged Programs- Daemons : 백그라운드에서 실행되는 프로그램. root 권한이 필요하다.- SET-UID program : 특수 비트가 표시된 프로그램. 일시적으로 상승된 권한을 부여함. (비밀번호 바꾸기 등) * SET-UID Concepts : 2개의 User ID를 가진다.- Real UID (RUID) : 프로세스 실제 소유자를 식별- Effective UID (EUID) : 프로세스의 권한을 식별     일반 프로그램은 RUID = EUID이다.     그러나 SET-UID가 실행되면 달라진다. RUID는 사용자를 나타내지만 EUID.. 2024. 4. 25.
컴퓨터 보안 (3) - OS Security 1 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 OS Concepts * Computer Model : I/O - CPU - RAM - HDD * OS Conceps : 멀티 유저, 멀티 프로그램 * MultiTasking : CPU 시간 조금씩 쪼개서 여러 유저에게 보여주는 형식 * Kernel- OS의 핵심, HW(CPU, Memory, I/O)를 관리함.- Hardward - Kernel & 커널 외 OS기능 - Application 이렇게 사이에서 인터페이스 역할 함 * I/O- 키보드, 마우스, 스캐너, 와이파이 인터페이스, 비디오 카메라, USB 포트 등- OS가 device driver 사용해서 저러한 API(application program interface) 제공함. * S.. 2024. 4. 25.
컴퓨터 보안 (2) - Physical Security 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 * Lock Picking : 꼬불꼬불한 도구로 스프링 핀들 1개씩 돌려가며 shear line에 맞춰서 여는 것- 만약 자물쇠 내의 핀이 7개고, 그 핀이 8개의 높낮이를 가지고 있다면 경우의 수는 8^7 * Bumping : 진동을 한번에 빡 줘서 핀을 띄우는데 이때 걸쳐지는 게 없어서 확 돌아가 한번에 열림* Pick gun : 비슷함(?) Authentication Technologies * Authentication 방법 3가지- has : 가진것으로 인증, key, card 등- knows : 아는 것으로 인증, password 등- is : 사람 그 자체로 인증, 홍채, 지문, 얼굴인식 등 * Magnetic Card- 정보 읽기만.. 2024. 4. 25.
컴퓨터 보안 (1) - Introduction 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 Security Goal : CIA * Confidentiality 기밀성 : 허용된 사람에게만 보여지도록 데이터를 보호- 암호화, 복호화 key 이용- 인증authentication은 신원을 지문 pw 출입카드 등으로 확인하는 것- 인가autorization는 접근이 허가됐는지 판별하는 것 * Integrity 무결성 : 값이 변경되지 않았음을 인증해줌  무결성 도구들- 백업- checksum- Data/Error 교정 코드 * Availability 신뢰성 : 시기 적절하게 데이터 접근/수정을 인가해주는 것Other Security Concepts : AAA * Assurance 보장 : 정책, 허가, 보호 등으로 신뢰성 보장* Authen.. 2024. 4. 25.
상향식 모델링 VS 하향식 모델링 테이블 설계에 대한 고민이 항상 많았는데, 한번 정리가 필요할듯 하여 상향식, 하향식 테이블 설계를 정리해본다. ⭐상향식(Bottom-Up) 모델링 기획안에 나온 요구사항을 분석해 실체 엔터티를 먼저 도출하는 방식이다. 사용자 인터페이스와 이미 만들어진 데이터베이스를 기초해서 모델을 구성 장점 : 근거가 명확하고 변경에 용이한 엔터티 설계가 나온다. 단점 : 무에서 유를 창조해내는 방식이기에 시간이 비교적 오래 걸린다. 대형 개발 프로젝트는 헌행 시스템을 기반으로 이루어지므로 상향식 방법을 많이 사용한다. 기존에 존재히는 엔터티 중에서 중요 엔터티를 선별해 우선으로 분석을 시작하고, 엔티티 분석은 DB를 잘 아는 담당자와 이야기하며 시작된다. 업무 요구 사항이 거의 정리되고 문서화됐을 때 사용할 수 있다.. 2024. 4. 11.
Linux Permission Linux Permission퍼미션이란, 파일이나 디렉토리의 접근 권한을 사용자마다 다르게 설정하여 보호하는 개념이다. 파일 권한 확인하기ls -al 맨 왼쪽에 rwx~~ 부분이 파일의 mode이다. 맨앞에 알파벳을 보면, d로 시작하는게 2개가 있고 -로 시작하는게 2개가 있다. 그리고 맨 오른쪽을 보면 위 2개는 .와 ..이라고 되어있는데 이것은 디렉토리를 의미하며, 밑에 2개는 파일명을 의미한다. 즉, d는 디렉토리이고 -는 파일이다.d : directory- : filer : readw : writex : executekwanghwi, root : 파일 소유자 명을 의미한다. 왼쪽은 Owner, 오른쪽은 Group이다.4096, 1277936 등 : 파일 사이즈 (바이트.. 2024. 4. 5.
I/O 시나리오, Interrupt 학교 수업을 정리한 내용입니다. 참고만 해주세요. 0328 목요일 Input Output 구분하기CPU, MM(내부) → HDD(외부) : Output (write)HDD(외부) → CPU, MM(내부) : Input (read)I/O 시나리오 선요약CPU가 직접 I/O 실행I/O를 위한 컨트롤러가 있지만, Controller가 일을 끝날 때 까지 기다림 (Busy Waiting)컨트롤러에게 I/O를 시키고, CPU는 다른 프로세스를 실행 (최적의 방법)I/O 시나리오 (1) - Memory Mapped I/OCPU가 직접 I/O를 실행하는 방식이다. 사용되지 않는 비효율적인 방법이지만 아두이노처럼 OS를 쓰지 않는 곳에서는 사용될 수도 있다.위 코드는 키보드 I/O를 실행하는 과정인데, Branch i.. 2024. 4. 3.
Scheduler, I/O 시나리오 개요 학교 수업을 정리한 내용입니다. 참고만 해주세요. 0326 화요일 Program : HDD에 있는 코드나 컴파일한 file을 의미Process : 메모리에 올라와 현재 실행중인 프로그램Function : return 있음Procedure : return 없음스케줄러와 프로세스 개요이것을 이야기할 때 I/O Device가 빠질 수 없다. C언어에서도 배열을 초기화 할때 만약 100번 scanf를 받으면 매우 오래걸리는 일이지만, read()를 쓰면 N바이트를 한번에 읽어올 수 있어서 초기화를 빠르게 할 수 있다.즉, printf, scanf를 할때마다 CPU가 계속 기다릴 수 없는 노릇이다. IO 과정에서 만약 어떤 값이 필요할 때 3가지 방법이 있다.CPU가 직접 값을 가지고 온다. → 매우 비효율적이고.. 2024. 3. 28.