CPU ( Central Processing Unit, 중앙 처리 장치 )의 구조적 이해

 

CPU의 개념

 

입력 장치 -> 자료 입력 -> CPU 연산 -> 결과 출력

위 일련의 과정을 제어하는 핵심 장치

 

CPU 구성요소

- ALU ( Arithmetic Logic Unit, 산술 논리 장치 )

산술 및 논리 연산 수행

 산술연산 : +, -, ×, ÷

 논리연산 : AND, OR, NOT, XOR

 

- Register

CPU 내부 소규모 데이터, 중간 결과를 일시적으로 기억해 두는 고속의 전용 영역

 

- Control Unit ( 제어장치 )

프로그램 코드를 해석, 실행을 위한 제어신호 발생

 

- 내부 CPU 버스

ALU 와 레지스터 간의 데이터 이동 경로

 

 

내부 레지스터의 종류

 

PC ( Program Counter )

 - 다음에 수행할 명령어가 저장된 주기억장치의 번지를 지정

 

MAR ( Memory Address Register )

 - 주기억장치에 접근하기 위한 주기억장치의 번지를 기억

 

MBR ( Memory Buffer Register )

 - 주기억장치에 입/출력할 자료를 기억

 

IR ( Instruction Register )

 - 주기억장치에서 인출한 명령코드를 기억

 

 

버스 시스템 ( Bus System )

버스(Bus) 의 정의

 

시스템에 많은 장치를 공유하여 데이터, 주소, 제어 정보를 전달하는 전송라인

버스를 획득하기 위한 경합이 발생 - 사용방식에 따라 입출력 성능에 영향

 

버스(Bus) 종류

 

데이터버스

시스템 컴포넌트간 처리 데이터를 전송

 

주소버스

기억장소의 위치, 장치 식별 지정

라인의 비트 수에 따라 접속 될 수 있는 장치의 용량이 결정

 

제어버스

CPU와 기억장치 또는 I/O 장치 사이의 제어 신호 전송

 

 

CPU의 명령 실행주기 ( Instruction Cycle )

하나의 명령어 실행이 끝난 후부터

다음 명령어의 수행이 시작되어 끝날때까지 걸리는 시간

 

인스트럭션 사이클 ( Instruction Cycle )

 

인출 ( Fetch )

메모리 ( Memory ) 에서

데이터를 로드 ( Load ) 하여

CPU에 있는 레지스터 ( Register )에 적재

 

간접 ( Indirect )

메모리를 참조할 때 간접 주소 방식을 사용하는 경우

 간접주소 : 해당 주소의 메모리에 데이터가 바로 있는 것이 아니라, 데이터의 주소가 있을 때.

               그 주소를 참조하여 데이터를 획득

 

실행 ( Execution )

명령과 데이터로 CPU가 산술 및 논리연산 수행

 

인터럽트 ( Interrupt )

작동중 예기치 못한 문제 발생시, 업무 처리가 계속 될수 있도록 하는 컴퓨터 운영체제의 기능

 

 하드웨어 인터럽트

  - 기계착오 인터럽트, 외부 인터럽트, 입출력 인터럽트, 프로그램 검사 인터럽트

 

 소프트웨어 인터럽트

  - CPU 내부에서 자신이 실행한 명령이나, CPU의 명령 실행에 관련된 모듈이 변화하는 경우 발생

'정보 보안 > 시스템 보안' 카테고리의 다른 글

시스템 보안 개요  (0) 2019.05.28

운영체제 이해 및 관리

CPU의 구조적 이해

메모리 시스템

I/O 인터페이스

 

운영체제 구조

운영체제 개요

프로세스 관리

CPU 스케줄링 기법

병행성 제어

장치 관리 방법

 

리눅스 서버 보안

리눅스 보안

리눅스 구조

리눅스 인증과 권한 관리

로그파일 및 주요 명령어

리눅스 방화벽

 

윈도우 클라이언트 및 서버 보안

윈도우 시스템

NTFS 시스템

공유폴더 취약점

레지스트리

이벤트 로그 및 웹 아티팩트 분석

바이러스와 악성코드

 

* 2019 이기적 정보보안 기사 책으로 공부하며 정리한 내용입니다.
문제가 될 시, 알려주시면 삭제 및 수정등의 적절한 조치를 취하겠습니다.

 

정보보안 기사 자격증 시험에 나오는 과목 정리

( 산업기사는 정보보호 관련 윤리 법규 제외 )

 

시스템 보안

운영체제 이해 및 관리

운영체제 구조

리눅스 서버 보안

윈도우 클라이언트 및 서버 보안

네트워크보안

네트워크 일반

네트워크 활용

네트워크 기반 공격기술의 이해 및 대응

네트워크 대응 기술 및 응용

최신 네트워크 위협 및 대응기술

애플리케이션 보안

인터넷 응용 보안

데이터베이스 보안

전자상거래 보안

기타 애플리케이션 보안

정보보호 일반

보안 요소 기술

접근 통제

전자 서명

암호학

정보보안 관리 및 법규

정보보호 관리

정보보호 관련 윤리 및 법규

 

 

DNS ( Domain Name System )


- 도메인에 대한 IP주소를 리턴


- 쿼리

- 순환쿼리 : 클라이언트가 DNS 서버에 쿼리 전송 ( DNS Request )

- 반복쿼리 : DNS 캐시 테이블에 해당 도메인 정보가 없거나, Zone 파일에 해당 도메인이 없는 경우, 외부 DNS에 쿼리를 요청


- DNS 이름해석 순서

- DNS 캐시테이블 확인

ipconfig /displaydns

- windows\system32\drivers\etc\hosts.ics

- windows\system32\drivers\etc\hosts

- DNS 서버 쿼리 ( 53번 포트 )

- /etc/hosts

- DNS 캐시테이블 확인 및 zone 파일

- 반복쿼리


- DNS 구조

- 마스터와 슬레이브

- Zone Transfer : Master DNS의 zone파일을 Slave DNS에 전송, 단방향

Slave DNS에 Master DNS를 named.conf에 등록 


- DNS 공격

- 파밍 : 가짜사이트

- DNS Spoofing : DNS 캐시테이블을 변조하여 가짜 IP주소를 전송하게함

- DNS 증폭공격 : DNS의 Record Type 을 ANY 로 요청 1개의 요청에 5개의 응답 ( A, AAAA, SOA, MX, CNAME )


- DNSSEC

- root DNS에 대해서 인증과 전자서명을 수행한다.

- 공개키 암호화 기법 사용

- keygen으로 개인키 생성

- 인증기관 ( CA ) 에 인증을 의뢰


- DNS Spoofing 공격

- dnsspoof -i eth0 zone.dns 

- fragrouter -B1 : normal IP 포워딩


- 스니핑 : 수동적 공격, 정보획득

- tshark , tcpdump : 특정 인터페이스 패킷을 모니터링하는 도구

- tcpdump -i eth0 -w a.cap -c 10 : eth0 의 패킷 10개를 a.cap 파일에 쓰기

- 응용계층에서 데이터링크계층의 헤더까지


- telnet 및 ssh : 원격 접속

- vi /etc/xinetd.d/telnet 설정 변경 ( disable = no )

  service xinetd restart

- telnet www.naver.com 80

  Trying -> Connected -> 배너정보


- 포트스캐닝

- 알려진 포트를 확인한다.

  20 : FTP 데이터 [액티브모드 일 때], 

  21 : FTP 명령, 

  69 : tFTP ( UDP , 인증없이, secuMode 사용 ),


  22 : SSH,

  23 : TELNET,

  

  80 : HTTP,

443 : HTTPS,


110 : POP3,

143 : IMAP,


135/139 : SMB

445 : MS_DS ( 공유폴더 )


- 알려진 서비스, 프로토콜, 쉘 정보

/etc/services

/etc/protocols

/etc/shells


- 열려진 포트를 전부 확인한다.

nmap -sS : TCP half-open 스캔 ( 스텔스 스캔 )

   -sT : TCP open 스캔

   -sF : FIN 스캔

   -sX : XMAS 스캔

   -sN : Null 스캔






'정보 보안' 카테고리의 다른 글

보안기사 개요  (0) 2019.05.27
리눅스보안 - 부팅, 런레벨, 네트워크관련설정  (0) 2018.04.26

리눅스의 부팅

- swap : 디스크의 리눅스 이미지를 메인 메모리에 올린다.

- Loader : LILO, GRUB ( /boot )

- init : Process ID 1번, inittab

- Run Level ( /etc/rc )

1: 싱글유저

3: 다중사용자, 콘솔로그인

5: 런레벨3 + x윈도우 ( startx )

6: 재시작


ifconfig 관련 명령

ifup eth0 : eth0 기동

ifdown eth0 : eth0 종료


network관련 설정 디렉토리 : /proc/sys/net

sysctl -w net.ipv4.icmp_ignore_all=1 : icmp 모두 무시 ( ping 응답 안하기 )

tcp_syncookies=1 : SYN 패킷의 도착 빈도가 일정횟수보다 많을 때 해당 요청을 허용하지 않음

tcp_max_syn_backlog=1024 : 한 소켓이 동시에 SYN요청을 처리할 수있는 한계 설정, 

icmp_echo_ignore_broadcasts : broadcast 주소에 ping 쏘는 것을 막을 수 있다. smurf공격 대응가능

/proc/kernel/randomize_va_space : 프로세스의 스택 시작 주소를 랜덤하게 변경





'정보 보안' 카테고리의 다른 글

보안기사 개요  (0) 2019.05.27
DNS , 포트스캐닝, 스니핑, telnet/ssh 정리  (0) 2018.05.02

+ Recent posts