3학년 41

Chapter4-5

가상 메모리 할당 쓰레싱 가상 메모리를 사용함에 따라 실제 접근을 하기 위해서는 실제 메모리 상에 올라와 있는 것이 좋다. 페이지 부제가 계속적으로 발생 하면 성능이 떨어진다. 이렇게 되면 페이지 교체에만 자원을 많이 소모하게 되는데 이런 상황을 쓰래싱이라 한다. 쓰래싱을 줄이는 법 멀티 프로그래밍을 줄이는 것 실행중인 프로세스를 인의적으로 빼는 것 할당된 페이지를 늘리거나 페이지 프로그램을 줄이는 것 구역성(Locality) 한글 프로그램을 쓸 때 에디팅을 하다 여러가지 작업을 할 때 해당 코드가 한 페이지에 들어가지 않는다고 가정을 한다. 그렇다면 다른 작업을 함께 묶어서 다른 페이지도 함께 올린다. 페이지 하나가 접근 되는 순간 함께 있는 페이지도 함께 메모리에 올리는 것 그 집합들을 작업 세트(W..

Chapter4-4

가상 메모리 관리(페이지 교체 알고리즘) 페이지 교체 알고리즘 - 해당 페이지를 빼고 다른 패이지를 넣기 위한 방법 - 메모리에 모든 페이지를 다 올리지 못하기 때문에 사용 - 프로세스당 할당된 페이지 수가 정해져 있는 상황 알고리즘 종류 - FIFO - Optimal(최적) - LRU - 2차기회 - LFU FIFO ( First - In - First - Out ) - 8 ->8,1 -> 812 -> 312 *** - 먼저 메모리를 차지하고 있는 페이지를 내보내고 해당 자리에 다음에 들어오는 페이지를 할당한다. - Page Fault (페이지 부재) 할당된 페이지 안에 접근할 페이지가 없는 경우 - FIFO의 모순 할당된 페이지 수가 많아지면 PageFault(페이지부재)가 많이 일어나지 않는 것처럼..

Chapter4-3

가상 메모리 관리(Segmentation) Segmentation - 고정으로 자르는 페이지의 개념을 동적인 상태로 변경 - 메모리에 올라갈 내용을 봐서 자른다. 세그먼트 - 논리적 단위가 되는 프로그램 모듈이나 자료구조 - 크기가 가변적 - 즉, 세그먼트(페이지)를 나누는 크기가 동적으로 바뀐다. 직접 사상 - 가상 주소 V = ( s, d ) -> CPU에서 만듦 - s = segment번호 - d = offset - 메모리에는 연속으로 올라가야 함 - 페이지 테이블과 마찬가지로 세그먼트 테이블이 있음 - 존재 비트(Resident bit) 메모리에 올라가 있는지를 표시 가변 크기이기 때문에 조금 많다 0이면 메모리에 없음, 1이면 존재 a = 보조 기억장치 주소 l = 세그먼트 길이(offset의 ..

웹 보안_Chapter07 - 웹 해킹 침해사고 및 대응

Chapter07 - 웹 해킹 침해사고 및 대응 1. 홈페이지 변조 l 홈페이지 변조 공격은 홈페이지 메인 화면 등을 변조하는 공격으로 디페이스 공격이라고 함 2. WebDAV 취약점 예방법 l 불 필요한 경우 WebDAV 서비스 중지 l 운영체제 및 IIS 버전 업그레이드 l httpext.dll 파일의 Everyone 권한 삭제 l 홈 디렉토리 메뉴의 쓰기 권한 삭제 ü 사용자가 악의적으로 공격 툴과 같은 파일을 서버에 올리면 다른 여러 사용자들이 해당 파일을 다운 받아서 사용할 수 있기 때문 l 서버 사이드 스크립트 파일(PHP, JSP, ASP 등)파일이 업로드가 가능한 경우 공격자는 웹 서버에서 스크립트를 실행시켜 임의의 파일을 업로드 하여 웹 콘텐츠를 변조할 수 있다. l 무 분별한 권한 부여..

웹 보안_Chapter06 - 02 XSS공격(D-DoS)

Chapter06 - 02 XSS공격(D-DoS) 1. DDoS 공격의 분류 l Distributed Denial of Service l 웹 상에서의 DDoS공격은 해당 웹 페이지가 서비스를 할 수 없도록 만드는 것 l 보통 공격은 HTTP(TCP)를 이용해서 이루어 진다. l 정상적인 세션을 맺지 않은 경우의 DDoS (Network 공격) ü TCP SYN Flooding Attack: 연결을 하기 위해 SYN 패킷 만을 계속 보내는 것 (세션을 맺지 않음) l 정상적인 세션을 맺은 경우의 DDoS (Web 공격) ü 정상적인 세션을 맺기 때문에 보안 제품의 기능 및 정상 세션 검증 절차를 쉽게 회피할 수 있음 ü TCP Connection Flooding ü HTTP Get Flooding ü HT..

웹 보안_Chapter06 - XSS공격

Chapter06 - XSS공격 1. XSS 취약점 이란? l Cross Site Script라는 언어로 자바 스크립트를 사용하여 공격하는 경우가 많다. l SQL Injection과 함께 웹 상에서 공격하려는 사이트에 스크립트를 넣는 기법의 공격을 말한다. l 공격에 성공하면 삽입된 코드를 실행하게 되며, 의도치 않은 행동을 수행시키거나 쿠키 혹은 세션 토큰 등의 민감한 정보를 탈취한다. l 공격을 하기 위해서는 Sniffing과 Spoofing가 필수적으로 이루어 져야 한다. ü Sniffing = SQL Injection -> 정보를 얻어 오기 위한 것 ü Spoofing = XSS -> 실제로 공격을 하기 위한 것 l 기존 사이트를 공격하기는 어렵기 때문에 업데이트를 하는 도중(내부적으로 스크립트..

Chapter02 - 해시 함수(Hash Function)

Chapter02 - 해시 함수(Hash Function)※해당 자료는 비트코인을 기준으로 만든 내용 입니다. 1. 메시지 지문 생성 l 임의의 메시지에 대해 짧고, 일정하며, 고유한 메시지 지문 생성 l 메시지 : 해시 값 = 1 : 1 관계 보장 l 무조건 어떤 데이터(크기에 상관 없이)를 넣던 SHA-256함수를 이용하면 256비트의 문자가 생성된다. 2. 블록 변경 l 해시 값이 변경 되는 것을 보아서 다음 블록으로 연결 시킨다. l 블록 변경 어려움: 모든 변경 블록에 대해 채굴자들의 합의를 획득해야 가능 l 누구의 블록이 진짜 블록인가? ü 누군가 블록을 채굴을 하고 합의가 이루어 져서 본인의 블록이 진본으로 판단이 되면 해당 채굴자는 본인에게 보상으로 지급된 장부를 가장 처음에 기입하게 된다..

웹 보안_Chapter05 - 웹 해킹

Chapter05 - 웹 해킹 1. 웹 언어 l HTML(Hyper Text Markup Language) - 정적(Static)인 웹 페이지 전송 - 클라이언트의 웹 브라우저를 통해 웹 서버의 무엇인가를 바꿀 수 있는 가능성이 매우 낮기 때문에 웹을 이용한 공격이 매우 어려움 - 클라이언트에서 처리 됨 l CSS(Client Side Script) - 자바 스크립트(JavaScript)나 비주얼 베이직 스크립트 등과 같이 웹 서비스에 이용되는 스크립트 ü 서버가 아닌 클라이언트 측의 웹 브라우저에 의해 해석/적용됨 ü 클라이언트 스크립트(JS)를 작성 ü 클라이언트가 웹 페이지에 포함된 스크립트 파일 요청 ü 웹 서버가 해당 스크립트 파일 검색 ü 해당 스크립트 파일을 브라우저에 반환 ü 브라우저가 클..

Chapter01 - 블록체인의 이해

Chapter01 - 블록체인의 이해※해당 자료는 비트코인을 기준으로 만든 내용 입니다. 1. 블록체인 암호 기초 l 기존 핀테크 서비스 모델 ü 클라이언트-서버 서비스 모델 1- 서버를 경유한 거래 서비스: 클라이언트가 거래를 서버에 전송 2- 서버가 거래 승인과 거래 장부 유지에 대한 책임: Centralized 3- 중앙 집중 형 서버 그 중에 가장 취약한 서버를 해킹하면 모든 서버 해킹이 가능함 l 블록체인 핀테크 서비스 모델 ü P2P(Peer-to-Peer) 서비스 모델 1- 참여자 간에 직접 거래 서비스: 참여자가 거래를 브로드캐스팅 2- 다수가 거래 승인과 거래 장부 유지에 참여: Decentralized 3- 모든 사람의 승인이 있어야 거래 장부가 유지됨 A. 질문: A와 B가 거래한 내..

WebGoat 실습 하기

Internet Security Practice - WebGoat 1. 사전 준비 A. https://github.com/WebGoat/WebGoat/releases i. 해당 사이트에서 가장 최근 버전인 8.0.0.M21에 있는 webgoat-server-8.0.0.M21.jar 설치 ii. 해당 파일의 명을 webgoat-server-8.0.0.VERSION.jar 으로 변경 B. https://github.com/WebGoat/WebGoat#1-standalone i. 해당 사이트에서 Clone or download를 클릭 ii. Download ZIP 를 클릭해서 zip파일로 다운로드 iii. 해당 파일을 압축 해제 후 원하는 폴더로 이동 C. A에서 설치한 파일을 B에서 설치한 폴더에 이동 D...