반응형

전체 글 39

[정보처리기사] CSRF 와 XSS 공격의 차이점

간단하게 요약하자면, CSRF는 공격자가 사용자의 인증 정보를 이용하여 다른 사이트에 악의적인 요청을 보내는 것이며, XSS는 공격자가 스크립트를 이용하여 사용자의 브라우저에서 악의적인 동작을 수행하는 것입니다. 자세히 확인하겠습니다 CSRF (Cross-Site Request Forgery) 다른 웹사이트에 "로그인한 사용자의 권한을 이용"하여, 웹사이트에 악성 요청을 보냅니다. 이를 통해 해커는 사용자의 권한을 이용하여 해당 사용자가 권한이 있는 일을 수행할 수 있습니다. 사용자 A가 은행 웹사이트에 로그인한 상태에서, 해커가 제작한 악성 웹사이트를 방문하는 경우를 가정해봅시다. 이때, 악성 웹사이트에는 은행 계좌 이체를 요청하는 스크립트가 포함되어 있습니다. 사용자 A가 악성 웹사이트를 방문하고, ..

정보처리기사 2023.04.21

[Linux] 리눅스 명령어

ps : 현재 실행 중인 프로세스 목록 출력 예시: ps -ef (전체 프로세스 목록 출력) kill : 실행 중인 프로세스 종료 예시: kill PID (PID가 해당하는 프로세스 종료) chmod : 파일 또는 디렉토리 권한 변경 예시: chmod 755 file.txt (file.txt 파일을 소유자는 읽기, 쓰기, 실행, 다른 사용자는 읽기와 실행만 허용) chown : 파일 또는 디렉토리 소유자 변경 예시: chown user:group file.txt(file.txt 파일의 소유자를 user, 그룹을 group으로 변경) tar : 파일 또는 디렉토리 압축 및 해제 예시: tar - czvf archive.tar.gz directory / (directory 디렉토리를 압축하여 archive...

Study/Linux 2023.04.21

[정보처리기사] 배스천 호스트 서버

여러 대의 서버를 가상화하여 하나의 대규모 서버로 이용할 수 있도록 만든 기술입니다. 일반적으로 웹 서버는 클라이언트의 요청에 따라 어떤 웹 페이지를 보여줄지 결정하죠? 그렇다면 각각의 도메인 이름을 가진 웹 사이트마다 별도의 IP 주소와 웹 서버가 필요합니다. 가상 호스팅(Virtual Hosting)을 사용하면 "하나의 IP 주소와 웹 서버에서 여러 개의 가상 호스트를 운영"할 수 있습니다. 클라이언트의 요청을 받은 배스천 호스트는 요청을 처리할 서버로 요청을 전달하면 되거든요. 즉, 로드 밸런싱 역할 수행하는 것입니다. 여러 대의 서버를 하나의 호스트로 구성하여 운영하기면 서버 리소스의 유연한 조정이 가능하죠. 따라서 배스천 호스트는 대규모 웹 서비스나 대용량 데이터베이스, 가상화 서버 등에 많이 ..

정보처리기사 2023.04.21

[운영체제] 운영체제에서 메모리 관리를 위한 기법들

컴퓨터 시스템에서 메모리 관리란, "시스템 내의 주기억장치를 효율적으로 관리"하는 것을 말합니다. 다음과 같은 기법들이 존재합니다. 1) 메모리 관리 프로그램이 메모리에 할당되고 관리되는 방법을 말합니다. 이는 프로그램이 실행될 때 필요한 메모리 공간을 할당하고, 이를 해제하는 등의 작업을 포함합니다. 2) 단편화 메모리에 여러 프로그램이 실행될 경우, 필요한 크기의 연속된 공간을 할당할 수 없어서 작은 조각으로 나누어서 할당하는 것을 말합니다. 이 경우, 작은 조각들이 모여서 메모리에 할당되는데, 이는 프로세스들이 메모리에 적재될 때 비효율적인 공간 낭비를 초래할 수 있습니다. 3) 반입 기법 프로그램이 실행되기 위해 필요한 데이터나 코드가 저장된 위치가 메모리에 없는 경우, 디스크에서 메모리로 데이터..

정보처리기사 2023.04.20

[정보처리기사: 운영체제] 라운드 로빈(Round Robin, RR) 스케줄링 알고리즘

라운드 로빈은 CPU 스케줄링 알고리즘 중 하나로, 여러 개의 프로세스가 CPU를 사용하기 위해 경쟁하는 환경에서 "CPU 사용 시간을 일정하게 할당"하는 방식입니다. 라운드 로빈 방식에서는 일정한 시간 간격으로 CPU를 할당해주며, 이 시간 간격을 "타임 슬라이스(Time Slice)" 또는 "양자(Quantum)"라고 부릅니다. 각 프로세스는 자신의 할당된 시간 동안 CPU를 사용할 수 있습니다. 만약 해당 프로세스가 타임 슬라이스 내에서 작업을 완료하지 못하면, 현재 작업을 일시 중단하고 다음 프로세스에게 CPU를 넘겨주게 됩니다. 라운드 로빈 방식은 모든 프로세스가 CPU를 공평하게 사용할 수 있도록 보장하기 때문에 "공정성"이 높다는 장점이 있습니다. 하지만, 타임 슬라이스가 너무 짧으면 CPU..

정보처리기사 2023.04.20

[정보처리기사] 관계 대수와 관계 해석이 무엇이며 어떤 차이가 있을까?

관계 대수는 "수학적 기호와 연산자를 사용"하여 데이터베이스에서 원하는 결과를 도출하는데 사용됩니다. 이를 통해 특정 조건에 따라 데이터베이스에서 추출하려는 데이터의 집합을 명확하게 정의할 수 있습니다. 이것은 데이터베이스의 "내부적인 처리"에 가깝게 연관되어 있어, "데이터의 저장 방법과 처리 방법을 고려"하여 사용해야 합니다. 반면에 관계 해석은 "사람이 이해할 수 있는 질의 언어"로, 데이터베이스에서 원하는 결과를 분명하게 명시하는 데 사용됩니다. 관계 해석은 데이터베이스의 외부적인 처리에 가깝게 연관되어 있어, 이를 통해 사용자는 "데이터베이스의 내부 구조나 처리 방법에 대해 알 필요 없이" 질의를 수행할 수 있습니다. 일반적으로, 데이터베이스 설계자나 개발자는 데이터베이스에서 추출하려는 정보의 ..

정보처리기사 2023.04.20

[정보처리기사] 웹 세션(Session)이란?

페이지를 이동해도 사용자의 로그인 상태를 유지하는 기능을 생각해 봅시다. 우선 쿠키를 이용해서 사용자의 아이디와 비밀번호를 쿠키에 저장한다고 가정해 봅시다. https://myallinone.tistory.com/entry/HTTP-%EC%BF%A0%ED%82%A4%EB%9E%80 HTTP 쿠키란? " 쿠키(Cookie)란? " 쿠키는 웹 브라우저에서 서버로 전송되는 작은 데이터 조각입니다. 쿠키는 웹 사이트를 방문할 때 생성되며 브라우저에 저장됩니다. 이후 새로운 요청시에 쿠키를 헤더에 담아 myallinone.tistory.com 페이지를 이동하여도 쿠키를 통해 아이디와 비밀번호를 서버에 전달해서 서버에서는 사용자를 식별하여 해당 사용자의 로그인 상태를 유지시킬 수 있습니다. 하지만 이렇게 쿠키만을 ..

정보처리기사 2023.04.20

[정보처리기사] 웹 캐시(Cache)란?

캐시는 이전에 요청된 리소스를 저장하여, 같은 요청이 발생했을 때 서버에서 리소스를 다시 받아오지 않고, 저장된 캐시를 이용하여 빠르게 로딩할 수 있도록 도와주는 기능입니다. 웹 브라우저는 웹 페이지를 로드할 때 해당 페이지에 필요한 리소스를 다운로드합니다. 이 때, 브라우저는 다운로드한 리소스를 캐시에 저장하고, 이후에 같은 리소스가 필요할 때 서버에서 다시 다운로드하지 않고, 캐시에서 불러옵니다. 다음과 같이 HTTP 응답 헤더를 사용하여 캐시를 제어할 수 있습니다. HTTP/1.1 200 OK Date: Mon, 19 Apr 2023 06:47:56 GMT Content-Type: image/png Content-Length: 1024 Cache-Control: max-age=3600, public..

정보처리기사 2023.04.19

[정보처리기사] HTTP 쿠키(Cookie)란?

쿠키는 웹 브라우저에서 서버로 전송되는 작은 데이터 조각입니다. 쿠키는 웹 사이트를 방문할 때 생성되며 브라우저에 저장됩니다. 이후 새로운 요청시에 쿠키를 헤더에 담아 서버로 보냅니다. 일반적으로 유효 기간을 가지고 있으며, 이 유효 기간이 지나면 자동으로 삭제됩니다. 또한 사용자가 브라우저 캐시를 삭제하면 쿠키도 함께 삭제됩니다. 중요한 것은 쿠키는 웹 사이트가 사용자의 동의 없이 생성하고 사용할 수 없다는 것입니다. 그래서 GDPR(일반 데이터 보호 규정)와 같은 법적 규제가 있으며, 웹 사이트는 쿠키의 사용을 명확하게 설명하고, 사용자가 쿠키 사용에 동의할 수 있는 방법을 제공해야 합니다. 또한 쿠키에 중요한 개인 정보를 저장하면 안 됩니다. 왜냐하면 쿠키에 저장된 정보는 브라우저와 웹 서버 간에 ..

정보처리기사 2023.04.19

[정보처리기사] HTTP 통신 (HyperText Transfer Protocol)이란?

HTTP 통신은 웹 브라우저와 웹 서버 간에 통신을 가능하게 하는 프로토콜입니다. 웹 브라우저가 웹 서버에게 정보를 요청하면, 웹 서버는 요청받은 정보를 HTTP를 통해 응답합니다. HTTP 요청은 클라이언트(웹 브라우저, 앱 등)가 서버에게 보내는 요청 메시지입니다. 이 요청 메시지는 HTTP 메서드, URI, HTTP 버전, 요청 헤더, 요청 본문 등으로 구성됩니다. 다음은 요청 메시지의 예시입니다. GET / HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Accept: te..

정보처리기사 2023.04.19
반응형