2025/05 9

해킹 문제 풀이 실습 (웹 해킹) - 1

경희대학교 장대희 교수님의 정보보호 수업을 기반으로 정리한 글입니다.SQL Injection 소개SQL Injection악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL문을 주입하고 실행되게 하여데이터베이스가 비정상적인 동작을 하도록 조작하는 행위이다.▶ 예시Attacker는 OR 문과 "--" 주석을 활용하여 비밀번호 인증을 우회하여 데이터베이스에 접근OWASP Top 10▶ OWASP는 웹 애플리케이션 보안 개선을 위한 글로벌 비영리 조직 OWASP(오왑스)는 주로 웹에 관한 정보 노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션의 취약점(OWASP Top 10)을 3-4년 주기로 발표한다. 이때 SQL Injection은 OWASP Top 10에 자주 들..

CS/정보보호 2025.05.21

Programming Exercise: Lab #5

경희대학교 박제만 교수님의 자료구조 수업을 기반으로 정리한 글입니다.Exercise #1ProblemsImplement the UNSORTED LIST using linked structure and ANSWER the time complexity questions in the code.Destructor(): Deallocate (delete) all nodes in the list.appendItem(item): Append the item to the list (with the best time complexity)removeItem(item): Delete "item" in the list and Deallocate (delete) the deleted item.getItem(pos): Retur..

CS/자료구조 2025.05.20

Chapter 6: Linked Structures (2)

경희대학교 박제만 교수님의 자료구조 수업을 기반으로 정리한 글입니다.Linked StructuresReview▶ Big-O Comparison of Stack Operations▶ Big-O Comparison of Queue OperationsArray vs. Linked StructurePerformanceGenerally, array-based structures are faster than linked structures.Most operations are equally fast for both array and linked structures (O(1)).For size(), clear(), and destructor, the array is faster (O(1) vs. O(n)).But, a..

CS/자료구조 2025.05.20

정보보안 6차시: 포렌식 - 파일 삭제와 복구 원리

경희대학교 중앙동아리 쿠러그의 정보보안 강의를 기반으로 정리한 글입니다.파일파일이란 데이터를 컴퓨터 저장 장치에 개별적으로 기록하기 위한 컴퓨터 자원이다. 파일 타입어떤 형식의 데이터를 저장하는지를 표현하는 방식이다.Text File, Executable File, Compressed File, Document File, MP3, MP4 등Computer Storage Device디지털 데이터를 저장할 수 있는 장치이다.자기테이프, HDD, RAM, SSD(Flash Memory) 등저장장치 접근▶ HDD: 자기적인 방식으로 데이터 저장플래터: 수많은 N극과 S극으로 데이터를 저장하는 판 (일반적으로 양면 모두 사용)스핀들: 플래터를 회전시키는 것 (회전의 단위: RPM, Revolution Per Mi..

Chapter 5: CPU Scheduling

경희대학교 허선영 교수님의 운영체제 수업을 기반으로 정리한 글입니다.Preemptive & Nonpreemptive Scheduling1. Nonpreemptive: 기존 프로세스 내쫓지 않고, 종료 or 대기까지 기다림 2. Preemptive: 기존 프로세스 내쫓음-> race conditionScheduling Criteria+ CPU Utilization: CPU가 busy 유지하도록 100% 이용+ Throughput: 단위시간 동안 완료한 프로세스 개수-> 클수록 좋음 - Turnaround Time: process 생성부터 종료까지의 시간- Waiting Time: ready queuescheduling affects only- Response Time: CPU에 처음 할당되기까지의 시간 (..

CS/운영체제 2025.05.07

Chapter 4: Thread & Concurrency

경희대학교 허선영 교수님의 운영체제 수업을 기반으로 정리한 글입니다.Thread: 독자적인 실행 흐름-> 서로 다른 코드 동시 실행 가능하나, 코어당 하나의 thread가 돌아감 multithreaded processs의 경우, 너무 많은 함수 호출 시 overflow 가능성 더 높다. ※ heap: 프로그램이 전체적으로 관리 및 스레드 간 데이터 공유에도 필요, e.g., 한 스레드가 메모리 할당, 다른 스레드가 사용 Benefits1. Responsiveness (반응성)2. Resource Sharing3. Economy: thread switching lower overhead than context switching4. Scalability (확장성): multicore일 때 이점Thread -..

CS/운영체제 2025.05.06

Chapter 3: Processes

경희대학교 허선영 교수님의 운영체제 수업을 기반으로 정리한 글입니다.Process in MemoryProcess Address Space: 메모리 중 process가 사용하는 공간 -> 4가지 섹션stack: 함수의 local variable, return address 등 (e.g., main, add)heap: 동적 objectdata: 전역 변수 text: 코드 = 명령어 (read only)※ 전역 변수 따로 저장하는 이유: stack은 함수마다 공간 존재하지만, 전역 변수는 모든 함수가 접근 1. stack각각의 함수는 stack frame을 갖게 되고, 이 frame 내에서 해당 함수가 사용하는 local variables 저장됨-> 함수 호출/return에 따라 stack 크기 업/다운 2...

CS/운영체제 2025.05.04

Chapter 2: Operating System Structures

경희대학교 허선영 교수님의 운영체제 수업을 기반으로 정리한 글입니다.How Operating Systems Interact with Hardware?Interrupts: 전기적 신호로, OS HW interaction 방식Device Controller: 운영체제가 Device를 사용하려면 Device Controller(HW)를 통해야 함Device Driver(SW): Device Controller와 소통하기 위한 OS의 소프트웨어 모듈※ system bus: communication 통로Device Controller: interrupt를 만들어 내는 주체 CPU가 I/O Request를 I/O device에 보내면, I/O device는 해당 요청을 처리 후device 작업이 끝남음을 CPU에..

CS/운영체제 2025.05.04

Chapter 1: Introduction

경희대학교 허선영 교수님의 운영체제 수업을 기반으로 정리한 글입니다.Computer Architecture 101Von Neumann Architecture1. 메모리에 유저의 프로그램(data, instructions) 올림2. CPU는 이 올라간 프로그램 실행Storage Hierarchy※ nonvolatile memory: SSD / off-chip: main memoryMulti-core Processors※ Storage Main Memory CPU Process ManagementProcess1. Process State: state는 OS가 관리하며, 이를 통해 프로세스가 번갈아 가며 CPU 사용 (time sharing)admitted: 메모리 부족 시 승인 Xready: CPU 기다..

CS/운영체제 2025.05.04