[Computer Science]

[Computer Science]/[소프트웨어 및 시스템보안]

[소프트웨어 및 시스템 보안] Set UID

주제 : Set-UID를 통해서 권한을 이행받을 수 있는 프로그램.특권 프로그램의 필요성 비밀번호를 권한이 없는 다른 누군가가 변경 및 읽기 같은 접근을 하지 않기 위해서 리눅스에서는 /etc/shadow 파일에 유저의 비밀번호가 저장된다. 해당 파일은 owner만 읽기 쓰기가 가능하다. 그리고 그 owner는 루트(root)이다. 그렇다면 본인이 맞는 일반 유저의 경우에는 어떤 방식으로 해당 파일에 접근하여 비밀번호를 변경할 수 있을까? 2단계 접근 방식접근 관리는 2가지 이다. (접근은 파일 접근, 시스템 메모리 접근 그런 것들을 통틀어서 말한다.)Fine-grained Access Control by Privileged Program-특권 프로그램을 이용하여 섬세하게 쪼개진 권한 제어Generic ..

[Computer Science]/[소프트웨어 및 시스템보안]

[소프트웨어 및 시스템 보안]

컴퓨터 보안에 대하여컴퓨터 보안에서의 Threat(위협)은 소프트웨어의 버그 및 취약점을 악용할 가능성이 있는 위험요소를 말한다.(Wikipedia 내용 번역) 여기서 취약점(Vulnerability)은 소프트웨어 내에서 예기치 못하게 생성된 버그이다. 예를 들어 로그인 하지 않고 접근이 가능하거나 권한이 없는 코드 실행, 컴퓨터 시스템 파괴에 대한 것들이다. (Set UID를 통해서 얻어진 권한을 이용한 느슨한 설계 악용, 백엔드 시스템에서의 허점 발견-SQL Injection 과 같은 것을 생각할 수 있다.) 악용(Exploit)은 버그가 있는 프로그램이 취약점을 이용하는 것에 대한 입력이다. Threat Model공격자와 방어자의 능력을 정의하는 것으로 공격 가능한 것들을 확인, 중요한 것들에 대한..

[Computer Science]/[운영체제]

[운영체제 및 실습] 운영체제 개요

운영체제 개요사용 시나리오 :1. Kim이 컴퓨터의 전원을 올린다.2. 숙제를 위한 소스코드를 수정한다.3. 프로그램 작성을 마치고, 소스 프로그램을 컴파일한다.4. 컴파일이 되는 동안 그는 한글 프로그램으로 보고서를 작성한다.5. 음악 재생 프로그램으로 그의 최애 음악을 듣고 있다.6. 그는 그가 작성했던 프로그램을 실행한다.7. 리포트 작성을 마치고, 그것을 출력한다.(실제 종이로)8. 그의 컴퓨터의 전원을 내린다. 컴퓨터 시스템의 역할앞의 사용 시나리오에 따라서, 컴퓨터는 어떤 역할을 할까?Booting the computerRunning the editor, compiler, music playerControlling the multiple programsReceving the keyboard i..

[Computer Science]/[객체지향설계]

[객체지향설계] 기말 정리

문법 STL Standard Template Library의 약자! C++에 미리 정의된 라이브러리 템플릿을 사용하는데 이건 Compile-Time polymorphism이다. 4가지 타입으로 Containers - 데이터를 저장하는 객체 Functions - 객체를 함수처럼 사용하게 하는 펑션 콜 "()" 을 오버로딩! Iterators - Containers안의 데이터[원소]를 포인팅!(가리키게 해주는 포인터) Algorithms - 널리 사용되는 함수들(정렬, 최대값, 최소값~ 등등) Q >STL의 종류 4가지를 서술하시오. Containers Sequence Containers Container Adapters Associative Containers 원소를 순차적으로 접근할 수 있다. 기능이 추..

[Computer Science]

[알고리즘] 기말 고사 정리

기말 고사 Chapter 3 분할 정복 알고리즘 - 선택 문제 -> 안 나올 것 같음. 손코딩으로 나올 수는 있지만.. 알고리즘 문제로는 안 나온다. - 최근접 점의 쌍 찾기 -> 프로그래밍으로 나올 것 같음. 손코딩 유력 Chapter 4 그리디 알고리즘 (그리디 알고리즘으로는 결과를 보이기. 그림 그리기 등으로 나올 것 같음.) - 동전 거스름돈 -> 다이나믹과의 차이는? - 부분 배낭 문제 - 집합 커버 문제 - 작업 스케줄링 -> 작업들을 주고, (빠른 시간 순으로) 머신이 몇 개 사용? 각 머신은 어떤 작업을 수행하는지 그 리스트는? - 허프만 압축 -> 허프만 압축을 위한 허프만 트리를 그리시오. 혹은 문자의 빈도수 주고, 각 문자의 허프만 코드 쓰기. Chapter 5 동적 계획 알고리즘 (..

[Computer Science]/[객체지향설계]

[객체지향설계] 12/05 이론

Behavioral Design Patterns 특정 동작에 관련된 디자인 패턴이다. Chain of responsibility 요청을 받을 수 있는 종류가 한 가지가 아닐 경우에, A 요청 B 요청을 한 명이 다 처리하는 게 아니라 각각의 요청에 대해서 처리 담당이 있다면 쉬워질 것이다. 내가 처리할 수 있으면 처리하고, 처리할 수 없으면 다른 담당자에게 돌려주기. 그 담당자도 안 되면 그 다음 담당자에게 넘기기.(체인 구조) 온라인 쇼핑몰 사이트에서, 주문 전 구매자 정보를 검사할 필요가 있다. (고객의 정보가 다양할 뿐더러 그런 정보를 검사하려는데 검사를 한 번에 주어져서 한 번에 핸들링하려 하면 실수하게될 가능성이 있다.) 또한, 추가적인 정보의 종류가 늘어날 경우에는? 하나의 로직에서 검사하고 ..

[Computer Science]/[객체지향설계]

[객체지향설계] 11/21 이론

Advanced Template and STL Template parameter 값에 디폴트 값을 주고 싶다! (주로 크기가 3인데 계속 인자로 3을 넣어주기 귀찮다!) Default template argument로 아무 인자도 안 주었을 때 default 값을 specialized 하게 된다. 주의할 점 : Type은 항상 일정하고, Size(정수를 담는 변수)만 변화할거야! 이럴 때 생기는 문제점. 인자를 넘기는 것을 생각할 때 인자의 위치를 가지고 생각하게 된다. 위치, 순서를 인식하여 파라미터와 인자가 매핑되는 것에서 오류가 생길 수 있다. 따라서, Default parameter는 뒤에 넣어지게 된다. Default parameter가 하나 있을 때, 그 인자 뒤로는 모두 Default인 것이..

[Computer Science]

[알고리즘] 11/16 이론

DP Algorithm(동적 계획 알고리즘) Dynamic Programming 입력 크기가 작은 부분 문제들을 해결한 후에 그 해들을 이용하여 보다 큰 크기의 부분 문제들을 해결하여 최종적으로 원래 주어진 입력의 문제를 해결한다. 분할 정복 알고리즘과 DP 전형적인 부분 문제들 사이의 관계 DP는 부분 문제들 사이에 의존적 관계가 존재한다. 작은 부분 문제의 해가 보다 큰 부분 문제를 해결하는데 사용하는 관계가 있다. 분할 정복 알고리즘은 부분 문제의 해를 중복 사용하지 않는다. 막대 자르기 문제 막대 길이는 n(양의 정수)이다. 막대는 길이가 양의 정수로 자를 수 있다. (n-1을 초과할 수는 없다.) 길이가 i인 막대의 판매 가격은 pi 이다. 길이가 n인 막대를 여러 개의 조각으로 잘라서 판매할 ..

DevCat_
'[Computer Science]' 카테고리의 글 목록