본문 바로가기

분류 전체보기

AD(Active Directory)와 클롭 랜섬웨어(CLOP Ransomware) AD(Active Directory) Active Directory는 윈도우에서 사용하는 기능이다. 주로 기업에서 사용하는데 윈도우에 인증 기능을 추가해준다. 즉, 기업의 각각의 PC에 권한을 설정하고 인증하는 기능이다. 동일한 데이터베이스에서 중앙 집중식으로 관리할 수 있는 것이다. 새로운 업데이트를 배포하고 권한에 따른 정책을 설정하고 인증을 할 수 있는 것이다. 각 계정에 비밀번호 정책설정도 가능하다. 예를 들어 비밀번호의 최소 자리수, 변경 주기 등을 설정할 수 있다. 만약 AD를 사용하지 않는 다면 패치를 하거나 여러 정책을 설정할 때 기업내의 모든 PC에 직접 찾아가 설정을 해야하는 번거러움이 있는데 AD가 이를 해결해주는 것이다. AD 설정 시 PC 로그인 시 로컬 계정명으로 로그인 하는 것.. 더보기
리눅스 파일 시스템 구조 리눅스 파일 시스템 구조 리눅스 파일 시스템의 구조는 부트블록(Boot block)으로 시작되며 부트 블록은 컴퓨터 시스템을 부팅하기 위한 부팅에 관련된 이미지를 갖고 있다. 리눅스 운영체제가 처음 실행되면 부트블록을 제일먼저 읽어서 리눅스를 가동한다. 부트블록이 주기억장치에 모두 올라가게 되면 리눅스 운영체제는 제일 처음 init 프로세스를 기동하게 되고, init 프로세스의 PID는 1번이 부여된다. 부트 블록 : 파일 시스템으로부터 리눅스 커널을 적재시키기 위한 프로그램이다. 슈퍼 블록 : 슈퍼블록은 파일 시스템의 크기, 블록 수 등 이용 가능한 빈 블록 리스트와 빈 블록 리스트에서 그 다음 빈 블록을 가리키는 인덱스 정보가 있다. 이외에 inode 목록의 크기, 파일 시스템에 있는 빈 inode의.. 더보기
리눅스 구조 리눅스의 기능 작업 관리자(Task Manager) 작업의 생성, 실행, 상태관리, 스케줄링, 시그널 처리, 프로세스 간 통신 등의 서비스를 제공한다. 메모리 관리자(Memory Manager) 세그먼테이션, 페이징, Swap 서비스를 통한 물리 메모리의 가상 메모리를 관리한다. 파일 시스템 관리자(File System Manager) 파일 생성/삭제, 접근 제어, 디렉터리 관리, 슈퍼블록 관리 등의 서비스를 제공한다. 네트워크 관리자(Network Manager) 소켓, TCP/IP, 프로토콜 스택 관리 등의 서비스를 제공한다. 장치 관리자(Device Manager) 디스크, 각종 카드, 외부 인터페이스 등을 제어하는 드라이버 관리 서비스를 제공한다. 리눅스 운영체제의 핵심 구성요소 커널(Kernel.. 더보기
리눅스의 특징 리눅스 리누스 토르발스(Linus Torvalds)가 개발한 운영체제로 유닉스 기반의 오픈소스 운영체제이다. 리눅스는 기존 유닉스 서버와는 다르게 대형 서버를 위해 개발된 것이 아닌 개인용 컴퓨터나 워크스테이션으로 사용하기 위해 개발되었다. 이러한 리눅스는 오픈소스 라이센스 중 GPL이 적용된 상태이다. 오픈소스 라이센스는 GPL, LGPL, BSD, MIT 등 여러 종류의 등급이 있으며 그 중 GPL은 General Public License의 약자로 어떤 프로그램을 개발할 때 GPL 의 코드 일부를 사용하게 되면 해당 프로그램은 소스코드를 공개해야 한다. 이 후 유료로 판매해도 상관은 없다. 하지만 이렇게 소스코드가 공개되면 유료로 판매되는 해당 프로그램을 개조하여 더 좋은 성능의 프로그램을 만들어 .. 더보기
CPU 스케줄링 기법 CPU 스캐줄링 컴퓨터의 자원을 효율적으로 상용하기 위해서 정책을 계획하는 것이다. 특정 자원을 요청하고 있는 프로세스를 대상으로 CPU 자원을 할당해 주는 순서를 정해주는 것이다. 사용 목적은 다음과 같다. CPU 활용 극대화 : CPU의 유휴 시간 최소화 응답시간 단축 : 프로세스 평균 응답 시간 단축 공평한 자원 활용 : 주어진 기간 동안 특정 자원 사용 효율화 Multi-tasking 효율화 : 다중 프로세스의 공평한 처리 스케줄러 역할에 따른 구분 장기 스케줄러 상위 스케줄링으로 어떤 작업이 시스템의 자원들을 차지할 것인지 결정한다. 결정된 작업은 큐에 적재된다. 중기 스케줄러 어떤 프로세스들이 CPU를 할당받을 것인지 결정한다. CPU를 사용하려는 프로세스 간 중재하여 일시적으로 보류하거나 재.. 더보기
프로세스 관리(Process Management) 프로세스 레지스터, 스택, 포인터, 실행중인 프로그램, 데이터 등의 집합체이다. 프로그램과 프로세스의 차이점은 현재 메모리에 적재되어 있는지이다. 즉, 아직 메모리에 적재되지 않고 보조기억장치에 존재하는 데이터의 경우는 프로그램이다. 여기서 해당 프로그램이 메모리에 적재되면 프로세스가 된다. 프로세서에 의해 수행되는 프로그램의 단위로 현재 실행 주잉거나 곧 실행 가능한 PCB(Process Control Block)를 가진 프로그램이다. 자원 할당을 위한 기본 구분 단위로 사용된다. 스레드(Thread) 제어의 흐름을 의미한다. 프로세스에서 실행의 개념만 분리한 것이다. 프로세스의 구성을 크게 두 가지로 나눌 때 제어의 흐름 부분과 실행 부분으로 나눌 수 있다 이때, 스레드는 실행부분을 의미한다. 해당 .. 더보기
운영체제(OS-Operating System) 운영체제(OS-Operating System) 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다. 운영체제에 따라 GUI를 제공하여 효과적인 업무 처리를 기대할 수 있으며 유닉스의 경우 서버관리를 효과적으로 할 수 있다. 운영체제의 목적은 다음과 같다. 처리 능력의 향상 : 시간당 작업 처리량, 평균 처리 시간을 개선한다. 신뢰성 향상 : 실패 없이 주어진 기능을 수행할 수 있어야 한다. 응답 시간의 단축 : 사용자가 시스템에 요청한 작업의 반응 시간을 단축한다. 자원 활용률 향상 : 한정된 자원을 효과적으로 사용할 수 있도록 해준다. 가용성 향상 : 고장, 오류가 발생해도 운영상 영향을 최소한다. .. 더보기
DTLS(Datagram Transport Layer Security) DTLS(Datagram Transport Layer Security) 데이터그램 전송 계층 보안은 UDP에서 보안기능을 제공하는 것이다. IoT장비에 많이 사용되며 이름 그대로 데이터 그램에 대한 전송 계층에서 보안을 하는 것이다. 데이터 그램은 데이터를 패킷 단위로 나눠서 전송하는 것을 의미하며 전송계층에서는 TCP, UDP와 Port 주소를 사용한다. 즉, 애플리케이션에서 전송하는 패킷에 UDP 통신을 이용하지만 보안기능을 추가하여 안전한 통신을 할 수 있도록 하는 것이다. DTLS의 주요 기능은 애플리케이션에 전송한 패킷의 도청, 위변조를 막는 역할을 한다. IoT 장비들 중 웹캠의 경우 실시간 전송을 필요로 하여 UDP를 사용하는 경우가 많다. 이때, 별다른 보안 기능을 추가하지 않는다면 공격자.. 더보기