접근
접근(Access)이란 메모리나 자기디스크 등의 기억장치에 있는 데이터를 읽고 검색하며 쓰는 등을 하는 것이다. 영어로 액세스(access)라고도 한다. 보통 컴퓨터 시스템에 접근하여 저장되어 있는 데이터를 읽어내 변경하고 시스템과 교신하며 시스템 자원을 사용하는 것을 일컫는다.[1]
목차
개요
액세스는 원하는 것을 얻기 위해 단순히 다가가는 것을 말하는 것이기에 데이터 액세스는 특정 데이터를 얻는 것을 말하며, 온라인 시스템 서비스를 사용하기 위해 인터넷 접속 서비스 회사를 통해 월드 와일드 웹(www, World Wide Web)에 접속하는 것을 웹 액세스라 할 수 있다. 다른 사람이 자신의 시스템이나 프로그램 등의 접근이 보안적으로 많은 문제를 야기하여 접근 권한(access Permission)을 통한 접근 제어(access control)를 하고, 또한 사용자가 다른 사람의 프로그램을 사용하게 될 때 접근의 범위를 정하게 되면, 프로그램을 이용할 때 개인 데이터의 유출, 변조를 막아 안전하게 프로그램 사용이 가능하다.[2]
접근 권한
접근 권한(access Permission)이란 디렉토리나 파일에 대해 사용자가 접근 및 수행할 수 있는 작업 권한, 특정 이용자가 프로그램, 프로세스 또는 컴퓨터 네트워크 안에 컴퓨터 시스템에만 허용된 접근을 할 수 있는 권한을 말한다. 즉, 어떤 데이터 또는 프로그램을 참조하고, 그것을 특정 형태로 이용하는 것을 이용자에게 인정한 권한이다. 최근 스마트폰 앱으로 따지면 사용할 앱이 처음에 실행하게 되면 내 스마트폰에 저장되어 있는 정보 및 설치된 기능에 접근하여 해당 정보를 읽고 수정하거나 해당 기능을 실행할 수 있는 권한을 설정해 주게 되어있다. 그러기에 사용자가 프로그램에 대한 권한을 허용할 때 사용할 프로그램이 접근해야 할 권한을 정확히 허용하지 않게 되면 프로그램의 기능에 문제가 발생한다. 예를 들어 카메라 앱을 다운 받았는데 카메라에 대한 기능을 허용하지 않으면 설치한 카메라 앱은 실행이 될 수 없는 문제가 발생한다는 것이다. 접근 권한의 내용은 데이터 항목(파일이나 레코드), 특정란의 판독, 새로운 항목의 추가, 현 항목의 변경 등에 의한 기록, 항목의 삭제 등의 조작을 총칭하며 불법 접근이나 오작동으로부터 시스템을 보호하거나 사용자의 파일을 보호하기 위해 각 판독(read), 기록(write), 실행(excution) 권한이 사용자 또는 그룹마다 정해져 있다. 리눅스(Linux)를 보면, 리눅스는 멀티유저 운영체재이므로 여러 명의 사용자가 이 시스템에 접근하여 어떠한 행위를 할 수 있는 서버 시스템이다. 그러기에 시스템의 중요한 문서나 파일들의 보안 문제가 나타나게 된다. 그래서 리눅스는 각각의 파일과 디렉토리에 소유권을 부여하여 읽고, 쓰고, 실행할 수 있는 권한을 따로 부여함으로 보안적인 부분을 제어하게 된다.[3] [4] [5]
접근 제어
접근 제어(Access Control)란 사용자가 사용자가 접근하려는 자원의 정보흐름을 통제하는 것이다. 즉, 사용자가 특정 자원에 접근하려 할 때 과연 이 사용자가 합당한 권한이 있는 사용자인지 체크하는 일련의 과정이다. 여기서 사용자는 '주체(Subject)'라고 하며 사용자가 접근하려는 자원을 '객체(Object)'라고 한다. 사람이나 프로세스가 시스템이나 파일에 읽기, 쓰기, 실행 등의 접근 여부를 허용, 거부 하여 시스템의 보안 수준을 갖추기 위한 가장 기본적인 수단이다. 보통은 권한 관리를 통한 설정으로 접근 제어를 하게 된다.[6][7] 접근제어에 대해 자세히 보기
앱 접근 제어
스마트폰의 사용이 급증하고 많은 애플리케이션(소위 '앱'이라고 함, Application)이 생김에 따라 활용 범위가 매우 넓어졌다. 애플리케이션을 자유롭게 설치할 수 있게 되면서 개인 정보를 훔쳐 가거나 소액 결제를 유도하는 등 다양한 악성 애플리케이션들도 급증하고 있다. 악성 애플리케이션이 주소록 접근을 허용하게 되면 저장된 지인의 번호를 가정한 보이스 피싱이나 스미싱에 악용될 수 있다. 또한 카메라의 기능 접근을 허용하게 되면, 사생활을 감시하는 용도로 쓰일 수 있다. 이 와 같은 이유로 사용자는 애플리케이션이 적절한 권한을 가지는지 확인해야 하며, 지나치게 많은 권한을 요구하면 해당 애플리케이션을 사용하지 않는 것이 좋다. 개인 정보 보호의 핵심인 보안 애플리케이션 역시 제대로 작동하기 접근 권한 설정을 제대로 해줘야 한다. 사용하려는 애플리케이션이 필요한 접근 권한은 필수 접근 권한과 선택적 접근 권한이 있어 확인을 하고 설정을 해줘야 기능을 정상적으로 수행하게 된다.[8]
방화벽
방화벽(Firewall)은 인터넷에서 네트워크의 보안 사고나 문제가 더 이상 확대되는 것을 막고 격리하려는 것으로 어떤 기관 내부의 네트워크를 보호하기 위해 불법적인 트레픽의 유입을 막고, 허가된 트래픽만 허용하는 방어 대책이다. 허용된 서비스와 전자우편 서버나 공개 서버와 같은 특정 호스트를 제외한 외부에서 내부 네트워크를 접속하는 것을 패킷 필터링을 통해 접근을 통제한다. 즉 내/외부 네트워크 사이에 접근 제어 정책을 구현하는 시스템이다.[9][10]
운영체제 접근 제어
운영체제(Operating System)의 접근 제어에 있어 관리적 인터페이스를 파악하고 불필요한 인터페이스를 제거하고 접근 제어를 수행할 부분을 최소화하여 효율적인 보안 정책을 적용할 수 있다. 불필요한 인터페이스를 제거할 때는 사용할 인터페이스에 대해 보안 정책을 적용할 수 있는지 판단해야 한다. Inetd 데몬은 클라이언트로부터 Inetd가 관리하고 있는 텔넷(Telnet)이나 SSH, FTP등 에 대한 요청을 받은 후 데몬(daemon)을 활성화시켜 실제 서비스를 제공한다. 그다음 데몬과 클라이언트의 요청을 연결하는 역할을 수행하게 되고, 서비스가 활성화되면 클라이언트 해당 서비스에 대한 정당한 권한이 있는지 확인하는 로그인 과정을 거치게 된다. Inetd만 동작하는 경우에는 서버에 접근하는 클라이언트에 대한 접근 제어 기록을 수행하지 않는다. 그러나 TCPwrapper가 설치되면 Inetd은 클라이언트의 연결을 TCPWrapper의 Tcpd 데몬에게 전달하게 된다. Tcpd 데몬은 접속을 요구한 클라이언트에 적절한 접근 권한이 있는지 확인하는 작업을 수행하며, 이때 클라이언트가 해당 데몬에 대한 권한을 가지고 있는 경우 클라이언트와 해당 데몬의 연결을 수행한다. 이처럼 TCPWrappeR 가 설치된 경우에는 Inetd만 동작하는 경우에 비해 좀 더 효율적인 접근 제어가 가능하게 되는 것이다.[7]
데이터베이스의 접근 제어
데이터베이스(database)의 조직의 영업이나 운영 정보를 담고 있는 핵심 응용 프로그램으로, 데이터베이스에 대한 적절한 접근 제어는 필수이다. 일정 수준의 이상의 보안 정책을 적용할 수 있는 데이터베이스로는 오라클이 있다. 운영체제와 마찬가지로 MS-SQL은 IP에 대한 접근 제어를 기본으로 제공하지 않으며, 윈도우의 다른 서비스처럼 설치된 방화벽을 통해 IP 접근 제어를 수행해야 한다. MS-SQL에서는 윈도우 인증 모드와 함께 윈도우 인증과 SQL 인증을 모두 사용할 수 있는 혼합 인증 모드도 지원한다.[11]
네트워크 장비의 접근 제어
네트워크(network) 장비 접근 제어는 단말이 네트워크에 접근하기 전 보안정책의 준수 여부를 검사하여 네트워크 사용을 제어하는 것을 말한다. 네트워크에 연결된 단말의 여러 가지 정보를 수집하고, 수집된 정보를 바탕으로 단말을 분류하며, 분류한 그룹의 보안 위협 정도에 따라 제어를 수행한다. 수행하는 IP에 대한 접근 제어로는 관리 인터페이스의 접근 제어와 ACL(Access Control List)을 통한 네트워크 트래픽 접근 제어가 있다. 네트워크 장비의 관리 인터페이스에 대한 접근 제어는 유닉스의 접근 제어와 거의 같고, ACL을 통한 네트워크 트래픽에 대한 접근 제어는 방화벽에서의 접근 제어와 기본적으로 같다. [12][13]
접근 시간
접근 시간(Access Time)이란 컴퓨터에서 중앙처리장치(CPU)가 기억장치나 주변기기에서 데이터나 프로그램을 읽어들일 경우, 그 주소를 지정하고 나서 데이터의 전송이 개시될 까지, 혹은 실제로 데이터가 얻어질 때까지 걸리는 시간을 말한다. 즉, 중앙 처리 장치가 데이터의 읽기를 요구한 이후부터 기억 장치가 데이터를 읽어 내여 그것을 CPU에 돌려주기까지의 시간을 나타낸다. 접근 시간은 그 장치의 정확한 위치로 가기 위한 오버헤드(overhead) 및 접근하기 위한 준비 등에 소요되는 시간인 잠재 시간(latency time)과 데이터가 실제로 전달되는 시간인 전달 시간(transfer time)으로 구성된다. 접근 시간은 기억 장치의 종류에 따라서 매우 다르다. IBM의 경우에는 램에 대해서는 접근 시간보다는 사이클타임이라는 용어를 많이 사용하지만 대부분의 경우에는 접근 시간이 일반적으로 사용된다. 디스크에서는 대기 시간(waiting time)과 전송 시간(transfer time)의 합을 접근 시간이라 나타내여진다. 반도체 기억 장치는 일반적으로 임의의 주소의 데이터를 읽어낼 때, 그 접근 시간은 일정하게 변화되지 않는다. 이것에 대해서 자기 디스크 장치, 자기 드럼 장치는 그 접근 시간이 주소나 타이밍에 따라서 일정하다고는 말할 수 없지만 평균적인 접근 시간을 정의할 수는 있다. 이것을 평균 접근 시간(average access time)이라고 한다. 램에 대한 접근 시간은 일반적으로 나노 초 단위로 측정되며, 하드디스크나 CD-ROM의 접근 시간은 초 단위로 측정된다. 접근 시간이 컴퓨터의 성능을 나타내는 하나의 기준이 되며, 빠르면 빠를수록 고성능이라 할 수 있다.[14][15]
디스크 접근 방법
접근 방법은 데이터 저장 장치에서 정보를 읽거나 쓰기 위해서 기억매체의 어떤 특정한 장소를 찾아가는 도달 방법을 말한다. 이 방법에는 순차 접근(sequential access), 직접 접근(direct access), 임의 접근(random access), 연관 접근(associative access) 등이 있다.[16]
순차 접근
순차 접근은 기억장치에 저장된 정보들을 처음부터 접근하는 방식으로 자기 테이프(magnetic tape)가 대표적인 예이다. 저장되는 모든 정보는 테이프의 처음 위치에서 시작하여 연속적인 위치를 갖게 된다. 그 내용들은 레코드(record)라고 불리는 정보 단위로 분리되어 저장되고, 각 레코드는 고유의 주소가 할당되어 있다. 테이프의 전체 내용을 읽고 쓰는 경우 처음부터 시작하면 되는데 테이프 내의 임의의 위치부터의 저장된 특정 정보를 읽기 위해서는 그 위치에 도달할 때까지 앞부분의 테이프를 모두 통과해야 하기 때문에 정보의 저장 위치에 따라 접근 시간이 달라지게 된다.[17][16]
직접 접근
직접 접근은 읽기/쓰기 장치가 각 레코드 또는 블록의 근처로 직접 이동한 후 순차적 검색을 통해 최종 위치에 도달하는 방법이다. 직접 접근을 위해 파일(file)은 번호를 갖는 일련의 블록 또는 레코드로 간주 된다. 직접 접근 파일은 임의의 블록을 읽거나 쓸 수 있게 함으로 블록 23을 읽고 다음 54를 읽고 65를 쓸 수 있다. 따라서 직접 접근 방식은 읽거나 쓰는 것 순서에 제약이 없다. 직접 접근 방법을 위해서는 파일 연산이 블록 번호 매개변수를 포함할 수 있도록 수정되어야 한다. 사용자가 사용하는 블록 번호는 통상 파일의 시작을 0으로 보고 계산한 레코드의 위치로써 상대 블록 번호(relative block number)이다. 따라서 블록의 실제 절대적인 디스크 주소가 처음 블록의 경우 23453이고 두 번째 블록인 경우 2353일지라도 파일의 첫 번째 상대 블록은 0이고 다음의 순서는 1이다. 이 방식에서 액세스 시간은 정보의 저장 위치에 가변적인 시간을 가지며 자기 디스크와 CD-ROM, DVD 등이 직접 접근 방식을 이용하는 저장 장치이다.[17][18]
랜덤 접근
랜덤 접근은 기억장치 내의 모든 저장 장소들을 고유의 주소를 가지고 있고, 별도의 읽기/쓰기의 회로를 가지고 있어 어떤 위치든 바로 접근할 수 있다. 그리하여 기억장치 내의 어떤 위치를 액세스를 하여도 걸리는 시간이 항상 일정하게 된다. 기억장치의 임의 위치를 직접 접근할 수 있다는 점은 직접 접근 방식과 같으나 주소에 의하여 데이터를 접근한다는 점이 직접 액세스와 다르다. 보통은 컴퓨터의 주 기억장치, 온라인 예금 업무의 대장 기록철 등 다음 요구가 어느 곳에서 일어날지 예측할 수 없는 경우 사용된다.[17][20]
연관 접근
연관 접근은 임의 액세스의 변형으로 각 기억 장소에는 키(Key) 값에 해당하는 비트들이 데이터들과 함께 저장되어 있는데 임의 액세스가 주소를 통하여 접근하는 것과는 다르게 키를 이용하여 접근하는 방식이 된다. 액세스 요구에는 주소가 아닌 비트 패턴이 포함되어 있다. 그 비트들과 각 기억 장소의 키 비트들을 비교하여 일치하는 기억 장소의 데이터가 읽혀 출력되는 방식이다. 이 방식은 키 값을 하나씩 순차적으로 비교하는 방식이 아닌 동시에 모든 키들과 비교하므로 접근 시간이 소요되지 않는다는 점이다. 동시에 모든 기억 장소의 키 값을 비교할 수 있는 하드웨어를 포함하기 때문에 복잡하고 가격이 비쌈으로 특수한 용도에만 사용이 된다.[17][20]
각주
- ↑ 〈접근〉, 《네이버 지식백과》
- ↑ 〈액세스〉, 《네이버 지식백과》
- ↑ 〈접근 권한〉, 《네이버 블로그》
- ↑ 〈접근 권한〉, 《네이버 블로그》
- ↑ 에스타롯사, 〈리눅스 권한 관리 설정 (chmod, chown, chgrp )〉, 《티스토리》, 2019-05-10
- ↑ 슈퍼노바, 〈접근 제어란〉, 《네이버 블로그》, 2019-07-10
- ↑ 7.0 7.1 김정출 김정출, 〈접근 제어와 권한 관리〉, 《티스토리》, 2016-01-26
- ↑ 이상우 기자, 〈스마트폰 앱 접근 권한, 왜 중요할까? 보안 관점에서 체크하기〉, 《보안뉴스》, 2020-10-07
- ↑ 미니송, 〈정보보안-방화벽의 개념,원리〉, 《티스토리》, 2017-07-26
- ↑ 사용자 웹하는빡통, 〈침입차단시스템(Firewall) 개념 및 구성요소〉, 《티스토리》, 2020-05-17
- ↑ 〈데이터베이스의 접근 제어〉, 《네이버 지식백과》
- ↑ 〈네트워크 장비의 접근 제어〉, 《네이버 지식백과》
- ↑ 〈NAC(Network Access Control) - 네트워크 접근 제어〉, 《티스토리》, 2016-07-08
- ↑ 〈액세스타임〉, 《네이버 지식백과》
- ↑ 〈접근 시간〉, 《네이버 지식백과》
- ↑ 16.0 16.1 〈액세스방법〉, 《네이버 지식백과》
- ↑ 17.0 17.1 17.2 17.3 지토우, 〈[컴퓨터구조 기억장치 : 기억장치의 분류와 특성 - 지또의 2021]〉, 《티스토리》, 2017-11-22
- ↑ Wook Kang, 〈43_파일 접근 방법 (Access Method)〉, 《티스토리》, 2015-07-16
- ↑ 〈파일〉, 《네이버 지식백과》
- ↑ 20.0 20.1 개돌프로그래밍, 〈(컴퓨터구조) 5 - 기억장치(메모리)〉, 《티스토리》, 2020-05-18
참고 자료
- 〈접근〉, 《네이버 지식백과》
- 〈액세스〉, 《네이버 지식백과》
- 〈접근 권한〉, 《네이버 블로그》
- 〈접근 권한〉, 《네이버 블로그》
- 에스타롯사, 〈리눅스 권한 관리 설정 (chmod, chown, chgrp )〉, 《티스토리》, 2019-05-10
- 슈퍼노바, 〈접근 제어란〉, 《네이버 블로그》, 2019-07-10
- 김정출 김정출, 〈접근 제어와 권한 관리〉, 《티스토리》, 2016-01-26
- 이상우 기자, 〈스마트폰 앱 접근 권한, 왜 중요할까? 보안 관점에서 체크하기〉, 《보안뉴스》, 2020-10-07
- 미니송, 〈정보보안-방화벽의 개념,원리〉, 《티스토리》, 2017-07-26
- 사용자 웹하는빡통, 〈침입차단시스템(Firewall) 개념 및 구성요소〉, 《티스토리》, 2020-05-17
- 〈액세스타임〉, 《네이버 지식백과》
- 〈접근 시간〉, 《네이버 지식백과》
- 〈액세스방법〉, 《네이버 지식백과》
- 지토우, 〈[컴퓨터구조 기억장치 : 기억장치의 분류와 특성 - 지또의 2021]〉, 《티스토리》, 2017-11-22
- Wook Kang, 〈43_파일 접근 방법 (Access Method)〉, 《티스토리》, 2015-07-16
- 〈파일〉, 《네이버 지식백과》
- 개돌프로그래밍, 〈(컴퓨터구조) 5 - 기억장치(메모리)〉, 《티스토리》, 2020-05-18
- 〈데이터베이스의 접근 제어〉, 《네이버 지식백과》
- 〈네트워크 장비의 접근 제어〉, 《네이버 지식백과》
- 〈NAC(Network Access Control) - 네트워크 접근 제어〉, 《티스토리》, 2016-07-08
같이 보기