2010년 11월 28일 일요일

정보 보안 전문가에 대하여

저는 이번에 정보 보호를 보고 인터넷을 찾던 중 정보 보안 전문가라는 직업을 알게 되었습니다. 이 직업을 살펴보니 매력적인 직업인 것 같아서 조사를 해보았습니다.

1.정보 보안 전문가란?

정보보안전문가가 어떤 직업인지 사전을 찾아보니 다음과 같이 나왔습니다.

정보보호란 각종 정보통신 네트워크와 시스템에서 정보의 유출 및 손상, 시스템 파괴, 바이러스 등의 각종 보안 위협 요소로부터 정보통신시스템을 보호하는 기술적 활동을 말한다. 정보보호전문가는 정보보호 및 보안 관련 분야의 지식을 갖추고 정보보호가 요구되는 다양한 분야에서 중요한 업무를 수행하게 된다.
전자정부, 인터넷 뱅킹, 전자상거래 등 인터넷 기반이 확고하게 자리잡은 정보화사회에서 개인, 기업, 정부의 정보에 대한 보호 업무를 수행한다.
보안정책을 수립하고 보안기술을 지원하며, 해킹이나 크래킹, 바이러스, 정부나 기업체에 저장되어 있는 개인정보의 위변조 및 무단유통 등 사이버테러를 예방하고 해결하는 일을 한다. 또한 중요 정보 거래시 품질보증 역할을 하기도 한다.
미래 지식정보화사회의 유망한 직종으로서 정보보호 전문 산업체, 보안시스템 개발업체, 전자상거래 보안 전문 컨설팅 업체, 일반 기업이나 정부기관, 연구소, 인터넷 쇼핑몰 등에 취업할 수 있다.

즉, 정보 시스템과 정보 자산의 안전을 위하여 보안 업무를 수행하는 사람이라고 합니다.

그리고 하는 일을 분류하면 크게 네가지로 분류할 수 있습니다.
첫 번째로는 보안관제요원으로 3교대 근무이며, 1선에서 유해트래픽을 감시하는 업무이며,
보안장비를 직접 컨트롤 할 수 있는 능력 필요하다고 합니다.
두 번째로는 보안컨설턴트로 모의해킹 및 침해사고대응한다고 합니다.
세 번째로는 보안프로그래머로 보안솔루션 개발 및 유지보수를 한다고 합니다.
네 번째로는 보안관리자로 NC,게임하이와 같은 대형게임업체 및 각 기업의 물리적, 관리적, 기술적인 보안을 담당한다고 합니다.
2.정보 보안 전문가의 수입

저도 궁금하고 다른 사람들도 많이 궁금할 부분이라고 생각하는데, 이 부분이 잘 나오지 않더군요. 어디에서 보니 연봉 : 중견 기업은 2600~2800정도 이고, 대기업은 3200~3400정도라고 합니다. 그리고 이 직업은 개인의 실무 능력에 따라 많은 차이를 보인다고 합니다.
3.정보 보안 전문가가 되려면

정보 보안 전문가가 되기 위한 자격증은 여러 종류가 있습니다. 이 종류를 크게 세 개로 분류 하면 프로그래밍 관련, 시스템(서버)운영체제 관련, 네트워크 관련 부분으로 나눌수 있습니다.

(1)먼저 프로그래밍 관련 분야는 정보 보안 전문가가 되기 위한 가장 기초적인 지식분야라고 합니다. 여기서는 우리가 배우고 있는 java나 c를 열심히 공부하면 된다고 합니다. 이 것을 열심히 공부하면 정보처리기능사 자격증을 취득할 수 있다고 합니다.

(2)두 번째로 시스템에서는 windows서버와 Linux서버 공부가 필요하다고 합니다.

(3)세 번째로 네트워크에 관련 분야에서는 CCNA라는 자격증 공부를 해야한다고 합니다. CCNA에 대한 설명은 다음과 같습니다.

CCNA(Cisco Certified Network Associate)
Network 전문가 자격증 CCIE에 이르는 첫번째 단계의 Cisco 자격증입니다.
SOHO(small office/home office) 시장에 필요한 초급 단계의 네트워킹 지식을 갖고 있음에
대한 인증입니다. 노드 수 100개 이하의 소규모 네트워크에 IP, IGRP, IPX, Serial, AppleTalk, Frame Relay, IP RIP, VLAN, RIP, Ethernet, Access List 등을 비롯한 LAN, WAN, 다이얼 액세스 서비스를 설치, 구성, 운영할 수 있습니다.
이 것들은 기초적인 것이고 여기에 DB와 해킹/보안 과정을 좀 더 공부하여야 한다고 합니다. 그리고 직업의 특성상 자격증을 따는 것보다는 실기 위주의 학습이 중요하다고 합니다.


이 직업을 조사하면서 많은 흥미로운 것들을 느꼈습니다. 앞으로 이 직업에 흥미를 더 가지고 지켜봐야겠네요. 그리고 이쪽에 관심이 있고, 특정 자격증을 취득하면 군대를 정보 보안병으로 갈 수 있다고 합니다. 또한 정보 보안병으로 군대를 가면 경력으로 인정해준다고 하네요. 저도 이걸 일찍 알았다면 준비했을텐데 준비하지 못해서 아쉽네요. 그리고 찾다보니 29일부터 삼성도 코엑스 그랜드볼룸에서 국제 정보보호 컨퍼런스를 한다고 하는군요.


출처:
정보보호전문가 [情報保護專門家, Specialist for Information Security ] | 네이버 백과사전(http://100.naver.com/100.nhn?docid=775090)




2010년 11월 21일 일요일

여러 가지 리눅스 명령어


저는 이번에 알아두면 편리한 리눅스 명령어들을 조사해보았습니다.


1.시스템 현재 상태 관련 명령어
(1)pwd:현재 위치출력
(2)date:현재 시간 출력
(3)cal:현재달력 출력
(4)clear:출력 내용 지음
(5); :여러개 명령어 동시에 수행


2.파일 관련 명령어
(1)ls: 디렉토리 및 파일보기
     cf)여기에 여러가지 옵션을 줄 수 있는데,a는 경로 안의 모든 내용을 나열할 수 있게해주고, -c는 최근 변경시간에 따라 파일을 정렬하여 나열해준다. 또한 -d는 디렉토리만 출력이고, -l은 파일에 대한 자세한 정보를 출력해준다. 그리고 몇 리눅스는 이러한 명령어를 겹쳐서 쓸 수 있다고 한다. 예를 들어 -al을 하면 -a와 -l의 옵션이 동시에 적용된다고 한다.
(2)cd: 자신이 작업하기 원하는 디렉토리로 이동하게 해준다.
      cf)..을 입력하면 자신의 위치에서 상위 디렉토리로 가게 해준다.
(3)file:지정된 파일의 정보를 출력
      cf)-d옵션을 주면 파일 유형만 표시하고,-i옵션을 주면 파일 정보를 mine형태로 출력한다고 한다.


3.디렉토리/파일 관련 명령어
(1)cp[원본파일][복사될 디렉토리]:원본 파일이나 디렉토리를 복사하는 것을 수행한다.
      cf)복사될 디렉토리 명을 잘못 설정할 경우 원래 있던 파일이 사라질수도 있다.따라서 이 것을 사용한때는 같은 파일이 있는 경우를 물어볼 수 있는 -i의 옵션을 사용하는 것이 좋다.또 -r은 원본 대상이 디렉토리면, 하위 내용까지 복사한다고 한다.
(2)mv[지정파일][이동할 위치 or 바꿀 파일명]:지정 파일을 원하는 위치로 이동시키거나 이름을 교체
     cf)이 것도 cp와 같은 성질이 있기 때문에 조심해서 사용해야 한다.
(3)rm:파일 삭제
rmdir: 디렉토리 삭제
     cf)rm명령어를 사용할 때 -r옵션을 사용하면 디렉토리 및 하위 내용까지 삭제한다고 한다.
(4)mkdir: 디렉토리의 생성
     cf)-p의 옵션을 적고 뒤에 적으면 하위 디렉토리까지 생성할수도 있다.
(5)cat:: 텍스트 파일의 내용을 보여준다.
      cf)cat > 텍스트 명을 입력해서 새로운 텍스트를 만들 수도 있다.
(6)more: 텍스트를 보여주는데,화면에 한페이지씩 끊어서 출력한다.


4.파일의 압축/해제
(1)tar: tar라는 프로그램을 사용하여 만든 압축파일이다.
     cf)만약 파일명이 xxx.tar.gz을 한 경우는 파일을 묶고 또 압축까지 한 경우이므로 해제도 두 번에 걸쳐 해야한다.
(2)gzip :이 것도 역시 파일의 압축하는 역할을 한다.
(3)gunzip: 압축을 해제하는 역할을 한다.


5.권한 설정
(1)chmod: 파일의 권한을 설정할 수 있게 해준다.
     cf)ls -l명령어를 사용 하게 되면 파일의 권한이 rwxrwxrwx 이렇게 나타나게 된다. 차례대로 유저(u)의 권한과 그룹(g) 권한과 다른 사람(o)의 권한이 read, write, excute형태로 나타나게 된다. 이를 +나 -를 이용하여 권한을 빼거나 추가할 수 있다.


    오랜만에 이 명령어들을 조사하면서 과거에 배웠던 것을 복습할 수도 있었고, 아직 실력이 부족하여 파이프의 사용법, 프로세서를 보고 지우는 것등을 못 적었는데, 좀 더 공부해야겟다는걸 깨달았습니다.


출처:







2010년 11월 14일 일요일

CPU Scheduling

저는 이번에 CPU scheduling에 대해서 조사해보았습니다.


1.CPU scheduling 의 정의
일단 이 것을 정의 하려면 Process를 알아야 됩니다. 프로세스는 프로그램이 실행되어 메모리에 적재된 상태를 말합니다. 그 때 컴퓨터는 작업들을 처리하기 위해 이 프로세스들에게 중앙처리장치나 각종 처리기를 할당하게 되는데요. 이 것을 최대한 효율적으로 분배하여 CPU의 유휴시간(idle time-컴퓨터 시스템이 사용 가능한 상태이나 실제적으로 작업을 하지 않는시간)을 줄이고 CPU의 효율성을 높이기 위해 하는 것이 CPU scheduling입니다. 이 것은 컴퓨터가 단일 프로그래밍 환경에서 다중 프로그래밍환경이 되어가면서 필요하게 되었습니다.

2.CPU Scheduling에서 사용되는 대표적인 측량값
(1)CPU Utilization: CPU가 일하는시간/흐른 시간으로 퍼센트 값으로 나타줍니다.
(2)Throughput:: 단위시간당 처리된 프로세스의 수
(3)Turnaround Time: 한 프로세스가 등장해서 이 것이 완전히 끝날 때까지 걸리는 시간= 프소세스가 메모리에 올려지기까지 기다리는 시간+레디큐에서 CPU로 진입하기까지 기다리는 시간+CPU에서 실행되는시간+I/O(input/output: 입출력)를 처리하는 시간

3.Scheduling 결정의 4가지 상황
(1). 한 프로세스가 실행 상태에서 대기상태로 전환될 때
(2). 프로세스가 실행 상태에서 준비 완료 상태로 전환될 때
(3). 프로세스가 대기 상태에서 준비 완료 상태로 전환될 때
(4). 프로세스가 종료될 때

:1-4 방법을 이용하게 되면 non-preemptive scheduling방법을 사용하게 되고,
2-3 방법을 이용하게 되면 preemptive scheduling방법을 사용하게 된다.

4.Scheduling 방식의 종류
(1)선점 스케줄링(preemptive scheduling)
-한 프로세스가 CPU를 차지하고 있을 때 우선 순위가 높은 다른 프로세스가 현재 프로세스를 중지시키고 자신이 CPU를 차지할 수 있는 경우
-높은 우선 순위를 가진 프로세스들이 빠른 처리를 요구하는 시스템에서 유용
-빠른 응답시간을 요구하는 시분할 시스템에 유용
(2)비선점 스케줄링(nonpreemptive scheduling)
-한 프로세스가 CPU를 할당 받으면 다른 프로세스는 CPU를 점유 못함
-짧은 작업을 수행하는 프로세스가 긴 작업이 종료될 때까지 기다려야함
-모든 프로세스들에게 공정하고 응답시간의 예측이 가능

5.Scheduling Algorithm의 종류
(1).First-Come, First-Served Scheduling(FCFS= FIFO)
-nonpreemptive
-먼저 대기열에 올라온 프로세서부터 하나씩 처리하는 방식이다.
-이 방식은 상당히 비효율적이다. 예를 들어 처음 들어오는 프로세스가 CPU Burst가 클 경우, 다른 중요한 프로세스가 입력될 경우 처리하기가 힘들어진다.
(2)Shortest-Job-First(SJF) Scheduling
-nonpreemptive와 preemptive방식 둘 다 존재한다. 선점형의 방식을 도입할시에는 이 알고리즘의 이름은 Shorttest-remaining-time-first로 바뀐다.
-크기가 작은 프로세스의 순으로 처리를 해주는 알고리즘이다. 이론상으로는 확실한 효과를 가지고 있지만 다음 CPU 요청의 길이를 알 수 없기 때문에 실질적으로는 완벽히 구현을 하지 못한다고 한다. 그래서 자신이 설계한 CPU scheduling방식의 효율성을 비교할 때 쓰이는 scheduling방식이라고 합니다.
(3).Priority Scheduling
-nonpreemptive
-각 프로세스를 특정한 기준으로 우선순위를 따져서 우선순위가 높은 프로세스부터 CPU를 할당하는 방식입니다. 또한 우선순위가 같은 프로세스가 있을 경우에는 FCFS방식으로 우선순위를 정해서 CPU를 할당한다고 합니다. 이 방식은 결정적 문제점을 가지고 있습니다. 무한 블로킹(infinite blocking)와 고사(starvation)이라고 합니다. 우선순위가 낮은 프로세스가 높은 순위에 밀려서 CPU를 할당받지 못하고 계속 기다릴수도 있다고 합니다. 이같은 사실 때문에 1973년에 셧다운한 IBM7094라는 대형 컴퓨터에서 1967년에 생성되었는데 처리되지 못한 낮은 우선순위의 프로세스가 있다는 루머도 있다고 합니다. 이같은 방법을 해결하기 위해 프로세스에게 나이를 부여하는 방법이 있다고 합니다. 나이가 들수록 프로세스의 우선순위를 증가시키는 방법이라고 합니다.
(4).Round-Robin(RR) Scheduling
-preemptive
-이 scheduling은 시분할 시스템을 위해 특별히 설계되었다고 합니다. 일단 FCFS방식에 의해서 프로세스들이 보내지고 각 프로세스는 같은 크기의 CPU시간을 할당받는다고 합니다. 이 같은 시간을 타임퀀텀(time quantum)이라고 하며, 만약 프로세스가 이 정해진 시간내에 프로세스를 끝내지 못해도 다음 프로세스에게 선점당하게 되고, 레디큐로 내려가게 된다고 합니다. 그런데 이 타임퀀텀을 길게 설정하게 될 경우 그냥 FCFS scheduling이 되버립니다. 그리고 짧게 설정할 경우 컨텍스트 스위칭(context switching-다중 프로그램 작성 환경에서 어떤 프로그램의 실현을 중단하고 다른 프로그램의 실행을 재개할 때, 그 프로그램의 재개에 필요한 환경을 다시 설정하는 것)하느라 시간을 너무 많이 잡아먹기 때문에 비효율적이라고 합니다. 그래서 일반적으로 한 타임 퀀텀은 이 컨텍스트 스위칭에 걸리는 시간의 10배로 설정한다고 합니다.
(5).Multilevel Queue Scheduling
-preemptive
-여러 개의 우선순위가 다른 큐를 두고, 각 큐마다 따로 scheduling 알고리즘을 구현해서 CPU를 할당받는다고 합니다. 이 방법도 블로킹(infinite blocking)와 고사(starvation)가 일어날 가능성이 있다고 합니다. 그래서 이 점을 보완하기 위해 Multilevel Feedback Queue Scheduling방식을 사용하게 됩니다. 이는 위 방식은 프로세스들이 큐 사이를 이동하지 않지만, Multilevel Feedback Queue Scheduling은 프로세스들이 큐 사이를 이동할 수 있다고 합니다.



이번에 조사하면서 시간을 계산하는 법도 올리려고 했는데, 아직 이해가 부족해서 좀 더 조사해서 이해해보려고 합니다.


출처:


http://blog.naver.com/anbv3/130001885175