Ssysjy0302
Quantum Ant
Published in
5 min readSep 3, 2019

--

그림으로 한번에 이해하는 보안의 기본 — 제 5장

(1) 시큐어 OS

시큐어 OS란 기존의 OS보다 보안성이 강하된 OS의 총칭이다.

시큐어 OS의 일반적인 두가지 특징으로는 MAC과 최소특권이 있다.

MAC(강제 액세스 제어)은 관리자가 보안 폴리시를 유지하고 오브젝트의 액세스 권한도 컨트롤한다.(기존의 DAC과 다름. DAC은 오브젝트의 소유자가 각 오브젝트에 대한 액세스 권한을 설정할 수 있다.)

리눅스와같은 UNIX 계열 OS에서는 보통 관리자 계정에게 모든권한을 부여하지만, 시큐어 OS에서는 이러한 만능 계정은 사용하지않고 작업을 하기 위해 필요한 최소 권한을 일시적으로 부여한다.

대표적인 시큐어 OS로는 리눅스 강화 버전인 SELINUX와 TOMOYO LINUX가 있다.

(2) SELINUX , TOMOYO LINUX

보안이 강화된 리눅스 중 하나로 SELINUX가 있다.

SELinux는 TE와 RBAC(롤 베이스 엑세스 제어)를 사용하여 시큐어 OS의 요건인 강제 액세스 제어(MAC)와 최소 특권을 구현하고 있다.

SELINUX는 강력한 보안을 구현할 수 있지만 TE와 RBAC가 난해하여 제대로 운용하기 어렵다. 이를 해결하기 위한 어프로치 중 하나로 TOMOYO LINUX가 있다.

TOMOYO LINUX에서는 시큐어 OS의 요건인 MAC와 최소특권을 구현하기 위해 학습, 확인, 강제라는 세가지 모드를 구분하여 사용한다.

학습에서는 정상적인 시스템의 동작을 기억시키고, 폴리시를 생성하며, 강제 액세스 권한은 적용되지 않는다.

확인에서는 폴리시를 적용하고 시스템 동작을 확인하며, 폴시 위반시 로그를 출력하고 폴리시를 조정하고 강제 액세스 권한은 적용되지않는다.

제어에서는 강제 액세스 권한이 적용된다.

(3) 씬 클라이언트

씬 클라이언트(마른 클라이언트)는 팻 클라이언트(뚱뚱한 클라이언트) 에 대응하는 말이다. 씬 클라이언트는 클라이언트 서버 시스템에 있어서 클라이언트 측에는 거의 아무런 처리를 하지 않고 대부분의 처리를 서버측에 맡기는 시스템을 말한다. 팻 클라이언는 PC상에서 대부분의 처리를 하기 때문에 데이도 PC에 저장되고, 따라서 PC자체 분실시 보안상의 위험이 상당히 커진다. 이러한 사고를 막기위해 일부 기업이나 조직에서는 단말기는 데이터를 장하는 기구를 장치하지않고, 서버에서 데이터를 처리한 결과를 표시하기만 하는 단말기만 가지고 다닐 수 있도록 했다. 보안면에서는 효과적이지만 편리성은 떨어지는게 특징이다.

(4) 포트 스캔

포트는 인터넷의 통신 프로토콜용 통신의 송수신 창구이다.

포트에는 0번부터 65535번지 번호가 할당되어 있으며, 사용할 포트 번호는 통신의의 목적에 따라 대개 정해져 있다.

대부분의 경우 65536개나 있는 포트를 모두 사용하는 일은 없으므로 포트를 계속 열어둔 채로 두는 것은 보안상 부적절하며, 취약성의 원인이 된다. 지금 현재 사용하지 않는 포트는 닫아 두는 것이 바람직하다.

포트 스캔이란 조사 대상인 컴퓨터의 포트 상황을을 하나하나 조사하는 기능 또는 작업을 말한다. 포트 스캔을 적절히 이용하면 악의적인 통신으로 부터 시스템을 보호할 수 있다. 하지만 포트 스캔은 공격자도 이용한다. 포트 스캔을 사용하여 포트의 개폐상황을 조사하고 침입할 수 있을 거 같은 포트를 찾는다.

(5) 페네트레이션 테스트

사이버 보안에 있어서 공격측과 방어측 중서 공격측이 압도적으로 유리 하다.

그 이유로 첫번째, 공격측은 크래커끼리 항상 공격 수단이나 툴의 정보 공유를 하는데 방어측은 그렇지 않다. 둘 째, 방어측은 공격자가 어떤 수단으로 공격해 올지를 예측하는 것이 힘들다. 세번째, 지금까지 알려져 있지 않은 공격을 당하는 경우 방어는 거의 불가능하다.

첫재 둘째의 경우, 방어측도 적어도 공격자와 똑같은 입장에 설 수 있다. 자신의 시스템에 시험해보고 침입에 성공하는지 아닌지를 확인하는 것을 ‘페네트레이션 테스트’ 라고 한다.

대표적인 페네트레이션 테스트 툴로는 metasploit 나 nmap, OWASP ZAP, Burp Suite 등이 있다.

(6) AES

AES는 각 나라의 암호 규격에 의해 이용이 권장 되고 있는 공통키 암호 방식이다. 공통키 암호 방식에서는 키의 길이가 보안강도이다. AES키의 복잡함은 2의 128승 이상이다. 공통키 암호 방식에서는 키가 길면 길수록 안정성은 올라가지만 그만큼 퍼포먼스가 떨어지므로 주의해야한다.

무선 통신을 제삼삼자가 수신하는 것을 막기 위해 와이파이의 암호화 규격인 WPA2에 용되고 있다.

(7) TLS

TLS 및 그 이전버전인 SSL은 인터넷에서 통신을 할 때의 인증 및 통신 암호화 장치이다. TLS에서는 처음에 핸드쉐이크(악수) 프로토콜이라고 해서 상대를 인증하기 한 절차가 실행된다. 이 절차 안에 서로의 상대가 갖고있는 인증서를 받아 검증하는 스텝이 있다.

(8) 코드 서명

코드 서명이란 배포할 프로그램 코드에 대한 서명으로, 해당 프로그램이 정당하다는 것을 증명하기 위해 붙인다. 코드서명의 베이스가 되는 것은 전자서명 기술이고, 전자서명의 베이스가 되는 것은 공개키 암호 방식이다.

코드 서명은 데이터가 원본이라는 것을 보증하고, 누가 서명 했는지를 보증한다.

전자서명에서는 특정한 사람만 서명을 할 수 있으며 또한 누구나 그 서명을 검증 할 수 있도록 해야한다.

전자서명에서는 서명에’비밀키’ , 서명의 검증에 ‘공개키’를 사용한다. 프로그램 파일의 해시 값을 비밀키로 암호화하고, 코드 서명으로 프로그램에 심어 넣는다. 사용자는 암호화된 해시 값을 공개키로 복호화하고 프로그램 파일의 해시 값과 비교한다.

--

--